AX: Automatically compute accessibility labels for Apple Pay buttons
[WebKit-https.git] / Source / WebCore / ChangeLog-2002-12-03
1 2002-12-03  David Hyatt  <hyatt@apple.com>
2
3         Fix for 3078227, hanging in table code.  Make sure <form>s
4         don't get wrapped in anonymous rows and cells.
5         
6         Reviewed by: rjw
7
8         * khtml/rendering/render_table.cpp:
9         (RenderTable::addChild):
10         (RenderTableSection::addChild):
11         (RenderTableRow::addChild):
12
13 2002-12-03  David Hyatt  <hyatt@apple.com>
14
15         Backing out a file that I did not intend to check in.
16
17         * khtml/misc/loader.cpp:
18
19 2002-12-03  Richard Williamson   <rjw@apple.com>
20
21         D'oh.  Fixed last minute change that broke the build.
22         
23         * kwq/KWQFont.mm:
24         (QFont::getNSFont):
25
26 2002-12-03  David Hyatt  <hyatt@apple.com>
27
28         Remove the moveWidgetsAside function.  This fixes all the
29         form controls on livepage.apple.com that were getting hosed
30         by the scrolling marquee.
31         
32         Reviewed by: darin
33
34         * khtml/html/html_tableimpl.cpp:
35         (HTMLTableRowElementImpl::addChild):
36         * khtml/misc/loader.cpp:
37         * khtml/rendering/render_root.cpp:
38         (RenderRoot::layout):
39         * kwq/KWQKHTMLPart.h:
40         * kwq/KWQKHTMLPart.mm:
41         (KWQKHTMLPart::KWQKHTMLPart):
42         (KWQKHTMLPart::paint):
43
44 2002-12-03  Richard Williamson   <rjw@apple.com>
45
46         Fixed 3019986.  Use an array of font families instead of a single
47         font family to support CSS family lists.
48         r=hyatt
49                 
50         * kwq/KWQFont.h:
51         * kwq/KWQFont.mm:
52         (QFont::getNSFont):
53         * kwq/KWQFontMetrics.mm:
54         (QFontMetrics::width):
55         (QFontMetrics::floatWidth):
56         (QFontMetrics::floatCharacterWidths):
57         * kwq/KWQPainter.mm:
58         (QPainter::drawText):
59         (QPainter::drawUnderlineForText):
60         * kwq/WebCoreTextRenderer.h:
61         * kwq/WebCoreTextRendererFactory.h:
62         * kwq/WebCoreTextRendererFactory.m:
63         (-[WebCoreTextRendererFactory rendererWithFamilies:traits:size:]):
64         (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]):
65
66 2002-12-03  David Hyatt  <hyatt@apple.com>
67
68         Fix for 3112599, aol.com shopping page doesn't work.  Apply
69         the same form demotion trick to <tr> that I did already for
70         <tbody> and <table>.
71
72         r=gramps
73         
74         * khtml/html/dtd.cpp:
75         (DOM::checkChild):
76         * khtml/html/html_tableimpl.cpp:
77         (HTMLTableRowElementImpl::addChild):
78         * khtml/html/html_tableimpl.h:
79
80 2002-12-03  David Hyatt  <hyatt@apple.com>
81
82         Fix link feedback regression on aintitcool.com.  Observe
83         the wacky feedback we give now (yes, it matches MacIE and
84         Gecko).  Gotta love this malformed page.
85
86         <a><h4>...</h4></a>
87
88         r=mjs
89         
90         * khtml/rendering/render_object.cpp:
91         (RenderObject::nodeAtPoint):
92
93 2002-12-03  David Hyatt  <hyatt@apple.com>
94
95         Eliminate the KONQBLOCK hack.  Fixes ipodhacks.com (a mislayout
96         caused by malformed html... <table><br>...)
97
98         r=mjs
99         
100         * khtml/css/html4.css:
101         * khtml/html/dtd.cpp:
102         (DOM::checkChild):
103         * khtml/html/html_elementimpl.cpp:
104         (HTMLElementImpl::isInline):
105         * khtml/html/htmlparser.cpp:
106         (KHTMLParser::reset):
107         (KHTMLParser::insertNode):
108         * khtml/html/htmlparser.h:
109         * khtml/misc/htmltags.c:
110         (hash_tag):
111         (findTag):
112         * khtml/misc/htmltags.h:
113         * khtml/misc/htmltags.in:
114         * khtml/rendering/render_flow.cpp:
115         (RenderFlow::layoutBlockChildren):
116
117 2002-12-02  David Hyatt  <hyatt@apple.com>
118
119         Fix for 3032557, wsj.com DHTML elements in the wrong position.
120         This patch adds support for img.x and img.y (a Mozilla extension
121         from NS4 days), which is used by the site to position the menus.
122
123         r=kocienda on the patch.
124         
125         * khtml/dom/html_image.cpp:
126         (HTMLImageElement::x):
127         (HTMLImageElement::y):
128         * khtml/dom/html_image.h:
129         * khtml/ecma/kjs_html.cpp:
130         (KJS::HTMLElement::getValueProperty):
131         * khtml/ecma/kjs_html.h:
132         * khtml/ecma/kjs_html.lut.h:
133
134 2002-12-02  David Hyatt  <hyatt@apple.com>
135
136         Undo my changes to margin collapsing for blocks inside inlines.
137         Although they may be correct in a strict mode, they don't
138         work with the real-world Web.  For now, I'm just backing out
139         the code.  The CSS WG hasn't decided how this should work yet
140         anyway, so I'll just let the quirk behavior be our behavior
141         in both modes.
142
143         This fixes aintitcool.com.
144         
145         * khtml/rendering/render_flow.cpp:
146         (RenderFlow::layoutBlockChildren):
147
148 2002-12-01  David Hyatt  <hyatt@apple.com>
149
150         Convert the WebCore cache from LRU to size-adjusted and
151         popularity-aware LRU (LRU-SP).  With the improved cache,
152         the size restriction on images can be relaxed back to 40K
153         (from 16K) while retaining the same score on cvs-base.
154         This should result in better real-world performance.
155         
156         * khtml/misc/loader.cpp:
157         (CachedObject::ref):
158         (CachedObject::setSize):
159         (m_tail):
160         (LRUList::~LRUList):
161         (Cache::flush):
162         (FastLog2):
163         (Cache::getLRUListFor):
164         (Cache::removeFromLRUList):
165         (Cache::insertInLRUList):
166         (Cache::adjustSize):
167         * khtml/misc/loader.h:
168
169 2002-11-29  Don Melton  <gramps@apple.com>
170
171         * khtml/css/html4.css:
172
173         Finally tweak headline font sizes and margins to match Gecko and CSS
174         standard:
175             - increase H1 font-size from 1.7em to 2em
176             - increase H2 font-size from 1.4em to 1.5em
177             - make H2 top and bottom margin match (bottom was strangely .87em)
178             - increase H4 margin from 1.0em to 1.33em
179
180 2002-11-27  David Hyatt  <hyatt@apple.com>
181
182         Fix DHTML on phoenix.com.  Add support for window.addEventListener
183         and window.removeEventListener.
184         
185         * khtml/ecma/kjs_window.cpp:
186         (Window::get):
187         (WindowFunc::tryCall):
188         * khtml/ecma/kjs_window.h:
189         * khtml/ecma/kjs_window.lut.h:
190
191 2002-11-27  Maciej Stachowiak  <mjs@apple.com>
192
193         - avoid doing any work when setting the document's link colors if
194         there is no change. This avoids superfluous style updates and
195         results in a 20% improvment on the JavaScript iBench.
196         
197         * khtml/ecma/kjs_html.cpp:
198         (KJS::HTMLDocument::putValue):
199
200 2002-11-27  David Hyatt  <hyatt@apple.com>
201
202         Fix <br clear=""> and <br clear> to just behave like <br>
203         rather than <br clear="all">.  Matches behavior in other
204         browsers.
205         
206         * khtml/html/html_inlineimpl.cpp:
207         (HTMLBRElementImpl::parseAttribute):
208
209 2002-11-27  David Hyatt  <hyatt@apple.com>
210
211         Numerous overflow: hidden improvements to fix espn.com.
212
213         First stop absolute positioned overflow hidden elements
214         from growing to accommodate their overflow.  (Actually
215         absolute positioned elements should never grow to do this,
216         but fixing it for non-overflow hidden elements is hard,
217         so later.)
218
219         Second fix the render layer code to not allow background/borders
220         of the object with overflow: hidden from being clipped.  This
221         involves an extra paint step where the object paints its
222         background and borders prior to establishing the clip rect
223         for the children.  (This will also be necessary for overflow:auto
224         and overflow:scroll).
225         
226         * ChangeLog:
227         * khtml/rendering/render_box.cpp:
228         (RenderBox::getClipRect):
229         (RenderBox::calcAbsoluteVertical):
230         * khtml/rendering/render_layer.cpp:
231         (RenderLayer::paint):
232         * khtml/rendering/render_object.h:
233
234 2002-11-27  David Hyatt  <hyatt@apple.com>
235
236         * khtml/rendering/render_box.cpp:
237         (RenderBox::getClipRect):
238         (RenderBox::calcAbsoluteVertical):
239         * khtml/rendering/render_layer.cpp:
240         (RenderLayer::paint):
241
242 2002-11-27  David Hyatt  <hyatt@apple.com>
243
244         Fix for 3105502.  drop-downs wrapping to next line.
245         
246         * khtml/css/html4.css:
247
248 2002-11-26  David Hyatt  <hyatt@apple.com>
249
250         Smarter block inside inline handling.  Eliminate whitespace
251         that is in between blocks inside inilnes.
252         
253         * khtml/xml/dom_textimpl.cpp:
254         (TextImpl::attach):
255
256 2002-11-26  David Hyatt  <hyatt@apple.com>
257
258         Don't let blocks inside inlines collapse with their surroundings
259         ever.
260         
261         * khtml/rendering/render_flow.cpp:
262         (RenderFlow::layoutBlockChildren):
263
264 2002-11-26  David Hyatt  <hyatt@apple.com>
265
266         Fix a collapsing margin regression on aintitcool caused by
267         my support of blocks inside inlines.  A block could be wrapped
268         by an inline, e.g., <font><p>foo</p></font>, and in this case,
269         you do not apply the collapsing margin quirk.  The margin stays.
270         
271         * khtml/rendering/render_flow.cpp:
272         (RenderFlow::layoutBlockChildren):
273
274 2002-11-26  David Hyatt  <hyatt@apple.com>
275
276         Fix the font family stuff to be refcounted, so copying
277         fonts stays cheap.  Re-enabling it.
278
279         Patch the render_arena code with some debugging info
280         to help detect when memory gets trashed.
281
282         Fix the background painting code to deal with negative
283         x and y bakcground positions.  Fixes the brain on
284         brainjar.com.
285         
286         * khtml/css/cssstyleselector.cpp:
287         * khtml/rendering/render_arena.cpp:
288         (RenderArena::free):
289         * khtml/rendering/render_box.cpp:
290         (RenderBox::paintBackground):
291         * kwq/KWQFont.h:
292         * kwq/KWQFont.mm:
293         (QFontFamily::QFontFamily):
294         (QFontFamily::operator=):
295
296 === Alexander-34 ===
297
298 2002-11-26  David Hyatt  <hyatt@apple.com>
299
300         Backing out support for multiple font families for now.
301         The support is still there in QFont.  I've just stopped
302         the style selector from walking the entire value list (it
303         will only put the first family into the font).
304
305         The original change  caused a 5% perf regression.  
306         I'm going to see what kinds of tricks I can pull to get 
307         some of this back before re-enabling the feature.
308         
309         * khtml/css/cssstyleselector.cpp:
310
311 2002-11-26  David Hyatt  <hyatt@apple.com>
312
313         Fix render object removal to remerge adjacent anonymous inline boxes
314         when an intervening block box gets removed.
315         
316         * khtml/rendering/render_flow.cpp:
317         (RenderFlow::removeChild):
318         * khtml/rendering/render_flow.h:
319
320 2002-11-25  Richard Williamson   <rjw@apple.com>
321
322         Cleanup up leaking objects in page cache.
323         
324         * kwq/KWQKHTMLPart.mm:
325         (KWQKHTMLPart::openURLFromPageCache):
326         * kwq/WebCoreBridge.mm:
327         (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]):
328         (-[KWQPageState dealloc]):
329
330 2002-11-25  Richard Williamson   <rjw@apple.com>
331
332         Added check for non-nil doc.
333         
334         * kwq/KWQKHTMLPart.mm:
335         (KWQKHTMLPart::setView):
336
337 2002-11-25  David Hyatt  <hyatt@apple.com>
338
339         Fix for the DHTML on hrweb.  With these changes it works
340         except for some odd vertical spacing issues.
341         
342         * khtml/rendering/render_flow.cpp:
343         (RenderFlow::addChildToFlow):
344         (RenderFlow::makeChildrenNonInline):
345
346 2002-11-25  Richard Williamson   <rjw@apple.com>
347
348         Tweaked some debugging info.
349         
350         * khtml/xml/dom_docimpl.cpp:
351         (DocumentImpl::~DocumentImpl):
352         (DocumentImpl::detach):
353
354 2002-11-25  Chris Blumenberg  <cblu@apple.com>
355
356         Use ^= to refer to OBJECTs with TYPEs that start with "image/". This is better than hard-coding image mime types.
357
358         * khtml/css/html4.css:
359
360 2002-11-25  Chris Blumenberg  <cblu@apple.com>
361
362         Fixed: 2987001 - spurious mime-type errors from <object> images
363
364         KHTML didn't seem to have any clean support for OBJECT tags that are images. Added support for that.
365
366         * khtml/css/html4.css: OBJECTs that are images should be rendered inline
367         * khtml/html/html_objectimpl.cpp:
368         (HTMLObjectElementImpl::attach): if the type is an image, create a render image
369         * khtml/rendering/render_image.cpp:
370         (RenderImage::updateFromElement): if the element is an object, use DATA for the URL
371         * kwq/KWQDOMNode.cpp:
372         (isImage): if it is an OBJECT element, check the type
373         * kwq/WebCoreBridge.mm:
374         (-[WebCoreBridge elementAtPoint:]): if the element is an object, use DATA for the URL
375
376 2002-11-25  David Hyatt  <hyatt@apple.com>
377
378         Fix this even further.  JUst drop support for arbitrary
379         property lookup by name on the document.  Mac IE and
380         Gecko only do this for img and form, and this makes things
381         a lot faster.
382         
383         * khtml/ecma/kjs_html.cpp:
384         (KJS::HTMLDocument::hasProperty):
385         (KJS::HTMLDocument::tryGet):
386
387 2002-11-25  David Hyatt  <hyatt@apple.com>
388
389         Rewrite the img/form document property lookup strategy.  This
390         should be faster and actually work (gasp!).  Fixes the dhtml
391         on hrweb to at least show up.
392         
393         * khtml/ecma/kjs_html.cpp:
394         (KJS::HTMLDocument::tryGet):
395         * khtml/html/html_miscimpl.cpp:
396         (HTMLCollectionImpl::nextItem):
397
398 2002-11-25  David Hyatt  <hyatt@apple.com>
399
400         Add support to QFont for multiple families.  NOw all that's left
401         is getting the multiple families out of the font and down into
402         WebKit.
403         
404         * khtml/css/cssstyleselector.cpp:
405         * khtml/rendering/font.cpp:
406         (Font::update):
407         * khtml/rendering/font.h:
408         * khtml/xml/dom_docimpl.cpp:
409         (DocumentImpl::recalcStyle):
410         * kwq/KWQFont.h:
411         * kwq/KWQFont.mm:
412         (QFontFamily::QFontFamily):
413         (QFontFamily::operator=):
414         (QFontFamily::family):
415         (QFontFamily::setFamily):
416         (QFontFamily::operator==):
417         (QFont::QFont):
418         (QFont::family):
419         (QFont::setFamily):
420         (QFont::getNSFontWithFamily):
421
422 2002-11-25  Richard Williamson   <rjw@apple.com>
423
424         Changes for back/forward.  Currently disabled.
425
426         * ForwardingHeaders/kjs/property_map.h: Added.
427         * khtml/ecma/kjs_window.cpp:
428         (Window::hasTimeouts):
429         (WindowQObject::hasTimeouts):
430         * khtml/ecma/kjs_window.h:
431         * khtml/khtmlpart_p.h:
432         * khtml/xml/dom_docimpl.cpp:
433         (DocumentImpl::DocumentImpl):
434         (DocumentImpl::detach):
435         (DocumentImpl::inPageCache):
436         (DocumentImpl::setInPageCache):
437         * khtml/xml/dom_docimpl.h:
438         * kwq/KWQKHTMLPart.h:
439         * kwq/KWQKHTMLPart.mm:
440         (KWQKHTMLPart::setView):
441         (KWQKHTMLPart::userAgent):
442         (KWQKHTMLPart::nextKeyViewForWidget):
443         (KWQKHTMLPart::canCachePage):
444         (KWQKHTMLPart::saveWindowProperties):
445         (KWQKHTMLPart::saveLocationProperties):
446         (KWQKHTMLPart::restoreWindowProperties):
447         (KWQKHTMLPart::restoreLocationProperties):
448         (KWQKHTMLPart::openURLFromPageCache):
449         * kwq/WebCoreBridge.h:
450         * kwq/WebCoreBridge.mm:
451         (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
452         (-[WebCoreBridge saveDocumentToPageCache]):
453         (-[WebCoreBridge canCachePage]):
454         (attributedString):
455         (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]):
456         (-[KWQPageState dealloc]):
457         (-[KWQPageState DOM::]):
458         (-[KWQPageState URL]):
459         (-[KWQPageState KJS::]):
460
461 2002-11-25  David Hyatt  <hyatt@apple.com>
462
463         Fix for 3025963.  Ensure that KJS looks for the form on the
464         element itself when pushing it onto the scope chain, since
465         the <form> may not be an ancestor of the element.
466         
467         * khtml/ecma/kjs_html.cpp:
468         (getForm):
469         (KJS::HTMLElement::pushEventHandlerScope):
470         * khtml/html/html_elementimpl.h:
471
472 2002-11-25  David Hyatt  <hyatt@apple.com>
473
474         Fix for 3020493, another fun little margin collapsing quirk
475         that I missed. (<td><div><p>).  The <div> has to pick up the quirk
476         from the <p> so that the margins of the <p> still get collapsed
477         away.
478         
479         * khtml/rendering/render_flow.cpp:
480         (RenderFlow::layoutBlockChildren):
481
482 2002-11-25  David Hyatt  <hyatt@apple.com>
483
484         Don't add in the halfleading for align=texttop. That's incorrect.
485         
486         * khtml/rendering/render_object.cpp:
487         (RenderObject::getVerticalPosition):
488
489 2002-11-24  Maciej Stachowiak  <mjs@apple.com>
490
491         Fixed support for onLoad handlers on images - this is in
492         APPLE_CHANGES because khtml used a different mechanism. Also
493         implemented onError on images. As a result:
494
495         - fixed 3084916 - blank page at aol
496         - fixed 3093162 - golfswitch doesn't work
497         
498         * khtml/html/html_imageimpl.cpp:
499         (HTMLImageElementImpl::parseAttribute): Remove "implement this"
500         comment from onError attribute.
501         * khtml/misc/loader.h:
502         * khtml/misc/loader.cpp:
503         (CachedImage::CachedImage): Initialize m_loading to true.
504         (CachedImage::ref): Send notifyFinished to the new client if the
505         image is not loading.
506         (CachedImage::data): If at eof, set m_loading to false and notify.
507         (CachedImage::error): Set m_loading to false and notify.
508         (CachedImage::checkNotify): New method to notify all clients of
509         changes.
510         * khtml/rendering/render_image.cpp:
511         (RenderImage::notifyFinished): Deliver the appropriate choice of
512         LOAD_EVENT or ERROR_EVENT.
513
514 2002-11-24  David Hyatt  <hyatt@apple.com>
515
516         This landing adds support for blocks inside inlines.  It
517         gets rid of the old broken way KHTML used to handle this
518         and implements a brand new mechanism.
519
520         With this change, I have decreased the tag priority of <font>
521         and <a> to match other inlines (<i>, <span>, etc.), and I
522         now allow all the inlines to contain blocks for relaxed parsing.
523
524         Now if you open an <i> or a <b> and just leave it open across
525         blocks, this will work.
526
527         I also fixed a bad DHTML bug caused by the WebCoreBridge 
528         forceLayout method.  The basic pattern is that someone does
529         a tiny repaint of just a sliver of the window, then someone
530         schedules a layout (which means they want a full repaint), but
531         then drawRect comes along and calls forceLayout which unschedules
532         the layout, thus preventing the full repaint from occurring.
533
534         Any basic DHTML that used append/remove child was broken because
535         of this pattern.  For now I have just removed the unscheduleLayout
536         call at the end of forceLayout.
537         
538         * khtml/html/dtd.cpp:
539         (DOM::checkChild):
540         * khtml/html/htmlparser.cpp:
541         (KHTMLParser::popInlineBlocks):
542         * khtml/rendering/render_container.cpp:
543         (RenderContainer::removeChild):
544         (RenderContainer::removeLeftoverAnonymousBoxes):
545         * khtml/rendering/render_flow.cpp:
546         (RenderFlow::setStyle):
547         (RenderFlow::layoutBlockChildren):
548         (RenderFlow::continuationBefore):
549         (cloneInline):
550         (RenderFlow::splitInlines):
551         (RenderFlow::splitFlow):
552         (RenderFlow::addChildWithContinuation):
553         (RenderFlow::addChild):
554         (RenderFlow::addChildToFlow):
555         * khtml/rendering/render_flow.h:
556         * khtml/rendering/render_object.cpp:
557         (RenderObject::mouseInside):
558         * khtml/rendering/render_object.h:
559         * kwq/KWQKHTMLPart.mm:
560         (KWQKHTMLPart::forceLayout):
561         * kwq/WebCoreBridge.mm:
562         (-[WebCoreBridge copyRenderNode:copier:]):
563
564 2002-11-24  Chris Blumenberg  <cblu@apple.com>
565
566         Added element keys for the image ALT and link TITLE attributes. This will eventually be used to fix other bugs. Also made WebKit and WebCore use the same element keys to simplify the conversion of the element dictionary.
567
568         * kwq/WebCoreBridge.h:
569         * kwq/WebCoreBridge.mm:
570         (-[WebCoreBridge elementAtPoint:]):
571
572 2002-11-24  Darin Adler  <darin@apple.com>
573
574         * force-js-clean-timestamp: Touch for ScopeChain change.
575
576 2002-11-24  Maciej Stachowiak  <mjs@apple.com>
577
578         - fixed 3067939 - no support for window.document.lastModified
579         
580         * kwq/WebCoreBridge.h:
581         * kwq/WebCoreBridge.mm:
582         (-[WebCoreBridge openURL:reload:headers:lastModified:]): Set
583         "modified" metadata based on passed in last mdified date.
584
585 2002-11-24  Maciej Stachowiak  <mjs@apple.com>
586
587         - fixed 3081946 - bookmarklet reports the wrong "windowfull" size
588
589         This isn't really beta 1 material but the fix was so tirivial I
590         couldn't resist.
591         
592         * khtml/ecma/kjs_html.cpp:
593         (KJS::HTMLDocument::tryGet): Use contentWidth and contentHeight
594         for document.width and document.height instead of visibleWidth for
595         both.
596
597 2002-11-22  Darin Adler  <darin@apple.com>
598
599         * khtml/ecma/kjs_window.cpp: Remove _COLLECTOR hack.
600
601         * kwq/WebCoreJavaScript.h:
602         * kwq/WebCoreJavaScript.mm:
603         (+[WebCoreJavaScript rootObjectClasses]):
604         Update for name change -- root object classes, not all live object classes.
605
606         * force-js-clean-timestamp: Make sure we don't have more build problems.
607
608 2002-11-22  David Hyatt  <hyatt@apple.com>
609
610         Fix for 3107658, text doubling problem caused by layers being
611         constructed for <td>s.  Just disallow positioning of <td>.
612         
613         * khtml/rendering/render_box.cpp:
614         (RenderBox::setStyle):
615         * khtml/rendering/render_flow.cpp:
616         (RenderFlow::setStyle):
617
618 2002-11-22  David Hyatt  <hyatt@apple.com>
619
620         Oops. I meant to do that for <input type=button> and not
621         <button>.  Just do it for <select>s for now.
622         
623         * khtml/rendering/render_box.cpp:
624         (RenderBox::calcReplacedWidth):
625
626 2002-11-22  David Hyatt  <hyatt@apple.com>
627
628         Make <select>s and <button>s ignore a CSS-specified width if that
629         width is smaller than their intrinsic width.
630
631         Fixes the <select> at the top of livepage.apple.com.
632         
633         * khtml/rendering/render_box.cpp:
634         (RenderBox::calcReplacedWidth):
635
636 2002-11-22  Darin Adler  <darin@apple.com>
637
638         - started checking in all our generated source files for the benefit of B&I
639
640         * .cvsignore:
641         * WebCore-combined.exp: Added.
642         * khtml/css/.cvsignore:
643         * khtml/css/cssproperties.c: Added.
644         * khtml/css/cssproperties.h: Added.
645         * khtml/css/cssvalues.c: Added.
646         * khtml/css/cssvalues.h: Added.
647         * khtml/ecma/.cvsignore:
648         * khtml/ecma/kjs_css.lut.h: Added.
649         * khtml/ecma/kjs_dom.lut.h: Added.
650         * khtml/ecma/kjs_events.lut.h: Added.
651         * khtml/ecma/kjs_html.lut.h: Added.
652         * khtml/ecma/kjs_navigator.lut.h: Added.
653         * khtml/ecma/kjs_range.lut.h: Added.
654         * khtml/ecma/kjs_traversal.lut.h: Added.
655         * khtml/ecma/kjs_views.lut.h: Added.
656         * khtml/ecma/kjs_window.lut.h: Added.
657         * khtml/html/.cvsignore:
658         * khtml/html/kentities.c: Added.
659         * khtml/misc/.cvsignore:
660         * khtml/misc/htmlattrs.c: Added.
661         * khtml/misc/htmlattrs.h: Added.
662         * khtml/misc/htmltags.c: Added.
663         * khtml/misc/htmltags.h: Added.
664         * kwq/.cvsignore:
665         * kwq/KWQCharsetData.c: Added.
666
667 2002-11-22  David Hyatt  <hyatt@apple.com>
668
669         Fix for the table/form regressions.  Also landing beginnings
670         of the block/inline work.
671         
672         * khtml/html/html_tableimpl.cpp:
673         (HTMLTableSectionElementImpl::addChild):
674         * khtml/html/html_tableimpl.h:
675         * khtml/rendering/render_flow.cpp:
676         (RenderFlow::RenderFlow):
677         * khtml/rendering/render_flow.h:
678
679 2002-11-22  Darin Adler  <darin@apple.com>
680
681         * khtml/ecma/kjs_dom.cpp: (DOMNode::pushEventHandlerScope): Change to push handlers
682         on an existing scope chain rather than returning one. Name change too.
683         * khtml/ecma/kjs_dom.h: More of the same.
684         * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::pushEventHandlerScope): And here.
685         * khtml/ecma/kjs_html.h: And here.
686
687         * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Use the pushEventHandlerScope
688         function, and also don't worry about optimizing the "no change" case, because that already
689         works pretty efficiently.
690
691 2002-11-22  David Hyatt  <hyatt@apple.com>
692
693         Fix for the weather.com, slate and espn malformations that
694         could occur.  Also reverting an earlier change for handling
695         font tags like other inlines.  Both FONT and A need to be
696         given special treatment until I can implement a strategy that
697         will allow them to be handled just like the other inlines.
698         
699         * khtml/html/dtd.cpp:
700         (DOM::checkChild):
701         * khtml/html/html_elementimpl.cpp:
702         (HTMLElementImpl::isInline):
703         * khtml/html/html_elementimpl.h:
704         * khtml/xml/dom_nodeimpl.h:
705
706 2002-11-21  Darin Adler  <darin@apple.com>
707
708         * khtml/ecma/kjs_dom.cpp: (DOMNode::eventHandlerScope): List -> ScopeChain.
709         * khtml/ecma/kjs_dom.h: List -> ScopeChain.
710         * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): List -> ScopeChain.
711         * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::eventHandlerScope): List -> ScopeChain.
712         * khtml/ecma/kjs_html.h: List -> ScopeChain.
713
714         * force-js-clean-timestamp: Not sure this is required, but better safe than sorry.
715
716 2002-11-21  Maciej Stachowiak  <mjs@apple.com>
717
718         * force-js-clean-timestamp: Touch so other people's builds work.
719
720 2002-11-21  David Hyatt  <hyatt@apple.com>
721
722         Nested <a>s are never allowed.  Make sure to always pop the
723         <a> blocks.
724         
725         * khtml/html/htmlparser.cpp:
726         (KHTMLParser::getElement):
727
728 2002-11-21  David Hyatt  <hyatt@apple.com>
729
730         Stop table cells from repainting the whole table when they
731         get a repaint.  Gives another big boost to link rollover
732         performance when links' containing blocks are table cells.
733         
734         * khtml/rendering/render_table.cpp:
735         (RenderTableCell::repaint):
736
737 2002-11-21  David Hyatt  <hyatt@apple.com>
738
739         Fix <font> so that behaves just like <i>, <b>, etc. Stop
740         the (incorrect) allowance of blocks inside <font> tags.
741         This fixes the mispositioning on avoyagetoarcturus.blogspot.com
742         and fixes the vertical gaps on www.ve3d.com.
743         
744         * khtml/html/dtd.cpp:
745         (DOM::checkChild):
746
747 2002-11-21  Maciej Stachowiak  <mjs@apple.com>
748
749         * Makefile.am: Pass symroots for this tree to pbxbuild.
750
751 2002-11-21  David Hyatt  <hyatt@apple.com>
752
753         Fixed for tables.  Make the percentage height calculation
754         more robust.  Also add a hack for replaced elements to
755         subtract out their margins when computing percentage widths.
756         This keeps them from spilling out of table cells.
757         
758         * khtml/rendering/render_box.cpp:
759         (RenderBox::calcReplacedWidth):
760         (RenderBox::calcReplacedHeight):
761         * khtml/rendering/render_table.cpp:
762         (RenderTable::layoutRows):
763         * khtml/xml/dom_nodeimpl.h:
764
765 === Alexander-33 ===
766
767 2002-11-21  Richard Williamson   <rjw@apple.com>
768
769         Fixed from SK's copy/paste whitespace issue.
770         This fixes 3076236 and a regression due to additional whitespace
771         in the DOM.
772         
773         * kwq/WebCoreBridge.mm:
774         (attributedString):
775
776 2002-11-21  David Hyatt  <hyatt@apple.com>
777
778         Fix mac.com regression (and weather.com regression).
779         
780         * khtml/rendering/bidi.cpp:
781         (RenderFlow::findNextLineBreak):
782
783 2002-11-21  Richard Williamson   <rjw@apple.com>
784
785         Fixed performance regression!  Argh.
786         
787         * khtml/rendering/font.cpp:
788         (Font::width):
789
790 2002-11-21  Darin Adler  <darin@apple.com>
791
792         * force-js-clean-timestamp: Trigger a rebuild because of the
793         size change in ValueImp.
794
795 2002-11-21  Darin Adler  <darin@apple.com>
796
797         - fixed 3107286 -- REGRESSION: unrepro assertion failure in KWQKHTMLPart.mm keyEvent
798
799         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent):
800         Handle case of nil document as well as case of nil focus node.
801
802         * kwq/WebCoreBridge.mm: Tweak whitespace.
803
804 2002-11-20  Darin Adler  <darin@apple.com>
805
806         - fixed 3107383 -- clicking link on cnet.com leads to assertion failure
807
808         When we removed a frame, we were leaving behind an empty WebView. Yuck.
809
810         * kwq/KWQScrollView.mm:
811         (QScrollView::addChild): Use the new getOuterView.
812         (QScrollView::removeChild): Ditto. This was the bug fix.
813         * kwq/KWQWidget.h: Add getOuterView.
814         * kwq/KWQWidget.mm:
815         (QWidget::frameGeometry): Use the new getOuterView.
816         (QWidget::setFrameGeometry): Ditto.
817         (QWidget::getOuterView): Added. Does the WebCoreFrameView magic to find
818         the WebView instead of the WebHTMLView. Yuck.
819         (QWidget::paint): Use the new getOuterView.
820
821 2002-11-20  Darin Adler  <darin@apple.com>
822
823         * force-js-clean-timestamp: Again.
824
825 2002-11-20  David Hyatt  <hyatt@apple.com>
826
827         Fix the mac.com line-breaking bug.  This was not a regression
828         but was present in Konq.
829         
830         * khtml/rendering/bidi.cpp:
831         (RenderFlow::findNextLineBreak):
832
833 2002-11-20  Maciej Stachowiak  <mjs@apple.com>
834
835         * force-js-clean-timestamp: Work around PB lameness yet again.
836
837 2002-11-19  Darin Adler  <darin@apple.com>
838
839         * force-js-clean-timestamp: Make other people's builds work.
840
841 2002-11-19  David Hyatt  <hyatt@apple.com>
842
843         I screwed up the line breaking for inline replaced elements.
844         
845         * khtml/rendering/render_flow.cpp:
846         (RenderFlow::calcInlineMinMaxWidth):
847
848 2002-11-19  Darin Adler  <darin@apple.com>
849
850         - another atomic identifier scrub pass; make the conversion to Identifier explicit
851
852         * khtml/ecma/kjs_html.cpp:
853         (KJS::HTMLCollection::tryCall): Add explicit Identifier() conversion.
854         (KJS::HTMLCollectionProtoFunc::tryCall): Ditto.
855         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): And again.
856
857 2002-11-19  David Hyatt  <hyatt@apple.com>
858
859         Fix for 3049663.  Table cells don't grow to accommodate block
860         overflow.
861         
862         * khtml/rendering/bidi.cpp:
863         (RenderFlow::layoutInlineChildren):
864         * khtml/rendering/render_flow.cpp:
865         (RenderFlow::RenderFlow):
866         (RenderFlow::layout):
867         (RenderFlow::layoutBlockChildren):
868         * khtml/rendering/render_flow.h:
869         * khtml/rendering/render_object.h:
870
871 2002-11-19  Darin Adler  <darin@apple.com>
872
873         - next step towards atomic identifiers; Identifier is no longer derived from UString
874
875         * khtml/ecma/kjs_binding.cpp:
876         (Identifier::string): Added.
877         (Identifier::qstring): Added.
878
879         * khtml/ecma/kjs_binding.h:
880         * khtml/ecma/kjs_css.cpp:
881         (jsNameToProp):
882         (DOMCSSStyleDeclaration::tryPut):
883         (DOMStyleSheet::tryPut):
884         (DOMStyleSheetList::tryGet):
885         (DOMMediaList::tryGet):
886         (DOMCSSRuleList::tryGet):
887         (DOMCSSValueList::tryGet):
888         * khtml/ecma/kjs_dom.cpp:
889         (DOMNodeList::hasProperty):
890         (DOMNodeList::tryGet):
891         (DOMNodeListFunc::DOMNodeListFunc):
892         (DOMElement::tryGet):
893         (DOMNamedNodeMap::hasProperty):
894         (DOMNamedNodeMap::tryGet):
895         (DOMNamedNodesCollection::tryGet):
896         * khtml/ecma/kjs_html.cpp:
897         (KJS::HTMLDocument::tryGet):
898         (HTMLElementFunction::HTMLElementFunction):
899         (KJS::HTMLElement::putValue):
900         (KJS::HTMLCollection::hasProperty):
901         (KJS::HTMLCollection::tryGet):
902         (KJS::HTMLSelectCollection::tryPut):
903         (OptionConstructorImp::OptionConstructorImp):
904         * khtml/ecma/kjs_navigator.cpp:
905         (Plugins::get):
906         (MimeTypes::get):
907         (Plugin::get):
908         * khtml/ecma/kjs_window.cpp:
909         (WindowFunc::tryCall):
910         (FrameArray::get):
911         Use lengthPropertyName instead of "length" for better speed.
912
913 2002-11-19  David Hyatt  <hyatt@apple.com>
914
915         Fix backgrounds not painting in deployment builds.
916         * khtml/rendering/render_box.cpp:
917         (RenderBox::paintBackground):
918
919 2002-11-19  Darin Adler  <darin@apple.com>
920
921         - a first step towards atomic identifiers in JavaScript
922
923         Most places that work with identifiers now use Identifier
924         instead of UString.
925
926         * khtml/ecma/kjs_binding.cpp:
927         * khtml/ecma/kjs_binding.h:
928         * khtml/ecma/kjs_css.cpp:
929         * khtml/ecma/kjs_css.h:
930         * khtml/ecma/kjs_dom.cpp:
931         * khtml/ecma/kjs_dom.h:
932         * khtml/ecma/kjs_events.cpp:
933         * khtml/ecma/kjs_events.h:
934         * khtml/ecma/kjs_html.cpp:
935         * khtml/ecma/kjs_html.h:
936         * khtml/ecma/kjs_navigator.cpp:
937         * khtml/ecma/kjs_navigator.h:
938         * khtml/ecma/kjs_range.cpp:
939         * khtml/ecma/kjs_range.h:
940         * khtml/ecma/kjs_traversal.cpp:
941         * khtml/ecma/kjs_traversal.h:
942         * khtml/ecma/kjs_views.cpp:
943         * khtml/ecma/kjs_views.h:
944         * khtml/ecma/kjs_window.cpp:
945         * khtml/ecma/kjs_window.h:
946
947 2002-11-18  Darin Adler  <darin@apple.com>
948
949         * force-js-clean-timestamp: Another Object change.
950
951 2002-11-18  David Hyatt  <hyatt@apple.com>
952
953         Implement phased painting to correct the paint order of blocks,
954         floats, and inlines.
955         
956         * khtml/rendering/render_body.cpp:
957         (RenderBody::paintBoxDecorations):
958         * khtml/rendering/render_body.h:
959         * khtml/rendering/render_box.cpp:
960         (RenderBox::paint):
961         (RenderBox::paintBoxDecorations):
962         (RenderBox::paintBackground):
963         * khtml/rendering/render_box.h:
964         * khtml/rendering/render_br.h:
965         * khtml/rendering/render_flow.cpp:
966         (RenderFlow::paint):
967         (RenderFlow::paintObject):
968         (RenderFlow::paintFloats):
969         (RenderFlow::addChild):
970         * khtml/rendering/render_flow.h:
971         * khtml/rendering/render_html.cpp:
972         (RenderHtml::setStyle):
973         (RenderHtml::paint):
974         (RenderHtml::paintBoxDecorations):
975         * khtml/rendering/render_html.h:
976         * khtml/rendering/render_image.cpp:
977         (RenderImage::setStyle):
978         (RenderImage::paintObject):
979         * khtml/rendering/render_image.h:
980         * khtml/rendering/render_layer.cpp:
981         (RenderLayer::paint):
982         (RenderLayer::nodeAtPoint):
983         * khtml/rendering/render_list.cpp:
984         (RenderListItem::paint):
985         (RenderListItem::paintObject):
986         (RenderListMarker::paint):
987         (RenderListMarker::paintObject):
988         * khtml/rendering/render_list.h:
989         * khtml/rendering/render_object.cpp:
990         (RenderObject::RenderObject):
991         (RenderObject::paintBorder):
992         (RenderObject::paintOutline):
993         (RenderObject::paint):
994         (RenderObject::dump):
995         (RenderObject::setStyle):
996         * khtml/rendering/render_object.h:
997         * khtml/rendering/render_replaced.cpp:
998         (RenderReplaced::paint):
999         (RenderWidget::setStyle):
1000         (RenderWidget::paintObject):
1001         * khtml/rendering/render_replaced.h:
1002         * khtml/rendering/render_root.cpp:
1003         (RenderRoot::paint):
1004         (RenderRoot::paintObject):
1005         * khtml/rendering/render_root.h:
1006         * khtml/rendering/render_table.cpp:
1007         (RenderTable::paint):
1008         (RenderTableCell::RenderTableCell):
1009         (RenderTableCell::setStyle):
1010         (RenderTableCell::paint):
1011         (RenderTableCell::paintBoxDecorations):
1012         * khtml/rendering/render_table.h:
1013         * khtml/rendering/render_text.cpp:
1014         (TextSlave::paintSelection):
1015         (TextSlave::paintDecoration):
1016         (TextSlave::paintBoxDecorations):
1017         (RenderText::paintObject):
1018         (RenderText::paint):
1019         (RenderText::paintTextOutline):
1020         * khtml/rendering/render_text.h:
1021
1022 2002-11-18  Darin Adler  <darin@apple.com>
1023
1024         * force-js-clean-timestamp: I changed the size of ObjectImp.
1025
1026 2002-11-18  David Hyatt  <hyatt@apple.com>
1027
1028         Fix crazyapplerumors.com.  I had the logic backwards. CSS
1029         padding beats cellpadding.
1030         
1031         * khtml/rendering/render_table.cpp:
1032         (RenderTableCell::paddingTop):
1033         (RenderTableCell::paddingBottom):
1034         (RenderTableCell::paddingLeft):
1035         (RenderTableCell::paddingRight):
1036
1037 2002-11-18  David Hyatt  <hyatt@apple.com>
1038
1039         Fix crash on espn.com.
1040         
1041         * khtml/rendering/render_object.cpp:
1042         (RenderObject::setLayouted):
1043
1044 2002-11-18  David Hyatt  <hyatt@apple.com>
1045
1046         Fix my <konqblock> regression on ign.com.
1047         
1048         * khtml/html/htmlparser.cpp:
1049         (KHTMLParser::insertNode):
1050
1051 2002-11-18  Maciej Stachowiak  <mjs@apple.com>
1052
1053         * force-js-clean-timestamp: Rebuild for JSC changes.
1054
1055 2002-11-18  Darin Adler  <darin@apple.com>
1056
1057         * force-js-clean-timestamp: Touch files to make the build work.
1058
1059 2002-11-18  Richard Williamson   <rjw@apple.com>
1060
1061         Fixed 3103004.  REGRESSION: word-spacing/letter-spacing applied when they shouldn't be
1062         This was actually NOT a regression.  khtml wasn't recognizing the 'normal' value for the
1063         word and letter spacing properties.  So it incorrectly substituted a -1 spacing.
1064
1065         * khtml/css/cssstyleselector.cpp:
1066
1067 2002-11-18  David Hyatt  <hyatt@apple.com>
1068
1069         Fix render_body's repaint method.
1070         
1071         * khtml/rendering/render_body.cpp:
1072         (RenderBody::repaint):
1073         * khtml/rendering/render_body.h:
1074
1075 2002-11-18  Maciej Stachowiak  <mjs@apple.com>
1076
1077         - fixed 3103711 - Alexander does not complete JavaScript iBench
1078         
1079         * khtml/ecma/kjs_html.cpp:
1080         (KJS::HTMLDocument::putValue): Resolve URL for location property
1081         relative to the base URL of the frame where the JavaScript is
1082         executing, not the target frame.
1083
1084 2002-11-18  David Hyatt  <hyatt@apple.com>
1085
1086         Yay! Found the main cause of :hover feedback being so
1087         slow on links.  The diff function for styles was
1088         considering a color change as a containing block layout
1089         instead of just a repaint.  With this fix, we will no
1090         longer lay out when you hover over a link whose color
1091         is different (remember that laying out causes the whole
1092         page to repaint).
1093
1094         There's still some work to do to optimize this further,
1095         since we do repaint the containing block still, but this
1096         should be good enough for beta.
1097         
1098         * khtml/rendering/render_style.cpp:
1099         (RenderStyle::diff):
1100
1101 2002-11-17  David Hyatt  <hyatt@apple.com>
1102
1103         Don't use the immediate painting code for now.  Revert
1104         to non-immediate code.  Using the non-immediate path I
1105         have managed to fix all the regressions except for 
1106         mrskin losing updates in its marquee (this works only with
1107         immediate painting) and the general scrollbar regression 
1108         (which I just don't understand).
1109         
1110         * khtml/html/html_documentimpl.cpp:
1111         (HTMLDocumentImpl::close):
1112         * khtml/rendering/render_object.cpp:
1113         (RenderObject::setLayouted):
1114         * khtml/rendering/render_root.cpp:
1115         (RenderRoot::repaintRectangle):
1116         (RenderRoot::repaint):
1117
1118 2002-11-17  David Hyatt  <hyatt@apple.com>
1119
1120         More refinements to immediate painting code.  Still doesn't
1121         fix the scrollbar problem though. :(
1122         
1123         * khtml/html/html_documentimpl.cpp:
1124         (HTMLDocumentImpl::close):
1125         * khtml/khtmlview.cpp:
1126         (KHTMLView::init):
1127         (KHTMLView::timerEvent):
1128
1129 2002-11-17  David Hyatt  <hyatt@apple.com>
1130
1131         Make immediate repainting of the root element more robust.
1132         
1133         * khtml/html/html_documentimpl.cpp:
1134         (HTMLDocumentImpl::close):
1135         * khtml/khtmlview.cpp:
1136         (KHTMLView::unscheduleRepaint):
1137         * khtml/khtmlview.h:
1138         * khtml/rendering/render_root.cpp:
1139         (RenderRoot::repaint):
1140
1141 2002-11-17  Darin Adler  <darin@apple.com>
1142
1143         - moved all NSURL and CFURL use out of WebCore
1144
1145         * kwq/KWQKURL.h: Remove getNSURL() and getNSURLFromString().
1146         * kwq/KWQKURL.mm: Ditto.
1147
1148         * kwq/KWQKCookieJar.mm:
1149         (KWQKCookieJar::cookie): Pass an NSString instead of an NSURL.
1150         (KWQKCookieJar::setCookie): Ditto.
1151         * kwq/KWQKHTMLPart.mm:
1152         (KWQKHTMLPart::openURL): Ditto.
1153         (KWQKHTMLPart::openURLRequest): Ditto.
1154         (KWQKHTMLPart::submitForm): Ditto.
1155         (KWQKHTMLPart::urlSelected): Ditto.
1156         (KWQKHTMLPart::createPart): Ditto.
1157         (KWQKHTMLPart::redirectionTimerStartedOrStopped): Ditto.
1158         (KWQKHTMLPart::userAgent): Ditto.
1159         (KWQKHTMLPart::requestedURLString): Receive an NSString instead of an NSURL.
1160         * kwq/KWQKHTMLPartBrowserExtension.mm:
1161         (KHTMLPartBrowserExtension::createNewWindow): Pass an NSString instead of an NSURL.
1162         (KHTMLPartBrowserExtension::setIconURL): Ditto.
1163         (KHTMLPartBrowserExtension::setTypedIconURL): Ditto.
1164         * kwq/KWQKJavaAppletWidget.h: Remove use of NSURL, just use QString instead.
1165         * kwq/KWQKJavaAppletWidget.mm:
1166         (KJavaAppletWidget::KJavaAppletWidget): No need to set the QString to nil.
1167         (KJavaAppletWidget::~KJavaAppletWidget): No need to release the QString.
1168         (KJavaAppletWidget::showApplet): Pass an NSString instead of an NSURL.
1169         * kwq/KWQLoader.mm:
1170         (KWQServeRequest): Pass an NSString instead of an NSURL.
1171         (KWQCheckCacheObjectStatus): Ditto.
1172         * kwq/WebCoreBridge.h: Change all methods to use NSString instead of NSURL.
1173         * kwq/WebCoreBridge.mm:
1174         (-[WebCoreBridge openURL:reload:headers:]): Receive an NSString instead of an NSURL.
1175         (-[WebCoreBridge completeURLForDOMString:]): Return an NSString instead of an NSURL.
1176         (-[WebCoreBridge elementAtPoint:]): WebCoreElementLinkURL and WebCoreElementImageURL
1177         are now strings.
1178         (-[WebCoreBridge URL]): Return an NSString instead of an NSURL.
1179         * kwq/WebCoreCookieAdapter.h: Change all methods to use NSString instead of NSURL.
1180         * kwq/WebCoreCookieAdapter.m:
1181         (-[WebCoreCookieAdapter cookiesForURL:]): Ditto.
1182         (-[WebCoreCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
1183
1184         * khtml/rendering/render_applet.cpp: (RenderApplet::processArguments):
1185         Tweaked this file a tiny bit, mainly because header dependencies weren't working
1186         and we need this file to be recompiled due to inline function changes.
1187
1188 2002-11-17  David Hyatt  <hyatt@apple.com>
1189
1190         Add support for specifying whether repaint should be immediate or
1191         not.  Default to async for now to maintain current behavior.
1192
1193         For clipped object repainting (e.g., livepage.apple.com and mrskin)
1194         switch to immediate repainting, since this makes the marquees
1195         faster, stops dropping updates, and keeps the hover effects and
1196         painting on the rest of the page fast (since the marquee rect doesn't
1197         get unioned with links or images that you roll over).
1198         
1199         * khtml/rendering/render_box.cpp:
1200         (RenderBox::repaint):
1201         (RenderBox::repaintRectangle):
1202         * khtml/rendering/render_box.h:
1203         * khtml/rendering/render_html.cpp:
1204         (RenderHtml::repaint):
1205         * khtml/rendering/render_html.h:
1206         * khtml/rendering/render_object.cpp:
1207         (RenderObject::setLayouted):
1208         (RenderObject::repaintRectangle):
1209         * khtml/rendering/render_object.h:
1210         * khtml/rendering/render_root.cpp:
1211         (RenderRoot::repaintRectangle):
1212         (RenderRoot::repaint):
1213         * khtml/rendering/render_root.h:
1214         * khtml/rendering/render_table.cpp:
1215         (RenderTableRow::repaint):
1216         (RenderTableCell::repaintRectangle):
1217         (RenderTableCell::repaint):
1218         * khtml/rendering/render_table.h:
1219         * khtml/rendering/render_text.cpp:
1220         (RenderText::repaint):
1221         * khtml/rendering/render_text.h:
1222
1223 2002-11-17  Maciej Stachowiak  <mjs@apple.com>
1224
1225         - fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
1226         
1227         * khtml/html/html_formimpl.cpp:
1228         (HTMLGenericFormElementImpl::defaultEventHandler):
1229         * kwq/KWQEvent.h:
1230         * kwq/KWQEvent.mm:
1231         (QKeyEvent::QKeyEvent): Implemented.
1232         (QKeyEvent::key): Likewise.
1233         (QKeyEvent::state): Likewise.
1234         (QKeyEvent::accept): Likewise.
1235         (QKeyEvent::ignore): Likewise.
1236         (QKeyEvent::isAutoRepeat): Likewise.
1237         (QKeyEvent::text): Likewise.
1238         (QKeyEvent::ascii): Likewise.
1239         (QKeyEvent::count): Likewise.
1240         (QKeyEvent::isAccepted): Likewise.
1241         * kwq/KWQKHTMLPart.h:
1242         * kwq/KWQKHTMLPart.mm:
1243         (KWQKHTMLPart::keyEvent): Translate the event to a QEvent and send
1244         it through the DOM event mechanism.
1245         * kwq/WebCoreBridge.h:
1246         * kwq/WebCoreBridge.mm:
1247         (-[WebCoreBridge interceptKeyEvent:toView:]): Pass event to the
1248         KWQ part.
1249         * kwq/WebCoreBridgePrivate.h: Added.
1250         * WebCore.pbproj/project.pbxproj: Added new file.
1251
1252 2002-11-17  David Hyatt  <hyatt@apple.com>
1253
1254         Don't discard linefeeds after elements with no close tag
1255         (e.g., <img> or <input>).
1256         
1257         * khtml/html/htmltokenizer.cpp:
1258         (HTMLTokenizer::parseTag):
1259
1260 2002-11-17  David Hyatt  <hyatt@apple.com>
1261
1262         Fix for slashdot table mispositioning in the upper right.
1263         Now that we fixed <td> to set to -konq-center when align="center"
1264         is specified, the style rules are no longer necessary in
1265         html4.css (and are in fact harmful).
1266         
1267         * khtml/css/html4.css:
1268
1269 2002-11-17  David Hyatt  <hyatt@apple.com>
1270
1271         Fix for 3038168.  Duh.  Remember to be case-insensitive when
1272         checking the type of the <style> attribute.
1273         
1274         * khtml/html/html_headimpl.cpp:
1275         (HTMLStyleElementImpl::parseAttribute):
1276
1277 2002-11-17  David Hyatt  <hyatt@apple.com>
1278
1279         This is a fix for bug 3058470.  The bug was that replaced elements
1280         were computing their min and max widths wrong.  Specifically they
1281         were not adding in borders and padding!  This means that any image
1282         with a border around it would potentially break to another line
1283         too early.
1284
1285         Once I fixed this for replaced elements I then went in and
1286         fixed form controls.  I added two APPLE_CHANGES features for
1287         our form controls.  First I overrode the border/padding functions
1288         to always return 0 for all form controls, since no Aqua control
1289         honors border/padding (nor should it).  This fixes the menulist
1290         at the top of wired.com.
1291
1292         Second I made sure that certain controls will ignore CSS-specified
1293         heights and always use their intrinsic heights.  These include
1294         <select size=1> (combobox), single line text fields, and buttons.
1295         I allow listboxes and textareas to honor height.
1296         
1297         * khtml/rendering/render_box.cpp:
1298         (RenderBox::contentWidth):
1299         (RenderBox::contentHeight):
1300         (RenderBox::calcWidth):
1301         (RenderBox::calcHeight):
1302         * khtml/rendering/render_form.h:
1303         * khtml/rendering/render_image.h:
1304         * khtml/rendering/render_object.h:
1305         * khtml/rendering/render_replaced.cpp:
1306         (RenderReplaced::calcMinMaxWidth):
1307
1308 2002-11-16  David Hyatt  <hyatt@apple.com>
1309
1310         Fix for 3078240, <pre> should not establish its own text-align,
1311         but should instead inherit from its parent.
1312         
1313         * khtml/css/html4.css:
1314
1315 2002-11-16  David Hyatt  <hyatt@apple.com>
1316
1317         Rewrite the calculation of min and max width for <pre>s.  This
1318         is the second stage of the whitespace rewrite (third stage
1319         will be to stop morphing newlines).
1320
1321         This should fix a bunch of bugs, e.g., especially if you ever
1322         did the following: 
1323         <td><pre><span>foo</span>
1324            more text after the newline</pre></td>
1325
1326         The new code now properly handles building up the correct min/max
1327         width for the <pre>.
1328
1329         If anyone recalls seeing any bugs like this, let me know and
1330         I can close them.
1331         
1332         * khtml/rendering/render_flow.cpp:
1333         (RenderFlow::calcInlineMinMaxWidth):
1334         * khtml/rendering/render_text.cpp:
1335         (RenderText::trimmedMinMaxWidth):
1336         (RenderText::calcMinMaxWidth):
1337
1338 2002-11-16  David Hyatt  <hyatt@apple.com>
1339
1340         Fix more edge cases with whitespace handling that caused some
1341         lines to be too long (and unselectable).
1342         
1343         * khtml/rendering/bidi.cpp:
1344         (appendRunsForObject):
1345
1346 2002-11-16  David Hyatt  <hyatt@apple.com>
1347
1348         Make <caption> error-handling more robust.
1349
1350         Specifically, handle <tr> and <td> misplaced inside
1351         <caption>s and still make them be part of the table.
1352         
1353         * khtml/html/htmlparser.cpp:
1354         (KHTMLParser::insertNode):
1355
1356 2002-11-16  David Hyatt  <hyatt@apple.com>
1357
1358         Implement the collapsing top margin quirk for <body> (the same
1359         quirk used for table cells) and make sure it works even when the
1360         <body> has margins of its own.
1361
1362         Fixes www.eflightpacks.com (the top frame was shoved down because
1363         the <p> margin didn't collapse away).
1364         
1365         * khtml/rendering/render_flow.cpp:
1366         (RenderFlow::layoutBlockChildren):
1367
1368 2002-11-16  David Hyatt  <hyatt@apple.com>
1369
1370         Sigh. Amazingly enough, all other browsers seem to treat
1371         stray </p>s as <p></p> (Mac IE treats it as <br>, but
1372         I'm going with the WinIE/Gecko behavior of <p></p>).
1373
1374         This fixes bug 3063699.
1375         
1376         * khtml/html/htmlparser.cpp:
1377         (KHTMLParser::processCloseTag):
1378         (KHTMLParser::popBlock):
1379
1380 2002-11-15  David Hyatt  <hyatt@apple.com>
1381
1382         Fix for livepage.apple.com slowness.  Ensure that 
1383         clipped regions only paint their own rectangles
1384         when they or any children inside of them need to
1385         be reflowed.
1386
1387         This fix is intended as an interim band-aid for a much
1388         larger problem (that all of layout doesn't just auto-invalidate
1389         the regions it needs to, and that DHTML doesn't have
1390         specialized behavior to avoid async repainting or even
1391         relayout when only a repaint is required).
1392         
1393         * khtml/khtmlview.cpp:
1394         (KHTMLView::timerEvent):
1395         * khtml/rendering/render_container.cpp:
1396         (RenderContainer::removeChildNode):
1397         (RenderContainer::appendChildNode):
1398         (RenderContainer::insertChildNode):
1399         (RenderContainer::layout):
1400         * khtml/rendering/render_object.cpp:
1401         (RenderObject::setLayouted):
1402         (RenderObject::scheduleRelayout):
1403         * khtml/rendering/render_root.cpp:
1404         (RenderRoot::repaintRectangle):
1405
1406 2002-11-15  David Hyatt  <hyatt@apple.com>
1407
1408         Fix the problem where the last lines of paragrpahs were getting
1409         justified incorrectly.
1410         
1411         * khtml/rendering/bidi.cpp:
1412         (RenderFlow::findNextLineBreak):
1413
1414 2002-11-15  David Hyatt  <hyatt@apple.com>
1415
1416         Fix bustage with <nobr> tags.  Inline nowrap elements were
1417         breaking on images when they shouldn't have.
1418         
1419         * khtml/rendering/render_flow.cpp:
1420         (RenderFlow::calcInlineMinMaxWidth):
1421
1422 2002-11-15  Ken Kocienda  <kocienda@apple.com>
1423
1424         Fix for this bug:
1425
1426         Radar 3102708 (REGRESSION: assertion failure backing up to page)
1427
1428         KWQCheckCacheObjectStatus did not create an NSURL in a way that 
1429         dealt with the fact that we handle non-NSURL-compliant URL strings.
1430         I have fixed it so it does, and in the process, factored out
1431         the code to do it into a new KURL static function (KURL::getNSURLFromString).
1432
1433         * kwq/KWQKURL.h:
1434         * kwq/KWQKURL.mm:
1435         (KURL::getNSURL): Now calls through to KURL::getNSURLFromString
1436         (KURL::encode_string)
1437         (KURL::getNSURLFromString): New function to handle NSURL creation
1438         * kwq/KWQLoader.mm:
1439         (KWQCheckCacheObjectStatus)
1440
1441 2002-11-15  David Hyatt  <hyatt@apple.com>
1442
1443         Fix asserts in tables.
1444         
1445         * khtml/rendering/render_table.cpp:
1446         (RenderTableRow::layout):
1447
1448 2002-11-15  David Hyatt  <hyatt@apple.com>
1449
1450         Fix for whitespace regressions that caused text overlapping
1451         and text spilling.
1452         
1453         * khtml/rendering/bidi.cpp:
1454         (appendRunsForObject):
1455
1456 2002-11-15  David Hyatt  <hyatt@apple.com>
1457
1458         Fix newlines getting stripped out of textareas by not making
1459         rendertext objects for children of textareas.
1460         
1461         * khtml/rendering/render_form.h:
1462         * khtml/rendering/render_object.h:
1463         * khtml/xml/dom_textimpl.cpp:
1464         (TextImpl::attach):
1465
1466 2002-11-15  David Hyatt  <hyatt@apple.com>
1467
1468         Make <form> inside <table> stay inside the <table> but demote
1469         itself to a leaf.  Then the children of the <form> are treated
1470         as though they occurred underneath the <table> itself.  Everything
1471         KHTML does with this is completely wrong but this band-aid should
1472         hopefully suffice until 1.0.
1473
1474         Also allowing <input type="hidden"> to be constructed and attached
1475         under <table>s.  Since they have no render objects this is safe.
1476         Again, total hack, since CSS2 anonymous table construction should be
1477         implemented and that would have fixed all this.
1478
1479         This collection of hacks makes travelocity render correctly on the
1480         PLT.
1481         
1482         * khtml/css/html4.css:
1483         * khtml/html/dtd.cpp:
1484         (DOM::checkChild):
1485         * khtml/html/html_tableimpl.cpp:
1486         (HTMLTableElementImpl::addChild):
1487         * khtml/html/htmlparser.cpp:
1488         (KHTMLParser::parseToken):
1489         (KHTMLParser::insertNode):
1490
1491 2002-11-15  David Hyatt  <hyatt@apple.com>
1492
1493         Fix Hixie's blog.  Background images can be transparent, so
1494         if the root's color isn't valid always do a fixup even if you
1495         have a valid background image.
1496         
1497         * khtml/rendering/render_html.cpp:
1498         (RenderHtml::printBoxDecorations):
1499
1500 2002-11-15  Darin Adler  <darin@apple.com>
1501
1502         * kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry):
1503         Oops. Make that display:YES.
1504
1505 2002-11-15  Darin Adler  <darin@apple.com>
1506
1507         - fixed 3090219 -- Window jumps up and down when loading nikon page
1508
1509         * kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry):
1510         Don't pass display:NO when resizing the window.
1511
1512 2002-11-15  Ken Kocienda  <kocienda@apple.com>
1513
1514         Remove characters RFC 2396 describes as "unwise" from the
1515         BadChar character class. This causes them to remain unescaped
1516         in KURL objects. As a result, some extra escaping needed to 
1517         be added into the getNSURL() function to enable NSURL 
1518         objects to be created using a KURL.
1519
1520         This enables me to fix this bug:
1521         Radar 3050437 (Clicking link leads to page with garbled content)
1522
1523         Note, however, that my fix for 3050437 relies on this bug remaining unfixed:
1524
1525         Radar 3102332 (Square bracket characters "sneak through" CFURL illegal character checks)
1526
1527         * kwq/KWQKURL.mm:
1528         (KURL::getNSURL)
1529
1530 2002-11-15  Darin Adler  <darin@apple.com>
1531
1532         - fixed 3027460 -- text areas don't have focus rectangles
1533         - fixed 2937204 -- text areas have solid black borders
1534
1535         * kwq/KWQSignal.mm: (KWQSignal::disconnect):
1536         Add a special case so we don't hear about finishedParsing all the time.
1537
1538         * kwq/KWQTextArea.mm:
1539         (-[KWQTextArea initWithFrame:]): Use a bezel border, not a line border.
1540         (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]): Fix bug where it would
1541         return a bogus value for an empty text area.
1542         (-[KWQTextArea setCursorPositionToIndex:inParagraph:]): Use setSelectedRange:
1543         ratherr than setMarkedText:selectedRange:.
1544         (-[KWQTextArea drawRect:]): Draw a focus ring if our text view is first responder.
1545         (-[KWQTextArea _KWQ_setKeyboardFocusRingNeedsDisplay]): Added.
1546         (-[KWQTextAreaTextView becomeFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay.
1547         (-[KWQTextAreaTextView resignFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay.
1548         (-[NSView _KWQ_setKeyboardFocusRingNeedsDisplay]): Calls the same thing on parent.
1549
1550         * WebCore.pbproj/project.pbxproj: PB is a cruel master.
1551
1552 2002-11-15  Maciej Stachowiak  <mjs@apple.com>
1553
1554         * khtml/html/html_formimpl.cpp:
1555         (HTMLInputElementImpl::attach): Removed a stray printf.
1556
1557 2002-11-14  Darin Adler  <darin@apple.com>
1558
1559         - fixed most of the problems with OPTGROUP
1560
1561         * khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
1562         Make OPTGROUPs pop out of other unclosed OPTGROUPs, not just out of options.
1563
1564         * kwq/KWQListBox.h: Add private member function.
1565         * kwq/KWQListBox.mm:
1566         (QListBox::insertItem): Use shared insertItem function.
1567         (QListBox::insertGroupLabel): Create an attributed string for the group label,
1568         with bold font.
1569         (-[KWQListBoxTableViewDelegate tableView:shouldSelectRow:]): Return YES only
1570         for the plain strings, that way you can't select the group labels.
1571
1572         * WebCore.pbproj/project.pbxproj: Let PB do its thing.
1573
1574 2002-11-14  David Hyatt  <hyatt@apple.com>
1575
1576         Fix spinner.com mislayout on the PLT.  Make sure 
1577         <input type=image> honors the width attribute and
1578         make sure that its render object calls updateFromElement.
1579         
1580         * khtml/html/html_formimpl.cpp:
1581         (HTMLInputElementImpl::parseAttribute):
1582         (HTMLInputElementImpl::attach):
1583
1584 2002-11-14  David Hyatt  <hyatt@apple.com>
1585
1586         Move text measurement and layout beyond onload.  This
1587         shoudl speed up i-bench substantially and morrison's
1588         PLT test slightly.
1589
1590         Also allow <table>s as children of <p> and <h1>-<h6>.
1591         This fixes floats on slashdot.org (the left side) and
1592         the floating tables in articles on wired.com.
1593         
1594         * khtml/html/dtd.cpp:
1595         (DOM::checkChild):
1596         * khtml/html/html_documentimpl.cpp:
1597         (HTMLDocumentImpl::HTMLDocumentImpl):
1598         (HTMLDocumentImpl::close):
1599         * khtml/html/html_documentimpl.h:
1600         * khtml/html/htmlparser.cpp:
1601         (KHTMLParser::insertNode):
1602
1603 2002-11-14  Richard Williamson  <rjw@apple.com>
1604
1605         Fixed 3099505.  With the recent white space changes, multiple slaves may
1606         be created for contiguous text on the same line.  The fix changes the
1607         iteration order of over the slave array.  Now, when searching for the end
1608         point of a line we'll always find the last slave on a line first.
1609         
1610         * khtml/khtml_part.cpp:
1611         (lastSlaveAt):
1612
1613 2002-11-14  Darin Adler  <darin@apple.com>
1614
1615         - fixed 3095854 -- small select boxes get no scrollbar
1616
1617         * kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines):
1618         Always use a minimum of 4 lines.
1619
1620 === Alexander-32 ===
1621
1622 2002-11-14  Darin Adler  <darin@apple.com>
1623
1624         - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
1625
1626         Don't force all redirects to be reloads, because the ones from JavaScript must
1627         not be. Maybe a better solution post-Alex-32 will be to pass a flag that distinguishes
1628         redirects from other location changes.
1629
1630         * khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Don't ignore the anchor when
1631         comparing URLs to see if they should be a reload. We'll still do a reload if the URLs
1632         are actually equal, but if they differ in anchor we will just go to the anchor.
1633         This is the bug fix.
1634
1635         * kwq/WebCoreBridge.h: Add reload parameter.
1636         * kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload
1637         parameter into the URLArgs.
1638
1639 2002-11-14  Darin Adler  <darin@apple.com>
1640
1641         - fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
1642
1643         * kwq/WebCoreBridge.h: Add needsLayout.
1644         * kwq/WebCoreBridge.mm: (-[WebCoreBridge needsLayout]): Return true if the render
1645         tree root says "layouted" is false. It would be more elegant to use more of this
1646         WebCore layout logic and have less of our own on the WebKit side.
1647
1648         * WebCore.pbproj/project.pbxproj: Oh, that Project Builder.
1649
1650 2002-11-13  Darin Adler  <darin@apple.com>
1651
1652         - fixed 3100895 -- REGRESSION: Crash (was assertion) on http://www.w3.org/Style/CSS/
1653
1654         * khtml/rendering/render_text.h: Add an optional arena parameter to deleteSlaves.
1655         * khtml/rendering/render_text.cpp:
1656         (RenderText::detach): Pass the render arena in to deleteSlaves.
1657         (RenderText::deleteSlaves): Use the passed-in arena.
1658
1659 2002-11-13  Darin Adler  <darin@apple.com>
1660
1661         - fixed another crash on http://www.w3.org/Style/CSS/, but still not done
1662
1663         * khtml/rendering/render_box.cpp: (RenderBox::setStyle): Call renderArena()
1664         from RenderObject rather than going at the document directly. Safer because
1665         it works even when we don't have a node yet.
1666         * khtml/rendering/render_flow.cpp: (RenderFlow::addChild): Ditto.
1667         * khtml/rendering/render_layer.cpp:
1668         (RenderLayer::paint): Ditto.
1669         (RenderLayer::nodeAtPoint): Ditto.
1670         (RenderLayer::constructZTree): Ditto.
1671         * khtml/rendering/render_list.cpp:
1672         (RenderListItem::setStyle): Ditto.
1673         * khtml/rendering/render_text.cpp:
1674         (RenderText::deleteSlaves): Ditto.
1675         (RenderText::position): Ditto. This is the one that actually crashed.
1676
1677         * khtml/misc/makeattrs: Fixed handling of failure case.
1678         * khtml/misc/maketags: Ditto.
1679
1680         * WebCore.pbproj/project.pbxproj: Project Builder wanted to touch this.
1681
1682 2002-11-13  Darin Adler  <darin@apple.com>
1683
1684         - fixed 3100895 -- REGRESSION: Assertion on http://www.w3.org/Style/CSS/
1685
1686         A few arena-related fixes.
1687
1688         * khtml/rendering/bidi.h: Don't define the operator new without the arena parameter.
1689         That way, we get a link failure if we use it by accident, rather than an assert at runtime.
1690         It would be even better to get a compile-time error, but I don't know how to make that happen.
1691         * khtml/rendering/render_layer.h: Ditto.
1692         * khtml/rendering/render_object.h: Ditto.
1693         * khtml/rendering/render_text.h: Ditto.
1694
1695         * khtml/rendering/render_container.cpp:
1696         (RenderContainer::addChild): Create the RenderTable with the appropriate arena.
1697         (RenderContainer::insertPseudoChild): Create the RenderFlow objects with the appropriate arena.
1698
1699         * khtml/rendering/render_text.cpp: (RenderText::deleteSlaves): Don't try to get the arena
1700         when there are no slaves. This can happen after the element is nil, and in that case we will
1701         do a nil-dereference.
1702
1703 2002-11-13  Darin Adler  <darin@apple.com>
1704
1705         * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth):
1706         Use the "0" instead of the "x" as the canonical character for width.
1707         This is slightly wider and is better for credit card numbers, for example.
1708
1709         * WebCore.pbproj/project.pbxproj: Tweak.
1710
1711 2002-11-13  Darin Adler  <darin@apple.com>
1712
1713         - fixed 3083982 -- Logging into AOL gives null view
1714
1715         Turns out AOL was using a refresh header, which we were not supporting.
1716
1717         * khtml/khtml_part.h: Declare receivedFirstData, a private member function.
1718         * khtml/khtml_part.cpp:
1719         (KHTMLPart::receivedFirstData): Separate out the part of slotData we
1720         want to share, which really seems kinda separate anyway.
1721         (KHTMLPart::slotData): More of the same.
1722
1723         * kwq/KWQKHTMLPart.h: Declare addMetaData.
1724         * kwq/KWQKHTMLPart.mm:
1725         (KWQKHTMLPart::slotData): Call receivedFirstData instead of doing the same
1726         thing ourselves.
1727         (KWQKHTMLPart::addMetaData): Added. Puts metadata into the job.
1728
1729         * kwq/KWQKHTMLPartBrowserExtension.mm:
1730         (KHTMLPartBrowserExtension::createNewWindow): Fix bug where this was calling
1731         openURL: but meant to call loadURL:.
1732
1733         * kwq/WebCoreBridge.h: Add headers to openURL method. Remove setContentType.
1734         * kwq/WebCoreBridge.mm:
1735         (-[WebCoreBridge openURL:withHeaders:]): Handle Content-Type and Refresh.
1736         This method is big enough that I should probably move the guts to KWQKHTMLPart.
1737
1738         - other things
1739
1740         * kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): I overlooked something
1741         while doing my "bug fix" in here a while back. Change an assignment statement
1742         to an assert.
1743
1744 2002-11-13  David Hyatt  <hyatt@apple.com>
1745
1746         Fix for floats. Force relayout if collapsing margins
1747         have to adjust the position of an object.
1748         
1749         * khtml/rendering/render_flow.cpp:
1750         (RenderFlow::layoutBlockChildren):
1751
1752 2002-11-13  David Hyatt  <hyatt@apple.com>
1753
1754         Rewrite cellpadding to not use the style system at all and
1755         to make table cells just get the padding from the table
1756         itself (overriding style).
1757         
1758         * khtml/html/html_tableimpl.cpp:
1759         (HTMLTableElementImpl::HTMLTableElementImpl):
1760         (HTMLTableElementImpl::attach):
1761         (HTMLTableElementImpl::parseAttribute):
1762         (HTMLTableCellElementImpl::init):
1763         * khtml/html/html_tableimpl.h:
1764         * khtml/rendering/bidi.cpp:
1765         (RenderFlow::layoutInlineChildren):
1766         * khtml/rendering/render_box.cpp:
1767         (RenderBox::contentWidth):
1768         (RenderBox::contentHeight):
1769         * khtml/rendering/render_flow.cpp:
1770         (RenderFlow::layoutBlockChildren):
1771         (RenderFlow::leftOffset):
1772         (RenderFlow::rightOffset):
1773         (RenderFlow::calcMinMaxWidth):
1774         * khtml/rendering/render_object.h:
1775         * khtml/rendering/render_table.cpp:
1776         (RenderTable::RenderTable):
1777         (RenderTableCell::paddingTop):
1778         (RenderTableCell::paddingBottom):
1779         (RenderTableCell::paddingLeft):
1780         (RenderTableCell::paddingRight):
1781         * khtml/rendering/render_table.h:
1782
1783 2002-11-13  Ken Kocienda  <kocienda@apple.com>
1784
1785         Bump WebCore cache to 4 MB (was 1 MB).
1786
1787         * khtml/misc/loader.cpp
1788
1789 2002-11-13  Maciej Stachowiak  <mjs@apple.com>
1790
1791         - fixed 3050447 - Policy handlers have no way of telling client
1792         that the proposed navigation is a form post
1793         
1794         * khtml/khtml_part.cpp:
1795         (KHTMLPart::submitForm): Call kwq->submitForm
1796         * kwq/KWQKHTMLPart.h:
1797         * kwq/KWQKHTMLPart.mm:
1798         (KWQKHTMLPart::openURL): Adjusted for bridge API change.
1799         (KWQKHTMLPart::openURLRequest): Removed POST handling.
1800         (KWQKHTMLPart::submitForm): Added this back, because we need to
1801         know what URL navigations are caused by form submission, even if
1802         they are not POSTs.
1803         (KWQKHTMLPart::urlSelected): Adjusted for bridge API change.
1804         * kwq/WebCoreBridge.h: Add triggeringEvent: parameter to postURL:
1805         and isFormSubmission: parameter to loadURL:.
1806
1807 2002-11-12  David Hyatt  <hyatt@apple.com>
1808
1809         Fix for 3032869, the background image for the body was being
1810         propagated up to the root properly but was not being tiled over
1811         the whole canvas.
1812         
1813         * khtml/rendering/render_box.cpp:
1814         (RenderBox::printBackground):
1815         * khtml/rendering/render_html.cpp:
1816         (RenderHtml::printBoxDecorations):
1817
1818 2002-11-12  David Hyatt  <hyatt@apple.com>
1819
1820         Fix the top of moveabletype.org.  The maxwidth/minwidth
1821         calculation for blocks with inline content did not properly
1822         deal with margins and padding on inline elements like <a>.
1823         
1824         * khtml/rendering/render_flow.cpp:
1825         (RenderFlow::calcInlineMinMaxWidth):
1826
1827 2002-11-12  David Hyatt  <hyatt@apple.com>
1828
1829         Fix for 2953367, padding is incorrectly inherited into table cells
1830         and also incorrectly overrides cellpadding on the table itself.
1831         Fixes dailyf1.com.
1832         
1833         * khtml/css/html4.css:
1834         * khtml/html/html_tableimpl.cpp:
1835         (HTMLTableElementImpl::parseAttribute):
1836         (HTMLTableCellElementImpl::init):
1837         * khtml/html/html_tableimpl.h:
1838
1839 2002-11-12  David Hyatt  <hyatt@apple.com>
1840
1841         For now make text/xml files use HTML parsing/documents.
1842         This avoids the infinite loop we get into when loading
1843         text/xml.  If/when we finally support XML, we can undo
1844         this change.
1845         
1846         * khtml/khtml_part.cpp:
1847         (KHTMLPart::begin):
1848
1849 2002-11-12  David Hyatt  <hyatt@apple.com>
1850
1851         Fix for 3086321, stylesheets not loading if titles are
1852         specified.  Note that 4 of the pages on the PLT were
1853         affected by this, so I fully expect a slight performance
1854         degradation (the boost from the regression was artificial).
1855         
1856         * khtml/xml/dom_docimpl.cpp:
1857         (DocumentImpl::recalcStyleSelector):
1858
1859 2002-11-12  Richard Williamson  <rjw@apple.com>
1860
1861         Oops, removed debugging.
1862         
1863         * khtml/rendering/font.cpp:
1864         (Font::drawText):
1865
1866 2002-11-12  Richard Williamson  <rjw@apple.com>
1867
1868         Implemented letter-spacing and word-spacing CSS properties.
1869         
1870         * khtml/rendering/font.cpp:
1871         (Font::drawText):
1872         (Font::floatWidth):
1873         (Font::floatCharacterWidths):
1874         * kwq/KWQFontMetrics.h:
1875         * kwq/KWQFontMetrics.mm:
1876         (QFontMetrics::width):
1877         (QFontMetrics::floatWidth):
1878         (QFontMetrics::floatCharacterWidths):
1879         * kwq/KWQPainter.h:
1880         * kwq/KWQPainter.mm:
1881         (QPainter::drawText):
1882         * kwq/WebCoreTextRenderer.h:
1883
1884 2002-11-12  David Hyatt  <hyatt@apple.com>
1885
1886         Revert floats so that they don't use layers any more.
1887         Floats have to be able to paint in between the background
1888         and foreground of inlines, so they can't have layers.
1889         
1890         * khtml/rendering/render_box.cpp:
1891         (RenderBox::setStyle):
1892         * khtml/rendering/render_flow.cpp:
1893         (RenderFlow::printObject):
1894         (RenderFlow::paintFloats):
1895         (RenderFlow::addOverHangingFloats):
1896         (RenderFlow::nodeAtPoint):
1897         * khtml/rendering/render_flow.h:
1898         * khtml/rendering/render_layer.cpp:
1899         (RenderLayer::constructZTree):
1900         * khtml/rendering/render_list.cpp:
1901         (RenderListItem::printObject):
1902
1903 2002-11-12  Darin Adler  <darin@apple.com>
1904
1905         * kwq/KWQCursor.mm: (QCursor::QCursor): Use nil instead of [NSCursor arrowCursor].
1906         This will probably fix the performance regression.
1907
1908 2002-11-12  Darin Adler  <darin@apple.com>
1909
1910         - fixed 3080250 -- Hands-free crash at wired.com in
1911         KHTMLPart::slotChildStarted
1912
1913         * kwq/KWQListImpl.mm:
1914         (KWQListImpl::~KWQListImpl): Set the node of each iterator to NULL too,
1915         not just the list. This is the bug fix for the bug above.
1916         (KWQListIteratorImpl::toFirst): Check for list of NULL.
1917         (KWQListIteratorImpl::toLast): ditto.
1918
1919         * kwq/KWQSlot.mm: Tweaks.
1920
1921 2002-11-12  David Hyatt  <hyatt@apple.com>
1922
1923         This patch lands a rewrite of whitespace-handling in the
1924         layout engine and adds support for the CSS2 white-space
1925         property.  
1926
1927         It also includes a rewrite of inlines' min/max width 
1928         calculations (for both flow inlines and raw text).
1929
1930         A problem with <form> margins has been fixed (this is a
1931         regression I caused with my collapsing margin checkin).
1932
1933         * WebCore.pbproj/project.pbxproj:
1934         * khtml/css/html4.css:
1935         * khtml/html/dtd.cpp:
1936         (DOM::checkChild):
1937         * khtml/html/html_baseimpl.cpp:
1938         (HTMLBodyElementImpl::attach):
1939         (HTMLFrameElementImpl::attach):
1940         (HTMLFrameSetElementImpl::attach):
1941         (HTMLHtmlElementImpl::attach):
1942         (HTMLIFrameElementImpl::attach):
1943         * khtml/html/html_formimpl.cpp:
1944         (HTMLFormElementImpl::HTMLFormElementImpl):
1945         (HTMLInputElementImpl::attach):
1946         (HTMLSelectElementImpl::attach):
1947         (HTMLTextAreaElementImpl::attach):
1948         * khtml/html/html_formimpl.h:
1949         * khtml/html/html_imageimpl.cpp:
1950         (HTMLImageElementImpl::attach):
1951         * khtml/html/html_inlineimpl.cpp:
1952         (HTMLBRElementImpl::attach):
1953         * khtml/html/html_objectimpl.cpp:
1954         (HTMLAppletElementImpl::attach):
1955         (HTMLEmbedElementImpl::attach):
1956         (HTMLObjectElementImpl::attach):
1957         * khtml/html/htmlparser.cpp:
1958         (KHTMLParser::reset):
1959         (KHTMLParser::parseToken):
1960         (KHTMLParser::insertNode):
1961         (KHTMLParser::popBlock):
1962         (KHTMLParser::popOneBlock):
1963         * khtml/html/htmlparser.h:
1964         * khtml/html/htmltokenizer.cpp:
1965         (HTMLTokenizer::addPending):
1966         (HTMLTokenizer::write):
1967         * khtml/misc/arena.cpp: Added.
1968         (CeilingLog2):
1969         (InitArenaPool):
1970         (ArenaAllocate):
1971         (ArenaGrow):
1972         (FreeArenaList):
1973         (ArenaRelease):
1974         (FreeArenaPool):
1975         (FinishArenaPool):
1976         (ArenaFinish):
1977         * khtml/misc/arena.h: Added.
1978         * khtml/rendering/bidi.cpp:
1979         (BidiIterator::detach):
1980         (throw):
1981         (BidiIterator::operator delete):
1982         (appendRunsForObject):
1983         (appendRun):
1984         (RenderFlow::bidiReorderLine):
1985         (deleteMidpoints):
1986         (RenderFlow::layoutInlineChildren):
1987         (RenderFlow::findNextLineBreak):
1988         * khtml/rendering/bidi.h:
1989         * khtml/rendering/render_arena.cpp: Added.
1990         (RenderArena::RenderArena):
1991         (RenderArena::~RenderArena):
1992         (RenderArena::allocate):
1993         (RenderArena::free):
1994         * khtml/rendering/render_arena.h: Added.
1995         * khtml/rendering/render_box.cpp:
1996         (RenderBox::setStyle):
1997         (RenderBox::~RenderBox):
1998         (RenderBox::detach):
1999         * khtml/rendering/render_box.h:
2000         * khtml/rendering/render_br.cpp:
2001         (RenderBR::RenderBR):
2002         * khtml/rendering/render_container.cpp:
2003         (RenderContainer::~RenderContainer):
2004         (RenderContainer::detach):
2005         * khtml/rendering/render_container.h:
2006         * khtml/rendering/render_flow.cpp:
2007         (RenderFlow::setStyle):
2008         (RenderFlow::layout):
2009         (RenderFlow::calcInlineMinMaxWidth):
2010         (RenderFlow::calcBlockMinMaxWidth):
2011         (RenderFlow::calcMinMaxWidth):
2012         (RenderFlow::addChild):
2013         (RenderFlow::makeChildrenNonInline):
2014         * khtml/rendering/render_flow.h:
2015         * khtml/rendering/render_html.cpp:
2016         (RenderHtml::RenderHtml):
2017         * khtml/rendering/render_layer.cpp:
2018         (RenderLayer::~RenderLayer):
2019         (throw):
2020         (RenderLayer::operator delete):
2021         (RenderLayer::detach):
2022         (RenderLayer::paint):
2023         (RenderLayer::nodeAtPoint):
2024         (RenderLayer::constructZTree):
2025         (RenderLayer::RenderLayerElement::operator delete):
2026         (RenderLayer::RenderLayerElement::detach):
2027         (RenderLayer::RenderZTreeNode::operator delete):
2028         (RenderLayer::RenderZTreeNode::detach):
2029         * khtml/rendering/render_layer.h:
2030         * khtml/rendering/render_list.cpp:
2031         (RenderListItem::setStyle):
2032         * khtml/rendering/render_object.cpp:
2033         (throw):
2034         (RenderObject::operator delete):
2035         (RenderObject::createObject):
2036         (RenderObject::renderArena):
2037         (RenderObject::detach):
2038         * khtml/rendering/render_object.h:
2039         * khtml/rendering/render_replaced.cpp:
2040         (RenderWidget::detach):
2041         * khtml/rendering/render_replaced.h:
2042         * khtml/rendering/render_root.cpp:
2043         (RenderRoot::RenderRoot):
2044         * khtml/rendering/render_table.cpp:
2045         (RenderTable::addChild):
2046         (RenderTable::calcWidth):
2047         (RenderTable::setCellWidths):
2048         (RenderTableSection::addChild):
2049         (RenderTableRow::addChild):
2050         * khtml/rendering/render_text.cpp:
2051         (TextSlave::detach):
2052         (throw):
2053         (TextSlave::operator delete):
2054         (TextSlaveArray::TextSlaveArray):
2055         (RenderText::RenderText):
2056         (RenderText::~RenderText):
2057         (RenderText::detach):
2058         (RenderText::deleteSlaves):
2059         (RenderText::trimmedMinMaxWidth):
2060         (RenderText::calcMinMaxWidth):
2061         (RenderText::position):
2062         * khtml/rendering/render_text.h:
2063         * khtml/xml/dom_docimpl.cpp:
2064         (DocumentImpl::DocumentImpl):
2065         (DocumentImpl::~DocumentImpl):
2066         (DocumentImpl::attach):
2067         (DocumentImpl::detach):
2068         * khtml/xml/dom_docimpl.h:
2069         * khtml/xml/dom_nodeimpl.cpp:
2070         (NodeImpl::detach):
2071         (NodeImpl::isReadOnly):
2072         (NodeImpl::previousRenderer):
2073         * khtml/xml/dom_nodeimpl.h:
2074         * khtml/xml/dom_stringimpl.cpp:
2075         * khtml/xml/dom_stringimpl.h:
2076         * khtml/xml/dom_textimpl.cpp:
2077         (CharacterDataImpl::containsOnlyWhitespace):
2078         (TextImpl::attach):
2079         * khtml/xml/dom_textimpl.h:
2080
2081 2002-11-12  Darin Adler  <darin@apple.com>
2082
2083         - fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired]
2084
2085         * kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal.
2086         (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
2087
2088 2002-11-12  Darin Adler  <darin@apple.com>
2089
2090         - fixed 3079499 -- blank page at http://www.sonyericsson.com/T68i/
2091
2092         * khtml/misc/loader.cpp:
2093         (CachedCSSStyleSheet::checkNotify): Copy the clients list before iterating
2094         over it, since clients can move around in the list or be removed.
2095         (CachedScript::checkNotify): Ditto.
2096         (CachedImage::do_notify): Ditto.
2097         (CachedImage::movieStatus): Ditto.
2098
2099         - fixed double calls to openURL I noticed
2100
2101         * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
2102         Don't call openURL here at all. That happens indirectly as a result
2103         of the load we kick off.
2104
2105         * kwq/KWQKHTMLPart.mm: Tweaks.
2106
2107 2002-11-12  Darin Adler  <darin@apple.com>
2108
2109         - fixed 3083043 -- Alex doesn't decode % sequences in javascript: URLs
2110
2111         Some places here did KURL::decode_string, but others didn't.
2112
2113         * khtml/khtml_part.cpp:
2114         (KHTMLPart::slotShowDocument): Added call to KURL::decode_string.
2115         (KHTMLPart::overURL): Ditto.
2116         (KHTMLPart::urlSelected): Ditto.
2117         (KHTMLPart::requestFrame): Ditto.
2118         (KHTMLPart::slotChildURLRequest): Ditto.
2119
2120 2002-11-11  Darin Adler  <darin@apple.com>
2121
2122         * kwq/KWQWidget.mm: (QWidget::setCursor): Remove printf I left
2123         in by accident.
2124
2125 2002-11-11  Darin Adler  <darin@apple.com>
2126
2127         - tighten up cursor handling a bit more
2128
2129         * kwq/KWQWidget.mm:
2130         (QWidget::setCursor): Use setDocumentCursor: instead of our own protocol.
2131         (QWidget::cursor): Use documentCursor instead of storing our own cursor.
2132
2133         * kwq/WebCoreFrameView.h: Remove setCursor: method.
2134
2135 2002-11-11  Darin Adler  <darin@apple.com>
2136
2137         - fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
2138         HTMLDocument::Close inside a <script>
2139
2140         I think it's going to work this time. The key was to hook up the
2141         KHTML submitFormAgain machinery.
2142
2143         * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Take out the APPLE_CHANGES
2144         ifdef that was disabling the submitFormAgain logic.
2145         * kwq/KWQKHTMLPart.h: Remove submitForm(), because openURLRequest() handles it fine.
2146         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): Move the logic for handling
2147         POST here from submitForm() and remove submitForm().
2148
2149         * kwq/KWQSlot.mm:
2150         (KWQSlot::KWQSlot): Add support for the submitFormAgain slot.
2151         (KWQSlot::call): Ditto.
2152
2153 2002-11-11  Darin Adler  <darin@apple.com>
2154
2155         - fixed 3092421 -- javascript: URL that opens window crashes Alex if typed into empty window
2156
2157         * kwq/KWQKHTMLPart.h:
2158         * kwq/KWQKHTMLPart.mm:
2159         (KWQKHTMLPart::KWQKHTMLPart): Set _ownsView to false.
2160         (KWQKHTMLPart::~KWQKHTMLPart): Delete the view if we own it. Also release
2161         _currentEvent to fix a leak.
2162         (KWQKHTMLPart::setView): Delete the old view if we own it. Also, set the
2163         _ownsView flag.
2164         (KWQKHTMLPart::createDummyDocument): Create a dummy view too.
2165
2166         * kwq/KWQDummyView.h: Added.
2167         * kwq/KWQDummyView.m: Added.
2168         * WebCore.pbproj/project.pbxproj: Added KWQDummyView.
2169
2170         * kwq/WebCoreBridge.h: Remove bridgeOwnsKHTMLView and currentEvent.
2171         * kwq/WebCoreBridge.mm:
2172         (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]):
2173         Pass true to setView instead of setting bridgeOwnsKHTMLView.
2174         (-[WebCoreBridge removeFromFrame]): Just call setView on the part. It
2175         knows how to handle ownership now.
2176         (-[WebCoreBridge installInFrame:]): Call setOwnsView instead of setting
2177         bridgeOwnsKHTMLView.
2178
2179 2002-11-11  Trey Matteson  <trey@apple.com>
2180
2181         * khtml/khtml_part.cpp:
2182         (KHTMLPart::requestFrameName):  Call through bridge to get generated frame name.
2183         * kwq/KWQKHTMLPart.h:
2184         * kwq/KWQKHTMLPart.mm:
2185         (KWQKHTMLPart::generateFrameName):  New call that just forwards through the bridge.
2186         * kwq/WebCoreBridge.h:
2187
2188 2002-11-11  Darin Adler  <darin@apple.com>
2189
2190         - fixed 3097253 -- text tagged <small> inside <h1> is too small
2191
2192         * khtml/css/html4.css: Change BIG to use "font-size: larger" rather
2193         than "font-size: large" and SMALL to use "font-size: smaller" rather
2194         than "font-size: small".
2195
2196 2002-11-11  Darin Adler  <darin@apple.com>
2197
2198         * kwq/WebCoreBridge.h: Remove unused modifierTrackingEnabled method.
2199
2200 2002-11-08  Maciej Stachowiak  <mjs@apple.com>
2201
2202         - fixed 3096451 - REGRESSION: clicking on link to open window only
2203         works when pop-up suppression is off
2204         
2205         * khtml/ecma/kjs_binding.cpp:
2206         (ScriptInterpreter::ScriptInterpreter): Initialize m_timerCallback
2207         to false.
2208
2209 b2002-11-08  Darin Adler  <darin@apple.com>
2210
2211         * kwq/KWQComboBox.mm: Bump fudge factor up one pixel. You could see
2212         it was wrong with strings like "0".
2213
2214 2002-11-08  Darin Adler  <darin@apple.com>
2215
2216         - fixed 3090452 -- REGRESSION: orbitz Box extends way over margins
2217
2218         * kwq/KWQComboBox.h: Added _width and _widthGood.
2219         * kwq/KWQComboBox.mm:
2220         (QComboBox::QComboBox): Set _widthGood to false.
2221         (QComboBox::insertItem): Set _widthGood to false.
2222         (QComboBox::sizeHint): Compute the width by measuring the text ourselves.
2223         Turns out the cell isn't helpful for that.
2224         (QComboBox::clear): Set _widthGood to false.
2225
2226 2002-11-08  Richard Williamson   <rjw@apple.com>
2227
2228         Cleanup of fix to 3083281.  Never call stopAnimating from
2229         QPixmap's destructor.  With the fix it wouldn't have been
2230         called anyway.
2231         
2232         * kwq/KWQPixmap.mm:
2233         (QPixmap::~QPixmap):
2234
2235 2002-11-08  Darin Adler  <darin@apple.com>
2236
2237         * kwq/WebCoreBridge.mm: (attributedString): Remove some dead code.
2238
2239 2002-11-07  Darin Adler  <darin@apple.com>
2240
2241         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::slotData):
2242         Add an assert in the hopes of catching bug 3084704 a little earlier.
2243
2244 2002-11-07  Richard Williamson  <rjw@apple.com>
2245
2246         Don't stop animating unless we're the last referee. (3083281)
2247         
2248         * kwq/KWQPixmap.mm:
2249         (QPixmap::~QPixmap):
2250
2251 === Alexander-31 ===
2252
2253 2002-11-06  Richard Williamson  <rjw@apple.com>
2254
2255         Use our notion of unicode whitespace from lookup tables
2256         and isspace for latin1.  This is more correct than CF.
2257         Fixed issues Dave ran into with whitespace calculations.
2258         
2259         * kwq/KWQChar.mm:
2260         (QChar::isSpace):
2261
2262 2002-11-05  Darin Adler  <darin@apple.com>
2263
2264         - fixed 3092722 -- assertion failed
2265
2266         * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader reportError]):
2267         Removed the assertion. It wasn't needed.
2268
2269 2002-11-05  Darin Adler  <darin@apple.com>
2270
2271         - re-fixed 3070484 -- icon rollovers are very slow on Mac OS X website
2272
2273         Had to roll back some of the files I changed yesterday. I had missed the
2274         one line of useful code among much stuff we don't need.
2275
2276         * khtml/khtml_part.cpp:
2277         (KHTMLPart::init):
2278         (KHTMLPart::~KHTMLPart):
2279         (KHTMLPart::slotLoaderRequestStarted):
2280         (KHTMLPart::slotLoaderRequestDone):
2281         * kwq/KWQSignal.h:
2282         * kwq/KWQSignal.mm:
2283         (KWQSignal::call):
2284         * kwq/KWQSignalStubs.mm:
2285         (Loader::requestDone):
2286         (Loader::requestFailed):
2287         (Loader::requestStarted):
2288         * kwq/KWQSlot.h:
2289         * kwq/KWQSlot.mm:
2290         (KWQSlot::KWQSlot):
2291         (KWQSlot::call):
2292         Just roll back all the changes from my 3091714 check-in below, except
2293         for the bug fix itself in loader.cpp and KWQResourceLoader.mm.
2294
2295 2002-11-05  Maciej Stachowiak  <mjs@apple.com>
2296
2297         - fixed 3027404 - pop-up ads not always suppressed
2298         
2299         * khtml/ecma/kjs_binding.cpp:
2300         (ScriptInterpreter::isWindowOpenAllowed): Don't allow opening if
2301         we are in a timer callback - for reasons unexplained this will
2302         always show up as an inline script.
2303         * khtml/ecma/kjs_binding.h:
2304         * khtml/ecma/kjs_window.cpp:
2305         (ScheduledAction::execute): Note that we're in a timer callback.
2306
2307 2002-11-04  Richard Williamson  <rjw@apple.com>
2308
2309         Changes to support cursive letter forms.
2310         
2311         * kwq/KWQChar.mm:
2312         * kwq/WebCoreUnicode.h:
2313
2314 2002-11-04  Darin Adler  <darin@apple.com>
2315
2316         - fixed 3091714 -- reproducible assert cachedObject->response
2317         in KWQCheckCacheObjectStatus
2318
2319         * khtml/misc/loader.cpp: (Loader::slotFinished):
2320         For APPLE_CHANGES, don't finish the load if it's an error.
2321
2322         * kwq/KWQResourceLoader.mm:
2323         (-[KWQResourceLoader finishJobAndHandle]): Shared code for the
2324         three following methods.
2325         (-[KWQResourceLoader cancel]): Use setError(1) again instead of
2326         just keeping the load around forever.
2327         (-[KWQResourceLoader reportError]): Ditto.
2328         (-[KWQResourceLoader finish]): Use finishJobAndHandle to share
2329         code with the two above.
2330
2331         * khtml/khtml_part.cpp:
2332         (KHTMLPart::init): Put the slotLoaderRequestStarted and
2333         slotLoaderRequestDone connect lines inside ifdefs.
2334         (KHTMLPart::~KHTMLPart): Same for disconnect.
2335
2336         * kwq/KWQSignal.h: Remove code for the DocLoader signals.
2337         * kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
2338         * kwq/KWQSignalStubs.mm:
2339         (Loader::requestDone): Ditto.
2340         (Loader::requestFailed): Ditto.
2341         (Loader::requestStarted): Ditto.
2342         * kwq/KWQSlot.h: Ditto.
2343         * kwq/KWQSlot.mm:
2344         (KWQSlot::KWQSlot): Ditto.
2345         (KWQSlot::call): Ditto.
2346
2347 2002-11-04  Maciej Stachowiak  <mjs@apple.com>
2348
2349         Changes to send NSEvents all the way through WebCore and then pass
2350         them back out to WebKit, so that click policy can have a
2351         WebResourceRequest added.
2352         
2353         * kwq/KWQKHTMLPart.h:
2354         * kwq/KWQKHTMLPart.mm:
2355         (KWQKHTMLPart::KWQKHTMLPart):
2356         (KWQKHTMLPart::openURL):
2357         (KWQKHTMLPart::openURLRequest):
2358         (KWQKHTMLPart::urlSelected):
2359         (KWQKHTMLPart::submitForm):
2360         (KWQKHTMLPart::createDummyDocument):
2361         (KWQKHTMLPart::setCurrentEvent):
2362         * kwq/WebCoreBridge.h:
2363         * kwq/WebCoreBridge.mm:
2364         (-[WebCoreBridge mouseUp:]):
2365
2366 2002-11-03  Darin Adler  <darin@apple.com>
2367
2368         - fixed 3091300 -- "prelighting" on local page is still slow, despite recent bug fix
2369
2370         Turns out all updating would be slow if any resources on the page failed to load.
2371
2372         * kwq/WebCoreResourceLoader.h: Add reportError, distinct from
2373         cancel and finish.
2374         * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader reportError]):
2375         Set the error boolean on the job and then call through to [finish].
2376
2377 2002-11-03  Darin Adler  <darin@apple.com>
2378
2379         - fixed 3091275 -- can't type into Answer field in RealOne Player order form
2380
2381         * khtml/rendering/render_form.cpp:
2382         (RenderLineEdit::updateFromElement): Treat 0 as max (1024) as other browsers do.
2383         (RenderFileButton::updateFromElement): Ditto, although this is in !APPLE_CHANGES code
2384         that we don't use in WebCore.
2385
2386 2002-11-01  Darin Adler  <darin@apple.com>
2387
2388         - applied the same "subclass responsibility" pattern here as in
2389         some of the other WebCore classes
2390
2391         * kwq/WebCoreImageRendererFactory.h: Move the subclass responsibility into a protocol.
2392         * kwq/WebCoreImageRendererFactory.m: Remove now-unneeded stubs.
2393
2394 2002-11-01  Richard Williamson   <rjw@apple.com>
2395
2396         Removed old implementation.
2397         
2398         * kwq/KWQChar.mm:
2399         (QChar::direction):
2400         
2401         Renamed JoiningCenter -> JoiningCausing.
2402         
2403         * kwq/WebCoreUnicode.h:
2404
2405 2002-11-01  Darin Adler  <darin@apple.com>
2406
2407         - fixed 3062598 -- meta refresh of 0.1s fails
2408
2409         KHTML was using an integer for the delay.
2410
2411         * khtml/khtml_part.h: Make scheduleRedirection take a double.
2412         * khtml/khtmlpart_p.h: Make m_delayRedirect be a double.
2413         * khtml/khtml_part.cpp:
2414         (KHTMLPart::slotData): Use a double when parsing meta refresh.
2415         (KHTMLPart::checkCompleted): Cast to int when passing to timer start.
2416         (KHTMLPart::scheduleRedirection): Cast to int when passing to timer
2417         start; also check for absurd values and do nothing.
2418         (KHTMLPart::slotParentCompleted): Cast to int when passing to timer start.
2419
2420         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv):
2421         Use a double when parsing meta refresh.
2422
2423         * kwq/KWQKDebug.h: Add overloads for unsigned int and double to keep us
2424         compiling now that we use a double in one place.
2425
2426 2002-11-01  Darin Adler  <darin@apple.com>
2427
2428         - fixed 3090249 -- random crash on page load
2429         - fixed 3090286 -- assert _job in KWQResourceLoader cancel
2430
2431         * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader cancel]):
2432         This function needs to handle the case where the load is already cancelled.
2433         I think this also caused Avie's crash.
2434
2435 2002-10-31  Darin Adler  <darin@apple.com>
2436
2437         - fixed huge leak when doing page load test
2438
2439         * khtml/ecma/kjs_binding.h:
2440         * khtml/ecma/kjs_binding.cpp: Remove ScriptInterpreter::mark().
2441         We don't want to mark the elements of m_domObjects, because we don't want
2442         to keep them around the entire lifetime of the interpreter. This is fine
2443         because we already have forgetDOMObject(), which takes care of when they
2444         are deallocated.
2445
2446         * khtml/ecma/kjs_dom.cpp:
2447         * khtml/ecma/kjs_dom.h:
2448         * khtml/ecma/kjs_html.cpp:
2449         * khtml/ecma/kjs_html.h:
2450         Changed lots of parameters to pass by const reference for a bit of a code
2451         size and performance gain.
2452
2453 2002-10-31  Richard Williamson  <rjw@apple.com>
2454
2455         Turned on use of lookup tables.
2456         
2457         * kwq/KWQChar.mm:
2458         (QChar::direction):
2459         (QChar::mirrored):
2460         (QChar::mirroredChar):
2461
2462 2002-10-31  Maciej Stachowiak  <mjs@apple.com>
2463
2464         - fixed 3075803 - yahoo customize layout - delete, ordering of items doesn't work
2465         
2466         * khtml/html/html_formimpl.h:
2467         * khtml/html/html_formimpl.cpp:
2468         (HTMLSelectElementImpl::recalcStyle): New method to insure the
2469         select element updates if the contents of the option subelements
2470         are changed.
2471
2472 === Alexander-30 ===
2473
2474 2002-10-30  Maciej Stachowiak  <mjs@apple.com>
2475
2476         - fixed 3049853 - Javascript: setInterval incorrectly acts as single shot
2477         
2478         * kwq/KWQObject.mm:
2479         (QObject::startTimer): Set a recurring timer instead of
2480         single-shot, to match QObject semantics.
2481
2482 2002-10-30  Richard Williamson  <rjw@apple.com>
2483
2484         More work on bidi and contextual forms.
2485         Table lookup code is up in WebKit. Function
2486         pointers are used to isolate WebCore from private
2487         implementation in WebKit.  Needs to be fast, so
2488         the usual ObjC abstraction won't work.
2489         
2490         * WebCore.exp:
2491         * WebCore.pbproj/project.pbxproj:
2492         * kwq/KWQChar.mm:
2493         (QChar::direction):
2494         * kwq/KWQString.h:
2495         * kwq/WebCoreUnicode.cpp: Added.
2496         * kwq/WebCoreUnicode.h: Added.
2497
2498 2002-10-30  Darin Adler  <darin@apple.com>
2499
2500         - fixed crash when you open an empty window and just hit tab, tab, tab
2501
2502         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Check for nil.
2503
2504 2002-10-30  Darin Adler  <darin@apple.com>
2505
2506         - fixed 3083982 -- Logging into AOL gives null view, crash
2507
2508         I fixed the crash part. Not the "gives null view" part.
2509         The key was to disentangle the references and lifetimes of the transfer job class,
2510         and the resource loader object that KWQ uses to connect it with WebKit.
2511
2512         * kwq/KWQKJobClasses.h: Change the job to keep a loader reference, not a
2513         handle reference. The job needs to inform the loader when it's being deallocated.
2514         * kwq/KWQKJobClasses.mm: Use jobWillBeDeallocated instead of cancel when the
2515         job is deallocated.
2516
2517         * kwq/KWQLoader.mm: (KWQServeRequest): Use KWQResourceLoader, now with a home in
2518         a separate file.
2519
2520         * kwq/KWQResourceLoader.h: Added.
2521         * kwq/KWQResourceLoader.mm: Added.
2522         * WebCore.pbproj/project.pbxproj: Added KWQResourceLoader files.
2523
2524 2002-10-30  Darin Adler  <darin@apple.com>
2525
2526         - fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
2527
2528         The key is to get args.reload passed through to the bridge.
2529
2530         * kwq/WebCoreBridge.h: Add reload parameter to loadURL:.
2531
2532         * kwq/KWQKHTMLPart.mm:
2533         (KWQKHTMLPart::openURL): Pass NO for reload.
2534         (KWQKHTMLPart::openURLRequest): Pass args.reload for reload.
2535         (KWQKHTMLPart::urlSelected): Pass args.reload for reload.
2536         (KWQKHTMLPart::submitForm): Pass args.reload for reload.
2537         
2538         - fixed a memory problem with the use of NSBrowser in KWQListBox
2539         - fixed 2863040 -- multiple default items in select list not selected
2540
2541         Switched to use NSTableView instead of NSBrowser. This should also create
2542         a measurable speedup due to other changes to this class.
2543
2544         * kwq/KWQListBox.h: Remove firstItem(), the insertItem() that takes a QListBoxItem
2545         parameter, and deleteItems(). Add _items, _width, and _widthGood. Removed _head.
2546         Removed the QListBoxItem and QListBoxText classes.
2547         * kwq/KWQListBox.mm:
2548         (QListBox::QListBox): Create a KWQListBoxScrollView and put an NSTableView
2549         inside it. Also create an NSMutableArray to hold the items.
2550         (QListBox::~QListBox): Disconnect the table view from the delegate before
2551         releasing it. Also release the items array.
2552         (QListBox::count): Return the array count.
2553         (QListBox::clear): Do a reloadData here instead of loadColumnZero.
2554         (QListBox::setSelectionMode): Update for table view.
2555         (QListBox::insertItem): Update for table view.
2556         (QListBox::insertGroupLabel): Just calls insertItem for now.
2557         (QListBox::endBatchInsert): Update for table view.
2558         (QListBox::setSelected): Update for table view, including support for multiple
2559         selection.
2560         (QListBox::isSelected): Update for table view.
2561         (QListBox::sizeForNumberOfLines): Use the table view cell for width, and
2562         cache it so we don't have to measure all the strings over and over again.
2563         (-[KWQListBoxScrollView setFrameSize:]): Resize the table view column whenever
2564         the entire scroll view is resized.
2565         (-[KWQListBoxTableViewDelegate initWithListBox:]): Store box pointer and
2566         pointer to items array.
2567         (-[KWQListBoxTableViewDelegate numberOfRowsInTableView:]): Return count.
2568         (-[KWQListBoxTableViewDelegate tableView:objectValueForTableColumn:row:]):
2569         Get the data from the items array.
2570         (-[KWQListBoxTableViewDelegate tableViewSelectionDidChange:]): Call both the
2571         selection-changed signal and the clicked signal.
2572
2573         * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
2574         Get rid of the one place here that gets at a list box item by calling a KWQ
2575         function insertGroupLabel instead of making a QListBoxText. Also call
2576         beginBatchInsert() before clear() for a slight additional speed boost.
2577
2578         - fixed 3067572 -- javascript: URLs typed into page address field or
2579         bookmarks don't work in empty window
2580
2581         We needed a document for DOM, so we make a dummy one. This works for an empty
2582         window, and also for a window with non-HTML content.
2583
2584         * kwq/KWQKHTMLPart.h: Added createDummyDocument().
2585         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createDummyDocument): Create an empty
2586         DOM document if there isn't one already.
2587
2588         * kwq/WebCoreBridge.mm:
2589         (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]): Call the new
2590         createDummyDocument() instead of checking and doing nothing if there is no
2591         document present when this is called.
2592
2593         - other stuff
2594
2595         * kwq/WebCoreBridge.mm: (-[WebCoreBridge DOMDocument]): Removed a stray printf.
2596
2597         * kwq/KWQTextArea.mm: Tweaked code a little.
2598
2599 2002-10-28  Darin Adler  <darin@apple.com>
2600
2601         * khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
2602         Update so it handles nil for the view.
2603
2604 2002-10-28  Darin Adler  <darin@apple.com>
2605
2606         - fixed 3070484 -- icon rollovers are very slow on Mac OS X website
2607
2608         The problem was simply that the part didn't know it was complete.
2609         To let it know, I hooked up some loader signals, and now it works.
2610
2611         * khtml/khtml_part.cpp:
2612         (KHTMLPart::init): Create the KWQKHTMLPart a little earlier so we have
2613         a chance to initialize the cache before it's used.
2614         (KHTMLPart::slotLoaderRequestStarted): Take this out of ifdefs.
2615         (KHTMLPart::slotLoaderRequestDone): Ditto.
2616
2617         * khtml/misc/loader.h: Add a KWQLoader pointer to the loader.
2618         * khtml/misc/loader.cpp:
2619         (Loader::Loader): Create a KWQLoader;
2620         (Loader::~Loader): Destroy the KWQLoader.
2621         (Loader::load): Take out ifdefs around code that emits requestStarted.
2622
2623         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Call Cache::init().
2624
2625         * kwq/KWQLoader.h: Add a class KWQLoader, with three signals in it.
2626         * kwq/KWQLoader.mm: (KWQLoader::KWQLoader): Initialize the three signals.
2627
2628         * kwq/KWQSignalStubs.mm:
2629         (Loader::requestDone): Emit the signal using KWQLoader.
2630         (Loader::requestFailed): Ditto.
2631         (Loader::requestStarted): Ditto.
2632
2633         * kwq/KWQSlot.h: Add an overload for slots with loader and cached object
2634         parameters so we can handle the new slots.
2635         * kwq/KWQSlot.mm:
2636         (KWQSlot::KWQSlot): Added slotLoaderRequestDone and slotLoaderRequestStarted.
2637         (KWQSlot::call): Added the new overload to handle those two signals.
2638
2639         * kwq/KWQSignal.h: Add an overload for signals with loader and cached object
2640         parameters so we can handle the new signals.
2641         * kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
2642
2643         * kwq/KWQObject.mm: (QObject::connect): Remove the special casing that
2644         prevents complaints about slotLoaderRequestDone and slotLoaderRequestStarted,
2645         since we support those now.
2646
2647 2002-10-28  Darin Adler  <darin@apple.com>
2648
2649         - fixed storage leak of items in QListBox
2650
2651         * kwq/KWQListBox.h: Added private deleteItems method.
2652         * kwq/KWQListBox.mm:
2653         (QListBox::~QListBox): Call deleteItems().
2654         (QListBox::deleteItems): Move the code to delete all the items
2655         here from clear(), since clear() is not called on destruction.
2656         (QListBox::clear): Call deleteItems().
2657
2658 2002-10-28  Chris Blumenberg  <cblu@apple.com>
2659
2660         Lowercase the text encoding name.
2661
2662         * kwq/KWQCharsets.mm:
2663         (KWQCFStringEncodingFromIANACharsetName):
2664
2665 2002-10-28  Richard Williamson   <rjw@apple.com>
2666     
2667         Fixed 3086188 - REGRESSION: Justified text is broken
2668         
2669         Bogus special case for DirW(hite)S(pace).  This
2670         should be correctly detected by CF, but is not.
2671         Revert to explicit checking for ' ' character.  This'll
2672         work most of the time.  All the more reason to do
2673         our own unicode attribute database.
2674         
2675         * kwq/KWQChar.mm:
2676         (QChar::direction):
2677
2678 2002-10-28  Chris Blumenberg  <cblu@apple.com>
2679
2680         Fixed: 3056726 - View Source window always displays the source in current system encoding
2681         Fixed: 3019352 - Text encoding is not handled when viewing plain text
2682
2683         * kwq/WebCoreBridge.h:
2684         * kwq/WebCoreBridge.mm:
2685         (+[WebCoreBridge stringWithData:textEncoding:]): added, creates a string with data using the WebCore's decoding logic.
2686         (+[WebCoreBridge stringWithData:textEncodingName:]): added, calls stringWithData:textEncoding: after getting the encoding for a text encoding name
2687
2688 2002-10-28  Don Melton  <gramps@apple.com>
2689
2690         * khtml/html/htmlparser.cpp:
2691         (KHTMLParser::insertNode):
2692         * khtml/html/htmltokenizer.cpp:
2693         (HTMLTokenizer::write):
2694
2695         Backed our Dave's whitespace hack because it was adding newlines, i.e.
2696         vertical margins, to web pages all over.
2697
2698 2002-10-28  Darin Adler  <darin@apple.com>
2699
2700         - fixed 3015800 -- bad URL error - unescaped # in URL
2701
2702         Actually this has to be fixed both here and in NSURLExtras.
2703
2704         * kwq/KWQKURL.mm: Set the "BadChar" flag for "#" so we escape any
2705         "#" characters we see after the first one.
2706
2707 2002-10-27  Darin Adler  <darin@apple.com>
2708
2709         - fixed 3058845 -- <input type=file> uses hard-coded width of 200
2710         pixels for filename
2711
2712         * khtml/rendering/render_form.cpp:
2713         (RenderLineEdit::calcMinMaxWidth): Use a default of 20 "x-widths" wide, to
2714         match Mozilla, rather than the 17 that is in KHTML by default.
2715         (RenderFileButton::calcMinMaxWidth): Pass in a character width here, using
2716         the same 20-character rule as above.
2717         * kwq/KWQFileButton.h: Replace sizeHint() with sizeForCharacterWidth(int).
2718         * kwq/KWQFileButton.mm:
2719         (KWQFileButton::sizeForCharacterWidth): Pass character count to the WebCoreFileButton.
2720         (KWQFileButton::baselinePosition): Fix baseline computation. It was computing some huge
2721         negative number before and was obviously broken.
2722         * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Add an assertion.
2723         * kwq/WebCoreViewFactory.h: Replace bestVisualFrameSize with
2724         bestVisualFrameSizeForCharacterCount:.
2725
2726 2002-10-27  Don Melton  <gramps@apple.com>
2727
2728         * khtml/ecma/kjs_navigator.cpp:
2729         (Navigator::getValueProperty):
2730
2731         Tweaked AppName, Product, and Vendor logic.
2732
2733 2002-10-27  Darin Adler  <darin@apple.com>
2734
2735         * kwq/KWQLoader.mm: (KWQServeRequest): Add a missing "delete job" for one
2736         particular failure case.
2737
2738 2002-10-26  Darin Adler  <darin@apple.com>
2739
2740         - fixed a bug in the WebCore cache that caused it to not cache very much after
2741         a while, and also caused a crash I saw twice on my machine
2742
2743         Adjust total size of items in the LRU list, when the size of one of the
2744         items that's in the list is changed.
2745
2746         * khtml/misc/loader.h: Added a size parameter (default 0) to the CachedObject
2747         constructor. Added a protected CachedObject::setSize() and made m_size private.
2748         Added Cache::adjustSize() and Cache::checkLRUAndUncacheableListIntegrity().
2749         * khtml/misc/loader.cpp:
2750         (CachedObject::setSize): Added. This is now the only legal way to change
2751         the size of a cached object, and it calls Cache::adjustSize.
2752         (CachedCSSStyleSheet::CachedCSSStyleSheet): Pass the length into the base
2753         class's constructor instead of setting m_size.
2754         (CachedCSSStyleSheet::data): Call setSize() instead of setting m_size.
2755         Also get the size back with size() rather than m_size.
2756         (CachedScript::CachedScript): Pass the length into the base class's
2757         constructor instead of setting m_size.
2758         (CachedScript::data): Call setSize() instead of setting m_size. Also get
2759         the size back with size() rather than m_size.
2760         (CachedImage::CachedImage): Don't set m_size to 0, since the base class's
2761         constructor does that already.
2762         (CachedImage::clear): Use setSize() to set the size to 0 instead of setting
2763         m_size directly.
2764         (CachedImage::data): Use setSize() instead of setting m_size directly.
2765         (Cache::checkLRUAndUncacheableListIntegrity): Useful debugging function.
2766         Left in but ifdef'd out.
2767         (Cache::adjustSize): Added. Changes the "total LRU list size" by the
2768         passed-in delta, but only if the passed-in object is in the LRU list.
2769
2770         * kwq/KWQLineEdit.mm:
2771         * kwq/KWQTextField.h:
2772         * kwq/KWQTextField.mm:
2773         Renamed the Objective C class KWQNSTextField to KWQTextField.
2774
2775 2002-10-26  Darin Adler  <darin@apple.com>
2776
2777         - removed forwarding headers that are not actually needed
2778
2779         * ForwardingHeaders/kcmdlineargs.h: Removed.
2780         * ForwardingHeaders/kinstance.h: Removed.
2781         * ForwardingHeaders/kio/kprinter.h: Removed.
2782         * ForwardingHeaders/kio/ktrader.h: Removed.
2783         * ForwardingHeaders/kio/scheduler.h: Removed.
2784         * ForwardingHeaders/kparts/factory.h: Removed.
2785         * ForwardingHeaders/kparts/historyprovider.h: Removed.
2786         * ForwardingHeaders/kstddirs.h: Removed.
2787         * ForwardingHeaders/qarray.h: Removed.
2788         * ForwardingHeaders/qbrush.h: Removed.
2789         * ForwardingHeaders/qbutton.h: Removed.
2790         * ForwardingHeaders/qcollection.h: Removed.
2791         * ForwardingHeaders/qcombobox.h: Removed.
2792         * ForwardingHeaders/qframe.h: Removed.
2793         * ForwardingHeaders/qglobal.h: Removed.
2794         * ForwardingHeaders/qiodevice.h: Removed.
2795         * ForwardingHeaders/qlineedit.h: Removed.
2796         * ForwardingHeaders/qnamespace.h: Removed.
2797         * ForwardingHeaders/qpen.h: Removed.
2798         * ForwardingHeaders/qprinter.h: Removed.
2799         * ForwardingHeaders/qsize.h: Removed.
2800         * ForwardingHeaders/qstack.h: Removed.
2801
2802 2002-10-26  Darin Adler  <darin@apple.com>
2803
2804         - fixed a couple of files accidentally checked in with KWQQ names
2805
2806         * ForwardingHeaders/qasyncio.h: Change names.
2807         * ForwardingHeaders/qstylesheet.h: Ditto.
2808         * WebCore.pbproj/project.pbxproj: Ditto.
2809         * kwq/KWQMovie.h: Ditto.
2810
2811 2002-10-26  Darin Adler  <darin@apple.com>
2812
2813         - changed to use #if APPLE_CHANGES and #if !APPLE_CHANGES consistently
2814
2815         We no longer do #ifdef APPLE_CHANGES or #ifndef APPLE_CHANGES.
2816
2817         * lots of files
2818
2819 2002-10-26  Darin Adler  <darin@apple.com>
2820
2821         - changed naming scheme in KWQ for files like qstring.h
2822
2823         Now use names like KWQString.h and a forwarding header called qstring.h.
2824         
2825         * tons of files
2826
2827 2002-10-26  Darin Adler  <darin@apple.com>
2828
2829         - fixed 3068404 -- eliminate all user-visible messages from WebCore
2830
2831         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Use runJavaScriptPrompt
2832         function instead of the more generic QInputDialog.
2833
2834         * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::altText): Get
2835         submit alt text for input element from the view factory, rather than using
2836         i18n, since we don't support that.
2837         * khtml/html/htmlparser.cpp: (KHTMLParser::handleIsindex): Ditto, for the
2838         intro that says "This is a searchable index".
2839         * khtml/rendering/render_form.cpp:
2840         (RenderSubmitButton::defaultLabel): Ditto, for "Submit".
2841         (RenderResetButton::defaultLabel): Ditto, for "Reset".
2842         (RenderFileButton::slotClicked): Ifdef'd out this unused code that had i18n text in it.
2843
2844         * khtml/xml/xml_tokenizer.cpp:
2845         (XMLHandler::errorString): Put in an ifdef and a FIXME to avoid i18n.
2846         (XMLHandler::fatalError): Ditto.
2847         (XMLTokenizer::finish): Ditto.
2848
2849         * khtml/misc/decoder.cpp: (Decoder::decode): Ifdef'd the check for the first
2850         language being "ja", since that's not how we're going to trigger Japanese
2851         auto-detect.
2852
2853         * khtml/rendering/render_applet.cpp: (RenderEmptyApplet::RenderEmptyApplet):
2854         Turned off the code that does the empty applet label. I don't think it worked,
2855         and it used i18n. We'll have to tackle this eventually.
2856
2857         * kwq/KWQKHTMLPartImpl.h: Added runJavaScriptPrompt.
2858         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::runJavaScriptPrompt): Moved the code
2859         here that used to be in KWQInputDialog.
2860
2861         * kwq/kdecore/klocale.h: Remove i18n() and KLocale::languageList(), added the functions
2862         that are listed below.
2863         * kwq/KWQKLocale.mm:
2864         (inputElementAltText): Added specific function for getting one of the very few
2865         translated strings that we need in WebCore.
2866         (resetButtonDefaultLabel): Ditto.
2867         (searchableIndexIntroduction): Ditto.
2868         (submitButtonDefaultLabel): Ditto.
2869         (KLocale::language): Use the view factory to ask for the language code, since there's no
2870         public API to get it that WebCore can use.
2871
2872         * kwq/WebCoreViewFactory.h: Add new API for above.
2873
2874         * ForwardingHeaders/qinputdialog.h: Added empty file.
2875
2876         * kwq/qt/qinputdialog.h: Removed.
2877         * kwq/KWQInputDialog.mm: Removed.
2878         * WebCore.pbproj/project.pbxproj: Removed QInputDialog files.
2879
2880 2002-10-25  Darin Adler  <darin@apple.com>
2881
2882         Remove some user-visible strings. We can't have any strings that need
2883         localization in WebCore, given our translation strategy.
2884
2885         * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::encoding):
2886         Put APPLE_CHANGES around some i18n dialog code.
2887         * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Ditto.
2888         * khtml/rendering/render_frames.cpp:
2889         (RenderPartObject::slotPartLoadingErrorNotify): Ditto.
2890         * khtml/ecma/kjs_window.cpp:
2891         (Window::get): Ditto.
2892         (Window::scheduleClose): Ditto.
2893         (WindowFunc::tryCall): Put APPLE_CHANGES in to use JavaScript-specific methods
2894         in the part of calling the generic ones from KMessageBox.
2895
2896         * ForwardingHeaders/kmessagebox.h: Added (empty file).
2897
2898         * kwq/KWQKHTMLPartImpl.h: Added new runJavaScript functions.
2899         * kwq/KWQKHTMLPartImpl.mm:
2900         (KWQKHTMLPartImpl::runJavaScriptAlert): Added.
2901         (KWQKHTMLPartImpl::runJavaScriptConfirm): Added.
2902
2903         * kwq/WebCoreViewFactory.h: Added runJavaScriptAlertPanelWithMessage and
2904         runJavaScriptConfirmPanelWithMessage.
2905
2906         * kwq/kdeui/kmessagebox.h: Removed.
2907         * kwq/KWQKMessageBox.mm: Removed.
2908         * WebCore.pbproj/project.pbxproj: Removed the KMessageBox files.
2909
2910 2002-10-25  Richard Williamson   <rjw@apple.com>
2911
2912         Removed debug logging.
2913         
2914         * khtml/rendering/font.cpp:
2915         (Font::drawText):
2916
2917 2002-10-25  Richard Williamson   <rjw@apple.com>
2918
2919         Implemented support for bidi text layout.  WebCore
2920         temporarily depends on SPI to get unicode character
2921         attribute from CF.  This will change shortly.
2922         
2923         * khtml/rendering/font.cpp:
2924         (Font::drawText):
2925         * kwq/KWQChar.mm:
2926         (QChar::direction):
2927         * kwq/KWQPainter.mm:
2928         (QPainter::drawText):
2929         * kwq/WebCoreTextRenderer.h:
2930         * kwq/qt/qpainter.h:
2931
2932 2002-10-25  Chris Blumenberg  <cblu@apple.com>
2933
2934         Cleaned up the frame searching shenanigans. Things are much cleaner and clearer now.
2935
2936         * kwq/KWQKHTMLPartBrowserExtension.mm:
2937         (KHTMLPartBrowserExtension::createNewWindow): call findFrameNamed
2938         * kwq/KWQKHTMLPartImpl.mm:
2939         (KWQKHTMLPartImpl::bridgeForFrameName): call findOrCreateFramedNamed
2940         * kwq/WebCoreBridge.h:
2941
2942 2002-10-25  Maciej Stachowiak  <mjs@apple.com>
2943
2944         - fixed 3065638 - "undefined" output to screen on empty document.write()
2945         
2946         * khtml/ecma/kjs_html.cpp:
2947         (KJS::HTMLDocFunction::tryCall): Don;t assume there is at least
2948         one argument.
2949
2950 2002-10-25  Maciej Stachowiak  <mjs@apple.com>
2951
2952         - fixed 3048031 - innerHTML is incorrectly null
2953         
2954         * kwq/KWQString.mm:
2955         (QString::isNull): Check for NULL by comparing to
2956         shared_null_handle instead of checking for 0 length, so
2957         garden-variety empty strings don't show as NULL.
2958         (QString::QString): Make sure that string created with a NULL char
2959         * uses the shared null handle, so it's properly NULL.
2960
2961 2002-10-24  Richard Williamson   <rjw@apple.com>
2962
2963         Updated to reflect new calling parameter semantic of floatCharacterWidths(),
2964         which now returns the entire array of widths up the last character requested.
2965         
2966         * khtml/rendering/render_text.cpp:
2967         (TextSlave::checkSelectionPoint):
2968
2969 2002-10-24  David Hyatt  <hyatt@apple.com>
2970
2971         <pre>, <xmp> and <plaintext> should all have a top margin of 1em.
2972         Fixes a bunch of sites that use <pre>.
2973         
2974         * khtml/css/html4.css:
2975
2976 2002-10-24  Chris Blumenberg  <cblu@apple.com>
2977
2978         Removed didAddSubview calls because that can easily be done in WebKit. Duh!
2979
2980         * khtml/rendering/render_frames.cpp:
2981         (RenderPart::setWidget):
2982         * kwq/KWQKHTMLPartImpl.h:
2983         * kwq/KWQKHTMLPartImpl.mm:
2984         * kwq/KWQKJavaAppletWidget.mm:
2985         (KJavaAppletWidget::showApplet):
2986         * kwq/WebCoreBridge.h:
2987
2988 2002-10-24  Darin Adler  <darin@apple.com>
2989
2990         A step in the direction of making KWQ headers much nicer.
2991         Move all empty headers out of kwq, and into ForwardingHeaders.
2992
2993         * ForwardingHeaders/kcmdlineargs.h: Added.
2994         * ForwardingHeaders/kdatastream.h: Added.
2995         * ForwardingHeaders/khtml_iface.h: Added.
2996         * ForwardingHeaders/khtml_printsettings.h: Added.
2997         * ForwardingHeaders/khtml_run.h: Added.
2998         * ForwardingHeaders/kio/kprinter.h: Added.
2999         * ForwardingHeaders/kio/kprotocolmanager.h:
3000         * ForwardingHeaders/kio/ktrader.h: Added.
3001         * ForwardingHeaders/kio/scheduler.h: Added.
3002         * ForwardingHeaders/kmultipledrag.h: Added.
3003         * ForwardingHeaders/kprinter.h: Added.
3004         * ForwardingHeaders/kprotocolmanager.h: Added.
3005         * ForwardingHeaders/ksslcertchain.h: Added.
3006         * ForwardingHeaders/ksslinfodlg.h: Added.
3007         * ForwardingHeaders/kstdaction.h: Added.
3008         * ForwardingHeaders/ktempfile.h: Added.
3009         * ForwardingHeaders/ktrader.h: Added.
3010         * ForwardingHeaders/kurldrag.h: Added.
3011         * ForwardingHeaders/kxmlguifactory.h: Added.
3012         * ForwardingHeaders/qasyncimageio.h: Added.
3013         * ForwardingHeaders/qbitmap.h: Added.
3014         * ForwardingHeaders/qclipboard.h: Added.
3015         * ForwardingHeaders/qfontdatabase.h: Added.
3016         * ForwardingHeaders/qglobal.h: Added.
3017         * ForwardingHeaders/qhbox.h: Added.
3018         * ForwardingHeaders/qintcache.h: Added.
3019         * ForwardingHeaders/qintdict.h: Added.
3020         * ForwardingHeaders/qmetaobject.h: Added.
3021         * ForwardingHeaders/qobjectlist.h: Added.
3022         * ForwardingHeaders/scheduler.h: Added.
3023
3024         * kwq/dcop/kdatastream.h: Removed.
3025         * kwq/kdecore/kcmdlineargs.h: Removed.
3026         * kwq/kdecore/kmultipledrag.h: Removed.
3027         * kwq/kdecore/ktempfile.h: Removed.
3028         * kwq/kdecore/kurldrag.h: Removed.
3029         * kwq/kdeui/kstdaction.h: Removed.
3030         * kwq/kdeui/kxmlguifactory.h: Removed.
3031         * kwq/khtml/khtml_iface.h: Removed.
3032         * kwq/khtml/khtml_printsettings.h: Removed.
3033         * kwq/khtml/khtml_run.h: Removed.
3034         * kwq/kio/kprinter.h: Removed.
3035         * kwq/kio/kprotocolmanager.h: Removed.
3036         * kwq/kio/kssl/ksslcertchain.h: Removed.
3037         * kwq/kio/kssl/ksslinfodlg.h: Removed.
3038         * kwq/kio/ktrader.h: Removed.
3039         * kwq/kio/scheduler.h: Removed.
3040         * kwq/qt/qasyncimageio.h: Removed.
3041         * kwq/qt/qbitmap.h: Removed.
3042         * kwq/qt/qclipboard.h: Removed.
3043         * kwq/qt/qfontdatabase.h: Removed.
3044         * kwq/qt/qglobal.h: Removed.
3045         * kwq/qt/qhbox.h: Removed.
3046         * kwq/qt/qintcache.h: Removed.
3047         * kwq/qt/qintdict.h: Removed.
3048         * kwq/qt/qmetaobject.h: Removed.
3049         * kwq/qt/qobjectlist.h: Removed.
3050
3051         * WebCore.pbproj/project.pbxproj: Removed all the above headers from
3052         the project.
3053
3054 2002-10-24  Darin Adler  <darin@apple.com>
3055
3056         * ForwardingHeaders/private/qucomextra_p.h: Emptied this out.
3057         * kwq/qt/private/qucomextra_p.h: Removed.
3058
3059 2002-10-24  David Hyatt  <hyatt@apple.com>
3060
3061         Make sure that KHTML's initial layout happens after KHTML
3062         fires the onload.  This means that in the case where we
3063         beat the timer, we will now fire the onload before both
3064         the initial layout and the initial paint.
3065         
3066         * khtml/html/html_documentimpl.cpp:
3067         (HTMLDocumentImpl::close):
3068
3069 === Alexander-29 ===
3070
3071 2002-10-24  Chris Blumenberg  <cblu@apple.com>
3072
3073         Use "MIMEType" instead of "serviceType".
3074
3075         * kwq/KWQKHTMLPartImpl.mm:
3076         (KWQKHTMLPartImpl::createPart):
3077         * kwq/WebCoreBridge.h:
3078
3079 2002-10-24  Darin Adler  <darin@apple.com>
3080
3081         * kwq/KWQKLocale.mm: (i18n): Make it obvious when non-localized
3082         strings from WebCore show up in the UI, but putting the string
3083         "not localized: " in front.
3084
3085         * kwq/KWQKMessageBox.mm:
3086         (KMessageBox::error): Fix use of NSRunAlertPanel so that we won't
3087         accidentally try to interpret % sequences in the messages we are displaying.
3088         (KMessageBox::warningYesNo): Ditto.
3089         (KMessageBox::questionYesNo): Ditto.
3090         (KMessageBox::sorry): Ditto.
3091         (KMessageBox::information): Ditto.
3092
3093 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3094
3095         WebKit now gets called when render_frame subviews are added.
3096
3097         * khtml/rendering/render_frames.cpp:
3098         (RenderPart::setWidget): call didAddWidget on the part
3099         * kwq/KWQKHTMLPartImpl.h:
3100         * kwq/KWQKHTMLPartImpl.mm:
3101         (KWQKHTMLPartImpl::didAddWidget): added, calls didAddSubview on the bridge
3102
3103 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3104
3105         Change for plug-in package API changes.
3106
3107         * kwq/KWQKConfigBase.mm:
3108         (KConfig::readEntry):
3109         * kwq/WebCoreBridge.h: added didAddSubview, called when a render_frame's view is added as a subview of the main view.
3110         * kwq/WebCoreViewFactory.h: added didAddSubview
3111
3112 2002-10-23  Darin Adler  <darin@apple.com>
3113
3114         - finished up the job of moving the file button to WebKit
3115
3116         I did this mainly for localization reasons.
3117
3118         * kwq/KWQFileButton.h: Remove filename(), add filenameChanged(),
3119         make KWQFileButton be a QWidget subclass, not a QPushButton one.
3120         Remove clicked() and paint() virtual functions, _filename, _icon,
3121         and _label data members.
3122         * kwq/KWQFileButton.mm:
3123         (KWQFileButton::KWQFileButton): Just make a WebCoreFileButton.
3124         (KWQFileButton::~KWQFileButton): Less to do here now.
3125         (KWQFileButton::setFilename): Call the button to do the work.
3126         (KWQFileButton::sizeHint): Ditto.
3127         (KWQFileButton::frameGeometry): Ditto.
3128         (KWQFileButton::setFrameGeometry): Ditto.
3129         (KWQFileButton::baselinePosition): Ditto.
3130         (KWQFileButton::filenameChanged): Added. Sends message.
3131         (-[KWQFileButtonAdapter initWithKWQFileButton:]): Observe the "filename
3132         changed notification".
3133         (-[KWQFileButtonAdapter dealloc]): Stop observing.
3134         (-[KWQFileButtonAdapter filenameChanged:]): Send a signal when the notification
3135         comes in, so KHTML finds out.
3136
3137         * kwq/KWQSlot.mm:
3138         (KWQSlot::KWQSlot): Remove handling for RenderFileButton slotReturnPressed.
3139         (KWQSlot::call): Ditto.
3140
3141         * kwq/WebCoreViewFactory.h: Remove bestSize. Add setVisualFrame, visualFrame, and
3142         bestVisualFrameSize.
3143
3144         * kwq/KWQInputDialog.mm: Tweaked includes. Long-term we want to use "", not <>.
3145         * kwq/KWQKConfigBase.mm: Ditto.
3146         * kwq/KWQKHTMLPartImpl.mm: Ditto.
3147
3148 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3149
3150         Call the arguments for plug-ins "attributes" everywhere.
3151
3152         * kwq/KWQKHTMLPartImpl.mm:
3153         (KWQKHTMLPartImpl::createPart):
3154         * kwq/KWQKJavaAppletWidget.mm:
3155         (KJavaAppletWidget::showApplet):
3156         * kwq/WebCoreBridge.h:
3157
3158 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3159
3160         For the new plug-in API, we need to pass a WebPluginContainer to the plug-in view upon creation. The is owned by the WebFrame. To make this all work, I had to move the WebCore plug-in and java view constructors to WebBridge from WebViewFactory since WebBridge has the frame. 
3161
3162         * khtml/khtml_part.cpp:
3163         (KHTMLPart::createJavaContext): New APPLE_CHANGES around the java context constructor so we pass the part.
3164         * kwq/KWQKHTMLPartImpl.mm:
3165         (KWQKHTMLPartImpl::createPart): call the bridge to create the view
3166         * kwq/KWQKJavaAppletWidget.mm:
3167         (KJavaAppletWidget::KJavaAppletWidget): save the context
3168         (KJavaAppletWidget::showApplet): call the bridge to create the view
3169         * kwq/WebCoreBridge.h:
3170         * kwq/WebCoreViewFactory.h:
3171         * kwq/khtml/java/kjavaappletcontext.h: made constructor take the part
3172         * kwq/khtml/java/kjavaappletwidget.h: ivar for the context
3173
3174 2002-10-23  Darin Adler  <darin@apple.com>
3175
3176         - fixed 3080478 -- reproducible incomplete load on apple.com
3177
3178         * kwq/KWQLoaderImpl.mm:
3179         (-[WebCoreResourceLoader receivedResponse:]): Add an assert.
3180         (-[WebCoreResourceLoader cancel]): Don't finish here, just disconnect the handle
3181         from the job, and disconnect the job from the WebCoreResourceLoader, and let the
3182         KHTML code finish the cleanup later. This is the bug fix.
3183         (KWQCheckCacheObjectStatus): Add an assertion.
3184
3185         * kwq/KWQKjobclasses.mm:
3186         (TransferJob::~TransferJob): Don't call kill(); do the work here instead.
3187         (TransferJob::kill): Self-destruct. Need this to avoid a storage leak.
3188
3189         * khtml/misc/loader.cpp:
3190         (CachedObject::~CachedObject): Put some Apple-specific code inside APPLE_CHANGES.
3191         (CachedObject::setResponse): Streamlined this function.
3192         (Loader::receivedResponse): Added assertions.
3193
3194         * kwq/qt/qxml.h: Add more stubs.
3195         * kwq/KWQxml.mm: Ditto.
3196
3197         * kwq/WebCoreViewFactory.h: Add [WebCoreViewFactory fileButton], the
3198         WebCoreFileButton protocol, and WebCoreFileButtonFilenameChanged.
3199         * kwq/WebCoreViewFactory.m: Add WebCoreFileButtonFilenameChanged.
3200         * WebCore.exp: Export _WebCoreFileButtonFilenameChanged.
3201
3202 2002-10-22  Maciej Stachowiak  <mjs@apple.com>
3203
3204         Forgot to check this in earlier:
3205
3206         - fixed 3077084 - debugging output when suppressing or allowing
3207         pop-ups
3208         
3209         * khtml/ecma/kjs_window.cpp:
3210         (WindowFunc::tryCall):
3211         * kwq/KWQLogging.h:
3212         * kwq/KWQLogging.m:
3213
3214 2002-10-22  David Hyatt  <hyatt@apple.com>
3215
3216         Get XML files closer.  An XML doc is at least made.  No
3217         parsing works yet though.
3218         
3219         * kwq/KWQKHTMLPartImpl.mm:
3220         (KWQKHTMLPartImpl::setPolicyBaseURL):
3221         * kwq/WebCoreBridge.h:
3222         * kwq/WebCoreBridge.mm:
3223         (-[WebCoreBridge setContentType:]):
3224
3225 2002-10-22  Chris Blumenberg  <cblu@apple.com>
3226
3227         Fixed: 3023814 - contexual menus and dragging doesn't work for some images
3228
3229         Added a innerNonSharedNode to NodeInfo that points to the node which is not shared by another node. In this case, the innerNonSharedNode is the image node not the area node.
3230
3231         * khtml/rendering/render_frames.cpp:
3232         (RenderFrameSet::nodeAtPoint): call setInnerNonSharedNode
3233         * khtml/rendering/render_image.cpp:
3234         (RenderImage::nodeAtPoint): call setInnerNonSharedNode
3235         * khtml/rendering/render_object.cpp:
3236         (RenderObject::nodeAtPoint): call setInnerNonSharedNode
3237         * khtml/rendering/render_object.h:
3238         * kwq/WebCoreBridge.mm:
3239         (-[WebCoreBridge elementAtPoint:]): use the innerNonSharedNode
3240
3241 2002-10-22  David Hyatt  <hyatt@apple.com>
3242
3243         Fix slashdot.  Make sure the KONQBLOCK hack just throws away
3244         margins at the tops and bottoms of kids.
3245         
3246         * khtml/css/html4.css:
3247         * khtml/rendering/render_flow.cpp:
3248         (RenderFlow::layoutBlockChildren):
3249
3250 2002-10-22  David Hyatt  <hyatt@apple.com>
3251
3252         Fix for left-hand-side of wired.com.  A disturbingly basic
3253         bug.  I was applying a parent's margins to its children
3254         when collapsing, even if the parent had a border/padding set
3255         that should have separated it from its kids.
3256         
3257         * khtml/rendering/render_flow.cpp:
3258         (RenderFlow::layoutBlockChildren):
3259
3260 2002-10-22  David Hyatt  <hyatt@apple.com>
3261
3262         Optimize my inline margin discarding to be smart about the
3263         case when the inline has a block and its beginning or
3264         end.  Fixes aintitcool.com.
3265         
3266         * khtml/rendering/render_flow.cpp:
3267         (RenderFlow::layoutBlockChildren):
3268
3269 2002-10-22  David Hyatt  <hyatt@apple.com>
3270
3271         Removing konq's flow-around-floats hack for <blockquote> and
3272         <dl>.  These objects are allowed to flow under floats.  Fixes
3273         www.webreference.com's front page.
3274
3275         Also fixing a bug in my <td> margin collapsing quirk that
3276         prevented lists (ol,ul,dl,menu,dir) from collapsing their
3277         top margins into the td.
3278         
3279         * khtml/css/html4.css:
3280         * khtml/rendering/render_flow.cpp:
3281         (RenderFlow::layoutBlockChildren):
3282         (RenderFlow::addChild):
3283
3284 2002-10-22  David Hyatt  <hyatt@apple.com>
3285
3286         Fix a typo in my change to the h1 rule.
3287         
3288         * khtml/css/html4.css:
3289
3290 2002-10-22  David Hyatt  <hyatt@apple.com>
3291
3292         Ok, this patch does a lot of stuff.  It contains a complete
3293         rewrite of the WinIE quirk for handling collapsing margins
3294         at the tops and bottoms of table cells.  We match WinIE's
3295         behavior for all HTML4 block-level elements.
3296
3297         This patch also applies a bottom margin to <form> elements,
3298         which is what was causing the missing space on livepage.apple.com
3299         underneath the textfield on the right.  WinIE and Gecko both
3300         put a bottom margin on all forms.
3301
3302         This patch also updates the collapsing margin code to detect
3303         inlines that have been morphed into blocks by KHTML (this is 
3304         so wrong, don't even get me started, you can't treat an inline
3305         as a block, this code is lame, etc. etc.) and to properly ignore
3306         their margins completely.  Fixing the code to not morph inlines
3307         is another architectural problem that will have to be dealt
3308         with (sigh).
3309         
3310         * khtml/css/css_valueimpl.h:
3311         * khtml/css/cssparser.cpp:
3312         (StyleBaseImpl::parseValue):
3313         (StyleBaseImpl::parseUnit):
3314         * khtml/css/cssparser.h:
3315         * khtml/css/cssstyleselector.cpp:
3316         * khtml/css/html4.css:
3317         * khtml/misc/khtmllayout.h:
3318         * khtml/rendering/render_flow.cpp:
3319         (RenderFlow::RenderFlow):
3320         (RenderFlow::layout):
3321         (RenderFlow::layoutBlockChildren):
3322         (RenderFlow::addChild):
3323         * khtml/rendering/render_flow.h:
3324         * khtml/rendering/render_object.h:
3325
3326 2002-10-21  Darin Adler  <darin@apple.com>
3327
3328         * kwq/KWQInputDialog.mm: (QInputDialog::getText): Call the view factory to do the
3329         heavy lifting.
3330
3331         * kwq/WebCoreViewFactory.h: Add runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:.
3332         Use a protocol for the subclass responsibility.
3333         * kwq/WebCoreViewFactory.m: Remove stub methods not needed because of the subclass responsibility
3334         technique we are using.
3335
3336         * kwq/qt/qstylesheet.h: Made this inline, since it does nothing.
3337         * kwq/KWQStyleSheet.mm: Removed.
3338         * WebCore.pbproj/project.pbxproj: Removed KWQStyleSheet.mm.
3339
3340 2002-10-21  David Hyatt  <hyatt@apple.com>
3341
3342         Implement support for a new @-rule called @konq-quirks.  This
3343         will allow us to put style rules into html4.css that only
3344         apply for pages in quirks mode.
3345         
3346         * khtml/css/css_ruleimpl.cpp:
3347         (CSSQuirksRuleImpl::CSSQuirksRuleImpl):
3348         (CSSQuirksRuleImpl::~CSSQuirksRuleImpl):
3349         (CSSQuirksRuleImpl::cssRules):
3350         (CSSQuirksRuleImpl::appendRule):
3351         (CSSQuirksRuleImpl::insertRule):
3352         (CSSQuirksRuleImpl::deleteRule):
3353         * khtml/css/css_ruleimpl.h:
3354         * khtml/css/cssparser.cpp:
3355         (StyleBaseImpl::parseAtRule):
3356         * khtml/css/cssparser.h:
3357         * khtml/css/cssstyleselector.cpp:
3358         * khtml/css/cssstyleselector.h:
3359         * khtml/dom/css_rule.h:
3360
3361 2002-10-21  Darin Adler  <darin@apple.com>
3362
3363         Remove closeEntireTree now that deferred close takes care of that case.
3364
3365         * khtml/html/htmlparser.cpp: (KHTMLParser::startBody):
3366         * khtml/rendering/render_object.h:
3367
3368 2002-10-21  Darin Adler  <darin@apple.com>
3369
3370         - fixed 3075041 -- text larger/smaller increment too large when font-size specified as %
3371
3372         * khtml/css/cssstyleselector.cpp: Don't apply the zoom factor to a font size that
3373         already has the zoom factor applied.
3374
3375 2002-10-21  Darin Adler  <darin@apple.com>
3376
3377         * khtml/khtmlview.cpp: (KHTMLView::clear):&nbs