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