5dcb32adab682d425c1b5a6a9f55ac7c664f7f28
[WebKit-https.git] / WebCore / ChangeLog
1 2006-05-23  Timothy Hatcher  <timothy@apple.com>
2
3         Reviewed by Eric.
4
5         Remove the recent idl files from the WebCore target to prevent them
6         from being copied into the framework resources.
7
8         * WebCore.xcodeproj/project.pbxproj:
9
10 2006-05-23  John Sullivan  <sullivan@apple.com>
11
12         Reviewed by Justin Garcia and Levi Weintraub.
13         
14         - fixed Bug 9072: REGRESSION: Misspelling marker incorrect in editing/deleting/delete-and-undo.html
15
16         * dom/Document.cpp:
17         (WebCore::Document::removeMarkers):
18         One more time to get this right, ugh. There is still one case where we don't want to advance the
19         iterator, and that's when we remove a marker and do not insert a replacement marker. So I undid
20         my previous patch, and added it++ to each of the two cases that insert a replacement marker. Now
21         the layout tests pass even with the pixel tests enabled.
22
23 2006-05-23  Dave Hyatt <hyatt@apple.com>
24
25         Do an initial implementation of CookieJar on Win32.  No policy
26         checking yet and the cookies are just always on.
27
28         Reviewed by mjs
29
30         * WebCore.vcproj/WebCore/WebCore.vcproj:
31         * platform/win/CookieJarWin.cpp: Added.
32         (WebCore::setCookies):
33         (WebCore::cookies):
34         (WebCore::cookiesEnabled):
35         * platform/win/TemporaryLinkStubs.cpp:
36
37 2006-05-23  Dave Hyatt <hyatt@apple.com>
38
39         Fix the JS autogeneration for WebCore so that the hashtables
40         are correct on Win32.
41
42         Switch to using GetCharWidthI so that we can obtain widths
43         for glyphs instead of having to obtain them from UChars.
44
45         Reviewed by eric (autogeneration) and maciej (fonts)
46
47         * bindings/scripts/CodeGeneratorJS.pm:
48         * platform/Font.cpp:
49         (WebCore::WidthIterator::advance):
50         * platform/FontData.cpp:
51         (WebCore::m_smallCapsFontData):
52         (WebCore::FontData::widthForGlyph):
53         * platform/FontData.h:
54         * platform/mac/FontDataMac.mm:
55         (-[NSFont WebCore]):
56         * platform/win/FontDataWin.cpp:
57         (WebCore::FontData::platformWidthForGlyph):
58
59 2006-05-23  Levi Weintraub  <lweintraub@apple.com>
60
61         Reviewed by Hyatt.
62
63         Cleaned up changes to markup by adding the non-virtual
64         nodeNamePreservingCase accessor function.
65
66         * dom/Element.cpp:
67         (WebCore::Element::nodeNamePreservingCase):
68         * dom/Element.h:
69         * editing/markup.cpp:
70         (WebCore::startMarkup):
71         (WebCore::endMarkup):
72
73 2006-05-23  John Sullivan  <sullivan@apple.com>
74
75         Reviewed by Anders Carlsson.
76
77         * dom/Document.cpp:
78         (WebCore::Document::removeMarkers):
79         Fix to my previous checkin (which broke a layout test).
80         Advance the iterator position every time through the loop; formerly it was not advanced in the 
81         case where a marker was actually removed, causing an infinite loop in certain cases. Also
82         modified a comment that was confusing the situation by falsely claiming that iterating over a 
83         just-inserted node would always be OK.
84
85 2006-05-23  Anders Carlsson  <acarlsson@apple.com>
86
87         Reviewed by Maciej.
88
89         http://bugzilla.opendarwin.org/show_bug.cgi?id=9017
90         Weather2.css incorrectly treated as JavaScript file @ www.live.com
91         
92         * dom/Element.cpp:
93         (WebCore::Element::getAttribute):
94         (WebCore::Element::setAttribute):
95         (WebCore::Element::removeAttribute):
96         (WebCore::Element::getAttributeNode):
97         (WebCore::Element::hasAttribute):
98         Use new getAttributeItem method.
99         
100         * dom/NamedAttrMap.cpp:
101         (WebCore::NamedAttrMap::getNamedItem):
102         (WebCore::NamedAttrMap::removeNamedItem):
103         Use new getAttributeItem method.
104         
105         (WebCore::NamedAttrMap::getAttributeItem):
106         * dom/NamedAttrMap.h:
107         New method which returns the attribute based on the nodeName.
108
109 2006-05-22  Eric Seidel  <eric@eseidel.com>
110
111         Rubber-stamped by adele.
112
113         * bindings/js/kjs_html.h: simple style cleanup.
114
115 === WebCore-521.10 ===
116
117 2006-05-22  John Sullivan  <sullivan@apple.com>
118
119         Reviewed by Anders Carlsson.
120         
121         - fixed Bug 9038: Rework Document::TextMarker mechanism to not use deprecated data structures
122
123         Changed Document::markersForNode and Document::MarkerMap to use Vector rather than 
124         DeprecatedValueList and DeprecatedValueListIterator.
125         
126         * dom/Document.h:
127         * dom/Document.cpp:
128         (WebCore::Document::addMarker):
129         (WebCore::Document::copyMarkers):
130         (WebCore::Document::removeMarkers):
131         (WebCore::Document::markersForNode):
132         (WebCore::Document::repaintMarkers):
133         (WebCore::Document::shiftMarkers):
134         
135         * rendering/InlineTextBox.cpp:
136         (WebCore::InlineTextBox::paintAllMarkersOfType):
137
138 2006-05-22  Levi Weintraub  <lweintraub@apple.com>
139
140         Reviewed by Eric.
141         
142         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8393
143           <br>s created by createMarkup aren't valid xhtml
144           Fixed uppered output from innerHTML
145
146         * editing/markup.cpp:
147         (WebCore::startMarkup):
148         (WebCore::endMarkup):
149
150 2006-05-21  Dave Hyatt <hyatt@apple.com>
151
152         Fix Win32 bustage.   I forgot to add a bunch of files.
153         Also tweak some existing functions a bit (just cleanup).
154
155         * platform/FontCache.cpp:
156         (WebCore::FontCache::getCachedFontPlatformData):
157         (WebCore::FontCache::getFontData):
158         * platform/FontCache.h:
159         * platform/mac/FontCacheMac.mm:
160         (WebCore::FontCache::createFontPlatformData):
161         * platform/win/FontDataWin.cpp:
162         (WebCore::FontData::platformDestroy):
163         (WebCore::FontData::smallCapsFontData):
164
165 2006-05-21  Adele Peterson  <adele@apple.com>
166
167         Reviewed by Maciej.
168
169         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9016
170         crash loading live.com in TreeShared::ref because accessing RenderTextField::text() can destroy the RenderTextField
171
172         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::text):
173         Reverting recent change to user innerText instead of textContent.  For textareas,
174         we need a better solution than textContent that also takes newlines into account,
175         but this should fix this crasher.
176
177 2006-05-21  Anders Carlsson  <acarlsson@apple.com>
178
179         Fix build.
180         
181         * ForwardingHeaders/wtf/MathExtras.h: Added.
182
183 2006-05-20  Dave Hyatt <hyatt@apple.com>
184
185         Switch on Cairo-based text rendering on Win32.  This is tracked
186         by bug 9019.
187
188         Reviewed by maciej
189
190         * WebCore.vcproj/WebCore/WebCore.vcproj:
191         * config.h:
192         * platform/Font.cpp:
193         (WebCore::WidthIterator::advance):
194         (WebCore::WidthIterator::normalizeVoicingMarks):
195         (WebCore::Font::width):
196         * platform/Font.h:
197         (WebCore::Font::isRoundingHackCharacter):
198         * platform/FontCache.cpp:
199         (WebCore::computeHash):
200         (WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
201         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
202         (WebCore::FontDataCacheKeyTraits::deletedValue):
203         (WebCore::FontDataCacheKeyTraits::emptyValue):
204         * platform/FontData.cpp:
205         (WebCore::m_smallCapsFontData):
206         (WebCore::FontData::widthForGlyph):
207         * platform/FontData.h:
208         * platform/FontPlatformData.h: Removed.
209         * platform/GlyphBuffer.h:
210         (WebCore::GlyphBuffer::clear):
211         (WebCore::GlyphBuffer::glyphs):
212         (WebCore::GlyphBuffer::advances):
213         (WebCore::GlyphBuffer::swap):
214         (WebCore::GlyphBuffer::glyphAt):
215         (WebCore::GlyphBuffer::advanceAt):
216         (WebCore::GlyphBuffer::add):
217         * platform/GlyphMap.cpp:
218         (WebCore::GlyphMap::locatePage):
219         * platform/cairo/cairo/src/cairo-win32-font.c:
220         (cairo_win32_scaled_font_select_font):
221         * platform/cairo/font-bug-patch.txt: Added.
222         * platform/mac/FontDataMac.mm:
223         (-[NSFont WebCore]):
224         * platform/mac/FontPlatformData.h: Added.
225         (WebCore::FontPlatformData::FontPlatformData):
226         * platform/win/FontDataWin.cpp: Added.
227         (WebCore::FontData::platformInit):
228         (WebCore::FontData::platformDestroy):
229         (WebCore::FontData::smallCapsFontData):
230         (WebCore::FontData::containsCharacters):
231         (WebCore::FontData::determinePitch):
232         (WebCore::FontData::platformWidthForGlyph):
233         * platform/win/FontPlatformDataWin.cpp:
234         (WebCore::m_size):
235         (WebCore::FontPlatformData::~FontPlatformData):
236         * platform/win/FontWin.cpp:
237         (WebCore::notImplemented):
238         (WebCore::Font::drawGlyphs):
239         (WebCore::Font::selectionRectForComplexText):
240         (WebCore::Font::drawComplexText):
241         (WebCore::Font::floatWidthForComplexText):
242         (WebCore::Font::offsetForPositionForComplexText):
243
244 2006-05-20  Alexey Proskuryakov  <ap@nypop.com>
245
246         Reviewed by Darin.
247
248         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8991
249           REGRESSION: missing or broken CSS custom cursors are displayed as 
250           a missing image icon
251
252         * page/FrameView.cpp:
253         (WebCore::selectCursor): Fallback to CURSOR_AUTO if the image is an error image.
254         * manual-tests/custom-cursors.html: Added.
255
256 2006-05-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
257
258         Reviewed and landed by ap.
259
260         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9009
261           REGRESSION: ToT crash in WebCore at Zap2it
262
263         Test: fast/table/empty-section-crash.html
264
265         * rendering/RenderTableSection.cpp:
266         (WebCore::RenderTableSection::paint): Return immediately if the section
267         has 0 rows or 0 columns.
268
269 2006-05-19  Levi Weintraub  <lweintraub@apple.com>
270
271         Reviewed by justin.
272         
273         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8931>
274         Drag caret not painted for editable sub-frames
275         
276         Moved the drag caret out of Frame and into Page.
277         Only the Frame that contains the drag caret will paint it.
278
279         * editing/SelectionController.h:
280         * page/Frame.cpp:
281         (WebCore::Frame::dragCaret):
282         (WebCore::Frame::setDragCaret):
283         (WebCore::Frame::paintDragCaret):
284         * page/FramePrivate.h:
285         * page/Page.cpp:
286         (WebCore::Page::dragCaret):
287         (WebCore::Page::setDragCaret):
288         * page/Page.h:
289
290 2006-05-19  Alice Liu  <alice.liu@apple.com>
291
292         Reviewed by Adele.
293
294         * html/HTMLButtonElement.idl:
295         added support for HTMLButtonElement.click()
296
297 2006-05-19  Geoffrey Garen  <ggaren@apple.com>
298
299         Reviewed by Eric.
300
301         - Fixed non-autogenerated global constructors to match autogenerated
302         ones and FF. (Found this bug while @ the GOOG.)
303
304         (1) They're no longer read-only, so they can be overridden.
305         (2) They now have the default object prototype, so they can do things 
306         like 'toString' and 'valueOf', necessary for general functionality,
307         including my layout test.
308         (3) Their prototype properties are now enumerable and not read-only.
309         
310         * bindings/js/JSDOMParser.cpp:
311         (KJS::DOMParserConstructorImp::DOMParserConstructorImp):
312         * bindings/js/JSXMLHttpRequest.cpp:
313         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
314         * bindings/js/JSXMLHttpRequest.h:
315         * bindings/js/JSXMLSerializer.cpp:
316         (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
317         * bindings/js/JSXSLTProcessor.cpp:
318         (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
319         * bindings/js/kjs_html.cpp:
320         (KJS::OptionConstructorImp::OptionConstructorImp):
321         (KJS::ImageConstructorImp::ImageConstructorImp):
322         * bindings/js/kjs_window.cpp:
323
324 2006-05-19  Anders Carlsson  <acarlsson@apple.com>
325
326         Reviewed by Eric.
327
328         http://bugzilla.opendarwin.org/show_bug.cgi?id=8983
329         Autogenerate another 22 HTML classes
330         
331         Already covered by existing DOM tests.
332
333         * DerivedSources.make:
334         * WebCore.vcproj/WebCore/WebCore.vcproj:
335         * WebCore.xcodeproj/project.pbxproj:
336         Add new IDL files and generated sources.
337         
338         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
339         (WebCore::JSCanvasRenderingContext2D::drawImage):
340         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
341         (WebCore::JSCanvasRenderingContext2D::createPattern):
342         Use JSHTMLImageElement::info in inherits.
343         
344         * bindings/js/JSHTMLElementWrapperFactory.cpp:
345         (WebCore::createJSWrapper):
346         Add macros for the functions and the code to populate the hash set.
347         
348         * bindings/js/kjs_html.cpp:
349         (KJS::):
350         (KJS::JSHTMLElement::classInfo):
351         (KJS::JSHTMLElement::accessors):
352         (KJS::HTMLElementFunction::callAsFunction):
353         * bindings/js/kjs_html.h:
354         (KJS::JSHTMLElement::):
355         Delete old cruft.
356         
357         * bindings/scripts/CodeGeneratorJS.pm:
358         Add support for creating a JS object from a HTMLCollection.
359         
360         * html/HTMLAreaElement.idl: Added.
361         * html/HTMLBRElement.idl: Added.
362         * html/HTMLBaseFontElement.idl: Added.
363         * html/HTMLBlockquoteElement.idl: Added.
364         
365         * html/HTMLBodyElement.cpp:
366         (WebCore::HTMLBodyElement::scrollLeft):
367         (WebCore::HTMLBodyElement::setScrollLeft):
368         (WebCore::HTMLBodyElement::scrollTop):
369         (WebCore::HTMLBodyElement::setScrollTop):
370         (WebCore::HTMLBodyElement::scrollHeight):
371         (WebCore::HTMLBodyElement::scrollWidth):        
372         * html/HTMLBodyElement.h:
373         Add new functions that used to be implemented in kjs_html.cpp
374         
375         * html/HTMLBodyElement.idl: Added.
376         * html/HTMLFieldSetElement.idl: Added.
377         * html/HTMLFontElement.idl: Added.
378         * html/HTMLHRElement.idl: Added.
379         * html/HTMLHeadingElement.idl: Added.
380         * html/HTMLImageElement.idl: Added.
381         * html/HTMLIsIndexElement.idl: Added.
382         * html/HTMLLIElement.idl: Added.
383         * html/HTMLLabelElement.idl: Added.
384         * html/HTMLLegendElement.idl: Added.
385         * html/HTMLMapElement.idl: Added.
386         * html/HTMLMenuElement.idl: Added.
387         * html/HTMLModElement.idl: Added.
388         * html/HTMLParagraphElement.idl: Added.
389         * html/HTMLParamElement.idl: Added.
390         * html/HTMLPreElement.idl: Added.
391         * html/HTMLQuoteElement.idl: Added.
392         * html/HTMLScriptElement.idl: Added.
393
394 2006-05-18  David Hyatt  <hyatt@apple.com>
395
396         Turn off responding to font changes while running.  It doesn't work
397         right anyway.
398
399         Reviewed by darin
400
401         * platform/FontCache.cpp:
402         (WebCore::FontCache::getCachedFontPlatformData):
403         * platform/FontCache.h:
404         * platform/GlyphMap.h:
405         (WebCore::GlyphMap::~GlyphMap):
406         * platform/GlyphWidthMap.h:
407         (WebCore::GlyphWidthMap::~GlyphWidthMap):
408         * platform/mac/FontCacheMac.mm:
409         (WebCore::FontCache::platformInit):
410
411 2006-05-18  Darin Adler  <darin@apple.com>
412
413         - try to fix the Windows build
414
415         * platform/TextEncoding.h: Changed a ";" to a ",".
416         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed
417         JSCanvasRenderingContext2DBase.cpp and
418         JSCanvasRenderingContext2DBase.h. Added
419         JSCanvasRenderingContext2DCustom.cpp.
420
421 2006-05-18  Sam Weinig  <sam.weinig@gmail.com>
422
423         Reviewed by Hyatt.
424
425         Fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8896>
426         Bug 8896: Absolutely positioned elements should use their parent's
427         direction when left, right and width are auto in quirks mode.
428
429         Use the parent's direction instead of the containing
430         block's in quirks mode for absolute positioning to match
431         WinIE.
432
433         * rendering/RenderBox.cpp:
434         (WebCore::RenderBox::calcAbsoluteHorizontal):
435         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
436         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
437         * rendering/RenderBox.h:
438
439 2006-05-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
440
441         Reviewed and tweaked (way too much) by Darin.
442
443         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8937
444           EncodingMap uses 0 as its empty value but 0 is a valid TextEncodingID
445
446         * platform/CharsetNames.cpp:
447         (WebCore::TextEncodingIDHashTraits::emptyValue): Added a non-zero empty value,
448         InvalidEncoding, and used InvalidEncoding2 for the deleted value.
449         (WebCore::buildCharsetMaps): Added an assertion that the deleted and empty
450         values are not valid encodings.
451         * platform/TextEncoding.h: Defined InvalidEncoding2.
452
453 2006-05-18  David Hyatt  <hyatt@apple.com>
454
455         Horrible glyph map performance regression fix.
456         The initial page of the map was being rebuilt over and over again.
457
458         Reviewed by andersca
459
460         * platform/GlyphMap.cpp:
461         (WebCore::GlyphMap::locatePage):
462         * platform/GlyphWidthMap.cpp:
463         (WebCore::GlyphWidthMap::locatePage):
464
465 2006-05-18  Anders Carlsson  <acarlsson@apple.com>
466
467         Reviewed by Darin.
468
469         http://bugzilla.opendarwin.org/show_bug.cgi?id=8964
470         Autogenerate more HTML classes
471         
472         * DerivedSources.make:
473         * WebCore.xcodeproj/project.pbxproj:
474         Add new files.
475         
476         * bindings/js/JSHTMLElementWrapperFactory.cpp:
477         (WebCore::createAnchorWrapper):
478         (WebCore::createAppletWrapper):
479         (WebCore::createDivWrapper):
480         (WebCore::createDirectoryWrapper):
481         (WebCore::createDListWrapper):
482         (WebCore::createHtmlWrapper):
483         (WebCore::createOListWrapper):
484         (WebCore::createUListWrapper):
485         (WebCore::createJSWrapper):
486         Add wrappers.
487         
488         * bindings/js/kjs_html.cpp:
489         (KJS::):
490         (KJS::JSHTMLElement::classInfo):
491         (KJS::JSHTMLElement::accessors):
492         (KJS::HTMLElementFunction::callAsFunction):
493         * bindings/js/kjs_html.h:
494         (KJS::JSHTMLElement::):
495         Delete the old implementations.
496         
497         * html/HTMLAnchorElement.cpp:
498         (WebCore::HTMLAnchorElement::hash):
499         (WebCore::HTMLAnchorElement::host):
500         (WebCore::HTMLAnchorElement::hostname):
501         (WebCore::HTMLAnchorElement::pathname):
502         (WebCore::HTMLAnchorElement::port):
503         (WebCore::HTMLAnchorElement::protocol):
504         (WebCore::HTMLAnchorElement::search):
505         (WebCore::HTMLAnchorElement::text):
506         * html/HTMLAnchorElement.h:
507         Add some new accessor methods which used to be in kjs_html.cpp.
508         
509         * html/HTMLAnchorElement.idl: Added.
510         * html/HTMLAppletElement.idl: Added.
511         * html/HTMLDListElement.idl: Added.
512         * html/HTMLDirectoryElement.idl: Added.
513         * html/HTMLDivElement.idl: Added.
514         * html/HTMLHtmlElement.idl: Added.
515         * html/HTMLOListElement.idl: Added.
516         * html/HTMLUListElement.idl: Added.
517
518 2006-05-17  David Hyatt  <hyatt@apple.com>
519
520         Convert the width map for glyphs into the same new HashMap-style as the
521         glyph map for characters.
522
523         * WebCore.xcodeproj/project.pbxproj:
524         * platform/FontData.cpp:
525         (WebCore::FontData::~FontData):
526         (WebCore::FontData::widthForGlyph):
527         * platform/FontData.h:
528         * platform/GlyphWidthMap.cpp: Added.
529         (WebCore::GlyphWidthMap::widthForGlyph):
530         (WebCore::GlyphWidthMap::setWidthForGlyph):
531         (WebCore::GlyphWidthMap::locatePage):
532         * platform/GlyphWidthMap.h: Added.
533         (WebCore::GlyphWidthMap::GlyphWidthMap):
534         (WebCore::GlyphWidthMap::~GlyphWidthMap):
535         (WebCore::GlyphWidthMap::GlyphWidthPage::widthForGlyph):
536         (WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForGlyph):
537         (WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForIndex):
538
539 2006-05-17  David Hyatt  <hyatt@apple.com>
540
541         Rename FontData.mm to FontData.cpp, since it has no obj-c in it.
542
543         * WebCore.xcodeproj/project.pbxproj:
544         * platform/FontData.cpp: Added.
545
546 2006-05-17  David Hyatt  <hyatt@apple.com>
547
548         Split FontData.mm into platform-specific and cross-platform pieces.
549
550         Reviewed by andersca
551
552         * WebCore.xcodeproj/project.pbxproj:
553         * platform/FontData.h:
554         (WebCore::FontData::xHeight):
555         * platform/mac/FontData.mm:
556         (WebCore::FontData::widthForGlyph):
557         (WebCore::m_smallCapsFontData):
558         (WebCore::FontData::~FontData):
559         (WebCore::extendWidthMap):
560
561 2006-05-17  John Sullivan  <sullivan@apple.com>
562
563         Reviewed by Darin Adler
564         
565         Improvement to my previous patch, suggested by Darin
566
567         * dom/Document.cpp:
568         (WebCore::Document::repaintMarkers):
569         new method, similar in structure to removeMarkers but just repaints each node that
570         has a marker of the specified type
571         * dom/Document.h:
572         declare new method, and tweak style in related method declarations
573         
574         * page/Frame.cpp:
575         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
576         if the value changes, call repaintMarkers
577
578 2006-05-17  Eric Seidel  <eseidel@apple.com>
579
580         Reviewed by andersca.
581
582         Autogenerate button, optgroup, option, input and textarea js bindings
583         http://bugzilla.opendarwin.org/show_bug.cgi?id=8953
584
585         * DerivedSources.make:
586         * WebCore.xcodeproj/project.pbxproj:
587         * bindings/js/JSHTMLElementWrapperFactory.cpp:
588         (WebCore::createButtonWrapper):
589         (WebCore::createInputWrapper):
590         (WebCore::createOptGroupWrapper):
591         (WebCore::createOptionWrapper):
592         (WebCore::createTextAreaWrapper):
593         (WebCore::createJSWrapper):
594         * bindings/js/JSHTMLInputElementBase.cpp: Added.
595         (WebCore::JSHTMLInputElementBaseProtoFunc::callAsFunction):
596         (WebCore::):
597         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
598         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
599         * bindings/js/JSHTMLInputElementBase.h: Added.
600         (WebCore::JSHTMLInputElementBase::classInfo):
601         (WebCore::JSHTMLInputElementBase::):
602         (WebCore::JSHTMLInputElementBase::impl):
603         * bindings/js/JSHTMLOptionElementConstructor.cpp: Added.
604         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
605         (WebCore::JSHTMLOptionElementConstructor::implementsConstruct):
606         (WebCore::JSHTMLOptionElementConstructor::construct):
607         * bindings/js/JSHTMLOptionElementConstructor.h: Added.
608         * bindings/js/kjs_domnode.h:
609         * bindings/js/kjs_html.cpp:
610         (KJS::):
611         (KJS::JSHTMLElement::classInfo):
612         (KJS::JSHTMLElement::accessors):
613         (KJS::JSHTMLElement::getOwnPropertySlot):
614         (KJS::HTMLElementFunction::callAsFunction):
615         (KJS::JSHTMLElement::put):
616         (KJS::JSHTMLElement::htmlSetter):
617         * bindings/js/kjs_html.h:
618         (KJS::JSHTMLElement::):
619         * bindings/js/kjs_window.cpp:
620         (KJS::Window::getValueProperty):
621         * bindings/scripts/CodeGeneratorJS.pm:
622         * html/HTMLButtonElement.idl: Added.
623         * html/HTMLInputElement.idl: Added.
624         * html/HTMLOptGroupElement.idl: Added.
625         * html/HTMLOptionElement.idl: Added.
626         * html/HTMLTextAreaElement.idl: Added.
627
628 2006-05-17  Adele Peterson  <adele@apple.com>
629
630         Reviewed by Hyatt.
631
632         First step for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
633         Switch to use new text field implementation for <textarea>
634
635         New textareas can be turned on by setting -webkit-appearance:textarea.
636
637         Tests:
638         * LayoutTests/fast/block/float/032.html - Updated results.
639
640         * bridge/mac/FrameMac.h: Added textDidChangeinTextArea to send notification over the bridge to form delegate.
641         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::textDidChangeInTextArea): ditto.
642         * page/Frame.cpp: (WebCore::Frame::textDidChangeInTextArea): ditto.
643         * page/Frame.h: ditto.
644
645         * css/CSSValueKeywords.in: Added textarea.
646         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Updates to check for textarea.
647         * css/html4.css: Added style for textarea.  Leaved background-color and appearance values commented out.
648         * rendering/render_style.h: (WebCore::): Added TextAreaAppearance.
649
650         * rendering/RenderTheme.cpp:
651         (WebCore::RenderTheme::adjustStyle): Updated for textarea.
652         (WebCore::RenderTheme::paint): ditto.
653         (WebCore::RenderTheme::paintBorderOnly): ditto.
654         (WebCore::RenderTheme::isControlStyled): ditto.
655         (WebCore::RenderTheme::supportsFocusRing): ditto.
656         (WebCore::RenderTheme::adjustTextFieldStyle): ditto.
657         (WebCore::RenderTheme::adjustTextAreaStyle): ditto.
658         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintTextArea): Added.
659         * rendering/RenderThemeMac.h: Added adjustTextAreaStyle.
660         Note- I didn't add a paintTextArea function for RenderThemeMac, since we can just paint the border 
661         specified in html4.css to match the NSTextView border.  Added a paintTextArea function to the Windows
662         theme can override that border.
663         * rendering/RenderThemeMac.mm:
664         (WebCore::RenderThemeMac::isControlStyled): Updated for textarea.
665         (WebCore::RenderThemeMac::adjustTextAreaStyle): ditto.
666
667         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::HTMLGenericFormElement):
668         Moved m_valueMatchesRenderer and its setters and getters into this class so HTMLInputElement and
669         HTMLTextArea can share.
670         * html/HTMLGenericFormElement.h:
671         (WebCore::HTMLGenericFormElement::valueMatchesRenderer): Added.
672         (WebCore::HTMLGenericFormElement::setValueMatchesRenderer): Added.
673         * html/HTMLInputElement.cpp:
674         (WebCore::HTMLInputElement::init): Remove m_valueMatchesRenderer intialization.
675         (WebCore::HTMLInputElement::isKeyboardFocusable): Updated spelling.
676         (WebCore::HTMLInputElement::createRenderer): Pass multiLine bool to RenderTextField constructor.
677         (WebCore::HTMLInputElement::parseMappedAttribute): Use setValueMatchesRenderer instead of m_valueMatchesRenderer.
678         (WebCore::HTMLInputElement::detach): ditto.
679         (WebCore::HTMLInputElement::setValue): ditto.
680         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
681         * html/HTMLInputElement.h: Remove setValueMatchesRenderer and valueMatchesRenderer and m_valueMatchesRenderer.
682         * html/HTMLTextAreaElement.cpp:
683         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Calls setValueMatchesRenderer to intialize m_valueMatchesRenderer.
684         (WebCore::HTMLTextAreaElement::selectionStart): Uses appearance to determine which renderer to use.
685         (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
686         (WebCore::HTMLTextAreaElement::setSelectionStart): ditto.
687         (WebCore::HTMLTextAreaElement::setSelectionEnd): ditto.
688         (WebCore::HTMLTextAreaElement::select): ditto.
689         (WebCore::HTMLTextAreaElement::setSelectionRange): ditto.
690         (WebCore::HTMLTextAreaElement::createRenderer): ditto.
691         (WebCore::HTMLTextAreaElement::appendFormData): ditto.
692         (WebCore::HTMLTextAreaElement::updateValue): ditto.
693         (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Added.
694         (WebCore::HTMLTextAreaElement::isMouseFocusable): Added.
695         (WebCore::HTMLTextAreaElement::focus): Added.
696         (WebCore::HTMLTextAreaElement::defaultEventHandler): Added to forward events to the inner div.
697         (WebCore::HTMLTextAreaElement::setValue): Calls setValueMatchesRenderer.
698         * html/HTMLTextAreaElement.h: Added defaultEventHandler, isMouseFocusable, isKeyboardFocusable, and focus methods.
699         Removed invalidateValue and m_valueMatchesRenderer since those are now handled in the base class.
700         * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
701         Updated to handle textareas.
702         * rendering/RenderTextArea.cpp: (WebCore::RenderTextArea::valueChanged):
703         Calls setValueMatchesRenderer(false) instead of invalidateValue.
704
705         * rendering/RenderTextField.h: Changed to be a RenderFlexibleBox instead of a RenderBlock.
706         This was necessary to get the inner div's height to grow and shrink with the size of the textarea.
707         Added m_multiLine bool, and calcHeight, canHaveChildren, baselinePosition, isTextArea, textWithHardLineBreaks, selectionChanged.
708         (WebCore::RenderTextField::canHaveChildren): Returns false now so that no renderer gets created for
709         the textarea's child text node for its initial contents.
710         (WebCore::RenderTextField::isTextField): Returns true if m_multiLine is false.
711         (WebCore::RenderTextField::isTextArea): Returns true if m_multiLine is true.
712         * rendering/RenderTextField.cpp:
713         (WebCore::RenderTextField::RenderTextField):  Initializes m_multiLine.
714         (WebCore::RenderTextField::~RenderTextField): Notifies HTMLTextAreaElement that the renderer is being destroyed so the value gets updated.
715         (WebCore::RenderTextField::setStyle): Makes sure there's no overflow clip on the RenderTextField, since we're handling overflow on the inner div.
716         (WebCore::RenderTextField::createDivStyle): Sets white-space, box-flex, overflow, word-wrap styles needed for text area.
717         (WebCore::RenderTextField::updateFromElement): Updated for textarea elements.
718         (WebCore::RenderTextField::setSelectionRange): Optimized caret case by checking to see if start is equal to end before calculating
719         the same VisiblePosition twice.
720         (WebCore::RenderTextField::subtreeHasChanged): Updated for textarea elements.
721         (WebCore::RenderTextField::text): Use innerText so newlines are considered.
722         (WebCore::RenderTextField::textWithHardLineBreaks): Added.  Not implemented yet. Just calls text method.
723         (WebCore::RenderTextField::calcHeight): Added. Sets initial height based on specified number of rows, and then calls the base class.
724         (WebCore::RenderTextField::baselinePosition): Added. Unlike text fields, textareas align to the bottom.
725         (WebCore::RenderTextField::calcMinMaxWidth): Updated for textareas.
726         (WebCore::RenderTextField::selectionChanged): Added. Not implemented yet.
727
728 2006-05-17  David Hyatt  <hyatt@apple.com>
729
730         Fix for 8954, separate the glyph map out into its own files and make it
731         cross-platform.
732
733         Reviewed by darin
734
735         * WebCore.xcodeproj/project.pbxproj:
736         * platform/Font.cpp:
737         (WebCore::WidthIterator::advance):
738         * platform/FontData.h:
739         (WebCore::FontData::glyphDataForCharacter):
740         (WebCore::FontData::setGlyphDataForCharacter):
741         * platform/GlyphMap.cpp: Added.
742         (WebCore::GlyphMap::glyphDataForCharacter):
743         (WebCore::GlyphMap::setGlyphDataForCharacter):
744         (WebCore::GlyphMap::locatePage):
745         * platform/GlyphMap.h: Added.
746         (WebCore::GlyphMap::GlyphMap):
747         (WebCore::GlyphMap::~GlyphMap):
748         (WebCore::GlyphMap::GlyphPage::glyphDataForCharacter):
749         (WebCore::GlyphMap::GlyphPage::setGlyphDataForCharacter):
750         (WebCore::GlyphMap::GlyphPage::setGlyphDataForIndex):
751         * platform/mac/FontData.mm:
752         (-[NSFont WebCore]):
753         (WidthMap::m_ATSUMirrors):
754         (WidthMap::FontData::~FontData):
755         (WidthMap::FontData::xHeight):
756         (WidthMap::FontData::platformInit):
757         (WidthMap::extendWidthMap):
758         * platform/mac/GlyphMapMac.cpp: Added.
759         (WebCore::GlyphMap::fillPage):
760         * platform/mac/WebCoreSystemInterface.h:
761
762 2006-05-17  Anders Carlsson  <acarlsson@apple.com>
763
764         Reviewed by Maciej.
765
766         http://bugzilla.opendarwin.org/show_bug.cgi?id=8958
767         Should be able to have custom implementations for JS methods
768         
769         * DerivedSources.make:
770         * WebCore.xcodeproj/project.pbxproj:
771         * bindings/js/JSCanvasRenderingContext2DBase.cpp: Removed.
772         * bindings/js/JSCanvasRenderingContext2DBase.h: Removed.
773         * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Added.
774         Remove JSCanvasRenderingContext2DBase and add 
775         JSCanvasRenderingContext2DCustom with custom implementations.
776         
777         (WebCore::toJS):
778         (WebCore::toHTMLCanvasStyle):
779         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
780         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
781         (WebCore::JSCanvasRenderingContext2D::fillStyle):
782         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
783         (WebCore::JSCanvasRenderingContext2D::setFillColor):
784         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
785         (WebCore::JSCanvasRenderingContext2D::strokeRect):
786         (WebCore::JSCanvasRenderingContext2D::drawImage):
787         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
788         (WebCore::JSCanvasRenderingContext2D::setShadow):
789         (WebCore::JSCanvasRenderingContext2D::createPattern):
790         Move implementations from JSCanvasRenderingContext2DBase.
791         
792         * bindings/scripts/CodeGeneratorJS.pm:
793         Add new "Custom" extended attribute for functions and attributes. When a function or 
794         attribute has this attribute, a custom implementation is called instead of calling down to
795         the DOM object.
796         
797         * html/CanvasRenderingContext2D.idl:
798         Add bunch of custom attributes and functions.
799
800 2006-05-17  John Sullivan  <sullivan@apple.com>
801
802         Reviewed by Maciej.
803         
804         First step towards making text-matching mechanism more flexible; now caller can 
805         control whether or not the matches are highlighted.
806
807         * bridge/mac/WebCoreFrameBridge.h:
808         * bridge/mac/WebCoreFrameBridge.mm:
809         (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:]):
810         renamed from highlightAllMatchesForString:
811         (-[WebCoreFrameBridge markedTextMatchesAreHighlighted]):
812         new getter method
813         (-[WebCoreFrameBridge setMarkedTextMatchesAreHighlighted:]):
814         new setter method
815         (-[WebCoreFrameBridge unmarkAllTextMatches]):
816         renamed from clearHighlightedMatches
817         
818         * page/Frame.h:
819         * page/Frame.cpp:
820         (WebCore::Frame::markAllMatchesForText):
821         renamed from highlightAllMatchesForString
822         (WebCore::Ferame::markedTextMatchesAreHighlighted):
823         new getter method, uses boolean ivar in FramePrivate
824         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
825         new setter method, uses boolean ivar in FramePrivate
826         
827         * page/FramePrivate.h:
828         (WebCore::FramePrivate::FramePrivate):
829         added boolean ivar m_highlightTextMatches, initialized to 0
830         
831         * rendering/InlineTextBox.cpp:
832         (WebCore::InlineTextBox::paint):
833         respect markedTextMatchesAreHighlighted
834
835         * WebCore.xcodeproj/project.pbxproj:
836         newer Xcode removed some obsolete settings
837        
838 2006-05-17  Adele Peterson  <adele@apple.com>
839
840         Reviewed by Beth.
841
842         * editing/htmlediting.cpp: (WebCore::editingIgnoresContent):
843         Reverting change that Darin made a few weeks ago.  He was trying
844         to make editingIgnoresContent return true for the new text fields, but the code
845         actually didn't change that result.  When the new text fields actually do return
846         true for editingIgnoresContent, other editing problems are exposed. For example,
847         moving the cursor around an editable area that contains a text field will cross the
848         text field boundary and descend into the shadow tree.  So for now, we'll revert this
849         change.
850
851 2006-05-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
852
853         Reviewed by Maciej, tweaked by Darin.
854
855         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8951
856           AtomicString hash corrupted by high-bit Latin-1
857
858         Test: fast/encoding/high-bit-latin1.html
859
860         * platform/AtomicString.cpp: (WebCore::CStringTranslator::equal): Use an
861         unsigned char local.
862         * platform/StringImpl.cpp: (WebCore::StringImpl::init): Ditto.
863
864 2006-05-17  Rob Buis  <buis@kde.org>
865
866         Reviewed by Maciej.
867
868         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7492
869         CSS attribute selectors fail when the setAttribute() method is used
870         to create an attribute and the attribute name is not Class or ID.
871
872         Keep track of attributes used in attribute selectors to
873         check after setAttribute whether a style recalc is needed.
874
875         Test: fast/css/selector-set-attribute.html
876
877         * css/cssstyleselector.cpp:
878         (WebCore::CSSStyleSelector::checkOneSelector):
879         (WebCore::CSSStyleSelector::hasSelectorForAttribute):
880         * css/cssstyleselector.h:
881         * dom/StyledElement.cpp:
882         (WebCore::StyledElement::attributeChanged):
883
884 2006-05-17  Rob Buis  <buis@kde.org>
885
886         Reviewed by Darin.
887
888         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5264
889         document.createElementNS() should not allow to insert a second <html> element
890
891         Do extra checks for document nodes to detect multiple document elements
892         and document types.
893
894         Test: fast/dom/createDocumentType2.html
895         Test: fast/dom/createElementNS.html
896
897         * dom/Document.cpp:
898         (WebCore::Document::childTypeAllowed):
899         * dom/Document.h:
900
901 2006-05-17  Anders Carlsson  <acarlsson@apple.com>
902
903         Reviewed by Darin.
904
905         * DerivedSources.make:
906         Conditionally generate the SVG and XPath related files based on the value of 
907         FEATURE_DEFINES. Also, pass FEATURE_DEFINES to the bindings generator.
908         
909         * WebCore.xcodeproj/project.pbxproj:
910         Add FEATURE_DEFINES as a toplevel build setting and set it to "SVG_SUPPORT XPATH_SUPPORT"
911         to keep SVG and XPath support turned on. Add FEATURE_DEFINES to the CPP defines.
912         
913         * bindings/js/kjs_binding.cpp:
914         (KJS::setDOMException):
915         Add #ifdefs around the XPath code.
916         
917         * bindings/scripts/CodeGeneratorJS.pm:
918         Add "Conditional" extended attribute for interfaces. If this is set, the generated code will be
919         surrounded by an #if.
920         
921         * bindings/scripts/IDLParser.pm:
922         Pass the define flags on to the preprocessor.
923         
924         * bindings/scripts/generate-bindings.pl:
925         Add a --defines property and pass it on to the parser.
926         
927         * css/cssstyleselector.h:
928         Add DeprecatedString.h include.
929         
930         * dom/Document.idl:
931         Put back #if around the XPath functions
932         
933         * page/DOMWindow.idl:
934         Put #if around the XPath constructors
935         
936         * xpath/XPathEvaluator.idl:
937         * xpath/XPathExpression.idl:
938         * xpath/XPathNSResolver.cpp:
939         * xpath/XPathNSResolver.idl:
940         * xpath/XPathNamespace.cpp:
941         * xpath/XPathResult.idl:
942         Add "Conditional=XPATH" to all interfaces.
943         
944 2006-05-16  Darin Adler  <darin@apple.com>
945
946         Reviewed by Anders.
947
948         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8940
949           remove extra copy of image code
950
951         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRenderer.h.
952         * platform/mac/WebCoreImageRenderer.h: Removed.
953
954         * bridge/mac/WebCoreFrameBridge.h: Added supportedImageResourceMIMETypes.
955         Like supportedImageMIMETypes, but includes PDF and PostScript.
956         * bridge/mac/WebCoreFrameBridge.mm:
957         (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): Added.
958         Has code that came from -[WebImageRendererFactory supportedMIMETypes].
959         (+[WebCoreFrameBridge supportedImageMIMETypes]):
960
961         * platform/mac/ImageMac.mm:
962         (WebCore::Image::supportsType): Instead of calling the old
963         -[WebCoreImageRendererFactory supportedMIMETypes], call the new
964         +[WebCoreFrameBridge supportedImageResourceMIMETypes].
965         (WebCore::Image::drawTiled): Use wkSetPatternPhaseInUserSpace instead of
966         the WebCoreImageRendererFactory.
967
968         * platform/mac/ClipboardMac.mm: Removed an unneeded include of
969         WebCoreImageRenderer.h.
970
971         * platform/mac/WebCoreImageRendererFactory.h: Removed everything except
972         for the one remaining method, imageDataForName:, which gets resources
973         from the WebKit localized resources. We should figure out how to remove
974         that one too later.
975         * platform/mac/WebCoreImageRendererFactory.m: Ditto.
976
977         * platform/mac/WebCoreSystemInterface.h: Added some new calls.
978         * platform/mac/WebCoreSystemInterface.mm: Ditto.
979         * WebCore.exp: Ditto.
980
981         * platform/cairo/ImageCairo.cpp: Moved a stub to the stubs file. If it's
982         here it has to have a FIXME comment and also it contains a big commented-out
983         pile of code. Better to have it in the stubs file with all the other stubs.
984         * platform/win/TemporaryLinkStubs.cpp: (Image::drawTiled): Put stub here
985         instead of having it in ImageCairo.cpp.
986
987 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
988
989         Reviewed by Dave Hyatt.
990
991         http://bugzilla.opendarwin.org/show_bug.cgi?id=8941
992         document.cookie undefined for documents of type text/javascript
993         
994         * loader/TextDocument.cpp:
995         (WebCore::TextDocument::TextDocument):
996         * loader/TextDocument.h:
997         Inherit from HTMLDocument.
998
999 2006-05-16  Darin Adler  <darin@apple.com>
1000
1001         Reviewed by Hyatt.
1002
1003         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8898
1004           REGRESSION: Attempting to right-click image in own tab on website causes crash
1005         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8919
1006           REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
1007
1008         * bridge/mac/WebCoreFrameBridge.mm:
1009         (-[WebCoreFrameBridge domain]): Removed unneeded check of isHTMLDocument.
1010         (-[WebCoreFrameBridge getData:andResponse:forURL:]): Handle document() of 0.
1011         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): Ditto.
1012
1013 2006-05-16  Eric Seidel  <eseidel@apple.com>
1014
1015         Reviewed by andersca.
1016
1017         Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.
1018
1019         Already covered by existing dom tests.
1020
1021         * DerivedSources.make:
1022         * WebCore.xcodeproj/project.pbxproj:
1023         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1024         (WebCore::createBaseWrapper):
1025         (WebCore::createHeadWrapper):
1026         (WebCore::createLinkWrapper):
1027         (WebCore::createStyleWrapper):
1028         (WebCore::createTitleWrapper):
1029         (WebCore::createJSWrapper):
1030         * bindings/js/kjs_html.cpp:
1031         (KJS::):
1032         (KJS::JSHTMLElement::classInfo):
1033         (KJS::JSHTMLElement::accessors):
1034         * bindings/js/kjs_html.h:
1035         * html/HTMLBaseElement.idl: Added.
1036         * html/HTMLHeadElement.idl: Added.
1037         * html/HTMLLinkElement.idl: Added.
1038         * html/HTMLStyleElement.idl: Added.
1039         * html/HTMLTitleElement.idl: Added.
1040
1041 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
1042
1043         Reviewed by Maciej.
1044
1045         http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
1046         Use WebCore to render full-frame images.
1047
1048         * WebCore.xcodeproj/project.pbxproj:
1049         Add ImageDocument.
1050         
1051         * bridge/mac/WebCoreFrameBridge.h:
1052         Add mainResourceURLResponse and imageTitleForFilename.
1053         
1054         * bridge/mac/WebCoreFrameBridge.mm:
1055         (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
1056         This used to be supportedMIMETypes but WebKit requires that we handle the
1057         image MIME types separately.
1058         
1059         (+[WebCoreFrameBridge supportedImageMIMETypes]):
1060         Add image types from WebCoreImageRendererFactory.
1061         
1062         (-[WebCoreFrameBridge canProvideDocumentSource]):
1063         Return no for image types.
1064         
1065         * dom/xml_tokenizer.h:
1066         (WebCore::Tokenizer::wantsRawData):
1067         (WebCore::Tokenizer::writeRawData):
1068         New virtual functions which tokenizers can override if they want to get
1069         raw data (which isn't fed through the decoder)
1070         
1071         * html/HTMLImageElement.h:
1072         (WebCore::HTMLImageElement::setLoadManually):
1073         New function which calls HTMLImageLoader::setLoadManually
1074         
1075         * html/HTMLImageLoader.cpp:
1076         (WebCore::HTMLImageLoader::HTMLImageLoader):
1077         (WebCore::HTMLImageLoader::updateFromElement):
1078         Don't request the image from the loader if the load is set to be manual.
1079         
1080         * html/HTMLImageLoader.h:
1081         (WebCore::HTMLImageLoader::setLoadManually):
1082         New function which decides if the image data should be fed manually or loaded
1083         by the loader.
1084         
1085         * loader/DocLoader.h:
1086         Add HTMLImageLoader as a friend.
1087         
1088         * loader/ImageDocument.cpp: Added.
1089         (WebCore::ImageTokenizer::ImageTokenizer):
1090         (WebCore::ImageTokenizer::wantsRawData):
1091         (WebCore::ImageTokenizer::write):
1092         (WebCore::ImageTokenizer::writeRawData):
1093         (WebCore::ImageTokenizer::stopParsing):
1094         (WebCore::ImageTokenizer::finish):
1095         (WebCore::ImageTokenizer::isWaitingForScripts):
1096         (WebCore::ImageDocument::ImageDocument):
1097         (WebCore::ImageDocument::createTokenizer):
1098         * loader/ImageDocument.h: Added.
1099         Add new ImageDocument class which will feed its data to a created image element.
1100
1101         * loader/TextDocument.h:
1102         Inherit from HTMLDocument here too, in case any broken web pages want to manipulate
1103         the DOM of any plain text documents.
1104         
1105         * page/Frame.cpp:
1106         (WebCore::Frame::begin):
1107         (WebCore::Frame::write):
1108         Don't create or use the decoder if the tokenizer is in "raw mode".
1109         
1110 2006-05-16  Eric Seidel  <eseidel@apple.com>
1111
1112         Reviewed by andersca.
1113
1114         Autogenerate JSHTMLMetaElement.
1115         http://bugzilla.opendarwin.org/show_bug.cgi?id=8938
1116
1117         Test: fast/dom/HTMLMetaElement/meta-attributes.html
1118
1119         * DerivedSources.make:
1120         * WebCore.xcodeproj/project.pbxproj:
1121         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1122         (WebCore::createMetaWrapper):
1123         (WebCore::createJSWrapper):
1124         * bindings/js/kjs_html.cpp:
1125         (KJS::):
1126         (KJS::JSHTMLElement::classInfo):
1127         (KJS::JSHTMLElement::accessors):
1128         * bindings/js/kjs_html.h:
1129         * html/HTMLMetaElement.h:
1130
1131 2006-05-16  David Hyatt  <hyatt@apple.com>
1132
1133         Bug 8936, eliminate WebTextRendererFactory and convert it over to the
1134         new FontCache.
1135
1136         Reviewed by andersca
1137
1138         * WebCore.xcodeproj/project.pbxproj:
1139         * bridge/mac/WebCoreStringTruncator.mm:
1140         * kwq/KWQComboBox.mm:
1141         * kwq/KWQLineEdit.mm:
1142         * kwq/KWQListBox.mm:
1143         * platform/Font.h:
1144         (WebCore::Font::bold):
1145         * platform/FontCache.cpp: Added.
1146         (WebCore::FontPlatformDataCacheKey::m_italic):
1147         (WebCore::FontPlatformDataCacheKey::operator==):
1148         (WebCore::computeHash):
1149         (WebCore::FontPlatformDataCacheKeyHash::hash):
1150         (WebCore::FontPlatformDataCacheKeyHash::equal):
1151         (WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
1152         (WebCore::FontCache::getCachedFontPlatformData):
1153         (WebCore::FontDataCacheKeyHash::hash):
1154         (WebCore::FontDataCacheKeyHash::equal):
1155         (WebCore::FontDataCacheKeyTraits::deletedValue):
1156         (WebCore::FontCache::getCachedFontData):
1157         (WebCore::FontCache::getFontData):
1158         (WebCore::FontCache::clearCommonCaches):
1159         * platform/FontCache.h:
1160         * platform/FontData.h:
1161         * platform/FontFamily.cpp:
1162         (WebCore::FontFamily::FontFamily):
1163         (WebCore::FontFamily::operator=):
1164         (WebCore::FontFamily::setFamily):
1165         * platform/FontFamily.h:
1166         (WebCore::FontFamily::familyIsEmpty):
1167         * platform/FontPlatformData.h:
1168         (WebCore::FontPlatformData::hash):
1169         (WebCore::FontPlatformData::operator==):
1170         * platform/mac/FontCacheMac.mm:
1171         (WebCore::getAppDefaultValue):
1172         (WebCore::getUserDefaultValue):
1173         (WebCore::getLCDScaleParameters):
1174         (WebCore::fontsChanged):
1175         (WebCore::FontCache::registerForFontChanges):
1176         (WebCore::FontCache::clearCaches):
1177         (WebCore::FontCache::getFontDataForCharacters):
1178         (WebCore::FontCache::getSimilarFontPlatformData):
1179         (WebCore::FontCache::getLastResortFallbackFont):
1180         (WebCore::FontCache::createFontPlatformData):
1181         * platform/mac/FontData.mm:
1182         (-[NSFont WebCore]):
1183         (WidthMap::FontData::xHeight):
1184         (WidthMap::FontData::smallCapsFontData):
1185         (WidthMap::computeWidthForSpace):
1186         (WidthMap::setUpFont):
1187         (WidthMap::fillStyleWithAttributes):
1188         (WidthMap::FontData::determinePitch):
1189         * platform/mac/FontFallbackListMac.mm:
1190         (WebCore::FontFallbackList::setPlatformFont):
1191         * platform/mac/FontFamilyMac.mm: Removed.
1192         * platform/mac/FontMac.mm:
1193         * platform/mac/WebCoreTextRenderer.mm:
1194         (WebCoreFindFont):
1195         * platform/mac/WebFontCache.h: Added.
1196         * platform/mac/WebFontCache.mm: Added.
1197         (acceptableChoice):
1198         (betterChoice):
1199         (+[WebFontCache fontWithFamily:traits:size:]):
1200         * platform/mac/WebTextRendererFactory.h: Removed.
1201         * platform/mac/WebTextRendererFactory.mm: Removed.
1202
1203 2006-05-16  Eric Seidel  <eseidel@apple.com>
1204
1205         Reviewed by andersca.
1206
1207         Add Rect.idl, even though it can't be used quite yet due to generator limitations.
1208
1209         * WebCore.xcodeproj/project.pbxproj:
1210         * css/Rect.idl: Added.
1211
1212 2006-05-16  Sam Weinig  <sam.weinig@gmail.com>
1213
1214         Reviewed by darin.  Landed by eseidel.
1215
1216         Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8924>
1217         Bug 8924: re-apply the 'disabled type=file' change
1218         from bug 5882 to RenderFileButton
1219         
1220         * rendering/RenderFileButton.cpp:
1221         (WebCore::RenderFileButton::updateFromElement):
1222
1223 2006-05-16  Eric Seidel  <eseidel@apple.com>
1224
1225         Reviewed by hyatt.
1226
1227         Split css_base.* into separate files (one per class).
1228         http://bugzilla.opendarwin.org/show_bug.cgi?id=8935
1229
1230         * WebCore.xcodeproj/project.pbxproj:
1231         * bindings/js/kjs_css.cpp:
1232         * css/CSSBorderImageValue.cpp:
1233         * css/CSSBorderImageValue.h:
1234         * css/CSSCharsetRule.h:
1235         * css/CSSFontFaceRule.h:
1236         * css/CSSGrammar.y:
1237         * css/CSSImportRule.h:
1238         * css/CSSInheritedValue.cpp:
1239         * css/CSSInitialValue.cpp:
1240         * css/CSSMediaRule.h:
1241         * css/CSSMutableStyleDeclaration.h:
1242         * css/CSSNamespace.h: Added.
1243         (WebCore::CSSNamespace::CSSNamespace):
1244         (WebCore::CSSNamespace::namespaceForPrefix):
1245         * css/CSSPageRule.h:
1246         * css/CSSPrimitiveValue.h:
1247         * css/CSSProperty.cpp:
1248         * css/CSSProperty.h:
1249         * css/CSSRule.h:
1250         * css/CSSRuleList.cpp:
1251         * css/CSSSelector.cpp: Added.
1252         * css/CSSSelector.h: Added.
1253         (WebCore::CSSSelector::CSSSelector):
1254         * css/CSSStyleDeclaration.h:
1255         * css/CSSStyleRule.cpp:
1256         * css/CSSStyleRule.h:
1257         * css/CSSStyleSheet.cpp:
1258         (WebCore::CSSStyleSheet::~CSSStyleSheet):
1259         * css/CSSStyleSheet.h:
1260         * css/CSSValue.h:
1261         * css/CSSValueList.cpp:
1262         * css/CSSValueList.h:
1263         * css/FontFamilyValue.cpp:
1264         * css/FontValue.cpp:
1265         * css/FontValue.h:
1266         * css/MediaList.h:
1267         * css/ShadowValue.cpp:
1268         * css/ShadowValue.h:
1269         * css/StyleBase.cpp: Added.
1270         (WebCore::StyleBase::stylesheet):
1271         * css/StyleBase.h: Added.
1272         (WebCore::StyleBase::StyleBase):
1273         * css/StyleList.cpp: Added.
1274         * css/StyleList.h: Added.
1275         * css/StyleSheet.h:
1276         * css/css_base.cpp: Removed.
1277         * css/css_base.h: Removed.
1278         * css/cssparser.cpp:
1279         * css/cssstyleselector.cpp:
1280         (WebCore::CSSStyleSelector::matchRulesForList):
1281         * css/cssstyleselector.h:
1282         * dom/CSSMappedAttributeDeclaration.h:
1283         * ksvg2/svg/SVGColor.cpp:
1284         (WebCore::SVGColor::SVGColor):
1285         (WebCore::SVGColor::setRGBColor):
1286         (WebCore::SVGColor::setRGBColorICCColor):
1287         (WebCore::SVGColor::setColor):
1288         (WebCore::SVGColor::cssText):
1289         (WebCore::SVGColor::color):
1290         * ksvg2/svg/SVGColor.h:
1291         * ksvg2/svg/SVGStyledElement.cpp:
1292         (WebCore::SVGStyledElement::SVGStyledElement):
1293         (WebCore::SVGStyledElement::className):
1294         (WebCore::SVGStyledElement::createRenderer):
1295         (WebCore::SVGStyledElement::parseMappedAttribute):
1296         (WebCore::SVGStyledElement::notifyAttributeChange):
1297         (WebCore::SVGStyledElement::attributeChanged):
1298         (WebCore::SVGStyledElement::canvas):
1299         (WebCore::SVGStyledElement::updateCanvasItem):
1300         (WebCore::SVGStyledElement::pushAttributeContext):
1301
1302 2006-05-15  Eric Seidel  <eseidel@apple.com>
1303
1304         Reviewed by hyatt.
1305
1306         Split css_valueimpl.* and css_ruleimpl.* into separate files (one per class).
1307         http://bugzilla.opendarwin.org/show_bug.cgi?id=8934
1308
1309         * WebCore+SVG/RGBColor.cpp:
1310         (WebCore::RGBColor::RGBColor):
1311         * WebCore.vcproj/WebCore/WebCore.vcproj:
1312         * WebCore.xcodeproj/project.pbxproj:
1313         * bindings/js/kjs_css.cpp:
1314         (KJS::DOMCSSRule::classInfo):
1315         * bindings/js/kjs_css.h:
1316         * bindings/js/kjs_dom.cpp:
1317         * bindings/js/kjs_html.cpp:
1318         * bindings/js/kjs_window.cpp:
1319         * bindings/objc/DOMCSS.mm:
1320         * bindings/scripts/CodeGeneratorJS.pm:
1321         * css/CSSBorderImageValue.cpp: Added.
1322         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1323         * css/CSSBorderImageValue.h: Added.
1324         * css/CSSCharsetRule.h: Added.
1325         (WebCore::CSSCharsetRule::CSSCharsetRule):
1326         * css/CSSComputedStyleDeclaration.cpp:
1327         (WebCore::valueForShadow):
1328         (WebCore::):
1329         * css/CSSComputedStyleDeclaration.h:
1330         * css/CSSFontFaceRule.cpp: Added.
1331         (WebCore::CSSFontFaceRule::CSSFontFaceRule):
1332         * css/CSSFontFaceRule.h: Added.
1333         (WebCore::CSSFontFaceRule::isFontFaceRule):
1334         * css/CSSGrammar.y:
1335         * css/CSSImageValue.cpp: Added.
1336         (WebCore::CSSImageValue::CSSImageValue):
1337         * css/CSSImageValue.h: Added.
1338         * css/CSSImportRule.cpp: Added.
1339         * css/CSSImportRule.h: Added.
1340         * css/CSSInheritedValue.cpp: Added.
1341         * css/CSSInheritedValue.h: Added.
1342         * css/CSSInitialValue.cpp: Added.
1343         * css/CSSInitialValue.h: Added.
1344         * css/CSSMediaRule.cpp: Added.
1345         (WebCore::CSSMediaRule::CSSMediaRule):
1346         (WebCore::CSSMediaRule::~CSSMediaRule):
1347         (WebCore::CSSMediaRule::append):
1348         (WebCore::CSSMediaRule::deleteRule):
1349         (WebCore::CSSMediaRule::cssText):
1350         * css/CSSMediaRule.h: Added.
1351         (WebCore::CSSMediaRule::media):
1352         (WebCore::CSSMediaRule::cssRules):
1353         * css/CSSMutableStyleDeclaration.cpp: Added.
1354         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1355         (WebCore::CSSMutableStyleDeclaration::setChanged):
1356         * css/CSSMutableStyleDeclaration.h: Added.
1357         * css/CSSPageRule.cpp: Added.
1358         (WebCore::CSSPageRule::CSSPageRule):
1359         * css/CSSPageRule.h: Added.
1360         (WebCore::CSSPageRule::isPageRule):
1361         * css/CSSPrimitiveValue.cpp: Added.
1362         * css/CSSPrimitiveValue.h: Added.
1363         * css/CSSProperty.cpp: Added.
1364         (WebCore::CSSProperty::cssText):
1365         * css/CSSProperty.h: Added.
1366         (WebCore::CSSProperty::CSSProperty):
1367         * css/CSSQuirkPrimitiveValue.h: Added.
1368         * css/CSSRule.cpp: Added.
1369         * css/CSSRule.h: Added.
1370         (WebCore::CSSRule::CSSRule):
1371         * css/CSSRuleList.cpp: Added.
1372         (WebCore::CSSRuleList::CSSRuleList):
1373         (WebCore::CSSRuleList::~CSSRuleList):
1374         (WebCore::CSSRuleList::deleteRule):
1375         (WebCore::CSSRuleList::append):
1376         (WebCore::CSSRuleList::insertRule):
1377         * css/CSSRuleList.h: Added.
1378         (WebCore::CSSRuleList::item):
1379         * css/CSSStyleDeclaration.cpp: Added.
1380         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
1381         (WebCore::CSSStyleDeclaration::diff):
1382         * css/CSSStyleDeclaration.h: Added.
1383         * css/CSSStyleRule.cpp: Added.
1384         (WebCore::CSSStyleRule::CSSStyleRule):
1385         (WebCore::CSSStyleRule::selectorText):
1386         * css/CSSStyleRule.h: Added.
1387         * css/CSSStyleSheet.cpp:
1388         (WebCore::CSSStyleSheet::ownerRule):
1389         * css/CSSUnknownRule.h: Added.
1390         (WebCore::CSSUnknownRule::CSSUnknownRule):
1391         * css/CSSValue.h: Added.
1392         * css/CSSValueList.cpp: Added.
1393         * css/CSSValueList.h: Added.
1394         * css/Counter.h: Added.
1395         * css/DashboardRegion.h: Added.
1396         * css/FontFamilyValue.cpp: Added.
1397         * css/FontFamilyValue.h: Added.
1398         (WebCore::FontFamilyValue::genericFamilyType):
1399         * css/FontValue.cpp: Added.
1400         (WebCore::FontValue::cssText):
1401         * css/FontValue.h: Added.
1402         * css/MediaList.cpp:
1403         * css/Pair.h: Added.
1404         (WebCore::Pair::~Pair):
1405         * css/RectImpl.h: Added.
1406         (WebCore::RectImpl::~RectImpl):
1407         * css/ShadowValue.cpp: Added.
1408         (WebCore::ShadowValue::ShadowValue):
1409         * css/ShadowValue.h: Added.
1410         * css/css_base.cpp:
1411         * css/css_ruleimpl.cpp: Removed.
1412         * css/css_ruleimpl.h: Removed.
1413         * css/css_valueimpl.cpp: Removed.
1414         * css/css_valueimpl.h: Removed.
1415         * css/cssparser.cpp:
1416         (WebCore::CSSParser::parseColor):
1417         (WebCore::CSSParser::parseFontFamily):
1418         * css/cssstyleselector.cpp:
1419         (WebCore::CSSStyleSelector::locateCousinList):
1420         (WebCore::CSSStyleSelector::checkSelector):
1421         (WebCore::CSSRuleSet::addRulesFromSheet):
1422         (WebCore::CSSStyleSelector::applyProperty):
1423         (WebCore::CSSStyleSelector::mapBackgroundImage):
1424         * css/cssstyleselector.h:
1425         * dom/CSSMappedAttributeDeclaration.h:
1426         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
1427         * dom/Document.cpp:
1428         * editing/ApplyStyleCommand.cpp:
1429         * editing/CompositeEditCommand.h:
1430         * editing/EditCommand.cpp:
1431         * editing/InsertLineBreakCommand.cpp:
1432         (WebCore::InsertLineBreakCommand::doApply):
1433         * editing/InsertLineBreakCommand.h:
1434         * editing/InsertTextCommand.cpp:
1435         (WebCore::InsertTextCommand::input):
1436         * editing/RemoveCSSPropertyCommand.cpp:
1437         (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
1438         (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
1439         * editing/RemoveCSSPropertyCommand.h:
1440         (WebCore::RemoveCSSPropertyCommand::styleDeclaration):
1441         * html/HTMLBodyElement.cpp:
1442         * html/HTMLElement.cpp:
1443         * html/HTMLScriptElement.h:
1444         * html/HTMLTokenizer.h:
1445         * kcanvas/KCanvasFilters.h:
1446         (WebCore::KCanvasFEColorMatrix::values):
1447         (WebCore::KCanvasFEColorMatrix::setValues):
1448         (WebCore::KCanvasFEConvolveMatrix::kernel):
1449         (WebCore::KCanvasFEConvolveMatrix::setKernel):
1450         * kcanvas/KCanvasPath.h:
1451         * kcanvas/KCanvasTreeDebug.h:
1452         (WebCore::operator<<):
1453         * kcanvas/RenderPath.h:
1454         * ksvg2/css/SVGCSSParser.cpp:
1455         (WebCore::CSSParser::parseSVGValue):
1456         (WebCore::CSSParser::parseSVGStrokeDasharray):
1457         (WebCore::CSSParser::parseSVGPaint):
1458         (WebCore::CSSParser::parseSVGColor):
1459         * ksvg2/css/SVGCSSStyleSelector.cpp:
1460         (WebCore::CSSStyleSelector::applySVGProperty):
1461         * ksvg2/css/SVGRenderStyleDefs.h:
1462         * ksvg2/ecma/Ecma.cpp:
1463         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1464         * ksvg2/misc/KCanvasRenderingStyle.h:
1465         * ksvg2/svg/SVGAnimationElement.cpp:
1466         * ksvg2/svg/SVGColor.cpp:
1467         * ksvg2/svg/SVGColor.h:
1468         * ksvg2/svg/SVGCursorElement.h:
1469         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1470         (SVGFEColorMatrixElement::filterEffect):
1471         * page/DOMWindow.cpp:
1472         * page/Frame.cpp:
1473         * page/FramePrivate.h:
1474         * platform/DeprecatedValueList.h:
1475         * rendering/RenderTextField.cpp:
1476
1477 2006-05-15  Darin Adler  <darin@apple.com>
1478
1479         * WebCore.xcodeproj/project.pbxproj: Removed duplicate files that were
1480         screwing up Xcode.
1481
1482 2006-05-15  Darin Adler  <darin@apple.com>
1483
1484         * make-generated-sources.sh: Changed to be executable and removed
1485         text in the file generated by "svn diff".
1486         * move-js-headers.sh: Ditto.
1487
1488 2006-05-15  Eric Seidel  <eseidel@apple.com>
1489
1490         Reviewed by mjs.
1491
1492         Split css_stylesheetimpl.* into separate files (one per class).
1493         http://bugzilla.opendarwin.org/show_bug.cgi?id=8933
1494
1495         * WebCore.vcproj/WebCore/WebCore.vcproj:
1496         * WebCore.xcodeproj/project.pbxproj:
1497         * css/CSSStyleSheet.cpp: Added.
1498         (WebCore::CSSStyleSheet::CSSStyleSheet):
1499         (WebCore::CSSStyleSheet::addRule):
1500         (WebCore::CSSStyleSheet::deleteRule):
1501         (WebCore::CSSStyleSheet::parseString):
1502         (WebCore::CSSStyleSheet::docLoader):
1503         * css/CSSStyleSheet.h: Added.
1504         * css/MediaList.cpp: Added.
1505         (WebCore::MediaList::MediaList):
1506         (WebCore::MediaList::contains):
1507         (WebCore::MediaList::parentStyleSheet):
1508         (WebCore::MediaList::parentRule):
1509         (WebCore::MediaList::deleteMedium):
1510         (WebCore::MediaList::setMediaText):
1511         * css/MediaList.h: Added.
1512         * css/StyleSheet.cpp: Added.
1513         (WebCore::StyleSheet::StyleSheet):
1514         (WebCore::StyleSheet::parentStyleSheet):
1515         (WebCore::StyleSheet::setMedia):
1516         * css/StyleSheet.h: Added.
1517         (WebCore::StyleSheet::ownerNode):
1518         * css/StyleSheetList.cpp: Added.
1519         (WebCore::StyleSheetList::~StyleSheetList):
1520         (WebCore::StyleSheetList::add):
1521         (WebCore::StyleSheetList::remove):
1522         (WebCore::StyleSheetList::item):
1523         * css/StyleSheetList.h: Added.
1524         * css/css_stylesheetimpl.cpp: Removed.
1525         * css/css_stylesheetimpl.h: Removed.
1526
1527 2006-05-15  Eric Seidel  <eseidel@apple.com>
1528
1529         * WebCore.xcodeproj/project.pbxproj: build fix.
1530
1531 2006-05-15  Eric Seidel  <eseidel@apple.com>
1532
1533         Reviewed by ggaren.
1534
1535         Split dom_xmlimpl.* into separate files (one per class).
1536
1537         * WebCore.xcodeproj/project.pbxproj:
1538         * dom/Entity.cpp: Added.
1539         (WebCore::Entity::Entity):
1540         * dom/Entity.h: Added.
1541         * dom/EntityReference.cpp: Added.
1542         (WebCore::EntityReference::EntityReference):
1543         * dom/EntityReference.h: Added.
1544         * dom/Notation.cpp: Added.
1545         (WebCore::Notation::Notation):
1546         * dom/Notation.h: Added.
1547         * dom/ProcessingInstruction.cpp: Added.
1548         (WebCore::ProcessingInstruction::ProcessingInstruction):
1549         * dom/ProcessingInstruction.h: Added.
1550         * dom/dom_xmlimpl.cpp: Removed.
1551         * dom/dom_xmlimpl.h: Removed.
1552
1553 2006-05-15  Eric Seidel  <eseidel@apple.com>
1554
1555         Reviewed by Tim Hatcher.
1556
1557         Split html_imageimpl.* into separate files (one per class).
1558         http://bugzilla.opendarwin.org/show_bug.cgi?id=8929
1559
1560         * WebCore.xcodeproj/project.pbxproj:
1561         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
1562         * bindings/js/kjs_events.cpp:
1563         * bindings/js/kjs_html.cpp:
1564         * bindings/objc/DOMHTML.mm:
1565         * bridge/mac/WebCoreFrameBridge.mm:
1566         * dom/Document.cpp:
1567         * editing/JSEditor.cpp:
1568         * html/CanvasRenderingContext2D.cpp:
1569         * html/HTMLAnchorElement.cpp:
1570         * html/HTMLAreaElement.cpp: Added.
1571         (WebCore::HTMLAreaElement::HTMLAreaElement):
1572         (WebCore::HTMLAreaElement::mapMouseEvent):
1573         (WebCore::HTMLAreaElement::getRect):
1574         (WebCore::HTMLAreaElement::getRegion):
1575         * html/HTMLAreaElement.h: Added.
1576         * html/HTMLCanvasElement.h:
1577         * html/HTMLDocument.cpp:
1578         * html/HTMLElementFactory.cpp:
1579         * html/HTMLFormCollection.cpp:
1580         * html/HTMLFormElement.cpp:
1581         * html/HTMLImageElement.cpp: Added.
1582         (WebCore::HTMLImageElement::HTMLImageElement):
1583         * html/HTMLImageElement.h: Added.
1584         * html/HTMLImageLoader.cpp: Added.
1585         (WebCore::HTMLImageLoader::HTMLImageLoader):
1586         * html/HTMLImageLoader.h: Added.
1587         * html/HTMLInputElement.cpp:
1588         * html/HTMLMapElement.cpp: Added.
1589         (WebCore::HTMLMapElement::mapMouseEvent):
1590         (WebCore::HTMLMapElement::parseMappedAttribute):
1591         * html/HTMLMapElement.h: Added.
1592         * html/HTMLObjectElement.cpp:
1593         * html/HTMLParser.cpp:
1594         * html/html_imageimpl.cpp: Removed.
1595         * html/html_imageimpl.h: Removed.
1596         * ksvg2/misc/SVGImageLoader.h:
1597         * kwq/WebCoreAXObject.mm:
1598         (-[WebCoreAXObject addChildrenToArray:]):
1599         * page/Frame.cpp:
1600         * rendering/RenderImage.cpp:
1601         (WebCore::RenderImage::RenderImage):
1602         (WebCore::RenderImage::nodeAtPoint):
1603
1604 2006-05-15  Eric Seidel  <eseidel@apple.com>
1605
1606         Reviewed by beth.
1607
1608         Split html_blockimpl.* into separate files (one per class).
1609         http://bugzilla.opendarwin.org/show_bug.cgi?id=8927
1610
1611         * WebCore.xcodeproj/project.pbxproj:
1612         * bindings/js/kjs_html.cpp:
1613         * bindings/objc/DOMHTML.mm:
1614         * html/HTMLBlockquoteElement.cpp: Added.
1615         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
1616         * html/HTMLBlockquoteElement.h: Added.
1617         * html/HTMLDivElement.cpp: Added.
1618         * html/HTMLDivElement.h: Added.
1619         * html/HTMLElementFactory.cpp:
1620         * html/HTMLHRElement.cpp: Added.
1621         * html/HTMLHRElement.h: Added.
1622         * html/HTMLHeadingElement.cpp: Added.
1623         * html/HTMLHeadingElement.h: Added.
1624         * html/HTMLMarqueeElement.cpp: Added.
1625         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
1626         (WebCore::HTMLMarqueeElement::parseMappedAttribute):
1627         * html/HTMLMarqueeElement.h: Added.
1628         * html/HTMLParagraphElement.cpp: Added.
1629         * html/HTMLParagraphElement.h: Added.
1630         * html/HTMLParser.cpp:
1631         * html/HTMLPreElement.cpp: Added.
1632         (WebCore::HTMLPreElement::HTMLPreElement):
1633         (WebCore::HTMLPreElement::setWrap):
1634         * html/HTMLPreElement.h: Added.
1635         * html/HTMLTextFieldInnerElement.h:
1636         * html/html_blockimpl.cpp: Removed.
1637         * html/html_blockimpl.h: Removed.
1638         * rendering/RenderLayer.cpp:
1639
1640 2006-05-15  Eric Seidel  <eseidel@apple.com>
1641
1642         Reviewed by ggaren.
1643
1644         Split render_list.* and html_listimpl.* into separate files (one per class).
1645         http://bugzilla.opendarwin.org/show_bug.cgi?id=8925
1646
1647         * WebCore.xcodeproj/project.pbxproj:
1648         * bindings/js/kjs_html.cpp:
1649         * bindings/objc/DOMHTML.mm:
1650         * bridge/mac/FrameMac.mm:
1651         (WebCore::FrameMac::attributedString):
1652         * html/HTMLDListElement.cpp: Added.
1653         (WebCore::HTMLDListElement::HTMLDListElement):
1654         * html/HTMLDListElement.h: Added.
1655         * html/HTMLDirectoryElement.cpp: Added.
1656         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
1657         * html/HTMLDirectoryElement.h: Added.
1658         * html/HTMLElementFactory.cpp:
1659         * html/HTMLKeygenElement.cpp:
1660         * html/HTMLLIElement.cpp: Added.
1661         (WebCore::HTMLLIElement::HTMLLIElement):
1662         (WebCore::HTMLLIElement::parseMappedAttribute):
1663         (WebCore::HTMLLIElement::attach):
1664         (WebCore::HTMLLIElement::setType):
1665         * html/HTMLLIElement.h: Added.
1666         * html/HTMLMenuElement.cpp: Added.
1667         (WebCore::HTMLMenuElement::HTMLMenuElement):
1668         * html/HTMLMenuElement.h: Added.
1669         * html/HTMLOListElement.cpp: Added.
1670         (WebCore::HTMLOListElement::HTMLOListElement):
1671         (WebCore::HTMLOListElement::parseMappedAttribute):
1672         (WebCore::HTMLOListElement::setType):
1673         * html/HTMLOListElement.h: Added.
1674         (WebCore::HTMLOListElement::start):
1675         * html/HTMLOptionElement.cpp:
1676         (WebCore::HTMLOptionElement::HTMLOptionElement):
1677         (WebCore::HTMLOptionElement::checkDTD):
1678         (WebCore::HTMLOptionElement::text):
1679         (WebCore::HTMLOptionElement::setText):
1680         (WebCore::HTMLOptionElement::getSelect):
1681         (WebCore::HTMLOptionElement::setLabel):
1682         * html/HTMLOptionElement.h:
1683         * html/HTMLParser.cpp:
1684         * html/HTMLSelectElement.cpp:
1685         (WebCore::HTMLSelectElement::HTMLSelectElement):
1686         * html/HTMLUListElement.cpp: Added.
1687         (WebCore::HTMLUListElement::HTMLUListElement):
1688         * html/HTMLUListElement.h: Added.
1689         * html/html_listimpl.cpp: Removed.
1690         * html/html_listimpl.h: Removed.
1691         * kwq/WebCoreAXObject.mm:
1692         * rendering/InlineFlowBox.cpp:
1693         * rendering/ListMarkerBox.cpp: Added.
1694         (WebCore::ListMarkerBox::ListMarkerBox):
1695         (WebCore::ListMarkerBox::isText):
1696         * rendering/ListMarkerBox.h: Added.
1697         * rendering/RenderContainer.cpp:
1698         (WebCore::updateListMarkerNumbers):
1699         (WebCore::RenderContainer::addChild):
1700         (WebCore::RenderContainer::removeChild):
1701         (WebCore::RenderContainer::layout):
1702         (WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
1703         (WebCore::RenderContainer::positionForCoordinates):
1704         (WebCore::RenderContainer::lineBoxRects):
1705         * rendering/RenderListItem.cpp: Added.
1706         (WebCore::RenderListItem::RenderListItem):
1707         (WebCore::RenderListItem::setStyle):
1708         (WebCore::RenderListItem::calcValue):
1709         (WebCore::RenderListItem::markerStringValue):
1710         * rendering/RenderListItem.h: Added.
1711         (WebCore::RenderListItem::renderName):
1712         (WebCore::RenderListItem::setValue):
1713         (WebCore::RenderListItem::setNotInList):
1714         (WebCore::RenderListItem::notInList):
1715         * rendering/RenderListMarker.cpp: Added.
1716         (WebCore::RenderListMarker::RenderListMarker):
1717         (WebCore::RenderListMarker::setStyle):
1718         (WebCore::RenderListMarker::paint):
1719         (WebCore::RenderListMarker::layout):
1720         (WebCore::RenderListMarker::calcMinMaxWidth):
1721         * rendering/RenderListMarker.h: Added.
1722         (WebCore::RenderListMarker::renderName):
1723         * rendering/RenderObject.cpp:
1724         * rendering/render_list.cpp: Removed.
1725         * rendering/render_list.h: Removed.
1726
1727 2006-05-15  Sam Weinig  <sam.weinig@gmail.com>
1728
1729         Reviewed by eseidel.
1730
1731         Split render_form.* into separate files (one per class).
1732         http://bugzilla.opendarwin.org/show_bug.cgi?id=8889
1733
1734         * WebCore.xcodeproj/project.pbxproj:
1735         * html/HTMLButtonElement.cpp:
1736         (WebCore::HTMLButtonElement::HTMLButtonElement):
1737         * html/HTMLFieldSetElement.cpp:
1738         * html/HTMLFormElement.cpp:
1739         * html/HTMLInputElement.cpp:
1740         * html/HTMLLabelElement.cpp:
1741         * html/HTMLLegendElement.cpp:
1742         (WebCore::HTMLLegendElement::createRenderer):
1743         * html/HTMLOptionElement.cpp:
1744         * html/HTMLSelectElement.cpp:
1745         * html/HTMLTextAreaElement.cpp:
1746         (WebCore::HTMLTextAreaElement::selectionStart):
1747         (WebCore::HTMLTextAreaElement::selectionEnd):
1748         (WebCore::HTMLTextAreaElement::setSelectionStart):
1749         (WebCore::HTMLTextAreaElement::setSelectionEnd):
1750         (WebCore::HTMLTextAreaElement::setSelectionRange):
1751         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1752         (WebCore::HTMLTextAreaElement::createRenderer):
1753         (WebCore::HTMLTextAreaElement::setValue):
1754         (WebCore::HTMLTextAreaElement::setDefaultValue):
1755         (WebCore::HTMLTextAreaElement::setAccessKey):
1756         * kwq/KWQComboBox.mm:
1757         * kwq/KWQFileButton.mm:
1758         * kwq/KWQListBox.mm:
1759         * kwq/KWQSlider.mm:
1760         * platform/mac/WebCoreTextField.mm:
1761         * rendering/RenderFieldset.cpp: Added.
1762         (WebCore::RenderFieldset::RenderFieldset):
1763         (WebCore::RenderFieldset::findLegend):
1764         (WebCore::RenderFieldset::paintBorderMinusLegend):
1765         (WebCore::RenderFieldset::setStyle):
1766         * rendering/RenderFieldset.h: Added.
1767         (WebCore::RenderFieldset::renderName):
1768         * rendering/RenderFileButton.cpp: Added.
1769         (WebCore::RenderFileButton::RenderFileButton):
1770         (WebCore::RenderFileButton::calcMinMaxWidth):
1771         (WebCore::RenderFileButton::updateFromElement):
1772         (WebCore::RenderFileButton::click):
1773         * rendering/RenderFileButton.h: Added.
1774         (WebCore::RenderFileButton::renderName):
1775         (WebCore::RenderFileButton::calcReplacedHeight):
1776         (WebCore::RenderFileButton::isEditable):
1777         * rendering/RenderFormElement.cpp: Added.
1778         (WebCore::RenderFormElement::RenderFormElement):
1779         (WebCore::RenderFormElement::baselinePosition):
1780         (WebCore::RenderFormElement::layout):
1781         * rendering/RenderFormElement.h: Added.
1782         (WebCore::RenderFormElement::renderName):
1783         (WebCore::RenderFormElement::isFormElement):
1784         (WebCore::RenderFormElement::borderTop):
1785         (WebCore::RenderFormElement::borderBottom):
1786         (WebCore::RenderFormElement::borderLeft):
1787         (WebCore::RenderFormElement::borderRight):
1788         (WebCore::RenderFormElement::paddingTop):
1789         (WebCore::RenderFormElement::paddingBottom):
1790         (WebCore::RenderFormElement::paddingLeft):
1791         (WebCore::RenderFormElement::paddingRight):
1792         (WebCore::RenderFormElement::canHaveIntrinsicMargins):
1793         (WebCore::RenderFormElement::intrinsicMargin):
1794         (WebCore::RenderFormElement::isEditable):
1795         * rendering/RenderImageButton.cpp: Added.
1796         (WebCore::RenderImageButton::RenderImageButton):
1797         * rendering/RenderImageButton.h: Added.
1798         (WebCore::RenderImageButton::renderName):
1799         (WebCore::RenderImageButton::isImageButton):
1800         * rendering/RenderLabel.cpp: Added.
1801         (WebCore::RenderLabel::RenderLabel):
1802         * rendering/RenderLabel.h: Added.
1803         (WebCore::RenderLabel::renderName):
1804         * rendering/RenderLegend.cpp: Added.
1805         (WebCore::RenderLegend::RenderLegend):
1806         * rendering/RenderLegend.h: Added.
1807         (WebCore::RenderLegend::renderName):
1808         * rendering/RenderLineEdit.cpp: Added.
1809         (WebCore::RenderLineEdit::RenderLineEdit):
1810         * rendering/RenderLineEdit.h: Added.
1811         (WebCore::RenderLineEdit::renderName):
1812         (WebCore::RenderLineEdit::calcReplacedHeight):
1813         (WebCore::RenderLineEdit::canHaveIntrinsicMargins):
1814         (WebCore::RenderLineEdit::isTextField):
1815         (WebCore::RenderLineEdit::isEditable):
1816         * rendering/RenderSelect.cpp: Added.
1817         (WebCore::RenderSelect::RenderSelect):
1818         (WebCore::RenderSelect::setWidgetWritingDirection):
1819         (WebCore::RenderSelect::setStyle):
1820         (WebCore::RenderSelect::updateFromElement):
1821         (WebCore::RenderSelect::baselinePosition):
1822         (WebCore::RenderSelect::calcMinMaxWidth):
1823         (WebCore::RenderSelect::layout):
1824         (WebCore::RenderSelect::valueChanged):
1825         (WebCore::RenderSelect::selectionChanged):
1826         (WebCore::RenderSelect::updateSelection):
1827         * rendering/RenderSelect.h: Added.
1828         (WebCore::RenderSelect::renderName):
1829         (WebCore::RenderSelect::calcReplacedHeight):
1830         (WebCore::RenderSelect::canHaveIntrinsicMargins):
1831         (WebCore::RenderSelect::selectionChanged):
1832         (WebCore::RenderSelect::setSelectionChanged):
1833         * rendering/RenderSlider.cpp: Added.
1834         (WebCore::RenderSlider::calcMinMaxWidth):
1835         (WebCore::RenderSlider::updateFromElement):
1836         * rendering/RenderSlider.h: Added.
1837         (WebCore::RenderSlider::renderName):
1838         (WebCore::RenderSlider::canHaveIntrinsicMargins):
1839         * rendering/RenderTextArea.cpp: Added.
1840         (WebCore::RenderTextArea::RenderTextArea):
1841         (WebCore::RenderTextArea::calcMinMaxWidth):
1842         (WebCore::RenderTextArea::setStyle):
1843         (WebCore::RenderTextArea::updateFromElement):
1844         (WebCore::RenderTextArea::selectionStart):
1845         (WebCore::RenderTextArea::selectionEnd):
1846         (WebCore::RenderTextArea::setSelectionStart):
1847         (WebCore::RenderTextArea::setSelectionEnd):
1848         (WebCore::RenderTextArea::select):
1849         (WebCore::RenderTextArea::setSelectionRange):
1850         * rendering/RenderTextArea.h: Added.
1851         (WebCore::RenderTextArea::renderName):
1852         (WebCore::RenderTextArea::isTextArea):
1853         (WebCore::RenderTextArea::isEdited):
1854         (WebCore::RenderTextArea::canHaveIntrinsicMargins):
1855         (WebCore::RenderTextArea::isEditable):
1856         * rendering/render_form.cpp: Removed.
1857         * rendering/render_form.h: Removed.
1858
1859 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
1860
1861         Reviewed by Eric.
1862
1863         Remove the XPath log calls. They were causing leaks and were never
1864         really useful.
1865         
1866         * bridge/mac/WebCorePageBridge.mm:
1867         (initializeLoggingChannelsIfNecessary):
1868         * platform/Logging.cpp:
1869         * platform/Logging.h:
1870         * xpath/XPathResult.cpp:
1871         (WebCore::XPathResult::convertTo):
1872         * xpath/impl/XPathFunctions.cpp:
1873         (round):
1874         (WebCore::XPath::FunCount::doEvaluate):
1875         (WebCore::XPath::FunSum::doEvaluate):
1876         (WebCore::XPath::FunctionLibrary::createFunction):
1877         * xpath/impl/XPathPath.cpp:
1878         (WebCore::XPath::Filter::doEvaluate):
1879         (WebCore::XPath::LocationPath::doEvaluate):
1880         * xpath/impl/XPathPredicate.cpp:
1881         (WebCore::XPath::Negative::doEvaluate):
1882         (WebCore::XPath::NumericOp::doEvaluate):
1883         (WebCore::XPath::Union::doEvaluate):
1884         * xpath/impl/XPathStep.cpp:
1885         (WebCore::XPath::Step::evaluate):
1886         (WebCore::XPath::Step::nodesInAxis):
1887         (WebCore::XPath::Step::nodeTestMatches):
1888         * xpath/impl/XPathValue.cpp:
1889         (WebCore::XPath::Value::toNodeVector):
1890
1891 2006-05-15  Eric Seidel  <eseidel@apple.com>
1892
1893         Fix linux build.
1894
1895         * html/HTMLBodyElement.cpp: Fix case of #include "cssstyleselector.h"
1896
1897 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
1898
1899         Reviewed by Maciej.
1900
1901         http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
1902         REGRESSION: Can view source for text files
1903         
1904         * bridge/mac/WebCoreFrameBridge.h:
1905         * bridge/mac/WebCoreFrameBridge.mm:
1906         (-[WebCoreFrameBridge canProvideDocumentSource]):
1907         (-[WebCoreFrameBridge canSaveAsWebArchive]):
1908
1909 2006-05-15  David Hyatt  <hyatt@apple.com>
1910
1911         Remove the .forPrinter boolean from FontPlatformData.  After the initial
1912         acquisition of an NSFont, the font is then adjusted to printer or screen
1913         when put into a FontPlatformData.  Then it can simply be used in the hash
1914         lookup to get a FontData.
1915
1916         Reviewed by mjs
1917
1918         * platform/Font.cpp:
1919         (WebCore::WidthIterator::advance):
1920         * platform/FontData.h:
1921         * platform/FontDescription.h:
1922         (WebCore::FontDescription::bold):
1923         * platform/FontPlatformData.h:
1924         (WebCore::FontPlatformData::syntheticOblique):
1925         * platform/mac/FontCacheMac.mm:
1926         (WebCore::FontCache::getFontDataForCharacters):
1927         * platform/mac/FontData.mm:
1928         (WebCore::FontData::smallCapsFontData):
1929         (WebCore::getSmallCapsFontData):
1930         (WebCore::setUpFont):
1931         * platform/mac/FontMac.mm:
1932         (WebCore::ATSULayoutParameters::initialize):
1933         * platform/mac/WebTextRendererFactory.h:
1934         * platform/mac/WebTextRendererFactory.mm:
1935         (-[WebTextRendererFactory rendererWithFont:]):
1936         (-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):
1937
1938 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
1939
1940         Reviewed by Maciej.
1941
1942         * dom/Document.idl:
1943         Remove #if XPATH_SUPPORT until we have a way to feed defines to the bindings generator
1944         (see http://bugzilla.opendarwin.org/show_bug.cgi?id=8912)
1945
1946 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1947
1948         Reviewed by Hyatt.
1949
1950         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6838
1951           Incomplete repaint of collapsed table borders
1952           
1953         This patch updates the implementation of collapsing borders to match
1954         the current spec.
1955
1956         Test: fast/repaint/table-collapsed-border.html
1957
1958         * rendering/RenderTable.cpp:
1959         (WebCore::RenderTable::RenderTable):
1960         (WebCore::RenderTable::layout): Calculate horizontal overflows.
1961         (WebCore::RenderTable::calcMinMaxWidth): Added call to recalcHorizontalBorders.
1962         (WebCore::RenderTable::colElement): Made const.
1963         (WebCore::RenderTable::calcBorderLeft): Calculates the left border. In the collapsing
1964         borders model, this is the left border of the leftmost cell of the first row.
1965         (WebCore::RenderTable::calcBorderRight): Ditto for the right border.
1966         (WebCore::RenderTable::recalcHorizontalBorders): Added.
1967         (WebCore::RenderTable::borderTop): Changed to return outerBorderTop in the
1968         collapsing case.
1969         (WebCore::RenderTable::borderBottom): Changed to return outerBorderBottom in
1970         the collapsing case.
1971         (WebCore::RenderTable::outerBorderTop): Added. Returns the table half of the
1972         top border, which is half the widest top border on the first row.
1973         (WebCore::RenderTable::outerBorderBottom): Added. Returns the table half of the
1974         bottom border, which is half the widest bottom border on the last row.
1975         (WebCore::RenderTable::outerBorderLeft): Added. Returns the table half of the
1976         left border, which is half the widest left border on the leftmost column.
1977         (WebCore::RenderTable::outerBorderRight): Added. Returns the table half of the
1978         right border, which is half the widest right border on the rightmost column.
1979         (WebCore::RenderTable::cellAbove): Return 0 if the cell is in the first row
1980         of the header.
1981         (WebCore::RenderTable::cellBelow): Return 0 if the cell is in the last row
1982         of the footer.
1983         * rendering/RenderTable.h:
1984         (WebCore::RenderTable::borderLeft):
1985         (WebCore::RenderTable::borderRight):
1986         (WebCore::RenderTable::overflowHeight):
1987         * rendering/RenderTableCell.cpp:
1988         (WebCore::RenderTableCell::borderLeft): Removed unnecessary use of floats.
1989         (WebCore::RenderTableCell::borderTop): Ditto.
1990         (WebCore::RenderTableCell::paint): Account for the table half of the vertical
1991         borders.
1992         (WebCore::RenderTableCell::paintCollapsedBorder): Removed unnecessary use of
1993         floats.
1994         * rendering/RenderTableSection.cpp:
1995         (WebCore::RenderTableSection::RenderTableSection):
1996         (WebCore::RenderTableSection::layoutRows): Added call to recalcOuterBorder.
1997         (WebCore::RenderTableSection::calcOuterBorderTop): Added. Calculates the outer half of
1998         the section's top border, which is half the widest top border on the first row.
1999         (WebCore::RenderTableSection::calcOuterBorderBottom): Ditto for the bottom border.
2000         (WebCore::RenderTableSection::calcOuterBorderLeft): Ditto for the left border.
2001         (WebCore::RenderTableSection::calcOuterBorderRight): Ditto for the right border.
2002         (WebCore::RenderTableSection::recalcOuterBorder): Added.
2003         (WebCore::RenderTableSection::paint): Account for the table half of the borders.
2004         * rendering/RenderTableSection.h:
2005         (WebCore::RenderTableSection::outerBorderTop):
2006         (WebCore::RenderTableSection::outerBorderBottom):
2007         (WebCore::RenderTableSection::outerBorderLeft):
2008         (WebCore::RenderTableSection::outerBorderRight):
2009         * rendering/render_style.cpp:
2010         (WebCore::RenderStyle::diff): Changed to return Layout if a border style changed
2011         from 'hidden' to 'none' or vice versa in the collapsing borders model, since
2012         'hidden' suppresses other borders.
2013
2014 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2015
2016         Reviewed by Darin.
2017
2018         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8739
2019           Crash in RenderTableSection::paint due to manipulating DOM on resize
2020
2021         * manual-tests/dom-manipulation-on-resize.html: Added.
2022
2023 2006-05-14  Rob Buis  <buis@kde.org>
2024
2025         Reviewed by Darin.
2026
2027         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5882:
2028         disabled type="file" element doesn't appear disabled
2029
2030         Be sure to call setDisabled on the file button when in
2031         RenderFileButton::updateFromElement.
2032
2033         * kwq/KWQFileButton.h:
2034         * kwq/KWQFileButton.mm:
2035         (-[WebFileChooserButton setEnabled:]):
2036         (KWQFileButton::setDisabled):
2037         * rendering/render_form.cpp:
2038         (WebCore::RenderFileButton::updateFromElement):
2039
2040 2006-05-14  Steve Falkenburg  <sfalken@apple.com>
2041
2042         Fix Windows build.
2043
2044         * platform/win/FontWin.cpp:
2045         (WebCore::FontFallbackList::fontDataAt):
2046         (WebCore::hackishExtentForString):
2047         (WebCore::Font::floatWidth):
2048         (WebCore::Font::drawText):
2049         (WebCore::Font::selectionRectForText):
2050         (WebCore::Font::offsetForPosition):
2051
2052 2006-05-14  David Hyatt  <hyatt@apple.com>
2053
2054         Bug 8895.  Rework font substitution and fallback.  Lift the concept of
2055         substitution and fallback out of FontData and up into the FontFallbackList.
2056         See the bug for details of issues fixed in the fallback code.
2057
2058         Reviewed by darin
2059
2060         * WebCore.xcodeproj/project.pbxproj:
2061         * platform/Font.cpp:
2062         (WebCore::m_finalRoundingWidth):
2063         (WebCore::WidthIterator::advance):
2064         (WebCore::Font::primaryFont):
2065         (WebCore::Font::fontDataAt):
2066         (WebCore::Font::fontDataForCharacters):
2067         (WebCore::Font::ascent):
2068         (WebCore::Font::descent):
2069         (WebCore::Font::lineSpacing):
2070         (WebCore::Font::xHeight):
2071         (WebCore::Font::isFixedPitch):
2072         * platform/Font.h:
2073         (WebCore::Font::getNSFont):
2074         * platform/FontCache.h: Added.
2075         * platform/FontData.h:
2076         (WebCore::FontData::pitch):
2077         (WebCore::FontData::getNSFont):
2078         (WebCore::):
2079         * platform/FontFallbackList.cpp: Added.
2080         (WebCore::m_pitch):
2081         (WebCore::FontFallbackList::~FontFallbackList):
2082         (WebCore::FontFallbackList::invalidate):
2083         (WebCore::FontFallbackList::determinePitch):
2084         (WebCore::FontFallbackList::fontDataAt):
2085         (WebCore::FontFallbackList::fontDataForCharacters):
2086         * platform/FontFallbackList.h:
2087         (WebCore::FontFallbackList::isFixedPitch):
2088         (WebCore::FontFallbackList::primaryFont):
2089         * platform/FontFamily.h:
2090         * platform/mac/FontCacheMac.mm: Added.
2091         (WebCore::FontCache::getFontData):
2092         (WebCore::FontCache::getFontDataForCharacters):
2093         * platform/mac/FontData.mm:
2094         (WebCore::FontData::containsCharacters):
2095         * platform/mac/FontMac.mm:
2096         (WebCore::ATSULayoutParameters::initialize):
2097         * platform/mac/WebTextRendererFactory.h:
2098         * platform/mac/WebTextRendererFactory.mm:
2099         (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
2100         (-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):
2101         * platform/win/FontWin.cpp:
2102         (WebCore::FontFallbackList::determinePitch):
2103         (WebCore::FontFallbackList::primaryFont):
2104         (WebCore::FontFallbackList::fontDataAt):
2105         (WebCore::FontFallbackList::fontDataForCharacters):
2106
2107 2006-05-14  Sam Weinig  <sam.weinig@gmail.com>
2108
2109         Reviewed by Hyatt, landed by ap.
2110
2111         Fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8387>
2112         "border-left/padding-Left do not show up on multiline rtl inline boxes"
2113
2114         Test: fast/inline/inline-borders-with-bidi-override.html: added
2115
2116         * rendering/InlineFlowBox.cpp:
2117         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2118
2119 2006-05-14  Steve Falkenburg  <sfalken@apple.com>
2120
2121         Fix the Windows build the rest of the way
2122
2123         * WebCore.vcproj/WebCore/WebCore.vcproj:
2124
2125 2006-05-14  Steve Falkenburg  <sfalken@apple.com>
2126
2127         Get FontWin.cpp compiling.
2128         WebCore and JSCore now build, but Spinneret still gets link errors.
2129
2130         * platform/win/FontWin.cpp:
2131         (WebCore::Font::offsetForPosition):
2132
2133 2006-05-14  Steve Falkenburg  <sfalken@apple.com>
2134
2135         Reviewed by maciej.
2136
2137         Fix Windows build except for fontwin.cpp.
2138
2139         * WebCore/platform/win/FontWin.cpp:
2140         * WebCore.vcproj/WebCore/WebCore.vcproj:
2141         * bridge/win/FrameWin.cpp:
2142
2143 2006-05-13  Kevin M. Ollivier  <kevino@theolliviers.com>
2144
2145         Reviewed by Darin, landed by ap.
2146
2147         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8528
2148           Bakefiles (and generated Makefiles) for wx and gdk ports
2149         
2150         * make-generated-sources.sh: 
2151         Added script to configure environment to run DerivedSources.make
2152         
2153         * move-js-headers.sh:
2154         Added script to copy JavaScriptCore includes into one dir so that 
2155         Framework-style includes will work on all OSes. (written by Mike Emmel)
2156         
2157         * platform/wx: New dir, home for the wxWidgets port
2158         * platform/wx/wx-encodings.txt: Added temp. stub for wx encodings file.
2159         
2160         * Projects: New dir, for various project files for ports.
2161         
2162         * Projects/gdk: New dir, GDK port files.
2163         * Projects/webcore-gdk.bkl: Bakefile to generate GDK port project files
2164         
2165         * Projects/wx: New dir, wxWidgets port files.
2166         * Projects/webcore-wx.bkl: Bakefile to generate wxWidgets port project files
2167
2168 2006-05-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2169
2170         Reviewed by Darin, landed by ap.
2171
2172         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8485
2173           iExploder(#11705): Freeze in RenderBlock::layout()
2174
2175         Test: fast/text/midword-break-hang.html
2176
2177         * rendering/bidi.cpp:
2178         (WebCore::RenderBlock::findNextLineBreak): If this is a mid-word break,
2179         ignore breakOnlyAfterWhiteSpace.
2180
2181 2006-05-13  Alexey Proskuryakov  <ap@nypop.com>
2182
2183         Fix release build.
2184
2185         * rendering/RenderBox.cpp:
2186         (WebCore::RenderBox::calcAbsoluteHorizontalValues): Initialize leftValue. 
2187         This value will never be used, because 'left' and 'right' cannot both be 'auto'.
2188         (WebCore::RenderBox::calcAbsoluteVerticalValues): Initialize topValue. 
2189         (WebCore::RenderBox::calcAbsoluteVerticalReplaced): Same changes as above. 
2190
2191 2006-05-13  Alexey Proskuryakov  <ap@nypop.com>
2192
2193         Re-applied the fix for bug 8835 (REGRESSION: Line moves but selection
2194         highlight stays behind) to a correct file; removed the stale one.
2195
2196         * rendering/RootInlineBox.cpp:
2197         (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
2198         and m_selectionBottom.
2199         * rendering/render_line.cpp: Removed.
2200
2201 2006-05-13  Rob Buis  <buis@kde.org>
2202
2203         Reviewed by Darin, landed by ap.
2204
2205         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8132
2206         CSS parser sometimes accepts real number as integer
2207
2208         Add a boolean variable per css value to catch whether values
2209         are specified as floats or integers.
2210
2211         Test: fast/css/rgb-float.html
2212
2213         * css/CSSGrammar.y:
2214         * css/cssparser.cpp:
2215         (WebCore::CSSParser::validUnit):
2216         (WebCore::CSSParser::lex):
2217         * css/cssparser.h:
2218         * css/tokenizer.flex:
2219
2220 2006-05-13  Sam Weinig  <sam.weinig@gmail.com>
2221
2222         Reviewed by Hyatt, landed by ap.
2223
2224         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=7604
2225         calcAbsoluteHorizontalValues() is being getting passed arguments
2226         in the wrong order in calcAbsoluteHorizontal()
2227
2228         Cleans up the RenderBox code for absolutely positioned elements
2229         and adds new functions for replaced absolutely positioned 
2230         elements. Now uses Length so that magic number -666666 for 
2231         auto lengths is no longer used.
2232
2233         * rendering/RenderBox.cpp:
2234         (WebCore::RenderBox::calcAbsoluteHorizontal):
2235         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
2236         (WebCore::RenderBox::calcAbsoluteVertical):
2237         (WebCore::RenderBox::calcAbsoluteVerticalValues): 
2238         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Handle replaced
2239         case separately.
2240         (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto.
2241         * rendering/RenderBox.h:
2242
2243 2006-05-12  David Hyatt  <hyatt@apple.com>
2244
2245         Bug 8880, remove the remaining drawing/hit testing code from
2246         FontData.
2247
2248         Reviewed by tim h
2249
2250         * platform/Font.cpp:
2251         (WebCore::m_finalRoundingWidth):
2252         (WebCore::WidthIterator::advanceOneCharacter):
2253         (WebCore::Font::selectionRectForText):
2254         (WebCore::Font::selectionRectForSimpleText):
2255         (WebCore::Font::offsetForPosition):
2256         (WebCore::Font::offsetForPositionForSimpleText):
2257         * platform/Font.h:
2258         (WebCore::TextRun::makeComplete):
2259         * platform/FontData.h:
2260         * platform/GlyphBuffer.h:
2261         (WebCore::GlyphBuffer::clear):
2262         * platform/mac/FontData.mm:
2263         * platform/mac/FontMac.mm:
2264         (WebCore::Font::selectionRectForComplexText):
2265         (WebCore::Font::offsetForPositionForComplexText):
2266
2267 2006-05-12  Kevin M. Ollivier  <kevino@theolliviers.com>
2268
2269         Reviewed by Maciej.
2270
2271         Add missing include.
2272         
2273         * dom/Node.h: Add missing include for DeprecatedString.
2274
2275 2006-05-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2276
2277         Reviewed by Darin.
2278
2279         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8835
2280           REGRESSION: Line moves but selection highlight stays behind
2281
2282         Test: fast/dynamic/selection-highlight-adjust.html
2283
2284         * rendering/render_line.cpp:
2285         (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
2286         and m_selectionBottom.
2287
2288 2006-05-12  Timothy Hatcher  <timothy@apple.com>
2289
2290         Reviewed by Darin.
2291
2292         http://bugzilla.opendarwin.org/show_bug.cgi?id=7156
2293         Bug 7156: TinyMCE: Links are actually activated in editable area, not editable.
2294         
2295         Links in editable areas will not activate or perform a navigation
2296         change (on par with WinIE and Firefox.) To visit the link
2297         you can shift-click. Manual test added.
2298
2299         * css/cssstyleselector.cpp:
2300         (WebCore::CSSStyleSelector::adjustRenderStyle):
2301         * html/HTMLAnchorElement.cpp:
2302         (WebCore::HTMLAnchorElement::defaultEventHandler):
2303         (WebCore::HTMLAnchorElement::setActive):
2304         * html/HTMLAnchorElement.h:
2305         * manual-tests/contenteditable-link.html: Added.
2306         * page/FrameView.cpp:
2307         (WebCore::selectCursor):
2308
2309 2006-05-12  Eric Seidel  <eseidel@apple.com>
2310
2311         Reviewed by timo.
2312
2313         Split out html_inlineimpl.* into separate files (one per class).
2314
2315         * WebCore.xcodeproj/project.pbxproj:
2316         * bindings/js/kjs_html.cpp:
2317         * bindings/objc/DOMHTML.mm:
2318         * editing/CreateLinkCommand.cpp:
2319         * editing/UnlinkCommand.cpp:
2320         * html/HTMLAnchorElement.cpp: Added.
2321         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
2322         * html/HTMLAnchorElement.h: Added.
2323         * html/HTMLBRElement.cpp: Added.
2324         * html/HTMLBRElement.h: Added.
2325         * html/HTMLElementFactory.cpp:
2326         * html/HTMLFontElement.cpp: Added.
2327         (WebCore::HTMLFontElement::HTMLFontElement):
2328         (WebCore::HTMLFontElement::setColor):
2329         (WebCore::HTMLFontElement::setFace):
2330         (WebCore::HTMLFontElement::setSize):
2331         * html/HTMLFontElement.h: Added.
2332         * html/HTMLModElement.cpp: Added.
2333         (WebCore::HTMLModElement::setCite):
2334         (WebCore::HTMLModElement::setDateTime):
2335         * html/HTMLModElement.h: Added.
2336         * html/HTMLQuoteElement.cpp: Added.
2337         * html/HTMLQuoteElement.h: Added.
2338         * html/html_imageimpl.h:
2339         * html/html_inlineimpl.cpp: Removed.
2340         * html/html_inlineimpl.h: Removed.
2341         * page/FrameView.cpp:
2342
2343 2006-05-12  Eric Seidel  <eseidel@apple.com>
2344
2345         Reviewed by beth.
2346
2347         Fix build error.
2348
2349         * rendering/InlineFlowBox.cpp:
2350         * rendering/RootInlineBox.cpp:
2351
2352 2006-05-12  Eric Seidel  <eseidel@apple.com>
2353
2354         Reviewed by beth.
2355
2356         Split out render_line.* into separate files (one per class).
2357
2358         * WebCore.xcodeproj/project.pbxproj:
2359         * dom/ContainerNode.cpp:
2360         * rendering/EllipsisBox.cpp: Added.
2361         * rendering/EllipsisBox.h: Added.
2362         (WebCore::EllipsisBox::EllipsisBox):
2363         * rendering/InlineBox.cpp: Added.
2364         * rendering/InlineBox.h: Added.
2365         (WebCore::InlineBox::InlineBox):
2366         (WebCore::InlineBox::~InlineBox):
2367         (WebCore::InlineBox::bottomOverflow):
2368         (WebCore::InlineBox::rightOverflow):
2369         * rendering/InlineFlowBox.cpp: Added.
2370         (WebCore::InlineFlowBox::placeBoxesHorizontally):
2371         * rendering/InlineFlowBox.h: Added.
2372         * rendering/InlineRunBox.h: Added.
2373         (WebCore::InlineRunBox::InlineRunBox):
2374         (WebCore::InlineRunBox::paintBackgroundAndBorder):
2375         (WebCore::InlineRunBox::paintDecorations):
2376         * rendering/InlineTextBox.h:
2377         * rendering/RenderBlock.h:
2378         * rendering/RenderFlow.h:
2379         * rendering/RenderReplaced.cpp:
2380         * rendering/RootInlineBox.cpp: Added.
2381         * rendering/RootInlineBox.h: Added.
2382         (WebCore::RootInlineBox::RootInlineBox):
2383         * rendering/render_line.h: Removed.
2384
2385 2006-05-12  Eric Seidel  <eseidel@apple.com>
2386
2387         Reviewed by hyatt.
2388
2389         Split out table_layout.* into separate files (one per class).
2390         Search replace instance variables "foo" with "m_foo" to comply with modern style.
2391
2392         * WebCore.xcodeproj/project.pbxproj:
2393         * rendering/AutoTableLayout.cpp: Added.
2394         (WebCore::AutoTableLayout::AutoTableLayout):
2395         (WebCore::AutoTableLayout::recalcColumn):
2396         (WebCore::AutoTableLayout::fullRecalc):
2397         (WebCore::AutoTableLayout::calcMinMaxWidth):
2398         (WebCore::AutoTableLayout::calcEffectiveWidth):
2399         (WebCore::AutoTableLayout::insertSpanCell):
2400         (WebCore::AutoTableLayout::layout):
2401         (WebCore::AutoTableLayout::calcPercentages):
2402         * rendering/AutoTableLayout.h: Added.
2403         (WebCore::AutoTableLayout::totalPercent):
2404         (WebCore::AutoTableLayout::Layout::Layout):
2405         * rendering/FixedTableLayout.cpp: Added.
2406         (WebCore::FixedTableLayout::FixedTableLayout):
2407         (WebCore::FixedTableLayout::calcWidthArray):
2408         (WebCore::FixedTableLayout::calcMinMaxWidth):
2409         (WebCore::FixedTableLayout::layout):
2410         * rendering/FixedTableLayout.h: Added.
2411         * rendering/RenderTable.cpp:
2412         * rendering/TableLayout.h: Added.
2413         (WebCore::TableLayout::TableLayout):
2414         * rendering/table_layout.cpp: Removed.
2415         * rendering/table_layout.h: Removed.
2416
2417 2006-05-12  David Hyatt  <hyatt@apple.com>
2418
2419         Bug 8877.  Change form controls and the bridge entry points from the
2420         Safari UI to use Font instead of FontData.
2421
2422         Reviewed by mjs
2423
2424         * bridge/mac/WebCoreStringTruncator.mm:
2425         (stringWidth):
2426         (truncateString):
2427         (+[WebCoreStringTruncator widthOfString:font:]):
2428         (+[WebCoreStringTruncator clear]):
2429         * kwq/KWQComboBox.mm:
2430         (QComboBox::sizeHint):
2431         * kwq/KWQLineEdit.mm:
2432         (QLineEdit::sizeForCharacterWidth):
2433         * kwq/KWQListBox.mm:
2434         (itemTextRenderer):
2435         (groupLabelTextRenderer):
2436         (QListBox::sizeForNumberOfLines):
2437         (QListBox::clearCachedTextRenderers):
2438         (-[KWQTableView drawRow:clipRect:]):
2439         * platform/Font.cpp:
2440         (WebCore::Font::drawSimpleText):
2441         (WebCore::Font::drawText):
2442         * platform/Font.h:
2443         (WebCore::TextStyle::disableRoundingHacks):
2444         (WebCore::TextStyle::setRTL):
2445         * platform/FontData.h:
2446         * platform/FontFallbackList.h:
2447         * platform/FontPlatformData.h:
2448         (WebCore::FontPlatformData::syntheticOblique):
2449         * platform/Pen.h:
2450         * platform/mac/FontData.mm:
2451         (WebCore::FontData::smallCapsFontData):
2452         (WebCore::findSubstituteRenderer):
2453         * platform/mac/FontMac.mm:
2454         (WebCore::FontFallbackList::setPlatformFont):
2455         (WebCore::m_wordSpacing):
2456         (WebCore::Font::drawComplexText):
2457         * platform/mac/WebCoreTextRenderer.mm:
2458         (WebCoreDrawTextAtPoint):
2459         (WebCoreTextFloatWidth):
2460         * platform/win/FontWin.cpp:
2461         (WebCore::Font::drawText):
2462         * rendering/InlineTextBox.cpp:
2463         (WebCore::InlineTextBox::positionForOffset):
2464
2465 2006-05-12  Eric Seidel  <eseidel@apple.com>
2466
2467         Reviewed by kevin.
2468
2469         Move render_button to RenderButton.
2470         Various small style cleanup.
2471
2472         * WebCore.xcodeproj/project.pbxproj:
2473         * html/HTMLButtonElement.cpp:
2474         * html/HTMLElement.cpp:
2475         * html/HTMLGenericFormElement.cpp:
2476         * html/HTMLInputElement.cpp:
2477         * platform/mac/WebCoreTextArea.mm:
2478         * rendering/RenderApplet.h:
2479         * rendering/RenderBox.cpp:
2480         * rendering/RenderButton.cpp: Added.
2481         (WebCore::RenderButton::RenderButton):
2482         (WebCore::RenderButton::addChild):
2483         (WebCore::RenderButton::removeChild):
2484         * rendering/RenderButton.h: Added.
2485         * rendering/RenderEmptyApplet.h:
2486         * rendering/RenderHTMLCanvas.h:
2487         * rendering/RenderTreeAsText.cpp:
2488         * rendering/render_button.cpp: Removed.
2489         * rendering/render_button.h: Removed.
2490         * rendering/table_layout.cpp:
2491         (WebCore::FixedTableLayout::FixedTableLayout):
2492         (WebCore::FixedTableLayout::calcWidthArray):
2493         (WebCore::FixedTableLayout::calcMinMaxWidth):
2494         (WebCore::FixedTableLayout::layout):
2495         (WebCore::AutoTableLayout::AutoTableLayout):
2496         (WebCore::AutoTableLayout::recalcColumn):
2497         (WebCore::AutoTableLayout::fullRecalc):
2498         (WebCore::AutoTableLayout::calcMinMaxWidth):
2499         (WebCore::AutoTableLayout::calcEffectiveWidth):
2500         (WebCore::AutoTableLayout::insertSpanCell):
2501         (WebCore::AutoTableLayout::layout):
2502         * rendering/table_layout.h:
2503         (WebCore::TableLayout::TableLayout):
2504         (WebCore::AutoTableLayout::totalPercent):
2505         (WebCore::AutoTableLayout::Layout::Layout):
2506
2507 2006-05-12  Eric Seidel  <eseidel@apple.com>
2508
2509         Reviewed by mjs.
2510
2511         Split render_frames.* render_replaced.* and html_baseimpl.* into separate files (one class per file).
2512         http://bugzilla.opendarwin.org/show_bug.cgi?id=8878
2513
2514         * WebCore.xcodeproj/project.pbxproj:
2515         * bindings/js/kjs_html.cpp:
2516         (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
2517         (KJS::JSHTMLDocument::namedItemGetter):
2518         (KJS::JSHTMLDocument::getValueProperty):
2519         (KJS::JSHTMLDocument::getOwnPropertySlot):
2520         (KJS::JSHTMLDocument::putValueProperty):
2521         (KJS::JSHTMLElement::formIndexGetter):
2522         (KJS::JSHTMLElement::formNameGetter):
2523         (KJS::JSHTMLElement::selectIndexGetter):
2524         (KJS::JSHTMLElement::framesetNameGetter):
2525         (KJS::JSHTMLElement::runtimeObjectGetter):
2526         (KJS::JSHTMLElement::runtimeObjectPropertyGetter):
2527         (KJS::JSHTMLElement::getOwnPropertySlot):
2528         (KJS::JSHTMLElement::implementsCall):
2529         (KJS::JSHTMLElement::callAsFunction):
2530         (KJS::JSHTMLElement::getValueProperty):
2531         (KJS::JSHTMLElement::toString):
2532         (KJS::getForm):
2533         (KJS::JSHTMLElement::pushEventHandlerScope):
2534         (KJS::HTMLElementFunction::callAsFunction):
2535         (KJS::JSHTMLElement::put):
2536         (KJS::JSHTMLElement::selectSetter):
2537         (KJS::JSHTMLElement::putValueProperty):
2538         (KJS::toHTMLElement):
2539         (KJS::toHTMLTableCaptionElement):
2540         (KJS::toHTMLTableSectionElement):
2541         (KJS::JSHTMLCollection::lengthGetter):
2542         (KJS::JSHTMLCollection::indexGetter):
2543         (KJS::JSHTMLCollection::nameGetter):
2544         (KJS::JSHTMLCollection::getOwnPropertySlot):
2545         (KJS::HTMLCollectionProtoFunc::callAsFunction):
2546         (KJS::JSHTMLSelectCollection::selectedIndexGetter):
2547         (KJS::JSHTMLSelectCollection::put):
2548         (KJS::OptionConstructorImp::construct):
2549         (KJS::getSelectHTMLCollection):
2550         * bindings/objc/DOMHTML.mm:
2551         * bridge/mac/FrameMac.mm:
2552         (WebCore::FrameMac::createFrame):
2553         * bridge/mac/WebCoreFrameBridge.mm:
2554         (-[WebCoreFrameBridge copyRenderNode:copier:]):
2555         * dom/Document.cpp:
2556         (WebCore::widgetForNode):
2557         * html/HTMLBodyElement.cpp: Added.
2558         (WebCore::HTMLBodyElement::HTMLBodyElement):
2559         (WebCore::HTMLBodyElement::parseMappedAttribute):
2560         * html/HTMLBodyElement.h: Added.
2561         * html/HTMLDocument.cpp:
2562         * html/HTMLElementFactory.cpp:
2563         * html/HTMLEmbedElement.cpp:
2564         * html/HTMLFrameElement.cpp: Added.
2565         (WebCore::HTMLFrameElement::isURLAllowed):
2566         (WebCore::HTMLFrameElement::parseMappedAttribute):
2567         (WebCore::HTMLFrameElement::setLocation):
2568         * html/HTMLFrameElement.h: Added.
2569         * html/HTMLFrameSetElement.cpp: Added.
2570         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
2571         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2572         (WebCore::HTMLFrameSetElement::attach):
2573         (WebCore::HTMLFrameSetElement::defaultEventHandler):
2574         (WebCore::HTMLFrameSetElement::recalcStyle):
2575         * html/HTMLFrameSetElement.h: Added.
2576         * html/HTMLHeadElement.cpp: Added.
2577         (WebCore::HTMLHeadElement::HTMLHeadElement):
2578         * html/HTMLHeadElement.h: Added.
2579         * html/HTMLHtmlElement.cpp: Added.
2580         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
2581         * html/HTMLHtmlElement.h: Added.
2582         * html/HTMLIFrameElement.cpp: Added.
2583         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
2584         * html/HTMLIFrameElement.h: Added.
2585         * html/HTMLObjectElement.cpp:
2586         * html/HTMLParser.cpp:
2587         * html/html_baseimpl.cpp: Removed.
2588         * html/html_baseimpl.h: Removed.
2589         * kwq/WebCoreAXObject.mm:
2590         * page/Frame.cpp:
2591         (WebCore::isFrameElement):
2592         (WebCore::Frame::applyEditingStyleToBodyElement):
2593         (WebCore::Frame::removeEditingStyleFromBodyElement):
2594         (WebCore::Frame::applyEditingStyleToElement):
2595         (WebCore::Frame::removeEditingStyleFromElement):
2596         (WebCore::Frame::selectionRect):
2597         (WebCore::Frame::isFrameSet):
2598         (WebCore::scanForForm):
2599         (WebCore::Frame::currentForm):
2600         (WebCore::Frame::nodeInfoAtPoint):
2601         (WebCore::Frame::adjustPageHeight):
2602         (WebCore::Frame::frameForWidget):
2603         (WebCore::Frame::forceLayoutWithPageWidthRange):
2604         (WebCore::Frame::passWidgetMouseDownEventToWidget):
2605         * page/FrameView.cpp:
2606         * rendering/RenderFrame.cpp: Added.
2607         (WebCore::RenderFrame::viewCleared):
2608         * rendering/RenderFrame.h: Added.
2609         * rendering/RenderFrameSet.cpp: Added.
2610         (WebCore::RenderFrameSet::RenderFrameSet):
2611         (WebCore::RenderFrameSet::~RenderFrameSet):
2612         (WebCore::RenderFrameSet::layout):
2613         (WebCore::RenderFrameSet::positionFrames):
2614         (WebCore::RenderFrameSet::userResize):
2615         (WebCore::RenderFrameSet::canResize):
2616         (WebCore::RenderFrameSet::dump):
2617         * rendering/RenderFrameSet.h: Added.
2618         * rendering/RenderImage.h:
2619         * rendering/RenderPart.cpp: Added.
2620         (WebCore::RenderPart::RenderPart):
2621         * rendering/RenderPart.h: Added.
2622         * rendering/RenderPartObject.cpp: Added.
2623         (WebCore::isURLAllowed):
2624         (WebCore::RenderPartObject::updateWidget):
2625         (WebCore::RenderPartObject::viewCleared):
2626         * rendering/RenderPartObject.h: Added.
2627         * rendering/RenderReplaced.cpp: Added.
2628         (WebCore::RenderReplaced::selectionColor):
2629         * rendering/RenderReplaced.h: Added.
2630         * rendering/RenderWidget.cpp: Added.
2631         (WebCore::RenderWidget::deleteWidget):
2632         * rendering/RenderWidget.h: Added.
2633         * rendering/render_form.h:
2634         * rendering/render_frames.cpp: Removed.
2635         * rendering/render_frames.h: Removed.
2636         * rendering/render_replaced.cpp: Removed.
2637         * rendering/render_replaced.h: Removed.
2638
2639 2006-05-12  Eric Seidel  <eseidel@apple.com>
2640
2641         Reviewed by beth.
2642
2643         Split html_headimpl.* into separate files (one per class)
2644         http://bugzilla.opendarwin.org/show_bug.cgi?id=8875
2645
2646         * WebCore.xcodeproj/project.pbxproj:
2647         * bindings/js/kjs_css.cpp:
2648         * bindings/js/kjs_html.cpp:
2649         (KJS::JSHTMLElement::headGetter):
2650         (KJS::JSHTMLElement::linkGetter):
2651         * bindings/objc/DOMCSS.mm:
2652         (+[DOMCounter _counterWith:]):
2653         (-[DOMCounter finalize]):
2654         (-[DOMCounter _DOMStyleSheet]):
2655         (-[DOMStyleSheet _initWithStyleSheet:]):
2656         (-[DOMStyleSheetList dealloc]):
2657         (-[DOMStyleSheetList finalize]):
2658         (-[DOMStyleSheetList _styleSheetList]):
2659         (-[DOMStyleSheetList _initWithStyleSheetList:]):
2660         (-[DOMCSSStyleSheet _CSSStyleSheet]):
2661         (-[DOMMediaList dealloc]):
2662         (-[DOMMediaList finalize]):
2663         (-[DOMMediaList _mediaList]):
2664         (-[DOMMediaList _initWithMediaList:]):
2665         (-[DOMCSSRuleList dealloc]):
2666         (-[DOMCSSRuleList finalize]):
2667         (-[DOMCSSRuleList _ruleList]):
2668         (-[DOMCSSRuleList _initWithRuleList:]):
2669         (-[DOMCSSRule dealloc]):
2670         (-[DOMCSSRule finalize]):
2671         (-[DOMCSSRule _rule]):
2672         (-[DOMCSSRule _initWithRule:]):
2673         (-[DOMCSSStyleRule _styleRule]):
2674         (-[DOMCSSMediaRule _mediaRule]):
2675         (-[DOMCSSFontFaceRule _fontFaceRule]):
2676         (-[DOMCSSPageRule _pageRule]):
2677         (-[DOMCSSImportRule _importRule]):
2678         (-[DOMCSSCharsetRule _importRule]):
2679         (-[DOMCSSStyleDeclaration dealloc]):
2680         (-[DOMCSSStyleDeclaration finalize]):
2681         (-[DOMCSSStyleDeclaration _initWithStyleDeclaration:]):
2682         (-[DOMCSSStyleDeclaration _styleDeclaration]):
2683         (-[DOMCSSValue dealloc]):
2684         (-[DOMCSSValue finalize]):
2685         (-[DOMCSSValue _value]):
2686         (-[DOMCSSValue _initWithValue:]):
2687         (-[DOMCSSPrimitiveValue _primitiveValue]):
2688         (-[DOMCSSValueList _valueList]):
2689         (getWrapperForRGB):
2690         (setWrapperForRGB):
2691         (removeWrapperForRGB):
2692         (-[DOMRGBColor _initWithRGB:]):
2693         (-[DOMRect dealloc]):
2694         (-[DOMRect finalize]):
2695         (-[DOMRect _rect]):
2696         (-[DOMRect _initWithRect:]):
2697         (-[DOMCounter dealloc]):
2698         (-[DOMCounter _counter]):
2699         (-[DOMCounter _initWithCounter:]):
2700         (-[DOMObject sheet]):
2701         * bindings/objc/DOMHTML.mm:
2702         (-[DOMHTMLCollection dealloc]):
2703         (-[DOMHTMLCollection finalize]):
2704         (-[DOMHTMLCollection _collection]):
2705         (-[DOMHTMLCollection _initWithCollection:]):
2706         (-[DOMHTMLOptionsCollection dealloc]):
2707         (-[DOMHTMLOptionsCollection finalize]):
2708         (-[DOMHTMLOptionsCollection _initWithOptionsCollection:]):
2709         (-[DOMHTMLOptionsCollection _optionsCollection]):
2710         (+[DOMHTMLElement _elementWith:]):
2711         (-[DOMHTMLElement _HTMLElement]):
2712         (-[DOMHTMLDocument _HTMLDocument]):
2713         (-[DOMHTMLHtmlElement _HTMLHtmlElement]):
2714         (-[DOMHTMLHeadElement _headElement]):
2715         (-[DOMHTMLLinkElement _linkElement]):
2716         (-[DOMHTMLTitleElement _titleElement]):
2717         (-[DOMHTMLMetaElement _metaElement]):
2718         (-[DOMHTMLBaseElement _baseElement]):
2719         (-[DOMHTMLStyleElement _styleElement]):
2720         (-[DOMHTMLBodyElement _bodyElement]):
2721         (-[DOMHTMLFormElement _formElement]):
2722         (+[DOMHTMLFormElement _formElementWith:]):
2723         (-[DOMHTMLIsIndexElement _isIndexElement]):
2724         (-[DOMHTMLSelectElement _selectElement]):
2725         (-[DOMHTMLOptGroupElement _optGroupElement]):
2726         (-[DOMHTMLOptionElement _optionElement]):
2727         (-[DOMHTMLInputElement _inputElement]):
2728         (-[DOMHTMLTextAreaElement _textAreaElement]):
2729         (-[DOMHTMLButtonElement _buttonElement]):
2730         (-[DOMHTMLLabelElement _labelElement]):
2731         (-[DOMHTMLLabelElement form]):
2732         (-[DOMHTMLFieldSetElement _fieldSetElement]):
2733         (-[DOMHTMLLegendElement _legendElement]):
2734         (-[DOMHTMLUListElement _uListElement]):
2735         (-[DOMHTMLOListElement _oListElement]):
2736         (-[DOMHTMLDListElement _dListElement]):
2737         (-[DOMHTMLDirectoryElement _directoryListElement]):
2738         (-[DOMHTMLMenuElement _menuListElement]):
2739         (-[DOMHTMLLIElement _liElement]):
2740         (-[DOMHTMLQuoteElement _quoteElement]):
2741         (-[DOMHTMLDivElement _divElement]):
2742         (-[DOMHTMLParagraphElement _paragraphElement]):
2743         (-[DOMHTMLHeadingElement _headingElement]):
2744         (-[DOMHTMLPreElement _preElement]):
2745         (-[DOMHTMLBRElement _BRElement]):
2746         (-[DOMHTMLBaseFontElement _baseFontElement]):
2747         (-[DOMHTMLFontElement _fontElement]):
2748         (-[DOMHTMLHRElement _HRElement]):
2749         (-[DOMHTMLModElement _modElement]):
2750         (-[DOMHTMLAnchorElement _anchorElement]):
2751         (-[DOMHTMLImageElement _imageElement]):
2752         (-[DOMHTMLObjectElement _objectElement]):
2753         (-[DOMHTMLParamElement _paramElement]):
2754         (-[DOMHTMLMapElement _mapElement]):
2755         (-[DOMHTMLAreaElement _areaElement]):
2756         (-[DOMHTMLScriptElement _scriptElement]):
2757         (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
2758         (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
2759         (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
2760         (-[DOMHTMLTableSectionElement _tableSectionElement]):
2761         (-[DOMHTMLTableElement createTHead]):
2762         (-[DOMHTMLTableElement createTFoot]):
2763         (-[DOMHTMLTableElement createCaption]):
2764         (-[DOMHTMLTableElement insertRow:]):
2765         (+[DOMHTMLTableElement _tableElementWith:]):
2766         (-[DOMHTMLTableElement _tableElement]):
2767         (-[DOMHTMLTableColElement _tableColElement]):
2768         (-[DOMHTMLTableRowElement _tableRowElement]):
2769         (-[DOMHTMLTableRowElement insertCell:]):
2770         (+[DOMHTMLTableCellElement _tableCellElementWith:]):
2771         (-[DOMHTMLTableCellElement _tableCellElement]):
2772         (-[DOMHTMLFrameSetElement _frameSetElement]):
2773         (-[DOMHTMLFrameElement _frameElement]):
2774         (-[DOMHTMLIFrameElement _IFrameElement]):
2775         (-[DOMHTMLEmbedElement _embedElement]):
2776         (viewForElement):
2777         * bridge/mac/FrameMac.mm:
2778         (WebCore::FrameMac::searchForLabelsAboveCell):
2779         (WebCore::FrameMac::searchForLabelsBeforeElement):
2780         (WebCore::FrameMac::createFrame):
2781         (WebCore::FrameMac::passMouseDownEventToWidget):
2782         (WebCore::FrameMac::passSubframeEventToSubframe):
2783         (WebCore::FrameMac::passWheelEventToChildWidget):
2784         (WebCore::FrameMac::fileWrapperForElement):
2785         (WebCore::listParent):
2786         (WebCore::FrameMac::attributedString):
2787         (WebCore::FrameMac::shouldBeginEditing):
2788         (WebCore::FrameMac::shouldEndEditing):
2789         (WebCore::FrameMac::setMarkedTextRange):
2790         * dom/Document.cpp:
2791         * dom/xml_tokenizer.cpp:
2792         * html/HTMLBaseElement.cpp: Added.
2793         (WebCore::HTMLBaseElement::removedFromDocument):
2794         (WebCore::HTMLBaseElement::process):
2795         * html/HTMLBaseElement.h: Added.
2796         * html/HTMLDocument.cpp:
2797         * html/HTMLElementFactory.cpp:
2798         * html/HTMLLinkElement.cpp: Added.
2799         (WebCore::HTMLLinkElement::HTMLLinkElement):
2800         (WebCore::HTMLLinkElement::process):
2801         * html/HTMLLinkElement.h: Added.
2802         * html/HTMLMetaElement.cpp: Added.
2803         (WebCore::HTMLMetaElement::HTMLMetaElement):
2804         (WebCore::HTMLMetaElement::parseMappedAttribute):
2805         (WebCore::HTMLMetaElement::process):
2806         (WebCore::HTMLMetaElement::setContent):
2807         (WebCore::HTMLMetaElement::setHttpEquiv):
2808         (WebCore::HTMLMetaElement::setName):
2809         * html/HTMLMetaElement.h: Added.
2810         * html/HTMLParser.cpp:
2811         * html/HTMLScriptElement.cpp: Added.
2812         (WebCore::HTMLScriptElement::HTMLScriptElement):
2813         (WebCore::HTMLScriptElement::parseMappedAttribute):
2814         (WebCore::HTMLScriptElement::evaluateScript):
2815         * html/HTMLScriptElement.h: Added.
2816         * html/HTMLStyleElement.cpp: Added.
2817         (WebCore::HTMLStyleElement::HTMLStyleElement):
2818         * html/HTMLStyleElement.h: Added.
2819         * html/HTMLTitleElement.cpp: Added.
2820         (WebCore::HTMLTitleElement::HTMLTitleElement):
2821         (WebCore::HTMLTitleElement::text):
2822         (WebCore::HTMLTitleElement::setText):
2823         * html/HTMLTitleElement.h: Added.
2824         * html/html_headimpl.cpp: Removed.
2825         * html/html_headimpl.h: Removed.
2826         * loader/CachedCSSStyleSheet.h:
2827         * rendering/RenderTableCell.cpp:
2828         (WebCore::RenderTableCell::updateFromElement):
2829         * rendering/RenderTableCol.cpp:
2830         (WebCore::RenderTableCol::updateFromElement):
2831
2832 2006-05-12  Eric Seidel  <eseidel@apple.com>
2833
2834         Reviewed by beth.
2835
2836         Split out html_tableimpl.* into multiple files (one per class)
2837         http://bugzilla.opendarwin.org/show_bug.cgi?id=8873
2838
2839         * WebCore.xcodeproj/project.pbxproj:
2840         * html/HTMLTableCaptionElement.cpp: Added.
2841         (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
2842         * html/HTMLTableCaptionElement.h: Added.
2843         * html/HTMLTableCellElement.cpp: Added.
2844         (WebCore::HTMLTableCellElement::HTMLTableCellElement):
2845         * html/HTMLTableCellElement.h: Added.
2846         * html/HTMLTableColElement.cpp: Added.
2847         (WebCore::HTMLTableColElement::HTMLTableColElement):
2848         (WebCore::HTMLTableColElement::endTagRequirement):
2849         (WebCore::HTMLTableColElement::tagPriority):
2850         (WebCore::HTMLTableColElement::checkDTD):
2851         * html/HTMLTableColElement.h: Added.
2852         * html/HTMLTableElement.cpp: Added.
2853         (WebCore::HTMLTableElement::HTMLTableElement):
2854         (WebCore::HTMLTableElement::setCaption):
2855         (WebCore::HTMLTableElement::setTHead):
2856         (WebCore::HTMLTableElement::setTFoot):
2857         (WebCore::HTMLTableElement::setTBody):
2858         (WebCore::HTMLTableElement::createTHead):
2859         (WebCore::HTMLTableElement::deleteTHead):
2860         (WebCore::HTMLTableElement::createTFoot):
2861         (WebCore::HTMLTableElement::deleteTFoot):
2862         (WebCore::HTMLTableElement::createCaption):
2863         (WebCore::HTMLTableElement::deleteCaption):
2864         (WebCore::HTMLTableElement::insertRow):
2865         (WebCore::HTMLTableElement::deleteRow):
2866         (WebCore::HTMLTableElement::addChild):
2867         (WebCore::HTMLTableElement::parseMappedAttribute):
2868         (WebCore::HTMLTableElement::attach):
2869         * html/HTMLTableElement.h: Added.
2870         * html/HTMLTablePartElement.cpp: Added.
2871         (WebCore::HTMLTablePartElement::parseMappedAttribute):
2872         * html/HTMLTablePartElement.h: Added.
2873         * html/HTMLTableRowElement.cpp: Added.
2874         (WebCore::HTMLTableRowElement::HTMLTableRowElement):
2875         (WebCore::HTMLTableRowElement::rowIndex):
2876         * html/HTMLTableRowElement.h: Added.
2877         * html/HTMLTableSectionElement.cpp: Added.
2878         (WebCore::HTMLTableSectionElement::insertRow):
2879         * html/HTMLTableSectionElement.h: Added.
2880         * html/html_tableimpl.cpp: Removed.
2881         * html/html_tableimpl.h: Removed.
2882
2883 2006-05-10  Eric Seidel  <eseidel@apple.com>
2884
2885         Reviewed by mjs & adele.
2886
2887         Split html_objectimpl.* into multiple files (one per class)
2888         http://bugzilla.opendarwin.org/show_bug.cgi?id=8836
2889
2890         * WebCore.xcodeproj/project.pbxproj:
2891         * bindings/js/kjs_dom.cpp:
2892         (KJS::DOMNamedNodeMap::lengthGetter):
2893         (KJS::DOMNamedNodeMap::indexGetter):
2894         (KJS::DOMNamedNodeMap::nameGetter):
2895         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
2896         (KJS::getRuntimeObject):
2897         * bindings/js/kjs_html.cpp:
2898         * html/HTMLAppletElement.cpp: Added.
2899         * html/HTMLAppletElement.h: Added.
2900         * html/HTMLElementFactory.cpp:
2901         * html/HTMLEmbedElement.cpp: Added.
2902         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
2903         (WebCore::HTMLEmbedElement::getInstance):
2904         (WebCore::HTMLEmbedElement::parseMappedAttribute):
2905         * html/HTMLEmbedElement.h: Added.
2906         * html/HTMLNameCollection.cpp:
2907         (WebCore::HTMLNameCollection::traverseNextItem):
2908         * html/HTMLObjectElement.cpp: Added.
2909         (WebCore::HTMLObjectElement::getInstance):
2910         (WebCore::HTMLObjectElement::form):
2911         (WebCore::HTMLObjectElement::parseMappedAttribute):
2912         (WebCore::HTMLObjectElement::updateDocNamedItem):
2913         * html/HTMLObjectElement.h: Added.
2914         * html/HTMLParamElement.cpp: Added.
2915         * html/HTMLParamElement.h: Added.
2916         * html/HTMLParser.cpp:
2917         * html/HTMLPlugInElement.cpp: Added.
2918         * html/HTMLPlugInElement.h: Added.
2919         * html/html_objectimpl.cpp: Removed.
2920         * html/html_objectimpl.h: Removed.
2921         * page/Frame.cpp:
2922         (WebCore::Frame::handleFallbackContent):
2923         * rendering/RenderApplet.cpp:
2924         * rendering/render_frames.cpp:
2925         (WebCore::RenderPartObject::updateWidget):
2926
2927 2006-05-12  Darin Adler  <darin@apple.com>
2928
2929         Reviewed by Adele.
2930
2931         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8521
2932           crash bringing up context menu with CSS generated content
2933
2934         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
2935         Added a null check.
2936
2937         * manual-tests/context-click-generated-content.html: Added.
2938
2939 2006-05-12  Darin Adler  <darin@apple.com>
2940
2941         Reviewed by Adele.
2942
2943         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8715
2944           REGRESSION: Caret to the right of an image is a big black rectangle.
2945
2946         * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Move caret to the
2947         right side of the rect when the offset is non-zero, rather than expanding it.
2948
2949         * manual-tests/caret-image.html: Added.
2950
2951 2006-05-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2952
2953         Reviewed and landed by Anders.
2954         
2955         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8866
2956           REGRESSION: Incorrect caret position in RTL text
2957
2958         Test: fast/text/international/rtl-caret.html
2959
2960         * rendering/InlineTextBox.cpp:
2961         (WebCore::InlineTextBox::positionForOffset): Added missing m_toAdd argument.
2962
2963 2006-05-12  David Hyatt  <hyatt@apple.com>
2964
2965         Bug 8864. Lift WebCoreTextStyle up into the API (as TextStyle).
2966
2967         Reviewed by mjs
2968
2969         * platform/Font.cpp:
2970         (WebCore::m_finalRoundingWidth):
2971         (WebCore::WidthIterator::advance):
2972         (WebCore::Font::width):
2973         (WebCore::Font::drawSimpleText):
2974         (WebCore::Font::drawText):
2975         (WebCore::Font::floatWidth):
2976         (WebCore::Font::floatWidthForSimpleText):
2977         * platform/Font.h:
2978         (WebCore::TextStyle::m_attemptFontSubstitution):
2979         (WebCore::TextStyle::tabWidth):
2980         (WebCore::TextStyle::xPos):
2981         (WebCore::TextStyle::padding):
2982         (WebCore::TextStyle::rtl):
2983         (WebCore::TextStyle::ltr):
2984         (WebCore::TextStyle::directionalOverride):
2985         (WebCore::TextStyle::applyRunRounding):
2986         (WebCore::TextStyle::applyWordRounding):
2987         (WebCore::TextStyle::attemptFontSubstitution):
2988         (WebCore::Font::operator==):
2989         * platform/GraphicsContext.cpp:
2990         (WebCore::GraphicsContext::drawText):
2991         (WebCore::GraphicsContext::drawHighlightForText):
2992         * platform/GraphicsContext.h:
2993         * platform/mac/FontMac.mm:
2994         (WebCore::overrideLayoutOperation):
2995         (WebCore::ATSULayoutParameters::initialize):
2996         (WebCore::Font::selectionRectForText):
2997         (WebCore::Font::drawComplexText):
2998         (WebCore::Font::floatWidthForComplexText):
2999         (WebCore::Font::offsetForPosition):
3000         * rendering/InlineTextBox.cpp:
3001         (WebCore::InlineTextBox::selectionRect):
3002         (WebCore::InlineTextBox::paint):
3003         (WebCore::InlineTextBox::paintSelection):
3004         (WebCore::InlineTextBox::paintMarkedTextBackground):
3005         (WebCore::InlineTextBox::paintTextMatchMarker):
3006         (WebCore::InlineTextBox::offsetForPosition):
3007         (WebCore::InlineTextBox::positionForOffset):
3008         * rendering/RenderText.cpp:
3009         (WebCore::RenderText::widthFromCache):
3010         (WebCore::RenderText::calcMinMaxWidth):
3011         (WebCore::RenderText::width):
3012         * rendering/RenderTextField.cpp:
3013         (WebCore::RenderTextField::calcMinMaxWidth):
3014         * rendering/render_line.cpp:
3015         (WebCore::EllipsisBox::paint):
3016
3017 2006-05-11  Alexey Proskuryakov  <ap@nypop.com>
3018
3019         Reviewed by Darin.
3020
3021         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8770
3022           XMLHttpRequest should strip CR/LF characters from the URL
3023
3024         Test: fast/loader/url-strip-cr-lf-tab.html
3025
3026         * platform/KURL.cpp:
3027         (appendEscapingBadChars): Strip CR, LF and TAB, as Firefox and IE do.
3028
3029 2006-05-11  David Hyatt  <hyatt@apple.com>
3030
3031         Remove the misspelling drawing code from Font and FontData.  Implement it
3032         natively in GraphicContext instead.
3033
3034         Reviewed by maciej
3035
3036         * platform/FontData.h:
3037         * platform/GraphicsContext.cpp:
3038         * platform/GraphicsContext.h:
3039         * platform/cairo/GraphicsContextCairo.cpp:
3040         (WebCore::GraphicsContext::drawLineForMisspelling):
3041         * platform/mac/FontData.mm:
3042         * platform/mac/FontMac.mm:
3043         * platform/mac/GraphicsContextMac.mm:
3044         (WebCore::GraphicsContext::drawLineForMisspelling):
3045         * platform/win/FontWin.cpp:
3046         * rendering/InlineTextBox.cpp:
3047         (WebCore::InlineTextBox::paintSpellingMarker):
3048
3049 2006-05-11  David Hyatt  <hyatt@apple.com>
3050
3051         Remove drawLineForText from the Font API.  Implement it natively in
3052         the two GraphicsContexts (CG and Cairo) instead.
3053
3054         Reviewed by maciej
3055
3056         * platform/Font.h:
3057         * platform/FontData.h:
3058         * platform/GraphicsContext.cpp:
3059         * platform/GraphicsContext.h:
3060         * platform/cairo/GraphicsContextCairo.cpp:
3061         (WebCore::GraphicsContext::drawLineForText):
3062         * platform/cg/GraphicsContextCG.cpp:
3063         (WebCore::GraphicsContext::drawLineForText):
3064         * platform/mac/FontData.mm:
3065         * platform/mac/FontMac.mm:
3066         * platform/win/FontWin.cpp:
3067         (WebCore::Font::drawLineForText):
3068         * rendering/InlineTextBox.cpp:
3069         (WebCore::InlineTextBox::paintDecoration):
3070         (WebCore::InlineTextBox::paintMarkedTextUnderline):
3071         * rendering/render_line.cpp:
3072         (WebCore::InlineFlowBox::paintDecorations):
3073
3074 2006-05-11  Steve Falkenburg  <sfalken@apple.com>
3075
3076         Reviewed by eric.
3077
3078         Fix last fix.
3079
3080         * dom/QualifiedName.h:
3081         (WebCore::QualifiedName::QualifiedName):
3082
3083 2006-05-11  Steve Falkenburg  <sfalken@apple.com>
3084
3085         Reviewed by eric.
3086
3087         Fix crash on static constructors builds at exit due to qualified name default constructor not
3088         initializing m_impl.
3089
3090         * dom/QualifiedName.cpp:
3091         (WebCore::QualifiedName::deref):
3092
3093 2006-05-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3094
3095         Reviewed by hyatt
3096
3097         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8851
3098           REGRESSION: RTL text shifted to the right
3099
3100         Already covered by several tests in fast/text
3101
3102         * platform/Font.h:
3103         (WebCore::TextRun::TextRun): Added length parameter.
3104         * rendering/InlineTextBox.cpp: Pass the length to the TextRun constructor.
3105         (WebCore::InlineTextBox::selectionRect):
3106         (WebCore::InlineTextBox::paint):
3107         (WebCore::InlineTextBox::paintSelection):
3108         (WebCore::InlineTextBox::paintMarkedTextBackground):
3109         (WebCore::InlineTextBox::paintTextMatchMarker):
3110         (WebCore::InlineTextBox::offsetForPosition):
3111         (WebCore::InlineTextBox::positionForOffset):
3112         * rendering/RenderText.cpp:
3113         (WebCore::RenderText::widthFromCache): Pass length and from instead of from and to
3114         to the TextRun constructor.
3115         (WebCore::RenderText::width): Ditto.
3116
3117 2006-05-11  David Hyatt  <hyatt@apple.com>
3118
3119         Fix a regression from the TextRun landing.  Delete the characters in
3120         the adjustedRun, not the ones in the original run!
3121
3122         Reviewed by beth
3123
3124         * platform/mac/FontMac.mm:
3125         (WebCore::Font::drawComplexText):
3126
3127 2006-05-10  Justin Garcia  <justin.garcia@apple.com>
3128
3129         Reviewed by thatcher, levi
3130
3131         * editing/ReplaceSelectionCommand.cpp:
3132         (WebCore::ReplaceSelectionCommand::doApply):
3133         Removed a use fragment.hasMoreThanOneBlock to decide if the paragraph containing the
3134         position pasted into must be split to avoid block nesting.  We now split unnecessarily
3135         some times, but the end merge cleans up for us.
3136
3137 2006-05-11  David Hyatt  <hyatt@apple.com>
3138
3139         This patch makes drawHighlightForText a completely cross-platform method
3140         implemented by the GraphicsContext.  The platform-specific implementations
3141         of the method in the Font class have been eliminated.
3142
3143         Reviewed by andersca
3144
3145         * platform/Font.h:
3146         * platform/FontData.h:
3147         Remove the drawHighlight methods.  Change the selectionRect method in
3148         Font to return a FloatRect so that the GraphicsContext can do an accurate
3149         fill.
3150
3151         * platform/GraphicsContext.cpp:
3152         (WebCore::GraphicsContext::drawHighlightForText):
3153         Implement the drawHighlightFunction in terms of the cross-platform
3154         Font selectionRect functions and a new float-based fillRect graphics context
3155         function.
3156
3157         * platform/GraphicsContext.h:
3158         * platform/cairo/GraphicsContextCairo.cpp:
3159         (WebCore::GraphicsContext::fillRect):
3160         * platform/cg/GraphicsContextCG.cpp:
3161         (WebCore::GraphicsContext::fillRect):
3162         Add the new float-based fillRect function for Cairo and CG.
3163
3164         * platform/mac/FontData.mm:
3165         (WebCore::CG_draw):
3166         (WebCore::ATSU_draw):
3167         Removed the CG and ATSU drawHighlight methods.  Remove the drawing of
3168         the background from the deprecated draw methods (they'll be removed
3169         soon).
3170
3171         * platform/mac/FontMac.mm:
3172         (WebCore::Font::selectionRectForText):
3173         * platform/win/FontWin.cpp:
3174         (WebCore::Font::selectionRectForText):
3175         Change selectionRectForText to return a FloatRect instead of an IntRect,
3176         so that the GraphicsContext can do a precise fill.
3177
3178         * rendering/InlineTextBox.cpp:
3179         (WebCore::InlineTextBox::selectionRect):
3180         (WebCore::InlineTextBox::positionForOffset):
3181         Modify the callers who expect an int-based selection rect so that they call
3182         enclosingIntRect.
3183
3184 2006-05-11  Darin Adler  <darin@apple.com>
3185
3186         Reviewed by Adele.
3187
3188         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8743
3189           REGRESSION: focus() on input field selects all text within it
3190           (was: cannot select cities on British Rail reservation site)
3191
3192         Test: fast/forms/double-focus.html
3193
3194         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::focus):
3195         Changed to only call setFocusNode, select, and revealSelection
3196         if the element is not already focused. Also changed to use return
3197         a bit more rather than else.
3198
3199 2006-05-11  Darin Adler  <darin@apple.com>
3200
3201         Reviewed by Tim Hatcher (earlier version).
3202
3203         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8821
3204           use the preprocessor for IDL files
3205
3206         * bindings/scripts/IDLParser.pm: Invoke the preprocessor via the "gcc"
3207         driver script, passing "-E" so we only preprocess, "-P" so we don't get
3208         "#line" directives, and "-x c++" so we handle both C and C++ comments.
3209         Removed the code to eliminate comments since the preprocessor handles that.
3210         * css/make-css-file-arrays.pl: This already invoked the preprocessor, but
3211         updated it to do the same way as above.
3212
3213 2006-05-11  Anders Carlsson  <acarlsson@apple.com>
3214
3215         Reviewed by Darin.
3216
3217         http://bugzilla.opendarwin.org/show_bug.cgi?id=7838
3218         Add support for mozilla-style node constructors as properties of the window object
3219         
3220         * DerivedSources.make:
3221         * WebCore.xcodeproj/project.pbxproj:
3222         Add new generated files.
3223         
3224         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
3225         (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
3226         * bindings/js/JSHTMLElementWrapperFactory.cpp:
3227         (WebCore::createJSWrapper):
3228         Specify the KJS namespace for JSHTMLElmement.
3229                 
3230         * bindings/js/kjs_dom.cpp:
3231         (KJS::toJS):
3232         Create a WebCore::JSHTMLDocument for document nodes. Also, create
3233         JSDocumentFragments for document fragments (instead of plain node objects).
3234         
3235         * bindings/js/kjs_html.cpp:
3236         (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
3237         (KJS::JSHTMLDocument::JSHTMLDocument):
3238         (KJS::JSHTMLDocument::getOwnPropertySlot):
3239         Add a prototype for JSHTMLDocument and move all functions there.
3240         
3241         (KJS::JSHTMLElement::JSHTMLElement):
3242         (KJS::JSHTMLElement::getOwnPropertySlot):
3243         Update since JSHTMLElement now inherits from WebCore::JSHTMLElement.
3244         
3245         (KJS::JSHTMLElement::getValueProperty):
3246         (KJS::JSHTMLElement::putValueProperty):
3247         Remove title setter and getter. Those are autogenerated now.
3248         
3249         * bindings/js/kjs_html.h:
3250         (KJS::JSHTMLElement::):
3251         Inherit from WebCore::JSHTMLElement. Clarify the inheritance chain.
3252         
3253         * bindings/scripts/CodeGeneratorJS.pm:
3254         Always generate a prototype object, regardless of whether the object has any functions or
3255         constants.
3256         
3257         Use the type of generator attributes to determine what constructor to use. This is useful for
3258         the XMLDocument property in DOMWindow.idl, since that's just an alias for the Document constructor.
3259         
3260         * dom/DocumentFragment.idl: Added.        
3261         * html/HTMLDocument.idl: Added.
3262         * html/HTMLElement.idl: Added.
3263         
3264         * page/DOMWindow.idl:
3265         Add constructors for DocumentFragment, HTMLElement, HTMLDocument and XMLDocument. XMLDocument is just
3266         an alias for the Document constructor.
3267         
3268 2006-05-11  David Hyatt  <hyatt@apple.com>
3269
3270         Bug 8845.  Define a TextRun (similar to the old WebCoreTextRun) and
3271         make it the new API for Font and GraphicsContext when drawing/measuring
3272         text.
3273
3274         Reviewed by andersca
3275
3276         * platform/Font.cpp:
3277         (WebCore::m_finalRoundingWidth):
3278         (WebCore::WidthIterator::advance):
3279         (WebCore::WidthIterator::normalizeVoicingMarks):
3280         (WebCore::Font::width):
3281         (WebCore::Font::canUseGlyphCache):
3282         (WebCore::Font::drawSimpleText):
3283         (WebCore::Font::drawText):
3284         (WebCore::Font::floatWidth):
3285         (WebCore::Font::floatWidthForSimpleText):
3286         * platform/Font.h:
3287         (WebCore::TextRun::m_to):
3288         (WebCore::TextRun::operator[]):
3289         (WebCore::TextRun::data):
3290         (WebCore::TextRun::adjustFrom):
3291         (WebCore::TextRun::adjustTo):
3292         (WebCore::TextRun::characters):
3293         (WebCore::TextRun::length):
3294         (WebCore::TextRun::from):
3295         (WebCore::TextRun::to):
3296         * platform/GraphicsContext.cpp:
3297         (WebCore::GraphicsContext::drawText):
3298         (WebCore::GraphicsContext::drawHighlightForText):
3299         * platform/GraphicsContext.h:
3300         * platform/mac/FontMac.mm:
3301         (WebCore::addDirectionalOverride):
3302         (WebCore::overrideLayoutOperation):
3303         (WebCore::ATSULayoutParameters::initialize):
3304         (WebCore::Font::selectionRectForText):
3305         (WebCore::Font::drawComplexText):
3306         (WebCore::Font::drawHighlightForText):
3307         (WebCore::Font::floatWidthForComplexText):
3308         (WebCore::Font::checkSelectionPoint):
3309         * platform/win/FontWin.cpp:
3310         (WebCore::hackishExtentForString):
3311         (WebCore::Font::floatWidth):
3312         (WebCore::Font::drawText):
3313         (WebCore::Font::drawHighlightForText):
3314         (WebCore::Font::selectionRectForText):
3315         (WebCore::Font::checkSelectionPoint):
3316         * rendering/InlineTextBox.cpp:
3317         (WebCore::InlineTextBox::selectionRect):
3318         (WebCore::InlineTextBox::paint):
3319         (WebCore::InlineTextBox::paintSelection):
3320         (WebCore::InlineTextBox::paintMarkedTextBackground):
3321         (WebCore::InlineTextBox::paintTextMatchMarker):
3322         (WebCore::InlineTextBox::offsetForPosition):
3323         (WebCore::InlineTextBox::positionForOffset):
3324         * rendering/RenderBlock.cpp:
3325         (WebCore::stripTrailingSpace):
3326         * rendering/RenderFlexibleBox.cpp:
3327         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3328         * rendering/RenderImage.cpp:
3329         (WebCore::RenderImage::imageChanged):
3330         (WebCore::RenderImage::paint):
3331         * rendering/RenderText.cpp:
3332         (WebCore::RenderText::cacheWidths):
3333         (WebCore::RenderText::widthFromCache):
3334         (WebCore::RenderText::trimmedMinMaxWidth):
3335         (WebCore::RenderText::calcMinMaxWidth):
3336         (WebCore::RenderText::width):
3337         * rendering/RenderTextField.cpp:
3338         (WebCore::RenderTextField::calcMinMaxWidth):
3339         * rendering/bidi.cpp:
3340         (WebCore::RenderBlock::tabWidth):
3341         (WebCore::RenderBlock::checkLinesForTextOverflow):
3342         * rendering/render_line.cpp:
3343         (WebCore::EllipsisBox::paint):
3344         * rendering/render_list.cpp:
3345         (WebCore::RenderListMarker::paint):
3346         (WebCore::RenderListMarker::calcMinMaxWidth):
3347         (WebCore::RenderListMarker::getRelativeMarkerRect):
3348
3349 2006-05-10  Justin Garcia  <justin.garcia@apple.com>
3350
3351         Reviewed by darin
3352
3353         * editing/ReplaceSelectionCommand.cpp:
3354         (WebCore::ReplaceSelectionCommand::doApply):
3355         Removed the code to find out if we must later add smart replace whitespace.  We can 
3356         wait until we've done the insertion to figure it out, and the position sampled (startPos)
3357         to make the decision about trailing whitespace was wrong.
3358         Changed the order that work is done during a paste: 1) Insert everything 2) Do one of
3359         the following: a) handle a trailing interchange newline, b) uncollapse the last incoming
3360         br if it has been collapsed because of quirks mode, c) do an end merge 3) Add smart replace
3361         whitespace (2 and 3 were reversed because the end merge must happen before we can know
3362         whether or not we need to add a trailing space).
3363         Don't do an end merge if the last node inserted was a br because the end merge will 
3364         clobber it.
3365         
3366         (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
3367         brs where [br, 0] is at the end of a block and not at the start of a paragraph
3368         are the ones that are collapsed because of quirks mode.
3369
3370 2006-05-10  David Hyatt  <hyatt@apple.com>
3371
3372         Rename isSpace to treatAsSpace.  Move it and the rounding hack function into
3373         Font and make them static methods (inlined in the header).  Make the rounding
3374         hack character table a static member as well.  Remove the redundant space/rounding
3375         functions from FontData.mm.
3376
3377         Reviewed by darin
3378
3379         * platform/Font.cpp:
3380         (WebCore::):
3381         (WebCore::m_finalRoundingWidth):
3382         (WebCore::WidthIterator::advance):
3383         * platform/Font.h:
3384         (WebCore::Font::treatAsSpace):
3385         (WebCore::Font::isRoundingHackCharacter):
3386         * platform/mac/FontData.mm:
3387         (WebCore::overrideLayoutOperation):
3388         (WebCore::createATSULayoutParameters):
3389         (WebCore::initializeWidthIterator):
3390         (WebCore::advanceWidthIterator):
3391         * platform/mac/FontMac.mm:
3392         (WebCore::overrideLayoutOperation):
3393         (WebCore::ATSULayoutParameters::initialize):
3394
3395 2006-05-10  Darin Adler  <darin@apple.com>
3396
3397         * WebCore: Removed an extra WebCore subtree that somehow got checked in.
3398
3399 2006-05-10  David Carson <dacarson@gmail.com>
3400
3401         - Fix for bug 8833. Removed inline keyword from functions declared
3402         in .mm and .cpp files. inline function code needs to reside in the
3403         header file for the linker to find the code. 
3404         http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.7
3405
3406         Reviewed by Darin, landed by Timothy.
3407
3408         * platform/Font.cpp:
3409         (WebCore::isSpace):
3410         * platform/mac/FontData.mm:
3411         (WebCore::widthForGlyph):
3412         (WebCore::isRoundingHackCharacter):
3413         (WebCore::glyphForCharacter):
3414
3415 2006-05-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3416
3417         Reviewed and landed by Anders.
3418
3419         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8830
3420           REGRESSION: Words render on top of each other when fallback font is used
3421
3422         Already covered by several pixel tests in fast/text
3423
3424         * platform/Font.cpp:
3425         (WebCore::Font::drawSimpleText):
3426
3427 2006-05-10  David Hyatt  <hyatt@apple.com>
3428
3429         Fix for bug 8809, lift the Mac-specific WebTextRenderer code for
3430         drawing and measuring of runs up into the Font class.  The fast code
3431         path is in Font.cpp and is designed to be mostly cross-platform.  The
3432         slow code path is in FontMac.cpp and is Mac-specific.
3433
3434         Reviewed by darin
3435
3436         * WebCore.xcodeproj/project.pbxproj:
3437         * platform/Font.cpp:
3438         (WebCore::isSpace):
3439         (WebCore::):
3440         (WebCore::isRoundingHackCharacter):
3441         (WebCore::m_finalRoundingWidth):
3442         (WebCore::WidthIterator::advance):
3443         (WebCore::WidthIterator::normalizeVoicingMarks):
3444         (WebCore::Font::primaryFont):
3445         (WebCore::Font::setAlwaysUseComplexPath):
3446         (WebCore::Font::canUseGlyphCache):
3447         (WebCore::Font::drawSimpleText):
3448         (WebCore::Font::drawText):
3449         (WebCore::Font::floatWidth):
3450         (WebCore::Font::floatWidthForSimpleText):
3451         * platform/Font.h:
3452         * platform/FontData.h:
3453         (WebCore::FontData::platformData):
3454         * platform/GlyphBuffer.h: Added.
3455         (WebCore::GlyphBuffer::GlyphBuffer):
3456         (WebCore::GlyphBuffer::isEmpty):
3457         (WebCore::GlyphBuffer::size):
3458         (WebCore::GlyphBuffer::glyphs):
3459         (WebCore::GlyphBuffer::advances):
3460         (WebCore::GlyphBuffer::fontDataAt):
3461         (WebCore::GlyphBuffer::swap):
3462         (WebCore::GlyphBuffer::glyphAt):
3463         (WebCore::GlyphBuffer::advanceAt):
3464         (WebCore::GlyphBuffer::add):
3465         * platform/mac/FontData.mm:
3466         (WebCore::isSpace):
3467         (WebCore::isRoundingHackCharacter):
3468         (WebCore::FontData::widthForGlyph):
3469         (WebCore::m_ATSUMirrors):
3470         (WebCore::FontData::xHeight):
3471         (WebCore::FontData::smallCapsFontData):
3472         (WebCore::findSubstituteFont):
3473         (WebCore::rendererForAlternateFont):
3474         (WebCore::findSubstituteRenderer):
3475         (WebCore::FontData::findSubstituteFontData):
3476         (WebCore::computeWidthForSpace):
3477         (WebCore::FontData::updateGlyphMapEntry):
3478         (WebCore::extendGlyphMap):
3479         (WebCore::extendWidthMap):
3480         (WebCore::createATSULayoutParameters):
3481         (WebCore::FontData::glyphForCharacter):
3482         (WebCore::advanceWidthIterator):
3483         (WebCore::shouldUseATSU):
3484         * platform/mac/FontMac.mm:
3485         (WebCore::ATSULayoutParameters::m_padPerSpace):
3486         (WebCore::addDirectionalOverride):
3487         (WebCore::initializeATSUStyle):
3488         (WebCore::overrideLayoutOperation):
3489         (WebCore::ATSULayoutParameters::initialize):
3490         (WebCore::disposeATSULayoutParameters):
3491         (WebCore::Font::drawComplexText):
3492         (WebCore::Font::floatWidthForComplexText):
3493         (WebCore::Font::drawGlyphs):
3494         * platform/mac/WebCoreTextRenderer.mm:
3495         (WebCoreSetAlwaysUseATSU):
3496
3497 2006-05-10  Darin Adler  <darin@apple.com>
3498
3499         - another try at fixing the Windows build
3500
3501         * platform/win/FontWin.cpp: (WebCore::getFontData): Use characters()
3502         instead of unicode().
3503
3504 == Rolled over to ChangeLog-2006-05-10 ==