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