top level:
[WebKit-https.git] / WebCore / ChangeLog-2005-08-23
1 2005-05-26  Darin Adler  <darin@apple.com>
2
3         Reviewed by Richard and Dave Harrison.
4         No new test cases needed for this change.
5
6         - eliminate WebCoreUnicode and use ICU directly instead
7         - fixed compiling with gcc 4.0 (was broken for Development only)
8
9         * WebCore.exp: Removed the WebCoreXXXFunction exports.
10         * WebCore-tests.exp: Removed some QChar functions that are now inlines.
11         Removed some typeinfo exports that are no longer appropriate since we use -fno-rtti.
12
13         * kwq/KWQString.h:
14         (QChar::isDigit): Changed to call u_isdigit when non-ASCII. We should probably phase
15         this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
16         (QChar::isLetter): Changed to call u_isalpha when non-ASCII.
17         (QChar::isNumber): Changed to call u_isdigit when non-ASCII. This probably should be removed, since
18         we always want to call isDigit instead.
19         (QChar::isLetterOrNumber): Changed to call u_isalnum when non-ASCII.
20         (QChar::isPunct): Changed to call u_ispunct when non-ASCII.
21         (QChar::digitValue): Changed to call u_charDigitValue when not '0'-'9'. We should probably phase
22         this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
23         (QChar::lower): Changed to call u_tolower when non-ASCII.
24         (QChar::upper): Changed to call u_toupper when non-ASCII.
25         (QChar::direction): Made inline. Calls u_charDirection.
26         (QChar::mirrored): Made inline. Calls u_isMirrored.
27         (QChar::mirroredChar): Made inline. Calls u_charMirror.
28
29         * kwq/KWQChar.mm: Removed.
30         * kwq/WebCoreUnicode.cpp: Removed.
31         * kwq/WebCoreUnicode.h: Removed.
32
33         * WebCore.pbproj/project.pbxproj: Removed files.
34
35 2005-05-26  David Harrison  <harrison@apple.com>
36
37         Reviewed by John.
38
39         <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
40         
41         * kwq/WebCoreBridge.mm:
42         (-[WebCoreBridge rangeOfCharactersAroundCaret]):
43         Nil-check result of VisiblePosition previous() and next().
44
45         * khtml/editing/visible_position.cpp:
46         (khtml::VisiblePosition::previous):
47         (khtml::VisiblePosition::previousVisiblePosition):
48         Make sure previous() does not return the original position.  Also, simplified.
49         Commented odd, but required, behavior in previousVisiblePosition().
50
51         * khtml/editing/visible_units.cpp:
52         (khtml::startOfEditableContent):
53         (khtml::endOfEditableContent):
54         Removed redundant check for isEditableContent().
55         
56         * khtml/editing/jsediting.cpp:
57         * khtml/khtml_part.cpp:
58         (KHTMLPart::transpose):
59         * khtml/khtml_part.h:
60         * kwq/KWQKHTMLPart.h:
61         * kwq/KWQKHTMLPart.mm:
62         (KWQKHTMLPart::issueTransposeCommand):
63         * layout-tests/editing/editing.js:
64         * kwq/WebCoreBridge.h:
65         Add support for transpose command in JavaScript and therefore layout tests.
66         
67         * layout-tests/editing/deleting/transpose-empty-expected.txt: Added.
68         * layout-tests/editing/deleting/transpose-empty.html: Added.
69         New test for this bug.
70         
71 2005-05-24  Richard Williamson   <rjw@apple.com>
72
73         Fixed <rdar://problem/4127061> <canvas> backing store should be zero filled
74
75         Use calloc instead of malloc to ensure zero filled backing store.
76
77         Reviewed by Darin.
78
79         * khtml/rendering/render_canvasimage.cpp:
80         (RenderCanvasImage::createDrawingContext):
81
82 2005-05-24  John Sullivan  <sullivan@apple.com>
83
84         Reviewed by Dave Hyatt.
85         
86         - fixed these bugs:
87         <rdar://problem/4118510> Textareas with a vertical scroll bar should have their resize corner under the scroll bar
88         <rdar://problem/4118523> Resize image in textareas is drawn repeatedly when scrolling vertically with scrollbar
89
90         Test cases added: none; doesn't affect page layout
91
92         * kwq/KWQTextArea.h:
93         added inInitWithFrame ivar
94         * kwq/KWQTextArea.mm:
95         (+[KWQTextArea _resizeCornerImage]):
96         moved here from KWQTextAreaTextView; now it's a class method so we only look up the image once.
97         (-[KWQTextArea initWithFrame:]):
98         set and clear inInitWithFrame ivar, used by -tile
99         (-[KWQTextArea _isResizableByUser]):
100         renamed with an underscore for consistency
101         (-[KWQTextArea _textViewShouldHandleResizing]):
102         new method, returns YES if the textarea is user-resizable and the enclosed textview is responsible for drawing
103         and tracking the resize corner.
104         (-[KWQTextArea tile]):
105         shrink the vertical scroller if appropriate to account for the resize corner
106         (-[KWQTextArea _resizeCornerRect]):
107         new method, returns the bottom-right corner rect, where the resize image goes
108         (-[KWQTextArea _trackResizeFromMouseDown:]):
109         moved here from KWQTextAreaTextView. The only changes were to move the [NSCursor set] call inside here (was in
110         the caller), and to use self where it was using [self _enclosingTextArea], and to move a comment in here that
111         was in the caller
112         (-[KWQTextArea mouseDown:]):
113         track resizing if appropriate
114         (-[KWQTextArea drawRect:]):
115         draw the resize corner if appropriate
116         (-[KWQTextAreaTextView _resizeCornerRect]):
117         get the resize image from KWQTextArea
118         (-[KWQTextAreaTextView resetCursorRects]):
119         check _textViewShouldHandleResizing
120         (-[KWQTextAreaTextView drawRect:]):
121         ditto
122         (-[KWQTextAreaTextView mouseDown:]):
123         ditto; also, make the textarea handle the resize tracking now
124
125 2005-05-24  Darin Adler  <darin@apple.com>
126
127         - another gcc 4.0 fix
128
129         No new test cases needed.
130
131         * khtml/dom/dom2_events.cpp: Moved constants out of the KHTML_NO_CPLUSPLUS_DOM #if.
132
133 2005-05-24  Darin Adler  <darin@apple.com>
134
135         Reviewed by Vicki.
136
137         - fixed <rdar://problem/4128727> many DOM classes not exported (can't add categories or do other things that require class name linking)
138
139         No new test cases needed.
140
141         * WebCore.exp: Added exports for many classes in the public DOM headers that were omitted before.
142         Also removed one symbol that was listed twice.
143
144 2005-05-24  Maciej Stachowiak  <mjs@apple.com>
145
146         Reviewed by John.
147
148         - fixed <rdar://problem/3598589> onunload handler doesn't fire when a window is closed
149
150         Test cases added: 
151         * layout-tests/fast/events/onunload-expected.txt: Added.
152         * layout-tests/fast/events/onunload.html: Added.
153
154         * khtml/xml/dom_docimpl.cpp:
155         (DocumentImpl::detach): Don't remove all event handlers from the document here...
156         * khtml/khtml_part.cpp:
157         (KHTMLPart::closeURL): ...instead do it here, after firing the unload event, but only
158         if the document is not in the back/forward cache...
159         * kwq/KWQPageState.mm:
160         (-[KWQPageState finalize]): ...and take care of the back/forward cache case here.
161
162 2005-05-24  John Sullivan  <sullivan@apple.com>
163
164         Reviewed by Kevin.
165         
166         - WebCore part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
167
168         * kwq/KWQKHTMLSettings.h:
169         (KHTMLSettings::textAreasAreResizable):
170         new getter
171         (KHTMLSettings::setTextAreasAreResizable):
172         new setter
173         
174         * kwq/KWQTextArea.h:
175         * kwq/KWQTextArea.mm:
176         eliminated ALLOW_RESIZING_TEXT_AREAS #define in favor of using runtime setting
177         (-[KWQTextArea isResizableByUser]):
178         get value from settings, and cache it in KWQTextArea instance
179         (-[KWQTextAreaTextView _enclosingTextArea]):
180         new convenience method, extracted from _trackResizeFromMouseDown:
181         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
182         now uses extracted method
183         
184         (-[KWQTextAreaTextView drawRect:]):
185         now checks isResizableByUser
186         (-[KWQTextAreaTextView mouseDown:]):
187         ditto
188         
189         * kwq/WebCoreSettings.h:
190         * kwq/WebCoreSettings.mm:
191         (-[WebCoreSettings setTextAreasAreResizable:]):
192         new setter
193         (-[WebCoreSettings textAreasAreResizable]):
194         new getter
195
196 2005-05-23  Maciej Stachowiak  <mjs@apple.com>
197
198         Reviewed by John.
199
200         - split remaining editing command classes out of htmlediting.cpp
201         - rename InsertParagraphSeparatorInQuotedContentCommand to BreakBlockquoteCommand
202
203         No layout tests needed - this is a pure refactoring change.
204         
205         * WebCore.pbproj/project.pbxproj:
206         * khtml/editing/apply_style_command.cpp:
207         * khtml/editing/break_blockquote_command.cpp: Added.
208         * khtml/editing/break_blockquote_command.h: Added.
209         * khtml/editing/composite_edit_command.cpp:
210         * khtml/editing/delete_selection_command.cpp:
211         * khtml/editing/edit_command.cpp:
212         * khtml/editing/htmlediting.cpp:
213         * khtml/editing/htmlediting.h:
214         * khtml/editing/insert_line_break_command.cpp: Added.
215         * khtml/editing/insert_line_break_command.h: Added.
216         * khtml/editing/insert_paragraph_separator_command.cpp: Added.
217         * khtml/editing/insert_paragraph_separator_command.h: Added.
218         * khtml/editing/insert_text_command.cpp: Added.
219         * khtml/editing/insert_text_command.h: Added.
220         * khtml/editing/join_text_nodes_command.cpp: Added.
221         * khtml/editing/join_text_nodes_command.h: Added.
222         * khtml/editing/merge_identical_elements_command.cpp: Added.
223         * khtml/editing/merge_identical_elements_command.h: Added.
224         * khtml/editing/move_selection_command.cpp: Added.
225         * khtml/editing/move_selection_command.h: Added.
226         * khtml/editing/rebalance_whitespace_command.cpp: Added.
227         * khtml/editing/rebalance_whitespace_command.h: Added.
228         * khtml/editing/remove_css_property_command.cpp: Added.
229         * khtml/editing/remove_css_property_command.h: Added.
230         * khtml/editing/remove_node_attribute_command.cpp: Added.
231         * khtml/editing/remove_node_attribute_command.h: Added.
232         * khtml/editing/remove_node_command.cpp: Added.
233         * khtml/editing/remove_node_command.h: Added.
234         * khtml/editing/remove_node_preserving_children_command.cpp: Added.
235         * khtml/editing/remove_node_preserving_children_command.h: Added.
236         * khtml/editing/replace_selection_command.cpp: Added.
237         * khtml/editing/replace_selection_command.h: Added.
238         * khtml/editing/set_node_attribute_command.cpp: Added.
239         * khtml/editing/set_node_attribute_command.h: Added.
240         * khtml/editing/split_element_command.cpp: Added.
241         * khtml/editing/split_element_command.h: Added.
242         * khtml/editing/split_text_node_command.cpp: Added.
243         * khtml/editing/split_text_node_command.h: Added.
244         * khtml/editing/split_text_node_containing_element_command.h: Added.
245         * khtml/editing/typing_command.cpp: Added.
246         * khtml/editing/typing_command.h: Added.
247         * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Added.
248         * khtml/editing/wrap_contents_in_dummy_span_command.h: Added.
249
250 2005-05-23  Darin Adler  <darin@apple.com>
251
252         * WebCore.exp: Sorted file for more readable diffs.
253
254 2005-05-23  Adele Peterson  <adele@apple.com>
255
256         Reviewed by Darin.
257
258         fix for <rdar://problem/4122661> Regression: 10.3.8-10.3.9: Next lesson doesn't work on Dale Carnegie Action Systems page
259
260         * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::tryCall): added checks for NaN, in case it is passed into window.open for screenx, screeny, left, top, height, or width.
261
262 2005-05-23  David Harrison  <harrison@apple.com>
263
264         Reviewed by Darin.
265
266         Prevent crash when going from no selection to selection with mispelling checks enabled.
267                 
268         * kwq/KWQKHTMLPart.mm:
269         (KWQKHTMLPart::markMisspellings):
270         Repair check for null searchRange.  Was inadvertently broken in recent checkin.
271
272 2005-05-23  John Sullivan  <sullivan@apple.com>
273
274         Reviewed by Dave Hyatt.
275         
276         - fixed <rdar://problem/4123592> Can't resize textareas that have a width specified by a style
277
278         * kwq/KWQTextArea.mm:
279         (-[KWQTextArea getNumColumns:andNumRows:forSize:]):
280         removed this method, which I had added earlier to set cols and rows correctly
281         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
282         set width and height instead of cols and rows; handle the intrinsic margin that sometimes appears
283         on form elements
284
285 2005-05-22  Adele Peterson  <adele@apple.com>
286
287         Reviewed by Maciej.
288
289         fix for <rdar://problem/4127101> REGRESSION(412-TOT) crash when creating Option element
290
291         * khtml/ecma/kjs_html.cpp: (KJS::OptionConstructorImp::construct):
292         Changed ElementImpl pointer to a SharedPtr because it was getting destroyed before we were done with it.  
293
294 2005-05-20  John Sullivan  <sullivan@apple.com>
295
296         Reviewed by Chris.
297         
298         - fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading 
299         page with resizable textarea
300
301         * kwq/KWQTextArea.mm:
302         (-[KWQTextAreaTextView resetCursorRects]):
303         This was some side effect of tracking rect code used for resizable textareas. I discovered
304         that I didn't need the tracking rect code at all (at least to achieve the level of only-somewhat-working
305         cursor behavior that I already had). Removing it caused the bug to vanish.
306
307 2005-05-19  Darin Adler  <darin@apple.com>
308
309         Reviewed by Maciej.
310         
311         - turned off exceptions and RTTI; seems to cut WebCore code size by about 35%
312
313         * WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.
314
315 2005-05-19  Darin Adler  <darin@apple.com>
316
317         Reviewed by Chris Petersen.
318
319         - fixed a mistake I introduced in my previous check-in that caused a Deployment build failure
320
321         * kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both
322         the build failure and a potential bug!
323
324 2005-05-17  Darin Adler  <darin@apple.com>
325
326         Reviewed by Maciej.
327         No new layout tests required.
328
329         - remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)
330
331         * WebCore.pbproj/project.pbxproj: Set a new KHTML_NO_CPLUSPLUS_DOM define.
332         Removed all C++ DOM wrapper files that we don't need to compile any more.
333
334         * khtml/dom/css_stylesheet.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
335         headers when including this file.
336
337         * khtml/dom/dom2_events.h: Fixed up KHTML_NO_CPLUSPLUS_DOM checks so that everything but EventListener
338         is turned off when that's on. Also moved the public so that the constants from KeyboardEvent are public.
339         * khtml/dom/dom2_events.cpp: Put everything except for EventListener inside KHTML_NO_CPLUSPLUS_DOM.
340
341         * khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined,
342         no classes.
343
344         * khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.
345
346         * khtml/dom/dom_node.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
347         headers when including this file.
348
349         * khtml/ecma/kjs_binding.cpp:
350         (KJS::DOMObject::get): Removed exception-handling code. Now we can eliminate tryGet altogether.
351         (KJS::DOMObject::put): Ditto.
352         (KJS::DOMFunction::get): Ditto.
353         (KJS::DOMFunction::call): Ditto.
354
355         * khtml/editing/visible_text.h: Added an include of <qstring.h>.
356
357         * khtml/misc/loader.h: Added isKHTMLLoader.
358         * khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.
359
360         * khtml/rendering/render_form.h:
361         * khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work
362         for this function.
363
364         * khtml/xml/dom2_rangeimpl.h: Added a forward declaration of class DOMString, needed now that the C++
365         DOM wrappers aren't defining it.
366
367         * khtml/xml/dom_docimpl.cpp:
368         (DocumentImpl::defaultEventHandler): Changed to call handleEventImpl so we don't have to make the
369         C++ DOM wrapper for the event.
370         * khtml/xml/dom_nodeimpl.cpp:
371         (NodeImpl::handleLocalEvents): Ditto.
372         (ContainerNodeImpl::insertBefore): Used SharedPtr<NodeImpl> rather than Node to protect the child node.
373         (ContainerNodeImpl::replaceChild): Ditto.
374         (ContainerNodeImpl::appendChild): Ditto.
375         (ContainerNodeImpl::addChild): Ditto.
376
377         * kwq/DOM.mm:
378         (ObjCNodeFilterCondition::acceptNode): Update to add a KHTML_NO_CPLUSPLUS_DOM check since FilterCondition
379         has a different API depending on the state.
380         (-[DOMDocument createNodeIterator::::]): Rewrote to use NodeFilterImpl instead of NodeFilter.
381         (-[DOMDocument createTreeWalker::::]): Ditto.
382
383         * kwq/KWQAccObject.mm:
384         (-[KWQAccObject role]): Use identifier instead of casting to Node and using elementId.
385         (-[KWQAccObject title]): Ditto.
386         (-[KWQAccObject accessibilityIsIgnored]): Ditto.
387         (-[KWQAccObject rendererForView:]): Ditto.
388
389         * kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.
390
391         * kwq/KWQKHTMLPart.mm:
392         (KWQKHTMLPart::currentForm): Use focusNode instead of activeNode.
393         (KWQKHTMLPart::nextKeyViewInFrame): Use isWidget instead of dynamic_cast.
394         (KWQKHTMLPart::currentEventIsMouseDownInWidget): Use KHTMLView's nodeUnderMouse instead of our public one
395         that uses a DOM C++ wrapper.
396         (KWQKHTMLPart::partForWidget): Use isKHTMLView instead of dynamic_cast.
397         (KWQKHTMLPart::passSubframeEventToSubframe): Use isWidget instead of dynamic_cast.
398
399         * kwq/KWQObject.h: Made isXXX functions all public since we use them in a few more places now.
400         Also added isKHTMLLoader.
401         * kwq/KWQObject.mm: (QObject::isKHTMLLoader): Added. Returns false by default.
402
403         * kwq/KWQSlot.mm: Removed all uses of dynamic_cast.
404
405         * kwq/WebCoreBridge.mm:
406         (-[WebCoreBridge stringForRange:]): Used plainText instead of text.
407         (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.
408
409 2005-05-16  Darin Adler  <darin@apple.com>
410
411         - attempt to get things building under "Saffron" development tools
412
413         * WebCore.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
414
415 2005-05-16  Adele Peterson  <adele@apple.com>
416
417         Changes by Darin. Reviewed by myself.
418
419         Changed the Render Tree debug code to write out an indication that the affinity is upstream
420         when writing out caret position. Updated the one layout test with output affected by the change.
421         Also updated one test to use the new dumpAsText method in dumpRenderTree.
422
423         * kwq/KWQRenderTreeDebug.cpp: (writeSelection): writes out affinity if it's upstream in the caret case
424         * layout-tests/editing/style/create-block-for-style-004-expected.txt: new results that contain the affinity
425         * layout-tests/fast/js/char-at.html: now calls layoutController.dumpAsText()
426         * layout-tests/fast/js/char-at-expected.txt: plain text result (replaces old render tree result)
427
428 2005-05-16  Darin Adler  <darin@apple.com>
429
430         Reviewed by Adele.
431
432         - fixed issues preventing us from compiling with newer versions of gcc 4.0
433
434         * khtml/dom/dom2_events.cpp: Add definitions of some static data member constants, as required
435         by the C++ standard and the gcc 4.0 compiler.
436
437         * khtml/editing/selection.h: Specified KHTMLPart friend class as ::KHTMLPart, since if it's
438         not explicitly qualified, it means DOM::KHTMLPart.
439
440         * khtml/dom/dom_string.cpp:
441         (DOM::strcasecmp): Removed redundant and illegal DOM:: prefix.
442         (DOM::operator==): Ditto.
443         * khtml/ecma/kjs_binding.cpp:
444         (KJS::getStringOrNull): Removed redundant and illegal KJS:: prefix.
445         (KJS::ValueToVariant): Ditto.
446         * khtml/ecma/kjs_css.cpp:
447         (KJS::getCSSRuleConstructor): Ditto.
448         (KJS::getCSSValueConstructor): Ditto.
449         (KJS::getCSSPrimitiveValueConstructor): Ditto.
450         * khtml/ecma/kjs_events.cpp:
451         (KJS::getEventConstructor): Ditto.
452         (KJS::getEventExceptionConstructor): Ditto.
453         (KJS::getMutationEventConstructor): Ditto.
454         * khtml/ecma/kjs_traversal.cpp:
455         (KJS::getNodeFilterConstructor): Ditto.
456
457         * khtml/misc/loader_client.h: Added an empty virtual destructor to CachedObjectClient
458         to quiet the compiler. This doesn't really do any good, but also does no harm.
459         * khtml/misc/loader.cpp: (CachedObjectClient::~CachedObjectClient): Added.
460
461         * khtml/rendering/render_block.cpp: (khtml::RenderBlock::fillBlockSelectionGaps):
462         Initialize a couple of variables that should have been initialized to 0.
463         Not just about making the compiler happy -- warning found a real bug!
464
465         * kwq/KWQTextArea.mm: (RangeOfParagraph): Change else structure to work around compiler
466         warning bug.
467
468 2005-05-13  John Sullivan  <sullivan@apple.com>
469
470         * kwq/KWQTextArea.mm:
471         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
472         added Radar numbers to FIXMEs about resizable textareas
473         (-[KWQTextAreaTextView resetCursorRects]):
474         ditto
475         (-[KWQTextAreaTextView mouseDown:]):
476         ditto
477
478 2005-05-12  Darin Adler  <darin@apple.com>
479
480         Reviewed by Chris Blumenberg.
481
482         - more "getting off the C++ DOM wrappers" changes
483           This pass involves replacing uses of DOM::Range with use of DOM::RangeImpl
484           plus some more use of DOM::DocumentImpl instead of DOM::Document.
485
486         * khtml/dom/dom2_range.cpp:
487         * khtml/dom/dom2_range.h:
488         * khtml/ecma/kjs_window.cpp:
489         (KJS::Window::get):
490         (KJS::WindowFunc::tryCall):
491         (KJS::Window::updateLayout):
492         (KJS::ScheduledAction::execute):
493         (KJS::Selection::toString):
494         * khtml/ecma/xmlhttprequest.cpp:
495         (KJS::XMLHttpRequestProtoFunc::tryCall):
496         * khtml/editing/htmlediting.cpp:
497         (khtml::InsertLineBreakCommand::doApply):
498         * khtml/editing/selection.cpp:
499         (khtml::Selection::Selection):
500         (khtml::Selection::moveTo):
501         (khtml::Selection::toRange):
502         * khtml/editing/selection.h:
503         * khtml/editing/visible_position.cpp:
504         (khtml::makeRange):
505         (khtml::startVisiblePosition):
506         (khtml::endVisiblePosition):
507         (khtml::setStart):
508         (khtml::setEnd):
509         * khtml/editing/visible_position.h:
510         * khtml/editing/visible_range.h:
511         * khtml/editing/visible_text.cpp:
512         (khtml::TextIterator::TextIterator):
513         (khtml::TextIterator::range):
514         (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
515         (khtml::SimplifiedBackwardsTextIterator::range):
516         (khtml::CharacterIterator::CharacterIterator):
517         (khtml::CharacterIterator::range):
518         (khtml::WordAwareIterator::WordAwareIterator):
519         (khtml::WordAwareIterator::advance):
520         (khtml::TextIterator::rangeLength):
521         (khtml::TextIterator::rangeFromLocationAndLength):
522         (khtml::plainText):
523         (khtml::findPlainText):
524         * khtml/editing/visible_text.h:
525         (khtml::WordAwareIterator::range):
526         * khtml/editing/visible_units.cpp:
527         (khtml::previousBoundary):
528         (khtml::nextBoundary):
529         * khtml/html/html_elementimpl.cpp:
530         (HTMLElementImpl::innerText):
531         * khtml/html/htmltokenizer.cpp:
532         (khtml::HTMLTokenizer::scriptExecution):
533         * khtml/khtml_part.cpp:
534         (KHTMLPart::text):
535         (KHTMLPart::selectedText):
536         (KHTMLPart::shouldBeginEditing):
537         (KHTMLPart::shouldEndEditing):
538         (KHTMLPart::selectionComputedStyle):
539         * khtml/khtml_part.h:
540         * khtml/khtmlview.h:
541         * khtml/rendering/render_text.cpp:
542         (InlineTextBox::paint):
543         * khtml/xml/dom2_rangeimpl.cpp:
544         (DOM::operator==):
545         (DOM::rangeOfContents):
546         * khtml/xml/dom2_rangeimpl.h:
547         (DOM::operator!=):
548         * khtml/xml/dom_docimpl.cpp:
549         (DocumentImpl::relinquishesEditingFocus):
550         (DocumentImpl::acceptsEditingFocus):
551         (DocumentImpl::addMarker):
552         (DocumentImpl::removeMarker):
553         * khtml/xml/dom_docimpl.h:
554         * khtml/xml/dom_position.cpp:
555         (DOM::startPosition):
556         * khtml/xml/dom_position.h:
557         * kwq/DOMHTML.mm:
558         (-[DOMHTMLLinkElement href]):
559         (-[DOMHTMLBaseElement href]):
560         (-[DOMHTMLInputElement src]):
561         (-[DOMHTMLAnchorElement href]):
562         (-[DOMHTMLImageElement src]):
563         (-[DOMHTMLAreaElement href]):
564         * kwq/KWQAccObject.mm:
565         (-[KWQAccObject textUnderElement]):
566         (-[KWQAccObject value]):
567         (-[KWQAccObject doAXStringForTextMarkerRange:]):
568         (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
569         * kwq/KWQKHTMLPart.h:
570         (KWQKHTMLPart::markedTextRange):
571         * kwq/KWQKHTMLPart.mm:
572         (KWQKHTMLPart::findString):
573         (KWQKHTMLPart::advanceToNextMisspelling):
574         (KWQKHTMLPart::fontForSelection):
575         (KWQKHTMLPart::markMisspellings):
576         (KWQKHTMLPart::respondToChangedSelection):
577         (KWQKHTMLPart::shouldBeginEditing):
578         (KWQKHTMLPart::shouldEndEditing):
579         (convertAttributesToUnderlines):
580         (KWQKHTMLPart::setMarkedTextRange):
581         * kwq/WebCoreBridge.mm:
582         (-[WebCoreBridge elementAtPoint:]):
583         (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
584         (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
585         (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]):
586         (-[WebCoreBridge selectedDOMRange]):
587         (-[WebCoreBridge convertToNSRange:DOM::]):
588         (-[WebCoreBridge convertToDOMRange:]):
589         (-[WebCoreBridge convertToObjCDOMRange:]):
590         (-[WebCoreBridge selectNSRange:]):
591         (-[WebCoreBridge selectedNSRange]):
592         (-[WebCoreBridge markDOMRange]):
593         (-[WebCoreBridge markedTextDOMRange]):
594         (-[WebCoreBridge markedTextNSRange]):
595         (-[WebCoreBridge replaceMarkedTextWithText:]):
596         (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
597         (-[WebCoreBridge dragCaretDOMRange]):
598         (-[WebCoreBridge editableDOMRangeForPoint:]):
599         (-[WebCoreBridge rangeOfCharactersAroundCaret]):
600
601 2005-05-13  Maciej Stachowiak  <mjs@apple.com>
602
603         Reviewed by Dave.
604
605         - more splitting up of htmlediting.cpp
606
607         * WebCore.pbproj/project.pbxproj:
608         * khtml/editing/composite_edit_command.cpp:
609         * khtml/editing/delete_from_text_node_command.cpp: Added.
610         * khtml/editing/delete_from_text_node_command.h: Added.
611         * khtml/editing/delete_selection_command.cpp: Added.
612         * khtml/editing/delete_selection_command.h: Added.
613         * khtml/editing/htmlediting.cpp:
614         * khtml/editing/htmlediting.h:
615         * khtml/editing/insert_into_text_node_command.cpp: Added.
616         * khtml/editing/insert_into_text_node_command.h: Added.
617         * khtml/editing/insert_node_before_command.cpp: Added.
618         * khtml/editing/insert_node_before_command.h: Added.
619
620 2005-05-12  Adele Peterson  <adele@apple.com>
621
622         Reviewed by Maciej.
623
624         fix for  <rdar://problem/4117656> deleting an input element in its onBlur handler crashes Safari
625
626         * khtml/rendering/render_form.cpp: (RenderLineEdit::handleFocusOut): added nil check for element
627
628 2005-05-12  John Sullivan  <sullivan@apple.com>
629
630         Reviewed by Kevin.
631         
632         - rolled in changes from experimental-ui-branch to support resizable textareas
633         and find-as-you-type. The files/functions modified are listed just below. After
634         that are the ChangeLog comments from the branch.
635
636         * Resources/textAreaResizeCorner.tiff: Added.
637         * WebCore.pbproj/project.pbxproj:
638         * kwq/KWQKHTMLPart.h:
639         * kwq/KWQKHTMLPart.mm:
640         (KWQKHTMLPart::findString):
641         * kwq/KWQTextArea.mm:
642         (-[KWQTextArea textDidChange:]):
643         (-[KWQTextAreaTextView _resizeCornerImage]):
644         (-[KWQTextAreaTextView _resizeCornerRect]):
645         (-[KWQTextAreaTextView resetCursorRects]):
646         (-[KWQTextAreaTextView drawRect:]):
647         (-[KWQTextAreaTextView mouseDown:]):
648         * kwq/WebCoreBridge.h:
649         * kwq/WebCoreBridge.mm:
650         (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
651
652         2005-05-05  John Sullivan  <sullivan@apple.com>
653
654                 Reviewed by Chris.
655
656                 * kwq/KWQTextArea.mm:
657                 (-[KWQTextAreaTextView _resizeCornerRect]):
658                 Get corner rect from enclosing clipView, rather than using visibleRect.
659                 VisibleRect would return the wrong result when the textarea was clipped
660                 by the bottom of the window, leading to redraw schmutz among other things.
661
662         2005-05-02  John Sullivan  <sullivan@apple.com>
663
664                 Reviewed by Chris.
665                 
666                 Improvements to resizable textarea experiment:
667                 - resize image is now drawn in the resize corner
668                 - cursor sometimes tracks to arrow when over resize corner (but usually not)
669                 - cursor changes to arrow on mouse down in any case
670
671                 * Resources/textAreaResizeCorner.tiff: Added.
672                 * WebCore.pbproj/project.pbxproj:
673                 updated for added image file
674                 
675                 * kwq/KWQTextArea.mm:
676                 (-[KWQTextAreaTextView _resizeCornerImage]):
677                 new method, reads resize image once and caches it
678                 (-[KWQTextAreaTextView _resizeCornerRect]):
679                 new method, computes rect from image
680                 (-[KWQTextAreaTextView resetCursorRects]):
681                 overridden to attempt to make the cursor change to an arrow when over this
682                 corner. Only works sometimes, as explained in comments.
683                 (-[KWQTextAreaTextView drawRect:]):
684                 overridden to draw resize image
685                 (-[KWQTextAreaTextView mouseDown:]):
686                 now uses _resizeCornerRect, and sets cursor to arrow when pressed in resize corner
687
688         2005-04-18  John Sullivan  <sullivan@apple.com>
689
690                 WebCore support for notifying a form delegate when a
691                 textarea's contents have changed (as opposed to a 
692                 textfield, which was already handled).
693
694                 Reviewed by Maciej.
695
696                 * kwq/WebCoreBridge.h:
697                 add textDidChange: method
698
699                 * kwq/KWQTextArea.mm:
700                 (-[KWQTextArea textDidChange:]):
701                 call through to bridge
702
703         2005-04-07  John Sullivan  <sullivan@apple.com>
704
705                 WebCore support for find-as-you-type; needed an additional parameter
706                 to findString and searchFor:...
707
708                 Reviewed by Dave Hyatt.
709
710                 * kwq/KWQKHTMLPart.h:
711                 * kwq/KWQKHTMLPart.mm:
712                 (KWQKHTMLPart::findString):
713                 new findInSelection parameter; if true, start from the beginning of the selection
714                 when searching forward, or the end of the selection when searching backward
715                 
716                 * kwq/WebCoreBridge.h:
717                 * kwq/WebCoreBridge.mm:
718                 (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
719                 new findInSelection parameter; passed through to findString
720
721 2005-05-12  Darin Adler  <darin@apple.com>
722
723         Reviewed by Maciej (except for some parts outside the ECMA directory).
724
725         - switch KJS wrappers over to using the DOM impl. classes rather than using
726           the DOM wrappers; will allow us to not even compile the DOM wrappers and
727           make the code smaller
728
729         * khtml/css/css_valueimpl.h: Added CSSStyleDeclarationImpl::isPropertyName,
730         removed CSSStyleDeclarationImpl::propertyID.
731         * khtml/css/css_valueimpl.cpp:
732         (DOM::propertyID): Added. Gets property ID given a DOM string. Replaces the
733         previous version that had hacks that we want to leave in the JS wrapper for now.
734         (DOM::CSSStyleDeclarationImpl::isPropertyName): Added.
735
736         * khtml/css/cssproperties.in: Fixed up comments.
737
738         * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
739         buffer size in the propertyID function.
740
741         * khtml/dom/dom2_events.h: Added handleEventImpl, making it easier to call
742         handleEvent in a way that works either with or without the C++ DOM wrappers.
743         * khtml/dom/dom2_events.cpp: (EventListener::handleEventImpl): Added.
744
745         * khtml/dom/dom2_views.cpp: Added now-needed include.
746         * khtml/dom/dom_doc.cpp: Added now-needed include.
747         * khtml/dom/dom_element.cpp: Tweaked includes.
748
749         * khtml/editing/htmlediting.cpp: Removed now-unneeded include.
750         * khtml/html/html_baseimpl.cpp: Ditto.
751         * khtml/html/html_formimpl.h: Ditto.
752         * khtml/rendering/render_form.h: Ditto.
753         * khtml/rendering/render_style.h: Ditto.
754         * khtml/xml/dom2_eventsimpl.cpp: Ditto.
755         * khtml/xml/dom2_viewsimpl.h: Ditto.
756         * khtml/xml/dom_elementimpl.h: Ditto.
757         * khtml/xml/dom_stringimpl.h: Ditto.
758         * kwq/DOM.mm: Ditto.
759         * kwq/DOMHTML.mm: Ditto.
760
761         * khtml/khtml_part.cpp: Tweaked incluudes.
762         * khtml/khtmlpart_p.h: Ditto.
763
764         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
765         than C++ DOM.
766
767         * khtml/xml/dom_docimpl.cpp:
768         (DOMImplementationImpl::createDocumentType): Disabled the calls to the not-implemented
769         name checks in the C++ DOM wrappers. If we add name changes, we'll want them inside the
770         impl, not in the wrappers.
771         (DOMImplementationImpl::createDocument): Ditto.
772         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkSetPrefix): Ditto.
773
774         * khtml/ecma/kjs_binding.cpp:
775         (KJS::ScriptInterpreter::wasRunByUserGesture):
776         (KJS::KJS::ValueToVariant):
777         (KJS::setDOMException):
778         * khtml/ecma/kjs_binding.h:
779         (KJS::ScriptInterpreter::setCurrentEvent):
780         (KJS::ScriptInterpreter::getCurrentEvent):
781         (KJS::cacheDOMObject):
782         (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
783         (KJS::DOMExceptionTranslator::~DOMExceptionTranslator):
784         (KJS::DOMExceptionTranslator::operator int &):
785         (KJS::cacheGlobalObject):
786         * khtml/ecma/kjs_css.cpp:
787         (KJS::cssPropertyName):
788         (KJS::isCSSPropertyName):
789         (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
790         (KJS::DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration):
791         (KJS::DOMCSSStyleDeclaration::hasProperty):
792         (KJS::DOMCSSStyleDeclaration::tryGet):
793         (KJS::DOMCSSStyleDeclaration::tryPut):
794         (KJS::DOMCSSStyleDeclarationProtoFunc::tryCall):
795         (KJS::getDOMCSSStyleDeclaration):
796         (KJS::DOMStyleSheet::~DOMStyleSheet):
797         (KJS::DOMStyleSheet::getValueProperty):
798         (KJS::DOMStyleSheet::tryPut):
799         (KJS::getDOMStyleSheet):
800         (KJS::DOMStyleSheetList::~DOMStyleSheetList):
801         (KJS::DOMStyleSheetList::tryGet):
802         (KJS::getDOMStyleSheetList):
803         (KJS::DOMStyleSheetListFunc::tryCall):
804         (KJS::DOMMediaList::DOMMediaList):
805         (KJS::DOMMediaList::~DOMMediaList):
806         (KJS::DOMMediaList::tryGet):
807         (KJS::DOMMediaList::tryPut):
808         (KJS::getDOMMediaList):
809         (KJS::KJS::DOMMediaListProtoFunc::tryCall):
810         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
811         (KJS::DOMCSSStyleSheet::tryGet):
812         (KJS::DOMCSSStyleSheetProtoFunc::tryCall):
813         (KJS::DOMCSSRuleList::~DOMCSSRuleList):
814         (KJS::DOMCSSRuleList::tryGet):
815         (KJS::DOMCSSRuleListFunc::tryCall):
816         (KJS::getDOMCSSRuleList):
817         (KJS::DOMCSSRule::~DOMCSSRule):
818         (KJS::DOMCSSRule::classInfo):
819         (KJS::DOMCSSRule::tryGet):
820         (KJS::DOMCSSRule::getValueProperty):
821         (KJS::DOMCSSRule::putValue):
822         (KJS::DOMCSSRuleFunc::tryCall):
823         (KJS::getDOMCSSRule):
824         (KJS::DOMCSSValue::~DOMCSSValue):
825         (KJS::DOMCSSValue::tryGet):
826         (KJS::DOMCSSValue::tryPut):
827         (KJS::getDOMCSSValue):
828         (KJS::DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
829         (KJS::DOMCSSPrimitiveValue::tryGet):
830         (KJS::DOMCSSPrimitiveValueProtoFunc::tryCall):
831         (KJS::DOMCSSValueList::DOMCSSValueList):
832         (KJS::DOMCSSValueList::tryGet):
833         (KJS::DOMCSSValueListFunc::tryCall):
834         (KJS::DOMRGBColor::getValueProperty):
835         (KJS::getDOMRGBColor):
836         (KJS::DOMRect::~DOMRect):
837         (KJS::DOMRect::getValueProperty):
838         (KJS::getDOMRect):
839         (KJS::DOMCounter::~DOMCounter):
840         (KJS::DOMCounter::getValueProperty):
841         (KJS::getDOMCounter):
842         * khtml/ecma/kjs_css.h:
843         (KJS::DOMCSSStyleDeclaration::impl):
844         (KJS::DOMStyleSheet::DOMStyleSheet):
845         (KJS::DOMStyleSheet::impl):
846         (KJS::DOMStyleSheetList::DOMStyleSheetList):
847         (KJS::DOMStyleSheetList::impl):
848         (KJS::DOMMediaList::impl):
849         (KJS::DOMCSSStyleSheet::):
850         (KJS::DOMCSSRuleList::DOMCSSRuleList):
851         (KJS::DOMCSSRuleList::impl):
852         (KJS::DOMCSSRule::DOMCSSRule):
853         (KJS::DOMCSSRule::impl):
854         (KJS::DOMCSSValue::DOMCSSValue):
855         (KJS::DOMCSSValue::impl):
856         (KJS::DOMCSSValueList::):
857         (KJS::DOMRGBColor::DOMRGBColor):
858         (KJS::DOMRect::DOMRect):
859         (KJS::DOMCounter::DOMCounter):
860         * khtml/ecma/kjs_dom.cpp:
861         (KJS::DOMNodeListFunc::):
862         (KJS::DOMNode::DOMNode):
863         (KJS::DOMNode::toBoolean):
864         (KJS::DOMNode::getValueProperty):
865         (KJS::DOMNode::putValue):
866         (KJS::DOMNode::toPrimitive):
867         (KJS::DOMNode::toString):
868         (KJS::DOMNode::setListener):
869         (KJS::DOMNode::getListener):
870         (KJS::DOMNodeProtoFunc::tryCall):
871         (KJS::toNode):
872         (KJS::DOMNodeList::~DOMNodeList):
873         (KJS::DOMNodeList::toPrimitive):
874         (KJS::DOMNodeList::tryGet):
875         (KJS::DOMNodeList::tryCall):
876         (KJS::DOMNodeListFunc::tryCall):
877         (KJS::DOMAttr::DOMAttr):
878         (KJS::DOMAttr::getValueProperty):
879         (KJS::DOMAttr::putValue):
880         (KJS::toAttr):
881         (KJS::DOMDocument::DOMDocument):
882         (KJS::DOMDocument::~DOMDocument):
883         (KJS::DOMDocument::getValueProperty):
884         (KJS::DOMDocument::putValue):
885         (KJS::DOMDocumentProtoFunc::tryCall):
886         (KJS::DOMElement::DOMElement):
887         (KJS::DOMElement::tryGet):
888         (KJS::DOMElementProtoFunc::tryCall):
889         (KJS::toElement):
890         (KJS::DOMDOMImplementation::DOMDOMImplementation):
891         (KJS::DOMDOMImplementation::~DOMDOMImplementation):
892         (KJS::DOMDOMImplementationProtoFunc::tryCall):
893         (KJS::DOMDocumentType::DOMDocumentType):
894         (KJS::DOMDocumentType::getValueProperty):
895         (KJS::toDocumentType):
896         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
897         (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
898         (KJS::DOMNamedNodeMap::tryGet):
899         (KJS::DOMNamedNodeMapProtoFunc::tryCall):
900         (KJS::DOMProcessingInstruction::DOMProcessingInstruction):
901         (KJS::DOMProcessingInstruction::getValueProperty):
902         (KJS::DOMProcessingInstruction::tryPut):
903         (KJS::DOMNotation::DOMNotation):
904         (KJS::DOMNotation::getValueProperty):
905         (KJS::DOMEntity::DOMEntity):
906         (KJS::DOMEntity::getValueProperty):
907         (KJS::getDOMDocumentNode):
908         (KJS::checkNodeSecurity):
909         (KJS::getDOMNode):
910         (KJS::getDOMNamedNodeMap):
911         (KJS::getRuntimeObject):
912         (KJS::getDOMNodeList):
913         (KJS::getDOMDOMImplementation):
914         (KJS::getNodeConstructor):
915         (KJS::getDOMExceptionConstructor):
916         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
917         (KJS::DOMNamedNodesCollection::tryGet):
918         (KJS::DOMCharacterData::DOMCharacterData):
919         (KJS::DOMCharacterData::getValueProperty):
920         (KJS::DOMCharacterData::tryPut):
921         (KJS::DOMCharacterDataProtoFunc::tryCall):
922         (KJS::DOMText::DOMText):
923         (KJS::DOMTextProtoFunc::tryCall):
924         * khtml/ecma/kjs_dom.h:
925         (KJS::DOMNode::impl):
926         (KJS::DOMNodeList::DOMNodeList):
927         (KJS::DOMNodeList::impl):
928         (KJS::DOMDOMImplementation::impl):
929         (KJS::DOMNamedNodeMap::impl):
930         * khtml/ecma/kjs_events.cpp:
931         (KJS::JSAbstractEventListener::handleEvent):
932         (KJS::JSLazyEventListener::handleEvent):
933         (KJS::getNodeEventListener):
934         (KJS::DOMEvent::DOMEvent):
935         (KJS::DOMEvent::~DOMEvent):
936         (KJS::DOMEvent::getValueProperty):
937         (KJS::DOMEvent::putValue):
938         (KJS::DOMEventProtoFunc::tryCall):
939         (KJS::getDOMEvent):
940         (KJS::toEvent):
941         (KJS::DOMUIEvent::DOMUIEvent):
942         (KJS::DOMUIEvent::getValueProperty):
943         (KJS::DOMUIEventProtoFunc::tryCall):
944         (KJS::DOMMouseEvent::DOMMouseEvent):
945         (KJS::DOMMouseEvent::getValueProperty):
946         (KJS::DOMMouseEventProtoFunc::tryCall):
947         (KJS::DOMKeyboardEvent::DOMKeyboardEvent):
948         (KJS::DOMKeyboardEvent::getValueProperty):
949         (KJS::DOMKeyboardEventProtoFunc::tryCall):
950         (KJS::DOMMutationEvent::DOMMutationEvent):
951         (KJS::DOMMutationEvent::getValueProperty):
952         (KJS::DOMMutationEventProtoFunc::tryCall):
953         (KJS::DOMWheelEvent::DOMWheelEvent):
954         (KJS::DOMWheelEvent::getValueProperty):
955         (KJS::ClipboardProtoFunc::tryCall):
956         * khtml/ecma/kjs_events.h:
957         (KJS::DOMEvent::impl):
958         (KJS::DOMUIEvent::):
959         (KJS::DOMMouseEvent::):
960         (KJS::DOMKeyboardEvent::):
961         (KJS::DOMMutationEvent::):
962         * khtml/ecma/kjs_html.cpp:
963         (KJS::KJS::HTMLDocFunction::tryCall):
964         (KJS::HTMLDocument::HTMLDocument):
965         (KJS::HTMLDocument::hasProperty):
966         (KJS::HTMLDocument::tryGet):
967         (KJS::KJS::HTMLDocument::putValue):
968         (KJS::KJS::HTMLElement::classInfo):
969         (KJS::HTMLElement::HTMLElement):
970         (KJS::KJS::HTMLElement::tryGet):
971         (KJS::KJS::HTMLElement::implementsCall):
972         (KJS::KJS::HTMLElement::call):
973         (KJS::KJS::HTMLElement::getValueProperty):
974         (KJS::KJS::HTMLElement::hasProperty):
975         (KJS::KJS::HTMLElement::toString):
976         (KJS::getForm):
977         (KJS::KJS::HTMLElement::pushEventHandlerScope):
978         (KJS::KJS::HTMLElementFunction::tryCall):
979         (KJS::KJS::HTMLElement::tryPut):
980         (KJS::HTMLElement::putValue):
981         (KJS::toHTMLElement):
982         (KJS::toHTMLTableCaptionElement):
983         (KJS::toHTMLTableSectionElement):
984         (KJS::HTMLCollection::HTMLCollection):
985         (KJS::HTMLCollection::~HTMLCollection):
986         (KJS::KJS::HTMLCollection::tryGet):
987         (KJS::KJS::HTMLCollection::tryCall):
988         (KJS::KJS::HTMLCollection::getNamedItems):
989         (KJS::KJS::HTMLCollectionProtoFunc::tryCall):
990         (KJS::HTMLSelectCollection::HTMLSelectCollection):
991         (KJS::KJS::HTMLSelectCollection::tryGet):
992         (KJS::KJS::HTMLSelectCollection::tryPut):
993         (KJS::OptionConstructorImp::OptionConstructorImp):
994         (KJS::OptionConstructorImp::construct):
995         (KJS::ImageConstructorImp::ImageConstructorImp):
996         (KJS::ImageConstructorImp::construct):
997         (KJS::Image::notifyFinished):
998         (KJS::Image::Image):
999         (KJS::KJS::Context2DFunction::tryCall):
1000         (KJS::):
1001         (KJS::colorRefFromValue):
1002         (KJS::colorFromValue):
1003         (KJS::Context2D::putValue):
1004         (KJS::Context2D::Context2D):
1005         (KJS::Context2D::mark):
1006         (KJS::GradientFunction::tryCall):
1007         (KJS::ImagePattern::tryGet):
1008         (KJS::getHTMLCollection):
1009         (KJS::getSelectHTMLCollection):
1010         * khtml/ecma/kjs_html.h:
1011         (KJS::HTMLDocument::):
1012         (KJS::HTMLElement::):
1013         (KJS::HTMLCollection::impl):
1014         * khtml/ecma/kjs_navigator.cpp:
1015         * khtml/ecma/kjs_proxy.cpp:
1016         (KJSProxyImpl::evaluate):
1017         (KJSProxyImpl::finishedWithEvent):
1018         * khtml/ecma/kjs_proxy.h:
1019         * khtml/ecma/kjs_range.cpp:
1020         (KJS::DOMRange::DOMRange):
1021         (KJS::DOMRange::~DOMRange):
1022         (KJS::DOMRange::tryGet):
1023         (KJS::DOMRange::getValueProperty):
1024         (KJS::DOMRangeProtoFunc::tryCall):
1025         (KJS::getDOMRange):
1026         (KJS::RangeConstructor::tryGet):
1027         (KJS::getRangeConstructor):
1028         (KJS::toRange):
1029         * khtml/ecma/kjs_range.h:
1030         (KJS::DOMRange::impl):
1031         * khtml/ecma/kjs_traversal.cpp:
1032         (KJS::DOMNodeIterator::DOMNodeIterator):
1033         (KJS::DOMNodeIterator::~DOMNodeIterator):
1034         (KJS::DOMNodeIterator::getValueProperty):
1035         (KJS::DOMNodeIteratorProtoFunc::tryCall):
1036         (KJS::getDOMNodeIterator):
1037         (KJS::DOMNodeFilter::DOMNodeFilter):
1038         (KJS::DOMNodeFilter::~DOMNodeFilter):
1039         (KJS::DOMNodeFilterProtoFunc::tryCall):
1040         (KJS::getDOMNodeFilter):
1041         (KJS::toNodeFilter):
1042         (KJS::DOMTreeWalker::DOMTreeWalker):
1043         (KJS::DOMTreeWalker::~DOMTreeWalker):
1044         (KJS::DOMTreeWalker::getValueProperty):
1045         (KJS::DOMTreeWalker::tryPut):
1046         (KJS::DOMTreeWalkerProtoFunc::tryCall):
1047         (KJS::getDOMTreeWalker):
1048         (KJS::JSNodeFilterCondition::acceptNode):
1049         * khtml/ecma/kjs_traversal.h:
1050         (KJS::DOMNodeIterator::impl):
1051         (KJS::DOMNodeFilter::impl):
1052         (KJS::DOMTreeWalker::impl):
1053         * khtml/ecma/kjs_views.cpp:
1054         (KJS::DOMAbstractView::~DOMAbstractView):
1055         (KJS::DOMAbstractView::tryGet):
1056         (KJS::DOMAbstractViewFunc::tryCall):
1057         (KJS::getDOMAbstractView):
1058         (KJS::toAbstractView):
1059         * khtml/ecma/kjs_views.h:
1060         (KJS::DOMAbstractView::DOMAbstractView):
1061         (KJS::DOMAbstractView::impl):
1062         * khtml/ecma/kjs_window.cpp:
1063         (KJS::Window::get):
1064         (KJS::Window::hasProperty):
1065         (KJS::Window::put):
1066         (KJS::Window::setListener):
1067         (KJS::Window::getListener):
1068         (KJS::Window::setCurrentEvent):
1069         (KJS::WindowFunc::tryCall):
1070         (KJS::Location::put):
1071         (KJS::LocationFunc::tryCall):
1072         (KJS::Selection::get):
1073         (KJS::SelectionFunc::tryCall):
1074         * khtml/ecma/kjs_window.h:
1075         * khtml/ecma/xmlhttprequest.cpp:
1076         (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
1077         (KJS::XMLHttpRequestConstructorImp::~XMLHttpRequestConstructorImp):
1078         (KJS::XMLHttpRequestConstructorImp::construct):
1079         (KJS::XMLHttpRequest::getValueProperty):
1080         (KJS::XMLHttpRequest::XMLHttpRequest):
1081         (KJS::XMLHttpRequest::changeState):
1082         (KJS::XMLHttpRequest::open):
1083         (KJS::XMLHttpRequestProtoFunc::tryCall):
1084         * khtml/ecma/xmlhttprequest.h:
1085         * khtml/ecma/xmlserializer.cpp:
1086         (KJS::XMLSerializerProtoFunc::tryCall):
1087         * khtml/ecma/xmlserializer.h:
1088         * kwq/DOMInternal.mm:
1089         (-[WebScriptObject _initializeScriptDOMNodeImp]):
1090         * kwq/DOMUtility.mm:
1091         (KJS::ScriptInterpreter::createObjcInstanceForValue):
1092
1093 2005-05-11  David Hyatt  <hyatt@apple.com>
1094
1095         Improve the display of apple.com.  innerWidth and innerHeight refer to the size of the visible view and
1096         so they do not need to do a layout in order to yield correct values from JS.  Removing this stops an
1097         early layout and paint before the apple.com images are typically loaded.
1098
1099         This is an improvement of the fix for wired.com's FOUC.  For that bug I eliminated the need to ignore pending
1100         stylesheets, but now I'm going further and just eliminating the layout all together.  This means that the old
1101         updateLayout function can be reverted to how it was before the wired.com fix.
1102         
1103         Reviewed by john
1104
1105         * khtml/ecma/kjs_window.cpp:
1106         (Window::get):
1107         (Window::updateLayout):
1108         * khtml/ecma/kjs_window.h:
1109
1110 2005-05-11  Maciej Stachowiak  <mjs@apple.com>
1111
1112         Reviewed by Kevin.
1113
1114         - split some more individual classes out of htmlediting.cpp
1115         (CompositeEditcommand, AppendnodeCommand, ApplyStyleCommand)
1116
1117         Also moves StyleChange directly into ApplyStyleCommand
1118         implementation file, it doesn't need to be in a header at all.
1119         
1120         * WebCore.pbproj/project.pbxproj:
1121         * khtml/editing/append_node_command.cpp: Added.
1122         * khtml/editing/append_node_command.h: Added.
1123         * khtml/editing/apply_style_command.cpp: Added.
1124         * khtml/editing/apply_style_command.h: Added.
1125         * khtml/editing/composite_edit_command.cpp: Added.
1126         * khtml/editing/composite_edit_command.h: Added.
1127         * khtml/editing/edit_command.cpp: Minor clean-ups.
1128         * khtml/editing/edit_command.h:
1129         * khtml/editing/htmlediting.cpp:
1130         * khtml/editing/htmlediting.h:
1131
1132 2005-05-11  Adele Peterson  <adele@apple.com>
1133
1134         Reviewed by Darin.
1135
1136         fix for <rdar://problem/4061979> crash in DOM::ElementImpl::setAttribute at www.nitto-kohki.co.jp
1137
1138         * khtml/html/html_imageimpl.cpp: (HTMLImageLoader::updateFromElement): added a nil check for the document
1139         * khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::inDocument): added check for document in case the document has been destroyed before the node has been removed.  A lot of code already assumes that if inDocument returns true, a document exists.
1140  
1141         * layout-tests/fast/events/onload-re-entry.html: removed alert.
1142         * layout-tests/fast/events/onload-re-entry-expected.txt: updated.
1143         * layout-tests/fast/dom/attr_dead_doc-expected.txt: Added.
1144         * layout-tests/fast/dom/attr_dead_doc.html: Added.
1145         * layout-tests/fast/dom/resources/apple.gif: Added.
1146         * layout-tests/fast/dom/resources/mozilla.gif: Added.
1147         * layout-tests/fast/dom/resources/top.html: Added.
1148
1149 2005-05-10  Maciej Stachowiak  <mjs@apple.com>
1150
1151         Reviewed by Kevin.
1152
1153         - start on splitting htmlediting.cpp into smaller files - pull
1154         EditCommand and EditCommandPtr out.
1155
1156         * WebCore.pbproj/project.pbxproj:
1157         * khtml/editing/edit_command.cpp: Added.
1158         * khtml/editing/edit_command.h: Added.
1159         * khtml/editing/htmlediting.cpp: Took EditCommand and EditCommandPtr out.
1160         * khtml/editing/htmlediting.h: Ditto.
1161
1162 2005-05-10  David Hyatt  <hyatt@apple.com>
1163
1164         Refactor the DOM so that the concept of class/style/id is no longer unique to HTML elements.  This paves the way
1165         for SVG and MathML elements to also support these capabilities.  In addition the concept of presentational
1166         attributes has also been factored out.
1167         
1168         Reviewed by mjs
1169
1170         * khtml/css/css_ruleimpl.cpp:
1171         (CSSStyleRuleImpl::setDeclaration):
1172         * khtml/css/cssstyleselector.cpp:
1173         (khtml::parseUASheet):
1174         (khtml::CSSStyleSelector::loadDefaultStyle):
1175         (khtml::CSSStyleSelector::initElementAndPseudoState):
1176         (khtml::CSSStyleSelector::canShareStyleWithElement):
1177         (khtml::CSSStyleSelector::locateSharedStyle):
1178         (khtml::CSSStyleSelector::styleForElement):
1179         (khtml::CSSStyleSelector::checkOneSelector):
1180         * khtml/css/cssstyleselector.h:
1181         * khtml/html/html_baseimpl.cpp:
1182         (HTMLBodyElementImpl::parseMappedAttribute):
1183         (HTMLFrameElementImpl::parseMappedAttribute):
1184         (HTMLFrameSetElementImpl::parseMappedAttribute):
1185         (HTMLIFrameElementImpl::parseMappedAttribute):
1186         * khtml/html/html_baseimpl.h:
1187         * khtml/html/html_blockimpl.cpp:
1188         (HTMLDivElementImpl::parseMappedAttribute):
1189         (HTMLHRElementImpl::parseMappedAttribute):
1190         (HTMLParagraphElementImpl::parseMappedAttribute):
1191         (HTMLMarqueeElementImpl::parseMappedAttribute):
1192         * khtml/html/html_blockimpl.h:
1193         * khtml/html/html_canvasimpl.cpp:
1194         (HTMLCanvasElementImpl::parseMappedAttribute):
1195         * khtml/html/html_canvasimpl.h:
1196         * khtml/html/html_elementimpl.cpp:
1197         (HTMLElementImpl::HTMLElementImpl):
1198         (HTMLElementImpl::~HTMLElementImpl):
1199         (HTMLElementImpl::mapToEntry):
1200         (HTMLElementImpl::parseMappedAttribute):
1201         (HTMLElementImpl::addHTMLAlignment):
1202         (HTMLElementImpl::setContentEditable):
1203         (HTMLElementImpl::toString):
1204         * khtml/html/html_elementimpl.h:
1205         * khtml/html/html_formimpl.cpp:
1206         (DOM::HTMLFormElementImpl::parseMappedAttribute):
1207         (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
1208         (DOM::HTMLButtonElementImpl::parseMappedAttribute):
1209         (DOM::HTMLInputElementImpl::setType):
1210         (DOM::HTMLInputElementImpl::parseMappedAttribute):
1211         (DOM::HTMLLabelElementImpl::parseMappedAttribute):
1212         (DOM::HTMLSelectElementImpl::parseMappedAttribute):
1213         (DOM::HTMLKeygenElementImpl::parseMappedAttribute):
1214         (DOM::HTMLOptGroupElementImpl::parseMappedAttribute):
1215         (DOM::HTMLOptionElementImpl::parseMappedAttribute):
1216         (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
1217         (DOM::HTMLIsIndexElementImpl::parseMappedAttribute):
1218         * khtml/html/html_formimpl.h:
1219         * khtml/html/html_headimpl.cpp:
1220         (HTMLBaseElementImpl::parseMappedAttribute):
1221         (HTMLLinkElementImpl::parseMappedAttribute):
1222         (HTMLMetaElementImpl::parseMappedAttribute):
1223         (HTMLStyleElementImpl::parseMappedAttribute):
1224         * khtml/html/html_headimpl.h:
1225         * khtml/html/html_imageimpl.cpp:
1226         (HTMLImageElementImpl::parseMappedAttribute):
1227         (HTMLMapElementImpl::parseMappedAttribute):
1228         (HTMLAreaElementImpl::parseMappedAttribute):
1229         * khtml/html/html_imageimpl.h:
1230         * khtml/html/html_inlineimpl.cpp:
1231         (DOM::HTMLAnchorElementImpl::parseMappedAttribute):
1232         (DOM::HTMLBRElementImpl::parseMappedAttribute):
1233         (DOM::HTMLFontElementImpl::parseMappedAttribute):
1234         * khtml/html/html_inlineimpl.h:
1235         * khtml/html/html_listimpl.cpp:
1236         (DOM::HTMLUListElementImpl::parseMappedAttribute):
1237         (DOM::HTMLOListElementImpl::parseMappedAttribute):
1238         (DOM::HTMLLIElementImpl::parseMappedAttribute):
1239         * khtml/html/html_listimpl.h:
1240         * khtml/html/html_objectimpl.cpp:
1241         (DOM::HTMLAppletElementImpl::parseMappedAttribute):
1242         (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
1243         (DOM::HTMLObjectElementImpl::parseMappedAttribute):
1244         (DOM::HTMLParamElementImpl::parseMappedAttribute):
1245         * khtml/html/html_objectimpl.h:
1246         * khtml/html/html_tableimpl.cpp:
1247         (DOM::HTMLTableElementImpl::parseMappedAttribute):
1248         (DOM::HTMLTableElementImpl::additionalAttributeStyleDecl):
1249         (DOM::HTMLTableElementImpl::getSharedCellDecl):
1250         (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
1251         (DOM::HTMLTableCellElementImpl::parseMappedAttribute):
1252         (DOM::HTMLTableColElementImpl::parseMappedAttribute):
1253         (DOM::HTMLTableCaptionElementImpl::parseMappedAttribute):
1254         * khtml/html/html_tableimpl.h:
1255         * khtml/html/htmltokenizer.h:
1256         (khtml::Token::addAttribute):
1257         * khtml/misc/htmlattrs.in:
1258         * khtml/misc/htmltags.in:
1259         * khtml/xml/dom_docimpl.cpp:
1260         (DocumentImpl::createAttribute):
1261         (DocumentImpl::createElementNS):
1262         (DocumentImpl::createHTMLElement):
1263         * khtml/xml/dom_elementimpl.cpp:
1264         (XMLElementImpl::cloneNode):
1265         (NamedAttrMapImpl::isMappedAttributeMap):
1266         (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
1267         (StyledElementImpl::getMappedAttributeDecl):
1268         (StyledElementImpl::setMappedAttributeDecl):
1269         (StyledElementImpl::removeMappedAttributeDecl):
1270         (StyledElementImpl::invalidateStyleAttribute):
1271         (StyledElementImpl::updateStyleAttributeIfNeeded):
1272         (MappedAttributeImpl::~MappedAttributeImpl):
1273         (MappedAttributeImpl::clone):
1274         (m_mappedAttributeCount):
1275         (NamedMappedAttrMapImpl::clearAttributes):
1276         (NamedMappedAttrMapImpl::isMappedAttributeMap):
1277         (NamedMappedAttrMapImpl::declCount):
1278         (NamedMappedAttrMapImpl::mapsEquivalent):
1279         (NamedMappedAttrMapImpl::parseClassAttribute):
1280         (StyledElementImpl::StyledElementImpl):
1281         (StyledElementImpl::~StyledElementImpl):
1282         (StyledElementImpl::createAttribute):
1283         (StyledElementImpl::createInlineStyleDecl):
1284         (StyledElementImpl::destroyInlineStyleDecl):
1285         (StyledElementImpl::attributeChanged):
1286         (StyledElementImpl::mapToEntry):
1287         (StyledElementImpl::parseMappedAttribute):
1288         (StyledElementImpl::createAttributeMap):
1289         (StyledElementImpl::getInlineStyleDecl):
1290         (StyledElementImpl::style):
1291         (StyledElementImpl::additionalAttributeStyleDecl):
1292         (StyledElementImpl::getClassList):
1293         (isHexDigit):
1294         (toHex):
1295         (StyledElementImpl::addCSSProperty):
1296         (StyledElementImpl::addCSSStringProperty):
1297         (StyledElementImpl::addCSSImageProperty):
1298         (StyledElementImpl::addCSSLength):
1299         (StyledElementImpl::addCSSColor):
1300         (StyledElementImpl::createMappedDecl):
1301         * khtml/xml/dom_elementimpl.h:
1302         (DOM::):
1303         (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl):
1304         (DOM::CSSMappedAttributeDeclarationImpl::setMappedState):
1305         (DOM::MappedAttributeImpl::MappedAttributeImpl):
1306         (DOM::MappedAttributeImpl::decl):
1307         (DOM::MappedAttributeImpl::setDecl):
1308         (DOM::NamedMappedAttrMapImpl::getClassList):
1309         (DOM::NamedMappedAttrMapImpl::hasMappedAttributes):
1310         (DOM::NamedMappedAttrMapImpl::declRemoved):
1311         (DOM::NamedMappedAttrMapImpl::declAdded):
1312         (DOM::NamedMappedAttrMapImpl::attributeItem):
1313         (DOM::StyledElementImpl::isStyledElement):
1314         (DOM::StyledElementImpl::hasMappedAttributes):
1315         (DOM::StyledElementImpl::mappedAttributes):
1316         (DOM::StyledElementImpl::isMappedAttribute):
1317         (DOM::StyledElementImpl::inlineStyleDecl):
1318         * khtml/xml/dom_nodeimpl.h:
1319         (DOM::NodeImpl::isStyledElement):
1320
1321 2005-05-10  Darin Adler  <darin@apple.com>
1322
1323         Reviewed by Dave Hyatt.
1324         No new layout tests needed.
1325
1326         - remove all remaining uses of QMIN/QMAX and KMIN/KMAX.
1327
1328         * kwq/KWQDef.h: Remove the macros.
1329
1330         Remove all use of the macros (and fix a few compile errors by changing the types of
1331         some integer and floating point constants).
1332
1333         * khtml/css/cssparser.cpp:
1334         (CSSParser::parseColorFromValue):
1335         * khtml/css/cssstyleselector.cpp:
1336         (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
1337         * khtml/html/html_elementimpl.cpp:
1338         (HTMLElementImpl::addHTMLColor):
1339         * khtml/html/html_formimpl.cpp:
1340         (DOM::HTMLSelectElementImpl::parseHTMLAttribute):
1341         * khtml/html/htmltokenizer.cpp:
1342         (khtml::HTMLTokenizer::parseComment):
1343         * khtml/rendering/render_block.cpp:
1344         (khtml::RenderBlock::nearestFloatBottom):
1345         (khtml::RenderBlock::calcMinMaxWidth):
1346         * khtml/rendering/render_flow.cpp:
1347         (RenderFlow::paintOutlineForLine):
1348         * khtml/rendering/render_form.cpp:
1349         (RenderLineEdit::calcMinMaxWidth):
1350         (RenderFieldset::layoutLegend):
1351         (RenderFileButton::calcMinMaxWidth):
1352         (RenderSelect::layout):
1353         (RenderTextArea::calcMinMaxWidth):
1354         * khtml/rendering/render_object.cpp:
1355         (RenderObject::drawBorder):
1356         * khtml/rendering/render_replaced.cpp:
1357         (RenderWidget::resizeWidget):
1358         * khtml/rendering/render_table.cpp:
1359         (RenderTableSection::layoutRows):
1360         * khtml/rendering/table_layout.cpp:
1361         (AutoTableLayout::recalcColumn):
1362         (AutoTableLayout::calcEffectiveWidth):
1363
1364 2005-05-10  Darin Adler  <darin@apple.com>
1365
1366         Reviewed by Chris Blumenberg.
1367
1368         - next pass of moving code from C++ DOM wrappers into the DOM impl. classes
1369           (this step adds still more member functions missing from the DOM impl. and
1370            changes some of the C++ and Objective-C DOM to call the new ones; also
1371            changes various places that use the C++ DOM to use the DOM impl. instead)
1372
1373         * khtml/css/css_computedstyle.cpp:
1374         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
1375         * khtml/css/css_computedstyle.h:
1376         * khtml/css/css_stylesheetimpl.cpp:
1377         (CSSStyleSheetImpl::cssRules):
1378         * khtml/css/css_stylesheetimpl.h:
1379         * khtml/css/css_valueimpl.cpp:
1380         (DOM::CSSStyleDeclarationImpl::getPropertyCSSValue):
1381         (DOM::CSSStyleDeclarationImpl::getPropertyValue):
1382         (DOM::CSSStyleDeclarationImpl::getPropertyPriority):
1383         (DOM::CSSStyleDeclarationImpl::setProperty):
1384         (DOM::CSSStyleDeclarationImpl::removeProperty):
1385         (DOM::CSSMutableStyleDeclarationImpl::getPropertyValue):
1386         (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
1387         (DOM::operator==):
1388         (DOM::CSSStyleDeclarationImpl::propertyID):
1389         * khtml/css/css_valueimpl.h:
1390         (DOM::CSSValueImpl::setCssText):
1391         (DOM::CSSPrimitiveValueImpl::getDashboardRegionValue):
1392         * khtml/dom/css_rule.cpp:
1393         * khtml/dom/css_rule.h:
1394         * khtml/dom/css_stylesheet.h:
1395         (DOM::CSSException::):
1396         * khtml/dom/css_value.cpp:
1397         (DOM::CSSStyleDeclaration::getPropertyValue):
1398         (DOM::CSSStyleDeclaration::getPropertyCSSValue):
1399         (DOM::CSSStyleDeclaration::removeProperty):
1400         (DOM::CSSStyleDeclaration::getPropertyPriority):
1401         (DOM::CSSStyleDeclaration::setProperty):
1402         * khtml/dom/css_value.h:
1403         * khtml/dom/dom2_events.cpp:
1404         (EventListener::handleEvent):
1405         * khtml/dom/dom2_events.h:
1406         * khtml/dom/dom2_traversal.h:
1407         * khtml/dom/dom_doc.cpp:
1408         (DOM::DOMImplementation::createHTMLDocument):
1409         (DOM::DOMImplementation::createCSSStyleSheet):
1410         (DOM::Document::doctype):
1411         (DOM::Document::createAttribute):
1412         (DOM::Document::createAttributeNS):
1413         (DOM::Document::queryCommandValue):
1414         (DOM::Document::handle):
1415         * khtml/dom/dom_doc.h:
1416         * khtml/dom/dom_element.cpp:
1417         (Attr::name):
1418         (Attr::value):
1419         (Element::getAttribute):
1420         (Element::setAttribute):
1421         (Element::removeAttribute):
1422         (Element::getAttributeNode):
1423         (Element::setAttributeNode):
1424         (Element::removeAttributeNode):
1425         (Element::getElementsByTagName):
1426         (Element::getElementsByTagNameNS):
1427         (Element::getAttributeNS):
1428         (Element::setAttributeNS):
1429         (Element::removeAttributeNS):
1430         (Element::getAttributeNodeNS):
1431         (Element::setAttributeNodeNS):
1432         (Element::hasAttribute):
1433         (Element::hasAttributeNS):
1434         (Element::style):
1435         * khtml/dom/dom_exception.h:
1436         * khtml/dom/dom_misc.cpp:
1437         (DOM::DomShared::deleteMe):
1438         * khtml/dom/dom_misc.h:
1439         (DOM::DomShared::deleteMe):
1440         * khtml/dom/dom_node.cpp:
1441         (NamedNodeMap::getNamedItemNS):
1442         (NamedNodeMap::setNamedItemNS):
1443         (NamedNodeMap::removeNamedItemNS):
1444         (Node::ownerDocument):
1445         (Node::hasAttributes):
1446         (Node::isSupported):
1447         (Node::addEventListener):
1448         (Node::removeEventListener):
1449         * khtml/dom/dom_node.h:
1450         * khtml/dom/html_document.cpp:
1451         (HTMLDocument::setTitle):
1452         (HTMLDocument::completeURL):
1453         (HTMLDocument::getElementsByName):
1454         * khtml/dom/html_element.cpp:
1455         (HTMLElement::setInnerHTML):
1456         (HTMLElement::setInnerText):
1457         (HTMLElement::setOuterHTML):
1458         (HTMLElement::setOuterText):
1459         * khtml/dom/html_form.cpp:
1460         (HTMLLabelElement::form):
1461         (HTMLSelectElement::setValue):
1462         (HTMLSelectElement::options):
1463         (HTMLOptionElement::setValue):
1464         * khtml/dom/html_inline.cpp:
1465         (HTMLAnchorElement::accessKey):
1466         (HTMLAnchorElement::setAccessKey):
1467         (HTMLAnchorElement::charset):
1468         (HTMLAnchorElement::setCharset):
1469         (HTMLAnchorElement::coords):
1470         (HTMLAnchorElement::setCoords):
1471         (HTMLAnchorElement::href):
1472         (HTMLAnchorElement::setHref):
1473         (HTMLAnchorElement::hreflang):
1474         (HTMLAnchorElement::setHreflang):
1475         (HTMLAnchorElement::name):
1476         (HTMLAnchorElement::setName):
1477         (HTMLAnchorElement::rel):
1478         (HTMLAnchorElement::setRel):
1479         (HTMLAnchorElement::rev):
1480         (HTMLAnchorElement::setRev):
1481         (HTMLAnchorElement::shape):
1482         (HTMLAnchorElement::setShape):
1483         (HTMLAnchorElement::tabIndex):
1484         (HTMLAnchorElement::setTabIndex):
1485         (HTMLAnchorElement::target):
1486         (HTMLAnchorElement::setTarget):
1487         (HTMLAnchorElement::type):
1488         (HTMLAnchorElement::setType):
1489         (HTMLAnchorElement::blur):
1490         (HTMLAnchorElement::focus):
1491         (HTMLBRElement::clear):
1492         (HTMLBRElement::setClear):
1493         (HTMLFontElement::color):
1494         (HTMLFontElement::setColor):
1495         (HTMLFontElement::face):
1496         (HTMLFontElement::setFace):
1497         (HTMLFontElement::size):
1498         (HTMLFontElement::setSize):
1499         (HTMLModElement::cite):
1500         (HTMLModElement::setCite):
1501         (HTMLModElement::dateTime):
1502         (HTMLModElement::setDateTime):
1503         (HTMLQuoteElement::cite):
1504         (HTMLQuoteElement::setCite):
1505         * khtml/dom/html_misc.cpp:
1506         (HTMLCollection::HTMLCollection):
1507         (HTMLCollection::base):
1508         (HTMLCollection::namedItems):
1509         * khtml/dom/html_misc.h:
1510         * khtml/editing/htmlediting.cpp:
1511         * khtml/editing/selection.cpp:
1512         * khtml/html/html_documentimpl.cpp:
1513         (DOM::HTMLDocumentImpl::determineParseMode):
1514         (DOM::HTMLDocumentImpl::doctype):
1515         * khtml/html/html_documentimpl.h:
1516         * khtml/html/html_elementimpl.cpp:
1517         (HTMLElementImpl::setInnerHTML):
1518         (HTMLElementImpl::setOuterHTML):
1519         (HTMLElementImpl::setInnerText):
1520         (HTMLElementImpl::setOuterText):
1521         (HTMLElementImpl::style):
1522         (HTMLElementImpl::idDOM):
1523         (HTMLElementImpl::setId):
1524         (HTMLElementImpl::title):
1525         (HTMLElementImpl::setTitle):
1526         (HTMLElementImpl::lang):
1527         (HTMLElementImpl::setLang):
1528         (HTMLElementImpl::dir):
1529         (HTMLElementImpl::setDir):
1530         (HTMLElementImpl::className):
1531         (HTMLElementImpl::setClassName):
1532         (HTMLElementImpl::children):
1533         (HTMLGenericElementImpl::HTMLGenericElementImpl):
1534         (HTMLGenericElementImpl::id):
1535         * khtml/html/html_elementimpl.h:
1536         (DOM::HTMLElementImpl::isGenericFormElement):
1537         * khtml/html/html_formimpl.cpp:
1538         (DOM::HTMLFormElementImpl::parseEnctype):
1539         (DOM::HTMLFormElementImpl::parseHTMLAttribute):
1540         (DOM::HTMLFormElementImpl::elements):
1541         (DOM::HTMLFormElementImpl::name):
1542         (DOM::HTMLFormElementImpl::setName):
1543         (DOM::HTMLFormElementImpl::acceptCharset):
1544         (DOM::HTMLFormElementImpl::setAcceptCharset):
1545         (DOM::HTMLFormElementImpl::action):
1546         (DOM::HTMLFormElementImpl::setAction):
1547         (DOM::HTMLFormElementImpl::setEnctype):
1548         (DOM::HTMLFormElementImpl::method):
1549         (DOM::HTMLFormElementImpl::setMethod):
1550         (DOM::HTMLFormElementImpl::target):
1551         (DOM::HTMLFormElementImpl::setTarget):
1552         (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
1553         (DOM::HTMLGenericFormElementImpl::~HTMLGenericFormElementImpl):
1554         (DOM::HTMLGenericFormElementImpl::parseHTMLAttribute):
1555         (DOM::HTMLGenericFormElementImpl::name):
1556         (DOM::HTMLGenericFormElementImpl::setName):
1557         (DOM::HTMLGenericFormElementImpl::setOverrideName):
1558         (DOM::HTMLGenericFormElementImpl::setDisabled):
1559         (DOM::HTMLGenericFormElementImpl::setReadOnly):
1560         (DOM::HTMLGenericFormElementImpl::tabIndex):
1561         (DOM::HTMLGenericFormElementImpl::setTabIndex):
1562         (DOM::HTMLButtonElementImpl::accessKey):
1563         (DOM::HTMLButtonElementImpl::setAccessKey):
1564         (DOM::HTMLButtonElementImpl::value):
1565         (DOM::HTMLButtonElementImpl::setValue):
1566         (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
1567         (DOM::HTMLInputElementImpl::parseHTMLAttribute):
1568         (DOM::HTMLInputElementImpl::defaultValue):
1569         (DOM::HTMLInputElementImpl::setDefaultValue):
1570         (DOM::HTMLInputElementImpl::defaultChecked):
1571         (DOM::HTMLInputElementImpl::setDefaultChecked):
1572         (DOM::HTMLInputElementImpl::accept):
1573         (DOM::HTMLInputElementImpl::setAccept):
1574         (DOM::HTMLInputElementImpl::accessKey):
1575         (DOM::HTMLInputElementImpl::setAccessKey):
1576         (DOM::HTMLInputElementImpl::align):
1577         (DOM::HTMLInputElementImpl::setAlign):
1578         (DOM::HTMLInputElementImpl::alt):
1579         (DOM::HTMLInputElementImpl::setAlt):
1580         (DOM::HTMLInputElementImpl::setMaxLength):
1581         (DOM::HTMLInputElementImpl::sizeDOM):
1582         (DOM::HTMLInputElementImpl::setSize):
1583         (DOM::HTMLInputElementImpl::src):
1584         (DOM::HTMLInputElementImpl::setSrc):
1585         (DOM::HTMLInputElementImpl::useMap):
1586         (DOM::HTMLInputElementImpl::setUseMap):
1587         (DOM::HTMLLabelElementImpl::form):
1588         (DOM::HTMLLabelElementImpl::accessKey):
1589         (DOM::HTMLLabelElementImpl::setAccessKey):
1590         (DOM::HTMLLabelElementImpl::htmlFor):
1591         (DOM::HTMLLabelElementImpl::setHtmlFor):
1592         (DOM::HTMLLegendElementImpl::accessKey):
1593         (DOM::HTMLLegendElementImpl::setAccessKey):
1594         (DOM::HTMLLegendElementImpl::align):
1595         (DOM::HTMLLegendElementImpl::setAlign):
1596         (DOM::HTMLSelectElementImpl::setValue):
1597         (DOM::HTMLSelectElementImpl::optionsHTMLCollection):
1598         (DOM::HTMLSelectElementImpl::setMultiple):
1599         (DOM::HTMLSelectElementImpl::setSize):
1600         (DOM::HTMLOptGroupElementImpl::label):
1601         (DOM::HTMLOptGroupElementImpl::setLabel):
1602         (DOM::HTMLOptionElementImpl::setText):
1603         (DOM::HTMLOptionElementImpl::setIndex):
1604         (DOM::HTMLOptionElementImpl::setValue):
1605         (DOM::HTMLOptionElementImpl::defaultSelected):
1606         (DOM::HTMLOptionElementImpl::setDefaultSelected):
1607         (DOM::HTMLOptionElementImpl::label):
1608         (DOM::HTMLOptionElementImpl::setLabel):
1609         (DOM::HTMLTextAreaElementImpl::accessKey):
1610         (DOM::HTMLTextAreaElementImpl::setAccessKey):
1611         (DOM::HTMLTextAreaElementImpl::setCols):
1612         (DOM::HTMLTextAreaElementImpl::setRows):
1613         (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
1614         (DOM::HTMLIsIndexElementImpl::parseHTMLAttribute):
1615         (DOM::HTMLIsIndexElementImpl::prompt):
1616         (DOM::HTMLIsIndexElementImpl::setPrompt):
1617         * khtml/html/html_formimpl.h:
1618         * khtml/html/html_headimpl.cpp:
1619         (HTMLBaseElementImpl::setHref):
1620         (HTMLBaseElementImpl::setTarget):
1621         (HTMLLinkElementImpl::disabled):
1622         (HTMLLinkElementImpl::setDisabled):
1623         (HTMLLinkElementImpl::charset):
1624         (HTMLLinkElementImpl::setCharset):
1625         (HTMLLinkElementImpl::href):
1626         (HTMLLinkElementImpl::setHref):
1627         (HTMLLinkElementImpl::hreflang):
1628         (HTMLLinkElementImpl::setHreflang):
1629         (HTMLLinkElementImpl::media):
1630         (HTMLLinkElementImpl::setMedia):
1631         (HTMLLinkElementImpl::rel):
1632         (HTMLLinkElementImpl::setRel):
1633         (HTMLLinkElementImpl::rev):
1634         (HTMLLinkElementImpl::setRev):
1635         (HTMLLinkElementImpl::target):
1636         (HTMLLinkElementImpl::setTarget):
1637         (HTMLLinkElementImpl::type):
1638         (HTMLLinkElementImpl::setType):
1639         (HTMLMetaElementImpl::content):
1640         (HTMLMetaElementImpl::setContent):
1641         (HTMLMetaElementImpl::httpEquiv):
1642         (HTMLMetaElementImpl::setHttpEquiv):
1643         (HTMLMetaElementImpl::name):
1644         (HTMLMetaElementImpl::setName):
1645         (HTMLMetaElementImpl::scheme):
1646         (HTMLMetaElementImpl::setScheme):
1647         (HTMLScriptElementImpl::id):
1648         (HTMLScriptElementImpl::isURLAttribute):
1649         (HTMLScriptElementImpl::insertedIntoDocument):
1650         (HTMLScriptElementImpl::notifyFinished):
1651         (HTMLScriptElementImpl::text):
1652         (HTMLScriptElementImpl::setText):
1653         (HTMLScriptElementImpl::htmlFor):
1654         (HTMLScriptElementImpl::setHtmlFor):
1655         (HTMLScriptElementImpl::event):
1656         (HTMLScriptElementImpl::setEvent):
1657         (HTMLScriptElementImpl::charset):
1658         (HTMLScriptElementImpl::setCharset):
1659         (HTMLScriptElementImpl::defer):
1660         (HTMLScriptElementImpl::setDefer):
1661         (HTMLScriptElementImpl::src):
1662         (HTMLScriptElementImpl::setSrc):
1663         (HTMLScriptElementImpl::type):
1664         (HTMLScriptElementImpl::setType):
1665         (HTMLStyleElementImpl::disabled):
1666         (HTMLStyleElementImpl::setDisabled):
1667         (HTMLStyleElementImpl::media):
1668         (HTMLStyleElementImpl::setMedia):
1669         (HTMLStyleElementImpl::type):
1670         (HTMLStyleElementImpl::setType):
1671         (HTMLTitleElementImpl::insertedIntoDocument):
1672         (HTMLTitleElementImpl::childrenChanged):
1673         (HTMLTitleElementImpl::text):
1674         (HTMLTitleElementImpl::setText):
1675         * khtml/html/html_headimpl.h:
1676         * khtml/html/html_miscimpl.cpp:
1677         (DOM::HTMLBaseFontElementImpl::id):
1678         (DOM::HTMLBaseFontElementImpl::color):
1679         (DOM::HTMLBaseFontElementImpl::setColor):
1680         (DOM::HTMLBaseFontElementImpl::face):
1681         (DOM::HTMLBaseFontElementImpl::setFace):
1682         (DOM::HTMLBaseFontElementImpl::size):
1683         (DOM::HTMLBaseFontElementImpl::setSize):
1684         (DOM::HTMLCollectionImpl::HTMLCollectionImpl):
1685         (DOM::HTMLCollectionImpl::~HTMLCollectionImpl):
1686         (DOM::HTMLCollectionImpl::resetCollectionInfo):
1687         (DOM::HTMLCollectionImpl::traverseNextItem):
1688         (DOM::HTMLCollectionImpl::calcLength):
1689         (DOM::HTMLCollectionImpl::item):
1690         (DOM::HTMLCollectionImpl::namedItem):
1691         (DOM::HTMLCollectionImpl::updateNameCache):
1692         (DOM::HTMLCollectionImpl::namedItems):
1693         (DOM::HTMLCollectionImpl::nextNamedItem):
1694         (DOM::HTMLFormCollectionImpl::HTMLFormCollectionImpl):
1695         (DOM::HTMLFormCollectionImpl::calcLength):
1696         (DOM::HTMLFormCollectionImpl::item):
1697         (DOM::HTMLFormCollectionImpl::getNamedFormItem):
1698         (DOM::HTMLFormCollectionImpl::nextNamedItemInternal):
1699         (DOM::HTMLFormCollectionImpl::namedItem):
1700         (DOM::HTMLFormCollectionImpl::updateNameCache):
1701         * khtml/html/html_miscimpl.h:
1702         (DOM::HTMLCollectionImpl::base):
1703         * khtml/html/htmlparser.cpp:
1704         (KHTMLParser::parseToken):
1705         (KHTMLParser::insertNode):
1706         * khtml/html/htmltokenizer.cpp:
1707         (khtml::HTMLTokenizer::scriptExecution):
1708         * khtml/khtml_events.cpp:
1709         (khtml::MouseEvent::MouseEvent):
1710         (khtml::MouseEvent::offset):
1711         * khtml/khtml_events.h:
1712         (khtml::MouseEvent::innerNode):
1713         (khtml::MousePressEvent::MousePressEvent):
1714         (khtml::MouseDoubleClickEvent::MouseDoubleClickEvent):
1715         (khtml::MouseMoveEvent::MouseMoveEvent):
1716         (khtml::MouseReleaseEvent::MouseReleaseEvent):
1717         * khtml/khtml_part.cpp:
1718         (KHTMLPart::closeURL):
1719         (KHTMLPart::executeScript):
1720         (KHTMLPart::scheduleScript):
1721         (KHTMLPart::executeScheduledScript):
1722         (KHTMLPart::clear):
1723         (KHTMLPart::selectClosestWordFromMouseEvent):
1724         (KHTMLPart::handleMousePressEventDoubleClick):
1725         (KHTMLPart::handleMousePressEventTripleClick):
1726         (KHTMLPart::handleMousePressEventSingleClick):
1727         (KHTMLPart::khtmlMousePressEvent):
1728         (KHTMLPart::handleMouseMoveEventDrag):
1729         (KHTMLPart::handleMouseMoveEventOver):
1730         (KHTMLPart::handleMouseMoveEventSelection):
1731         (KHTMLPart::khtmlMouseReleaseEvent):
1732         (KHTMLPart::selectionHasStyle):
1733         (KHTMLPart::selectionStartHasStyle):
1734         * khtml/khtml_part.h:
1735         * khtml/khtmlpart_p.h:
1736         * khtml/khtmlview.cpp:
1737         (KHTMLViewPrivate::reset):
1738         (KHTMLView::viewportMousePressEvent):
1739         (KHTMLView::viewportMouseDoubleClickEvent):
1740         (KHTMLView::contentsContextMenuEvent):
1741         (KHTMLView::updateDragAndDrop):
1742         (KHTMLView::cancelDragAndDrop):
1743         (KHTMLView::performDragAndDrop):
1744         (KHTMLView::focusNextPrevNode):
1745         * kwq/DOM-CSS.mm:
1746         (-[DOMCSSStyleSheet cssRules]):
1747         (-[DOMCSSStyleDeclaration getPropertyValue:]):
1748         (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
1749         (-[DOMCSSStyleDeclaration removeProperty:]):
1750         (-[DOMCSSStyleDeclaration getPropertyPriority:]):
1751         (-[DOMCSSStyleDeclaration setProperty:::]):
1752         (-[DOMCSSValue setCssText:]):
1753         * kwq/DOMCSS.h:
1754         * kwq/DOMHTML.mm:
1755         (-[DOMHTMLElement setInnerHTML:]):
1756         (-[DOMHTMLElement setOuterHTML:]):
1757         (-[DOMHTMLElement setInnerText:]):
1758         (-[DOMHTMLElement setOuterText:]):
1759         (-[DOMHTMLSelectElement setLength:]):
1760         (-[DOMHTMLTableSectionElement insertRow:]):
1761         * kwq/DOMInternal.h:
1762         * kwq/DOMInternal.mm:
1763         (raiseDOMException):
1764         (-[WebScriptObject _initializeScriptDOMNodeImp]):
1765         * kwq/DOMUtility.mm:
1766         (KJS::ScriptInterpreter::createObjcInstanceForValue):
1767         * kwq/KWQAccObject.mm:
1768         (-[KWQAccObject accessibilityAttributeValue:]):
1769         * kwq/KWQKHTMLPart.h:
1770         * kwq/KWQKHTMLPart.mm:
1771         (KWQKHTMLPart::KWQKHTMLPart):
1772         (KWQKHTMLPart::advanceToNextMisspelling):
1773         (KWQKHTMLPart::scrollOverflow):
1774         (KWQKHTMLPart::paint):
1775         (KWQKHTMLPart::openURLFromPageCache):
1776         (KWQKHTMLPart::khtmlMousePressEvent):
1777         (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
1778         (KWQKHTMLPart::dispatchDragSrcEvent):
1779         (KWQKHTMLPart::eventMayStartDrag):
1780         (KWQKHTMLPart::khtmlMouseMoveEvent):
1781         (KWQKHTMLPart::dragSourceEndedAt):
1782         (KWQKHTMLPart::mouseDown):
1783         (KWQKHTMLPart::sendContextMenuEvent):
1784         (listParent):
1785         (isTextFirstInListItem):
1786         (KWQKHTMLPart::attributedString):
1787         (KWQKHTMLPart::snapshotDragImage):
1788         (KWQKHTMLPart::mousePressNode):
1789         * kwq/WebCoreBridge.mm:
1790         (updateRenderingForBindings):
1791         (-[WebCoreBridge _documentTypeString]):
1792
1793 2005-05-10  Maciej Stachowiak  <mjs@apple.com>
1794
1795         Reviewed by John.
1796
1797         - rename hasAnchor method to isLink
1798
1799         * khtml/css/cssstyleselector.cpp:
1800         (khtml::checkPseudoState):
1801         (khtml::CSSStyleSelector::canShareStyleWithElement):
1802         (khtml::CSSStyleSelector::styleForElement):
1803         (khtml::CSSStyleSelector::checkOneSelector):
1804         * khtml/editing/htmlediting.cpp:
1805         (khtml::isSpecialElement):
1806         * khtml/html/html_imageimpl.cpp:
1807         (HTMLImageElementImpl::parseHTMLAttribute):
1808         * khtml/html/html_inlineimpl.cpp:
1809         (DOM::HTMLAnchorElementImpl::isFocusable):
1810         (DOM::HTMLAnchorElementImpl::defaultEventHandler):
1811         (DOM::HTMLAnchorElementImpl::parseHTMLAttribute):
1812         * khtml/rendering/render_flexbox.cpp:
1813         (khtml::RenderFlexibleBox::layoutVerticalBox):
1814         * khtml/rendering/render_layer.cpp:
1815         (RenderLayer::hitTest):
1816         * khtml/rendering/render_object.cpp:
1817         (RenderObject::information):
1818         * khtml/xml/dom_nodeimpl.cpp:
1819         (NodeImpl::NodeImpl):
1820         * khtml/xml/dom_nodeimpl.h:
1821         (DOM::NodeImpl::isLink):
1822         * kwq/KWQAccObject.mm:
1823         (-[KWQAccObject anchorElement]):
1824         (-[KWQAccObject addChildrenToArray:]):
1825         (-[KWQAccObject role]):
1826         (-[KWQAccObject title]):
1827         (-[KWQAccObject accessibilityIsIgnored]):
1828         (-[KWQAccObject accessibilityAttributeNames]):
1829         (-[KWQAccObject accessibilityAttributeValue:]):
1830         * kwq/KWQKHTMLPart.mm:
1831         (KWQKHTMLPart::khtmlMouseMoveEvent):
1832
1833 2005-05-09  Maciej Stachowiak  <mjs@apple.com>
1834
1835         Reviewed by John.
1836
1837         - remove init hint argument from VisiblePosition 
1838
1839         * khtml/editing/visible_position.cpp:
1840         (khtml::VisiblePosition::VisiblePosition):
1841         (khtml::VisiblePosition::init):
1842         * khtml/editing/visible_position.h:
1843         * khtml/editing/visible_units.cpp:
1844         (khtml::previousBoundary):
1845         (khtml::nextBoundary):
1846         * khtml/xml/dom_docimpl.cpp:
1847         (DocumentImpl::updateSelection):
1848         * kwq/KWQKHTMLPart.mm:
1849         (KWQKHTMLPart::styleForSelectionStart):
1850         * kwq/WebCoreBridge.mm:
1851         (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]):
1852
1853 2005-05-10  Darin Adler  <darin@apple.com>
1854
1855         Reviewed by David Harrison.
1856
1857         - next pass of moving code from C++ DOM wrappers into the DOM impl. classes
1858           (this step adds more member functions missing from the DOM impl. and
1859            changes some of the Objective-C DOM to call the new ones; also changes some
1860            parameter types in the DOM impl.)
1861
1862         * khtml/dom/dom2_events.cpp:
1863         (UIEvent::initUIEvent):
1864         (MouseEvent::initMouseEvent):
1865         (MutationEvent::initMutationEvent):
1866         (KeyboardEvent::initKeyboardEvent):
1867         * khtml/dom/dom_doc.cpp:
1868         (DOM::DOMImplementation::createDocument):
1869         (DOM::Document::getElementsByTagName):
1870         (DOM::Document::getElementsByTagNameNS):
1871         * khtml/dom/dom_element.cpp:
1872         (Element::removeAttributeNode):
1873         (Element::getElementsByTagName):
1874         (Element::getElementsByTagNameNS):
1875         (Element::setAttributeNodeNS):
1876         * khtml/dom/dom_node.cpp:
1877         (NamedNodeMap::setNamedItemNS):
1878         (NamedNodeMap::removeNamedItemNS):
1879         * khtml/ecma/kjs_binding.cpp:
1880         * khtml/ecma/kjs_events.cpp:
1881         (ClipboardProtoFunc::tryCall):
1882         * khtml/editing/jsediting.cpp:
1883         * khtml/khtml_part.cpp:
1884         (KHTMLPart::applyEditingStyleToBodyElement):
1885         (KHTMLPart::removeEditingStyleFromBodyElement):
1886         * khtml/khtmlview.cpp:
1887         (KHTMLView::viewportMousePressEvent):
1888         (KHTMLView::viewportMouseDoubleClickEvent):
1889         (KHTMLView::viewportMouseMoveEvent):
1890         (KHTMLView::viewportMouseReleaseEvent):
1891         (KHTMLView::updateDragAndDrop):
1892         (KHTMLView::dispatchMouseEvent):
1893         * khtml/misc/shared.h:
1894         (khtml::SharedPtr::reset):
1895         (khtml::::operator):
1896         (khtml::static_pointer_cast):
1897         (khtml::const_pointer_cast):
1898         * khtml/xml/dom2_eventsimpl.cpp:
1899         (UIEventImpl::initUIEvent):
1900         (UIEventImpl::keyCode):
1901         (UIEventImpl::charCode):
1902         (UIEventImpl::layerX):
1903         (UIEventImpl::layerY):
1904         (UIEventImpl::pageX):
1905         (UIEventImpl::pageY):
1906         (UIEventImpl::which):
1907         (MouseRelatedEventImpl::pageX):
1908         (MouseRelatedEventImpl::pageY):
1909         (MouseEventImpl::initMouseEvent):
1910         (MouseEventImpl::which):
1911         (KeyboardEventImpl::initKeyboardEvent):
1912         (KeyboardEventImpl::which):
1913         (MutationEventImpl::MutationEventImpl):
1914         (MutationEventImpl::initMutationEvent):
1915         * khtml/xml/dom2_eventsimpl.h:
1916         (DOM::MutationEventImpl::relatedNode):
1917         * khtml/xml/dom2_rangeimpl.h:
1918         * khtml/xml/dom2_traversalimpl.cpp:
1919         (DOM::NodeFilterImpl::acceptNode):
1920         * khtml/xml/dom2_traversalimpl.h:
1921         * khtml/xml/dom_docimpl.cpp:
1922         (DOMImplementationImpl::createDocument):
1923         (DOMImplementationImpl::createCSSStyleSheet):
1924         (DOMImplementationImpl::createHTMLDocument):
1925         (DocumentImpl::createAttribute):
1926         (DocumentImpl::createHTMLElement):
1927         (DocumentImpl::getOverrideStyle):
1928         (DocumentImpl::defaultEventHandler):
1929         (DocumentImpl::completeURL):
1930         (DocumentImpl::topDocument):
1931         (DocumentImpl::createAttributeNS):
1932         (DocumentImpl::images):
1933         (DocumentImpl::applets):
1934         (DocumentImpl::embeds):
1935         (DocumentImpl::objects):
1936         (DocumentImpl::links):
1937         (DocumentImpl::forms):
1938         (DocumentImpl::anchors):
1939         (DocumentImpl::all):
1940         (DocumentImpl::nameableItems):
1941         (DocumentImpl::getElementsByName):
1942         * khtml/xml/dom_docimpl.h:
1943         (DOM::DocumentImpl::realDocType):
1944         (DOM::DocumentImpl::createAttribute):
1945         * khtml/xml/dom_elementimpl.cpp:
1946         (AttrImpl::nodeName):
1947         (AttrImpl::nodeValue):
1948         (AttrImpl::name):
1949         (AttrImpl::value):
1950         (ElementImpl::attributes):
1951         (ElementImpl::isURLAttribute):
1952         (ElementImpl::setAttributeNode):
1953         (ElementImpl::removeAttributeNode):
1954         (ElementImpl::setAttributeNS):
1955         (ElementImpl::removeAttributeNS):
1956         (ElementImpl::getAttributeNodeNS):
1957         (ElementImpl::hasAttributeNS):
1958         (ElementImpl::style):
1959         (XMLElementImpl::cloneNode):
1960         (NamedAttrMapImpl::setNamedItem):
1961         (NamedAttrMapImpl::removeNamedItem):
1962         * khtml/xml/dom_elementimpl.h:
1963         (DOM::ElementImpl::hasAttribute):
1964         (DOM::ElementImpl::getAttribute):
1965         (DOM::ElementImpl::setAttribute):
1966         (DOM::ElementImpl::removeAttribute):
1967         (DOM::ElementImpl::getAttributeNode):
1968         (DOM::ElementImpl::setAttributeNodeNS):
1969         * khtml/xml/dom_nodeimpl.cpp:
1970         (NodeImpl::handleLocalEvents):
1971         (NodeImpl::isAncestor):
1972         (NodeImpl::addEventListener):
1973         (NodeImpl::removeEventListener):
1974         (NodeImpl::getElementsByTagNameNS):
1975         (NodeImpl::isSupported):
1976         (NodeImpl::ownerDocument):
1977         (NodeImpl::hasAttributes):
1978         (NodeImpl::attributes):
1979         (ContainerNodeImpl::removeChildren):
1980         (NamedNodeMapImpl::~NamedNodeMapImpl):
1981         (NamedNodeMapImpl::getNamedItemNS):
1982         (NamedNodeMapImpl::removeNamedItemNS):
1983         * khtml/xml/dom_nodeimpl.h:
1984         (DOM::NodeImpl::getElementsByTagName):
1985         (DOM::NamedNodeMapImpl::NamedNodeMapImpl):
1986         (DOM::NamedNodeMapImpl::getNamedItem):
1987         (DOM::NamedNodeMapImpl::removeNamedItem):
1988         (DOM::NamedNodeMapImpl::setNamedItemNS):
1989         (DOM::NamedNodeMapImpl::isReadOnly):
1990         * khtml/xml/dom_textimpl.h:
1991         * khtml/xml/dom_xmlimpl.h:
1992         * kwq/DOM.mm:
1993         (-[DOMNode isSupported::]):
1994         (-[DOMNode namespaceURI]):
1995         (-[DOMNode hasAttributes]):
1996         (-[DOMNamedNodeMap getNamedItem:]):
1997         (-[DOMNamedNodeMap setNamedItem:]):
1998         (-[DOMNamedNodeMap removeNamedItem:]):
1999         (-[DOMNamedNodeMap getNamedItemNS::]):
2000         (-[DOMNamedNodeMap setNamedItemNS:]):
2001         (-[DOMNamedNodeMap removeNamedItemNS::]):
2002         (-[DOMImplementation createDocument:::]):
2003         (-[DOMImplementation createCSSStyleSheet::]):
2004         (-[DOMDocument createAttribute:]):
2005         (-[DOMDocument getElementsByTagName:]):
2006         (-[DOMDocument createAttributeNS::]):
2007         (-[DOMDocument getElementsByTagNameNS::]):
2008         (-[DOMElement setAttribute::]):
2009         (-[DOMElement removeAttribute:]):
2010         (-[DOMElement getAttributeNode:]):
2011         (-[DOMElement setAttributeNode:]):
2012         (-[DOMElement removeAttributeNode:]):
2013         (-[DOMElement getElementsByTagName:]):
2014         (-[DOMElement getAttributeNS::]):
2015         (-[DOMElement setAttributeNS:::]):
2016         (-[DOMElement removeAttributeNS::]):
2017         (-[DOMElement getAttributeNodeNS::]):
2018         (-[DOMElement setAttributeNodeNS:]):
2019         (-[DOMElement getElementsByTagNameNS::]):
2020         (-[DOMElement hasAttribute:]):
2021         (-[DOMElement hasAttributeNS::]):
2022         (-[DOMElement style]):
2023         (-[DOMDocumentType _documentTypeImpl]):
2024         (ObjCNodeFilterCondition::acceptNode):
2025         * kwq/DOMEvents.mm:
2026         (-[DOMMutationEvent relatedNode]):
2027         * kwq/KWQClipboard.h:
2028         * kwq/KWQClipboard.mm:
2029         (KWQClipboard::KWQClipboard):
2030         (KWQClipboard::setDragImage):
2031         (KWQClipboard::dragImageElement):
2032         (KWQClipboard::setDragImageElement):
2033         (KWQClipboard::dragNSImage):
2034         * kwq/KWQKHTMLPart.mm:
2035         (KWQKHTMLPart::khtmlMouseMoveEvent):
2036         (KWQKHTMLPart::passSubframeEventToSubframe):
2037         (KWQKHTMLPart::sendContextMenuEvent):
2038
2039 2005-05-10  Darin Adler  <darin@apple.com>
2040
2041         Reviewed by David Harrison.
2042
2043         - first pass of moving code from C++ DOM wrappers into the DOM impl. classes
2044           (this step mostly adds member functions missing from the DOM impl.; later steps
2045            will change the C++, JavaScript, and ObjC wrappers to call these functions)
2046
2047         * khtml/css/parser.y:
2048         * khtml/css/css_ruleimpl.cpp:
2049         (CSSRuleListImpl::CSSRuleListImpl):
2050         * khtml/css/css_ruleimpl.h:
2051         (DOM::CSSRuleListImpl::CSSRuleListImpl):
2052         * khtml/html/html_baseimpl.cpp:
2053         (HTMLBodyElementImpl::aLink):
2054         (HTMLBodyElementImpl::setALink):
2055         (HTMLBodyElementImpl::background):
2056         (HTMLBodyElementImpl::setBackground):
2057         (HTMLBodyElementImpl::bgColor):
2058         (HTMLBodyElementImpl::setBgColor):
2059         (HTMLBodyElementImpl::link):
2060         (HTMLBodyElementImpl::setLink):
2061         (HTMLBodyElementImpl::text):
2062         (HTMLBodyElementImpl::setText):
2063         (HTMLBodyElementImpl::vLink):
2064         (HTMLBodyElementImpl::setVLink):
2065         (HTMLFrameElementImpl::HTMLFrameElementImpl):
2066         (HTMLFrameElementImpl::updateForNewURL):
2067         (HTMLFrameElementImpl::openURL):
2068         (HTMLFrameElementImpl::parseHTMLAttribute):
2069         (HTMLFrameElementImpl::rendererIsNeeded):
2070         (HTMLFrameElementImpl::attach):
2071         (HTMLFrameElementImpl::detach):
2072         (HTMLFrameElementImpl::setLocation):
2073         (HTMLFrameElementImpl::contentPart):
2074         (HTMLFrameElementImpl::frameBorder):
2075         (HTMLFrameElementImpl::setFrameBorder):
2076         (HTMLFrameElementImpl::longDesc):
2077         (HTMLFrameElementImpl::setLongDesc):
2078         (HTMLFrameElementImpl::marginHeight):
2079         (HTMLFrameElementImpl::setMarginHeight):
2080         (HTMLFrameElementImpl::marginWidth):
2081         (HTMLFrameElementImpl::setMarginWidth):
2082         (HTMLFrameElementImpl::name):
2083         (HTMLFrameElementImpl::setName):
2084         (HTMLFrameElementImpl::setNoResize):
2085         (HTMLFrameElementImpl::scrolling):
2086         (HTMLFrameElementImpl::setScrolling):
2087         (HTMLFrameElementImpl::src):
2088         (HTMLFrameElementImpl::setSrc):
2089         (HTMLFrameSetElementImpl::parseHTMLAttribute):
2090         (HTMLFrameSetElementImpl::cols):
2091         (HTMLFrameSetElementImpl::setCols):
2092         (HTMLFrameSetElementImpl::rows):
2093         (HTMLFrameSetElementImpl::setRows):
2094         (HTMLHeadElementImpl::profile):
2095         (HTMLHeadElementImpl::setProfile):
2096         (HTMLHtmlElementImpl::version):
2097         (HTMLHtmlElementImpl::setVersion):
2098         (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
2099         (HTMLIFrameElementImpl::rendererIsNeeded):
2100         (HTMLIFrameElementImpl::attach):
2101         (HTMLIFrameElementImpl::isURLAttribute):
2102         (HTMLIFrameElementImpl::align):
2103         (HTMLIFrameElementImpl::setAlign):
2104         (HTMLIFrameElementImpl::height):
2105         (HTMLIFrameElementImpl::setHeight):
2106         (HTMLIFrameElementImpl::src):
2107         (HTMLIFrameElementImpl::width):
2108         (HTMLIFrameElementImpl::setWidth):
2109         * khtml/html/html_baseimpl.h:
2110         (DOM::HTMLFrameElementImpl::noResize):
2111         (DOM::HTMLFrameElementImpl::scrollingMode):
2112         (DOM::HTMLFrameElementImpl::getMarginWidth):
2113         (DOM::HTMLFrameElementImpl::getMarginHeight):
2114         * khtml/html/html_blockimpl.cpp:
2115         (HTMLBlockquoteElementImpl::cite):
2116         (HTMLBlockquoteElementImpl::setCite):
2117         (HTMLDivElementImpl::align):
2118         (HTMLDivElementImpl::setAlign):
2119         (HTMLHRElementImpl::align):
2120         (HTMLHRElementImpl::setAlign):
2121         (HTMLHRElementImpl::noShade):
2122         (HTMLHRElementImpl::setNoShade):
2123         (HTMLHRElementImpl::size):
2124         (HTMLHRElementImpl::setSize):
2125         (HTMLHRElementImpl::width):
2126         (HTMLHRElementImpl::setWidth):
2127         (HTMLHeadingElementImpl::align):
2128         (HTMLHeadingElementImpl::setAlign):
2129         (HTMLParagraphElementImpl::align):
2130         (HTMLParagraphElementImpl::setAlign):
2131         (HTMLPreElementImpl::width):
2132         (HTMLPreElementImpl::setWidth):
2133         * khtml/html/html_blockimpl.h:
2134         * khtml/html/html_imageimpl.cpp:
2135         (HTMLImageElementImpl::name):
2136         (HTMLImageElementImpl::setName):
2137         (HTMLImageElementImpl::align):
2138         (HTMLImageElementImpl::setAlign):
2139         (HTMLImageElementImpl::alt):
2140         (HTMLImageElementImpl::setAlt):
2141         (HTMLImageElementImpl::border):
2142         (HTMLImageElementImpl::setBorder):
2143         (HTMLImageElementImpl::setHeight):
2144         (HTMLImageElementImpl::hspace):
2145         (HTMLImageElementImpl::setHspace):
2146         (HTMLImageElementImpl::isMap):
2147         (HTMLImageElementImpl::setIsMap):
2148         (HTMLImageElementImpl::longDesc):
2149         (HTMLImageElementImpl::setLongDesc):
2150         (HTMLImageElementImpl::src):
2151         (HTMLImageElementImpl::setSrc):
2152         (HTMLImageElementImpl::useMap):
2153         (HTMLImageElementImpl::setUseMap):
2154         (HTMLImageElementImpl::vspace):
2155         (HTMLImageElementImpl::setVspace):
2156         (HTMLImageElementImpl::setWidth):
2157         (HTMLImageElementImpl::x):
2158         (HTMLImageElementImpl::y):
2159         (HTMLMapElementImpl::parseHTMLAttribute):
2160         (HTMLMapElementImpl::areas):
2161         (HTMLMapElementImpl::name):
2162         (HTMLMapElementImpl::setName):
2163         (HTMLAreaElementImpl::HTMLAreaElementImpl):
2164         (HTMLAreaElementImpl::parseHTMLAttribute):
2165         (HTMLAreaElementImpl::getRegion):
2166         (HTMLAreaElementImpl::accessKey):
2167         (HTMLAreaElementImpl::setAccessKey):
2168         (HTMLAreaElementImpl::alt):
2169         (HTMLAreaElementImpl::setAlt):
2170         (HTMLAreaElementImpl::coords):
2171         (HTMLAreaElementImpl::setCoords):
2172         (HTMLAreaElementImpl::href):
2173         (HTMLAreaElementImpl::setHref):
2174         (HTMLAreaElementImpl::noHref):
2175         (HTMLAreaElementImpl::setNoHref):
2176         (HTMLAreaElementImpl::shape):
2177         (HTMLAreaElementImpl::setShape):
2178         (HTMLAreaElementImpl::tabIndex):
2179         (HTMLAreaElementImpl::setTabIndex):
2180         (HTMLAreaElementImpl::target):
2181         (HTMLAreaElementImpl::setTarget):
2182         * khtml/html/html_imageimpl.h:
2183         (DOM::HTMLImageElementImpl::pixmap):
2184         (DOM::HTMLAreaElementImpl::isDefault):
2185         (DOM::HTMLMapElementImpl::getName):
2186         * khtml/html/html_inlineimpl.cpp:
2187         (DOM::HTMLAnchorElementImpl::accessKey):
2188         (DOM::HTMLAnchorElementImpl::setAccessKey):
2189         (DOM::HTMLAnchorElementImpl::charset):
2190         (DOM::HTMLAnchorElementImpl::setCharset):
2191         (DOM::HTMLAnchorElementImpl::coords):
2192         (DOM::HTMLAnchorElementImpl::setCoords):
2193         (DOM::HTMLAnchorElementImpl::href):
2194         (DOM::HTMLAnchorElementImpl::setHref):
2195         (DOM::HTMLAnchorElementImpl::hreflang):
2196         (DOM::HTMLAnchorElementImpl::setHreflang):
2197         (DOM::HTMLAnchorElementImpl::name):
2198         (DOM::HTMLAnchorElementImpl::setName):
2199         (DOM::HTMLAnchorElementImpl::rel):
2200         (DOM::HTMLAnchorElementImpl::setRel):
2201         (DOM::HTMLAnchorElementImpl::rev):
2202         (DOM::HTMLAnchorElementImpl::setRev):
2203         (DOM::HTMLAnchorElementImpl::shape):
2204         (DOM::HTMLAnchorElementImpl::setShape):
2205         (DOM::HTMLAnchorElementImpl::tabIndex):
2206         (DOM::HTMLAnchorElementImpl::setTabIndex):
2207         (DOM::HTMLAnchorElementImpl::target):
2208         (DOM::HTMLAnchorElementImpl::setTarget):
2209         (DOM::HTMLAnchorElementImpl::type):
2210         (DOM::HTMLAnchorElementImpl::setType):
2211         (DOM::HTMLAnchorElementImpl::blur):
2212         (DOM::HTMLAnchorElementImpl::focus):
2213         (DOM::HTMLBRElementImpl::clear):
2214         (DOM::HTMLBRElementImpl::setClear):
2215         (DOM::HTMLFontElementImpl::parseHTMLAttribute):
2216         (DOM::HTMLFontElementImpl::color):
2217         (DOM::HTMLFontElementImpl::setColor):
2218         (DOM::HTMLFontElementImpl::face):
2219         (DOM::HTMLFontElementImpl::setFace):
2220         (DOM::HTMLFontElementImpl::size):
2221         (DOM::HTMLFontElementImpl::setSize):
2222         (DOM::HTMLModElementImpl::HTMLModElementImpl):
2223         (DOM::HTMLModElementImpl::cite):
2224         (DOM::HTMLModElementImpl::setCite):
2225         (DOM::HTMLModElementImpl::dateTime):
2226         (DOM::HTMLModElementImpl::setDateTime):
2227         (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
2228         (DOM::HTMLQuoteElementImpl::id):
2229         (DOM::HTMLQuoteElementImpl::cite):
2230         (DOM::HTMLQuoteElementImpl::setCite):
2231         * khtml/html/html_inlineimpl.h:
2232         * khtml/html/html_listimpl.cpp:
2233         (DOM::HTMLUListElementImpl::compact):
2234         (DOM::HTMLUListElementImpl::setCompact):
2235         (DOM::HTMLUListElementImpl::type):
2236         (DOM::HTMLUListElementImpl::setType):
2237         (DOM::HTMLDirectoryElementImpl::compact):
2238         (DOM::HTMLDirectoryElementImpl::setCompact):
2239         (DOM::HTMLMenuElementImpl::compact):
2240         (DOM::HTMLMenuElementImpl::setCompact):
2241         (DOM::HTMLOListElementImpl::compact):
2242         (DOM::HTMLOListElementImpl::setCompact):
2243         (DOM::HTMLOListElementImpl::setStart):
2244         (DOM::HTMLOListElementImpl::type):
2245         (DOM::HTMLOListElementImpl::setType):
2246         (DOM::HTMLLIElementImpl::type):
2247         (DOM::HTMLLIElementImpl::setType):
2248         (DOM::HTMLLIElementImpl::value):
2249         (DOM::HTMLLIElementImpl::setValue):
2250         (DOM::HTMLDListElementImpl::compact):
2251         (DOM::HTMLDListElementImpl::setCompact):
2252         * khtml/html/html_listimpl.h:
2253         (DOM::HTMLUListElementImpl::start):
2254         (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
2255         (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
2256         (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
2257         (DOM::HTMLOListElementImpl::start):
2258         * khtml/html/html_objectimpl.cpp:
2259         (DOM::HTMLAppletElementImpl::align):
2260         (DOM::HTMLAppletElementImpl::setAlign):
2261         (DOM::HTMLAppletElementImpl::alt):
2262         (DOM::HTMLAppletElementImpl::setAlt):
2263         (DOM::HTMLAppletElementImpl::archive):
2264         (DOM::HTMLAppletElementImpl::setArchive):
2265         (DOM::HTMLAppletElementImpl::code):
2266         (DOM::HTMLAppletElementImpl::setCode):
2267         (DOM::HTMLAppletElementImpl::codeBase):
2268         (DOM::HTMLAppletElementImpl::setCodeBase):
2269         (DOM::HTMLAppletElementImpl::height):
2270         (DOM::HTMLAppletElementImpl::setHeight):
2271         (DOM::HTMLAppletElementImpl::hspace):
2272         (DOM::HTMLAppletElementImpl::setHspace):
2273         (DOM::HTMLAppletElementImpl::name):
2274         (DOM::HTMLAppletElementImpl::setName):
2275         (DOM::HTMLAppletElementImpl::object):
2276         (DOM::HTMLAppletElementImpl::setObject):
2277         (DOM::HTMLAppletElementImpl::vspace):
2278         (DOM::HTMLAppletElementImpl::setVspace):
2279         (DOM::HTMLAppletElementImpl::width):
2280         (DOM::HTMLAppletElementImpl::setWidth):
2281         (DOM::HTMLObjectElementImpl::code):
2282         (DOM::HTMLObjectElementImpl::setCode):
2283         (DOM::HTMLObjectElementImpl::align):
2284         (DOM::HTMLObjectElementImpl::setAlign):
2285         (DOM::HTMLObjectElementImpl::archive):
2286         (DOM::HTMLObjectElementImpl::setArchive):
2287         (DOM::HTMLObjectElementImpl::border):
2288         (DOM::HTMLObjectElementImpl::setBorder):
2289         (DOM::HTMLObjectElementImpl::codeBase):
2290         (DOM::HTMLObjectElementImpl::setCodeBase):
2291         (DOM::HTMLObjectElementImpl::codeType):
2292         (DOM::HTMLObjectElementImpl::setCodeType):
2293         (DOM::HTMLObjectElementImpl::data):
2294         (DOM::HTMLObjectElementImpl::setData):
2295         (DOM::HTMLObjectElementImpl::declare):
2296         (DOM::HTMLObjectElementImpl::setDeclare):
2297         (DOM::HTMLObjectElementImpl::height):
2298         (DOM::HTMLObjectElementImpl::setHeight):
2299         (DOM::HTMLObjectElementImpl::hspace):
2300         (DOM::HTMLObjectElementImpl::setHspace):
2301         (DOM::HTMLObjectElementImpl::name):
2302         (DOM::HTMLObjectElementImpl::setName):
2303         (DOM::HTMLObjectElementImpl::standby):
2304         (DOM::HTMLObjectElementImpl::setStandby):
2305         (DOM::HTMLObjectElementImpl::tabIndex):
2306         (DOM::HTMLObjectElementImpl::setTabIndex):
2307         (DOM::HTMLObjectElementImpl::type):
2308         (DOM::HTMLObjectElementImpl::setType):
2309         (DOM::HTMLObjectElementImpl::useMap):
2310         (DOM::HTMLObjectElementImpl::setUseMap):
2311         (DOM::HTMLObjectElementImpl::vspace):
2312         (DOM::HTMLObjectElementImpl::setVspace):
2313         (DOM::HTMLObjectElementImpl::width):
2314         (DOM::HTMLObjectElementImpl::setWidth):
2315         (DOM::HTMLParamElementImpl::isURLAttribute):
2316         (DOM::HTMLParamElementImpl::setName):
2317         (DOM::HTMLParamElementImpl::type):
2318         (DOM::HTMLParamElementImpl::setType):
2319         (DOM::HTMLParamElementImpl::setValue):
2320         (DOM::HTMLParamElementImpl::valueType):
2321         (DOM::HTMLParamElementImpl::setValueType):
2322         * khtml/html/html_objectimpl.h:
2323         (DOM::HTMLParamElementImpl::name):
2324         (DOM::HTMLParamElementImpl::value):
2325         * khtml/html/html_tableimpl.cpp:
2326         (DOM::HTMLTableElementImpl::rows):
2327         (DOM::HTMLTableElementImpl::tBodies):
2328         (DOM::HTMLTableElementImpl::align):
2329         (DOM::HTMLTableElementImpl::setAlign):
2330         (DOM::HTMLTableElementImpl::bgColor):
2331         (DOM::HTMLTableElementImpl::setBgColor):
2332         (DOM::HTMLTableElementImpl::border):
2333         (DOM::HTMLTableElementImpl::setBorder):
2334         (DOM::HTMLTableElementImpl::cellPadding):
2335         (DOM::HTMLTableElementImpl::setCellPadding):
2336         (DOM::HTMLTableElementImpl::cellSpacing):
2337         (DOM::HTMLTableElementImpl::setCellSpacing):
2338         (DOM::HTMLTableElementImpl::frame):
2339         (DOM::HTMLTableElementImpl::setFrame):
2340         (DOM::HTMLTableElementImpl::rules):
2341         (DOM::HTMLTableElementImpl::setRules):
2342         (DOM::HTMLTableElementImpl::summary):
2343         (DOM::HTMLTableElementImpl::setSummary):
2344         (DOM::HTMLTableElementImpl::width):
2345         (DOM::HTMLTableElementImpl::setWidth):
2346         (DOM::HTMLTableSectionElementImpl::align):
2347         (DOM::HTMLTableSectionElementImpl::setAlign):
2348         (DOM::HTMLTableSectionElementImpl::ch):
2349         (DOM::HTMLTableSectionElementImpl::setCh):
2350         (DOM::HTMLTableSectionElementImpl::chOff):
2351         (DOM::HTMLTableSectionElementImpl::setChOff):
2352         (DOM::HTMLTableSectionElementImpl::vAlign):
2353         (DOM::HTMLTableSectionElementImpl::setVAlign):
2354         (DOM::HTMLTableSectionElementImpl::rows):
2355         (DOM::HTMLTableRowElementImpl::cells):
2356         (DOM::HTMLTableRowElementImpl::setCells):
2357         (DOM::HTMLTableRowElementImpl::align):
2358         (DOM::HTMLTableRowElementImpl::setAlign):
2359         (DOM::HTMLTableRowElementImpl::bgColor):
2360         (DOM::HTMLTableRowElementImpl::setBgColor):
2361         (DOM::HTMLTableRowElementImpl::ch):
2362         (DOM::HTMLTableRowElementImpl::setCh):
2363         (DOM::HTMLTableRowElementImpl::chOff):
2364         (DOM::HTMLTableRowElementImpl::setChOff):
2365         (DOM::HTMLTableRowElementImpl::vAlign):
2366         (DOM::HTMLTableRowElementImpl::setVAlign):
2367         (DOM::HTMLTableCellElementImpl::abbr):
2368         (DOM::HTMLTableCellElementImpl::setAbbr):
2369         (DOM::HTMLTableCellElementImpl::align):
2370         (DOM::HTMLTableCellElementImpl::setAlign):
2371         (DOM::HTMLTableCellElementImpl::axis):
2372         (DOM::HTMLTableCellElementImpl::setAxis):
2373         (DOM::HTMLTableCellElementImpl::bgColor):
2374         (DOM::HTMLTableCellElementImpl::setBgColor):
2375         (DOM::HTMLTableCellElementImpl::ch):
2376         (DOM::HTMLTableCellElementImpl::setCh):
2377         (DOM::HTMLTableCellElementImpl::chOff):
2378         (DOM::HTMLTableCellElementImpl::setChOff):
2379         (DOM::HTMLTableCellElementImpl::setColSpan):
2380         (DOM::HTMLTableCellElementImpl::headers):
2381         (DOM::HTMLTableCellElementImpl::setHeaders):
2382         (DOM::HTMLTableCellElementImpl::height):
2383         (DOM::HTMLTableCellElementImpl::setHeight):
2384         (DOM::HTMLTableCellElementImpl::noWrap):
2385         (DOM::HTMLTableCellElementImpl::setNoWrap):
2386         (DOM::HTMLTableCellElementImpl::setRowSpan):
2387         (DOM::HTMLTableCellElementImpl::scope):
2388         (DOM::HTMLTableCellElementImpl::setScope):
2389         (DOM::HTMLTableCellElementImpl::vAlign):
2390         (DOM::HTMLTableCellElementImpl::setVAlign):
2391         (DOM::HTMLTableCellElementImpl::width):
2392         (DOM::HTMLTableCellElementImpl::setWidth):
2393         (DOM::HTMLTableColElementImpl::align):
2394         (DOM::HTMLTableColElementImpl::setAlign):
2395         (DOM::HTMLTableColElementImpl::ch):
2396         (DOM::HTMLTableColElementImpl::setCh):
2397         (DOM::HTMLTableColElementImpl::chOff):
2398         (DOM::HTMLTableColElementImpl::setChOff):
2399         (DOM::HTMLTableColElementImpl::setSpan):
2400         (DOM::HTMLTableColElementImpl::vAlign):
2401         (DOM::HTMLTableColElementImpl::setVAlign):
2402         (DOM::HTMLTableColElementImpl::width):
2403         (DOM::HTMLTableColElementImpl::setWidth):
2404         (DOM::HTMLTableCaptionElementImpl::parseHTMLAttribute):
2405         (DOM::HTMLTableCaptionElementImpl::align):
2406         (DOM::HTMLTableCaptionElementImpl::setAlign):
2407         * khtml/html/html_tableimpl.h:
2408         (DOM::HTMLTableColElementImpl::span):
2409         * khtml/rendering/render_applet.cpp:
2410         (RenderApplet::createWidgetIfNecessary):
2411         * khtml/rendering/render_frames.cpp:
2412         (RenderFrame::slotViewCleared):
2413         (RenderPartObject::updateWidget):
2414         (RenderPartObject::slotViewCleared):
2415         * khtml/xml/dom_docimpl.cpp:
2416         (DocumentImpl::completeURL):
2417         * khtml/xml/dom_docimpl.h:
2418
2419 2005-05-09  Maciej Stachowiak  <mjs@apple.com>
2420
2421         Reviewed by Kevin.
2422
2423         - remove more isFirst/isLast functions and use isStart/isEnd verions instead
2424
2425         * khtml/editing/htmlediting.cpp:
2426         (khtml::DeleteSelectionCommand::initializePositionData):
2427         (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
2428         (khtml::InsertTextCommand::input):
2429         (khtml::ReplaceSelectionCommand::doApply):
2430         (khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
2431         * khtml/editing/visible_position.cpp:
2432         (khtml::VisiblePosition::previous):
2433         (khtml::setAffinityUsingLinePosition):
2434         (khtml::isFirstVisiblePositionInNode):
2435         * khtml/editing/visible_position.h:
2436         * khtml/editing/visible_units.cpp:
2437         (khtml::endOfLine):
2438         (khtml::previousLinePosition):
2439         * khtml/xml/dom_position.cpp:
2440         (DOM::Position::previousCharacterPosition):
2441         (DOM::Position::nextCharacterPosition):
2442         * kwq/WebCoreBridge.mm:
2443         (-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]):
2444
2445 2005-05-09  Maciej Stachowiak  <mjs@apple.com>
2446
2447         Reviewed by Kevin.
2448
2449         - remove isFirstVisiblePositionInBlock and isLastVisiblePositionInBlock, in favor of isStartOfBlock and isEndOfBlock
2450
2451         It turned out that both isEndOfBlock and isLastVisiblePositionInBlock had (different) bugs,
2452         and there was code relying on the bugs of each. So in addition I fixed isEndOfBlock and fixed 
2453         the parts of the code relying on buggy behavior.
2454
2455         I also removed the includeEndOfLine parameter to endOfBlock since no one used it and it's not
2456         clear if it would ever be useful.
2457         
2458         * khtml/editing/htmlediting.cpp:
2459         (khtml::InsertLineBreakCommand::doApply): Use new calls.
2460         (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Don't gratuitously make
2461         an UPSTREAM VisiblePosition, as this will cause trouble comparing it to end of block.
2462         (khtml::InsertParagraphSeparatorCommand::doApply): Use new calls.
2463         (khtml::ReplaceSelectionCommand::doApply): Use new calls. Also, don't make a position <BR,0> and test
2464         if it is the end of a block, that can never be true, although the buggy code in 
2465         isLastVisiblePositionInBlock would say it is. Make <BR,1> instead.
2466         * khtml/editing/markup.cpp:
2467         (khtml::createMarkup): Instead of checking isEndOfBlock on the start position, check if the start's
2468         next is in a different block, to avoid relying on the buggy old isEndOfBlock behavior.
2469         * khtml/editing/visible_position.cpp:
2470         (khtml::isFirstVisiblePositionInParagraph): Use isStartOfBlock.
2471         (khtml::isLastVisiblePositionInParagraph): Use isEndOfBlock.
2472         * khtml/editing/visible_position.h:
2473         * khtml/editing/visible_units.cpp:
2474         (khtml::endOfBlock): Greatly simplify, and no longer consider the start of a descendant
2475         block to be the end of the block. That's inconsistent with how startOfBlock works. Also
2476         remove include end of line parameter.
2477         (khtml::isEndOfBlock): Don't pass unneeded parameter.
2478         * khtml/editing/visible_units.h:
2479
2480 2005-05-09  Adele Peterson  <adele@apple.com>
2481
2482         fix for <rdar://problem/4110775> Crash will occur when double-clicking outerHTML link on W3 DOM test
2483
2484         Reviewed by Darin.
2485
2486         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setOuterHTML): added nil check.  
2487         This was causing a crash when you tried to set the outerHTML on an element that was no longer in the DOM tree.
2488
2489         * layout-tests/fast/dom/outerText-no-element.html: Added. Tests case where you try to set outerText on an element no longer in the DOM tree.
2490         * layout-tests/fast/dom/outerText-no-element-expected.txt: Added.
2491         * layout-tests/fast/dynamic/outerHTML-doc.html: Added.  Tests case where someone tries to set outerHTML on the document.
2492         * layout-tests/fast/dynamic/outerHTML-doc-expected.txt: Added..
2493         * layout-tests/fast/dynamic/outerHTML-no-element.html: Added. Tests case where you try to set outerHTML on an element no longer in the DOM tree.
2494         * layout-tests/fast/dynamic/outerHTML-no-element-expected.txt: Added.
2495         * layout-tests/fast/dynamic/outerHTML-img.html: moved images to resources directory
2496         * layout-tests/fast/dynamic/resources/apple.gif: Added.
2497         * layout-tests/fast/dynamic/resources/mozilla.gif: Added.
2498
2499 2005-05-09  Maciej Stachowiak  <mjs@apple.com>
2500
2501         Reviewed by Kevin.
2502
2503         - remove code for DoNotStayInBlock variant of upstream/downstream and make
2504         the methods take no parameters
2505
2506         * khtml/editing/htmlediting.cpp:
2507         (khtml::CompositeEditCommand::deleteInsignificantTextDownstream):
2508         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2509         (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
2510         (khtml::ApplyStyleCommand::applyInlineStyle):
2511         (khtml::ApplyStyleCommand::removeInlineStyle):
2512         (khtml::ApplyStyleCommand::nodeFullySelected):
2513         (khtml::ApplyStyleCommand::nodeFullyUnselected):
2514         (khtml::DeleteSelectionCommand::initializePositionData):
2515         (khtml::DeleteSelectionCommand::fixupWhitespace):
2516         (khtml::InsertLineBreakCommand::insertNodeAfterPosition):
2517         (khtml::InsertLineBreakCommand::insertNodeBeforePosition):
2518         (khtml::InsertLineBreakCommand::doApply):
2519         (khtml::InsertParagraphSeparatorCommand::doApply):
2520         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
2521         (khtml::InsertTextCommand::prepareForTextInsertion):
2522         (khtml::InsertTextCommand::input):
2523         (khtml::InsertTextCommand::insertSpace):
2524         (khtml::ReplaceSelectionCommand::doApply):
2525         * khtml/editing/selection.cpp:
2526         (khtml::Selection::toRange):
2527         (khtml::Selection::validate):
2528         * khtml/editing/visible_position.cpp:
2529         (khtml::VisiblePosition::previousVisiblePosition):
2530         (khtml::VisiblePosition::nextVisiblePosition):
2531         (khtml::VisiblePosition::downstreamDeepEquivalent):
2532         (khtml::isFirstVisiblePositionInParagraph):
2533         (khtml::isFirstVisiblePositionInBlock):
2534         (khtml::isLastVisiblePositionInParagraph):
2535         * khtml/xml/dom2_rangeimpl.cpp:
2536         (DOM::RangeImpl::editingStartPosition):
2537         * khtml/xml/dom_position.cpp:
2538         (DOM::isStreamer):
2539         (DOM::Position::upstream):
2540         (DOM::Position::downstream):
2541         (DOM::Position::leadingWhitespacePosition):
2542         (DOM::Position::trailingWhitespacePosition):
2543         * khtml/xml/dom_position.h:
2544         * kwq/WebCoreBridge.mm:
2545         (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
2546
2547 2005-05-08  Maciej Stachowiak  <mjs@apple.com>
2548
2549         Reviewed by Dave Harrison.
2550
2551         - remove remaining uses of upstream/downstream DoNotStayInBlock
2552         
2553         * khtml/editing/htmlediting.cpp:
2554         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2555         (khtml::ApplyStyleCommand::nodeFullySelected):
2556         (khtml::ApplyStyleCommand::nodeFullyUnselected):
2557         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
2558         (khtml::InsertParagraphSeparatorCommand::doApply):
2559         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
2560         (khtml::InsertTextCommand::insertSpace):
2561         (khtml::ReplaceSelectionCommand::doApply):
2562         
2563         * khtml/editing/visible_position.cpp:
2564         (khtml::enclosingBlockFlowElement): New helper function.
2565         * khtml/editing/visible_position.h:
2566
2567         * khtml/editing/visible_units.cpp:
2568         (khtml::inSameBlock): Check enclosing block flows instead of comparing
2569         visible block starts. Two nested blocks may have the same visible start but
2570         different visible ends, so the old check would give false positives.
2571
2572 2005-05-09  David Harrison  <harrison@apple.com>
2573
2574         Add layout test for <rdar://problem/4110366>.
2575
2576         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Added.
2577         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011.html: Added.
2578
2579 2005-05-09  Darin Adler  <darin@apple.com>
2580
2581         - checked in a result for the Flash replacement test that Dave added
2582
2583         * layout-tests/fast/dynamic/flash-replacement-test-expected.txt: Added.
2584         Hope it's right! If not, Dave can update it.
2585
2586 2005-05-09  Darin Adler  <darin@apple.com>
2587
2588         * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
2589         Not needed to make builds work, spews undesirable error messages too.
2590
2591         * WebCore.pbproj/project.pbxproj: Remove unneeded $(DSTROOT) in framework paths.
2592
2593 2005-05-07  Maciej Stachowiak  <mjs@apple.com>
2594
2595         Reviewed by Kevin.
2596
2597         - remove some of the uses of upstream/downstream DoNotStayInBlock
2598         
2599         * khtml/editing/markup.cpp:
2600         (khtml::createMarkup): Instead of using upstream to decide if a line break should be 
2601         added at the end, use inSameParagraph.
2602         * khtml/editing/selection.cpp:
2603         (khtml::Selection::debugPosition): Remove the code to print upstream and downstream,
2604         the selection endpoints themselves are adequate for debugging and are what we use for
2605         layout tests.
2606         * khtml/xml/dom2_rangeimpl.cpp:
2607         (DOM::RangeImpl::editingStartPosition): Skip a possible paragraph break at the start
2608         of the selection in a more explicit way to avoid DoNotStayInBlock.
2609
2610 2005-05-07  David Harrison  <harrison@apple.com>
2611
2612         Reviewed by John.
2613
2614         <rdar://problem/4110366> Deleting text at the end of email moves insertion point to the top of the document
2615         
2616         * khtml/editing/htmlediting.cpp:
2617         (khtml::DeleteSelectionCommand::handleGeneralDelete):
2618         Update m_upstreamStart when deleting m_downstreamEnd.node() if the former is no longer in the document.
2619         Better to update here than trying to recover later in calculateEndingPosition().
2620
2621 2005-05-07  David Harrison  <harrison@apple.com>
2622         
2623         Remove workaround for <rdar://problem/4103339>.
2624         
2625         * khtml/editing/htmlediting.cpp:
2626         (khtml::DeleteSelectionCommand::initializePositionData):
2627
2628 2005-05-06  Maciej Stachowiak  <mjs@apple.com>
2629
2630         Reviewed by Dave Harrison.
2631
2632         - make StayInBlock vs DoNotStayInBlock explicit in all calls to
2633         upstream/downstream, in preparation for phasing out the
2634         DoNotStayInBlock variant.
2635
2636         * khtml/editing/htmlediting.cpp:
2637         (khtml::ApplyStyleCommand::nodeFullySelected):
2638         (khtml::ApplyStyleCommand::nodeFullyUnselected):
2639         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
2640         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
2641         (khtml::InsertTextCommand::insertSpace):
2642         (khtml::ReplaceSelectionCommand::doApply):
2643         * khtml/editing/markup.cpp:
2644         (khtml::createMarkup):
2645         * khtml/editing/selection.cpp:
2646         (khtml::Selection::debugPosition):
2647         * khtml/xml/dom_position.h:
2648
2649 2005-05-06  David Harrison  <harrison@apple.com>
2650
2651         Reviewed by Maciej, Darin.
2652
2653         <rdar://problem/4103339> VisiblePosition and PositionIterator iterators do not return positions in order
2654
2655         * WebCore.pbproj/project.pbxproj:
2656         Removed dom_positioniterator.h and dom_positioniterator.cpp.
2657         
2658         * khtml/editing/htmlediting.cpp:
2659         Removed unused include of dom_positioniterator.h and "using" of PositionIterator.
2660         
2661         * khtml/editing/selection.cpp:
2662         Removed unused include of dom_positioniterator.h.
2663
2664         * khtml/editing/visible_position.h:
2665         * khtml/editing/visible_position.cpp:
2666         (khtml::VisiblePosition::previousVisiblePosition):
2667         (khtml::VisiblePosition::nextVisiblePosition):
2668         (khtml::VisiblePosition::downstreamDeepEquivalent):
2669         Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of duplicated code.
2670         
2671         * khtml/xml/dom_nodeimpl.h:
2672         * khtml/xml/dom_nodeimpl.cpp:
2673         (NodeImpl::maxDeepOffset):
2674         Added to support Position::next(), Position::previous(), Position::atStart(), Position::atEnd()
2675         
2676         * khtml/xml/dom_position.h:
2677         * khtml/xml/dom_position.cpp:
2678         (DOM::Position::previous):
2679         (DOM::Position::next):
2680         (DOM::Position::atStart):
2681         (DOM::Position::atEnd):
2682         Moved here, replacing VisiblePosition's duplicate and PositionIterator.  Fixed to
2683         return positions in order and not skip positions.
2684         
2685         (DOM::Position::previousCharacterPosition):
2686         (DOM::Position::nextCharacterPosition):
2687         Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of PositionIterator.
2688
2689         (DOM::isStreamer):
2690         (DOM::Position::upstream):
2691         (DOM::Position::downstream):
2692         Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of PositionIterator.
2693
2694         * khtml/xml/dom_positioniterator.cpp: Removed.
2695         * khtml/xml/dom_positioniterator.h: Removed.
2696         Removed in favor of Position::next(), Position::previous(), Position::atStart(), Position::atEnd()
2697
2698 2005-05-05  Maciej Stachowiak  <mjs@apple.com>
2699
2700         Reviewed by Darin.
2701
2702         <rdar://problem/4058167> Unit Converter and Weather widgets crashed in KJS::Collector::markCurrentThreadConservatively
2703         
2704         Avoid possibly allocating new prototype objects as parameters to
2705         superclass constructors - there may be an allocated but
2706         uninitilized object so this is a bad time to allocate. Instead,
2707         set the prototype in the constructor body, since the object is
2708         happily allocated by then.
2709
2710         * khtml/ecma/kjs_binding.h:
2711         * khtml/ecma/kjs_css.cpp:
2712         (DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
2713         (DOMMediaList::DOMMediaList):
2714         (DOMCSSStyleSheet::DOMCSSStyleSheet):
2715         (DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
2716         (DOMCSSValueList::DOMCSSValueList):
2717         * khtml/ecma/kjs_css.h:
2718         (KJS::DOMStyleSheet::DOMStyleSheet):
2719         (KJS::DOMCSSValue::DOMCSSValue):
2720         * khtml/ecma/kjs_dom.cpp:
2721         (DOMNode::DOMNode):
2722         (DOMDocument::DOMDocument):
2723         (DOMElement::DOMElement):
2724         (DOMDOMImplementation::DOMDOMImplementation):
2725         (DOMNamedNodeMap::DOMNamedNodeMap):
2726         (DOMNamedNodesCollection::DOMNamedNodesCollection):
2727         (DOMCharacterData::DOMCharacterData):
2728         (DOMText::DOMText):
2729         * khtml/ecma/kjs_dom.h:
2730         (KJS::NodeConstructor::NodeConstructor):
2731         (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
2732         * khtml/ecma/kjs_events.cpp:
2733         (DOMEvent::DOMEvent):
2734         (Clipboard::Clipboard):
2735         * khtml/ecma/kjs_html.cpp:
2736         (HTMLCollection::HTMLCollection):
2737         * khtml/ecma/kjs_range.cpp:
2738         (DOMRange::DOMRange):
2739         * khtml/ecma/kjs_traversal.cpp:
2740         (DOMNodeIterator::DOMNodeIterator):
2741         (DOMNodeFilter::DOMNodeFilter):
2742         (DOMTreeWalker::DOMTreeWalker):
2743         * khtml/ecma/xmlhttprequest.cpp:
2744         (KJS::XMLHttpRequest::XMLHttpRequest):
2745         * khtml/ecma/xmlserializer.cpp:
2746         (KJS::XMLSerializer::XMLSerializer):
2747
2748 2005-05-06  Darin Adler  <darin@apple.com>
2749
2750         Reviewed by Maciej.
2751
2752         - make building multiple trees with make work better
2753
2754         * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
2755
2756 2005-05-05  David Hyatt  <hyatt@apple.com>
2757
2758         Eliminate the FOUCS on wired.com.  innerWidth and innerHeight on window should not do a layout that ignores
2759         pending stylesheets, since even if stylesheets are loading the correct window dimensions can be determined with
2760         a normal layout.
2761
2762         The radar # is 4109888.
2763         
2764         Reviewed by rjw
2765
2766         * khtml/ecma/kjs_window.cpp:
2767         (Window::get):
2768         (Window::updateLayout):
2769         * khtml/ecma/kjs_window.h:
2770
2771 2005-05-05  David Hyatt  <hyatt@apple.com>
2772
2773         Fix for 4109667, sIFR flash replacement technique often malfunctions.  This bug occurs when the plugin
2774         widget update causes the onload for the document to fire.  Because you can be in the middle of a style
2775         recalc when doing an attach (in response to a stylesheet load), the onload fires in the middle of the attach
2776         process when the tree is in a bogus state.
2777
2778         The fix is to add a bit to the document that tells style recalc that the implicitClose() method was invoked
2779         during the style recalc process and the code has been patched so that when this situation occurs, the close is
2780         deferred until after the style recalc has finished.
2781         
2782         Reviewed by John Sullivan
2783
2784         * khtml/xml/dom_docimpl.cpp:
2785         (DocumentImpl::DocumentImpl):
2786         (DocumentImpl::recalcStyle):
2787         (DocumentImpl::implicitClose):
2788         * khtml/xml/dom_docimpl.h:
2789         * layout-tests/fast/dynamic/flash-replacement-test.html: Added.
2790
2791 2005-05-05  Darin Adler  <darin@apple.com>
2792
2793         Reviewed by Dave Hyatt.
2794
2795         - fixed <rdar://problem/4109564> REGRESSION (Atlanta): maps.google.com doesn't always center California correctly
2796
2797         * khtml/ecma/kjs_events.cpp: (offsetFromTarget): Fix two places that said X where they should say Y.
2798
2799 2005-05-05  David Harrison  <harrison@apple.com>
2800
2801         Restore fixed setEndingSelection.  Fixed method was ifdef'd out
2802         because change was at end of Tiger development, but method is
2803         unused.  You just can never be _too_ safe.
2804         
2805         * khtml/editing/htmlediting.cpp:
2806         (khtml::EditCommandPtr::setEndingSelection):
2807
2808 2005-05-02  Maciej Stachowiak  <mjs@apple.com>
2809
2810         Reviewed by Vicki.
2811
2812         - renamed NodeBaseImpl to ContainerNodeImpl
2813
2814         * khtml/ecma/kjs_dom.cpp:
2815         (DOMNodeProtoFunc::tryCall): Avoid use of NodeBaseImpl and avoid
2816         use of obsolete checkNoOwner call, use isAncestor instead.
2817         * khtml/html/html_elementimpl.cpp:
2818         (HTMLElementImpl::setOuterText): Avoid gratuitous use of
2819         NodeBaseImpl.
2820         * khtml/xml/dom_nodeimpl.cpp:
2821         (NodeBaseImpl::checkNoOwner): Removed.
2822         
2823         Ther rest is all just simple renaming.
2824         
2825         * khtml/xml/dom_docimpl.cpp:
2826         (DocumentImpl::DocumentImpl):
2827         (DocumentImpl::attach):
2828         (DocumentImpl::detach):
2829         (DocumentFragmentImpl::DocumentFragmentImpl):
2830         * khtml/xml/dom_docimpl.h:
2831         * khtml/xml/dom_elementimpl.cpp:
2832         (AttrImpl::AttrImpl):
2833         (ElementImpl::ElementImpl):
2834         (ElementImpl::insertedIntoDocument):
2835         (ElementImpl::removedFromDocument):
2836         (ElementImpl::attach):
2837         (ElementImpl::dump):
2838         * khtml/xml/dom_elementimpl.h:
2839         * khtml/xml/dom_nodeimpl.cpp:
2840         (ContainerNodeImpl::ContainerNodeImpl):
2841         (ContainerNodeImpl::~ContainerNodeImpl):
2842         (ContainerNodeImpl::firstChild):
2843         (ContainerNodeImpl::lastChild):
2844         (ContainerNodeImpl::insertBefore):
2845         (ContainerNodeImpl::replaceChild):
2846         (ContainerNodeImpl::removeChild):
2847         (ContainerNodeImpl::removeChildren):
2848         (ContainerNodeImpl::appendChild):
2849         (ContainerNodeImpl::hasChildNodes):
2850         (ContainerNodeImpl::setFirstChild):
2851         (ContainerNodeImpl::setLastChild):
2852         (ContainerNodeImpl::checkSameDocument):
2853         (ContainerNodeImpl::checkIsChild):
2854         (ContainerNodeImpl::addChild):
2855         (ContainerNodeImpl::attach):
2856         (ContainerNodeImpl::detach):
2857         (ContainerNodeImpl::insertedIntoDocument):
2858         (ContainerNodeImpl::removedFromDocument):
2859         (ContainerNodeImpl::cloneChildNodes):
2860         (ContainerNodeImpl::getElementsByTagNameNS):
2861         (ContainerNodeImpl::getUpperLeftCorner):
2862         (ContainerNodeImpl::getLowerRightCorner):
2863         (ContainerNodeImpl::getRect):
2864         (ContainerNodeImpl::setFocus):
2865         (ContainerNodeImpl::setActive):
2866         (ContainerNodeImpl::childNodeCount):
2867         (ContainerNodeImpl::childNode):
2868         (ContainerNodeImpl::dispatchChildInsertedEvents):
2869         (ContainerNodeImpl::dispatchChildRemovalEvents):
2870         * khtml/xml/dom_nodeimpl.h:
2871         * khtml/xml/dom_xmlimpl.cpp:
2872         (DOM::EntityImpl::EntityImpl):
2873         (DOM::EntityReferenceImpl::EntityReferenceImpl):
2874         (DOM::NotationImpl::NotationImpl):
2875         (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
2876         * khtml/xml/dom_xmlimpl.h:
2877
2878 2005-05-04  Vicki Murley  <vicki@apple.com>
2879
2880         Reviewed by Darin.
2881
2882         - fix mismatched parentheses in one of the ifdefs
2883  
2884         * khtml/html/html_headimpl.cpp:
2885         (HTMLTitleElementImpl::childrenChanged):
2886
2887 2005-05-04  Darin Adler  <darin@apple.com>
2888
2889         Reviewed by Dave Hyatt.
2890
2891         - fixed build rules to match other projects
2892
2893         * WebCore.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
2894         When built without a build style (by Apple B&I) we want to get the target from the
2895         environment. But when built with a build style (by Safari engineers and others), we want
2896         to use 10.3.
2897
2898         * Makefile.am: Took out extra parameters that make command-line building different from
2899         Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
2900         from command line to Xcode or back.
2901
2902 2005-05-04  Vicki Murley  <vicki@apple.com>
2903
2904         Reviewed by darin.
2905
2906         - fixed <rdar://problem/3986228> Not able to load additional script blocks dynamically
2907
2908         Run scripts when they're inserted into the document. Use createdByParser bit to make sure
2909         that scripts aren't run twice, once while parsing and again when inserting.
2910
2911         * khtml/html/html_headimpl.cpp:
2912         (HTMLScriptElementImpl::HTMLScriptElementImpl):
2913         (HTMLScriptElementImpl::~HTMLScriptElementImpl):
2914         (HTMLScriptElementImpl::insertedIntoDocument): 
2915         (HTMLScriptElementImpl::removedFromDocument): 
2916         (HTMLScriptElementImpl::notifyFinished): 
2917         * khtml/html/html_headimpl.h:
2918         (DOM::HTMLScriptElementImpl::setCreatedByParser):
2919         * khtml/html/htmlparser.cpp:
2920         (KHTMLParser::getElement): 
2921         * khtml/xml/xml_tokenizer.cpp:
2922         (khtml::XMLTokenizer::startElement): 
2923
2924 2005-05-03  David Hyatt  <hyatt@apple.com>
2925
2926         Normalize all our custom properties in our implementation to be -khtml (remove all the -apple).
2927
2928         Make sure that -apple, -khtml, and -moz are all able to be used.  -apple and -moz just map to -khtml.
2929
2930         Add support for automatically converting -khtml-opacity to opacity (for legacy Safari 1.1 compat).
2931         
2932         Reviewed by darin
2933
2934         * khtml/css/css_computedstyle.cpp:
2935         (DOM::):
2936         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
2937         * khtml/css/cssparser.cpp:
2938         (CSSParser::parseValue):
2939         * khtml/css/cssproperties.in:
2940         * khtml/css/cssstyleselector.cpp:
2941         (khtml::CSSStyleSelector::applyDeclarations):
2942         (khtml::CSSStyleSelector::applyProperty):
2943         * khtml/css/parser.y:
2944         * khtml/ecma/kjs_css.cpp:
2945         (cssPropertyName):
2946
2947 2005-05-03  Darin Adler  <darin@apple.com>
2948
2949         - fix the build
2950
2951         * WebCore.pbproj/project.pbxproj: Fix some SYMROOTS that should have been SYMROOT.
2952
2953 2005-05-03  David Hyatt  <hyatt@apple.com>
2954
2955         Fix for 4098281, news.com missing a bunch of content.  Make sure not to apply strict SGML parsing
2956         when stripping comments out of scripts.
2957
2958         New test is comments-in-script.html
2959         
2960         * khtml/html/htmltokenizer.cpp:
2961         (khtml::HTMLTokenizer::parseComment):
2962
2963 2005-05-03  David Hyatt  <hyatt@apple.com>
2964
2965         Remove unused notification to avoid ERROR messages spewing on the acid2 test.
2966         
2967         Reviewed by darin
2968
2969         * khtml/khtml_part.cpp:
2970         (KHTMLPart::processObjectRequest):
2971         * khtml/rendering/render_frames.cpp:
2972         (RenderPartObject::updateWidget):
2973         * khtml/rendering/render_frames.h:
2974
2975 2005-05-03  Darin Adler  <darin@apple.com>
2976
2977         Reviewed by Dave Hyatt.
2978         No new layout tests needed.
2979
2980         - eliminated the bogus kMin/kMax macros that we had in addition to inline functions
2981           of the same name
2982
2983         * kwq/KWQKGlobal.h: Remove the kMin/kMax macros.
2984
2985         * khtml/css/cssstyleselector.cpp:
2986         (khtml::CSSStyleSelector::applyProperty): Change type of constant so both sides
2987         of kMin calls match.
2988         (khtml::CSSStyleSelector::fontSizeForKeyword): Ditto.
2989         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseEntity): Ditto.
2990
2991         - remove unused parameter to dirtyLinesFromChangedChild for clarity
2992
2993         * khtml/rendering/render_object.h: Don't take the parameter.
2994         * khtml/rendering/render_object.cpp: (RenderObject::dirtyLinesFromChangedChild): Ditto.
2995
2996         * khtml/rendering/render_flow.h: Don't take the parameter.
2997         * khtml/rendering/render_flow.cpp:
2998         (RenderFlow::detach): Don't pass the parameter.
2999         (RenderFlow::dirtyLinesFromChangedChild): Don't take the parameter.
3000
3001         * khtml/rendering/render_text.cpp: (RenderText::detach): Don't pass the parameter.
3002
3003         - convert DOM::NodeImpl into an abstract base class by making a couple of functions
3004           pure virtual for clarity
3005
3006         * khtml/xml/dom_nodeimpl.h: Made nodeName and nodeType pure virtual.
3007         * khtml/xml/dom_nodeimpl.cpp: Remove bodies of nodeName and nodeType.
3008
3009 2005-05-03  David Hyatt  <hyatt@apple.com>
3010
3011         Fix for object element to support fallback content.  WIth this change Safari passes the Acid2 test.
3012         
3013         Reviewed by Maciej
3014
3015         * khtml/css/html4.css:
3016         * khtml/html/html_objectimpl.cpp:
3017         (HTMLObjectElementImpl::HTMLObjectElementImpl):
3018         (HTMLObjectElementImpl::parseHTMLAttribute):
3019         (HTMLObjectElementImpl::rendererIsNeeded):
3020         (HTMLObjectElementImpl::createRenderer):
3021         (HTMLObjectElementImpl::attach):
3022         (HTMLObjectElementImpl::detach):
3023         (HTMLObjectElementImpl::recalcStyle):
3024         (HTMLObjectElementImpl::childrenChanged):
3025         (HTMLObjectElementImpl::isURLAttribute):
3026         (HTMLObjectElementImpl::isImageType):
3027         (HTMLObjectElementImpl::renderFallbackContent):
3028         * khtml/html/html_objectimpl.h:
3029         * khtml/khtml_part.cpp:
3030         (KHTMLPart::requestObject):
3031         (KHTMLPart::selectFrameElementInParentIfFullySelected):
3032         (KHTMLPart::handleFallbackContent):
3033         * khtml/khtml_part.h:
3034         * khtml/khtmlpart_p.h:
3035         (khtml::ChildFrame::ChildFrame):
3036         * khtml/rendering/render_frames.cpp:
3037         (RenderPartObject::RenderPartObject):
3038         (RenderPartObject::updateWidget):
3039         * khtml/rendering/render_frames.h:
3040         (khtml::RenderPart::hasFallbackContent):
3041         * khtml/rendering/render_replaced.cpp:
3042         (RenderReplaced::RenderReplaced):
3043         * kwq/KWQKHTMLPart.mm:
3044         (KWQKHTMLPart::createPart):
3045         * kwq/WebCoreBridge.h:
3046         * kwq/WebCoreBridge.mm:
3047         (-[WebCoreBridge mainResourceError]):
3048
3049 2005-05-01  Darin Adler  <darin@apple.com>
3050
3051         - move to Xcode native targets and stop checking in generated files
3052
3053         * WebCore.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
3054         files, so we don't have to check them in any more.
3055         * Info.plist: Added. Native targets use a separate file for this.
3056
3057         * Makefile.am: Removed rule to generate WebCore-combined.exp since this is now handled by the
3058         Xcode project. Removed the code to remove the embedded copy of the framework since we don't
3059         do that any more. Removed timestamp cleaning rules since we don't use those any more.
3060
3061         * WebCore-tests.exp: Removed symbols that aren't really needed. The native target gives an
3062         error when you mention a nonexistent symbol, so we can't have them any more.
3063
3064         * khtml/css/parser_wrapper.cpp: Added. Shell used to compile parser.cpp since we can't add
3065         a generated file easily to the list of files to be compiled.
3066
3067         * .cvsignore: Removed various timestamp files.
3068
3069         * WebCore-combined.exp: Removed.
3070         * force-clean-timestamp: Removed.
3071         * force-js-clean-timestamp: Removed.
3072         * khtml/.cvsignore: Removed.
3073         * khtml/Makefile.am: Removed.
3074         * khtml/css/.cvsignore: Removed.
3075         * khtml/css/Makefile.am: Removed.
3076         * khtml/css/cssproperties.c: Removed.
3077         * khtml/css/cssproperties.h: Removed.
3078         * khtml/css/cssvalues.c: Removed.
3079         * khtml/css/cssvalues.h: Removed.
3080         * khtml/css/parser.cpp: Removed.
3081         * khtml/css/parser.h: Removed.
3082         * khtml/css/tokenizer.cpp: Removed.
3083         * khtml/ecma/.cvsignore: Removed.
3084         * khtml/ecma/Makefile.am: Removed.
3085         * khtml/ecma/kjs_css.lut.h: Removed.
3086         * khtml/ecma/kjs_dom.lut.h: Removed.
3087         * khtml/ecma/kjs_events.lut.h: Removed.
3088         * khtml/ecma/kjs_html.lut.h: Removed.
3089         * khtml/ecma/kjs_navigator.lut.h: Removed.
3090         * khtml/ecma/kjs_range.lut.h: Removed.
3091         * khtml/ecma/kjs_traversal.lut.h: Removed.
3092         * khtml/ecma/kjs_views.lut.h: Removed.
3093         * khtml/ecma/kjs_window.lut.h: Removed.
3094         * khtml/ecma/xmlhttprequest.lut.h: Removed.
3095         * khtml/ecma/xmlserializer.lut.h: Removed.
3096         * khtml/html/.cvsignore: Removed.
3097         * khtml/html/Makefile.am: Removed.
3098         * khtml/html/doctypes.cpp: Removed.
3099         * khtml/html/kentities.c: Removed.
3100         * khtml/misc/.cvsignore: Removed.
3101         * khtml/misc/Makefile.am: Removed.
3102         * khtml/misc/htmlattrs.c: Removed.
3103         * khtml/misc/htmlattrs.h: Removed.
3104         * khtml/misc/htmltags.c: Removed.
3105         * khtml/misc/htmltags.h: Removed.
3106         * kwq/.cvsignore: Removed.
3107         * kwq/KWQCharsetData.c: Removed.
3108         * kwq/KWQColorData.c: Removed.
3109         * kwq/Makefile.am: Removed.
3110
3111 2005-05-02  Darin Adler  <darin@apple.com>
3112
3113         Reviewed by Vicki.
3114         Added two layout tests for regression testing.
3115
3116         - redid frameElement (fix for 4091082 below)
3117
3118         The first version lacked a security check, and was also broken.
3119
3120         * khtml/ecma/kjs_window.cpp:
3121         (frameElement): Refactored into separate function; added isSafeScript check.
3122         (Window::get): Call the new frameElement function.
3123
3124         * layout-tests/fast/frames/frameElement-frame.html: Added.
3125         * layout-tests/fast/frames/frameElement-frame-expected.txt: Added.
3126         * layout-tests/fast/frames/frameElement-iframe.html: Added.
3127         * layout-tests/fast/frames/frameElement-iframe-expected.txt: Added.
3128         * layout-tests/fast/frames/resources/frameElement-contents.html: Added.
3129
3130 2005-05-02  David Harrison  <harrison@apple.com>
3131
3132         Reviewed by Vicki.
3133
3134         Fix isStartOfEditableContent and isEndOfEditableContent to return actual, rather than inverted, answers.
3135         No Radar.  Found this when trying to use isEndOfEditableContent() in some new code.
3136         
3137         * khtml/editing/visible_units.cpp:
3138         (khtml::isStartOfEditableContent):
3139         (khtml::isEndOfEditableContent):
3140         Flip expressions.
3141
3142 2005-04-29  Darin Adler  <darin@apple.com>
3143
3144         Reviewed by David Harrison.
3145
3146         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Turn newlines into \n for better dumping.
3147
3148 2005-04-29  David Harrison  <harrison@apple.com>
3149
3150         Reviewed by Darin.
3151
3152         <rdar://problem/4083333> When deleting link at end of sentence, entire sentence gets deleted
3153         
3154         * khtml/editing/htmlediting.cpp:
3155         (khtml::DeleteSelectionCommand::initializePositionData):
3156         Work around bug #4103339 (whose real fix is somewhat risky), so this fix can get into a software update.
3157         
3158         (khtml::DeleteSelectionCommand::handleGeneralDelete):
3159         Add isAncestor check when comparing m_downstreamEnd.node() and m_startNode.
3160
3161         * layout-tests/editing/deleting/delete-4083333-fix-expected.txt: Added.
3162         * layout-tests/editing/deleting/delete-4083333-fix.html: Added.
3163
3164 2005-04-29  Darin Adler  <darin@apple.com>
3165
3166         Reviewed by Dave Harrison.
3167
3168         - changed layout tests to dump more minimal information about caret and selection
3169
3170         * kwq/KWQRenderTreeDebug.cpp:
3171         (nodePosition): Changed name; now does position relative to document.
3172         (writeSelection): Removed upstream/downstream code and changed format slightly.
3173
3174         * layout-tests/editing/*-expected.txt: Regenerated in new format.
3175
3176 2005-04-29  Darin Adler  <darin@apple.com>
3177
3178         Reviewed by Chris Blumenberg.
3179         Added two layout tests for regression testing.
3180
3181         - fixed <rdar://problem/4097849> REGRESSION (162-163): importNode creates non-HTML elements, thus style attributes (and some others) don't work
3182
3183         * khtml/xml/dom_docimpl.cpp:
3184         (DocumentImpl::importNode): Reorganized and partly rewrote this. The change that fixes the bug at
3185         hand is to explicitly use XHTML_NAMESPACE for HTML elements, since the old way of getting the namespace
3186         will return the null string for HTML elements, and createElementNS will not create an HTML element
3187         if passed a null string for the namespace.
3188         (DocumentImpl::processHttpEquiv): Removed some bogus getDocument() calls -- no need to call getDocument()
3189         in a document object.
3190         (DocumentImpl::attrName): Ditto.
3191         (DocumentImpl::tagName): Ditto.
3192         (DocumentImpl::setFocusNode): Ditto.
3193
3194         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::cloneNode): Moved the actual cloning here
3195         from ElementImpl::cloneNode, because XMLElementImpl already had its own version, and in here
3196         we can use createHTMLElement, which will work properly even in an XML document, and is also slightly
3197         more efficient.
3198
3199         * khtml/xml/dom_nodeimpl.h: Added a namespaceURI method function to go along with localName.
3200         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::namespaceURI): Added. Returns null string to be consistent
3201         with localName (only works on certain types of elements as documented).
3202         * khtml/xml/dom_elementimpl.h: Removed ElementImpl::cloneNode (see above). Added an override of
3203         namespaceURI for XMLElementImpl.
3204         * khtml/xml/dom_elementimpl.cpp: (XMLElementImpl::namespaceURI): Added. Returns the namespace
3205         (consistent with localName).
3206
3207         * layout-tests/fast/dom/importNodeHTML.html: Added. Tests both importNode and cloneNode (for comparison).
3208         * layout-tests/fast/dom/importNodeHTML-expected.txt: Added.
3209         * layout-tests/fast/dom/importNodeXML.xhtml: Added. XML version of the same test as above. Tests a different
3210         code path, so useful to have.
3211         * layout-tests/fast/dom/importNodeXML-expected.txt: Added.
3212
3213 2005-04-28  Darin Adler  <darin@apple.com>
3214
3215         Reviewed by Dave Harrison.
3216
3217         - fixed problems preventing us from compiling with gcc 4.0
3218
3219         * WebCore.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
3220         way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
3221         WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
3222
3223         * khtml/css/parser.y: Changed some rules that were using a float to pass around an enum to use an
3224         int instead to avoid a warning.
3225         * khtml/css/parser.cpp: Regenerated.
3226         * khtml/css/parser.h: Regenerated.
3227
3228         * khtml/ecma/kjs_dom.cpp: (DOMTextProtoFunc::tryCall): Rearranged a return statement to avoid an incorrect
3229         warning.
3230         * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): Initialized a couple of variables to avoid
3231         an incorrect warning.
3232         * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::evaluate): Rearranged how we exit from the function to avoid
3233         an incorret warning.
3234         * khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Changed some %d to %ld where the
3235         parameters where long ints.
3236         * khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
3237         * khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
3238         * kwq/DOMEvents.mm: (-[DOMMouseEvent initMouseEvent:::::::::::::::]): Rearranged code to avoid a cast
3239         that was causing an incorrect warning.
3240         * kwq/DOMUtility.mm:
3241         (createObjCDOMNode): Broke out as a separate function.
3242         (KJS::ScriptInterpreter::createObjcInstanceForValue): Rearranged code to avoid a namespace collision with
3243         KJS::DOMNode and the Objective-C DOMNode class.
3244         * kwq/KWQFileButton.mm: Made fields of KWQFileButtonAdapter public to avoid an error, new to gcc 4.0,
3245         about accessing protected Objective-C fields.
3246         * kwq/KWQKHTMLPart.mm:
3247         (KWQKHTMLPart::matchLabelsAgainstElement): Rearranged a return statement to avoid an incorrect warning.
3248         (KWQKHTMLPart::imageFromRect): Rearranged how this function does its exception handling to avoid a
3249         "may be clobbered" warning.
3250         * kwq/KWQKJavaAppletWidget.mm: Fixed incorrect import that said "KHTMLView.h" instead of "khtmlview.h".
3251         * kwq/KWQObject.mm: Made fields of KWQObjectTimerTarget public to avoid an error, new to gcc 4.0,
3252         about accessing protected Objective-C fields.
3253         * kwq/WebCoreBridge.mm: (partHasSelection): Used [bridge part] instead of getting directly at instance
3254         variable to avoid an error, new to gcc 4.0, about accessing protected Objective-C fields.
3255
3256         * WebCore-combined.exp: Regenerated.
3257         * WebCore-tests.exp: Added some additional symbols needed by the tests under gcc 4.0.
3258
3259 2005-04-28  Darin Adler  <darin@apple.com>
3260
3261         * WebCore.pbproj/project.pbxproj: Add back the main_thread_malloc files, rolled out by accident.
3262
3263 2005-04-27 Adele Peterson  <adele@apple.com>
3264
3265         Rolling out fix for <rdar://problem/4097849> because the following layout tests were failing:
3266
3267         fast/css/namespaces/001
3268         fast/css/namespaces/002
3269         fast/css/namespaces/004
3270         fast/css/namespaces/005
3271         fast/css/namespaces/006
3272         fast/overflow/003
3273         
3274
3275         * khtml/html/html_documentimpl.cpp:
3276         * khtml/html/html_documentimpl.h:
3277         * khtml/html/html_elementimpl.cpp:
3278         (HTMLElementImpl::namespaceURI):
3279         * khtml/xml/dom_docimpl.cpp:
3280         (DocumentImpl::importNode):
3281         (DocumentImpl::createElementNS):
3282         (DocumentImpl::createHTMLElement):
3283         (DocumentImpl::attrId):
3284         (DocumentImpl::tagId):
3285         * khtml/xml/dom_docimpl.h:
3286
3287 2005-04-27  John Sullivan  <sullivan@apple.com>
3288
3289         Reviewed by Darin.
3290         
3291         Experimental prototype of user-resizable textareas. All the new code is guarded by
3292         #if ALLOW_RESIZING_TEXTAREAS, which is false unless you remove a comment and rebuild.
3293         
3294         This code allows you to press near the bottom-right corner of any textarea and drag
3295         to resize the textarea on the page. It works correctly with textareas in left-aligned
3296         or centered blocks, but is weird in right-aligned blocks. It also does something
3297         sensible if the width is specified as a % (in that case, you can resize vertically only).
3298         The user-created-size survives resizing the window and survives the back/forward cache.
3299         It does not survive reloading the page.
3300         
3301         This complete-lack-of-affordance UI is obviously not shippable, but this proof of concept
3302         code could lead to a real user feature.
3303
3304         * kwq/KWQTextArea.mm:
3305         (-[KWQTextArea getNumColumns:andNumRows:forSize:]):
3306         new method that determines cols and rows for a given textarea frame size
3307         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
3308         new method that tracks a drag and does a live resize-and-relayout
3309         (-[KWQTextAreaTextView mouseDown:]):
3310         if the mouse down is in the bottom-right corner, call _trackResizeFromMouseDown:
3311
3312 2005-04-27  John Sullivan  <sullivan@apple.com>
3313
3314         Reviewed by Adele.
3315
3316         - fixed problem with mouse wheel patch where alt and shift keys were switched
3317
3318         * khtml/xml/dom2_eventsimpl.h:
3319         use the order cntl, alt, shift, meta in KeyboardEventImpl constructors to match
3320         superclass. This isn't necessary to fix the bug, but is better for clarity.
3321         
3322         * khtml/xml/dom2_eventsimpl.cpp:
3323         (KeyboardEventImpl::KeyboardEventImpl):
3324         switch parameter order to match superclass. Then pass the parameters to superclass's
3325         constructor in the right order.
3326         (KeyboardEventImpl::initKeyboardEvent):
3327         Pass parameters to superclass's constructor in the right order.
3328
3329 2005-04-26  Adele Peterson  <adele@apple.com>
3330
3331         Fixed by Darin, reviewed by me.
3332
3333         Fix for <rdar://problem/4084029> designMode doesn't allow editing when iframe src = "" or = about:blank
3334         
3335         This change will add an HTML element for empty documents.  Now that there will be an HTMLDocument in this case, 
3336         a body will also be created (see rdar://problem/3758785). This was preventing frames with empty documents from 
3337         being editable.
3338
3339         * khtml/html/htmlparser.cpp: (KHTMLParser::finished):
3340
3341         Updated these tests to expect the HTML and BODY elements
3342         * layout-tests/fast/flexbox/016-expected.txt:
3343         * layout-tests/fast/frames/001-expected.txt:
3344         * layout-tests/fast/frames/002-expected.txt:
3345         * layout-tests/fast/frames/contentWindow_Frame-expected.txt:
3346         * layout-tests/fast/frames/contentWindow_iFrame-expected.txt:
3347         * layout-tests/fast/frames/empty-frame-src-expected.txt:
3348
3349 2005-04-26  Maciej Stachowiak  <mjs@apple.com>
3350
3351         New test case for <rdar://problem/4092136> reproducible crash in KJS::kjs_fast_realloc loading maps.google.com
3352
3353         * layout-tests/fast/js/string-from-char-code-expected.txt: Added.
3354         * layout-tests/fast/js/string-from-char-code.html: Added.
3355
3356 2005-04-26  Darin Adler  <darin@apple.com>
3357
3358         Reviewed by John.
3359
3360         - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
3361
3362         Loose ends:
3363
3364             - need to test behavior of Windows IE with horizontal scroll wheeling; we currently send a distinct event
3365               for that relatively obscure case, which means the event handlers won't fire at all; might be incorrect
3366             - overflow scrolling is done after all DOM event handling, but ideally should be done in the overflowing
3367               element's default event handler; not important in practice
3368             - frame scrolling is done after all DOM event handling, but probably should be done in a default event handler;
3369               not sure about this, but it's probably not important in practice and definitely not required
3370
3371         - JavaScript
3372
3373         * khtml/ecma/kjs_events.h: Added DOMWheelEvent.
3374         * khtml/ecma/kjs_events.cpp:
3375         (KJS::getDOMEvent): Added a case for wheel event. To be forward looking, I use the event's impl pointer
3376         instead of a C++ DOM wrapper. Eventually it will all work this way.
3377         (offsetFromTarget): Added. Factored out code to compute offsetX/Y for an event.
3378         (DOMMouseEvent::getValueProperty): Changed to call offsetFromTarget for offsetX/Y.
3379         (DOMWheelEvent::DOMWheelEvent): Added.
3380         (DOMWheelEvent::tryGet): Added.
3381         (DOMWheelEvent::getValueProperty): Added.
3382         (DOMWheelEventProtoFunc::tryCall): Added. Nothing at the moment, but might get contents later.
3383
3384         * khtml/ecma/kjs_dom.h: Added OnMouseWheel to the enum with the list of properties.
3385         * khtml/ecma/kjs_dom.cpp: Added onmousewheel as a property of DOM nodes.
3386         (DOMNode::getValueProperty): Return the mouse wheel event handler.
3387         (DOMNode::putValue): Set the mouse wheel event handler.
3388
3389         * khtml/ecma/kjs_window.cpp: Added onmousewheel as a property of the window.
3390         (Window::get): Return the mouse wheel event handler.
3391         (Window::put): Set the mouse wheel event handler.