37d7ceee774f3f75143437edfcf04edce4d2e555
[WebKit-https.git] / WebCore / ChangeLog-2005-08-23
1 2003-09-19  Darin Adler  <darin@apple.com>
2
3         Reviewed by Dave.
4
5         - do the prep work for the mini controls feature; Dave will finish this
6
7         * khtml/rendering/render_form.cpp: (RenderFormElement::updateFromElement):
8         Tell the widget about the font size. Our widgets use the font size to
9         decide whether to use Aqua normal, small, or mini.
10
11         * kwq/KWQButton.h: Add setFont.
12         * kwq/KWQButton.mm:
13         (QButton::setFont): Set control size based on font.
14         (KWQNSControlSizeForFont): Determine control size given a font. Dave is going
15         to tweak this later.
16
17         * kwq/KWQCheckBox.h: Add dimensions function for metrics for each control size.
18         * kwq/KWQCheckBox.mm:
19         (QCheckBox::sizeHint): Use dimensions.
20         (QCheckBox::frameGeometry): Use dimensions.
21         (QCheckBox::setFrameGeometry): Use dimensions.
22         (QCheckBox::baselinePosition): Use dimensions.
23         (QCheckBox::dimensions): Added. Has newly tweaked values for all dimensions for
24         all three control sizes.
25
26         * kwq/KWQComboBox.h: Add setFont and dimensions.
27         * kwq/KWQComboBox.mm:
28         (QComboBox::sizeHint): Use dimensions.
29         (QComboBox::frameGeometry): Use dimensions.
30         (QComboBox::setFrameGeometry): Use dimensions.
31         (QComboBox::baselinePosition): Use dimensions.
32         (QComboBox::setFont): Use dimensions.
33         (QComboBox::dimensions): Added. Has newly tweaked values for all dimensions for
34         all three control sizes.
35
36         * kwq/KWQFileButton.mm: (KWQFileButton::baselinePosition): Change to adapt to
37         flipped version of file button NSControl.
38
39         * kwq/KWQPushButton.h: Add dimensions function for metrics for each control size.
40         * kwq/KWQPushButton.mm:
41         (QPushButton::sizeHint): Use dimensions.
42         (QPushButton::frameGeometry): Use dimensions.
43         (QPushButton::setFrameGeometry): Use dimensions.
44         (QPushButton::baselinePosition): Use dimensions.
45         (QPushButton::dimensions): Added. Has newly tweaked values for all dimensions for
46         all three control sizes.
47
48         * kwq/KWQRadioButton.h: Add dimensions function for metrics for each control size.
49         * kwq/KWQRadioButton.mm:
50         (QRadioButton::sizeHint): Use dimensions.
51         (QRadioButton::frameGeometry): Use dimensions.
52         (QRadioButton::setFrameGeometry): Use dimensions.
53         (QRadioButton::baselinePosition): Use dimensions.
54         (QRadioButton::dimensions): Added. Has newly tweaked values for all dimensions for
55         all three control sizes.
56
57 2003-09-19  Maciej Stachowiak  <mjs@apple.com>
58
59         Reviewed by Darin.
60         
61         - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes
62         
63         * khtml/html/html_documentimpl.cpp:
64         (HTMLDocumentImpl::close): Remove redundant check removed.
65         * khtml/khtml_part.h:
66         * kwq/KWQKHTMLPart.h:
67         * kwq/KWQKHTMLPart.mm:
68         (KWQKHTMLPart::scheduleHistoryNavigation): Only call the base class
69         method to actually schedule when it's possible to go back or forward
70         that number of steps.
71         * kwq/WebCoreBridge.h:
72
73 2003-09-17  John Sullivan  <sullivan@apple.com>
74
75         - WebCore part of fix for 3157018 -- Would like option to
76         not print backgrounds   
77
78         Reviewed by Darin
79
80         * kwq/KWQKHTMLSettings.h:
81         add _shouldPrintBackgrounds field and accessors
82
83         * kwq/WebCoreSettings.h:
84         add shouldPrintBackgrounds field and accessors
85         * kwq/WebCoreSettings.mm:
86         (-[WebCoreSettings setShouldPrintBackgrounds:]):
87         new method, passes value to KHTMLSettings
88         (-[WebCoreSettings shouldPrintBackgrounds]):
89         new method
90
91         * kwq/WebCoreBridge.mm:
92         (-[WebCoreBridge styleSheetForPrinting]):
93         new method, returns a style sheet that has backgrounds
94         turned off if preference is set that way.
95         (-[WebCoreBridge reapplyStylesForDeviceType:]):
96         if printing, set the printStyleSheet to the one we
97         created based on the preferences. (KHTML has always
98         had support for a special printStyleSheet, but it was
99         only being used in !APPLE_CHANGES code.)
100
101         * khtml/rendering/render_style.h:
102         add shouldCorrectTextColor boolean field and accessors 
103
104         * khtml/xml/dom_docimpl.cpp:
105         (DocumentImpl::recalcStyle):
106         tell style to correct text colors if backgrounds aren't being printed
107
108         * khtml/rendering/render_text.cpp:
109         (TextRun::paintSelection):
110         added comment
111         (simpleDifferenceBetweenColors):
112         new function, computes a quick measure of difference
113         between colors
114         (correctedTextColor):
115         if text and background colors are too similar, returns
116         lightened or darkened text color
117         (RenderText::paintObject):
118         if style says to correct text colors, call correctedTextColor
119
120 2003-09-17  Darin Adler  <darin@apple.com>
121
122         Reviewed by Ken.
123
124         - fixed 3423404 -- REGRESSION: Japanese page appears blank due to unexpected kTECPartialCharErr
125
126         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertOneChunkUsingTEC): In the case where we're already
127         going from the small buffer back to the large one, treat kTECPartialCharErr the same as noErr.
128         Otherwise we'll get confused and drop the contents of the big buffer.
129         (KWQTextDecoder::convert): Improve the debugging code a bit (still turned off).
130
131 === WebCore-105 ===
132
133 2003-09-15  Ken as Darin  <darin@apple.com>
134
135         Reviewed by Darin and Don.
136
137         - fixed 3419957 -- REGRESSION: lines drawn across multiple columns at washingtonpost.com
138
139         * khtml/rendering/render_box.cpp: (RenderBox::calcWidth): Always use the width of the line
140         rather than the width of the containing block for "flow around floats" blocks (<hr>).
141         This undoes half of the change made to fix bug 3384609.
142
143 2003-09-15  Darin Adler  <darin@apple.com>
144
145         Reviewed by Ken and Don.
146
147         - fixed 3417604 -- REGRESSION: dragging scroll thumb causes textarea contents to vanish
148
149         * kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Deallocated cached graphics state for
150         the text view as well as for the clip view.
151
152 2003-09-13  Darin Adler  <darin@apple.com>
153
154         Reviewed by Maciej.
155
156         - fixed 3420547 -- REGRESSION: repro crash in khtml::RenderBlock::findNextLineBreak (wisdomtips.com)
157
158         * khtml/rendering/render_block.cpp: (RenderBlock::addChildToFlow): Exclude BR elements when looking for
159         an element to process first-letter style.
160
161 2003-09-13  Darin Adler  <darin@apple.com>
162
163         * layout-tests/fast/frames/empty-frame-src-expected.txt: Updated test results that changed
164         due to the change in our handling of frame borders.
165
166 === WebCore-104 ===
167
168 2003-09-12  Richard Williamson   <rjw@apple.com>
169
170         Fixed 3420097.  Pass flag up to WebKit indicating that redirects are being cancelled during a pending load.
171
172         Reviewed by Darin.
173
174         * khtml/khtml_part.cpp:
175         (KHTMLPart::cancelRedirection):
176         * khtml/khtml_part.h:
177         * khtml/khtmlpart_p.h:
178         * kwq/KWQKHTMLPart.mm:
179         (KWQKHTMLPart::provisionalLoadStarted):
180         (KWQKHTMLPart::redirectionTimerStartedOrStopped):
181         * kwq/WebCoreBridge.h:
182
183 === WebCore-103 ===
184
185 2003-09-12  Maciej Stachowiak  <mjs@apple.com>
186
187         Reviewed by Darin.
188
189         * khtml/css/html4.css: Use the same hardcoded default size for
190         OBJECT and EMBED tags as for IFRAME.
191
192 2003-09-12  Darin Adler  <darin@apple.com>
193
194         Reviewed by Ken.
195
196         - fixed 3403223 -- <input type=file> with initial value causes exception, bad results afterwards, when submitted
197
198         * kwq/KWQFile.mm: (QFile::QFile): Don't pass an empty string to fileSystemRepresentation,
199         because that will cause an exception.
200
201 === WebCore-101 ===
202
203 2003-09-11  Richard Williamson   <rjw@apple.com>
204
205         Fixed 3406671.  Added a private method for Mail to get selection
206         rect.
207
208         Fixed 3417688.  Don't allow https page into page cache.
209
210         Reviewed by Darin.
211
212         * kwq/KWQFrame.h:
213         * kwq/KWQFrame.mm:
214         (QFrame::setFrameStyle):
215         (QFrame::frameWidth):
216         * kwq/KWQKHTMLPart.mm:
217         (KWQKHTMLPart::canCachePage):
218         * kwq/WebCoreBridge.h:
219         * kwq/WebCoreBridge.mm:
220         (-[WebCoreBridge selectionRect]):
221         (-[WebCoreBridge visibleSelectionRect]):
222         (-[WebCoreBridge selectionImage]):
223         (-[WebCoreBridge adjustViewSize]):
224
225 === Safari-100 ===
226
227 2003-09-09  Darin Adler  <darin@apple.com>
228
229         Reviewed by Chris.
230
231         - fixed 3373654 -- REGRESSION: Yahoo chat applet reloads over and over due to "baseURL" param name conflict
232
233         After some research by the Java team, we discovered that there was no need to
234         pass in baseURL at all This patch gets rid of that by only passingindividual specified
235         arguments, rather than passing all the arguments, as applet parameters.
236
237         * khtml/rendering/render_applet.cpp: (RenderApplet::processArguments): Remove the
238         call to KJavaApplet::processArguments, because we only want the individual arguments.
239         * kwq/KWQKJavaAppletWidget.h: Implement setAppletClass, setAppletName, setArchives, and
240         setCodeBase. Remove processArguments.
241         * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::setParameter): Lowercase all the
242         parameters as we put them in the dictionary, since this is the semantics required by Java.
243
244 === Safari-99 ===
245
246 2003-09-07  Darin Adler  <darin@apple.com>
247
248         Reviewed by Maciej.
249
250         - fixed 3411827 -- REGRESSION: text drawing after text-shadow does not respect smoothing style (asahi.com)
251
252         * kwq/KWQPainter.mm: (QPainter::clearShadow): Call CGContextSetShadowWithColor with a color of NULL,
253         which actually clears the shadow, rather than CGContextSetShadow, which sets a black shadow (even
254         if it is zero pixels in size).
255
256 === Safari-98 ===
257
258 2003-09-05  Ken Kocienda  <kocienda@apple.com>
259
260         Reviewed by Darin
261
262         Fix for this bug:
263
264         <rdar://problem/3226083>: REGRESSION (Panther): white box 
265         overlaying select lists at nvidia.com drivers page
266
267         * kwq/KWQListBox.mm:
268         (QListBox::QListBox): Re-add releaseGState fix that Darin
269         added, but then removed. It turns out that we do need 
270         this workaround in place to get proper drawing.
271
272         Fix for this bug:
273
274         <rdar://problem/3310943>: REGRESSION (Panther): textareas 
275         in forms sometimes draw blank (bugreporter)
276
277         * kwq/KWQTextArea.mm:
278         (-[KWQTextArea initWithFrame:]): Same fix as above.
279
280 2003-09-05  Maciej Stachowiak  <mjs@apple.com>
281
282         Reviewed by Darin.
283
284         - fixed - REGRESSION (85-92): Javascript on page isn't triggered by typed characters (onKeyUp)
285
286         (This actually also requires an AppKit fix to be a full fix.)
287
288         * kwq/KWQListBox.mm:
289         (-[KWQTableView keyDown:]): Added. Send event through DOM.
290         (-[KWQTableView keyUp:]): Likewise.
291         (-[KWQTableView becomeFirstResponder]): Added. Report focus change
292         to DOM.
293         * kwq/KWQTextArea.mm:
294         (-[KWQTextAreaTextView keyUp:]): Added. Send event through DOM.
295         * kwq/KWQTextField.mm:
296         (-[KWQTextField textView:shouldHandleEvent:]): Pass NSKeyUp events too
297         (not going to work until we get an AppKit fix).
298
299 2003-09-04  John Sullivan  <sullivan@apple.com>
300
301         - fixed 3399880 -- Repro crash when filling out a form to
302         download Macromedia software. I managed to check in this
303         ChangeLog comment a few days ago without actually checking
304         in the changed file, weird.
305
306         Reviewed by Chris
307
308         * kwq/WebCoreBridge.mm:
309         (-[WebCoreBridge elementForView:]):
310         check for nil widget before dereferencing
311
312 2003-09-04  David Hyatt  <hyatt@apple.com>
313
314         Fix for 3408630, leak of child frame parts caused by a missing deref when frames
315         get detached from their parent frame list.
316         
317         Reviewed by mjs
318
319         * kwq/KWQKHTMLPart.mm:
320         (KHTMLPart::frameDetached):
321
322 2003-09-04  Darin Adler  <darin@apple.com>
323
324         * layout-tests/apple-only/base/www.msn.com/index-expected.txt: Update for residual style fix.
325         * layout-tests/fast/invalid/003-expected.txt: Update for residual style fix.
326
327 2003-09-04  Darin Adler  <darin@apple.com>
328
329         * kwq/KWQRenderTreeDebug.cpp: (write): Fix clip rectangle computation.
330         * layout-tests: Update test results.
331
332 === Safari-97 ===
333
334 2003-09-03  Maciej Stachowiak  <mjs@apple.com>
335
336         Reviewed by Darin.
337
338         * khtml/khtml_part.cpp:
339         (KHTMLPart::clear): Un-ifdef cleanup of frames, and add similar
340         cleanup for objects. Replace delete with deref.
341         * kwq/KWQKHTMLPart.mm:
342         (KWQKHTMLPart::createPart): Add an extra ref to KHTMLParts since
343         both the bridge and the parent part want to deref.
344
345 2003-09-03  David Hyatt  <hyatt@apple.com>
346
347         Fix for 3404398, leak in residual style code.  The code that built up the
348         residualStyleStack was messed up and discarded tags.
349         
350         Reviewed by mjs
351
352         * khtml/html/htmlparser.cpp:
353         (KHTMLParser::popBlock):
354
355 2003-09-02  Ken Kocienda  <kocienda@apple.com>
356
357         Reviewed by Darin
358
359         Fix for this bug:
360
361         <rdar://problem/3399169>: 4 leaks of DOMString objects (Mail)
362
363         Remove circular reference between AttributeImpl and AttrImpl objects.
364         This was causing the leak.
365
366         * khtml/xml/dom_elementimpl.cpp:
367         (AttributeImpl::allocateImpl):
368
369 2003-09-02  David Hyatt  <hyatt@apple.com>
370
371         Fix for 3359408, DirWS should not be used when collapsing/stripping spaces,
372         since only ASCII spaces are supposed to be collapsed/stripped.
373         
374         Reviewed by mjs
375
376         * khtml/rendering/bidi.cpp:
377
378 2003-09-02  Darin Adler  <darin@apple.com>
379
380         Reviewed by John.
381
382         - fixed 3403388 -- decoder mishandles pages which fill the decoding buffer (mainly ISO-2022-JP)
383
384         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertUsingTEC): Keep decoding, passing in no additional bytes,
385         until we get noErr, don't ever stop after a kTECOutputBufferFullStatus error.
386
387 2003-09-02  David Hyatt  <hyatt@apple.com>
388
389         Fix for 3404452, paint errors on mezzoblue.com's links list.  There was a simple
390         math error in the invalidation rect computation.
391         
392         Reviewed by mjs
393
394         * khtml/rendering/render_flow.cpp:
395         (RenderFlow::repaint):
396         
397 2003-09-01  John Sullivan  <sullivan@apple.com>
398
399         - WebCore part of fix for 3402489 -- REGRESSION (7B48-7B55): Some 
400         printed web pages are too small (width is half a page)
401
402         This was a regression caused by the fix for 3378810.
403
404         Reviewed by Maciej
405
406         * kwq/WebCoreBridge.h:
407         add adjustingViewSize flag to forceLayout and forceLayoutForPageWidth:
408         * kwq/WebCoreBridge.mm:
409         (-[WebCoreBridge forceLayoutAdjustingViewSize:]):
410         respect new flag while we are set up for printing.
411         (-[WebCoreBridge forceLayoutForPageWidth:adjustingViewSize:]):
412         ditto
413         (-[WebCoreBridge adjustFrames:]):
414         pass NO for new flag here
415
416 2003-09-01  John Sullivan  <sullivan@apple.com>
417
418         * kwq/KWQPainter.mm:
419         (QPainter::drawLine):
420         Removed the ERROR that warns of the CG memory trashing bug, now
421         that we are enough builds away from it that it is (almost?) never
422         reported anymore.
423
424 === Safari-96 ===
425
426 2003-08-29  Maciej Stachowiak  <mjs@apple.com>
427
428         Reviewed by Ken.
429
430         - fixed 3397775 21 leaks from CSS parser running PLT
431         
432         * khtml/css/css_ruleimpl.cpp:
433         (CSSMediaRuleImpl::~CSSMediaRuleImpl): Clear the parent for all contained
434         rules.
435         (CSSMediaRuleImpl::append): Call insertRule.
436         (CSSMediaRuleImpl::insertRule): set parent of the rule to this media rule.
437         (CSSRuleListImpl::append): Call insertRule to cover all the relevant
438         additional handling, instead of adding straight to the list.
439         * khtml/css/css_ruleimpl.h:
440
441 2003-08-29  John Sullivan  <sullivan@apple.com>
442         
443         - fixed 3399880 -- Repro crash when filling out a form to 
444         download Macromedia software
445
446         Reviewed by Chris
447
448         * kwq/WebCoreBridge.mm:
449         (-[WebCoreBridge elementForView:]):
450         check for nil widget before dereferencing
451
452 2003-08-28  David Hyatt  <hyatt@apple.com>
453
454         Fix for 3381377, fix the calcBlockMinMaxWidth function to not use the
455         renderobject's computed margins except when it has to.  This makes
456         table cells with align=right not mess up and fixes margin problems
457         in general with floated elements and table cells.
458
459         Since XUL boxes also use a similar function and since it had a similar
460         error, vertical XUL boxes have been patched as well.
461         
462         Reviewed by gramps
463
464         * khtml/rendering/render_block.cpp:
465         * khtml/rendering/render_flexbox.cpp:
466
467 2003-08-28  David Hyatt  <hyatt@apple.com>
468
469         Fix for 3398463, a regression caused by an unintended line movement.
470         <br/> was no longer being treated just like <br> in HTML.
471         
472         Reviewed by gramps
473
474         * khtml/html/htmltokenizer.cpp:
475         (HTMLTokenizer::parseTag):
476
477 === Safari-95 ===
478
479 2003-08-27  Richard Williamson   <rjw@apple.com>
480
481         Fixed 3359408.  DON'T treat unicode whitespace as whitespace when collapsing spaces.
482
483         Reviewed by David Hyatt.
484
485         * khtml/rendering/bidi.cpp:
486         * khtml/rendering/render_text.cpp:
487         (RenderText::trimmedMinMaxWidth):
488         (RenderText::calcMinMaxWidth):
489         (RenderText::containsOnlyWhitespace):
490         * khtml/xml/dom_stringimpl.cpp:
491
492 2003-08-27  Richard Williamson   <rjw@apple.com>
493
494         Reviewed by NOBODY (OOPS!).
495
496         * khtml/rendering/bidi.cpp:
497         * khtml/rendering/render_text.cpp:
498         (RenderText::trimmedMinMaxWidth):
499         (RenderText::calcMinMaxWidth):
500         (RenderText::containsOnlyWhitespace):
501         * khtml/xml/dom_stringimpl.cpp:
502
503 2003-08-27  David Hyatt  <hyatt@apple.com>
504
505         Fix for 3396962, hang on quote.com.  Fieldsets with display:inline should be treated
506         like inline-blocks. This matches WinIE's behavior.
507         
508         Reviewed by mjs
509
510         * khtml/rendering/render_form.cpp:
511         (RenderFieldset::setStyle):
512         * khtml/rendering/render_form.h:
513
514 2003-08-26  Darin Adler  <darin@apple.com>
515
516         Reviewed by Maciej.
517
518         - follow-on to fix for 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter)
519
520         * kwq/KWQListBox.mm: (QListBox::QListBox): Remove call to releaseGState. This was here to
521         work around a problem we thought was an AppKit bug, but it turns out it was caused by
522         NSView hackery in WebKit. We now do the WebKit part in a way that does not create the problem.
523
524 2003-08-26  Darin Adler  <darin@apple.com>
525
526         Reviewed by Maciej.
527
528         - fixed 3031562 -- most forms don't work in certain configurations because of a bug in KWQVariant
529
530         * kwq/KWQVariant.mm: (QVariant::QVariant): Set the b element of the union, not the d element,
531         in the constructor for bool.
532
533 2003-08-26  David Hyatt  <hyatt@apple.com>
534
535         Fix for 3395950, better support for self-collapsing blocks.  Make them obey
536         clear properly and also change the definition of self-collapsing to match
537         the CSS2.1 specification.
538         
539         Reviewed by gramps
540
541         * khtml/rendering/render_block.cpp:
542         * khtml/rendering/render_block.h:
543
544 2003-08-26  David Hyatt  <hyatt@apple.com>
545
546         Fix for 3335175, www.calstone.com renders as blank.  The fix is to deliberately
547         introduce an error into our HTML parsing code that causes us to honor self-closing
548         XML-style <script/> tags.  This matches Mozilla and Opera behavior (both of them
549         have this bug), but it does not match WinIE.
550         
551         Reviewed by mjs
552
553         * khtml/html/htmltokenizer.cpp:
554
555 2003-08-26  David Hyatt  <hyatt@apple.com>
556
557         Fix for 3286229, popup menu misplaced.  <form> needs to be allowed as a child of
558         <h1>-<h6> tags.  All other browsers allow this.
559         
560         Reviewed by darin
561
562         * khtml/html/dtd.cpp:
563
564 2003-08-26  Darin Adler  <darin@apple.com>
565
566         Reviewed by Maciej.
567
568         - re-fixed 3366542 -- filename with non-ASCII name left out of Content-Disposition for <input type=file>
569
570         * khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::formData): Added missing # sign.
571
572 2003-08-26  David Hyatt  <hyatt@apple.com>
573
574         Fix for 3394107, make sure the display mutation code doesn't mutate objects with
575         display: none set.
576         
577         Reviewed by darin
578
579         * khtml/css/cssstyleselector.cpp:
580
581 2003-08-22  David Hyatt  <hyatt@apple.com>
582
583         Fix for 3388363, copying a word in a list item copied too much.  The code that checked
584         for the bullet would add in too much text sometimes.
585         
586         Reviewed by john
587
588         * kwq/KWQKHTMLPart.mm:
589         (isTextFirstInListItem):
590         (KWQKHTMLPart::attributedString):
591
592 2003-08-21  Darin Adler  <darin@apple.com>
593
594         * Makefile.am: Work around DLCFN issue to prevent constant churn of config.h.
595         * config.h: Regenerated without DLCFN.
596
597 2003-08-21  Darin Adler  <darin@apple.com>
598
599         * khtml/khtmlview.h: Formatting tweak.
600
601 2003-08-21  Chris Blumenberg  <cblu@apple.com>
602
603         Fixed: <rdar://problem/3386673>: a particular fidelity.com "Log in" link does nothing because of cross-domain JavaScript rules
604
605         Reviewed by mjs.
606
607         * config.h:
608         * khtml/ecma/kjs_window.cpp:
609         (Window::get): allow other frames to get the location object
610         (Window::isSafeScript): added JS logging
611         (Location::get): don't allow other frames to access location attributes
612         (LocationFunc::tryCall): don't allow other frames to call functions on the location object
613
614 2003-08-21  Richard Williamson   <rjw@apple.com>
615         
616         Fixed 3378810.  Avoid resizing frame from drawRect: when printing.  This will corrupt the graphics context.
617
618         Reviewed by Hyatt.
619
620         * khtml/khtmlview.cpp:
621         (KHTMLView::adjustViewSize):
622         * khtml/khtmlview.h:
623         * khtml/rendering/render_canvas.cpp:
624         (RenderCanvas::layout):
625         * kwq/KWQScrollView.mm:
626         (QScrollView::resizeContents):
627         * kwq/WebCoreBridge.h:
628         * kwq/WebCoreBridge.mm:
629         (-[WebCoreBridge adjustViewSize]):
630
631 === Safari-94 ===
632
633 2003-08-21  David Hyatt  <hyatt@apple.com>
634
635         Fix for 3387302, floats weren't being allowed to be relatively positioned.  The
636         fix is trivial.  Stop making floating/relpositiion setting an if/else and just make
637         it two ifs.
638         
639         Reviewed by darin
640
641         * khtml/rendering/render_box.cpp:
642         (RenderBox::setStyle):
643
644 2003-08-21  David Hyatt  <hyatt@apple.com>
645
646         Fix for 3384635, breakable unicode characters that were preceded by multiple spaces
647         accidentally added in those spaces to their widths.
648         
649         Reviewed by rjw and gramps
650
651         * khtml/rendering/bidi.cpp:
652
653 2003-08-20  David Hyatt  <hyatt@apple.com>
654
655         Fix for 3384609.  Objects that want to dodge floats should fill the line width instead
656         of the containing block width only if their widths are auto.  If widths are specified
657         explicitly, then ccontaining block width should be honored.
658         
659         Reviewed by john
660
661         * khtml/rendering/render_box.cpp:
662         (RenderBox::calcWidth):
663         * khtml/rendering/render_table.cpp:
664         (RenderTable::calcWidth):
665
666 2003-08-20  Richard Williamson   <rjw@apple.com>
667
668         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 adding the fix for 3242508.
669
670         Reviewed by Dave.
671
672         * khtml/rendering/break_lines.cpp:
673
674 2003-08-20  Darin Adler  <darin@apple.com>
675
676         Reviewed by John.
677
678         - fixed 3248069 -- Safari does not support ISO Latin 10 (ISO-8859-16, romanian) coding.
679
680         * kwq/mac-encodings.txt: Added ISO-8859-16, which maps to ISO Latin-10.
681         * kwq/KWQCharsetData.c: Regenerated.
682         * kwq/KWQCharsets.mm: Add definition of kCFStringEncodingISOLatin10, since this encoding
683         is currently only in TextCommon.h, not in CFStringEncodingExt.h.
684
685 2003-08-20  Maciej Stachowiak  <mjs@apple.com>
686
687         Reviewed by Richard.
688
689         - fixed 3384963 - REGRESSION: assertion in copyPathRemovingDots, crash parsing URL in snippet editor
690         
691         * kwq/KWQKURL.mm:
692         (copyPathRemovingDots): It's OK if the path is entirely empty.
693
694 2003-08-20  David Hyatt  <hyatt@apple.com>
695
696         Fix for 3385211, <td>s should ignore the float property in quirks mode.  This
697         patch cleans up the adjustments of <td>s and <table>s and moves the code into
698         the style selector (instead of cluttering up the rendering code).
699
700         Fix for 3385476, generated content not built correctly.  All generated content
701         should be placed inside a containing object that actually gets the pseudo-style.
702         
703         Reviewed by rjw
704
705         * ChangeLog:
706         * khtml/css/cssstyleselector.cpp:
707         * khtml/css/cssstyleselector.h:
708         * khtml/rendering/render_container.cpp:
709         (RenderContainer::updatePseudoChild):
710         * khtml/rendering/render_object.cpp:
711         (RenderObject::createObject):
712
713 2003-08-20  Maciej Stachowiak  <mjs@apple.com>
714
715         Reviewed by Richard.
716
717         - fixed 3292036 - albertsons.com world leak of 2 WebDataSource and 2 WebHTMLRepresentation objects
718         
719         * kwq/KWQKHTMLPart.mm:
720         (KWQKHTMLPart::canCachePage): Test for parentPart() even if there
721         is no document.
722
723 2003-08-20  Richard Williamson   <rjw@apple.com>
724
725         Fixed 3242508.  Japanese (and other non latin1 scripts) line breaking incorrect when mixed with latin1.
726
727         Reviewed by Dave.
728
729         * khtml/rendering/break_lines.cpp:
730
731         Checkin fix for earlier bug that was already approved!
732
733         * kwq/KWQKHTMLPart.mm:
734         (KWQKHTMLPart::attributedString):
735
736 2003-08-19  David Hyatt  <hyatt@apple.com>
737
738         Fixes for 3380766 and 3381867.  One is a table bug with amazon.com where colspans
739         were losing percentage width values.  The other is a bug where floats aren't dirtying
740         objects into which they intrude when doing layout.
741         
742         Reviewed by darin
743
744         * khtml/rendering/render_block.cpp:
745         * khtml/rendering/table_layout.cpp:
746         (AutoTableLayout::calcEffectiveWidth):
747
748 2003-08-19  Chris Blumenberg  <cblu@apple.com>
749
750         Fixed: <rdar://problem/3379336>: flash on front page of http://www.westportmotorsports.com is broken
751
752         Reviewed by darin.
753
754         * khtml/rendering/render_frames.cpp:
755         (RenderPartObject::updateWidget): Ignore the PARAM tags and only use attributes inside the OBJECT tag when the EMBED tag is omitted.
756
757 2003-08-19  Darin Adler  <darin@apple.com>
758
759         Reviewed by Dave.
760
761         - fixed 3343681 -- clicking on a disabled submit button submits the form!
762
763         This turned out to be a problem with code in dispatchGenericEvent that sent
764         DOMActivate events even when the form element was disabled.
765
766         * khtml/xml/dom_nodeimpl.h: Add virtual disabled() member function.
767         * khtml/xml/dom_nodeimpl.cpp:
768         (NodeImpl::dispatchGenericEvent): Don't send DOM activate events for disabled elements.
769         (NodeImpl::handleLocalEvents): Don't send mouse events for disabled elements. But we do
770         want those events to pass through the bubble and capture phases, just avoid triggering
771         any listeners on this node itself.
772         (NodeImpl::disabled): Added default implementation that returns false.
773
774         * khtml/html/html_formimpl.h: Removed the disabled() function's inline implementation
775         since it's now virtual and it's not helpful to inline virtual functions.
776         * khtml/html/html_formimpl.cpp:
777         (HTMLGenericFormElementImpl::disabled): Moved this method into the .cpp file since it's
778         now virtual and it's not helpful to inline virtual functions.
779
780 2003-08-18  Darin Adler  <darin@apple.com>
781
782         Reviewed by John.
783
784         - fixed 3380411 -- Unicode supplementary characters cut in half in text control with maxlength set
785
786         * kwq/KWQTextField.mm:
787         (-[KWQTextField setMaximumLength:]): Enforce maximum length based on number of composed character
788         sequences rather than on number of UTF-16 values. This helps with both surrogate pairs (the supplementary
789         characters mentioned in the bug report) and composed character sequences.
790         (-[KWQTextField setStringValue:]): Ditto.
791         (-[KWQTextFieldFormatter isPartialStringValid:newEditingString:errorDescription:]): Ditto.
792         (-[NSString _KWQ_numComposedCharacterSequences]): Added. Computes the length of a string in terms of
793         number of composed character sequences.
794         (-[NSString _KWQ_truncateToNumComposedCharacterSequences:]): Added. Truncates a string in terms of
795         number of composed character sequences.
796
797 2003-08-18  Darin Adler  <darin@apple.com>
798
799         Reviewed by Maciej.
800
801         - fixed 3299893 -- oncontextmenu support
802
803         * kwq/WebCoreBridge.h: Added sendContextMenuEvent: method.
804         * kwq/WebCoreBridge.mm: (-[WebCoreBridge sendContextMenuEvent:]): Added.
805         Calls sendContextMenuEvent on the part.
806
807         * kwq/KWQKHTMLPart.h: Added sendContextMenuEvent member function.
808         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::sendContextMenuEvent): Added. Sets up
809         a suitable mouse event and calls dispatchMouseEvent for CONTEXTMENU_EVENT.
810
811         * khtml/ecma/kjs_dom.cpp: Added oncontextmenu to DOMNode's list of properties.
812         (DOMNode::getValueProperty): Added case for OnContextMenu.
813         (DOMNode::putValue): Added case for OnContextMenu.
814         * khtml/ecma/kjs_dom.h: Added constant for OnContextMenu.
815         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseAttribute):
816         Added case for ATTR_ONCONTEXTMENU.
817         * khtml/misc/htmlattrs.in: Added oncontextmenu.
818         * khtml/xml/dom2_eventsimpl.cpp:
819         (EventImpl::typeToId): Added case for CONTEXTMENU_EVENT.
820         (EventImpl::idToType): Added case for CONTEXTMENU_EVENT.
821         * khtml/xml/dom2_eventsimpl.h: Added CONTEXTMENU_EVENT.
822
823         * khtml/ecma/kjs_dom.lut.h: Regenerated.
824         * khtml/misc/htmlattrs.c: Regenerated.
825         * khtml/misc/htmlattrs.h: Regenerated.
826
827 2003-08-18  Darin Adler  <darin@apple.com>
828
829         Reviewed by Maciej.
830
831         - fixed 3381295 -- regular expression matches for text with UTF-16 surrogates will give incorrect results
832
833         * kwq/KWQRegExp.mm: (QRegExp::match): Removed local copy of convertCharacterOffsetsToUTF8ByteOffsets
834         and its reverse. Instead use convertUTF16OffsetsToUTF8Offsets and its reverse, now available from
835         <JavaScriptCore/ustring.h>.
836
837         - added test for the URI encoding and decoding functions in JavaScriptCore
838
839         * layout-tests/fast/js/global/encode-URI-test-expected.txt: Added.
840         * layout-tests/fast/js/global/encode-URI-test.html: Added.
841
842 2003-08-15  Chris Blumenberg  <cblu@apple.com>
843
844         Fixed: <rdar://problem/3380418>: Ignore specified string encoding when constructing file, mailto and help URLs
845
846         Reviewed by mjs, darin.
847
848         * kwq/KWQKURL.mm:
849         (KURL::KURL): store the URL string as UTF-8 when the URL is file, mailto and help.
850
851 2003-08-17  Darin Adler  <darin@apple.com>
852
853         Reviewed by Maciej.
854
855         - fixed 3366542 -- filename with non-ASCII name left out of Content-Disposition for <input type=file>
856
857         * khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::formData):
858         Do the &-encoding thing on the filename. This is what Gecko does.
859
860 2003-08-14  Maciej Stachowiak  <mjs@apple.com>
861
862         Fixed by Darin, reviewed by me (and originally figured out by John).
863
864         - fixed 3375592 - New Yahoo Maps doesn't work right
865         
866         * kwq/KWQTextCodec.mm:
867         (KWQTextDecoder::convertUTF16): Don't pass through null characters.
868         (KWQTextDecoder::appendOmittingNullsAndBOMs): Ditto.
869         (KWQTextDecoder::convertUsingTEC): Ditto.
870
871 === Safari-93 ===
872
873 2003-08-14  Vicki Murley  <vicki@apple.com>
874
875         Reviewed by John. 
876
877         * WebCore.pbproj/project.pbxproj: deleted WebCore.order from the project.
878
879 2003-08-14  Vicki Murley  <vicki@apple.com>
880
881         Reviewed by John. 
882
883         * WebCore.order: Removed. We now point to the WebCore order file in /AppleInternal/OrderFiles.
884         * WebCore.pbproj/project.pbxproj: change sectorder flag to point to /AppleInternal/OrderFiles/WebCore.order
885
886 2003-08-14  Ken Kocienda  <kocienda@apple.com>
887
888         Reviewed by Darin
889
890         Fix for this bug:
891
892         <rdar://problem/3095893>: Image Capture: "Build web page" doesn't work with Japanese folder name.
893
894         * kwq/KWQKURL.mm:
895         (KURL::getNSURL): Try UTF-8 first and fallback to ISO Latin-1 when creating an NSURL.
896         This will handle the two-byte character in file name case mentioned in the bug.
897
898 2003-08-14  Darin Adler  <darin@apple.com>
899
900         Reviewed by Ken.
901
902         - fixed 3375270 -- writing to frame parent from a button press crashes in viewportMousePressEvent
903         
904         The fix turned out to be to ref the view around handling events in the view, since processing
905         the event could cause the view and part to go away. Since the view refs the part, ref'ing just
906         the view seems to work perfectly.
907         
908         * kwq/KWQKHTMLPart.mm: Fixed namespace access to use "using" instead of explicit namespaces.
909         (KWQKHTMLPart::setView): Not-entirely-related cleanup. Use the "ref before deref" idiom here.
910         (KWQKHTMLPart::sendResizeEvent): Ref the KHTMLView while sending the resize event.
911         (KWQKHTMLPart::mouseDown): Ref the KHTMLView while sending the viewport mouse down event.
912         (KWQKHTMLPart::mouseDragged): Ref the KHTMLView while sending the viewport mouse dragged event.
913         (KWQKHTMLPart::mouseUp): Ref the KHTMLView while sending the viewport mouse up or double click event.
914         (KWQKHTMLPart::mouseMoved): Ref the KHTMLView while sending the viewport mouse moved event.
915
916 2003-08-13  David Hyatt  <hyatt@apple.com>
917
918         Fix for 3372896, spaces left at ends of lines.  Patch the selection code
919         to be smarter about detecting ends of lines and adding in spaces.
920         
921         Reviewed by gramps
922
923         * khtml/khtml_part.cpp:
924         (KHTMLPart::selectedText):
925         * kwq/KWQKHTMLPart.mm:
926         (KWQKHTMLPart::attributedString):
927
928 2003-08-12  Maciej Stachowiak  <mjs@apple.com>
929
930         Reviewed by Ken Kocienda.
931
932         - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
933         
934         * khtml/khtml_part.cpp:
935         (KHTMLPart::write): ref the part around actually processing the
936         data, since a script could cause the part to go away.
937
938 2003-08-12  David Hyatt  <hyatt@apple.com>
939
940         Fix for 3262190, <li> bullets in mail were overly massive.  The bezier path the
941         painter stroked was not setting the line width from QPen's width, so it ended up
942         just using the current line width instead (which happened to be much larger in
943         Mail).
944         
945         Reviewed by darin
946
947         * kwq/KWQPainter.mm:
948         (QPainter::drawEllipse):
949         (QPainter::drawArc):
950         (QPainter::_drawPoints):
951
952 2003-08-12  John Sullivan  <sullivan@apple.com>
953
954         - fixed 3370614 -- REGRESSION (81-85): partial inline input from Japanese 
955         input method can disappear
956
957         Reviewed by Hyatt
958
959         * khtml/rendering/render_form.cpp:
960         (RenderLineEdit::updateFromElement):
961         call w->text() before element()->value(), because w->text() has a side
962         effect of updating element()->value() in the inline input case
963         (RenderTextArea::updateFromElement):
964         same for text areas
965
966 2003-08-12  David Hyatt  <hyatt@apple.com>
967
968         Fix for 3374566, list bullets don't display if list-style-type is none but a list-style-image
969         is specified.  The spec says list-style-type: none does not apply to list-style-image,
970         and this fixes Microsoft's list bullet on their security pages.
971         
972         Reviewed by john
973
974         * khtml/rendering/render_list.cpp:
975         (RenderListItem::setStyle):
976
977 2003-08-12  Darin Adler  <darin@apple.com>
978
979         Reviewed by Ken.
980
981         - fixed 3226083 -- REGRESSION (Panther): white box overlaying select lists at nvidia.com drivers page
982
983         * kwq/KWQListBox.mm: (QListBox::QListBox): Call releaseGState on the clip view
984         that we make for the list box. This prevents the incorrect graphics state caching
985         that causes the problem, although it's not entirely clear why this is necessary.
986         This may ultimately turn out to be an AppKit bug, and if so we can roll out this change
987         when the AppKit itself is fixed.
988
989 2003-08-12  David Hyatt  <hyatt@apple.com>
990
991         Fix for 3373462, XML shows up as blank because the root is inline.  The fix is
992         to just disallow inline roots.
993         
994         Reviewed by kocienda
995
996         * khtml/css/cssstyleselector.cpp:
997
998 2003-08-11  David Hyatt  <hyatt@apple.com>
999
1000         Fix for 3349142, blocks inside inlines with generated content cause the generated
1001         content to get all screwed up, especially if you try to print.  This patch fixes
1002         generated content to be continuation-aware (and vice versa), so that the content
1003         behaves correctly when inlines get split.
1004         
1005         Reviewed by darin
1006
1007         * khtml/rendering/render_block.cpp:
1008         * khtml/rendering/render_container.cpp:
1009         (RenderContainer::updatePseudoChild):
1010         * khtml/rendering/render_container.h:
1011         * khtml/rendering/render_flow.cpp:
1012         (RenderFlow::addChild):
1013         * khtml/rendering/render_inline.cpp:
1014         (RenderInline::isInlineContinuation):
1015         (RenderInline::addChildToFlow):
1016         (RenderInline::cloneInline):
1017         (RenderInline::splitInlines):
1018         * khtml/rendering/render_inline.h:
1019         * khtml/rendering/render_object.cpp:
1020         (RenderObject::continuation):
1021         (RenderObject::isInlineContinuation):
1022         * khtml/rendering/render_object.h:
1023
1024 2003-08-11  Darin Adler  <darin@apple.com>
1025
1026         * kwq/KWQKHTMLPart.h: Fixed some small typo-ish strangenesses.
1027
1028 2003-08-08  David Hyatt  <hyatt@apple.com>
1029
1030         Fix for 3368672, don't allow frames and framesets to be positioned or relpositioned.
1031         
1032         Reviewed by darin
1033
1034         * ChangeLog:
1035         * khtml/rendering/render_box.cpp:
1036         (RenderBox::setStyle):
1037         * khtml/rendering/render_object.cpp:
1038         (RenderObject::requiresLayer):
1039         * khtml/rendering/render_object.h:
1040
1041 2003-08-07  David Hyatt  <hyatt@apple.com>
1042
1043         Fix for 3368463, assert/crash on libraries.uc.edu page.  A stylesheet was making 
1044         a <p> a table-column, which is totally nonsensical.  Since this isn't supported in
1045         WinIE, it just got ignored.  The fix I chose matches what Mozilla does, which is
1046         to not allow table-column renderobjects to have children.
1047
1048         Fix for 3364412, FM pro file that happens to use a <col> element crashes.  Make sure
1049         to patch bidiiterator to have a null check for this bizarre case.  Technically <col>
1050         should never have been a table-column, since it's not in the HTML namespace, but
1051         that fix will have to wait until we get @namespace support in CSS.
1052         
1053         Reviewed by john
1054
1055         * ChangeLog:
1056         * khtml/rendering/bidi.cpp
1057         * khtml/rendering/render_table.cpp:
1058         (RenderTableCol::canHaveChildren):
1059         * khtml/rendering/render_table.h:
1060
1061 2003-08-05  Dave Hyatt  <hyatt@apple.com>
1062
1063         Fix for 3370654.  Make sure the max width computation for blocks with inline children actually
1064         ignores non-pre text runs that consist entirely of whitespace.
1065         
1066         Reviewed by mjs
1067
1068         * khtml/rendering/render_block.cpp:
1069         * khtml/rendering/render_text.cpp:
1070         (RenderText::trimmedMinMaxWidth):
1071         * khtml/rendering/render_text.h:
1072
1073 2003-08-08  John Sullivan  <sullivan@apple.com>
1074
1075         - fixed 3362481 -- REGRESSION (89-90): clicking in a field causes 
1076         page to move; esp. bad if the field moves out from under the mouse
1077
1078         Reviewed by Darin
1079
1080         * kwq/KWQKHTMLPart.h:
1081         * kwq/KWQKHTMLPart.mm:
1082         (KWQKHTMLPart::currentEventIsMouseDownInWidget):
1083         new method
1084
1085         * kwq/KWQTextArea.mm:
1086         (-[KWQTextAreaTextView becomeFirstResponder]):
1087         only scroll to reveal if currentEventIsMouseDownInWidget is false
1088
1089         * kwq/KWQTextField.mm:
1090         (-[KWQTextField setHasFocus:]):
1091         ditto
1092
1093 === WebCore-92.1 ===
1094
1095 2003-08-07  Darin Adler  <darin@apple.com>
1096
1097         Reviewed by John Sullivan.
1098
1099         - fixed 3366234 -- repro crash in CSS parser: function that can't be parsed (www.bi-flugplatz-magdeburg.de)
1100
1101         * khtml/css/parser.y: Allocate a Function object for the "can't parse function" case, since
1102         the other code involved cannot handle 0 for the function.
1103         * khtml/css/parser.cpp: Regenerated.
1104
1105 === Safari-92 ===
1106
1107 2003-08-07  Ken Kocienda  <kocienda@apple.com>
1108
1109        Reviewed by Darin
1110
1111        Fix for this bug:
1112
1113        <rdar://problem/3367434>: newly-added KURL assertion failing reproducibly for JavaScript URL (www.thai.com)
1114
1115        The assertion is correct. The issue was in calling the function
1116        with bad input. Non-hierarchical URLs should not have their "path"
1117        elements submitted to a function that will replace dots.
1118
1119        The fix is to avoid calling this function with such non-hierarchical
1120        URLs.
1121
1122          * kwq/KWQKURL.mm:
1123          (KURL::parse)
1124
1125 2003-08-07  Ken Kocienda  <kocienda@apple.com>
1126
1127         Reviewed by Maciej
1128
1129         There was a bug in this code that caused a relative URL that was
1130         being resolved against an empty base URL to process incorrectly.
1131         The bug is that the resolution was being done twice. The first
1132         time was correct handling of this case, but then the code did
1133         not return at this point, and instead proceeded on through the
1134         code path that is used to handle resolution of a relative URL
1135         against a non-empty base. This double processing is clearly
1136         wrong, and we found this bug as the result of the recent addition 
1137         of an assertion in some related code.
1138
1139         * kwq/KWQKURL.mm:
1140         (KURL::KURL)
1141
1142 2003-08-06  Darin Adler  <darin@apple.com>
1143
1144         Reviewed by Richard.
1145
1146         - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit
1147
1148         * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView keyDown:]): Remove check for old
1149         versions of AppKit that let the WebKit posing handle key down events.
1150         * kwq/KWQTextField.mm: Removed fieldEditorDidMouseDown: methods.
1151
1152         * WebCore.pbproj/project.pbxproj: Removed WebCoreFirstResponderChanges.h.
1153         * kwq/WebCoreFirstResponderChanges.h: Removed.
1154
1155 2003-08-06  Richard Williamson   <rjw@apple.com>
1156
1157         Fixed development build problem.  WebCore.exp needed a newline at EOF.
1158         
1159         * WebCore-combined.exp:
1160
1161 2003-08-06  Richard Williamson   <rjw@apple.com>
1162
1163         Fixed 3348630.  Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.
1164
1165         Reviewed by Ken.
1166
1167         * WebCore-combined.exp:
1168         * WebCore.exp:
1169         * WebCore.pbproj/project.pbxproj:
1170         * kwq/KWQString.h:
1171         * kwq/WebCoreUnicode.cpp:
1172         * kwq/WebCoreUnicode.h:
1173
1174 2003-08-06  John Sullivan  <sullivan@apple.com>
1175
1176         - fixed 3366587 -- Mail quits instantly (no crashlog) trying
1177         to reply to a particular message
1178
1179         Reviewed by Richard
1180
1181         * kwq/KWQKHTMLPart.mm:
1182         (KWQKHTMLPart::attributedString):
1183         Return nil immediately if startNode is nil.
1184
1185 2003-08-06  Maciej Stachowiak  <mjs@apple.com>
1186
1187         Reviewed by Chris Blumenberg.
1188
1189         - fixed 3366173 - crash in DOM::DomShared::ref loading www.berkheiser.net
1190         
1191         * khtml/ecma/kjs_html.cpp:
1192         (Image::putValue): Check for NULL before refing, because we set
1193         onLoadListener with a function that returns NULL if passed a value
1194         that's not a function.
1195
1196 2003-08-06  Maciej Stachowiak  <mjs@apple.com>
1197
1198         Reviewed by Darin and Dave.
1199
1200         - fixed 3364433 - repro crash in khtml::RenderBlock::nodeAtPoint
1201         
1202         * khtml/rendering/render_object.cpp:
1203         (RenderObject::removeFromObjectLists): When finding the right
1204         parent block to remove a float from, don't stop at floating or
1205         positioned elements. They could well have floats in their
1206         m_floatingObjects list due to overhang, and failing to remove them
1207         leads to crashes.
1208
1209 2003-08-05  Maciej Stachowiak  <mjs@apple.com>
1210
1211         Reviewed by John.
1212
1213         * kwq/KWQPainter.mm:
1214         (QPainter::drawLine): Print a warning in debug builds when drawing
1215         a dashed line. Also, revert accidental commenting of lines that
1216         set the dash style.
1217
1218 2003-08-04  Dave Hyatt  <hyatt@apple.com>
1219
1220         Fix for 3127909, copied text matched the document source instead of the
1221         rendered HTML.  This patch makes sure that the TextRuns are walked instead
1222         of just blindly pulling the text out of the DOM node.
1223         
1224         Reviewed by rjw
1225
1226         * khtml/khtml_part.cpp:
1227         (KHTMLPart::selectedText):
1228         * kwq/KWQKHTMLPart.mm:
1229         (KWQKHTMLPart::attributedString):
1230
1231 2003-08-05  Maciej Stachowiak  <mjs@apple.com>
1232
1233         Reviewed by Darin and Dave.
1234
1235         - fixed 3363557 - REGRESSION (90-91): float:left element inside position:absolute element positioned wrong
1236
1237         * khtml/rendering/render_block.cpp:
1238         (RenderBlock::calcInlineMinMaxWidth): Remove attempt to break line
1239         after flaot that follows a non-float. Removing this code fixes the
1240         regression and leaves pepboys and the meyerweb matrix theme
1241         working properly. Also, I could not find any evidence in the CSS2
1242         spec that what this code is trying to do is right.
1243
1244 2003-08-05  Ken Kocienda  <kocienda@apple.com>
1245
1246         Reviewed by John
1247
1248         Fix for this bug:
1249
1250         <rdar://problem/3364251>: Modify KURL to call improved NSURL creation API
1251
1252         * kwq/KWQKURL.mm:
1253         (KURL::getNSURL): Modify to use CFURLCreateAbsoluteURLWithBytes to create
1254         the NSURL.
1255
1256 2003-08-05  Ken Kocienda  <kocienda@apple.com>
1257
1258         Reviewed by Maciej
1259
1260         In KWQKURL.mm, we copy the contents of a URL path from a source buffer
1261         to a destination buffer. In the loop, we often access dst[-1]. It was
1262         not entirely clear that this did not underrun the buffer. Upon further
1263         inspection, it seems clear that it does not, but this small change
1264         makes this more clear, and adds an assertion that all is well with
1265         regard to indexing into the dst buffer.
1266
1267         * kwq/KWQKURL.mm:
1268         (copyPathRemovingDots)
1269
1270 2003-08-01  Richard Williamson   <rjw@apple.com>
1271
1272         Fixed 3095376.  Implemented correct selection behavior for rtl scripts.
1273         We still use our Arabic and Hebrew layout scheme.
1274
1275         Fixed 3360487.  Implemented selection of ATSU rendered code.
1276
1277         Fixed 3360242.  Return nil from _bodyBackgroundColor when no 
1278         background color specified.  This was requested by Doug D.
1279
1280         Reviewed by Maciej.
1281
1282         * khtml/rendering/font.cpp:
1283         (Font::drawHighlightForText):
1284         * khtml/rendering/font.h:
1285         * khtml/rendering/render_text.cpp:
1286         (TextRun::paintSelection):
1287         * kwq/KWQFontMetrics.mm:
1288         (QFontMetrics::checkSelectionPoint):
1289         * kwq/KWQKHTMLPart.mm:
1290         (KWQKHTMLPart::bodyBackgroundColor):
1291         * kwq/KWQPainter.h:
1292         * kwq/KWQPainter.mm:
1293         (QPainter::drawHighlightForText):
1294         * kwq/WebCoreTextRenderer.h:
1295
1296 2003-08-01  Maciej Stachowiak  <mjs@apple.com>
1297
1298         Reviewed by John.
1299
1300         - fixed 3265419 - homepage preview doesn't show Images with names longer than 17 chars
1301         
1302         * khtml/xml/dom_nodeimpl.cpp:
1303         (NodeImpl::recursive_toHTML):
1304
1305 2003-08-01  Maciej Stachowiak  <mjs@apple.com>
1306
1307         Reviewed by Darin.
1308
1309         - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com
1310
1311         I fixed this by making sure to cancel any pending redirects before
1312         telling the bridge to load a URL. We don't want a race between
1313         getting back a response and the redirect timer.
1314
1315         * kwq/WebCoreBridge.h:
1316         * kwq/WebCoreBridge.mm:
1317         (-[WebCoreBridge provisionalLoadStarted]): New method - call equivalent part method.
1318         We count on the other side of the bridge to call this once it knows a load will
1319         really happen (not cancelled by policy, etc).
1320         * kwq/KWQKHTMLPart.h:
1321         * kwq/KWQKHTMLPart.mm:
1322         (KWQKHTMLPart::provisionalLoadStarted): cancel pending redirects.
1323
1324 === Safari-91 ===
1325
1326 2003-07-31  Dave Hyatt  <hyatt@apple.com>
1327
1328         Fix for 3347286, hang on pepboys.com.  Text-indent had numerous bugs that
1329         resulted in an infinite loop because some incorrect values were being compared.
1330         This patch changes floats to ignore text-indent when positioning themselves
1331         (as they should).
1332
1333         The maxwidth computation also didn't deal properly with text-indent, applying it
1334         multiple times instead of once, and also only applying it for text and not for
1335         inline replaced elements (images, form controls, etc.).
1336
1337         With these changes pepboys.com renders correctly.  This patch also conveniently fixes
1338         the last rendering error on meyerweb's Matrix stylesheet.
1339         
1340         Reviewed by darin
1341
1342         * khtml/rendering/render_block.cpp:
1343         * khtml/rendering/render_block.h:
1344
1345 2003-07-31  Richard Williamson   <rjw@apple.com>
1346
1347         Fixed 3359152.  SPI to get the background color for a frame.
1348
1349         Reviewed by hyatt.
1350
1351         * kwq/KWQKHTMLPart.h:
1352         * kwq/KWQKHTMLPart.mm:
1353         (KWQKHTMLPart::bodyBackgroundColor):
1354         * kwq/WebCoreBridge.h:
1355         * kwq/WebCoreBridge.mm:
1356         (-[WebCoreBridge bodyBackgroundColor]):
1357
1358 2003-07-31  Dave Hyatt  <hyatt@apple.com>
1359
1360         Fix for "The Matrix" stylesheet on meyerweb.com and for 26(!) of the
1361         layout tests.  Basically when laying out a line, you have a beginning, and end,
1362         and midpoints in between that tell you what whitespace to skip over.  It was
1363         possible to end up with the last midpoint being a start point that was past the
1364         end of the line, and in that case, we would sometimes not strip off the trailing
1365         space at the end of the line like we should.
1366
1367         This patch adds a simple function to check for this condition.  It strips off the
1368         out-of-bounds midpoint, and then shaves off the trailing space from the previous
1369         midpoint if it's necessary to do so.
1370
1371         Also fix the way spaces are counted so that we don't add in spaces for text that 
1372         is not part of any bidi runs.
1373         
1374         Reviewed by john
1375
1376         * khtml/rendering/bidi.cpp:
1377
1378 2003-07-30  Richard Williamson   <rjw@apple.com>
1379
1380         Preparation for 3095376.
1381
1382         Reviewed by Maciej.
1383
1384         * WebCore-combined.exp:
1385         * WebCore.exp:
1386         * khtml/rendering/font.cpp:
1387         (Font::checkSelectionPoint):
1388         * khtml/rendering/font.h:
1389         * khtml/rendering/render_text.cpp:
1390         (TextRun::checkSelectionPoint):
1391         * kwq/KWQFontMetrics.h:
1392         * kwq/KWQFontMetrics.mm:
1393         (QFontMetrics::width):
1394         (QFontMetrics::floatWidth):
1395         (QFontMetrics::floatCharacterWidths):
1396         (QFontMetrics::checkSelectionPoint):
1397         * kwq/KWQPainter.mm:
1398         (QPainter::drawText):
1399         * kwq/WebCoreTextRenderer.h:
1400         * kwq/WebCoreTextRendererFactory.m:
1401         (WebCoreInitializeTextRun):
1402         (WebCoreInitializeEmptyTextStyle):
1403
1404 2003-07-30  Dave Hyatt  <hyatt@apple.com>
1405
1406         Fix for 3274144, floats in Help Viewer overlapped when they shouldn't have.
1407         lineWidth was overflowing (and positionNewFloats was also sometimes not called
1408         when it should have been).
1409         
1410         Reviewed by darin
1411
1412         * khtml/rendering/bidi.cpp:
1413         * khtml/rendering/render_block.cpp:
1414
1415 2003-07-30  Dave Hyatt  <hyatt@apple.com>
1416
1417         Add support for setting the text-shadow's color.  This uses a new CG API,
1418         so updating to a fairly recent Panther is required.
1419         
1420         Reviewed by rjw
1421
1422         * khtml/css/cssparser.cpp:
1423         (CSSParser::parseShadow):
1424         * kwq/KWQPainter.mm:
1425         (QPainter::setShadow):
1426
1427 2003-07-30  John Sullivan  <sullivan@apple.com>
1428
1429         - fixed 3346460 -- images > area (2048x2048) are compressed vertically 
1430         when displayed as src of img tag
1431
1432         Reviewed by Darin
1433
1434         * khtml/rendering/render_image.cpp:
1435         (RenderImage::layout):
1436         Just comment out the code that imposes a maximum image size (incorrectly);
1437         maybe KDE folks want to make this work, but we don't need to try to
1438         prevent large images.
1439
1440 2003-07-30  John Sullivan  <sullivan@apple.com>
1441
1442         - WebCore part of fix for 3284525 -- AutoFill fills in 
1443         only e-mail address field of New Account form on Apple Store Japan
1444
1445         There were two problems: the regex library being used by
1446         KWQRegExp.mm didn't handle unicode at all, and the way we
1447         were using word boundaries in our regular expressions didn't
1448         work with Japanese.
1449
1450         Reviewed by Darin
1451
1452         * kwq/KWQKHTMLPart.mm:
1453         (regExpForLabels):
1454         Redid the way word boundaries are used; the old way didn't
1455         work with PCRE, and also didn't work with Japanese. 
1456
1457         * kwq/KWQRegExp.h:
1458         removed treatStartAsStartOfInput parameter to match() that Trey had added; 
1459         it was being used incorrectly and was not necessary.
1460
1461         * kwq/KWQRegExp.mm:
1462         (compareStringOffsets), (createSortedOffsetsArray),
1463         (convertCharacterOffsetsToUTF8ByteOffsets),
1464         (convertUTF8ByteOffsetsToCharacterOffsets):
1465         Code copied from JavaScriptCore/regexp.cpp to convert between
1466         byte and character offsets. Darin preferred that I copy these
1467         methods rather than make them public in JavaScriptCore/regexp.h.
1468         (QRegExp::KWQRegExpPrivate::compile):
1469         converted from regex.h style to pcre.h style 
1470         (QRegExp::KWQRegExpPrivate::~KWQRegExpPrivate):
1471         ditto
1472         (QRegExp::match):
1473         ditto
1474         (QRegExp::search):
1475         removed parameter to match()
1476         (QRegExp::searchRev):
1477         ditto
1478
1479         * kwq/KWQString.mm:
1480         (QString::replace):
1481         removed parameter to match()
1482
1483 2003-07-30  Richard Williamson   <rjw@apple.com>
1484
1485         Fixed 3349598.  Deal gracefully with <li> items that
1486         are not in a <ol> or <ul>, instead of crashing!
1487
1488         Reviewed by Ken.
1489
1490         * kwq/KWQKHTMLPart.mm:
1491         (listParent):
1492         (KWQKHTMLPart::attributedString):
1493
1494 2003-07-29  Richard Williamson   <rjw@apple.com>
1495
1496         Use the new KURL getNSURL() method to create an NSURL.
1497
1498         Reviewed by darin.
1499
1500         * kwq/KWQKHTMLPart.mm:
1501         (KWQKHTMLPart::attributedString):
1502
1503 2003-07-29  Darin Adler  <darin@apple.com>
1504
1505         Reviewed by Dave.
1506
1507         - fixed 3311756 -- REGRESSION (76-77): radio buttons in different forms act as the same set
1508         by rolling out old fix for 3158411 -- radio button groups are supposed to be per-form
1509         The real bug at flyglobespan.com is what's fixed below.
1510
1511         * khtml/html/html_formimpl.h:
1512         * khtml/html/html_formimpl.cpp:
1513         (HTMLFormElementImpl::radioClicked):
1514         (HTMLInputElementImpl::~HTMLInputElementImpl):
1515         (HTMLInputElementImpl::setType):
1516         (HTMLInputElementImpl::parseAttribute):
1517         (HTMLInputElementImpl::attach):
1518         (HTMLInputElementImpl::reset):
1519         (HTMLInputElementImpl::setChecked):
1520         (HTMLInputElementImpl::isEditable):
1521         * khtml/xml/dom_docimpl.cpp:
1522         * khtml/xml/dom_docimpl.h:
1523
1524         - fixed 3158411 -- re-opened form is one form in other browsers, multiple forms in Safari
1525         (flyglobespan.com)
1526
1527         * khtml/html/htmlparser.cpp: (KHTMLParser::getElement): Don't open a form if we encounter
1528         a form element inside another form.
1529
1530 2003-07-29  John Sullivan  <sullivan@apple.com>
1531
1532         - fixed 3346707 -- AutoFill does not fill in email address on 
1533         Apple Store new account page
1534
1535         Reviewed by Darin
1536
1537         * kwq/KWQRegExp.h:
1538         * kwq/KWQRegExp.mm:
1539         (QRegExp::searchRev):
1540         This method (that Trey had added) used a placeholder 2nd parameter
1541         that was always -1 and should have been ignored. But it was
1542         being passed into QRegExp::match as the starting index, which
1543         happened to work in many cases, but not if the byte of memory
1544         before the string happened to be a null character. Fixed by
1545         eliminating the placeholder parameter entirely.
1546
1547 2003-07-28  Maciej Stachowiak  <mjs@apple.com>
1548
1549         Reviewed by Richard.
1550
1551         - fixed 3343050 - nil-deref in saveInterpreterBuiltins running Sherlock via MallocDebug in Panther7B20
1552         - fixed 3343942 - Safari crashes when clicking on link w/ JavaScript turned off
1553         
1554         * kwq/KWQKHTMLPart.mm:
1555         (KWQKHTMLPart::saveInterpreterBuiltins): Don't attempt to save
1556         when JavaScript is off.
1557         (KWQKHTMLPart::restoreInterpreterBuiltins): Don't attempt to restore
1558         when JavaScript is off.
1559         (KWQKHTMLPart::saveWindowProperties): Remove ERROR, since that
1560         case is normal when JS is off.
1561         (KWQKHTMLPart::saveLocationProperties): Remove ERROR, since that
1562         case is normal when JS is off.
1563         (KWQKHTMLPart::restoreWindowProperties): Remove ERROR, since that
1564         case is normal when JS is off.
1565         (KWQKHTMLPart::restoreLocationProperties): Remove ERROR, since that
1566         case is normal when JS is off.
1567
1568 2003-07-28  Dave Hyatt  <hyatt@apple.com>
1569
1570         Fix build bustage on my buggy panther compiler.
1571         
1572         Reviewed by darin
1573
1574         * kwq/KWQLineEdit.mm:
1575         (QLineEdit::~QLineEdit):
1576
1577 2003-07-28  Dave Hyatt  <hyatt@apple.com>
1578
1579         Fix for 3343250, XML didn't know how to make implicit tbodies when starting new elements,
1580         nor did it know to skip implicit elements when popping its element stack.
1581         
1582         Reviewed by darin
1583
1584         * khtml/xml/xml_tokenizer.cpp:
1585         (XMLHandler::startElement):
1586         (XMLHandler::endElement):
1587
1588 2003-07-25  Dave Hyatt  <hyatt@apple.com>
1589
1590         Rename box and inline-box to -khtml-box and -khtml-inline-box.
1591         
1592         Reviewed by john
1593
1594         * khtml/css/cssparser.cpp:
1595         (CSSParser::parseValue):
1596         * khtml/css/cssvalues.c:
1597         (hash_val):
1598         (findValue):
1599         * khtml/css/cssvalues.h:
1600         * khtml/css/cssvalues.in:
1601
1602 2003-07-25  Dave Hyatt  <hyatt@apple.com>
1603
1604         Fix for 3343529, inline blocks crashing Safari.  There were lots of problems with
1605         inlne-blocks.  This code gets basic inline-blocks working properly (with no crashes).
1606
1607         Several functions have been patched to take an isRootLineBox parameter.  This is used
1608         to tell whether you're supposed to examine the root line box for a block or the block
1609         itself.  In the case of baselinePosition and lineHeight, it indicates whether the caller
1610         wants to measure the outside or inside of the box.  
1611
1612         The outside of an inline-block is like a replaced element (e.g., an image), but the 
1613         inside is like a block, e.g., you want measurements for
1614         the line height and baseline position of a root line box for that block.
1615
1616         Similarly, createInlineBox has been patched in order to know whether you're making a
1617         root inline box *inside* the inline-block or an inline box that *encompasses* the
1618         inline-block element (like you'd do for an image).
1619
1620         A number of places had isInline() calls and needed to be patched to also check
1621         isInlineBlockOrInlineTable().  How to treat the inline-block again basically depends
1622         on whether the caller is looking at the outside of the block (in which case you're like
1623         an inline replaced element) or the inside of the block (in which case you're just like
1624         a block).
1625         
1626         Reviewed by darin
1627
1628         * ChangeLog:
1629         * khtml/rendering/bidi.cpp:
1630         * khtml/rendering/render_block.cpp:
1631         * khtml/rendering/render_block.h:
1632         * khtml/rendering/render_box.cpp:
1633         (RenderBox::calcWidth):
1634         (RenderBox::calcHeight):
1635         * khtml/rendering/render_flow.cpp:
1636         (RenderFlow::createInlineBox):
1637         * khtml/rendering/render_flow.h:
1638         * khtml/rendering/render_form.cpp:
1639         (RenderFormElement::baselinePosition):
1640         (RenderButton::baselinePosition):
1641         (RenderSubmitButton::baselinePosition):
1642         (RenderSelect::baselinePosition):
1643         * khtml/rendering/render_form.h:
1644         * khtml/rendering/render_line.cpp:
1645         (InlineFlowBox::verticallyAlignBoxes):
1646         (InlineFlowBox::computeLogicalBoxHeights):
1647         * khtml/rendering/render_list.cpp:
1648         (RenderListMarker::lineHeight):
1649         (RenderListMarker::baselinePosition):
1650         * khtml/rendering/render_list.h:
1651         * khtml/rendering/render_object.cpp:
1652         (RenderObject::sizesToMaxWidth):
1653         (RenderObject::getVerticalPosition):
1654         (RenderObject::lineHeight):
1655         (RenderObject::baselinePosition):
1656         (RenderObject::createInlineBox):
1657         * khtml/rendering/render_object.h:
1658         * khtml/rendering/render_replaced.cpp:
1659         (RenderReplaced::lineHeight):
1660         (RenderReplaced::baselinePosition):
1661         * khtml/rendering/render_replaced.h:
1662         * khtml/rendering/render_table.cpp:
1663         * khtml/rendering/render_table.h:
1664         * khtml/rendering/render_text.cpp:
1665         (RenderText::lineHeight):
1666         (RenderText::baselinePosition):
1667         (RenderText::createInlineBox):
1668         * khtml/rendering/render_text.h:
1669
1670 2003-07-25  Dave Hyatt  <hyatt@apple.com>
1671
1672         Fix for 3343527, crash when attempting to access rules in the CSS OM.
1673         Our KWQListImpl doesn't null check accesses, so anything out
1674         of bounds would cause a crash.
1675         
1676         Reviewed by mjs
1677
1678         * kwq/KWQListImpl.mm:
1679         (KWQListImpl::at):
1680
1681 2003-07-25  Maciej Stachowiak  <mjs@apple.com>
1682
1683         Reviewed by Dave.
1684
1685          - fixed 3332460 - nil-deref in khtml::RenderWidget::eventFilter with onchange handler
1686
1687         * khtml/rendering/render_form.cpp:
1688         (RenderTextArea::handleFocusOut): Check if we still have an
1689         element. It could have gone away while handling an event that
1690         replaced some or all of the document, and if we're gonna be
1691         destroyed soon then there's no point doing this work anyway.
1692
1693 2003-07-25  Maciej Stachowiak  <mjs@apple.com>
1694
1695         Reviewed by Dave.
1696
1697         - fixed 3332460 - nil-deref in khtml::RenderWidget::eventFilter with onchange handler
1698         
1699         * khtml/rendering/render_replaced.cpp:
1700         (RenderWidget::eventFilter): We want to ref element() across this call, but it could get
1701         unset, so store it in a local variable.
1702         * kwq/KWQLineEdit.h:
1703         * kwq/KWQLineEdit.mm:
1704         (QLineEdit::~QLineEdit): invalidate our KWQTextField.
1705         * kwq/KWQTextField.h:
1706         * kwq/KWQTextField.mm:
1707         (-[KWQTextField invalidate]): Set widget to NULL.
1708         (-[KWQTextField action:]): Do nothing if widget is NULL.
1709         (-[KWQTextField controlTextDidBeginEditing:]): Likewise.
1710         (-[KWQTextField controlTextDidEndEditing:]): Likewise.
1711         (-[KWQTextField controlTextDidChange:]): Likewise.
1712         (-[KWQTextField control:textShouldBeginEditing:]): Likewise.
1713         (-[KWQTextField control:textShouldEndEditing:]): Likewise.
1714         (-[KWQTextField control:didFailToFormatString:errorDescription:]): Likewise.
1715         (-[KWQTextField control:didFailToValidatePartialString:errorDescription:]): Likewise.
1716         (-[KWQTextField control:isValidObject:]): Likewise.
1717         (-[KWQTextField control:textView:doCommandBySelector:]): Likewise.
1718         (-[KWQTextField stringValue]): Likewise.
1719         (-[KWQTextField setStringValue:]): Likewise.
1720         (-[KWQTextField setFont:]): Likewise.
1721         (-[KWQTextField nextKeyView]): Likewise.
1722         (-[KWQTextField previousKeyView]): Likewise.
1723         (-[KWQTextField nextValidKeyView]): Likewise.
1724         (-[KWQTextField previousValidKeyView]): Likewise.
1725         (-[KWQTextField fieldEditorDidMouseDown:]): Likewise.
1726         (-[KWQTextField textView:shouldHandleEvent:]): Likewise.
1727         (-[KWQTextField textView:didHandleEvent:]): Likewise.
1728         (-[KWQTextField setHasFocus:]): Likewise.
1729
1730 2003-07-24  John Sullivan  <sullivan@apple.com>
1731
1732         - fixed 3332622 -- Safari Abbreviates Attribute Names in EMBED tags
1733
1734         Reviewed by Richard
1735
1736         * khtml/html/htmltokenizer.h:
1737         bumped fixed max length of attributes from 14 to 1024.
1738         Theoretically they could be any arbitrary length, but it's
1739         more risk than it's worth to rewrite the code that uses the
1740         fixed-size buffer that is based on this value.
1741
1742 2003-07-24  Dave Hyatt  <hyatt@apple.com>
1743
1744         Change all uses of "konq-" in CSS to "khtml-".  
1745
1746         Also rename the CSS3 properties that have either buggy or 
1747         incomplete implementations to "-khtml-property" for forward
1748         compatibility (so that people don't have to worry about a buggy
1749         Safari if/when they use the official property names).
1750         
1751         Reviewed by john
1752
1753         * khtml/css/cssparser.cpp:
1754         (CSSParser::parseRule):
1755         (CSSParser::parseValue):
1756         (CSSParser::parseDeclaration):
1757         (CSSParser::parseFontFamily):
1758         (CSSParser::parseShadow):
1759         * khtml/css/cssproperties.c:
1760         (hash_prop):
1761         (findProp):
1762         * khtml/css/cssproperties.h:
1763         * khtml/css/cssproperties.in:
1764         * khtml/css/cssstyleselector.cpp:
1765         * khtml/css/cssvalues.c:
1766         (hash_val):
1767         (findValue):
1768         * khtml/css/cssvalues.h:
1769         * khtml/css/cssvalues.in:
1770         * khtml/css/html4.css:
1771         * khtml/css/parser.cpp:
1772         * khtml/css/parser.h:
1773         * khtml/css/parser.y:
1774         * khtml/css/quirks.css:
1775         * khtml/css/tokenizer.cpp:
1776         * khtml/css/tokenizer.flex:
1777         * khtml/html/html_blockimpl.cpp:
1778         (HTMLDivElementImpl::parseAttribute):
1779         (HTMLParagraphElementImpl::parseAttribute):
1780         * khtml/html/html_elementimpl.cpp:
1781         (HTMLElementImpl::addHTMLAlignment):
1782         * khtml/html/html_inlineimpl.cpp:
1783         (HTMLFontElementImpl::parseAttribute):
1784         * khtml/html/html_tableimpl.cpp:
1785         (HTMLTablePartElementImpl::parseAttribute):
1786         (HTMLTableCellElementImpl::parseAttribute):
1787         * khtml/rendering/bidi.cpp:
1788         * khtml/rendering/render_block.cpp:
1789         * khtml/rendering/render_box.cpp:
1790         (RenderBox::calcHorizontalMargins):
1791         * khtml/rendering/render_flexbox.cpp:
1792         * khtml/rendering/render_style.h:
1793         * khtml/rendering/render_table.cpp:
1794         (RenderTableCell::setStyle):
1795
1796 === Safari-90 ===
1797
1798 2003-07-23  Dave Hyatt  <hyatt@apple.com>
1799
1800         Fix opacity to respect clipping.
1801         
1802         Reviewed by rjw
1803
1804         * khtml/rendering/render_layer.cpp:
1805         (RenderLayer::paint):
1806
1807 2003-07-23  Darin Adler  <darin@apple.com>
1808
1809         Reviewed by John.
1810
1811         - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine)
1812
1813         * kwq/KWQTextArea.h: Add drawing state variable so we can tell the difference
1814         between calls to draw the insertion point inside and calls to draw outside the
1815         redraw machinery.
1816         * kwq/KWQTextArea.mm:
1817         (-[KWQTextArea displayRectIgnoringOpacity:]): Added. Set drawing flag while in here.
1818         This is the method used by KWQWidget to draw.
1819         (-[KWQTextArea textView:shouldDrawInsertionPointInRect:color:turnedOn:]): Added.
1820         Calls setNeedsDisplay (the NSView version, not the NSTextView override) instead
1821         of immediately drawing when asked to draw outside the normal redraw machinery.
1822         (-[KWQTextAreaTextView keyDown:]): Call interceptKeyEvent before handling each
1823         key down event.
1824         * kwq/KWQTextField.h: Add drawing state variable so we can tell the difference
1825         between calls to draw the insertion point inside and calls to draw outside the
1826         redraw machinery.
1827         * kwq/KWQTextField.mm:
1828         (-[KWQTextField displayRectIgnoringOpacity:]): Added. Set drawing flag while in here.
1829         This is the method used by KWQWidget to draw.
1830         (-[KWQTextField textView:shouldDrawInsertionPointInRect:color:turnedOn:]): Added.
1831         Calls setNeedsDisplay (the NSView version, not the NSTextView override) instead
1832         of immediately drawing when asked to draw outside the normal redraw machinery.
1833         (-[KWQTextField textView:shouldHandleEvent:]): Call interceptKeyEvent before
1834         handling each key down event.
1835         (-[KWQTextField textView:didHandleEvent:]): Call fieldEditorDidMouseDown: after
1836         handling each mouse down event.
1837
1838         * kwq/KWQWidget.mm: (QWidget::paint): Add comment about dependency on
1839         displayRectIgnoringOpacity: use in KWQTextArea and KWQTextField.
1840
1841         * kwq/WebCoreFirstResponderChanges.h: Added a comment about obsolescence.
1842
1843         - Xcode wanted to change this, because it now knows JavaScriptCore is a framework
1844
1845         * WebCore.pbproj/project.pbxproj: Munged by Xcode.
1846
1847 2003-07-23  Dave Hyatt  <hyatt@apple.com>
1848
1849         Fix for 3340885, invalid colors were being mapped to transparentColor,
1850         thus causing invisible text!
1851         
1852         Reviewed by kocienda
1853
1854         * khtml/css/cssparser.cpp:
1855         (CSSParser::parseColorFromValue):
1856
1857 2003-07-23  Richard Williamson   <rjw@apple.com>
1858
1859         Fixed for 3259840.  Use ATSU for scripts we don't handle internally,
1860         i.e.:  Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian
1861
1862         Also fixed issues with our rendering of Arabic.
1863
1864         Changed the internal API to take WebCoreTextRun and WebCoreTextStyle
1865         parameters instead of scads on individual parameters.  Much cleaner.
1866
1867         Reviewed by Maciej.
1868
1869         * WebCore-combined.exp:
1870         * WebCore.exp:
1871         * kwq/KWQFontMetrics.mm:
1872         (QFontMetrics::width):
1873         (QFontMetrics::floatWidth):
1874         (QFontMetrics::floatCharacterWidths):
1875         * kwq/KWQPainter.mm:
1876         (QPainter::drawText):
1877         * kwq/WebCoreTextRenderer.h:
1878         * kwq/WebCoreTextRendererFactory.m:
1879         (WebCoreMakeTextRun):
1880         (WebCoreMakeEmptyTextStyle):
1881
1882 2003-07-23  Dave Hyatt  <hyatt@apple.com>
1883
1884         Clean up the mess left by a couple of previous checkins.  I had
1885         patched computeLength and computeLengthFloat to take a CSSStyleSelector,
1886         but then I came up with a simpler solution that didn't require that
1887         the selector be passed in as an argument.  I forgot, however, to revert
1888         the functions back to their original forms.  This patch does that.
1889         
1890         Reviewed by john
1891
1892         * khtml/css/css_valueimpl.cpp:
1893         (CSSPrimitiveValueImpl::computeLength):
1894         (CSSPrimitiveValueImpl::computeLengthFloat):
1895         * khtml/css/css_valueimpl.h:
1896         * khtml/css/cssstyleselector.cpp:
1897
1898 2003-07-23  Dave Hyatt  <hyatt@apple.com>
1899
1900         Temporary hack to ensure that the layout tests will not all
1901         be failures if/when the layout tests regression gets fixed.
1902         Will remove once we can run the tests.
1903         
1904         Reviewed by ken
1905
1906         * khtml/rendering/render_block.cpp:
1907
1908 2003-07-22  Dave Hyatt  <hyatt@apple.com>
1909
1910         Allow HTML and BODY to be any display type.  This patch primarily eliminates the
1911         RenderBody class and makes the code that deals with background propagation smart
1912         enough to locate the correct renderers for the HTML and BODY elements (by crossing
1913         back into the DOM tree).
1914         
1915         Reviewed by darin
1916
1917         * ForwardingHeaders/rendering/render_body.h: Removed.
1918         * WebCore.pbproj/project.pbxproj:
1919         * khtml/html/html_baseimpl.cpp:
1920         (HTMLBodyElementImpl::insertedIntoDocument):
1921         * khtml/html/html_baseimpl.h:
1922         * khtml/rendering/render_body.cpp: Removed.
1923         * khtml/rendering/render_body.h: Removed.
1924         * khtml/rendering/render_box.cpp:
1925         (RenderBox::setStyle):
1926         (RenderBox::paintRootBoxDecorations):
1927         (RenderBox::paintBoxDecorations):
1928         (RenderBox::repaint):
1929         * khtml/rendering/render_inline.cpp:
1930         (RenderInline::paintObject):
1931         * khtml/rendering/render_inline.h:
1932         * khtml/rendering/render_object.cpp:
1933         (RenderObject::isBody):
1934         * khtml/rendering/render_object.h:
1935         * khtml/xml/dom_elementimpl.cpp:
1936         (ElementImpl::createRenderer):
1937
1938 2003-07-22  Darin Adler  <darin@apple.com>
1939
1940         Reviewed by Maciej.
1941
1942         - fixed 3108604 -- add Shift JIS X0213 and HK-SCS to the Text Encoding menu
1943
1944         * kwq/mac-encodings.txt: Added "Shift_JIS_X0213-2000". Changed all non-HKSCS
1945         Big5 encodings to use the DOS variant of Big5 as requested by Peter Edberg,
1946         but left Big5-HKSCS alone.
1947         * kwq/KWQCharsets.mm: Added kCFStringEncodingBig5_DOSVariant constant.
1948         * kwq/KWQCharsetData.c: Regenerated.
1949
1950         - fixed 3100151 -- subframes without explicit charset settings should inherit from parent, not use default
1951
1952         * khtml/khtml_part.cpp: (KHTMLPart::write): Get the default encoding from the parent
1953         part, if there is one.
1954
1955 2003-07-22  Dave Hyatt  <hyatt@apple.com>
1956
1957         Fix for 3293898, list bullets in ordered lists with an inside list
1958         position were rendering as though they had a width of 0.  This was
1959         a bug in KWQFontMetrics, which needed to handle the case where a
1960         length of -1 was passed in to the width method (in which case
1961         you should use the length of the whole string).
1962         
1963         Reviewed by john
1964
1965         * kwq/KWQFontMetrics.mm:
1966         (QFontMetrics::width):
1967
1968 2003-07-22  Dave Hyatt  <hyatt@apple.com>
1969
1970         Fix for mozilla.org front page.  This patch re-architects 
1971         align="left" and align="right" (for rtl and ltr directionality
1972         respectively).  The attributes are mapped to custom text-align
1973         values, konq-left and konq-right, just as was done with the
1974         center/middle attributes for alignment.
1975
1976         A number of "hack" style rules have been dropped from html4.css
1977         and replaced with this C++ code that now works in the general
1978         case for any children of align="left/right" divs and tds.
1979
1980         In addition, absmiddle support has been added for <td>s.
1981
1982         For RTL blocks, there is also a regression fix (this was probably
1983         the #1 culprit for mangled placement of blocks in Hebrew Web
1984         pages).  The old code was doing byzantine math that happened to
1985         work out.  When I tried to simplify it before 1.0, I missed a spot
1986         and basically broke margin handling on RTL blocks completely.
1987         
1988         Reviewed by mjs
1989
1990         * khtml/css/cssparser.cpp:
1991         (CSSParser::parseValue):
1992         * khtml/css/cssvalues.c:
1993         (hash_val):
1994         (findValue):
1995         * khtml/css/cssvalues.h:
1996         * khtml/css/cssvalues.in:
1997         * khtml/css/html4.css:
1998         * khtml/html/html_blockimpl.cpp:
1999         (HTMLDivElementImpl::parseAttribute):
2000         (HTMLParagraphElementImpl::parseAttribute):
2001         * khtml/html/html_tableimpl.cpp:
2002         (HTMLTablePartElementImpl::parseAttribute):
2003         * khtml/rendering/bidi.cpp:
2004         * khtml/rendering/render_block.cpp:
2005         * khtml/rendering/render_box.cpp:
2006         (RenderBox::calcHorizontalMargins):
2007         * khtml/rendering/render_style.h:
2008
2009 2003-07-21  Dave Hyatt  <hyatt@apple.com>
2010
2011         Fix for 3333557, crash on www.dremedia.com.  markDescendants in RenderBlock
2012         was not passing in its argument in the recursive step, so the float wasn't
2013         getting properly cleared out of everyone's lists.
2014         
2015         Reviewed by darin
2016
2017         * khtml/rendering/render_block.cpp:
2018
2019 2003-07-21  Dave Hyatt  <hyatt@apple.com>
2020
2021         Fix for 3182596, percentage height tables with cells that specify
2022         tiny percentage heights used that height even if it was smaller
2023         than the cell's minimum required height.
2024         
2025         Reviewed by darin
2026
2027         * khtml/rendering/render_table.cpp:
2028         (RenderTableSection::layoutRows):
2029
2030 2003-07-21  Darin Adler  <darin@apple.com>
2031
2032         Reviewed by Dave.
2033
2034         - fixed 3316867 -- tabbing to textarea below visible part of page doesn't scroll down
2035
2036         * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]): Added call to
2037         _KWQ_scrollFrameToVisible to match the one in KWQTextField.
2038
2039 2003-07-21  Dave Hyatt  <hyatt@apple.com>
2040
2041         Fix removeAttributeNode.  This is David Faure's patch.
2042         
2043         Reviewed by me
2044
2045         * khtml/xml/dom_elementimpl.cpp:
2046         (NamedAttrMapImpl::removeAttribute):
2047
2048 2003-07-21  Dave Hyatt  <hyatt@apple.com>
2049
2050         Checking in David Faure's patch that fixes getElementsByTagName(*).
2051         
2052         Reviewed by me
2053
2054         * khtml/xml/dom_nodeimpl.cpp:
2055         (NodeBaseImpl::getElementsByTagNameNS):
2056         (TagNodeListImpl::nodeMatches):
2057
2058 2003-07-18  Dave Hyatt  <hyatt@apple.com>
2059
2060         Enable domain() and setDomain() to work for all documents (XML
2061         as well as HTML).
2062
2063         Implement onload for frames.
2064         
2065         Reviewed by mjs
2066
2067         * khtml/ecma/kjs_window.cpp:
2068         (Window::isSafeScript):
2069         (WindowFunc::tryCall):
2070         * khtml/html/html_baseimpl.cpp:
2071         (HTMLFrameElementImpl::parseAttribute):
2072         (HTMLIFrameElementImpl::parseAttribute):
2073         * khtml/html/html_documentimpl.cpp:
2074         * khtml/html/html_documentimpl.h:
2075         * khtml/khtml_part.cpp:
2076         (KHTMLPart::checkEmitLoadEvent):
2077         * khtml/xml/dom_docimpl.cpp:
2078         (DocumentImpl::domain):
2079         (DocumentImpl::setDomain):
2080         * khtml/xml/dom_docimpl.h:
2081         * khtml/xml/dom_nodeimpl.cpp:
2082         (NodeImpl::dispatchWindowEvent):
2083
2084 2003-07-18  Dave Hyatt  <hyatt@apple.com>
2085
2086         Fix for 3334082, XML documents can access HTML/XML docs in other
2087         domains.  The basic bug is that we made a change right before
2088         1.0 to allow a parent document to access a child frame's document
2089         if the child frame had no document.  What we didn't notice was
2090         that the ptr was obtained from the part by asking for an HTML
2091         document.  For XML documents that failed the cast, we got back
2092         null as well, which means that for non-HTML XML documents we
2093         always return true from isSafeScript.
2094
2095         This patch makes sure our addition uses the raw xmlDoc pointer,
2096         so that there are no mistakes, and it restores the code that
2097         denies access when you aren't an HTML document.
2098
2099         (It is a separate bug that we just disallow cross-frame
2100         communication in XML documents right now that I'll file as
2101         a follow-up to this one.)
2102         
2103         Reviewed by darin, rjw, mjs
2104
2105         * khtml/ecma/kjs_window.cpp:
2106         (Window::isSafeScript):
2107
2108 2003-07-15  Dave Hyatt  <hyatt@apple.com>
2109
2110         Fix for 3300362, crash on myuhc.com.  The residual style code
2111         was messing up and inserting nodes in the wrong place (and also
2112         updating the current member variable when it wasn't supposed to).
2113
2114         Fix for 3331793, nil deref because (astoundingly) someone was
2115         using text-shadow and exposed a bug with the color handling
2116         of the shadow.
2117         
2118         Reviewed by darin
2119
2120         * khtml/html/htmlparser.cpp:
2121         * khtml/html/htmlparser.h
2122         (KHTMLParser::reopenResidualStyleTags):
2123         (KHTMLParser::popBlock):
2124
2125 2003-07-17  Maciej Stachowiak  <mjs@apple.com>
2126
2127         Reviewed by John.
2128
2129         - fixed 3283076 - crash when doing 2nd query on the eBay channel (Sherlock) -- JavaScript locking issue?
2130
2131         I added a bit of minimal extra locking to WebCore to make sure
2132         multithreaded apps that use WebKit on the main thread but do
2133         JavaScript on other threads as well continue to work nicely.
2134
2135         * khtml/ecma/kjs_proxy.cpp:
2136         (KJSProxyImpl::initScript): Lock interpreter around possible allocations or collections.
2137         * khtml/ecma/kjs_window.cpp:
2138         (Window::clear): Lock interpreter around possible allocations or collections.
2139
2140 2003-07-17  Ken Kocienda  <kocienda@apple.com>
2141
2142         Reviewed by John
2143
2144         * kwq/KWQKHTMLPart.mm:
2145         (KWQKHTMLPart::createPart): Now uses NSURL instead of NSString
2146         (KWQKHTMLPart::redirectionTimerStartedOrStopped): Ditto
2147         (KWQKHTMLPart::userAgent): Ditto
2148         * kwq/KWQKHTMLPartBrowserExtension.mm:
2149         (KHTMLPartBrowserExtension::setIconURL): Ditto
2150         (KHTMLPartBrowserExtension::setTypedIconURL): Ditto
2151         * kwq/KWQKJavaAppletWidget.mm:
2152         (KJavaAppletWidget::showApplet): Ditto
2153         * kwq/KWQLoader.mm:
2154         (KWQServeRequest): Ditto
2155         (KWQCheckCacheObjectStatus): Ditto
2156         * kwq/WebCoreBridge.h: Changed quite a number of methods to use NSURL 
2157         instead of NSString
2158         * kwq/WebCoreBridge.mm:
2159         (-[WebCoreBridge didNotOpenURL:]): Now uses NSURL instead of NSString
2160         (-[WebCoreBridge scrollToAnchorWithURL:]): Ditto
2161         (-[WebCoreBridge URL]): Ditto
2162
2163 2003-07-17  Ken Kocienda  <kocienda@apple.com>
2164
2165         Reviewed by Darin
2166
2167         * kwq/KWQKHTMLPart.h: _submittedFormURL is now a KURL, not a QString
2168         * kwq/KWQKHTMLPart.mm:
2169         (KWQKHTMLPart::openURL): Now uses NSURL in API instead of NSString
2170         (KWQKHTMLPart::openURLRequest): Ditto
2171         (KWQKHTMLPart::didNotOpenURL): Ditto
2172         (KWQKHTMLPart::submitForm): Ditto. Plus update _submittedFormURL usages.
2173         (KWQKHTMLPart::urlSelected): Ditto
2174         (KWQKHTMLPart::setView): Ditto
2175         * kwq/KWQKHTMLPartBrowserExtension.mm:
2176         (KHTMLPartBrowserExtension::createNewWindow): Now uses NSURL in API instead of NSString
2177         * kwq/KWQKURL.h: Added constructor that takes an NSURL
2178         * kwq/KWQKURL.mm:
2179         (KURL::KURL): Ditto.
2180         * kwq/WebCoreBridge.h: Updated bridge APIs to use NSURL instead of NSString
2181         in several places.
2182         * kwq/WebCoreBridge.mm:
2183         (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): Ditto
2184
2185 2003-07-16  Darin Adler  <darin@apple.com>
2186
2187         Reviewed by John.
2188
2189         - cure problem where we keep competing to check in config.h with/without HAVE_FOUNDATION_SOURCSE
2190
2191         * Makefile.am: Remove the HAVE_FOUNDATION_SOURCES line.
2192         * config.h: Check in without that line.
2193
2194 2003-07-16  Vicki Murley  <vicki@apple.com>
2195
2196         Reviewed by kocienda. 
2197
2198         * kwq/KWQKHTMLPart.mm:
2199         (KWQKHTMLPart::attributedString): set linkStartLocation to zero to fix deployment build 
2200
2201 2003-07-15  Ken Kocienda  <kocienda@apple.com>
2202
2203         Reviewed by Richard
2204         
2205         * kwq/KWQKURL.h:
2206         * kwq/KWQKURL.mm:
2207         (StringHasCaseInsensitivePrefix): Helper method for the new functions below
2208         (StringByAddingPercentEscapes): Ditto
2209         (URLStringByAddingPercentEscapes): Ditto
2210         (KURL::getNSURL): Added convenience function to get an NSURL from a KURL
2211         (KURL::getNSData): Added convenience function to get an NSData from a KURL
2212
2213 2003-07-15  Richard Williamson   <rjw@apple.com>
2214
2215         Fixed 3315951:  Add support for <OL>, <UL> in attributed string conversion.
2216         Fixed 3315952:  Add support for <IMG> in attributed string conversion.
2217         Fixed 3315953:  Added support for <A> in attributed string conversion.  
2218
2219         Reviewed by John (and earlier by Darin).
2220
2221         * khtml/rendering/render_list.h:
2222         * kwq/KWQKHTMLPart.mm:
2223         (fileWrapperForElement):
2224         (listParent):
2225         (inList):
2226         (KWQKHTMLPart::attributedString):
2227
2228 2003-07-14  Dave Hyatt  <hyatt@apple.com>
2229
2230         Fix a problem where ems used for non-font values like width
2231         and line-height would not zoom. (r=darin)
2232
2233         The rest is r=rjw.
2234         
2235         An implementation of the CSS2 text-shadow property. 
2236
2237         It uses a CoreGraphics API for drawing shadows 
2238         (via a custom API on QPainter) to paint the shadows.
2239
2240         At the moment there are two limitations in CG's API.  The first
2241         is that the shadow color cannot be set.  This will be fixed for
2242         Panther, and the code passes the color through in preparation
2243         for this fix.
2244
2245         The second limitation is that CG only supports one shadow effect
2246         and not multiple shadow effects.  The parsing code on the CSS
2247         side is set up to go ahead and parse all of the shadow effects,
2248         but the code that makes use of shadows will simply look at the
2249         first one for now.  CG will not support multiple shadow effects
2250         in the Panther time frame, so it will be a while before this
2251         is revisited.
2252
2253         This patch also fixes a slew of bugs with colors in KHTML.  When
2254         we took the CSS parser and all of its associated code from Lars,
2255         that code was using QRgb values that assumed RGBA (like the current
2256         Qt toolkit uses).  The code even made use of an "invalid color"
2257         that wasn't really invalid (kind of like the z-index hack we refused
2258         to take, i.e., unlikely but not invalid).
2259
2260         Our KWQColor implementation has been rewritten in this patch to
2261         work the way the current Qt toolkit expects.  That is, the top
2262         eight bits actually do contain an alpha channel, and you can obtain
2263         the alpha component using the qAlpha method and build a quadruple
2264         using the qRgba method.
2265
2266         This patch adds support for rgba quadruples to CSS, so you can now
2267         say, e.g.,color: rgba(255,0,0,0.5); in CSS.
2268         
2269         * khtml/css/css_valueimpl.cpp:
2270         (ShadowValueImpl::~ShadowValueImpl):
2271         * khtml/css/css_valueimpl.h:
2272         * khtml/css/cssparser.cpp:
2273         (CSSParser::parseValue):
2274         (parseColor):
2275         (CSSParser::parseColor):
2276         (CSSParser::parseColorFromValue):
2277         (CSSParser::parseShadow):
2278         * khtml/css/cssparser.h:
2279         * khtml/css/cssstyleselector.cpp:
2280         * khtml/misc/helper.h:
2281         * khtml/rendering/render_line.cpp:
2282         (InlineFlowBox::paintDecorations):
2283         * khtml/rendering/render_style.cpp:
2284         (StyleVisualData::StyleVisualData):
2285         (opacity):
2286         (flexibleBox):
2287         (StyleCSS3NonInheritedData::operator==):
2288         (textShadow):
2289         (StyleCSS3InheritedData):
2290         (StyleCSS3InheritedData::operator==):
2291         (StyleCSS3InheritedData::shadowDataEquivalent):
2292         (RenderStyle::RenderStyle):
2293         (RenderStyle::inheritFrom):
2294         (RenderStyle::operator==):
2295         (RenderStyle::inheritedNotEqual):
2296         (RenderStyle::diff):
2297         (ContentData::clearContent):
2298         (RenderStyle::setTextShadow):
2299         (ShadowData::operator==):
2300         * khtml/rendering/render_style.h:
2301         * khtml/rendering/render_text.cpp:
2302         (RenderText::paintObject):
2303         * khtml/xml/dom_nodeimpl.cpp:
2304         (NodeImpl::diff):
2305         * kwq/KWQColor.h:
2306         * kwq/KWQColor.mm:
2307         (qRgb):
2308         (qRgba):
2309         (qAlpha):
2310         (QColor::QColor):
2311         (QColor::setNamedColor):
2312         (QColor::getNSColor):
2313         * kwq/KWQNamespace.h:
2314         * kwq/KWQPainter.h:
2315         * kwq/KWQPainter.mm:
2316         (QPainter::drawRect):
2317         (QPainter::drawLine):
2318         (QPainter::_fillRect):
2319         (QPainter::fillRect):
2320         (QPainter::setShadow):
2321         (QPainter::clearShadow):
2322
2323 2003-07-14  Darin Adler  <darin@apple.com>
2324
2325         Reviewed by Maciej.
2326
2327         - fixed 3244447 -- add KOI8-U charset support
2328         - fixed 3327152 -- unicodeFFFE and unicodeFEFF are handled backwards by WebCore
2329         - fixed 3327157 -- x-mac-ukrainian should be mapped to MacCyrillic
2330         - fixed 3327160 -- shift-jis, shift_jis, x-sjis should be mapped to the DOS variant of Shift JIS
2331         - fixed 3327162 -- most Simplified Chinese encoding choices should be mapped to the DOS variant of EUC-CN
2332         - fixed 3327166 -- use DOS variant of EUC_KR
2333
2334         * kwq/KWQCharsets.mm: Added some defines so we could use encodings that don't
2335         have any kCFStringEncoding constant in a header file.
2336         * kwq/mac-encodings.txt: Change table entries in accordance with the above bug reports.
2337         * kwq/KWQCharsetData.c: Regenerated.
2338
2339         - other changes, inspired by investigation of various bugs
2340
2341         * kwq/KWQButton.mm: (-[KWQButton sendConsumedMouseUpIfNeeded]): Make robust against cases where
2342         sending the consumed mouse up event destroys the QButton.
2343
2344         * khtml/html/htmlparser.cpp:
2345         (KHTMLParser::reopenResidualStyleTags): Rearrange code slightly for clarity, added comment.
2346         (KHTMLParser::freeBlock): Removed unnecessary line of code.
2347
2348 2003-07-14  Dave Hyatt  <hyatt@apple.com>
2349
2350         Fix for 3294626, no scrollbar on ESPN.  Fix lowestPosition to
2351         always crawl into all children.
2352         
2353         Reviewed by darin
2354
2355         * khtml/rendering/render_flow.cpp:
2356         (RenderFlow::lowestPosition):
2357         (RenderFlow::rightmostPosition):
2358
2359 2003-07-11  Darin Adler  <darin@apple.com>
2360
2361         Reviewed by Maciej.
2362
2363         - fixed 3132021 -- certain Japanese characters are misrendered because of incorrect partial-character handling
2364
2365         We didn't have code to handle kTECPartialCharErr.
2366
2367         * kwq/KWQTextCodec.mm:
2368         (KWQTextDecoder::createTECConverter): Added. Broken out from convertUsingTEC.
2369         (KWQTextDecoder::appendOmittingBOMs): Added. Broken out from convertUsingTEC.
2370         (KWQTextDecoder::convertOneChunkUsingTEC): Added. Broken out from convertUsingTEC.
2371         This also has much of the partially-decoded character handling.
2372         (KWQTextDecoder::convertUsingTEC): Simplified by breaking into functions, and added
2373         handling to use the same buffer we use for the other decoders to hold partially-decoded
2374         characters.
2375         (KWQTextDecoder::convert): Add a partial-character handling test mode where the decoder
2376         is passed only a single byte at a time; controlled by an #if.
2377
2378 2003-07-11  Dave Hyatt  <hyatt@apple.com>
2379
2380         Fix for 3187101, before/after content not dynamic.  This patch
2381         compares the ContentData of the old style and the new style and
2382         if they are different, it blows away and recreates the render
2383         objects for the generated content.  Otherwise it will dynamically
2384         update the styles of the generated content render objects (which
2385         should fix the printer/screen bug for rjw).
2386
2387         Note that createObject had an extra call to setStyle, which was
2388         causing most objects to set the same style context on themselves
2389         twice.  This was exposed as I was fixing the above problem.
2390         
2391         Reviewed by darin
2392
2393         * ChangeLog:
2394         * khtml/rendering/render_container.cpp:
2395         (RenderContainer::updatePseudoChild):
2396         * khtml/rendering/render_object.cpp:
2397         (RenderObject::createObject):
2398         * khtml/rendering/render_style.cpp:
2399         (RenderStyle::contentDataEquivalent):
2400         * khtml/rendering/render_style.h:
2401
2402 2003-07-11  Dave Hyatt  <hyatt@apple.com>
2403
2404         Fix pseudostyles to inherit from the element's style that they are
2405         specified for.  This is incorrect both for ::first-line and
2406         ::first-letter, but it is at least right for ::before and ::after.
2407
2408         Fix iframes and objects and embeds so that they will render borders
2409         when borders are specified (as well as background images).
2410
2411         Patch iframes so that they correctly let the parent document's
2412         background show through when the Web page inside the iframe has
2413         no specified background.  Also patched iframes to understand not
2414         to blit in this case and to not blit when opacity has been specified
2415         on the iframe.
2416         
2417         Reviewed by darin
2418
2419         * khtml/css/cssstyleselector.cpp:
2420         * khtml/khtmlview.h:
2421         * khtml/rendering/render_box.cpp:
2422         (RenderBox::paintRootBoxDecorations):
2423         * khtml/rendering/render_canvas.cpp:
2424         * khtml/rendering/render_form.cpp:
2425         (RenderFormElement::setStyle):
2426         * khtml/rendering/render_replaced.cpp:
2427         (RenderReplaced::calcMinMaxWidth):
2428         (RenderWidget::setStyle):
2429         (RenderWidget::paintObject):
2430         * kwq/KWQKHTMLPart.mm:
2431         (KWQKHTMLPart::paint):
2432
2433 2003-07-11  Darin Adler  <darin@apple.com>
2434
2435         Reviewed by Ken.
2436
2437         - roll in change from KHTML to remove user and password from referrer
2438
2439         * khtml/khtml_part.cpp: (KHTMLPart::begin): Call setUser(""), setPass(""),
2440         and setRef(""), then also set the referrer to "" if the protocol does not
2441         start with http.
2442
2443         * kwq/WebCoreBridge.mm: (-[WebCoreBridge referrer]): Remove check to exclude
2444         file URL referrers because KHTMLPart now excludes all non-http referrers.
2445
2446         * kwq/KWQKURL.h: Add setUser and setPass functions. Also sort by order within
2447         the URL so it's clear no methods are omitted.
2448         * kwq/KWQKURL.mm:
2449         (KURL::setUser): Added. Adds or removes the username, adding or removing
2450         delimiters as needed. For now only the remove part is compiled in.
2451         (KURL::setPass): Added. Adds or removes a password, adding or removing
2452         delimiters as needed. For now only the remove part is compiled in.
2453
2454         * kwq/KWQString.h: Add QSTRING_NULL macro to allow us to work around the fact
2455         that there is no global QString::null object in KWQ without having to do a
2456         relatively ineffecient conversion from a non-constant char * of 0 each time.
2457         We can use this anywhere QString::null appears and perhaps get some small code
2458         savings or performance boost.
2459
2460         - small cleanup
2461
2462         * kwq/KWQTextCodec.mm: (QTextCodec::fromUnicode): Remove unneeded checks that
2463         repeat optimizations I already put in QString.
2464
2465 2003-07-11  Darin Adler  <darin@apple.com>
2466
2467         Reviewed by Dave.
2468
2469         - added a function Dave needs for various work he's doing that goes
2470           from a document to the corresponding element in the parent document
2471
2472         * khtml/xml/dom_docimpl.h: Add ownerElement member function.
2473         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::ownerElement):
2474         Added. Gets to the parent part and finds the right element.
2475
2476 2003-07-11  Dave Hyatt  <hyatt@apple.com>
2477
2478         An initial implementation of the CSS opacity property.  Seems
2479         to work perfectly except for native widgetry (NSViews).  Images,
2480         text, borders, and underlines are all properly blended.
2481         
2482         Reviewed by rjw
2483
2484         * config.h:
2485         * khtml/css/cssparser.cpp:
2486         (CSSParser::parseValue):
2487         * khtml/css/cssproperties.c:
2488         (hash_prop):
2489         (findProp):
2490         * khtml/css/cssproperties.h:
2491         * khtml/css/cssproperties.in:
2492         * khtml/css/cssstyleselector.cpp:
2493         * khtml/rendering/render_block.h:
2494         * khtml/rendering/render_box.cpp:
2495         (RenderBox::setStyle):
2496         (RenderBox::adjustZIndex):
2497         * khtml/rendering/render_box.h:
2498         * khtml/rendering/render_inline.h:
2499         * khtml/rendering/render_layer.cpp:
2500         (RenderLayer::transparentAncestor):
2501         (RenderLayer::isTransparent):
2502         (commonTransparentAncestor):
2503         (RenderLayer::updateTransparentState):
2504         (RenderLayer::beginTransparencyLayers):
2505         (RenderLayer::endTransparencyLayers):
2506         (RenderLayer::paint):
2507         * khtml/rendering/render_layer.h:
2508         * khtml/rendering/render_object.h:
2509         * khtml/rendering/render_style.cpp:
2510         (StyleVisualData::StyleVisualData):
2511         (RenderStyle::diff):
2512         * khtml/rendering/render_style.h:
2513         * kwq/KWQPainter.h:
2514         * kwq/KWQPainter.mm:
2515         (QPainter::beginTransparencyLayer):
2516         (QPainter::endTransparencyLayer):
2517
2518 2003-07-11  Darin Adler  <darin@apple.com>
2519
2520         Reviewed by Chris.
2521
2522         - fixed 3305391 -- repro crash in QPixmap::QPixmap after click in SVG using Adobe SVG plugin
2523
2524         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Remove code that tried to determine
2525         if something is an image by looking at the node type. Instead look at the object in the render
2526         tree and ask it if it's an image. Also use logic that exactly matches what RenderImage uses.
2527
2528         * kwq/KWQDOMNode.h: Remove unused isImage function.
2529         * kwq/KWQDOMNode.cpp: Ditto.
2530
2531 2003-07-11  Darin Adler  <darin@apple.com>
2532
2533         Reviewed by Ken.
2534
2535         - fixed 3300220 -- repro crash in closeURL when choosing from popup menus on www.drivewire.com
2536
2537         * khtml/xml/dom_nodeimpl.cpp:
2538         (NodeImpl::dispatchGenericEvent): Removed unused local variable. Since we update all documents,
2539         there was no longer any need to keep that pointer around, but we still had this obsolete code.
2540         This had nothing to do with the bug, just a related cleanup.
2541         (NodeImpl::dispatchWindowEvent): Add check for nil. We ref the document pointer, but we don't
2542         ref the document itself. So we do need to check for the case where the document went away.
2543
2544 2003-07-10  Darin Adler  <darin@apple.com>
2545
2546         Reviewed by Maciej.
2547
2548         - fixed 3217731 -- after going back to a page, forms are submitted with the wrong encoding (back/forward cache)
2549
2550         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache): Put decoder from document into the part.
2551
2552 === Safari-89 ===
2553
2554 2003-07-10  Maciej Stachowiak  <mjs@apple.com>
2555
2556         Reviewed by Darin.
2557
2558         - fixed 3302021 - v74 and v85 hang with http://e-www.motorola.com/
2559         - fixed a bug with saving and restoring location object properties
2560         
2561         * kwq/KWQKHTMLPart.h:
2562         * kwq/KWQKHTMLPart.mm:
2563         (KWQKHTMLPart::saveLocationProperties): Save the location object's properties, not
2564         the window's (!)
2565         (KWQKHTMLPart::saveInterpreterBuiltins): New function to save builtin properties of
2566         the interpeter.
2567         (KWQKHTMLPart::restoreInterpreterBuiltins): Similarly to restore them.
2568         (KWQKHTMLPart::openURLFromPageCache): Restore interpreter builtins too.
2569         * kwq/KWQPageState.h:
2570         * kwq/KWQPageState.mm:
2571         (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:]): Handle interpreter builtins.
2572         (-[KWQPageState invalidate]): Likewise.
2573         (-[KWQPageState dealloc]): Likewise.
2574         (-[KWQPageState interpreterBuiltins]): New method.
2575         * kwq/WebCoreBridge.mm:
2576         (-[WebCoreBridge saveDocumentToPageCache]): Handle interpeter builtins.
2577
2578 2003-07-10  Darin Adler  <darin@apple.com>
2579
2580         Reviewed by Chris.
2581
2582         * config.h: Check in newly generated version which has changed due to changes
2583         in configure.in.
2584
2585 2003-07-10  Darin Adler  <darin@apple.com>
2586
2587         Reviewed by Chris.
2588
2589         - fixed 3317693 -- REGRESSION: many web pages are rendering with wrong layout (columns in HelpViewer, etc.)
2590
2591         This is a workaround for the code generation bug in gcc that causes this problem with
2592         gcc 3.3 in optimized builds. We can remove it once both we and B&I are using a newer
2593         gcc with the fix. The bug number for the gcc problem is 3321716.
2594
2595         * khtml/rendering/render_box.cpp:
2596         (workAroundBug3321716): Added. A function that does nothing and takes an integer parameter.
2597         (RenderBox::setStyle): Add a couple of calls to workAroundBug3321716 in the right places.
2598
2599 2003-07-09  Richard Williamson   <rjw@apple.com>
2600
2601         Fixed 3141257.  Animate multiple copies of the same
2602         image on the same page.
2603
2604         Reviewed by hyatt.
2605
2606         * khtml/rendering/render_replaced.cpp:
2607         (RenderReplaced::paint):
2608         * kwq/KWQPixmap.mm:
2609         (QPixmap::operator=):
2610         * kwq/WebCoreImageRenderer.h:
2611
2612 2003-07-08  Darin Adler  <darin@apple.com>
2613
2614         Reviewed by John.
2615
2616         - removed Jaguar-specific code
2617
2618         * kwq/KWQComboBox.mm: Remove fudge factor used to move text down and work
2619         around problem where pop-up menu text draws too high, bug 3030474.
2620
2621         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertUsingTEC): Remove hack used
2622         to work around the lack of TECSetBasicOptions in Jaguar, bug 3201405.
2623
2624         * config.h: The people with Foundation source trees slug it out with the people
2625         without Foundation trees, as one line of this file changes back and forth.
2626
2627 2003-07-08  Dave Hyatt  <hyatt@apple.com>
2628
2629         Make sure that the contents width and height of the view are
2630         used as the root height and width when a view exists.  This
2631         ensures that the root element background properly tiles over 
2632         the entire height of the document.  (This used to be ensured
2633         by growing the height of the <html> element, but that violates
2634         the CSS2 spec.)
2635
2636         This fixes bugs 3317809, 3299789, and 3318066.
2637         
2638         Reviewed by john
2639
2640         * khtml/rendering/render_box.cpp:
2641         (RenderBox::paintRootBoxDecorations):
2642
2643 2003-07-08  Chris Blumenberg  <cblu@apple.com>
2644
2645         * WebCore.pbproj/project.pbxproj: Xcode-ified
2646         * khtml/html/htmltokenizer.cpp:
2647         (HTMLTokenizer::parseTag): fulfilled promise to Darin that I would add a comment about using tolower() instead of | 0x20
2648
2649 2003-07-08  Chris Blumenberg  <cblu@apple.com>
2650
2651         Fixed: <rdar://problem/3272398>: Safari strips/modifies underscores in EMBED tags
2652
2653         Reviewed by darin.
2654
2655         * khtml/html/htmltokenizer.cpp:
2656         (HTMLTokenizer::parseTag): use tolower() to lowercase a char, don't use | 0x20 because that will cause chars like '_' to turn into junk
2657
2658 2003-07-08  Dave Hyatt  <hyatt@apple.com>
2659
2660         Implementation of inline-block and a prototype of the XUL
2661         box model.
2662
2663         Fix for min-font size issues that prevented us from having
2664         a min font size.  The primary fix is to store the original
2665         specified CSS size as a separate value (distinct from the
2666         computed rendering size).  This allows that size to be computed
2667         without the application of integer rounding or zoom factors
2668         or minimum font size corrections.
2669
2670         Fix for table crasher, bug #3296552.
2671
2672         Reviewed by john (table crasher, inline-block, XUL box model) and
2673         darin (font size fixes).
2674
2675         * WebCore.pbproj/project.pbxproj:
2676         * khtml/css/css_valueimpl.cpp:
2677         (CSSPrimitiveValueImpl::computeLength):
2678         (CSSPrimitiveValueImpl::computeLengthFloat):
2679         * khtml/css/css_valueimpl.h:
2680         * khtml/css/cssparser.cpp:
2681         (CSSParser::parseValue):
2682         * khtml/css/cssproperties.c:
2683         (hash_prop):
2684         (findProp):
2685         * khtml/css/cssproperties.h:
2686         * khtml/css/cssproperties.in:
2687         * khtml/css/cssstyleselector.cpp:
2688         * khtml/css/cssstyleselector.h:
2689         * khtml/css/cssvalues.c:
2690         (hash_val):
2691         (findValue):
2692         * khtml/css/cssvalues.h:
2693         * khtml/css/cssvalues.in:
2694         * khtml/khtml_part.cpp:
2695         (KHTMLPart::setZoomFactor):
2696         * khtml/khtmlview.cpp:
2697         (KHTMLView::print):
2698         * khtml/rendering/bidi.cpp:
2699         * khtml/rendering/font.cpp:
2700         (Font::update):
2701         * khtml/rendering/font.h:
2702         * khtml/rendering/render_block.cpp:
2703         * khtml/rendering/render_block.h:
2704         * khtml/rendering/render_box.cpp:
2705         (RenderBox::setStyle):
2706         (RenderBox::contentHeight):
2707         (RenderBox::containingBlockWidth):
2708         (RenderBox::calcWidth):
2709         (RenderBox::calcHeight):
2710         * khtml/rendering/render_container.cpp:
2711         (RenderContainer::addChild):
2712         * khtml/rendering/render_flexbox.cpp: Added.
2713         * khtml/rendering/render_flexbox.h: Added.
2714         * khtml/rendering/render_object.cpp:
2715         (RenderObject::createObject):
2716         (RenderObject::sizesToMaxWidth):
2717         (RenderObject::handleDynamicFloatPositionChange):
2718         * khtml/rendering/render_object.h:
2719         * khtml/rendering/render_replaced.cpp:
2720         (RenderReplaced::paint):
2721         * khtml/rendering/render_style.cpp:
2722         (StyleFlexibleBoxData::StyleFlexibleBoxData):
2723         (StyleFlexibleBoxData::operator==):
2724         (RenderStyle::RenderStyle):
2725         (RenderStyle::operator==):
2726         (RenderStyle::diff):
2727         * khtml/rendering/render_style.h:
2728         * khtml/rendering/table_layout.cpp:
2729         (FixedTableLayout::calcWidthArray):
2730         * khtml/xml/dom_docimpl.cpp:
2731         (DocumentImpl::recalcStyle):
2732         (DocumentImpl::attach):
2733
2734 2003-07-07  Maciej Stachowiak  <mjs@apple.com>
2735
2736         Reviewed by John.
2737
2738         - fixed 3295916 - b/c JavaScriptCore and WebCore are installing in wrong location, private headers are public
2739
2740         * WebCore.pbproj/project.pbxproj: Install in WebKit.framework/Versions/A/Frameworks.
2741
2742 === Safari-88 ===
2743
2744 2003-07-03  John Sullivan  <sullivan@apple.com>
2745
2746         - fixed 3167770 -- visited and unvisited link colors are too 
2747         close in default stylesheet
2748         - fixed 3315344 -- default active link color should be red as
2749         in other browsers
2750
2751         Reviewed by Hyatt
2752
2753         * khtml/css/html4.css:
2754         Changed a:link and a:visited colors to match Mozilla
2755         (a slightly lighter blue for link, and a purpley shade instead
2756         of navy for visited). Also changed a:link:active and 
2757         a:visited:active to be red instead of black.
2758
2759 2003-07-03  Darin Adler  <darin@apple.com>
2760
2761         Reviewed by Ken.
2762
2763         * khtml/html/html_formimpl.cpp: (HTMLSelectElementImpl::parseAttribute):
2764         Remove livepage.apple.com hack since the site has been changed.
2765
2766 2003-07-02  Darin Adler  <darin@apple.com>
2767
2768         Rolled out accidentally-checked-in changes.
2769
2770         * kwq/KWQCharsetData.c:
2771         * kwq/KWQCharsets.mm:
2772         * kwq/KWQTextArea.mm:
2773         * kwq/mac-encodings.txt:
2774         * kwq/make-charset-table.pl:
2775
2776 2003-07-02  Darin Adler  <darin@apple.com>
2777
2778         Reviewed by Ken.
2779
2780         - fixed 3299715 -- unrepro nil-deref in KHTMLPart::xmlDocImpl handling timer
2781
2782         * khtml/khtmlview.cpp: (KHTMLView::timerEvent): Add check for nil.
2783
2784         - fixed clean builds
2785
2786         * Makefile.am: Delete the config-timestamp.
2787
2788         - added some other nil checks (perhaps inspired by some other bug reports, I can't remember)
2789
2790         * khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::defaultEventHandler):
2791         Added a check for nil document or nil view.
2792         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchEvent): ref/deref view for safety.
2793
2794 2003-07-02  Ken Kocienda  <kocienda@apple.com>
2795
2796         Reviewed by David
2797
2798         Fix some more build problems with warnings being issued
2799         when casting and calling methods.
2800
2801         * kwq/KWQScrollView.mm:
2802         (QScrollView::addChild):
2803         (QScrollView::resizeContents):
2804         (QScrollView::repaintContents):
2805
2806 2003-07-01  Ken Kocienda  <kocienda@apple.com>
2807
2808         Reviewed by Darin
2809
2810         A host of changes to work around a compiler bug which issues
2811         warnings when making objective-c method calls on objects that have 
2812         been typecast for the purpose of the call.
2813
2814         * WebCore.pbproj/project.pbxproj:
2815         * kwq/KWQFileButton.mm:
2816         (KWQFileButton::setFilename):
2817         (KWQFileButton::sizeForCharacterWidth):
2818         (KWQFileButton::frameGeometry):
2819         (KWQFileButton::setFrameGeometry):
2820         (KWQFileButton::baselinePosition):
2821         (KWQFileButton::filenameChanged):
2822         * kwq/KWQKHTMLPart.mm:
2823         (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
2824         * kwq/KWQLineEdit.mm:
2825         (QLineEdit::setAlignment):
2826         * kwq/KWQListBox.mm:
2827         (QListBox::~QListBox):
2828         (QListBox::clear):
2829         (QListBox::setSelectionMode):
2830         (QListBox::insertItem):
2831         (QListBox::endBatchInsert):
2832         (QListBox::setSelected):
2833         (QListBox::isSelected):
2834         (QListBox::sizeForNumberOfLines):
2835         * kwq/KWQTextEdit.mm:
2836         (QTextEdit::setAlignment):
2837         * kwq/WebCoreBridge.mm:
2838         (-[WebCoreBridge elementForView:]):
2839         (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
2840         (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]):
2841         * kwq/WebCoreDOMDocument.mm:
2842         (+[WebCoreDOMDocumentType documentTypeWithImpl:DOM::]):
2843         (+[WebCoreDOMImplementation implementionatWithImpl:DOM::]):
2844         (+[WebCoreDOMDocument documentWithImpl:DOM::]):
2845         (-[WebCoreDOMDocument importNode::]):
2846         * kwq/WebCoreDOMNode.mm:
2847         (+[WebCoreDOMNode nodeWithImpl:DOM::]):
2848         (-[WebCoreDOMNode insert:before:]):
2849         (-[WebCoreDOMNode replace:child:]):
2850         (-[WebCoreDOMNode removeChild:]):
2851         (+[WebCoreDOMNodeList nodeListWithImpl:DOM::]):
2852         (+[WebCoreDOMNamedNodeMap namedNodeMapWithImpl:DOM::]):
2853         (-[WebCoreDOMNamedNodeMap setNamedItem:]):
2854         (+[WebCoreDOMAttr attrWithImpl:DOM::]):
2855         (+[WebCoreDOMDocumentFragment documentFragmentWithImpl:DOM::]):
2856         (+[WebCoreDOMElement elementWithImpl:DOM::]):
2857         (+[WebCoreDOMEntityReference entityReferenceWithImpl:DOM::]):
2858         (+[WebCoreDOMCharacterData commentWithImpl:DOM::]):
2859         (+[WebCoreDOMComment commentWithImpl:DOM::]):
2860         (+[WebCoreDOMText textWithImpl:DOM::]):
2861         (+[WebCoreDOMCDATASection CDATASectionWithImpl:DOM::]):
2862         (+[WebCoreDOMProcessingInstruction processingInstructionWithImpl:DOM::]):
2863
2864 2003-06-30  Chris Blumenberg  <cblu@apple.com>
2865
2866         Fixed: <rdar://problem/3310066>: All images use wrong map if page has image map of name ""
2867
2868         Reviewed by dave.
2869
2870         * config.h:
2871         * khtml/html/html_documentimpl.cpp:
2872         (HTMLDocumentImpl::getMap): return 0 if getMap is called with a NULL string instead of treating it like an empty string
2873
2874 2003-06-30  John Sullivan  <sullivan@apple.com>
2875
2876         - fixed gcc3.3 incompatibility
2877
2878         Reviewed by Darin
2879
2880         * kwq/KWQComboBox.mm:
2881         (QComboBox::updateCurrentItem):
2882         cast result of getView() in a local variable to work around
2883         compiler bug where casting in a method call doesn't work (all other
2884         callers of getView() in this file were already using a local
2885         variable)
2886
2887 2003-06-26  Chris Blumenberg  <cblu@apple.com>
2888
2889         More changes to make WebKit and WebCore compile with gcc 3.3.
2890
2891         Reviewed by darin.
2892
2893         * kwq/WebCoreBridge.h:
2894
2895 2003-06-26  Chris Blumenberg  <cblu@apple.com>
2896
2897         Made WebCore compile with gcc 3.3.
2898
2899         Reviewed by darin.
2900
2901         * config.h:
2902         * kwq/KWQLineEdit.mm:
2903         (QLineEdit::selectAll):
2904         (QLineEdit::setEdited):
2905         * kwq/KWQString.h:
2906         * kwq/KWQString.mm:
2907
2908 === Safari-85.1 ===
2909
2910 2003-06-15  Vicki Murley  <vicki@apple.com>
2911
2912         Reviewed by darin.
2913
2914         * WebCore.pbproj/project.pbxproj: remove SECTORDER_FLAGS variable, so that we don't use order file for our Panther submission
2915
2916 === Safari-85 ===
2917
2918 2003-06-14  Chris Blumenberg  <cblu@apple.com>
2919
2920         Fixed: <rdar://problem/3293367>: REGRESSION (83-84): nil-deref in addMetaData loading page in pop-up at live365.com
2921
2922         Reviewed by darin.
2923
2924         * kwq/WebCoreBridge.mm:
2925         (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): only call addMetaData if didOpenURL
2926
2927 2003-06-13  Darin Adler  <darin@apple.com>
2928
2929         Reviewed by Don.
2930
2931         - fixed 3293031 -- REGRESSION (83-84): extra entry in history when going to page that redirects (live365.com)
2932
2933         * khtml/khtmlpart_p.h: Initialize m_executingJavaScriptFormAction to false.
2934         We had left it uninitialized when we fixed 3289047.
2935
2936 2003-06-13  David Hyatt  <hyatt@apple.com>
2937
2938         Fix for 3292630, misrendered page because of bad doctype.  Add
2939         this bad doctype to our list of quirky doctypes to fix the
2940         problem, since the screwed up strict mode rendering is actually
2941         correct.
2942         
2943         Reviewed by john
2944
2945         * khtml/html/doctypes.cpp:
2946         (findDoctypeEntry):
2947         * khtml/html/doctypes.gperf:
2948
2949 2003-06-13  Richard Williamson  <rjw@apple.com>
2950
2951         Fixed 3282087.  Don't use our <pre> optimizations
2952         if text contains non-ascii, and consequently may
2953         result in font substitution.
2954
2955         Reviewed by Darin.
2956
2957         * khtml/rendering/render_text.cpp:
2958         (RenderText::RenderText):
2959         (RenderText::allAscii):
2960         (RenderText::shouldUseMonospaceCache):
2961         * khtml/rendering/render_text.h:
2962
2963 2003-06-13  Richard Williamson  <rjw@apple.com>
2964
2965         Fixed 3291537.
2966         Reviewed by John.
2967
2968         * kwq/KWQObject.mm:
2969         (QObject::killTimer):
2970         Only remove the timer is it hasn't fired (and is therefore valid).
2971         It is NOT permissible to reference a timer's userInfo if it is invalid.
2972
2973 === Safari-84 ===
2974
2975 2003-06-12  David Hyatt  <hyatt@apple.com>
2976
2977         Fix for 3289113, body.scrollTop doesn't return the right
2978         value.  Fix scrollLeft and scrollTop for body tags to just
2979         use the view's offset.  This matches WinIE behavior.
2980         
2981         Reviewed by john
2982
2983         * khtml/ecma/kjs_html.cpp:
2984         (KJS::HTMLElement::getValueProperty):
2985         (KJS::HTMLElement::putValue):
2986         * khtml/ecma/kjs_html.h:
2987         * khtml/ecma/kjs_html.lut.h:
2988
2989 2003-06-12  Darin Adler  <darin@apple.com>
2990
2991         Reviewed by John.
2992
2993         - fixed 3289405 -- repro crash in KWQPopUpButtonCell at umax.de
2994
2995         * kwq/KWQComboBox.mm: (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
2996         Use the bridge that we got earlier in the function to find the right part. This is
2997         simpler, and more reliable. The old way would run into trouble if the widget or
2998         any of the other objects in the chain got destroyed during the event handling.
2999
3000 2003-06-12  Darin Adler  <darin@apple.com>
3001
3002         Fixed by Richard, reviewed by me.
3003
3004         - fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
3005
3006         * khtml/khtmlpart_p.h: Add an "executing JavaScript form action" flag.
3007         * kwq/WebCoreBridge.h: Add an "executing JavaScript form action" flag parameter to
3008         the reportClientRedirectToURL method.
3009
3010         * khtml/khtml_part.cpp: (KHTMLPart::submitForm): In the JavaScript case, set a
3011         flag to say we are executing a JavaScript form action.
3012         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::redirectionTimerStartedOrStopped): Pass the
3013         isJavaScriptFormAction state over the bridge.
3014
3015 2003-06-11  David Hyatt  <hyatt@apple.com>
3016
3017         Fix for 3288875, :after/:before content not getting destroyed
3018         after printing on alistapart.com.  Make the update method for
3019         pseudos smart enough to destroy generated content when it is
3020         no longer needed.
3021         
3022         Reviewed by darin
3023
3024         * khtml/rendering/render_block.cpp:
3025         (RenderBlock::setStyle);
3026         * khtml/rendering/render_container.cpp:
3027         (RenderContainer::updatePseudoChild):
3028         * khtml/rendering/render_container.h:
3029         * khtml/rendering/render_inline.cpp:
3030         (RenderInline::setStyle):
3031
3032 2003-06-11  David Hyatt  <hyatt@apple.com>
3033
3034         Fix for 3288035, the wrong value was being filled in for
3035         textfields.  Fixed a bug in QString's assignment operator
3036         that made empty strings become null strings upon assignment.
3037         Also ensured that the form control never sets the value to
3038         null but always uses empty instead.
3039         
3040         Reviewed by john
3041
3042         * khtml/rendering/render_form.cpp:
3043         (RenderLineEdit::slotTextChanged):
3044         * kwq/KWQString.mm:
3045         (QString::setLatin1):
3046
3047 2003-06-10  David Hyatt  <hyatt@apple.com>
3048
3049         Fix for 3287870, the <embed hidden=true> feature didn't work.
3050         hidden should turn the embed into a plugin with a width and
3051         height of 0.
3052         
3053         Reviewed by gramps
3054
3055         * khtml/html/html_objectimpl.cpp:
3056         (HTMLEmbedElementImpl::HTMLEmbedElementImpl):
3057         (HTMLEmbedElementImpl::attach):
3058         
3059 2003-06-10  Darin Adler  <darin@apple.com>
3060
3061         Reviewed by John.
3062
3063         - fixed 3285820 -- REGRESSION: iframe set up with innerHTML shows up empty (discovered at www.kbs.co.kr)
3064
3065         * kwq/KWQKHTMLPart.mm: (KHTMLPart::frameDetached): Remove the frame from the parent's
3066         m_frames list so it's not accidentally reused, since our naming scheme gives frames in
3067         the same place in the scheme of things the same name.
3068
3069 2003-06-10  David Hyatt  <hyatt@apple.com>
3070
3071         Fix for 3270813, crash in the code for the CSS content property.
3072         When copying a DOMString, I missed a required ref.
3073         
3074         Reviewed by darin
3075
3076         * khtml/rendering/render_style.cpp:
3077         (RenderStyle::setContent):
3078
3079 2003-06-10  Darin Adler  <darin@apple.com>
3080
3081         Reviewed by John.
3082
3083         - fixed 3285120 -- crash in CSSParser::parseColor (originally seen with Panther Mail while indexing)
3084
3085         * khtml/css/parser.y: Moved DIMEN rule out of unary_term, needed because a term production
3086         assumes that the values that come out of unary_term are all fValue, not string.
3087         * khtml/css/parser.cpp: Regenerated.
3088
3089 2003-06-10  Vicki Murley  <vicki@apple.com>
3090
3091         Reviewed by john.
3092
3093         * WebCore.order: new order file for 1.0
3094
3095 2003-06-10  Darin Adler  <darin@apple.com>
3096
3097         Reviewed by Don.
3098
3099         - fixed 3286343 -- REGRESSION: crashing on pages with text area elements
3100
3101         * khtml/rendering/render_form.cpp: (RenderTextArea::detach):
3102         Do cleanup in detach rather than in destructor.
3103         * khtml/rendering/render_form.h: Remove destructor, add detach.
3104
3105 2003-06-09  Richard Williamson  <rjw@apple.com>
3106
3107         Fixed 3281761.
3108         This was a real doozie.  It boiled down to a frame
3109         attempting to access a siblings window object when that
3110         frame wasn't loaded and didn't have a document.
3111
3112         Reviewed by Dave.
3113
3114         * khtml/ecma/kjs_window.cpp:
3115         (Window::get):
3116         (Window::isSafeScript):
3117         (FrameArray::get):
3118         Made the isSafeScript more tolerant.  Always allow JS to execute
3119         if the active domain is nil (local).  Also allow JS to execute
3120         if the target part has no document yet.
3121
3122         * khtml/khtml_part.cpp:
3123         (KHTMLPart::init):
3124         (KHTMLPart::openURL):
3125         (KHTMLPart::jScript):
3126         (KHTMLPart::scheduleRedirection):
3127         (KHTMLPart::findFrame):
3128         Flag redirects during load so we can later avoid
3129         cancelling the redirect when the document would otherwise
3130         normally load.
3131
3132         * khtml/khtmlpart_p.h:
3133         * kwq/WebCoreBridge.mm:
3134         (-[WebCoreBridge addData:]):
3135         Document may now be nil.  Replace assert with conditional check.
3136
3137 2003-06-09  John Sullivan  <sullivan@apple.com>
3138
3139         - finished fixing crash in 3275675 -- REGRESSION: crash when replacing <div> which contains iframe (at www.kbs.co.kr)
3140
3141         Reviewed by Darin
3142
3143         * khtml/rendering/render_replaced.cpp:
3144         (RenderWidget::resizeWidget):
3145         check for nil element() before ref/deref'ing
3146
3147 2003-06-09  Darin Adler  <darin@apple.com>
3148
3149         Reviewed by John.
3150
3151         - first step in fixing 3275675 -- REGRESSION: crash when replacing <div> which contains iframe (at www.kbs.co.kr)
3152
3153         * khtml/rendering/render_object.h: Made m_node protected, so RenderWidget can zero it out.
3154         * khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Set m_node to 0 here.
3155         RenderWidget does this strange thing of staying around after the DOM node is gone, but we need
3156         to get rid of the dangling pointer to the DOM node.
3157
3158         * khtml/rendering/render_frames.cpp:
3159         (RenderFrame::slotViewCleared): Do nothing if element() is 0, since we are on our way out anyway.
3160         (RenderPartObject::slotViewCleared): Ditto.
3161
3162 2003-06-09  John Sullivan  <sullivan@apple.com>
3163
3164         - fixed 3284312 -- repro nil-deref in 
3165         khtml::RenderTable::cellAbove at pi.nersc.gov
3166
3167         Reviewed by Darin
3168
3169         * khtml/rendering/render_table.cpp:
3170         (RenderTable::cellAbove):
3171         When the section had 0 rows, we were trying to index the -1st
3172         row. Fixed by falling into the "didn't find anything" case when
3173         the row we're going to look in is < 0.
3174
3175 2003-06-09  Darin Adler  <darin@apple.com>
3176
3177         Reviewed by John.
3178
3179         - fixed 3277733 -- REGRESSION: \ in JavaScript mishandled when encoding is Japanese (istweb.apple.com)
3180         
3181         This is the third time I've fixed handling of backslash and yen sign. Each time I fixed part
3182         of the problem but either didn't fix the whole thing or caused a regression. This time I did
3183         more experiments with other browsers, and I came to the conclusion that all other browsers keep
3184         the backslash character internally unchanged, and only change to the yen sign when displaying
3185         rather than decoding to the Unicode "yen sign" character. This makes the backslash character
3186         different from any other, and requires special code, but it's the only way to match the other
3187         browsers' behavior. This seems to work great; I retested all the backslash/yen bugs from the
3188         past to make sure I didn't cause new regressions. The only loose end is the DOM API. It's not
3189         clear whether the DOM API should return the strings with backslashes or with yen signs, but
3190         we can probably ship 1.0 without getting that 100% right.
3191
3192         * kwq/KWQTextCodec.h: Added backslashAsCurrencySymbol() member function.
3193         * kwq/KWQTextCodec.mm:
3194         (QTextCodec::fromUnicode): Removed the old workaround for tilde problems, which is not needed
3195         now that we are back to using "force ASCII" mode, so tildes are always tildes. Updated the comment
3196         about the backslash hack to better reflect the new situation and change it to use the new
3197         backslashAsCurrencySymbol() member function.
3198         (QTextCodec::backslashAsCurrencySymbol): Added. Returns the yen sign for the encodings where
3199         it's appropriate. Later might do the same thing with the won sign for Korean, depending on what
3200         we discover as we research bug 3221037 (Korean currency symbol should replace backslash).
3201         (KWQTextDecoder::convertUsingTEC): Add back the call to TECSetBasicOptions since we once-again
3202         want to use force-ASCII mode; we turn backslashes into yen signs at a higher level now; internally
3203         they are kept as backslashes.
3204
3205         * khtml/xml/dom_docimpl.h: Made setDecoder no longer be inline, and added a decoder member
3206         function so callers could get the decoder (they need it to figure out what to do with
3207         backslashes).
3208         * khtml/xml/dom_docimpl.cpp:
3209         (DocumentImpl::setDecoder): Made this no longer be an inline. Also made sure it derefs the
3210         existing decoder. This probably does not happen in practice, but the old version would leak
3211         if it was ever called twice on the same document.
3212
3213         * kwq/KWQString.mm: (QString::replace): Made sure that the case of replacing a character
3214         with the same character has an early out, since that's now the common case with this
3215         "map backslash to currency character if needed" feature.
3216
3217         * khtml/xml/dom_stringimpl.h: Made capitalize() const and added a new replace() member function.
3218         * khtml/xml/dom_stringimpl.cpp: (DOMStringImpl::replace): Implemented this new function
3219         that replaces one character with another. Returns the existing string if there is no replacing
3220         to do, otherwise makes a new one.
3221
3222         * khtml/rendering/render_object.h: Added backslashAsCurrencySymbol() member function.
3223         * khtml/rendering/render_object.cpp: (RenderObject::backslashAsCurrencySymbol): Added.
3224         Helper function so render objects have an easier time digging for the "do I need to turn
3225         the backslashes into currency symbols" flag.
3226
3227         * kwq/KWQKHTMLPart.h: Added backslashAsCurrencySymbol() member function.
3228         * kwq/KWQKHTMLPart.mm:
3229         (KWQKHTMLPart::setTitle): Convert title to use yen sign.
3230         (KWQKHTMLPart::setStatusBarText): Convert status bar text to use yen sign.
3231         (KWQKHTMLPart::runJavaScriptAlert): Convert message text to use yen sign.
3232         (KWQKHTMLPart::runJavaScriptConfirm): Convert message text to use yen sign.
3233         (KWQKHTMLPart::runJavaScriptPrompt): Convert message text and default value to use yen sign,
3234         convert result back from yen sign to backslash.
3235         (KWQKHTMLPart::attributedString): Convert pieces of text to use yen sign when building up
3236         the attributed text.
3237         (KWQKHTMLPart::backslashAsCurrencySymbol): Added.
3238         Helper function so render objects have an easier time digging for the "do I need to turn
3239         the backslashes into currency symbols" flag.
3240
3241         * kwq/WebCoreBridge.mm:
3242         (-[WebCoreBridge selectedString]): Convert text to use yen sign before returning to WebKit.
3243         (-[WebCoreBridge elementAtPoint:]): Convert title and alt strings to use yen sign before
3244         returning them to WebKit.
3245
3246         * khtml/rendering/render_form.cpp:
3247         (RenderSubmitButton::rawText): Convert button label to use yen sign.
3248         (RenderLineEdit::updateFromElement): Convert text for line edit to use yen sign.
3249         (RenderLineEdit::slotTextChanged): Convert yen sign to backslash on the way in from line edit.
3250         (RenderSelect::updateFromElement): Convert text for select items to use yen sign.
3251         (RenderTextArea::updateFromElement): Convert text for text areas to use yen sign.
3252         (RenderTextArea::text): Convert yen sign to backslash on the way in from text area.
3253         * khtml/rendering/render_image.cpp:
3254         (RenderImage::paintObject): Convert alt text to use yen sign before drawing it.
3255         * khtml/rendering/render_text.cpp:
3256         (RenderText::RenderText): Convert text to use yen sign before drawing it.
3257         (RenderText::setText): Ditto.
3258
3259         - fix a problem that was bugging the shit out of me where we kept rebuilding config.h
3260
3261         * Makefile.am: Use the config-timestamp file to decide when to remake config.h so
3262         we don't end up making it over and over again. Also don't bother to grep out NO_LICENSE
3263         any more since that's long gone.
3264         * .cvsignore: Ignore the config-timestamp file.
3265
3266 === Safari-83 ===
3267
3268 2003-06-09  Darin Adler  <darin@apple.com>
3269
3270         Reviewed by Dave.
3271
3272         - fixed 3280538 -- JavaScript infinite loop loading frame b/c scrollHeight is always zero (easons.ie)
3273
3274         * khtml/xml/dom_docimpl.h: Added updateLayout method.
3275         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateLayout): Added. Code moved here
3276         from KJS::Window::updateLayout so it can be shared. Named this updateLayout() to match
3277         the name from KJS::Window.
3278
3279         * khtml/ecma/kjs_window.cpp: (Window::updateLayout): Call updateLayout()
3280         instead of updateRendering(); the extra logic here was moved into updateLayout().
3281         * khtml/ecma/kjs_dom.cpp: (DOMNode::getValueProperty): Ditto.
3282
3283         * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::getValueProperty): Call updateLayout()
3284         on the document before computing the BodyScrollHeight or BodyScrollWidth, much as
3285         we already do in kjs_dom.cpp for ScrollHeight and ScrollWidth and other properties.
3286
3287 2003-06-05  David Hyatt  <hyatt@apple.com>
3288
3289         Fix for crash on an XHTML frameset page.  It was assuming
3290         that all docs were HTML. The bug # is 3277973.
3291         
3292         Reviewed by john
3293
3294         * kwq/KWQKHTMLPart.mm:
3295         (KWQKHTMLPart::updatePolicyBaseURL):
3296         (KWQKHTMLPart::setPolicyBaseURL):
3297
3298 2003-06-05  David Hyatt  <hyatt@apple.com>
3299
3300         Fix for 3281030, stylesheets can't be enabled properly via
3301         script.  Test case from Dirk.  The fix is to make the setting
3302         of the state happen independently of the attribute setting.
3303         
3304         Reviewed by john
3305
3306         * khtml/dom/html_head.cpp:
3307         (HTMLLinkElement::setDisabled):
3308         * khtml/html/html_headimpl.cpp:
3309         (HTMLLinkElementImpl::setDisabledState):
3310         (HTMLLinkElementImpl::parseAttribute):
3311         * khtml/html/html_headimpl.h:
3312
3313 2003-06-05  Chris Blumenberg  <cblu@apple.com>
3314
3315         Fixed: <rdar://problem/3268751>: REGRESSION: crash in KWQValueListImpl selecting connection speed at news.com
3316
3317         Reviewed by darin.
3318
3319         * kwq/KWQButton.mm:
3320         (QButton::clicked): Don't call clicked if the button was destroyed inside of sendConsumedMouseUpIfNeeded.
3321
3322 2003-06-05  Darin Adler  <darin@apple.com>
3323
3324         Reviewed by John.
3325
3326         - fixed 3279206 -- REGRESSION: new page does not load after selecting item from list and hitting 'Go' button
3327
3328         * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::encoding): Use value() in a couple of places
3329         that were still directly using m_value.
3330
3331 2003-06-05  Darin Adler  <darin@apple.com>
3332
3333         Reviewed by John.
3334
3335         - fixed 3278079 -- REGRESSION: UTF-8 page claiming to be UTF-16 in XML header gives garbage characters
3336
3337         * khtml/misc/decoder.cpp: (Decoder::setEncoding): Add EncodingFromXMLHeader as one of the
3338         types where we know the encoding is an 8-bit one. The reason this is a regression is that we
3339         used to ignore the encoding in the XML header altogether.
3340
3341 2003-06-04  John Sullivan  <sullivan@apple.com>
3342
3343         - fixed 3279957 -- REGRESSION: assertion failure at launch in 
3344         Decoder::~Decoder() importing bookmarks
3345
3346         Richard actually wrote this fix.
3347         Reviewed by me, Darin
3348
3349         * kwq/WebCoreEncodings.mm:
3350         (+[WebCoreEncodings decodeData:]):
3351         don't use stack-based decoder; use new instead. 
3352
3353 2003-06-04  David Hyatt  <hyatt@apple.com>
3354
3355         Fix for 3273300, leaks in cssyyparse.  Function forgot to delete
3356         its args value list when destroyed.
3357         
3358         Reviewed by gramps
3359
3360         * khtml/css/cssparser.h:
3361
3362 2003-06-03  David Hyatt  <hyatt@apple.com>
3363
3364         Fix for 3259647, crash when printing a table page.  This is fixed
3365         on the KDE KHTML trunk.  The loop shouldn't be broken out of
3366         when you have column elements so that all sections can recalc
3367         their cell grids as needed.
3368         
3369         Reviewed by kocienda
3370
3371         * khtml/rendering/render_table.cpp:
3372         (RenderTable::recalcSections):
3373
3374 === Safari-82 ===
3375
3376 2003-06-03  Richard Williamson   <rjw@apple.com>
3377
3378         Fixed 3275565.  Ref count the decoder.
3379
3380         Reviewed by Ken.
3381
3382         * khtml/khtml_part.cpp:
3383         (KHTMLPart::clear):
3384         * khtml/misc/decoder.cpp:
3385         (Decoder::Decoder):
3386         (Decoder::~Decoder):
3387         * khtml/misc/decoder.h:
3388         * khtml/xml/dom_docimpl.cpp:
3389         (DocumentImpl::~DocumentImpl):
3390         * khtml/xml/dom_docimpl.h:
3391         
3392
3393 2003-06-02  David Hyatt  <hyatt@apple.com>
3394
3395         Fix for 3276099.  value() was wrong for radio buttons.  Needed
3396         to get it from the attribute since I was no longer caching
3397         anything in m_value.
3398         
3399         Reviewed by kocienda
3400
3401         * khtml/html/html_formimpl.cpp:
3402         (HTMLInputElementImpl::value):
3403
3404 2003-06-02  Ken Kocienda  <kocienda@apple.com>
3405
3406         Code written by darin
3407         Reviewed by me
3408
3409         Fix for this bug:
3410
3411         <rdar://problem/3272162>: repro crash in khtml::CachedImage::checkNotify() on particular page
3412
3413         * khtml/ecma/kjs_html.cpp:
3414         (Image::putValue): ref onLoadListener when setting a value to onLoad
3415         (Image::~Image): deref onLoadListener when destructing the image.
3416
3417 2003-06-02  David Hyatt  <hyatt@apple.com>
3418
3419         Fix for 3263679, color: # doesn't parse.  Fix is to add an
3420         error-handling case for # by itself to parser.y.
3421         
3422         Reviewed by gramps/ken
3423
3424         * khtml/css/parser.cpp:
3425         * khtml/css/parser.y:
3426
3427 === Safari-81 ===
3428
3429 2003-06-02  Darin Adler  <darin@apple.com>
3430
3431         Reviewed by Ken.
3432
3433         - fixed 3256787 -- HOMEPAGE:\000 characters being added by Safarin in Form submission,
3434         causing an exception in property list parsing
3435
3436         * kwq/KWQTextCodec.mm: (QTextCodec::fromUnicode): Encode \ as 5C instead of 815F
3437         when encoding Shift-JIS. This should make the Apple Store work again. The only thing
3438         we lose is the ability to send an actual Shift-JIS backslash (815F), but I think that
3439         is almost never needed. In other browsers you can't even type a backslash in Shift-JIS.
3440
3441 2003-06-02  Ken Kocienda  <kocienda@apple.com>
3442
3443         Reviewed by NOBODY (OOPS!).
3444
3445         * config.h:
3446
3447 2003-06-02  David Hyatt  <hyatt@apple.com>
3448
3449         Fix for 3275136.  Make sure that when the checked attribute
3450         is set dynamically (something we were ignoring before my previous
3451         patch) that we also properly update the radio button array in
3452         the document.
3453         
3454         Reviewed by gramps
3455
3456         * khtml/html/html_formimpl.cpp:
3457         (HTMLInputElementImpl::parseAttribute):
3458         (HTMLInputElementImpl::attach):
3459         (HTMLInputElementImpl::reset):
3460
3461 2003-05-30  Maciej Stachowiak  <mjs@apple.com>
3462
3463         Reviewed by Chris.
3464
3465         - fixed 3169067 - PEOPLESOFT: left frame missing; frame RenderRoot height and width are both zero
3466
3467         * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor): Update layout before scrolling.
3468
3469 2003-05-30  Maciej Stachowiak  <mjs@apple.com>
3470
3471         Reviewed by Ken.
3472
3473         - fixed 3273544 - REGRESSION: Page disappears at http://www.urban-advantage.com/
3474         
3475         * khtml/xml/dom_docimpl.cpp:
3476         (DocumentImpl::getElementById): Return null when the ID is the
3477         empty string. Otherwise we'll return the first element in the
3478         document, usually the top-level HTML element, which is wrong and
3479         does not match other browsers.
3480
3481 2003-05-30  Richard Williamson  <rjw@apple.com>
3482
3483         As part of some cleanup when fixing 3272516 changed use of
3484         @"" for cache keys to NSString declarations.
3485
3486         Reviewed by Ken.
3487
3488         * kwq/WebCoreBridge.mm:
3489         (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
3490
3491 2003-05-30  David Hyatt  <hyatt@apple.com>
3492
3493         Fix for 3269129 and 3269220.  setAttribute('value') didn't work
3494         for inputs.  Basically defaultValue and defaultChecked have never
3495         worked.  This patch fixes the problem by making sure that for both
3496         value and checked you have a two-tier system where you look first
3497         for the value as altered by the control (or by setting the DOM
3498         property) and if that isn't set then you look at the default value.
3499
3500         This allows setAttribute (which changes the *default*) to work in
3501         the cases where the control has not overridden the default 
3502         with a different value.
3503         
3504         Reviewed by NOBODY (OOPS!).
3505
3506         * khtml/html/html_formimpl.cpp:
3507         (HTMLInputElementImpl::HTMLInputElementImpl):
3508         (HTMLInputElementImpl::state):
3509         (HTMLInputElementImpl::parseAttribute):
3510         (HTMLInputElementImpl::attach):
3511         (HTMLInputElementImpl::reset):
3512         (HTMLInputElementImpl::setChecked):
3513         (HTMLInputElementImpl::value):
3514         (HTMLInputElementImpl::setValue):
3515         (HTMLInputElementImpl::isCheckedRadioButtonForDocument):
3516         * khtml/html/html_formimpl.h:
3517         * khtml/rendering/render_form.cpp:
3518         (RenderLineEdit::RenderLineEdit):
3519         (RenderLineEdit::calcMinMaxWidth):
3520         (RenderLineEdit::updateFromElement):
3521         (RenderLineEdit::slotTextChanged):
3522         * khtml/rendering/render_form.h:
3523
3524 2003-05-30  Darin Adler  <darin@apple.com>
3525
3526         Reviewed by John.
3527
3528         - added "sjis" as a synonym for "Shift_JIS"; this might fix 3235161,
3529         HOMEPAGE: Publishing page with Japanese characters w/ Safari generates an error,
3530         but I am currently unable to test the fix.
3531
3532         * kwq/mac-encodings.txt: Added sjis to the Shift_JIS line.
3533         * kwq/KWQCharsetData.c: Regenerated.
3534
3535 2003-05-29  David Hyatt  <hyatt@apple.com>
3536
3537         Fix for 3263156, stack overflow at www.liceo.edu.mx.  This
3538         site nests about 500 bold tags, only closes some of them, 
3539         and then opens 500 more, etc.
3540
3541         The fix for this problem is to stop honoring tags in the parser
3542         after you see 20 identical tags.  We do this only for fontstyle HTML
3543         tags.
3544         
3545         Reviewed by john/darin
3546
3547         * khtml/html/htmlparser.cpp:
3548         (KHTMLParser::getElement):
3549         (KHTMLParser::allowNestedRedundantTag):
3550         * khtml/html/htmlparser.h:
3551
3552 2003-05-30  John Sullivan  <sullivan@apple.com>
3553
3554         Reviewed by Chris
3555
3556         * khtml/rendering/break_lines.cpp:
3557         Removed #ifdef/#else for which the two sides were identical
3558         that I noticed in passing.
3559
3560 2003-05-29  Maciej Stachowiak  <mjs@apple.com>
3561
3562         Reviewed by Richard.
3563
3564         - fixed 3270373 - MALLORY: repro crash in +[KWQObjectTimerTarget stopDeferringTimers] while changing folder
3565
3566         * kwq/KWQObject.mm:
3567         (QObject::killTimer): Remove the timer from the deferred list too - clients expect that a timer
3568         will never be delivered after the object was killed.
3569         (QObject::killTimers): Use killTimer on each timer for this object instead of trying
3570         to be tricky. 
3571         (-[KWQObjectTimerTarget timerFired]): Don't add a timer to the deferred list more than once,
3572         because there's no benefit in ganging up multiple firings while deferred, and it makes other
3573         things simpler.
3574         (+[KWQObjectTimerTarget stopDeferringTimers]): Make sure to remove the timer before firing it, 
3575         since it may also cancel itself, and we don't want to remove an extra timer in that case.
3576
3577 2003-05-29  Richard Williamson   <rjw@apple.com>
3578
3579         Support for the 'estimatedProgress' method on
3580         WebView.  Added bridge access to the number of pending or still
3581         loading requests (from KHTML's perspective).  This is used to
3582         more accurately guess at the total remaining bytes to load.
3583
3584         Reviewed by Chris.
3585
3586         * kwq/KWQLoader.h:
3587         * kwq/KWQLoader.mm:
3588         (KWQServeRequest):
3589         (KWQNumberOfPendingOrLoadingRequests):
3590         * kwq/WebCoreBridge.h:
3591         * kwq/WebCoreBridge.mm:
3592         (-[WebCoreBridge numPendingOrLoadingRequests]):
3593
3594 2003-05-29  Ken Kocienda  <kocienda@apple.com>
3595
3596         Reviewed by Maciej
3597
3598         Fix for this bug:
3599
3600         <rdar://problem/3271697>: Search fails at travel site
3601
3602         * khtml/html/html_formimpl.cpp:
3603         (HTMLFormElementImpl::parseAttribute): Allow form method to be set
3604         to GET from javascript.
3605
3606 2003-05-29  John Sullivan  <sullivan@apple.com>
3607
3608         - fixed MIME type leaks that were most of 3272566 
3609         (several leaks after visiting amazon.com and emptying cache)
3610
3611         Reviewed by Darin
3612
3613         * kwq/KWQPixmap.mm:
3614         (QPixmap::QPixmap):
3615         (QPixmap::operator=):
3616         fixed two leaks of MIME string
3617
3618 2003-05-29  Darin Adler  <darin@apple.com>
3619
3620         Reviewed by John.
3621
3622         - fixed 3269564 -- dynamically-created forms look right, but don't post values when submitted
3623
3624         * khtml/html/html_formimpl.h: Remove useless virtual setParent function.
3625         Since the inherited setParent is not virtual, it does no good to make the subclass
3626         override it with a virtual function.
3627         * khtml/html/html_formimpl.cpp: Remove useless virtual setParent.
3628         (HTMLGenericFormElementImpl::attach): Add code here, cribbed from setParent, to add
3629         a new form element to the form it's in.
3630         (HTMLButtonElementImpl::attach): A copy of the code is also needed here.
3631
3632         * WebCore.pbproj/project.pbxproj: Let Project Builder be Project Builder.
3633
3634 2003-05-28  Maciej Stachowiak  <mjs@apple.com>
3635
3636         Reviewed by Darin.
3637
3638         - fixed 3263157 - REGRESSION: tabbing into a secure password field shows contents
3639
3640         * kwq/KWQTextField.mm:
3641         (-[KWQSecureTextField textDidEndEditing:]): Make sure to restore bullet mode if we
3642         accidentally lose it.
3643
3644 2003-05-27  Maciej Stachowiak  <mjs@apple.com>
3645
3646         Rolled in fix from Safari-80~1-branch
3647
3648     2003-05-27  Maciej Stachowiak  <mjs@apple.com>
3649
3650         Reviewed by Darin.
3651
3652         * WebKit.pbproj/project.pbxproj: Removed no longer needed and harmful flag.
3653         
3654 2003-05-25  David Hyatt  <hyatt@apple.com>
3655
3656         Fix for 3268589, static position miscomputed when the positioned object is the last item in its enclosing block and when its previous sibling is a text run that ends in a space.  In this case we need to clear our trailingSpaceObject so that we don't mist
3657 akenly ignore the positioned object when building up bidi runs.
3658
3659         Fix for 3260053, table-layout of inherit not supported.  This
3660         caused a crash.  The fix is to just add in the support for the inherit
3661         value to the style selector.
3662         
3663         Reviewed by john
3664
3665         * khtml/rendering/bidi.cpp:
3666         * khtml/css/cssstyleselector.cpp
3667         
3668 2003-05-26  John Sullivan  <sullivan@apple.com>
3669
3670         - fixed 3262849 -- jump to nil in KWQKHTMLPart::searchForLabelsAboveCell 
3671         at techbargains.com
3672
3673         Reviewed by Dave
3674
3675         * kwq/KWQKHTMLPart.mm:
3676         (KWQKHTMLPart::searchForLabelsAboveCell):
3677         check for nil result of cellAboveRenderer->element()
3678
3679 2003-05-23  David Hyatt  <hyatt@apple.com>
3680
3681         Fix for 3229799, images missing on geocities page.  Residual style
3682         needs to understand when you reopen tags at a malformed table 
3683         content boundary and make sure the newly-reopened tags also know
3684         they are malformed table content so that they get cleaned up
3685         properly.
3686         
3687         Reviewed by darin
3688
3689         * khtml/html/htmlparser.cpp:
3690         (KHTMLParser::handleResidualStyleCloseTagAcrossBlocks):
3691         (KHTMLParser::reopenResidualStyleTags):
3692         (KHTMLParser::popBlock):
3693         * khtml/html/htmlparser.h:
3694
3695 2003-05-22  David Hyatt  <hyatt@apple.com>
3696
3697         Fix for 3248176, failed assertion on blizzard's world of warcraft
3698         page.  They dynamically changed the position of an element from
3699         absolute to relative, and this element was inside an inline.
3700         The setStyle() code has to be smart enough to split the inline
3701         flow when the element is no longer absolute positioned.
3702
3703         This patch makes a splitFlow occur like it should and it also
3704         cleans up anonymous block creation with a new helper function
3705         on RenderObject, createAnonymousBlock.
3706         
3707         Reviewed by darin
3708
3709         * khtml/rendering/render_block.cpp:
3710         * khtml/rendering/render_inline.cpp:
3711         (RenderInline::splitFlow):
3712         * khtml/rendering/render_object.cpp:
3713         (RenderObject::createAnonymousBlock):
3714         (RenderObject::handleDynamicFloatPositionChange):
3715         (RenderObject::setStyle):
3716         * khtml/rendering/render_object.h:
3717
3718 2003-05-22  David Hyatt  <hyatt@apple.com>
3719
3720         Fix for 3259947.  Can't add clippings on iht.com.  The fix is
3721         to make sure all DOM properties that relate to attributes return ""
3722         and not "null" when the attribute isn't present or when the 
3723         DOMString is null.
3724
3725         Also patching the code for text-indent to make sure that floats
3726         don't improperly consume text-indent.  This fixes two of the issues
3727         on diveintomark.
3728         
3729         Reviewed by mjs
3730
3731         * khtml/ecma/kjs_html.cpp:
3732         (KJS::HTMLDocument::tryGet):
3733         (KJS::HTMLElement::getValueProperty):
3734
3735 2003-05-22  David Hyatt  <hyatt@apple.com>
3736
3737         Make sure the overflow clip rect clips out the scrollbars
3738         so that child layers aren't able to draw on top of the
3739         scrollbars.
3740
3741         Also fix scrollbars so that they are painted before the
3742         overflow clip rect is applied (just as backgrounds and borders
3743         are).
3744
3745         These two fixes make the divtest example from Yahoo (sent by Mark
3746         Malone) work.
3747         
3748         Reviewed by john
3749
3750         * khtml/rendering/render_box.cpp:
3751         (RenderBox::getOverflowClipRect):
3752         * khtml/rendering/render_layer.cpp:
3753         (RenderLayer::paint):
3754
3755 2003-05-22  Darin Adler  <darin@apple.com>
3756
3757         Reviewed by John.
3758
3759         - fixed 3216039 -- calls to m_redirectionTimer.stop() do not always clear m_scheduledRedirection
3760
3761         * khtml/khtml_part.h: Added cancelRedirection().
3762         * khtml/khtml_part.cpp:
3763         (KHTMLPart::~KHTMLPart): Call cancelRedirection() instead of m_redirectionTimer.stop().
3764         (KHTMLPart::restoreURL): Ditto.
3765         (KHTMLPart::openURL): Ditto.
3766         (KHTMLPart::closeURL): Ditto.
3767         (KHTMLPart::cancelRedirection): Added. Sets m_scheduledRedirection to noRedirectionScheduled
3768         and calls m_redirectionTimer.stop(), but is also safe to call after d is set to 0.
3769         (KHTMLPart::restoreState): Call cancelRedirection() instead of m_redirectionTimer.stop().
3770
3771         * kwq/KWQKHTMLPart.mm:
3772         (KWQKHTMLPart::openURLFromPageCache): Call cancelRedirection() instead of m_redirectionTimer.stop().
3773         (KWQKHTMLPart::scrollToAnchor): Call cancelRedirection() instead of m_redirectionTimer.stop()
3774         (and setting m_scheduledRedirection).
3775
3776 2003-05-21  David Hyatt  <hyatt@apple.com>
3777
3778         This patch deals with the main cause of regressions from
3779         the minimum font size removal.  Because we stored font sizes
3780         as integers, we ended up flooring font sizes, and when percentages
3781         were nested, the magnitude of error increased dramatically.
3782
3783         This patch changes FontDef to store a float size instead of an
3784         integer size.  The style system thus always computes a precise
3785         floating point value for a font, with no error introduced and
3786         only once it has that final computed value does it round to the
3787         nearest pixel for the QFont.
3788
3789         This fixes 3265628, www.anandtech.com.
3790         
3791         Reviewed by rjw
3792
3793         * khtml/css/css_valueimpl.cpp:
3794         (CSSPrimitiveValueImpl::computeLengthFloat):
3795         * khtml/css/cssstyleselector.cpp:
3796         * khtml/rendering/font.cpp:
3797         (Font::update):
3798         * khtml/rendering/font.h:
3799         * khtml/xml/dom_docimpl.cpp:
3800         (DocumentImpl::recalcStyle):
3801
3802 2003-05-21  David Hyatt  <hyatt@apple.com>
3803
3804         Fix for 3257990, attributes in HTML should always be case-insensitive
3805         when matching CSS attribute selectors.  Instead of relying on 
3806         the strict mode check, I patched the code to use an isXMLDoc
3807         bool instead.
3808
3809         Also fixing a problem where <pre>s are mistakenly justifying their
3810         text when text-align: justify is set.
3811         
3812         Reviewed by kocienda
3813
3814         * ChangeLog:
3815         * khtml/css/cssstyleselector.cpp:
3816         * khtml/css/cssstyleselector.h:
3817         * khtml/rendering/bidi.cpp:
3818
3819 2003-05-21  Vicki Murley  <vicki@apple.com>
3820
3821         Reviewed by john 
3822         - fixed 3234553: Safari and its frameworks should link using order files
3823
3824         * WebCore.order: Added.
3825         * WebCore.pbproj/project.pbxproj: set SECTORDER_FLAGS = -sectorder __TEXT __text WebCore.order
3826
3827 2003-05-20  David Hyatt  <hyatt@apple.com>
3828
3829         An implementation of fieldset and legend.  This is based off
3830         some KHTML trunk code, but only loosely.  I had to rewrite
3831         most of it in order to make fieldsets work properly with
3832         padding and in order to match the fieldset style of other
3833         browsers more closely.
3834
3835         This code also fixes HTML4 buttons so that they don't fill the
3836         width of containing blocks.  This has been a long-standing
3837         bug.  Since legends behave the same way as buttons and floats,
3838         I made a new helper function, sizesToMaxWidth(), to denote an
3839         element that just uses its max intrinsic width when sizing
3840         instead of filling a containing block.
3841
3842         This patch also fixes z-index so it properly only applies to the 
3843         root and to positioned/relpositioned elements.  
3844         
3845         Reviewed by darin
3846
3847         * ChangeLog:
3848         * ForwardingHeaders/rendering/render_block.h: Added.
3849         * khtml/css/html4.css:
3850         * khtml/html/html_formimpl.cpp:
3851         (HTMLFieldSetElementImpl::HTMLFieldSetElementImpl):
3852         (HTMLFieldSetElementImpl::attach):
3853         (HTMLFieldSetElementImpl::createRenderer):
3854         (HTMLLegendElementImpl::HTMLLegendElementImpl):
3855         (HTMLLegendElementImpl::id):
3856         (HTMLLegendElementImpl::attach):
3857         (HTMLLegendElementImpl::createRenderer):
3858         * khtml/html/html_formimpl.h:
3859         * khtml/rendering/render_block.cpp:
3860         * khtml/rendering/render_block.h:
3861         * khtml/rendering/render_box.cpp:
3862         (RenderBox::setStyle):
3863         (RenderBox::calcWidthUsing):
3864         * khtml/rendering/render_canvas.cpp:
3865         * khtml/rendering/render_form.cpp:
3866         (RenderFieldset::RenderFieldset):
3867         (RenderFieldset::layoutLegend):
3868         (RenderFieldset::findLegend):
3869         (RenderFieldset::paintBoxDecorations):
3870         (RenderFieldset::paintBorderMinusLegend):
3871         (RenderLegend::RenderLegend):
3872         * khtml/rendering/render_form.h:
3873         * khtml/rendering/render_object.cpp:
3874         (RenderObject::sizesToMaxWidth):
3875         * khtml/rendering/render_object.h:
3876
3877 2003-05-19  David Hyatt  <hyatt@apple.com>
3878
3879         Fix for 3262890, logical font sizes (e.g., large) cannot be applied
3880         to monospace tags like <pre> and <tt>.  The fix adds a notion of
3881         the current logicalSize in effect for a given FontDef so that
3882         shifts in family as you go down the style tree result in an
3883         auto-correction of the size.
3884
3885         Note that with the addition of this cached logicalSize property,
3886         it will be possible to eliminate the two separate logical size
3887         tables and implement the monospace table as a "zoom factor" applied
3888         to the normal table (an idea long ago suggested by darin).
3889         
3890         Reviewed by darin
3891
3892         * ChangeLog:
3893         * khtml/css/cssstyleselector.cpp:
3894         * khtml/rendering/font.h:
3895
3896 === Safari-80 ===
3897
3898 2003-05-19  Maciej Stachowiak  <mjs@apple.com>
3899
3900         - fixed 3261096 - Make WebKit an umbrella framework
3901
3902         * WebCore.pbproj/project.pbxproj: In a B&I build, compile as a
3903         sub-umbrella of WebKit.
3904
3905 2003-05-19  Ken Kocienda  <kocienda@apple.com>
3906
3907         Reviewed by Darin
3908         
3909         Fixed build problem with declaring MIMEType as a category
3910         on NSObject. This method needs to be typed to return NSString.
3911
3912         * kwq/KWQLoader.mm
3913
3914 2003-05-16  Maciej Stachowiak  <mjs@apple.com>
3915
3916         Reviewed by Richard.
3917
3918         - fixed 3260940 - REGRESSION: reproducible crash freeing page cache item
3919         - fixed 3241041 - REGRESSION: repro world leak of 1 JavaScript interpreter
3920
3921         The fix for these problems and probably other page cache wackiness
3922         was to use a refcounting scheme for KHTMLView instead of counting
3923         on the previous tricky ownership rules.
3924         
3925         * khtml/khtmlview.cpp:
3926         (KHTMLView::KHTMLView): Initialize _refCount to 1.
3927         (KHTMLView::~KHTMLView): Assert that _refCount is 0, to make sure no one is deleting
3928         views explicitly.
3929         * khtml/khtmlview.h:
3930         * khtml/rendering/render_frames.cpp:
3931         (RenderPart::~RenderPart): If our view is a KHTMLView, deref it.
3932         (RenderPart::setWidget): If the view is a KHTMLView, tell the superclass not to
3933         delete it and ref it.
3934         * khtml/rendering/render_frames.h:
3935         * khtml/rendering/render_replaced.cpp:
3936         (RenderWidget::RenderWidget): Initizlize m_deleteWidget to false.
3937         (RenderWidget::~RenderWidget): Only delete widget if we're supposed to.
3938         (RenderWidget::setQWidget): Add extra delegeWidget argument that says whether
3939         to delete this widget when done - defaults to true.
3940         * khtml/rendering/render_replaced.h:
3941         * kwq/KWQKHTMLPart.h:
3942         * kwq/KWQKHTMLPart.mm:
3943         (KWQKHTMLPart::KWQKHTMLPart): Removed _ownsView boolean -- we'll always hang on
3944         to a ref to it now.
3945         (KWQKHTMLPart::~KWQKHTMLPart): Deref the view always instead of deleting it sometimes.
3946         (KWQKHTMLPart::setView): deref the old view if not null. ref the new view if not null.
3947         Drop tricky ownership rules.
3948         (KWQKHTMLPart::openURLFromPageCache): Remove no longer applicable comment about the
3949         importance of when setView is called.
3950         * kwq/KWQPageState.mm:
3951         (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:]): ref the
3952         document's view.
3953         (-[KWQPageState invalidate]): deref the document's view.
3954         (-[KWQPageState dealloc]): deref the document's view instead of deleting it.
3955         * kwq/WebCoreBridge.mm:
3956         (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]): No more need
3957         to pass weOwnIt argument to setView. Also, deref the view after passing it to the
3958         KWQKHTMLView -- we own the initial ref since we allocated it.
3959         (-[WebCoreBridge removeFromFrame]): No more need to pass weOwnIt argument to setView.
3960         (-[WebCoreBridge installInFrame:]): Ditto.
3961
3962 2003-05-16  Maciej Stachowiak  <mjs@apple.com>
3963
3964         Reviewed by Ken.
3965
3966         - fixed 3256997 - reproducible world leak (of 1 JavaScript interpreter) using google images 
3967
3968         This turned out to be a page cache bug, and nothing to do with
3969         JavaScript. The part and view were also leaked.
3970         
3971         * kwq/KWQKHTMLPart.mm:
3972         (KWQKHTMLPart::openURLFromPageCache): Make sure to reset the view
3973         before resetting the document, so that when we check if the
3974         document is in the page cache to determine if we can delete the
3975         old view, we'll be checking the old document instead of the new
3976         one.
3977
3978 2003-05-15  Maciej Stachowiak  <mjs@apple.com>
3979
3980         Reviewed by Richard.
3981
3982         - fixed 3168588 - Can't click on links at Nike site (Image onload handler problem)
3983
3984         The fix was to implement the onload property for Image objects
3985         (which are entirely different from <img> HTML elements).
3986
3987         * khtml/ecma/kjs_html.cpp:
3988         (Image::getValueProperty): Implement access to onload attribte.
3989         (Image::tryPut): Use putValue cause we're gonna use the hashtable now.
3990         (Image::putValue): Moved guts of tryPut here. Implement setting of
3991         onload attribute.
3992         (Image::notifyFinished): Fire onload event if there is a listener.
3993         (Image::Image): initialize onload listener to null.
3994         * khtml/ecma/kjs_html.h:
3995         * khtml/ecma/kjs_html.lut.h: Regenerated.
3996
3997 === Safari-79 ===
3998
3999 2003-05-14  David Hyatt  <hyatt@apple.com>
4000
4001         Fix for 3248193.  Floats with layers paint twice.  The fix
4002         is to make sure floats are not painted during the float phase
4003         if they also have a layer.
4004         
4005         Reviewed by john
4006         
4007         * khtml/rendering/render_block.cpp:
4008
4009 2003-05-14  David Hyatt  <hyatt@apple.com>
4010
4011         Fix for 3258389, min-width should take precedence over max-width.
4012         I just had an "else" that shouldn't have been there, so that
4013         min-width would get checked even if max-width was also checked.
4014         
4015         Reviewed by kocienda
4016
4017         * khtml/rendering/render_box.cpp:
4018         (RenderBox::calcWidth):
4019
4020 2003-05-14  Maciej Stachowiak  <mjs@apple.com>
4021
4022         Reviewed by Don.
4023
4024         - fixed 3257307 - REGRESSION: crash using onFocus="this.blur()"
4025         
4026         * kwq/KWQTextField.mm:
4027
4028         (-[KWQTextField setHasFocus:]): Don't call
4029         KWQKHTMLPart::setDocumentFocus(widget) to start with, it might
4030         invoke a handler which could call blur(), and we don't want to do
4031         the selection handling after that; futhermore, it will get called
4032         anyway when we deliver the FocusIn event to the event
4033         filter. Also, sometimes unfocusing in the middle of a focus can