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