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