1 2005-05-26 Darin Adler <darin@apple.com>
3 Reviewed by Richard and Dave Harrison.
4 No new test cases needed for this change.
6 - eliminate WebCoreUnicode and use ICU directly instead
7 - fixed compiling with gcc 4.0 (was broken for Development only)
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.
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.
29 * kwq/KWQChar.mm: Removed.
30 * kwq/WebCoreUnicode.cpp: Removed.
31 * kwq/WebCoreUnicode.h: Removed.
33 * WebCore.pbproj/project.pbxproj: Removed files.
35 2005-05-26 David Harrison <harrison@apple.com>
39 <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
41 * kwq/WebCoreBridge.mm:
42 (-[WebCoreBridge rangeOfCharactersAroundCaret]):
43 Nil-check result of VisiblePosition previous() and next().
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().
51 * khtml/editing/visible_units.cpp:
52 (khtml::startOfEditableContent):
53 (khtml::endOfEditableContent):
54 Removed redundant check for isEditableContent().
56 * khtml/editing/jsediting.cpp:
57 * khtml/khtml_part.cpp:
58 (KHTMLPart::transpose):
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.
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.
71 2005-05-24 Richard Williamson <rjw@apple.com>
73 Fixed <rdar://problem/4127061> <canvas> backing store should be zero filled
75 Use calloc instead of malloc to ensure zero filled backing store.
79 * khtml/rendering/render_canvasimage.cpp:
80 (RenderCanvasImage::createDrawingContext):
82 2005-05-24 John Sullivan <sullivan@apple.com>
84 Reviewed by Dave Hyatt.
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
90 Test cases added: none; doesn't affect page layout
93 added inInitWithFrame ivar
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
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:]):
122 (-[KWQTextAreaTextView mouseDown:]):
123 ditto; also, make the textarea handle the resize tracking now
125 2005-05-24 Darin Adler <darin@apple.com>
127 - another gcc 4.0 fix
129 No new test cases needed.
131 * khtml/dom/dom2_events.cpp: Moved constants out of the KHTML_NO_CPLUSPLUS_DOM #if.
133 2005-05-24 Darin Adler <darin@apple.com>
137 - fixed <rdar://problem/4128727> many DOM classes not exported (can't add categories or do other things that require class name linking)
139 No new test cases needed.
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.
144 2005-05-24 Maciej Stachowiak <mjs@apple.com>
148 - fixed <rdar://problem/3598589> onunload handler doesn't fire when a window is closed
151 * layout-tests/fast/events/onunload-expected.txt: Added.
152 * layout-tests/fast/events/onunload.html: Added.
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.
162 2005-05-24 John Sullivan <sullivan@apple.com>
166 - WebCore part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
168 * kwq/KWQKHTMLSettings.h:
169 (KHTMLSettings::textAreasAreResizable):
171 (KHTMLSettings::setTextAreasAreResizable):
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
184 (-[KWQTextAreaTextView drawRect:]):
185 now checks isResizableByUser
186 (-[KWQTextAreaTextView mouseDown:]):
189 * kwq/WebCoreSettings.h:
190 * kwq/WebCoreSettings.mm:
191 (-[WebCoreSettings setTextAreasAreResizable:]):
193 (-[WebCoreSettings textAreasAreResizable]):
196 2005-05-23 Maciej Stachowiak <mjs@apple.com>
200 - split remaining editing command classes out of htmlediting.cpp
201 - rename InsertParagraphSeparatorInQuotedContentCommand to BreakBlockquoteCommand
203 No layout tests needed - this is a pure refactoring change.
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.
250 2005-05-23 Darin Adler <darin@apple.com>
252 * WebCore.exp: Sorted file for more readable diffs.
254 2005-05-23 Adele Peterson <adele@apple.com>
258 fix for <rdar://problem/4122661> Regression: 10.3.8-10.3.9: Next lesson doesn't work on Dale Carnegie Action Systems page
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.
262 2005-05-23 David Harrison <harrison@apple.com>
266 Prevent crash when going from no selection to selection with mispelling checks enabled.
268 * kwq/KWQKHTMLPart.mm:
269 (KWQKHTMLPart::markMisspellings):
270 Repair check for null searchRange. Was inadvertently broken in recent checkin.
272 2005-05-23 John Sullivan <sullivan@apple.com>
274 Reviewed by Dave Hyatt.
276 - fixed <rdar://problem/4123592> Can't resize textareas that have a width specified by a style
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
285 2005-05-22 Adele Peterson <adele@apple.com>
289 fix for <rdar://problem/4127101> REGRESSION(412-TOT) crash when creating Option element
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.
294 2005-05-20 John Sullivan <sullivan@apple.com>
298 - fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading
299 page with resizable textarea
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.
307 2005-05-19 Darin Adler <darin@apple.com>
311 - turned off exceptions and RTTI; seems to cut WebCore code size by about 35%
313 * WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.
315 2005-05-19 Darin Adler <darin@apple.com>
317 Reviewed by Chris Petersen.
319 - fixed a mistake I introduced in my previous check-in that caused a Deployment build failure
321 * kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both
322 the build failure and a potential bug!
324 2005-05-17 Darin Adler <darin@apple.com>
327 No new layout tests required.
329 - remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)
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.
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.
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.
341 * khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined,
344 * khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.
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.
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.
355 * khtml/editing/visible_text.h: Added an include of <qstring.h>.
357 * khtml/misc/loader.h: Added isKHTMLLoader.
358 * khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.
360 * khtml/rendering/render_form.h:
361 * khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work
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.
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.
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.
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.
389 * kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.
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.
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.
403 * kwq/KWQSlot.mm: Removed all uses of dynamic_cast.
405 * kwq/WebCoreBridge.mm:
406 (-[WebCoreBridge stringForRange:]): Used plainText instead of text.
407 (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.
409 2005-05-16 Darin Adler <darin@apple.com>
411 - attempt to get things building under "Saffron" development tools
413 * WebCore.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
415 2005-05-16 Adele Peterson <adele@apple.com>
417 Changes by Darin. Reviewed by myself.
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.
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)
428 2005-05-16 Darin Adler <darin@apple.com>
432 - fixed issues preventing us from compiling with newer versions of gcc 4.0
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.
437 * khtml/editing/selection.h: Specified KHTMLPart friend class as ::KHTMLPart, since if it's
438 not explicitly qualified, it means DOM::KHTMLPart.
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.
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.
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!
465 * kwq/KWQTextArea.mm: (RangeOfParagraph): Change else structure to work around compiler
468 2005-05-13 John Sullivan <sullivan@apple.com>
470 * kwq/KWQTextArea.mm:
471 (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
472 added Radar numbers to FIXMEs about resizable textareas
473 (-[KWQTextAreaTextView resetCursorRects]):
475 (-[KWQTextAreaTextView mouseDown:]):
478 2005-05-12 Darin Adler <darin@apple.com>
480 Reviewed by Chris Blumenberg.
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.
486 * khtml/dom/dom2_range.cpp:
487 * khtml/dom/dom2_range.h:
488 * khtml/ecma/kjs_window.cpp:
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:
505 (khtml::startVisiblePosition):
506 (khtml::endVisiblePosition):
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):
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:
535 (KHTMLPart::selectedText):
536 (KHTMLPart::shouldBeginEditing):
537 (KHTMLPart::shouldEndEditing):
538 (KHTMLPart::selectionComputedStyle):
539 * khtml/khtml_part.h:
541 * khtml/rendering/render_text.cpp:
542 (InlineTextBox::paint):
543 * khtml/xml/dom2_rangeimpl.cpp:
545 (DOM::rangeOfContents):
546 * khtml/xml/dom2_rangeimpl.h:
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:
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]):
601 2005-05-13 Maciej Stachowiak <mjs@apple.com>
605 - more splitting up of htmlediting.cpp
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.
620 2005-05-12 Adele Peterson <adele@apple.com>
624 fix for <rdar://problem/4117656> deleting an input element in its onBlur handler crashes Safari
626 * khtml/rendering/render_form.cpp: (RenderLineEdit::handleFocusOut): added nil check for element
628 2005-05-12 John Sullivan <sullivan@apple.com>
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.
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:]):
652 2005-05-05 John Sullivan <sullivan@apple.com>
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.
662 2005-05-02 John Sullivan <sullivan@apple.com>
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
671 * Resources/textAreaResizeCorner.tiff: Added.
672 * WebCore.pbproj/project.pbxproj:
673 updated for added image file
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
688 2005-04-18 John Sullivan <sullivan@apple.com>
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).
696 * kwq/WebCoreBridge.h:
697 add textDidChange: method
699 * kwq/KWQTextArea.mm:
700 (-[KWQTextArea textDidChange:]):
701 call through to bridge
703 2005-04-07 John Sullivan <sullivan@apple.com>
705 WebCore support for find-as-you-type; needed an additional parameter
706 to findString and searchFor:...
708 Reviewed by Dave Hyatt.
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
716 * kwq/WebCoreBridge.h:
717 * kwq/WebCoreBridge.mm:
718 (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
719 new findInSelection parameter; passed through to findString
721 2005-05-12 Darin Adler <darin@apple.com>
723 Reviewed by Maciej (except for some parts outside the ECMA directory).
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
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.
736 * khtml/css/cssproperties.in: Fixed up comments.
738 * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
739 buffer size in the propertyID function.
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.
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.
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.
759 * kwq/DOMHTML.mm: Ditto.
761 * khtml/khtml_part.cpp: Tweaked incluudes.
762 * khtml/khtmlpart_p.h: Ditto.
764 * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
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.
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):
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):
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):
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):
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):
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):
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):
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):
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):
999 (KJS::KJS::Context2DFunction::tryCall):
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):
1026 (KJS::RangeConstructor::tryGet):
1027 (KJS::getRangeConstructor):
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:
1064 (KJS::Window::hasProperty):
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):
1093 2005-05-11 David Hyatt <hyatt@apple.com>
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.
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.
1105 * khtml/ecma/kjs_window.cpp:
1107 (Window::updateLayout):
1108 * khtml/ecma/kjs_window.h:
1110 2005-05-11 Maciej Stachowiak <mjs@apple.com>
1114 - split some more individual classes out of htmlediting.cpp
1115 (CompositeEditcommand, AppendnodeCommand, ApplyStyleCommand)
1117 Also moves StyleChange directly into ApplyStyleCommand
1118 implementation file, it doesn't need to be in a header at all.
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:
1132 2005-05-11 Adele Peterson <adele@apple.com>
1136 fix for <rdar://problem/4061979> crash in DOM::ElementImpl::setAttribute at www.nitto-kohki.co.jp
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.
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.
1149 2005-05-10 Maciej Stachowiak <mjs@apple.com>
1153 - start on splitting htmlediting.cpp into smaller files - pull
1154 EditCommand and EditCommandPtr out.
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.
1162 2005-05-10 David Hyatt <hyatt@apple.com>
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.
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):
1295 (StyledElementImpl::addCSSProperty):
1296 (StyledElementImpl::addCSSStringProperty):
1297 (StyledElementImpl::addCSSImageProperty):
1298 (StyledElementImpl::addCSSLength):
1299 (StyledElementImpl::addCSSColor):
1300 (StyledElementImpl::createMappedDecl):
1301 * khtml/xml/dom_elementimpl.h:
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):
1321 2005-05-10 Darin Adler <darin@apple.com>
1323 Reviewed by Dave Hyatt.
1324 No new layout tests needed.
1326 - remove all remaining uses of QMIN/QMAX and KMIN/KMAX.
1328 * kwq/KWQDef.h: Remove the macros.
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).
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):
1364 2005-05-10 Darin Adler <darin@apple.com>
1366 Reviewed by Chris Blumenberg.
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)
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):
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:
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):
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):
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):
1746 (-[DOMCSSStyleSheet cssRules]):
1747 (-[DOMCSSStyleDeclaration getPropertyValue:]):
1748 (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
1749 (-[DOMCSSStyleDeclaration removeProperty:]):
1750 (-[DOMCSSStyleDeclaration getPropertyPriority:]):
1751 (-[DOMCSSStyleDeclaration setProperty:::]):
1752 (-[DOMCSSValue setCssText:]):
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):
1785 (isTextFirstInListItem):
1786 (KWQKHTMLPart::attributedString):
1787 (KWQKHTMLPart::snapshotDragImage):
1788 (KWQKHTMLPart::mousePressNode):
1789 * kwq/WebCoreBridge.mm:
1790 (updateRenderingForBindings):
1791 (-[WebCoreBridge _documentTypeString]):
1793 2005-05-10 Maciej Stachowiak <mjs@apple.com>
1797 - rename hasAnchor method to isLink
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):
1833 2005-05-09 Maciej Stachowiak <mjs@apple.com>
1837 - remove init hint argument from VisiblePosition
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:]):
1853 2005-05-10 Darin Adler <darin@apple.com>
1855 Reviewed by David Harrison.
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.)
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):
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:
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):
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):
2039 2005-05-10 Darin Adler <darin@apple.com>
2041 Reviewed by David Harrison.
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)
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:
2419 2005-05-09 Maciej Stachowiak <mjs@apple.com>
2423 - remove more isFirst/isLast functions and use isStart/isEnd verions instead
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:
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:]):
2445 2005-05-09 Maciej Stachowiak <mjs@apple.com>
2449 - remove isFirstVisiblePositionInBlock and isLastVisiblePositionInBlock, in favor of isStartOfBlock and isEndOfBlock
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.
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.
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:
2480 2005-05-09 Adele Peterson <adele@apple.com>
2482 fix for <rdar://problem/4110775> Crash will occur when double-clicking outerHTML link on W3 DOM test
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.
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.
2499 2005-05-09 Maciej Stachowiak <mjs@apple.com>
2503 - remove code for DoNotStayInBlock variant of upstream/downstream and make
2504 the methods take no parameters
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:
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:]):
2547 2005-05-08 Maciej Stachowiak <mjs@apple.com>
2549 Reviewed by Dave Harrison.
2551 - remove remaining uses of upstream/downstream DoNotStayInBlock
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):
2563 * khtml/editing/visible_position.cpp:
2564 (khtml::enclosingBlockFlowElement): New helper function.
2565 * khtml/editing/visible_position.h:
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.
2572 2005-05-09 David Harrison <harrison@apple.com>
2574 Add layout test for <rdar://problem/4110366>.
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.
2579 2005-05-09 Darin Adler <darin@apple.com>
2581 - checked in a result for the Flash replacement test that Dave added
2583 * layout-tests/fast/dynamic/flash-replacement-test-expected.txt: Added.
2584 Hope it's right! If not, Dave can update it.
2586 2005-05-09 Darin Adler <darin@apple.com>
2588 * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
2589 Not needed to make builds work, spews undesirable error messages too.
2591 * WebCore.pbproj/project.pbxproj: Remove unneeded $(DSTROOT) in framework paths.
2593 2005-05-07 Maciej Stachowiak <mjs@apple.com>
2597 - remove some of the uses of upstream/downstream DoNotStayInBlock
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
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.
2610 2005-05-07 David Harrison <harrison@apple.com>
2614 <rdar://problem/4110366> Deleting text at the end of email moves insertion point to the top of the document
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().
2621 2005-05-07 David Harrison <harrison@apple.com>
2623 Remove workaround for <rdar://problem/4103339>.
2625 * khtml/editing/htmlediting.cpp:
2626 (khtml::DeleteSelectionCommand::initializePositionData):
2628 2005-05-06 Maciej Stachowiak <mjs@apple.com>
2630 Reviewed by Dave Harrison.
2632 - make StayInBlock vs DoNotStayInBlock explicit in all calls to
2633 upstream/downstream, in preparation for phasing out the
2634 DoNotStayInBlock variant.
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:
2649 2005-05-06 David Harrison <harrison@apple.com>
2651 Reviewed by Maciej, Darin.
2653 <rdar://problem/4103339> VisiblePosition and PositionIterator iterators do not return positions in order
2655 * WebCore.pbproj/project.pbxproj:
2656 Removed dom_positioniterator.h and dom_positioniterator.cpp.
2658 * khtml/editing/htmlediting.cpp:
2659 Removed unused include of dom_positioniterator.h and "using" of PositionIterator.
2661 * khtml/editing/selection.cpp:
2662 Removed unused include of dom_positioniterator.h.
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.
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()
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.
2685 (DOM::Position::previousCharacterPosition):
2686 (DOM::Position::nextCharacterPosition):
2687 Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of PositionIterator.
2690 (DOM::Position::upstream):
2691 (DOM::Position::downstream):
2692 Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of PositionIterator.
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()
2698 2005-05-05 Maciej Stachowiak <mjs@apple.com>
2702 <rdar://problem/4058167> Unit Converter and Weather widgets crashed in KJS::Collector::markCurrentThreadConservatively
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.
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:
2722 (DOMDocument::DOMDocument):
2723 (DOMElement::DOMElement):
2724 (DOMDOMImplementation::DOMDOMImplementation):
2725 (DOMNamedNodeMap::DOMNamedNodeMap):
2726 (DOMNamedNodesCollection::DOMNamedNodesCollection):
2727 (DOMCharacterData::DOMCharacterData):
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):
2748 2005-05-06 Darin Adler <darin@apple.com>
2752 - make building multiple trees with make work better
2754 * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
2756 2005-05-05 David Hyatt <hyatt@apple.com>
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
2762 The radar # is 4109888.
2766 * khtml/ecma/kjs_window.cpp:
2768 (Window::updateLayout):
2769 * khtml/ecma/kjs_window.h:
2771 2005-05-05 David Hyatt <hyatt@apple.com>
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.
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.
2782 Reviewed by John Sullivan
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.
2791 2005-05-05 Darin Adler <darin@apple.com>
2793 Reviewed by Dave Hyatt.
2795 - fixed <rdar://problem/4109564> REGRESSION (Atlanta): maps.google.com doesn't always center California correctly
2797 * khtml/ecma/kjs_events.cpp: (offsetFromTarget): Fix two places that said X where they should say Y.
2799 2005-05-05 David Harrison <harrison@apple.com>
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.
2805 * khtml/editing/htmlediting.cpp:
2806 (khtml::EditCommandPtr::setEndingSelection):
2808 2005-05-02 Maciej Stachowiak <mjs@apple.com>
2812 - renamed NodeBaseImpl to ContainerNodeImpl
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
2820 * khtml/xml/dom_nodeimpl.cpp:
2821 (NodeBaseImpl::checkNoOwner): Removed.
2823 Ther rest is all just simple renaming.
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:
2878 2005-05-04 Vicki Murley <vicki@apple.com>
2882 - fix mismatched parentheses in one of the ifdefs
2884 * khtml/html/html_headimpl.cpp:
2885 (HTMLTitleElementImpl::childrenChanged):
2887 2005-05-04 Darin Adler <darin@apple.com>
2889 Reviewed by Dave Hyatt.
2891 - fixed build rules to match other projects
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
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.
2902 2005-05-04 Vicki Murley <vicki@apple.com>
2906 - fixed <rdar://problem/3986228> Not able to load additional script blocks dynamically
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.
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):
2924 2005-05-03 David Hyatt <hyatt@apple.com>
2926 Normalize all our custom properties in our implementation to be -khtml (remove all the -apple).
2928 Make sure that -apple, -khtml, and -moz are all able to be used. -apple and -moz just map to -khtml.
2930 Add support for automatically converting -khtml-opacity to opacity (for legacy Safari 1.1 compat).
2934 * khtml/css/css_computedstyle.cpp:
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:
2947 2005-05-03 Darin Adler <darin@apple.com>
2951 * WebCore.pbproj/project.pbxproj: Fix some SYMROOTS that should have been SYMROOT.
2953 2005-05-03 David Hyatt <hyatt@apple.com>
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.
2958 New test is comments-in-script.html
2960 * khtml/html/htmltokenizer.cpp:
2961 (khtml::HTMLTokenizer::parseComment):
2963 2005-05-03 David Hyatt <hyatt@apple.com>
2965 Remove unused notification to avoid ERROR messages spewing on the acid2 test.
2969 * khtml/khtml_part.cpp:
2970 (KHTMLPart::processObjectRequest):
2971 * khtml/rendering/render_frames.cpp:
2972 (RenderPartObject::updateWidget):
2973 * khtml/rendering/render_frames.h:
2975 2005-05-03 Darin Adler <darin@apple.com>
2977 Reviewed by Dave Hyatt.
2978 No new layout tests needed.
2980 - eliminated the bogus kMin/kMax macros that we had in addition to inline functions
2983 * kwq/KWQKGlobal.h: Remove the kMin/kMax macros.
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.
2991 - remove unused parameter to dirtyLinesFromChangedChild for clarity
2993 * khtml/rendering/render_object.h: Don't take the parameter.
2994 * khtml/rendering/render_object.cpp: (RenderObject::dirtyLinesFromChangedChild): Ditto.
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.
3001 * khtml/rendering/render_text.cpp: (RenderText::detach): Don't pass the parameter.
3003 - convert DOM::NodeImpl into an abstract base class by making a couple of functions
3004 pure virtual for clarity
3006 * khtml/xml/dom_nodeimpl.h: Made nodeName and nodeType pure virtual.
3007 * khtml/xml/dom_nodeimpl.cpp: Remove bodies of nodeName and nodeType.
3009 2005-05-03 David Hyatt <hyatt@apple.com>
3011 Fix for object element to support fallback content. WIth this change Safari passes the Acid2 test.
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]):
3049 2005-05-01 Darin Adler <darin@apple.com>
3051 - move to Xcode native targets and stop checking in generated files
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.
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.
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.
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.
3067 * .cvsignore: Removed various timestamp files.
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.
3111 2005-05-02 Darin Adler <darin@apple.com>
3114 Added two layout tests for regression testing.
3116 - redid frameElement (fix for 4091082 below)
3118 The first version lacked a security check, and was also broken.
3120 * khtml/ecma/kjs_window.cpp:
3121 (frameElement): Refactored into separate function; added isSafeScript check.
3122 (Window::get): Call the new frameElement function.
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.
3130 2005-05-02 David Harrison <harrison@apple.com>
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.
3137 * khtml/editing/visible_units.cpp:
3138 (khtml::isStartOfEditableContent):
3139 (khtml::isEndOfEditableContent):
3142 2005-04-29 Darin Adler <darin@apple.com>
3144 Reviewed by David Harrison.
3146 * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Turn newlines into \n for better dumping.
3148 2005-04-29 David Harrison <harrison@apple.com>
3152 <rdar://problem/4083333> When deleting link at end of sentence, entire sentence gets deleted
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.
3158 (khtml::DeleteSelectionCommand::handleGeneralDelete):
3159 Add isAncestor check when comparing m_downstreamEnd.node() and m_startNode.
3161 * layout-tests/editing/deleting/delete-4083333-fix-expected.txt: Added.
3162 * layout-tests/editing/deleting/delete-4083333-fix.html: Added.
3164 2005-04-29 Darin Adler <darin@apple.com>
3166 Reviewed by Dave Harrison.
3168 - changed layout tests to dump more minimal information about caret and selection
3170 * kwq/KWQRenderTreeDebug.cpp:
3171 (nodePosition): Changed name; now does position relative to document.
3172 (writeSelection): Removed upstream/downstream code and changed format slightly.
3174 * layout-tests/editing/*-expected.txt: Regenerated in new format.
3176 2005-04-29 Darin Adler <darin@apple.com>
3178 Reviewed by Chris Blumenberg.
3179 Added two layout tests for regression testing.
3181 - fixed <rdar://problem/4097849> REGRESSION (162-163): importNode creates non-HTML elements, thus style attributes (and some others) don't work
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.
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
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).
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.
3213 2005-04-28 Darin Adler <darin@apple.com>
3215 Reviewed by Dave Harrison.
3217 - fixed problems preventing us from compiling with gcc 4.0
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.
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.
3228 * khtml/ecma/kjs_dom.cpp: (DOMTextProtoFunc::tryCall): Rearranged a return statement to avoid an incorrect
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.
3256 * WebCore-combined.exp: Regenerated.
3257 * WebCore-tests.exp: Added some additional symbols needed by the tests under gcc 4.0.
3259 2005-04-28 Darin Adler <darin@apple.com>
3261 * WebCore.pbproj/project.pbxproj: Add back the main_thread_malloc files, rolled out by accident.
3263 2005-04-27 Adele Peterson <adele@apple.com>
3265 Rolling out fix for <rdar://problem/4097849> because the following layout tests were failing:
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
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:
3287 2005-04-27 John Sullivan <sullivan@apple.com>
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.
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.
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.
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:
3312 2005-04-27 John Sullivan <sullivan@apple.com>
3316 - fixed problem with mouse wheel patch where alt and shift keys were switched
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.
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.
3329 2005-04-26 Adele Peterson <adele@apple.com>
3331 Fixed by Darin, reviewed by me.
3333 Fix for <rdar://problem/4084029> designMode doesn't allow editing when iframe src = "" or = about:blank
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
3339 * khtml/html/htmlparser.cpp: (KHTMLParser::finished):
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:
3349 2005-04-26 Maciej Stachowiak <mjs@apple.com>
3351 New test case for <rdar://problem/4092136> reproducible crash in KJS::kjs_fast_realloc loading maps.google.com
3353 * layout-tests/fast/js/string-from-char-code-expected.txt: Added.
3354 * layout-tests/fast/js/string-from-char-code.html: Added.
3356 2005-04-26 Darin Adler <darin@apple.com>
3360 - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
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
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.
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.
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.