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