Reviewed by Levi and Tim Omernick.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-06-12  Brady Eidson  <beidson@apple.com>
2
3         Reviewed by Levi and Tim Omernick.
4
5         -Added a skeleton sqlite3 icon database file to IconDatabase
6         -Added functionality to validate and recreate this icon.db file
7         -Fixed some buggys in SQLDatabase.cpp
8
9         * icon/IconDatabase.cpp:
10         (WebCore::IconDatabase::open):
11         (WebCore::IconDatabase::isValidDatabase):
12         (WebCore::IconDatabase::clearDatabase):
13         (WebCore::IconDatabase::recreateDatabase):
14         * icon/IconDatabase.h:
15
16         * icon/SQLStatement.cpp:
17         (WebCore::SQLStatement::columnCount):
18         (WebCore::SQLStatement::getColumnName):
19         (WebCore::SQLStatement::getColumnName16):
20         (WebCore::SQLStatement::getColumnText):
21         (WebCore::SQLStatement::getColumnText16):
22         (WebCore::SQLStatement::getColumnDouble):
23         (WebCore::SQLStatement::getColumnInt):
24         (WebCore::SQLStatement::getColumnInt64):
25         (WebCore::SQLStatement::getColumnBlob):
26         -Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
27         function calls weren't as error-tolerant as documentation advertised
28         (maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)
29
30 2006-06-12  Brady Eidson  <beidson@apple.com>
31
32         Reviewed by Levi.
33
34         -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.  
35         -Changed the base IconDatabase over to this new framework.
36
37         * WebCore.xcodeproj/project.pbxproj:
38         * bridge/mac/WebCoreIconDatabaseBridge.mm:
39         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
40             -By popular request, removed an annoying log message I'd accidentally left in
41
42         * icon/IconDatabase.cpp:
43         (WebCore::IconDatabase::IconDatabase):
44         (WebCore::IconDatabase::open):
45         (WebCore::IconDatabase::close):
46         (WebCore::IconDatabase::~IconDatabase):
47         * icon/IconDatabase.h:
48         (WebCore::IconDatabase::isOpen):
49             -Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls
50
51         * icon/SQLDatabase.cpp: Added.
52         (SQLDatabase::SQLDatabase):
53         (SQLDatabase::open):
54         (SQLDatabase::close):
55         (SQLDatabase::executeCommand):
56         (SQLDatabase::tableExists):
57         * icon/SQLDatabase.h: Added.
58         (WebCore::SQLDatabase::isOpen):
59         (WebCore::SQLDatabase::getPath):
60         (WebCore::SQLDatabase::lastError):
61         (WebCore::SQLDatabase::lastErrorMsg):
62         (WebCore::SQLStatement::isPrepared):
63         (WebCore::SQLStatement::lastError):
64         (WebCore::SQLStatement::lastErrorMsg):
65         * icon/SQLStatement.cpp: Added.
66         (WebCore::SQLStatement::SQLStatement):
67         (WebCore::SQLStatement::~SQLStatement):
68         (WebCore::SQLStatement::prepare):
69         (WebCore::SQLStatement::step):
70         (WebCore::SQLStatement::finalize):
71         (WebCore::SQLStatement::reset):
72         (WebCore::SQLStatement::executeCommand):
73         (WebCore::SQLStatement::bindBlob):
74         (WebCore::SQLStatement::bindText):
75         (WebCore::SQLStatement::columnCount):
76         (WebCore::SQLStatement::getColumnName):
77         (WebCore::SQLStatement::getColumnName16):
78         (WebCore::SQLStatement::getColumnText):
79         (WebCore::SQLStatement::getColumnText16):
80         (WebCore::SQLStatement::getColumnDouble):
81         (WebCore::SQLStatement::getColumnInt):
82         (WebCore::SQLStatement::getColumnInt64):
83         (WebCore::SQLStatement::getColumnBlob):
84         (WebCore::SQLStatement::returnTextResults):
85         (WebCore::SQLStatement::returnTextResults16):
86         (WebCore::SQLStatement::returnIntResults):
87         (WebCore::SQLStatement::returnInt64Results):
88         (WebCore::SQLStatement::returnDoubleResults):
89             -Initial checking of SQLDatabase framework
90
91         * platform/PlatformString.h:
92         * platform/String.cpp:
93         (WebCore::String::String):
94             -Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on 
95             null-terminated UTF16 which we didn't yet support.
96
97 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
98
99         Reviewed by Maciej.
100
101         http://bugzilla.opendarwin.org/show_bug.cgi?id=9408
102         Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"
103
104         * DerivedSources.make: Fix clean builds.
105
106 2006-06-11  Darin Adler  <darin@apple.com>
107
108         - another try at fixing Windows
109
110         * loader/CachedResource.h:
111         * platform/cairo/GraphicsContextCairo.cpp:
112         * platform/image-decoders/ImageDecoder.h:
113         (WebCore::ImageDecoder::setData):
114         * platform/image-decoders/gif/GIFImageDecoder.cpp:
115         (WebCore::GIFImageDecoderPrivate::decode):
116         (WebCore::GIFImageDecoder::setData):
117         * platform/image-decoders/gif/GIFImageDecoder.h:
118         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
119         (WebCore::JPEGImageReader::decode):
120         (WebCore::JPEGImageDecoder::setData):
121         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
122         * platform/image-decoders/png/PNGImageDecoder.cpp:
123         (WebCore::PNGImageReader::decode):
124         (WebCore::PNGImageDecoder::setData):
125         * platform/image-decoders/png/PNGImageDecoder.h:
126         s/DeprecatedByteArray/Vector<char>/
127
128 2006-06-11  Darin Adler  <darin@apple.com>
129
130         - try to fix Windows build
131
132         * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
133         Use Vector<char> instead of DeprecatedByteArray.
134
135         * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
136         Don't try to return 0 from a function that returns a Vector<char>.
137
138 2006-06-11  Sam Weinig  <sam.weinig@gmail.com>
139
140         Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
141
142         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039
143           Remove use of DeprecatedArray in favor of new Vector class
144
145         This removes most of the uses of DeprecatedArray and 
146         DeprecatedByteArray, with the exception of DeprecatedCString.
147
148         No test cases added because there is no change in
149         functionality.
150
151         * loader/CachedCSSStyleSheet.cpp:
152         (WebCore::CachedCSSStyleSheet::data):
153         * loader/CachedCSSStyleSheet.h:
154         * loader/CachedImage.cpp:
155         (WebCore::CachedImage::bufferData):
156         (WebCore::CachedImage::data):
157         (WebCore::CachedImage::checkNotify):
158         (WebCore::CachedImage::shouldStopAnimation):
159         * loader/CachedImage.h:
160         * loader/CachedObject.cpp:
161         (WebCore::CachedObject::bufferData):
162         (WebCore::CachedObject::setExpireDate):
163         * loader/CachedObject.h:
164         (WebCore::CachedObject::setCharset):
165         * loader/CachedScript.cpp:
166         (WebCore::CachedScript::data):
167         * loader/CachedScript.h:
168         * loader/CachedXBLDocument.cpp:
169         (WebCore::CachedXBLDocument::data):
170         (WebCore::CachedXBLDocument::checkNotify):
171         * loader/CachedXBLDocument.h:
172         * loader/CachedXSLStyleSheet.cpp:
173         (WebCore::CachedXSLStyleSheet::data):
174         * loader/CachedXSLStyleSheet.h:
175         * loader/Request.cpp:
176         (WebCore::Request::Request):
177         (WebCore::Request::~Request):
178         * loader/Request.h:
179         (WebCore::Request::buffer):
180         (WebCore::Request::cachedObject):
181         (WebCore::Request::docLoader):
182         (WebCore::Request::isIncremental):
183         (WebCore::Request::setIsIncremental):
184         (WebCore::Request::isMultipart):
185         (WebCore::Request::setIsMultipart):
186         * loader/loader.cpp:
187         (WebCore::crossDomain):
188         (WebCore::Loader::Loader):
189         (WebCore::Loader::load):
190         (WebCore::Loader::servePendingRequests):
191         (WebCore::Loader::receivedAllData):
192         (WebCore::Loader::receivedResponse):
193         (WebCore::Loader::receivedData):
194         (WebCore::Loader::numRequests):
195         (WebCore::Loader::cancelRequests):
196         (WebCore::Loader::removeBackgroundDecodingRequest):
197         (WebCore::Loader::jobForRequest):
198         * platform/Image.cpp:
199         (WebCore::Image::setData):
200         * platform/Image.h:
201         (WebCore::Image::dataBuffer):
202
203         * css/cssstyleselector.cpp:
204         (WebCore::CSSStyleSelector::init):
205         (WebCore::CSSStyleSelector::matchRules):
206         (WebCore::CSSStyleSelector::matchRulesForList):
207         (WebCore::CSSStyleSelector::sortMatchedRules):
208         (WebCore::CSSStyleSelector::initForStyleResolve):
209         (WebCore::CSSStyleSelector::createStyleForElement):
210         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
211         * css/cssstyleselector.h:
212         (WebCore::CSSStyleSelector::addMatchedRule):
213         (WebCore::CSSStyleSelector::addMatchedDeclaration):
214         * dom/xml_tokenizer.cpp:
215         (WebCore::OffsetBuffer::OffsetBuffer):
216         (WebCore::openFunc):
217         * html/HTMLOptionElement.cpp:
218         (WebCore::HTMLOptionElement::index):
219         * html/HTMLSelectElement.cpp:
220         (WebCore::HTMLSelectElement::selectedIndex):
221         (WebCore::HTMLSelectElement::setSelectedIndex):
222         (WebCore::HTMLSelectElement::length):
223         (WebCore::HTMLSelectElement::remove):
224         (WebCore::HTMLSelectElement::value):
225         (WebCore::HTMLSelectElement::setValue):
226         (WebCore::HTMLSelectElement::state):
227         (WebCore::HTMLSelectElement::restoreState):
228         (WebCore::HTMLSelectElement::appendFormData):
229         (WebCore::HTMLSelectElement::optionToListIndex):
230         (WebCore::HTMLSelectElement::listToOptionIndex):
231         (WebCore::HTMLSelectElement::recalcListItems):
232         (WebCore::HTMLSelectElement::reset):
233         (WebCore::HTMLSelectElement::notifyOptionSelected):
234         * html/HTMLSelectElement.h:
235         (WebCore::HTMLSelectElement::listItems):
236         * kwq/KWQLoader.h:
237         * kwq/KWQLoader.mm:
238         (KWQServeSynchronousRequest):
239         * kwq/KWQTextStream.cpp:
240         (QTextStream::operator<<):
241         * kwq/KWQTextStream.h:
242         * loader/FormData.cpp:
243         (WebCore::FormData::flatten):
244         (WebCore::FormData::flattenToString):
245         * loader/FormData.h:
246         (WebCore::FormDataElement::FormDataElement):
247         * platform/DeprecatedString.cpp:
248         * platform/DeprecatedString.h:
249         * platform/IntPointArray.cpp: Removed.
250         * platform/IntPointArray.h: Removed.
251         * platform/TextEncoding.cpp:
252         (WebCore::TextEncoding::toUnicode):
253         * platform/TextEncoding.h:
254         * platform/cairo/pixman/src/pixregion.c:
255         * platform/cg/PathCG.cpp:
256         (WebCore::Path::Path):
257         * rendering/RenderObject.cpp:
258         (WebCore::RenderObject::drawBorder):
259         * rendering/RenderTable.h:
260         (WebCore::RenderTable::colToEffCol):
261         (WebCore::RenderTable::effColToCol):
262         * rendering/RenderTableSection.cpp:
263         (WebCore::RenderTableSection::ensureRows):
264         (WebCore::RenderTableSection::addCell):
265         (WebCore::RenderTableSection::setCellWidths):
266         * rendering/RenderTableSection.h:
267         * rendering/bidi.cpp:
268         (WebCore::addMidpoint):
269         (WebCore::RenderBlock::layoutInlineChildren):
270         * rendering/render_form.cpp:
271         (WebCore::RenderSelect::updateFromElement):
272         (WebCore::RenderSelect::layout):
273         (WebCore::RenderSelect::valueChanged):
274         (WebCore::RenderSelect::selectionChanged):
275         (WebCore::RenderSelect::updateSelection):
276         * rendering/table_layout.cpp:
277         (WebCore::FixedTableLayout::layout):
278         * rendering/table_layout.h:
279         * xml/XSLTProcessor.cpp:
280         (WebCore::docLoaderFunc):
281         * xml/xmlhttprequest.cpp:
282         (WebCore::XMLHttpRequest::send):
283         (WebCore::XMLHttpRequest::processSyncLoadResults):
284         * xml/xmlhttprequest.h:
285
286 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
287
288         Reviewed by darin.
289
290         http://bugzilla.opendarwin.org/show_bug.cgi?id=9394
291         Fix no-SVG build
292
293         * DerivedSources.make: Removed tabs. Create empty SVGElementFactory.cpp on no-svg build.
294         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Added #if SVG_SUPPORT/#endif.
295         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Ditto.
296         * ksvg2/bindings/idl/svg/SVGAElement.idl: Add "Conditional=SVG" to all interfaces.
297         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Ditto.
298         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Ditto.
299         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Ditto.
300         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Ditto.
301         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Ditto.
302         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Ditto.
303         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Ditto.
304         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Ditto.
305         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Ditto.
306         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Ditto.
307         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Ditto.
308         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Ditto.
309         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Ditto.
310         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Ditto.
311         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Ditto.
312         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Ditto.
313         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Ditto.
314         * ksvg2/bindings/idl/svg/SVGCircleElement.idl: Ditto.
315         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Ditto.
316         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Ditto.
317         * ksvg2/bindings/idl/svg/SVGCursorElement.idl: Ditto.
318         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Ditto.
319         * ksvg2/bindings/idl/svg/SVGDefsElement.idl: Ditto.
320         * ksvg2/bindings/idl/svg/SVGDescElement.idl: Ditto.
321         * ksvg2/bindings/idl/svg/SVGElementInstance.idl: Ditto.
322         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Ditto.
323         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Ditto.
324         * ksvg2/bindings/idl/svg/SVGEvent.idl: Ditto.
325         * ksvg2/bindings/idl/svg/SVGException.idl: Ditto.
326         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Ditto.
327         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Ditto.
328         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Ditto.
329         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Ditto.
330         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Ditto.
331         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Ditto.
332         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Ditto.
333         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Ditto.
334         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Ditto.
335         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Ditto.
336         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Ditto.
337         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Ditto.
338         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Ditto.
339         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Ditto.
340         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Ditto.
341         * ksvg2/bindings/idl/svg/SVGFETileElement.idl: Ditto.
342         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Ditto.
343         * ksvg2/bindings/idl/svg/SVGFilterElement.idl: Ditto.
344         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Ditto.
345         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Ditto.
346         * ksvg2/bindings/idl/svg/SVGGElement.idl: Ditto.
347         * ksvg2/bindings/idl/svg/SVGGradientElement.idl: Ditto.
348         * ksvg2/bindings/idl/svg/SVGICCColor.idl: Ditto.
349         * ksvg2/bindings/idl/svg/SVGImageElement.idl: Ditto.
350         * ksvg2/bindings/idl/svg/SVGLangSpace.idl: Ditto.
351         * ksvg2/bindings/idl/svg/SVGLengthList.idl: Ditto.
352         * ksvg2/bindings/idl/svg/SVGLineElement.idl: Ditto.
353         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Ditto.
354         * ksvg2/bindings/idl/svg/SVGLocatable.idl: Ditto.
355         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Ditto.
356         * ksvg2/bindings/idl/svg/SVGNumberList.idl: Ditto.
357         * ksvg2/bindings/idl/svg/SVGPaint.idl: Ditto.
358         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Ditto.
359         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Ditto.
360         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Ditto.
361         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Ditto.
362         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Ditto.
363         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Ditto.
364         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Ditto.
365         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Ditto.
366         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Ditto.
367         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Ditto.
368         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Ditto.
369         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Ditto.
370         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Ditto.
371         * ksvg2/bindings/idl/svg/SVGPatternElement.idl: Ditto.
372         * ksvg2/bindings/idl/svg/SVGPointList.idl: Ditto.
373         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Ditto.
374         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Ditto.
375         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Ditto.
376         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Ditto.
377         * ksvg2/bindings/idl/svg/SVGRectElement.idl: Ditto.
378         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Ditto.
379         * ksvg2/bindings/idl/svg/SVGScriptElement.idl: Ditto.
380         * ksvg2/bindings/idl/svg/SVGSetElement.idl: Ditto.
381         * ksvg2/bindings/idl/svg/SVGStopElement.idl: Ditto.
382         * ksvg2/bindings/idl/svg/SVGStringList.idl: Ditto.
383         * ksvg2/bindings/idl/svg/SVGStylable.idl: Ditto.
384         * ksvg2/bindings/idl/svg/SVGStyleElement.idl: Ditto.
385         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Ditto.
386         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Ditto.
387         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Ditto.
388         * ksvg2/bindings/idl/svg/SVGTests.idl: Ditto.
389         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Ditto.
390         * ksvg2/bindings/idl/svg/SVGTextElement.idl: Ditto.
391         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Ditto.
392         * ksvg2/bindings/idl/svg/SVGTitleElement.idl: Ditto.
393         * ksvg2/bindings/idl/svg/SVGTransformList.idl: Ditto.
394         * ksvg2/bindings/idl/svg/SVGTransformable.idl: Ditto.
395         * ksvg2/bindings/idl/svg/SVGURIReference.idl: Ditto.
396         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Ditto.
397         * ksvg2/bindings/idl/svg/SVGUseElement.idl: Ditto.
398         * ksvg2/bindings/idl/svg/SVGViewElement.idl: Ditto.
399         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Ditto.
400         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Ditto.
401         * ksvg2/svg/SVGAngle.idl: Ditto.
402         * ksvg2/svg/SVGAnimatedLength.idl: Ditto.
403         * ksvg2/svg/SVGColor.idl: Ditto.
404         * ksvg2/svg/SVGDocument.idl: Ditto.
405         * ksvg2/svg/SVGElement.idl: Ditto.
406         * ksvg2/svg/SVGEvent.idl: Ditto.
407         * ksvg2/svg/SVGLength.idl: Ditto.
408         * ksvg2/svg/SVGMatrix.idl: Ditto.
409         * ksvg2/svg/SVGNumber.idl: Ditto.
410         * ksvg2/svg/SVGPoint.idl: Ditto.
411         * ksvg2/svg/SVGRect.idl: Ditto.
412         * ksvg2/svg/SVGSVGElement.idl: Ditto.
413         * ksvg2/svg/SVGTransform.idl: Ditto.
414
415 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
416
417         Reviewed by Geoff.
418
419         http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
420         Move full-frame plugins to WebCore
421         
422         * WebCore.vcproj/WebCore/WebCore.vcproj:
423         * WebCore.xcodeproj/project.pbxproj:
424         Add PluginDocument
425         
426         * bridge/mac/FrameMac.h:
427         * bridge/mac/FrameMac.mm:
428         (WebCore::FrameMac::redirectDataToPlugin):
429         Call the bridge.
430         
431         * bridge/mac/WebCoreFrameBridge.h:
432         * bridge/mac/WebCoreFrameBridge.mm:
433         Add redirectDataToPlugin which is used to redirect incoming data
434         to a plugin.
435         
436         * bridge/mac/WebCoreViewFactory.h:
437         Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
438         
439         * dom/DOMImplementation.cpp:
440         * dom/DOMImplementation.h:
441         Get rid of createTextDocument and just create a text document explicitly when needed.
442         
443         * dom/Document.h:
444         (WebCore::Document::isPluginDocument):
445         * loader/PluginDocument.cpp: Added.
446         (WebCore::PluginTokenizer::PluginTokenizer):
447         (WebCore::PluginTokenizer::wantsRawData):
448         (WebCore::PluginTokenizer::write):
449         (WebCore::PluginTokenizer::createDocumentStructure):
450         (WebCore::PluginTokenizer::writeRawData):
451         (WebCore::PluginTokenizer::stopParsing):
452         (WebCore::PluginTokenizer::finish):
453         (WebCore::PluginTokenizer::isWaitingForScripts):
454         (WebCore::PluginDocument::PluginDocument):
455         (WebCore::PluginDocument::createTokenizer):
456         * loader/PluginDocument.h: Added.
457         (WebCore::PluginDocument::isPluginDocument):
458         Add PluginDocument.
459         
460         * page/Frame.cpp:
461         (WebCore::Frame::begin):
462         Possibly create a plugin document.
463         
464         * page/Frame.h:
465         (WebCore::Frame::redirectDataToPlugin):
466         Add declaration.
467         
468         * platform/PlugInInfoStore.h:
469         * platform/mac/PlugInInfoStoreMac.mm:
470         (WebCore::PlugInInfoStore::supportsMIMEType):
471         Ask WebCoreViewFactory if the MIME type is supported.
472
473 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
474
475         Reviewed by hyatt.
476
477         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9334
478           Incomplete repaint when changing block from non-positioned to positioned
479
480         Test: fast/repaint/static-to-positioned.html
481
482         * rendering/RenderObject.cpp:
483         (WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
484         as static.
485
486 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
487
488         Reviewed by hyatt.
489
490         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9193
491           REGRESSION: setting an opacity on an element with an outline causes the outline to disappear completely
492
493         Test: fast/layers/opacity-outline.html
494
495         - fix repainting of layer children's outlines that extend beyond the layer
496
497         Test: fast/repaint/layer-child-outline.html
498
499         * rendering/RenderLayer.cpp:
500         (WebCore::RenderLayer::intersectsDamageRect): Account for outlines.
501         (WebCore::RenderLayer::absoluteBoundingBox): Ditto.
502         * rendering/RenderObject.cpp:
503         (WebCore::RenderObject::maximalOutlineSize): Changed to return the view's maximal
504         outline size rather than 0 for PaintPhaseChildOutlines.
505
506 2006-06-10  Steve Falkenburg  <sfalken@apple.com>
507
508         Fix build break
509
510         * platform/cairo/GraphicsContextCairo.cpp:
511         * platform/win/TemporaryLinkStubs.cpp:
512         (GraphicsContext::scale):
513
514 2006-06-10  Geoffrey Garen  <ggaren@apple.com>
515
516         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8515
517         Linux porting compile bug
518         
519         Fix by Mike Emmel, Reviewed by Darin.
520
521         * Projects/gdk/webcore-gdk.bkl:
522         * WebCoreSources.bkl:
523         * css/maketokenizer:
524         * html/HTMLCanvasElement.cpp:
525         * html/HTMLImageElement.h:
526         * icon/IconDatabase.cpp:
527         * make-generated-sources.sh:
528         * page/Frame.h:
529         * page/FramePrivate.h:
530         * platform/Cursor.h:
531         * platform/FontData.h:
532         (WebCore::FontData::getGlyphIndex):
533         * platform/GlyphBuffer.h:
534         (WebCore::GlyphBuffer::glyphAt):
535         (WebCore::GlyphBuffer::advanceAt):
536         (WebCore::GlyphBuffer::add):
537         * platform/GraphicsContext.h:
538         * platform/PlatformKeyboardEvent.h:
539         * platform/PlatformMouseEvent.h:
540         * platform/PlatformWheelEvent.h:
541         * platform/ScrollView.h:
542         * platform/TransferJob.h:
543         (WebCore::TransferJob::getInternal):
544         * platform/TransferJobInternal.h:
545         (WebCore::TransferJobInternal::TransferJobInternal):
546         * platform/Widget.h:
547         * platform/cairo/GraphicsContextCairo.cpp:
548         (WebCore::GraphicsContext::GraphicsContext):
549         (WebCore::GraphicsContext::roundToDevicePixels):
550         * webcore-base.bkl:
551         * xpath/impl/XPathValue.cpp:
552
553 2006-06-09  John Sullivan  <sullivan@apple.com>
554
555         Reviewed by Tim Omernick and Dave Hyatt.
556
557         WebCore support for computing but not highlighting rects for text matches.
558
559         * dom/Document.h:
560         added setRenderedRectForMarker() and renderedRectsForMarkers(), and redefined
561         MarkerMap to be a hashtable of node -> (pair of vectors), one vector of markers
562         and one vector of rects
563         
564         * dom/Document.cpp:
565         (placeholderRectForMarker()):
566         new function, returns a recognizable degenerate rect used until a real rect has been set
567         (WebCore::Document::addMarker):
568         Reworked for new MarkerMap data structure; now adds parallel placeholder rect
569         along with marker
570         (WebCore::Document::copyMarkers):
571         Reworked for new MarkerMap data structure
572         (WebCore::Document::removeMarkers):
573         Reworked for new MarkerMap data structure; now removed corresponding rect along
574         with marker
575         (WebCore::Document::markersForNode):
576         Reworked for new MarkerMap data structure
577         (WebCore::Document::renderedRectsForMarkers):
578         New method, returns an array of all non-placeholder rects for the given marker type
579         (WebCore::Document::repaintMarkers):
580         Reworked for new MarkerMap data structure
581         (WebCore::Document::setRenderedRectForMarker):
582         New method, sets the rendered rect for a given marker
583         (WebCore::Document::shiftMarkers):
584         Reworked for new MarkerMap data structure; resets rendered rects to placeholders.
585         
586         * rendering/InlineTextBox.cpp:
587         (WebCore::InlineTextBox::paint):
588         removed markedTextMatchesAreHighlighted guard; we always want to call paintTextMatchMarker
589         now, but sometimes we will end up only computing the rect, not actually highlighting it.
590         (Maybe some names should be improved here?)
591         (WebCore::InlineTextBox::paintTextMatchMarker):
592         Reorganized to move all the code that actually draws into a block that's guarded by
593         markedTextMatchesAreHighlighted. The rest of the code computes where the highlight will
594         go, and now we always use that computation in order to call setRenderedRectForMarker.
595
596         * bridge/mac/WebCoreFrameBridge.h:
597         * bridge/mac/WebCoreFrameBridge.mm:
598         (-[WebCoreFrameBridge rectsForTextMatches]):
599         New method, returns an array of NSValues representing NSRects. Gets them
600         from Document::renderedRectsForMarkers
601         
602 2006-06-10  Anders Carlsson  <acarlsson@apple.com>
603
604         Reviewed by Eric.
605
606         * bindings/js/kjs_html.cpp:
607         (KJS::JSHTMLElement::put):
608         Call WebCore::JSHTMLElement::put so that autogenerated setters will work 
609         for HTMLElement.
610
611 2006-06-09  Geoffrey Garen  <ggaren@apple.com>
612
613         - Build fix after last JSC check-in (oops!)
614         
615         * bridge/mac/WebCoreScriptDebugger.mm:
616         (-[WebCoreScriptCallFrame scopeChain]):
617         (-[WebCoreScriptCallFrame functionName]):
618         (-[WebCoreScriptCallFrame evaluateWebScript:]):
619
620 2006-06-09  David Hyatt  <hyatt@apple.com>
621
622         Rename m_isFocused on the frame to m_isActive, since it isn't really
623         about focus but is instead about whether or not the top-level window is
624         active.
625
626         Pull code that was incorrectly factored into Mac-only code out of FrameMac
627         and back up into Frame.
628
629         Reviewed by andersca
630
631         * bridge/mac/FrameMac.h:
632         * bridge/mac/FrameMac.mm:
633         * page/Frame.cpp:
634         (WebCore::Frame::setFocusNodeIfNeeded):
635         (WebCore::Frame::isActive):
636         (WebCore::Frame::setIsActive):
637         * page/FramePrivate.h:
638         (WebCore::FramePrivate::FramePrivate):
639
640 2006-06-09  David Hyatt  <hyatt@apple.com>
641
642         Rework selection coloring.  Rename displaysWithFocusAttributes
643         to isActive.  Move the white-blending code onto the Color API to make
644         it more convenient to mutate colors for selection blending.  Eliminate all
645         the selection state from the GraphicsContext and move it to the RenderTheme.
646         Implement both Win32 and Mac theme selection colors.
647
648         Reviewed by sfalken
649
650         * bridge/mac/FrameMac.h:
651         * bridge/mac/FrameMac.mm:
652         (WebCore::FrameMac::setIsActive):
653         * bridge/mac/WebCoreFrameBridge.h:
654         * bridge/mac/WebCoreFrameBridge.mm:
655         (-[WebCoreFrameBridge drawRect:]):
656         (-[WebCoreFrameBridge setIsActive:]):
657         (-[WebCoreFrameBridge selectionColor]):
658         * css/cssstyleselector.cpp:
659         (WebCore::CSSStyleSelector::checkOneSelector):
660         * page/Frame.cpp:
661         (WebCore::Frame::isActive):
662         (WebCore::Frame::setIsActive):
663         * page/Frame.h:
664         * platform/Color.cpp:
665         (WebCore::blend):
666         (WebCore::Color::blendWithWhite):
667         * platform/Color.h:
668         (WebCore::Color::hasAlpha):
669         * platform/GraphicsContext.cpp:
670         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
671         * platform/GraphicsContext.h:
672         * platform/mac/GraphicsContextMac.mm:
673         * platform/win/TemporaryLinkStubs.cpp:
674         (GraphicsContext::endTransparencyLayer):
675         * rendering/InlineTextBox.cpp:
676         (WebCore::InlineTextBox::paintSelection):
677         * rendering/RenderBlock.cpp:
678         (WebCore::RenderBlock::fillHorizontalSelectionGap):
679         (WebCore::RenderBlock::fillVerticalSelectionGap):
680         (WebCore::RenderBlock::fillLeftSelectionGap):
681         (WebCore::RenderBlock::fillRightSelectionGap):
682         * rendering/RenderHTMLCanvas.cpp:
683         (WebCore::RenderHTMLCanvas::paint):
684         * rendering/RenderImage.cpp:
685         (WebCore::RenderImage::paint):
686         * rendering/RenderListMarker.cpp:
687         (WebCore::RenderListMarker::paint):
688         * rendering/RenderListMarker.h:
689         * rendering/RenderObject.cpp:
690         (WebCore::RenderObject::selectionColor):
691         * rendering/RenderObject.h:
692         * rendering/RenderReplaced.cpp:
693         * rendering/RenderReplaced.h:
694         * rendering/RenderTheme.cpp:
695         (WebCore::RenderTheme::activeSelectionColor):
696         (WebCore::RenderTheme::inactiveSelectionColor):
697         (WebCore::RenderTheme::platformActiveSelectionColor):
698         (WebCore::RenderTheme::platformInactiveSelectionColor):
699         * rendering/RenderTheme.h:
700         * rendering/RenderThemeMac.h:
701         * rendering/RenderThemeMac.mm:
702         (WebCore::RenderThemeMac::platformActiveSelectionColor):
703         (WebCore::RenderThemeMac::platformInactiveSelectionColor):
704         * rendering/RenderThemeWin.cpp:
705         (WebCore::RenderThemeWin::platformActiveSelectionColor):
706         (WebCore::RenderThemeWin::platformInactiveSelectionColor):
707         * rendering/RenderThemeWin.h:
708         * rendering/RenderWidget.cpp:
709         (WebCore::RenderWidget::paint):
710
711 2006-06-09  Justin Garcia  <justin.garcia@apple.com>
712
713         Reviewed by levi
714         
715         <rdar://problem/4549980>
716         REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
717
718         * bridge/mac/FrameMac.h: Moved findString to Frame.
719         * bridge/mac/FrameMac.mm: Ditto.
720         * bridge/mac/WebCoreFrameBridge.mm:
721         (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]): 
722         Convert the NSString to a String.
723         * editing/JSEditor.cpp: Added execCommand(FindString, ...)
724         * editing/Selection.cpp: Added a constructor for Ranges
725         (WebCore::Selection::Selection): 
726         * editing/Selection.h:
727         * page/Frame.cpp:
728         (WebCore::Frame::findString): Moved from FrameMac.  Compare a selection created 
729         using the found range with the current selection in case the current selection is
730         the found range minus some collapsed whitespace on the edges.
731         * page/Frame.h:
732
733 2006-06-09  Steve Falkenburg  <sfalken@apple.com>
734
735         Fix build break
736
737         * WebCore.vcproj/WebCore/WebCore.vcproj:
738         * css/MediaQueryEvaluator.cpp:
739         * platform/win/TemporaryLinkStubs.cpp:
740         (GraphicsContext::addRoundedRectClip):
741         (GraphicsContext::addInnerRoundedRectClip):
742         (WebCore::screenDepthPerComponent):
743         (WebCore::screenIsMonochrome):
744
745 2006-06-09  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
746
747         Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth. 
748         Landed by Beth.
749
750         CSS3 Media Queries implementation.
751         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4127>
752
753         * WebCore.xcodeproj/project.pbxproj:
754         * bindings/js/kjs_css.cpp:
755         (KJS::DOMMediaList::put):
756         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
757         * bindings/objc/DOMCSS.mm:
758         (-[DOMMediaList setMediaText:]):
759         (-[DOMMediaList deleteMedium:]):
760         (-[DOMMediaList appendMedium:]):
761         * css/CSSGrammar.y:
762         * css/MediaFeatureNames.cpp: Added.
763         (WebCore::MediaFeatureNames::init):
764         * css/MediaFeatureNames.h: Added.
765         * css/MediaList.cpp:
766         (WebCore::MediaList::MediaList):
767         (WebCore::MediaList::~MediaList):
768         (WebCore::parseMediaDescriptor):
769         (WebCore::MediaList::deleteMedium):
770         (WebCore::MediaList::mediaText):
771         (WebCore::MediaList::setMediaText):
772         (WebCore::MediaList::item):
773         (WebCore::MediaList::appendMedium):
774         (WebCore::MediaList::appendMediaQuery):
775         * css/MediaList.h:
776         (WebCore::MediaList::MediaList):
777         (WebCore::MediaList::length):
778         (WebCore::MediaList::mediaQueries):
779         * css/MediaQuery.cpp: Added.
780         (WebCore::MediaQuery::MediaQuery):
781         (WebCore::MediaQuery::~MediaQuery):
782         (WebCore::MediaQuery::operator==):
783         (WebCore::MediaQuery::cssText):
784         * css/MediaQuery.h: Added.
785         (WebCore::MediaQuery::):
786         (WebCore::MediaQuery::restrictor):
787         (WebCore::MediaQuery::expressions):
788         (WebCore::MediaQuery::mediaType):
789         (WebCore::MediaQuery::append):
790         * css/MediaQueryEvaluator.cpp: Added.
791         (WebCore::):
792         (WebCore::MediaQueryEvaluator):
793         (WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
794         (WebCore::MediaQueryEvaluator::mediaTypeMatch):
795         (WebCore::applyRestrictor):
796         (WebCore::MediaQueryEvaluator::eval):
797         (WebCore::parseAspectRatio):
798         (WebCore::cmpvalue):
799         (WebCore::numberValue):
800         (WebCore::colorMediaFeatureEval):
801         (WebCore::monochromeMediaFeatureEval):
802         (WebCore::device_aspect_ratioMediaFeatureEval):
803         (WebCore::gridMediaFeatureEval):
804         (WebCore::device_heightMediaFeatureEval):
805         (WebCore::device_widthMediaFeatureEval):
806         (WebCore::heightMediaFeatureEval):
807         (WebCore::widthMediaFeatureEval):
808         (WebCore::min_colorMediaFeatureEval):
809         (WebCore::max_colorMediaFeatureEval):
810         (WebCore::min_monochromeMediaFeatureEval):
811         (WebCore::max_monochromeMediaFeatureEval):
812         (WebCore::min_device_aspect_ratioMediaFeatureEval):
813         (WebCore::max_device_aspect_ratioMediaFeatureEval):
814         (WebCore::min_heightMediaFeatureEval):
815         (WebCore::max_heightMediaFeatureEval):
816         (WebCore::min_widthMediaFeatureEval):
817         (WebCore::max_widthMediaFeatureEval):
818         (WebCore::min_device_heightMediaFeatureEval):
819         (WebCore::max_device_heightMediaFeatureEval):
820         (WebCore::min_device_widthMediaFeatureEval):
821         (WebCore::max_device_widthMediaFeatureEval):
822         (WebCore::createFunctionMap):
823         * css/MediaQueryEvaluator.h: Added.
824         * css/MediaQueryExp.cpp: Added.
825         (WebCore::MediaQueryExp::MediaQueryExp):
826         (WebCore::MediaQueryExp::~MediaQueryExp):
827         * css/MediaQueryExp.h: Added.
828         (WebCore::MediaQueryExp::mediaFeature):
829         (WebCore::MediaQueryExp::value):
830         (WebCore::MediaQueryExp::operator==):
831         * css/StyleSheet.cpp:
832         (WebCore::StyleSheet::setMedia):
833         * css/cssparser.cpp:
834         (WebCore::CSSParser::CSSParser):
835         (WebCore::CSSParser::~CSSParser):
836         (WebCore::CSSParser::setupParser):
837         (WebCore::CSSParser::parseMediaQuery):
838         (WebCore::CSSParser::createFloatingMediaQueryExp):
839         (WebCore::CSSParser::sinkFloatingMediaQueryExp):
840         (WebCore::CSSParser::createFloatingMediaQueryExpList):
841         (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
842         (WebCore::CSSParser::createFloatingMediaQuery):
843         (WebCore::CSSParser::sinkFloatingMediaQuery):
844         * css/cssparser.h:
845         * css/cssstyleselector.cpp:
846         (WebCore::CSSStyleSelector::CSSStyleSelector):
847         (WebCore::CSSStyleSelector::init):
848         (WebCore::CSSStyleSelector::~CSSStyleSelector):
849         (WebCore::CSSStyleSelector::loadDefaultStyle):
850         (WebCore::CSSStyleSelector::matchUARules):
851         (WebCore::CSSStyleSelector::styleForElement):
852         (WebCore::CSSStyleSelector::pseudoStyleForElement):
853         (WebCore::CSSStyleSelector::updateFont):
854         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
855         (WebCore::CSSStyleSelector::styleRulesForElement):
856         (WebCore::CSSRuleSet::addRulesFromSheet):
857         * css/cssstyleselector.h:
858         * css/maketokenizer:
859         * css/tokenizer.flex:
860         * dom/DOMImplementation.cpp:
861         (WebCore::DOMImplementation::createCSSStyleSheet):
862         * html/HTMLLinkElement.cpp:
863         (WebCore::HTMLLinkElement::process):
864         (WebCore::HTMLLinkElement::setStyleSheet):
865         * html/HTMLStyleElement.cpp:
866         (WebCore::HTMLStyleElement::childrenChanged):
867         * ksvg2/svg/SVGDOMImplementation.cpp:
868         (SVGDOMImplementation::createCSSStyleSheet):
869         * ksvg2/svg/SVGStyleElement.cpp:
870         (WebCore::SVGStyleElement::childrenChanged):
871         * page/Frame.cpp:
872         (WebCore::Frame::Frame):
873         * platform/Screen.h:
874         * platform/mac/ScreenMac.mm:
875         (WebCore::screenDepthPerComponent):
876         (WebCore::screenIsMonochrome):
877
878 2006-06-08  Levi Weintraub  <lweintraub@apple.com>
879
880         Reviewed by justin
881         
882         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
883         Implement execCommand(Insert{Un}OrderedList)
884
885         * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
886         * dom/Position.cpp:
887         (WebCore::hasRenderedNonAnonymousDescendantsWithHeight): 
888         Added. A block with height is only a candidate if this is false.  This should fix the problems
889         getting carets into empty blocks.
890         (WebCore::Position::inRenderedContent):
891         * editing/AppendNodeCommand.cpp:
892         (WebCore::AppendNodeCommand::doApply):
893         * editing/CompositeEditCommand.cpp:
894         (WebCore::hasARenderedDescendant):
895         (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
896         have a renderer with no descendants.  Fixed the pruning rule to avoid removing a node like this.
897         (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
898         each other if they aren't already, as a convenience.
899         (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
900         (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 
901         * editing/CompositeEditCommand.h:
902         * editing/DeleteSelectionCommand.cpp:
903         (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
904         continue to happen until it is no longer possible.
905         (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
906         wouldn't always avoid removing the start block.
907         * editing/InsertListCommand.cpp: Added.
908         (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
909         into a list.
910         (WebCore::InsertListCommand::InsertListCommand):
911         (WebCore::InsertListCommand::modifyRange):
912         (WebCore::InsertListCommand::doApply):
913         * editing/InsertListCommand.h: Added.
914         (WebCore::InsertListCommand::):
915         * editing/InsertNodeBeforeCommand.cpp:
916         (WebCore::InsertNodeBeforeCommand::doApply):
917         * editing/InsertParagraphSeparatorCommand.cpp:
918         * editing/JSEditor.cpp:
919         * editing/TextIterator.cpp:
920         (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the 
921         iterator ends at the start of that node.
922         * editing/VisiblePosition.cpp:
923         (WebCore::VisiblePosition::next):
924         (WebCore::VisiblePosition::previous):
925         * editing/VisiblePosition.h: 
926         Added a parameter to next/previous that can prevent them from leaving the current editable region.
927         * editing/htmlediting.cpp:
928         (WebCore::highestAncestor):
929         (WebCore::enclosingList):
930         (WebCore::enclosingListChild):
931         (WebCore::outermostEnclosingList):
932         (WebCore::createListItemElement):
933         * editing/htmlediting.h:
934         * page/Frame.cpp:
935         (WebCore::Frame::selectionListState): Added.
936         * page/Frame.h:
937
938 2006-06-08  David Harrison  <harrison@apple.com>
939
940         Reviewed by Geoff and John.
941
942         <rdar://problem/4558879> -[DOMCSSPrimitiveValue setStringValue:] throws an exception (12)
943         
944         Problem was the primitive value was getting reset to a generic state before the parameter
945         check that relies on that state.
946
947         Test: fast/dom/setPrimitiveValue.html
948
949         * css/CSSPrimitiveValue.cpp:
950         (WebCore::CSSPrimitiveValue::setFloatValue):
951         (WebCore::CSSPrimitiveValue::setStringValue):
952         Move parameter checks ahead of call to cleanup().
953
954 2006-06-08  Alice Liu  <alice.liu@apple.com>
955
956         Reviewed by justin.
957
958         - fixed <rdar://problem/4578115> support Range.isPointInRange
959         - fixed <rdar://problem/4578123> support Range.comparePoint
960
961         * dom/Range.cpp:
962         (WebCore::Range::isPointInRange):
963         added implementation
964         (WebCore::Range::comparePoint):
965         added implementation
966         * dom/Range.h:
967         added prototypes
968         * dom/Range.idl:
969         added bindings
970
971 2006-06-08  Darin Adler  <darin@apple.com>
972
973         Reviewed by justin.
974
975         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
976           REGRESSION: TinyMCE: Crash on Undo
977
978         * bridge/mac/WebCoreFrameBridge.mm:
979         (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
980         Changed to call nodeInfoAtPoint directly.
981         (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
982         Also added code to convert coordinates so it works for points that are in nodes in subframes.
983
984         * page/Frame.cpp:
985         (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
986         endpoints in another document.
987         (WebCore::Frame::setSelection): Ditto.
988
989 2006-06-07  Justin Garcia  <justin.garcia@apple.com>
990
991         Reviewed by levi
992         
993         Fixed some comments and removed an unused variable.
994
995         * editing/CompositeEditCommand.cpp:
996         (WebCore::CompositeEditCommand::removeBlockPlaceholder):
997         Don't remove a br if it isn't at the start of a block, since
998         it isn't really a "block placeholder".
999         * editing/DeleteSelectionCommand.cpp:
1000         (WebCore::DeleteSelectionCommand::initializePositionData):
1001         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1002         (WebCore::DeleteSelectionCommand::doApply):
1003         * editing/InsertLineBreakCommand.cpp:
1004         (WebCore::InsertLineBreakCommand::doApply):
1005         * editing/ReplaceSelectionCommand.cpp:
1006         (WebCore::ReplaceSelectionCommand::doApply):
1007         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
1008         * editing/htmlediting.cpp:
1009
1010 2006-06-07  David Hyatt  <hyatt@apple.com>
1011
1012         Add support for custom highlighting.  This is all ifdefed to be Mac-only.
1013
1014         Reviewed by justin
1015
1016         * WebCore.xcodeproj/project.pbxproj:
1017         * bridge/mac/FrameMac.h:
1018         * bridge/mac/FrameMac.mm:
1019         (WebCore::FrameMac::paintCustomHighlight):
1020         * bridge/mac/WebCoreFrameBridge.h:
1021         * platform/mac/ClipboardMac.h:
1022         * rendering/InlineTextBox.cpp:
1023         (WebCore::InlineTextBox::paint):
1024         (WebCore::InlineTextBox::paintCustomHighlight):
1025         * rendering/InlineTextBox.h:
1026
1027 2006-06-07  Adele Peterson  <adele@apple.com>
1028
1029         Reviewed by Hyatt 
1030
1031         Added support for cross-platform resize property.
1032
1033         * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
1034         already cache this info when we handle mouse down and mouse up.
1035         * platform/mac/MouseEventMac.mm: ditto.
1036         * platform/win/TemporaryLinkStubs.cpp: ditto.
1037
1038         * page/Frame.cpp:
1039         (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
1040         * page/FrameView.cpp:
1041         (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
1042         (WebCore::FrameView::mousePressed): Added.
1043         * page/FrameView.h: Added mousePressed.
1044
1045         * rendering/RenderTheme.h: Removed paintResizeControl.
1046         Since its not dependent on the theme, the layer can just paint this.
1047         * rendering/RenderTheme.cpp: ditto.
1048         * rendering/RenderLayer.cpp:
1049         (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
1050         (WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
1051         (WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
1052         (WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
1053         * rendering/RenderLayer.h: Added m_resizeCornerImage.  Important to have one per-layer for when we allow
1054         more customization.
1055
1056         * platform/cairo/ImageCairo.cpp:
1057         (WebCore::Image::loadResource): Loads image resources.
1058
1059 2006-06-07  David Hyatt  <hyatt@apple.com>
1060
1061         Add support for a new property for custom highlighting.  This patch just
1062         adds support for the parsing of the property.  It doesn't do anything yet.
1063
1064         Reviewed by beth
1065
1066         * css/CSSComputedStyleDeclaration.cpp:
1067         (WebCore::):
1068         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1069         * css/CSSPropertyNames.in:
1070         * css/cssparser.cpp:
1071         (WebCore::CSSParser::parseValue):
1072         * css/cssstyleselector.cpp:
1073         (WebCore::CSSStyleSelector::applyProperty):
1074         * rendering/render_style.cpp:
1075         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
1076         (WebCore::StyleCSS3InheritedData::operator==):
1077         (WebCore::RenderStyle::diff):
1078         * rendering/render_style.h:
1079         (WebCore::RenderStyle::highlight):
1080         (WebCore::RenderStyle::setHighlight):
1081         (WebCore::RenderStyle::initialHighlight):
1082
1083 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1084
1085         Fix suggested by Rob Buis. Reviewed by Darin.
1086
1087         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9341
1088           REGRESSION: Repro crash caused by style="font:bold"
1089
1090         Test: fast/css/font-shorthand-weight-only.html
1091
1092         * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
1093         made to fix bug 5564.
1094
1095 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1096
1097         Reviewed by Hyatt.
1098
1099         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9122
1100           REGRESSION: Incorrect vertical position for text fields in a "display: table" block
1101
1102         Test: fast/table/text-field-baseline.html
1103
1104         * rendering/RenderTableCell.cpp:
1105         (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
1106         use their baseline.
1107
1108 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1109
1110         Reviewed by Hyatt (concept) and Darin (some coding details).
1111
1112         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4334
1113           REGRESSION: Flickering when css-hover should change opacity on floating elements
1114
1115         Pixel test: fast/block/float/nopaint-after-layer-destruction.html
1116
1117         * rendering/RenderBlock.cpp:
1118         (WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
1119         in the block's FloatingObject for the given float and calls setChildNeedsLayout.
1120         * rendering/RenderBlock.h:
1121         * rendering/RenderBox.cpp:
1122         (WebCore::blockThatPaintsFloat): Added this helper function.
1123         (WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
1124         gains or loses its layer.
1125
1126 2006-06-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1127
1128         Reviewed by Hyatt.
1129
1130         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9121
1131           REGRESSION: [Incremental Repaint] DHTML movement test failures
1132
1133         Test (repaint): fast/repaint/containing-block-position-change.html
1134
1135         * manual-tests/containing-block-position-chage.html: Added.
1136         * rendering/RenderBlock.cpp:
1137         (WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
1138         the RenderCanvas to RenderView rename.
1139         (WebCore::RenderBlock::removePositionedObject): Added a return immediately
1140         after removing the object.
1141         (WebCore::RenderBlock::removePositionedObjects): Added.
1142         * rendering/RenderBlock.h:
1143         * rendering/RenderObject.cpp:
1144         (WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
1145         descendants from the positioned objects list of their current containing block
1146         when they are going to have a new one as a result of this block's position
1147         property changing. 
1148         * rendering/RenderObject.h:
1149         (WebCore::RenderObject::removePositionedObjects):
1150
1151 2006-06-06  Justin Garcia  <justin.garcia@apple.com>
1152
1153         Reviewed by levi
1154
1155         * dom/Node.cpp:
1156         (WebCore::Node::firstDescendant): Added.
1157         * dom/Node.h:
1158         * dom/Range.cpp: Added a constructor that takes in Positions.
1159         (WebCore::Range::Range):
1160         * dom/Range.h:
1161         * editing/CompositeEditCommand.cpp:
1162         (WebCore::CompositeEditCommand::insertNodeAt): 
1163         Let this function insert children into empty containers.  
1164         Calls canHaveChildrenForEditing.
1165         (WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
1166         (WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the 
1167         replacement so that moveParagraph's callers have a valid destination after the move.
1168         * editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
1169         made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
1170         * editing/DeleteSelectionCommand.cpp:
1171         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 
1172         Removed m_startNode, used a local variable.
1173         (WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
1174         (WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
1175         front and keep track of it as nodes and text are removed.
1176         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
1177         (WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
1178         Update m_endingPosition as we remove nodes.
1179         (WebCore::DeleteSelectionCommand::deleteTextFromNode): 
1180         Update m_endingPosition as we delete text.
1181         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block.  Cleaned up.
1182         (WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
1183         clobbers the old one.
1184         (WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after 
1185         deletion. Make the placeholder decision before we do special element expansion.
1186         * editing/DeleteSelectionCommand.h:
1187         * editing/InsertLineBreakCommand.cpp:
1188         (WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned 
1189         up the code.
1190         * editing/InsertParagraphSeparatorCommand.cpp:
1191         (WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
1192         a merge (added a testcase).
1193         * editing/RebalanceWhitespaceCommand.cpp:
1194         (WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
1195         * editing/ReplaceSelectionCommand.cpp:
1196         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1197         Merge even when the incoming fragment has interchange newlines (added a testcase).
1198         Merge when the selection being pasted into starts at the start of a block because not
1199         doing so would leave one or more hanging empty blocks.
1200         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
1201         Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
1202         a selection, and a selection can't be created until whitespace has been rebalanced.
1203         * editing/htmlediting.cpp:
1204         (WebCore::canHaveChildrenForEditing): Added.
1205         * editing/htmlediting.h:
1206
1207 2006-06-06  Beth Dakin  <bdakin@apple.com>
1208
1209         Reviewed by Maciej.
1210
1211         Fix for <rdar://problem/4570475> Dashboard regions do not scale for 
1212         non-1.0 scale factors.
1213
1214         No test cases added since this only affects non-1.0 resolution 
1215         scale factors.
1216
1217         * platform/FloatRect.cpp:
1218         (WebCore::FloatRect::scale): Added new function that scales a 
1219         rect's origin and size by a given factor.
1220         * platform/FloatRect.h:
1221         * platform/IntRect.cpp:
1222         (WebCore::IntRect::scale): Same as above.
1223         * platform/IntRect.h:
1224         * rendering/RenderObject.cpp:
1225         (WebCore::RenderObject::addDashboardRegions): After the bounds and 
1226         clip rects on the Dashboard region have been calculated, get the 
1227         user space scale factor, and if it is not 1.0, scale the rects.
1228
1229 2006-06-06  John Sullivan  <sullivan@apple.com>
1230
1231         Reviewed by Darin Adler.
1232         
1233         - fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at 
1234         http://www.apple.com/ (RenderObject::repaint(bool))
1235         
1236         This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
1237         it to the surface.
1238
1239         * dom/Document.h:
1240         Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
1241
1242         * dom/Document.cpp:
1243         (WebCore::Document::removeMarkers):
1244         Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
1245         removed.
1246         (WebCore::Document::repaintMarkers):
1247         Add a .get() to compensate for using RefPtr.
1248
1249 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
1250
1251         Reviewed by Darin.
1252
1253         http://bugzilla.opendarwin.org/show_bug.cgi?id=9325
1254         clientWidth/clientHeight on document element in strict mode should return visible frame size
1255         
1256         * dom/Element.cpp:
1257         (WebCore::Element::clientWidth):
1258         (WebCore::Element::clientHeight):
1259         If we're the document element, and in strict mode, return the visible size of the frame.
1260         
1261 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
1262
1263         Reviewed by John.
1264
1265         * bridge/mac/WebCoreFrameBridge.h:
1266         * bridge/mac/WebCoreFrameBridge.mm:
1267         (-[WebCoreFrameBridge containsPlugins]):
1268         * page/Frame.cpp:
1269         (WebCore::Frame::containsPlugins):
1270         * page/Frame.h:
1271         Add containsPlugins function which returns whether a frame contains plugins
1272         or not.
1273
1274 2006-06-05  Rob Buis  <buis@kde.org>
1275
1276         Reviewed by mjs.
1277
1278         http://bugzilla.opendarwin.org/show_bug.cgi?id=5564
1279         'font' shorthand parsing should be more tolerant in quirks mode
1280
1281         When not in strict mode accept font property specifications
1282         lacking a font family part, like WinIE does.
1283
1284         * css/cssparser.cpp:
1285         (WebCore::CSSParser::parseFont):
1286
1287 2006-06-05  Beth Dakin  <bdakin@apple.com>
1288
1289         Reviewed by Darin.
1290
1291         Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 
1292         1.83 scaling
1293
1294         To prevent pixel cracks at non-integral scaling factors, before we 
1295         call into CG to draw an image, we have to convert the rect to 
1296         device space, round the origin and size to integers in device 
1297         space, and convert back to user space. 
1298         
1299         No test cases added since this only affects non-1.0 resolution 
1300         scale factors.
1301
1302         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1303         (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now 
1304         takes FloatRects.
1305         * html/CanvasPattern.cpp:
1306         (WebCore::patternCallback): Call roundToDevicePixels()
1307         * html/CanvasRenderingContext2D.cpp:
1308         (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now 
1309         takes FloatRects and call roundToDevicePixels()
1310         * html/CanvasRenderingContext2D.h: drawImage() now takes 
1311         FloatRects.
1312         * html/HTMLCanvasElement.cpp:
1313         (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
1314         * kcanvas/device/quartz/QuartzSupport.mm:
1315         (WebCore::debugDumpCGImageToFile): Same as above.
1316         * platform/GraphicsContext.h:
1317         * platform/cg/GraphicsContextCG.cpp:
1318         (WebCore::GraphicsContext::roundToDevicePixels): Takes care of 
1319         converting between coordinate spaces and rounding.
1320         (WebCore::GraphicsContext::drawLineForText):
1321         * platform/mac/ImageMac.mm: Call roundToDevicePixels()
1322         (WebCore::Image::draw): Same as above.
1323         (WebCore::drawPattern): Same as above.
1324
1325 2006-06-05  Geoffrey Garen  <ggaren@apple.com>
1326
1327         Reviewed by Darin.
1328
1329         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9310
1330         Add missing DOM prototypes and other DOM cleanup
1331
1332         - Added the built-in object prototype to DOM objects that were missing it
1333         so that primitive operations like == work on them.
1334         
1335         - Removed dead EventConstructor class (it's autogenerated now)
1336         
1337         - Changed HTML collections to describe themselves as "[object Collection]",
1338         to match IE.
1339         
1340         - Made DOMCSSRule constructor private because JSCSSRule is the class
1341         to use.
1342         
1343         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1344         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
1345         * bindings/js/kjs_css.cpp:
1346         (KJS::DOMStyleSheet::DOMStyleSheet):
1347         (KJS::DOMStyleSheetList::DOMStyleSheetList):
1348         (KJS::DOMCSSRule::DOMCSSRule):
1349         (KJS::DOMCSSValue::DOMCSSValue):
1350         (KJS::toJS):
1351         (KJS::DOMRGBColor::DOMRGBColor):
1352         (KJS::getDOMRGBColor):
1353         (KJS::DOMRect::DOMRect):
1354         * bindings/js/kjs_css.h:
1355         * bindings/js/kjs_dom.cpp:
1356         (KJS::DOMNodeList::DOMNodeList):
1357         (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
1358         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
1359         (KJS::):
1360         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
1361         * bindings/js/kjs_dom.h:
1362         (KJS::DOMNamedNodesCollection::classInfo):
1363         * bindings/js/kjs_events.h:
1364         * bindings/js/kjs_html.cpp:
1365         (KJS::):
1366
1367 2006-06-04  Darin Adler  <darin@apple.com>
1368
1369         Reviewed by Maciej.
1370
1371         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
1372           REGRESSION: Crash when closing tabs on newegg.com
1373         - removed a no-longer-needed Win32-specific workaround (not reviewed)
1374
1375         * bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
1376         (WebCore::floatFeature): Remove WIN32 ifdef around isnan.
1377         (WebCore::toJS): Add null checks.
1378
1379 2006-06-04  Darin Adler  <darin@apple.com>
1380
1381         Reviewed by Maciej.
1382
1383         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9176
1384           REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
1385
1386         Test: fast/loader/link-no-URL.html
1387
1388         * loader/Cache.h:
1389         * loader/Cache.cpp:
1390         (WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
1391         from the cached object itself. Callers were passing in the wrong URL. When it was a
1392         null string, it caused the crash mentioned above. But in other cases it may have
1393         caused some other minor problems as well. Added an assert to catch cases where the
1394         URL is null (should never happen).
1395         (WebCore::Cache::requestImage): Changed call site to not pass URL.
1396         (WebCore::Cache::requestStyleSheet): Ditto.
1397         (WebCore::Cache::requestScript): Ditto.
1398         (WebCore::Cache::requestXSLStyleSheet): Ditto.
1399         (WebCore::Cache::requestXBLDocument): Ditto.
1400
1401 2006-06-04  Darin Adler  <darin@apple.com>
1402
1403         Reviewed by Adele.
1404
1405         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7291
1406           REGRESSION: delete key does not work in isIndex fields
1407
1408         * platform/mac/WebCoreTextField.mm:
1409         (inputElement): Added. Helper function to get the Objective-C wrapper for an
1410         input element associated with a QTextEdit. Returns nil if the element is not
1411         an input element. The bug was caused by passing a non-input element to the
1412         delegate methods.
1413         (-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
1414         and don't make the delegate call at all if there is none. This happens only
1415         with isindex elements; it's not important to have auto-fill work with those.
1416         (-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
1417         (-[KWQTextFieldController controlTextDidChange:]): Ditto.
1418         (-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
1419         (-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
1420         (-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.
1421
1422 2006-06-04  Darin Adler  <darin@apple.com>
1423
1424         Reviewed by Anders.
1425
1426         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8995
1427           memory leak in XPath code -- seen in layout tests
1428         - fixed malloc error on exit due to SVGDOMImplementation destructor
1429         - attempted to fix the no-XPATH_SUPPORT build by adding an #if
1430         - changed around includes and header-file formatting in XPath code
1431
1432         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
1433         generating the bindings for XPathNSResolver.
1434
1435         * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
1436         SVGDOMImplementation.
1437         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
1438
1439         * ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
1440         * ksvg2/svg/SVGDOMImplementation.cpp:
1441         (SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
1442         (SVGDOMImplementation::createDocument): Remove a reference to KDOMView.
1443
1444         * xpath/XPathExpression.cpp:
1445         (WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
1446         reference count churn.
1447         (WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
1448         relies on it being 0 when the function succeeds.
1449
1450         * xpath/XPathResult.cpp:
1451         (WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
1452         unneeded target node data member.
1453         (WebCore::XPathResult::XPathResult): Updated for enum name changes and
1454         InvalidatingEventListener name change. Added an assertion.
1455
1456         * xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
1457         for createFunction to be a String instead of char*.
1458         * xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
1459         used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
1460         the Interval functions inline.
1461         (WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
1462         (WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
1463         Use equalIgnoringCase() instead of calling lower() on two strings.
1464         (WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
1465         this function. Also removed a duplicate entry for the "last" function.
1466         (WebCore::XPath::createFunction): Changed from a member function to a separate function.
1467         Also changed so that if the args are not used in the function they are deleted.
1468         This was one of the sources of the storage leaks.
1469
1470         * xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
1471         specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
1472         tokens that were declared as <str> but weren't actually using the string to be
1473         declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
1474         unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
1475         call delete functions instead that both unregister and delete. Change call sites for
1476         createFunction to just use the String, removing the deprecatedString().latin1() call
1477         that is no longer needed. Added a call to unregisterParseNode that was missing in the
1478         "FilterExpr DescendantOrSelf RelativeLocationPath" production.
1479
1480         * xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
1481         and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
1482         part of the Parser class last. Moved a number of private things inside the cpp file.
1483         * xpath/impl/XPathParser.cpp:
1484         (WebCore::XPath::charCat): Made this a separate function, instead of a static member.
1485         (WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
1486         allowing use of a map instead of a map pointer.
1487         (WebCore::XPath::isNodeTypeName): Ditto.
1488         (WebCore::XPath::Parser::isOperatorContext): Made this const.
1489         (WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
1490         By using the actual types, we can safely use overload instead.
1491         (WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
1492         (WebCore::XPath::Parser::lexNumber): Ditto.
1493         (WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
1494         Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
1495         confusing and is also a bit more explicit.
1496         (WebCore::XPath::Parser::lexQName): Ditto.
1497         (WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
1498         to remove some unneeded else statements.
1499         (WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
1500         to decide what the type is. This matches what the grammar expects, and removes the need
1501         for the token object to track which part of the value is good and the need to reserve 0
1502         to have a special meaning.
1503         (WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
1504         expressions in the predicate and expression vectors. Before, we were only deleting
1505         the vectors. This was one of the sources of the storage leaks.
1506         (WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
1507         the vector. However this does not delete the predicates in the vector.
1508         (WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
1509         the vector. However this does not delete the expressions in the vector.
1510         (WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.
1511
1512         * xpath/impl/XPathPredicate.h:
1513         * xpath/impl/XPathPredicate.cpp:
1514         (WebCore::XPath::NumericOp::NumericOp): Changed opcode from an int to an enum, and
1515         renamed to "opcode" instead of "opCode".
1516         (WebCore::XPath::NumericOp::doEvaluate): More of the same.
1517         (WebCore::XPath::EqTestOp::EqTestOp): Ditto.
1518         (WebCore::XPath::EqTestOp::doEvaluate): Ditto.
1519         (WebCore::XPath::LogicalOp::LogicalOp): Ditto.
1520         (WebCore::XPath::LogicalOp::shortCircuitOn): Ditto.
1521         (WebCore::XPath::Predicate::evaluate): Removed an unneeded "new".
1522
1523         * xpath/impl/XPathStep.h:
1524         * xpath/impl/XPathStep.cpp: Renamed AxisType to Axis. Removed unused axisAsString
1525         function and default constructor.
1526
1527         * xpath/impl/XPathValue.h: Renamed the type constants to have a Value suffix,
1528         instead of the underscore suffix used before on NodeVector and String.
1529         * xpath/impl/XPathValue.cpp: Updated for name change. Added asserts.
1530
1531         * xpath/impl/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::doEvaluate):
1532         Use a reference instead of a pointer.
1533
1534         * xpath/XPathEvaluator.cpp:
1535         * xpath/XPathEvaluator.h:
1536         * xpath/XPathExpression.h:
1537         * xpath/XPathNSResolver.cpp:
1538         * xpath/XPathNSResolver.h:
1539         * xpath/XPathNamespace.cpp:
1540         * xpath/XPathNamespace.h:
1541         * xpath/XPathResult.h:
1542         * xpath/impl/XPathExpressionNode.cpp:
1543         * xpath/impl/XPathExpressionNode.h:
1544         * xpath/impl/XPathPath.cpp:
1545         * xpath/impl/XPathPath.h:
1546         * xpath/impl/XPathUtil.cpp:
1547         * xpath/impl/XPathUtil.h:
1548         * xpath/impl/XPathVariableReference.h:
1549         Reformatted and changed includes around; no substantive changes.
1550
1551 2006-06-04  Sam Weinig  <sam.weinig@gmail.com>
1552
1553         Reviewed by hyatt.
1554
1555         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9213
1556           Absolutely positioned objects with relatively positioned inline 
1557           containing blocks are rendered incorrectly
1558
1559         * rendering/RenderBox.cpp:
1560         (WebCore::RenderBox::containingBlockWidthForPositioned):
1561         (WebCore::RenderBox::containingBlockHeightForPositioned):
1562         (WebCore::RenderBox::calcAbsoluteHorizontal):
1563         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
1564         (WebCore::RenderBox::calcAbsoluteVertical):
1565         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1566         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
1567         * rendering/RenderBox.h:
1568
1569 2006-06-04  Anders Carlsson  <acarlsson@apple.com>
1570
1571         Reviewed by Darin.
1572
1573         http://bugzilla.opendarwin.org/show_bug.cgi?id=9035
1574         document.evaluate and createNSResolver miss on namespaced elements
1575         
1576         * xpath/XPathExpression.cpp:
1577         (WebCore::XPathExpression::createExpression):
1578         Pass the resolver to the parser.
1579         
1580         * xpath/XPathResult.cpp:
1581         (WebCore::XPathResult::iterateNext):
1582         Fix off-by-one error.
1583         
1584         * xpath/impl/XPathExpressionNode.h:
1585         (WebCore::XPath::EvaluationContext::EvaluationContext):
1586         Get rid of the resolver in the evaluation context.
1587         
1588         * xpath/impl/XPathGrammar.y:
1589         Fetch the resolver from the parser. Only return the local name.
1590         
1591         * xpath/impl/XPathParser.cpp:        
1592         (WebCore::XPath::Parser::parseStatement):
1593         * xpath/impl/XPathParser.h:
1594         (WebCore::XPath::Parser::resolver):
1595         Update to hold the resolver.
1596         
1597         * xpath/impl/XPathStep.cpp:
1598         (WebCore::XPath::Step::Step):
1599         If the parser has stored a namespace URI, set it.
1600         
1601         (WebCore::XPath::Step::nodeTestMatches):
1602         Check namespace URIs.
1603         
1604         * xpath/impl/XPathStep.h:
1605         Add m_namespaceURI.
1606
1607 2006-06-03  Rob Buis  <buis@kde.org>
1608
1609         Reviewed by mjs.  Tweaked and landed by ddkilzer.
1610
1611         http://bugzilla.opendarwin.org/show_bug.cgi?id=7281
1612         With java disabled wrong information is displayed.
1613
1614         Test: fast/replaced/applet-rendering-java-disabled.html
1615
1616         Match WinIE, render applet content inline when java is
1617         disabled. 
1618
1619         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RenderEmptyApplet.cpp and RenderEmptyApplet.h.
1620         * WebCore.xcodeproj/project.pbxproj: Ditto.
1621         * WebCoreSources.bkl: Ditto.
1622         * html/HTMLAppletElement.cpp:
1623         (WebCore::HTMLAppletElement::createRenderer):
1624         * rendering/RenderEmptyApplet.cpp: Removed.
1625         * rendering/RenderEmptyApplet.h: Removed.
1626
1627 2006-06-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1628
1629         Reviewed by Hyatt.
1630
1631         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9252
1632           REGRESSION: Very odd roll-over issues (content disappearing)
1633
1634         Test: fast/dom/HTMLLinkElement/pending-stylesheet-count.html
1635
1636         * html/HTMLLinkElement.cpp:
1637         (WebCore::HTMLLinkElement::~HTMLLinkElement): If the stylesheet was being
1638         loaded, call stylesheetLoaded() on the document, to keep the pending stylesheet
1639         count correct.
1640
1641 2006-06-03  Darin Adler  <darin@apple.com>
1642
1643         - fix Windows build
1644
1645         * platform/Widget.h: Moved scaleFactor function out of Apple-specific
1646         section of the header into the common part.
1647
1648 2006-06-03  Beth Dakin  <bdakin@apple.com>
1649
1650         Reviewed by Darin.
1651
1652         Fix for <rdar://problem/4537274> HiDPI: <canvas> needs to apply a 
1653         scale. <canvas> needs to scale itself along with whatever scale 
1654         factor is set on the window.
1655
1656         * html/HTMLCanvasElement.cpp:
1657         (WebCore::HTMLCanvasElement::createDrawingContext): Get the scale 
1658         factor and use it to create a larger buffer and to scale the 
1659         CGContext.
1660         * platform/Widget.h: Provide a new function that returns the user 
1661         space scale factor.
1662         * platform/mac/WidgetMac.mm:
1663         (WebCore::Widget::scaleFactor): Get the scale factor from the 
1664         window and return it.
1665         * platform/win/WidgetWin.cpp:
1666         (WebCore::Widget::scaleFactor): Just return 1.0f for now.
1667
1668 2006-06-03  Steve Falkenburg  <sfalken@apple.com>
1669
1670         Reviewed by hyatt.
1671
1672         Don't send empty referrers.  Fixes image load fail on Spinneret default content.
1673
1674         * platform/win/TransferJobWin.cpp:
1675         (WebCore::TransferJob::start):
1676
1677 2006-06-02  Adele Peterson  <adele@apple.com>
1678
1679         Reviewed by Darin. 
1680
1681         Windows theme for textareas.  Also made some formatting changes. 
1682
1683         * rendering/RenderThemeWin.cpp:
1684         (WebCore::RenderThemeWin::supportsFocus):
1685         (WebCore::RenderThemeWin::getThemeData):
1686         (WebCore::RenderThemeWin::adjustButtonStyle):
1687         (WebCore::RenderThemeWin::adjustTextFieldStyle):
1688         (WebCore::RenderThemeWin::adjustTextAreaStyle):
1689         (WebCore::RenderThemeWin::paintTextArea):
1690         * rendering/RenderThemeWin.h:
1691         (WebCore::RenderThemeWin::supportsHover):
1692
1693 2006-06-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
1694
1695         Reviewed by Hyatt, checked in by Tim H.
1696
1697         Explicitly run perl on *.pl files instead of relying
1698         on Windows shell figuring out which program to run for
1699         this extention.
1700
1701         * DerivedSources.make:
1702
1703 2006-06-02  David Carson  <dacarson@gmail.com>
1704
1705         Reviewed by Hyatt, checked in by Tim H.
1706
1707         fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9115
1708         Changed RenderLayer to only render layers that are not
1709         totally transparent.
1710
1711         * rendering/RenderLayer.cpp
1712         (RenderLayer::paintLayer):
1713         Changed function to also check if the layer is totally transparent
1714         and if it is, don't bother painting it.
1715
1716 2006-06-02  Rob Buis  <buis@kde.org>
1717
1718         Reviewed by Hyatt, checked in by Tim H.
1719
1720         http://bugzilla.opendarwin.org/show_bug.cgi?id=8223
1721         WebKit fails to update style on element via DOM
1722
1723         Handle !important by detecting it and using a different code
1724         path from normal priority.
1725
1726         * bindings/js/kjs_css.cpp:
1727         (KJS::DOMCSSStyleDeclaration::put):
1728         * css/CSSStyleDeclaration.cpp:
1729         (WebCore::CSSStyleDeclaration::setProperty):
1730         * css/CSSStyleDeclaration.h:
1731
1732 2006-06-02  Darin Adler  <darin@apple.com>
1733         
1734         Reviewed by Geoff, checked in by Maciej.
1735         
1736         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9236
1737         REGRESSION: focus method does not work on some elements before they are laid out
1738         
1739         * dom/Element.cpp: (WebCore::Element::focus): Do the updateLayout call before
1740         calling isFocusable, since isFocusable looks at the size of the renderer.
1741         
1742 2006-06-02  Steve Falkenburg  <sfalken@apple.com>
1743
1744         Reviewed by darin.
1745
1746         Platform hookup fixes
1747
1748         * bridge/win/FrameWin.cpp:
1749         (WebCore::FrameWin::urlSelected):
1750         (WebCore::FrameWin::setTitle):
1751         (WebCore::FrameWin::setStatusBarText):
1752         * bridge/win/FrameWin.h:
1753         * platform/win/TemporaryLinkStubs.cpp:
1754         (FrameWin::overrideMediaType):
1755         * platform/win/TransferJobWin.cpp:
1756         (WebCore::TransferJobWndProc):
1757         (WebCore::TransferJob::start):
1758         (WebCore::TransferJob::fileLoadTimer):
1759         (WebCore::TransferJob::cancel):
1760
1761 2006-06-02  RĂ©mi Zara  <remi_zara@mac.com>
1762
1763         Reviewed by Hyatt.
1764
1765         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3379
1766           attr(X) does not work
1767
1768         Test: fast/css-generated-content/016.html
1769
1770         * css/cssstyleselector.cpp:
1771         (WebCore::CSSStyleSelector::canShareStyleWithElement): Don't share style
1772         if the unique bit is set.
1773         (WebCore::CSSStyleSelector::applyProperty): When applying the "attr" property,
1774         set the unique bit and add to m_selectorAttrs.
1775
1776         * rendering/render_style.cpp: Did a lot of reformatting, and this one real change.
1777         (WebCore::RenderStyle::RenderStyle): Initialize m_unique to false.
1778
1779         * rendering/render_style.h:
1780         (WebCore::RenderStyle::unique): Added. Returns value of m_unique.
1781         (WebCore::RenderStyle::setUnique): Added. Sets m_unique.
1782
1783 2006-06-02  David Kilzer  <ddkilzer@kilzer.net>
1784
1785         Reviewed by mjs.
1786
1787         http://bugzilla.opendarwin.org/show_bug.cgi?id=9183
1788         Finish renaming of RenderCanvas to RenderView
1789
1790         * rendering/RenderView.h: Changed renderName from "RenderCanvas" to "RenderView".
1791
1792 2006-06-01  Darin Adler  <darin@apple.com>
1793
1794         - try to fix Windows build
1795
1796         * bridge/win/FrameWin.cpp: Added include of Decoder.h.
1797
1798 2006-06-01  Darin Adler  <darin@apple.com>
1799
1800         Reviewed by Maciej.
1801
1802         - WebCore doesn't need to load WebKit images any more; removed code for that
1803
1804         * WebCore.exp: Removed WebCoreImageRendererFactory.
1805         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRendererFactory.h/mm.
1806         * bridge/mac/WebCoreFrameBridge.mm: Removed include of WebCoreImageRendererFactory.h.
1807         * platform/mac/ImageMac.mm: Removed include of WebCoreImageRendererFactory.h.
1808         * platform/mac/WebCoreImageRendererFactory.h: Removed.
1809         * platform/mac/WebCoreImageRendererFactory.m: Removed.
1810
1811 2006-06-01  Sam Weinig  <sam.weinig@gmail.com>
1812
1813         Reviewed by Geoff, tweaked a bit by Darin.
1814
1815         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9064
1816           Split dom2_traversalimpl.* into separate files (one class per file).
1817
1818         * WebCore.xcodeproj/project.pbxproj: Updated for new files.
1819         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
1820
1821         * bindings/js/kjs_traversal.h:
1822         * bindings/scripts/CodeGeneratorJS.pm:
1823         * bindings/objc/DOM.mm:
1824         * dom/Document.cpp:
1825         * dom/Document.h:
1826         Updated includes.
1827
1828         * dom/NodeFilter.cpp: Added.
1829         * dom/NodeFilter.h: Added.
1830         * dom/NodeFilterCondition.cpp: Added.
1831         * dom/NodeFilterCondition.h: Added.
1832         * dom/NodeIterator.cpp: Added.
1833         * dom/NodeIterator.h: Added.
1834         * dom/Traversal.cpp: Added.
1835         * dom/Traversal.h: Added.
1836         * dom/TreeWalker.cpp: Added.
1837         * dom/TreeWalker.h: Added.
1838
1839         * dom/dom2_traversalimpl.cpp: Removed.
1840         * dom/dom2_traversalimpl.h: Removed.
1841
1842 2006-06-01  David Carson  <dacarson@gmail.com>
1843
1844         Reviewed by Maciej and Adele
1845
1846         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8398
1847         REGRESSION: LABEL in OPTION element is clobbering display #TEXT
1848         Patch provided by Darin.
1849         
1850         * rendering/RenderSelect.cpp
1851         (RenderSelect::updateFromElement): 
1852         Changed to use the containing text by default, and not the label text
1853
1854 2006-06-01  David Carson  <dacarson@gmail.com>
1855
1856         Reviewed by Hyatt.
1857
1858         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8646
1859         Correcting the value returned for window.screen.pixelDepth and
1860         window.screen.colorDepth
1861         
1862         * platform/mac/ScreenMac.mm
1863         (screenDepth): 
1864         Changed to return the BitsPerPixelFromDepth rather than the WindowDepth
1865
1866 2006-06-01  Adele Peterson  <adele@apple.com>
1867
1868         Reviewed by Maciej.
1869
1870         Missed an initialization in my last checkin which caused too many
1871         resizers to be drawn.
1872
1873         * rendering/render_style.cpp: (WebCore::resize):
1874         Initialize resize to RESIZE_NONE.
1875
1876 2006-06-01  Dave Hyatt <hyatt@apple.com>
1877
1878         Implement form POST using WinINet.  This code is crazy... CRAZY!
1879
1880         * platform/TransferJobInternal.h:
1881         (WebCore::TransferJobInternal::TransferJobInternal):
1882         * platform/win/CookieJarWin.cpp:
1883         (WebCore::setCookies):
1884         (WebCore::cookies):
1885         * platform/win/TransferJobWin.cpp:
1886         (WebCore::TransferJobWndProc):
1887         (WebCore::TransferJob::start):
1888
1889 2006-06-01  Adele Peterson  <adele@apple.com>
1890
1891         Reviewed by Hyatt.
1892
1893         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9216
1894         Implement CSS3 resize property
1895
1896         * css/html4.css: Sets resize:both for textareas. This won't affect old-style textareas.
1897
1898         * css/CSSPropertyNames.in: Added resize property.
1899         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Added case for CSS_PROP_RESIZE.
1900         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
1901         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): ditto.
1902
1903         * rendering/render_style.cpp: (WebCore::StyleCSS3InheritedData): Initialize resize.
1904         * rendering/render_style.h:
1905         (WebCore::): Added EResize enum.
1906         (WebCore::RenderStyle::resize):
1907         (WebCore::RenderStyle::setResize):
1908         (WebCore::RenderStyle::initialResize):
1909
1910         * page/FrameView.cpp:
1911         (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_resizeLayer to keep track of a layer that has begun resizing.
1912         (WebCore::FrameViewPrivate::reset): Reset m_resizeLayer.
1913         (WebCore::FrameView::handleMousePressEvent): If the mouse was pressed in a layer's resize control, then put the layer into resize mode.
1914         (WebCore::selectCursor): Updated so we get a pointer cursor for the resize control.
1915         (WebCore::FrameView::handleMouseMoveEvent): If there's a layer currently resizing, then tell the layer to continue resizing.
1916         (WebCore::FrameView::handleMouseReleaseEvent): If there's a layer currently resizing, then pull it out of resize mode.
1917
1918         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isPointInScrollbar): Updated so the resize control isn't considered part of the scrollbar.
1919         * rendering/RenderLayer.cpp:
1920         (WebCore::RenderLayer::RenderLayer): Initialize m_inResizeMode
1921         (WebCore::RenderLayer::updateLayerPositions): Calls positionResizeControl.
1922         (WebCore::RenderLayer::resize): Added. Sets a new width and height based on the current mouse point.
1923         (WebCore::RenderLayer::isPointInResizeControl): Added.
1924         (WebCore::RenderLayer::positionResizeControl): Added.
1925         (WebCore::RenderLayer::positionScrollbars): Calls positionResizeControl.
1926         (WebCore::RenderLayer::paintScrollbars): Calls positionResizeControl.
1927         (WebCore::RenderLayer::paintResizeControl): Added.
1928         (WebCore::RenderLayer::paintLayer): Calls paintResizeControl.
1929         * rendering/RenderLayer.h: Added m_inResizeMode.
1930         (WebCore::RenderLayer::resizeControlRect):
1931         (WebCore::RenderLayer::setResizeControlRect):
1932         (WebCore::RenderLayer::inResizeMode): Added.
1933         (WebCore::RenderLayer::setInResizeMode): Added. 
1934
1935         * platform/mac/ImageMac.mm: (WebCore::Image::loadResource): Moved code from WebImageRendererFactory.  Now loads images from WebCore's resources.
1936         WebImageRendererFactory is no longer used and should be removed.
1937         * Resources/missingImage.tiff: Added. Copied from WebKit.
1938         * WebCore.xcodeproj/project.pbxproj: Added missingImage.tiff
1939         * loader/Cache.cpp: (WebCore::Cache::init): Updated name from missing_image to missingImage.
1940
1941         * rendering/RenderTheme.h:
1942         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paintResizeControl): Added.
1943         * rendering/RenderThemeMac.h:
1944         * rendering/RenderThemeMac.mm:
1945         (WebCore::RenderThemeMac::RenderThemeMac): Initialize resizeCornerImage.
1946         (WebCore::RenderThemeMac::paintResizeControl): Paints resizeCornerImage.
1947
1948 2006-06-01  Brady Eidson  <beidson@apple.com>
1949
1950         Reviewed by Maciej.
1951
1952         Added the beginnings of sqlite-based code in a WebCore
1953         based version of the Icon Database.  Right now the code
1954         is very loosely hooked up through a Bridge and only
1955         creates an sqlite3 database.
1956
1957         There are also changes to our String classes to allow appending
1958         a single character to a String without creating a temporary object.
1959
1960         * WebCore.exp:
1961         -Added a symbol export
1962
1963         * WebCore.xcodeproj/project.pbxproj:
1964         * bridge/mac/WebCoreIconDatabaseBridge.h: Added.
1965         * bridge/mac/WebCoreIconDatabaseBridge.mm: Added.
1966         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
1967         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
1968         (-[WebCoreIconDatabaseBridge isOpen]):
1969         -This class will eventually shadow WebIconDatabase but for now
1970         is a minimal interface to make the sql code live
1971
1972         * icon: Added.
1973         * icon/IconDatabase.cpp: Added.
1974         -This class will eventually resemble WebIconDatabase but for now
1975         is minimal just to make the sql code live
1976         (WebCore::IconDatabase::sharedIconDatabase):
1977         (WebCore::IconDatabase::IconDatabase):
1978         (WebCore::IconDatabase::open):
1979         -This method calls a mkdir to make sure the target directory
1980         exists
1981         (WebCore::IconDatabase::close):
1982         (WebCore::IconDatabase::~IconDatabase):
1983
1984         * icon/IconDatabase.h: Added.
1985         (WebCore::IconDatabase::isOpen):
1986         * platform/Logging.cpp:
1987         * platform/Logging.h:
1988         -Added an IconDatabase logging channel
1989
1990         * platform/PlatformString.h:
1991         * platform/String.cpp:
1992         (WebCore::String::append):
1993         * platform/StringImpl.cpp:
1994         (WebCore::StringImpl::append):
1995         * platform/StringImpl.h:
1996         -Added append(char) and append(UChar) to allow appending a
1997         single character without creating a temporary object.  Required
1998         to facilitate manually adding a null character to a unicode 16
1999         string
2000
2001 2006-06-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2002
2003         Reviewed and landed by Anders.
2004
2005         - fixed all places in the Canvas to RenderView rename patch where
2006           view() should have been changed to frameView().
2007
2008         * kwq/WebCoreAXObject.mm:
2009         (-[WebCoreAXObject position]):
2010         (-[WebCoreAXObject accessibilityAttributeValue:]):
2011         * rendering/RenderBlock.cpp:
2012         (WebCore::RenderBlock::layoutBlock):
2013         * rendering/RenderBox.cpp:
2014         (WebCore::RenderBox::paintBackgroundExtended):
2015         * rendering/RenderTreeAsText.cpp:
2016         (externalRepresentation):
2017
2018 2006-06-01  Geoffrey Garen  <ggaren@apple.com>
2019
2020         Fix by Mitz. Reviewed, tweaked, tested, landed by me.
2021
2022         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9113
2023         REGRESSION (14581): XMLHttpRequest never calls onreadystatechange with 
2024         a readystate == 4
2025         
2026         An XMLHttpRequest must be added to the DOMObject cache so that its
2027         DOM implementation object can protect it, and by extension, its event
2028         listeners.
2029         
2030         This design seems slightly backwards to me -- the bindings should know
2031         about the DOM, not the other way around -- but I'm restoring it for
2032         now to fix the regression.
2033         
2034         * bindings/js/JSXMLHttpRequest.cpp:
2035         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
2036         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
2037
2038 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2039
2040         * platform/KURL.cpp:
2041         (equalIgnoringRef):
2042         Whoops. Fix build.
2043         
2044 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2045
2046         Reviewed by Darin.
2047
2048         http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
2049         multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
2050         
2051         * bindings/js/kjs_window.cpp:
2052         (KJS::Location::put):
2053         Handle the case where the hash starts with a "#". Also, don't do anything if the previous and new hashes
2054         are equal.
2055         
2056         * bridge/BrowserExtension.h:
2057         * bridge/mac/BrowserExtensionMac.h:
2058         * bridge/mac/BrowserExtensionMac.mm:        
2059         (WebCore::BrowserExtensionMac::historyURL):
2060         * bridge/mac/WebCoreFrameBridge.h:
2061         * bridge/mac/WebCoreFrameBridge.mm:
2062         New function historyURL which returns the complete URL for a given item in the history.
2063         
2064         * page/Frame.cpp:
2065         (WebCore::Frame::scheduleLocationChange):        
2066         (WebCore::Frame::scheduleHistoryNavigation):
2067         If the URL of the new location only differs in the hash, don't schedule the load. Instead, load it
2068         directly.
2069         
2070         * platform/KURL.cpp:
2071         * platform/KURL.h:
2072         Add equalsIgnoringRef which returns whether two URLs are equal, ignoring the ref.
2073
2074 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2075
2076         Reviewed by Maciej.
2077
2078         http://bugzilla.opendarwin.org/show_bug.cgi?id=9212
2079         dispatchEvent13.html crashes under GuardMalloc
2080
2081         * dom/EventTargetNode.cpp:
2082         (WebCore::EventTargetNode::addEventListener):
2083         (WebCore::EventTargetNode::removeEventListener):        
2084         (WebCore::EventTargetNode::handleLocalEvents):
2085         
2086         (WebCore::EventTargetNode::removeHTMLEventListener):
2087         (WebCore::EventTargetNode::getHTMLEventListener):
2088         * dom/EventTargetNode.h:
2089         Make the list of registered event listeners refcount the listeners
2090         by using a value list of RefPtr objects.
2091         
2092         Set removed flag to true in removeEventListener
2093         Only invoke event listeners if they don't have the removed flag.
2094         
2095         * dom/dom2_eventsimpl.cpp:
2096         (WebCore::RegisteredEventListener::RegisteredEventListener):
2097         * dom/dom2_eventsimpl.h:
2098         Make RegisteredEventListener refcounted.
2099         
2100         (WebCore::RegisteredEventListener::removed):
2101         (WebCore::RegisteredEventListener::setRemoved):
2102         Add removed flag and getter and setter
2103
2104 2006-06-01  Justin Garcia  <justin.garcia@apple.com>
2105
2106         Reviewed by harrison
2107         
2108         <rdar://problem/4567752> When forwarding a message, pressing TAB key to place caret in body actually selects the entire message instead
2109
2110         * dom/Element.cpp:
2111         (WebCore::Element::focus):
2112
2113 2006-06-01  David Kilzer  <ddkilzer@kilzer.net>
2114
2115         Reviewed by darin.
2116
2117         http://bugzilla.opendarwin.org/show_bug.cgi?id=9144
2118         Test for Bug 8079 (REGRESSION: Redraw from page cache does not show visited links)
2119
2120         * manual-tests/redraw-page-cache-visited-links.html: Added.
2121         * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added.
2122
2123 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2124
2125         Reviewed by Hyatt.
2126
2127         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9124
2128           Drop shadow obscures "add more stuff" bubble at live.com
2129
2130         Test: fast/css/find-next-layer.html
2131
2132         * rendering/RenderObject.cpp:
2133         (WebCore::RenderObject::findNextLayer): Fixed a bug where this function could reach
2134         two levels down in the layer tree and return 0.
2135
2136 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2137
2138         Reviewed by Geoff.
2139
2140         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9109
2141           Remove bogus assertion in RenderBlock::tabWidth
2142
2143         Changed the uninitialized value of m_tabWidth to -1 and removed the
2144         assertion that it cannot be 0.
2145
2146         * rendering/RenderBlock.cpp:
2147         (WebCore:::RenderBlock::RenderBlock):
2148         (WebCore::RenderBlock::setStyle):
2149         * rendering/bidi.cpp:
2150         (WebCore::RenderBlock::tabWidth):
2151
2152 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
2153
2154         Reviewed by Hyatt.
2155
2156         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9100
2157           Absolutely positioned replaced elements with all non-auto
2158           values are rendered incorrectly
2159
2160         * rendering/RenderBox.cpp:
2161         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Add support for case when all values are specified.
2162         (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto
2163
2164 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2165
2166         Reviewed by Hyatt.
2167
2168         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9012
2169           Row height not updated when cell heights change
2170
2171         Test: fast/table/row-height-recalc.html
2172
2173         * rendering/RenderTableCell.cpp:
2174         (WebCore::RenderTableCell::setStyle): Mark the section as needing recalculation
2175         if the height property changed.
2176         * rendering/RenderTableRow.cpp:
2177         (WebCore::RenderTableRow::setStyle): Ditto.
2178         * rendering/RenderTableSection.cpp:
2179         (WebCore::RenderTableSection::recalcCells): Initialize the grid row height
2180         to the height of the row element (like addChild() does).
2181
2182 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2183
2184         Reviewed by Hyatt.
2185
2186         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8969
2187           REGRESSION: typing in textfield repaints whole web page at gamefaqs.com
2188
2189         No test possible (no functionality change)
2190
2191         * dom/Document.cpp:
2192         (WebCore::Document::updateLayout): Changed to ensure that pending subtree
2193         layouts are performed too.
2194         * page/Frame.cpp:
2195         (WebCore::Frame::forceLayout): Force a full layout.
2196         * page/FrameView.cpp:
2197         (WebCore::FrameViewPrivate::reset):
2198         (WebCore::FrameView::layout): Changed to relayout only the subtree rooted
2199         at d->layoutRoot if it's non-zero and allowSubtree is true.
2200         (WebCore::FrameView::scheduleRelayout): Change pending subtree relayout into
2201         normal relayout by clearing d->layoutRoot and propagating needsLayout to the
2202         root. 
2203         (WebCore::FrameView::scheduleRelayoutOfSubtree): Added.
2204         * page/FrameView.h:
2205         * rendering/RenderObject.cpp:
2206         (WebCore::RenderObject::markContainingBlocksForLayout): Added scheduleRelayout
2207         parameter. FrameView passes false to force marking all the way to the root
2208         when turning a pending subtree relayout into a full relayout. Otherwise,
2209         marking stops at the first textField (or at the root) and
2210         relayout of the last object reached is scheduled.
2211         (WebCore::RenderObject::scheduleRelayout):
2212         * rendering/RenderObject.h:
2213
2214 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
2215
2216         Reviewed by Darin.
2217
2218         patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8910>
2219         Bug 8910: Various code cleanups in RenderBox
2220         
2221         Clean up with some slight optimizations.
2222
2223         * rendering/RenderBox.cpp:
2224         (WebCore::RenderBox::contentWidth):
2225         (WebCore::RenderBox::contentHeight):
2226         (WebCore::RenderBox::setPos):
2227         (WebCore::RenderBox::calcWidth):
2228         (WebCore::RenderBox::calcWidthUsing):
2229         * rendering/RenderBox.h:
2230
2231 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
2232
2233         Reviewed by Hyatt.
2234
2235         patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8899>
2236         Bug 8899: Removes some unneeded code from RenderBox
2237         
2238         Removes the use of WidthType where not needed to simplify
2239         the code a little.
2240         
2241         * rendering/RenderBox.cpp:
2242         (WebCore::RenderBox::calcWidthUsing):
2243         (WebCore::RenderBox::sizesToIntrinsicWidth):
2244         (WebCore::RenderBox::calcReplacedWidth):
2245         (WebCore::RenderBox::calcReplacedWidthUsing):
2246         (WebCore::RenderBox::calcReplacedHeight):
2247         (WebCore::RenderBox::calcReplacedHeightUsing):
2248         * rendering/RenderBox.h:
2249         (WebCore::):
2250         (WebCore::RenderBox::renderName):
2251         * rendering/RenderImage.cpp:
2252         (WebCore::RenderImage::calcReplacedWidth):
2253         (WebCore::RenderImage::calcReplacedHeight):
2254
2255 2006-05-31  Rob Buis  <buis@kde.org>
2256
2257         Reviewed by Geoff.
2258
2259         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8455
2260         selectedIndex for a select after a Form reset() has wrong value
2261
2262         Make sure the list items are reset properly by selecting
2263         the first option in case no options have the selected attribute
2264         set.
2265
2266         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::reset):
2267
2268 2006-05-31  Rob Buis  <buis@kde.org>
2269
2270         Reviewed by Geoff.
2271
2272         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8024
2273         "Go" button (search) doesn't work at fifa.com (document.all.FormName)
2274
2275         Allow input elements with name attributes as possible named
2276         items for document.all.
2277
2278         * html/HTMLCollection.cpp:
2279         (WebCore::HTMLCollection::checkForNameMatch):
2280         (WebCore::HTMLCollection::updateNameCache):
2281
2282 2006-05-31  Dave Hyatt <hyatt@apple.com>
2283
2284         Adding stubs for BMP/ICO/XBM image decoders.  They don't
2285         do anything yet though.
2286
2287         * WebCore.vcproj/WebCore/WebCore.vcproj:
2288         * platform/cairo/ImageSourceCairo.cpp:
2289         (WebCore::createDecoder):
2290         * platform/image-decoders/bmp: Added.
2291         * platform/image-decoders/bmp/BMPImageDecoder.cpp: Added.
2292         (WebCore::BMPImageDecoder::isSizeAvailable):
2293         (WebCore::BMPImageDecoder::frameBufferAtIndex):
2294         * platform/image-decoders/bmp/BMPImageDecoder.h: Added.
2295         * platform/image-decoders/ico: Added.
2296         * platform/image-decoders/ico/ICOImageDecoder.cpp: Added.
2297         (WebCore::ICOImageDecoder::isSizeAvailable):
2298         (WebCore::ICOImageDecoder::frameBufferAtIndex):
2299         * platform/image-decoders/ico/ICOImageDecoder.h: Added.
2300         * platform/image-decoders/xbm: Added.
2301         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Added.
2302         (WebCore::XBMImageDecoder::isSizeAvailable):
2303         (WebCore::XBMImageDecoder::frameBufferAtIndex):
2304         * platform/image-decoders/xbm/XBMImageDecoder.h: Added.
2305
2306 2006-05-31  David Hyatt  <hyatt@apple.com>
2307
2308         Fix for the gmail tab-focus-stealing bug.
2309
2310         Reviewed by darin
2311
2312         * bindings/js/kjs_window.cpp:
2313         (KJS::WindowFunc::callAsFunction):
2314         * bridge/mac/BrowserExtensionMac.mm:
2315         (WebCore::BrowserExtensionMac::createNewWindow):
2316         * bridge/mac/FrameMac.h:
2317         * bridge/mac/FrameMac.mm:
2318         (WebCore::FrameMac::focusWindow):
2319         (WebCore::FrameMac::unfocusWindow):
2320         * bridge/mac/WebCoreFrameBridge.h:
2321         * page/Frame.h:
2322         * platform/Widget.h:
2323         * platform/mac/WidgetMac.mm:
2324         * platform/win/TemporaryLinkStubs.cpp:
2325         (FrameWin::focusWindow):
2326         * platform/win/WidgetWin.cpp:
2327
2328 2006-05-31  Beth Dakin  <bdakin@apple.com>
2329
2330         Reviewed by Hyatt.
2331
2332         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6755 CSS3: 
2333         Borders rounded with border-radius don't draw the roundings
2334
2335         This patch does not draw all of the different border styles 
2336         perfectly, so I have filed a few followup bugs that I will 
2337         reference from this Bugzilla.
2338
2339         * platform/GraphicsContext.h:
2340         * platform/cairo/GraphicsContextCairo.cpp:
2341         (WebCore::GraphicsContext::drawArc): drawArc() has different 
2342         parameters now, but mostly this needs to be implemented to match 
2343         the Mac side later.
2344         (WebCore::GraphicsContext::addRoundedRectClip): Just a stub. 
2345         Implement this later.
2346         (WebCore::GraphicsContext::addInnerRoundedRectClip): Just a stub. 
2347         Implement this later.
2348         * platform/cg/GraphicsContextCG.cpp:
2349         (WebCore::GraphicsContext::drawArc): drawArc() now handles drawing 
2350         elliptical arcs as well as circular arcs, it also takes a thickness 
2351         parameter to draw an arc of a given thickness and draws with the 
2352         appropriate pen style.
2353         (WebCore::GraphicsContext::addInnerRoundedRectClip): Adds a clip to 
2354         the inside of an arc instead of to the outside which is already 
2355         done by addRoundedClipRect()
2356         * rendering/RenderObject.cpp:
2357         (WebCore::RenderObject::drawBorderArc): Draws the border arcs in 
2358         the appropriate styles.
2359         (WebCore::RenderObject::paintBorder): Calls drawBorderArc() when 
2360         border arcs are needed.
2361         * rendering/RenderObject.h:
2362
2363 2006-05-30  Eric Seidel  <eric@eseidel.com>
2364
2365         Reviewed by andersca.
2366
2367         Add first-cut SVG JS bindings autogeneration.
2368         SVGSVGElement and various other support classes are generated.
2369         Various small style fixes.
2370         http://bugzilla.opendarwin.org/show_bug.cgi?id=4249
2371
2372         * DerivedSources.make:
2373         * WebCore+SVG/RGBColor.cpp: Removed.
2374         * WebCore+SVG/RGBColor.h: Removed.
2375         * WebCore.xcodeproj/project.pbxproj:
2376         * bindings/js/JSHTMLElementWrapperFactory.cpp:
2377         (WebCore::createJSHTMLWrapper): renamed from createJSWrapper
2378         * bindings/js/JSHTMLElementWrapperFactory.h:
2379         * bindings/js/kjs_dom.cpp:
2380         (KJS::DOMNode::DOMNode):
2381         (KJS::DOMNode::toBoolean):
2382         (KJS::DOMNode::getOwnPropertySlot):
2383         (KJS::DOMNode::getValueProperty):
2384         (KJS::DOMNode::put):
2385         (KJS::DOMNode::putValueProperty):
2386         (KJS::DOMNode::toPrimitive):
2387         (KJS::DOMNode::toString):
2388         (KJS::DOMNodeProtoFunc::callAsFunction):
2389         (KJS::toEventTargetNode):
2390         (KJS::DOMEventTargetNode::getOwnPropertySlot):
2391         (KJS::DOMEventTargetNode::getValueProperty):
2392         (KJS::DOMEventTargetNode::put):
2393         (KJS::DOMEventTargetNode::putValueProperty):
2394         (KJS::DOMEventTargetNode::setListener):
2395         (KJS::DOMEventTargetNode::getListener):
2396         (KJS::DOMEventTargetNode::pushEventHandlerScope):
2397         (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
2398         (KJS::DOMNodeList::toPrimitive):
2399         (KJS::DOMNodeList::getValueProperty):
2400         (KJS::DOMNodeList::indexGetter):
2401         (KJS::DOMNodeList::nameGetter):
2402         (KJS::DOMNodeList::getOwnPropertySlot):
2403         (KJS::DOMNodeList::callAsFunction):
2404         (KJS::DOMNodeListFunc::callAsFunction):
2405         (KJS::toElement):
2406         (KJS::toDocumentType):
2407         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
2408         (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
2409         (KJS::DOMNamedNodeMap::lengthGetter):
2410         (KJS::DOMNamedNodeMap::indexGetter):
2411         (KJS::DOMNamedNodeMap::nameGetter):
2412         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
2413         (KJS::toJS):
2414         (KJS::checkNodeSecurity):
2415         (KJS::getRuntimeObject):
2416         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
2417         (KJS::DOMExceptionConstructor::getValueProperty):
2418         (KJS::getDOMExceptionConstructor):
2419         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
2420         (KJS::DOMNamedNodesCollection::lengthGetter):
2421         (KJS::DOMNamedNodesCollection::indexGetter):
2422         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
2423         * bindings/scripts/CodeGenerator.pm:
2424         * bindings/scripts/CodeGeneratorJS.pm:
2425         * dom/Document.cpp:
2426         (WebCore::Document::implicitClose):
2427         * dom/Element.h:
2428         * dom/StyledElement.h:
2429         * ksvg2/bindings/idl/svg/SVGAngle.idl: Removed.
2430         * ksvg2/bindings/idl/svg/SVGAnimatedLength.idl: Removed.
2431         * ksvg2/bindings/idl/svg/SVGColor.idl: Removed.
2432         * ksvg2/bindings/idl/svg/SVGDocument.idl: Removed.
2433         * ksvg2/bindings/idl/svg/SVGElement.idl: Removed.
2434         * ksvg2/bindings/idl/svg/SVGLength.idl: Removed.
2435         * ksvg2/bindings/idl/svg/SVGMatrix.idl: Removed.
2436         * ksvg2/bindings/idl/svg/SVGNumber.idl: Removed.
2437         * ksvg2/bindings/idl/svg/SVGPoint.idl: Removed.
2438         * ksvg2/bindings/idl/svg/SVGRect.idl: Removed.
2439         * ksvg2/bindings/idl/svg/SVGSVGElement.idl: Removed.
2440         * ksvg2/bindings/idl/svg/SVGTransform.idl: Removed.
2441         * ksvg2/bindings/idl/svg/kdomdefs.idl: Removed.
2442         * ksvg2/bindings/js: Added.
2443         * ksvg2/bindings/js/JSSVGNumber.cpp: Added.
2444         (WebCore::):
2445         (WebCore::JSSVGNumber::~JSSVGNumber):
2446         (WebCore::JSSVGNumber::getOwnPropertySlot):
2447         (WebCore::JSSVGNumber::getValue):
2448         (WebCore::getJSSVGNumber):
2449         * ksvg2/bindings/js/JSSVGNumber.h: Added.
2450         (WebCore::JSSVGNumber::JSSVGNumber):
2451         (WebCore::JSSVGNumber::classInfo):
2452         * ksvg2/bindings/js/JSSVGPoint.cpp: Added.
2453         (WebCore::):
2454         (WebCore::JSSVGPoint::~JSSVGPoint):
2455         (WebCore::JSSVGPoint::getOwnPropertySlot):
2456         (WebCore::JSSVGPoint::getValueProperty):
2457         (WebCore::getJSSVGPoint):
2458         (WebCore::toFloatPoint):
2459         * ksvg2/bindings/js/JSSVGPoint.h: Added.
2460         (WebCore::JSSVGPoint::JSSVGPoint):
2461         (WebCore::JSSVGPoint::classInfo):
2462         (WebCore::JSSVGPoint::):
2463         (WebCore::JSSVGPoint::impl):
2464         * ksvg2/bindings/js/JSSVGRect.cpp: Added.
2465         (WebCore::):
2466         (WebCore::JSSVGRect::~JSSVGRect):
2467         (WebCore::JSSVGRect::getOwnPropertySlot):
2468         (WebCore::JSSVGRect::getValueProperty):
2469         (WebCore::getJSSVGRect):
2470         (WebCore::toFloatRect):
2471         * ksvg2/bindings/js/JSSVGRect.h: Added.
2472         (WebCore::JSSVGRect::JSSVGRect):
2473         (WebCore::JSSVGRect::classInfo):
2474         (WebCore::JSSVGRect::):
2475         (WebCore::JSSVGRect::impl):
2476         * ksvg2/css/SVGCSSParser.cpp:
2477         (WebCore::CSSParser::parseSVGValue):
2478         * ksvg2/css/SVGCSSStyleSelector.cpp:
2479         (WebCore::CSSStyleSelector::applySVGProperty):
2480         * ksvg2/events/SVGZoomEvent.cpp:
2481         (SVGZoomEvent::SVGZoomEvent):
2482         (SVGZoomEvent::zoomRectScreen):
2483         (SVGZoomEvent::previousTranslate):
2484         (SVGZoomEvent::newTranslate):
2485         * ksvg2/events/SVGZoomEvent.h:
2486         * ksvg2/ksvg.h:
2487         (WebCore::):
2488         * ksvg2/misc/SVGDocumentExtensions.cpp:
2489         (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
2490         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
2491         (WebCore::SVGDocumentExtensions::addTimeContainer):
2492         (WebCore::SVGDocumentExtensions::removeTimeContainer):
2493         (WebCore::SVGDocumentExtensions::startAnimations):
2494         (WebCore::SVGDocumentExtensions::pauseAnimations):
2495         (WebCore::SVGDocumentExtensions::unpauseAnimations):
2496         * ksvg2/misc/SVGDocumentExtensions.h:
2497         * ksvg2/svg/SVGAElement.h:
2498         * ksvg2/svg/SVGAngle.h:
2499         (WebCore::SVGAngle::):
2500         * ksvg2/svg/SVGAngle.idl: Added.
2501         * ksvg2/svg/SVGAnimateColorElement.cpp:
2502         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
2503         (WebCore::SVGAnimateColorElement::handleTimerEvent):
2504         (WebCore::SVGAnimateColorElement::clampColor):
2505         * ksvg2/svg/SVGAnimateColorElement.h:
2506         * ksvg2/svg/SVGAnimateElement.cpp:
2507         (SVGAnimateElement::SVGAnimateElement):
2508         (SVGAnimateElement::handleTimerEvent):
2509         * ksvg2/svg/SVGAnimateElement.h:
2510         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2511         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
2512         (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
2513         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
2514         (WebCore::SVGAnimateTransformElement::parseTransformValue):
2515         (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
2516         (WebCore::SVGAnimateTransformElement::initialMatrix):
2517         * ksvg2/svg/SVGAnimateTransformElement.h:
2518         * ksvg2/svg/SVGAnimatedLength.idl: Added.
2519         * ksvg2/svg/SVGAnimationElement.cpp:
2520         (SVGAnimationElement::closeRenderer):
2521         * ksvg2/svg/SVGAnimationElement.h:
2522         * ksvg2/svg/SVGCircleElement.h:
2523         * ksvg2/svg/SVGClipPathElement.h:
2524         * ksvg2/svg/SVGColor.cpp:
2525         (WebCore::SVGColor::SVGColor):
2526         (WebCore::SVGColor::rgbColor):
2527         (WebCore::SVGColor::setRGBColor):
2528         (WebCore::SVGColor::setRGBColorICCColor):
2529         (WebCore::SVGColor::setColor):
2530         (WebCore::SVGColor::color):
2531         * ksvg2/svg/SVGColor.h:
2532         (WebCore::SVGColor::):
2533         (WebCore::SVGColor::setRGBColor):
2534         * ksvg2/svg/SVGColor.idl: Added.
2535         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
2536         * ksvg2/svg/SVGCursorElement.h:
2537         * ksvg2/svg/SVGDefsElement.h:
2538         * ksvg2/svg/SVGDescElement.h:
2539         * ksvg2/svg/SVGDocument.idl: Added.
2540         * ksvg2/svg/SVGElement.cpp:
2541         (WebCore::SVGElement::SVGElement):
2542         (WebCore::SVGElement::isSupported):
2543         (WebCore::SVGElement::id):
2544         (WebCore::SVGElement::setId):
2545         (WebCore::SVGElement::xmlbase):
2546         (WebCore::SVGElement::setXmlbase):
2547         (WebCore::SVGElement::ownerSVGElement):
2548         (WebCore::SVGElement::viewportElement):
2549         (WebCore::SVGElement::tryGetAttribute):
2550         (WebCore::SVGElement::tryGetAttributeNS):
2551         (WebCore::SVGElement::childShouldCreateRenderer):
2552         * ksvg2/svg/SVGElement.h:
2553         * ksvg2/svg/SVGElement.idl: Added.
2554         * ksvg2/svg/SVGEllipseElement.h:
2555         * ksvg2/svg/SVGEvent.idl: Added.
2556         * ksvg2/svg/SVGFEBlendElement.h:
2557         * ksvg2/svg/SVGFEColorMatrixElement.h:
2558         * ksvg2/svg/SVGFEComponentTransferElement.h:
2559         * ksvg2/svg/SVGFECompositeElement.h:
2560         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
2561         * ksvg2/svg/SVGFEDistantLightElement.h:
2562         * ksvg2/svg/SVGFEFloodElement.h:
2563         * ksvg2/svg/SVGFEFuncAElement.h:
2564         * ksvg2/svg/SVGFEFuncBElement.h:
2565         * ksvg2/svg/SVGFEFuncGElement.h:
2566         * ksvg2/svg/SVGFEFuncRElement.h:
2567         * ksvg2/svg/SVGFEGaussianBlurElement.h:
2568         * ksvg2/svg/SVGFEImageElement.h:
2569         * ksvg2/svg/SVGFELightElement.h:
2570         * ksvg2/svg/SVGFEMergeElement.h:
2571         * ksvg2/svg/SVGFEMergeNodeElement.h:
2572         * ksvg2/svg/SVGFEOffsetElement.h:
2573         * ksvg2/svg/SVGFEPointLightElement.h:
2574         * ksvg2/svg/SVGFESpecularLightingElement.h:
2575         * ksvg2/svg/SVGFESpotLightElement.h:
2576         * ksvg2/svg/SVGFETileElement.h:
2577         * ksvg2/svg/SVGFETurbulenceElement.h:
2578         * ksvg2/svg/SVGFilterElement.h:
2579         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2580         * ksvg2/svg/SVGForeignObjectElement.h:
2581         * ksvg2/svg/SVGGElement.h:
2582         * ksvg2/svg/SVGGradientElement.h:
2583         * ksvg2/svg/SVGHelper.cpp:
2584         (WebCore::SVGHelper::PercentageOfViewport):
2585         (WebCore::SVGHelper::ParseSeperatedList):
2586         * ksvg2/svg/SVGImageElement.h:
2587         * ksvg2/svg/SVGLength.h:
2588         (WebCore::SVGLength::):
2589         * ksvg2/svg/SVGLength.idl: Added.
2590         * ksvg2/svg/SVGLineElement.h:
2591         * ksvg2/svg/SVGLinearGradientElement.h:
2592         * ksvg2/svg/SVGLocatable.cpp:
2593         (SVGLocatable::getBBox):
2594         * ksvg2/svg/SVGLocatable.h:
2595         * ksvg2/svg/SVGMarkerElement.h:
2596         * ksvg2/svg/SVGMaskElement.h:
2597         * ksvg2/svg/SVGMatrix.cpp:
2598         (SVGMatrix::inverse):
2599         (SVGMatrix::rotateFromVector):
2600         * ksvg2/svg/SVGMatrix.h:
2601         * ksvg2/svg/SVGMatrix.idl: Added.
2602         * ksvg2/svg/SVGNumber.idl: Added.
2603         * ksvg2/svg/SVGPathElement.cpp:
2604         (WebCore::SVGPathElement::getPointAtLength):
2605         * ksvg2/svg/SVGPathElement.h:
2606         * ksvg2/svg/SVGPatternElement.cpp:
2607         (WebCore::SVGPatternElement::x):
2608         (WebCore::SVGPatternElement::y):
2609         (WebCore::SVGPatternElement::width):
2610         (WebCore::SVGPatternElement::height):
2611         (WebCore::SVGPatternElement::pushAttributeContext):
2612         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2613         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2614         (WebCore::SVGPatternElement::notifyClientsToRepaint):
2615         (WebCore::SVGPatternElement::notifyAttributeChange):
2616         (WebCore::SVGPatternElement::canvasResource):
2617         (WebCore::SVGPatternElement::getCTM):
2618         * ksvg2/svg/SVGPatternElement.h:
2619         * ksvg2/svg/SVGPoint.idl: Added.
2620         * ksvg2/svg/SVGPolyElement.h:
2621         * ksvg2/svg/SVGPolygonElement.h:
2622         * ksvg2/svg/SVGPolylineElement.h:
2623         * ksvg2/svg/SVGRadialGradientElement.h:
2624         * ksvg2/svg/SVGRect.idl: Added.
2625         * ksvg2/svg/SVGRectElement.h:
2626         * ksvg2/svg/SVGSVGElement.cpp:
2627         (WebCore::SVGSVGElement::SVGSVGElement):
2628         (WebCore::SVGSVGElement::~SVGSVGElement):
2629         (WebCore::SVGSVGElement::viewport):
2630         (WebCore::SVGSVGElement::currentTranslate):
2631         (WebCore::SVGSVGElement::unsuspendRedraw):
2632         (WebCore::SVGSVGElement::getIntersectionList):
2633         (WebCore::SVGSVGElement::getEnclosureList):
2634         (WebCore::SVGSVGElement::checkIntersection):
2635         (WebCore::SVGSVGElement::checkEnclosure):
2636         (WebCore::SVGSVGElement::createSVGNumber):
2637         (WebCore::SVGSVGElement::createSVGPoint):
2638         (WebCore::SVGSVGElement::createSVGRect):
2639         (WebCore::SVGSVGElement::pauseAnimations):
2640         (WebCore::SVGSVGElement::unpauseAnimations):
2641         (WebCore::SVGSVGElement::animationsPaused):
2642         (WebCore::SVGSVGElement::getCurrentTime):
2643         (WebCore::SVGSVGElement::setCurrentTime):
2644         * ksvg2/svg/SVGSVGElement.h:
2645         (WebCore::SVGSVGElement::timeScheduler):
2646         * ksvg2/svg/SVGSVGElement.idl: Added.
2647         * ksvg2/svg/SVGScriptElement.h:
2648         * ksvg2/svg/SVGSetElement.cpp:
2649         (WebCore::SVGSetElement::SVGSetElement):
2650         (WebCore::SVGSetElement::handleTimerEvent):
2651         * ksvg2/svg/SVGSetElement.h:
2652         * ksvg2/svg/SVGStopElement.h:
2653         * ksvg2/svg/SVGStyleElement.h:
2654         * ksvg2/svg/SVGStyledElement.h:
2655         * ksvg2/svg/SVGStyledLocatableElement.cpp:
2656         (SVGStyledLocatableElement::getBBox):
2657         * ksvg2/svg/SVGStyledLocatableElement.h:
2658         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2659         (SVGStyledTransformableElement::getBBox):
2660         * ksvg2/svg/SVGStyledTransformableElement.h:
2661         * ksvg2/svg/SVGSwitchElement.h:
2662         * ksvg2/svg/SVGSymbolElement.h:
2663         * ksvg2/svg/SVGTRefElement.h:
2664         * ksvg2/svg/SVGTSpanElement.h:
2665         * ksvg2/svg/SVGTextContentElement.cpp:
2666         (SVGTextContentElement::getStartPositionOfChar):
2667         (SVGTextContentElement::getEndPositionOfChar):
2668         (SVGTextContentElement::getExtentOfChar):
2669         (SVGTextContentElement::getCharNumAtPosition):
2670         (SVGTextContentElement::parseMappedAttribute):
2671         * ksvg2/svg/SVGTextContentElement.h:
2672         * ksvg2/svg/SVGTextElement.cpp:
2673         (WebCore::SVGTextElement::getBBox):
2674         * ksvg2/svg/SVGTextElement.h:
2675         * ksvg2/svg/SVGTextPositioningElement.h:
2676         * ksvg2/svg/SVGTitleElement.h:
2677         * ksvg2/svg/SVGTransform.h:
2678         (WebCore::SVGTransform::):
2679         * ksvg2/svg/SVGTransform.idl: Added.
2680         * ksvg2/svg/SVGUseElement.h:
2681         * ksvg2/svg/SVGViewElement.h:
2682         * page/Frame.cpp:
2683         (WebCore::Frame::Frame):
2684         (WebCore::Frame::pauseTimeouts):
2685         (WebCore::Frame::resumeTimeouts):
2686         * platform/Color.h:
2687         * rendering/RenderBR.h:
2688         * rendering/RenderBox.h:
2689         (WebCore::RenderBox::renderName):
2690         * rendering/RenderCanvas.h:
2691         (WebCore::RenderCanvas::view):
2692         * rendering/RenderContainer.h:
2693         * rendering/RenderFlexibleBox.h:
2694         * rendering/RenderFlow.h:
2695         (WebCore::RenderFlow::RenderFlow):
2696         * rendering/RenderInline.h:
2697         * rendering/RenderTableSection.h:
2698         * rendering/RenderTextFragment.h:
2699         (WebCore::RenderTextFragment::contentString):
2700         * xml/xmlattrs.in: Added.
2701
2702 2006-05-30  Geoffrey Garen  <ggaren@apple.com>
2703
2704         Reviewed by Maciej.
2705
2706         - Fixed <rdar://problem/4559720> window sizing: make javascript window 
2707         and screen sizing methods and properties work @ HIDPI
2708         
2709         The general approach here is to change some ints to floats, make 
2710         a few key functions that scale between WebView and window/screen 
2711         coordinates, and change other functions that work with screen 
2712         coordinates to use the scaling functions for their underlying 
2713         implementations.
2714
2715         * manual-tests/window-open-features.html: Removed.
2716         * manual-tests/window-sizing.html: Added. More test coverage.
2717
2718         * bindings/js/kjs_window.cpp: Changed ints to floats and IntRects to
2719         FloatRects, because window coordinates can be fractional when scaled 
2720         to WebView/DOM coordinates.
2721         (KJS::floatFeature):
2722         (KJS::showModalDialog):
2723         (KJS::Window::getValueProperty):
2724         (KJS::constrainToVisible):
2725         (KJS::WindowFunc::callAsFunction):
2726         * bridge/BrowserExtension.h:
2727         * bridge/mac/BrowserExtensionMac.mm:
2728         (WebCore::BrowserExtensionMac::createNewWindow): Removed custom scaling
2729         code and replaced with calls to Page::windowRect and 
2730         Page::setWindowRect. Renamed 'page' and 'bridge' to 'pageBridge' and
2731         'frameBridge,' respectively.
2732         * bridge/mac/PageMac.mm:
2733         (WebCore::Page::windowRect): Changed to use scaling
2734         (WebCore::Page::setWindowRect): ditto
2735         * bridge/mac/WebCoreFrameBridge.mm:
2736         (globalPoint):
2737         * page/Page.h:
2738         * platform/IntRect.h:
2739         * platform/Screen.h:
2740         * platform/mac/MouseEventMac.mm:
2741         (WebCore::globalPositionForEvent): Changed to use flipScreenPoint
2742         * platform/mac/ScreenMac.mm:
2743         (WebCore::flipScreenRect): New key function
2744         (WebCore::flipScreenPoint): New key function
2745         (WebCore::scaleScreenRectToView): New key function
2746         (WebCore::scaleViewRectToScreen): New key function
2747         (WebCore::screenRect): Changed to use scaling
2748         (WebCore::usableScreenRect): ditto
2749
2750         Feeble attempt to preserve Windows build:
2751         
2752         * platform/win/ScreenWin.cpp:
2753         (WebCore::scaleScreenRectToWidget): stub -- doesn't actually scale
2754         (WebCore::scaleWidgetRectToScreen): ditto
2755         * bridge/win/PageWin.cpp:
2756         (WebCore::Page::Page):
2757         (WebCore::Page::widget):
2758
2759 2006-05-30  David Hyatt  <hyatt@apple.com>
2760
2761         Rename RenderCanvas to RenderView. Rename canvas(), isCanvas()
2762         to view(), isView().  Rename the frame view accessor on the old canvas
2763         from view() to frameView() (to avoid view()->view(), since that just looks
2764         stupid). :)
2765
2766         Reviewed by andersca
2767
2768         * WebCore.vcproj/WebCore/WebCore.vcproj:
2769         * WebCore.xcodeproj/project.pbxproj:
2770         * bindings/js/kjs_dom.cpp:
2771         * bindings/js/kjs_window.cpp:
2772         * bridge/mac/FrameMac.mm:
2773         * bridge/mac/WebCoreFrameBridge.mm:
2774         (-[WebCoreFrameBridge _setupRootForPrinting:]):
2775         (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
2776         (-[WebCoreFrameBridge selectionColor]):
2777         (-[WebCoreFrameBridge accessibilityTree]):
2778         * dom/Document.cpp:
2779         (WebCore::Document::attach):
2780         (WebCore::Document::updateSelection):
2781         (WebCore::Document::prepareMouseEvent):
2782         * editing/SelectionController.cpp:
2783         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2784         * ksvg2/svg/SVGClipPathElement.cpp:
2785         (SVGClipPathElement::canvasResource):
2786         * ksvg2/svg/SVGFEFloodElement.cpp:
2787         (SVGFEFloodElement::filterEffect):
2788         * ksvg2/svg/SVGGradientElement.cpp:
2789         (SVGGradientElement::rebuildStops):
2790         * ksvg2/svg/SVGHelper.cpp:
2791         (SVGHelper::PercentageOfViewport):
2792         * ksvg2/svg/SVGPathElement.cpp:
2793         (WebCore::SVGPathElement::getPointAtLength):
2794         * ksvg2/svg/SVGSVGElement.cpp:
2795         (WebCore::SVGSVGElement::currentTranslate):
2796         * ksvg2/svg/SVGStyledElement.cpp:
2797         (WebCore::SVGStyledElement::view):
2798         (WebCore::SVGStyledElement::pushAttributeContext):
2799         * ksvg2/svg/SVGStyledElement.h:
2800         * kwq/WebCoreAXObject.mm:
2801         (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
2802         (-[WebCoreAXObject role]):
2803         (-[WebCoreAXObject value]):
2804         (-[WebCoreAXObject position]):
2805         (-[WebCoreAXObject accessibilityIsIgnored]):
2806         (-[WebCoreAXObject accessibilityAttributeNames]):
2807         (-[WebCoreAXObject topView]):
2808         (-[WebCoreAXObject accessibilityAttributeValue:]):
2809         * page/Frame.cpp:
2810         (WebCore::Frame::selectionRect):
2811         (WebCore::Frame::paint):
2812         (WebCore::Frame::adjustPageHeight):
2813         (WebCore::Frame::forceLayoutWithPageWidthRange):
2814         * page/FrameView.cpp:
2815         (WebCore::FrameView::adjustViewSize):
2816         (WebCore::FrameView::layout):
2817         * page/FrameView.h:
2818         * rendering/AutoTableLayout.cpp:
2819         (WebCore::shouldScaleColumns):
2820         * rendering/RenderBlock.cpp:
2821         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2822         (WebCore::RenderBlock::isSelfCollapsingBlock):
2823         (WebCore::RenderBlock::layoutBlock):
2824         (WebCore::RenderBlock::paintChildren):
2825         (WebCore::RenderBlock::setSelectionState):
2826         (WebCore::RenderBlock::isSelectionRoot):
2827         (WebCore::RenderBlock::fillInlineSelectionGaps):
2828         (WebCore::RenderBlock::lowestPosition):
2829         (WebCore::RenderBlock::rightmostPosition):
2830         (WebCore::RenderBlock::leftmostPosition):
2831         (WebCore::RenderBlock::clearFloats):
2832         (WebCore::RenderBlock::nodeAtPoint):
2833         (WebCore::RenderBlock::calcBlocminMaxWidth):
2834         (WebCore::RenderBlock::inRootBlockContext):
2835         * rendering/RenderBox.cpp:
2836         (WebCore::RenderBox::setStyle):
2837         (WebCore::RenderBox::paintRootBoxDecorations):
2838         (WebCore::RenderBox::paintBackgroundExtended):
2839         (WebCore::RenderBox::calcHeight):
2840         (WebCore::RenderBox::calcPercentageHeight):
2841         (WebCore::RenderBox::availableHeightUsing):
2842         * rendering/RenderCanvas.cpp: Removed.
2843         * rendering/RenderCanvas.h: Removed.
2844         * rendering/RenderContainer.cpp:
2845         (WebCore::RenderContainer::removeChildNode):
2846         * rendering/RenderFileButton.cpp:
2847         (WebCore::RenderFileButton::RenderFileButton):
2848         * rendering/RenderFlow.cpp:
2849         (WebCore::RenderFlow::destroy):
2850         (WebCore::RenderFlow::paintLines):
2851         * rendering/RenderFrameSet.cpp:
2852         (WebCore::RenderFrameSet::layout):
2853         (WebCore::RenderFrameSet::userResize):
2854         (WebCore::RenderFrameSet::setResizing):
2855         * rendering/RenderImage.cpp:
2856         (WebCore::RenderImage::paint):
2857         * rendering/RenderLayer.cpp:
2858         (WebCore::RenderLayer::updateLayerPositions):
2859         (WebCore::RenderLayer::updateLayerPosition):
2860         (WebCore::RenderLayer::stackingContext):
2861         (WebCore::RenderLayer::enclosingPositionedAncestor):
2862         (WebCore::RenderLayer::convertToLayerCoords):
2863         (WebCore::RenderLayer::scrollToOffset):
2864         (WebCore::isSubframeCanvas):
2865         (WebCore::RenderLayer::intersectsDamageRect):
2866         * rendering/RenderLayer.h:
2867         (WebCore::RenderLayer::isStackingContext):
2868         * rendering/RenderListMarker.cpp:
2869         (WebCore::RenderListMarker::paint):
2870         * rendering/RenderObject.cpp:
2871         (WebCore::RenderObject::scroll):
2872         (WebCore::RenderObject::containingBlock):
2873         (WebCore::RenderObject::repaint):
2874         (WebCore::RenderObject::repaintRectangle):
2875         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2876         (WebCore::RenderObject::draggableNode):
2877         (WebCore::RenderObject::selectionStartEnd):
2878         (WebCore::RenderObject::setStyle):
2879         (WebCore::RenderObject::viewRect):
2880         (WebCore::RenderObject::view):
2881         (WebCore::RenderObject::container):
2882         (WebCore::RenderObject::removeFromObjectLists):
2883         (WebCore::RenderObject::scheduleRelayout):
2884         (WebCore::RenderObject::imageChanged):
2885         (WebCore::RenderObject::maximalOutlineSize):
2886         * rendering/RenderObject.h:
2887         (WebCore::RenderObject::isRenderView):
2888         * rendering/RenderTextArea.cpp:
2889         (WebCore::RenderTextArea::RenderTextArea):
2890         * rendering/RenderThemeMac.mm:
2891         (WebCore::RenderThemeMac::paintCheckbox):
2892         (WebCore::RenderThemeMac::paintRadio):
2893         (WebCore::RenderThemeMac::paintButton):
2894         * rendering/RenderTreeAsText.cpp:
2895         (externalRepresentation):
2896         * rendering/RenderView.cpp: Added.
2897         (WebCore::RenderView::RenderView):
2898         (WebCore::RenderView::~RenderView):
2899         (WebCore::RenderView::calcHeight):
2900         (WebCore::RenderView::calcWidth):
2901         (WebCore::RenderView::calcMinMaxWidth):
2902         (WebCore::RenderView::layout):
2903         (WebCore::RenderView::absolutePosition):
2904         (WebCore::RenderView::paint):
2905         (WebCore::RenderView::paintBoxDecorations):
2906         (WebCore::RenderView::repaintViewRectangle):
2907         (WebCore::RenderView::getAbsoluteRepaintRect):
2908         (WebCore::RenderView::computeAbsoluteRepaintRect):
2909         (WebCore::RenderView::absoluteRects):
2910         (WebCore::RenderView::selectionRect):
2911         (WebCore::RenderView::setSelection):
2912         (WebCore::RenderView::clearSelection):
2913         (WebCore::RenderView::selectionStartEnd):
2914         (WebCore::RenderView::updateWidgetPositions):
2915         (WebCore::RenderView::addWidget):
2916         (WebCore::RenderView::removeWidget):
2917         (WebCore::RenderView::viewRect):
2918         (WebCore::RenderView::docHeight):
2919         (WebCore::RenderView::docWidth):
2920         (WebCore::RenderView::setBestTruncatedAt):
2921         * rendering/RenderView.h: Added.
2922         (WebCore::RenderView::renderName):
2923         (WebCore::RenderView::isRenderView):
2924         (WebCore::RenderView::frameView):
2925         * rendering/RenderWidget.cpp:
2926         (WebCore::RenderWidget::RenderWidget):
2927         (WebCore::RenderWidget::destroy):
2928         (WebCore::RenderWidget::updateWidgetPosition):
2929         * rendering/RenderWidget.h:
2930         (WebCore::RenderWidget::widget):
2931         * rendering/bidi.cpp:
2932         (WebCore::RenderBlock::layoutInlineChildren):
2933
2934 2006-05-30  Tim Omernick  <timo@apple.com>
2935
2936         Reviewed by Geoff.
2937
2938         <rdar://problem/4567776> REGRESSION: window.open() links do not work at www.newarchery.com
2939
2940         * bindings/js/kjs_window.cpp:
2941         (KJS::WindowFunc::callAsFunction):
2942         Set the URL in the ResourceRequest; otherwise, it'll be uninitialized and createNewWindow() will
2943         not be able to load the URL into a pre-existing frame.
2944
2945 2006-05-30  Sam Weinig  <sam.weinig@gmail.com>
2946
2947         Reviewed by Maciej, landed by Beth.
2948
2949         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9137
2950           Children with percentage heights of absolutely positioned element 
2951           with height: auto and top and bottom non-auto does not lay out 
2952           correctly
2953
2954         Adds special case.
2955
2956         * rendering/RenderBox.cpp:
2957         (WebCore::RenderBox::calcPercentageHeight):
2958         (WebCore::RenderBox::calcReplacedHeightUsing):
2959
2960 2006-05-30  Sam Weinig  <sam.weinig@gmail.com>
2961
2962         Reviewed by Hyatt, landed by Beth.
2963
2964         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9085
2965           Absolutely positioned objects with 'height': auto and 'top': and
2966           'bottom': non-auto should not be content based
2967
2968         * rendering/RenderBox.cpp:
2969         (WebCore::RenderBox::calcAbsoluteVertical):
2970         (WebCore::RenderBox::calcAbsoluteVerticalValues):
2971         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
2972         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
2973
2974 2006-05-30  Eric Seidel  <eric@eseidel.com>
2975
2976         Reviewed by andersca.
2977
2978         Small amount of svg-related code cleanup.
2979         No test case possible.
2980
2981         * ksvg2/svg/SVGColor.h:
2982         * ksvg2/svg/SVGLength.cpp:
2983         (SVGLength::SVGLength):
2984         (SVGLength::value):
2985         * ksvg2/svg/SVGMarkerElement.cpp:
2986         * ksvg2/svg/SVGMatrix.cpp:
2987         (SVGMatrix::SVGMatrix):
2988         (SVGMatrix::copy):
2989         (SVGMatrix::postMultiply):
2990         (SVGMatrix::inverse):
2991         (SVGMatrix::postTranslate):
2992         (SVGMatrix::postScale):
2993         (SVGMatrix::postScaleNonUniform):
2994         (SVGMatrix::postRotate):
2995         (SVGMatrix::postRotateFromVector):
2996         (SVGMatrix::postFlipX):
2997         (SVGMatrix::postFlipY):
2998         (SVGMatrix::postSkewX):
2999         (SVGMatrix::postSkewY):
3000         (SVGMatrix::multiply):
3001         (SVGMatrix::translate):
3002         (SVGMatrix::scale):
3003         (SVGMatrix::scaleNonUniform):
3004         (SVGMatrix::rotate):
3005         (SVGMatrix::rotateFromVector):
3006         (SVGMatrix::flipX):
3007         (SVGMatrix::flipY):
3008         (SVGMatrix::skewX):
3009         (SVGMatrix::skewY):
3010         (SVGMatrix::setMatrix):
3011         (SVGMatrix::qmatrix):
3012         (SVGMatrix::removeScale):
3013         * ksvg2/svg/SVGMatrix.h:
3014
3015 2006-05-30  Eric Seidel  <eric@eseidel.com>
3016
3017         Reviewed by andersca.
3018
3019         Small amount of bindings-related code cleanup.
3020         No test case possible.
3021
3022         * bindings/js/JSHTMLFormElementCustom.cpp:
3023         (WebCore::JSHTMLFormElement::nameGetter):
3024         * bindings/js/JSXMLSerializer.cpp:
3025         (WebCore::JSXMLSerializerConstructorImp::JSXMLSerializerConstructorImp):
3026         (WebCore::JSXMLSerializerConstructorImp::implementsConstruct):
3027         (WebCore::JSXMLSerializerConstructorImp::construct):
3028         (WebCore::):
3029         (WebCore::JSXMLSerializer::JSXMLSerializer):
3030         (WebCore::JSXMLSerializerProtoFunc::callAsFunction):
3031         * bindings/js/JSXMLSerializer.h:
3032         (WebCore::JSXMLSerializer::toBoolean):
3033         (WebCore::JSXMLSerializer::classInfo):
3034         (WebCore::JSXMLSerializer::):
3035         * bindings/js/kjs_window.cpp:
3036         (KJS::Window::getValueProperty):
3037
3038 2006-05-27  Anders Carlsson  <acarlsson@apple.com>
3039
3040         * bindings/js/JSHTMLElementWrapperFactory.cpp:
3041         Correct include file names.
3042
3043 2006-05-26  Justin Garcia  <justin.garcia@apple.com>
3044
3045         Reviewed by levi
3046         
3047         <rdar://problem/4564296> Mail crashes on Leopard9A184 when I attempt to compose a new message
3048
3049         * dom/Position.cpp:
3050         (WebCore::Position::inRenderedContent):
3051         Removed a candidate at [html, 0].
3052         * editing/CreateLinkCommand.cpp:
3053         (WebCore::CreateLinkCommand::doApply): Added early return when there is no selection.
3054         * editing/InsertLineBreakCommand.cpp:
3055         (WebCore::InsertLineBreakCommand::doApply): Ditto.
3056         * editing/InsertTextCommand.cpp:
3057         (WebCore::InsertTextCommand::input): Ditto.
3058         * editing/Selection.cpp:
3059         (WebCore::Selection::validate): If visible positions can't be created from the endpoints, 
3060         then create a null selection.  Not doing this was making editing code think there was
3061         a valid, editable selection even though there wasn't.
3062         * editing/UnlinkCommand.cpp:
3063         (WebCore::UnlinkCommand::doApply): Early return.
3064         * editing/VisiblePosition.cpp:
3065         (WebCore::VisiblePosition::initDeepPosition): Special case the html/body element boundary.
3066         It looks like a non-editable/editable boundary since rootEditableElement stops at the body
3067         even if the html element is editable.
3068
3069 2006-05-26  Adele Peterson  <adele@apple.com>
3070
3071         Reviewed by Justin.
3072
3073         Fixes a mistake in my last checkin.  Uses maxDeepOffset to get the end position for
3074         the textarea's inner div.
3075
3076         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::textWithHardLineBreaks):
3077
3078 2006-05-26  Adele Peterson  <adele@apple.com>
3079
3080         Reviewed by Hyatt.
3081
3082         Added support for wrap=hard for new textarea implementation.
3083
3084         Tests: fast/forms/textarea-appearance-wrap.html
3085
3086         * dom/Range.h: Added version of toString that will convert BRs to newlines.
3087         * dom/Range.cpp: (WebCore::Range::toString):
3088         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): 
3089           When in plain-text mode, and a white-space mode that doesn't collapse whitespace, create a fragment with one text node.
3090         * editing/visible_units.cpp:
3091         (WebCore::previousLinePosition): Subtract scroll offset so the absolute position for the containing block is correct.
3092         (WebCore::nextLinePosition): ditto.
3093         * rendering/RenderText.cpp:
3094         (WebCore::RenderText::positionForCoordinates): If the position is equal to the left edge of the box,
3095         make the affinity downstream so the position doesn't jump back to the previous line.
3096         (WebCore::RenderText::atLineWrap): The logic was reversed here in a recent change.
3097         If the box is not at a line break, then its at a line wrap.
3098         (WebCore::RenderText::caretRect): Only go to the next text box if its at a line wrap and the
3099          affinity is also downstream.  If its upstream, then the correct box is on the current line.
3100         (WebCore::RenderText::inlineBox): ditto.
3101         * rendering/RenderTextField.cpp:
3102         (WebCore::RenderTextField::updateFromElement): multi line controls don't need to check
3103          valueMatchesRenderer before updating the renderer.  For textareas, the renderer should always try to update.
3104          This matches our old textarea behavior.
3105         (WebCore::RenderTextField::text): Pass true to textContent so it converts BRs to newlines.
3106         (WebCore::RenderTextField::textWithHardLineBreaks): Iterate through the RootLineBoxes to find the soft wraps and replace them with newlines.
3107
3108 2006-05-26  Anders Carlsson  <acarlsson@apple.com>
3109
3110         Reviewed by Geoff.
3111
3112         http://bugzilla.opendarwin.org/show_bug.cgi?id=9127
3113         Invoke capturing event listeners when AT_TARGET
3114         
3115         * dom/EventTargetNode.cpp:
3116         (WebCore::EventTargetNode::handleLocalEvents):    
3117         Invoke capturing event listeners for the AT_TARGET phase. This violates the
3118         DOM spec but it's what Mozilla does.
3119         
3120 2006-05-26  David Harrison  <harrison@apple.com>
3121
3122         Reviewed by John Sullivan.
3123
3124         <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
3125         
3126         * WebCore.vcproj/WebCore/WebCore.vcproj:
3127         * WebCore.xcodeproj/project.pbxproj:
3128         - Renamed ModifySelectionListLevelCommand .cpp and .h to ModifySelectionListLevel .cpp and .h
3129         
3130         * bridge/mac/WebCoreFrameBridge.h:
3131         * bridge/mac/WebCoreFrameBridge.mm:
3132         (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
3133         (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
3134         (-[WebCoreFrameBridge increaseSelectionListLevel]):
3135         (-[WebCoreFrameBridge decreaseSelectionListLevel]):
3136         - Call functions in IncreaseSelectionListLevelCommand or DecreaseSelectionListLevelCommand instead
3137         of ModifySelectionListLevelCommand.
3138         
3139         (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
3140         (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
3141         - Added.
3142         
3143         * editing/ModifySelectionListLevel.cpp: Added.
3144         - Renamed from ModifySelectionListLevelCommand.cpp
3145         - Made ModifySelectionListLevelCommand class into a useful base class for new
3146         classes IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand.
3147         
3148         (WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand):
3149         (WebCore::getStartEndListChildren):
3150         (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
3151         (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
3152         - ModifySelectionListLevelCommand is base class for IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand
3153         
3154         (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
3155         (WebCore::IncreaseSelectionListLevelCommand::listElement):
3156         (WebCore::canIncreaseListLevel):
3157         (WebCore::IncreaseSelectionListLevelCommand::doApply):
3158         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
3159         (WebCore::increaseSelectionListLevelWithType):
3160         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
3161         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered):
3162         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered):
3163         - Now a subclass of ModifySelectionListLevelCommand
3164         - Added Ordered and Unordered increaser functions
3165         - Increaser functions return the list element that the items were moved into
3166         
3167         (WebCore::DecreaseSelectionListLevelCommand::DecreaseSelectionListLevelCommand):
3168         (WebCore::canDecreaseListLevel):
3169         (WebCore::DecreaseSelectionListLevelCommand::doApply):
3170         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
3171         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel):
3172         - No functional changes other than to become a subclass of ModifySelectionListLevelCommand
3173
3174         * editing/ModifySelectionListLevel.h: Added.
3175         (WebCore::):
3176          - Renamed from ModifySelectionListLevelCommand.cpp
3177        
3178         * editing/ModifySelectionListLevelCommand.cpp: Removed.
3179         - Renamed to ModifySelectionListLevel.cpp
3180         
3181         * editing/ModifySelectionListLevelCommand.h: Removed.
3182         - Renamed to ModifySelectionListLevel.h
3183
3184         * editing/htmlediting.cpp:
3185         (WebCore::createOrderedListElement):
3186         (WebCore::createUnorderedListElement):
3187         * editing/htmlediting.h:
3188
3189 2006-05-26  Steve Falkenburg  <sfalken@apple.com>
3190
3191         Reviewed by adele.
3192
3193         Build fixes/tweaks
3194
3195         * WebCore.vcproj/WebCore/WebCore.vcproj:
3196         * config.h:
3197         * ksvg2/scripts/make_names.pl:
3198
3199 2006-05-26  Steve Falkenburg  <sfalken@apple.com>
3200
3201         Reviewed by adele.
3202
3203         Fix build
3204
3205         * WebCore.vcproj/WebCore/WebCore.vcproj:
3206         * config.h:
3207
3208 2006-05-25  Dave Hyatt <hyatt@apple.com>
3209
3210         Change default font size for fixed pitch to 13 to match Safari
3211         on Mac (and every other browser on the planet too).
3212
3213         Reviewed by adele
3214
3215         * bridge/win/FrameWin.cpp:
3216         (WebCore::FrameWin::FrameWin):
3217         * platform/win/FontCacheWin.cpp:
3218         (WebCore::FontCache::getFontLinkInterface):
3219
3220 2006-05-25  Alice Liu  <alice.liu@apple.com>
3221
3222         Reviewed by Adele.
3223
3224         * bindings/js/kjs_html.cpp:
3225         added bindings
3226         (KJS::HTMLElementFunction::callAsFunction):
3227         added case to handle namedItem for select elements
3228         * bindings/js/kjs_html.h:
3229         added enum value for bindings
3230         (KJS::JSHTMLElement::):
3231         * html/HTMLSelectElement.cpp:
3232         (WebCore::HTMLSelectElement::namedItem):
3233         implemented namedItem method
3234         * html/HTMLSelectElement.h:
3235         added prototype for namedItem method
3236
3237 2006-05-25  Dave Hyatt <hyatt@apple.com>
3238
3239         Make soft hyphens work on Win32 by special casing them
3240         along with normal hyphens.
3241
3242         Reviewed by mjs
3243
3244         * rendering/break_lines.cpp:
3245         (WebCore::nextBreakablePosition):
3246
3247 2006-05-25  Dave Hyatt <hyatt@apple.com>
3248
3249         Implement the fallback method containsCharacters for
3250         checking if a font has the necessary glyphs to be
3251         selected as a fallback choide.
3252
3253         * platform/win/FontDataWin.cpp:
3254         (WebCore::FontData::containsCharacters):
3255
3256 2006-05-25  Dave Hyatt <hyatt@apple.com>
3257
3258         For now eliminate the logical scale factor from Cairo.
3259         This enables bitmap fonts like MS Sans Serif to work on
3260         Win32.
3261
3262         * platform/cairo/cairo/src/cairo-win32-font.c:
3263         (cairo_win32_scaled_font_select_font):
3264         * platform/cairo/cairo/src/cairo-win32-private.h:
3265         * platform/cairo/font-bug-patch.txt: Removed.
3266         * platform/cairo/scale-removal.txt: Added.
3267         * platform/win/FontCacheWin.cpp:
3268         (WebCore::FontCache::createFontPlatformData):
3269         * platform/win/FontDataWin.cpp:
3270         (WebCore::FontData::smallCapsFontData):
3271         (WebCore::FontData::platformWidthForGlyph):
3272         * platform/win/FontPlatformData.h:
3273         * platform/win/GlyphMapWin.cpp:
3274         (WebCore::GlyphMap::fillPage):
3275
3276 2006-05-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3277
3278         Reviewed by hyatt.  Landed by eseidel.
3279
3280         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8848
3281           TFOOT borders are copied to THEAD and TBODY
3282
3283         Test: fast/table/border-collapsing/border-collapsing-head-foot.html
3284
3285         * rendering/RenderTable.cpp:
3286         (WebCore::RenderTable::sectionAbove): Added.
3287         (WebCore::RenderTable::sectionBelow): Added.
3288         (WebCore::RenderTable::cellAbove): Changed to call sectionAbove.
3289         (WebCore::RenderTable::cellBelow): Changed to call sectionBelow.
3290         * rendering/RenderTable.h:
3291         * rendering/RenderTableCell.cpp:
3292         (WebCore::RenderTableCell::collapsedTopBorder): Changed to call sectionAbove.
3293         (WebCore::RenderTableCell::collapsedBottomBorder): Changed to call sectionBelow.
3294
3295 2006-05-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3296
3297         Reviewed by hyatt.  Landed by eseidel.
3298
3299         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3297
3300           height property is not honored on table rows
3301
3302         * rendering/RenderTableSection.cpp:
3303         (WebCore::RenderTableSection::addChild): Assign the row renderer to the
3304         grid row.
3305         (WebCore::RenderTableSection::calcRowHeight): Fix off-by-one index bug
3306         and add vertical spacing only for grid rows that have a renderer.
3307         (WebCore::RenderTableSection::recalcCells): Assign row renderers to
3308         grid rows.
3309
3310 2006-05-25  Rob Buis  <buis@kde.org>
3311
3312         Reviewed by darin.  Landed by eseidel.
3313
3314         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5978
3315         WebKIt+SVG should use SVGDocumentImpl for image/svg+xml
3316
3317         Make sure SVGDocument is created for standalone svg
3318         documents.
3319
3320         * ksvg2/svg/SVGDOMImplementation.cpp:
3321         (SVGDOMImplementation::instance):
3322         (SVGDOMImplementation::createDocument):
3323         * ksvg2/svg/SVGDOMImplementation.h:
3324         * ksvg2/svg/SVGDocument.cpp:
3325         (WebCore::SVGDocument::SVGDocument):
3326         (WebCore::SVGDocument::~SVGDocument):
3327         * ksvg2/svg/SVGDocument.h:
3328         * ksvg2/svg/SVGTests.cpp:
3329         (WebCore::SVGTests::isValid):
3330         * ksvg2/svg/SVGTitleElement.cpp:
3331         * ksvg2/svg/SVGTitleElement.h:
3332         * page/Frame.cpp:
3333         (WebCore::Frame::begin):
3334
3335 2006-05-25  Rob Buis  <buis@kde.org>
3336
3337         Reviewed by darin.  Landed by eseidel.
3338
3339         http://bugzilla.opendarwin.org/show_bug.cgi?id=5889
3340         HTMLNames.* should be generated using make_names.pl
3341
3342         Use a patched make_names.pl to autogenerate HTMLNames.*
3343
3344         * DerivedSources.make:
3345         * WebCore.xcodeproj/project.pbxproj:
3346         * html/HTMLNames.cpp: Removed.
3347         * html/HTMLNames.h: Removed.
3348         * html/HTMLTagNames.in: Added.
3349         * html/HTMLAttributeNames.in: Added.
3350         * ksvg2/scripts/make_names.pl:
3351
3352 2006-05-25  Eric Seidel  <eric@eseidel.com>
3353
3354         Reviewed by andersca.
3355
3356         Add "HasIndexGetter" support to bindings autogen system.
3357         http://bugzilla.opendarwin.org/show_bug.cgi?id=9057
3358
3359         * DerivedSources.make:
3360         * WebCore.xcodeproj/project.pbxproj:
3361         * bindings/js/JSHTMLInputElementBase.cpp:
3362         * bindings/js/kjs_css.cpp:
3363         (KJS::toJS):
3364         * bindings/js/kjs_css.h:
3365         * bindings/js/kjs_dom.cpp:
3366         (KJS::DOMNamedNodeMap::getOwnPropertySlot):
3367         * bindings/scripts/CodeGeneratorJS.pm:
3368         * css/CSSValueList.idl: Added.
3369
3370 2006-05-24  David Hyatt  <hyatt@apple.com>
3371
3372         Implement font aliasing of family names for Courier/Courier New,
3373         Arial/Helvetica, and Times/Times New Roman.  This behavior matches
3374         WinIE and Firefox.
3375
3376         Reviewed by maciej
3377
3378         Test cases not really possible, since they would have to rely on people
3379         not having the fonts installed (so not having installed Office).
3380
3381         * platform/FontCache.cpp:
3382         (WebCore::alternateFamilyName):
3383         (WebCore::FontCache::getCachedFontPlatformData):
3384         * platform/FontCache.h:
3385         * rendering/RenderContainer.cpp:
3386         (WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
3387
3388 === WebCore-521.11 ===
3389
3390 2006-05-24  Justin Garcia  <justin.garcia@apple.com>
3391
3392         Reviewed by levi
3393         
3394         <rdar://problem/4549610> REGRESSION: No initial cursor in Mail reply or Blot document
3395         <rdar://problem/4560698> Mail is very crashy in Leopard9A182, WebCore::Range::compareBoundaryPoints(WebCore::Node*, int, WebCore::Node*, int)
3396
3397         * page/Frame.cpp:
3398         (WebCore::Frame::setSelectionFromNone): Find the body and stick a caret 
3399         in it.
3400
3401 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
3402
3403         Rubber stamped by Anders.
3404         
3405         Removed meaningless 'dom::' prefix in IDL files.
3406
3407         * dom/Range.idl:
3408         * html/CanvasRenderingContext2D.idl:
3409         * html/HTMLOptionElement.idl:
3410
3411 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
3412
3413         Reviewed by andersca.
3414         
3415         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9095
3416         regression: can't select by setting option.selected to true
3417         
3418         'text' and 'selected' were erroneously marked read-only for option elements.
3419         
3420         * html/HTMLOptionElement.idl:
3421
3422 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
3423
3424         Reviewed by mjs.
3425
3426         - WebCore half of fix for <rdar://problem/4557926> TOT REGRESSION: Crash
3427         occurs when attempting to view image in slideshow mode at
3428         http://d.smugmug.com/gallery/581716 ( KJS::IfNode::execute
3429         (KJS::ExecState*) + 312)
3430
3431         On alternate threads, DOMObjects remain in the
3432         ScriptInterpreter's cache because they're not collected. So, they
3433         need an opportunity to mark their children.
3434         
3435         I'm not particularly happy with this solution because it fails to
3436         resolve many outstanding issues with the DOM object cache. Since none
3437         of those issues is a crasher or a serious compatibility concern,
3438         and since the behavior of other browsers is not much to go on in this
3439         case, I've filed <rdar://problem/4561439> about that, and I'm moving 
3440         on with my life.
3441
3442         Also added functionality for testing garbage collection from inside
3443         DumpRenderTree.
3444         
3445         Also removed XMLHttpRequest from the DOM object cache because XMLHttpRequest
3446         objects aren't accessed through the DOM.
3447         
3448         Also added JS locking around access to some shared data structures in
3449         WebCoreJavaScript, even though it probably doesn't matter in practice.
3450
3451         * bindings/js/JSXMLHttpRequest.cpp:
3452         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
3453         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
3454         * bindings/js/kjs_binding.cpp:
3455         (KJS::ScriptInterpreter::mark):
3456         * bindings/js/kjs_binding.h:
3457         * bridge/mac/WebCoreJavaScript.h:
3458         * bridge/mac/WebCoreJavaScript.mm:
3459         (collect):
3460         (+[WebCoreJavaScript objectCount]):
3461         (+[WebCoreJavaScript interpreterCount]):
3462         (+[WebCoreJavaScript protectedObjectCount]):
3463         (+[WebCoreJavaScript garbageCollect]):
3464         (+[WebCoreJavaScript garbageCollectOnAlternateThread:]):
3465         (+[WebCoreJavaScript shouldPrintExceptions]):
3466         (+[WebCoreJavaScript setShouldPrintExceptions:]):
3467
3468 2006-05-24  Dave Hyatt <hyatt@apple.com>
3469
3470         Fix the font cache corruption problems on Win32.  Move the
3471         native font destruction code out of FontPlatformData and
3472         into FontData.  Implement smallCaps.
3473
3474         * platform/win/FontDataWin.cpp:
3475         (WebCore::FontData::platformDestroy):
3476         (WebCore::FontData::smallCapsFontData):
3477         * platform/win/FontPlatformDataWin.cpp:
3478         (WebCore::FontPlatformData::~FontPlatformData):
3479
3480 2006-05-24  Anders Carlsson  <acarlsson@apple.com>
3481
3482         Reviewed by Maciej.
3483
3484         http://bugzilla.opendarwin.org/show_bug.cgi?id=9093
3485         Implement document.scripts
3486         
3487         * bindings/js/kjs_html.cpp:
3488         (KJS::JSHTMLDocument::getValueProperty):
3489         Return document.scripts() instead of a placeholder object.
3490         
3491         * dom/Document.cpp:
3492         (WebCore::Document::scripts):
3493         * dom/Document.h:
3494         Add Document::scripts.
3495         
3496         * html/HTMLCollection.cpp:
3497         (WebCore::HTMLCollection::traverseNextItem):
3498         * html/HTMLCollection.h:
3499         (WebCore::HTMLCollection::):
3500         Add scripts collection type which traverses all script elements.
3501         
3502 2006-05-24  Anders Carlsson  <acarlsson@apple.com>
3503
3504         Reviewed by Geoff.
3505
3506         http://bugzilla.opendarwin.org/show_bug.cgi?id=9092
3507         innerText is empty for elements without renderers
3508
3509         * dom/Node.cpp:
3510         (WebCore::Node::textContent):
3511         * dom/Node.h:
3512         Add optional convertBRsToNewlines argument for textContent.
3513         
3514         * html/HTMLElement.cpp:
3515         (WebCore::HTMLElement::innerText):
3516         If the element doesn't have a renderer, return textContent.
3517
3518 2006-05-24  Dave Hyatt <hyatt@apple.com>
3519
3520         Fix a bug with the computation of the Cairo glyph offsets
3521         on the Win32 code path.
3522
3523         * ChangeLog:
3524         * platform/GlyphBuffer.h:
3525         (WebCore::GlyphBuffer::add):
3526         * platform/win/FontWin.cpp:
3527         (WebCore::Font::drawGlyphs):
3528
3529 2006-05-23  Dave Hyatt <hyatt@apple.com>
3530
3531         Disable some code in Cairo that is attempting to clip
3532         runs of text to their glyph boundaries, since:
3533
3534         (a) Why re-measure text again when I just gave you
3535         the glyph bounds anyway.
3536         (b) It gets the measurements wrong.
3537
3538         * platform/GlyphBuffer.h:
3539         (WebCore::GlyphBuffer::add):
3540         * platform/cairo/cairo/src/cairo-surface-fallback.c:
3541         (_cairo_surface_fallback_show_glyphs):