cb6dbcad8c2a7489a67e991a5e47eafbfbc4e046
[WebKit-https.git] / WebCore / ChangeLog
1 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
2
3         Reviewed by harrison
4         
5         Rolled the fix for 8250 back in and fixed a bug:
6         The local variables for the first and last nodes in the fragment
7         need to be reset when the fragment is changed for plaintext-only mode
8         or a change from the beforetextinserted event handler.
9
10         * editing/ReplaceSelectionCommand.cpp:
11         (WebCore::ReplacementFragment::ReplacementFragment):
12
13 2006-04-07  Maciej Stachowiak  <mjs@apple.com>
14
15         Reviewed by Darin.
16         
17         - fixed REGRESSION: offsetParent on element with no offset parent crashes
18
19         * dom/Element.cpp:
20         (WebCore::Element::offsetParent): Add missing null check.
21
22 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
23
24         Reviewed by adele
25         
26         maxlength truncation in text fields didn't work if the fragment was a
27         single text node.
28
29         * editing/ReplaceSelectionCommand.cpp:
30         (WebCore::ReplacementFragment::ReplacementFragment):
31
32 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
33
34         Reviewed by harrison
35         
36         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8250>
37         REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent
38
39         * editing/ReplaceSelectionCommand.cpp:
40         (WebCore::ReplacementFragment::ReplacementFragment):
41         Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.
42
43 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
44
45         Reviewed by adele
46         
47         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8219>
48         REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region
49
50         * editing/ReplaceSelectionCommand.cpp:
51         (WebCore::ReplacementFragment::ReplacementFragment):
52         Converting the fragment to plaintext introduced an extraneous newline because
53         the range passed to plainText ended after the paragraph containing the fragment
54         built from the markup that TextEdit put on the paste board.  TextIterator will
55         emit a newline when it exits a paragraph.
56         Two extra newlines were added because the '\n' in the plaintext string turns
57         into an interchange newline, which isn't removed because of 8250, and the
58         interchange newline looks like inline content that requires the insertion of
59         a paragraph separator during paste.
60         Fixed by creating a range using VisiblePositions at the start and the end of 
61         the node that holds the fragment during paste's test rendering.
62
63 2006-04-06  Justin Garcia  <justin.garcia@apple.com>
64
65         Reviewed by harrison
66         
67         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8145>
68         REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash
69
70         * editing/AppendNodeCommand.cpp:
71         (WebCore::AppendNodeCommand::doApply): 
72         Assert that the node will be placed somewhere that's contenteditable.
73         * editing/InsertNodeBeforeCommand.cpp:
74         (WebCore::InsertNodeBeforeCommand::doApply): Ditto
75         * editing/JSEditor.cpp: 
76         Enabled insertHTML for plaintext-only regions since it's useful for debugging rich 
77         content pastes into the new text fields.
78         * editing/ReplaceSelectionCommand.cpp:
79         (WebCore::ReplaceSelectionCommand::doApply):
80         1) After the first paragraph of the fragment has been merged with the first part of the
81         paragraph where the paste occured, if the next node to be inserted is inline, we put it 
82         in a new paragraph because it was at the start of a paragraph in the fragment.  The change
83         is to insert a paragraph separator if insertionPos.next() is null or outside of the current 
84         editable region.
85         2) Before the paste begins, a paragraph separator is inserted in order to avoid 
86         nesting blocks from the fragment to be pasted inside the block where the paste will 
87         occur.  I made two fixes to the code that decides whether or not to insert the 
88         paragraph separator and added testcases for each.  Added a fixme because it appears that
89         this code is also used to ensure that the aforementioned insertionPos will be at the end of 
90         a paragraph.  This code should only be about preventing nesting.
91
92 2006-04-06  Maciej Stachowiak  <mjs@apple.com>
93
94         Reviewed by Anders.
95
96         - Convert Element JS bindings to be almost completely autogenerated
97         http://bugzilla.opendarwin.org/show_bug.cgi?id=8227
98
99         * dom/Element.idl: Declare full interface in IDL.
100         * dom/Element.h:
101         (WebCore::Element::tagQName): Renamed from tagName, so the real DOM
102         method can be called tagName.
103         (WebCore::Element::tagName): inline alias for nodeName.
104         * dom/Element.cpp:
105         (WebCore::Element::scrollByUnits): Moved logic from JS bindings to
106         core DOM.
107         (WebCore::Element::scrollByLines): ditto
108         (WebCore::Element::scrollByPages): ditto
109         (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined
110         (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined
111         (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined
112         (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined
113         (WebCore::Element::offsetParent): ditto
114         (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined
115         (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined
116         (WebCore::Element::scrollLeft): ditto
117         (WebCore::Element::scrollTop): ditto
118         (WebCore::Element::setScrollLeft): ditto
119         (WebCore::Element::setScrollTop): ditto
120         (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined
121         (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined
122
123         * bindings/scripts/CodeGeneratorJS.pm: Added support for
124         ConvertUndefinedToTrue, for benefit of scroll methods where
125         omitted arguments should be treated as true.  However, maybe
126         explicit overloading in the IDL would be a better long-term
127         approach for optional arguments.
128
129         * khtml/ecma/kjs_binding.cpp:
130         (KJS::valueToStringWithNullCheck): fixed formatting
131         (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView
132         (isn't this lame?)
133         * khtml/ecma/kjs_binding.h:
134         (KJS::toJS): fixed formatting, added new stuff
135         * khtml/ecma/kjs_dom.cpp:
136         (KJS::DOMElement::getValueProperty): removed most of contents
137         (KJS::DOMElement::putValueProperty): ditto
138         (KJS::DOMElementProtoFunc::callAsFunction): ditto
139
140         * css/cssstyleselector.cpp:
141         (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename
142         of tagName to tagQName
143         (WebCore::CSSStyleSelector::checkOneSelector): ditto
144         * dom/Document.cpp:
145         (WebCore::Document::importNode): ditto
146         * editing/ApplyStyleCommand.cpp:
147         (WebCore::ApplyStyleCommand::removeInlineStyle): ditto
148         (WebCore::areIdenticalElements): ditto
149         * html/HTMLElement.cpp:
150         (WebCore::HTMLElement::inEitherTagList): ditto
151         (WebCore::HTMLElement::inInlineTagList): ditto
152         (WebCore::HTMLElement::inBlockTagList): ditto
153
154 2006-04-06  Beth Dakin  <bdakin@apple.com>
155
156         Reviewed by Darin.
157
158         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8203 
159         REGRESSION: "Invite a friend" text field in GMail page spills out 
160         of table
161
162         RenderReplaced::calcMinMaxWidth() sets m_minWidth to 0 when the 
163         width is a percent, so this patch copies that behavior into 
164         RenderTextField::calcMinMaxWidth().
165
166         * rendering/RenderTextField.cpp:
167         (WebCore::RenderTextField::calcMinMaxWidth):
168
169 2006-04-06  Darin Adler  <darin@apple.com>
170
171         - try to fix Windows build
172
173         * WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp.
174
175 2006-04-05  Darin Adler  <darin@apple.com>
176
177         Reviewed by Adele.
178
179         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8111
180           REGRESSION (NativeTextField): first click in form field on weather.com leaves focus
181           but no caret
182
183         Test: fast/forms/input-text-self-emptying-click.html
184
185         * page/MouseEventWithHitTestResults.h: Removed url, target, m_url and m_target,
186         replacing them with isOverLink and m_isOverLink. Replaced innerNode with targetNode,
187         and added logic to handle the case where the target node is removed from the document
188         but the element the target node was in is still inside the document.
189         * page/MouseEventWithHitTestResults.cpp: Added.
190
191         * WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp.
192         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
193
194         * kwq/RenderTreeAsText.cpp: (nodePosition): Added a call to shadowParentNode so we
195         correctly dump positions within shadow trees. This was needed to give a good result
196         from my new test for this bug.
197
198         * dom/Document.cpp:
199         (WebCore::Document::prepareMouseEvent): Update to pass fewer parameters to the
200         constructor for MouseEventWithHitTestResults. Now takes isOverLink boolean, and no
201         longer takes href and target parameters.
202
203         * page/Frame.cpp:
204         (WebCore::Frame::handleMousePressEventDoubleClick): Use new name targetNode, instead
205         of old name innerNode.
206         (WebCore::Frame::handleMousePressEventTripleClick): Ditto.
207         (WebCore::Frame::handleMousePressEventSingleClick): Ditto. Also change code to check
208         if over a link to use !isOverLink instead of url.isNull.
209         (WebCore::Frame::handleMousePressEvent): Ditto. Also remove unused "url" local variable.
210         (WebCore::Frame::handleMouseMoveEvent): Ditto.
211         (WebCore::Frame::handleMouseReleaseEvent): Ditto.
212         (WebCore::Frame::passWidgetMouseDownEventToWidget): Ditto.
213
214         * bridge/mac/FrameMac.mm:
215         (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old
216         name innerNode.
217         (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
218         (WebCore::FrameMac::passSubframeEventToSubframe): Ditto.
219         (WebCore::FrameMac::sendContextMenuEvent): Ditto.
220
221         * page/FrameView.cpp:
222         (WebCore::subframeForEvent): Use new name targetNode, instead of old name innerNode.
223         (WebCore::FrameView::handleMousePressEvent): Ditto.
224         (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
225         (WebCore::selectCursor): Ditto. Also change code to check if over a link to use
226         isOverLink instead of !url.isNull.
227         (WebCore::FrameView::handleMouseMoveEvent): Ditto.
228         (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
229         (WebCore::FrameView::updateDragAndDrop): Ditto.
230
231 2006-04-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>
232
233         Reviewed and landed by Maciej.
234
235         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8184
236           REGRESSION (r13655): Layer outline not clipped where it should be
237
238         * rendering/RenderLayer.cpp:
239         (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943.
240         The outlineRect should not be inflated.
241
242 2006-04-04  Rob Buis  <buis@kde.org>
243
244         Reviewed by Eric, landed by Maciej.
245
246         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7627:
247         SVG from the W3C SVG 1.1 test suite (cubic01.svg) renders as all black
248
249         Fix this svg stylesheet to use strict-mode, as this makes sure
250         class selecting is done correctly.
251
252         * ksvg2/svg/SVGStyleElement.cpp:
253         (SVGStyleElement::childrenChanged):
254
255 2006-04-05  Justin Garcia  <justin.garcia@apple.com>
256
257         Reviewed by mjs
258
259         I forgot to convert one of the implicit remove/inserts to an explicit remove/insert,
260         so we were hitting the assert I just added to InsertNodeBeforeCommand that checked for
261         implicit removes.
262
263         * editing/ReplaceSelectionCommand.cpp:
264         (WebCore::ReplaceSelectionCommand::doApply):
265
266 2006-04-05  Maciej Stachowiak  <mjs@apple.com>
267
268         Reviewed by Anders.
269
270         - autogenerate bindings for all of the methods and properties of Document
271         http://bugzilla.opendarwin.org/show_bug.cgi?id=8163
272
273         - also removed document.actualEncoding since it is not in any spec
274         or implemented by any other browser
275         
276         * DerivedSources.make: add JSDocument.h to results
277         * WebCore.xcodeproj/project.pbxproj: Added new files to project
278         * bindings/scripts/CodeGeneratorJS.pm: Support for new stuff needed by Document.
279         * dom/Document.cpp:
280         (WebCore::Document::readyState): moved impl here from JS bindings
281         (WebCore::Document::inputEncoding): ditto
282         (WebCore::Document::defaultCharset): ditto
283         (WebCore::Document::setCharset): ditto
284         * dom/Document.h:
285         (WebCore::Document::charset): added, synonym for inputEncoding.
286         (WebCore::Document::characterSet): ditto
287         * dom/Document.idl: Added. Full interface for the Document object.
288         * khtml/ecma/JSXMLHttpRequest.cpp:
289         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): JSDocument, not DOMDocument
290         * khtml/ecma/JSXSLTProcessor.cpp:
291         (KJS::XSLTProcessorProtoFunc::callAsFunction): ditto
292         * khtml/ecma/kjs_binding.cpp:
293         (KJS::jsStringOrFalse): Added this convenience for the method on Document
294         that bizzarely returns false on failure and a string otherwise.
295         * khtml/ecma/kjs_binding.h:
296         * khtml/ecma/kjs_css.cpp:
297         (KJS::toJS): renamed for consistency
298         * khtml/ecma/kjs_css.h:
299         * khtml/ecma/kjs_dom.cpp:
300         - removed all traces of DOMDocument
301         (KJS::toJS): JSDocument, not DOMDocument
302         * khtml/ecma/kjs_dom.h:
303         * khtml/ecma/kjs_html.cpp:
304         (KJS::):
305         (KJS::JSHTMLDocument::JSHTMLDocument): inherit from JSDocument
306         (KJS::JSHTMLDocument::getOwnPropertySlot): ditto
307         (KJS::JSHTMLDocument::put): ditto
308         * khtml/ecma/kjs_html.h:
309         * khtml/ecma/kjs_traversal.cpp:
310         (KJS::toJS): added overloads
311         (KJS::toNodeFilter): handle JS functions as well as impl NodeFilter objects
312         * khtml/ecma/kjs_traversal.h:
313         * platform/AtomicString.h:
314         (WebCore::AtomicString::AtomicString): Allow implicit conversion from String.
315
316 2006-04-05  Justin Garcia  <justin.garcia@apple.com>
317
318         Reviewed by darin
319         
320         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8198>
321         Hitting an assert on undo paste
322         
323         ReplaceSelectionCommand was doing a combination of undoable and non-undoable 
324         removes from the ReplacementFragment.  On Undo Paste, the undoable removes 
325         couldn't be undone because the tree was in a different state than it was
326         at the time of the remove.  This patch makes all the removes from the fragment 
327         non-undoable.  We could make them all undoable, but I can't think of any reason 
328         why we'd want the fragment to be reconstructed on an Undo Paste.
329
330         * editing/AppendNodeCommand.cpp:
331         (WebCore::AppendNodeCommand::doApply):
332         Assert that the node to append isn't already in a tree, since if it is, it will 
333         be removed in a non-undoable way.
334         * editing/InsertNodeBeforeCommand.cpp:
335         (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
336         * editing/ReplaceSelectionCommand.cpp:
337         (WebCore::ReplaceSelectionCommand::doApply): 
338         Nodes were being moved from the fragment to the document with undoable inserts.  
339         Undoable inserts implicitly remove the node (in a non-undoable way) from its 
340         old location if it is already in a tree.  I now explicitly remove the nodes 
341         from the fragment before inserting them into the document to make it clear that 
342         they are being removed in a non-non-undoable way.  I also changed the one undoable 
343         remove from the fragment to a non-undoable remove.
344         * editing/ReplaceSelectionCommand.h: 
345         Made ReplacementFragment's non-undoable removeNode public.
346
347 2006-04-05  Darin Adler  <darin@apple.com>
348
349         - fixed the build
350
351         * WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict.
352
353 2006-04-05  Darin Adler  <darin@apple.com>
354
355         Reviewed by Maciej.
356
357         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8049
358           StringImpl hash traits deleted value creates an init routine for WebCore
359           <rdar://problem/4442248> REGRESSION: WebCore has init routines (8049)
360
361         * platform/StringHash.h: Added. Moved hash functions and such for
362         WebCore::String and friends into this file so we don't have to include
363         the hash traits header everywhere. Changed hashing for WebCore::StringImpl
364         and WebCore::String so that they use a raw pointer for the underlying
365         storage type, taking advantage of the new feature added in JavaScriptCore.
366
367         * platform/AtomicString.h: Moved StrHash specialization to StringHash.h.
368         * platform/PlatformString.h: Moved StrHash specialization to StringHash.h.
369         * platform/StringImpl.h: Moved StrHash, CaseInsensitiveHash, and HashTraits
370         to StringHash.h. Left DefaultHash behind so that you can't get the wrong
371         hash function by accident if you forget to include "StringHash.h".
372
373         * platform/StringImpl.cpp: Added include of StringHash.h and removed
374         RefPtr<StringImpl> HashTraits<RefPtr<StringImpl> >::_deleted, which is
375         the object with a global initializer causing all the trouble!
376
377         * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash
378         instead of PtrHash.
379
380         * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to inherit from
381         the generic traits in KXMLCore so we get a StorageType. Also cleaned up a
382         tiny bit by adding default values to the MappedAttributeKey constructor.
383
384         * platform/CharsetNames.cpp: Changed hash traits here to be a new
385         TextEncodingIDHashTraits struct rather than defining new default traits
386         for the integer type since more integer types have default traits in
387         HashTraits.h now. Also added a specialization so this class will share
388         the underlying implementation (since InvalidEncoding happens to be -1).
389
390         * bridge/mac/FrameMac.h:
391         * dom/Document.h:
392         * dom/xml_tokenizer.h:
393         * khtml/xsl/XSLTProcessor.h:
394         * kwq/JavaAppletWidget.h:
395         * page/FramePrivate.h:
396         * page/Page.cpp:
397         * platform/AtomicString.cpp:
398         * platform/TransferJob.h:
399         * rendering/render_applet.h:
400         Added include of StringHash.h.
401
402         * WebCore.xcodeproj/project.pbxproj: Added StringHash.h. Remove unneeded
403         CREATE_HASH_TABLE variable in build settings. Re-sorted some file lists.
404         Added quotes to the CREATE_HASH_TABLE initialization in the rule that
405         builds generated files. Removed various unneeded build settings for that
406         target as well.
407
408         * ForwardingHeaders/kxmlcore/HashTraits.h: Added.
409
410         - other minor cleanup
411
412         * bridge/mac/FrameMac.mm: Sorted includes.
413         * dom/Node.cpp: Removed bogus symbol after #endif.
414
415         * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using
416         namespace WebCore.
417         * loader/Cache.cpp: Ditto.
418
419 2006-04-05  Beth Dakin  <bdakin@apple.com>
420
421         Reviewed by Darin.
422
423         Fix for <rdar://problem/4502311> text-transform:capitalize needs to 
424         treat nbsp as a regular space when ICU changes
425
426         There will be future changes in ICU to match the Unicode 4.1 
427         standard which no longer recognizes &nbsp as a word separator. We 
428         need to work around this with text-transform:capitalize because 
429         words after non-breaking spaces still need to be capitalized.
430
431         No layout tests added because existing layout tests cover this.
432
433         * platform/StringImpl.cpp:
434         (WebCore::StringImpl::capitalize): If the character is a non-
435         breaking space, add a regular space to our temporary buffer, 
436         otherwise, just copy the character in.
437
438 2006-04-05  Alexey Proskuryakov  <ap@nypop.com>
439
440         Reviewed by Darin.
441
442         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8110
443           Define navigator.vendorSub (bcms.gov.uk doesn't allow access to login page)
444
445         Test: fast/dom/navigator-vendorSub.html
446
447         * khtml/ecma/kjs_navigator.cpp:
448         (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property.
449         * khtml/ecma/kjs_navigator.h:
450
451 2006-04-04  Darin Adler  <darin@apple.com>
452
453         Reviewed by Justin (editing parts) and Adele (the rest).
454
455         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8182
456           some text-field-related layout tests are failing
457
458         The smart paste code was getting confused and adding extra spaces.
459
460         * editing/ReplaceSelectionCommand.cpp:
461         (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of
462         isStartOfLine.
463         (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
464
465         * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem):
466         Change to call isStart/EndOfParagraph instead of Line.
467
468         * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
469         Add a comment about how isStartOfLine is almost certainly wrong here.
470
471         - clean up some loose ends in the Frame class from the recent renaming
472
473         * page/Frame.h: Removed declarations of deleteMe1, deleteMe2, and
474         handleMouseMoveEventPart2.
475         * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent): Removed
476         handleMouseMoveEventPart2 by renaming it to handleMouseMoveEvent and removing
477         handleMouseMoveEvent itself.
478
479         - invoke the makefile directly, removing the generate-derived-sources script
480
481         * WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly.
482         * WebCore.xcodeproj/project.pbxproj: Ditto.
483         * generate-derived-sources: Removed.
484
485 2006-04-04  Adele Peterson  <adele@apple.com>
486
487         Reviewed by Justin.
488
489         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8158
490         REGRESSION: Clicking past RTL text in a new text field puts the caret on the wrong side of the text
491
492         Tests:
493         editing/selection/caret-rtl.html
494         editing/selection/caret-rtl-2.html
495
496         * rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates):
497         When calculating the position for the beginning or end of an InlineTextBox,
498         we now use offsetForPosition instead of just using m_start and m_len, because
499         offsetForPosition will take rtl text into account.  I also made some formatting
500         changes.
501
502 2006-04-04  David Hyatt  <hyatt@apple.com>
503
504         Fix for bug 8065, inline blocks incorrectly loses spaces between them.
505
506         Reviewed by beth
507
508         * dom/Text.cpp:
509         (WebCore::Text::rendererIsNeeded):
510
511 2006-04-04  Adele Peterson  <adele@apple.com>
512
513         Reviewed by Hyatt.
514
515         - Fix for:
516         http://bugzilla.opendarwin.org/show_bug.cgi?id=8092
517         REGRESSION (NativeTextField): table contents misaligned in Netflix queue
518
519         http://bugzilla.opendarwin.org/show_bug.cgi?id=8141
520         REGRESSION: Native text field fails to wrap inside table
521
522         http://bugzilla.opendarwin.org/show_bug.cgi?id=8072
523         REGRESSION: text fields at connect.apple.com spill out of the containing box
524
525         Test: fast/forms/input-table.html
526
527         Rewrote calcMinMaxWidth for text fields so it considers width, 
528         min-width, and max-width settings as well as the size attribute.
529
530         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
531
532 2006-04-04  Beth Dakin  <bdakin@apple.com>
533
534         Reviewed by Darin.
535
536         This is a followup to my fix for <rdar://problem/4493218>
537         
538         This patch re-names computeIntLength() and computerShortLength() to 
539         be computeLengthInt() and computeLengthShort(), respectively, to 
540         match the pre-existing computeLengthFloat(). This patch also adds 
541         the slightly confusing-ly named computeLengthIntForLength() which 
542         uses the max and min values of a 28-bit integer as bounds for 
543         overflow. This function is necessary because Length objects expect 
544         28-bit integers. 
545
546         * css/css_valueimpl.cpp:
547         (WebCore::CSSPrimitiveValue::computeLengthInt):
548         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
549         (WebCore::CSSPrimitiveValue::computeLengthShort):
550         * css/css_valueimpl.h:
551         * css/cssstyleselector.cpp:
552         (WebCore::convertToLength):
553         (WebCore::CSSStyleSelector::applyProperty):
554         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
555         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
556
557 2006-04-04  Timothy Hatcher  <timothy@apple.com>
558
559         Reviewed by Darin.
560
561         The Debug and Release frameworks are now built with install paths relative to the build products directory.
562         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
563
564         * WebCore.xcodeproj/project.pbxproj:
565
566 2006-04-04  Justin Garcia  <justin.garcia@apple.com>
567
568         Reviewed by darin
569         
570         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6608>
571         REGRESSION: Line disappears when deleting
572         
573         Rewrote moveNodesAfterNode to address these problems:
574         It moved nodes without preserving their style. 
575         It traversed over siblings looking for a br to know when
576         to stop merging.  If the br was burried inside a span, it 
577         wouldn't find it.  If the text is whitespace:pre, it wouldn't
578         stop.
579         In theory it would crash if the "enclosingInlineElements" of the start of the
580         selection to delete and the end of the selection to delete were the
581         same.  We think that this will fix these:
582         <rdar://problems/3950559&4498113>
583         CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
584         CrashTracer: 1569 crashes in Mail at com.apple.WebCore: khtml::DeleteSelectionCommand::moveNodesAfterNode + 340
585         But we haven't been able to construct a reproducible case.
586         
587         * editing/CompositeEditCommand.cpp:
588         (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Moved from ReplaceSelectionCommand.
589         (WebCore::CompositeEditCommand::prune): Ditto.
590         * editing/CompositeEditCommand.h:
591         * editing/DeleteSelectionCommand.cpp:
592         (WebCore::DeleteSelectionCommand::mergeParagraphs):
593         (WebCore::DeleteSelectionCommand::doApply):
594         * editing/DeleteSelectionCommand.h:
595         * editing/ReplaceSelectionCommand.cpp:
596         (WebCore::ReplaceSelectionCommand::doApply):
597         * editing/ReplaceSelectionCommand.h:
598         (WebCore::):
599         * editing/markup.cpp:
600         (WebCore::createMarkup): 
601         Was crashing when passed a collapsed range.  I early return an empty string instead.
602
603 2006-04-04  John Sullivan  <sullivan@apple.com>
604
605         Reviewed by Adele Peterson.
606         
607         - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
608
609         * bridge/mac/WebCoreSettings.h:
610         * bridge/mac/WebCoreSettings.mm:
611         (-[WebCoreSettings setPrivateBrowsingEnabled:]):
612         (-[WebCoreSettings privateBrowsingEnabled]):
613         Teach WebCoreSettings about private browsing (WebKit knew, but WebCore didn't)
614         
615         * kwq/KWQKHTMLSettings.h:
616         (KHTMLSettings::privateBrowsingEnabled):
617         (KHTMLSettings::setPrivateBrowsingEnabled):
618         Teach KHTMLSettings about private browsing
619         
620         * kwq/KWQLineEdit.mm:
621         Fix wrong class in a category method declaration; the compiler didn't seem to mind.
622         
623         * kwq/WebCoreTextField.mm:
624         (-[KWQSearchFieldCell _addStringToRecentSearches:]):
625         Override this method to bail out if private browsing is enabled.
626
627 2006-04-04  Trey Matteson  <trey@usa.net>
628
629         Reviewed by Hyatt.
630
631         http://bugzilla.opendarwin.org/show_bug.cgi?id=7951
632         REGRESSION: Safari crashes when printing a google map w/directions
633
634         Tests: none, because I believe it only happens when printing, due to the relayouts
635
636         * rendering/RenderTable.cpp:
637         (WebCore::RenderTable::recalcSectionsIfNeeded): Add new utility to let the cells
638         ensure the sections' grid data is up to date.
639         * rendering/RenderTable.h:
640         * rendering/RenderTableCell.cpp:
641         (WebCore::RenderTableCell::calcMinMaxWidth):  Call above method.
642
643 2006-04-03  Justin Haygood <jhaygood@spsu.edu>
644
645         Reviewed by eseidel.  Landed by eseidel.
646         
647         - WIN32: maximumScroll() is the maximum scroll delta, not the maximum scroll position. Update to use
648           the real maximum scroll position.
649         http://bugzilla.opendarwin.org/show_bug.cgi?id=8160
650
651         * platform/win/ScrollViewWin.cpp:
652         (WebCore::ScrollView::updateScrollBars):
653
654 2006-04-04  Eric Seidel  <eseidel@apple.com>
655
656         Reviewed by andersca.
657
658         Work-around spaces-in-pathnames issue in gnumake on win32.
659         http://bugzilla.opendarwin.org/show_bug.cgi?id=8173
660
661         * WebCore.vcproj/WebCore/build-generated-files.sh:
662
663 2006-04-03  Darin Adler  <darin@apple.com>
664
665         - tried to fix build again
666
667         * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files.
668         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
669
670 2006-04-03  Darin Adler  <darin@apple.com>
671
672         - fixed properties on a bunch of files
673           (removed allow-tabs and svn:executable from many)
674
675         * css/css_base.cpp:
676         * html/html_headimpl.cpp:
677         * khtml/ecma/kjs_traversal.cpp:
678         * kwq/DeprecatedPtrListImpl.cpp:
679         * kwq/DeprecatedValueListImpl.cpp:
680         * loader/CachedScript.h:
681         * platform/ArrayImpl.cpp:
682         * platform/StringImpl.cpp:
683         * rendering/DataRef.h:
684         * rendering/RenderContainer.cpp:
685         * rendering/RenderTableCell.cpp:
686         * rendering/bidi.h:
687         * rendering/render_list.cpp:
688         * rendering/render_style.cpp:
689         * rendering/table_layout.h:
690         Converted tabs to spaces.
691
692 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
693
694         Reviewed by Darin.
695
696         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7118
697           Property values with extra items do not get treated as invalid (they should)
698
699         Tests: fast/css/invalidation-errors.html
700                fast/css/invalidation-errors-2.html
701                fast/css/invalidation-errors-3.html
702
703         * css/CSSGrammar.y: Rollback the properties added by parseValue() when it returns false.
704         * css/cssparser.h: Moved shorthand counting to ShorthandScope, a new class in cssparser.cpp.
705         * css/cssparser.cpp:
706         (WebCore::CSSParser::rollbackLastProperties): Added.
707         (WebCore::CSSParser::parseValue): Return false if there are too many properties in the list.
708         (WebCore::CSSParser::parseBackgroundShorthand): Use ShorthandScope.
709         (WebCore::CSSParser::parseShorthand): Ditto.
710         (WebCore::CSSParser::parse4Values): Ditto.
711
712 2006-04-03  Darin Adler  <darin@apple.com>
713
714         - changed StyleSheet back to hand-generated since the generated toJS
715           function was not making the right type of wrapper for CSS style sheets
716           (fixes failing layout tests)
717
718         * DerivedSources.make: Removed JSStyleSheet.h.
719         * css/StyleSheet.idl: Removed.
720         * khtml/ecma/kjs_css.cpp: Added DOMStyleSheet back in.
721         * khtml/ecma/kjs_css.h: Ditto.
722
723 2006-04-03  Darin Adler  <darin@apple.com>
724
725         - fixed Macintosh build
726
727         * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute
728         paths from my machine.
729
730 2006-04-03  Darin Adler  <darin@apple.com>
731
732         - try to fix Windows build
733
734         * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files.
735
736 2006-04-03  Darin Adler  <darin@apple.com>
737
738         Reviewed by Maciej.
739
740         - get RTL right for bug http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
741           REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
742
743         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
744         Scroll to the right if RTL.
745
746 2006-04-03  Darin Adler  <darin@apple.com>
747
748         Reviewed by Maciej.
749
750         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8147
751           convert derived sources script to a Makefile
752
753         * DerivedSources.make: Added.
754         * css/CSSPrimitiveValue.idl: Added.
755         * css/Counter.idl: Added.
756         * css/StyleSheet.idl: Added.
757
758         * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile.
759         * bindings/scripts/CodeGeneratorJS.pm:
760
761         * generate-derived-sources: Added license header. Removed most of the script, except for
762         a single invocation of make.
763
764         * khtml/ecma/kjs_css.h: Removed DOMStyleSheet, DOMCSSPrimitiveValue,
765         CSSPrimitiveValueConstructor, and DOMCounter.
766         * khtml/ecma/kjs_css.cpp:
767         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): Changed to use JSStyleSheet as the base class.
768         (KJS::DOMCSSStyleSheet::getOwnPropertySlot): Ditto.
769         (KJS::DOMCSSValueProtoFunc::callAsFunction): Added.
770         (KJS::toJS): Changed to use JSCSSPrimitiveValue.
771         (KJS::DOMRGBColor::getValueProperty): Changed to call toJS instead of making a
772         DOMCSSPrimitiveValue directly.
773
774 2006-04-03  Justin Garcia  <justin.garcia@apple.com>
775
776         Reviewed by harrison
777         
778         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8117>
779         REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page
780         
781         The frame's selection is only set after all sub-commands have been 
782         performed.  When we send the khtmlBeforeTextInsertedEvent to the root 
783         editable element we were using frame->selection(), which may no longer 
784         be in the document.
785         
786         Had to move the construction of the ReplacementFragment to when the
787         replace operation is applied, because endingSelection isn't the 
788         endingSelection of the last operation when the replace operation
789         is constructed.
790
791         * editing/ReplaceSelectionCommand.cpp:
792         (WebCore::ReplacementFragment::ReplacementFragment):
793         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
794         (WebCore::ReplaceSelectionCommand::doApply):
795         * editing/ReplaceSelectionCommand.h:
796
797 2006-04-03  Beth Dakin  <bdakin@apple.com>
798
799         Reviewed by Hyatt.
800
801         Fix for <rdar://problem/4495644> crash when mousing over links at 
802         nationalrealestateinvestors.com in 
803         WebCore::RenderBlock::findNextLineBreak
804
805         This is a fix for a repro crasher where a rootLineBox had a stale 
806         pointer to a render object.
807
808         * rendering/RenderFlow.cpp:
809         (WebCore::RenderFlow::dirtyLinesFromChangedChild): Only break from 
810         the function because of selfNeedsLayout() if we are not an inline 
811         flow, because if we are, we will not re-layout before bad things 
812         can happen.
813
814 2006-04-03  Timothy Hatcher  <timothy@apple.com>
815
816         Reviewed by Maciej.
817
818         Removing idl files and some scripts from the WebCore target to prevent
819         them from being copied into the Resources.
820
821         * WebCore.xcodeproj/project.pbxproj:
822
823 2006-04-03  Dave Hyatt  <hyatt@apple.com>
824
825         Implement basic theme support on Win32.  Still much to do, but
826         the backgrounds of buttons, textfields, checkboxes and radio
827         controls now draw correctly.  Still work to do for the Classic look
828         and to get the foreground defaults of the controls correct.
829
830         Reviewed by anders
831
832         * dom/Node.h:
833         (WebCore::Node::isReadOnly):
834         * html/HTMLInputElement.h:
835         (WebCore::HTMLInputElement::isReadOnly):
836         * platform/win/IntRectWin.cpp:
837         (WebCore::IntRect::operator RECT):
838         * rendering/RenderTheme.cpp:
839         (WebCore::RenderTheme::isControlStyled):
840         (WebCore::RenderTheme::stateChanged):
841         (WebCore::RenderTheme::isReadOnly):
842         (WebCore::RenderTheme::isHovered):
843         * rendering/RenderTheme.h:
844         (WebCore::RenderTheme::supportsHover):
845         * rendering/RenderThemeMac.h:
846         * rendering/RenderThemeMac.mm:
847         (WebCore::RenderThemeMac::isControlStyled):
848         * rendering/RenderThemeWin.cpp:
849         (WebCore::m_textFieldTheme):
850         (WebCore::RenderThemeWin::~RenderThemeWin):
851         (WebCore::RenderThemeWin::close):
852         (WebCore::RenderThemeWin::supportsFocus):
853         (WebCore::RenderThemeWin::determineState):
854         (WebCore::RenderThemeWin::getThemeData):
855         (WebCore::RenderThemeWin::paintButton):
856         (WebCore::RenderThemeWin::setCheckboxSize):
857         (WebCore::RenderThemeWin::setRadioSize):
858         (WebCore::RenderThemeWin::paintTextField):
859         * rendering/RenderThemeWin.h:
860         (WebCore::ThemeData::m_state):
861         (WebCore::RenderThemeWin::supportsHover):
862         (WebCore::RenderThemeWin::paintCheckbox):
863         (WebCore::RenderThemeWin::paintRadio):
864
865 2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
866
867         Reviewed by Beth.
868
869         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8085
870           REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us
871
872         Test: fast/dom/Element/offsetTop-table-cell.html
873
874         * rendering/RenderObject.cpp:
875         (WebCore::RenderObject::offsetTop): Skip table rows when adding up
876         the offsets, since a table cell's yPos() is relative to the table
877         section, not the row.
878
879 2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
880
881         Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html
882
883         Reviewed by Darin.
884
885         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7943
886           Layer outline does not repaint
887
888         * rendering/RenderLayer.cpp:
889         (WebCore::RenderLayer::paintLayer): Use the outlineRect for the
890         outline phase and do it only if the outlineRect isn't empty.
891         (WebCore::RenderLayer::calculateRects): Actually add the outline width to the
892         outline rect.
893
894 2006-04-03  Adele Peterson  <adele@apple.com>
895
896         Reviewed by Justin.
897
898         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8104
899         REGRESSION (NativeTextField): New text fields should not allow pasting newlines
900
901         Test: fast/forms/input-truncate-newline.html
902
903         * html/HTMLInputElement.cpp:
904         (WebCore::minPosition): Added helper function.
905         (WebCore::HTMLInputElement::defaultEventHandler): Searches for /r or /n and 
906          truncates the text to be inserted to the earliest newline.
907
908 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
909
910         Fixed a comment (forgot to save the file before the previous commit).
911
912         * xml/xmlhttprequest.cpp:
913         (WebCore::XMLHttpRequest::open):
914
915 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
916
917         Reviewed by Darin.
918
919         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8099
920           REGRESSION: XMLHttpRequest lowercase post requests broken
921
922         Test: http/tests/xmlhttprequest/methods-lower-case.html
923
924         * xml/xmlhttprequest.cpp:
925         (WebCore::XMLHttpRequest::open): Uppercase some HTTP method names, to match a Firefox quirk.
926         (WebCore::XMLHttpRequest::send): Account for the above change.
927
928 2006-04-02  Graham Dennis  <Graham.Dennis@gmail.com>
929
930         Reviewed by Darin.
931
932         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8032
933           REGRESSION: Focus ring not completely redrawn after a Delete changes its size
934
935         * rendering/RenderObject.cpp:
936         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): When an element changes size, the
937         delta rectangles that need to be invalidated must be inflated by the outline size to ensure
938         that the previous outline is erased, and the space where the new outline is to be drawn is
939         also invalidated. This behaviour is identical to the behaviour of borders that was fixed in
940         bug 6301.
941         * manual-tests/outline-repaint-glitch.html: Added. Manual testcase.
942         This is just an outline version of border-repaint-glitch.html
943
944 2006-04-02  Trey Matteson  <trey@usa.net>
945
946         Reviewed by Maciej.
947
948         Support for fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
949         REGRESSION: 404s are not displayed
950
951         * bridge/mac/WebCoreFrameBridge.mm:
952         (-[WebCoreFrameBridge currentForm]): Nuke redundant nil check.
953         (-[WebCoreFrameBridge frameElement]): Tweak to not rely on our document, which
954         gives a correct result even at the start of our loading process.
955         * bindings/objc/DOM.mm:
956         (-[DOMDocument _ownerElement]): Nuke redundant nil check.
957
958 2006-04-02  David Kilzer  <ddkilzer@kilzer.net>
959
960         Reviewed by Maciej.
961
962         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8079
963         REGRESSION: Redraw from page cache does not show visited links
964
965         * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back
966         updateStyleSelector call that was removed as part of the patch for bug 7907.
967
968 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
969
970         Reviewed by Hyatt.
971
972         - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
973         - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
974         (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
975         - fixed tab and shift tab don't select the right things
976         http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
977
978         * bridge/mac/FrameMac.mm:
979         (WebCore::FrameMac::nextKeyViewInFrame):
980         * bridge/mac/WebCoreFrameBridge.h:
981
982 2006-04-02  Darin Adler  <darin@apple.com>
983
984         - add a few stubs to get Windows closer to building
985
986         * platform/win/TemporaryLinkStubs.cpp:
987         (WebCore::focusRingColor):
988         (WebCore::setFocusRingColorChangeFunction):
989         (Frame::setNeedsReapplyStyles):
990
991 2006-04-02  Darin Adler  <darin@apple.com>
992
993         - fix the build
994
995         * WebCore.xcodeproj/project.pbxproj: Removed a bunch of files that should not have been
996         mentioned at all, and a bunch of others that should be in the project but not in the target.
997
998 2006-04-02  Darin Adler  <darin@apple.com>
999
1000         Reviewed by Adele.
1001
1002         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8123
1003           focus ring on new text field doesn't look like the old one
1004
1005         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7685
1006           Focus ring color should change to match graphite when system theme is graphite
1007
1008         - some cleanup to how we parse user agent style sheets
1009
1010         * css/CSSValueKeywords.in: Added -webkit-focus-ring-color.
1011
1012         * css/cssstyleselector.cpp:
1013         (WebCore::parseUASheet): Parse an array of chars instead of UTF-16.
1014         Cuts the size of the style sheet in half.
1015         (WebCore::CSSStyleSelector::applyProperty): Allow negative value for
1016         outline-offset. Changed shadow parsing to use getColorFromPrimitiveValue
1017         instead of repeating the same logic.
1018         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Added a case
1019         for the focus ring color.
1020         * rendering/render_style.h: (WebCore::RenderStyle::setOutlineOffset):
1021         Changed to allow negative values.
1022
1023         * css/html4.css: Removed a lot of excess spaces. Changed color of focus
1024         to -webkit-focus-ring-color. Changed width of focus to 5px.
1025         Added an outline-offset for <input type=text> of -2px.
1026
1027         * css/cssparser.cpp:
1028         (WebCore::CSSParser::parseValue): Added focus ring color as an outline color all
1029         the time, and as any other color when not in strict mode. I'm confused about what's
1030         best for this whole strict mode policy, and I may need advice on Hyatt to perfect
1031         this one later.
1032         (WebCore::CSSParser::parseColorFromValue): Removed code to pin r, g, and b because
1033         the functions in platform already take care of that. Kept the pinning of a, though
1034         because that's done in floating point before converting to an integer.
1035         (WebCore::CSSParser::parseShadow): Allow focus ring color when not in strict mode.
1036
1037         * bridge/mac/FrameMac.h: Eliminated the virtual detachFromView function.
1038         * bridge/mac/FrameMac.mm:
1039         (WebCore::FrameMac::FrameMac): Eliminated code to maintain the frame instances list.
1040         (WebCore::FrameMac::~FrameMac): Ditto.
1041         (WebCore::Frame::setNeedsReapplyStyles): Added.
1042
1043         * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings _updateAllViews]):
1044         * platform/mac/WebCoreTextRendererFactory.mm:
1045         (-[WebCoreTextRendererFactory clearCaches]):
1046         Changed to call the new Page::setNeedsReapplyStylesForSettingsChange instead of using the
1047         obsolete Frame::instances.
1048
1049         * page/Frame.h: Removed instances, mutableInstances, and detachFromView.
1050         * page/Frame.cpp: Ditto.
1051
1052         * page/FrameTree.cpp:
1053         (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView().
1054         (WebCore::FrameTree::removeChild): Ditto.
1055
1056         * page/Page.h:
1057         * page/Page.cpp:
1058         (WebCore::Page::init): Added a set of pages instead of a page count. Also
1059         register a function for when the focus ring color changes the first time this
1060         is called.
1061         (WebCore::Page::~Page): Call setView(0) instead of detachFromView. Also update
1062         to manager the set of pages.
1063         (WebCore::Page::setNeedsReapplyStyles): Call setNeedsReapplyStyles on all frames.
1064         (WebCore::Page::setNeedsReapplyStylesForSettingsChange): Call setNeedsReapplyStyles
1065         on all frames with the passed-in settings.
1066
1067         * css/make-css-file-arrays.pl: Changed to run the C preprocessor on the
1068         input files and to generate an array of char instead of unsigned short.
1069
1070         * platform/PlatformString.h: Added a constructor that takes a char* and
1071         a length.
1072         * platform/String.cpp: (WebCore::String::String): Ditto.
1073
1074         * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like
1075         the user agent style sheets.
1076
1077         * platform/Color.h: Removed all use of DeprecatedString. Cleaned up a bit.
1078         Added focusRingColor and setFocusRingColorChangeFunction.
1079         * platform/Color.cpp:
1080         (WebCore::makeRGB): Rewrote using max and min.
1081         (WebCore::makeRGBA): Ditto.
1082         (WebCore::parseHexColor): Cleaned up a bit; changed partway to String instead of
1083         DeprecatedString.
1084         (WebCore::Color::Color): Changed to use String and to call setNamedColor to save code.
1085         (WebCore::Color::setNamedColor): Changed to use String in the interface.
1086
1087         * platform/mac/ColorMac.mm:
1088         (WebCore::observeTheme): Added. Function used to start up the observer.
1089         (WebCore::setFocusRingColorChangeFunction): Added. Used to get a call back so we can
1090         update all the views when the color changes (including recomputing style to get the
1091         color change in).
1092         (WebCore::setFocusRingColorChangeFunction): Added. Returns one of the two focus
1093         ring colors. Both of these match what AppKit uses -- neither matches what we used
1094         to have in the html4.css file.
1095         (+[WebCoreControlTintObserver controlTintDidChange]): Added. Used to update when
1096         the appearance is changed from blue to graphite and back. We keep a global so we
1097         don't have to call over to AppKit every time; that's probably overkill but we need
1098         the obsever for the color change function anyway.
1099
1100 2006-04-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1101
1102         Test: fast/inline-block/overflow-clip.html
1103
1104         Reviewed by Darin.
1105
1106         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8118
1107           REGRESSION (r13595): Inline block's clipped overflow increases table row height
1108
1109         * rendering/render_line.cpp:
1110         (WebCore::InlineFlowBox::placeBoxesVertically): Don't look at interior overflow
1111         when calculating the contribution to the inline's vertical overflows.
1112
1113 2006-04-02  Eric Seidel  <eseidel@apple.com>
1114
1115         Reviewed by andersca.
1116
1117         Make WebCore safe against KJS::Node in JavaScriptCore private headers.
1118
1119         * editing/ReplaceSelectionCommand.h:
1120         * khtml/ecma/JSXMLSerializer.cpp:
1121         (KJS::XMLSerializerProtoFunc::callAsFunction):
1122         * khtml/ecma/JSXSLTProcessor.cpp:
1123         (KJS::XSLTProcessorProtoFunc::callAsFunction):
1124         * khtml/ecma/kjs_binding.cpp:
1125         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
1126         (KJS::ScriptInterpreter::putDOMNodeForDocument):
1127         * khtml/ecma/kjs_dom.cpp:
1128         (KJS::DOMNode::DOMNode):
1129         (KJS::DOMNode::mark):
1130         (KJS::DOMNode::getValueProperty):
1131         (KJS::DOMNode::putValueProperty):
1132         (KJS::DOMNodeProtoFunc::callAsFunction):
1133         (KJS::toNode):
1134         (KJS::DOMEventTargetNode::DOMEventTargetNode):
1135         (KJS::DOMDocumentProtoFunc::callAsFunction):
1136         (KJS::DOMElement::putValueProperty):
1137         (KJS::DOMElementProtoFunc::callAsFunction):
1138         (KJS::checkNodeSecurity):
1139         (KJS::toJS):
1140         (KJS::getRuntimeObject):
1141         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
1142         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
1143         * khtml/ecma/kjs_events.cpp:
1144         (KJS::JSLazyEventListener::JSLazyEventListener):
1145         (KJS::ClipboardProtoFunc::callAsFunction):
1146         * khtml/ecma/kjs_html.cpp:
1147         (KJS::JSHTMLDocument::namedItemGetter):
1148         (KJS::JSHTMLElement::framesetNameGetter):
1149         (KJS::JSHTMLElement::getOwnPropertySlot):
1150         (KJS::JSHTMLElement::pushEventHandlerScope):
1151         (KJS::JSHTMLCollection::callAsFunction):
1152         (KJS::JSHTMLCollection::getNamedItems):
1153         (KJS::JSHTMLSelectCollection::put):
1154         * khtml/ecma/kjs_traversal.cpp:
1155         (KJS::JSNodeFilterCondition::acceptNode):
1156         * khtml/ecma/kjs_window.cpp:
1157         (KJS::Window::put):
1158         * kwq/KWQPageState.mm:
1159         (-[KWQPageState WebCore::]):
1160
1161 2006-04-01  Darin Adler  <darin@apple.com>
1162
1163         Reviewed by Eric.
1164
1165         - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers
1166
1167         * ForwardingHeaders/kcanvas: Removed.
1168         * ForwardingHeaders/kcanvas/KCanvas.h: Removed.
1169         * ForwardingHeaders/kdom: Removed.
1170         * ForwardingHeaders/kdom/DOMString.h: Removed.
1171         * ForwardingHeaders/kdom/Helper.h: Removed.
1172         * ForwardingHeaders/kdom/KDOMSettings.h: Removed.
1173         * ForwardingHeaders/kdom/Namespace.h: Removed.
1174         * ForwardingHeaders/kdom/cache: Removed.
1175         * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: Removed.
1176         * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: Removed.
1177         * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h: Removed.
1178         * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: Removed.
1179         * ForwardingHeaders/kdom/cache/KDOMLoader.h: Removed.
1180         * ForwardingHeaders/kdom/core: Removed.
1181         * ForwardingHeaders/kdom/core/DOMConfiguration.h: Removed.
1182         * ForwardingHeaders/kdom/core/DOMException.h: Removed.
1183         * ForwardingHeaders/kdom/core/DOMList.h: Removed.
1184         * ForwardingHeaders/kdom/core/DOMString.h: Removed.
1185         * ForwardingHeaders/kdom/core/NamedAttrMap.h: Removed.
1186         * ForwardingHeaders/kdom/core/ProcessingInstruction.h: Removed.
1187         * ForwardingHeaders/kdom/core/domattrs.h: Removed.
1188         * ForwardingHeaders/kdom/ecma: Removed.
1189         * ForwardingHeaders/kdom/ecma/GlobalObject.h: Removed.
1190         * ForwardingHeaders/kdom/events: Removed.
1191         * ForwardingHeaders/kdom/events/Event.h: Removed.
1192         * ForwardingHeaders/kdom/events/EventListener.h: Removed.
1193         * ForwardingHeaders/kdom/events/EventTarget.h: Removed.
1194         * ForwardingHeaders/kdom/events/KeyboardEvent.h: Removed.
1195         * ForwardingHeaders/kdom/events/MouseEvent.h: Removed.
1196         * ForwardingHeaders/kdom/events/UIEvent.h: Removed.
1197         * ForwardingHeaders/kdom/events/kdomevents.h: Removed.
1198         * ForwardingHeaders/kdom/kdom.h: Removed.
1199         * ForwardingHeaders/kdom/parser: Removed.
1200         * ForwardingHeaders/kdom/parser/KDOMParser.h: Removed.
1201         * ForwardingHeaders/ksvg2: Removed.
1202         * ForwardingHeaders/ksvg2/KSVGPart.h: Removed.
1203         * ForwardingHeaders/ksvg2/KSVGView.h: Removed.
1204         * ForwardingHeaders/ksvg2/css: Removed.
1205         * ForwardingHeaders/ksvg2/css/CSSPropertyNames.h: Removed.
1206         * ForwardingHeaders/ksvg2/css/CSSValueKeywords.h: Removed.
1207         * WebCore+SVG/KDOMHeaders.h: Removed.
1208         * WebCore+SVG/Namespace.h: Removed.
1209         * WebCore+SVG/kdom.h: Removed.
1210
1211         * WebCore.xcodeproj/project.pbxproj: Removed headers.
1212
1213         * kcanvas/KCanvasCreator.cpp:
1214         * kcanvas/KCanvasResources.cpp:
1215         * kcanvas/KCanvasTreeDebug.cpp:
1216         * kcanvas/RenderPath.cpp:
1217         * kcanvas/RenderSVGImage.cpp:
1218         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1219         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
1220         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1221         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1222         * ksvg2/css/SVGCSSStyleSelector.cpp:
1223         * ksvg2/events/SVGZoomEvent.h:
1224         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1225         * ksvg2/misc/KSVGTimeScheduler.cpp:
1226         * ksvg2/misc/SVGImageLoader.cpp:
1227         * ksvg2/svg/SVGAElement.cpp:
1228         * ksvg2/svg/SVGAnimationElement.cpp:
1229         * ksvg2/svg/SVGCircleElement.cpp:
1230         * ksvg2/svg/SVGClipPathElement.cpp:
1231         * ksvg2/svg/SVGCursorElement.cpp:
1232         * ksvg2/svg/SVGCursorElement.h:
1233         * ksvg2/svg/SVGDOMImplementation.cpp:
1234         * ksvg2/svg/SVGDocument.cpp:
1235         * ksvg2/svg/SVGDocument.h:
1236         * ksvg2/svg/SVGElement.cpp:
1237         * ksvg2/svg/SVGEllipseElement.cpp:
1238         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
1239         * ksvg2/svg/SVGExternalResourcesRequired.h:
1240         * ksvg2/svg/SVGFEBlendElement.cpp:
1241         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1242         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1243         * ksvg2/svg/SVGFECompositeElement.cpp:
1244         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1245         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1246         * ksvg2/svg/SVGFEFloodElement.cpp:
1247         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1248         * ksvg2/svg/SVGFEImageElement.cpp:
1249         * ksvg2/svg/SVGFEImageElement.h:
1250         * ksvg2/svg/SVGFELightElement.cpp:
1251         * ksvg2/svg/SVGFEMergeElement.cpp:
1252         * ksvg2/svg/SVGFEOffsetElement.cpp:
1253         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1254         * ksvg2/svg/SVGFETileElement.cpp:
1255         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1256         * ksvg2/svg/SVGFilterElement.cpp:
1257         * ksvg2/svg/SVGGradientElement.cpp:
1258         * ksvg2/svg/SVGHelper.cpp:
1259         * ksvg2/svg/SVGImageElement.cpp:
1260         * ksvg2/svg/SVGLangSpace.cpp:
1261         * ksvg2/svg/SVGLength.cpp:
1262         * ksvg2/svg/SVGLineElement.cpp:
1263         * ksvg2/svg/SVGLinearGradientElement.cpp:
1264         * ksvg2/svg/SVGList.h:
1265         * ksvg2/svg/SVGLocatable.cpp:
1266         * ksvg2/svg/SVGMarkerElement.cpp:
1267         * ksvg2/svg/SVGMarkerElement.h:
1268         * ksvg2/svg/SVGMaskElement.cpp:
1269         * ksvg2/svg/SVGPathElement.cpp:
1270         * ksvg2/svg/SVGPatternElement.cpp:
1271         * ksvg2/svg/SVGPolyElement.cpp:
1272         * ksvg2/svg/SVGPolygonElement.cpp:
1273         * ksvg2/svg/SVGPolylineElement.cpp:
1274         * ksvg2/svg/SVGRadialGradientElement.cpp:
1275         * ksvg2/svg/SVGRectElement.cpp:
1276         * ksvg2/svg/SVGSVGElement.cpp:
1277         * ksvg2/svg/SVGStopElement.cpp:
1278         * ksvg2/svg/SVGStyleElement.cpp:
1279         * ksvg2/svg/SVGStyledElement.cpp:
1280         * ksvg2/svg/SVGStyledLocatableElement.cpp:
1281         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1282         * ksvg2/svg/SVGTextElement.cpp:
1283         * ksvg2/svg/SVGTransformable.cpp:
1284         * ksvg2/svg/SVGUseElement.cpp:
1285         * ksvg2/svg/SVGViewElement.cpp:
1286         Updated includes.
1287
1288 2006-04-01  Darin Adler  <darin@apple.com>
1289
1290         Reviewed by Maciej.
1291
1292         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8089
1293           REGRESSION: Caret position is off in native text field with text-align:right
1294
1295         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8082
1296           REGRESSION: Empty RTL text fields place the caret on the left side
1297
1298         Need a way to make a test for this. No obvious way at the moment.
1299
1300         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect):
1301         Consider border, padding, and the width of the caret properly in the
1302         calculation of the caret's X position.
1303
1304         * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect):
1305         Fixed some similar issues and rewrote this function for clarity.
1306         However, I suspect this function was and remains broken and is almost
1307         never called.
1308
1309 2006-04-01  Darin Adler  <darin@apple.com>
1310
1311         Reviewed by Justin.
1312
1313         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
1314           REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
1315
1316         Test: fast/forms/input-text-scroll-left-on-blur.html
1317
1318         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Pass blur events
1319         through to the RenderTextField, as well as mouse, drag, and wheel events.
1320         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): Scroll all the way to
1321         the left on a blur.
1322
1323         - unrelated small changes
1324
1325         * html/HTMLTextFieldInnerElement.cpp: Removed excess includes.
1326         (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.
1327
1328         * dom/Element.cpp:
1329         (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call.
1330         (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
1331
1332         * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.
1333
1334 2006-03-31  Maciej Stachowiak  <mjs@apple.com>
1335
1336         Reviewed by Adele.
1337         
1338         <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)
1339
1340         * editing/ReplaceSelectionCommand.cpp:
1341         (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into
1342         an empty editable subtree.
1343
1344 2006-04-01  Darin Adler  <darin@apple.com>
1345
1346         Reviewed by Maciej.
1347
1348         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8063
1349           REGRESSION: double clicking in new text fields won't select whole words
1350
1351         Test: fast/forms/input-text-double-click.html
1352
1353         * editing/visible_units.cpp: (WebCore::nextBoundary): Set the end of the range by
1354         calling selectNodeContents rather than by calling setEndAfter. The problem with
1355         setEndAfter is that it doesn't do anything when the parent of the node is 0, and
1356         also it's not really what we want, since the boundary node is one with editable
1357         contents -- we want to stay inside the boundary node.
1358
1359         * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch
1360         I noticed at the same time.
1361
1362 2006-03-31  John Sullivan  <sullivan@apple.com>
1363
1364         Reviewed by Tim Hatcher.
1365         
1366         - fixed <rdar://problem/4372842> 10.4.4 Regression: control-clicking on a misspelled word 
1367         doesn't select it or offer corrections (first click only)
1368
1369         * bridge/mac/FrameMac.mm:
1370         (WebCore::FrameMac::sendContextMenuEvent):
1371         Rolled in this one-line change that Hyatt wrote ages ago.
1372
1373 2006-03-31  Beth Dakin  <bdakin@apple.com>
1374
1375         Reviewed by John.
1376
1377         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8108
1378         REGRESSION (r13590-r13593): Floating table's cells don't paint 
1379         their background
1380
1381         This is a regression from my painting patch yesterday. Just a silly 
1382         error I didn't catch.
1383
1384         * rendering/RenderTable.cpp:
1385         (WebCore::RenderTable::paint): Change the phase of our new 
1386         PaintInfo, not our old one.
1387
1388 2006-03-31  Tim Omernick  <timo@apple.com>
1389
1390         Reviewed by Adele.
1391
1392         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7858>
1393         <rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute
1394         
1395         * rendering/RenderTextField.cpp:
1396         (WebCore::RenderTextField::createDivStyle):
1397         Set user modify based on the form element's readOnly().
1398         (WebCore::RenderTextField::updateFromElement):
1399         ditto
1400
1401 2006-03-31  Adele Peterson  <adele@apple.com>
1402
1403         Reviewed by Tim Omernick.
1404
1405         Updating shadowAncestorNode so it doesn't check for rootEditableElement.  Now we just walk
1406         up the tree to look for a shadowNode, and then we find the shadowParent.
1407
1408         * dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
1409         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange):
1410          Updated assertion to check for shadowAncestorNode instead of rootEditableElement.
1411
1412 2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1413
1414         Reviewed by John Sullivan.
1415         
1416         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8101
1417           REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail
1418
1419         * rendering/render_line.cpp:
1420         (WebCore::InlineFlowBox::placeBoxesVertically): Change top and bottom positions
1421         only if childAffectsTopBottomPos is true.
1422         * rendering/RenderFlow.cpp:
1423         (WebCore::RenderFlow::paintLines): Redo a part of the patch for bug 7031 that
1424         wasn't committed with the rest of the patch.
1425
1426 2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1427
1428         Reviewed by Darin, landed by Beth.
1429
1430         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8081
1431         REGRESSION: Drop-down menu has gap at top
1432
1433         * rendering/RenderBox.cpp:
1434         (WebCore::RenderBox::calcAbsoluteVerticalValues): When calculating 
1435         the hypothetical vertical position in normal flow, skip table rows 
1436         in the ancestor chain, since a table cell's Y position is relative 
1437         to the table section, not the row.
1438
1439 2006-03-31  Dave Hyatt <hyatt@apple.com>
1440
1441         Fix the border drawing for themes on Win32.
1442
1443         Reviewed by adele
1444
1445         * rendering/RenderBox.cpp:
1446         (WebCore::RenderBox::paintBoxDecorations):
1447         * rendering/RenderTheme.cpp:
1448         (WebCore::RenderTheme::paintBorderOnly):
1449         * rendering/RenderTheme.h:
1450
1451 2006-03-31  Darin Adler  <darin@apple.com>
1452
1453         Reviewed by John Sullivan.
1454
1455         * khtml/ecma/kjs_binding.cpp: Added names for VALIDATION_ERR and
1456         TYPE_MISMATCH_ERR; new DOM Level 3 errors that need to be listed in
1457         the mapping from error code to error name.
1458
1459         * dom/Element.idl: Removed comment from bad old days where we had to
1460         touch these files to make them rebuild.
1461
1462 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
1463
1464         - fixed Windows build breakage from previous change
1465
1466         * platform/ScrollView.h:
1467         * platform/win/FontWin.cpp:
1468         (WebCore::Font::drawLineForText):
1469         * platform/win/ScrollViewWin.cpp:
1470         (WebCore::ScrollView::scrollOffset):
1471         (WebCore::ScrollView::scrollBy):
1472
1473 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
1474
1475         Reviewed by Eric.
1476         
1477         - various Point / Size related cleanup
1478         
1479         First, I clarified the semantics of some operations to keep a
1480         better distinction between IntPoint and IntSize:
1481         
1482         * platform/IntPoint.h:
1483         (WebCore::IntPoint::move): new convenience to move a point by separate
1484         x and y deltas.
1485         (WebCore::operator+=): You can't add a point to a point, you can only add
1486         a size to a point.
1487         (WebCore::operator+): ditto
1488         (WebCore::operator-): point - point = size; point - size = point
1489         (WebCore::operator-=): only allow subtracting a size for the mutating version
1490         * platform/IntRect.h:
1491         (WebCore::IntRect::move): tweaked to use IntPoint::move, also, move by an IntSize,
1492         not an IntPoint.
1493         * platform/IntSize.h:
1494         (WebCore::IntSize::shrunkTo): analog to expandedTo
1495         (WebCore::IntSize::clampNegativeToZero): a handy helper
1496         (WebCore::operator-): Added unary minus operator
1497
1498         Made the same changes for FloatPoint:
1499         
1500         * platform/FloatPoint.h:
1501         (WebCore::FloatPoint::move):
1502         (WebCore::operator+=):
1503         (WebCore::operator-=):
1504         (WebCore::operator+):
1505         (WebCore::operator-):
1506         * platform/FloatRect.h:
1507         (WebCore::FloatRect::move):
1508         * platform/FloatSize.h:
1509         (WebCore::operator-):
1510
1511         Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
1512         coordinates. The main one was:
1513         
1514         * platform/ScrollView.h:
1515         * platform/mac/ScrollViewMac.mm:
1516         (WebCore::ScrollView::scrollOffset): new method, return an IntSize
1517         (WebCore::ScrollView::contentsToViewport): take and return an IntPoint
1518         (WebCore::ScrollView::viewportToContents): take and return an IntPoint
1519         * platform/win/ScrollViewWin.cpp:
1520         (WebCore::ScrollView::updateContents): handle things in terms of scrollOffset,
1521         not scrollPoint
1522         (WebCore::ScrollView::visibleContentRect):
1523         (WebCore::ScrollView::contentsX):
1524         (WebCore::ScrollView::contentsY):
1525         (WebCore::ScrollView::viewportToContents):
1526         (WebCore::ScrollView::contentsToViewport):
1527         (WebCore::scrollOffset):
1528         (WebCore::ScrollView::maximumScroll):
1529         (WebCore::ScrollView::scrollBy):
1530         (WebCore::ScrollView::updateScrollBars):
1531
1532         The rest is mainly updates for these changes.
1533
1534         * bridge/mac/FrameMac.h:
1535         * bridge/mac/FrameMac.mm:
1536         (WebCore::FrameMac::eventMayStartDrag):
1537         (WebCore::FrameMac::dragHysteresisExceeded):
1538         (WebCore::FrameMac::handleMouseMoveEvent):
1539         (WebCore::FrameMac::mouseDown):
1540         (WebCore::FrameMac::shouldDragAutoNode):
1541         (WebCore::FrameMac::sendContextMenuEvent):
1542         * bridge/mac/WebCoreFrameBridge.mm:
1543         (-[WebCoreFrameBridge isPointInsideSelection:]):
1544         * dom/EventTargetNode.cpp:
1545         (WebCore::EventTargetNode::dispatchMouseEvent):
1546         (WebCore::EventTargetNode::dispatchWheelEvent):
1547         * khtml/ecma/kjs_window.cpp:
1548         (KJS::WindowFunc::callAsFunction):
1549         * page/Frame.cpp:
1550         (WebCore::Frame::shouldDragAutoNode):
1551         (WebCore::Frame::isPointInsideSelection):
1552         (WebCore::Frame::selectClosestWordFromMouseEvent):
1553         (WebCore::Frame::handleMousePressEventDoubleClick):
1554         (WebCore::Frame::handleMousePressEventTripleClick):
1555         (WebCore::Frame::handleMousePressEventSingleClick):
1556         (WebCore::Frame::handleMouseMoveEventPart2):
1557         (WebCore::Frame::handleMouseReleaseEvent):
1558         * page/Frame.h:
1559         * page/FrameView.cpp:
1560         (WebCore::FrameView::dispatchDragEvent):
1561         (WebCore::FrameView::prepareMouseEvent):
1562         (WebCore::FrameView::handleWheelEvent):
1563         * rendering/RenderLayer.cpp:
1564         (WebCore::RenderLayer::scrollRectToVisible):
1565         * rendering/RenderObject.cpp:
1566         (WebCore::RenderObject::draggableNode):
1567         * rendering/RenderObject.h:
1568         (WebCore::RenderObject::positionForPoint):
1569         * rendering/render_list.cpp:
1570         (WebCore::RenderListMarker::paint):
1571
1572 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
1573
1574         - fixed windows build
1575
1576         * platform/win/TemporaryLinkStubs.cpp:
1577         (Widget::unlockDrawingFocus):
1578
1579 2006-03-31  Eric Seidel  <eseidel@apple.com>
1580
1581         Reviewed by mjs.
1582
1583         A bit more code cleanup.
1584
1585         * bridge/mac/WebCoreScriptDebugger.mm:
1586         (-[WebCoreScriptCallFrame evaluateWebScript:]):
1587         * html/HTMLFormElement.cpp:
1588         (WebCore::HTMLFormElement::submit):
1589         * html/HTMLInputElement.cpp:
1590         (WebCore::HTMLInputElement::setValue):
1591         * kwq/WebCoreTextField.mm:
1592         (-[KWQTextFieldController textView:shouldHandleEvent:]):
1593         (-[KWQSecureTextField selectText:]):
1594         * page/Frame.cpp:
1595         (WebCore::Frame::submitForm):
1596         * platform/Widget.h:
1597         * platform/mac/WidgetMac.mm:
1598         * rendering/render_frames.cpp:
1599         (WebCore::RenderFrameSet::userResize):
1600
1601 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
1602
1603         Reviewed by Eric.
1604
1605         * bridge/mac/FrameMac.mm:
1606         (WebCore::FrameMac::wheelEvent):
1607         (WebCore::FrameMac::eventMayStartDrag):
1608         (WebCore::FrameMac::handleMouseMoveEvent):
1609         (WebCore::FrameMac::sendContextMenuEvent):
1610         * bridge/mac/WebCoreFrameBridge.mm:
1611         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
1612         * dom/Document.cpp:
1613         (WebCore::Document::elementFromPoint):
1614         (WebCore::Document::prepareMouseEvent):
1615         * dom/Document.h:
1616         * kwq/WebCoreAXObject.mm:
1617         (-[WebCoreAXObject doAXTextMarkerForPosition:]):
1618         (-[WebCoreAXObject accessibilityHitTest:]):
1619         * manual-tests/frame-hover.html: Added.
1620         * manual-tests/resources/hover-subframe-1.html: Added.
1621         * manual-tests/resources/hover-subframe-2.html: Added.
1622         * page/Frame.cpp:
1623         (WebCore::Frame::isPointInsideSelection):
1624         * page/FrameView.cpp:
1625         (WebCore::FrameView::prepareMouseEvent):
1626         (WebCore::FrameView::handleWheelEvent):
1627         * platform/IntRect.h:
1628         (WebCore::IntRect::contains):
1629         * rendering/RenderLayer.cpp:
1630         (WebCore::isSubframeCanvas):
1631         (WebCore::frameVisibleRect):
1632         (WebCore::RenderLayer::hitTest):
1633         (WebCore::shouldApplyImplicitCapture):
1634         (WebCore::RenderLayer::hitTestLayer):
1635         * rendering/RenderLayer.h:
1636
1637 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1638
1639         Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html
1640
1641         Reviewed by Darin.
1642         
1643         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8056
1644           Flexible boxes do not repaint their top, left and children's overflows
1645
1646         * rendering/RenderBlock.cpp:
1647         (WebCore::RenderBlock::layoutBlockChildren):
1648         * rendering/RenderFlexibleBox.cpp:
1649         (WebCore::FlexBoxIterator::next):
1650         (WebCore::RenderFlexibleBox::layoutHorizontalBox): Update top overflow when
1651         determining vertical positions. Update horizontal overflows after horizontal
1652         positions are determined.
1653         (WebCore::RenderFlexibleBox::layoutVerticalBox):  Update left overflow when
1654         determining horizontal positions. Update vertical overflows after vertical
1655         positions are determined.
1656         (WebCore::RenderFlexibleBox::allowedChildFlex):
1657
1658 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1659
1660         Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html
1661
1662         Reviewed by Darin.
1663
1664         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7301
1665           Text shadow does not repaint correctly
1666
1667         * rendering/InlineTextBox.cpp:
1668         (WebCore::InlineTextBox::paint): Paint the text box if it is within the maximum
1669         possible horizontal shadow overflow of the damage rect.
1670         * rendering/InlineTextBox.h: Removed unused function checkVerticalPoint().
1671         * rendering/RenderFlow.cpp:
1672         (WebCore::RenderFlow::paintLines): Use the vertical overflows instead of the
1673         selection vertical bounds.
1674         (WebCore::RenderFlow::hitTestLines):
1675         * rendering/render_line.cpp:
1676         (WebCore::InlineFlowBox::placeBoxesHorizontally): Include overflow due to text shadow
1677         in leftPosition and rightPosition and keep track of the maximum horizontal shadow
1678         on the inline.
1679         (WebCore::InlineFlowBox::verticallyAlignBoxes):
1680         (WebCore::InlineFlowBox::placeBoxesVertically): Include overflow due to shadow and
1681         inline-blocks' overflow in topPosition and bottomPosition but not in the selection
1682         vertical bounds.
1683         (WebCore::RootInlineBox::selectionTop):
1684         * rendering/render_line.h:
1685         (WebCore::InlineFlowBox:::InlineRunBox):
1686         (WebCore::InlineFlowBox::setVerticalSelectionPositions):
1687         (WebCore::InlineFlowBox::maxHorizontalShadow):
1688         (WebCore::RootInlineBox::setVerticalSelectionPositions):
1689         (WebCore::RootInlineBox::selectionBottom):
1690         (WebCore::RootInlineBox::selectionHeight):
1691
1692 2006-03-30  Beth Dakin  <bdakin@apple.com>
1693
1694         Reviewed by Hyatt.
1695
1696         Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring 
1697         around link in overflow:auto div isn't clipped to div
1698
1699         Focus rings around the children off overflow:auto divs were not 
1700         being appropriately clipped because they were being painted with 
1701         the div's outlineRect, when they should be painted separately. This 
1702         patch adds two new PaintPhases -- PaintPhaseSelfOutline and 
1703         PaintPhaseChildOutlines -- to address this problem.
1704
1705         This patch also changes the name of PaintAction back to PaintPhase. 
1706         Because Hyatt said so.
1707
1708         * kcanvas/KCanvasResources.cpp:
1709         (WebCore::KCanvasMarker::draw):
1710         * kcanvas/RenderPath.cpp:
1711         (WebCore::RenderPath::paint):
1712         * kcanvas/RenderSVGImage.cpp:
1713         (WebCore::RenderSVGImage::paint):
1714         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1715         (WebCore::KCanvasContainerQuartz::paint):
1716         * ksvg2/svg/SVGMaskElement.cpp:
1717         (WebCore::SVGMaskElement::drawMaskerContent):
1718         * ksvg2/svg/SVGPatternElement.cpp:
1719         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
1720         * rendering/InlineTextBox.cpp:
1721         (WebCore::InlineTextBox::paint):
1722         * rendering/RenderBlock.cpp:
1723         (WebCore::RenderBlock::paint):
1724         (WebCore::RenderBlock::paintChildren):
1725         (WebCore::RenderBlock::paintObject):
1726         (WebCore::RenderBlock::paintFloats):
1727         (WebCore::RenderBlock::paintEllipsisBoxes):
1728         (WebCore::RenderBlock::paintSelection):
1729         * rendering/RenderBox.cpp:
1730         (WebCore::RenderBox::setStyle):
1731         * rendering/RenderCanvas.cpp:
1732         (WebCore::RenderCanvas::paint):
1733         * rendering/RenderFlow.cpp:
1734         (WebCore::RenderFlow::paintLines):
1735         * rendering/RenderHTMLCanvas.cpp:
1736         (WebCore::RenderHTMLCanvas::paint):
1737         * rendering/RenderImage.cpp:
1738         (WebCore::RenderImage::paint):
1739         * rendering/RenderLayer.cpp:
1740         (WebCore::RenderLayer::paintLayer):
1741         * rendering/RenderObject.cpp:
1742         (WebCore::RenderObject::maximalOutlineSize):
1743         * rendering/RenderObject.h:
1744         (WebCore::):
1745         (WebCore::RenderObject::PaintInfo::PaintInfo):
1746         * rendering/RenderTable.cpp:
1747         (WebCore::RenderTable::paint):
1748         * rendering/RenderTableCell.cpp:
1749         (WebCore::RenderTableCell::paint):
1750         * rendering/RenderTableRow.cpp:
1751         (WebCore::RenderTableRow::paint):
1752         * rendering/RenderTableSection.cpp:
1753         (WebCore::RenderTableSection::paint):
1754         * rendering/render_button.cpp:
1755         (WebCore::RenderButton::paintObject):
1756         * rendering/render_line.cpp:
1757         (WebCore::InlineBox::paint):
1758         (WebCore::InlineFlowBox::paint):
1759         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
1760         (WebCore::RootInlineBox::paintEllipsisBox):
1761         * rendering/render_list.cpp:
1762         (WebCore::RenderListMarker::paint):
1763         * rendering/render_replaced.cpp:
1764         (WebCore::RenderReplaced::shouldPaint):
1765         (WebCore::RenderWidget::paint):
1766
1767 2006-03-30  Tim Omernick  <timo@apple.com>
1768
1769         Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
1770         JavaScript type for Java Strings is function, not object
1771
1772         * manual-tests/java-string-object-type.html: Added.
1773         * manual-tests/resources/StringTypeTest.class: Added.
1774         * manual-tests/resources/StringTypeTest.java: Added.
1775
1776 2006-03-30  Eric Seidel  <eseidel@apple.com>
1777
1778         Reviewed by hyatt.
1779
1780         Fix text form controls, and add basic submit support!
1781
1782         * bridge/win/FrameWin.cpp:
1783         (WebCore::FrameWin::submitForm):
1784         * bridge/win/FrameWin.h:
1785         * platform/win/KeyEventWin.cpp:
1786         (WebCore::keyIdentifierForWindowsKeyCode):
1787         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1788         * platform/win/TemporaryLinkStubs.cpp:
1789         (FrameWin::incomingReferrer):
1790         * platform/win/TransferJobWin.cpp:
1791         (WebCore::TransferJob::start):
1792
1793 2006-03-30  Adele Peterson  <adele@apple.com>
1794
1795         Reviewed by Justin.
1796
1797         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8083
1798         REGRESSION: Repro crash when dragging to select over a new text field
1799
1800         * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent):
1801         When searching for non-editable content, if the end of the selection is in a 
1802         shadow tree, then we need to jump out of that first.
1803
1804 2006-03-30  Justin Garcia  <justin.garcia@apple.com>
1805
1806         Reviewed by darin
1807         
1808         http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
1809         REGRESSION: Plain-text mode needed for contenteditable area used in new text field
1810
1811         * bridge/mac/WebCoreFrameBridge.h:
1812         * bridge/mac/WebCoreFrameBridge.mm:
1813         (-[WebCoreFrameBridge isSelectionEditable]):
1814         (-[WebCoreFrameBridge isSelectionRichlyEditable]):
1815         * css/CSSComputedStyleDeclaration.cpp:
1816         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1817         * css/CSSValueKeywords.in:
1818         * css/cssparser.cpp:
1819         (WebCore::CSSParser::parseValue):
1820         * dom/Node.cpp:
1821         (WebCore::Node::isContentRichlyEditable):
1822         * dom/Node.h:
1823         * editing/EditCommand.cpp:
1824         (WebCore::EditCommand::apply):
1825         * editing/JSEditor.cpp:
1826         * editing/ReplaceSelectionCommand.cpp:
1827         (WebCore::ReplacementFragment::ReplacementFragment):
1828         (WebCore::ReplaceSelectionCommand::doApply):
1829         * editing/Selection.h:
1830         (WebCore::Selection::rootEditableElement):
1831         (WebCore::Selection::isContentEditable):
1832         (WebCore::Selection::isContentRichlyEditable):
1833         * editing/SelectionController.h:
1834         (WebCore::SelectionController::rootEditableElement):
1835         (WebCore::SelectionController::isContentEditable):
1836         (WebCore::SelectionController::isContentRichlyEditable):
1837         * html/HTMLElement.cpp:
1838         (WebCore::HTMLElement::isContentEditable):
1839         (WebCore::HTMLElement::contentEditable):
1840         (WebCore::HTMLElement::setContentEditable):
1841         * rendering/RenderTextField.cpp:
1842         (WebCore::RenderTextField::createDivStyle):
1843         * rendering/render_style.h:
1844         (WebCore::):
1845         
1846 2006-03-30  David Harrison  <harrison@apple.com>
1847
1848         Reviewed by Justin.
1849
1850         <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"
1851
1852         * editing/DeleteSelectionCommand.cpp:
1853         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1854         Formatting.
1855         (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
1856         Generalize check that preserves nesting when deleting to the beginning of an ancestor block.
1857
1858         * editing/deleting/delete-block-merge-contents-022.html: Added.
1859         * editing/deleting/delete-block-merge-contents-023.html: Added.
1860         * editing/deleting/delete-block-merge-contents-024.html: Added.
1861
1862 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1863
1864         Reviewed by Darin.
1865
1866         - Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8076
1867           REGRESSION: native text fields are reversed on "visual Hebrew" pages
1868
1869         * fast/forms/visual-hebrew-text-field-expected.checksum: Added.
1870         * fast/forms/visual-hebrew-text-field-expected.png: Added.
1871         * fast/forms/visual-hebrew-text-field-expected.txt: Added.
1872         * fast/forms/visual-hebrew-text-field.html: Added.
1873
1874 2006-03-30  Alexey Proskuryakov  <ap@nypop.com>
1875
1876         Reviewed by John Sullivan.
1877
1878         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8051
1879           Empty forms are submitted incorrectly
1880
1881         Test: fast/forms/empty-get.html
1882
1883         * platform/KURL.cpp:
1884         (KURL::setQuery): Add a question mark for empty query strings, too.
1885
1886 2006-03-30  Dave Hyatt <hyatt@apple.com>
1887
1888         Roll out the fix to 7102 and reopen it to get Spinneret working
1889         again.
1890
1891         Reviewed by justin
1892
1893         * page/Frame.cpp:
1894         (WebCore::Frame::didOpenURL):
1895         (WebCore::Frame::receivedFirstData):
1896         (WebCore::Frame::begin):
1897
1898 2006-03-30  Dave Hyatt <hyatt@apple.com>
1899
1900         Land support for JPEG image decoding on Win32.
1901
1902         * WebCore.vcproj/WebCore/WebCore.vcproj:
1903         * platform/cairo/ImageSourceCairo.cpp:
1904         (WebCore::createDecoder):
1905         (WebCore::ImageSource::frameHasAlphaAtIndex):
1906         * platform/image-decoders/ImageDecoder.h:
1907         (WebCore::RGBA32Buffer::setRGBA):
1908         (WebCore::ImageDecoder::supportsAlpha):
1909         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1910         (WebCore::GIFImageDecoder::haveDecodedRow):
1911         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1912         (WebCore::JPEGImageReader::JPEGImageReader):
1913         (WebCore::JPEGImageReader::close):
1914         (WebCore::JPEGImageReader::skipBytes):
1915         (WebCore::JPEGImageReader::decode):
1916         (WebCore::JPEGImageReader::info):
1917         (WebCore::JPEGImageReader::samples):
1918         (WebCore::JPEGImageReader::decoder):
1919         (WebCore::error_exit):
1920         (WebCore::init_source):
1921         (WebCore::skip_input_data):
1922         (WebCore::fill_input_buffer):
1923         (WebCore::term_source):
1924         (WebCore::JPEGImageDecoder::decode):
1925         (WebCore::JPEGImageDecoder::outputScanlines):
1926         (WebCore::JPEGImageDecoder::jpegComplete):
1927         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1928         (WebCore::JPEGImageDecoder::supportsAlpha):
1929         (WebCore::JPEGImageDecoder::setSize):
1930         * platform/image-decoders/png/PNGImageDecoder.cpp:
1931         (WebCore::PNGImageDecoder::rowAvailable):
1932
1933 2006-03-29  Justin Garcia  <justin.garcia@apple.com>
1934
1935         Reviewed by darin
1936         
1937         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8067>
1938         REGRESSION: selectionRect includes next/previous replaced elements
1939         Also fixes: <rdar://problems/4402375&4474871&4492934>
1940         
1941         In the case where a selection starts at the end or ends at the start
1942         of o, o->selectionState() != SelectionNone, but o isn't really selected.  
1943         Constraining the selection with upstream and downstream eliminates these
1944         types of endpoints, but constraining endpoints that occur at the 
1945         start or end of a paragraph creates positions inside containers - some 
1946         of which the selection painting code isn't equipped to handle.
1947
1948         * dom/Document.cpp:
1949         (WebCore::Document::updateSelection):
1950         * rendering/render_replaced.cpp:
1951         (WebCore::RenderReplaced::shouldPaint):
1952         (WebCore::RenderReplaced::selectionRect):
1953         (WebCore::RenderReplaced::setSelectionState):
1954         (WebCore::RenderWidget::setSelectionState):
1955
1956 2006-03-29  Adele Peterson  <adele@apple.com>
1957
1958         Reviewed by Hyatt.
1959
1960         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6986
1961         Switch to use new text field implementation for <input type="text">
1962
1963         * css/html4.css: Added default style info for new text fields.
1964         * rendering/RenderTextField.cpp:
1965         (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla.
1966         (WebCore::RenderTextField::updateFromElement): Removed some outdated comments.  Cleaned up the way we add text nodes to the div.
1967         (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior.
1968         (WebCore::RenderTextField::setSelectionEnd): ditto.
1969         (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange.
1970         (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred.
1971         (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character.
1972         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from 
1973          the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance.
1974         * rendering/RenderThemeMac.mm:
1975         (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border.
1976         (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css. 
1977          We also add intrinsic margins here if the font size is large enough.
1978         * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
1979          No longer check for appearance. All text fields with m_type == TEXT will use the new implementation.
1980         * html/HTMLInputElement.cpp:
1981         (WebCore::HTMLInputElement::isKeyboardFocusable): ditto.
1982         (WebCore::HTMLInputElement::focus): ditto.
1983         (WebCore::HTMLInputElement::selectionStart): ditto.
1984         (WebCore::HTMLInputElement::selectionEnd): ditto.
1985         (WebCore::HTMLInputElement::setSelectionStart): ditto.
1986         (WebCore::HTMLInputElement::setSelectionEnd): ditto.
1987         (WebCore::HTMLInputElement::select): ditto.
1988         (WebCore::HTMLInputElement::setSelectionRange): ditto.
1989         (WebCore::HTMLInputElement::createRenderer): ditto.
1990         (WebCore::HTMLInputElement::defaultEventHandler): ditto.
1991         (WebCore::HTMLInputElement::isMouseFocusable): Added.  Old text fields relied on the widget to provide a focus policy.  
1992          A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class.
1993         * html/HTMLInputElement.h: Added isMouseFocusable.
1994         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable):
1995          Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable.
1996         * dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused.
1997
1998 2006-03-29  Darin Adler  <darin@apple.com>
1999
2000         Reviewed by Eric.
2001
2002         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8026
2003           A particular animated SVG crashes in filter code
2004           <rdar://problem/4494775> A particular animated SVG crashes in filter code
2005
2006         - fix some code that is not handling references correctly for GC
2007
2008         Test: svg/custom/empty-merge.svg
2009
2010         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2011         (WebCore::KCanvasFilterQuartz::KCanvasFilterQuartz): Use KWQRetainNSRelease to
2012         properly retain a reference to an Objective-C object in a C++ class.
2013         (WebCore::KCanvasFilterQuartz::~KCanvasFilterQuartz): Use KWQRelease instead of
2014         release.
2015         (WebCore::KCanvasFilterQuartz::prepareFilter): Use KWQRetain instead of retain.
2016         (WebCore::KCanvasFilterQuartz::applyFilter): Use KWQRelease instead of release.
2017         (WebCore::KCanvasFilterQuartz::imageForName): Use objectForKey: instead of
2018         valueForKey: on the dictionary to sidestep a bug in valueForKey: on empty strings
2019         and because what we're doing with a dictionary here has nothing to do with
2020         key value encoding.
2021
2022         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2023         (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
2024         Use KWQRelease instead of release.
2025         (WebCore::KRenderingDeviceContextQuartz::nsGraphicsContext): Use KWQRetain
2026         instead of retain to properly retain a reference to an Objective-C object
2027         in a C++ class.
2028
2029         * platform/mac/ImageMac.mm:
2030         (WebCore::Image::invalidateNativeData): Use CFRelease instead of release.
2031         (WebCore::Image::getNSImage): Use KWQRetainNSRelease to properly retain
2032         a reference to an Objective-C object in a C++ class.
2033
2034 2006-03-29  Geoffrey Garen  <ggaren@apple.com>
2035
2036         Reviewed by Darin.
2037
2038         - WebCore side of fix for <rdar://problem/4308243> 8F36 Regression: 
2039         crash in malloc_consolidate if you use a .PAC file
2040
2041         (1) To ensure thread-safe deallocation, set the "unsafe to destroy on 
2042         non-main threads" bit in the DOMObject constructor.
2043
2044         (2) Made all binding objects inherit from DOMObject, because the
2045         WebCore data structures they wrap are not thread-safe. "DOMObject" is
2046         a slightly awkward name for things like the Window object, but the 
2047         DOM spec is considering adding a Window object, and creating a whole
2048         new base class for this purpose seemed like overkill.
2049
2050         * khtml/ecma/JSDOMParser.h:
2051         * khtml/ecma/JSXMLHttpRequest.h:
2052         * khtml/ecma/JSXMLSerializer.cpp:
2053         (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
2054         * khtml/ecma/JSXMLSerializer.h:
2055         * khtml/ecma/JSXSLTProcessor.h:
2056         * khtml/ecma/kjs_binding.h:
2057         (KJS::DOMObject::DOMObject): Unset the "safe to collect on non-main
2058         threads bit" to ensure thread-safe deallocation.
2059         * khtml/ecma/kjs_html.h:
2060         * khtml/ecma/kjs_navigator.cpp:
2061         (KJS::Navigator::Navigator):
2062         (KJS::PluginBase::PluginBase):
2063         * khtml/ecma/kjs_navigator.h:
2064         * khtml/ecma/kjs_proxy.cpp:
2065         * khtml/ecma/kjs_window.cpp:
2066         (KJS::History::History):
2067         (KJS::FrameArray::FrameArray):
2068         (KJS::Screen::Screen):
2069         (KJS::Window::Window):
2070         (KJS::BarInfo::BarInfo):
2071         * khtml/ecma/kjs_window.h:
2072
2073 2006-03-29  Geoffrey Garen  <ggaren@apple.com>
2074
2075         Reviewed by Darin.
2076
2077         - Fixed <rdar://problem/4477126> TOT REGRESSION: with release
2078         build, maps.google.com zoom slider always zooms fully out
2079
2080         There were 2 problems: (1) A syntax error in the UIEvent IDL file
2081         prevented some things from showing up in the bindings; (2)
2082         MouseEvent had a duplicate isSimulated property that shadowed
2083         MouseRelatedEvent's isSimulated property, and MouseEvent failed to
2084         initialize MouseRelatedEvent's isSimulated property.
2085
2086         * dom/UIEvent.idl:
2087         * dom/dom2_eventsimpl.cpp:
2088         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2089         (WebCore::MouseEvent::MouseEvent):
2090         * dom/dom2_eventsimpl.h:
2091
2092 2006-03-29  Tim Omernick  <timo@apple.com>
2093
2094         Reviewed by Darin.
2095
2096         * html/HTMLInputElement.cpp:
2097         (WebCore::HTMLInputElement::setInputType):
2098         If the input type is dynamically changed, reevaluate whether the element maintains its state
2099         (this decision is based on the input's type).  Fixes an assertion error when leaving a page
2100         with a text field that had been dynamically changed to a password field.
2101
2102 2006-03-29  Alexey Proskuryakov  <ap@nypop.com>
2103
2104         Reviewed by Darin.
2105
2106         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8055
2107           Fix most CSS grammar conflicts.
2108
2109         Gets the number of shift/reduce and reduce/reduce conflicts down from 37+4 to 7+0.
2110
2111         I have fixed the reduce/reduce conflicts, then noticed that two of the fixes
2112         were already made in KDE tree (the other two are different because declaration
2113         blocks are described in quite different ways). Shift/reduce fixes are just
2114         merged from KDE, r332845 by Michael Matz.
2115
2116         * css/CSSGrammar.y:
2117
2118 2006-03-29  Alexey Proskuryakov  <ap@nypop.com>
2119
2120         Reviewed by Darin.
2121
2122         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7157
2123           An asterisk in a CSS property name breaks CSS handling 
2124           (Many layout problems at letras.terra.com.br)
2125
2126         Test: fast/css/error-in-last-decl.html
2127
2128         * css/CSSGrammar.y: Added a rule for the case when the last CSS rule 
2129           has a syntax error, and doesn't end with a semicolon.
2130
2131 2006-03-29  Darin Adler  <darin@apple.com>
2132
2133         Reviewed by Anders.
2134
2135         - another cut at fixing the buildbot
2136
2137         * generate-derived-sources: Fix if statement that was always following
2138         the Windows case. I believe this is the main problem.
2139
2140         * WebCore.xcodeproj/project.pbxproj: Added CharsetData.h and added CharsetData.cpp
2141         to the target.
2142         * WebCore.vcproj/WebCore/WebCore.vcproj: Similar changes.
2143
2144         * platform/CharsetData.h: Added.
2145         * platform/CharsetNames.cpp: Moved the actual character set data out into a
2146         separate source file instead of include a .cpp file.
2147
2148         * platform/make-charset-table.pl: Changed to generate a file that can stand alone.
2149
2150 2006-03-29  Darin Adler  <darin@apple.com>
2151
2152         - an attempt to fix the buildbot
2153
2154         * platform/mac/mac-encodings.txt: Touched this file so the character encodings
2155         files will be regenerated.
2156
2157 2006-03-29  Darin Adler  <darin@apple.com>
2158
2159         - a quick cut at fixing the windows build
2160
2161         * WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files.
2162
2163 2006-03-29  Maciej Stachowiak  <mjs@apple.com>
2164
2165         Reviewed by Anders.
2166         
2167         - fixed  <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
2168         
2169         Also fixed other issues with contains. The problem that caused the bug was:
2170         - contains should return true for the element itself, unlike isAncestor
2171         
2172         Other problems I fixed:
2173         - contains shouldn't be present on non-Element nodes
2174         - contains should return false when passed a non-Element node
2175         - contains should return false when passed a non-Node
2176
2177         * bindings/scripts/CodeGeneratorJS.pm: Handle Element as a parameter.
2178         * dom/Element.cpp:
2179         (WebCore::Element::contains): Added new implementation.
2180         * dom/Element.h: Added prototype for contains.
2181         * dom/Element.idl: Added IDL declaration for contains.
2182         * khtml/ecma/kjs_dom.cpp:
2183         (KJS::DOMNodeProtoFunc::callAsFunction): Added old wrong contains().
2184
2185 2006-03-28  Beth Dakin  <bdakin@apple.com>
2186
2187         Reviewed by Maciej
2188
2189         Fix for <rdar://problem/4493218> repro crash in 
2190         khtml::RenderBlock::repaintFloatingDescendants with giant 
2191         cellspacing value
2192
2193         Some callers of CSSPrimitiveValue::computeLength() expect an int, 
2194         and others a short. This patch splits computeLength() into 
2195         computeIntLength() and computeShortLength() so that the appropriate 
2196         bounds can be checked. 
2197
2198         * css/css_valueimpl.cpp:
2199         (WebCore::CSSPrimitiveValue::computeIntLength): Return 0 if not 
2200         within int bounds.
2201         (WebCore::CSSPrimitiveValue::computeShortLength): Return 0 if not 
2202         within short bounds.
2203         * css/css_valueimpl.h:
2204         * css/cssstyleselector.cpp:
2205         (WebCore::convertToLength): Switch to appropriate computeLength() 
2206         call.
2207         (WebCore::CSSStyleSelector::applyProperty): Same.
2208         (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same.
2209         (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same.
2210         * rendering/RenderBlock.cpp:
2211         (WebCore::RenderBlock::repaintFloatingDescendants): Nil check 
2212         m_floatingObjects and add an assertion. This is not necessary for 
2213         the fix, it is just because we are not sure that it is safe not to 
2214         nil-check, and we want to prevent potential problems in release 
2215         builds, and catch them with the assertion in debug builds.
2216         (WebCore::RenderBlock::addOverhangingFloats): Same as above.
2217
2218 2006-03-28  Alexey Proskuryakov  <ap@nypop.com>
2219
2220         Reviewed by Maciej.
2221
2222         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4616
2223           Setting nodeValue on a textnode with collapsed whitespace only has no visual effect
2224
2225         Test: fast/dom/space-to-text.html
2226
2227         * dom/CharacterData.cpp:
2228         (WebCore::CharacterData::setData): Create a renderer if it's needed, but missing.
2229         (WebCore::CharacterData::appendData): Ditto.
2230         (WebCore::CharacterData::insertData): Ditto.
2231         (WebCore::CharacterData::replaceData): Ditto.
2232
2233 2006-03-28  Tim Omernick  <timo@apple.com>
2234
2235         Reviewed by Maciej.
2236
2237         <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
2238         to another page while selecting inside textarea inside iframe
2239
2240         * kwq/WebCoreTextArea.mm:
2241         (-[WebCoreTextArea mouseDown:]):
2242         Guard super's -mouseDown: with calls to Widget::beforeMouseDown() and Widget::afterMouseDown().
2243         Other widgets do this to protect against being removed from the page and deallocated while handling
2244         mouse down events.
2245         (-[WebCoreTextView mouseDown:]):
2246         ditto
2247
2248         * manual-tests/textarea-iframe-navigation.html: Added.
2249         * manual-tests/textarea-iframe-navigation2.html: Added.
2250         Manual test case for this fix.
2251
2252 2006-03-28  Eric Seidel  <eseidel@apple.com>
2253
2254         Reviewed by darin.
2255
2256         <rdar://problem/4402170> CrashTracer: 499 crashes in Safari at com.apple.WebCore: DOM::DocumentImpl::open + 16
2257
2258         * dom/Document.cpp:
2259         (WebCore::Document::write): Fix unreproducible infinite recursion.
2260
2261 2006-03-28  Eric Seidel  <eseidel@apple.com>
2262
2263         Reviewed by darin.
2264
2265         Remove global initializers.
2266
2267         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2268         * ksvg2/svg/SVGAngle.cpp:
2269         * ksvg2/svg/SVGColor.cpp:
2270         * ksvg2/svg/SVGLength.cpp:
2271
2272 2006-03-28  Eric Seidel  <eseidel@apple.com>
2273
2274         Reviewed by darin.
2275
2276         Switch UIEvent, MouseEvent and KeyboardEvent over to
2277         be new auto-generated bindings.
2278         http://bugzilla.opendarwin.org/show_bug.cgi?id=7928
2279
2280         Updated test: fast/dom/prototype-chain.html
2281
2282         * WebCore.xcodeproj/project.pbxproj:
2283         * bindings/objc/DOMEvents.mm:
2284         (-[DOMEvent ::]):
2285         (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
2286         * bindings/scripts/CodeGeneratorJS.pm:
2287         * dom/EventTargetNode.cpp:
2288         (WebCore::EventTargetNode::dispatchMouseEvent):
2289         * dom/KeyboardEvent.idl: Added.
2290         * dom/MouseEvent.idl: Added.
2291         * dom/UIEvent.idl: Added.
2292         * dom/WheelEvent.idl:
2293         * dom/dom2_eventsimpl.cpp:
2294         (WebCore::MouseEvent::MouseEvent):
2295         (WebCore::MouseEvent::initMouseEvent):
2296         * dom/dom2_eventsimpl.h:
2297         (WebCore::MouseEvent::relatedTarget):
2298         (WebCore::MouseEvent::clipboard):
2299         * generate-derived-sources:
2300         * khtml/ecma/kjs_dom.cpp:
2301         (KJS::toEventTargetNode):
2302         * khtml/ecma/kjs_dom.h:
2303         * khtml/ecma/kjs_events.cpp:
2304         (KJS::toJS):
2305         * khtml/ecma/kjs_events.h:
2306
2307 2006-03-28  Darin Adler  <darin@apple.com>
2308
2309         Reviewed by Eric.
2310
2311         - replace getDocument with document in a few places that Geoff missed
2312
2313         * WebCore.xcodeproj/project.pbxproj:
2314         * dom/Attr.cpp:
2315         (WebCore::Attr::createTextChild):
2316         (WebCore::Attr::setValue):
2317         (WebCore::Attr::cloneNode):
2318         * dom/Attribute.cpp:
2319         (WebCore::Attribute::createAttrIfNeeded):
2320         * dom/Element.cpp:
2321         (WebCore::Element::cloneNode):
2322         (WebCore::inHTMLDocument):
2323         (WebCore::Element::setAttribute):
2324         (WebCore::Element::setAttributeMap):
2325         (WebCore::Element::createStyleForRenderer):
2326         (WebCore::Element::createRenderer):
2327         (WebCore::Element::recalcStyle):
2328         (WebCore::Element::dispatchAttrRemovalEvent):
2329         (WebCore::Element::dispatchAttrAdditionEvent):
2330         (WebCore::Element::updateId):
2331         (WebCore::Element::removeAttributeNode):
2332         (WebCore::Element::focus):
2333         (WebCore::Element::blur):
2334         * dom/NamedAttrMap.cpp:
2335         (WebCore::inHTMLDocument):
2336         (WebCore::NamedAttrMap::setNamedItem):
2337         * dom/NamedMappedAttrMap.cpp:
2338         (WebCore::NamedMappedAttrMap::parseClassAttribute):
2339         * dom/StyledElement.cpp:
2340         (WebCore::StyledElement::createInlineStyleDecl):
2341         (WebCore::StyledElement::parseMappedAttribute):
2342         (WebCore::StyledElement::createMappedDecl):
2343
2344         - added missing include that seems to be breaking the Windows build
2345
2346         * platform/String.cpp: Include <stdarg.h>.
2347
2348 2006-03-28  Geoffrey Garen  <ggaren@apple.com>
2349
2350         Reviewed by Beth.
2351
2352         - Global replace of getDocument() with document(). Darin suggested this
2353         in his review of my EventTargetNode patch. It matches the style of
2354         methods like ownerDocument().
2355
2356         - Changed getDocument() to document(); changed data member document to
2357         m_document; changed stack variable document to doc.
2358
2359         * bindings/objc/DOM.mm:
2360         (-[DOMNode ownerDocument]):
2361         (-[DOMNode KJS::Bindings::]):
2362         (-[DOMElement _getURLAttribute:]):
2363         * bindings/objc/DOMHTML.mm:
2364         (-[DOMHTMLElement titleDisplayString]):
2365         (-[DOMHTMLInputElement altDisplayString]):
2366         (-[DOMHTMLAnchorElement blur]):
2367         (-[DOMHTMLAnchorElement focus]):
2368         (-[DOMHTMLImageElement altDisplayString]):
2369         (-[DOMHTMLAppletElement altDisplayString]):
2370         (-[DOMHTMLAreaElement altDisplayString]):
2371         * bindings/objc/DOMInternal.mm:
2372         (-[WebScriptObject _initializeScriptDOMNodeImp]):
2373         * bridge/mac/FrameMac.mm:
2374         (WebCore::FrameMac::attributedString):
2375         * bridge/mac/FrameViewMac.mm:
2376         (WebCore::FrameView::updateDashboardRegions):
2377         * bridge/mac/WebCoreFrameBridge.mm:
2378         (-[WebCoreFrameBridge initSubframeWithRenderer:]):
2379         (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
2380         (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
2381         * css/CSSComputedStyleDeclaration.cpp:
2382         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2383         * css/css_base.cpp:
2384         (WebCore::StyleBase::baseURL):
2385         * css/css_stylesheetimpl.cpp:
2386         (WebCore::CSSStyleSheet::CSSStyleSheet):
2387         * css/cssstyleselector.cpp:
2388         (WebCore::CSSStyleSelector::initForStyleResolve):
2389         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2390         (WebCore::CSSStyleSelector::locateSharedStyle):
2391         (WebCore::CSSStyleSelector::createStyleForElement):
2392         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
2393         (WebCore::CSSStyleSelector::adjustRenderStyle):
2394         (WebCore::CSSStyleSelector::styleRulesForElement):
2395         (WebCore::CSSStyleSelector::checkOneSelector):
2396         (WebCore::CSSStyleSelector::applyProperty):
2397         (WebCore::CSSStyleSelector::mapBackgroundImage):
2398         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2399         * dom/AbstractView.cpp:
2400         (WebCore::AbstractView::AbstractView):
2401         * dom/CDATASection.cpp:
2402         (WebCore::CDATASection::cloneNode):
2403         (WebCore::CDATASection::createNew):
2404         * dom/CharacterData.cpp:
2405         (WebCore::CharacterData::setData):
2406         (WebCore::CharacterData::insertData):
2407         (WebCore::CharacterData::deleteData):
2408         (WebCore::CharacterData::replaceData):
2409         (WebCore::CharacterData::dispatchModifiedEvent):
2410         * dom/Comment.cpp:
2411         (WebCore::Comment::cloneNode):
2412         * dom/ContainerNode.cpp:
2413         (WebCore::ContainerNode::insertBefore):
2414         (WebCore::ContainerNode::replaceChild):
2415         (WebCore::ContainerNode::removeChild):
2416         (WebCore::ContainerNode::appendChild):
2417         (WebCore::ContainerNode::addChild):
2418         (WebCore::ContainerNode::getUpperLeftCorner):
2419         (WebCore::dispatchChildInsertionEvents):
2420         (WebCore::dispatchChildRemovalEvents):
2421         * dom/DOMImplementation.cpp:
2422         (WebCore::DOMImplementation::createDocument):
2423         * dom/Document.cpp:
2424         (WebCore::Document::Document):
2425         (WebCore::Document::~Document):
2426         (WebCore::Document::createDocumentFragment):
2427         (WebCore::Document::adoptNode):
2428         (WebCore::Document::createElementNS):
2429         (WebCore::Document::nodeAbsIndex):
2430         (WebCore::Document::setFocusNode):
2431         (WebCore::Document::topDocument):
2432         * dom/DocumentFragment.cpp:
2433         (WebCore::DocumentFragment::cloneNode):
2434         * dom/EventTargetNode.cpp:
2435         (WebCore::EventTargetNode::~EventTargetNode):
2436         (WebCore::EventTargetNode::insertedIntoDocument):
2437         (WebCore::EventTargetNode::removedFromDocument):
2438         (WebCore::EventTargetNode::addEventListener):
2439         (WebCore::EventTargetNode::removeEventListener):
2440         (WebCore::EventTargetNode::dispatchGenericEvent):
2441         (WebCore::EventTargetNode::dispatchEvent):
2442         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
2443         (WebCore::EventTargetNode::dispatchWindowEvent):
2444         (WebCore::EventTargetNode::dispatchUIEvent):
2445         (WebCore::EventTargetNode::dispatchKeyEvent):
2446         (WebCore::EventTargetNode::dispatchMouseEvent):
2447         (WebCore::EventTargetNode::dispatchWheelEvent):
2448         (WebCore::EventTargetNode::removeHTMLEventListener):
2449         * dom/Node.cpp:
2450         (WebCore::Node::Node):
2451         (WebCore::Node::setDocument):
2452         (WebCore::Node::setChanged):
2453         (WebCore::Node::checkSetPrefix):
2454         (WebCore::Node::checkAddChild):
2455         (WebCore::Node::attach):
2456         (WebCore::Node::detach):
2457         (WebCore::Node::createRendererIfNeeded):
2458         (WebCore::Node::rendererIsNeeded):
2459         (WebCore::Node::getElementsByTagNameNS):
2460         (WebCore::Node::ownerDocument):
2461         (WebCore::Node::setTextContent):
2462         * dom/Node.h:
2463         (WebCore::Node::document):
2464         (WebCore::Node::inDocument):
2465         * dom/NodeList.cpp:
2466         (WebCore::NodeList::itemById):
2467         * dom/Position.cpp:
2468         (WebCore::Position::documentElement):
2469         * dom/Range.cpp:
2470         (WebCore::Range::commonAncestorContainer):
2471         (WebCore::Range::setStart):
2472         (WebCore::Range::setEnd):
2473         (WebCore::Range::compareBoundaryPoints):
2474         (WebCore::Range::insertNode):
2475         (WebCore::Range::text):
2476         (WebCore::Range::setStartAfter):
2477         (WebCore::Range::setEndBefore):
2478         (WebCore::Range::setEndAfter):
2479         (WebCore::Range::surroundContents):
2480         (WebCore::Range::setStartBefore):
2481         (WebCore::rangeOfContents):
2482         * dom/Text.cpp:
2483         (WebCore::Text::cloneNode):
2484         (WebCore::Text::createNew):
2485         * dom/dom2_eventsimpl.cpp:
2486         (WebCore::MouseRelatedEvent::receivedTarget):
2487         * dom/dom2_traversalimpl.cpp:
2488         (WebCore::NodeIterator::NodeIterator):
2489         * dom/dom_elementimpl.cpp:
2490         (WebCore::Attribute::createAttrIfNeeded):
2491         (WebCore::Attr::createTextChild):
2492         (WebCore::Attr::setValue):
2493         (WebCore::Attr::cloneNode):
2494         (WebCore::Element::cloneNode):
2495         (WebCore::inHTMLDocument):
2496         (WebCore::Element::setAttribute):
2497         (WebCore::Element::setAttributeMap):
2498         (WebCore::Element::createStyleForRenderer):
2499         (WebCore::Element::createRenderer):
2500         (WebCore::Element::recalcStyle):
2501         (WebCore::Element::dispatchAttrRemovalEvent):
2502         (WebCore::Element::dispatchAttrAdditionEvent):
2503         (WebCore::Element::updateId):
2504         (WebCore::Element::removeAttributeNode):
2505         (WebCore::Element::focus):
2506         (WebCore::Element::blur):
2507         (WebCore::NamedAttrMap::setNamedItem):
2508         (WebCore::NamedMappedAttrMap::parseClassAttribute):
2509         (WebCore::StyledElement::createInlineStyleDecl):
2510         (WebCore::StyledElement::parseMappedAttribute):
2511         (WebCore::StyledElement::createMappedDecl):
2512         * dom/dom_xmlimpl.cpp:
2513         (WebCore::EntityReference::cloneNode):
2514         (WebCore::ProcessingInstruction::cloneNode):
2515         (WebCore::ProcessingInstruction::checkStyleSheet):
2516         (WebCore::ProcessingInstruction::sheetLoaded):
2517         (WebCore::ProcessingInstruction::setStyleSheet):
2518         * dom/xml_tokenizer.cpp:
2519         (WebCore::XMLTokenizer::XMLTokenizer):
2520         * editing/ReplaceSelectionCommand.cpp:
2521         (WebCore::ReplacementFragment::ReplacementFragment):
2522         (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
2523         (WebCore::styleForNode):
2524         * editing/Selection.cpp:
2525         (WebCore::Selection::toRange):
2526         * editing/SelectionController.cpp:
2527         (WebCore::SelectionController::~SelectionController):
2528         (WebCore::SelectionController::setSelection):
2529         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
2530         (WebCore::SelectionController::frame):
2531         (WebCore::SelectionController::layout):
2532         (WebCore::SelectionController::needsCaretRepaint):
2533         * editing/TextIterator.cpp:
2534         (WebCore::TextIterator::range):
2535         (WebCore::SimplifiedBackwardsTextIterator::range):
2536         * editing/VisiblePosition.cpp:
2537         (WebCore::VisiblePosition::init):
2538         (WebCore::makeRange):
2539         * editing/markup.cpp:
2540         (WebCore::startMarkup):
2541         (WebCore::shouldSelfClose):
2542         (WebCore::markup):
2543         (WebCore::createMarkup):
2544         * editing/visible_units.cpp:
2545         (WebCore::previousBoundary):
2546         (WebCore::nextBoundary):
2547         (WebCore::previousLinePosition):
2548         (WebCore::nextLinePosition):
2549         (WebCore::inSameDocument):
2550         * html/HTMLCollection.cpp:
2551         (WebCore::HTMLCollection::HTMLCollection):
2552         (WebCore::HTMLCollection::resetCollectionInfo):
2553         * html/HTMLElement.cpp:
2554         (WebCore::HTMLElement::nodeName):
2555         (WebCore::HTMLElement::cloneNode):
2556         (WebCore::HTMLElement::innerText):
2557         (WebCore::HTMLElement::createContextualFragment):
2558         (WebCore::HTMLElement::setInnerText):
2559         (WebCore::HTMLElement::setOuterText):
2560         (WebCore::HTMLElement::isContentEditable):
2561         (WebCore::HTMLElement::contentEditable):
2562         (WebCore::HTMLElement::toString):
2563         (WebCore::HTMLElement::childAllowed):
2564         (WebCore::HTMLElement::setHTMLEventListener):
2565         * html/HTMLFormElement.cpp:
2566         (WebCore::HTMLFormElement::formWouldHaveSecureSubmission):
2567         (WebCore::HTMLFormElement::attach):
2568         (WebCore::HTMLFormElement::insertedIntoDocument):
2569         (WebCore::HTMLFormElement::removedFromDocument):
2570         (WebCore::HTMLFormElement::formData):
2571         (WebCore::HTMLFormElement::prepareSubmit):
2572         (WebCore::HTMLFormElement::submit):
2573         (WebCore::HTMLFormElement::reset):
2574         (WebCore::HTMLFormElement::parseMappedAttribute):
2575         (WebCore::HTMLFormElement::registerFormElement):
2576         (WebCore::HTMLFormElement::removeFormElement):
2577         * html/HTMLGenericFormElement.cpp:
2578         (WebCore::HTMLGenericFormElement::attach):
2579         (WebCore::HTMLGenericFormElement::insertedIntoTree):
2580         (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
2581         * html/HTMLInputElement.cpp:
2582         (WebCore::HTMLInputElement::~HTMLInputElement):
2583         (WebCore::HTMLInputElement::isKeyboardFocusable):
2584         (WebCore::HTMLInputElement::focus):
2585         (WebCore::HTMLInputElement::setInputType):
2586         (WebCore::HTMLInputElement::parseMappedAttribute):
2587         (WebCore::HTMLInputElement::attach):
2588         (WebCore::HTMLInputElement::setChecked):
2589         (WebCore::HTMLInputElement::preDispatchEventHandler):
2590         (WebCore::HTMLInputElement::defaultEventHandler):
2591         (WebCore::HTMLInputElement::src):
2592         * html/HTMLKeygenElement.cpp:
2593         (WebCore::HTMLKeygenElement::appendFormData):
2594         * html/HTMLLabelElement.cpp:
2595         (WebCore::HTMLLabelElement::formElement):
2596         * html/HTMLOptionElement.cpp:
2597         (WebCore::HTMLOptionElement::text):
2598         (WebCore::HTMLOptionElement::setText):
2599         * html/HTMLParser.cpp:
2600         (WebCore::HTMLParser::HTMLParser):
2601         * html/HTMLSelectElement.cpp:
2602         (WebCore::HTMLSelectElement::~HTMLSelectElement):
2603         * html/HTMLTextAreaElement.cpp:
2604         (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement):
2605         (WebCore::HTMLTextAreaElement::setDefaultValue):
2606         * html/HTMLTokenizer.cpp:
2607         (WebCore::HTMLTokenizer::HTMLTokenizer):
2608         * html/html_baseimpl.cpp:
2609         (WebCore::HTMLBodyElement::createLinkDecl):
2610         (WebCore::HTMLBodyElement::mapToEntry):
2611         (WebCore::HTMLBodyElement::parseMappedAttribute):
2612         (WebCore::HTMLBodyElement::insertedIntoDocument):
2613         (WebCore::HTMLFrameElement::isURLAllowed):
2614         (WebCore::HTMLFrameElement::openURL):
2615         (WebCore::HTMLFrameElement::attach):
2616         (WebCore::HTMLFrameElement::close):
2617         (WebCore::HTMLFrameElement::contentFrame):
2618         (WebCore::HTMLFrameElement::frameWidth):
2619         (WebCore::HTMLFrameElement::frameHeight):
2620         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2621         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2622         (WebCore::HTMLIFrameElement::insertedIntoDocument):
2623         (WebCore::HTMLIFrameElement::removedFromDocument):
2624         (WebCore::HTMLIFrameElement::attach):
2625         (WebCore::HTMLIFrameElement::src):
2626         * html/html_blockimpl.cpp:
2627         (WebCore::HTMLParagraphElement::checkDTD):
2628         * html/html_headimpl.cpp:
2629         (WebCore::HTMLBaseElement::removedFromDocument):
2630         (WebCore::HTMLBaseElement::process):
2631         (WebCore::HTMLLinkElement::setDisabledState):
2632         (WebCore::HTMLLinkElement::parseMappedAttribute):
2633         (WebCore::HTMLLinkElement::process):
2634         (WebCore::HTMLLinkElement::setStyleSheet):
2635         (WebCore::HTMLLinkElement::sheetLoaded):
2636         (WebCore::HTMLLinkElement::href):
2637         (WebCore::HTMLMetaElement::process):
2638         (WebCore::HTMLScriptElement::childrenChanged):
2639         (WebCore::HTMLScriptElement::parseMappedAttribute):
2640         (WebCore::HTMLScriptElement::insertedIntoDocument):
2641         (WebCore::HTMLScriptElement::evaluateScript):
2642         (WebCore::HTMLScriptElement::setText):
2643         (WebCore::HTMLScriptElement::src):
2644         (WebCore::HTMLStyleElement::insertedIntoDocument):
2645         (WebCore::HTMLStyleElement::removedFromDocument):
2646         (WebCore::HTMLStyleElement::childrenChanged):
2647         (WebCore::HTMLStyleElement::sheetLoaded):
2648         (WebCore::HTMLTitleElement::insertedIntoDocument):
2649         (WebCore::HTMLTitleElement::removedFromDocument):
2650         (WebCore::HTMLTitleElement::childrenChanged):
2651         (WebCore::HTMLTitleElement::setText):
2652         * html/html_imageimpl.cpp:
2653         (WebCore::HTMLImageLoader::~HTMLImageLoader):
2654         (WebCore::HTMLImageLoader::updateFromElement):
2655         (WebCore::HTMLImageLoader::notifyFinished):
2656         (WebCore::HTMLImageElement::parseMappedAttribute):
2657         (WebCore::HTMLImageElement::insertedIntoDocument):
2658         (WebCore::HTMLImageElement::removedFromDocument):
2659         (WebCore::HTMLImageElement::width):
2660         (WebCore::HTMLImageElement::height):
2661         (WebCore::HTMLImageElement::src):
2662         (WebCore::HTMLMapElement::~HTMLMapElement):
2663         (WebCore::HTMLMapElement::parseMappedAttribute):
2664         (WebCore::HTMLAreaElement::href):
2665         * html/html_inlineimpl.cpp:
2666         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
2667         (WebCore::HTMLAnchorElement::defaultEventHandler):
2668         (WebCore::HTMLAnchorElement::href):
2669         (WebCore::HTMLAnchorElement::blur):
2670         (WebCore::HTMLAnchorElement::focus):
2671         * html/html_objectimpl.cpp:
2672         (WebCore::HTMLAppletElement::parseMappedAttribute):
2673         (WebCore::HTMLAppletElement::insertedIntoDocument):
2674         (WebCore::HTMLAppletElement::removedFromDocument):
2675         (WebCore::HTMLAppletElement::createRenderer):
2676         (WebCore::HTMLAppletElement::getAppletInstance):
2677         (WebCore::HTMLEmbedElement::getEmbedInstance):
2678         (WebCore::HTMLEmbedElement::parseMappedAttribute):
2679         (WebCore::HTMLEmbedElement::rendererIsNeeded):
2680         (WebCore::HTMLEmbedElement::insertedIntoDocument):
2681         (WebCore::HTMLEmbedElement::removedFromDocument):
2682         (WebCore::HTMLObjectElement::getObjectInstance):
2683         (WebCore::HTMLObjectElement::parseMappedAttribute):
2684         (WebCore::HTMLObjectElement::rendererIsNeeded):
2685         (WebCore::HTMLObjectElement::insertedIntoDocument):
2686         (WebCore::HTMLObjectElement::removedFromDocument):
2687         (WebCore::HTMLObjectElement::updateDocNamedItem):
2688         (WebCore::HTMLParamElement::parseMappedAttribute):
2689         * html/html_tableimpl.cpp:
2690         (WebCore::HTMLTableElement::createTHead):
2691         (WebCore::HTMLTableElement::createTFoot):
2692         (WebCore::HTMLTableElement::createCaption):
2693         (WebCore::HTMLTableElement::insertRow):
2694         (WebCore::HTMLTableElement::addChild):
2695         (WebCore::HTMLTableElement::mapToEntry):
2696         (WebCore::HTMLTableElement::parseMappedAttribute):
2697         (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
2698         (WebCore::HTMLTableElement::getSharedCellDecl):
2699         (WebCore::HTMLTablePartElement::mapToEntry):
2700         (WebCore::HTMLTablePartElement::parseMappedAttribute):
2701         (WebCore::HTMLTableSectionElement::insertRow):
2702         (WebCore::HTMLTableRowElement::insertCell):
2703         * khtml/ecma/kjs_dom.cpp:
2704         (KJS::DOMNode::~DOMNode):
2705         (KJS::DOMNode::mark):
2706         (KJS::DOMElement::getValueProperty):
2707         (KJS::DOMElementProtoFunc::callAsFunction):
2708         (KJS::checkNodeSecurity):
2709         (KJS::toJS):
2710         * khtml/ecma/kjs_html.cpp:
2711         (KJS::JSHTMLElement::implementsCall):
2712         (KJS::JSHTMLElement::bodyGetter):
2713         (KJS::JSHTMLElement::anchorGetter):
2714         (KJS::JSHTMLElement::getValueProperty):
2715         (KJS::JSHTMLElement::bodySetter):
2716         * khtml/ecma/kjs_traversal.cpp:
2717         (KJS::JSNodeFilterCondition::acceptNode):
2718         * khtml/ecma/kjs_views.cpp:
2719         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
2720         * khtml/xbl/xbl_binding.cpp:
2721         (XBL::XBLBindingChain::failed):
2722         (XBL::m_nextBinding):
2723         (XBL::XBLBinding::setXBLDocument):
2724         * khtml/xbl/xbl_protobinding.cpp:
2725         (XBL::XBLPrototypeBinding::document):
2726         * khtml/xsl/XSLStyleSheet.cpp:
2727         (WebCore::XSLStyleSheet::XSLStyleSheet):
2728         * khtml/xsl/XSLTProcessor.cpp:
2729         (WebCore::XSLTProcessor::createDocumentFromSource):
2730         (WebCore::xmlDocPtrFromNode):
2731         (WebCore::XSLTProcessor::transformToString):
2732         * ksvg2/svg/SVGAElement.cpp:
2733         (SVGAElement::defaultEventHandler):
2734         * ksvg2/svg/SVGAnimateColorElement.cpp:
2735         (SVGAnimateColorElement::handleTimerEvent):
2736         * ksvg2/svg/SVGAnimateElement.cpp:
2737         (SVGAnimateElement::handleTimerEvent):
2738         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2739         (SVGAnimateTransformElement::handleTimerEvent):
2740         * ksvg2/svg/SVGAnimationElement.cpp:
2741         (SVGAnimationElement::closeRenderer):
2742         * ksvg2/svg/SVGClipPathElement.cpp:
2743         (SVGClipPathElement::canvasResource):
2744         * ksvg2/svg/SVGElement.cpp:
2745         (WebCore::SVGElement::addSVGEventListener):
2746         * ksvg2/svg/SVGGradientElement.cpp:
2747         (SVGGradientElement::rebuildStops):
2748         * ksvg2/svg/SVGHelper.cpp:
2749         (SVGHelper::PercentageOfViewport):
2750         * ksvg2/svg/SVGLinearGradientElement.cpp:
2751         (SVGLinearGradientElement::buildGradient):
2752         * ksvg2/svg/SVGPatternElement.cpp:
2753         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2754         * ksvg2/svg/SVGRadialGradientElement.cpp:
2755         (WebCore::SVGRadialGradientElement::buildGradient):
2756         * ksvg2/svg/SVGSVGElement.cpp:
2757         (WebCore::SVGSVGElement::setCurrentScale):
2758         (WebCore::SVGSVGElement::addSVGWindowEventListner):
2759         * ksvg2/svg/SVGSetElement.cpp:
2760         (SVGSetElement::handleTimerEvent):
2761         * ksvg2/svg/SVGStyleElement.cpp:
2762         (SVGStyleElement::childrenChanged):
2763         * ksvg2/svg/SVGStyledElement.cpp:
2764         (WebCore::SVGStyledElement::canvas):
2765         * ksvg2/svg/SVGTitleElement.cpp:
2766         (WebCore::SVGTitleElement::closeRenderer):
2767         (WebCore::SVGTitleElement::insertedIntoDocument):
2768         (WebCore::SVGTitleElement::removedFromDocument):
2769         (WebCore::SVGTitleElement::childrenChanged):
2770         * ksvg2/svg/SVGUseElement.cpp:
2771         (SVGUseElement::closeRenderer):
2772         * kwq/WebCoreAXObject.mm:
2773         (-[WebCoreAXObject accessibilityPerformAction:]):
2774         (-[WebCoreAXObject accessibilityAttributeValue:]):
2775         * page/Frame.cpp:
2776         (WebCore::parentFromOwnerRenderer):
2777         (WebCore::Frame::frameForNode):
2778         (WebCore::Frame::clearDocumentFocus):
2779         * page/FrameView.cpp:
2780         (WebCore::FrameView::dispatchMouseEvent):
2781         * rendering/RenderBox.cpp:
2782         (WebCore::RenderBox::setStyle):
2783         * rendering/RenderCanvas.cpp:
2784         (WebCore::RenderCanvas::RenderCanvas):
2785         (WebCore::RenderCanvas::paintBoxDecorations):
2786         (WebCore::RenderCanvas::repaintViewRectangle):
2787         * rendering/RenderImage.cpp:
2788         (WebCore::RenderImage::imageMap):
2789         * rendering/RenderLayer.cpp:
2790         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2791         (WebCore::RenderLayer::setHasVerticalScrollbar):
2792         * rendering/RenderObject.cpp:
2793         (WebCore::RenderObject::createObject):
2794         (WebCore::RenderObject::RenderObject):
2795         (WebCore::RenderObject::isRoot):
2796         (WebCore::RenderObject::backslashAsCurrencySymbol):
2797         * rendering/RenderObject.h:
2798         (WebCore::RenderObject::document):
2799         * rendering/RenderTheme.cpp:
2800         (WebCore::RenderTheme::isFocused):
2801         * rendering/render_applet.cpp:
2802         (WebCore::RenderApplet::createWidgetIfNecessary):
2803         * rendering/render_replaced.cpp:
2804         (WebCore::RenderWidget::RenderWidget):
2805         (WebCore::RenderWidget::focusIn):
2806         (WebCore::RenderWidget::focusOut):
2807
2808 2006-03-28  Darin Adler  <darin@apple.com>
2809
2810         Reviewed by Geoff.
2811
2812         - added a build step that checks for init routines
2813
2814         * WebCore.xcodeproj/project.pbxproj: Deleted now-unused custom build rule that
2815         was replaced by the generate-derived-sources script a while back. Added a custom
2816         build phase that invokes the check-for-global-initializers script.
2817
2818 2006-03-28  Timothy Hatcher  <timothy@apple.com>
2819
2820         Reviewed by Maciej.
2821
2822         Moved the derived sources script to an agregate target. Fixes internal builds.
2823
2824         * WebCore.xcodeproj/project.pbxproj:
2825         * generate-derived-sources: was missing a use of $CREATE_HASH_TABLE
2826
2827 2006-03-28  Eric Seidel  <eseidel@apple.com>
2828
2829         Reviewed by hyatt.
2830         
2831         Build fix.
2832
2833         * dom/xml_tokenizer.cpp:
2834         (WebCore::XMLTokenizer::error):
2835
2836 2006-03-28  Michael Emmel  <mike.emmel@gmail.com>
2837
2838         Reviewed, tweaked, landed by Darin.
2839
2840         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8023
2841           Attribute.h missing class predeclaration
2842
2843         * dom/Attribute.h: Add declarations for classes so that the friend
2844         declaration is not the only one. There's an issue with either an earlier
2845         or later version of gcc, which is why we see this only on certain platforms.
2846
2847         * dom/Attr.cpp:
2848         (WebCore::Attr::Attr):
2849         (WebCore::Attr::~Attr):
2850         * dom/NamedAttrMap.cpp:
2851         (WebCore::NamedAttrMap::clearAttributes):
2852         (WebCore::NamedAttrMap::addAttribute):
2853         (WebCore::NamedAttrMap::removeAttribute):
2854         Change places where practical to use attr() instead of m_impl in the vain
2855         hope of removing the need for the friend declarations.
2856
2857 2006-03-27  Eric Seidel  <eseidel@apple.com>
2858
2859         Reviewed by darin.
2860
2861         Replace more DeprecatedString with String.
2862         Add String::sprintf() and String::number()
2863         http://bugzilla.opendarwin.org/show_bug.cgi?id=8009
2864
2865         * bindings/objc/DOMHTML.mm:
2866         (-[DOMHTMLTextAreaElement setCols:]):
2867         (-[DOMHTMLTextAreaElement setRows:]):
2868         (-[DOMHTMLOListElement setStart:]):
2869         (-[DOMHTMLPreElement setWidth:]):
2870         (-[DOMHTMLImageElement setHeight:]):
2871         (-[DOMHTMLImageElement setHspace:]):
2872         (-[DOMHTMLImageElement setVspace:]):
2873         (-[DOMHTMLImageElement setWidth:]):
2874         (-[DOMHTMLObjectElement setHspace:]):
2875         (-[DOMHTMLObjectElement setTabIndex:]):
2876         (-[DOMHTMLObjectElement setVspace:]):
2877         (-[DOMHTMLAppletElement setHspace:]):
2878         (-[DOMHTMLAppletElement setVspace:]):
2879         (-[DOMHTMLAreaElement setTabIndex:]):
2880         (-[DOMHTMLTableColElement setSpan:]):
2881         (-[DOMHTMLTableCellElement setColSpan:]):
2882         (-[DOMHTMLTableCellElement setRowSpan:]):
2883         (-[DOMHTMLEmbedElement setHeight:]):
2884         (-[DOMHTMLEmbedElement setWidth:]):
2885         * bindings/objc/DOMInternal.mm:
2886         (String::String):
2887         * css/CSSComputedStyleDeclaration.cpp:
2888         (WebCore::numberAsString):
2889         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2890         * css/css_valueimpl.cpp:
2891         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2892         (WebCore::CSSPrimitiveValue::cssText):
2893         * dom/Position.cpp:
2894         (WebCore::Position::formatForDebugger):
2895         * dom/Range.cpp:
2896         (WebCore::Range::formatForDebugger):
2897         * dom/StyledElement.cpp:
2898         (WebCore::StyledElement::addCSSColor):
2899         * dom/xml_tokenizer.cpp:
2900         (WebCore::XMLTokenizer::error):
2901         * editing/ApplyStyleCommand.cpp:
2902         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2903         * html/HTMLGenericFormElement.cpp:
2904         (WebCore::HTMLGenericFormElement::findMatchingState):
2905         (WebCore::HTMLGenericFormElement::setTabIndex):
2906         * html/HTMLInputElement.cpp:
2907         (WebCore::HTMLInputElement::setMaxLength):
2908         (WebCore::HTMLInputElement::setSize):
2909         * html/HTMLSelectElement.cpp:
2910         (WebCore::HTMLSelectElement::setSize):
2911         * html/HTMLTextAreaElement.cpp:
2912         (WebCore::HTMLTextAreaElement::setCols):
2913         (WebCore::HTMLTextAreaElement::setRows):
2914         * html/html_baseimpl.cpp:
2915         (WebCore::HTMLBodyElement::insertedIntoDocument):
2916         * html/html_blockimpl.cpp:
2917         (WebCore::HTMLHRElement::parseMappedAttribute):
2918         (WebCore::HTMLPreElement::setWidth):
2919         * html/html_imageimpl.cpp:
2920         (WebCore::HTMLImageElement::width):
2921         (WebCore::HTMLImageElement::height):
2922         (WebCore::HTMLImageElement::setBorder):
2923         (WebCore::HTMLImageElement::setHeight):
2924         (WebCore::HTMLImageElement::setHspace):
2925         (WebCore::HTMLImageElement::setVspace):
2926         (WebCore::HTMLImageElement::setWidth):
2927         (WebCore::HTMLAreaElement::setTabIndex):
2928         * html/html_inlineimpl.cpp:
2929         (WebCore::HTMLAnchorElement::setTabIndex):
2930         * html/html_listimpl.cpp:
2931         (WebCore::HTMLOListElement::setStart):
2932         (WebCore::HTMLLIElement::setValue):
2933         * html/html_objectimpl.cpp:
2934         (WebCore::HTMLObjectElement::setTabIndex):
2935         * html/html_tableimpl.cpp:
2936         (WebCore::HTMLTableElement::parseMappedAttribute):
2937         (WebCore::HTMLTableCellElement::setColSpan):
2938         (WebCore::HTMLTableCellElement::setRowSpan):
2939         (WebCore::HTMLTableColElement::setSpan):
2940         * khtml/ecma/kjs_window.cpp:
2941         (KJS::Window::isSafeScript):
2942         (KJS::Location::getValueProperty):
2943         * ksvg2/css/SVGCSSParser.cpp:
2944         (WebCore::CSSParser::parseSVGPaint):
2945         (WebCore::CSSParser::parseSVGColor):
2946         * ksvg2/svg/SVGAngle.cpp:
2947         (SVGAngle::setValueAsString):
2948         (SVGAngle::valueAsString):
2949         * ksvg2/svg/SVGAngle.h:
2950         * ksvg2/svg/SVGLength.cpp:
2951         (SVGLength::setValueAsString):
2952         (SVGLength::valueAsString):
2953         * ksvg2/svg/SVGLength.h:
2954         * ksvg2/svg/SVGPathSeg.h:
2955         (WebCore::SVGPathSeg::pathSegTypeAsLetter):
2956         (WebCore::SVGPathSeg::toString):
2957         * ksvg2/svg/SVGPathSegArc.h:
2958         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
2959         (WebCore::SVGPathSegArcAbs::toString):
2960         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
2961         (WebCore::SVGPathSegArcRel::toString):
2962         * ksvg2/svg/SVGPathSegClosePath.h:
2963         (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
2964         (WebCore::SVGPathSegClosePath::toString):
2965         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2966         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
2967         (WebCore::SVGPathSegCurvetoCubicAbs::toString):
2968         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
2969         (WebCore::SVGPathSegCurvetoCubicRel::toString):
2970         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2971         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
2972         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
2973         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
2974         (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
2975         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2976         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
2977         (WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
2978         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
2979         (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
2980         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2981         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
2982         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
2983         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
2984         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
2985         * ksvg2/svg/SVGPathSegLineto.h:
2986         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
2987         (WebCore::SVGPathSegLinetoAbs::toString):
2988         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
2989         (WebCore::SVGPathSegLinetoRel::toString):
2990         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2991         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
2992         (WebCore::SVGPathSegLinetoHorizontalAbs::toString):
2993         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
2994         (WebCore::SVGPathSegLinetoHorizontalRel::toString):
2995         * ksvg2/svg/SVGPathSegLinetoVertical.h:
2996         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
2997         (WebCore::SVGPathSegLinetoVerticalAbs::toString):
2998         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
2999         (WebCore::SVGPathSegLinetoVerticalRel::toString):
3000         * ksvg2/svg/SVGPathSegMoveto.h:
3001         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
3002         (WebCore::SVGPathSegMovetoAbs::toString):
3003         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
3004         (WebCore::SVGPathSegMovetoRel::toString):
3005         * ksvg2/svg/SVGPolyElement.cpp:
3006         (SVGPolyElement::notifyAttributeChange):
3007         * ksvg2/svg/SVGStopElement.cpp:
3008         (SVGStopElement::parseMappedAttribute):
3009         * ksvg2/svg/SVGUseElement.cpp:
3010         (SVGUseElement::closeRenderer):
3011         * platform/AtomicString.h:
3012         (WebCore::AtomicString::toInt):
3013         * platform/Color.cpp:
3014         (WebCore::Color::name):
3015         * platform/Color.h:
3016         * platform/PlatformString.h:
3017         * platform/String.cpp:
3018         (WebCore::String::sprintf):
3019         (WebCore::String::number):
3020         * platform/StringImpl.cpp:
3021         (WebCore::StringImpl::StringImpl):
3022         (WebCore::StringImpl::initWithChar):
3023         (WebCore::StringImpl::initWithQChar):
3024         (WebCore::StringImpl::containsOnlyWhitespace):
3025         * platform/mac/KeyEventMac.mm:
3026         (WebCore::keyIdentifierForKeyEvent):
3027         * rendering/render_form.cpp:
3028         (WebCore::RenderSlider::updateFromElement):
3029         (WebCore::RenderSlider::valueChanged):
3030
3031 2006-03-28  Justin Garcia  <justin.garcia@apple.com>
3032
3033         Reviewed by mjs
3034         
3035         <http://bugzilla.opendarwin.org/attachment.cgi?id=7322>
3036         REGRESSION: Select All does not highlight table if it's last in the document
3037         
3038         * rendering/RenderCanvas.cpp:
3039         (WebCore::rendererAfterPosition): 
3040         Added, returns the render object that a pre-order traversal over a range 
3041         of render objects ending at the input position should stop at.
3042         (WebCore::RenderCanvas::selectionRect): 
3043         Stop at rendererAfterPosition(m_selectionEnd, m_selectionEndPos), moved code 
3044         for traversal to nextInPreOrder. Also, the travesal doesn't need to fetch the
3045         next object before doing work, since the work it does will never change what 
3046         the next object in the traversal will be.
3047         (WebCore::RenderCanvas::setSelection): Ditto.
3048         * rendering/RenderObject.cpp:
3049         (WebCore::RenderObject::nextInPreOrder): Renamed from nextRenderer, cleaned up the logic a little.
3050         (WebCore::RenderObject::nextInPreOrderAfterChildren): Added.
3051         (WebCore::RenderObject::previousInPreOrder): Renamed from previousRenderer.
3052         (WebCore::RenderObject::childAt): Added.
3053         * rendering/RenderObject.h:
3054         * rendering/RenderText.cpp:
3055         (WebCore::RenderText::setText):
3056
3057 2006-03-28  Maciej Stachowiak  <mjs@apple.com>
3058
3059         Reviewed by Justin.
3060         
3061         - fixed <rdar://problem/4483851> REGRESSION: parse mode gets set to strict after going back from non-HTML content (7102)
3062
3063         Reshuffled things to arrange for m_doc to be cleared somewhat earlier than before.
3064         
3065         * page/Frame.cpp:
3066         (WebCore::Frame::didOpenURL):
3067         (WebCore::Frame::receivedFirstData):
3068         (WebCore::Frame::begin):
3069         (WebCore::Frame::endIfNotLoading): 
3070         * manual-tests/accidental-strict-mode.html: Added. I don't think an
3071         automated test is possible.
3072
3073 2006-03-28  Eric Seidel  <eseidel@apple.com>
3074
3075         Reviewed by mjs.
3076
3077         Convert a couple DeprecatedPtrList<T> to Vector<T*> and HashSet<T*>
3078
3079         * bridge/mac/FrameMac.h:
3080         * bridge/mac/FrameMac.mm:
3081         (WebCore::regExpForLabels):
3082         (WebCore::FrameMac::addPluginRootObject):
3083         (WebCore::FrameMac::cleanupPluginRootObjects):
3084         * loader/Cache.cpp:
3085         (WebCore::Cache::init):
3086         (WebCore::Cache::clear):
3087         (WebCore::Cache::remove):
3088         * loader/Cache.h:
3089         * loader/DocLoader.cpp:
3090         (WebCore::DocLoader::DocLoader):
3091         (WebCore::DocLoader::~DocLoader):
3092
3093 2006-03-27  Eric Seidel  <eseidel@apple.com>
3094
3095         Reviewed by mjs.
3096
3097         Give StringImpl a little privacy.
3098         http://bugzilla.opendarwin.org/show_bug.cgi?id=8022
3099
3100         * dom/CharacterData.cpp:
3101         (WebCore::CharacterData::length):
3102         (WebCore::CharacterData::appendData):
3103         (WebCore::CharacterData::replaceData):
3104         (WebCore::CharacterData::checkCharDataOperation):
3105         (WebCore::CharacterData::rendererIsNeeded):
3106         * dom/Range.cpp:
3107         (WebCore::Range::compareBoundaryPoints):
3108         * dom/Text.cpp:
3109         (WebCore::Text::splitText):
3110         * html/HTMLTokenizer.cpp:
3111         (WebCore::HTMLTokenizer::processToken):
3112         * platform/AtomicString.cpp:
3113         (WebCore::operator==):
3114         * platform/String.cpp:
3115         (WebCore::String::operator[]):
3116         (WebCore::String::length):
3117         (WebCore::String::percentage):
3118         (WebCore::String::unicode):
3119         (WebCore::String::deprecatedString):
3120         (WebCore::String::isEmpty):
3121         * platform/StringImpl.cpp:
3122         (WebCore::equal):
3123         (WebCore::equalIgnoringCase):
3124         * platform/StringImpl.h:
3125         * rendering/InlineTextBox.cpp:
3126         (WebCore::InlineTextBox::selectionRect):
3127         (WebCore::InlineTextBox::paint):
3128         (WebCore::InlineTextBox::paintSelection):
3129         (WebCore::InlineTextBox::paintMarkedTextBackground):
3130         (WebCore::InlineTextBox::paintTextMatchMarker):
3131         (WebCore::InlineTextBox::offsetForPosition):
3132         (WebCore::InlineTextBox::positionForOffset):
3133         * rendering/RenderText.cpp:
3134         (WebCore::RenderText::widthFromCache):
3135         (WebCore::RenderText::calcMinMaxWidth):
3136         (WebCore::RenderText::width):
3137
3138 2006-03-27  Maciej Stachowiak  <mjs@apple.com>
3139
3140         Reviewed by Beth.
3141
3142         - fixed <rdar://problem/4279765> REGRESSION: "More..." links on flickr groups pages have hover issues (flickr.com)
3143
3144         * rendering/RenderBlock.cpp:
3145         (WebCore::RenderBlock::floatRect): Rewrote in terms of rects, and made it consider child floatRects
3146         as well as their overflowRects.
3147         * platform/IntRect.h:
3148         (WebCore::unionRect): useful helper
3149         * platform/FloatRect.h:
3150         (WebCore::unionRect): added same for FloatRect just because
3151
3152 2006-03-27  Darin Adler  <darin@apple.com>
3153
3154         Based on a patch by Michael Emmel <mike.emmel@gmail.com>.
3155
3156         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8012
3157           TransferJob.cpp includes non-existent "String.h" (capital S)
3158
3159         * platform/TransferJob.cpp: Remove unneeded include of "String.h".
3160
3161 2006-03-27  David Harrison  <harrison@apple.com>
3162
3163         Reviewed by Darin.
3164
3165         <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)
3166
3167         Better fix than previous checkin, since maxDeepOffset is really an editing hack.
3168
3169         * editing/selection/selectNodeContents-textNode.html: Added.
3170
3171         * dom/Range.cpp:
3172         (WebCore::Range::selectNodeContents):
3173         Use maxOffset if offsetInCharacters, otherwise use childNodeCount.
3174
3175 2006-03-27  Darin Adler  <darin@apple.com>
3176
3177         Based on a patch by Michael Emmel <mike.emmel@gmail.com>.
3178
3179         - fix compilation for Linux
3180           http://bugzilla.opendarwin.org/show_bug.cgi?id=8013
3181
3182         * rendering/render_style.h: Add declaration of CSSStyleSelector. Also tweaked
3183         formatting a bit and removed some extraneous WebCore:: prefixes.
3184
3185 2006-03-27  John Sullivan  <sullivan@apple.com>
3186
3187         Reviewed by Darin Adler and Tim Omernick
3188         
3189         - fixed <rdar://problem/4406505> REGRESSION: (japanese text) Clauses is unexpectedly 
3190         confirmed while typing on Safari.
3191
3192         * bindings/objc/DOMHTML.mm:
3193         (-[DOMHTMLInputElement _displayedValue]):
3194         Avoid calling stringValue on the focused NSTextField. This will soon be obsolete, but
3195         for now it fixes this regression.
3196
3197 2006-03-27  Alexander Kellett  <lypanov@kde.org>
3198
3199         Reviewed by darin
3200
3201         Implement the IE extension insertAdjacentElement
3202         http://bugzilla.opendarwin.org/show_bug.cgi?id=6520
3203
3204         * bindings/scripts/CodeGeneratorJS.pm:
3205         * dom/Element.cpp:
3206         (WebCore::ElementImpl::insertAdjacentElement):
3207         * dom/Element.h:
3208         * dom/Element.idl:
3209
3210 2006-03-27  David Harrison  <harrison@apple.com>
3211
3212         Reviewed by Tim Hatcher.
3213
3214         <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)
3215
3216         Range::selectNodeContents() was erroneously using childNodeCount, which is always 0 for text
3217         nodes.  Turns out that [WebCoreAXObject textUnderElement] is the only code that ends up calling
3218         selectNodeContents on a text node.
3219
3220         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
3221         is not possible.  See following bug...
3222             <rdar://problem/4256882> Need automated testing support for accessibility APIs
3223
3224         * dom/Range.cpp:
3225         (WebCore::Range::selectNodeContents):
3226         Use maxDeepOffset instead of childNodeCount, so that text node content is selected.
3227
3228 2006-03-27  Graham Dennis  <Graham.Dennis@gmail.com>
3229
3230         Reviewed by darin
3231         
3232         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7868>
3233         REGRESSION: Extraneous focus ring drawn at the end of the page
3234         
3235         * platform/GraphicsContext.cpp:
3236         (WebCore::GraphicsContext::addFocusRingRect): Don't add a focus ring for an empty rect.
3237
3238 2006-03-27  Maciej Stachowiak  <mjs@apple.com>
3239
3240         Reviewed by Anders.
3241         
3242         - fixed <rdar://problem/4489745> REGRESSION: Safari crashes at to display http://www.lgphilips-lcd.com/
3243
3244         * manual-tests/empty-script-crash.html: Added.
3245
3246 2006-03-27  Maciej Stachowiak  <mjs@apple.com>
3247
3248         Build fix:
3249         
3250         - reverted fix for <rdar://problem/4362396> capturing listeners do not fire on the target node
3251         It turns out that the behavior we had was standards-compliant and
3252         Moz will be changing to match.
3253         
3254         Also added a note so this doesn't get reverted again.
3255
3256         * dom/EventTargetNode.cpp:
3257         (WebCore::EventTargetNode::dispatchGenericEvent):
3258
3259 2006-03-26  Justin Garcia  <justin.garcia@apple.com>
3260
3261         Reviewed by darn
3262         
3263         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
3264         Add EditActions and WebUndoActions for CreateLink and Unlink
3265
3266         * bridge/mac/WebCoreFrameBridge.h:
3267         * editing/CreateLinkCommand.h:
3268         (WebCore::CreateLinkCommand::editingAction):
3269         * editing/EditAction.h:
3270         * editing/UnlinkCommand.h:
3271         (WebCore::UnlinkCommand::editingAction):
3272
3273 2006-03-26  Eric Seidel  <eseidel@apple.com>
3274
3275         Reviewed by mjs.
3276
3277         Fix win32 build.
3278
3279         * WebCore.vcproj/WebCore/WebCore.vcproj:
3280         * editing/CompositeEditCommand.cpp:
3281         * editing/InsertTextCommand.cpp:
3282         * generate-derived-sources:
3283
3284 2006-03-26  Eric Seidel  <eseidel@apple.com>
3285
3286         * dom/Element.cpp: fix include case, fixing build.
3287
3288 2006-03-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3289
3290         Reviewed by darin.  Landed by eseidel.
3291
3292         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7916
3293           Box repaint rect does not include the left overflow
3294
3295         * manual-tests/left-overflow-repaint.html: Added.
3296         * rendering/RenderBlock.cpp:
3297         (WebCore::RenderBlock::overflowRect): Changed m_overflowWidth and m_overflowHeight
3298         to overflowWidth() and overflowHeight() since RenderTable overrides the latter.
3299         * rendering/RenderBox.cpp:
3300         (WebCore::RenderBox::getAbsoluteRepaintRect): Include top and left overflows.
3301         * rendering/RenderFlow.cpp:
3302         (WebCore::RenderFlow::getAbsoluteRepaintRect): Removed redundant code.
3303         * rendering/RenderTableCell.cpp: Removed subclass implementation of
3304         getAbsoluteRepaintRect().
3305         * rendering/RenderTableCell.h:
3306         * rendering/bidi.cpp:
3307         (WebCore::RenderBlock::layoutInlineChildren): Include left overflow in repaint rect.
3308
3309 2006-03-25  Eric Seidel  <eseidel@apple.com>
3310
3311         Reviewed by andersca.
3312
3313         Build fix.
3314
3315         * bindings/scripts/CodeGeneratorJS.pm: include Element.h
3316
3317 2006-03-25  Eric Seidel  <eseidel@apple.com>
3318
3319         Reviewed by andersca.
3320
3321         Split dom_elementimpl.* into multiple files (one per class).
3322         http://bugzilla.opendarwin.org/show_bug.cgi?id=7978
3323
3324         * ForwardingHeaders/kdom/core/Attr.h: Removed.
3325         * ForwardingHeaders/kdom/core/Element.h: Removed.
3326         * ForwardingHeaders/kdom/core/XMLElement.h: Removed.
3327         * WebCore.xcodeproj/project.pbxproj:
3328         * bindings/objc/DOM.mm:
3329         * bindings/objc/DOMHTML.mm:
3330         * bindings/scripts/CodeGeneratorJS.pm:
3331         * dom/AbstractView.cpp:
3332         * dom/Attr.cpp: Added.
3333         * dom/Attr.h: Added.
3334         * dom/Attribute.cpp: Added.
3335         * dom/Attribute.h: Added.
3336         * dom/CSSMappedAttributeDeclaration.cpp: Added.
3337         * dom/CSSMappedAttributeDeclaration.h: Added.
3338         * dom/DOMImplementation.cpp:
3339         * dom/Document.h:
3340         * dom/DocumentType.cpp:
3341         * dom/Element.cpp: Added.
3342         (WebCore::Element::Element):
3343         (WebCore::Element::~Element):
3344         * dom/Element.h: Added.
3345         * dom/EventNames.cpp:
3346         * dom/EventTargetNode.cpp:
3347         * dom/MappedAttribute.cpp: Added.
3348         * dom/MappedAttribute.h: Added.
3349         * dom/MappedAttributeEntry.h: Added.
3350         (WebCore::):
3351         * dom/NameNodeList.cpp:
3352         (WebCore::NameNodeList::NameNodeList):
3353         (WebCore::NameNodeList::item):
3354         (WebCore::NameNodeList::nodeMatches):
3355         * dom/NamedAttrMap.cpp: Added.
3356         * dom/NamedAttrMap.h: Added.
3357         * dom/NamedMappedAttrMap.cpp: Added.
3358         (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
3359         * dom/NamedMappedAttrMap.h: Added.
3360         * dom/Node.cpp:
3361         * dom/NodeList.cpp:
3362         * dom/Position.cpp:
3363         * dom/StyledElement.cpp: Added.
3364         * dom/StyledElement.h: Added.
3365         * dom/dom_elementimpl.cpp: Removed.
3366         * dom/dom_elementimpl.h: Removed.
3367         * editing/BreakBlockquoteCommand.cpp:
3368         * editing/CompositeEditCommand.cpp:
3369         * editing/DeleteFromTextNodeCommand.cpp:
3370         * editing/DeleteSelectionCommand.cpp:
3371         * editing/InsertLineBreakCommand.cpp:
3372         * editing/InsertParagraphSeparatorCommand.cpp:
3373         * editing/InsertTextCommand.cpp:
3374         * editing/MergeIdenticalElementsCommand.cpp:
3375         * editing/ModifySelectionListLevelCommand.cpp:
3376         * editing/MoveSelectionCommand.cpp:
3377         * editing/RemoveCSSPropertyCommand.cpp:
3378         * editing/RemoveNodeAttributeCommand.cpp:
3379         * editing/Selection.cpp:
3380         * editing/SelectionController.cpp:
3381         * editing/SetNodeAttributeCommand.cpp:
3382         * editing/SplitElementCommand.cpp:
3383         * editing/SplitTextNodeContainingElementCommand.cpp:
3384         * editing/TextIterator.cpp:
3385         * editing/TypingCommand.cpp:
3386         * editing/VisiblePosition.cpp:
3387         * editing/visible_units.cpp:
3388         * html/HTMLElement.h:
3389         * html/HTMLTokenizer.h:
3390         * html/html_baseimpl.cpp:
3391         * kcanvas/RenderSVGImage.cpp:
3392         * khtml/ecma/kjs_views.cpp:
3393         * khtml/ecma/kjs_window.cpp:
3394         (KJS::Window::getValueProperty):
3395         * khtml/xbl/xbl_binding_manager.cpp:
3396         * khtml/xbl/xbl_tokenizer.cpp:
3397         * ksvg2/misc/SVGImageLoader.cpp:
3398         * ksvg2/svg/SVGAElement.cpp:
3399         * ksvg2/svg/SVGAnimateTransformElement.cpp:
3400         * ksvg2/svg/SVGAnimationElement.cpp:
3401         * ksvg2/svg/SVGCircleElement.cpp:
3402         * ksvg2/svg/SVGClipPathElement.cpp:
3403         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
3404         * ksvg2/svg/SVGCursorElement.cpp:
3405         * ksvg2/svg/SVGElement.cpp:
3406         (WebCore::SVGElement::SVGElement):
3407         * ksvg2/svg/SVGElement.h:
3408         * ksvg2/svg/SVGEllipseElement.cpp:
3409         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
3410         * ksvg2/svg/SVGFEBlendElement.cpp:
3411         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
3412         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
3413         * ksvg2/svg/SVGFECompositeElement.cpp:
3414         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
3415         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
3416         * ksvg2/svg/SVGFEFloodElement.cpp:
3417         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
3418         * ksvg2/svg/SVGFEImageElement.cpp:
3419         * ksvg2/svg/SVGFELightElement.cpp:
3420         * ksvg2/svg/SVGFEMergeElement.cpp:
3421         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
3422         * ksvg2/svg/SVGFEOffsetElement.cpp:
3423         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
3424         * ksvg2/svg/SVGFETileElement.cpp:
3425         * ksvg2/svg/SVGFETurbulenceElement.cpp:
3426         * ksvg2/svg/SVGFilterElement.cpp:
3427         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
3428         * ksvg2/svg/SVGFitToViewBox.cpp:
3429         * ksvg2/svg/SVGGradientElement.cpp:
3430         * ksvg2/svg/SVGImageElement.cpp:
3431         * ksvg2/svg/SVGLangSpace.cpp:
3432         * ksvg2/svg/SVGLineElement.cpp:
3433         * ksvg2/svg/SVGLinearGradientElement.cpp:
3434         * ksvg2/svg/SVGMarkerElement.cpp:
3435         * ksvg2/svg/SVGMaskElement.cpp:
3436         * ksvg2/svg/SVGPathElement.cpp:
3437         * ksvg2/svg/SVGPatternElement.cpp:
3438         * ksvg2/svg/SVGPolyElement.cpp:
3439         * ksvg2/svg/SVGRadialGradientElement.cpp:
3440         * ksvg2/svg/SVGRectElement.cpp:
3441         * ksvg2/svg/SVGSVGElement.cpp:
3442         * ksvg2/svg/SVGScriptElement.cpp:
3443         * ksvg2/svg/SVGStopElement.cpp:
3444         * ksvg2/svg/SVGStyledElement.cpp:
3445         * ksvg2/svg/SVGStyledTransformableElement.cpp:
3446         * ksvg2/svg/SVGSwitchElement.cpp:
3447         * ksvg2/svg/SVGTests.cpp:
3448         * ksvg2/svg/SVGTextContentElement.cpp:
3449         * ksvg2/svg/SVGTextPositioningElement.cpp:
3450         * ksvg2/svg/SVGTransformable.cpp:
3451         * ksvg2/svg/SVGURIReference.cpp:
3452         * ksvg2/svg/SVGUseElement.cpp:
3453         * ksvg2/svg/SVGViewElement.cpp:
3454         * ksvg2/svg/SVGZoomAndPan.cpp:
3455         * kwq/WebCoreTextArea.mm:
3456         * platform/Widget.h:
3457         * rendering/RenderBlock.cpp:
3458         * rendering/RenderCanvas.cpp:
3459         * rendering/RenderContainer.cpp:
3460         * rendering/RenderObject.cpp:
3461         * rendering/RenderTextField.cpp:
3462         * rendering/RenderThemeMac.mm:
3463         * rendering/bidi.cpp:
3464         * rendering/render_replaced.cpp:
3465
3466 2006-03-25  Eric Seidel  <eseidel@apple.com>
3467
3468         Reviewed by mjs.
3469
3470         Fix RenderStyle creation to avoid floating RenderStyle objects.
3471         This also fixes a bug, were SVG to ever start sharing RenderStyles
3472         between elements, code would have crashed as there were improperly
3473         paired style->deref() statements in SVG code.
3474         http://bugzilla.opendarwin.org/show_bug.cgi?id=7976
3475
3476         No test possible (no functionality change).
3477
3478         * css/cssstyleselector.cpp:
3479         (WebCore::CSSStyleSelector::createStyleForElement):
3480         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
3481         * css/cssstyleselector.h:
3482         * dom/Node.cpp:
3483         (WebCore::Node::createRendererIfNeeded):
3484         (WebCore::Node::createStyleForRenderer):
3485         * dom/Node.h:
3486         * dom/dom_elementimpl.cpp:
3487         (WebCore::Element::createStyleForRenderer):
3488         (WebCore::Element::recalcStyle):
3489         * dom/dom_elementimpl.h:
3490         * ksvg2/svg/SVGClipPathElement.cpp:
3491         (SVGClipPathElement::canvasResource):
3492         * ksvg2/svg/SVGFEFloodElement.cpp:
3493         (SVGFEFloodElement::filterEffect):
3494         * ksvg2/svg/SVGGradientElement.cpp:
3495         (SVGGradientElement::rebuildStops):
3496         * rendering/RenderObject.cpp:
3497         (WebCore::RenderObject::createObject):
3498         (WebCore::RenderObject::RenderObject):
3499         (WebCore::selectStartNode):
3500         (WebCore::RenderObject::draggableNode):
3501         (WebCore::RenderObject::getPseudoStyle):
3502
3503 2006-03-23  Eric Seidel  <eseidel@apple.com>
3504
3505         Reviewed by mjs.
3506
3507         Shave .2% on PLT by removing bogus strcmp.
3508         http://bugzilla.opendarwin.org/show_bug.cgi?id=7938
3509
3510         Test: fast/parser/tag-with-exclamation-point.html
3511
3512         * html/HTMLTokenizer.cpp:
3513         (WebCore::HTMLTokenizer::parseTag): remove bogus strcmp
3514
3515 2006-03-25  Justin Garcia  <justin.garcia@apple.com>
3516
3517         Reviewed by harrison
3518         
3519         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7683>
3520         TinyMCE: execCommand("Unlink") unimplemented
3521         
3522         Added code to push partially selected anchor elements down before 
3523         creating or removing links to create fully selected chunks that can be removed.
3524         Changed __create_link_command_h__ to CreateLinkCommand_h
3525         Gave styled element application/removal its own ApplyStyleCommand constructor.
3526         Still need to add new EditActions (7974).
3527         
3528         * WebCore.xcodeproj/project.pbxproj:
3529         * editing/ApplyStyleCommand.cpp:
3530         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
3531         (WebCore::ApplyStyleCommand::applyBlockStyle):
3532         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3533         * editing/ApplyStyleCommand.h:
3534         * editing/CompositeEditCommand.cpp:
3535         (WebCore::CompositeEditCommand::applyStyle):
3536         (WebCore::CompositeEditCommand::applyStyledElement):
3537         (WebCore::CompositeEditCommand::removeStyledElement):
3538         (WebCore::enclosingAnchorElement):
3539         (WebCore::CompositeEditCommand::pushAnchorElementDown):
3540         (WebCore::CompositeE