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