Adopt WebCore::RegistrableDomain in WebCore::ResourceLoadStatistics and WebKit::Netwo...
[WebKit-https.git] / Source / WebCore / ChangeLog-2003-10-25
1 === Safari-111 ===
2
3 2003-10-24  Richard Williamson   <rjw@apple.com>
4
5         Fixed 3425358.  Don't try to create page cache for pages that
6         have a nil view().
7
8         Reviewed by Hyatt.
9
10         * kwq/WebCoreBridge.mm:
11         (-[WebCoreBridge saveDocumentToPageCache]):
12
13 2003-10-24  David Hyatt  <hyatt@apple.com>
14
15         Fix for 3133375, the minwidth computation for pres is wrong.  There were a couple of bugs here.
16         One is that pres only should have a breakable character if they contain a newline.  Otherwise they're
17         treated essentially like nowrap.  The other was that m_beginMinWidth and m_endMinWidth needed to be
18         set to the maxwidth of the first line and the maxwidth of the last line respectively for pres instead of
19         being only the first and last words.
20         
21         Reviewed by mjs
22
23         * khtml/rendering/render_text.cpp:
24         (RenderText::calcMinMaxWidth):
25
26 2003-10-24  David Hyatt  <hyatt@apple.com>
27
28         Two fixes to the computation of min/max width for text runs.
29         (1) Make sure that pre runs don't add in word-spacing to the last word on a line (e.g., when a newline explicitly
30         breaks a pre).
31         (2) Fix a bug where breakable characters weren't getting factored into minwidth properly.  When a word got broken
32         because of a breakable character, we were treating the breakable character like a space, and not including its
33         width as part of the minimum width of the text run.
34         
35         Reviewed by john
36
37         * khtml/rendering/render_text.cpp:
38         (RenderText::calcMinMaxWidth):
39
40 2003-10-23  David Hyatt  <hyatt@apple.com>
41
42         This patch fixes the pseudo-elements ::first-line and ::first-letter to inherit styles properly.  More
43         specifically it does the following:
44
45         (1) Implements caching of pseudo-styles once computed off the style() which originated the pseudo-style.
46         The old code did this, and this was a regression from my previous patch.
47
48         (2) Fixes first-letter checking so that it happens at layout time rather than during render object
49         construction time, since that makes first-letter more dynamic and causes it to be discovered in cases
50         where it was being missed before.  This fixes the front page of meyerweb.com.
51
52         (3) Make first-letter inherit from first-line like it's supposed to, and also make first-line styles
53         cross blocks and inherit properly from enclosing containers.
54
55         (4) Make first-letter changes cause a detach/attach to fire just as when the display changes.  I generalized
56         the notion of needing to detach on a style change by making it a new kind of hint in dom_nodeimpl's style
57         diff function.
58
59         (5) Fixed isBlockFlow to return true for inline-blocks.
60         
61         Reviewed by john
62
63         * khtml/rendering/render_block.cpp:
64         (khtml::RenderBlock::addChildToFlow):
65         (khtml::RenderBlock::layoutBlock):
66         (khtml::RenderBlock::getFirstLineBox):
67         (khtml::RenderBlock::firstLineBlock):
68         (khtml::RenderBlock::updateFirstLetter):
69         * khtml/rendering/render_block.h:
70         (khtml::RenderBlock::isBlockFlow):
71         * khtml/rendering/render_line.cpp:
72         (InlineFlowBox::paintBackgroundAndBorder):
73         * khtml/rendering/render_list.cpp:
74         (RenderListItem::setStyle):
75         * khtml/rendering/render_object.cpp:
76         (RenderObject::RenderObject):
77         (RenderObject::firstLineBlock):
78         (RenderObject::updateFirstLetter):
79         (RenderObject::dump):
80         (RenderObject::setStyle):
81         (RenderObject::recalcMinMaxWidths):
82         (RenderObject::style):
83         (RenderObject::getPseudoStyle):
84         * khtml/rendering/render_object.h:
85         (khtml::RenderObject::overhangingContents):
86         * khtml/rendering/render_style.cpp:
87         (pseudoBit):
88         * khtml/rendering/render_style.h:
89         (khtml::RenderStyle::):
90         * khtml/rendering/render_table.cpp:
91         (RenderTable::firstLineBlock):
92         (RenderTable::updateFirstLetter):
93         * khtml/rendering/render_table.h:
94         * khtml/rendering/render_text.cpp:
95         (RenderText::paintObject):
96         (RenderText::htmlFont):
97         * khtml/xml/dom_elementimpl.cpp:
98         (ElementImpl::recalcStyle):
99         * khtml/xml/dom_nodeimpl.cpp:
100         (NodeImpl::diff):
101         * khtml/xml/dom_nodeimpl.h:
102         (DOM::NodeImpl::):
103
104 2003-10-23  Ken Kocienda  <kocienda@apple.com>
105
106         Reviewed by David
107
108         Fix for these bugs:
109
110         <rdar://problem/3171929>: Safari picks a different button in a 
111         form when you hit return if the first button has no name
112         <rdar://problem/3200386>: investigate which button is activated 
113         when hitting return in form text input fields
114
115         HTML spec says that buttons must have names to be considered
116         successful. However, other browsers do not impose this constraint.
117         Therefore, we behave differently, and can use different buttons than
118         the author intended.
119
120         * khtml/html/html_formimpl.cpp:
121         (HTMLButtonElementImpl::isSuccessfulSubmitButton)
122         (HTMLInputElementImpl::isSuccessfulSubmitButton)
123
124 2003-10-22  David Hyatt  <hyatt@apple.com>
125
126         Fix for 3460726, the user agent string was returning nil.  
127
128         Fix for 3386544, empty documents did not get a layout, and so they looked white.  Also fixed the positioning
129         of widgets to account for border/padding in updateWidgetPositions.
130
131         Fix for espn.com crasher, 3458143, caused by layout object not being properly cleared when layouts were
132         unscheduled.
133         
134         Reviewed by darin
135
136         * khtml/khtmlview.cpp:
137         * khtml/rendering/render_canvas.cpp:
138         (RenderCanvas::RenderCanvas):
139         * khtml/rendering/render_replaced.cpp:
140         (RenderWidget::updateWidgetPositions):
141         * kwq/KWQKHTMLPart.mm:
142         (KWQKHTMLPart::userAgent):
143
144 2003-10-22  Maciej Stachowiak  <mjs@apple.com>
145
146         Reviewed by 
147
148         - fixed 3460664 - Exception handlers not properly removed
149         
150         * kwq/KWQKHTMLPart.mm:
151         (KWQKHTMLPart::mouseMoved): Don't return from exception block
152         (KWQKHTMLPart::khtmlMouseReleaseEvent): Add exception blocking (whoops)
153
154 2003-10-22  John Sullivan  <sullivan@apple.com>
155
156         - fixed 3460652 -- REGRESSION (100-110+): Can't tab out of a 
157         frameset page
158
159         Reviewed by Darin (actually he made the change on my machine)
160
161         * khtml/html/html_baseimpl.cpp:
162         (HTMLFrameSetElementImpl::defaultEventHandler):
163         only set defaultHandled for the one event that we actually
164         handle (mouse event to resize frame borders); this was always
165         being set, hence preventing key events from being used elsewhere.
166
167 2003-10-22  Richard Williamson   <rjw@apple.com>
168
169         Fixed 3454067.  RenderText's repaint wasn't called because of recent changes to de-virtualize repaint.  Modified getAbsoluteRepaintRect() to return containing block's getAbsoluteRepaintRect().
170         
171         Also removed the long standing +1 from QFontMetrics::height().
172
173         Reviewed by Hyatt.
174
175         * khtml/rendering/render_text.cpp:
176         (RenderText::getAbsoluteRepaintRect):
177         * khtml/rendering/render_text.h:
178         * kwq/KWQFontMetrics.mm:
179         (QFontMetrics::height):
180
181 2003-10-22  David Hyatt  <hyatt@apple.com>
182
183         Fix visibility to be done when widgets are added or when styles are set rather than at paint time.  Fixes
184         the ads painting on top of content at tvguide.com.
185         
186         Reviewed by cblu
187
188         * khtml/rendering/render_replaced.cpp:
189         (RenderWidget::setQWidget):
190         (RenderWidget::setStyle):
191         (RenderWidget::paintObject):
192         * kwq/KWQWidget.h:
193         * kwq/KWQWidget.mm:
194         (QWidget::QWidget):
195         (QWidget::show):
196         (QWidget::hide):
197
198 2003-10-21  Maciej Stachowiak  <mjs@apple.com>
199
200         Reviewed by Dave.
201
202         Finished exception blocking changes, so now I can finally say:
203
204         - fixed 3137084 - Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark
205         - fixed 3308848 - nil-deref in KHTMLView::topLevelWidget
206         - fixed 3311511 - nil deref inside KJS::Screen
207         - fixed 3397422 - 7B51: Safari crashed in KJS::ObjectImp::mark()
208         - fixed 3408373 - Panther7B58 : Safari Crashed in KJS::ObjectImp::mark
209         - fixed 3409307 - 7B55: safari crashed in KJS::Interpreter::globalExec() (idle, nothing particular going on)
210         - fixed 3410160 - 7B60 Safari crashed in KHTMLPart::parentPart called from JS while in the background
211         - fixed 3413224 - unrepro crash in KJS::Window::mark
212         - fixed 3419940 - unrepro crash in KJS::Collector::allocate trying to access http://www.lindyinthepalms.com
213         - fixed 3420123 - Panther7B66: Safari crashed while going to http://www.tangents.co.uk/index2.html
214         - fixed 3423225 - Safari crash in vtable for KWQMapImpl (vtable for KWQMapImpl + 8).
215         - fixed 3437190 - nil-deref on quit in calling marked() from ScopeChain::mark()
216
217         * WebCore.pbproj/project.pbxproj:
218         * kwq/KWQFontMetrics.mm:
219         * kwq/KWQPainter.mm:
220         (QPainter::drawPixmap):
221         (QPainter::drawTiledPixmap):
222         (QPainter::_updateRenderer):
223         * kwq/WebCoreTextRenderer.h:
224
225 2003-10-21  David Hyatt  <hyatt@apple.com>
226
227         http://placenamehere.com/safari/fixedbgtest.html is now fixed with a patch from the KHTML trunk.
228         Fixed backgrounds repeated when they weren't supposed to.
229         
230         * khtml/rendering/render_box.cpp:
231         (RenderBox::paintBackgroundExtended):
232
233 2003-10-21  David Hyatt  <hyatt@apple.com>
234
235         Change pseudo-element style resolution to be lazy and to not occur until the style is actually asked
236         for by the front end render objects.  Also fix first-letter to inherit properly from first-line styles.
237         
238         Reviewed by mjs
239
240         * khtml/css/cssstyleselector.cpp:
241         (khtml::CSSStyleSelector::initForStyleResolve):
242         (khtml::CSSStyleSelector::styleForElement):
243         (khtml::CSSStyleSelector::pseudoStyleForElement):
244         (khtml::CSSStyleSelector::checkSelector):
245         (khtml::CSSStyleSelector::checkOneSelector):
246         * khtml/css/cssstyleselector.h:
247         * khtml/rendering/render_block.cpp:
248         (khtml::RenderBlock::addChildToFlow):
249         * khtml/rendering/render_container.cpp:
250         (RenderContainer::updatePseudoChild):
251         * khtml/rendering/render_object.cpp:
252         (RenderObject::setStyle):
253         (RenderObject::createInlineBox):
254         (RenderObject::style):
255         (RenderObject::getPseudoStyle):
256         * khtml/rendering/render_object.h:
257         * khtml/rendering/render_style.cpp:
258         (pseudoBit):
259         (RenderStyle::hasPseudoStyle):
260         (RenderStyle::setHasPseudoStyle):
261         (RenderStyle::getPseudoStyle):
262         (RenderStyle::addPseudoStyle):
263         * khtml/rendering/render_style.h:
264         (khtml::RenderStyle::NonInheritedFlags::operator==):
265         (khtml::RenderStyle::setBitDefaults):
266         * khtml/rendering/render_text.cpp:
267         (InlineTextBox::paintSelection):
268         (RenderText::paintObject):
269         (RenderText::htmlFont):
270
271 2003-10-21  Maciej Stachowiak  <mjs@apple.com>
272
273         Reviewed by Dave.
274
275         More exception blocking.
276
277         * kwq/KWQKHTMLPart.mm:
278         (KWQKHTMLPart::~KWQKHTMLPart):
279         (KWQKHTMLPart::generateFrameName):
280         (KWQKHTMLPart::openURL):
281         (KWQKHTMLPart::openURLRequest):
282         (regExpForLabels):
283         (KWQKHTMLPart::clearRecordedFormValues):
284         (KWQKHTMLPart::recordFormValue):
285         (KWQKHTMLPart::submitForm):
286         (KHTMLPart::frameDetached):
287         (KWQKHTMLPart::urlSelected):
288         (KWQKHTMLPart::createPart):
289         (KWQKHTMLPart::setTitle):
290         (KWQKHTMLPart::setStatusBarText):
291         (KWQKHTMLPart::scheduleClose):
292         (KWQKHTMLPart::unfocusWindow):
293         (KWQKHTMLPart::jumpToSelection):
294         (KWQKHTMLPart::redirectionTimerStartedOrStopped):
295         (KWQKHTMLPart::userAgent):
296         (KWQKHTMLPart::mimeTypeForFileName):
297         (KWQKHTMLPart::nextKeyView):
298         (KWQKHTMLPart::currentEventIsMouseDownInWidget):
299         (KWQKHTMLPart::openURLFromPageCache):
300         (KWQKHTMLPart::saveDocumentState):
301         (KWQKHTMLPart::restoreDocumentState):
302         (KWQKHTMLPart::requestedURLString):
303         (KWQKHTMLPart::incomingReferrer):
304         (KWQKHTMLPart::runJavaScriptAlert):
305         (KWQKHTMLPart::runJavaScriptConfirm):
306         (KWQKHTMLPart::runJavaScriptPrompt):
307         (KWQKHTMLPart::createEmptyDocument):
308         (KWQKHTMLPart::keyEvent):
309         (KWQKHTMLPart::khtmlMousePressEvent):
310         (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
311         (KWQKHTMLPart::lastEventIsMouseUp):
312         (findViewInSubviews):
313         (KWQKHTMLPart::khtmlMouseMoveEvent):
314         (KWQKHTMLPart::passSubframeEventToSubframe):
315         (KWQKHTMLPart::buttonForCurrentEvent):
316         (KWQKHTMLPart::stateForCurrentEvent):
317         (KWQKHTMLPart::mouseDown):
318         (KWQKHTMLPart::mouseDragged):
319         (KWQKHTMLPart::mouseUp):
320         (KWQKHTMLPart::sendFakeEventsAfterWidgetTracking):
321         (KWQKHTMLPart::mouseMoved):
322         (KWQKHTMLPart::sendContextMenuEvent):
323         (fileWrapperForElement):
324         (KWQKHTMLPart::attributedString):
325         (KWQKHTMLPart::keyboardUIMode):
326
327 2003-10-21  Chris Blumenberg  <cblu@apple.com>
328
329         Fixed: <rdar://problem/3176170>: OBJECT tag with no or empty TYPE is mishandled
330
331         Reviewed by rjw.
332
333         * kwq/KWQKHTMLPart.mm:
334         (KWQKHTMLPart::createPart): call renamed frameRequiredForMIMEType:URL:
335         * kwq/WebCoreBridge.h: renamed frameRequiredForMIMEType: to frameRequiredForMIMEType:URL:
336
337 2003-10-20  David Hyatt  <hyatt@apple.com>
338
339         Fix generated content (before/after) so that it no longer has any restrictions on it.   CSS2.1 lifted 
340         restrictions preventing the floating/positioning of generated content.
341         
342         Reviewed by rjw
343
344         * khtml/css/cssstyleselector.cpp:
345         (khtml::CSSStyleSelector::adjustRenderStyle):
346         * khtml/rendering/render_container.cpp:
347         (RenderContainer::updatePseudoChild):
348
349 2003-10-20  Ken Kocienda  <kocienda@apple.com>
350
351         Reviewed by David
352
353         * khtml/dom/dom2_events.cpp:
354         (UIEvent::keyCode): Change over to use ascii value for key code.
355         (UIEvent::which): Ditto.
356         (KeyboardEvent::KeyboardEvent): New key event class which
357         tracks the DOM Level 3 spec more closely.
358         (KeyboardEvent::operator = ): New function.
359         (KeyboardEvent::~KeyboardEvent): New function.
360         (KeyboardEvent::ctrlKey): New function.
361         (KeyboardEvent::shiftKey): New function.
362         (KeyboardEvent::altKey): New function.
363         (KeyboardEvent::metaKey): New function.
364         (KeyboardEvent::altGraphKey): New function.
365         (KeyboardEvent::initKeyboardEvent): New function.
366         * khtml/dom/dom2_events.h: Ditto.
367         * khtml/html/html_formimpl.cpp:
368         (HTMLGenericFormElementImpl::defaultEventHandler): Use key 
369         identifiers to test which key was pressed, instead of removed keyVal().
370         (HTMLInputElementImpl::defaultEventHandler): Ditto.
371         (HTMLSelectElementImpl::defaultEventHandler): Ditto.
372         * khtml/html/html_inlineimpl.cpp:
373         (HTMLAnchorElementImpl::defaultEventHandler): Change casts to match new
374         class name. Use key identifiers to test which key was pressed, 
375         instead of removed keyVal(). Use new modifier accessors.
376         * khtml/xml/dom2_eventsimpl.cpp:
377         (EventImpl::typeToId): Some reorganization of the constants in the
378         switch statements. Name change for these to remove the KHTML_ prefix
379         from the key up and key down events will happen soon.
380         (EventImpl::idToType): Ditto.
381         (KeyboardEventImpl::KeyboardEventImpl): New key event class which
382         tracks the DOM Level 3 spec more closely.
383         (KeyboardEventImpl::~KeyboardEventImpl): Ditto.
384         (KeyboardEventImpl::initKeyboardEvent): Ditto.
385         * khtml/xml/dom2_eventsimpl.h:
386         (DOM::EventImpl::): Some reorganization of the constants in the
387         switch statements. Name change for these to remove the KHTML_ prefix
388         from the key up and key down events will happen soon.
389         (DOM::KeyboardEventImpl::keyIdentifier): New function.
390         (DOM::KeyboardEventImpl::keyLocation): New function.
391         (DOM::KeyboardEventImpl::ctrlKey): New function.
392         (DOM::KeyboardEventImpl::shiftKey): New function.
393         (DOM::KeyboardEventImpl::altKey): New function.
394         (DOM::KeyboardEventImpl::metaKey): New function.
395         (DOM::KeyboardEventImpl::altGraphKey): New function.
396         (DOM::KeyboardEventImpl::qKeyEvent): New function.
397         * khtml/xml/dom_docimpl.cpp:
398         (DocumentImpl::createEvent): Now can create keyboard events.
399         * khtml/xml/dom_nodeimpl.cpp:
400         (NodeImpl::dispatchKeyEvent): Class name changes.
401         * kwq/KWQEvent.h: Added QString identifier member.
402         * kwq/KWQEvent.mm:
403         (hexDigit): Added helper.
404         (identifierForKeyText): Added new function to map keys to DOM
405         key identifiers as listed in the DOM spec.
406         (QKeyEvent::identifier): Added accessor.
407         * kwq/KWQKHTMLPart.mm:
408         (KWQKHTMLPart::stateForCurrentEvent): Added check to see if
409         a key press is on one of the numeric keypad keys.
410         * kwq/KWQLogging.h: Added log constant for DOM events.
411         * kwq/KWQLogging.m: Ditto
412
413 2003-10-20  David Hyatt  <hyatt@apple.com>
414
415         Make first-letter and before/after work with text transforms.
416         
417         Reviewed by mjs
418
419         * khtml/rendering/render_block.cpp:
420         (khtml::RenderBlock::addChildToFlow):
421         * khtml/rendering/render_container.cpp:
422         (RenderContainer::updatePseudoChild):
423         * khtml/rendering/render_text.cpp:
424         (RenderText::setStyle):
425         (RenderText::isTextFragment):
426         (RenderText::originalString):
427         (RenderText::setText):
428         (m_generatedContentStr):
429         (m_start):
430         (RenderTextFragment::~RenderTextFragment):
431         (RenderTextFragment::isTextFragment):
432         (RenderTextFragment::originalString):
433         * khtml/rendering/render_text.h:
434         (khtml::RenderTextFragment::start):
435         (khtml::RenderTextFragment::end):
436         (khtml::RenderTextFragment::contentString):
437         * khtml/xml/dom_nodeimpl.h:
438         (DOM::NodeImpl::setRenderer):
439
440 2003-10-19  David Hyatt  <hyatt@apple.com>
441
442         Remove the "flow-around-floats" hack for lists.  Other browsers don't do this.
443         
444         Reviewed by darin
445
446         * khtml/css/quirks.css:
447
448 2003-10-19  David Hyatt  <hyatt@apple.com>
449
450         Fix for a regression/crash on tivocommunity.com caused by faulty border-collapse code in the collapsedRightBorder
451         case.  I forgot to deal with colspans.
452         
453         Reviewed by darin
454
455         * khtml/rendering/render_table.cpp:
456         (RenderTable::cellRight):
457         (RenderTableCell::collapsedRightBorder):
458
459 2003-10-19  David Hyatt  <hyatt@apple.com>
460
461         Patch from KHTML trunk that makes textareas work properly even when they have no render objects.
462
463         * khtml/html/html_formimpl.cpp:
464         (HTMLTextAreaElementImpl::encoding):
465         (HTMLTextAreaElementImpl::value):
466
467 2003-10-18  Darin Adler  <darin@apple.com>
468
469         Reviewed by Maciej.
470
471         - fixed 3454444 -- contents of mailto form shows up in Mail title instead of body (IE sends mail directly)
472
473         * kwq/KWQKURL.mm: (KURL::parse): Changed non-hierarchical code to consider everything
474         after a question mark as a query, just the way the hierarchical code does. This makes
475         the code that constructs the mailto URL work properly.
476
477 2003-10-18  David Hyatt  <hyatt@apple.com>
478
479         Fix the intrinsic minmax width computation for blocks and XUL boxes to actually check fixed min/max CSS widths.
480         
481         Reviewed by darin
482
483         * khtml/rendering/render_block.cpp:
484         (khtml::RenderBlock::calcMinMaxWidth):
485         * khtml/rendering/render_flexbox.cpp:
486         (khtml::RenderFlexibleBox::calcMinMaxWidth):
487
488 2003-10-18  David Hyatt  <hyatt@apple.com>
489
490         Change the names of the border-spacing properties to border-horizontal-spacing and border-vertical-spacing.
491         
492         * khtml/css/cssparser.cpp:
493         (CSSParser::parseValue):
494         * khtml/css/cssproperties.c:
495         (findProp):
496         * khtml/css/cssproperties.h:
497         * khtml/css/cssproperties.in:
498         * khtml/css/cssstyleselector.cpp:
499         (khtml::CSSStyleSelector::applyRule):
500
501 2003-10-18  David Hyatt  <hyatt@apple.com>
502
503         Fix for diveintomark className parsing bug.  class="bigblue blue" would fail to match a rule with .blue.
504         The bug was in the selector matching code for class attributes.
505
506         Also fixing a minmax width bug for blocks on the mozilla.org Web site.  XUL boxes had the same bug as
507         well.
508         
509         Reviewed by darin
510
511         * khtml/css/cssstyleselector.cpp:
512         (khtml::CSSStyleSelector::checkOneSelector):
513         * khtml/rendering/render_block.cpp:
514         (khtml::RenderBlock::calcMinMaxWidth):
515         * khtml/rendering/render_flexbox.cpp:
516         (khtml::RenderFlexibleBox::calcMinMaxWidth):
517
518 2003-10-18  David Hyatt  <hyatt@apple.com>
519
520         Fix for 3443502, generated content sometimes doesn't generate.  The bug is caused by an
521         uninitialized variable.  m_isContinuation needed to be set to false in the RenderInline
522         constructor.
523         
524         * khtml/rendering/render_inline.cpp:
525         (m_isContinuation):
526
527 2003-10-17  Darin Adler  <darin@apple.com>
528
529         Reviewed by Maciej.
530
531         - make text areas set the base writing direction based on the direction in the CSS style
532
533         * kwq/KWQTextArea.h: Added setBaseWritingDirection method.
534         * kwq/KWQTextArea.mm:
535         (-[KWQTextArea _createTextView]): Use _KWQ_setTypingParagraphStyle.
536         (-[KWQTextArea setWordWrap:]): Use _KWQ_setTypingParagraphStyle.
537         (-[KWQTextArea setBaseWritingDirection:]): Added. New method that sets the base writing
538         direction in both the style of the text and the typing attributes.
539         (-[NSTextView _KWQ_typingParagraphStyle]): Added. Helper method to make setBaseWritingDirection:
540         a little less gigantic.
541         (-[NSTextView _KWQ_setTypingParagraphStyle:]): Ditto.
542         (-[NSTextStorage _KWQ_setBaseWritingDirection:]): Ditto.
543
544         * kwq/KWQTextEdit.mm: (QTextEdit::setAlignment): Set both alignment and base writing direction.
545
546 2003-10-17  David Hyatt  <hyatt@apple.com>
547
548         Implement horizontal and vertical border-spacing.  Allow them to be specified individually.
549
550         Reviewed by mjs
551
552         ------
553
554         Fix the calcWidth method of tables to account for horizontal margins properly.
555
556         Reviewed by john
557
558         ------
559
560         Implement border collapsing in tables.
561
562         Reviewed by kocienda
563
564         * khtml/css/cssparser.cpp:
565         (CSSParser::parseValue):
566         * khtml/css/cssproperties.c:
567         (hash_prop):
568         (findProp):
569         * khtml/css/cssproperties.h:
570         * khtml/css/cssproperties.in:
571         * khtml/css/cssstyleselector.cpp:
572         (khtml::CSSStyleSelector::applyRule):
573         * khtml/css/cssvalues.c:
574         * khtml/css/cssvalues.h:
575         * khtml/css/cssvalues.in:
576         * khtml/rendering/bidi.cpp:
577         (khtml::RenderBlock::layoutInlineChildren):
578         * khtml/rendering/render_box.cpp:
579         (RenderBox::paintBoxDecorations):
580         * khtml/rendering/render_form.cpp:
581         (RenderFieldset::paintBorderMinusLegend):
582         * khtml/rendering/render_object.cpp:
583         (RenderObject::paintBorder):
584         (RenderObject::collectBorders):
585         * khtml/rendering/render_object.h:
586         * khtml/rendering/render_style.cpp:
587         (StyleInheritedData::StyleInheritedData):
588         (StyleInheritedData::operator==):
589         (RenderStyle::diff):
590         * khtml/rendering/render_style.h:
591         (khtml::):
592         (khtml::CollapsedBorderValue::precedence):
593         (khtml::CollapsedBorderValue::width):
594         (khtml::CollapsedBorderValue::style):
595         (khtml::CollapsedBorderValue::exists):
596         (khtml::CollapsedBorderValue::color):
597         (khtml::CollapsedBorderValue::isTransparent):
598         (khtml::CollapsedBorderValue::operator==):
599         (khtml::RenderStyle::borderLeft):
600         (khtml::RenderStyle::borderRight):
601         (khtml::RenderStyle::borderTop):
602         (khtml::RenderStyle::borderBottom):
603         (khtml::RenderStyle::horizontalBorderSpacing):
604         (khtml::RenderStyle::verticalBorderSpacing):
605         (khtml::RenderStyle::setHorizontalBorderSpacing):
606         (khtml::RenderStyle::setVerticalBorderSpacing):
607         * khtml/rendering/render_table.cpp:
608         (RenderTable::RenderTable):
609         (RenderTable::setStyle):
610         (RenderTable::calcWidth):
611         (RenderTable::paint):
612         (RenderTable::borderLeft):
613         (RenderTable::borderRight):
614         (RenderTable::borderTop):
615         (RenderTable::borderBottom):
616         (RenderTable::cellAbove):
617         (RenderTable::cellBelow):
618         (RenderTable::cellLeft):
619         (RenderTable::cellRight):
620         (RenderTableSection::setCellWidths):
621         (RenderTableSection::calcRowHeight):
622         (RenderTableSection::layoutRows):
623         (compareBorders):
624         (RenderTableCell::collapsedLeftBorder):
625         (RenderTableCell::collapsedRightBorder):
626         (RenderTableCell::collapsedTopBorder):
627         (RenderTableCell::collapsedBottomBorder):
628         (RenderTableCell::borderLeft):
629         (RenderTableCell::borderRight):
630         (RenderTableCell::borderTop):
631         (RenderTableCell::borderBottom):
632         (collapsedBorderStyle):
633         (CollapsedBorder::CollapsedBorder):
634         (CollapsedBorders:::count):
635         (CollapsedBorders::addBorder):
636         (CollapsedBorders::nextBorder):
637         (addBorderStyle):
638         (RenderTableCell::collectBorders):
639         (RenderTableCell::paintCollapsedBorder):
640         (RenderTableCell::paintObject):
641         (RenderTableCell::paintBoxDecorations):
642         * khtml/rendering/render_table.h:
643         (khtml::RenderTable::hBorderSpacing):
644         (khtml::RenderTable::vBorderSpacing):
645         (khtml::RenderTable::bordersPaddingAndSpacing):
646         (khtml::RenderTable::currentBorderStyle):
647         * khtml/rendering/table_layout.cpp:
648         (FixedTableLayout::layout):
649         (AutoTableLayout::calcEffectiveWidth):
650         (AutoTableLayout::layout):
651
652 2003-10-16  Maciej Stachowiak  <mjs@apple.com>
653
654         Reviewed by John.
655
656         More exception blocking.
657         
658         * kwq/KWQFont.mm:
659         (QFont::isFixedPitch):
660         (QFont::getNSFont):
661         * kwq/KWQKJobClasses.mm:
662         (KIO::TransferJob::~TransferJob):
663         * kwq/KWQLoader.mm:
664         (KWQServeRequest):
665         (KWQCheckIfReloading):
666         (KWQCheckCacheObjectStatus):
667         (KWQRetainResponse):
668         (KWQReleaseResponse):
669         (KWQResponseMIMEType):
670
671 === Safari-110 ===
672
673 2003-10-16  Darin Adler <darin@apple.com>
674
675         Reviewed by vicki. 
676
677         - fix buildit build failure 
678
679         * kwq/KWQScrollView.mm: 
680         (QScrollView::resizeContents):
681
682
683 2003-10-15  Darin Adler  <darin@apple.com>
684
685         Reviewed by Ken.
686
687         - change "volatile X * volatile" to "X * volatile" in cases where the
688           pointer needs to be volatile but the object pointed to do does not
689
690         * kwq/KWQKConfigBase.mm: (KConfig::readEntry):
691         * kwq/KWQKCursor.mm: (+[NSCursor _WebCore_cursorWithName:hotSpot:]):
692         * kwq/KWQKLocale.mm:
693         (inputElementAltText):
694         (resetButtonDefaultLabel):
695         (searchableIndexIntroduction):
696         (submitButtonDefaultLabel):
697         (KLocale::language):
698         * kwq/KWQLineEdit.mm: (QLineEdit::text):
699         * kwq/KWQScrollView.mm:
700         (QScrollView::setContentsPos):
701         (QScrollView::addChild):
702         (QScrollView::updateContents):
703         (QScrollView::contentsToViewport):
704         (QScrollView::viewportToContents):
705         (QScrollView::getDocumentView):
706         * kwq/KWQTextEdit.mm:
707         (QTextEdit::text):
708         (QTextEdit::textWithHardLineBreaks):
709         * kwq/KWQWidget.mm: (QWidget::getOuterView):
710         Removed the excess volatiles and excess casts that go with them.
711
712         * kwq/KWQKCookieJar.mm: (KWQKCookieJar::cookie): Do the same, but also
713         remove an unnecessary nil check that is the same as QString::fromNSString's
714         default behavior.
715
716 2003-10-15  Maciej Stachowiak  <mjs@apple.com>
717
718         Reviewed by Dave.
719
720         More objc-exception-blocking excitement.
721
722         * kwq/KWQKConfigBase.mm:
723         (KConfig::readEntry):
724         (KConfig::readNumEntry):
725         (RefreshPlugins):
726         * kwq/KWQKCursor.mm:
727         (+[NSCursor _WebCore_cursorWithName:hotSpot:]):
728         * kwq/KWQKJavaAppletWidget.mm:
729         (KJavaAppletWidget::showApplet):
730         * kwq/KWQKLocale.mm:
731         (inputElementAltText):
732         (resetButtonDefaultLabel):
733         (searchableIndexIntroduction):
734         (submitButtonDefaultLabel):
735         (KLocale::language):
736         * kwq/KWQRegion.mm:
737         (QRegion::QRegion):
738
739 2003-10-14  David Hyatt  <hyatt@apple.com>
740
741         Fix an obvious little typo with smallCaps inheritance.  Richard reviewed.
742
743         Also merge in Dirk's patch to fix a crasher caused by an obvious deref mistake.
744         
745         Reviewed by rjw and nobody
746
747         * khtml/css/cssstyleselector.cpp:
748         (khtml::convertToLength):
749         (khtml::CSSStyleSelector::applyRule):
750
751 2003-10-14  Ken Kocienda  <kocienda@apple.com>
752
753         Reviewed by Hyatt
754
755         * khtml/dom/dom_misc.h: Declared TristateFlag enum used to implement
756         inheritance behavior for inheritable attributes like designMode.
757         * khtml/dom/html_document.cpp:
758         (HTMLDocument::designMode): Added getter.
759         (HTMLDocument::setDesignMode): Added setter.
760         * khtml/dom/html_document.h: Added declarations for designMode getter and setter.
761         * khtml/dom/html_element.cpp:
762         (HTMLElement::isContentEditable): Added convenience.
763         (HTMLElement::contentEditable): Added getter.
764         (HTMLElement::setContentEditable): Added setter.
765         * khtml/dom/html_element.h: Added declarations for contentEditable accessors.
766         * khtml/ecma/kjs_html.cpp: Added js support for contentEditable and designMode.
767         (KJS::HTMLDocument::tryGet)
768         (KJS::HTMLDocument::putValue)
769         (KJS::HTMLElement::getValueProperty)
770         (KJS::HTMLElement::putValue)
771         * khtml/ecma/kjs_html.h:
772         (KJS::HTMLDocument::): Added DesignMode to attribuute enum.
773         (KJS::HTMLElement::): Added ContentEditable to attribute enum.
774         * khtml/html/html_documentimpl.cpp:
775         (HTMLDocumentImpl::designMode): Added getter.
776         (HTMLDocumentImpl::setDesignMode): Added setter.
777         * khtml/html/html_documentimpl.h: Declared designMode accessors.
778         * khtml/html/html_elementimpl.cpp:
779         (HTMLElementImpl::HTMLElementImpl):
780         (HTMLElementImpl::parseAttribute): Added support for contentEditable.
781         (HTMLElementImpl::isContentEditable): Added. Implements inheritance feature
782         for this attribute.
783         (HTMLElementImpl::contentEditable): Getter for contentEditable attribute.
784         (HTMLElementImpl::setContentEditable): Setter for contentEditable attribute.
785         * khtml/html/html_elementimpl.h:
786         * khtml/khtml_part.cpp:
787         (KHTMLPart::setEditMode): Added.
788         (KHTMLPart::editMode): Added. Implements inheritance behavior for
789         attribute.
790         (KHTMLPart::inEditMode): Helper that calls on editMode function.
791         (KHTMLPart::parentPart): Made const.
792         * khtml/khtml_part.h: Rolled in a couple of typo fixes. Added
793         declarations for the changes made in the implementation file.
794         * khtml/khtmlpart_p.h:
795         (KHTMLPartPrivate::KHTMLPartPrivate): Declared editMode flag.
796         Also added support for editMode flag in initializers and copy function.
797         * khtml/misc/htmlattrs.in: Added contentEditable as an attribute name.
798
799 2003-10-13  David Hyatt  <hyatt@apple.com>
800
801         Fix for a small-caps rendering error when used in conjunction with ::first-line.  Always update
802         the Font variable even when QFonts are the same, since small-caps is not stored in QFonts.
803         
804         Reviewed by rjw
805
806         * khtml/rendering/render_text.cpp:
807         (RenderText::paintObject):
808
809 2003-10-13  Richard Williamson (Home0  <rjw@apple.com>
810
811         Updated layout tests actuals to reflect implementation of small-caps style.
812
813         * layout-tests/css1/font_properties/font-expected.txt:
814         * layout-tests/css1/font_properties/font_variant-expected.txt:
815         * layout-tests/css1/pseudo/firstline-expected.txt:
816         * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
817
818 2003-10-13  Richard Williamson <rjw@apple.com>
819
820         Added support for small-caps.
821
822         Reviewed by John.
823
824         * khtml/rendering/font.h:
825         (khtml::Font::isSmallCaps):
826         * khtml/rendering/render_text.cpp:
827         (RenderText::shouldUseMonospaceCache):
828
829 2003-10-12  Darin Adler  <darin@apple.com>
830
831         * layout-tests/fast/js/date-parse-test.html: Fixed a couple of silly mistakes.
832
833         * kwq/character-sets.txt: New version of file from www.iana.org. No substantive change.
834         Also, now that we don't use MIB numbers any more, I could leave out our one local change,
835         the MIB number we added for ISO-10646-J-1.
836
837 2003-10-10  David Hyatt  <hyatt@apple.com>
838
839         Beginning of work on border collapsing.  This patch makes sure that cell spacing between cells is
840         ignored and that padding on tables is ignored.  This ensures that there is no space between cells
841         or between the edges of cells and the border of the table itself.  
842
843         Reviewed by john
844
845         * khtml/rendering/render_style.h:
846         (khtml::RenderStyle::setBitDefaults):
847         * khtml/rendering/render_table.cpp:
848         (RenderTable::setStyle):
849         (RenderTable::layout):
850         * khtml/rendering/render_table.h:
851         (khtml::RenderTable::collapseBorders):
852         (khtml::RenderTable::bordersPaddingAndSpacing):
853
854 2003-10-10  David Hyatt  <hyatt@apple.com>
855
856         Fix for table regression 3449444, as well as a patch to support padding on tables and to stop
857         honoring borders on row groups (both of which are correct for the "separate" border model).
858         
859         * khtml/rendering/render_table.cpp:
860         (RenderTable::layout):
861         (RenderTableSection::calcRowHeight):
862         (RenderTableSection::layoutRows):
863         * khtml/rendering/render_table.h:
864         (khtml::RenderTable::bordersPaddingAndSpacing):
865         * khtml/rendering/table_layout.cpp:
866         (FixedTableLayout::calcMinMaxWidth):
867         (FixedTableLayout::layout):
868         (AutoTableLayout::calcMinMaxWidth):
869         (AutoTableLayout::layout):
870
871         Reviewed by darin
872
873 2003-10-10  David Hyatt  <hyatt@apple.com>
874         
875         Patch to move the widgets during layout instead of at paint time.
876         
877         Reviewed by darin
878
879         * khtml/khtmlview.cpp:
880         * khtml/rendering/render_canvas.cpp:
881         (RenderCanvas::repaintViewRectangle):
882         * khtml/rendering/render_form.cpp:
883         (RenderFormElement::baselinePosition):
884         (RenderFormElement::layout):
885         * khtml/rendering/render_object.cpp:
886         (RenderObject::updateWidgetPositions):
887         * khtml/rendering/render_object.h:
888         * khtml/rendering/render_replaced.cpp:
889         (RenderWidget::layout):
890         (RenderWidget::updateWidgetPositions):
891         * khtml/rendering/render_replaced.h:
892         * kwq/KWQCheckBox.h:
893         * kwq/KWQCheckBox.mm:
894         (QCheckBox::baselinePosition):
895         * kwq/KWQComboBox.h:
896         * kwq/KWQComboBox.mm:
897         (QComboBox::baselinePosition):
898         * kwq/KWQFileButton.h:
899         * kwq/KWQFileButton.mm:
900         (KWQFileButton::baselinePosition):
901         * kwq/KWQLineEdit.h:
902         * kwq/KWQLineEdit.mm:
903         (QLineEdit::baselinePosition):
904         * kwq/KWQPushButton.h:
905         * kwq/KWQPushButton.mm:
906         (QPushButton::baselinePosition):
907         * kwq/KWQRadioButton.h:
908         * kwq/KWQRadioButton.mm:
909         (QRadioButton::baselinePosition):
910         * kwq/KWQWidget.h:
911         * kwq/KWQWidget.mm:
912         (QWidget::baselinePosition):
913         (QWidget::setFrameGeometry):
914         * kwq/WebCoreBridge.h:
915         * kwq/WebCoreBridge.mm:
916
917 2003-10-10  David Hyatt  <hyatt@apple.com>
918
919         Make sure the i-beam cursor is only forced if you have a selection.
920
921         Reviewed by John
922
923         * khtml/khtmlview.cpp
924         
925 2003-10-10  Ken Kocienda  <kocienda@apple.com>
926
927         Reviewed by John
928
929         Fix for this bug:
930
931         <rdar://problem/3440703>: Textarea form controls do not respect disabled attribute
932
933         * khtml/rendering/render_form.cpp:
934         (RenderTextArea::updateFromElement): Check for disabled attribute.
935         * kwq/KWQTextArea.h:
936         * kwq/KWQTextArea.mm:
937         (-[KWQTextArea setEnabled:]): Added. 
938         (-[KWQTextArea isEnabled]): Added.
939         (-[KWQTextArea drawRect:]): Draws a disabled-looking  bezel when disabled.
940         (-[KWQTextAreaTextView becomeFirstResponder]): Return NO if disabled.
941         (-[KWQTextAreaTextView mouseDown:]): Block events if disabled.
942         (-[KWQTextAreaTextView keyDown:]): Ditto.
943         (-[KWQTextAreaTextView keyUp:]): Ditto.
944         (-[KWQTextAreaTextView setEnabled:]): Added. Pass value through to editable
945         attribute on text view.
946         (-[KWQTextAreaTextView isEnabled]): Added.
947         (-[KWQTextAreaTextView drawRect:]): Set the text color to a disabled color
948         when disabled.
949         * kwq/KWQTextEdit.h:
950         * kwq/KWQTextEdit.mm:
951         (QTextEdit::isDisabled): Added.
952         (QTextEdit::setDisabled): Added.
953
954 2003-10-10  Maciej Stachowiak  <mjs@apple.com>
955
956         - fixed 3449405 - REGRESSION: reproducible crash changing focus w/ button on page, e.g. on www.aa.com
957         
958         More fallout from the exception blocking.
959
960         * kwq/KWQButton.mm:
961         (QButton::focusPolicy): Don't return from exception block (caught
962         by Darin).
963
964 2003-10-09  Darin Adler  <darin@apple.com>
965
966         Reviewed by Maciej.
967
968         - fixed 3449280 -- REGRESSION: crash copying a selection that ends in a <br>
969
970         * khtml/rendering/render_br.h: Add checkSelectionPointIgnoringContinuations.
971         * khtml/rendering/render_br.cpp: (RenderBR::checkSelectionPointIgnoringContinuations):
972         Override to never return an offset of 1. We can't use a character offset because the
973         DOM doesn't know that we're implemented as a text object. So an offset of 1 turns into
974         "after this element".
975
976 2003-10-09  Maciej Stachowiak  <mjs@apple.com>
977
978         - fixed crash I just added.
979
980         * kwq/KWQWidget.mm:
981         (QWidget::setCursor): Move BLOCK_NS_EXCEPTIONS macros so
982         you don't `break' out of the blocking code.
983
984 2003-10-09  Maciej Stachowiak  <mjs@apple.com>
985
986         Reviewed by Ken.
987
988         More Cocoa exception blocking work.
989
990         * kwq/KWQFrame.mm:
991         (QFrame::setFrameStyle):
992         * kwq/KWQLineEdit.mm:
993         (QLineEdit::QLineEdit):
994         (QLineEdit::~QLineEdit):
995         (QLineEdit::setEchoMode):
996         (QLineEdit::setFont):
997         (QLineEdit::setText):
998         (QLineEdit::text):
999         (QLineEdit::isReadOnly):
1000         (QLineEdit::setReadOnly):
1001         (QLineEdit::maxLength):
1002         (QLineEdit::selectAll):
1003         (QLineEdit::edited):
1004         (QLineEdit::setEdited):
1005         (QLineEdit::sizeForCharacterWidth):
1006         (QLineEdit::baselinePosition):
1007         (QLineEdit::setAlignment):
1008         * kwq/KWQListBox.mm:
1009         (QListBox::QListBox):
1010         (QListBox::~QListBox):
1011         (QListBox::count):
1012         (QListBox::clear):
1013         (QListBox::setSelectionMode):
1014         (QListBox::insertItem):
1015         (QListBox::insertGroupLabel):
1016         (QListBox::endBatchInsert):
1017         (QListBox::setSelected):
1018         (QListBox::isSelected):
1019         (QListBox::setEnabled):
1020         (QListBox::sizeForNumberOfLines):
1021         (QListBox::focusPolicy):
1022         * kwq/KWQPushButton.mm:
1023         (QPushButton::QPushButton):
1024         (QPushButton::sizeHint):
1025         (QPushButton::baselinePosition):
1026         (QPushButton::dimensions):
1027         * kwq/KWQRadioButton.mm:
1028         (QRadioButton::QRadioButton):
1029         (QRadioButton::setChecked):
1030         (QRadioButton::isChecked):
1031         (QRadioButton::dimensions):
1032         * kwq/KWQScrollBar.mm:
1033         (-[KWQScrollBar initWithQScrollBar:]):
1034         (:m_valueChanged):
1035         (QScrollBar::~QScrollBar):
1036         (QScrollBar::setValue):
1037         (QScrollBar::setKnobProportion):
1038         (QScrollBar::scrollbarHit):
1039         * kwq/KWQScrollView.mm:
1040         (QScrollView::visibleWidth):
1041         (QScrollView::visibleHeight):
1042         (QScrollView::contentsWidth):
1043         (QScrollView::contentsHeight):
1044         (QScrollView::contentsX):
1045         (QScrollView::contentsY):
1046         (QScrollView::setContentsPos):
1047         (QScrollView::setVScrollBarMode):
1048         (QScrollView::setHScrollBarMode):
1049         (QScrollView::setScrollBarsMode):
1050         (QScrollView::vScrollBarMode):
1051         (QScrollView::hScrollBarMode):
1052         (QScrollView::hasVerticalScrollBar):
1053         (QScrollView::hasHorizontalScrollBar):
1054         (QScrollView::suppressScrollBars):
1055         (QScrollView::addChild):
1056         (QScrollView::removeChild):
1057         (QScrollView::resizeContents):
1058         (QScrollView::updateContents):
1059         (QScrollView::contentsToViewport):
1060         (QScrollView::viewportToContents):
1061         (QScrollView::setStaticBackground):
1062         (QScrollView::ensureVisible):
1063         (QScrollView::getDocumentView):
1064         * kwq/KWQTextEdit.mm:
1065         (QTextEdit::QTextEdit):
1066         (QTextEdit::setText):
1067         (QTextEdit::text):
1068         (QTextEdit::textWithHardLineBreaks):
1069         (QTextEdit::getCursorPosition):
1070         (QTextEdit::setCursorPosition):
1071         (QTextEdit::wordWrap):
1072         (QTextEdit::setWordWrap):
1073         (QTextEdit::isReadOnly):
1074         (QTextEdit::setReadOnly):
1075         (QTextEdit::selectAll):
1076         (QTextEdit::setFont):
1077         (QTextEdit::setAlignment):
1078         (QTextEdit::sizeWithColumnsAndRows):
1079         * kwq/KWQWidget.mm:
1080         (QWidget::QWidget):
1081         (QWidget::~QWidget):
1082         (QWidget::setActiveWindow):
1083         (QWidget::setEnabled):
1084         (QWidget::isEnabled):
1085         (QWidget::frameGeometry):
1086         (QWidget::hasFocus):
1087         (QWidget::setFocus):
1088         (QWidget::focusPolicy):
1089         (QWidget::isVisible):
1090         (QWidget::setCursor):
1091         (QWidget::cursor):
1092         (QWidget::setFrameGeometry):
1093         (QWidget::mapFromGlobal):
1094         (QWidget::setView):
1095         (QWidget::getOuterView):
1096         (QWidget::lockDrawingFocus):
1097         (QWidget::unlockDrawingFocus):
1098         (QWidget::disableFlushDrawing):
1099         (QWidget::enableFlushDrawing):
1100         (QWidget::setDrawingAlpha):
1101         (QWidget::paint):
1102         (QWidget::sendConsumedMouseUp):
1103
1104 2003-10-09  David Hyatt  <hyatt@apple.com>
1105
1106         Stop printing extra spaces before list items.  Fixes ordered lists with list-style-position: inside.
1107         
1108         Reviewed by mjs
1109
1110         * khtml/rendering/render_list.cpp:
1111
1112 2003-10-09  David Hyatt  <hyatt@apple.com>
1113
1114         Make definition of kMin and kMax match the KHTML trunk.  Someone still needs to eliminate uses of QMIN
1115         and QMAX from the code.
1116
1117         * kwq/KWQDef.h:
1118         (kMin):
1119         (kMax):
1120
1121 2003-10-09  Chris Blumenberg  <cblu@apple.com>
1122
1123         Fixed: <rdar://problem/3333897>: should support navigator.plugins.refresh as a way to add a plugin without restarting Safari
1124
1125         Reviewed by rjw.
1126
1127         * khtml/ecma/kjs_navigator.cpp:
1128         (PluginBase::refresh): new
1129         (PluginsFunc::tryCall): call refresh
1130         * kwq/KWQKConfigBase.h:
1131         * kwq/KWQKConfigBase.mm:
1132         (RefreshPlugins): new
1133         * kwq/WebCoreViewFactory.h:
1134
1135 === Safari-109 ===
1136
1137 2003-10-08  David Hyatt  <hyatt@apple.com>
1138
1139         Fix for 3436723, the shrink-to-fit algorithm for positioned elements did not match
1140         the algorithm specified in section 10.3.7 of the CSS2.1 specification.  The min-width
1141         of the element was not being taken into account like it should have been.
1142         
1143         Reviewed by mjs
1144
1145         * khtml/rendering/render_box.cpp:
1146         (RenderBox::calcAbsoluteHorizontal):
1147
1148 2003-10-08  David Hyatt  <hyatt@apple.com>
1149
1150         Implement min/max width and min/max height support for replaced elements.
1151         
1152         Reviewed by ken
1153
1154         * khtml/rendering/render_box.cpp:
1155         (RenderBox::calcReplacedWidth):
1156         (RenderBox::calcReplacedWidthUsing):
1157         (RenderBox::calcReplacedHeight):
1158         (RenderBox::calcReplacedHeightUsing):
1159         (RenderBox::availableHeight):
1160         (RenderBox::availableHeightUsing):
1161         * khtml/rendering/render_box.h:
1162
1163 2003-10-08  Maciej Stachowiak  <mjs@apple.com>
1164
1165         Fix development build.
1166         
1167         * kwq/KWQExceptions.h: Correct assertion args.
1168
1169 2003-10-08  Maciej Stachowiak  <mjs@apple.com>
1170
1171         Reviewed by Ken.
1172
1173         Start on blocking Cocoa exceptions when calling ObjC from C++ to
1174         avoid unreproducible crashes when this happens.
1175
1176         * kwq/KWQExceptions.h: Added. Helper macros for exception blocking.
1177         * WebCore.pbproj/project.pbxproj: Add new header
1178
1179         In all these files, block exceptions when calling ObjC from C++,
1180         or explain why not.
1181         
1182         * kwq/KWQAccObjectCache.mm:
1183         * kwq/KWQApplication.mm:
1184         * kwq/KWQButton.mm:
1185         (QButton::QButton):
1186         (QButton::~QButton):
1187         (QButton::setText):
1188         (QButton::text):
1189         (QButton::clicked):
1190         (QButton::simulateClick):
1191         (QButton::setFont):
1192         (QButton::focusPolicy):
1193         * kwq/KWQCheckBox.mm:
1194         (QCheckBox::QCheckBox):
1195         (QCheckBox::setChecked):
1196         (QCheckBox::isChecked):
1197         (QCheckBox::dimensions):
1198         * kwq/KWQColor.mm:
1199         * kwq/KWQComboBox.mm:
1200         (QComboBox::QComboBox):
1201         (QComboBox::~QComboBox):
1202         (QComboBox::insertItem):
1203         (QComboBox::sizeHint):
1204         (QComboBox::setCurrentItem):
1205         (QComboBox::updateCurrentItem):
1206         (QComboBox::setFont):
1207         (QComboBox::dimensions):
1208         * kwq/KWQCursor.mm:
1209         * kwq/KWQFile.mm:
1210         * kwq/KWQFileButton.mm:
1211         (KWQFileButton::KWQFileButton):
1212         (KWQFileButton::~KWQFileButton):
1213         (KWQFileButton::setFilename):
1214         (KWQFileButton::sizeForCharacterWidth):
1215         (KWQFileButton::frameGeometry):
1216         (KWQFileButton::setFrameGeometry):
1217         (KWQFileButton::baselinePosition):
1218         (KWQFileButton::filenameChanged):
1219         * kwq/KWQKCookieJar.mm:
1220         (KWQKCookieJar::cookie):
1221         (KWQKCookieJar::setCookie):
1222         (KWQKCookieJar::cookieEnabled):
1223         * kwq/KWQKHTMLPartBrowserExtension.mm:
1224         (KHTMLPartBrowserExtension::createNewWindow):
1225         (KHTMLPartBrowserExtension::setIconURL):
1226         (KHTMLPartBrowserExtension::setTypedIconURL):
1227         * kwq/KWQKHistoryProvider.mm:
1228         (KParts::HistoryProvider::contains):
1229         * kwq/KWQKPartsBrowserInterface.mm:
1230         (KParts::BrowserInterface::callMethod):
1231         * kwq/KWQKStandardDirs.mm:
1232         * kwq/KWQKURL.mm:
1233         * kwq/KWQKWinModule.mm:
1234         (KWinModule::workArea):
1235         * kwq/KWQObject.mm:
1236         * kwq/KWQString.mm:
1237         (QString::getNSString):
1238         * kwq/KWQTimer.mm:
1239         * kwq/KWQWindowWidget.mm:
1240
1241 2003-10-07  David Hyatt  <hyatt@apple.com>
1242
1243         Fix for link dragging regression in the titles of links.  More accessibility 
1244         improvements.
1245         
1246         Reviewed by darin
1247
1248         * khtml/khtml_part.cpp:
1249         (KHTMLPart::text):
1250         * kwq/KWQAccObject.mm:
1251         (-[KWQAccObject role]):
1252         (-[KWQAccObject roleDescription]):
1253         (-[KWQAccObject helpText]):
1254         (-[KWQAccObject textUnderElement]):
1255         (-[KWQAccObject value]):
1256         (-[KWQAccObject title]):
1257         (-[KWQAccObject accessibilityIsIgnored]):
1258         (-[KWQAccObject accessibilityAttributeValue:]):
1259         * kwq/WebCoreBridge.mm:
1260         (-[WebCoreBridge elementAtPoint:]):
1261
1262 2003-10-07  Ken Kocienda  <kocienda@apple.com>
1263
1264         Reviewed by Darin
1265
1266         Fix for these bugs:
1267
1268         <rdar://problem/3443296>: REGRESSION: pop-up menu gets focus, but once it has   
1269         focus doesn't work right
1270         <rdar://problem/3444873>: Select widgets that use list views do not take part in tab order
1271         <rdar://problem/3446306>: Text area form widgets do not accept DOM focus correctly
1272         <rdar://problem/3446323>: Using keyboard to work popup button select form 
1273         widget causes a crash
1274
1275         The intention of this patch is to add keyboard navigation support for
1276         HTML form select widgets. This includes the two visual representations
1277         for these widgets: popup buttons and lists. Many keyboard, focus, and
1278         tabbing fixes are included in this work, as indicated below.
1279
1280         * khtml/html/html_formimpl.cpp:
1281         (HTMLSelectElementImpl::defaultEventHandler): Added. Submit form when
1282         return or enter key is pressed when focused on a select widget.
1283         * khtml/html/html_formimpl.h: Make HTMLSelectElementImpl a friend class
1284         of HTMLInputElementImpl. This is done so that an HTMLSelectElementImpl
1285         can call the private method which simulates a form submit.
1286         Also add declaration of defaultEventHandler function.
1287         * kwq/KWQButton.h: Clean up focusPolicy declaration.
1288         * kwq/KWQComboBox.h: Add focusPolicy declaration.
1289         * kwq/KWQComboBox.mm:
1290         (QComboBox::focusPolicy): Added. Widget will focus if full keyboard
1291         access is on.
1292         (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): Now
1293         calls sendFakeEventsAfterWidgetTracking instead of 
1294         doFakeMouseUpAfterWidgetTracking now that name has changed.
1295         (-[KWQPopUpButton becomeFirstResponder]): Added. Needed for setting
1296         focus correctly.
1297         (-[KWQPopUpButton resignFirstResponder]): Ditto.
1298         (-[KWQPopUpButton nextKeyView]): Added. Makes tabbing work correctly
1299         for this widget.
1300         (-[KWQPopUpButton previousKeyView]): Ditto.
1301         (-[KWQPopUpButton nextValidKeyView]): Ditto.
1302         (-[KWQPopUpButton previousValidKeyView]): Ditto.
1303         * kwq/KWQKHTMLPart.h: Change name of doFakeMouseUpAfterWidgetTracking
1304         to sendFakeEventsAfterWidgetTracking now that it handles key events
1305         as well.
1306         * kwq/KWQKHTMLPart.mm:
1307         (KWQKHTMLPart::sendFakeEventsAfterWidgetTracking): Name change as
1308         noted above. Also handles sending simulated key up events.
1309         * kwq/KWQLineEdit.h:
1310         (QLineEdit::checksDescendantsForFocus): Added. This is a big
1311         part of the fiz for <rdar://problem/3446306>.
1312         * kwq/KWQListBox.h:
1313         (QListBox::checksDescendantsForFocus): Ditto. Yes for this widget.
1314         * kwq/KWQListBox.mm:
1315         (QListBox::focusPolicy): Added. Widget will focus if full keyboard
1316         access is on.
1317         (-[KWQListBoxScrollView becomeFirstResponder]): Added. Needed for setting
1318         focus correctly. This sets the focus to its document view.
1319         (-[KWQTableView becomeFirstResponder]): Added. Needed for setting
1320         focus correctly.
1321         (-[KWQTableView resignFirstResponder]): Added. Needed for setting
1322         focus correctly.
1323         (-[KWQTableView nextKeyView]): Added. Makes tabbing work correctly
1324         for this widget.
1325         (-[KWQTableView previousKeyView]): Ditto.
1326         (-[KWQTableView nextValidKeyView]): Ditto.
1327         (-[KWQTableView previousValidKeyView]): Ditto.
1328         (-[KWQTableView _KWQ_setKeyboardFocusRingNeedsDisplay]): Added.
1329         * kwq/KWQTextArea.mm:
1330         (-[KWQTextAreaTextView becomeFirstResponder]): Other part of fix for
1331         <rdar://problem/3446306>. The recursion guards were bad and wrong.
1332         The checksDescendantsForFocus improvement prevents the erroneous
1333         recursion from happening.
1334         * kwq/KWQTextEdit.h:
1335         (QTextEdit::checksDescendantsForFocus): Added. Yes for this widget.
1336         * kwq/KWQWidget.h:
1337         (QWidget::checksDescendantsForFocus): Added. No by default.
1338         * kwq/KWQWidget.mm:
1339         (QWidget::hasFocus): Now uses checksDescendantsForFocus to perform
1340         proper checks for views that may have a subview which is first
1341         responder.
1342
1343 2003-10-07  David Hyatt  <hyatt@apple.com>
1344
1345         Fix for 3363421, event handlers could be triggered for content outside an overflow:hidden
1346         area.  The layer checks that test for intersection/point containment need to only include
1347         layers with overhanging floats if the element is overflow:visible.
1348
1349         Fix for 3366801, assignment to scrollLeft/Top of an overflow:hidden layer makes the layer
1350         disappear.  overflow:hidden blocks actually were never computing their scroll dimensions,
1351         and so had bogus answers for those values.
1352
1353         Fix for 3366686, no reliable scrollHeight/Width reporting for overflow:hidden or
1354         overflow:visible elements.  The former was caused by the same bug as 3366801.  The
1355         latter was just me using the wrong method (clientWidth/Height instead of
1356         overflowWidth/Height).
1357
1358         This patch also tightens the assignment to scrollLeft/Top to not do anything if you don't 
1359         have an overflow value other than visible.
1360         
1361         Reviewed by darin
1362
1363         * khtml/ecma/kjs_dom.cpp:
1364         (DOMNode::putValue):
1365         * khtml/rendering/render_block.cpp:
1366         (khtml::RenderBlock::layoutBlock):
1367         * khtml/rendering/render_flexbox.cpp:
1368         (khtml::RenderFlexibleBox::layoutBlock):
1369         * khtml/rendering/render_layer.cpp:
1370         (RenderLayer::RenderLayer):
1371         (RenderLayer::scrollToOffset):
1372         (RenderLayer::scrollWidth):
1373         (RenderLayer::scrollHeight):
1374         (RenderLayer::computeScrollDimensions):
1375         (RenderLayer::updateScrollInfoAfterLayout):
1376         (RenderLayer::intersectsDamageRect):
1377         (RenderLayer::containsPoint):
1378         * khtml/rendering/render_layer.h:
1379         * khtml/rendering/render_object.cpp:
1380         (RenderObject::scrollWidth):
1381         (RenderObject::scrollHeight):
1382         * khtml/rendering/render_object.h:
1383
1384 2003-10-07  Darin Adler  <darin@apple.com>
1385
1386         Reviewed by Chris.
1387
1388         - fixed some exceptions I was seeing with my recent text change
1389
1390         * khtml/khtml_part.cpp:
1391         (KHTMLPart::text): Return an empty string for a null range rather than raising an exception.
1392         (KHTMLPart::selection): Return a null range rather than raising an exception if there is
1393         no selection.
1394
1395 2003-10-07  Darin Adler  <darin@apple.com>
1396
1397         Reviewed by Dave.
1398
1399         - removed code that mutates \n into a space so we can pass more W3C DOM Level 1 Core tests
1400
1401         * khtml/rendering/bidi.cpp:
1402         (khtml::addRun): Treat \n as a space.
1403         (khtml::RenderBlock::computeHorizontalPositionsForLine): Treat \n as a space.
1404         (khtml::RenderBlock::findNextLineBreak): Treat \n outside <pre> as a space.
1405         Removed code that mutates the \n into a space.
1406
1407         * khtml/rendering/render_text.cpp:
1408         (RenderText::trimmedMinMaxWidth): Treat \n outside <pre> as a space.
1409         (RenderText::calcMinMaxWidth): Treat \n outside <pre> as a space.
1410         Removed code that mutates the \n into a space.
1411         (RenderText::position): Detect a <br> with isBR instead of assuming a 1-character
1412         string with a \n in it is a <br>.
1413
1414 2003-10-06  David Hyatt  <hyatt@apple.com>
1415
1416         Several fixes preparing for the incremental repainting patch to be enabled.
1417
1418         (1) Make layers update their positions after layout instead of during layout or
1419         during painting.
1420
1421         (2) Fix a regression from the overflow:hidden body quirk landing.  Make sure repaint()
1422         understands that quirk exists and avoids clipping when it shouldn't.
1423
1424         (3) Fix a regression from the scrollbar improvements.  The vertical scrollbar repainted
1425         on every layout.
1426
1427         (4) Make sure outside list bullets are repainted when a list item needs to repaint.
1428         
1429         (5) A whole bunch of INCREMENTAL_REPAINTING code that isn't turned on yet.
1430         
1431         Reviewed by kocienda
1432
1433         * khtml/khtmlview.cpp:
1434         (KHTMLViewPrivate::KHTMLViewPrivate):
1435         (KHTMLViewPrivate::reset):
1436         (KHTMLView::resetScrollBars):
1437         (KHTMLView::needsFullRepaint):
1438         * khtml/khtmlview.h:
1439         * khtml/rendering/bidi.cpp:
1440         (khtml::RenderBlock::layoutInlineChildren):
1441         * khtml/rendering/render_block.cpp:
1442         (khtml::RenderBlock::layoutBlock):
1443         (khtml::RenderBlock::layoutBlockChildren):
1444         (khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats):
1445         (khtml::RenderBlock::repaintFloatingDescendants):
1446         (khtml::RenderBlock::repaintObjectsBeforeLayout):
1447         * khtml/rendering/render_block.h:
1448         * khtml/rendering/render_box.cpp:
1449         (RenderBox::computeAbsoluteRepaintRect):
1450         (RenderBox::repaintDuringLayoutIfMoved):
1451         * khtml/rendering/render_box.h:
1452         * khtml/rendering/render_canvas.cpp:
1453         (RenderCanvas::layout):
1454         * khtml/rendering/render_canvas.h:
1455         (khtml::RenderCanvas::hasOverhangingFloats):
1456         * khtml/rendering/render_flexbox.cpp:
1457         (khtml::RenderFlexibleBox::layoutBlock):
1458         (khtml::RenderFlexibleBox::layoutHorizontalBox):
1459         (khtml::RenderFlexibleBox::layoutVerticalBox):
1460         (khtml::RenderFlexibleBox::placeChild):
1461         * khtml/rendering/render_flexbox.h:
1462         * khtml/rendering/render_flow.cpp:
1463         (RenderFlow::getAbsoluteRepaintRect):
1464         * khtml/rendering/render_image.cpp:
1465         (RenderImage::setPixmap):
1466         (RenderImage::layout):
1467         * khtml/rendering/render_layer.cpp:
1468         (RenderLayer::RenderLayer):
1469         (RenderLayer::computeRepaintRects):
1470         (RenderLayer::updateLayerPositions):
1471         (RenderLayer::updateLayerPosition):
1472         (RenderLayer::checkScrollbarsAfterLayout):
1473         (RenderLayer::paintLayer):
1474         (RenderLayer::calculateClipRects):
1475         (RenderLayer::calculateRects):
1476         * khtml/rendering/render_layer.h:
1477         (khtml::RenderLayer::relativePositionOffset):
1478         * khtml/rendering/render_list.cpp:
1479         (RenderListItem::getAbsoluteRepaintRect):
1480         * khtml/rendering/render_list.h:
1481         (khtml::RenderListMarker::listImage):
1482         * khtml/rendering/render_object.cpp:
1483         (RenderObject::repaint):
1484         (RenderObject::repaintRectangle):
1485         (RenderObject::repaintAfterLayoutIfNeeded):
1486         (RenderObject::repaintDuringLayoutIfMoved):
1487         (RenderObject::repaintFloatingDescendants):
1488         (RenderObject::checkForRepaintDuringLayout):
1489         (RenderObject::repaintObjectsBeforeLayout):
1490         (RenderObject::getAbsoluteRepaintRectIncludingFloats):
1491         (RenderObject::container):
1492         * khtml/rendering/render_object.h:
1493         * khtml/rendering/render_table.cpp:
1494         (RenderTable::layout):
1495         * kwq/KWQKHTMLPart.mm:
1496         (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
1497
1498 2003-10-06  Darin Adler  <darin@apple.com>
1499
1500         Reviewed by Ken.
1501         
1502         - preparation for the upcoming whitespace patch; refactored some of the code that extracts text
1503
1504         * khtml/khtml_part.h: Added text() member function.
1505         * khtml/khtml_part.cpp:
1506         (KHTMLPart::text): Added. Refactored from selectedText; takes a DOM::Range as a parameter.
1507         Also added code to change newlines to spaces when extracting text from the DOM.
1508         (KHTMLPart::selectedText): Now calls text().
1509         (KHTMLPart::selection): Removed stray declaration.
1510
1511         * kwq/KWQAccObject.mm: (-[KWQAccObject value]): Changed to call KHTMLPart::text.
1512         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Changed to call KHTMLPart::text
1513         instead of doing it ourselves.
1514         
1515         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Added code to change change '\n'
1516         newlines to spaces when extracting text from the DOM.
1517
1518 2003-10-05  Maciej Stachowiak  <mjs@apple.com>
1519
1520         Reviewed by Ken.
1521
1522         - fixed 3444255 - REGRESSION: www.aa.com crashes (innerHTML)
1523
1524         * khtml/html/html_elementimpl.cpp:
1525         (HTMLElementImpl::createContextualFragment): Keep the fragment
1526         ref'd since the tokenizer will ref and deref it. Then turn
1527         TreeShared's evil against itself to get the fragment back in the
1528         floating 0-ref state.
1529         * khtml/html/html_elementimpl.h: Remove stray whitespace.
1530         * khtml/html/htmlparser.cpp:
1531         (KHTMLParser::KHTMLParser): Initialize current to 0 in the other
1532         constructor too.
1533
1534 2003-10-06  Darin Adler  <darin@apple.com>
1535
1536         * khtml/ecma/kjs_css.lut.h:
1537         * khtml/ecma/kjs_dom.lut.h:
1538         * khtml/ecma/kjs_events.lut.h:
1539         * khtml/ecma/kjs_html.lut.h:
1540         * khtml/ecma/kjs_navigator.lut.h:
1541         * khtml/ecma/kjs_range.lut.h:
1542         * khtml/ecma/kjs_traversal.lut.h:
1543         * khtml/ecma/kjs_views.lut.h:
1544         * khtml/ecma/kjs_window.lut.h:
1545         Regenerated, without stray semicolon.
1546
1547 2003-10-03  Darin Adler  <darin@apple.com>
1548
1549         - updated layout tests for recent WebTextRenderer changes
1550
1551         * layout-tests/apple-only/base/www.cnn.com/index-expected.txt:
1552         * layout-tests/apple-only/base/www.sun.com/index-expected.txt:
1553         * layout-tests/css1/font_properties/font_weight-expected.txt:
1554
1555 2003-10-03  Chris Blumenberg  <cblu@apple.com>
1556
1557         Removed eastCursor.tiff because it was added by mistake.
1558
1559         * Resources/eastCursor.tiff: Removed.
1560         * WebCore.pbproj/project.pbxproj:
1561
1562 2003-10-03  Maciej Stachowiak  <mjs@apple.com>
1563
1564         Reviewed by Richard.
1565         
1566         - fixed 3398420 - crash when creating a new document.body object in <body>
1567
1568         Also included David Faure's improvement to throw an exception.
1569         
1570         * khtml/html/html_documentimpl.cpp:
1571         (HTMLDocumentImpl::setBody): Don't remove the body when null is passed in,
1572         as this means type error at the higher level, so throw an exception.
1573         * khtml/html/htmlparser.cpp:
1574         (KHTMLParser::KHTMLParser): Initialize current to 0.
1575         (KHTMLParser::setCurrent): Ref new current and deref old; we need to
1576         keep it ref'd because script execution could drop the current node on the
1577         floor.
1578         (KHTMLParser::reset): Use setCurrent.
1579         (KHTMLParser::insertNode): Likewise.
1580         (KHTMLParser::reopenResidualStyleTags): Likewise.
1581         (KHTMLParser::popOneBlock): Likewise.
1582         (KHTMLParser::finished): Likewise.
1583         * khtml/html/htmlparser.h: Prototype setCurrent.
1584
1585 2003-10-03  Chris Blumenberg  <cblu@apple.com>
1586
1587         Ran compress-tiffs on new cursor images.
1588
1589         * Resources/eastCursor.tiff:
1590         * Resources/eastResizeCursor.tiff:
1591         * Resources/helpCursor.tiff:
1592         * Resources/moveCursor.tiff:
1593         * Resources/northEastResizeCursor.tiff:
1594         * Resources/northResizeCursor.tiff:
1595         * Resources/northWestResizeCursor.tiff:
1596         * Resources/southEastResizeCursor.tiff:
1597         * Resources/southResizeCursor.tiff:
1598         * Resources/southWestResizeCursor.tiff:
1599         * Resources/waitCursor.tiff:
1600         * Resources/westResizeCursor.tiff:
1601
1602 2003-10-03  Ken Kocienda  <kocienda@apple.com>
1603
1604         Reviewed by Darin, with much help from Maciej and Hyatt
1605
1606         Fix for these bugs:
1607
1608         <rdar://problem/3441321>: Form buttons do not respond to key events when focused
1609         <rdar://problem/3441060>: Form buttons do not scroll to view when focused
1610
1611         * khtml/html/html_formimpl.cpp:
1612         (HTMLInputElementImpl::simulateMouseClickForEvent): Added helper to simulate
1613         mouse clicks in elements. Used to trigger button actions in response to
1614         keyboard events.
1615         (HTMLInputElementImpl::defaultEventHandler): Improved handler to process
1616         key press events for radio, checkbox, image, reset, and submit buttons.
1617         * khtml/html/html_formimpl.h: Added simulateMouseClickForEvent function.
1618         * khtml/xml/dom2_eventsimpl.h:
1619         (DOM::EventImpl::isKeyboardEvent): Added type check virtual function.
1620         (DOM::KeyEventImpl::isKeyboardEvent): Ditto.
1621         * kwq/KWQButton.h:
1622         * kwq/KWQButton.mm:
1623         (-[KWQButton simulateClick]): New method. This makes AppKit do a 
1624         button click programatically for button types. For <input type=image>, 
1625         we just simulate a the click in the DOM since there is no real "clickable"
1626         AppKit widget.
1627         (-[KWQButton becomeFirstResponder]): Fixes the button scroll to visible when
1628         focused issue.
1629         (-[KWQButton resignFirstResponder]): Correctly give up focus when user clicks
1630         into the page body when a button has the focus.
1631         (QButton::simulateClick): QWidget bridge to the KWQButton simulateClick
1632         method.
1633
1634 2003-10-03  David Hyatt  <hyatt@apple.com>
1635
1636         Removing redundant layouts and adding a few !needsLayout and !normalChildNeedsLayout
1637         checks to prevent extra layouts.
1638
1639         Also, fixing the recalcStyle changed() bottleneck to go through view's layout and to
1640         not do a full repaint.  The layout method will then do the right thing (full repaint
1641         without INCREMENTAL_REPAINTING turned on, the precise repainting needed otherwise).
1642         
1643         Reviewed by darin
1644
1645         * khtml/html/html_tableimpl.cpp:
1646         (HTMLTableElementImpl::parseAttribute):
1647         * khtml/rendering/render_block.cpp:
1648         * khtml/rendering/render_container.cpp:
1649         (RenderContainer::appendChildNode):
1650         (RenderContainer::insertChildNode):
1651         * khtml/xml/dom_docimpl.cpp:
1652         (DocumentImpl::recalcStyle):
1653
1654 2003-10-02  David Hyatt  <hyatt@apple.com>
1655
1656         Remove the speed hit from using the UC break locators by not using them when
1657         checking if the current character is &nbsp; and by also using a global text
1658         break locator object.
1659         
1660         Reviewed by rjw
1661
1662         * khtml/rendering/break_lines.cpp:
1663
1664 === Safari-108 ===
1665
1666 2003-10-02  Maciej Stachowiak  <mjs@apple.com>
1667
1668         Reviewed by Darin.
1669
1670         - fixed 3398622 - Crash when JavaScript changes display style
1671
1672         This was a problem with one of the many global variables in
1673         bidi.cpp, last, having a stale value from the last layout that
1674         pointed to a dead node. I fixed this by refactoring the code to
1675         put most of the global variables in a struct allocated on the
1676         stack, and pass around a reference to the struct. Seems much
1677         cleaner (if somewhat wordier) this way. There are still more
1678         global variables to kill here.
1679         
1680         * khtml/rendering/bidi.cpp:
1681         (khtml::BidiIterator::BidiIterator):
1682         (khtml::BidiStatus::BidiStatus):
1683         (khtml::BidiInfo::BidiInfo):
1684         (khtml::Bidinext):
1685         (khtml::first):
1686         (khtml::BidiIterator::increment):
1687         (khtml::checkMidpoints):
1688         (khtml::appendRunsForObject):
1689         (khtml::appendRun):
1690         (khtml::embed):
1691         (khtml::RenderBlock::computeHorizontalPositionsForLine):
1692         (khtml::RenderBlock::bidiReorderLine):
1693         (khtml::buildCompactRuns):
1694         (khtml::RenderBlock::layoutInlineChildren):
1695         (khtml::RenderBlock::findNextLineBreak):
1696         * khtml/rendering/bidi.h:
1697         * khtml/rendering/render_block.h:
1698
1699 2003-10-02  David Hyatt  <hyatt@apple.com>
1700
1701         Work on exposing elements to the Acc API.  This patch gets us to the point where text
1702         under the mouse is voiced.
1703         
1704         Reviewed by darin
1705
1706         * kwq/KWQAccObject.h:
1707         * kwq/KWQAccObject.mm:
1708         (-[KWQAccObject initWithRenderer:]):
1709         (-[KWQAccObject parentObject]):
1710         (-[KWQAccObject parentObjectUnignored]):
1711         (-[KWQAccObject addChildrenToArray:]):
1712         (-[KWQAccObject role]):
1713         (-[KWQAccObject roleDescription]):
1714         (-[KWQAccObject value]):
1715         (-[KWQAccObject title]):
1716         (-[KWQAccObject position]):
1717         (-[KWQAccObject size]):
1718         (-[KWQAccObject accessibilityIsIgnored]):
1719         (-[KWQAccObject accessibilityAttributeNames]):
1720         (-[KWQAccObject accessibilityActionNames]):
1721         (-[KWQAccObject accessibilityIsAttributeSettable:]):
1722         (-[KWQAccObject accessibilityAttributeValue:]):
1723         (-[KWQAccObject accessibilityHitTest:]):
1724         * kwq/KWQAccObjectCache.mm:
1725         (KWQAccObjectCache::accObject):
1726         (KWQAccObjectCache::setAccObject):
1727         (KWQAccObjectCache::removeAccObject):
1728         * kwq/WebCoreBridge.h:
1729         * kwq/WebCoreBridge.mm:
1730         (-[WebCoreBridge accessibilityTree]):
1731
1732 2003-10-02  Darin Adler  <darin@apple.com>
1733
1734         Reviewed by Ken.
1735
1736         * kwq/KWQRenderTreeDebug.cpp: (quoteAndEscapeNonPrintables): Since our text rendering renders
1737         non-breaking spaces the same as spaces, dump them as spaces. Do the same with newlines since
1738         I am about to change our text rendering to do the same with newlines.
1739
1740         * layout-tests: Updated test results.
1741
1742 2003-10-01  David Hyatt  <hyatt@apple.com>
1743
1744         Avoid doing extra work when tearing down the document by checking to see if
1745         we're in the destruction of the document.
1746         
1747         Reviewed by darin
1748
1749         * khtml/rendering/render_block.cpp:
1750         * khtml/rendering/render_container.cpp:
1751         (RenderContainer::removeChildNode):
1752
1753 2003-10-01  Richard Williamson   <rjw@apple.com>
1754
1755         Fixed 3438441.  Pass extra info up to WebKit about load type, specifically is a load is triggered by JS running in an onLoad handler.
1756
1757         Reviewed by Ken.
1758
1759         * khtml/ecma/kjs_binding.h:
1760         * kwq/KWQKHTMLPart.mm:
1761         (KWQKHTMLPart::openURL):
1762         (KWQKHTMLPart::openURLRequest):
1763         (KWQKHTMLPart::submitForm):
1764         (KWQKHTMLPart::urlSelected):
1765         * kwq/KWQKHTMLPartBrowserExtension.mm:
1766         (KHTMLPartBrowserExtension::createNewWindow):
1767
1768         * kwq/WebCoreBridge.h:
1769         * kwq/WebCoreBridge.mm:
1770         (-[WebCoreBridge saveDocumentToPageCache]):
1771         Nothing changed.  Tweaked spacing.
1772
1773 2003-10-01  Chris Blumenberg  <cblu@apple.com>
1774
1775         <rdar://problem/2942589>: CSS cursors are not implemented
1776
1777         Reviewed by Dave.
1778
1779         * Resources/eastCursor.tiff: Added.
1780         * Resources/eastResizeCursor.tiff: Added.
1781         * Resources/helpCursor.tiff: Added.
1782         * Resources/moveCursor.tiff: Added.
1783         * Resources/northEastResizeCursor.tiff: Added.
1784         * Resources/northResizeCursor.tiff: Added.
1785         * Resources/northWestResizeCursor.tiff: Added.
1786         * Resources/southEastResizeCursor.tiff: Added.
1787         * Resources/southResizeCursor.tiff: Added.
1788         * Resources/southWestResizeCursor.tiff: Added.
1789         * Resources/waitCursor.tiff: Added.
1790         * Resources/westResizeCursor.tiff: Added.
1791         * WebCore.pbproj/project.pbxproj:
1792         * khtml/css/cssparser.cpp: special-case the hand cursor to mean pointer
1793         (CSSParser::parseValue):
1794         * khtml/css/cssvalues.c: generated changes
1795         (hash_val):
1796         (findValue):
1797         * khtml/css/cssvalues.h: generated changes
1798         * khtml/css/cssvalues.in: removed the progress cursor from the list because it was messing up the mapping
1799         * khtml/khtmlview.cpp: call new cursor methods
1800         * kwq/KWQKCursor.h:
1801         * kwq/KWQKCursor.mm:
1802         (+[NSCursor _WebCore_cursorWithName:hotSpot:]): new, loads and caches cursors
1803         (KCursor::crossCursor): get the AppKit cross hair cursor
1804         (KCursor::handCursor): call _WebCore_cursorWithName:hotSpot:
1805         (KCursor::sizeAllCursor): ditto
1806         (KCursor::waitCursor): ditto
1807         (KCursor::whatsThisCursor): ditto
1808         (KCursor::eastResizeCursor): new, call _WebCore_cursorWithName:hotSpot:
1809         (KCursor::northResizeCursor): ditto
1810         (KCursor::northEastResizeCursor): ditto
1811         (KCursor::northWestResizeCursor): ditto
1812         (KCursor::southResizeCursor): ditto
1813         (KCursor::southEastResizeCursor): ditto
1814         (KCursor::southWestResizeCursor): ditto
1815         (KCursor::westResizeCursor): ditto
1816
1817 2003-10-01  David Hyatt  <hyatt@apple.com>
1818
1819         Clean up our detach model so that you can always get to a document, even for
1820         anonymous content.  Also stubbing out and adding the accessibility objects.
1821         
1822         Reviewed by darin, mjs, john
1823
1824         * ChangeLog:
1825         * WebCore.pbproj/project.pbxproj:
1826         * khtml/rendering/render_block.cpp:
1827         * khtml/rendering/render_box.cpp:
1828         (RenderBox::detach):
1829         * khtml/rendering/render_box.h:
1830         * khtml/rendering/render_canvas.cpp:
1831         (RenderCanvas::RenderCanvas):
1832         * khtml/rendering/render_container.cpp:
1833         (RenderContainer::detach):
1834         (RenderContainer::addChild):
1835         (RenderContainer::updatePseudoChild):
1836         (RenderContainer::insertChildNode):
1837         (RenderContainer::removeLeftoverAnonymousBoxes):
1838         * khtml/rendering/render_container.h:
1839         * khtml/rendering/render_flow.cpp:
1840         (RenderFlow::createAnonymousFlow):
1841         (RenderFlow::deleteLineBoxes):
1842         (RenderFlow::detach):
1843         * khtml/rendering/render_flow.h:
1844         * khtml/rendering/render_form.cpp:
1845         (RenderTextArea::detach):
1846         * khtml/rendering/render_form.h:
1847         * khtml/rendering/render_image.cpp:
1848         (RenderImage::RenderImage):
1849         (RenderImage::detach):
1850         * khtml/rendering/render_image.h:
1851         * khtml/rendering/render_inline.cpp:
1852         (RenderInline::addChildToFlow):
1853         (RenderInline::splitFlow):
1854         (RenderInline::renderName):
1855         * khtml/rendering/render_list.cpp:
1856         (RenderListItem::setStyle):
1857         (RenderListItem::detach):
1858         (RenderListItem::updateMarkerLocation):
1859         (RenderListMarker::RenderListMarker):
1860         * khtml/rendering/render_list.h:
1861         * khtml/rendering/render_object.cpp:
1862         (RenderObject::RenderObject):
1863         (RenderObject::information):
1864         (RenderObject::dump):
1865         (RenderObject::createAnonymousBlock):
1866         (RenderObject::remove):
1867         (RenderObject::detach):
1868         * khtml/rendering/render_object.h:
1869         * khtml/rendering/render_replaced.cpp:
1870         (RenderWidget::detach):
1871         * khtml/rendering/render_replaced.h:
1872         * khtml/rendering/render_table.cpp:
1873         (RenderTable::addChild):
1874         (RenderTableSection::detach):
1875         (RenderTableSection::addChild):
1876         (RenderTableRow::detach):
1877         (RenderTableRow::addChild):
1878         (RenderTableCell::detach):
1879         * khtml/rendering/render_table.h:
1880         * khtml/rendering/render_text.cpp:
1881         (RenderText::detach):
1882         (RenderText::deleteRuns):
1883         * khtml/rendering/render_text.h:
1884         * khtml/xml/dom_docimpl.cpp:
1885         (DocumentImpl::DocumentImpl):
1886         (DocumentImpl::~DocumentImpl):
1887         (DocumentImpl::detach):
1888         (DocumentImpl::getOrCreateAccObjectCache):
1889         * khtml/xml/dom_docimpl.h:
1890         * khtml/xml/dom_nodeimpl.cpp:
1891         (NodeImpl::detach):
1892         * kwq/KWQAccObject.h: Added.
1893         * kwq/KWQAccObject.mm: Added.
1894         (-[KWQAccObject x]):
1895         (-[KWQAccObject y]):
1896         (-[KWQAccObject width]):
1897         (-[KWQAccObject height]):
1898         (-[KWQAccObject detached]):
1899         (-[KWQAccObject detach]):
1900         (-[KWQAccObject data]):
1901         (-[KWQAccObject setData:]):
1902         (-[KWQAccObject firstChild]):
1903         (-[KWQAccObject lastChild]):
1904         (-[KWQAccObject previousSibling]):
1905         (-[KWQAccObject nextSibling]):
1906         (-[KWQAccObject parentObject]):
1907         * kwq/KWQAccObjectCache.h: Added.
1908         * kwq/KWQAccObjectCache.mm: Added.
1909         (KWQAccObjectCache::KWQAccObjectCache):
1910         (KWQAccObjectCache::~KWQAccObjectCache):
1911         (KWQAccObjectCache::accObject):
1912         (KWQAccObjectCache::setAccObject):
1913         (KWQAccObjectCache::removeAccObject):
1914         (KWQAccObjectCache::detach):
1915         * layout-tests/css1/pseudo/firstletter-expected.txt:
1916         * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
1917         * layout-tests/fast/css-generated-content/002-expected.txt:
1918         * layout-tests/fast/css-generated-content/004-expected.txt:
1919         * layout-tests/fast/css-generated-content/005-expected.txt:
1920         * layout-tests/fast/css-generated-content/006-expected.txt:
1921         * layout-tests/fast/selectors/039-expected.txt:
1922         * layout-tests/fast/selectors/039b-expected.txt:
1923         * layout-tests/fast/selectors/041-expected.txt:
1924         * layout-tests/fast/selectors/042-expected.txt:
1925         * layout-tests/fast/selectors/166a-expected.txt:
1926         * layout-tests/fast/selectors/168-expected.txt:
1927         * layout-tests/fast/selectors/168a-expected.txt:
1928         * layout-tests/fast/selectors/169-expected.txt:
1929         * layout-tests/fast/selectors/169a-expected.txt:
1930         * layout-tests/fast/text/firstline/002-expected.txt:
1931         * layout-tests/fast/text/firstline/003-expected.txt:
1932
1933 2003-10-01  David Hyatt  <hyatt@apple.com>
1934
1935         Fix for 3163840, the images are mispositioned on the DHTML menus at the top of
1936         www.aa.com (and in many other places).  We needed to support returning the right
1937         value from hasProperty and tryGet for 'cssFloat'.  
1938
1939         This patch also adds support for getting/setting our custom CSS properties (-khtml-*)
1940         and just factors the code a bit better for all the special values.
1941         
1942         Reviewed by darin
1943
1944         * khtml/ecma/kjs_css.cpp:
1945         (cssPropertyName):
1946         (DOMCSSStyleDeclaration::hasProperty):
1947         (DOMCSSStyleDeclaration::tryGet):
1948         (DOMCSSStyleDeclaration::tryPut):
1949
1950 2003-10-01  Darin Adler  <darin@apple.com>
1951
1952         Reviewed by Dave.
1953
1954         - fixed 3437309 -- REGRESSION (100-107): Javascript menu doesn't work at www.aa.com
1955
1956         * khtml/xml/dom_elementimpl.cpp: (ElementImpl::removeAttribute): Restored the old behavior
1957         for removeAttribute and removeAttributeNS; these don't give NOT_FOUND_ERR. But keep the
1958         NOT_FOUND_ERR for removeAttributeNode and removedNamedItem.
1959
1960 2003-10-01  Ken Kocienda  <kocienda@apple.com>
1961
1962         Reviewed by me
1963
1964         * kwq/KWQWidget.mm:
1965         (QWidget::focusPolicy): Improved comment.
1966
1967 2003-10-01  Ken Kocienda  <kocienda@apple.com>
1968
1969         Reviewed by Maciej
1970
1971         Fix for these bugs:
1972
1973         <rdar://problem/3439736>: WebCore form button widgets do not accept focus
1974         <rdar://problem/3440770>: WebCore form button widgets do not take part in tabbing order
1975
1976         * kwq/KWQButton.h: Add focusPolicy function declaration.
1977         * kwq/KWQButton.mm: 
1978         (-[KWQButton nextKeyView]): Add tabbing support for buttons.
1979         (-[KWQButton previousKeyView]): Ditto
1980         (-[KWQButton nextValidKeyView]): Ditto
1981         (-[KWQButton previousValidKeyView]): Ditto
1982         (QButton::focusPolicy): Add focusPolicy implementation. This calls through
1983         to the recently-added accessor for full keyboard access to help in the
1984         determination for focus policy. For now, full keyboard access must be
1985         turned on for buttons to receive focus.
1986         * kwq/KWQTextEdit.h: Remove focusPolicy specialization from this class. The
1987         implementation in QWidget now serves this class well.
1988         * kwq/KWQTextEdit.mm: Ditto
1989         * kwq/KWQWidget.h: Added isEnabled function. Small, unrelated cleanup to 
1990         move the no-implementation setFocusPolicy() and setFocusProxy() functions
1991         fully into the header file.
1992         * kwq/KWQWidget.mm:
1993         (QWidget::isEnabled): Added. Calls through to the Cocoa view to retrieve
1994         this information.
1995         (QWidget::focusPolicy): Much improved focus policy function is now more
1996         general in stipulating the conditions for focus policy, and will work for
1997         more widgets.
1998
1999 2003-10-01  David Hyatt  <hyatt@apple.com>
2000
2001         Fix for 3440804, broken scrollbars in downloads window.  Make Auto be the default
2002         value in the enum, so that all scrollviews will be automatically initialized to be
2003         auto.
2004
2005         Reviewed by cblu
2006
2007         * kwq/KWQScrollView.h:
2008         * kwq/WebCoreFrameView.h:
2009
2010 2003-09-30  Ken Kocienda  <kocienda@apple.com>
2011
2012         Reviewed by me
2013
2014         * WebCore.pbproj/project.pbxproj: Made WebCoreKeyboardAccess.h a private header.
2015
2016 2003-09-30  Ken Kocienda  <kocienda@apple.com>
2017
2018         Reviewed by Maciej
2019         
2020         Fix for this bug:
2021         
2022         <rdar://problem/3439688>: WebKit needs to retrieve full keyboard access preference
2023         
2024         * WebCore.pbproj/project.pbxproj:
2025         * kwq/KWQKHTMLPart.h: Declare keyboardUIMode accessor.
2026         * kwq/KWQKHTMLPart.mm:
2027         (KWQKHTMLPart::keyboardUIMode): Implement keyboardUIMode accessor (calls through the bridge).
2028         * kwq/WebCoreBridge.h: Declare the bridge accessor.
2029         * kwq/WebCoreKeyboardAccess.h: Added. Header defines keyboard UI mode constants.
2030         
2031 2003-09-30  Maciej Stachowiak  <mjs@apple.com>
2032
2033         Reviewed by Ken.
2034
2035         - fixed 3375281 - Keyboard event handlers not fired if focus not in form field
2036         - fixed 3242927 - KeyPressed Event in Javascript don't work
2037         - fixed 3375353 - keyboard event.target not updated when blurring from form items
2038         - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission
2039         
2040         * khtml/xml/dom_nodeimpl.cpp:
2041         (NodeImpl::dispatchKeyEvent): Force false when defaultHandled instead of
2042         based on a weird rule appropriate for KDE but not for us.
2043         * kwq/KWQKHTMLPart.mm:
2044         (KWQKHTMLPart::keyEvent): If there's no focus node, give the event
2045         to the body element instead of giving up. Also, reverse
2046         expectedsense of return value dispatchKeyEvent, since it returns
2047         true if it *didn't* swallow the event. And finally, let the key press
2048         event as well as the key down event for the initial NSKeyDown block
2049         default handling.
2050         * kwq/KWQListBox.mm:
2051         (-[KWQTableView keyDown:]): Respect return value from interceptKeyEvent:
2052         (-[KWQTableView keyUp:]): ditto
2053         * kwq/KWQTextArea.mm:
2054         (-[KWQTextAreaTextView keyDown:]): ditto
2055         (-[KWQTextAreaTextView keyUp:]): ditto
2056         * kwq/KWQTextField.mm:
2057         (-[KWQTextField textView:shouldHandleEvent:]): ditto
2058
2059 2003-09-30  David Hyatt  <hyatt@apple.com>
2060
2061         Improvements to layout transitions and scrollbar appearance/disappearance.  
2062         Also implementing a fix for 3264346, overflow applied to body should apply to
2063         the document's scrollers.
2064         
2065         Reviewed by darin
2066
2067         * khtml/html/html_baseimpl.cpp:
2068         (HTMLFrameElementImpl::parseAttribute):
2069         * khtml/khtmlview.cpp:
2070         (KHTMLView::KHTMLView):
2071         (KHTMLView::~KHTMLView):
2072         (KHTMLView::resetScrollBars):
2073         (KHTMLView::clear):
2074         (KHTMLView::initScrollBars):
2075         (KHTMLView::applyBodyScrollQuirk):
2076         (KHTMLView::inLayout):
2077         * khtml/khtmlview.h:
2078         * khtml/rendering/render_block.cpp:
2079         * khtml/rendering/render_block.h:
2080         * khtml/rendering/render_canvas.cpp:
2081         (RenderCanvas::layout):
2082         * khtml/rendering/render_form.cpp:
2083         (TextAreaWidget::TextAreaWidget):
2084         * khtml/rendering/render_frames.cpp:
2085         (RenderFrame::slotViewCleared):
2086         (RenderPartObject::slotViewCleared):
2087         * khtml/rendering/render_list.cpp:
2088         (RenderListMarker::calcMinMaxWidth):
2089         * khtml/rendering/render_object.cpp:
2090         (RenderObject::repaint):
2091         (RenderObject::repaintRectangle):
2092         * khtml/xml/dom_docimpl.cpp:
2093         (DocumentImpl::setInPageCache):
2094         * kwq/KWQKHTMLPart.mm:
2095         (KWQKHTMLPart::createPart):
2096         * kwq/KWQRenderTreeDebug.cpp:
2097         (write):
2098         (externalRepresentation):
2099         * kwq/KWQScrollView.h:
2100         * kwq/KWQScrollView.mm:
2101         (QScrollView::setVScrollBarMode):
2102         (QScrollView::setHScrollBarMode):
2103         (QScrollView::setScrollBarsMode):
2104         (QScrollView::vScrollBarMode):
2105         (QScrollView::hScrollBarMode):
2106         (QScrollView::hasVerticalScrollBar):
2107         (QScrollView::hasHorizontalScrollBar):
2108         (QScrollView::suppressScrollBars):
2109         * kwq/WebCoreBridge.mm:
2110         (-[WebCoreBridge installInFrame:]):
2111         * kwq/WebCoreFrameView.h:
2112
2113 2003-09-30  David Hyatt  <hyatt@apple.com>
2114
2115         Fix for 3437260, nil deref of the render style because it hasn't been set yet.
2116         Fallout from my incremental repainting landing.
2117         
2118         Reviewed by darin
2119
2120         * khtml/rendering/render_replaced.cpp:
2121         (RenderWidget::setQWidget):
2122
2123 2003-09-29  David Hyatt  <hyatt@apple.com>
2124
2125         Fix for 3438479, tables expand on every layout when a cell has percentage height
2126         children.
2127         
2128         Reviewed by darin
2129
2130         * khtml/rendering/render_table.cpp:
2131         (RenderTableSection::calcRowHeight):
2132         (RenderTableRow::layout):
2133
2134 2003-09-29  Chris Blumenberg  <cblu@apple.com>
2135
2136         Fixed: <rdar://problem/3332460>: nil-deref in khtml::RenderWidget::eventFilter with onchange handler
2137
2138         Reviewed by darin.
2139
2140         * kwq/KWQTextField.mm:
2141         (-[KWQTextField controlTextDidEndEditing:]): call setHasFocus:NO last so we have the widget that lets us get to the bridge and lets us call controlTextDidEndEditing
2142
2143 2003-09-29  David Hyatt  <hyatt@apple.com>
2144
2145         Fix for 3425053, text past the bottom of a positioned table doesn't repaint.
2146         3426847 is the same bug.  Both are fixed by ensuring that calcHeight doesn't actually
2147         do anything other than margin computation and position determination for positioned
2148         elements.  In reality, for weird edge cases like implying the height via explicit top and
2149         bottom properties, we'll still be wrong.
2150         
2151         Reviewed by darin
2152
2153         * ChangeLog:
2154         * khtml/rendering/render_table.cpp:
2155         (RenderTable::layout):
2156
2157 2003-09-29  David Hyatt  <hyatt@apple.com>
2158
2159         Make sure that timeouts updateRendering after they execute the scheduled timer
2160         action.  
2161
2162         Also fixing 3429455, maxwidth of pres miscomputed when two blank lines occur at
2163         the end of a pre text run.
2164         
2165         Reviewed by darin, mjs (setTimeout fix), darin (pre fix)
2166
2167         * khtml/ecma/kjs_window.cpp:
2168         (ScheduledAction::execute):
2169         * khtml/rendering/render_text.cpp:
2170         (RenderText::trimmedMinMaxWidth):
2171         (RenderText::calcMinMaxWidth):
2172
2173 2003-09-29  Darin Adler  <darin@apple.com>
2174
2175         Reviewed by John.
2176
2177         - fixed 3437292 -- Safari uses wrong characters for &and; and &or; entities
2178
2179         * khtml/html/kentities.gperf: Corrected values for &and; and &or; entities.
2180         Checked all the rest against a list on the W3C site, and those are the only two that were wrong.
2181         * khtml/html/kentities.c: Regnenerated.
2182
2183 2003-09-26  Ken Kocienda  <kocienda@apple.com>
2184
2185         Reviewed by John
2186
2187         Fix for this bug:
2188
2189         <rdar://problem/3435532>: REGRESSION: tabbing to textareas causes infinite recursion
2190
2191         Add recursion guards to the becomeFirstResponder method, otherwise calling
2192         eventFilter with a FocusIn event will cause the infinite recursion
2193         described in the bug.
2194
2195         * kwq/KWQTextArea.mm:
2196         (-[KWQTextAreaTextView becomeFirstResponder]):
2197
2198 2003-09-25  Maciej Stachowiak  <mjs@apple.com>
2199
2200         Reviewed by John.
2201
2202         * khtml/ecma/kjs_window.cpp:
2203         (Window::installTimeout): Variant that takes a function and args.
2204         (WindowFunc::tryCall): If the argument is a function, call the
2205         function variant of installTimeout instead of pointlessly passing
2206         the string. Also, correctly implement the code to pass extra args
2207         along.
2208         * khtml/ecma/kjs_window.h:
2209
2210 2003-09-25  Maciej Stachowiak  <mjs@apple.com>
2211
2212         Roll out build system change since it did not actually work. :-(
2213         
2214         * WebCore.pbproj/project.pbxproj:
2215
2216 2003-09-25  David Hyatt  <hyatt@apple.com>
2217
2218         Landing the new repainting code.  This code eliminates many redundant layouts, makes
2219         layout scheduling work properly when called from WebKit, cleans up relpositioned inlines
2220         that act as containing blocks for absolute positioned children, and eliminates the
2221         repaint timer.
2222         
2223         Reviewed by kocienda
2224
2225         * khtml/html/html_documentimpl.cpp:
2226         (HTMLDocumentImpl::close):
2227         * khtml/khtmlview.cpp:
2228         (KHTMLView::KHTMLView):
2229         * khtml/khtmlview.h:
2230         * khtml/rendering/render_block.cpp:
2231         * khtml/rendering/render_block.h:
2232         * khtml/rendering/render_box.cpp:
2233         (RenderBox::setStyle):
2234         (RenderBox::setPixmap):
2235         (RenderBox::getAbsoluteRepaintRect):
2236         (RenderBox::computeAbsoluteRepaintRect):
2237         (RenderBox::repaintIfMoved):
2238         (RenderBox::calcAbsoluteHorizontal):
2239         (RenderBox::calcAbsoluteVertical):
2240         * khtml/rendering/render_box.h:
2241         * khtml/rendering/render_canvas.cpp:
2242         (RenderCanvas::layout):
2243         (RenderCanvas::repaintViewRectangle):
2244         (RenderCanvas::getAbsoluteRepaintRect):
2245         (RenderCanvas::computeAbsoluteRepaintRect):
2246         * khtml/rendering/render_canvas.h:
2247         * khtml/rendering/render_container.cpp:
2248         (RenderContainer::addChild):
2249         (RenderContainer::removeChildNode):
2250         (RenderContainer::removeChild):
2251         (RenderContainer::appendChildNode):
2252         (RenderContainer::insertChildNode):
2253         * khtml/rendering/render_flexbox.cpp:
2254         * khtml/rendering/render_flow.cpp:
2255         (RenderFlow::getAbsoluteRepaintRect):
2256         * khtml/rendering/render_flow.h:
2257         * khtml/rendering/render_image.cpp:
2258         (RenderImage::setPixmap):
2259         (RenderImage::layout):
2260         * khtml/rendering/render_inline.cpp:
2261         (RenderInline::addChildToFlow):
2262         * khtml/rendering/render_layer.cpp:
2263         (RenderLayer::convertToLayerCoords):
2264         * khtml/rendering/render_list.cpp:
2265         (RenderListMarker::setPixmap):
2266         * khtml/rendering/render_object.cpp:
2267         (RenderObject::RenderObject):
2268         (RenderObject::setNeedsLayout):
2269         (RenderObject::setChildNeedsLayout):
2270         (RenderObject::markContainingBlocksForLayout):
2271         (RenderObject::containingBlock):
2272         (RenderObject::repaint):
2273         (RenderObject::repaintRectangle):
2274         (RenderObject::repaintAfterLayoutIfNeeded):
2275         (RenderObject::repaintIfMoved):
2276         (RenderObject::repaintPositionedAndFloatingDescendants):
2277         (RenderObject::getAbsoluteRepaintRect):
2278         (RenderObject::getAbsoluteRepaintRectIncludingDescendants):
2279         (RenderObject::computeAbsoluteRepaintRect):
2280         (RenderObject::setStyle):
2281         (RenderObject::container):
2282         (RenderObject::detach):
2283         (RenderObject::scheduleRelayout):
2284         * khtml/rendering/render_object.h:
2285         * khtml/rendering/render_style.cpp:
2286         (RenderStyle::diff):
2287         * khtml/rendering/render_table.cpp:
2288         (RenderTable::layout):
2289         (RenderTableRow::getAbsoluteRepaintRect):
2290         (RenderTableCell::computeAbsoluteRepaintRect):
2291         * khtml/rendering/render_table.h:
2292         * khtml/xml/dom_nodeimpl.cpp:
2293         (NodeBaseImpl::insertBefore):
2294         (NodeBaseImpl::replaceChild):
2295         (NodeBaseImpl::appendChild):
2296         * kwq/KWQKHTMLPart.mm:
2297         (KWQKHTMLPart::clearTimers):
2298         * kwq/KWQRenderTreeDebug.cpp:
2299         (write):
2300         (externalRepresentation):
2301         * kwq/KWQRenderTreeDebug.h:
2302
2303 2003-09-25  Maciej Stachowiak  <mjs@apple.com>
2304
2305         Reviewed by Darin.
2306
2307         * WebCore.pbproj/project.pbxproj: Don't hack install name. Instead
2308         of embedding into Safari, embed into WebKit as sub-umbrella.
2309
2310 === Safari-107 ===
2311
2312 2003-09-25  Darin Adler  <darin@apple.com>
2313
2314         - rolled out change to fix 3390850 because it caused a performance regression
2315
2316         * khtml/misc/decoder.cpp: (Decoder::decode): Rolled out change.
2317
2318 2003-09-25  Ken Kocienda  <kocienda@apple.com>
2319
2320         Reviewed by Dave
2321
2322         Name change: TextRun is now InlineTextBox. Some related names
2323         have been changed as well. There should be no change in
2324         behavior as a result of this patch.
2325
2326         * khtml/khtml_part.cpp:
2327         (KHTMLPart::selectedText):
2328         (firstRunAt):
2329         (lastRunAt):
2330         (startAndEndLineNodesIncludingNode):
2331         * khtml/rendering/bidi.cpp:
2332         * khtml/rendering/render_flow.cpp:
2333         (RenderFlow::paintLineBoxDecorations):
2334         * khtml/rendering/render_line.cpp:
2335         (InlineFlowBox::placeBoxesHorizontally):
2336         (InlineFlowBox::placeBoxesVertically):
2337         * khtml/rendering/render_line.h:
2338         * khtml/rendering/render_text.cpp:
2339         (InlineTextBox::detach):
2340         (throw):
2341         (InlineTextBox::operator delete):
2342         (InlineTextBox::paintSelection):
2343         (InlineTextBox::paintDecoration):
2344         (InlineTextBox::checkSelectionPoint):
2345         (InlineTextBoxArray::InlineTextBoxArray):
2346         (InlineTextBoxArray::compareItems):
2347         (InlineTextBoxArray::findFirstMatching):
2348         (RenderText::deleteRuns):
2349         (RenderText::findNextInlineTextBox):
2350         (RenderText::nodeAtPoint):
2351         (RenderText::checkSelectionPointIgnoringContinuations):
2352         (RenderText::cursorPos):
2353         (RenderText::posOfChar):
2354         (RenderText::paintObject):
2355         (RenderText::createInlineBox):
2356         (RenderText::position):
2357         (RenderText::width):
2358         * khtml/rendering/render_text.h:
2359         * kwq/KWQKHTMLPart.mm:
2360         (KWQKHTMLPart::attributedString):
2361         * kwq/KWQRenderTreeDebug.cpp:
2362         (writeTextRun):
2363         (write):
2364
2365 2003-09-25  Darin Adler  <darin@apple.com>
2366
2367         Added a new layout test.
2368
2369         * layout-tests/fast/forms/form-element-geometry-expected.txt: Added.
2370         * layout-tests/fast/forms/form-element-geometry.html: Added.
2371
2372 2003-09-24  Darin Adler  <darin@apple.com>
2373
2374         * layout-tests/fast/table/003-expected.txt: Updated for textarea width change.
2375
2376 2003-09-24  David Hyatt  <hyatt@apple.com>
2377
2378         Fix for 3429646, <img src="blah"<img src="foo"> should show up as two images.
2379         
2380         Reviewed by darin
2381
2382         * khtml/html/htmlparser.cpp:
2383         (KHTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2384         * khtml/html/htmltokenizer.cpp:
2385         (HTMLTokenizer::parseTag):
2386
2387 2003-09-24  Darin Adler  <darin@apple.com>
2388
2389         Reviewed by Dave.
2390
2391         - fixed a recent regression, and ...
2392         - fixed 3386544 -- ARCH: <object>s don't support transclusion like <iframe>s do
2393
2394         * khtml/khtml_part.cpp: (KHTMLPart::childFrame): Added back a cast I should
2395         not have removed to fix the function.
2396
2397 2003-09-24  David Hyatt  <hyatt@apple.com>
2398
2399         Fix for 3430612, crash on about:blank in updateHoverActiveState.  Just missing
2400         a null-check.  Also remove a hover optimization that was bogus.
2401         
2402         Reviewed by darin
2403
2404         * khtml/rendering/render_layer.cpp:
2405         (RenderLayer::updateHoverActiveState):
2406
2407 2003-09-24  Richard Williamson   <rjw@apple.com>
2408
2409         Fixed 3420736.  Clear renderer caches when get an ATS font changed notification.  This fix may be moot depending on progress toward fixing 2695906.
2410
2411         * kwq/WebCoreBridge.h:
2412         * kwq/WebCoreBridge.mm:
2413         (+[WebCoreBridge updateAllViews]):
2414
2415 2003-09-24  Darin Adler  <darin@apple.com>
2416
2417         - a new test for JavaScript date parsing
2418
2419         * layout-tests/fast/js/date-parse-test-expected.txt: Added.
2420         * layout-tests/fast/js/date-parse-test.html: Added.
2421
2422 2003-09-24  Darin Adler  <darin@apple.com>
2423
2424         Reviewed by Ken.
2425
2426         - fixed ownerElement for documents in HTML objects (helpful for some work Dave is doing)
2427
2428         * khtml/khtml_part.h: Change name of frame function to childFrame for clarity.
2429         * khtml/khtml_part.cpp:
2430         (KHTMLPart::slotChildStarted): Call the frame function by its new name, childFrame.
2431         (KHTMLPart::slotChildCompleted): Ditto.
2432         (KHTMLPart::slotChildURLRequest): Ditto.
2433         (KHTMLPart::childFrame): Change name from frame to childFrame for clarity, and make it work
2434         for parts inside HTML objects, not just normal frames and iframes. The change in behavior is
2435         the actual fix. Note that for the three callers above, it's an error to call this when the
2436         result would be 0, so there's no harm in doing the extra search of HTML objects in those cases.
2437
2438         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::ownerElement): Call the frame function by its new
2439         name, childFrame. This is the caller that will benefit most from the change in behavior.
2440
2441         * kwq/KWQKHTMLPart.h: Remove childFrameForPart function, which is superseded by the
2442         childFrame function now.
2443         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrameHierarchy): Use childFrame instead
2444         of childFrameForPart.
2445
2446 2003-09-23  Darin Adler  <darin@apple.com>
2447
2448         Reviewed by Ken.
2449
2450         - fixed 3390850 -- Shift_JIS in meta tag ignored because <img> tag in JavaScript comes first (vintagecomp.com)
2451
2452         * khtml/misc/decoder.cpp: (Decoder::decode): Don't let tags inside a script make us think we're in the body.
2453         Later we can enhance this even more.
2454
2455 2003-09-22  Darin Adler  <darin@apple.com>
2456
2457         Reviewed by Ken.
2458
2459         - fixed 3292723 -- onBlur() getting called twice on <input type=text>
2460
2461         * khtml/rendering/render_replaced.cpp: (RenderWidget::eventFilter):
2462         Call setFocusNode(0) instead of explicitly sending a blur event, otherwise
2463         setFocusNode will send a second blur event later.
2464
2465 2003-09-22  Darin Adler  <darin@apple.com>
2466
2467         - fixed 3391837 -- we list ISO-8859-8-E as visual ordering for Hebrew; it's "explicit ordering", not supported
2468
2469         * kwq/mac-encodings.txt: Removed ISO-8859-8-E.
2470         * kwq/KWQCharsetData.c: Regenerated.
2471
2472 2003-09-22  Darin Adler  <darin@apple.com>
2473
2474         * kwq/KWQTextEdit.mm: (QTextEdit::sizeWithColumnsAndRows): Made it compile.
2475
2476 2003-09-22  Darin Adler  <darin@apple.com>
2477
2478         Reviewed by Maciej.
2479
2480         - fixed 3306041 -- Airborne tracking number field too narrow, tracking doesn't work (textare col property)
2481
2482         * khtml/rendering/render_form.cpp: (RenderTextArea::calcMinMaxWidth): Call the QTextEdit
2483         to ask it what size, rather than trying to compute it. This is the same thing we do with
2484         other widgets, I just hadn't done textarea yet.
2485
2486         * kwq/KWQTextEdit.h: Added sizeWithColumnsAndRows function.
2487         * kwq/KWQTextEdit.mm: (QTextEdit::sizeWithColumnsAndRows): Added. Calls through to the
2488         KWQTextArea object.
2489
2490         * kwq/KWQTextArea.h: Added sizeWithColumns:rows: method.
2491         * kwq/KWQTextArea.mm:
2492         (-[KWQTextArea _createTextView]): Make consistent with other callers of the size mapping methods
2493         by using [self class] instead of NSScrollView, and getting hasHorizontalScroller and
2494         hasVerticalScroller from the view.
2495         (-[KWQTextArea setFrame:]): Make consistent with other callers of the size mapping methods
2496         by using [self class] instead of NSScrollView.
2497         (-[KWQTextArea sizeWithColumns:rows:]): Added. Starts by computing the width and height of the
2498         columns specified, using a canonical width of a "0" character. Then converts that to a container
2499         size by adding line fragment padding. Then converts that into the text view size by adding the
2500         text container inset. Then converts that into the scroll view size by calling frameSizeForContentSize:.
2501
2502 2003-09-22  Darin Adler  <darin@apple.com>
2503
2504         * WebCore.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols.
2505
2506 2003-09-22  Darin Adler  <darin@apple.com>
2507
2508         Reviewed by Ken.
2509
2510         - research determined we were using nothing defined in config.h, so I got rid of it
2511
2512         * Makefile.am: Removed rules to generate config.h.
2513         * config.h: Removed.
2514
2515         * WebCore.pbproj/project.pbxproj: Removed define of HAVE_CONFIG_H.
2516
2517         * WebCorePrefix.h: Removed include of <config.h>.
2518
2519         * ForwardingHeaders/config.h: Emptied this file out. Can't remove this because there are
2520         some includes of <config.h> without HAVE_CONFIG_H wrappers.
2521
2522 2003-09-21  Darin Adler  <darin@apple.com>
2523
2524         Reviewed by Dave.
2525
2526         - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft)
2527
2528         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Set the value of a new element dictionary
2529         key, WebCoreElementTitleKey. This gives the title for an element, walking up the DOM tree as necessary
2530         to find it. It's used for tool tips at the WebKit level.
2531         * kwq/WebCoreBridge.h: Added WebCoreElementTitleKey and WebCorePageCacheStateKey.
2532
2533         * WebCore.exp: Added all the constants from WebCoreBridge.h; these should be exported even though they
2534         are not being used at the moment because the "WebCore and WebKit use the same constant keys" hack we
2535         are doing at the WebKit level means we can just use the WebKit keys on the WebKit side.
2536         * WebCore-combined.exp: Regenerated.
2537
2538 2003-09-20  Darin Adler  <darin@apple.com>
2539
2540         Reviewed by Dave.
2541
2542         - fixed 3328481 -- selection in select element list box does not scroll into view when set programatically
2543
2544         * kwq/KWQListBox.mm: (QListBox::setSelected): Scroll newly-selected item into view.
2545
2546 2003-09-20  Darin Adler  <darin@apple.com>
2547
2548         Reviewed by Dave.
2549
2550         - fixed 3429384 -- REGRESSION (89-90): nil-deref in KHTMLPart::write() (cheshiremotorcyclesalvage.com)
2551
2552         * khtml/khtml_part.cpp: (KHTMLPart::write): Add a nil check.
2553
2554 2003-09-20  Darin Adler  <darin@apple.com>
2555
2556         Reviewed by Dave.
2557
2558         - more fixes for the W3C DOM tests
2559
2560         * khtml/dom/dom_doc.cpp: (Document::createAttributeNS): Check that the attribute name
2561         is valid and throw INVALID_CHARACTER_ERR if not.
2562
2563         * khtml/dom/dom_element.cpp:
2564         (Element::removeAttributeNode): Get the attribute name properly. The old code would always
2565         get a 0, so this function would always fail.
2566         (Element::setAttributeNS): Check that the attribute name is valid and throw
2567         INVALID_CHARACTER_ERR if not.
2568         (Element::setAttributeNodeNS): Remove redundant exception checks that are also done by
2569         setNamedItem in the implementation. I had to change the implementation of one, so I decided
2570         it was better not to have any duplication.
2571
2572         * khtml/xml/dom_docimpl.h: Added isValidName function.
2573         * khtml/xml/dom_docimpl.cpp:
2574         (DocumentImpl::createHTMLElement): Check that the attribute name is valid and throw
2575         INVALID_CHARACTER_ERR if not.
2576         (DocumentImpl::isValidName): Added. Used to check for valid names.
2577
2578         * khtml/xml/dom_elementimpl.cpp:
2579         (NamedAttrMapImpl::setNamedItem): Don't do the document check until after checking for
2580         the "replace self" case. Otherwise we raise a spurious "in use" exception.
2581         (NamedAttrMapImpl::addAttribute): Point the new attribute at the element.
2582
2583 2003-09-19  Maciej Stachowiak  <mjs@apple.com>
2584
2585         Reviewed by Darin.
2586
2587         Roll out old fix for 3410980 and do a new better fix.
2588
2589         * khtml/html/html_documentimpl.cpp:
2590         (HTMLDocumentImpl::close):
2591         * khtml/khtml_part.h:
2592         * kwq/KWQKHTMLPart.mm:
2593         * kwq/WebCoreBridge.h:
2594
2595 2003-09-19  Darin Adler  <darin@apple.com>
2596
2597         Reviewed by Dave.
2598
2599         - update layout tests for Dave's change
2600
2601         * layout-tests/apple-only/base/www.excite.com/index-expected.txt:
2602         * layout-tests/fast/block/positioning/051-expected.txt:
2603         * layout-tests/fast/overflow/003-expected.txt:
2604
2605         - fixed 3426272 -- sites that use text-shadow cause leaks (QPainter::setShadow)
2606
2607         * kwq/KWQPainter.mm: (QPainter::setShadow): Release the color space and color.
2608
2609         - fixed some errors that caused failures in the W3C DOM suite
2610
2611         * khtml/ecma/kjs_binding.cpp:
2612         (DOMObject::get): Put "code" in the error object.
2613         (DOMObject::put): Put "code" in the error object.
2614         (DOMFunction::get): Put "code" in the error object.
2615
2616         * khtml/ecma/kjs_dom.cpp: (DOMCharacterDataProtoFunc::tryCall):
2617         Add checks for negative count values. Not clear whether this change is
2618         really great, but it helps us pass W3C DOM tests and clearly won't affect
2619         normal pages in any bad way.
2620
2621         * khtml/xml/dom_elementimpl.cpp:
2622         (AttrImpl::AttrImpl): Set m_specified to true. Since we never set up the
2623         attributes from the DTD anyway, this is fine for now. If we ever go crazy
2624         and implement that, then the bit field is sitting here waiting for us.
2625         (NamedAttrMapImpl::removeNamedItem): The comment from KHTML says they
2626         don't raise the not found exception because "the DOM 2 spec doesn't say
2627         you should". But the DOM Level 1 specification clearly does, and the W3C
2628         DOM Level 1 Core test requires it, so I'm putting it in.
2629
2630         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkAddChild): Typo; this was
2631         returning the wrong error code in the "wrong document" case.
2632
2633         * khtml/xml/dom_stringimpl.cpp:
2634         (DOMStringImpl::remove): Fix overflow case.
2635         (DOMStringImpl::substring): Fix overflow case.
2636         
2637 2003-09-19  David Hyatt  <hyatt@apple.com>
2638
2639         Fix for 3401409, fix negative z-index.  This code actually substantially
2640         reworks layers to be more efficient in both painting and event handling.
2641         It also fixes bugs with clipping as well as with negative z-indices.
2642         
2643         Reviewed by kocienda
2644
2645         * khtml/css/cssstyleselector.cpp:
2646         * khtml/rendering/render_block.cpp:
2647         * khtml/rendering/render_block.h:
2648         * khtml/rendering/render_box.cpp:
2649         (RenderBox::setStyle):
2650         (RenderBox::repaintRectangle):
2651         * khtml/rendering/render_box.h:
2652         * khtml/rendering/render_frames.cpp:
2653         (RenderFrameSet::nodeAtPoint):
2654         * khtml/rendering/render_frames.h:
2655         * khtml/rendering/render_image.cpp:
2656         (RenderImage::nodeAtPoint):
2657         * khtml/rendering/render_image.h:
2658         * khtml/rendering/render_inline.cpp:
2659         (RenderInline::nodeAtPoint):
2660         * khtml/rendering/render_inline.h:
2661         * khtml/rendering/render_layer.cpp:
2662         (RenderLayer::RenderLayer):
2663         (RenderLayer::~RenderLayer):
2664         (RenderLayer::updateLayerPosition):
2665         (RenderLayer::stackingContext):
2666         (RenderLayer::enclosingPositionedAncestor):
2667         (RenderLayer::transparentAncestor):
2668         (RenderLayer::addChild):
2669         (RenderLayer::removeChild):
2670         (RenderLayer::convertToLayerCoords):
2671         (RenderLayer::checkScrollbarsAfterLayout):
2672         (RenderLayer::paintScrollbars):
2673         (RenderLayer::paint):
2674         (setClip):
2675         (restoreClip):
2676         (RenderLayer::paintLayer):
2677         (RenderLayer::nodeAtPoint):
2678         (RenderLayer::nodeAtPointForLayer):
2679         (RenderLayer::calculateClipRects):
2680         (RenderLayer::calculateRects):
2681         (RenderLayer::intersectsDamageRect):
2682         (RenderLayer::containsPoint):
2683         (hoverAncestor):
2684         (commonAncestor):
2685         (RenderLayer::updateHoverActiveState):
2686         (sortByZOrder):
2687         (RenderLayer::dirtyZOrderLists):
2688         (RenderLayer::updateZOrderLists):
2689         (RenderLayer::collectLayers):
2690         * khtml/rendering/render_layer.h:
2691         * khtml/rendering/render_object.cpp:
2692         (RenderObject::setStyle):
2693         (RenderObject::document):
2694         (RenderObject::renderArena):
2695         (RenderObject::nodeAtPoint):
2696         * khtml/rendering/render_object.h:
2697         * khtml/rendering/render_text.cpp:
2698         (RenderText::nodeAtPoint):
2699         * khtml/rendering/render_text.h:
2700         * khtml/xml/dom_docimpl.cpp:
2701         (DocumentImpl::DocumentImpl):
2702         (DocumentImpl::~DocumentImpl):
2703         (DocumentImpl::recalcStyleSelector):
2704         (DocumentImpl::setHoverNode):
2705         * khtml/xml/dom_docimpl.h:
2706         * kwq/KWQKHTMLPart.mm:
2707         (KWQKHTMLPart::paint):
2708         (KWQKHTMLPart::paintSelectionOnly):
2709         (KWQKHTMLPart::adjustPageHeight):
2710         * kwq/KWQRect.h:
2711         * kwq/KWQRenderTreeDebug.cpp:
2712         (write):
2713         (writeLayers):
2714         (externalRepresentation):
2715
2716 2003-09-19  Darin Adler  <darin@apple.com>
2717
2718         Reviewed by Dave.
2719
2720         * layout-tests: Updated for my mini-controls change.
2721
2722 2003-09-19  Darin Adler  <darin@apple.com>
2723
2724         Reviewed by Dave.
2725
2726         - do the prep work for the mini controls feature; Dave will finish this
2727
2728         * khtml/rendering/render_form.cpp: (RenderFormElement::updateFromElement):
2729         Tell the widget about the font size. Our widgets use the font size to
2730         decide whether to use Aqua normal, small, or mini.
2731
2732         * kwq/KWQButton.h: Add setFont.
2733         * kwq/KWQButton.mm:
2734         (QButton::setFont): Set control size based on font.
2735         (KWQNSControlSizeForFont): Determine control size given a font. Dave is going
2736         to tweak this later.
2737
2738         * kwq/KWQCheckBox.h: Add dimensions function for metrics for each control size.
2739         * kwq/KWQCheckBox.mm:
2740         (QCheckBox::sizeHint): Use dimensions.
2741         (QCheckBox::frameGeometry): Use dimensions.
2742         (QCheckBox::setFrameGeometry): Use dimensions.
2743         (QCheckBox::baselinePosition): Use dimensions.
2744         (QCheckBox::dimensions): Added. Has newly tweaked values for all dimensions for
2745         all three control sizes.
2746
2747         * kwq/KWQComboBox.h: Add setFont and dimensions.
2748         * kwq/KWQComboBox.mm:
2749         (QComboBox::sizeHint): Use dimensions.
2750         (QComboBox::frameGeometry): Use dimensions.
2751         (QComboBox::setFrameGeometry): Use dimensions.
2752         (QComboBox::baselinePosition): Use dimensions.
2753         (QComboBox::setFont): Use dimensions.
2754         (QComboBox::dimensions): Added. Has newly tweaked values for all dimensions for
2755         all three control sizes.
2756
2757         * kwq/KWQFileButton.mm: (KWQFileButton::baselinePosition): Change to adapt to
2758         flipped version of file button NSControl.
2759
2760         * kwq/KWQPushButton.h: Add dimensions function for metrics for each control size.
2761         * kwq/KWQPushButton.mm:
2762         (QPushButton::sizeHint): Use dimensions.
2763         (QPushButton::frameGeometry): Use dimensions.
2764         (QPushButton::setFrameGeometry): Use dimensions.
2765         (QPushButton::baselinePosition): Use dimensions.
2766         (QPushButton::dimensions): Added. Has newly tweaked values for all dimensions for
2767         all three control sizes.
2768
2769         * kwq/KWQRadioButton.h: Add dimensions function for metrics for each control size.
2770         * kwq/KWQRadioButton.mm:
2771         (QRadioButton::sizeHint): Use dimensions.
2772         (QRadioButton::frameGeometry): Use dimensions.
2773         (QRadioButton::setFrameGeometry): Use dimensions.
2774         (QRadioButton::baselinePosition): Use dimensions.
2775         (QRadioButton::dimensions): Added. Has newly tweaked values for all dimensions for
2776         all three control sizes.
2777
2778 2003-09-19  Maciej Stachowiak  <mjs@apple.com>
2779
2780         Reviewed by Darin.
2781         
2782         - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes
2783         
2784         * khtml/html/html_documentimpl.cpp:
2785         (HTMLDocumentImpl::close): Remove redundant check removed.
2786         * khtml/khtml_part.h:
2787         * kwq/KWQKHTMLPart.h:
2788         * kwq/KWQKHTMLPart.mm:
2789         (KWQKHTMLPart::scheduleHistoryNavigation): Only call the base class
2790         method to actually schedule when it's possible to go back or forward
2791         that number of steps.
2792         * kwq/WebCoreBridge.h:
2793
2794 2003-09-17  John Sullivan  <sullivan@apple.com>
2795
2796         - WebCore part of fix for 3157018 -- Would like option to
2797         not print backgrounds   
2798
2799         Reviewed by Darin
2800
2801         * kwq/KWQKHTMLSettings.h:
2802         add _shouldPrintBackgrounds field and accessors
2803
2804         * kwq/WebCoreSettings.h:
2805         add shouldPrintBackgrounds field and accessors
2806         * kwq/WebCoreSettings.mm:
2807         (-[WebCoreSettings setShouldPrintBackgrounds:]):
2808         new method, passes value to KHTMLSettings
2809         (-[WebCoreSettings shouldPrintBackgrounds]):
2810         new method
2811
2812         * kwq/WebCoreBridge.mm:
2813         (-[WebCoreBridge styleSheetForPrinting]):
2814         new method, returns a style sheet that has backgrounds
2815         turned off if preference is set that way.
2816         (-[WebCoreBridge reapplyStylesForDeviceType:]):
2817         if printing, set the printStyleSheet to the one we
2818         created based on the preferences. (KHTML has always
2819         had support for a special printStyleSheet, but it was
2820         only being used in !APPLE_CHANGES code.)
2821
2822         * khtml/rendering/render_style.h:
2823         add shouldCorrectTextColor boolean field and accessors 
2824
2825         * khtml/xml/dom_docimpl.cpp:
2826         (DocumentImpl::recalcStyle):
2827         tell style to correct text colors if backgrounds aren't being printed
2828
2829         * khtml/rendering/render_text.cpp:
2830         (TextRun::paintSelection):
2831         added comment
2832         (simpleDifferenceBetweenColors):
2833         new function, computes a quick measure of difference
2834         between colors
2835         (correctedTextColor):
2836         if text and background colors are too similar, returns
2837         lightened or darkened text color
2838         (RenderText::paintObject):
2839         if style says to correct text colors, call correctedTextColor
2840
2841 2003-09-17  Darin Adler  <darin@apple.com>
2842
2843         Reviewed by Ken.
2844
2845         - fixed 3423404 -- REGRESSION: Japanese page appears blank due to unexpected kTECPartialCharErr
2846
2847         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertOneChunkUsingTEC): In the case where we're already
2848         going from the small buffer back to the large one, treat kTECPartialCharErr the same as noErr.
2849         Otherwise we'll get confused and drop the contents of the big buffer.
2850         (KWQTextDecoder::convert): Improve the debugging code a bit (still turned off).
2851
2852 === WebCore-105 ===
2853
2854 2003-09-15  Ken as Darin  <darin@apple.com>
2855
2856         Reviewed by Darin and Don.
2857
2858         - fixed 3419957 -- REGRESSION: lines drawn across multiple columns at washingtonpost.com
2859
2860         * khtml/rendering/render_box.cpp: (RenderBox::calcWidth): Always use the width of the line
2861         rather than the width of the containing block for "flow around floats" blocks (<hr>).
2862         This undoes half of the change made to fix bug 3384609.
2863
2864 2003-09-15  Darin Adler  <darin@apple.com>
2865
2866         Reviewed by Ken and Don.
2867
2868         - fixed 3417604 -- REGRESSION: dragging scroll thumb causes textarea contents to vanish
2869
2870         * kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Deallocated cached graphics state for
2871         the text view as well as for the clip view.
2872
2873 2003-09-13  Darin Adler  <darin@apple.com>
2874
2875         Reviewed by Maciej.
2876
2877         - fixed 3420547 -- REGRESSION: repro crash in khtml::RenderBlock::findNextLineBreak (wisdomtips.com)
2878
2879         * khtml/rendering/render_block.cpp: (RenderBlock::addChildToFlow): Exclude BR elements when looking for
2880         an element to process first-letter style.
2881
2882 2003-09-13  Darin Adler  <darin@apple.com>
2883
2884         * layout-tests/fast/frames/empty-frame-src-expected.txt: Updated test results that changed
2885         due to the change in our handling of frame borders.
2886
2887 === WebCore-104 ===
2888
2889 2003-09-12  Richard Williamson   <rjw@apple.com>
2890
2891         Fixed 3420097.  Pass flag up to WebKit indicating that redirects are being cancelled during a pending load.
2892
2893         Reviewed by Darin.
2894
2895         * khtml/khtml_part.cpp:
2896         (KHTMLPart::cancelRedirection):
2897         * khtml/khtml_part.h:
2898         * khtml/khtmlpart_p.h:
2899         * kwq/KWQKHTMLPart.mm:
2900         (KWQKHTMLPart::provisionalLoadStarted):
2901         (KWQKHTMLPart::redirectionTimerStartedOrStopped):
2902         * kwq/WebCoreBridge.h:
2903
2904 === WebCore-103 ===
2905
2906 2003-09-12  Maciej Stachowiak  <mjs@apple.com>
2907
2908         Reviewed by Darin.
2909
2910         * khtml/css/html4.css: Use the same hardcoded default size for
2911         OBJECT and EMBED tags as for IFRAME.
2912
2913 2003-09-12  Darin Adler  <darin@apple.com>
2914
2915         Reviewed by Ken.
2916
2917         - fixed 3403223 -- <input type=file> with initial value causes exception, bad results afterwards, when submitted
2918
2919         * kwq/KWQFile.mm: (QFile::QFile): Don't pass an empty string to fileSystemRepresentation,
2920         because that will cause an exception.
2921
2922 === WebCore-101 ===
2923
2924 2003-09-11  Richard Williamson   <rjw@apple.com>
2925
2926         Fixed 3406671.  Added a private method for Mail to get selection
2927         rect.
2928
2929         Fixed 3417688.  Don't allow https page into page cache.
2930
2931         Reviewed by Darin.
2932
2933         * kwq/KWQFrame.h:
2934         * kwq/KWQFrame.mm:
2935         (QFrame::setFrameStyle):
2936         (QFrame::frameWidth):
2937         * kwq/KWQKHTMLPart.mm:
2938         (KWQKHTMLPart::canCachePage):
2939         * kwq/WebCoreBridge.h:
2940         * kwq/WebCoreBridge.mm:
2941         (-[WebCoreBridge selectionRect]):
2942         (-[WebCoreBridge visibleSelectionRect]):
2943         (-[WebCoreBridge selectionImage]):
2944         (-[WebCoreBridge adjustViewSize]):
2945
2946 === Safari-100 ===
2947
2948 2003-09-09  Darin Adler  <darin@apple.com>
2949
2950         Reviewed by Chris.
2951
2952         - fixed 3373654 -- REGRESSION: Yahoo chat applet reloads over and over due to "baseURL" param name conflict
2953
2954         After some research by the Java team, we discovered that there was no need to
2955         pass in baseURL at all This patch gets rid of that by only passingindividual specified
2956         arguments, rather than passing all the arguments, as applet parameters.
2957
2958         * khtml/rendering/render_applet.cpp: (RenderApplet::processArguments): Remove the
2959         call to KJavaApplet::processArguments, because we only want the individual arguments.
2960         * kwq/KWQKJavaAppletWidget.h: Implement setAppletClass, setAppletName, setArchives, and
2961         setCodeBase. Remove processArguments.
2962         * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::setParameter): Lowercase all the
2963         parameters as we put them in the dictionary, since this is the semantics required by Java.
2964
2965 === Safari-99 ===
2966
2967 2003-09-07  Darin Adler  <darin@apple.com>
2968
2969         Reviewed by Maciej.
2970
2971         - fixed 3411827 -- REGRESSION: text drawing after text-shadow does not respect smoothing style (asahi.com)
2972
2973         * kwq/KWQPainter.mm: (QPainter::clearShadow): Call CGContextSetShadowWithColor with a color of NULL,
2974         which actually clears the shadow, rather than CGContextSetShadow, which sets a black shadow (even
2975         if it is zero pixels in size).
2976
2977 === Safari-98 ===
2978
2979 2003-09-05  Ken Kocienda  <kocienda@apple.com>
2980
2981         Reviewed by Darin
2982
2983         Fix for this bug:
2984
2985         <rdar://problem/3226083>: REGRESSION (Panther): white box 
2986         overlaying select lists at nvidia.com drivers page
2987
2988         * kwq/KWQListBox.mm:
2989         (QListBox::QListBox): Re-add releaseGState fix that Darin
2990         added, but then removed. It turns out that we do need 
2991         this workaround in place to get proper drawing.
2992
2993         Fix for this bug:
2994
2995         <rdar://problem/3310943>: REGRESSION (Panther): textareas 
2996         in forms sometimes draw blank (bugreporter)
2997
2998         * kwq/KWQTextArea.mm:
2999         (-[KWQTextArea initWithFrame:]): Same fix as above.
3000
3001 2003-09-05  Maciej Stachowiak  <mjs@apple.com>
3002
3003         Reviewed by Darin.
3004
3005         - fixed - REGRESSION (85-92): Javascript on page isn't triggered by typed characters (onKeyUp)
3006
3007         (This actually also requires an AppKit fix to be a full fix.)
3008
3009         * kwq/KWQListBox.mm:
3010         (-[KWQTableView keyDown:]): Added. Send event through DOM.
3011         (-[KWQTableView keyUp:]): Likewise.
3012         (-[KWQTableView becomeFirstResponder]): Added. Report focus change
3013         to DOM.
3014         * kwq/KWQTextArea.mm:
3015         (-[KWQTextAreaTextView keyUp:]): Added. Send event through DOM.
3016         * kwq/KWQTextField.mm:
3017         (-[KWQTextField textView:shouldHandleEvent:]): Pass NSKeyUp events too
3018         (not going to work until we get an AppKit fix).
3019
3020 2003-09-04  John Sullivan  <sullivan@apple.com>
3021
3022         - fixed 3399880 -- Repro crash when filling out a form to
3023         download Macromedia software. I managed to check in this
3024         ChangeLog comment a few days ago without actually checking
3025         in the changed file, weird.
3026
3027         Reviewed by Chris
3028
3029         * kwq/WebCoreBridge.mm:
3030         (-[WebCoreBridge elementForView:]):
3031         check for nil widget before dereferencing
3032
3033 2003-09-04  David Hyatt  <hyatt@apple.com>
3034
3035         Fix for 3408630, leak of child frame parts caused by a missing deref when frames
3036         get detached from their parent frame list.
3037         
3038         Reviewed by mjs
3039
3040         * kwq/KWQKHTMLPart.mm:
3041         (KHTMLPart::frameDetached):
3042
3043 2003-09-04  Darin Adler  <darin@apple.com>
3044
3045         * layout-tests/apple-only/base/www.msn.com/index-expected.txt: Update for residual style fix.
3046         * layout-tests/fast/invalid/003-expected.txt: Update for residual style fix.
3047
3048 2003-09-04  Darin Adler  <darin@apple.com>
3049
3050         * kwq/KWQRenderTreeDebug.cpp: (write): Fix clip rectangle computation.
3051         * layout-tests: Update test results.
3052
3053 === Safari-97 ===
3054
3055 2003-09-03  Maciej Stachowiak  <mjs@apple.com>
3056
3057         Reviewed by Darin.
3058
3059         * khtml/khtml_part.cpp:
3060         (KHTMLPart::clear): Un-ifdef cleanup of frames, and add similar
3061         cleanup for objects. Replace delete with deref.
3062         * kwq/KWQKHTMLPart.mm:
3063         (KWQKHTMLPart::createPart): Add an extra ref to KHTMLParts since
3064         both the bridge and the parent part want to deref.
3065
3066 2003-09-03  David Hyatt  <hyatt@apple.com>
3067
3068         Fix for 3404398, leak in residual style code.  The code that built up the
3069         residualStyleStack was messed up and discarded tags.
3070         
3071         Reviewed by mjs
3072
3073         * khtml/html/htmlparser.cpp:
3074         (KHTMLParser::popBlock):
3075
3076 2003-09-02  Ken Kocienda  <kocienda@apple.com>
3077
3078         Reviewed by Darin
3079
3080         Fix for this bug:
3081
3082         <rdar://problem/3399169>: 4 leaks of DOMString objects (Mail)
3083
3084         Remove circular reference between AttributeImpl and AttrImpl objects.
3085         This was causing the leak.
3086
3087         * khtml/xml/dom_elementimpl.cpp:
3088         (AttributeImpl::allocateImpl):
3089
3090 2003-09-02  David Hyatt  <hyatt@apple.com>
3091
3092         Fix for 3359408, DirWS should not be used when collapsing/stripping spaces,
3093         since only ASCII spaces are supposed to be collapsed/stripped.
3094         
3095         Reviewed by mjs
3096
3097         * khtml/rendering/bidi.cpp:
3098
3099 2003-09-02  Darin Adler  <darin@apple.com>
3100
3101         Reviewed by John.
3102
3103         - fixed 3403388 -- decoder mishandles pages which fill the decoding buffer (mainly ISO-2022-JP)
3104
3105         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertUsingTEC): Keep decoding, passing in no additional bytes,
3106         until we get noErr, don't ever stop after a kTECOutputBufferFullStatus error.
3107
3108 2003-09-02  David Hyatt  <hyatt@apple.com>
3109
3110         Fix for 3404452, paint errors on mezzoblue.com's links list.  There was a simple
3111         math error in the invalidation rect computation.
3112         
3113         Reviewed by mjs
3114
3115         * khtml/rendering/render_flow.cpp:
3116         (RenderFlow::repaint):
3117         
3118 2003-09-01  John Sullivan  <sullivan@apple.com>
3119
3120         - WebCore part of fix for 3402489 -- REGRESSION (7B48-7B55): Some 
3121         printed web pages are too small (width is half a page)
3122
3123         This was a regression caused by the fix for 3378810.
3124
3125         Reviewed by Maciej
3126
3127         * kwq/WebCoreBridge.h:
3128         add adjustingViewSize flag to forceLayout and forceLayoutForPageWidth:
3129         * kwq/WebCoreBridge.mm:
3130         (-[WebCoreBridge forceLayoutAdjustingViewSize:]):
3131         respect new flag while we are set up for printing.
3132         (-[WebCoreBridge forceLayoutForPageWidth:adjustingViewSize:]):
3133         ditto
3134         (-[WebCoreBridge adjustFrames:]):
3135         pass NO for new flag here
3136
3137 2003-09-01  John Sullivan  <sullivan@apple.com>
3138
3139         * kwq/KWQPainter.mm:
3140         (QPainter::drawLine):
3141         Removed the ERROR that warns of the CG memory trashing bug, now
3142         that we are enough builds away from it that it is (almost?) never
3143         reported anymore.
3144
3145 === Safari-96 ===
3146
3147 2003-08-29  Maciej Stachowiak  <mjs@apple.com>
3148
3149         Reviewed by Ken.
3150
3151         - fixed 3397775 21 leaks from CSS parser running PLT
3152         
3153         * khtml/css/css_ruleimpl.cpp:
3154         (CSSMediaRuleImpl::~CSSMediaRuleImpl): Clear the parent for all contained
3155         rules.
3156         (CSSMediaRuleImpl::append): Call insertRule.
3157         (CSSMediaRuleImpl::insertRule): set parent of the rule to this media rule.
3158         (CSSRuleListImpl::append): Call insertRule to cover all the relevant
3159         additional handling, instead of adding straight to the list.
3160         * khtml/css/css_ruleimpl.h:
3161
3162 2003-08-29  John Sullivan  <sullivan@apple.com>
3163         
3164         - fixed 3399880 -- Repro crash when filling out a form to 
3165         download Macromedia software
3166
3167         Reviewed by Chris
3168
3169         * kwq/WebCoreBridge.mm:
3170         (-[WebCoreBridge elementForView:]):
3171         check for nil widget before dereferencing
3172
3173 2003-08-28  David Hyatt  <hyatt@apple.com>
3174
3175         Fix for 3381377, fix the calcBlockMinMaxWidth function to not use the
3176         renderobject's computed margins except when it has to.  This makes
3177         table cells with align=right not mess up and fixes margin problems
3178         in general with floated elements and table cells.
3179
3180         Since XUL boxes also use a similar function and since it had a similar
3181         error, vertical XUL boxes have been patched as well.
3182         
3183         Reviewed by gramps
3184
3185         * khtml/rendering/render_block.cpp:
3186         * khtml/rendering/render_flexbox.cpp:
3187
3188 2003-08-28  David Hyatt  <hyatt@apple.com>
3189
3190         Fix for 3398463, a regression caused by an unintended line movement.
3191         <br/> was no longer being treated just like <br> in HTML.
3192         
3193         Reviewed by gramps
3194
3195         * khtml/html/htmltokenizer.cpp:
3196         (HTMLTokenizer::parseTag):
3197
3198 === Safari-95 ===
3199
3200 2003-08-27  Richard Williamson   <rjw@apple.com>
3201
3202         Fixed 3359408.  DON'T treat unicode whitespace as whitespace when collapsing spaces.
3203
3204         Reviewed by David Hyatt.
3205
3206         * khtml/rendering/bidi.cpp:
3207         * khtml/rendering/render_text.cpp:
3208         (RenderText::trimmedMinMaxWidth):
3209         (RenderText::calcMinMaxWidth):
3210         (RenderText::containsOnlyWhitespace):
3211         * khtml/xml/dom_stringimpl.cpp:
3212
3213 2003-08-27  David Hyatt  <hyatt@apple.com>
3214
3215         Fix for 3396962, hang on quote.com.  Fieldsets with display:inline should be treated
3216         like inline-blocks. This matches WinIE's behavior.
3217         
3218         Reviewed by mjs
3219
3220         * khtml/rendering/render_form.cpp:
3221         (RenderFieldset::setStyle):
3222         * khtml/rendering/render_form.h:
3223
3224 2003-08-26  Darin Adler  <darin@apple.com>
3225
3226         Reviewed by Maciej.
3227
3228         - follow-on to fix for 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter)
3229
3230         * kwq/KWQListBox.mm: (QListBox::QListBox): Remove call to releaseGState. This was here to
3231         work around a problem we thought was an AppKit bug, but it turns out it was caused by
3232         NSView hackery in WebKit. We now do the WebKit part in a way that does not create the problem.
3233
3234 2003-08-26  Darin Adler  <darin@apple.com>
3235
3236         Reviewed by Maciej.
3237
3238         - fixed 3031562 -- most forms don't work in certain configurations because of a bug in KWQVariant
3239
3240         * kwq/KWQVariant.mm: (QVariant::QVariant): Set the b element of the union, not the d element,
3241         in the constructor for bool.
3242
3243 2003-08-26  David Hyatt  <hyatt@apple.com>
3244
3245         Fix for 3395950, better support for self-collapsing blocks.  Make them obey
3246         clear properly and also change the definition of self-collapsing to match
3247         the CSS2.1 specification.
3248         
3249         Reviewed by gramps
3250
3251         * khtml/rendering/render_block.cpp:
3252         * khtml/rendering/render_block.h:
3253
3254 2003-08-26  David Hyatt  <hyatt@apple.com>
3255
3256         Fix for 3335175, www.calstone.com renders as blank.  The fix is to deliberately
3257         introduce an error into our HTML parsing code that causes us to honor self-closing
3258         XML-style <script/> tags.  This matches Mozilla and Opera behavior (both of them
3259         have this bug), but it does not match WinIE.
3260         
3261         Reviewed by mjs
3262
3263         * khtml/html/htmltokenizer.cpp:
3264
3265 2003-08-26  David Hyatt  <hyatt@apple.com>
3266
3267         Fix for 3286229, popup menu misplaced.  <form> needs to be allowed as a child of
3268         <h1>-<h6> tags.  All other browsers allow this.
3269         
3270         Reviewed by darin
3271
3272         * khtml/html/dtd.cpp:
3273
3274 2003-08-26  Darin Adler  <darin@apple.com>
3275
3276         Reviewed by Maciej.
3277
3278         - re-fixed 3366542 -- filename with non-ASCII name left out of Content-Disposition for <input type=file>
3279
3280         * khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::formData): Added missing # sign.
3281
3282 2003-08-26  David Hyatt  <hyatt@apple.com>
3283
3284         Fix for 3394107, make sure the display mutation code doesn't mutate objects with
3285         display: none set.
3286         
3287         Reviewed by darin
3288
3289         * khtml/css/cssstyleselector.cpp:
3290
3291 2003-08-22  David Hyatt  <hyatt@apple.com>
3292
3293         Fix for 3388363, copying a word in a list item copied too much.  The code that checked
3294         for the bullet would add in too much text sometimes.
3295         
3296         Reviewed by john
3297
3298         * kwq/KWQKHTMLPart.mm:
3299         (isTextFirstInListItem):
3300         (KWQKHTMLPart::attributedString):
3301
3302 2003-08-21  Darin Adler  <darin@apple.com>
3303
3304         * Makefile.am: Work around DLCFN issue to prevent constant churn of config.h.
3305         * config.h: Regenerated without DLCFN.
3306
3307 2003-08-21  Darin Adler  <darin@apple.com>
3308
3309         * khtml/khtmlview.h: Formatting tweak.
3310
3311 2003-08-21  Chris Blumenberg  <cblu@apple.com>
3312
3313         Fixed: <rdar://problem/3386673>: a particular fidelity.com "Log in" link does nothing because of cross-domain JavaScript rules
3314
3315         Reviewed by mjs.
3316
3317         * config.h:
3318         * khtml/ecma/kjs_window.cpp:
3319         (Window::get): allow other frames to get the location object
3320         (Window::isSafeScript): added JS logging
3321         (Location::get): don't allow other frames to access location attributes
3322         (LocationFunc::tryCall): don't allow other frames to call functions on the location object
3323
3324 2003-08-21  Richard Williamson   <rjw@apple.com>
3325         
3326         Fixed 3378810.  Avoid resizing frame from drawRect: when printing.  This will corrupt the graphics context.
3327
3328         Reviewed by Hyatt.
3329
3330         * khtml/khtmlview.cpp:
3331         (KHTMLView::adjustViewSize):
3332         * khtml/khtmlview.h:
3333         * khtml/rendering/render_canvas.cpp:
3334         (RenderCanvas::layout):
3335         * kwq/KWQScrollView.mm:
3336         (QScrollView::resizeContents):
3337         * kwq/WebCoreBridge.h:
3338         * kwq/WebCoreBridge.mm:
3339         (-[WebCoreBridge adjustViewSize]):
3340
3341 === Safari-94 ===
3342
3343 2003-08-21  David Hyatt  <hyatt@apple.com>
3344
3345         Fix for 3387302, floats weren't being allowed to be relatively positioned.  The
3346         fix is trivial.  Stop making floating/relpositiion setting an if/else and just make
3347         it two ifs.
3348         
3349         Reviewed by darin
3350
3351         * khtml/rendering/render_box.cpp:
3352         (RenderBox::setStyle):
3353
3354 2003-08-21  David Hyatt  <hyatt@apple.com>
3355
3356         Fix for 3384635, breakable unicode characters that were preceded by multiple spaces
3357         accidentally added in those spaces to their widths.
3358         
3359         Reviewed by rjw and gramps
3360
3361         * khtml/rendering/bidi.cpp:
3362
3363 2003-08-20  David Hyatt  <hyatt@apple.com>
3364
3365         Fix for 3384609.  Objects that want to dodge floats should fill the line width instead
3366         of the containing block width only if their widths are auto.  If widths are specified
3367         explicitly, then ccontaining block width should be honored.
3368         
3369         Reviewed by john
3370
3371         * khtml/rendering/render_box.cpp:
3372         (RenderBox::calcWidth):
3373         * khtml/rendering/render_table.cpp:
3374         (RenderTable::calcWidth):
3375
3376 2003-08-20  Richard Williamson   <rjw@apple.com>
3377
3378         UCFindTextBreak will report false if we have a sequence of 0xa0 0x20 (nbsp, sp), so we explicity check for that case.  Filed 3386852 to track this problem, meanwhile added a work-around.  This problem was revealed after ad