initial import
[vuplus_webkit] / 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): Default to fast scrolling.
3378         I'm pretty sure this was just backwards here.
3379
3380 2002-10-21  David Hyatt  <hyatt@apple.com>
3381
3382         DLs are supposed to have margins.
3383         
3384         * khtml/css/html4.css:
3385
3386 2002-10-21  David Hyatt  <hyatt@apple.com>
3387
3388         Fix for margin problems on aintitcool.com.  There was a subtlety
3389         to WinIE's quirk.  For <h1>-<h6> only, they don't collapse the
3390         bottom margin for table cells (they still collapse the top
3391         margin).  I just love emulating the odd behavior of WinIE.
3392         Wheee.
3393         
3394         * khtml/rendering/render_flow.cpp:
3395         (RenderFlow::layoutBlockChildren):
3396
3397 2002-10-20  Darin Adler  <darin@apple.com>
3398
3399         Redid my fix. It was just an ordering thing. The image had to already be
3400         installed as the current image before calling ref(), because in the cached
3401         case, you get the loading complete callback right then.
3402
3403         * khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
3404         Call deref on the old image later. Basically, instead of moving the ref
3405         of the new image up, I moved the deref of the old image down.
3406
3407 2002-10-20  Darin Adler  <darin@apple.com>
3408
3409         Roll out my render_image.cpp change. It was causing a big problem
3410         getting images from the cache. I need to study further to figure out why.
3411
3412         * khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
3413         Roll back the change.
3414
3415 2002-10-20  David Hyatt  <hyatt@apple.com>
3416
3417         Rewrite the clearing code for floats.  Rewrote the
3418         collapsing margin code to really work with floating and
3419         clearing.  This fixes the right hand side of wired.com.
3420         
3421         * khtml/rendering/render_flow.cpp:
3422         (RenderFlow::layoutBlockChildren):
3423         (RenderFlow::checkClear):
3424         (RenderFlow::addChild):
3425
3426 2002-10-20  Darin Adler  <darin@apple.com>
3427
3428         - fixed 3007961 -- Crash in DOM::HTMLImageElementImpl::parseAttribute
3429
3430         * khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
3431         Be sure to call ref on the new image before calling deref on the old
3432         image. That's because deref on the old image causes a cache flush,
3433         which might cause the image to go away in certain cases.
3434
3435 2002-10-20  Chris Blumenberg  <cblu@apple.com>
3436
3437         Fixed possible build failure.
3438
3439         * kwq/KWQDOMNode.cpp:
3440         (isImage): remove unused variable.
3441
3442 2002-10-20  Chris Blumenberg  <cblu@apple.com>
3443
3444         Partial fix for:
3445         3023814 - contexual menus and dragging doesn't work for some images
3446
3447         The image map case is still broken because I need to find a way to get the RenderImage for an AREA node. Anyone know how?
3448
3449         * kwq/KWQDOMNode.cpp:
3450         (isImage): Also return true if the node is an INPUT tag with TYPE set to "image"
3451
3452 2002-10-20  Darin Adler  <darin@apple.com>
3453
3454         - fixed 3076390 -- crash in DOM::DocumentImpl::setParsing loading thread detail page
3455         at groups.apple.com
3456
3457         * khtml/khtml_part.cpp: (KHTMLPart::openURL): Don't do any redirect special case
3458         if the document is nil. Just do a normal load in that case.
3459
3460 2002-10-20  Darin Adler  <darin@apple.com>
3461
3462         - fixed 3079864 -- REGRESSION: assertion failure on any page with a form element
3463
3464         * khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::attach):
3465         Roll back the parent call to use NodeBaseImpl::attach. Not sure why I changed that
3466         at the last minute before my last checkin, but it was *bad*.
3467
3468         - fixed a crash I observed when clicking on an about:blank page
3469
3470         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Check for nil renderer.
3471
3472 2002-10-19  Darin Adler  <darin@apple.com>
3473
3474         - fixed 3075032 -- textarea contents sometimes aren't shown
3475
3476         The root of the problem is that we weren't delivering close calls to
3477         the render objects in the case where we created them late due to our FOUC
3478         fix. I taught the DOM implementation to remember that a close call is
3479         due, and deliver it when the render object is created. We can probably
3480         replace the closeEntireTree hack with this too. I'll talk to Dave about
3481         that on Monday.
3482
3483         * khtml/xml/dom_nodeimpl.h: Add m_rendererNeedsClose and closeRenderer.
3484         * khtml/xml/dom_nodeimpl.cpp:
3485         (NodeImpl::NodeImpl): Initialize m_rendererNeedsClose to false.
3486         (NodeImpl::closeRenderer): Call close on the renderer if it's created, otherwise
3487         set m_rendererNeedsClose.
3488         (NodeImpl::attach): If the renderer is created and m_rendererNeedsClose is true
3489         call close on the renderer and set it to false.
3490
3491         * khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::attach):
3492         Rearrange this so that the base class attach is called before updateFromElement
3493         is called. This allows the base attach to do a close for us before we update.
3494
3495         * khtml/html/htmlparser.cpp:
3496         (KHTMLParser::insertNode): Call closeRenderer on the DOM node rather than
3497         calling close on the render node.
3498         (KHTMLParser::popOneBlock): Ditto.
3499         * khtml/xml/xml_tokenizer.cpp:
3500         (XMLHandler::endElement): Ditto.
3501         (XMLTokenizer::finish): Ditto.
3502
3503 2002-10-19  David Hyatt  <hyatt@apple.com>
3504
3505         A couple of whitespace fixes.  What's really odd about these
3506         fixes is that they *work* but only if you load the page by
3507         hitting "Back".  I suspect that I've now fixed the bugs on
3508         KHTML's end, and we have some sort of whitepsace dropping
3509         problem on our end.
3510
3511         * khtml/html/htmlparser.cpp:
3512         (KHTMLParser::insertNode):
3513         * khtml/html/htmltokenizer.cpp:
3514         (HTMLTokenizer::write):
3515
3516 2002-10-18  Richard Williamson   <rjw@apple.com>
3517
3518         Fixed khtml to ignore <title> tags after the first tag.
3519         
3520         Fixed setting document.title from JavaScript.
3521         
3522         * khtml/dom/html_document.cpp:
3523         (HTMLDocument::setTitle):
3524         * khtml/html/html_headimpl.cpp:
3525         (HTMLTitleElementImpl::insertedIntoDocument):
3526         (HTMLTitleElementImpl::childrenChanged):
3527
3528 2002-10-18  Darin Adler  <darin@apple.com>
3529
3530         - fixed 3078293 -- Implement evaluateJavaScript on WebController
3531
3532         * kwq/KWQVariant.mm: (QVariant::asString): Made this return reasonable
3533         values for types other than string. Still may be loose ends left, but
3534         this takes care of most of it.
3535
3536 2002-10-18  Darin Adler  <darin@apple.com>
3537
3538         * kwq/WebCoreBridge.h:
3539         * kwq/WebCoreBridge.mm:
3540         (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]):
3541         Changed to return a string and changed name.
3542
3543 2002-10-18  David Hyatt  <hyatt@apple.com>
3544
3545         The collapsing margin rewrite. Also fixes a bug where
3546         we stay in quirks mode for strict HTML4 dtds when we
3547         shouldn't.
3548         
3549         * khtml/html/html_documentimpl.cpp:
3550         (HTMLDocumentImpl::determineParseMode):
3551         * khtml/rendering/render_flow.cpp:
3552         (RenderFlow::layout):
3553         (RenderFlow::layoutBlockChildren):
3554         * khtml/rendering/render_flow.h:
3555         * khtml/rendering/render_object.h:
3556
3557 2002-10-18  Darin Adler  <darin@apple.com>
3558
3559         * Makefile.am: Move dependency so clean happens before build.
3560
3561 2002-10-17  Richard Williamson  <rjw@apple.com>
3562
3563         Support for drawing frame borders and frame resizing. (fixes 2982466).
3564
3565         * khtml/rendering/render_frames.cpp:
3566         (RenderFrameSet::userResize):
3567         * kwq/WebCoreBridge.h:
3568         * kwq/WebCoreBridge.mm:
3569         (-[WebCoreBridge frameBorderStyle]):
3570         * kwq/qt/qframe.h:
3571
3572 2002-10-17  Darin Adler  <darin@apple.com>
3573
3574         - fixed 2807340 -- Alex is case sensitive for anchors, but
3575         should not be in quirks mode (other browsers aren't)
3576
3577         * khtml/dom/html_misc.cpp: Touched this file to prevent us from requiring a
3578         full build. Damned header dependencies still don't work right.
3579
3580         * khtml/html/html_miscimpl.h: Add caseSensitive parameters.
3581         * khtml/html/html_miscimpl.cpp:
3582         (HTMLCollectionImpl::getNamedItem): Add caseSensitive parameter, and compare
3583         by converting both to lower case if it's false and pass it on when recursing.
3584         (HTMLCollectionImpl::namedItem): Pass along a caseSensitive parameter.
3585         (HTMLFormCollectionImpl::getNamedItem): Pass along a caseSensitive parameter.
3586         (HTMLFormCollectionImpl::getNamedFormItem): Pass along, and handle, it.
3587         (HTMLFormCollectionImpl::getNamedImgItem): Ditto.
3588         (HTMLFormCollectionImpl::nextNamedItemInternal): Pass true for caseSensitive.
3589
3590         * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):
3591         Pass false for the new caseSensitive parameter to namedItem when the document
3592         mode is not strict.
3593
3594         * kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines): Removed a stray NSLog
3595         that I left in by accident.
3596
3597 2002-10-17  Darin Adler  <darin@apple.com>
3598
3599         - fixed 3052547 -- <select> doesn't size properly (size > 1)
3600
3601         * khtml/rendering/render_form.cpp:
3602         (RenderLineEdit::slotReturnPressed): #if !APPLE_CHANGES around some unused
3603         code in here.
3604         (RenderSelect::updateFromElement): Fix bug where it was using Multi here, but
3605         Extended elsewhere for the selection mode.
3606         (RenderSelect::layout): Change code so that QListBox handles the sizing.
3607
3608         * kwq/KWQListBox.h: Removed a lot of unused stuff, made other things use inlines.
3609         * kwq/KWQListBox.mm: Rewrote most of the file contents. Made a new
3610         QListBox::sizeForNumberOfLines method. We will have to port this to NSTableView
3611         rather than NSBrowser.
3612
3613 2002-10-17  Darin Adler  <darin@apple.com>
3614
3615         - fixed 3078245 -- REGRESSION: lightgrey displays as black, used
3616         to display as white, should display light gray
3617
3618         * kwq/KWQColor.mm: (getNamedColors): For every color with the name
3619         "gray" in it, also include the version spelled "grey" as other
3620         browsers seem to.
3621
3622 2002-10-17  David Hyatt  <hyatt@apple.com>
3623
3624         Make navigator.product dynamic based off user agent (i.e.,
3625         make it participate in spoofing too).
3626         
3627         * khtml/ecma/kjs_navigator.cpp:
3628         (Navigator::getValueProperty):
3629
3630 === Alexander-28 ===
3631
3632 2002-10-17  Darin Adler  <darin@apple.com>
3633
3634         - fixed 3077856 -- REGRESSION: scroll to fragment doesn't work
3635         (except when Alex started from command line)
3636
3637         * kwq/kparts/browserextension.h: Initialize reload to false. It was
3638         uninitialized, and when true was preventing anchor navigation from working.
3639
3640 2002-10-17  Darin Adler  <darin@apple.com>
3641
3642         - fixed 3075992 -- Hang in khtml::RenderFlow::lowestPosition() trying to
3643         render http://avoyagetoarcturus.blogspot.com/
3644
3645         * khtml/rendering/render_flow.cpp:
3646         (RenderFlow::lowestPosition): Don't recurse on the same child twice.
3647         (RenderFlow::rightmostPosition): Ditto.
3648
3649 2002-10-17  David Hyatt  <hyatt@apple.com>
3650
3651         Fix bayarea.com.  My implementation of offsetParent was
3652         flawed.  And to think I was blaming Gecko... ;)
3653         
3654         * khtml/rendering/render_object.cpp:
3655         (RenderObject::offsetParent):
3656
3657 2002-10-16  Darin Adler  <darin@apple.com>
3658
3659         - fixed 3061103 -- Line-breaks lost when submitting after pasting text from
3660         MSIE into Alexander textarea
3661
3662         * kwq/KWQLineEdit.mm: (QLineEdit::text):
3663         * kwq/KWQTextEdit.mm: (QTextEdit::text):
3664         Turn \r\n sequences and standalone \r characters into \n characters on the way
3665         out of AppKit land and into KHTML land. I didn't try to make this efficient
3666         for the common case because these are not time-critical functions.
3667
3668 2002-10-16  Richard Williamson  <rjw@apple.com>
3669
3670         Fixed a few regressions in drawing of frame resize handle
3671         in preparation for drawing frame borders and completing
3672         2982466.
3673         
3674         * khtml/rendering/render_frames.cpp:
3675         (RenderFrameSet::userResize):
3676         * kwq/KWQPainter.mm:
3677         (QPainter::drawRect):
3678         * kwq/qt/qscrollview.h:
3679         * kwq/KWQScrollView.mm:
3680         (QScrollView::updateContents):
3681         * kwq/KWQWidget.mm:
3682         (QWidget::enableFlushDrawing):
3683         
3684         Use static_cast everywhere DOM::NodeImpl is cast to
3685         subclass.
3686         
3687         * kwq/WebCoreDOMNode.mm:
3688         (-[WebCoreDOMNode DOM::]):
3689         (-[WebCoreDOMNodeList DOM::]):
3690         (-[WebCoreDOMNamedNodeMap DOM::]):
3691         (-[WebCoreDOMAttr DOM::]):
3692
3693 2002-10-16  David Hyatt  <hyatt@apple.com>
3694
3695         Fix crash on pages with bulleted lists.  Making sure the list
3696         item marker doesn't get a layer (which means it has to be
3697         painted by hand now by the list item object).
3698         
3699         * khtml/rendering/render_box.cpp:
3700         (RenderBox::setStyle):
3701         * khtml/rendering/render_list.cpp:
3702         (RenderListItem::printObject):
3703         * khtml/rendering/render_list.h:
3704         * khtml/rendering/render_object.h:
3705
3706 2002-10-16  Darin Adler  <darin@apple.com>
3707
3708         - fixed 3072542 -- double "&" in submit button
3709
3710         * khtml/rendering/render_form.cpp: (RenderSubmitButton::rawText):
3711         Don't double the "&" character, not needed for KWQ.
3712
3713 2002-10-16  David Hyatt  <hyatt@apple.com>
3714
3715         When render objects were being dynamically wrapped in anonymous
3716         blocks, the layer parenting connection was being broken without
3717         being reconnected when the wrapping finished.  This patch
3718         shifts the layer connection into the functions that are also
3719         called in the dynamic case.
3720
3721         With this fix, all objects on mrskin finally show up.  Yeehah.
3722         brainjar.com's brain is back too.
3723
3724         This patch also stops treating images as inline if they are
3725         using abs/fixed positioning, since according to the CSS spec,
3726         abs/fixed positioned elements should be treated as block-level
3727         content.
3728         
3729         * khtml/rendering/render_container.cpp:
3730         (RenderContainer::addChild):
3731         (RenderContainer::appendChildNode):
3732         (RenderContainer::insertChildNode):
3733         * khtml/rendering/render_image.cpp:
3734         (RenderImage::setStyle):
3735
3736 2002-10-16  Darin Adler  <darin@apple.com>
3737
3738         - fixed 3045570 -- can't select a printer at inkfinder.com
3739
3740         * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
3741         Call the new openURL for the case where we are reusing a part.
3742         We do this backwards from how KHTML does, so it's twisted.
3743
3744         * kwq/KWQKHTMLPartImpl.h: Add openURL.
3745         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::openURL):
3746         Tell the bridge to load the URL.
3747
3748         * kwq/mac-encodings.txt: Tweak Korean encoding names.
3749
3750 2002-10-16  David Hyatt  <hyatt@apple.com>
3751
3752         A very substantial change.  Absolute/fixed positioned elements that
3753         are NOT renderflows were not getting layers constructed for them.
3754         They do now.
3755
3756         Also, floats now have layers constructed for them.  This allows
3757         printSpecialObjects to be completely eliminated, enables smarter
3758         damge rect intersection testing for faster painting, and fixes
3759         regressions on sites like www.demian5.com.
3760         
3761         * khtml/rendering/render_box.cpp:
3762         (RenderBox::setStyle):
3763         * khtml/rendering/render_flow.cpp:
3764         (RenderFlow::printObject):
3765         (RenderFlow::addOverHangingFloats):
3766         (RenderFlow::printTree):
3767         * khtml/rendering/render_flow.h:
3768         * khtml/rendering/render_layer.cpp:
3769         (RenderLayer::constructZTree):
3770         * khtml/rendering/render_root.cpp:
3771         (RenderRoot::printObject):
3772         * khtml/rendering/render_table.cpp:
3773         (RenderTable::print):
3774
3775 2002-10-16  Richard Williamson  <rjw@apple.com>
3776
3777         Removed bogus code.
3778         
3779         * kwq/KWQKHistoryProvider.mm:
3780
3781 2002-10-15  Richard Williamson  <rjw@apple.com>
3782
3783         * kwq/WebCoreBridge.mm:
3784         (attributedString):
3785         Don't convert element unless it has a renderer.
3786
3787         * kwq/WebCoreDOMNode.mm:
3788         (-[WebCoreDOMAttr DOM::]):
3789         (-[WebCoreDOMAttr name]):
3790         (-[WebCoreDOMAttr specified]):
3791         (-[WebCoreDOMAttr value]):
3792         (-[WebCoreDOMAttr ownerElement]):
3793         (-[WebCoreDOMElement tagName]):
3794         (-[WebCoreDOMElement setAttribute::]):
3795         (-[WebCoreDOMElement removeAttribute:]):
3796         (-[WebCoreDOMElement getAttributeNode:]):
3797         (-[WebCoreDOMElement removeAttributeNode:]):
3798         (-[WebCoreDOMElement getElementsByTagName:]):
3799         (-[WebCoreDOMElement getAttributeNS::]):
3800         (-[WebCoreDOMElement setAttributeNS:::]):
3801         (-[WebCoreDOMCharacterData data]):
3802         (-[WebCoreDOMCharacterData setData:]):
3803         (-[WebCoreDOMCharacterData length]):
3804         (-[WebCoreDOMCharacterData substringData::]):
3805         (-[WebCoreDOMCharacterData appendData:]):
3806         (-[WebCoreDOMCharacterData insertData::]):
3807         (-[WebCoreDOMCharacterData deleteData::]):
3808         (-[WebCoreDOMText splitText:]):
3809         (-[WebCoreDOMProcessingInstruction data]):
3810         (-[WebCoreDOMProcessingInstruction setData:]):
3811         * kwq/WebCoreDOMPrivate.h:
3812         API cleanup.
3813
3814 2002-10-15  David Hyatt  <hyatt@apple.com>
3815
3816         More work on making blocks correctly compute their maximal
3817         positive and negative margins.  Adding code to ensure
3818         that floats and absolute/fixed positioned elements know
3819         not to collapse with children or with themselves.  Also adding
3820         code to teach empty blocks that they can collapse their own
3821         margins together.
3822         
3823         * khtml/rendering/render_flow.cpp:
3824         (RenderFlow::layout):
3825         (RenderFlow::layoutBlockChildren):
3826
3827 2002-10-15  Darin Adler  <darin@apple.com>
3828
3829         WebCore support for using referrer even in loads that are not initiated
3830         by WebCore itself.
3831
3832         * kwq/KWQKHTMLPartBrowserExtension.mm:
3833         (KHTMLPartBrowserExtension::createNewWindow): Don't pass a referrer.
3834         We get the referrer from the part.
3835
3836         * kwq/KWQKHTMLPartImpl.h: Add a new referrer method that works on the
3837         part, and remove the old one that got it from the URL arguments.
3838         * kwq/KWQKHTMLPartImpl.mm:
3839         (KWQKHTMLPartImpl::bridgeForFrameName): Don't pass a referrer when
3840         creating a new window.
3841         (KWQKHTMLPartImpl::openURLRequest): Don't pass a referrer when doing a load.
3842         (KWQKHTMLPartImpl::urlSelected): Don't pass a referrer when doing a load.
3843         (KWQKHTMLPartImpl::createPart): Don't pass a referrer when creating a child
3844         frame for this window.
3845         (KWQKHTMLPartImpl::submitForm): Don't pass a referrer when doing a load.
3846         (KWQKHTMLPartImpl::referrer): Added.
3847
3848         * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Don't pass a referrer when starting
3849         a load.
3850         * kwq/WebCoreBridge.h: Add referrer method. Remove referrer parameter from
3851         many other methods.
3852         * kwq/WebCoreBridge.mm: (-[WebCoreBridge referrer]): Added.
3853
3854 2002-10-15  Darin Adler  <darin@apple.com>
3855
3856         - fixed 3021713 -- text selection background obliterates descenders
3857         (in www.theregister.co.uk articles)
3858         - fixed 3038207 -- Selected link text doesn't draw its link underline
3859
3860         * khtml/rendering/render_text.cpp:
3861         (TextSlave::printSelection): Don't draw text at all, just draw a selection background.
3862         (RenderText::printObject): Draw in two passes. Draw the selection background in the
3863         first pass, and the text in the second pass. That way pieces of the background won't
3864         cover any other text or adornments, like underlines.
3865
3866 2002-10-15  Darin Adler  <darin@apple.com>
3867
3868         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
3869         Move the special case of a different anchor within the same
3870         page into WebKit from here.
3871
3872         * kwq/kdecore/kurl.h: Mark urlcmp as a friend.
3873         * kwq/KWQKURL.mm: (urlcmp): Implement the ignoreRef feature, which
3874         is needed to make the KHTMLPart::openURL function work right.
3875
3876         * kwq/WebCoreBridge.h: Removed addBackForwardItemWithURL:anchor:
3877         and added URL method.
3878         * kwq/WebCoreBridge.mm: (-[WebCoreBridge URL]): Added.
3879
3880 2002-10-15  Darin Adler  <darin@apple.com>
3881
3882         - fixed 3074558 -- frames multiply at: http://www.iarsn.com/
3883
3884         The key was to make the name attribute work properly.
3885
3886         * khtml/ecma/kjs_window.cpp:
3887         (Window::get): Enable the "name" attribute.
3888         (Window::put): Enable the "name" attribute, but don't do the
3889         conversion to an 8-bit string -- leave it as a QString.
3890         * kwq/WebCoreBridge.h: Add setName/name methods.
3891         * kwq/WebCoreBridge.mm:
3892         (-[WebCoreBridge setName:]): Added. Calls part->setName().
3893         (-[WebCoreBridge name]): Added. Calls part->name().
3894         * kwq/kparts/part.h: Added setName/name to ReadOnlyPart.
3895
3896         * kwq/KWQKHTMLPartImpl.mm: Remove old bogusish comment.
3897
3898 2002-10-15  Richard Williamson  <rjw@apple.com>
3899
3900         Added text color to attributed string conversion.
3901         
3902         * kwq/WebCoreBridge.mm:
3903         (attributedString):
3904
3905 2002-10-15  Richard Williamson  <rjw@apple.com>
3906
3907         Added API to get attributed string from bridge.
3908         Added API to get selection in terms of the DOM API
3909         from the bridge.
3910         
3911         * kwq/WebCoreBridge.h:
3912         * kwq/WebCoreBridge.mm:
3913         (attributedString):
3914         (-[WebCoreBridge selectionStart]):
3915         (-[WebCoreBridge selectionStartOffset]):
3916         (-[WebCoreBridge selectionEnd]):
3917         (-[WebCoreBridge selectionEndOffset]):
3918
3919 2002-10-15  Darin Adler  <darin@apple.com>
3920
3921         - fixed 3054791 -- crash in WebCoreSettings _updateAllViews changing font
3922
3923         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::~KWQKHTMLPartImpl):
3924         Pass in the "this" pointer so that the right instance is removed from the
3925         instances list. Before, we would always remove the first instance from the
3926         list, leaving the list broken.
3927
3928 2002-10-15  Ken Kocienda  <kocienda@apple.com>
3929
3930         Fixed an "unused variable" build breaker. Note that I just 
3931         commented out the code and put a FIXME, as I know this is code
3932         that David has been banging on a lot. This should be either
3933         used for real or removed eventually, but I'll leave that for 
3934         Hyatt.
3935
3936         * khtml/rendering/render_flow.cpp:
3937         (RenderFlow::layoutBlockChildren):
3938
3939 2002-10-14  David Hyatt  <hyatt@apple.com>
3940
3941         More collapsing margin surgery.  Working on setting up blocks 
3942         to properly compute their collapsed margins (without actually changing
3943         the obsolete collapsing behavior yet).
3944         
3945         * khtml/rendering/render_flow.cpp:
3946         (RenderFlow::RenderFlow):
3947         (RenderFlow::layout):
3948         (RenderFlow::layoutBlockChildren):
3949         * khtml/rendering/render_flow.h:
3950
3951 2002-10-14  David Hyatt  <hyatt@apple.com>
3952
3953         Adding helper functions for handling of collapsing margins.
3954         Not used yet.
3955         
3956         * khtml/rendering/render_object.h:
3957
3958 2002-10-14  Darin Adler  <darin@apple.com>
3959
3960         Fixed problems with named colors.
3961
3962         * kwq/KWQColor.mm: (QColor::setNamedColor): Check named colors before
3963         hex codes for colors because our hex code parsing is now lenient enough
3964         that many names qualify.
3965
3966 2002-10-14  David Hyatt  <hyatt@apple.com>
3967
3968         Really fixing zeldman.com this time.  This disabling stuff
3969         is complicated! :)
3970         
3971         * khtml/html/html_headimpl.cpp:
3972         (HTMLLinkElementImpl::parseAttribute):
3973         (HTMLLinkElementImpl::setStyleSheet):
3974         (HTMLLinkElementImpl::sheetLoaded):
3975
3976 2002-10-14  David Hyatt  <hyatt@apple.com>
3977
3978         Stop the insanity.  Make sure that a sheet that is disabled
3979         while it is still loading is removed from the doc's list
3980         of pending sheets (for FOUC checks).
3981
3982         Fixes zeldman.com.
3983         
3984         * khtml/html/html_headimpl.cpp:
3985         (HTMLLinkElementImpl::parseAttribute):
3986
3987 2002-10-14  David Hyatt  <hyatt@apple.com>
3988
3989         Implementing the ability to individually enable/disable
3990         both preferred and alternate stylesheets.  Enabling/disabling
3991         sheets via the disabled property of the <link> element overrides
3992         whether or not a sheet happens to be alternate or preferred.
3993
3994         This new implementation of sheet disabling/enabling was a missing
3995         piece of our HTML4 compliance, and was used by the Wired 
3996         site to implement its text sizing mechanism.
3997         
3998         * khtml/html/html_headimpl.cpp:
3999         (HTMLLinkElementImpl::HTMLLinkElementImpl):
4000         (HTMLLinkElementImpl::parseAttribute):
4001         (HTMLLinkElementImpl::process):
4002         * khtml/html/html_headimpl.h:
4003         * khtml/xml/dom_docimpl.cpp:
4004         (DocumentImpl::recalcStyleSelector):
4005
4006 2002-10-11  Richard Williamson   <rjw@apple.com>
4007
4008         Remove debugging.
4009         
4010         * kwq/WebCoreDOMDocument.mm:
4011         (+[WebCoreDOMDocument documentWithImpl:DOM::]):
4012         * kwq/WebCoreDOMNode.mm:
4013         (-[WebCoreDOMNode lastChild]):
4014
4015 2002-10-11  Richard Williamson   <rjw@apple.com>
4016
4017         More DOM/attributed string work.  Still need to fix more
4018         inappropriate casting problems.
4019         
4020         * khtml/dom/dom_node.cpp:
4021         (Node::lastChild):
4022         * khtml/xml/dom_nodeimpl.cpp:
4023         (NodeImpl::lastChild):
4024         (NodeBaseImpl::lastChild):
4025         * khtml/xml/dom_nodeimpl.h:
4026         * kwq/KWQKHTMLPartImpl.cpp:
4027         (KWQKHTMLPartImpl::selectionStartOffset):
4028         (KWQKHTMLPartImpl::selectionEndOffset):
4029         (KWQKHTMLPartImpl::selectionStart):
4030         (KWQKHTMLPartImpl::selectionEnd):
4031         * kwq/KWQKHTMLPartImpl.h:
4032         * kwq/WebCoreBridge.h:
4033         * kwq/WebCoreBridge.mm:
4034         (-[WebCoreBridge DOMDocument]):
4035         (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
4036         (attributedString):
4037         (-[WebCoreBridge selectedAttributedString]):
4038         (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]):
4039         * kwq/WebCoreDOMDocument.mm:
4040         (-[WebCoreDOMDocumentType DOM::]):
4041         (-[WebCoreDOMDocumentType name]):
4042         (-[WebCoreDOMDocumentType entities]):
4043         (-[WebCoreDOMDocumentType notations]):
4044         (-[WebCoreDOMDocumentType publicId]):
4045         (-[WebCoreDOMDocumentType systemId]):
4046         (-[WebCoreDOMDocumentType internalSubset]):
4047         (-[WebCoreDOMImplementation DOM::]):
4048         (-[WebCoreDOMImplementation hasFeature::]):
4049         (-[WebCoreDOMImplementation createDocument:::]):
4050         (+[WebCoreDOMDocument documentWithImpl:DOM::]):
4051         (-[WebCoreDOMDocument DOM::]):
4052         (-[WebCoreDOMDocument doctype]):
4053         (-[WebCoreDOMDocument implementation]):
4054         (-[WebCoreDOMDocument documentElement]):
4055         (-[WebCoreDOMDocument createElement:]):
4056         (-[WebCoreDOMDocument createElementNS::]):
4057         (-[WebCoreDOMDocument createDocumentFragment]):
4058         (-[WebCoreDOMDocument createTextNode:]):
4059         (-[WebCoreDOMDocument createComment:]):
4060         (-[WebCoreDOMDocument createCDATASection:]):
4061         (-[WebCoreDOMDocument createProcessingInstruction::]):
4062         (-[WebCoreDOMDocument createAttribute:]):
4063         (-[WebCoreDOMDocument createAttributeNS::]):
4064         (-[WebCoreDOMDocument createEntityReference:]):
4065         (-[WebCoreDOMDocument getElementById:]):
4066         (-[WebCoreDOMDocument getElementsByTagName:]):
4067         (-[WebCoreDOMDocument getElementsByTagNameNS::]):
4068         (-[WebCoreDOMDocument importNode::]):
4069         * kwq/WebCoreDOMNode.mm:
4070         (-[WebCoreDOMNode initWithImpl:DOM::]):
4071         (-[WebCoreDOMNode firstChild]):
4072         (-[WebCoreDOMNode lastChild]):
4073         * kwq/WebCoreDOMPrivate.h:
4074         * kwq/WebCoreBridge.mm:
4075         (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
4076         (recursive_toHTML):
4077         (attributedString):
4078
4079 2002-10-11  David Hyatt  <hyatt@apple.com>
4080
4081         Fix for 3058829, assertion caused by table cell with
4082         incorrect display type.  Implemented a quirk that forces
4083         <td>s of display: block to construct table cells as
4084         rendering objects. 
4085         
4086         * khtml/rendering/render_object.cpp:
4087         (RenderObject::createObject):
4088
4089 === Alexander-27 ===
4090
4091 2002-10-10  Darin Adler  <darin@apple.com>
4092
4093         - fixed 3047782 -- Alexander rejects some color strings that other browsers accept
4094
4095         * khtml/misc/helper.cpp: (khtml::setNamedColor): Put some of the code from this
4096         level that tries to accomodate bad colors in #if !APPLE_CHANGES, since we do most
4097         of the smarts in KWQ.
4098
4099         * kwq/KWQColor.mm:
4100         (hex2int): Tolerate non-hex digits, treating them as 0.
4101         (decodeColorFromHexColorString): Trim any number of leading # characters, and trailing
4102         " and ' characters. Handle strings of 4, 5, 7, 8, 10, and 11 hex digits, along with
4103         the existing 3, 6, 9, and 12.
4104
4105 2002-10-10  David Hyatt  <hyatt@apple.com>
4106
4107         Fix a subtle bug with layers.  When a parent is sorted with its
4108         children the parent's zindex must be treated as 0, so that
4109         negative children draw behind the layer's content and positive
4110         children (or auto children) draw in front of the layer's content.
4111
4112         This fix makes chrysler.com work again (and doubtless many other
4113         messed up DHTML sites).
4114         
4115         * khtml/rendering/render_layer.cpp:
4116         (RenderLayer::constructZTree):
4117         (RenderLayer::RenderZTreeNode::constructLayerList):
4118
4119 2002-10-09  Richard Williamson  <rjw@apple.com>
4120
4121         Implemented string conversion functions.
4122         
4123         * kwq/WebCoreDOMDocument.mm:
4124         (domStringToNSString):
4125         (NSStringToDOMString):
4126
4127 2002-10-09  Darin Adler  <darin@apple.com>
4128
4129         - fixed 3069264 -- REGRESSION: windows created for links with
4130         target=blank start out hidden (window menu only)
4131
4132         * kwq/WebCoreBridge.h: Removed openNewWindowWithURL:referrer:frameName: and
4133         added createWindowWithURL:referrer:frameName: and showWindow.
4134
4135         * kwq/KWQKHTMLPartBrowserExtension.mm:
4136         (KHTMLPartBrowserExtension::createNewWindow): Call createWindowWithURL,
4137         and then showWindow after the window is set up. Also change the code that
4138         flips coordinates to always use the height of the first screen instead of
4139         using the height of the screen the window is on, which sounds right, but
4140         is wrong.
4141
4142         * kwq/KWQKHTMLPartImpl.mm:
4143         (KWQKHTMLPartImpl::bridgeForFrameName): Call createWindowWithURL and then
4144         showWindow in the case where we create a window.
4145         (KWQKHTMLPartImpl::urlSelected): Remove unused command-click code. The real
4146         command-click code is in the browser now.
4147
4148 2002-10-09  Darin Adler  <darin@apple.com>
4149
4150         - fixed 3069749 -- crash in QString during third run of cvs-base
4151
4152         * kwq/KWQString.mm:
4153         (checkNodeAllocationPages): Added function to use for debugging.
4154         (_allocateNode): Clear the next pointer after removing a page from the free
4155         node list so that the free node list doesn't point at part of the used node list.
4156         (freeHandle): Change the code around so that the code to add the node to the
4157         free list works even in the case where this was the top from the used list.
4158         The old code would half-remove the node from the used list and not add it to
4159         the free list at all.
4160
4161 2002-10-09  Darin Adler  <darin@apple.com>
4162
4163         * WebCore.pbproj/project.pbxproj: Project Builder wanted to set encodings
4164         for new files. Maybe Richard is not using the new Project Builder on all
4165         his machines?
4166
4167         * kwq/KWQString.mm: (_allocateNode): Fix typo in comment.
4168
4169         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::bridgeForFrameName): Tweak.
4170
4171 2002-10-09  David Hyatt  <hyatt@apple.com>
4172
4173         This was an unintentional checkin. backing out.
4174         
4175         * khtml/xml/dom_elementimpl.cpp:
4176         (NamedAttrMapImpl::removeNamedItem):
4177
4178 2002-10-08  Richard Williamson   <rjw@apple.com>
4179
4180         Added bridge method set the selection.
4181         
4182         * kwq/WebCoreBridge.h:
4183         * kwq/WebCoreBridge.mm:
4184         (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
4185
4186 2002-10-08  Richard Williamson   <rjw@apple.com>
4187
4188         Added bridge method to get the DOM document.
4189         
4190         * kwq/WebCoreBridge.h:
4191         * kwq/WebCoreBridge.mm:
4192         (-[WebCoreBridge DOMDocument]):
4193         * kwq/WebCoreDOM.h:
4194
4195 2002-10-08  Richard Williamson   <rjw@apple.com>
4196
4197         More DOM implementation.
4198         
4199         * khtml/dom/dom_text.h:
4200         * khtml/dom/dom_xml.h:
4201         * khtml/xml/dom_textimpl.h:
4202         * khtml/xml/dom_xmlimpl.h:
4203         * kwq/WebCoreDOM.h:
4204         * kwq/WebCoreDOMNode.mm:
4205         (DOM::CharacterDataImpl::createInstance):
4206         (DOM::TextImpl::createInstance):
4207         (DOM::ProcessingInstructionImpl::createInstance):
4208         (-[WebCoreDOMCharacterData data]):
4209         (-[WebCoreDOMCharacterData setData:]):
4210         (-[WebCoreDOMCharacterData length]):
4211         (-[WebCoreDOMCharacterData substringData::]):
4212         (-[WebCoreDOMCharacterData appendData:]):
4213         (-[WebCoreDOMCharacterData insertData::]):
4214         (-[WebCoreDOMCharacterData deleteData::]):
4215         (-[WebCoreDOMText splitText:]):
4216         (+[WebCoreDOMCDATASection CDATASectionWithImpl:DOM::]):
4217         (-[WebCoreDOMProcessingInstruction data]):
4218         (-[WebCoreDOMProcessingInstruction setData:]):
4219         * kwq/WebCoreDOMPrivate.h:
4220         * kwq/WebDOMElement.h:
4221
4222 2002-10-08  Richard Williamson   <rjw@apple.com>
4223
4224         Implemented WebCoreDOMElement.
4225         Fixed extra deref of impl in subclasses
4226         of WebCoreDOMNode.
4227         
4228         * khtml/dom/dom_element.h:
4229         * khtml/dom/dom_node.h:
4230         * khtml/xml/dom_elementimpl.h:
4231         * khtml/xml/dom_nodeimpl.h:
4232         * kwq/WebCoreDOMDocument.mm:
4233         (-[WebCoreDOMDocument initWithImpl:DOM::]):
4234         * kwq/WebCoreDOMNode.mm:
4235         (DOM::NodeListImpl::createInstance):
4236         (DOM::NamedNodeMapImpl::createInstance):
4237         (DOM::AttrImpl::createInstance):
4238         (DOM::ElementImpl::createInstance):
4239         (-[WebCoreDOMNodeList length]):
4240         (-[WebCoreDOMNodeList item:]):
4241         (-[WebCoreDOMAttr initWithImpl:DOM::]):
4242         (+[WebCoreDOMDocumentFragment documentFragmentWithImpl:DOM::]):
4243         (-[WebCoreDOMElement tagName]):
4244         (-[WebCoreDOMElement setAttribute::]):
4245         (-[WebCoreDOMElement removeAttribute:]):
4246         (-[WebCoreDOMElement getAttributeNode:]):
4247         (-[WebCoreDOMElement removeAttributeNode:]):
4248         (-[WebCoreDOMElement getElementsByTagName:]):
4249         (-[WebCoreDOMElement getAttributeNS::]):
4250         (-[WebCoreDOMElement setAttributeNS:::]):
4251         * kwq/WebDOMDocument.h:
4252         * kwq/WebDOMElement.h:
4253
4254 2002-10-08  Richard Williamson   <rjw@apple.com>
4255
4256         First cut at ObjC stubs for DOM API.  Finished the
4257         main classes.  Need to finish
4258         WebDOMElement, WebDOMElement, WebDOMElement, 
4259         WebDOMCDATASection, WebDOMText, WebDOMComment,
4260         WebDOMCharacterData and 
4261         
4262         * WebCore.pbproj/project.pbxproj:
4263         * khtml/dom/dom_doc.h:
4264         * khtml/dom/dom_element.h:
4265         * khtml/dom/dom_node.h:
4266         * khtml/xml/dom_docimpl.h:
4267         * khtml/xml/dom_elementimpl.h:
4268         * khtml/xml/dom_nodeimpl.h:
4269         * kwq/WebCoreDOM.h: Added.
4270         * kwq/WebCoreDOMDocument.mm: Added.
4271         (DOM::DOMImplementationImpl::createInstance):
4272         (DOM::DocumentTypeImpl::createInstance):
4273         (DOM::DocumentImpl::createInstance):
4274         (domStringToNSString):
4275         (NSStringToDOMString):
4276         (+[WebCoreDOMDocumentType documentTypeWithImpl:DOM::]):
4277         (-[WebCoreDOMDocumentType initWithImpl:DOM::]):
4278         (-[WebCoreDOMDocumentType dealloc]):
4279         (-[WebCoreDOMDocumentType DOM::]):
4280         (-[WebCoreDOMDocumentType name]):
4281         (-[WebCoreDOMDocumentType entities]):
4282         (-[WebCoreDOMDocumentType notations]):
4283         (-[WebCoreDOMDocumentType publicId]):
4284         (-[WebCoreDOMDocumentType systemId]):
4285         (-[WebCoreDOMDocumentType internalSubset]):
4286         (+[WebCoreDOMImplementation implementionatWithImpl:DOM::]):
4287         (-[WebCoreDOMImplementation initWithImpl:DOM::]):
4288         (-[WebCoreDOMImplementation dealloc]):
4289         (-[WebCoreDOMImplementation DOM::]):
4290         (-[WebCoreDOMImplementation hasFeature::]):
4291         (-[WebCoreDOMImplementation createDocument:::]):
4292         (+[WebCoreDOMDocument documentWithImpl:DOM::]):
4293         (-[WebCoreDOMDocument initWithImpl:DOM::]):
4294         (-[WebCoreDOMDocument dealloc]):
4295         (-[WebCoreDOMDocument DOM::]):
4296         (-[WebCoreDOMDocument doctype]):
4297         (-[WebCoreDOMDocument implementation]):
4298         (-[WebCoreDOMDocument documentElement]):
4299         (-[WebCoreDOMDocument createElement:]):
4300         (-[WebCoreDOMDocument createElementNS::]):
4301         (-[WebCoreDOMDocument createDocumentFragment]):
4302         (-[WebCoreDOMDocument createTextNode:]):
4303         (-[WebCoreDOMDocument createComment:]):
4304         (-[WebCoreDOMDocument createCDATASection:]):
4305         (-[WebCoreDOMDocument createProcessingInstruction::]):
4306         (-[WebCoreDOMDocument createAttribute:]):
4307         (-[WebCoreDOMDocument createAttributeNS::]):
4308         (-[WebCoreDOMDocument createEntityReference:]):
4309         (-[WebCoreDOMDocument getElementById:]):
4310         (-[WebCoreDOMDocument getElementsByTagName:]):
4311         (-[WebCoreDOMDocument getElementsByTagNameNS::]):
4312         (-[WebCoreDOMDocument importNode::]):
4313         * kwq/WebCoreDOMNode.mm: Added.
4314         (DOM::NamedNodeMapImpl::createInstance):
4315         (DOM::AttrImpl::createInstance):
4316         (+[WebCoreDOMNode nodeWithImpl:DOM::]):
4317         (-[WebCoreDOMNode initWithImpl:DOM::]):
4318         (-[WebCoreDOMNode DOM::]):
4319         (-[WebCoreDOMNode dealloc]):
4320         (-[WebCoreDOMNode nodeName]):
4321         (-[WebCoreDOMNode nodeValue]):
4322         (-[WebCoreDOMNode setNodeValue:]):
4323         (-[WebCoreDOMNode nodeType]):
4324         (-[WebCoreDOMNode parentNode]):
4325         (-[WebCoreDOMNode firstChild]):
4326         (-[WebCoreDOMNode lastChild]):
4327         (-[WebCoreDOMNode previousSibling]):
4328         (-[WebCoreDOMNode nextSibling]):
4329         (-[WebCoreDOMNode ownerDocument]):
4330         (-[WebCoreDOMNode insert:before:]):
4331         (-[WebCoreDOMNode replace:child:]):
4332         (-[WebCoreDOMNode removeChild:]):
4333         (-[WebCoreDOMNode hasChildNodes]):
4334         (-[WebCoreDOMNode cloneNode:]):
4335         (-[WebCoreDOMNode normalize]):
4336         (-[WebCoreDOMNode isSupported::]):
4337         (-[WebCoreDOMNode namespaceURI]):
4338         (-[WebCoreDOMNode prefix]):
4339         (-[WebCoreDOMNode setPrefix:]):
4340         (-[WebCoreDOMNode localName]):
4341         (+[WebCoreDOMNodeList nodeListWithImpl:DOM::]):
4342         (-[WebCoreDOMNodeList initWithImpl:DOM::]):
4343         (-[WebCoreDOMNodeList DOM::]):
4344         (-[WebCoreDOMNodeList dealloc]):
4345         (+[WebCoreDOMNamedNodeMap namedNodeMapWithImpl:DOM::]):
4346         (-[WebCoreDOMNamedNodeMap initWithImpl:DOM::]):
4347         (-[WebCoreDOMNamedNodeMap DOM::]):
4348         (-[WebCoreDOMNamedNodeMap dealloc]):
4349         (-[WebCoreDOMNamedNodeMap length]):
4350         (-[WebCoreDOMNamedNodeMap getNamedItem:]):
4351         (-[WebCoreDOMNamedNodeMap setNamedItem:]):
4352         (+[WebCoreDOMAttr attrWithImpl:DOM::]):
4353         (-[WebCoreDOMAttr initWithImpl:DOM::]):
4354         (-[WebCoreDOMAttr DOM::]):
4355         (-[WebCoreDOMAttr dealloc]):
4356         (-[WebCoreDOMAttr name]):
4357         (-[WebCoreDOMAttr specified]):
4358         (-[WebCoreDOMAttr value]):
4359         (-[WebCoreDOMAttr ownerElement]):
4360         (+[WebCoreDOMCDATASection CDATASectionWithImpl:DOM::]):
4361         (-[WebCoreDOMCDATASection initWithImpl:DOM::]):
4362         (-[WebCoreDOMCDATASection DOM::]):
4363         (-[WebCoreDOMCDATASection dealloc]):
4364         * kwq/WebCoreDOMPrivate.h: Added.
4365         * kwq/WebDOMDocument.h: Added.
4366         * kwq/WebDOMElement.h: Added.
4367         * kwq/WebDOMNode.h: Added.
4368
4369 2002-10-09  David Hyatt  <hyatt@apple.com>
4370
4371         Fix a bug in my event handling code for layers.   This makes
4372         the links on ESPN.com work again (bug 3051636).  Yay!
4373         
4374         * khtml/rendering/render_layer.cpp:
4375         (RenderLayer::constructZTree):
4376         * khtml/xml/dom_elementimpl.cpp:
4377         (NamedAttrMapImpl::removeNamedItem):
4378         * kwq/qt/qrect.h:
4379
4380 2002-10-07  Darin Adler  <darin@apple.com>
4381
4382         - fixed 3037353 -- align="middle" elements not horizontally centered
4383
4384         * khtml/html/html_blockimpl.cpp: (HTMLDivElementImpl::parseAttribute):
4385         * khtml/html/html_tableimpl.cpp: (HTMLTablePartElementImpl::parseAttribute):
4386         Handle "middle" same as center in these two places.
4387
4388 2002-10-07  Darin Adler  <darin@apple.com>
4389
4390         WebCore part of implementation of multipart forms posting.
4391
4392         * kwq/WebCoreBridge.h: Add a contentType parameter to the bridge's
4393         [postWithURL:referrer:data:] method.
4394
4395         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::submitForm):
4396         Extract the content type from the args, and pass it along to the bridge.
4397
4398 2002-10-07  Darin Adler  <darin@apple.com>
4399
4400         - fixed 3011025 -- Page up/down is not working when text area has focus
4401
4402         * kwq/KWQTextArea.mm:
4403         (-[KWQTextArea needsPanelToBecomeKey]): Return YES so we are considered a
4404         valid key view even when in normal tabbing mode. This fixes a problem with
4405         tabbing backwards into a text area.
4406         (-[KWQTextAreaTextView scrollPageUp:]): Added. Passes a scrollPageUp:
4407         selector along the responder chain if we are already scrolled to the top.
4408         (-[KWQTextAreaTextView scrollPageDown:]): Ditto.
4409
4410         * kwq/KWQNSTextField.mm: Remove unnecessary overrides of textDidEndEditing.
4411         Turns out the real fix was to override display to do nothing as a workaround
4412         for bug 2753974.
4413
4414 2002-10-07  Richard Williamson   <rjw@apple.com>
4415
4416         Added response to WebCore's CachedObject.  This allows us to correctly
4417         emulate the WebResourceLoadDelegate API when 're'loading an item
4418         from the WebCore cache.  
4419         
4420         * khtml/misc/loader.cpp:
4421         (CachedObject::~CachedObject):
4422         (CachedObject::setResponse):
4423         (Loader::receivedResponse):
4424         * khtml/misc/loader.h:
4425         * kwq/KWQLoaderImpl.h:
4426         * kwq/KWQLoaderImpl.mm:
4427         (-[WebCoreResourceLoader receivedResponse:]):
4428         (KWQCheckCacheObjectStatus):
4429         (KWQRetainResponse):
4430         (KWQReleaseResponse):
4431         * kwq/WebCoreBridge.h:
4432         * kwq/WebCoreResourceLoader.h:
4433
4434 2002-10-06  Darin Adler  <darin@apple.com>
4435
4436         - fixed 3046737 -- infinite loop in font name matching code on some pages
4437
4438         * kwq/KWQString.mm: (QString::replace): Removed the incorrect early exit if
4439         the passed in string was the empty string.
4440
4441 2002-10-04  Darin Adler  <darin@apple.com>
4442
4443         * kwq/KWQKURL.mm: (KURL::parse): Fix code that adds "//" to file URLs.
4444         The code was including the extra slashes as part of the path, which they are not.
4445         Verified with the tests in the Tests directory.
4446
4447 2002-10-03  Darin Adler  <darin@apple.com>
4448
4449         - fixed 3065730 -- Crash loading "My T-Mobile" page (in khtml::Decoder::decode)
4450
4451         * khtml/misc/decoder.cpp: (Decoder::decode): Fixed a mistake that would cause
4452         the loop to run off the end of the buffer, introduced back on 2002-08-30.
4453
4454 2002-10-03  Darin Adler  <darin@apple.com>
4455
4456         Add API to execute JavaScript.
4457
4458         * kwq/WebCoreBridge.h: Add method.
4459         * kwq/WebCoreBridge.mm:
4460         (-[WebCoreBridge executeJavaScriptFromString:]): Call through to
4461         KHTML. But only if the document is not nil. We need to figure out
4462         what to do in the case where the document is nil.
4463
4464 === Alexander-26 ===
4465
4466 2002-10-02  Darin Adler  <darin@apple.com>
4467
4468         Moved "overURL" handling out of WebCore into WebKit and Alex.
4469         Also separated the two levels of the "element dictionary" so they
4470         don't rely on having the same keys.
4471
4472         * khtml/khtml_part.h: Revert the APPLE_CHANGES to overURL.
4473         * khtml/khtml_part.cpp:
4474         (KHTMLPart::overURL): Removed the APPLE_CHANGES and just ifdef'd out
4475         the whole thing for our version.
4476         (KHTMLPart::khtmlMouseMoveEvent): Get rid of the APPLE_CHANGES and
4477         don't do any of the status bar setup.
4478
4479         * kwq/KWQKHTMLPartImpl.h: Remove overURL.
4480         * kwq/KWQKHTMLPartImpl.mm: Ditto.
4481
4482         * kwq/WebCoreBridge.h: Change keys so they don't match the WebKit ones so
4483         we don't accidentally rely on that. Add WebCoreElementLinkTarget.
4484
4485         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Add code to
4486         set up WebCoreElementLinkTarget.
4487
4488 2002-10-01  Darin Adler  <darin@apple.com>
4489
4490         - fixed 3055076 -- window.scroll does a window.scrollby, not a window.scrollto
4491
4492         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Moved a case so that the
4493         scroll code would scroll to, not by.
4494
4495 2002-10-01  David Hyatt  <hyatt@apple.com>
4496
4497         Fix the case sensitivity problem with attribute names 
4498         in HTML.  They are now lower-cased when being queried
4499         from the DOM. Bug 3058145.
4500         
4501         * khtml/xml/dom_docimpl.cpp:
4502         (DocumentImpl::attrName):
4503
4504 2002-10-01  David Hyatt  <hyatt@apple.com>
4505
4506         Make sure to keep the fix checked in for 1.18.  That fix is
4507         good.
4508         
4509         * khtml/rendering/render_table.cpp:
4510         (RenderTable::addColInfo):
4511
4512 2002-10-01  David Hyatt  <hyatt@apple.com>
4513
4514         Backing out change to render_table.cpp.  The original logic
4515         (in version 1.16) is correct.
4516         
4517         * khtml/rendering/render_table.cpp:
4518         (RenderTable::addColInfo):
4519
4520 2002-09-30  Darin Adler  <darin@apple.com>
4521
4522         * kwq/qt/qobject.h: Add the destroyed signal.
4523         * kwq/KWQObject.mm:
4524         (QObject::connect): Remove names of parentDestroyed and slotWidgetDestructed
4525         from the list of "slots OK to fail to connect without complaining".
4526         (QObject::QObject): Initialize the destroyed signal.
4527
4528         * kwq/qt/qguardedptr.h:
4529         * kwq/KWQGuardedPtr.mm:
4530         * kwq/KWQSignal.h:
4531         * kwq/KWQSlot.h:
4532         Rearrange includes so qobject.h can include KWQSignal.h.
4533
4534         * kwq/KWQSignal.mm: Tweak.
4535
4536         * kwq/KWQSlot.mm: Added support for the parentDestroyed slot in KJS::WindowQObject
4537         and the slotWidgetDestructed slot in khtml::RenderWidget.
4538
4539 2002-09-28  Darin Adler  <darin@apple.com>
4540
4541         Turn -Werror back on. There must have been some miscommunication
4542         about the fat build; this was supposed to have been on.
4543
4544         * WebCore.pbproj/project.pbxproj: Add -Werror back.
4545
4546         * kwq/WebCoreHistory.h: Add missing method to fix warning.
4547         * kwq/KWQKHistoryProvider.mm: Tweak.
4548
4549 2002-09-28  Darin Adler  <darin@apple.com>
4550
4551         Give the next fat build a better chance of working with the
4552         new gcc without turning -Werror off.
4553
4554         * khtml/css/cssparser.cpp: Use a macro to disable inlining.
4555         * khtml/html/htmltokenizer.cpp: Ditto.
4556         * khtml/misc/htmlhashes.cpp: Ditto.
4557
4558 2002-09-28  Darin Adler  <darin@apple.com>
4559
4560         - fixed 3022441 -- scroll bar is missing in window created with window.open
4561
4562         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): The checks for extra
4563         parameters to window.open were using isNull, which checks for a null ValueImp
4564         pointer, not an "Undefined".
4565
4566 2002-09-28  Darin Adler  <darin@apple.com>
4567
4568         - fixed 2886111 -- changing font or size preference causes open
4569         windows to redraw incorrectly
4570
4571         * khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
4572         Fix logic about when a recalc of the minWidth and maxWidth is needed.
4573
4574         Fixed bug where changing the text size multiplier would cause the
4575         window to redraw twice -- once with the text size changed, and then
4576         later with the layout changed.
4577
4578         * khtml/khtmlview.h: Added unscheduleRelayout.
4579         * khtml/khtmlview.cpp: (KHTMLView::unscheduleRelayout): Added.
4580
4581         * kwq/KWQKHTMLPartImpl.h: Added forceLayout.
4582         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::forceLayout): Call
4583         both layout and unscheduleRelayout.
4584
4585         * kwq/WebCoreBridge.h: Add setNeedsLayout.
4586         * kwq/WebCoreBridge.mm:
4587         (-[WebCoreBridge forceLayout]): Call KWQKHTMLPartImpl::forceLayout.
4588         (-[WebCoreBridge setTextSizeMultiplier:]): Call forceLayout.
4589
4590 2002-09-27  Darin Adler  <darin@apple.com>
4591
4592         * khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
4593         Fixed a > that should have been a < that prevented tables from
4594         changing sizes when table minimum widths changed.
4595
4596 2002-09-27  Darin Adler  <darin@apple.com>
4597
4598         - fixed 2937198 -- Checkboxes and radiobuttons don't align with title control in forms
4599
4600         * kwq/qt/qcheckbox.h: Add baselinePosition override.
4601         * kwq/KWQCheckBox.mm: Tweak the size constants.
4602         (QCheckBox::baselinePosition): Implement this. Line up baseline two pixels
4603         above the bottom, not at the bottom.
4604
4605         * kwq/qt/qradiobutton.h: Add baselinePosition override.
4606         * kwq/KWQRadioButton.mm: Tweak the size constants.
4607         (QRadioButton::baselinePosition): Implement this. Line up baseline two pixels
4608         above the bottom, not at the bottom.
4609
4610 2002-09-27  Chris Blumenberg  <cblu@apple.com>
4611
4612         WebPlugin clean up.
4613
4614         * kwq/KWQKConfigBase.mm:
4615         (KConfig::readEntry):
4616         * kwq/WebCoreViewFactory.h:
4617
4618 2002-09-27  Richard Williamson   <rjw@apple.com>
4619
4620         Fixed 3059237:  Visited links do not appear in a different color on yahoo.com
4621         Fixed 3051288:  visited links are not colored in local files
4622         Fixed 3060158:  REGRESSION: iframes added to session history
4623         Always use the canonical originally requested URL as the URL entered in history.
4624         
4625         * khtml/khtml_part.cpp:
4626         (KHTMLPart::begin):
4627         * kwq/KWQKHTMLPartImpl.h:
4628         * kwq/KWQKHTMLPartImpl.mm:
4629         (KWQKHTMLPartImpl::requestedURLString):
4630         * kwq/KWQKHistoryProvider.mm:
4631         * kwq/WebCoreBridge.h:
4632         * kwq/WebCoreHistory.h:
4633
4634 2002-09-28  David Hyatt  <hyatt@apple.com>
4635
4636         Fix for 3058119, doctype of HTML docs should be null.
4637         
4638         * khtml/dom/dom_doc.cpp:
4639
4640 2002-09-28  David Hyatt  <hyatt@apple.com>
4641
4642         DOM compliance. Fix for 3058100, hasFeature of HTML returns
4643         false. Oops.
4644         
4645         * khtml/xml/dom_docimpl.cpp:
4646         (DOMImplementationImpl::hasFeature):
4647
4648 2002-09-27  Darin Adler  <darin@apple.com>
4649
4650         - fixed 3060487 -- error connecting member slot to signal (KWQObject)
4651
4652         * kwq/KWQObject.mm: (QObject::connect): Add slotShowDocument to the list of slots that
4653         we don't care about hooking up.
4654
4655 2002-09-26  Darin Adler  <darin@apple.com>
4656
4657         - fixed 2953256 -- JavaScript window.moveTo() and window.moveBy() methods do not work
4658
4659         * kwq/KWQWindowWidget.mm: (KWQWindowWidget::frameGeometry): Fix calculation.
4660         It was returning the bottom left coordinate instead of the top left.
4661
4662 2002-09-26  Darin Adler  <darin@apple.com>
4663
4664         - fixed 3060459 -- REGRESSION: crash leaving page that sets cookie in JavaScript
4665         unload handler
4666
4667         * khtml/khtml_part.cpp: (KHTMLPart::begin): Call updatePolicyBaseURL to set
4668         the "policy base URL" on the documents so the cookie can be based on the URL
4669         of the main document.
4670
4671         * khtml/dom/html_document.h: Add setPolicyBaseURL.
4672         * khtml/dom/html_document.cpp: (HTMLDocument::setPolicyBaseURL): Call the impl.
4673
4674         * khtml/html/html_documentimpl.h: Add policyBaseURL, setPolicyBaseURL.
4675         * khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::setCookie): Pass the
4676         base URL that's stored here instead of getting at the part through the view,
4677         since the view will be 0 during the unload event.
4678
4679         * kwq/KWQKHTMLPartImpl.h: Add updatePolicyBaseURL and setPolicyBaseURL.
4680         * kwq/KWQKHTMLPartImpl.mm:
4681         (KWQKHTMLPartImpl::updatePolicyBaseURL): Set the base URL based on the URL
4682         if this is the topmost part, based on the parent's policy base URL if this
4683         is not the topmost part.
4684         (KWQKHTMLPartImpl::setPolicyBaseURL): Change the policy base URL for this
4685         part and all the subparts.
4686
4687 2002-09-26  Darin Adler  <darin@apple.com>
4688
4689         * kwq/WebCoreBridge.h: Use NSString for encoding name, not CFStringEncoding.
4690         * kwq/WebCoreBridge.mm:
4691         (-[WebCoreBridge addData:withOverrideEncoding:]): Ditto.
4692
4693 2002-09-26  Chris Blumenberg  <cblu@apple.com>
4694
4695         Added WebCoreElementImageLocationKey to the element dictionary.
4696
4697         * kwq/WebCoreBridge.h:
4698         * kwq/WebCoreBridge.mm:
4699         (-[WebCoreBridge elementAtPoint:]):
4700
4701 === Alexander-25 ===
4702
4703 2002-09-25  David Hyatt  <hyatt@apple.com>
4704
4705         Implement scrollX and scrollY on the window object.  This
4706         gets brainjar closer to reality. :)
4707         
4708         * khtml/ecma/kjs_window.cpp:
4709         (Window::get):
4710         * khtml/ecma/kjs_window.h:
4711
4712 2002-09-25  Darin Adler  <darin@apple.com>
4713
4714         Fix error with the color "indigo".
4715
4716         * kwq/KWQColor.mm: (getNamedColors): There were some spaces in our
4717         color table so we wouldn't handle indianred or indigo.
4718
4719 2002-09-25  Maciej Stachowiak  <mjs@apple.com>
4720
4721         - fixed 2854536 - New cookie policy: "accept cookies only from the
4722         same domain as the main page"
4723         
4724         * khtml/html/html_documentimpl.cpp:
4725         (HTMLDocumentImpl::setCookie):
4726         * kwq/KWQKCookieJar.h:
4727         * kwq/KWQKCookieJar.mm:
4728         (KWQKCookieJar::setCookie):
4729         * kwq/WebCoreCookieAdapter.h:
4730         * kwq/WebCoreCookieAdapter.m:
4731         (-[WebCoreCookieAdapter setCookies:forURL:policyBaseURL:]):
4732
4733 2002-09-24  Darin Adler  <darin@apple.com>
4734
4735         - fixed 3057928 -- lstat private/etc/localtime repeatedly reported
4736         by fs_usage when mouse is moved
4737
4738         * WebCore-tests.exp: Remove now-unneeded external entry points
4739         for QTime, QDate, QDateTime.
4740
4741         * kwq/qt/qdatetime.h:
4742         * kwq/KWQDateTime.mm:
4743         Redid QDateTime using CoreFoundation instead of time/localtime.
4744         This avoids constantly hitting the disk when getting the current
4745         time to stuff into an event.
4746
4747 2002-09-24  David Hyatt  <hyatt@apple.com>
4748
4749         Make sure we dispatch both a capturing and a bubbling event
4750         to target nodes. DOM lvl 2 event compliance.
4751         
4752         * ChangeLog:
4753         * khtml/xml/dom_nodeimpl.cpp:
4754         (NodeImpl::dispatchGenericEvent):
4755
4756 2002-09-24  Richard Williamson   <rjw@apple.com>
4757
4758         Fixed 3055078.  Ensure file: URLs have // before path.
4759         
4760         * kwq/KWQKURL.mm:
4761         (KURL::parse):
4762
4763 2002-09-24  David Hyatt  <hyatt@apple.com>
4764
4765         Better fix.  Clears the boolean when CLASS has no value.
4766         This will keep the style system from thinking you have
4767         a class when you don't.
4768         
4769         * khtml/html/html_elementimpl.cpp:
4770         (HTMLElementImpl::parseAttribute):
4771
4772 2002-09-24  David Hyatt  <hyatt@apple.com>
4773
4774         Fix updating of the document's notion of the focused node
4775         to happen on mouse down rather than click.  This matches
4776         the behavior of all other browsers (IE, Gecko, etc.).
4777
4778         This fixes the drawing of the outline on the brainjar.com
4779         DHTML menus.
4780         
4781         * khtml/khtmlview.cpp:
4782         (KHTMLView::dispatchMouseEvent):
4783
4784 2002-09-24  David Hyatt  <hyatt@apple.com>
4785
4786         Make sure that changes to the CLASS attribute mark the
4787         element as changed (as if a CSS property were added or
4788         removed).
4789
4790         This makes the brainjar.com rollovers work much better.
4791         
4792         * khtml/html/html_elementimpl.cpp:
4793         (HTMLElementImpl::parseAttribute):
4794
4795 2002-09-24  Chris Blumenberg  <cblu@apple.com>
4796
4797         Renamed element info keys to WebElement* instead of WebContextMenuElement*
4798
4799         * kwq/WebCoreBridge.h:
4800         * kwq/WebCoreBridge.mm:
4801         (-[WebCoreBridge elementAtPoint:]):
4802
4803 2002-09-24  Darin Adler  <darin@apple.com>
4804
4805         - fixed 3056579 -- various crashes at http://www.auspost.com.au/
4806
4807         Apparently the strings at this site were just the right length to expose a bug
4808         in our QString implementation, one that I probably introduced when fixing 3032072.
4809         One nice thing about this is that getting this correct could also result in a
4810         little bit of a speedup, as the internal buffer is used more.
4811
4812         * kwq/KWQString.mm:
4813         (QStringData::makeAscii): Set _maxAscii to QS_INTERNAL_BUFFER_CHARS when using
4814         the internal buffer instead of leaving it uninitialized.
4815         (QStringData::makeUnicode): Same for _maxUnicode.
4816
4817 2002-09-24  Darin Adler  <darin@apple.com>
4818
4819         Remove the focus border hack, which was no longer doing us any good.
4820
4821         * kwq/KWQNSTextField.h: Don't define FOCUS_BORDER_SIZE.
4822         * kwq/KWQNSTextField.mm: Remove KWQTextFieldCell.
4823         (-[KWQNSTextField updateSecureFieldFrame]): Don't inset by FOCUS_BORDER_SIZE.
4824         * kwq/qt/qlineedit.h: Don't override frameGeometry and setFrameGeometry any more.
4825         * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Don't subtract
4826         the focus border size.
4827
4828 2002-09-24  Darin Adler  <darin@apple.com>
4829
4830         * kwq/mac-encodings.txt: Remove constant for Japanese auto-detect.
4831
4832 2002-09-24  Darin Adler  <darin@apple.com>
4833
4834         * kwq/KWQFileButton.mm: (KWQFileButton::paint): Fix typo.
4835
4836 2002-09-24  Darin Adler  <darin@apple.com>
4837
4838         Some improvements to the file button, including displaying the file without the
4839         extension if it's set that way by the user, and using the system font rather
4840         than hard-coding "Lucida Grande".
4841
4842         * kwq/KWQFileButton.h: Add _label field.
4843         * kwq/KWQFileButton.mm:
4844         (KWQFileButton::KWQFileButton): Set up label.
4845         (KWQFileButton::~KWQFileButton): Release label.
4846         (KWQFileButton::setFilename): Use NSFileManager componentsToDisplayForPath to
4847         figure out the appropriate label.
4848         (KWQFileButton::paint): Clip to passed-in rect, get font using systemFontOfSize,
4849         and use NSString drawing rather than our own.
4850
4851 2002-09-23  David Hyatt  <hyatt@apple.com>
4852
4853         Found the problem with the CSS W3C page.
4854         
4855         * khtml/xml/dom_docimpl.cpp:
4856         (DocumentImpl::recalcStyleSelector):
4857
4858 2002-09-23  Darin Adler  <darin@apple.com>
4859
4860         WebCore part of fixes for proper layering when drawing subframes.
4861
4862         * kwq/KWQWidget.mm: (QWidget::paint): Use the parent view in the "WebCoreFrameView"
4863         case so we update the scroll view too, not just the HTML part. Also use the passed in
4864         rectangle instead of always using the view bounds.
4865
4866         * kwq/KWQScrollView.mm: (QScrollView::updateContents): Call setNeedsDisplayInRect
4867         instead of displayRect.
4868
4869         * kwq/KWQPainter.mm:
4870         (QPainter::drawRect): Use NSRectFill and NSFrameRect instead of NSBezierPath.
4871         (QPainter::fillRect): Ditto.
4872
4873 2002-09-23  David Hyatt  <hyatt@apple.com>
4874
4875         Don't let alternate stylesheets delay render tree construction.
4876         
4877         * khtml/html/html_headimpl.cpp:
4878         (HTMLLinkElementImpl::HTMLLinkElementImpl):
4879         (HTMLLinkElementImpl::process):
4880         (HTMLLinkElementImpl::setStyleSheet):
4881         (HTMLLinkElementImpl::sheetLoaded):
4882         * khtml/html/html_headimpl.h:
4883
4884 \2002-09-23  David Hyatt  <hyatt@apple.com>
4885
4886         Make overflow:auto and scroll map to hidden until we figure
4887         out something better.
4888         
4889         * khtml/css/cssstyleselector.cpp:
4890  
4891 2002-09-23  Darin Adler  <darin@apple.com>
4892
4893         More refinement of the AppKit hackery.
4894
4895         * khtml/rendering/render_replaced.cpp:
4896         (RenderWidget::printObject): Pass in the painter and rect.
4897
4898         * kwq/qt/qwidget.h: Take a painter and rect parameter.
4899         * kwq/KWQWidget.mm: (QWidget::paint): Use painter; not working yet to use rect.
4900
4901         * kwq/KWQFileButton.h: Change paint to take painter and rect.
4902         * kwq/KWQFileButton.mm: (KWQFileButton::paint): Use painter.
4903
4904         * kwq/qt/qpainter.h: Added paintingDisabled() function.
4905         * kwq/KWQPainter.mm: (QPainter::paintingDisabled): Added.
4906
4907 2002-09-22  Darin Adler  <darin@apple.com>
4908
4909         Change code that moves NSViews out of the way to run inside drawRect
4910         after a layout change rather than running at layout time. This makes
4911         sure that views are in the right place when propagating dirty rects.
4912
4913         * kwq/KWQKHTMLPartImpl.h: Add paint method and _needsToSetWidgetsAside flag.
4914         * kwq/KWQKHTMLPartImpl.mm:
4915         (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Set _needsToSetWidgetsAside to false.
4916         (KWQKHTMLPartImpl::layout): Set _needsToSetWidgetsAside to true. Don't call
4917         moveWidgetsAside any more.
4918         (KWQKHTMLPartImpl::paint): Moved the code here from the bridge, but also call
4919         moveWidgetsAside if _needsToSetWidgetsAside flag is set.
4920         * kwq/WebCoreBridge.mm:
4921         (-[WebCoreBridge drawRect:withPainter:]): Call KWQKHTMLPartImpl::paint, which
4922         is where I moved this code.
4923
4924 2002-09-21  Darin Adler  <darin@apple.com>
4925
4926         - fixed 3057265 -- REGRESSION: Crash loading http://www.undetectables.co.uk/
4927
4928         * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
4929         Remove special case for javascript and about:blank that was leading to a crash.
4930
4931 2002-09-21  Darin Adler  <darin@apple.com>
4932
4933         WebCore part of the new approach to AppKit drawing control.
4934         Works better than the previous try. Once we fix anomalies with focus rectangles
4935         and a minor problems with subframes this should work perfectly.
4936
4937         * kwq/qt/qwidget.h: The paint() method isn't virtual any more. Also remove flushDrawing().
4938         * kwq/KWQWidget.mm: (QWidget::enableFlushDrawing): Do a flushWindowIfNeeded instead
4939         of requiring a separate flushDrawing() call to do a flushWindow.
4940         (QWidget::paint): Added. Calls displayRectIgnoringOpacity.
4941
4942         * kwq/qt/qbutton.h: Remove paint() override.
4943         * kwq/KWQButton.mm: (QButton::QButton): No need for a subclass any more, so
4944         drop KWQNSButton. Also remove paint().
4945
4946         * kwq/qt/qcombobox.h: Remove paint() override.
4947         * kwq/KWQComboBox.mm: (QComboBox::QComboBox): No need for a subclass any more, so
4948         drop KWQNSPopUpButton. Also remove paint() method.
4949
4950         * kwq/qt/qlineedit.h: Remove paint() override.
4951         * kwq/KWQLineEdit.mm: Remove paint().
4952
4953         * kwq/KWQFileButton.mm: (KWQFileButton::clicked): Fix typo. Was calling paint
4954         instead of clicked on the base class.
4955
4956         * kwq/KWQNSTextField.h: Remove paint method.
4957         * kwq/KWQNSTextField.mm:
4958         (-[KWQNSTextField display]): Add a display method that does nothing to work around
4959         bug 2753974.
4960         (-[KWQSecureTextField display]): Ditto.
4961
4962         * khtml/rendering/render_frames.cpp: (RenderFrameSet::userResize): Remove call to flushDrawing.
4963
4964 2002-09-20  Richard Williamson   <rjw@apple.com>
4965
4966         Don't modify selection if no appropriate DOM::Node under
4967         mouse.
4968         
4969         * khtml/khtml_part.cpp:
4970         (KHTMLPart::khtmlMouseMoveEvent):
4971
4972 2002-09-20  Richard Williamson   <rjw@apple.com>
4973
4974         Assume triple click for selection if click count >= 3,
4975         not == 3, as in OS X.
4976         
4977         * khtml/khtml_part.cpp:
4978         (KHTMLPart::khtmlMousePressEvent):
4979
4980 2002-09-20  Richard Williamson   <rjw@apple.com>
4981
4982         Fixed crasher in findTextSlave.
4983         * khtml/rendering/render_text.cpp:
4984         (RenderText::findTextSlave):
4985
4986         Added error checks.
4987         * khtml/khtml_part.cpp:
4988         (startAndEndLineNodesIncludingNode):
4989
4990 2002-09-20  Richard Williamson   <rjw@apple.com>
4991
4992         Made double and triple click selection behave like
4993         like other selection in OS X.  That is, selection happens
4994         on mouse down, not mouse up, and can be extended by
4995         further dragging.  Triple click followed by dragging extends
4996         the selection a line at a time.
4997         
4998         * khtml/khtml_events.cpp:
4999         * khtml/khtml_events.h:
5000         * khtml/khtml_part.cpp:
5001         (KHTMLPart::customEvent):
5002         (firstSlaveAt):
5003         (lastSlaveAt):
5004         (startAndEndLineNodesIncludingNode):
5005         (KHTMLPart::khtmlMousePressEvent):
5006         (KHTMLPart::khtmlMouseDoubleClickEvent):
5007         (KHTMLPart::khtmlMouseMoveEvent):
5008         * khtml/khtml_part.h:
5009         * khtml/khtmlpart_p.h:
5010         * khtml/khtmlview.cpp:
5011         * khtml/khtmlview.h:
5012         * khtml/xml/dom_elementimpl.cpp:
5013         (ElementImpl::setAttribute):
5014         * kwq/WebCoreBridge.mm:
5015         (-[WebCoreBridge mouseUp:]):
5016
5017 2002-09-20  Darin Adler  <darin@apple.com>
5018
5019         * kwq/KWQFileButton.h: Add an icon.
5020         * kwq/KWQFileButton.mm:
5021         (KWQFileButton::KWQFileButton): Nil out icon.
5022         (KWQFileButton::~KWQFileButton): Release icon.
5023         (KWQFileButton::setFilename): Get icon with [NSWorkspace iconForFile:].
5024         (KWQFileButton::clicked): Set prompt string to "Choose", and start directory to "~".
5025         (KWQFileButton::sizeHint): Pad more for icon width.
5026         (KWQFileButton::frameGeometry): Ditto.
5027         (KWQFileButton::setFrameGeometry): Ditto.
5028         (KWQFileButton::paint): Draw icon. Draw "no file selected" if no filename.
5029
5030         * kwq/KWQKFileItem.mm: Our "nonimplementation" is good enough. Stop complaining.
5031         * kwq/KWQKnetaccess.mm: Ditto. Also just extract path when asked to download.
5032
5033 2002-09-20  Darin Adler  <darin@apple.com>
5034
5035         Some first steps toward implementing input=file.
5036
5037         * khtml/rendering/render_form.cpp:
5038         (RenderFileButton::RenderFileButton): Create a KWQFileButton as the widget.
5039         (RenderFileButton::calcMinMaxWidth): Use sizeHint().
5040         (RenderFileButton::updateFromElement): Call setFilename().
5041         (RenderFileButton::select): Don't try to selectAll() on m_edit.
5042
5043         * kwq/KWQFileButton.h: Added.
5044         * kwq/KWQFileButton.mm: Added.
5045         * kwq/qt/qhbox.h: Emptied.
5046         * kwq/KWQHBox.mm: Removed.
5047         * WebCore.pbproj/project.pbxproj: Removed KWQHBox.mm. Added KWQFileButton.
5048
5049 2002-09-20  Darin Adler  <darin@apple.com>
5050
5051         - fixed 3056605 -- REGRESSION: blank page at http://www.2ch.net/2ch.html
5052
5053         * kwq/mac-encodings.txt: When people say ShiftJIS, they really mean
5054         DOSJapanese. So do what they mean, not what they say.
5055
5056 2002-09-20  Darin Adler  <darin@apple.com>
5057
5058         - fixed 3055339 -- repro crash in RenderPartObject::updateWidget()
5059
5060         * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
5061         Only create a new part if we have no old part.
5062
5063         * kwq/KWQtextstream.mm: Remove some of the "not implemented" logging.
5064         Once we have logged that the stream is not created correctly, there's no need
5065         to continue logging each time something is written out to the non-stream.
5066
5067 2002-09-19  Richard Williamson   <rjw@apple.com>
5068
5069         Implemented double and triple click selection.
5070         
5071         * khtml/khtml_events.h:
5072         * khtml/khtml_part.cpp:
5073         (KHTMLPart::customEvent):
5074         (KHTMLPart::khtmlMouseDoubleClickEvent):
5075         (firstSlaveAt):
5076         (lastSlaveAt):
5077         (KHTMLPart::khtmlMouseTripleClickEvent):
5078         * khtml/khtml_part.h:
5079         * khtml/rendering/render_text.h:
5080         * kwq/WebCoreBridge.mm:
5081         (-[WebCoreBridge mouseUp:]):
5082
5083 2002-09-19  Darin Adler  <darin@apple.com>
5084
5085         - fixed 3045651 -- null-dereference in DOM::CharacterDataImpl constructor
5086         setting up text area element
5087
5088         * khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::CharacterDataImpl):
5089         Set str to an empty DOMStringImpl instead of to 0. This was easier than
5090         going around finding all the places that don't like a str of 0.
5091
5092         * WebCore.pbproj/project.pbxproj: Let PB sort things as it likes.
5093
5094 === Alexander-24 ===
5095
5096 2002-09-18  Darin Adler  <darin@apple.com>
5097
5098         - fixed 3037974 -- successful Find does not deselect text field
5099
5100         * khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
5101         Turn off the code that restores the cursor position because we don't
5102         use the KHTML saveState/restoreState. But we should.
5103
5104         * khtml/xml/dom_docimpl.cpp:
5105         (DocumentImpl::setSelection): Call setFocusNode(0), because on the
5106         Macintosh, selection and focus are mutually exclusive.
5107         (DocumentImpl::close): Remove no-longer-needed APPLE_CHANGES.
5108         (DocumentImpl::setFocusNode): Set focus to the KHTMLView when focus
5109         is being removed from a particular node. Clear the selection when
5110         focus is set on a particular node because on the Macintosh, selection
5111         and focus are mutually exclusive.
5112
5113         * kwq/KWQKHTMLPartImpl.h: Add set/clearDocumentFocus functions that we can use
5114         to keep document's idea of focused node in sync. with AppKit's.
5115         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::setDocumentFocus): Added.
5116         (KWQKHTMLPartImpl::clearDocumentFocus): Added.
5117
5118         * kwq/KWQNSTextField.mm:
5119         (-[KWQNSTextField becomeFirstResponder]): Call setDocumentFocus.
5120         (-[KWQSecureTextField becomeFirstResponder]): Call setDocumentFocus.
5121
5122         * kwq/qt/qwidget.h: Removed endEditing().
5123         * kwq/KWQWidget.mm: (QWidget::clearFocus): Call clearDocumentFocus.
5124         (QWidget::endEditing): Removed.
5125
5126         * khtml/rendering/render_form.h:
5127         * khtml/rendering/render_form.cpp:
5128         (RenderImageButton::RenderImageButton): Remove the KWQInvisibleButton
5129         hack, which is no longer needed.
5130         * kwq/KWQInvisibleButton.h: Removed.
5131         * kwq/KWQInvisibleButton.mm: Removed.
5132         * WebCore.pbproj/project.pbxproj: Removed KWQInvisibleButton.
5133
5134 2002-09-18  Darin Adler  <darin@apple.com>
5135
5136         - fixed 3027470 -- hitting tab when the google.com text field is selected
5137         (all bars hidden) makes border flash
5138
5139         * kwq/KWQNSTextField.mm:
5140         (-[KWQNSTextField textDidEndEditing:]): Added. Don't call super when the next
5141         valid key view is nil.
5142         (-[KWQSecureTextField textDidEndEditing:]): Ditto. Too bad we can't share code
5143         here. Maybe I'll figure out a way later.
5144
5145 2002-09-17  Darin Adler  <darin@apple.com>
5146
5147         - fixed 3025022 -- Crash in KWQKHTMLPartImpl::redirectionTimerStartedOrStopped()
5148
5149         * kwq/WebCoreBridge.mm: (-[WebCoreBridge dealloc]): Set the bridge on the part to
5150         nil just in case someone else is holding a reference, so we won't try to dispatch
5151         methods to an already-deallocated bridge.
5152
5153         - fixed 3028476 -- illegal instruction crash in KWQTimerCallback timerFired
5154
5155         * khtml/ecma/kjs_window.cpp: (WindowQObject::parentDestroyed):
5156         Remove APPLE_CHANGES to avoid calling killTimers(); we can call it
5157         now that we have a working implementation.
5158         * khtml/khtmlview.cpp:
5159         (KHTMLView::~KHTMLView): Remove APPLE_CHANGES that kills timers.
5160         All timers are killed by ~QObject now, just as in Qt.
5161         (KHTMLView::clear): Remove APPLE_CHANGES to avoid calling killTimers();
5162         we can call it now that we have a working implementation.
5163
5164         * kwq/KWQObject.mm:
5165         (QObject::~QObject): Call killTimers().
5166         (QObject::startTimer): Keep a dictionary keyed by QObject, with a dictionary
5167         of timers for each, rather than one global dictionary. This makes it efficient
5168         to kill all the timers for an object.
5169         (QObject::killTimer): Update for new level of dictionary.
5170         (QObject::killTimers): Kill all the timers in this object's timer dictionary
5171         rather than all timers in the world.
5172         (QObject::inherits): Add an ERROR for the case where the class name is unknown.
5173
5174 2002-09-17  Darin Adler  <darin@apple.com>
5175
5176         - fixed 3050818 -- Crash in relative-KURL constructor at site with _ in host name
5177
5178         * kwq/KWQKURL.mm: Change _ so that it's allowed in host names.
5179         (KURL::KURL): If base URL is invalid, make result invalid too.
5180
5181 2002-09-17  Richard Williamson   <rjw@apple.com>
5182
5183         * khtml/khtmlview.cpp:
5184         (KHTMLView::viewportMouseTripleClickEvent):
5185         Added implementation.  Same as viewportMouseReleaseEvent
5186         except dispatches additional MouseTripleClickEvent event.
5187         
5188         (KHTMLView::viewportMouseDoubleClickEvent):
5189         Send extra release event.  This emulates Qt
5190         behavior.
5191
5192         * kwq/WebCoreBridge.mm:
5193         (-[WebCoreBridge mouseUp:]):
5194         Don't send extra release event here, instead send
5195         it in viewportMouseDoubleClickEvent and also in
5196         viewportMouseTripleClickEvent so DOM doesn't get
5197         confused.
5198         
5199         * kwq/KWQColor.mm:
5200         (QColor::hsv):
5201         Fixed divide by 0 problem.
5202         
5203 2002-09-17  Darin Adler  <darin@apple.com>
5204
5205         - fixed 2936933 -- Pages that claim to be UTF-8 but contain invalid
5206         sequences do not render at all
5207
5208         Misc. speed improvements. Total 2.6% speedup for cvs-base.
5209
5210         Improvements for signals.
5211
5212         * kwq/KWQChar.mm:
5213         (QChar::isSpace): Add fast case for ASCII.
5214         (QChar::lower): Add fast case for ASCII.
5215         (QChar::upper): Add fast case for ASCII.
5216
5217         * kwq/qt/qcolor.h: Just store RGB values, not NSColor objects.
5218         * kwq/KWQColor.mm:
5219         (QColor::QColor): No need to set color to nil.
5220         (QColor::name): Use QString::sprintf instead of NSString.
5221         (QColor::setNamedColor): Use KWQInvalidColor instead of nil.
5222         (QColor::getNSColor): Make an autoreleased NSColor.
5223
5224         * kwq/KWQKHTMLPartImpl.mm:
5225         (moveWidgetsAside): Use isWidget() instead of dynamic_cast.
5226
5227         * kwq/KWQSignal.h: use a QValueList instead of a fixed-size array.
5228         * kwq/KWQSignal.mm:
5229         (KWQSignal::connect): Append to list.
5230         (KWQSignal::disconnect): Remove from list.
5231         (KWQSignal::call): Use the QValueList.
5232
5233         * kwq/KWQSlot.mm:
5234         (KWQSlot::call): Use static_cast instead of dynamic_cast where possible.
5235
5236         * kwq/qt/qstring.h: Add return value to forceUnicode.
5237         * kwq/KWQString.mm:
5238         (QString::fromStringWithEncoding): Implemented using the Text Encoding
5239         Converter instead of CFString.
5240         (compareIgnoringCaseForASCIIOnly): New function. Faster find.
5241         (QString::find): Separate case-sensitive from case-insensitive and speed
5242         up both of them.
5243         (QString::stripWhiteSpace): Use the new forceUnicode for simplicity.
5244         (QString::simplifyWhiteSpace): Ditto.
5245         (QString::insert): Ditto.
5246         (QString::remove): Ditto.
5247         (QString::forceUnicode): Return the unicode pointer.
5248         (QString::fill): Use the new forceUnicode for simplicity.
5249
5250         * kwq/WebCoreBridge.mm:
5251         (-[WebCoreBridge mouseUp:]): Fix two bugs. First, don't treat a slow
5252         click as a double click. Second, deliver a mouse release event even for
5253         a double click, as Qt does.
5254
5255 2002-09-17  Richard Williamson   <rjw@apple.com>
5256
5257         * khtml/css/cssstyleselector.cpp:
5258         Fixed bug in KHTML that incorrectly modified '//' in fragment part of URL.
5259         
5260         * kwq/KWQKHistoryProvider.mm:
5261         Use string based API to add entry.  May eventually remove NSURL from
5262         history entirely.
5263         
5264         * kwq/KWQKURL.mm:
5265         (KURL::canonicalURL):
5266         Simply return the urlString.
5267
5268         (KURL::parse):
5269         Added "/" to http and https empty path URLs.
5270         
5271         * kwq/KWQString.mm:
5272         (QString::mid):
5273         Optimize ascii case.
5274         
5275         * kwq/WebCoreHistory.h:
5276         * kwq/WebCoreHistory.m:
5277         (-[WebCoreHistory addEntryForURLString:]):
5278         Use string based API to add entry.
5279         
5280         * kwq/kdecore/kurl.h:
5281         Defined methods to access canonical components,
5282         currently conditionally excluded.
5283         
5284 2002-09-16  David Hyatt  <hyatt@apple.com>
5285
5286         Fix the stylesheet loading regression on rubyfruit.
5287         
5288         * khtml/html/html_headimpl.cpp:
5289         (HTMLStyleElementImpl::HTMLStyleElementImpl):
5290         (HTMLStyleElementImpl::childrenChanged):
5291         (HTMLStyleElementImpl::isLoading):
5292         * khtml/html/html_headimpl.h:
5293
5294 2002-09-13  David Hyatt  <hyatt@apple.com>
5295
5296         Landing code that makes textfields, buttons, checkboxes, radio
5297         buttons, and dropdown lists all draw correctly with respect to
5298         z-index.  They all employ the same simple hack (just never paint
5299         unless KHTML tells them to).
5300
5301         Unpatched widgets include the password field, the listbox, and the
5302         textarea.  
5303
5304         The only issue with regards to painting with the widgets I've
5305         patched is the textfield... its editor floats to the top when the
5306         field is being edited.
5307
5308         Event handling will also be incorrect and will need to be patched
5309         separately.
5310         
5311         * khtml/rendering/render_body.cpp:
5312         (RenderBody::printBoxDecorations):
5313         * khtml/rendering/render_replaced.cpp:
5314         (RenderWidget::printObject):
5315         * kwq/KWQButton.mm:
5316         (QButton::QButton):
5317         (QButton::paint):
5318         (-[KWQNSButton drawRect:]):
5319         (-[KWQNSButton paint]):
5320         * kwq/KWQComboBox.mm:
5321         (-[KWQNSPopUpButton drawRect:]):
5322         (-[KWQNSPopUpButton paint]):
5323         (QComboBox::QComboBox):
5324         (QComboBox::insertItem):
5325         (QComboBox::paint):
5326         * kwq/KWQLineEdit.mm:
5327         (QLineEdit::paint):
5328         * kwq/KWQNSTextField.h:
5329         * kwq/KWQNSTextField.mm:
5330         (-[KWQNSTextField paint]):
5331         * kwq/qt/qbutton.h:
5332         * kwq/qt/qcombobox.h:
5333         * kwq/qt/qlineedit.h:
5334         * kwq/qt/qwidget.h:
5335
5336 2002-09-13  Richard Williamson (Home)  <rjw@apple.com>
5337
5338         Fixed navigation to link on mouse up after drag.
5339         
5340         * khtml/khtmlview.cpp:
5341         (KHTMLView::viewportMousePressEvent):
5342         (KHTMLView::viewportMouseDoubleClickEvent):
5343         Change khtml's definition of double click to be based on
5344         mouse up of second click, not mouse down. 
5345         
5346         (KHTMLView::viewportMouseReleaseEvent):
5347
5348         * kwq/WebCoreBridge.mm:
5349         (-[WebCoreBridge mouseUp:]):
5350         (-[WebCoreBridge mouseDown:]):
5351         Changed double click to be on mouse up with click count of two.
5352
5353 2002-09-13  Darin Adler  <darin@apple.com>
5354
5355         Fix crash in slot code.
5356
5357         * kwq/KWQSignal.mm: (KWQSignal::call): Copy the slots before
5358         calling through in case we are destroyed by the called function.
5359
5360 2002-09-13  Darin Adler  <darin@apple.com>
5361
5362         Here's the *real* mistake that killed plugins. I accidentally
5363         stopped creating objects at all! Duh. Fixed now.
5364
5365         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::createPart):
5366         Make a part for a plugin if we need one. Not a KHTMLPart, but
5367         a KWQPluginPart.
5368
5369 2002-09-13  Darin Adler  <darin@apple.com>
5370
5371         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::createPart):
5372         Fix plugin-related crashes by making sure each part has a unique
5373         frame name. There may be something fundamentally wrong with how this
5374         is working now.
5375
5376 2002-09-13  Richard Williamson (Home)  <rjw@apple.com>
5377
5378         Made justified text work correctly in khtml for rendering
5379         and selection.  Optimized selection point calculation by
5380         only doing characters measurements once.
5381         
5382         * khtml/rendering/font.cpp:
5383         (Font::floatCharacterWidths):
5384         * khtml/rendering/font.h:
5385         * khtml/rendering/render_text.cpp:
5386         (TextSlave::checkSelectionPoint):
5387         (RenderText::position):
5388         * kwq/KWQFontMetrics.mm:
5389         (QFontMetrics::width):
5390         (QFontMetrics::floatWidth):
5391         (QFontMetrics::floatCharacterWidths):
5392         * kwq/KWQPainter.mm:
5393         (QPainter::drawText):
5394         * kwq/WebCoreTextRenderer.h:
5395         * kwq/qt/qfontmetrics.h:
5396
5397 2002-09-13  Darin Adler  <darin@apple.com>
5398
5399         Quiet error messages related to the slot/signal changes.
5400
5401         * khtml/khtml_part.cpp:
5402         (KHTMLPart::startAutoScroll): Ifdef this out.
5403         (KHTMLPart::stopAutoScroll): Ditto.
5404
5405         * kwq/KWQObject.mm:
5406         (QObject::connect): Add two more expected members to the list for
5407         setStatusBarText and slotViewCleared.
5408
5409         * kwq/KWQSignal.h: Allow 4 slots per signal.
5410         I don't want to make it a variable number, but we can if we have to.
5411         * kwq/KWQSignal.mm:
5412         (KWQSignal::connect): Support multiple slots.
5413         (KWQSignal::disconnect): Support multiple slots.
5414         (KWQSignal::call): Support multiple slots.
5415
5416 2002-09-13  Darin Adler  <darin@apple.com>
5417
5418         Fix assertion that happens on any page that has a non-HTML frame.
5419
5420         We were sending signals for objects in m_objects that are only supposed
5421         to be sent for frames in m_frames. The fix is to use actual slot/signal
5422         connections instead of our hard-coded logic.
5423
5424         * kwq/KWQKHTMLPartImpl.h: Add signals for started and completed.
5425         * kwq/KWQKHTMLPartImpl.mm:
5426         (KHTMLPart::completed): Emit completed signal.
5427         (KHTMLPart::started): Emit started signal.
5428         (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Create signals.
5429
5430         * kwq/KWQObject.mm:
5431         (QObject::connect): Write out an error message if we see any signal connections
5432         to signals that aren't implemented, with a hardwired exception list for ones we
5433         either aren't ever going to do or just haven't gotten around to yet.
5434
5435         * kwq/KWQSignal.h: Add support for signals that take bool and KIO::Job *.
5436         * kwq/KWQSignal.mm:
5437         (KWQSignal::connect): Put in an actual ERROR call for the case where this fails.
5438         (KWQSignal::disconnect): Put in an actual ERROR call for the case where it fails.
5439         (KWQSignal::call): Add overloads for bool and KIO::Job *.
5440
5441         * kwq/KWQSlot.h: Add support for slots that take bool and KIO::Job *.
5442         * kwq/KWQSlot.mm:
5443         (KWQSlot::KWQSlot): Add four new members.
5444         (KWQSlot::call): Add overloads for bool and KIO::Job * and support for the new
5445         members.
5446
5447 2002-09-12  Darin Adler  <darin@apple.com>
5448
5449         * kwq/KWQAssertions.h: Update assertions from from the copy in WebFoundation.
5450         * WebCorePrefix.h: Remove NSURLPathUtilities.h include.
5451
5452         Use even more of the KHTML code so we get referrers in one more place.
5453
5454         * kwq/WebCoreBridge.h: Add referrer to createChildFrameNamed.
5455
5456         * khtml/khtml_part.h: Less APPLE_CHANGES, no substantive change.
5457         * khtml/khtml_part.cpp:
5458         (KHTMLPart::requestFrame): Use more of this, less APPLE_CHANGES.
5459         (KHTMLPart::requestObject): Ditto.
5460         (KHTMLPart::processObjectRequest): Ditto.
5461
5462         * khtml/rendering/render_frames.h: Less APPLE_CHANGES.
5463         * khtml/rendering/render_frames.cpp: Less APPLE_CHANGES.
5464
5465         * kwq/kparts/browserextension.h: Add lockHistory/setLockHistory and
5466         openURLNotify.
5467
5468         * kwq/khtml/khtml_ext.h: Add openURLNotify.
5469         * kwq/KWQKHTMLPartImpl.h: Add openURLNotify.
5470         * kwq/KWQKHTMLPartBrowserExtension.mm:
5471         (KHTMLPartBrowserExtension::openURLNotify): Implement.
5472
5473         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::createPart):
5474         Changed name from requestFrame. Do less work.
5475
5476         * kwq/qt/qtimer.h: Add singleShot.
5477         * kwq/KWQTimer.mm:
5478         (+[KWQSingleShotTimerTarget targetWithQObject:member:]): Added.
5479         Used to implement singleShot.
5480         (-[KWQSingleShotTimerTarget dealloc]): Ditto.
5481         (-[KWQSingleShotTimerTarget timerFired:]): Ditto.
5482         (QTimer::singleShot): Added.
5483
5484         * kwq/qt/qmap.h: Add contains.
5485
5486         * kwq/qt/qvaluelist.h: Add iterator return value for append and prepend.
5487         * kwq/KWQValueListImpl.h: Add iterator return value for appendNode
5488         and prependNode.
5489         * kwq/KWQValueListImpl.mm:
5490         (KWQValueListImpl::appendNode): Add iterator.
5491         (KWQValueListImpl::prependNode): Add iterator.
5492
5493         * kwq/kparts/part.h: Add openURL.
5494
5495 2002-09-12  Richard Williamson  <rjw@apple.com>
5496
5497         Rewrite of khtml selection drawing code.  Now does
5498         a delta between old and new selection and only
5499         draw those objects that have changed.  Selection
5500         drawing is now MUCH faster.
5501         
5502         * khtml/rendering/render_root.cpp:
5503         (enclosingPositionedRect):
5504         (RenderRoot::setSelection):
5505         (RenderRoot::clearSelection):
5506         * khtml/rendering/render_root.h:
5507         
5508         Added additional absolute position property to render node
5509         stuff for debug render tree view.
5510         
5511         * kwq/WebCoreBridge.h:
5512         * kwq/WebCoreBridge.mm:
5513         (-[WebCoreBridge copyRenderNode:copier:]):
5514
5515 2002-09-12  David Hyatt  <hyatt@apple.com>
5516
5517         KHTML was butchering the laws of background propagation from
5518         the <body> to the <html>.  This fixes the logical flaws and
5519         makes some of the geekiest CSS on the planet render correctly. ;)
5520         
5521         * khtml/rendering/render_body.cpp:
5522         (RenderBody::printBoxDecorations):
5523         * khtml/rendering/render_html.cpp:
5524         (RenderHtml::printBoxDecorations):
5525
5526 2002-09-12  David Hyatt  <hyatt@apple.com>
5527
5528         Make fixed positioned elements work when you scroll.  We were
5529         just missing the implementation of a QScrollView method.
5530         
5531         * kwq/KWQScrollView.mm:
5532         (QScrollView::setStaticBackground):
5533
5534 2002-09-12  David Hyatt  <hyatt@apple.com>
5535
5536         Fix a bug in KHTML that leads it to claim cached @imported stylesheets
5537         are not loaded (when in fact they are).
5538
5539         This fixes the W3C CSS page.
5540         
5541         * khtml/css/css_ruleimpl.cpp:
5542         (CSSImportRuleImpl::init):
5543
5544 2002-09-12  Chris Blumenberg  <cblu@apple.com>
5545
5546         Fixed livepage crash. It is naughty to divide by 0 so we now check before doing that.
5547
5548         * khtml/rendering/render_box.cpp:
5549         (RenderBox::printBackground):
5550
5551 2002-09-12  David Hyatt  <hyatt@apple.com>
5552
5553         Fix crash on trekweb.com.  My simplified FOUC code was a little
5554         bit too simple. ;)
5555         
5556         * khtml/html/html_headimpl.cpp:
5557         (HTMLLinkElementImpl::setStyleSheet):
5558         (HTMLStyleElementImpl::childrenChanged):
5559
5560 2002-09-12  David Hyatt  <hyatt@apple.com>
5561
5562         Fix the Warcraft 3 page on blizzard.com so that the relative
5563         positioned blocks inside centered tables inside enclosing tables
5564         with percentage widths work correctly.
5565
5566         This fix also causes the textfields on mrskin.com to show up
5567         again.
5568         
5569         * khtml/rendering/render_box.cpp:
5570         (RenderBox::RenderBox):
5571         (RenderBox::setPos):
5572         * khtml/rendering/render_box.h:
5573         * khtml/rendering/render_container.cpp:
5574         (RenderContainer::addChild):
5575         * khtml/rendering/render_layer.cpp:
5576         (RenderLayer::constructZTree):
5577         * khtml/rendering/render_object.h:
5578
5579 2002-09-11  Maciej Stachowiak  <mjs@apple.com>
5580
5581         Don't show the window here any more, now that WebBrowser will set
5582         it up to be shown properly itself.
5583         
5584         * kwq/KWQKHTMLPartBrowserExtension.mm:
5585         (KHTMLPartBrowserExtension::createNewWindow):
5586
5587 2002-09-11  David Hyatt  <hyatt@apple.com>
5588
5589         Fix horizontal scrolling.  The HTML render object lies.  It lies, 
5590         I tell you.
5591         
5592         * khtml/rendering/render_layer.cpp:
5593         (RenderLayer::constructZTree):
5594
5595 2002-09-11  David Hyatt  <hyatt@apple.com>
5596
5597         Fix clipping to work with layers.  This fixes the marquee
5598         (once again) on livepage.apple.com.
5599         
5600         * khtml/rendering/render_box.cpp:
5601         (RenderBox::getClipRect):
5602         * khtml/rendering/render_box.h:
5603         * khtml/rendering/render_container.cpp:
5604         (RenderContainer::addChild):
5605         (RenderContainer::removeChildNode):
5606         * khtml/rendering/render_flow.cpp:
5607         (RenderFlow::setStyle):
5608         (RenderFlow::printObject):
5609         * khtml/rendering/render_layer.cpp:
5610         (RenderLayer::enclosingPositionedAncestor):
5611         (RenderLayer::convertToLayerCoords):
5612         (RenderLayer::paint):
5613         (RenderLayer::constructZTree):
5614         * khtml/rendering/render_layer.h:
5615         * khtml/rendering/render_object.h:
5616         * khtml/rendering/render_replaced.cpp:
5617         (RenderReplaced::print):
5618
5619 2002-09-11  Darin Adler  <darin@apple.com>
5620
5621         * kwq/KWQAssertions.h: Updated copy of the assertions macros (made by script).
5622
5623 2002-09-11  Darin Adler  <darin@apple.com>
5624
5625         - fixed 3047552 -- crash using CFNotification calls on an NSNotification
5626
5627         * kwq/KWQWindowWidget.mm:
5628         (KWQWindowWidget::KWQWindowWidget): Create a KWQWindowWidgetDeleter, and
5629         hook it up to the notification.
5630         (KWQWindowWidget::~KWQWindowWidget): Disconnect the KWQWindowWidgetDeleter
5631         and release it.
5632         (-[KWQWindowWidgetDeleter initWithWindowWidget:]): Store a pointer.
5633         (-[KWQWindowWidgetDeleter deleteWindowWidget]): Do a delete.
5634
5635 2002-09-11  Darin Adler  <darin@apple.com>
5636
5637         - fixed 3021137 -- changing font prefs doesn't redraw frames
5638         other than the main frame
5639
5640         * kwq/WebCoreSettings.m: Renamed to WebCoreSettings.mm.
5641         * kwq/WebCoreSettings.mm: Renamed from WebCoreSettings.m so I could
5642         use C++.
5643         (-[WebCoreSettings _updateAllViews]): Iterate over all KWQKHTMLPartImpl
5644         instances, calling setNeedsReapplyStyles on each one.
5645         * WebCore.pbproj/project.pbxproj: Updated for name change.
5646
5647         * kwq/KWQKHTMLPartImpl.h: Add instances() and mutableInstances().
5648         Get rid of frameExists(), findFrame(), and frames().
5649         * kwq/KWQKHTMLPartImpl.mm:
5650         (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Add to instance list.
5651         (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove from instance list.
5652         (KWQKHTMLPartImpl::requestFrame): Update to not use frameExists().
5653         (KWQKHTMLPartImpl::overURL): Update to not use frameExists, and improve
5654         handling of various cases.
5655         (KWQKHTMLPartImpl::mutableInstances): Create and return instance list.
5656
5657         * kwq/WebCoreBridge.h: Add setNeedsReapplyStyles; already implemented
5658         in WebKit.
5659
5660         * khtml/khtml_part.cpp:
5661         (KHTMLPart::findFrame): Remove APPLE_CHANGES.
5662         (KHTMLPart::frameExists): Remove APPLE_CHANGES.
5663         (KHTMLPart::frames): Remove APPLE_CHANGES.
5664
5665 2002-09-10  Darin Adler  <darin@apple.com>
5666
5667         WebCore part of support for the "Referer" header.
5668
5669         * khtml/khtml_part.cpp:
5670         (KHTMLPart::urlSelected): Use much more of this function.
5671         (KHTMLPart::submitForm): Use much more of this function.
5672
5673         * kwq/KWQKHTMLPartBrowserExtension.mm:
5674         (KHTMLPartBrowserExtension::createNewWindow): Parse the
5675         referrer out of the URLArgs and pass it along.
5676
5677         * kwq/KWQKHTMLPartImpl.h: Change parameters to urlSelected
5678         and submitForm to allow KHTML to do more of the work. Add
5679         referrer helper function.
5680         * kwq/KWQKHTMLPartImpl.mm:
5681         (KWQKHTMLPartImpl::bridgeForFrameName): Pass referrer of nil
5682         when opening a blank window.
5683         (KWQKHTMLPartImpl::referrer): Extract referrer from metadata.
5684         (KWQKHTMLPartImpl::openURLRequest): Pass referrer from args
5685         through the bridge.
5686         (KWQKHTMLPartImpl::urlSelected): Remove code that duplicates
5687         what's in KHTMLPart. Also pass referrer from args through the
5688         bridge as above.
5689         (KWQKHTMLPartImpl::submitForm): Ditto.
5690
5691         * kwq/kdeui/kmessagebox.h: Add information member function.
5692         * kwq/KWQKMessageBox.mm: (KMessageBox::information): Implement.
5693
5694         * kwq/kdecore/kurl.h: Add encode_string member function.
5695         * kwq/KWQKURL.mm:
5696         (KURL::KURL): Fix buffer overflow bug, and add an assert so we
5697         will notice these overflows even when using the static buffer.
5698         (KURL::parse): Added a similar assert, even though I didn't fix
5699         any overflow bug here.
5700         (KURL::encode_string): Implemented this, but didn't test it.
5701
5702         * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Pass referrer through
5703         the bridge.
5704
5705         * kwq/WebCoreBridge.h: Add referrer parameters to loadURL, postWithURL,
5706         openNewWindowWithURL, and startLoadingResource.
5707
5708         * kwq/kparts/browserextension.h: Implement setDoPost, setContentType,
5709         const version of metaData().
5710
5711         * kwq/qt/qstring.h: Implement fromLatin1(const char *, int).
5712
5713         * WebCore-tests.exp: Not sure why, but I needed to remove isMalformed,
5714         and the tests seem to still work with it removed.
5715
5716 2002-09-11  David Hyatt  <hyatt@apple.com>
5717
5718         This patch fixes a slew of bugs.  It is an implementation
5719         of the IE extensions offsetLeft, offsetTop, and offsetParent.
5720         Konqueror actually had implementations for these properties
5721         that were totally wrong, leading any DHTML that would use
5722         these properties (like the DHTML on brainjar.com or livepage.apple.com)
5723         to misposition child elements.
5724
5725         With these properties now implemented, the menus on brainjar.com
5726         position correctly, and the marquee on livepage.apple.com once
5727         again shows up (and now you can see how I've regressed clipping
5728         by not shoving it into the layer system as well).
5729
5730         Next up will be fixing the clipping bug on livepage.apple.com.
5731         
5732         * khtml/ecma/kjs_dom.cpp:
5733         (DOMNode::getValueProperty):
5734         * khtml/rendering/render_flow.cpp:
5735         (RenderFlow::offsetHeight):
5736         (RenderFlow::offsetLeft):
5737         (RenderFlow::offsetTop):
5738         * khtml/rendering/render_flow.h:
5739         * khtml/rendering/render_object.cpp:
5740         (RenderObject::offsetLeft):
5741         (RenderObject::offsetTop):
5742         (RenderObject::offsetParent):
5743         * khtml/rendering/render_object.h:
5744
5745 2002-09-10  David Hyatt  <hyatt@apple.com>
5746
5747         Get more elements on mrskin painting as well as the menus
5748         on brainjar.com.
5749         
5750         * khtml/rendering/render_flow.cpp:
5751         (RenderFlow::layout):
5752         * khtml/rendering/render_layer.cpp:
5753         (RenderLayer::constructZTree):
5754         * khtml/rendering/render_object.cpp:
5755         (RenderObject::setLayouted):
5756         * khtml/rendering/render_object.h:
5757
5758 2002-09-10  David Hyatt  <hyatt@apple.com>
5759
5760         Fix the CSS clip property.
5761         
5762         * khtml/css/cssparser.cpp:
5763         (StyleBaseImpl::parseValue):
5764         * khtml/css/cssstyleselector.cpp:
5765         * khtml/ecma/kjs_css.cpp:
5766         (DOMCSSStyleDeclaration::tryPut):
5767         * khtml/rendering/render_box.cpp:
5768         (RenderBox::calcClip):
5769         * khtml/rendering/render_flow.cpp:
5770         (RenderFlow::printObject):
5771         * khtml/rendering/render_replaced.cpp:
5772         (RenderReplaced::print):
5773         * khtml/rendering/render_style.cpp:
5774         (StyleVisualData::StyleVisualData):
5775         (RenderStyle::diff):
5776         * khtml/rendering/render_style.h:
5777
5778 2002-09-10  Richard Williamson  <rjw@apple.com>
5779
5780         Fixed broken DOM handling of click count.  DOM click 
5781         events can be tested with Labyrinth/Test/html/mousetest.html.
5782         Preparation work for double and triple click selection.
5783         
5784         * khtml/khtml_events.cpp:
5785         * khtml/khtml_events.h:
5786         * khtml/khtml_part.cpp:
5787         (KHTMLPart::khtmlMouseTripleClickEvent):
5788         * khtml/khtml_part.h:
5789         * khtml/khtmlview.cpp:
5790         (KHTMLView::viewportMousePressEvent):
5791         (KHTMLView::viewportMouseTripleClickEvent):
5792         (KHTMLView::viewportMouseDoubleClickEvent):
5793         (KHTMLView::viewportMouseReleaseEvent):
5794         * khtml/khtmlview.h:
5795         * kwq/KWQEvent.mm:
5796         (QMouseEvent::QMouseEvent):
5797         * kwq/WebCoreBridge.mm:
5798         (-[WebCoreBridge mouseUp:]):
5799         (-[WebCoreBridge mouseDown:]):
5800         * kwq/qt/qevent.h:
5801
5802 2002-09-10  David Hyatt  <hyatt@apple.com>
5803
5804         Fix FOUC to behave correctly.  I was smoking crack when I
5805         implemented this the first time (mainly because KHTML had
5806         a badly named API that didn't mean even remotely what
5807         I thought it should).
5808         
5809         * khtml/html/html_headimpl.cpp:
5810         (HTMLLinkElementImpl::process):
5811         (HTMLLinkElementImpl::setStyleSheet):
5812         (HTMLLinkElementImpl::sheetLoaded):
5813         (HTMLStyleElementImpl::childrenChanged):
5814         (HTMLStyleElementImpl::sheetLoaded):
5815
5816 2002-09-10  Maciej Stachowiak  <mjs@apple.com>
5817
5818         WebCore part of fix for:
5819
5820         2952837 - Slide shows on homepage.mac.com don't show pictures, captions
5821         2942073 - Deferring [BrowserDocument goToInitialURL] can cause problems
5822         3021360 - second window pops up on 'Search' at chrysler.com
5823         3030485 - Unexpected new window created with no scroll bars at sony.com
5824
5825         * kwq/KWQKHTMLPartBrowserExtension.mm:
5826         (KHTMLPartBrowserExtension::createNewWindow): Reuse existing
5827         frame if possible. Pass frame name when opening a new window.
5828         * kwq/KWQKHTMLPartImpl.mm:
5829         (KWQKHTMLPartImpl::bridgeForFrameName): Don't warn when opening a
5830         new window. Check non-descendant frames too.
5831         (KWQKHTMLPartImpl::urlSelected): Pass frame name when opening window.
5832         * kwq/WebCoreBridge.h: Add frameName argument to openNewWindowWithURL:.
5833
5834 2002-09-10  Darin Adler  <darin@apple.com>
5835
5836         Add back the APPLE_CHANGES for a few frame cases. We need to do some real testing
5837         before we remove our alternate versions of these (but I still hope we do remove them).
5838
5839         * khtml/khtml_part.cpp:
5840         (KHTMLPart::findFrame): Back to the old way.
5841         (KHTMLPart::frameExists): Ditto.
5842         (KHTMLPart::frames): Ditto.
5843
5844 2002-09-10  Darin Adler  <darin@apple.com>
5845
5846         - fixed 2942809 -- remove all direct access to "WebKit" defaults from WebCore
5847
5848         * kwq/WebCoreSettings.h: Add willLoadImagesAutomatically and userStyleSheetLocation.
5849         * kwq/WebCoreSettings.m:
5850         (-[WebCoreSettings _updateAllViews]): Added. Placeholder for a function that will
5851         cause all views to update styles and layout.
5852         (-[WebCoreSettings setStandardFontFamily:]): Call _updateAllViews if a change happened.
5853         (-[WebCoreSettings setFixedFontFamily:]): Ditto.
5854         (-[WebCoreSettings setSerifFontFamily:]): Ditto.
5855         (-[WebCoreSettings setSansSerifFontFamily:]): Ditto.
5856         (-[WebCoreSettings setCursiveFontFamily:]): Ditto.
5857         (-[WebCoreSettings setFantasyFontFamily:]): Ditto.
5858         (-[WebCoreSettings setMinimumFontSize:]): Ditto.
5859         (-[WebCoreSettings setDefaultFontSize:]): Ditto.
5860         (-[WebCoreSettings setDefaultFixedFontSize:]): Ditto.
5861         (-[WebCoreSettings setWillLoadImagesAutomatically:]): Added.
5862         (-[WebCoreSettings willLoadImagesAutomatically]): Added.
5863         (-[WebCoreSettings setUserStyleSheetLocation:]): Added. Call _updateAllViews if a change happened.
5864         (-[WebCoreSettings userStyleSheetLocation]): Added.
5865
5866         * WebCore.exp: Add WebCoreSettings to the exported class list.
5867
5868         * kwq/KWQKHTMLSettings.mm: Get settings from WebCoreSettings rather than going
5869         directly at WebKit user defaults.
5870         * kwq/KWQKConfigBase.mm:
5871         (KConfig::readNumEntry): Check key.
5872         (KConfig::readUnsignedNumEntry): Use WebCoreSettings to get the value of the
5873         "JavaScript can open windows automatically" setting, rather than going directly
5874         at a WebKit user default.
5875         (KConfig::readColorEntry): Remove log message. This is implemented well enough.
5876
5877         - fixed 3015877 -- either wean WebCore from _web_URLFromString, or make it public API in WebFoundation
5878
5879         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::redirectionTimerStartedOrStopped):
5880         Use KURL to make an NSURL rather than using [NSURL _web_URLWithString:].
5881         * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::setBaseURL): Ditto.
5882         * kwq/WebCoreBridge.mm: (-[WebCoreBridge completeURLForDOMString:]): Ditto.
5883
5884         After fixing the above bugs, I noticed that I could remove the WebFoundation dependency.
5885
5886         * WebCore.pbproj/project.pbxproj: Remove WebFoundation framework.
5887
5888         * kwq/WebCoreBridge.h: Replace reportError with reportBadURL.
5889         * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Use reportBadURL instead of reportError.
5890         This was the last bit of direct dependency on WebFoundation.
5891
5892         Do some preparation work for implementing "referrer".
5893
5894         * khtml/khtml_part.cpp: Remove lots of APPLE_CHANGES and compile more
5895         original code. This in preparation for using the "referrer" code from KHTML.
5896         * khtml/khtmlview.h: Ditto.
5897         * khtml/misc/loader.cpp: Ditto.
5898
5899         * kwq/kdecore/kurl.h: Add things needed by code formerly inside APPLE_CHANGES.
5900         * kwq/KWQKURL.mm: (KURL::hasRef): Ditto.
5901         (urlcmp): Implement in a simple-minded way. Needed by some code formerly inside
5902         APPLE_CHANGES. We can make a more full-featured version when and if we need it.
5903         * kwq/kio/global.h: Ditto.
5904         * kwq/kio/job.h: Ditto.
5905         * kwq/kio/jobclasses.h: Ditto.
5906         * kwq/KWQKjobclasses.mm: Ditto.
5907         * kwq/kparts/browserextension.h:
5908         * kwq/kparts/part.h: Ditto.
5909         * kwq/qt/qstringlist.h: Ditto.
5910         * kwq/KWQStringList.mm: (QStringList::pop_front): Ditto.
5911         * kwq/qt/qvaluelist.h: Ditto.
5912         * kwq/KWQValueListImpl.h: Ditto.
5913         * kwq/KWQValueListImpl.mm: (KWQValueListImpl::isEqual): Ditto.
5914
5915         Other changes.
5916
5917         * kwq/KWQApplication.mm:
5918         (QApplication::setOverrideCursor): Don't report an error for this, it's OK
5919         to do nothing.
5920         (QApplication::restoreOverrideCursor): Ditto.
5921
5922 2002-09-09  Richard Williamson  <rjw@apple.com>
5923
5924         Implemented disable images automatically (2896319).
5925
5926         * kwq/KWQKHTMLSettings.mm:
5927         (KHTMLSettings::autoLoadImages):
5928
5929 2002-09-09  Darin Adler  <darin@apple.com>
5930
5931         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyView):
5932         Remove stray printf.
5933
5934 2002-09-09  David Hyatt  <hyatt@apple.com>
5935
5936         Switching over to the layer system for the handling of mouse
5937         events.
5938         
5939         * khtml/rendering/render_flow.cpp:
5940         (RenderFlow::nodeAtPoint):
5941         * khtml/rendering/render_image.cpp:
5942         (RenderImage::nodeAtPoint):
5943         * khtml/rendering/render_layer.cpp:
5944         (RenderLayer::paint):
5945         (RenderLayer::nodeAtPoint):
5946         (RenderLayer::constructZTree):
5947         * khtml/rendering/render_layer.h:
5948         * khtml/rendering/render_object.cpp:
5949         (RenderObject::nodeAtPoint):
5950         * khtml/xml/dom_docimpl.cpp:
5951         (DocumentImpl::prepareMouseEvent):
5952         * kwq/WebCoreBridge.mm:
5953         (-[WebCoreBridge drawRect:withPainter:]):
5954         (-[WebCoreBridge elementAtPoint:]):
5955         * kwq/qt/qrect.h:
5956
5957 2002-09-09  Darin Adler  <darin@apple.com>
5958
5959         * khtml/rendering/render_layer.h: Add a call to delete to fix a storage leak.
5960
5961 2002-09-09  Darin Adler  <darin@apple.com>
5962
5963         * khtml/misc/helper.cpp: (khtml::setNamedColor): Add a missing return I spotted.
5964
5965         * kwq/KWQApplication.mm:
5966         * kwq/KWQChar.mm:
5967         * kwq/KWQCompletion.mm:
5968         * kwq/KWQCursor.mm:
5969         * kwq/KWQEvent.mm:
5970         * kwq/KWQFontInfo.mm:
5971         * kwq/KWQFontMetrics.mm:
5972         * kwq/KWQInputDialog.mm:
5973         * kwq/KWQKConfigBase.mm:
5974         * kwq/KWQKFileDialog.mm:
5975         * kwq/KWQKFileItem.mm:
5976         * kwq/KWQKGlobalSettings.mm:
5977         * kwq/KWQKHTMLSettings.mm:
5978         * kwq/KWQKIconLoader.mm:
5979         * kwq/KWQKMimeType.mm:
5980         * kwq/KWQKSimpleConfig.mm:
5981         * kwq/KWQKjobclasses.mm:
5982         * kwq/KWQKnetaccess.mm:
5983         * kwq/KWQLineEdit.mm:
5984         * kwq/KWQScrollView.mm:
5985         * kwq/KWQString.mm:
5986         * kwq/KWQWidget.mm:
5987         * kwq/KWQbrowserinterface.mm:
5988         * kwq/KWQtextstream.mm:
5989         * kwq/KWQxml.mm:
5990         Change various LOG(NotYetImplemented) to ERROR, FATAL, or removed them entirely.
5991         This will help us with the task of getting every last one either "not implemented
5992         on purpose" or implemented. I'm not sure the NotYetImplemented log channel is
5993         useful, because it's chock full of continuous "direction not implemented" messages.
5994
5995         * kwq/KWQLogging.h:
5996         * kwq/KWQLogging.m:
5997         Removed the NeverImplemented logging channel. The distinction is no longer worth
5998         keeping around. We use NotYetImplemented instead.
5999
6000 2002-09-08  Darin Adler  <darin@apple.com>
6001
6002         Switch over to new assertion/logging scheme.
6003
6004         * kwq/KWQAssertions.h: Added.
6005         * kwq/KWQAssertions.m: Added.
6006         * kwq/KWQLogging.h: Added.
6007         * kwq/KWQLogging.m: Added.
6008         * kwq/kwqdebug.h: Removed.
6009         * kwq/kwqdebug.mm: Removed.
6010         * WebCore.pbproj/project.pbxproj: Update to reflect above changes.
6011
6012         * kwq/KWQApplication.mm:
6013         * kwq/KWQChar.mm:
6014         * kwq/KWQColor.mm:
6015         * kwq/KWQComboBox.mm:
6016         * kwq/KWQCompletion.mm:
6017         * kwq/KWQCursor.mm:
6018         * kwq/KWQDrawUtil.mm:
6019         * kwq/KWQEvent.mm:
6020         * kwq/KWQFontInfo.mm:
6021         * kwq/KWQFontMetrics.mm:
6022         * kwq/KWQFrame.mm:
6023         * kwq/KWQHBox.mm:
6024         * kwq/KWQInputDialog.mm:
6025         * kwq/KWQInvisibleButton.mm:
6026         * kwq/KWQKConfigBase.mm:
6027         * kwq/KWQKFileDialog.mm:
6028         * kwq/KWQKFileItem.mm:
6029         * kwq/KWQKGlobalSettings.mm:
6030         * kwq/KWQKHTMLPartImpl.mm:
6031         * kwq/KWQKHTMLSettings.mm:
6032         * kwq/KWQKIconLoader.mm:
6033         * kwq/KWQKJob.mm:
6034         * kwq/KWQKLocale.mm:
6035         * kwq/KWQKMimeType.mm:
6036         * kwq/KWQKPartsEvent.mm:
6037         * kwq/KWQKSimpleConfig.mm:
6038         * kwq/KWQKURL.mm:
6039         * kwq/KWQKWin.mm:
6040         * kwq/KWQKWinModule.mm:
6041         * kwq/KWQKjobclasses.mm:
6042         * kwq/KWQKnetaccess.mm:
6043         * kwq/KWQLabel.mm:
6044         * kwq/KWQLineEdit.mm:
6045         * kwq/KWQListBox.mm:
6046         * kwq/KWQListImpl.mm:
6047         * kwq/KWQLoaderImpl.mm:
6048         * kwq/KWQObject.mm:
6049         * kwq/KWQPaintDeviceMetrics.mm:
6050         * kwq/KWQPainter.mm:
6051         * kwq/KWQPixmap.mm:
6052         * kwq/KWQRegion.mm:
6053         * kwq/KWQScrollView.mm:
6054         * kwq/KWQSlot.mm:
6055         * kwq/KWQString.mm:
6056         * kwq/KWQTimer.mm:
6057         * kwq/KWQWidget.mm:
6058         * kwq/KWQbrowserinterface.mm:
6059         * kwq/KWQtextcodec.mm:
6060         * kwq/KWQtextstream.mm:
6061         * kwq/KWQxml.mm:
6062         * kwq/WebCoreBridge.mm:
6063         * kwq/WebCoreCookieAdapter.m:
6064         * kwq/WebCoreHistory.m:
6065         * kwq/WebCoreImageRendererFactory.m:
6066         * kwq/WebCoreTextRendererFactory.m:
6067         * kwq/WebCoreViewFactory.m:
6068         Update to use new assertions and logging macros.
6069         In some cases, just removed unneeded includes.
6070
6071 2002-09-08  David Hyatt  <hyatt@apple.com>
6072
6073         Landing the new layer system and turning it on for painting of
6074         all types of positioned blocks (and for painting the root
6075         and HTML layers as well).
6076
6077         Event handling is not yet using the new layer system, so you
6078         may see oddities like DHTML menus now displaying correctly but
6079         events not working (since the event code may still be stacking
6080         incorrectly and think the DHTML is behind other content).
6081         
6082         * khtml/css/cssstyleselector.cpp:
6083         * khtml/rendering/render_box.cpp:
6084         (RenderBox::setStyle):
6085         (RenderBox::calcHeight):
6086         (RenderBox::calcAbsoluteHorizontal):
6087         * khtml/rendering/render_container.cpp:
6088         (RenderContainer::addChild):
6089         (RenderContainer::removeChildNode):
6090         * khtml/rendering/render_flow.cpp:
6091         (RenderFlow::setStyle):
6092         (RenderFlow::printObject):
6093         (RenderFlow::printSpecialObjects):
6094         (RenderFlow::layout):
6095         (RenderFlow::layoutSpecialObjects):
6096         (RenderFlow::layoutBlockChildren):
6097         (RenderFlow::insertSpecialObject):
6098         * khtml/rendering/render_flow.h:
6099         * khtml/rendering/render_html.cpp:
6100         (RenderHtml::layout):
6101         * khtml/rendering/render_image.cpp:
6102         (RenderImage::printObject):
6103         * khtml/rendering/render_layer.cpp:
6104         (RenderLayer::updateLayerPosition):
6105         (RenderLayer::enclosingAncestor):
6106         (RenderLayer::addChild):
6107         (RenderLayer::convertToLayerCoords):
6108         (RenderLayer::paint):
6109         (RenderLayer::constructZTree):
6110         (RenderLayer::RenderZTreeNode::constructLayerList):
6111         * khtml/rendering/render_layer.h:
6112         * khtml/rendering/render_replaced.cpp:
6113         (RenderReplaced::print):
6114         (RenderWidget::printObject):
6115         * khtml/rendering/render_root.cpp:
6116         (RenderRoot::calcHeight):
6117         (RenderRoot::layout):
6118         (RenderRoot::printObject):
6119         * khtml/rendering/render_root.h:
6120         * khtml/rendering/render_style.cpp:
6121         (StyleBoxData::StyleBoxData):
6122         (StyleBoxData::operator==):
6123         * khtml/rendering/render_style.h:
6124         * kwq/WebCoreBridge.mm:
6125         (-[WebCoreBridge drawRect:withPainter:]):
6126         * kwq/qt/qrect.h:
6127
6128 2002-09-06  Maciej Stachowiak  <mjs@apple.com>
6129
6130         Fix another instance of the same problem:
6131
6132         * kwq/KWQString.mm:
6133         (QString::detach):
6134
6135 2002-09-06  Maciej Stachowiak  <mjs@apple.com>
6136
6137         Fix optimized build:
6138         
6139         * kwq/KWQString.mm:
6140         (QString::detachInternal): Uselessly Initialize newData to NULL
6141         since the compiler can't tell that FATAL won't return.
6142
6143 2002-09-06  Darin Adler  <darin@apple.com>
6144
6145         * kwq/WebCoreResourceLoader.h:
6146         Define WebCoreResourceHandle protocol.
6147
6148         * kwq/kio/jobclasses.h:
6149         * kwq/KWQKjobclasses.mm:
6150         * kwq/KWQLoaderImpl.mm: (KWQServeRequest):
6151         * kwq/WebCoreBridge.h:
6152         Use WebCoreResourceHandle instead of WebResourceHandle.
6153
6154         * kwq/KWQString.mm: (QString::fill): Fix case where the new string
6155         is going to be empty, but the old string was not. Before, it leaked
6156         a handle.
6157
6158         * kwq/character-sets.txt: Updated to 2002-06-14 version from 2001-08-23 version.
6159         * kwq/mac-encodings.txt: Updated encoding names to include ones gleaned from
6160         the I18N-Charset-1.17 Perl module.
6161
6162         * kwq/KWQCharsets.mm: Formatting tweaks.
6163
6164 2002-09-06  Richard Williamson  <rjw@apple.com>
6165
6166         Start using khtml's 'toAdd' parameter to justify text.
6167         
6168         * khtml/rendering/font.cpp:
6169         (Font::drawText):
6170         
6171         Normalize all calls to get width to minimize use of
6172         ObjC.  Will make it easier to use IMPL cache later.
6173         
6174         * kwq/KWQFontMetrics.mm:
6175         (QFontMetrics::width):
6176         (QFontMetrics::floatWidth):
6177         (QFontMetrics::floatCharacterWidth):
6178         
6179         Pass additional 'toAdd' parameter.
6180         
6181         * kwq/KWQPainter.mm:
6182         (QPainter::drawText):
6183         * kwq/qt/qpainter.h:
6184         
6185         Remove methods now that width calls are normalized to single
6186         method.
6187         * kwq/WebCoreTextRenderer.h:
6188
6189
6190 === Alexander-22 ===
6191
6192 2002-09-05  Richard Williamson  <rjw@apple.com>
6193
6194         Add the first child text node of the element to the
6195         element dictionary.  This will be used as a link 'label'.
6196         
6197         * kwq/WebCoreBridge.h:
6198         * kwq/WebCoreBridge.mm:
6199         (-[WebCoreBridge elementAtPoint:]):
6200
6201 2002-09-05  Richard Williamson  <rjw@apple.com>
6202     
6203         Removed debugging.
6204         
6205         * khtml/khtml_part.cpp:
6206         (KHTMLPart::closeURL):
6207
6208 2002-09-05  Richard Williamson  <rjw@apple.com>
6209
6210         Always call KHTMLPart::closeURL when a new document is loaded.
6211         
6212         Added support for saving and restoring document state in
6213         the back/forward list.  Document state includes form data.
6214         
6215         * khtml/khtml_part.cpp:
6216         (KHTMLPart::openURL):
6217         (KHTMLPart::closeURL):
6218         (KHTMLPart::begin):
6219         * kwq/KWQKHTMLPartImpl.h:
6220         * kwq/KWQKHTMLPartImpl.mm:
6221         (KWQKHTMLPartImpl::saveDocumentState):
6222         (KWQKHTMLPartImpl::restoreDocumentState):
6223         * kwq/WebCoreBridge.h:
6224         * kwq/WebCoreBridge.mm:
6225         (-[WebCoreBridge saveDocumentState]):
6226         (-[WebCoreBridge restoreDocumentState]):
6227
6228 2002-09-04  Darin Adler  <darin@apple.com>
6229
6230         * WebCore.pbproj/project.pbxproj:
6231         * kwq/KWQObject.mm:
6232         * kwq/KWQPainter.mm:
6233         * kwq/KWQTimer.mm:
6234         * kwq/WebCoreCookieAdapter.h:
6235         * kwq/WebCoreImageRenderer.h:
6236         * kwq/WebCoreImageRendererFactory.h:
6237         Tweaks, no substantive changes.
6238
6239 2002-09-02  David Hyatt  <hyatt@apple.com>
6240
6241         Tweak the damage rect testing to account for the fact that a child
6242         layer may fall entirely outside the bounds of its parent layer.
6243         
6244         * khtml/rendering/render_layer.cpp:
6245         (RenderLayer::constructZTree):
6246
6247 2002-08-31  Darin Adler  <darin@apple.com>
6248
6249         - fixed 3038336 -- repro crash in QTextDecoder trying to display UTF-16 file
6250
6251         * kwq/mac-encodings.txt: Hook up the UTF-16 encoding to the name iso-10646-ucs-2.
6252         We have a long way to go to get this right. There are almost certainly going to
6253         be other bugs with 16-bit character pages.
6254
6255         * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::encoding): Just return "latin1",
6256         not "NSISOLatin1StringEncoding".
6257
6258         * kwq/KWQString.mm: (QString::fromStringWithEncoding): Pass true for the
6259         "pay attention to BOM" flag.
6260
6261         * khtml/rendering/render_object.cpp: Take out unneeded APPLE_CHANGES.
6262
6263 2002-08-30  Ken Kocienda  <kocienda@apple.com>
6264
6265         Fixed a problem in this function where broken UTF-8 would cause a crash.
6266
6267         * WebCore.pbproj/project.pbxproj:
6268         * kwq/KWQString.mm:
6269         (QString::fromStringWithEncoding)
6270
6271 2002-08-30  Richard Williamson  <rjw@apple.com>
6272
6273         Removed debugging log.
6274         
6275         * kwq/KWQString.mm:
6276         (QString::fromStringWithEncoding):
6277
6278 2002-08-30  Richard Williamson  <rjw@apple.com>
6279
6280         Made decoder more robust wrt nulls in content.  Changed use
6281         of QCString to null safe QString rather than modify
6282         content.
6283         
6284         * khtml/misc/decoder.cpp:
6285         (Decoder::decode):
6286         (Decoder::flush):
6287         * khtml/misc/decoder.h:
6288         * kwq/KWQString.mm:
6289         (QString::fromStringWithEncoding):
6290
6291 2002-08-30  Darin Adler  <darin@apple.com>
6292
6293         - fixed 3027407 -- Console error refers to closed bug
6294
6295         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::bridgeForFrameName):
6296         Update bug number from 2959902 to 2942073.
6297
6298         - fixed 3027532 -- can't tab into or out of textareas
6299         
6300         * kwq/KWQTextArea.h: Add setFont:.
6301         * kwq/KWQTextArea.mm:
6302         (-[KWQTextArea _createTextView]): Make a KWQTextAreaTextView.
6303         (-[KWQTextArea textDidChange:]): Send text changed messages when the text
6304         is changed, not when done editing. I did this for KWQNSTextField a while ago;
6305         it's tragic that AppKit leads us to have two separate classes for these nearly
6306         identical purposes.
6307         (-[KWQTextArea setFont:]): Call setFont on the text view.
6308         (-[KWQTextArea becomeFirstResponder]): Call makeFirstResponder on the text view.
6309         (-[KWQTextArea nextKeyView]): Do that voodoo, just like KWQNSTextField.
6310         (-[KWQTextArea previousKeyView]): Ditto.
6311         (-[KWQTextArea nextValidKeyView]): Ditto.
6312         (-[KWQTextArea previousValidKeyView]): Ditto.
6313         (-[KWQTextAreaTextView insertTab:]): Select the next key view. We don't get this
6314         automatically because this is not a field editor. But being a field editor leads
6315         to other unwanted behavior.
6316         (-[KWQTextAreaTextView insertBacktab:]): Ditto.
6317         (-[KWQTextAreaTextView becomeFirstResponder]): Select all on entry.
6318         (-[KWQTextAreaTextView shouldDrawInsertionPoint]): Don't draw insertion point
6319         when we are not the first responder.
6320         (-[KWQTextAreaTextView selectedTextAttributes]): Don't draw the selection when
6321         we are not the first responder.
6322
6323         * kwq/qt/qtextedit.h:
6324         * kwq/KWQTextEdit.mm: (QTextEdit::setFont): Call -[KWQTextArea setFont:].
6325         (QTextEdit::focusPolicy): Always return TabFocus, because the top level widget
6326         is not an NSControl so QWidget::focusPolicy does not suffice.
6327
6328         * kwq/qt/qwidget.h: Make focusPolicy virtual.
6329
6330         * kwq/qt/qfont.h:
6331         * kwq/KWQFont.mm: (QFont::getNSFont): Add this helper function
6332         so we don't have to repeat this in multiple places.
6333
6334         * kwq/KWQLineEdit.mm: (QLineEdit::setFont): Use QFont::getNSFont.
6335
6336         * force-clean-timestamp: For you poor bastards who aren't using the new
6337         Project Builder yet.
6338
6339 2002-08-30  Darin Adler  <darin@apple.com>
6340
6341         * WebCore.pbproj/project.pbxproj: Allowed the new Project Builder to put in
6342         encodings for each file.
6343
6344 2002-08-29  David Hyatt  <hyatt@apple.com>
6345
6346         Begin connecting the layer system.  The root box and the <html>
6347         box now construct layers for themselves.  Those layers are
6348         connected in a layer tree properly and they correctly update
6349         their positions.
6350
6351         Implemented all the code for layer construction and for keeping
6352         the layer tree in sync with the render object tree.  
6353
6354         The goal is to get the layer tree fully constructed and correct
6355         (with lots of testing) before actually switching over to it for
6356         painting.
6357
6358         This change requires a clean of WebCore.
6359         
6360         * force-clean-timestamp:
6361         * khtml/rendering/render_box.cpp:
6362         (RenderBox::RenderBox):
6363         (RenderBox::~RenderBox):
6364         (RenderBox::setPos):
6365         (RenderBox::positionChildLayers):
6366         * khtml/rendering/render_box.h:
6367         * khtml/rendering/render_container.cpp:
6368         (RenderContainer::~RenderContainer):
6369         (RenderContainer::addChild):
6370         (RenderContainer::removeChildNode):
6371         * khtml/rendering/render_container.h:
6372         * khtml/rendering/render_html.cpp:
6373         (RenderHtml::RenderHtml):
6374         * khtml/rendering/render_layer.cpp:
6375         (RenderLayer::updateLayerPosition):
6376         * khtml/rendering/render_layer.h:
6377         * khtml/rendering/render_object.h:
6378         * khtml/rendering/render_root.cpp:
6379         (RenderRoot::RenderRoot):
6380
6381 === Alexander-21 ===
6382
6383 2002-08-28  David Hyatt  <hyatt@apple.com>
6384
6385         Implement the flattening algorithm that walks the layer 
6386         hierarchy and produces the correct layer list for back
6387         to front painting.  (Still under construction.  Not used yet.)
6388         
6389         * khtml/rendering/render_layer.cpp:
6390         (sortByZOrder):
6391         (RenderLayer::RenderZTreeNode::constructLayerList):
6392         * khtml/rendering/render_layer.h:
6393
6394 2002-08-28  Richard Williamson  <rjw@apple.com>
6395
6396         More tweaks to ccs.
6397         Added underline to visited links.
6398         Made outline for active normal and visited links gray.
6399         
6400         * khtml/css/html4.css:
6401
6402 2002-08-28  Richard Williamson  <rjw@apple.com>
6403
6404         Fixed outline of for active link style.
6405         
6406         * khtml/css/html4.css:
6407         * kwq/KWQPainter.mm:
6408         (QPainter::drawLine):
6409
6410 2002-08-28  David Hyatt  <hyatt@apple.com>
6411
6412         Adding knowledge to the style system of auto z-indices.  The old
6413         code doesn't use this yet, but the new layering code will.
6414
6415         Also wrote the ztree construction function (not used yet) and
6416         stubbed out the display list flattening routines.
6417         
6418         * khtml/rendering/render_layer.cpp:
6419         (RenderLayer::convertToLayerCoords):
6420         (RenderLayer::constructZTree):
6421         (RenderLayer::constructLayerList):
6422         * khtml/rendering/render_layer.h:
6423         * khtml/rendering/render_style.cpp:
6424         (StyleBoxData::StyleBoxData):
6425         * khtml/rendering/render_style.h:
6426
6427 2002-08-28  Darin Adler  <darin@apple.com>
6428
6429         - fixed 2977587 -- JavaScript code that reads the values of text areas
6430         misses the last line if no trailing CR
6431
6432         * kwq/KWQTextArea.mm: (-[KWQTextArea paragraphs]):
6433
6434 2002-08-28  David Hyatt  <hyatt@apple.com>
6435
6436         Putting design notes and API details for the layering system
6437         into the header file.
6438         
6439         * khtml/rendering/render_layer.h:
6440
6441 2002-08-28  Darin Adler  <darin@apple.com>
6442
6443         * kwq/mac-encodings.txt: Sort all the character set names alphabetically, and use all lower case.
6444         * kwq/make-charset-table.pl: Require lower-case sorted lists of character set names.
6445
6446 2002-08-28  Darin Adler  <darin@apple.com>
6447
6448         - fixed 3032148 -- Button not disabled in page
6449
6450         * kwq/KWQWidget.mm: (QWidget::setEnabled): Call setEnabled:
6451         on the NSView if it implements it.
6452
6453 2002-08-28  Darin Adler  <darin@apple.com>
6454
6455         - fixed 3030212 -- Problems rendering pages that specify "x-mac-roman" character
6456         set (like our Danish help pages)
6457
6458         * kwq/mac-encodings.txt: Added x-mac-roman as an alias for macintosh.
6459
6460 2002-08-27  Darin Adler  <darin@apple.com>
6461
6462         * force-clean-timestamp: Dave's changes require a full build. I found out the
6463         hard way, by debugging for a while.
6464
6465 2002-08-27  Richard Williamson <rjw@apple.com>
6466
6467         * kwq/WebCoreBridge.h:
6468         
6469         Fixed constants to conform to WebKit.  These need to be shared.
6470
6471 2002-08-27  David Hyatt  <hyatt@apple.com>
6472
6473         Change relative positioned blocks so that they are treated as special objects and
6474         painted last along with absolutely positioned blocks and floaters.  Note that the
6475         entire special object system is fundamentally flawed, and it needs to be replaced
6476         with a real layering subsystem.
6477
6478         This checkin at least gets relatively positioned divs painting correctly some of
6479         the time (in the cases where the containing blocks of absolute and relative positioned
6480         divs happen to be the same).  It does not, however, deal with the problem of ensuring
6481         correct stacking of positioned elements with different containing blocks.
6482
6483         render_layer.h and .cpp include a new implementation (not used yet, just the beginnings)
6484         of a layering subsystem that I am going to be working on over the next few days
6485         that will eventually be responsible for handling event dispatching and painting and that
6486         will also understand how to deal with form controls and other objects that have Cocoa
6487         views.
6488         
6489         * WebCore.pbproj/project.pbxproj:
6490         * khtml/rendering/render_box.cpp:
6491         (RenderBox::RenderBox):
6492         * khtml/rendering/render_box.h:
6493         * khtml/rendering/render_flow.cpp:
6494         (RenderFlow::printObject):
6495         (RenderFlow::printSpecialObjects):
6496         (RenderFlow::layoutSpecialObjects):
6497         (RenderFlow::layoutBlockChildren):
6498         (RenderFlow::insertSpecialObject):
6499         * khtml/rendering/render_flow.h:
6500         * khtml/rendering/render_layer.cpp: Added.
6501         (RenderLayer::RenderLayer):
6502         (RenderLayer::~RenderLayer):
6503         (RenderLayer::addChild):
6504         (RenderLayer::removeChild):
6505         * khtml/rendering/render_layer.h: Added.
6506
6507 2002-08-27  Darin Adler  <darin@apple.com>
6508
6509         - fixed 3031952 -- null-dereference in dispatchToUInt32 closing window
6510
6511         * khtml/ecma/kjs_window.cpp: (History::getValueProperty):
6512         Use Undefined(), not Value() for an error result. Value() is pure evil.
6513
6514 2002-08-27  Darin Adler  <darin@apple.com>
6515
6516         - fixed 3021018 -- Crash selecting from popup just after choosing radio button
6517
6518         * kwq/KWQComboBox.mm:
6519         (QComboBox::QComboBox): Pass the widget in when creating the cell.
6520         (-[KWQPopUpButtonCell initWithWidget:]): Store a widget pointer.
6521         (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): Get to the bridge
6522         and tell it to defer loading while we track the mouse.
6523
6524         * kwq/KWQKHTMLPartImpl.h: Add bridgeForWidget.
6525         * kwq/KWQKHTMLPartImpl.mm:
6526         (KWQKHTMLPartImpl::nextKeyViewForWidget): Use nodeForWidget and partForNode.
6527         (KWQKHTMLPartImpl::bridgeForWidget): Added. Use nodeForWidget and partForNode.
6528         (KWQKHTMLPartImpl::partForNode): Move code here from nextKeyViewForWidget.
6529         (KWQKHTMLPartImpl::nodeForWidget): Move code here from nextKeyViewForWidget.
6530
6531         * kwq/WebCoreBridge.h: Add defersLoading and setDefersLoading. Both are already
6532         in WebKit.
6533
6534 2002-08-26  David Hyatt  <hyatt@apple.com>
6535
6536         Fix for 3026006.  Ensure that TABLES inside <div>s with align="right"
6537         are properly positioned.  <div align="right"> was completely
6538         unimplemented.  This patch implements it for the common cases
6539         (nested divs, tables within divs, and paragraphs).
6540         
6541         * khtml/css/html4.css:
6542
6543 2002-08-26  Darin Adler  <darin@apple.com>
6544
6545         * khtml/rendering/render_list.cpp:
6546         Make file match the original KDE more closely (no substantive change).
6547
6548 2002-08-26  Richard Williamson  <rjw@apple.com>
6549
6550         * WebCore.exp:
6551
6552         Added WebCoreHistory
6553         
6554         * WebCore.pbproj/project.pbxproj:
6555
6556         Added WebCoreHistory
6557         
6558         * kwq/KWQKHistoryProvider.mm:
6559         Use WebCoreHistory to determine visited link.
6560         
6561         * kwq/WebCoreHistory.h: Added.
6562         * kwq/WebCoreHistory.m: Added.
6563         
6564         Stage 1.  Use WebKit's WebHistory.  Writing
6565         of history and initialization still handled
6566         by Alex until stage 2.
6567         
6568         (+[WebCoreHistory setSharedHistory:]):
6569         (+[WebCoreHistory sharedHistory]):
6570         (-[WebCoreHistory containsURL:]):
6571
6572         * kwq/KWQString.mm:
6573         (QString::compare):
6574
6575         Optimization, use strcmp when both src and dst have valid ascii.
6576         
6577
6578 2002-08-26  David Hyatt  <hyatt@apple.com>
6579
6580         - Patch drawText to understand right-aligned drawing.  
6581         - Fixed <ul> bullets so that they position properly.
6582         - Fixed bugs with horizontal and vertical positioning of
6583           <ol> bullets.
6584         
6585         * khtml/rendering/render_list.cpp:
6586         (RenderListMarker::printObject):
6587         * kwq/KWQPainter.mm:
6588         (QPainter::drawText):
6589
6590 2002-08-24  Darin Adler  <darin@apple.com>
6591
6592         - fixed 3032072 -- Crash on reload in DOM::DocumentImpl::~DocumentImpl [unified]()
6593
6594         This was a tough one to debug.
6595         Turned out to be a subtle bug in our new QConstString implementation.
6596
6597         * kwq/KWQString.mm:
6598         (QStringData::makeAscii): Don't invalidate the Unicode buffer unless the ASCII
6599         buffer is taking over the internal buffer from the Unicode. In other cases, it's
6600         important not to invalidate the Unicode because it can result in the Unicode being
6601         freed and re-created when unicode() is called, which is disastrous in the QConstString
6602         case because we can't free the Unicode.
6603         (QStringData::makeUnicode): Make the corresponding change for ASCII too. In this
6604         case, it's just an optimization, not a bug fix.
6605         (QString::insert), (QString::remove), (QString::fill), (QString::operator+=):
6606         Mark the other string invalid whenever we modify either the ASCII or the Unicode
6607         string. This was handled correctly for some operations before, but not all, and it
6608         now matters because makeAscii and makeUnicode will now allow this state.
6609
6610         Fixed a separate QString problem; I think I may have introduced this one.
6611
6612         * kwq/KWQString.mm:
6613         (QString::getNSString): Since by ASCII, we actually mean ISO Latin 1, we can't use
6614         [NSString stringWithCString:]. Use CFStringCreateWithCString instead, pass
6615         CFStringCreateWithCString as the encoding, and use autorelease. We shouldn't really
6616         use the term ASCII in this class for the 8-bit-per-character buffer. Something more
6617         like Latin1 would be a more accurate way to refer to it. Maybe I'll do that renaming
6618         after talking to Richard about it on Monday.
6619
6620         Fixed a small storage leak.
6621
6622         * khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cleanup): Added braces to
6623         fix obviously-incorrect if/else grouping.
6624
6625 2002-08-23  Darin Adler  <darin@apple.com>
6626
6627         Got the kurl-test in the Tests directory working again.
6628
6629         * kwq/KWQKURL.mm: (KURL::KURL): Fixed problem where relative path resolution code
6630         for "../" could eat up the host name too, treating it as part of the path.
6631
6632 2002-08-23  Darin Adler  <darin@apple.com>
6633
6634         - fixed 3032058 -- Links on local developer doc pages all broken (all local files?)
6635
6636         * kwq/KWQKURL.mm: (KURL::getNSURL): Re-added a workaround for CFURL bug 2908969.
6637         We have to hack to make NSURL take "file:/" URLs.
6638
6639         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyViewInFrame): Add a nil check.
6640         I ran into this because my frame failed to load.
6641
6642 2002-08-23  Maciej Stachowiak  <mjs@apple.com>
6643
6644         A few more KURL changes that reduce it down to background noise
6645         level.
6646
6647         For me this gave another 1-2% improvement on cvs-base.
6648
6649         * kwq/kdecore/kurl.h:
6650         * kwq/KWQKURL.mm:
6651         (KURL::KURL): In the relative constructor, do all work in a char
6652         array for the relative path case, and leave it up to ::parse to
6653         create a QString.
6654         (KURL::parse): Do all work in a char array, only creating a
6655         QString at the end if needed. Also, take an optional pointer to
6656         the QString that the char * was created from, and if the final
6657         processed URL is the same as the original, assign the original
6658         instead of creating a new QString.
6659         (KURL::setProtocol): Adjust for prase() interface change.
6660         (KURL::setHost): Likewise.
6661         (KURL::setPort): Likewise.
6662         (KURL::setRef): Likewise.
6663         (KURL::setQuery): Likewise.
6664         (KURL::setPath): Likewise.
6665         (appendEscapingBadChars): Instead of taking and returning
6666         a QString like the old escapeBadChars, copy from and write into
6667         existing C string buffers.
6668
6669 2002-08-22  Darin Adler  <darin@apple.com>
6670
6671         * force-clean-timestamp: Without this, I crash on startup.
6672
6673 2002-08-22  Maciej Stachowiak  <mjs@apple.com>
6674
6675         Brand new KURL implementation which avoids CFURL, CFString, and
6676         all that other allocation-happy goodness and instead does as much
6677         work as possible with raw ASCII buffers.
6678
6679         For me this gave a ~5% performance improvement on cvs-base.
6680         
6681         * kwq/KWQKURL.mm:
6682         (KURL::KURL):
6683         (KURL::hasPath):
6684         (KURL::protocol):
6685         (KURL::host):
6686         (KURL::port):
6687         (KURL::pass):
6688         (KURL::user):
6689         (KURL::ref):
6690         (KURL::query):
6691         (KURL::path):
6692         (KURL::setProtocol):
6693         (KURL::setHost):
6694         (KURL::setPort):
6695         (KURL::setRef):
6696         (KURL::setQuery):
6697         (KURL::setPath):
6698         (KURL::prettyURL):
6699         (KURL::decode_string):
6700         (escapeBadChars):
6701         (KURL::parse):
6702         (KURL::getNSURL):
6703         * kwq/kdecore/kurl.h:
6704         * khtml/khtml_part.cpp:
6705         (KHTMLPart::end): Don't call KURL::clearCaches() any more.
6706
6707 2002-08-22  Darin Adler  <darin@apple.com>
6708
6709         * kwq/KWQButton.mm: (QButton::~QButton): Disconnect the view
6710         from the widget by doing setTarget:nil.
6711         * kwq/KWQComboBox.mm: (QComboBox::~QComboBox): Ditto.
6712
6713 2002-08-22  David Hyatt  <hyatt@apple.com>
6714
6715         Add vertical margins for checkboxes and radios.  A later rule
6716         in the file was overriding my earlier attempt to set up these margins.
6717         
6718         * khtml/css/html4.css:
6719
6720 2002-08-22  Richard Williamson  <rjw@apple.com>
6721
6722         New faster char * append (actually insert) for mjs.
6723         
6724         * kwq/KWQString.mm:
6725         (QString::insert):
6726         * kwq/qt/qstring.h:
6727
6728 2002-08-22  Darin Adler  <darin@apple.com>
6729
6730         Some small QString improvements.
6731
6732         * kwq/qt/qstring.h: Add printf attribute to sprintf member function.
6733         * kwq/KWQString.mm:
6734         Remove extra \n characters from QSTRING_FAILURE calls. Change some
6735         fprintf to QSTRING_FAILURE. Change some QSTRING_FAILURE to KWQ_ASSERT.
6736         (QStringData::makeAscii): Fix bug where it would update _maxAscii
6737         with a new size even when it didn't allocate a new buffer.
6738         (QStringData::makeUnicode): Fix bug where it would update _maxUnicode
6739         with a new size even when it didn't allocate a new buffer.
6740         (QString::utf8): Fix bug where it assumed the UTF-8 form of a string
6741         has the same length as the Unicode version. Also save one allocation
6742         by doing it right into the QCString.
6743         (QString::local8Bit): Just call utf8().
6744         (QString::setNum): Have all these call our sprintf.
6745         (QString::sprintf): Format once to get the length. Then do the second
6746         format right into the string buffer. This way we don't have to do
6747         any allocation at all, nor use CFString.
6748
6749 === Alexander-20 ===
6750
6751 2002-08-22  Darin Adler  <darin@apple.com>
6752
6753         Fixed a one-click crasher that Ken and Don told me about.
6754
6755         * kwq/KWQObject.mm: (QObject::QObject): Initialize m_eventFilterObject.
6756
6757 2002-08-21  Darin Adler  <darin@apple.com>
6758
6759         - fixed 3021908 -- text areas should be plain text only
6760
6761         * kwq/KWQTextArea.mm:
6762         (-[KWQTextArea _createTextView]): setRichText:NO
6763         (-[KWQTextArea dealloc]): Release the text view so we don't leak.
6764
6765 2002-08-21  Darin Adler  <darin@apple.com>
6766
6767         * kwq/KWQNSViewExtras.m: (-[NSClipView _KWQ_scrollRectToVisible:inView:]):
6768         Use bounds, not visibleRect. Seems to work better.
6769
6770 2002-08-21  John Sullivan  <sullivan@apple.com>
6771
6772         - commented out (with FIXME 2935687) the code that was advertising in
6773         the status bar that shift-command would open a link behind the
6774         current window, since it doesn't.
6775
6776         * kwq/KWQKHTMLPartImpl.mm:
6777         (KWQKHTMLPartImpl::overURL):
6778
6779 2002-08-21  Darin Adler  <darin@apple.com>
6780
6781         Fix for two problems with password fields.
6782
6783            1) Return wasn't working.
6784            2) They were wrapping instead of scrolling.
6785
6786         * kwq/KWQNSTextField.mm: 
6787         (-[KWQNSTextField setUpTextField:]): Shared initialization, needed by both
6788         the text field and the secure field. This includes the two things we needed
6789         for the password text field; wiring up action properly and setScrollable:YES.
6790         (-[KWQNSTextField initWithFrame:]): Use setUpTextField.
6791         (-[KWQNSTextField setPasswordMode:]): Use setUpTextField.
6792
6793 2002-08-21  David Hyatt  <hyatt@apple.com>
6794
6795         Fix for 3015372, tables and blocks nested inside other tables
6796         don't center.  This fixes a lot of sites, from the forum
6797         sites to the www.ve3d.com voodooextreme site.
6798         
6799         * khtml/html/html_tableimpl.cpp:
6800         (HTMLTablePartElementImpl::parseAttribute):
6801
6802 2002-08-21  Darin Adler  <darin@apple.com>
6803
6804         - fixed 3027927 -- selected text fields do not cause the web view to scroll to reveal them
6805
6806         * kwq/KWQNSTextField.mm:
6807         (-[KWQNSTextField becomeFirstResponder]): Call [self _KWQ_scrollFrameToVisible].
6808         (-[KWQSecureTextField becomeFirstResponder]): Call [self _KWQ_scrollFrameToVisible].
6809
6810         * kwq/KWQNSViewExtras.h: Added. New scrolling functions.
6811         * kwq/KWQNSViewExtras.m: Added. New scrolling functions.
6812         * WebCore.pbproj/project.pbxproj: Added KWQNSViewExtras.
6813
6814         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyViewInFrame):
6815         Make sure superview and position is set up properly before we try to tab to something.
6816         * kwq/KWQWidget.mm: (QWidget::setFocus):
6817         Make sure superview and position is set up properly before we try to focus something.
6818
6819         Unrelated change.
6820
6821         * kwq/KWQInvisibleButton.h:
6822         * kwq/KWQInvisibleButton.mm:
6823         Add KWQ prefix to the name of the private Objective C class to avoid potential conflicts.
6824
6825 2002-08-21  Darin Adler  <darin@apple.com>
6826
6827         Implemented baseline alignment for form elements. We decided that this was better
6828         than what we're currently doing. But it will look even better when the font of the
6829         text field matches the font of the surrounding text, so we should consider that.
6830
6831         I also nudged the text down one pixel in popup menus, to match buttons. I think we
6832         probably should suggest that this be done in Aqua by default (buttons and popup menus
6833         already match in the normal size; this is the small size).
6834
6835         * khtml/rendering/render_form.h: Remove some APPLE_CHANGES.
6836         * khtml/rendering/render_form.cpp:
6837         (RenderFormElement::baselinePosition): Use the widget's concept of the baseline
6838         position (the new QWidget::baselinePosition function).
6839         (RenderButton::baselinePosition): Just call the inherited version.
6840         (RenderSubmitButton::baselinePosition): Remove our ifdef because we want what the
6841         original code said, which was just calling the inherited version.
6842         (RenderLineEdit::baselinePosition): Removed our added method since we want to just
6843         call the inherited version.
6844         (RenderSelect::baselinePosition): Just call the inherited version for the pop up
6845         menu case. For the list box, just left the old code alone until someone can take
6846         a look at it.
6847
6848         * kwq/qt/qwidget.h: Added new virtual baselinePosition function.
6849         * kwq/KWQWidget.mm: (QWidget::baselinePosition): Default for baseline is the bottom.
6850
6851         * kwq/qt/qlineedit.h:
6852         * kwq/KWQLineEdit.mm:
6853         (QLineEdit::baselinePosition): Compute the baseline based on how NSTextField does it.
6854         Compared to the other widgets this was easy, because the cell's drawingRectForBounds
6855         gives you the place where the top of the line is. It does use defaultLineHeightForFont,
6856         which is not used by other widgets, but that's no real problem.
6857
6858         * kwq/qt/qbutton.h:
6859         * kwq/KWQButton.mm: Moved all the code that's push-button specific into QPushButton.
6860
6861         * kwq/qt/qpushbutton.h:
6862         * kwq/KWQPushButton.mm:
6863         (QPushButton::QPushButton): Set the bezel style of the button.
6864         (QPushButton::sizeHint): Moved here from QButton.
6865         (QPushButton::frameGeometry): Moved here from QButton.
6866         (QPushButton::setFrameGeometry): Moved here from QButton.
6867         (QPushButton::baselinePosition): Compute the baseline based on how NSButton does it.
6868         The rule for the style of button we use is "centered vertically in the available space,
6869         offset by kThemePushButtonSmallTextOffset", so I had to hardcode the value of
6870         kThemePushButtonSmallTextOffset; I called it VERTICAL_FUDGE_FACTOR (2).
6871
6872         * kwq/qt/qcombobox.h:
6873         * kwq/KWQComboBox.mm:
6874         (-[KWQPopUpButtonCell drawInteriorWithFrame:inView:]): Custom cell class that nudges
6875         the text down one pixel.
6876         (QComboBox::QComboBox): Attach the custom cell class.
6877         (QComboBox::baselinePosition): Compute the baseline based on how NSPopUpButton does it.
6878         The rule for the style of pop-up button we use is "CELLOFFSET pixels down from the top",
6879         so I had to hardcode the value of CELLOFFSET; I called it VERTICAL_FUDGE_FACTOR (2).
6880
6881         * force-clean-timestamp: Yes, again.
6882
6883 2002-08-20  Darin Adler  <darin@apple.com>
6884
6885         - fix 3028936 -- fields are not submitting the correct data if they are selected
6886         when you submit
6887
6888         * kwq/KWQNSTextField.mm: (-[KWQNSTextField controlTextDidChange:]):
6889         Call widget->textChanged and set edited to true here. The old code had two problems.
6890         First, it only sent textChanged from controlTextDidEndEditing. Second, it overrode
6891         textDidChange without calling super, preventing controlTextDidChange from being
6892         sent to the delegate.
6893
6894 2002-08-20  David Hyatt  <hyatt@apple.com>
6895
6896         Fix background positioning so that it works with table cells.
6897         This fixes the tabs on www.msn.com.
6898         
6899         * khtml/rendering/render_box.cpp:
6900         (RenderBox::printBackground):
6901         * khtml/rendering/render_table.h:
6902
6903 2002-08-20  Darin Adler  <darin@apple.com>
6904
6905         WebCore part of support for tabbing into and out of the toolbar.
6906
6907         * kwq/KWQKHTMLPartImpl.h: Renamed static nextKeyView to nextKeyViewForWidget.
6908         Added nextKeyViewInFrameHierarchy.
6909         * kwq/KWQKHTMLPartImpl.mm:
6910         (KWQKHTMLPartImpl::nextKeyViewInFrameHierarchy): New name for the old nextKeyView.
6911         (KWQKHTMLPartImpl::nextKeyView): Added. Does all the logic for handling views outside
6912         the frame hierarchy that used to be only in the static nextKeyView.
6913         (KWQKHTMLPartImpl::nextKeyViewForWidget): New name for the static nextKeyView, which
6914         now just does the widget-specific bits. Removed null check in here that's no longer needed.
6915
6916         * kwq/KWQNSTextField.mm: Update to call nextKeyViewForWidget.
6917
6918         * kwq/WebCoreBridge.h: Added nextKeyViewInsideWebViews, previousKeyViewInsideWebViews,
6919         nextKeyViewOutsideWebViews, and previousKeyViewOutsideWebViews.
6920
6921         * kwq/WebCoreBridge.mm:
6922         (-[WebCoreBridge nextKeyViewInsideWebViews]): Call nextKeyViewInFrameHierarchy.
6923         (-[WebCoreBridge previousKeyViewInsideWebViews]): Call nextKeyViewInFrameHierarchy.
6924
6925         Introduced QString to sprong. See <http://www.goat.demon.co.uk/sprong.html>.
6926         A few other tweaks to QString API; wean it from mutable strings.
6927
6928         * kwq/qt/qstring.h:
6929         * kwq/KWQString.mm: Sprongify it.
6930         (QString::setBufferFromCFString): Add a fixed-size buffer to avoid malloc.
6931         (QString::getCFString): Replace getCFMutableString with this.
6932         (QString::getNSString): Use NSString directly.
6933
6934         * kwq/KWQDictImpl.mm:
6935         * kwq/KWQKURL.mm:
6936         * kwq/KWQStringList.mm:
6937         * kwq/KWQtextcodec.mm:
6938         * kwq/WebCoreBridge.mm:
6939         Use getCFString, not getCFMutableString.
6940
6941 2002-08-19  Darin Adler  <darin@apple.com>
6942
6943         * force-clean-timestamp: Richard's changes require a clean build.
6944
6945 2002-08-19  Richard Williamson  <rjw@apple.com>
6946
6947         QString rewrite.  Much faster now.
6948         QString has an inline rep, QStringData, which
6949         has an inline character buffer.  reps are
6950         referenced indirectly via a handle.  inline
6951         reps are detached when necessary.  Typical
6952         stack based usage requires no allocations
6953         for small string.  Attempts are made to avoid
6954         costly conversions between ascii and unicode.
6955         Extensive diagnostics can be enable by
6956         defining QSTRING_DEBUG_ALLOCATIONS and calling
6957         _printQStringAllocationStatistics().
6958         
6959         There appear to be a few small lingering leaks
6960         that I need to track down.
6961         
6962         * WebCore-tests.exp:
6963         
6964         Added symbols for qstring-test.cpp.
6965         
6966         * khtml/css/cssstyleselector.cpp:
6967         
6968         Removed old string optimization hack.
6969         
6970         * kwq/KWQString.mm:
6971         
6972         Rewrite.
6973         (_isOnStack):
6974         (countInstance):
6975         (allocatedBuffers):
6976         (ALLOC_CHAR):
6977         (REALLOC_CHAR):
6978         (DELETE_CHAR):
6979         (ALLOC_QCHAR):
6980         (REALLOC_QCHAR):
6981         (DELETE_QCHAR):
6982         (_printQStringAllocationStatistics):
6983         (ucstrcmp):
6984         (ucstrncmp):
6985         (ucstrnicmp):
6986         (ok_in_base):
6987         (QStringData::QStringData):
6988         (QStringData::initialize):
6989         (QStringData::operator new):
6990         (QStringData::operator delete):
6991         (QString::makeSharedNullHandle):
6992         (QString::makeSharedNull):
6993         (QStringData::~QStringData):
6994         (QStringData::ascii):
6995         (QStringData::increaseAsciiSize):
6996         (QStringData::unicode):
6997         (QStringData::increaseUnicodeSize):
6998         (QStringData::makeAscii):
6999         (QStringData::makeUnicode):
7000         (QString::setBufferFromCFString):
7001         (QString::fromStringWithEncoding):
7002         (QString::fromCFMutableString):
7003         (QString::fromCFString):
7004         (QString::fromNSString):
7005         (QString::getCFMutableString):
7006         (QString::getNSString):
7007         (QString::~QString):
7008         (QString::QString):
7009         (QString::operator=):
7010         (QString::at):
7011         (QString::unicode):
7012         (QString::compare):
7013         (QString::startsWith):
7014         (QString::endsWith):
7015         (QString::latin1):
7016         (QString::isNull):
7017         (QString::find):
7018         (QString::findRev):
7019         (QString::contains):
7020         (QString::toShort):
7021         (QString::toUShort):
7022         (QString::toInt):
7023         (QString::toUInt):
7024         (QString::toLong):
7025         (QString::toULong):
7026         (QString::toDouble):
7027         (QString::findArg):
7028         (QString::arg):
7029         (QString::left):
7030         (QString::right):
7031         (QString::mid):
7032         (QString::copy):
7033         (QString::lower):
7034         (QString::stripWhiteSpace):
7035         (QString::simplifyWhiteSpace):
7036         (QString::deref):
7037         (QString::setUnicode):
7038         (QString::setLatin1):
7039         (QString::sprintf):
7040         (QString::append):
7041         (QString::insert):
7042         (QString::detachInternal):
7043         (QString::detach):
7044         (QString::remove):
7045         (QString::replace):
7046         (QString::forceUnicode):
7047         (QString::setLength):
7048         (QString::truncate):
7049         (QString::fill):
7050         (QString::operator+=):
7051         (QString::convertToQCString):
7052         (operator==):
7053         (QConstString::QConstString):
7054         (QConstString::~QConstString):
7055         (_initializeHandleNodeBlock):
7056         (_allocatePageNode):
7057         (_initializeHandleNodes):
7058         (_allocateNode):
7059         (allocateHandle):
7060         (freeHandle):
7061         
7062         * kwq/qt/qstring.h:
7063         Rewrite
7064         
7065 2002-08-19  Maciej Stachowiak  <mjs@apple.com>
7066
7067         * Makefile.am: Added new mechanism to clean only the objects that
7068         depend on JavaScript.
7069         * force-js-clean-timestamp: Touched since I changed JSC just now.
7070         * .cvsignore: Ignore previous-js-clean-timestamp.
7071         
7072 2002-08-19  Darin Adler  <darin@apple.com>
7073
7074         Fixed tab cycle on slashdot.org and elsewhere by being stricter about what is
7075         included in the tab cycle.
7076
7077         * kwq/KWQWidget.mm: (QWidget::focusPolicy): Use the same rule as AppKit.
7078
7079 2002-08-19  David Hyatt  <hyatt@apple.com>
7080
7081         Tweak baselines to look a little better for form controls.
7082         This will be redone by Darin to really baseline align... this
7083         is just temporary.
7084
7085         Also adding 3px margins to <input> and <textarea> and <select>.
7086         
7087         * khtml/css/html4.css:
7088         * khtml/rendering/render_form.cpp:
7089         (RenderButton::baselinePosition):
7090         (RenderSelect::baselinePosition):
7091
7092 2002-08-19  Darin Adler  <darin@apple.com>
7093
7094         - fixed 3027791 -- Crash when pressing "tab" after going to http://slashdot.org/
7095
7096         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyViewInFrame): Add null check.
7097
7098 2002-08-19  Darin Adler  <darin@apple.com>
7099
7100         Put in more robust version of the next/previous key view checking
7101         that matches what I did in WebHTMLView.
7102
7103         * kwq/KWQNSTextField.h: Add inNextValidKeyView instance variable.
7104         * kwq/KWQNSTextField.mm:
7105         (-[KWQNSTextField dealloc]): No need to nil out widget.
7106         (-[KWQNSTextField nextKeyView]): Only do the computation when called from nextValidKeyView.
7107         (-[KWQNSTextField previousKeyView]): Only do the computation when called from previousValidKeyView.
7108         (-[KWQNSTextField nextValidKeyView]): Set boolean.
7109         (-[KWQNSTextField previousValidKeyView]): Set boolean.
7110         (-[KWQSecureTextField nextKeyView]): Only do the computation when called from nextValidKeyView.
7111         (-[KWQSecureTextField previousKeyView]): Only do the computation when called from nextValidKeyView.
7112         (-[KWQSecureTextField nextValidKeyView]): Set boolean.
7113         (-[KWQSecureTextField previousValidKeyView]): Set boolean.
7114
7115         Unrelated change.
7116
7117         * kwq/mac-encodings.txt: Add an encoding name of gb18030, since I saw mention of it in bug 3002016.
7118
7119 2002-08-19  Darin Adler  <darin@apple.com>
7120
7121         Support so that WebKit can tab into a web view's fields.
7122
7123         * kwq/KWQKHTMLPartImpl.h: Made another nextKeyView() version public.
7124         * kwq/WebCoreBridge.h: Add new methods, change parameters to one existing one.
7125         * kwq/WebCoreBridge.mm:
7126         (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]):
7127         Remove width and height parameters. The passed-in view already has the correct
7128         width and height.
7129         (-[WebCoreBridge nextKeyView]): Call nextKeyView() with node == 0.
7130         (-[WebCoreBridge previousKeyView]): Call nextKeyView() with node == 0.
7131
7132 2002-08-19  Darin Adler  <darin@apple.com>
7133
7134         First cut at implementation of "tab to change focus": Lots of loose ends, but it's
7135         going well.
7136
7137         * kwq/KWQNSTextField.h: Change initWithWidget to initWithQLineEdit.
7138         * kwq/KWQNSTextField.mm:
7139         (-[KWQNSTextField initWithQLineEdit:]): Keep a QLineEdit pointer so we don't cast later.
7140         (-[KWQNSTextField dealloc]): Sets widget to 0 to make nextKeyView and previousKeyView
7141         return nil while deallocating.
7142         (-[KWQNSTextField setPasswordMode:]): Pass widget when creating secure text field so it
7143         can handle the next/previous links properly.
7144         (-[KWQNSTextField nextKeyView]): Added. Calls KWQKHTMLPartImpl::nextKeyView.
7145         (-[KWQNSTextField previousKeyView]): Added. Calls KWQKHTMLPartImpl::nextKeyView.
7146         (-[KWQTextFieldCell isOpaque]): Added. Returns NO; fixes focus rectangle updating.
7147         (-[KWQSecureTextField initWithQWidget:]): Added.
7148         (-[KWQSecureTextField dealloc]): Added. Sets widget to 0 to make nextKeyView and
7149         previousKeyView return nil while deallocating.
7150         (-[KWQSecureTextField nextKeyView]): Added. Calls KWQKHTMLPartImpl::nextKeyView.
7151         (-[KWQSecureTextField previousKeyView]): Added. Calls KWQKHTMLPartImpl::nextKeyView.
7152
7153         * kwq/KWQKHTMLPartImpl.h: Add KWQSelectionDirection. Change name of getBridge() to
7154         bridge(), getDocument() to document(), getRenderer() to renderer(), getBridgeForFrameName()
7155         to bridgeForFrameName(). Also added nextKeyView family of member functions.
7156
7157         * kwq/KWQKHTMLPartImpl.mm:
7158         (KWQKHTMLPartImpl::nextKeyViewInFrame): Added.
7159         (KWQKHTMLPartImpl::nextKeyView): Added.
7160
7161         * kwq/qt/qwidget.h: Remove unneeded parameters from constructor. Also added a
7162         constructor that takes an NSView.
7163         * kwq/KWQWidget.mm:
7164         (QWidget::QWidget): Don't store focus policy (it was uninitialized before).
7165         (QWidget::focusPolicy): Return TabFocus for any widget that has a view with a first
7166         responder, NoFocus for any other.
7167         (QWidget::setFocusPolicy): Do nothing.
7168         (QWidget::setFocusProxy): Do nothing.
7169
7170         * kwq/qt/qobject.h: Store the event filter object when installEventFilter is called.
7171         This is used to find the RenderWidget for a QWidget by the new tabbing code.
7172         * kwq/KWQObject.mm: Removed event-filter functions. Two are now inlines, one deleted.
7173
7174         Other changes related to KWQKHTMLPartImpl improvements.
7175
7176         * kwq/KWQKHTMLPartBrowserExtension.mm:
7177         * kwq/KWQKHTMLPartImpl.mm:
7178         * kwq/KWQLoaderImpl.mm:
7179         * kwq/WebCoreBridge.mm:
7180         Update for KWQKHTMLPartImpl member name changes.
7181
7182         Various improvements for other widget implementations.
7183
7184         * kwq/qt/qbutton.h:
7185         * kwq/KWQButton.mm: Stop using KWQNSButton. Instead just use a button adapter
7186         object, and a plain old NSButton.
7187         (QButton::QButton): Put all the NSButton setup in here.
7188         (QButton::~QButton): Release the adapter here.
7189         (QButton::clicked): Move this in here because it's virtual now so that QCheckBox
7190         can override it.
7191         (-[KWQButtonAdapter initWithQButton:]): Added.
7192         (-[KWQButtonAdapter action:]): Just call clicked().
7193
7194         * kwq/qt/qpushbutton.h: Don't pass unused parent pointer to QButton constructor.
7195         * kwq/KWQPushButton.mm: (QPushButton::QPushButton): Don't pass unused parent pointer to
7196         QButton contructor.
7197
7198         * kwq/qt/qcheckbox.h:
7199         * kwq/KWQCheckBox.mm: Just use NSButton, not KWQNSButton.
7200         (QCheckBox::clicked): Move the state-changed logic here; used to be in KWQNSButton.
7201
7202         * kwq/KWQRadioButton.mm:
7203         (QRadioButton::QRadioButton): Don't pass unused parent pointer to
7204         QButton contructor.
7205
7206         * kwq/qt/qcombobox.h:
7207         * kwq/KWQComboBox.mm:
7208         (QComboBox::QComboBox): Removed extra constructor. Make a plain NSPopUpButton,
7209         and use an adapter object, rather than having a KWQNSComboBox.
7210         (QComboBox::~QComboBox): Release the adapter.
7211         (QComboBox::insertItem): New implementation. No need to keep an items array around,
7212         because the menu does that just fine.
7213         (QComboBox::clear): Remove the items from the pop-up button directly.
7214         (-[KWQComboBoxAdapter initWithQComboBox:]): Added.
7215         (-[KWQComboBoxAdapter action:]): Just call activated().
7216
7217         * kwq/kdeui/kcombobox.h: Empty this out and make it use only inlines.
7218
7219         * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
7220         Remove the setSize()/doneLoading() optimization for QComboBox because the new
7221         simpler QComboBox implementation obviates the speed problem this was originally
7222         intended to fix.
7223
7224         * kwq/qt/qlineedit.h:
7225         * kwq/KWQLineEdit.mm: (QLineEdit::QLineEdit): Call initWithQLineEdit instead of
7226         initWithWidget. Also don't take an unused parent pointer parameter.
7227
7228         * kwq/kdeui/klineedit.h: Empty this out and make it use only inlines.
7229
7230         * kwq/qt/qframe.h: Remove unused parent pointer from constructor.
7231         * kwq/KWQFrame.mm: Remove unneeded constructor.
7232         * kwq/KWQHBox.mm: (QHBox::QHBox): Don't pass unused parent pointer to QFrame.
7233         * kwq/KWQLabel.mm: (QLabel::QLabel): Don't pass unused parent pointer to QFrame.
7234         * kwq/qt/qscrollview.h: Make constructor inline.
7235         * kwq/KWQScrollView.mm: Remove unneeded constructor.
7236         * kwq/KWQWindowWidget.h: Remove unneeded constructor.
7237
7238         * WebCore.pbproj/project.pbxproj: Remove KWQKComboBox.mm, KWQKLineEdit.mm,
7239         and KWQScrollBar.h.
7240         * kwq/KWQKComboBox.mm: Removed.
7241         * kwq/KWQKLineEdit.mm: Removed.
7242         * kwq/KWQScrollBar.h: Removed. Unused.
7243
7244         * kwq/KWQTextArea.h: Change initWithWidget to initWithQTextEdit.
7245         * kwq/KWQTextArea.mm: (-[KWQTextArea initWithQTextEdit:]): Changed name.
7246         * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Call initWithQTextEdit instead of
7247         initWithWidget.
7248
7249         * kwq/KWQView.h: Eliminated KWQNSButton, KWQNSComboBox, and KWQNSScrollView.
7250         * kwq/KWQView.mm: Ditto.
7251
7252         Housekeeping.
7253
7254         * force-clean-timestamp: Yes, again.
7255
7256         * khtml/khtml_part.h: Rearrange APPLE_CHANGES a bit.
7257
7258         * kwq/qt/qvaluelist.h: Added -- as well as ++ for the const iterator, and fixed some
7259         minor const issues. At one point I needed this for the focus changes, but not any more.
7260
7261 2002-08-16  Darin Adler  <darin@apple.com>
7262
7263         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::userAgent):
7264         Call bridge's userAgentForURL: method.
7265         * kwq/WebCoreBridge.h: Added userAgentForURL: to the protocol
7266
7267 2002-08-16  Darin Adler  <darin@apple.com>
7268
7269         Step 2 in adding user agent API to WebKit and WebFoundation.
7270         In this step, I change WebCore so that it the KWQKHTMLPartImpl
7271         is responsible for fetching the user agent. Later it will
7272         get the user agent from WebKit via the bridge.
7273
7274         * khtml/ecma/kjs_navigator.cpp: (Navigator::getValueProperty):
7275         Get the user agent from the part, not KProtocolManager.
7276         * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::initScript):
7277         Get the user agent from the part, not KProtocolManager.
7278
7279         * kwq/KWQKHTMLPartImpl.h: Add userAgent member function.
7280         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::userAgent): Added.
7281
7282         * WebCore.pbproj/project.pbxproj: Removed KWQKProtocolManager.mm.
7283         * kwq/KWQKProtocolManager.mm: Removed.
7284         * kwq/kio/kprotocolmanager.h: Made empty.
7285
7286 2002-08-16  Maciej Stachowiak  <mjs@apple.com>
7287
7288         * force-clean-timestamp: Need to rebuild for JavaScriptCore changes.
7289
7290 2002-08-16  Darin Adler  <darin@apple.com>
7291
7292         - fixed 3023851 -- screen garbage created by scrolling text
7293
7294         Our implementation of clipRegion didn't reflect the clip that was
7295         already set for the view, so we drew outside the view. To fix it,
7296         I eliminated the clipRegion call and changed clients to use a new
7297         addClip call instead that doesn't require getting the clip in the
7298         form of a region (which is not really possible with CoreGraphics).
7299
7300         * khtml/rendering/render_box.cpp: (RenderBox::calcClip):
7301         Call addClip instead of clipRegion(), intersect(), setClipRegion().
7302
7303         * kwq/qt/qpainter.h: Added addClip(), removed clipRegion(), setClipRegion().
7304         * kwq/KWQPainter.mm: (QPainter::addClip): Calls [NSBezierPath clipRect:].
7305
7306         * kwq/qt/qregion.h: Went back to a single-path implementation, since
7307         we don't need intersect() any more. Also removed isNull() and setClip().
7308         * kwq/KWQRegion.mm:
7309         (QRegion::QRegion): New simpler versions.
7310         (QRegion::~QRegion): Release the path.
7311         (QRegion::operator=): Copy the other path.
7312         (QRegion::contains): Call [containsPoint:].
7313         (QRegion::translate): Call [transformUsingAffineTransform:].
7314         (QRegion::boundingRect): Call [bounds].
7315
7316 2002-08-16  Darin Adler  <darin@apple.com>
7317
7318         - fixed 3026042 -- hide frames button at developer documentation doesn't work
7319
7320         This regression was introduced by the anchor changes we made just after
7321         the Alexander-15 release.
7322
7323         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
7324         Make decisions about special handling for links with anchors based
7325         on the target frame, not the current frame.
7326
7327 2002-08-16  Maciej Stachowiak  <mjs@apple.com>
7328
7329         * force-clean-timestamp: rebuild for JavaScriptCore changes.
7330
7331 2002-08-16  David Hyatt  <hyatt@apple.com>
7332
7333         Fix for the intuit.com and eweek.com <form><tr> bgcolor problem.
7334         Improve the error handling of the parser so that it doesn't
7335         lose attributes when errors like this occur in a page.
7336         
7337         * khtml/html/htmlparser.cpp:
7338         (KHTMLParser::~KHTMLParser):
7339         (KHTMLParser::reset):
7340         (KHTMLParser::parseToken):
7341         (KHTMLParser::insertNode):
7342         * khtml/html/htmlparser.h:
7343
7344 2002-08-15  Darin Adler  <darin@apple.com>
7345
7346         - fixed 2983959 -- pages that try to use JavaScript to focus fail to do so
7347
7348         * kwq/KWQWidget.mm: (QWidget::setFocus): Call makeFirstResponder.
7349
7350 2002-08-15  Darin Adler  <darin@apple.com>
7351
7352         Give the same good loving to the check boxes and radio buttons.
7353         I'm not saying our rules for where to position them are great, but
7354         the rules are implemented cleanly and thus easier to tweak.
7355
7356         Got rid of the old Action system altogether, using signals now.
7357
7358         * khtml/rendering/render_form.h: Remove now-unneeded APPLE_CHANGES.
7359         * khtml/rendering/render_form.cpp:
7360         (RenderButton::baselinePosition): All the buttons now share a single
7361         version of this call, since none need any special baseline hacking at
7362         the moment.
7363         (RenderSubmitButton::baselinePosition): Just call the RenderButton version.
7364
7365         * kwq/KWQCheckBox.mm:
7366         (QCheckBox::sizeHint): Use 12x12, not 22x22.
7367         (QCheckBox::frameGeometry): Adjust for margins.
7368         (QCheckBox::setFrameGeometry): Adjust for margins.
7369         * kwq/KWQRadioButton.mm:
7370         (QRadioButton::sizeHint): Use 12x12, not 22x22.
7371         (QRadioButton::frameGeometry): Adjust for margins.
7372         (QRadioButton::setFrameGeometry): Adjust for margins.
7373
7374         * kwq/qt/qcombobox.h:
7375         * kwq/KWQComboBox.mm: (QComboBox::QComboBox): Set up the activated signal.
7376         * kwq/KWQView.mm: (-[KWQNSComboBox action:]): Emit the activated signal.
7377
7378         * kwq/KWQListBox.h:
7379         * kwq/KWQListBox.mm:
7380         (-[KWQBrowserDelegate browserSingleClick:]): Send a selectionChanged signal
7381         and a clicked signal instead of a ACTION_LISTBOX_CLICKED.
7382         (QListBox::QListBox): Set up the clicked and selectionChanged signals.
7383
7384         * kwq/qt/qobject.h: Remove Actions, ACTION_TEXT_AREA_END_EDITING,
7385         ACTION_LISTBOX_CLICKED, ACTION_COMBOBOX_CLICKED, emitAction, performAction,
7386         and target.
7387         * kwq/KWQObject.mm:
7388         (QObject::connect): Remove the target hack, no longer needed.
7389         (QObject::QObject): Remove target initialization.
7390
7391         * kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call):
7392         Added selected and selectionChanged slots.
7393
7394         * kwq/KWQTextArea.mm:
7395         (-[KWQTextArea textDidEndEditing:]): Removed code to emit the
7396         ACTION_TEXT_AREA_END_EDITING action, which was no longer used.
7397
7398         * force-clean-timestamp: Yes, again.
7399
7400 2002-08-15  Darin Adler  <darin@apple.com>
7401
7402         - fixed 3017376 -- button height is too tall
7403
7404         Reworked how widget sizing and positioning is done for a few of the most important
7405         widget types.
7406
7407         * khtml/rendering/render_form.h: Remove more of the performAction hackery.
7408         * khtml/rendering/render_form.cpp:
7409         (RenderCheckBox::calcMinMaxWidth): Get size from widget.
7410         (RenderRadioButton::calcMinMaxWidth): Get size from widget.
7411         (RenderSubmitButton::RenderSubmitButton): Remove old unneeded APPLE_CHANGES.
7412         (RenderSubmitButton::baselinePosition): Put the bottom of the button on the
7413         baseline without any magic numbers.
7414         (RenderLineEdit::baselinePosition): Put the bottom of the text field two pixels
7415         below the baseline without any other magic numbers.
7416         (RenderLineEdit::calcMinMaxWidth): Get size from widget.
7417         (RenderSelect::baselinePosition): Put the bottom of the menu on the
7418         baseline without any magic numbers. List box case is untouched for now.
7419
7420         * kwq/qt/qbutton.h:
7421         * kwq/KWQButton.mm:
7422         (QButton::QButton): Move most of the setup into KWQNSButton.
7423         (QButton::sizeHint): Use cellSize, account for margins.
7424         (QButton::frameGeometry): Adjust for margins.
7425         (QButton::setFrameGeometry): Adjust for margins.
7426         * kwq/qt/qcheckbox.h:
7427         * kwq/KWQCheckBox.mm:
7428         (QCheckBox::QCheckBox): QButton takes care of most of the setup now.
7429         (QCheckBox::sizeHint): Added.
7430         (QCheckBox::frameGeometry): Adjust for margins.
7431         (QCheckBox::setFrameGeometry): Adjust for margins.
7432         * kwq/qt/qcombobox.h:
7433         * kwq/KWQComboBox.mm:
7434         (QComboBox::init): KWQNSComboBox takes care of most of the setup now.
7435         (QComboBox::sizeHint): Adjust for margins.
7436         (QComboBox::frameGeometry): Adjust for margins.
7437         (QComboBox::setFrameGeometry): Adjust for margins.
7438         * kwq/qt/qlineedit.h:
7439         * kwq/KWQLineEdit.mm:
7440         (QLineEdit::sizeForCharacterWidth): Added.
7441         (QLineEdit::frameGeometry): Adjust for margins.
7442         (QLineEdit::setFrameGeometry): Adjust for margins.
7443         * kwq/qt/qradiobutton.h:
7444         * kwq/KWQRadioButton.mm:
7445         (QRadioButton::QRadioButton): QButton takes care of most of the setup now.
7446         (QRadioButton::sizeHint): Added.
7447         (QRadioButton::frameGeometry): Adjust for margins.
7448         (QRadioButton::setFrameGeometry): Adjust for margins.
7449
7450         * kwq/qt/qwidget.h:
7451         * kwq/KWQWidget.mm:
7452         (QWidget::setFrameGeometry): New name for internalSetGeometry, now public.
7453
7454         - fixed 3010695 -- Slashdot.org starts with password field focused, but shouldn't
7455
7456         Added KWQSecureTextField to work around the bug.
7457
7458         * kwq/KWQNSTextField.h: Made formatter and other details private.
7459         * kwq/KWQNSTextField.mm:
7460         (+[KWQNSTextField initialize]): Set up custom cell class that works around focus border.
7461         (-[KWQNSTextField initWithFrame:]): Put the work in here, since this is NSView's designated
7462         initializer.
7463         (-[KWQNSTextField initWithWidget:]): Now just calls [init] which calls [initWithFrame],
7464         and then sets the widget.
7465         (-[KWQNSTextField action:]): Use the returnPressed signal instead of ACTION_TEXT_FIELD.
7466         (-[KWQNSTextField controlTextDidEndEditing:]): Use textChanged signal instead of
7467         ACTION_TEXT_FIELD_END_EDITING.
7468         (-[KWQNSTextField dealloc]): Release the secureField (was a leak).
7469         (-[KWQNSTextField updateSecureFieldFrame]): Added. Used to keep secure field in the right
7470         place.
7471         (-[KWQNSTextField setFrameSize:]): Added. Calls updateSecureFieldFrame.
7472         (-[KWQNSTextField setPasswordMode:]): Change all the details, but this does the same
7473         thing it used to.
7474         (-[KWQNSTextField selectText:]): Only call selectText on one of the two field, since it
7475         causes the field to grab focus and we don't want to do that twice.
7476         (-[KWQNSTextField setStringValue:]): Set the string value in both fields any time someone
7477         gives us a new value.
7478         (-[KWQNSTextField setFont:]): Set the font in both fields any time someone gives us a new
7479         font.
7480         (-[KWQTextFieldCell cellSizeForBounds:]): Add space for focus border.
7481         (-[KWQTextFieldCell drawWithFrame:inView:]): Inset by focus border.
7482         (-[KWQTextFieldCell editWithFrame:inView:editor:delegate:event:]): Inset by focus border.
7483         (-[KWQTextFieldCell selectWithFrame:inView:editor:delegate:start:length:]): Inset by focus border.
7484         (-[KWQSecureTextField selectText:]): Override to do nothing while in setFrameSize to work around
7485         bug in AppKit.
7486         (-[KWQSecureTextField setFrameSize:]): Set flag to trigger selectText check.
7487
7488         - fixed 3025166 -- check boxes and radio buttons on google.com's preferences pages
7489         are not "linked"
7490
7491         We were not emitting onClicked for check boxes.
7492
7493         * kwq/KWQView.h: No need to pass frames any more. Default is empty.
7494         * kwq/KWQView.mm:
7495         (-[KWQView initWithFrame:]): Do most of the work in here.
7496         (-[KWQView initWithWidget:]): Just call [init] and set up widget.
7497         (-[KWQNSButton initWithFrame:]): Do most of the work in here. Remove the special
7498         cell class, and always use a small control with the small system font.
7499         (-[KWQNSButton initWithWidget:]): Just call [init] and set up widget.
7500         (-[KWQNSButton action:]): Call the clicked() signal instead of ACTION_BUTTON_CLICKED.
7501         (-[KWQNSButton stateChanged:]): Call the stateChanged() signal instead of
7502         ACTION_CHECKBOX_CLICKED.
7503         (-[KWQNSComboBox initWithFrame:]): Do most of the work in here.
7504         (-[KWQNSComboBox initWithWidget:]): Just call [init] and set up widget.
7505         (-[KWQNSScrollView initWithWidget:]): Just call [init] and set up widget.
7506
7507         - fixed 3025211 -- find person in Apple directory never displays person information
7508
7509         When I enabled the code to wait and not redirect until loads are complete, that
7510         broke this case, because we didn't have enough hooked up to notice loads completing.
7511         I hooked everything up and its working now.
7512
7513         * khtml/khtml_part.h: Add started().
7514         * khtml/khtml_part.cpp:
7515         (KHTMLPart::restoreURL): Un-ifdef emission of started().
7516         (KHTMLPart::openURL): Un-ifdef emission of started().
7517         (KHTMLPart::end): Don't do an explicit call to slotFinishedParsing().
7518         We actually hook up a signal for this now.
7519         (KHTMLPart::slotChildCompleted): Un-ifdef the rest of the code here.
7520
7521         * khtml/xml/dom_docimpl.h:
7522         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl):
7523         * khtml/xml/xml_tokenizer.h:
7524         Do the necessary setup so we can use KWQSignal for finishedParsing.
7525
7526         * kwq/KWQKHTMLPartImpl.mm:
7527         (KHTMLPart::started): Added. Calls slotChildStarted on parent.
7528         (KHTMLPart::completed): Added slotParentCompleted calls.
7529
7530         * kwq/qt/qobject.h: Add sender() and KWQObjectSenderScope.
7531         * kwq/KWQObject.mm:
7532         (KWQObjectSenderScope::KWQObjectSenderScope): Added. Sets sender() and saves the old value.
7533         (KWQObjectSenderScope::~KWQObjectSenderScope): Added. Resets sender().
7534
7535         * kwq/KWQSignal.h:
7536         * kwq/KWQSlot.h:
7537         * kwq/KWQSignal.mm: (KWQSignal::call): Added overloads for calling signals with int and
7538         QString parameters. Also set up sender() using KWQObjectSenderScope.
7539
7540         * kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call): Add support for one signal
7541         (calls through to whatever is connected to that signal's slot) and six new slots.
7542
7543         * kwq/KWQsignals.mm:
7544         (Tokenizer::Tokenizer): Construct the finishedParsing signal.
7545         (Tokenizer::finishedParsing): Emit the finishedParsing signal.
7546
7547         - fixed 3025170 -- right sides of borders placed incorrectly around table cells
7548
7549         There was some silly code that I just removed.
7550
7551         * khtml/rendering/render_table.cpp:
7552         (RenderTable::addColInfo): Turn off the half-assed collapse borders stuff here.
7553
7554         - other changes
7555
7556         * force-clean-timestamp: Big changes; full rebuild needed.
7557
7558         * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Make the code to kill
7559         the timers be unconditional, just in case.
7560
7561         * kwq/KWQCharsets.mm: (buildDictionaries): Remove UTF-16 special case since it's now
7562         in the character sets table.
7563
7564         * kwq/qt/qpoint.h:
7565         * kwq/KWQPoint.mm:
7566         (QPoint::QPoint): Converts from NSPoint.
7567         (QPoint::operator NSPoint): Converts to NSPoint.
7568         * kwq/qt/qrect.h:
7569         * kwq/KWQRect.mm:
7570         (QRect::QRect): Converts from NSRect.
7571         (QRect::isEmpty): Fix backwards logic.
7572         (QRect::operator NSRect): Converts to NSRect.
7573         * kwq/qt/qsize.h:
7574         * kwq/KWQSize.mm:
7575         (QSize::QSize): Converts from NSSize.
7576         (QSize::operator NSSize): Converts to NSSize.
7577
7578         * kwq/qt/qpushbutton.h:
7579         * kwq/KWQPushButton.mm: Removed unused methods.
7580
7581         * kwq/KWQRegion.mm: Use new QPoint/NSPoint/QRect/NSRect functions.
7582
7583         * kwq/KWQScrollView.mm: (QScrollView::addChild): Update comment.
7584
7585         * kwq/KWQTextArea.h:
7586         * kwq/KWQTextArea.mm:
7587         (-[KWQTextArea initWithFrame:]): Do most of the work in here.
7588         (-[KWQTextArea initWithWidget:]): Just call [init] and set up widget.
7589
7590         * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Don't pass an empty frame any more.
7591
7592         * kwq/KWQWindowWidget.h:
7593         * kwq/KWQWindowWidget.mm: Update for name change.
7594
7595         * kwq/WebCoreTestController.h: Placeholder for the feature I should be working on.
7596
7597 === Alexander-19 ===
7598
7599 === Alexander-18 ===
7600
7601 2002-08-15  Maciej Stachowiak  <mjs@apple.com>
7602
7603         * force-clean-timestamp: Need to rebuild for JavaScriptCore
7604         changes.
7605
7606 2002-08-14  David Hyatt  <hyatt@apple.com>
7607
7608         ROFL. The KHTML table code had a hardcoded "20" being
7609         subtracted out of table heights instead of using the
7610         actual margins on the <body> element.  This patch
7611         removes the hardcoded "20" and replaces it with the
7612         actual <body> margins.
7613         
7614         * khtml/rendering/render_table.cpp:
7615         (RenderTable::layoutRows):
7616
7617 2002-08-14  David Hyatt  <hyatt@apple.com>
7618
7619         Fix marginwidth and marginheight on the <body> element.
7620         These attributes were not applying the correct margins,
7621         which would cause many many pages to mis-render!
7622         
7623         * khtml/html/html_baseimpl.cpp:
7624         (HTMLBodyElementImpl::parseAttribute):
7625
7626 2002-08-14  David Hyatt  <hyatt@apple.com>
7627
7628         Ensure that a rendering object gets built for <fieldset>
7629         elements.  Content inside a <fieldset> was being discarded
7630         and not rendered.
7631
7632         This fixes the top frame on blogger comment posting so that
7633         it shows up properly.
7634         
7635         * khtml/html/html_formimpl.cpp:
7636         (HTMLFieldSetElementImpl::attach):
7637         * khtml/html/html_formimpl.h:
7638
7639 2002-08-14  Darin Adler  <darin@apple.com>
7640
7641         Fix the build.
7642
7643         * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue):
7644         Add braces and fix a syntax error.
7645
7646         * kwq/mac-encodings.txt: Add comments. Make utf-16 be a synonym for
7647         utf-8 rather than having it actually try to treat things as 16-bit.
7648         We will have to revisit this, but for now it makes zingermans.com work again.
7649
7650         * kwq/make-charset-table.pl: Allow comments.
7651
7652 2002-08-14  Maciej Stachowiak  <mjs@apple.com>
7653
7654         Fixed a JavaScript object leak that was plaguing ign.com and
7655         livepage.apple.com, among other things.
7656         
7657         * khtml/ecma/kjs_html.cpp:
7658         (KJS::HTMLDocument::putValue): Create a Value wrapper for a newly allocated
7659         DOMNode object that's not used past this function so it gets GC'd properly.
7660         (KJS::HTMLElement::putValue): Likewise.
7661
7662 2002-08-14  Maciej Stachowiak  <mjs@apple.com>
7663
7664         * khtml/ecma/kjs_window.cpp: Fix to build clean after
7665         JavaScriptCore live class changes (this way of handling it is kind
7666         of a hack, but kjs is unhappy to have Boolean defined so it can't
7667         unconditionally include CoreFoundation.h in collector.h; will fix
7668         better later).
7669
7670 2002-08-13  Maciej Stachowiak  <mjs@apple.com>
7671
7672         Add the ability to determine the classes of live JavaScript
7673         objects, to help with leak fixing.
7674
7675         * kwq/WebCoreJavaScript.h:
7676         * kwq/WebCoreJavaScript.mm:
7677         (+[WebCoreJavaScript liveObjectClasses]):
7678
7679 2002-08-13  David Hyatt  <hyatt@apple.com>
7680
7681         An initial implementation of percentage height table cells.
7682         This implementation will properly distribute space among
7683         rows with percentage table cells, although there could be
7684         issues with percentage height cells that span rows.  
7685
7686         I have also fixed replaced elements so that they understand when they
7687         are a percentage height and contained within a percentage height
7688         cell that they can grow.  This fixes the textarea on bloggers'
7689         comment posting page so that it sizes properly.
7690
7691         There are many issues remaining with this implementation;
7692         blocks need to be taught how to flex when they specify a percent
7693         height.  There is also some sort of rounding error with tables
7694         that specify a height of 100% that I haven't yet figured out.
7695         (This error was present before my changes, and it's still present
7696         after my changes.)
7697
7698         Also, percentage height tables seem to "lock" to the largest size
7699         they've ever been and don't properly relayout when they become
7700         smaller.  Again, this bug existed before my changes.
7701         
7702         * khtml/rendering/render_box.cpp:
7703         (RenderBox::calcReplacedHeight):
7704         * khtml/rendering/render_table.cpp:
7705         (RenderTable::RenderTable):
7706         (RenderTable::calcRowHeight):
7707         (RenderTable::layout):
7708         (RenderTable::layoutRows):
7709         (RenderTable::print):
7710         (RenderTableCell::RenderTableCell):
7711         * khtml/rendering/render_table.h:
7712
7713 2002-08-13  Darin Adler  <darin@apple.com>
7714
7715         Character set handling improvements. In total, this adds 92 new character encoding
7716         names to the list we know how to handle (299, up from 207), so it probably makes
7717         some pages work that didn't work before. It probably also adds character encoding
7718         names that are never used in practice.
7719
7720         * kwq/character-sets.txt: Took out all but one of our changes. We now handle aliases
7721         that are not in this file by adding them to mac-encodings.txt.
7722         * kwq/mac-encodings.txt: Added. Lists CFStringEncoding values and IANA names for them.
7723         We keep this file small by using the aliasing in character-sets.txt, and we also continue
7724         to get MIB numbers from character-sets.txt.
7725         * kwq/make-charset-table.pl: Rewrote to read from new format mac-encodings.txt file, and
7726         check for new kinds of errors.
7727
7728         * kwq/.cvsignore: Don't ignore the make-mac-encodings files any more, since we
7729         don't compile that any more.
7730         * kwq/Makefile.am: Remove rules for compiling and running make-mac-encodings.
7731         * kwq/make-mac-encodings.c: Removed.
7732
7733 2002-08-13  Darin Adler  <darin@apple.com>
7734
7735         - fixed 3023439 -- support for windows-874 charset for thai
7736
7737         * kwq/character-sets.txt: Added cp874 and windows-874.
7738         * kwq/make-charset-table.pl: Fix bug where it would right out a bad MIB enum for
7739         the many Macintosh character sets without associated MIB numbers.
7740
7741 2002-08-13  Darin Adler  <darin@apple.com>
7742
7743         Some QRegion fixes inspired by Dave's clipping work.
7744
7745         * kwq/qt/qregion.h: Add setClip, remove getNSBezierPath.
7746         * kwq/KWQRegion.mm:
7747         (NSMakePoint): Added. Helper function; could go in a header some day.
7748         (NSMakeRect): Added. Helper function; could go in a header some day.
7749         (MakeQRect): Added. Helper function; could go in a header some day.
7750         (QRegion::QRegion): Make a paths array instead of a single path. Also, change things
7751         so we actually copy the paths. The old code might translate a path that was shared
7752         by two QRegion objects.
7753         (QRegion::intersect): Merge the paths arrays of the two passed-in paths.
7754         (QRegion::contains): Return true only if all paths in the array contain the point.
7755         (QRegion::isNull): Return true if any of the paths in the array are empty.
7756         (QRegion::translate): Translate all the paths in the array.
7757         (QRegion::boundingRect): Return the intersection of the bounding rects of all the
7758         paths in the array.
7759         (QRegion::setClip): Call setClip on the first path, and addClip on the others.
7760
7761         * kwq/KWQPainter.mm: (QPainter::setClipRegion): Use QRegion::setClip().
7762
7763 2002-08-12  David Hyatt  <hyatt@apple.com>
7764
7765         Reverting a change that I unintentionally checked in last
7766         week.  I wasn't yet ready to land it.  It may work, but I
7767         want to test it more first.
7768         
7769         * khtml/rendering/render_flow.cpp:
7770         (RenderFlow::layoutBlockChildren):
7771
7772 2002-08-12  David Hyatt  <hyatt@apple.com>
7773
7774         Implement clipping.  The one thing that still needs
7775         to be done is that the intersect method in KWQRegion.mm
7776         needs to be implemented.  Even without that, this gets
7777         the ticker on livepage.apple.com clipping properly.
7778         
7779         * kwq/KWQPainter.mm:
7780         (QPainter::xForm):
7781         (QPainter::save):
7782         (QPainter::restore):
7783         (QPainter::setClipRegion):
7784         * kwq/qt/qregion.h:
7785
7786 2002-08-12  David Hyatt  <hyatt@apple.com>
7787
7788         Make the news ticker on livepage.apple.com scroll properly.
7789         It still doesn't clip though.  Fixing this involved correctly
7790         dirtying the render tree when dynamic DOM changes occurred
7791         (this was a bug in KHTML's DOM), as well as providing an
7792         implementation of the MSIE offsetWidth extension that took
7793         inlines into account (KHTML's impl was always returning a width
7794         of 0 for inlines).
7795         
7796         * khtml/ecma/kjs_dom.cpp:
7797         (DOMNode::getValueProperty):
7798         * khtml/rendering/render_flow.cpp:
7799         (RenderFlow::offsetWidth):
7800         (RenderFlow::offsetHeight):
7801         * khtml/rendering/render_flow.h:
7802         * khtml/rendering/render_object.h:
7803         * khtml/xml/dom_nodeimpl.cpp:
7804         (NodeBaseImpl::insertBefore):
7805         (NodeBaseImpl::replaceChild):
7806         (NodeBaseImpl::appendChild):
7807
7808 2002-08-12  Darin Adler  <darin@apple.com>
7809
7810         * khtml/misc/loader.cpp: (Cache::insertInLRUList):
7811         Add missing piece of the last check-in.
7812
7813 2002-08-12  Darin Adler  <darin@apple.com>
7814
7815         At Ken's urging, fixed the loader cache to be more efficient.
7816         Gives 1% on the cvs-base test.
7817
7818         * force-clean-timestamp: This requires a full rebuild.
7819
7820         * khtml/misc/loader.h:
7821         * khtml/misc/loader.cpp:
7822         (CachedObject::~CachedObject): No longer inline, which is fine since
7823         it was a virtual function anyway. Remove from the LRU list.
7824         (CachedObject::setRequest): Add to the LRU list if it qualifies now.
7825         (CachedObject::ref): Remove from the LRU list.
7826         (CachedObject::deref): Add to the LRU list if it qualifies now.
7827         (CachedCSSStyleSheet::ref): Call CachedObject::ref.
7828         (CachedCSSStyleSheet::deref): Call CachedObject::deref.
7829         (CachedScript::ref): Call CachedObject::ref.
7830         (CachedScript::deref): Call CachedObject::deref.
7831         (CachedImage::ref): Call CachedObject::ref.
7832         (CachedImage::deref): Call CachedObject::deref.
7833         (Cache::init): No "LRU list" to create.
7834         (Cache::clear): No "LRU list" to delete.
7835         (Cache::requestImage): Call moveToHeadOfLRUList.
7836         (Cache::requestStyleSheet): Call moveToHeadOfLRUList.
7837         (Cache::requestScript): Call moveToHeadOfLRUList.
7838         (Cache::flush): New algorithm.
7839         (Cache::removeCacheEntry): Call removeFromLRUList.
7840         (Cache::removeFromLRUList): Added.
7841         (Cache::moveToHeadOfLRUList): Added.
7842         (Cache::insertInLRUList): Added.
7843
7844         * kwq/KWQLoaderImpl.mm: (KWQCheckIfReloading):
7845         * kwq/WebCoreBridge.h:
7846         Change dataSourceIsReloading to isReloading.
7847
7848 2002-08-12  David Hyatt  <hyatt@apple.com>
7849
7850         Fix for the crash (assert) at mlb.com (3014322).  recalcStyle was
7851         re-entrant, causing the render tree to be reconstructed
7852         while in the process of being destroyed.
7853
7854         Also patched object frame to only fire load/unload if
7855         render objects exist (since the plugin cannot load without
7856         the render object initializing it anyway).
7857         
7858         * khtml/html/html_objectimpl.cpp:
7859         (HTMLObjectElementImpl::attach):
7860         (HTMLObjectElementImpl::detach):
7861         * khtml/xml/dom_docimpl.cpp:
7862         (DocumentImpl::DocumentImpl):
7863         (DocumentImpl::recalcStyle):
7864         * khtml/xml/dom_docimpl.h:
7865
7866 2002-08-12  Darin Adler  <darin@apple.com>
7867
7868         * force-clean-timestamp: Need a full build because of KJS changes.
7869         * khtml/ecma/kjs_window.h: Need to store an Object, not an ObjectImp, because there's no way
7870         to copy an ObjectImp. KJS changes caught this mistake.
7871
7872 2002-08-12  Darin Adler  <darin@apple.com>
7873
7874         - re-fixed 2948387 -- stop button flashes to "go" two extra times while loading citibank.com
7875
7876         It turns out Maciej and I rebroke this when we made the "completed" code run.
7877         There was a related APPLE_CHANGES that had to be removed so that we do each redirect only once.
7878         Doing the redirect multiple times sent confusing signals to the web browser.
7879
7880         * khtml/khtml_part.cpp: (KHTMLPart::scheduleRedirection): Remove APPLE_CHANGES so we don't
7881         try to redirect until the page is complete.
7882
7883 === Alexander-17 ===
7884
7885 2002-08-10  Ken Kocienda  <kocienda@apple.com>
7886
7887         Check box in target setting panel to enable prebinding.
7888
7889         * WebCore.pbproj/project.pbxproj
7890
7891 2002-08-10  Ken Kocienda  <kocienda@apple.com>
7892
7893         Added an extra function which checks with WebKit to see if
7894         the load is a reload. If it is, the WebCore cache is bypassed.
7895
7896         * khtml/misc/loader.cpp:
7897         (DocLoader::requestImage): Added acall to new KWQCheckIfReloading function.
7898         (DocLoader::requestStyleSheet): Ditto.
7899         (DocLoader::requestScript): Ditto.
7900         * kwq/KWQLoaderImpl.h:
7901         * kwq/KWQLoaderImpl.mm:
7902         (KWQCheckIfReloading): New function which checks with WebKit to see if the load is a reload.
7903         * kwq/WebCoreBridge.h:
7904
7905 2002-08-09  Darin Adler  <darin@apple.com>
7906
7907         * force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
7908
7909 2002-08-09  Darin Adler  <darin@apple.com>
7910
7911         - fixed 3018063 -- frame problems at directory.apple.com
7912         - fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."
7913
7914         Basically, we had no frame targeting for forms. I made the form code share
7915         the same frame targeting code we use for clicking on URLs.
7916
7917         * khtml/khtml_part.cpp: (KHTMLPart::openURLInFrame): Don't compile this
7918         function at all any more.
7919
7920         * kwq/KWQKHTMLPartBrowserExtension.mm:
7921         (KHTMLPartBrowserExtension::openURLRequest): Call the impl's openURLRequest
7922         instead of calling the part's openURLInFrame. Clearer.
7923
7924         * kwq/KWQKHTMLPartImpl.h: Remove openURLInFrame, add openURLRequest.
7925         Change urlSelected args parameter to a const reference. Add private
7926         getBridgeForFrameName helper function.
7927         * kwq/KWQKHTMLPartImpl.mm:
7928         (KWQKHTMLPartImpl::getBridgeForFrameName): Moved rules for choosing a frame
7929         here from urlSelected so they can be shared.
7930         (KWQKHTMLPartImpl::openURLRequest): Use getBridgeForFrameName instead of
7931         having our own different code for finding the right frame.
7932         (KWQKHTMLPartImpl::urlSelected): Move frame choosing code into getBridgeForFrameName.
7933         (KWQKHTMLPartImpl::submitForm): Use getBridgeForFrameName instead of always
7934         ignoring the target and using our own frame.
7935         (KWQKHTMLPartImpl::overURL): Take base targeting into account when making the
7936         status bar messages, and use the completed URL, not the partial, for the message.
7937
7938 2002-08-09  Darin Adler  <darin@apple.com>
7939
7940         - fixed 2945441 -- base target is ignored
7941
7942         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
7943         Add code to respect the base target in the document. It would be way better
7944         to use more of the KHTML code instead of copying it a line at a time into
7945         KWQ -- that can come later when the fire drill is over.
7946
7947 === milestone 0.5 ===
7948
7949 === Alexander-16 ===
7950
7951 2002-08-09  Darin Adler  <darin@apple.com>
7952
7953         - fixed 3020594 -- crash in KWQKHTMLPartImpl::end() visiting particular page
7954
7955         * khtml/khtml_part.cpp: (KHTMLPart::end): Our hacked alternative to a signal
7956         requires a NULL check.
7957
7958 2002-08-08  Maciej Stachowiak  <mjs@apple.com>
7959
7960         Fix to get onLoad to fire, so the iBench test works.
7961         
7962         * khtml/khtml_part.cpp:
7963         (KHTMLPart::checkCompleted): Put back some needed code that was
7964         ifdef'd out (the part that emits completed()).
7965         (KHTMLPart::slotChildCompleted): Enabled; ifdef'd out part.
7966         (KHTMLPart::frame): Enabled.
7967         * khtml/khtml_part.h:
7968         * kwq/KWQKHTMLPartImpl.mm:
7969         (KHTMLPart::completed): Hack to get completed signal delivered to
7970         parent.
7971         (KWQKHTMLPartImpl::requestFrame): Initialize m_part
7972         * kwq/WebCoreBridge.h: createChildFrameNamed method now returns
7973         the bridge for the child frame.
7974
7975 2002-08-08  Richard Williamson  <rjw@apple.com>
7976
7977         Move stuff out of core into kit.
7978         
7979         * kwq/WebCoreBridge.mm:
7980         (-[WebCoreBridge drawRect:withPainter:]):
7981         * kwq/WebCoreTextRendererFactory.h:
7982         * kwq/WebCoreTextRendererFactory.m:
7983
7984 2002-08-08  Darin Adler  <darin@apple.com>
7985
7986         - fixed 3019353 -- Japanese (Autodetect) encoding not properly supported
7987
7988         * kwq/make-charset-table.pl: Add a "japanese-autodetect" entry to the table
7989         explicitly, with a hardcoded encoding value. This should be good enough.
7990
7991         * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFixedFontSize):
7992         * kwq/WebCoreEncodings.h:
7993         * kwq/WebCoreSettings.h:
7994         * kwq/WebCoreSettings.m:
7995         Change "fixed font size" to "default fixed font size".
7996
7997         Placeholders for the "drawing observer" method that I'll be using
7998         to implement the "dump page as diffable text" feature.
7999
8000         * kwq/WebCoreTestController.h: Added.
8001         * kwq/WebCoreTestController.m: Added.
8002         * WebCore.exp: Mention new class.
8003         * WebCore.pbproj/project.pbxproj: Mention new files.
8004
8005 2002-08-08  Maciej Stachowiak  <mjs@apple.com>
8006
8007         Added an SPI that can be used to get at the WebCore
8008         charset-name/encoding table; this is useful for a couple of things
8009         in WebKit.
8010
8011         * kwq/WebCoreEncodings.h: Added.
8012         * kwq/WebCoreEncodings.mm: Added.
8013         (+[WebCoreEncodings charsetNameForEncoding:]):
8014         (+[WebCoreEncodings encodingForCharsetName:]):
8015         * WebCore.exp: Export the new class.
8016         * WebCore.pbproj/project.pbxproj: Add new files.
8017
8018 2002-08-08  Richard Williamson  <rjw@apple.com>
8019
8020         Changes to coalesce all drawing calls of the same text
8021         style and color into one call to CG.  Significantly
8022         improves drawing time.  My tests should about 7-8% on 
8023         ALL pages.  Disabled the code for now until I can verify
8024         on speed improvements on Ken's test rig.
8025         
8026         * kwq/WebCoreBridge.mm:
8027         (-[WebCoreBridge drawRect:withPainter:]):
8028         * kwq/WebCoreTextRendererFactory.h:
8029         * kwq/WebCoreTextRendererFactory.m:
8030         (-[WebCoreTextRendererFactory endCoalesceTextDrawing]):
8031         (-[WebCoreTextRendererFactory startCoalesceTextDrawing]):
8032
8033 2002-08-07  Maciej Stachowiak  <mjs@apple.com>
8034
8035         WebCore work for:
8036
8037         - fixed 2956008 - Need API for getting/setting text encoding for current page
8038
8039         * kwq/KWQKHTMLPartImpl.h:
8040         * kwq/KWQKHTMLPartImpl.mm:
8041         (KWQKHTMLPartImpl::slotData): Handle the possibility of override encoding -
8042         one that's not just a hint from the server but should override
8043         * kwq/WebCoreBridge.h:
8044         * kwq/WebCoreBridge.mm:
8045         (-[WebCoreBridge addData:withEncoding:]): Adjust for slotData interface change.
8046         (-[WebCoreBridge addData:withOverrideEncoding:]): New method that allows
8047         passing override encoding as a CFStringEncoding.
8048         (-[WebCoreBridge textEncoding]): Return the current text encoding.
8049
8050 2002-08-07  David Hyatt  <hyatt@apple.com>
8051
8052         Adding support for a separate fixed font size to WebCore.
8053         Your fixed font size pref will now be honored when the
8054         generic monospace family is used.
8055         
8056         * khtml/css/cssstyleselector.cpp:
8057         * khtml/css/cssstyleselector.h:
8058         * khtml/rendering/font.h:
8059         * khtml/rendering/render_flow.cpp:
8060         (RenderFlow::layoutBlockChildren):
8061         * kwq/KWQKHTMLSettings.mm:
8062         (KHTMLSettings::mediumFixedFontSize):
8063         * kwq/WebCoreSettings.h:
8064         * kwq/WebCoreSettings.m:
8065         (-[WebCoreSettings setFixedFontSize:]):
8066         (-[WebCoreSettings fixedFontSize]):
8067         * kwq/khtml/khtml_settings.h:
8068
8069 2002-08-07  Darin Adler  <darin@apple.com>
8070
8071         - fixed 3017499 -- One-click crasher at hondamotorcycle.com
8072
8073         * kwq/KWQKURL.mm: (operator==): Just compare the strings.
8074         Faster and safer.
8075
8076 2002-08-07  Richard Williamson  <rjw@apple.com>
8077         
8078         Removed debug log.
8079         
8080         * kwq/KWQFrame.mm:
8081         (QFrame::setFrameStyle):
8082         * kwq/WebCoreBridge.mm:
8083         (-[WebCoreBridge drawRect:withPainter:]):
8084
8085 2002-08-07  Darin Adler  <darin@apple.com>
8086
8087         * kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::decompose): Use CFURLCopyPath
8088         instead calling _NSParseStringToGenericURLComponents.
8089
8090 2002-08-07  Richard Williamson  <rjw@apple.com>
8091
8092         Turned off temporary debugging I accidentally checked in.
8093         
8094         * kwq/WebCoreBridge.mm:
8095         (-[WebCoreBridge drawRect:withPainter:]):
8096
8097 2002-08-06  David Hyatt  <hyatt@apple.com>
8098
8099         Make user stylesheet changes dynamic.  Web documents will now
8100         update as the user stylesheet is applied and unapplied.  Altered
8101         how reapplyStyles works a bit.
8102                 
8103         * khtml/khtml_part.cpp:
8104         (KHTMLPart::reparseConfiguration):
8105         * khtml/xml/dom_docimpl.cpp:
8106         (DocumentImpl::setUserStyleSheet):
8107         * kwq/WebCoreBridge.mm:
8108         (-[WebCoreBridge reapplyStyles]):
8109
8110 2002-08-06  David Hyatt  <hyatt@apple.com>
8111
8112         Enable user stylesheet support.  It works from a fresh start but
8113         is not yet completely dynamic.
8114         
8115         * khtml/khtml_part.cpp:
8116         (KHTMLPart::setUserStyleSheet):
8117         * kwq/KWQKHTMLSettings.mm:
8118         (KHTMLSettings::userStyleSheet):
8119
8120 2002-08-06  Darin Adler  <darin@apple.com>
8121
8122         - fixed 2965321 -- Crash on window close in kthml::Loader::cancelRequests from particular page
8123
8124         * khtml/misc/loader.cpp: (Loader::servePendingRequests):
8125         Look at return value from KWQServeRequest instead of assuming it will always succeed.
8126         * kwq/KWQLoaderImpl.h: Add return value for KWQServeRequest.
8127         * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Return false if we fail to make either the NSURL
8128         or the WebResourceHandle. Also make sure that we delete the job if necessary.
8129
8130 2002-08-06  John Sullivan  <sullivan@apple.com>
8131
8132         * force-clean-timestamp:
8133         Edited this file to force a make clean in WebCore after
8134         discovering that it was necessary the hard way. I'm not
8135         sure which earlier checkin made this be required.
8136
8137 2002-08-06  Darin Adler  <darin@apple.com>
8138
8139         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::overURL):
8140         Fix crash in overURL, another case just like bug 3006336.
8141
8142 2002-08-06  Richard Williamson  <rjw@apple.com>
8143
8144         Frame resizing related changes.  Frames are now resizable
8145         w/ a resize bar.  Still need to draw frame borders.
8146         
8147         * khtml/rendering/render_frames.cpp:
8148         (RenderFrameSet::userResize):
8149         (RenderFrame::slotViewCleared):
8150         * kwq/KWQFrame.mm:
8151         (QFrame::setFrameStyle):
8152         (QFrame::frameStyle):
8153         (QFrame::frameWidth):
8154         * kwq/KWQWidget.mm:
8155         (QWidget::lockDrawingFocus):
8156         (QWidget::unlockDrawingFocus):
8157         (QWidget::flushDrawing):
8158         (QWidget::enableFlushDrawing):
8159         (QWidget::disableFlushDrawing):
8160         (QWidget::setDrawingAlpha):
8161         (QWidget::displayRect):
8162         * kwq/WebCoreBridge.mm:
8163         (-[WebCoreBridge drawRect:withPainter:]):
8164         * kwq/qt/qframe.h:
8165         * kwq/qt/qwidget.h:
8166
8167 2002-08-06  Maciej Stachowiak  <mjs@apple.com>
8168
8169         Removed some APPLE_CHANGES no longer needed after the part change.
8170         
8171         * khtml/khtml_part.cpp:
8172         (KHTMLPart::openedByJS): Don't call impl version.
8173         (KHTMLPart::setOpenedByJS): Don't call impl version.
8174         * kwq/KWQKHTMLPartImpl.h:
8175         * kwq/KWQKHTMLPartImpl.mm: Removed openedByJS and setOpenedByJS.
8176         * kwq/WebCoreBridge.h: Don't prototype setOpenedByScript: and
8177         openedByScript methods now that they are not needed.
8178
8179 2002-08-06  David Hyatt  <hyatt@apple.com>
8180
8181         Make checkboxes and radio buttons use the small control
8182         size.  Tweak their baselines to not use font metrics and
8183         to line up properly.  (voodooextreme.com nearly renders
8184         the left column correctly now.)
8185         
8186         * khtml/rendering/render_form.cpp:
8187         (RenderCheckBox::baselinePosition):
8188         (RenderRadioButton::baselinePosition):
8189         * khtml/rendering/render_form.h:
8190         * kwq/KWQCheckBox.mm:
8191         (QCheckBox::QCheckBox):
8192         * kwq/KWQRadioButton.mm:
8193         (QRadioButton::QRadioButton):
8194
8195 2002-08-06  John Sullivan  <sullivan@apple.com>
8196
8197         WebCore part of fix for 2915396 -- implement larger/smaller font
8198         or page zoom functionality
8199
8200         * khtml/khtml_part.cpp:
8201         (KHTMLPart::setZoomFactor): inside APPLE_CHANGES, remove use of
8202         KHTML limits for zoom factor; this is a client responsibility in
8203         our model.
8204
8205 2002-08-06  Darin Adler  <darin@apple.com>
8206
8207         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
8208         Put in a check for nil that I missed.
8209
8210 2002-08-06  Darin Adler  <darin@apple.com>
8211
8212         - fixed 2948805 -- Need WebKit API for larger/smaller font feature
8213
8214         * khtml/khtml_part.cpp:
8215         (KHTMLPart::clear): Head in the direction of using the m_frames and
8216         m_objects arrays, by turning some APPLE_CHANGES code on.
8217         (KHTMLPart::checkCompleted): More code turned on here.
8218         (KHTMLPart::checkEmitLoadEvent): And more code turned on here.
8219         (KHTMLPart::parentPart): Remove APPLE_CHANGES version. We can use the original now.
8220         (KHTMLPart::setZoomFactor): Remove APPLE_CHANGES. We want this function now.
8221         * khtml/khtml_part.h: Remove some APPLE_CHANGES to make xmlDocImpl public.
8222         No longer needed.
8223         * khtml/khtmlpart_p.h: Remove a bunch of APPLE_CHANGES.
8224         * kwq/KWQKHTMLPartImpl.h: Remove parentPart(), add getDocument() and getRenderer().
8225         * kwq/KWQKHTMLPartImpl.mm:
8226         (KWQKHTMLPartImpl::urlSelected): Use parentPart() instead of [bridge parent].
8227         (KWQKHTMLPartImpl::requestFrame): Set up a ChildFrame in the m_frames array.
8228         (KWQKHTMLPartImpl::layout): Use getRenderer().
8229         (KWQKHTMLPartImpl::getDocument): Added.
8230         (KWQKHTMLPartImpl::getRenderer): Added.
8231         * kwq/WebCoreBridge.h: Add [setParent:], remove [parent].
8232         * kwq/WebCoreBridge.mm:
8233         (-[WebCoreBridge setParent:]): Added.
8234         (-[WebCoreBridge reapplyStyles]): Use getDocument().
8235         (-[WebCoreBridge forceLayout]): Use getRenderer().
8236         (-[WebCoreBridge drawRect:withPainter:]): Use getRenderer().
8237         (-[WebCoreBridge copyDOMTree:]): Use getDocument().
8238         (-[WebCoreBridge copyRenderTree:]): Use getRenderer().
8239         (-[WebCoreBridge completeURLForDOMString:]): Use getDocument().
8240         (-[WebCoreBridge elementAtPoint:]): Use getRenderer().
8241         (-[WebCoreBridge setTextSizeMultiplier:]):
8242         * kwq/khtml/khtml_ext.h: Add dummy setEnabled function to make khtml_part.cpp compile.
8243         * kwq/kparts/part.h: Add real parent() and setParent() implementation.
8244
8245 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8246
8247         Fixed crashers and leaks that come up when changing the view
8248         associated with a part.
8249         
8250         * khtml/khtmlview.cpp:
8251         (KHTMLView::~KHTMLView): Don't zero out the part's view, because
8252         that will mess up setting a new one.
8253
8254         * kwq/WebCoreBridge.mm:
8255         (-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]):
8256         Destroy the old view if we own it.
8257
8258 2002-08-05  Darin Adler  <darin@apple.com>
8259
8260         * kwq/KWQKHTMLPartImpl.mm:
8261         (KWQKHTMLPartImpl::openURLInFrame):
8262         (KWQKHTMLPartImpl::urlSelected):
8263         (KWQKHTMLPartImpl::requestFrame):
8264         (KWQKHTMLPartImpl::requestObject):
8265         Add some nil checks before making calls with nil NSURL objects.
8266         But we also have to figure out how to report some kind of error
8267         in these cases, because the current behavior is not so good.
8268
8269 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8270
8271         - fixed 3007072 - need to be able to build fat
8272         
8273         * WebCore.pbproj/project.pbxproj: Fixed DeploymentFat build.
8274
8275 2002-08-05  Darin Adler  <darin@apple.com>
8276
8277         - fixed 3016374 -- Change font default from small back to medium
8278
8279         * khtml/css/cssstyleselector.cpp:
8280         (CSSStyleSelector::computeFontSizes): Change back to basing everything on
8281         mediumFontSize() as opposed to a defaultFontSize that was the same as "small".
8282         (CSSStyleSelector::applyRule): Default is m_fontSizes[3] again.
8283         * khtml/html/html_inlineimpl.cpp: (HTMLFontElementImpl::parseAttribute):
8284         Shift all the sizes up one, so 3 is now medium. It's important that 3 be the same as the default.
8285         * khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::attach): Change the default back to medium.
8286         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Change the default back to [3].
8287         * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): Change name back.
8288         * kwq/khtml/khtml_settings.h: Change name back to medium.
8289
8290         Do a little bit of wiring for the "text size multiplier" feature.
8291
8292         * kwq/WebCoreBridge.h:
8293         * kwq/WebCoreBridge.mm: (-[WebCoreBridge setTextSizeMultiplier:]): Added.
8294
8295 2002-08-05  Darin Adler  <darin@apple.com>
8296
8297         - fixed 3009321 -- bookmark and history menus show black square for (tm)
8298
8299         * khtml/html/htmltokenizer.cpp:
8300         (HTMLTokenizer::parseSpecial): Call fixUpChar.
8301         (HTMLTokenizer::parseText): Call fixUpChar.
8302         (HTMLTokenizer::parseTag): Call fixUpChar.
8303
8304 2002-08-05  Darin Adler  <darin@apple.com>
8305
8306         - fixed 3016795 -- http://www.google.co.il/ fails to decode
8307
8308         * kwq/make-charset-table.pl: Added a hack that makes us treat for
8309         iso-8859-8-e and iso-8859-8-i the same as iso-8859-8; may not be exactly
8310         right, but it's probably OK modulo the actual bidi support.
8311
8312 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8313
8314         * kwq/KWQKHTMLPartImpl.mm:
8315         (KWQKHTMLPartImpl::slotData): Simplified a bit.
8316
8317 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8318
8319         Merged KHTMLPart::end method with khtml original.
8320
8321         * khtml/khtml_part.cpp:
8322         (KHTMLPart::end): Remove call to impl. Use original version, but
8323         clear KURL cache and call slotFinishedParsing as well.
8324         * kwq/KWQKHTMLPartImpl.h:
8325         * kwq/KWQKHTMLPartImpl.mm:
8326         (KWQKHTMLPartImpl::end): Removed.
8327         (KWQKHTMLPartImpl::gotoBaseAnchor): Removed. No longer needed.
8328         * kwq/KWQKURL.mm:
8329         (KURL::encodedHtmlRef): Implemented.
8330         (KURL::htmlRef): Implemented.
8331         * kwq/WebCoreBridge.h:
8332         * kwq/WebCoreBridge.mm:
8333         (-[WebCoreBridge scrollToBaseAnchor]): Removed. No longer needed.
8334         
8335 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8336
8337         Merged KHTMLPart::openURL method with khtml original.
8338
8339         * khtml/khtml_part.cpp:
8340         (KHTMLPart::openURL): Don't call the impl version. Leave most of
8341         this #ifdef'd, except the parts that look useful.
8342         * kwq/KWQKHTMLPartImpl.h:
8343         * kwq/KWQKHTMLPartImpl.mm:
8344         (KWQKHTMLPartImpl::openURL): Removed.
8345
8346 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8347
8348         Merged KHTMLPart::begin method with khtml original.
8349
8350         * khtml/khtml_part.cpp:
8351         (KHTMLPart::begin): Restore this method and don't call the impl
8352         version. ifdef out the parts that don't compile.
8353         * kwq/KWQKHTMLPartImpl.h:
8354         * kwq/KWQKHTMLPartImpl.mm:
8355         (KWQKHTMLPartImpl::begin): Removed.
8356         * kwq/KWQKHTMLSettings.mm:
8357         (KHTMLSettings::showAnimations): Implemented; always return false.
8358         (KHTMLSettings::userStyleSheet): Implemented; always return empty
8359         string.
8360         * kwq/kdecore/kurl.h: Implemented isValid as inline method.
8361
8362 2002-08-04  David Hyatt  <hyatt@apple.com>
8363
8364         Fix my bungled CSS for input fields in the user agent style
8365         sheet.
8366         
8367         * khtml/css/html4.css:
8368
8369 2002-08-03  Darin Adler  <darin@apple.com>
8370
8371         - fixed 2943519 - &#149; is rendered as an asterisk rather than a bullet
8372
8373         * khtml/html/htmltokenizer.cpp: (fixUpChar): Replaced the macro of this
8374         name by an inline function that follows the Unicode specification. The
8375         macro was both making Windows Latin 1 extensions character codes
8376         (like 149 for bullet) work, but also mapping to characters that were
8377         suitable for Qt. Since OS X has no problem with the real Unicode values,
8378         we don't need that hack.
8379
8380 2002-08-02  Darin Adler  <darin@apple.com>
8381
8382         - fixed 3015522 -- crash decoding http://www.haaretz.co.il/
8383
8384         * khtml/misc/decoder.cpp: (Decoder::setEncoding): Put some hacks for
8385         handling Hebrew text encoding inside ifndef APPLE_CHANGES. It's not clear
8386         that these or the equivalent are needed for WebCore (they are related to
8387         the as-yet unimplemented bidirectional text support) and they were making
8388         us crash.
8389
8390         - fixed 2949235 -- checkboxes in wrong place until you scroll away and back
8391
8392         I fixed this once before, then removed that fix in favor of a simpler one.
8393         But the simpler one didn't work, and I didn't test it properly. Now I have
8394         a fix that works without the drawbacks of the original.
8395
8396         * khtml/rendering/render_replaced.cpp: (RenderWidget::layout): Remove the
8397         call to move the widget aside. This does no good because it's only called
8398         if the widget is told it needs to layout, which only happens if it's resized.
8399
8400         * khtml/rendering/render_root.cpp: (RenderRoot::layout): Call a KWQ function
8401         so we can do some work at layout time.
8402
8403         * kwq/KWQKHTMLPartImpl.mm:
8404         (moveWidgetsAside): Added. Function used recursively to move all widgets aside.
8405         (KWQKHTMLPartImpl::layout): Added. Called at layout time; moves all the widgets
8406         aside. They are moved back when print functions are called.
8407
8408         WebCore support for feature where client redirects are treated as if the
8409         page was continuing to load. A big part of this was changing redirection
8410         so that it uses QTimer, allowing us to use more of the original KHTMLPart
8411         code. I added a feature to QTimer that KWQKHTMLPartImpl uses to monitor
8412         what KHTMLPart does with the timer.
8413
8414         * kwq/qt/qobject.h: Changed "slots" definition so that all slots are public (to help
8415         KWQSlot get at them). Added a prefix for the slot and signal strings, so that we can detect
8416         the case where it's trying to connect a slot to another slot. Implement the convenience
8417         version of connect here in the header. Implement blockSignals. Remove setTarget.
8418         Make target mutable. Add new m_signalListHead and m_signalsBlocked.
8419         * kwq/KWQObject.mm:
8420         (QObject::findSignal): Added. Helper function that locates a signal by name.
8421         (QObject::connect): Connects a signal to a slot using the new KWQSignal and KWQSlot.
8422         (QObject::disconnect): Disconnects, similar to the above.
8423         (QObject::QObject): Initialize target, m_signalListHead, and m_signalsBlocked.
8424         (QObject::~QObject): Assert that m_signalListHead is 0.
8425
8426         * khtml/khtml_part.cpp:
8427         (KHTMLPart::init): Move the code that connects the redirection timer out
8428         of APPLE_CHANGES.
8429         (KHTMLPart::~KHTMLPart): Remove the APPLE_CHANGES around the code that
8430         stops the redirection timer.
8431         (KHTMLPart::restoreURL): Remove the APPLE_CHANGES around the code that
8432         stops the redirection timer.
8433         (KHTMLPart::openURL): Move the APPLE_CHANGES so the code that stops the
8434         redirection timer will run.
8435         (KHTMLPart::closeURL): Remove the APPLE_CHANGES around the code that
8436         stops the redirection timer.
8437         (KHTMLPart::scheduleRedirection): Remove most of this function from the
8438         APPLE_CHANGES. We still probably need to revisit the handling of m_bComplete.
8439
8440         * kwq/KWQSignal.h: Added.
8441         * kwq/KWQSignal.mm: Added.
8442         * kwq/KWQSlot.h: Added.
8443         * kwq/KWQSlot.mm: Added.
8444         * WebCore.pbproj/project.pbxproj: Added KWQSignal.h/mm, KWQSlot.h/mm.
8445
8446         * khtml/misc/loader.h: Simplify APPLE_CHANGES ifdefs since all slots are now public.
8447
8448        * force-clean-timestamp: Touch this since header files were changed.
8449
8450         * khtml/ecma/kjs_window.cpp:
8451         (Window::get): Disable the "name" part of this. We can re-enable it if we
8452         need it, but every QObject had a name because of this one piece of code,
8453         and I don't think it was effectively setting the frame name.
8454         (Window::put): Disable the "name" part of this for the same reason.
8455         (History::getValueProperty): Disable the "length" part of this. It was
8456         calling some unimplemented stuff. We can re-enable this and implement
8457         what we need in KWQ then.
8458
8459         * khtml/rendering/render_form.h: Remove RenderTextArea::performAction, because I
8460         changed this one case to use the new connect machinery. We can convert all the other
8461         form items to use the new machinery, and then eliminate performAction altogether.
8462         * khtml/rendering/render_form.cpp:
8463         (RenderSubmitButton::RenderSubmitButton): Remove unneeded setTarget. For the moment,
8464         connect takes care of this, and in the long run we won't need to set the target at all.
8465         (RenderLineEdit::RenderLineEdit): Ditto.
8466
8467         * khtml/rendering/render_frames.h:
8468         * khtml/rendering/render_frames.cpp: Put partLoadingErrorNotify inside ifndef APPLE_CHANGES
8469         because it uses a bunch of Qt stuff that's not used anywhere else, and we never call it.
8470
8471         * kwq/KWQKHTMLPartImpl.h: Remove scheduleRedirection, timerEvent, and m_redirectionTimer,
8472         add redirectionTimerStartedOrStopped and layout.
8473         * kwq/KWQKHTMLPartImpl.mm:
8474         (redirectionTimerMonitor): Added. Small stub that calls redirectionTimerStartedOrStopped.
8475         (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Set up a monitor on the redirection timer.
8476         (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove now-unneeded killTimer call.
8477         (KWQKHTMLPartImpl::jumpToSelection): Simplify by using dynamic_cast instead of render_name().
8478         (KWQKHTMLPartImpl::redirectionTimerStartedOrStopped): Added. Calls bridge to report client
8479         redirect events whenever the redirection timer is started or stopped.
8480
8481         * kwq/qt/qtextedit.h: Define a KWQSignal for textChanged, and a function that calls it.
8482         * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Set up a KWQSignal for textChanged.
8483         * kwq/KWQTextArea.mm: (-[KWQTextArea textDidEndEditing:]): Instead of calling emitAction,
8484         call textChanged, which will emit the signal using the new signal machinery.
8485
8486         * kwq/qt/qtimer.h:
8487         * kwq/KWQTimer.mm:
8488         (+[KWQTimerTarget targetWithQTimer:]): Added. Used to implement QTimer in terms of NSTimer.
8489         (-[KWQTimerTarget timerFired:]): Added. Used to implement QTimer in terms of NSTimer.
8490         (QTimer::QTimer): Added.
8491         (QTimer::isActive): Implemented.
8492         (QTimer::start): Implemented.
8493         (QTimer::stop): Implemented.
8494         (QTimer::setMonitor): Implemented.
8495         (QTimer::fire): Implemented.
8496
8497         * kwq/WebCoreBridge.h: Changed name of gotoAnchor to scrollToAnchor. Added client redirect
8498         methods.
8499         * kwq/WebCoreBridge.mm: (-[WebCoreBridge scrollToAnchor:]): Changed name.
8500
8501 2002-08-02  David Hyatt  <hyatt@apple.com>
8502
8503         Lots of form control changes.
8504         - Inputs and textareas now respond to setFont and can have their font set by the Web page
8505         explicitly.  These fields emulate the WinIE behavior of defaulting to the UI system font
8506         and only picking up new fonts if they are explicitly specified on the element itself.
8507         - Buttons and selects use the small versions now.
8508         - Stopped trying to align controls along baselines of their interior text.  Konqueror is
8509         the only browser that does this, and it looks bad on many pages.  With this patch controls
8510         align along their bottom borders (which extend slightly below the baseline of surrounding
8511         text).  This matches Gecko, MacIE, and WinIE behavior.
8512         - Stopped using monospace for textareas and inputs.
8513         - Fixed a bug with inputs not calling setScrollable on their cells.
8514         
8515         * khtml/css/html4.css:
8516         * khtml/rendering/render_form.cpp:
8517         (RenderSubmitButton::calcMinMaxWidth):
8518         (RenderSubmitButton::baselinePosition):
8519         (RenderLineEdit::baselinePosition):
8520         (RenderSelect::baselinePosition):
8521         * khtml/rendering/render_form.h:
8522         * kwq/KWQButton.mm:
8523         (QButton::QButton):
8524         (QButton::sizeHint):
8525         * kwq/KWQComboBox.mm:
8526         (QComboBox::init):
8527         * kwq/KWQLineEdit.mm:
8528         (QLineEdit::cursorPosition):
8529         (QLineEdit::setFont):
8530         * kwq/KWQNSTextField.mm:
8531         (-[KWQNSTextField initWithFrame:widget:]):
8532         * kwq/KWQView.mm:
8533         (-[KWQNSButtonCell cellSizeForBounds:]):
8534         (+[KWQNSButton initialize]):
8535         * kwq/WebCoreTextRendererFactory.h:
8536         * kwq/WebCoreTextRendererFactory.m:
8537         (-[WebCoreTextRendererFactory fontWithFamily:traits:size:]):
8538         * kwq/qt/qbutton.h:
8539         * kwq/qt/qlineedit.h:
8540
8541 2002-08-01  Darin Adler  <darin@apple.com>
8542
8543         - fixed 2841277 -- support for charset=gb2312
8544
8545         * kwq/character-sets.txt: Added "euc-cn" to the list of aliases for
8546         "gb2312", since that's the name used by CFStringEncoding for that
8547         character set.
8548
8549 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
8550
8551         Remove KWQKHTMLPartImpl's setBaseURL method and m_baseURL field,
8552         since nothing should really need them any more.
8553         
8554         * kwq/KWQKHTMLPartImpl.h:
8555         * kwq/KWQKHTMLPartImpl.mm:
8556         (KWQKHTMLPartImpl::begin): Set base URL on document, if it exists.
8557         (KWQKHTMLPartImpl::requestFrame): Get base URL from document.
8558         (KWQKHTMLPartImpl::requestObject): Ditto.
8559         (KWQKHTMLPartImpl::frames): Ditto.
8560         (KWQKHTMLPartImpl::setBaseURL): Removed.
8561
8562 2002-08-01  Richard Williamson  <rjw@apple.com>
8563
8564         Added method to allow WebKit to direct khtml to
8565         goto to an anchor point.  Need for back/forward.
8566         
8567         * kwq/KWQKHTMLPartImpl.mm:
8568         (KWQKHTMLPartImpl::urlSelected):
8569         * kwq/WebCoreBridge.h:
8570         * kwq/WebCoreBridge.mm:
8571         (-[WebCoreBridge gotoAnchor:]):
8572
8573 2002-08-01  Ken Kocienda  <kocienda@apple.com>
8574
8575         Tweaked WebCore cache settings. The WebCore cache will now grow
8576         to 1 MB (was 512k). The maximum cacheable item is 16k instead of 40k.
8577
8578         * khtml/misc/loader.cpp
8579
8580 === Alexander-15 ===
8581
8582 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
8583
8584         Restored the original KHTMLPart::write() now that none of our
8585         changes in the impl version are beneficial in any way.
8586
8587         * khtml/khtml_part.cpp:
8588         (KHTMLPart::write): Restore original code in lieue of calling impl
8589         version.
8590         * kwq/KWQKHTMLPartImpl.h:
8591         * kwq/KWQKHTMLPartImpl.mm:
8592         (KWQKHTMLPartImpl::openURL): Remove initialization of
8593         m_decodingStarted, since it is now gone.
8594         (KWQKHTMLPartImpl::write): Removed.
8595
8596 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
8597
8598         Removed m_documentSource and remaining ill-conceived uses thereof.
8599         
8600         * kwq/KWQKHTMLPartImpl.h:
8601         * kwq/KWQKHTMLPartImpl.mm:
8602         (KWQKHTMLPartImpl::openURL): Don't initialize it.
8603         (KWQKHTMLPartImpl::write): Don't use it.
8604
8605 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
8606
8607         Remove stuff formerly useful for "View Reconstructed Source"
8608         feature but now useless.
8609
8610         * kwq/KWQKHTMLPartImpl.h:
8611         * kwq/KWQKHTMLPartImpl.mm:
8612         (KWQKHTMLPartImpl::documentSource): Removed.
8613         * kwq/WebCoreBridge.h:
8614         * kwq/WebCoreBridge.mm:
8615         (-[WebCoreBridge documentTextFromDOM]): Removed.
8616
8617 2002-07-31  Darin Adler  <darin@apple.com>
8618
8619         * kwq/qt/qptrvector.h:
8620         * kwq/qt/qvector.h:
8621         * kwq/KWQVectorImpl.h:
8622         * kwq/KWQVectorImpl.mm:
8623         * force-clean-timestamp:
8624         New implementation of QVector that does not use CFArray. Should fix some data()
8625         anomalies. Shares wierdnesses with the original Qt class.
8626
8627         * WebCore-tests.exp: Remove old QVector entry points and add new ones.
8628
8629         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::write): Did a tiny optimization
8630         by initializing the QString rather than first assigning and then initializing.
8631         Also reworded some comments and rearranged code to make it clearer that
8632         m_decodingStarted is now used only to decide when to call determineParseMode.
8633
8634         * khtml/css/cssparser.cpp: Removed the APPLE_CHANGES around a change that's
8635         fine for non-Apple use as well.
8636
8637 2002-07-30  Maciej Stachowiak  <mjs@apple.com>
8638
8639         Fixes of various bugs that prevented Alexander from running the
8640         Mozilla page load test.
8641
8642         - fixed 3008682 - Alexander cannot run Mozilla-PLT
8643
8644         * khtml/misc/decoder.cpp:
8645         (Decoder::decode): Don't drop the accumulated buffer if the document
8646         happens to be unicode!
8647         * kwq/KWQCString.mm:
8648         (operator==): Fix reversed logic when comparing an empty QCString
8649         to a const char *.
8650         * kwq/KWQKHTMLPartImpl.mm:
8651         (KWQKHTMLPartImpl::slotData): Set complete flag later so that
8652         initializing it to false doesn't clobber setting it.
8653         (KWQKHTMLPartImpl::begin): Initialize complete flag to false.
8654         (KWQKHTMLPartImpl::write): Don't buffer things up for the decoder -
8655         the decoder does that internally.
8656         * kwq/WebCoreBridge.h, kwq/WebCoreBridge.mm: Remove setURL: method.
8657
8658 2002-07-30  Richard Williamson  <rjw@apple.com>
8659
8660         Don't create unnecessary unicode string.  Of the 
8661         95695 unnecessary unicode allocations we do loading
8662         the base test, this usage accounted for 7185.  Most
8663         of the others come from DOMString to QConstString to
8664         QString to unicode() conversion during parsing.  All
8665         that unnecessary work needs to be removed.
8666         
8667         * kwq/KWQColor.mm:
8668         (decodeColorFromHexColorString):
8669
8670 2002-07-30  David Hyatt  <hyatt@apple.com>
8671
8672         Ok, this time i've got it.  I hope.  I think.  Fingers crossed.
8673         Putting the table recalc check back in one more time. :)
8674         
8675         * khtml/rendering/render_table.cpp:
8676         (RenderTable::addColumns):
8677         (RenderTable::addColInfo):
8678
8679 2002-07-30  David Hyatt  <hyatt@apple.com>
8680
8681         Backing myself out again.  No crashes, but now pages stall.
8682         #*^&*#@^%*&!!!!
8683         
8684         * khtml/rendering/render_table.cpp:
8685         (RenderTable::recalcColInfo):
8686         (RenderTable::addColInfo):
8687
8688 2002-07-30  David Hyatt  <hyatt@apple.com>
8689
8690         Putting my table patch back in.  Also optimizing the code
8691         to avoid deleting and recreating the same colinfo over
8692         and over again.  Now colinfos can recalc their own
8693         information.
8694         
8695         * khtml/rendering/render_table.cpp:
8696         (RenderTable::addColumns):
8697         (RenderTable::recalcColInfo):
8698         (RenderTable::addColInfo):
8699         (RenderTable::calcMinMaxWidth):
8700         * khtml/rendering/render_table.h:
8701
8702 2002-07-30  Richard Williamson  <rjw@apple.com>
8703
8704         Inline critical function.
8705         
8706         * kwq/KWQString.mm:
8707         (compareToLatinCharacter):
8708
8709 2002-07-30  Richard Williamson  <rjw@apple.com>
8710
8711         Wow!  Avoid creation of unicode string when only a single character
8712         is needed.  Simple change for big gains, 7% - 10% improvement
8713         on cached pages.  Other similar gains may remain to be had.
8714         
8715         * khtml/css/cssparser.cpp:
8716
8717 2002-07-30  Darin Adler  <darin@apple.com>
8718
8719         * khtml/css/makevalues: Fail if we don't find gperf.
8720
8721 2002-07-30  David Hyatt  <hyatt@apple.com>
8722
8723         Back myself out. I seem to have stumbled onto another bug.
8724         Until I figure it out, turn this back off.
8725         
8726         * khtml/rendering/render_table.cpp:
8727         (RenderTable::addColumns):
8728         (RenderTable::addColInfo):
8729
8730 2002-07-30  David Hyatt  <hyatt@apple.com>
8731
8732         Fix for 3000604, 2902173, 2921313.  Ensure that tables recalc their
8733         column widths like they are supposed to.  This fixes livepage.apple.com,
8734         applemuseum.com, and many other pages (that didn't have bugs filed).
8735         Yay!
8736         
8737         * khtml/rendering/render_table.cpp:
8738         (RenderTable::recalcColInfo):
8739         (RenderTable::addColInfo):
8740
8741 2002-07-29  David Hyatt  <hyatt@apple.com>
8742
8743         Fix for 3008660, arstechnica regression.  Move the acquisition
8744         of the document's text color (and the addition of CSS properties)
8745         to the attach() call instead of the constructor.  The table won't
8746         add the properties until it is building its render object.
8747
8748         Also removing the #ifndef around the layout scheduler.  This fixes
8749         :hover feedback and reflows from things like the marquee on
8750         livepage.apple.com.
8751         
8752         * khtml/html/html_tableimpl.cpp:
8753         (HTMLTableElementImpl::HTMLTableElementImpl):
8754         (HTMLTableElementImpl::id):
8755         (HTMLTableElementImpl::attach):
8756         * khtml/html/html_tableimpl.h:
8757         * khtml/rendering/render_object.h:
8758
8759 2002-07-29  Darin Adler  <darin@apple.com>
8760
8761         - fixed 3010875 -- Find only works for latin characters
8762         - dealt with part of 2948387 -- stop button flashes to "go" twice while loading citibank.com
8763
8764         * force-clean-timestamp: Make everyone do a make clean because dependencies won't do
8765         the right thing.
8766
8767         * khtml/khtml_part.h:
8768         * khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Changed the APPLE_CHANGES ifdefs around
8769         in this function so we can start using it again.
8770         (KHTMLPart::jumpToSelection): Removed. The bridge goes straight to the impl. 
8771
8772         * kwq/WebCoreBridge.mm: (-[WebCoreBridge jumpToSelection]): Go straight to the impl.
8773
8774         * WebCore-tests.exp: One new export needed for tests with change to qstring.h.
8775
8776         * kwq/qt/qevent.h:
8777         * kwq/KWQEvent.mm: Removed unused stuff.
8778
8779         * kwq/KWQKHTMLPartImpl.h: Removed redirectURL(); we now use KHTMLPart::slotRedirect().
8780
8781         * kwq/KWQKHTMLPartImpl.mm:
8782         (KWQKHTMLPartImpl::write): Call latin1() explicitly in here for m_documentSource. It was being
8783         done implicitly before.
8784         (KWQKHTMLPartImpl::scheduleRedirection): Get rid of 1-second minimum delay for meta refresh.
8785         (KWQKHTMLPartImpl::timerEvent): Call KHTMLPart::slotRedirect() instead of redirectURL(), because
8786         they were identical, so we don't need our own copy.
8787
8788         * kwq/kdeui/kmessagebox.h:
8789         * kwq/KWQKMessageBox.mm: (KMessageBox::questionYesNo): Added dontAskAgain string parameter.
8790         Before, it was being turned into a bool!
8791
8792         * kwq/KWQKProtocolManager.mm: Tweak and add FIXME.
8793
8794         * kwq/qt/qstring.h: Remove implicit conversion to const char *, which causes only pain.
8795         * kwq/KWQString.mm:
8796         (QString::find): Add caseSensitive parameter to the QString overload of this.
8797         (QString::contains): Add a QString version of this.
8798
8799         * kwq/character-sets.txt: Add the MIB number for ISO-10646-J-1.
8800         * kwq/make-charset-table.pl: Remove special case for ISO-10646-J-1 MIB number.
8801
8802 2002-07-29  Richard Williamson  <rjw@apple.com>
8803
8804         Fixed 3009074.  Added KHTMLPart::jumpToSelection and related scaffolding (part impl, bridge, etc.)
8805         
8806         * khtml/khtml_part.cpp:
8807         (KHTMLPart::jumpToSelection):
8808         * khtml/khtml_part.h:
8809         * kwq/KWQKHTMLPartImpl.h:
8810         * kwq/KWQKHTMLPartImpl.mm:
8811         (KWQKHTMLPartImpl::jumpToSelection):
8812         * kwq/WebCoreBridge.h:
8813         * kwq/WebCoreBridge.mm:
8814         (-[WebCoreBridge jumpToSelection]):
8815
8816 2002-07-29  Richard Williamson  <rjw@apple.com>
8817
8818         Fixed 3009067.  We were not correctly testing the first character of the node string.  Fixed in KWQString.
8819         This highlighted another problem.  KWQ does not support unichar * string find w/ case sensitive argument.
8820         KWQString implements QString::find(const char *chs, int index, bool caseSensitive), so  QStrings passed 
8821         will be auto-cast to char *.  Filed 3010875 to track that issue.
8822
8823         * kwq/KWQString.mm:
8824         (compareToLatinCharacter):
8825         (QString::find):
8826
8827 2002-07-26  David Hyatt  <hyatt@apple.com>
8828
8829         Changing the default user agent to be Gecko.  This fixes
8830         the layout issues with livepage.apple.com.  We simply
8831         cannot support absolute positioning while claiming to
8832         be Mac MSIE, since Mac MSIE incorrectly computes the containing
8833         block and sites have to correct for that.
8834         
8835         * kwq/KWQKProtocolManager.mm:
8836         (KProtocolManager::userAgentForHost):
8837
8838 2002-07-26  David Hyatt  <hyatt@apple.com>
8839
8840         Fix for 2944382, NOWRAP was being incorrectly applied in KHTML.
8841         It was being ignored incorrectly if a fixed width was specified
8842         on a cell.  This width on the cell is actually irrelevant and
8843         should not have been checked, since NOWRAP will affect the
8844         whole column and not just a specific cell.
8845         
8846         * khtml/rendering/render_table.cpp:
8847         (RenderTableCell::calcMinMaxWidth):
8848
8849 2002-07-25  Darin Adler  <darin@apple.com>
8850
8851         * WebCore.pbproj/project.pbxproj: Add DeploymentFat build style.
8852
8853         - fixed 3007532 -- Main documentation frame doesn't load on Apple docs page
8854
8855         This was caused by my recent fix for the "checkboxes in wrong place" bug.
8856         While discussing that bug fix with Richard, I realized that I needed to do the
8857         work at layout time, not print time. Luckily, this code ends up being simpler
8858         than the original solution.
8859
8860         * khtml/rendering/render_replaced.cpp:
8861         (RenderWidget::resizeWidget): Take out size limits based on X limits.
8862         (RenderWidget::layout): Move widgets off into far away coordinate space when
8863         layout happens. They get moved back on to the right position during the print process.
8864
8865         * kwq/KWQKHTMLPartImpl.h:
8866         * kwq/KWQKHTMLPartImpl.mm: Removed paint, buildViewsNotYetAddedSet, viewsNotYetAdded,
8867         and addedWidget.
8868         * kwq/KWQScrollView.mm: (QScrollView::addChild): Removed call to addedWidget.
8869         * kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): Put the call to the
8870         renderer to print back in here, since it's simple again.
8871
8872         * kwq/KWQWidget.mm: (QWidget::internalSetGeometry): Left in a couple of asserts that
8873         were useful in narrowing this one down.
8874
8875 2002-07-25  David Hyatt  <hyatt@apple.com>
8876
8877         Floated images using "align" should have margins to prevent the text from running right
8878         up against them.  Matches IE and Mozilla behavior.
8879         
8880         * khtml/css/html4.css:
8881
8882 2002-07-25  David Hyatt  <hyatt@apple.com>
8883
8884         Fix <blockquote> tags to have top and bottom margins of 1em.  This matches the <blockquote>
8885         behavior in Gecko.
8886         
8887         * khtml/css/html4.css:
8888
8889 2002-07-25  Darin Adler  <darin@apple.com>
8890
8891         - fixed 2965269 -- sizes reported to progress handler from KWQCheckCacheObjectStatus for images are wrong
8892         - fixed 3006054 -- assert error failingURL != nil
8893
8894         * khtml/misc/loader.h: Add dataSize() and m_dataSize.
8895         * khtml/misc/loader.cpp:
8896         (CachedImage::CachedImage): Initialize m_dataSize.
8897         (CachedImage::data): Update m_dataSize.
8898
8899         * kwq/kio/jobclasses.h:
8900         * kwq/KWQKjobclasses.mm: Store a KURL instead of an NSURL, because KURL can hold any string.
8901
8902         * kwq/KWQLoaderImpl.mm:
8903         (KWQServeRequest): Send an error with [WebCoreBridge reportError:] if the URL is so bad we can't
8904         construct an NSURL from it. This is the only case in all our code where we need to have failingURL
8905         accept a string.
8906         (KWQCheckCacheObjectStatus): If the object is an image, use the dataSize() rather than size().
8907         The size() is a (bad) estimate of how much memory is used in the case of an image, but we want
8908         to report the size of the original data.
8909
8910         * kwq/WebCoreBridge.h: Add a [reportError:] method.
8911
8912 2002-07-25  David Hyatt  <hyatt@apple.com>
8913
8914         Fix for huge white space problem on appleturns.com, bug 2947818.  Vertical-align
8915         was being applied to block-level elts in violation of the CSS2 spec.  Vertical-align
8916         is only supposed to apply to inline-level elts and table cells.  getVerticalPosition
8917         will now bail if the element is block-level.
8918         
8919         * khtml/rendering/render_object.cpp:
8920         (RenderObject::getVerticalPosition):
8921
8922 2002-07-25  Chris Blumenberg  <cblu@apple.com>
8923
8924         * kwq/WebCoreBridge.h:
8925         * kwq/WebCoreBridge.mm:
8926         (-[WebCoreBridge elementAtPoint:]): renamed
8927
8928 2002-07-25  David Hyatt  <hyatt@apple.com>
8929
8930         Fix for bug 2992158, the calendar on www.blog.org in the upper
8931         right was shoved offscreen (and causing a horizontal scrollbar
8932         to be necessary).  KHTML was not recomputing the margins for
8933         the table when it became displaced by the float.  It was also
8934         mispositioning the float itself.  
8935         
8936         * khtml/rendering/render_box.h:
8937         * khtml/rendering/render_flow.cpp:
8938         (RenderFlow::layoutBlockChildren):
8939         (RenderFlow::addOverHangingFloats):
8940         
8941 2002-07-24  David Hyatt  <hyatt@apple.com>
8942
8943         Fix for bug 2953423, viamichelin.com lays out incorrectly.
8944         Remove a completely bogus optimization in the KHTML code that
8945         attempted to bail when the specified width was 0.  This was
8946         a very basic problem, and it should fix other pages that were
8947         laying out incorrectly as well.
8948         
8949         * khtml/rendering/render_flow.cpp:
8950         (RenderFlow::layout):
8951
8952 2002-07-24  Darin Adler  <darin@apple.com>
8953
8954         * khtml/khtml_part.cpp: (KHTMLPart::clear): Remove code that reset m_frameNameId,
8955         to complete Maciej's change to fix bug 3006354.
8956
8957 2002-07-24  Darin Adler  <darin@apple.com>
8958
8959         - fixed 2906567 -- Font size calculations should use 96 dpi instead of 72 dpi
8960         - fixed 3005932 -- fonts specified in 'ex' units rendered waaaaaaay too large
8961         
8962         * khtml/css/cssstyleselector.cpp: (CSSStyleSelector::computeFontSizes):
8963         Use a default font size that's the same as small, rather than a "medium font
8964         size". Don't multiply the values from settings by the scaling factor.
8965         (CSSStyleSelector::applyRule): Make the default font size here for nodes with
8966         no parents be small (m_fontSizes[2]) rather than medium (m_fontSizes[3]).
8967
8968         * khtml/html/html_inlineimpl.cpp: (parseFontSizeNumber): Added. Tolerant of
8969         non-numeric characters after the numeric size. Also distinguishes a size like
8970         "0" from something that's not a numeric size at all.
8971         (HTMLFontElementImpl::parseAttribute): Use parseFontSizeNumber, but also make
8972         size 3 be the same as CSS_VAL_SMALL, not CSS_VAL_MEDIUM. This mistake (using
8973         CSS_VAL_MEDIUM) led to all kinds of strangeness in the KHTML code, including
8974         mishandling of 0 and the need to create CSS_VAL__KONQ_XXX_LARGE. Also change
8975         code so that 0 is treated as CSS_VAL_SMALL (same as 3) rather than CSS_VAL_XX_SMALL.
8976         This makes 0 between -1 and +1.
8977
8978         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Make default font
8979         size be small (fontSizes()[2]) rather than medium (fontSizes()[3]).
8980         * khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::HTMLTableElementImpl):
8981         Make default font size be CSS_VAL_SMALL, not CSS_VAL_MEDIUM.
8982
8983         * kwq/qt/qfontmetrics.h:
8984         * kwq/KWQFontMetrics.mm: (QFontMetrics::xHeight): Added.
8985         * kwq/WebCoreTextRenderer.h: Added xHeight.
8986
8987         * khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::computeLengthFloat):
8988         Use xHeight rather than computing the height of an actual letter 'x'.
8989         * khtml/rendering/render_object.cpp: (RenderObject::getVerticalPosition):
8990         Use xHeight rather than computing the height of an actual letter 'x'.
8991
8992         * kwq/WebCoreBridge.mm: (-[WebCoreBridge reapplyStyles]): Fixed backwards
8993         if that prevented font changes from being reflected in the browser window.
8994
8995         * kwq/khtml/khtml_settings.h:
8996         * kwq/KWQKHTMLSettings.mm:
8997         (KHTMLSettings::defaultFontSize):
8998         * kwq/WebCoreSettings.h:
8999         * kwq/WebCoreSettings.m:
9000         (-[WebCoreSettings setDefaultFontSize:]):
9001         (-[WebCoreSettings defaultFontSize]):
9002         Replace mediumFontSize with defaultFontSize.
9003
9004         * WebCore.pbproj/project.pbxproj: Rearrange some of the files.
9005
9006 2002-07-24  Richard Williamson  <rjw@apple.com>
9007
9008         Support for find in HTML.
9009
9010         * kwq/WebCoreBridge.h:
9011         * kwq/WebCoreBridge.mm:
9012         (-[WebCoreBridge searchFor:direction:caseSensitive:]):
9013
9014 2002-07-24  Darin Adler  <darin@apple.com>
9015
9016         - fixed 2949235 -- checkboxes in wrong place until you scroll away and back
9017
9018         The problem here was that we put views in when we print, but we never removed them.
9019         I added code to keep track of existing views, and remove them if they are not re-added.
9020
9021         * kwq/KWQKHTMLPartImpl.h: Add paint, addedWidget, buildViewsNotAddedSet, and viewsNotYetAdded.
9022         It might be nice to find a different place to hang this that is not included by the KHTML code.
9023         But I think that having this on the bridge would be worse.
9024         * kwq/KWQKHTMLPartImpl.mm:
9025         (KWQKHTMLPartImpl::paint): Added. Removes any views that are not explicitly added by RenderWidget
9026         during the print process.
9027         (KWQKHTMLPartImpl::addedWidget): Added. Called by KWQScrollView to tell us a view was added.
9028         (KWQKHTMLPartImpl::buildViewsNotYetAddedSet): Added. Used to build the initial set of views.
9029
9030         * kwq/KWQScrollView.mm: (QScrollView::addChild): Added call to KWQKHTMLPartImpl::addedWidget.
9031         * kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): Calls KWQKHTMLPartImpl::paint.
9032
9033         * kwq/KWQWindowWidget.mm: (KWQWindowWidget::frameGeometry), (KWQWindowWidget::mapToGlobal),
9034         (KWQWindowWidget::mapFromGlobal), (KWQWindowWidget::internalSetGeometry):
9035         Fixed logic to work properly for windows not on main screen.
9036
9037         * khtml/khtml_part.cpp: Moved the boundary of an existing ifndef APPLE_CHANGES so that
9038         KHTMLPart::show() and hide() are not compiled, mainly for clarity.
9039         * khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Removed unneeded APPLE_CHANGES.
9040
9041         * kwq/KWQWindowWidget.h: Removed some unneeded virtual functions.
9042         * kwq/qt/qscrollview.h: Removed some unneeded virtual functions, made others non-virtual.
9043         * kwq/qt/qwidget.h: Removed some unneeded virtual functions, made others non-virtual.
9044         * kwq/KWQWidget.mm: Removed a lot of unused and unneeded stuff.
9045
9046         * force-clean-timestamp: Needed to do this because I changed header files.
9047
9048 2002-07-24  Darin Adler  <darin@apple.com>
9049
9050         - fixed 3006329 - space should be stripped from beginning of relative url
9051
9052         * kwq/KWQKURL.mm: (KURL::normalizeRelativeURLString): Added a call to stripWhiteSpace.
9053
9054 2002-07-24  Maciej Stachowiak  <mjs@apple.com>
9055
9056         Made frame names globally unique, not just unique per parent frame
9057         - this is needed to avoid triggering the assertion in 3006354
9058         (Assertion failure on salon.com). Clearing my cache made the
9059         assertion go away by itself, but it seems good to avoid the
9060         possibility of triggering it in the future.
9061         
9062         * khtml/khtmlpart_p.h: Make m_frameNameId static.
9063         * khtml/khtml_part.cpp: Initialize it here.
9064
9065 2002-07-24  Darin Adler  <darin@apple.com>
9066
9067         - fixed 3006336 -- crash in _NSDescriptionWithLocaleFunc
9068
9069         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::overURL):
9070         Don't use the result of getNSString() on a C++ temporary object.
9071         We could also fix this by doing retain autorelease in getNSString().
9072
9073 2002-07-23  Chris Blumenberg  <cblu@apple.com>
9074
9075         More plumbing for contextual menu support.
9076
9077         * kwq/WebCoreBridge.h:
9078         * kwq/WebCoreBridge.mm:
9079         (-[WebCoreBridge completeURLForDOMString:]): renamed
9080         (-[WebCoreBridge elementInfoAtPoint:]): renamed
9081         * kwq/qt/qpixmap.h: added an accessor to the WebCoreImageRenderer
9082
9083 2002-07-23  Darin Adler  <darin@apple.com>
9084
9085         * WebCore.pbproj/project.pbxproj: Fix file reference types to be more consistent.
9086
9087         * khtml/html/htmltokenizer.cpp:
9088         (HTMLTokenizer::parseTag): Changed indenting to use spaces, makes our diff with
9089         KDE smaller.
9090         (HTMLTokenizer::end): Remove unneeded APPLE_CHANGES.
9091
9092         * kwq/KWQDOMNode.cpp: Tweak.
9093         * kwq/KWQDOMNode.h: Tweak.
9094
9095 2002-07-23  David Hyatt  <hyatt@apple.com>
9096
9097         Fix bug 2803155 - images not displayed on http://bscw.gmd.de.
9098         My fix is to use our newfound quirks mode to implement a comment
9099         parsing quirk (this is how Mozilla handles this same issue).
9100         Only in quirks mode, the tokenizer will treat <!--> atomically as
9101         a complete comment.
9102
9103         This is bug 34302 on bugs.kde.org, for those who are curious.
9104         
9105         * khtml/html/htmltokenizer.cpp:
9106         (HTMLTokenizer::parseTag):
9107
9108 2002-07-23  Chris Blumenberg  <cblu@apple.com>
9109
9110         Initial plumbing for contextual menu support.
9111
9112         * WebCore.pbproj/project.pbxproj:
9113         * kwq/KWQDOMNode.cpp: Added.
9114         (isImage):
9115         * kwq/KWQDOMNode.h: Added.
9116         * kwq/WebCoreBridge.h:
9117         * kwq/WebCoreBridge.mm:
9118         (-[WebCoreBridge _URLForDOMString:]): added
9119         (-[WebCoreBridge _elementInfoForMouseEvent:]): added
9120
9121 2002-07-23  Richard Williamson  <rjw@apple.com>
9122
9123         Turn on find related code in part in preparation for
9124         implementing find in WebKit.
9125         
9126         * khtml/khtml_part.cpp:
9127         (KHTMLPart::init):
9128         (KHTMLPart::clear):
9129         (KHTMLPart::findTextNext):
9130
9131 2002-07-23  David Hyatt  <hyatt@apple.com>
9132
9133         Fixing two bugs here.  The first is bug with @import sheets not inheriting strict parsing mode from their parent sheet.
9134         This means all @import sheets are being treated as strict mode! 
9135
9136         The second bug is in KWQ.  We were never calling determineParseMode, so we always defaulted to strict mode, and therefore
9137         were highly intolerant of unitless numbers on absolutely positioned blocks.  This fixes many problems, notably www.netscape.com
9138         and ZDNet.com on the cvs-base tests.
9139         * khtml/css/cssparser.h:
9140         * kwq/KWQKHTMLPartImpl.mm:
9141         (KWQKHTMLPartImpl::write):
9142
9143 2002-07-23  Darin Adler  <darin@apple.com>
9144
9145         - fixed 3004818 -- relative urls are assembled incorrectly at ticketmaster
9146         - fixed 2999279 -- Invalid URI in request at subpage of swatch.com
9147
9148         The issue here is URLs with paths that start with "/../". RFC 2396 says one
9149         thing, and that's what CFURL does. But real web browsers do another thing.
9150
9151         * kwq/KWQKURL.mm:
9152         (KURL::KWQKURLPrivate::KWQKURLPrivate): Clean up a bit by removing unneeded init().
9153         (escapeQString): Don't make a copy of the passed-in QString.
9154         (pathEndsWithSlash): Don't make a copy of the passed-in QString.
9155         (copyEscapedPath): Make this a static function instead of extern.
9156         (KURL::KWQKURLPrivate::decompose): Add the new "../" and "./" logic.
9157
9158 2002-07-23  David Hyatt  <hyatt@apple.com>
9159
9160         * khtml/rendering/font.cpp:
9161         Fix deployment build bustage by including <algorithm>.
9162         
9163         * khtml/rendering/render_frames.cpp:
9164         (RenderPartObject::calcReplacedWidth):
9165         Fix a bug with http://www.moveabletype.com's top portion
9166         not showing up (bug 2986714).  A hack was being improperly
9167         applied to fixed width plugins, when it should have only
9168         been applied to variable width plugins.
9169         
9170 2002-07-23  Darin Adler  <darin@apple.com>
9171
9172         * Makefile.am: Clean based on all, not all-am, so it happens before subdirs
9173         if any.
9174
9175 2002-07-23  Darin Adler  <darin@apple.com>
9176
9177         Changes require a make clean because of the Project Builder bug.
9178         So I added the "make clean timestamp" hackery.
9179
9180         * .cvsignore: Ignore the new clean timestamp.
9181         * force-clean-timestamp: Added.
9182         * Makefile.am: Add rules for making clean happen.
9183
9184         * khtml/html/html_formimpl.cpp:
9185         (HTMLGenericFormElementImpl::defaultEventHandler): Fix NULL dereference
9186         bug in here that I ran into. Code later down in the same function has
9187         the check for NULL, so clearly this is just a bug.
9188
9189         * khtml/rendering/font.cpp:
9190         (Font::drawText): Simplify by using new drawText that takes a QChar array,
9191         no need to make a QConstString.
9192         * khtml/rendering/render_text.cpp:
9193         (TextSlave::printDecoration): Simplify by using new drawUnderlineForText that
9194         takes a QChar array, no need to make a QConstString.
9195
9196         * kwq/WebCoreTextRenderer.h: Change underline-drawing to use a UniChar array.
9197
9198         * kwq/qt/qpainter.h:
9199         * kwq/KWQPainter.mm:
9200         (QPainter::drawText): Change to take QChar array instead of a QString, but
9201         also discovered a bizarre overloading thing that was happening before and
9202         dealt with that by adding a new drawText that still does take a QString.
9203         (QPainter::drawUnderlineForText): Change to take QChar array.
9204
9205         * kwq/qt/qcolor.h: Mark constructor explicit, so we don't get subtle strangess
9206         like where the string to draw was being converted to a QColor.
9207
9208         * khtml/css/cssstyleselector.cpp: No need for APPLE_CHANGES for
9209         this change any more.
9210
9211         * kwq/kdecore/kcharsets.h:
9212         * kwq/KWQKCharsets.mm: Remove unused functions.
9213
9214         * kwq/khtml/khtml_settings.h:
9215         * kwq/KWQKHTMLSettings.mm: Remove unused functions.
9216
9217         * kwq/qt/qfont.h:
9218         * kwq/KWQFont.mm: Simplify.
9219
9220         * kwq/KWQPaintDeviceMetrics.mm: Simplify.
9221
9222         * kwq/qt/qtextcodec.h:
9223         * kwq/KWQtextcodec.mm: (QTextCodec::codecForName): Remove unused parameter.
9224
9225 2002-07-23  David Hyatt  <hyatt@apple.com>
9226
9227         The STYLE element was ignoring both the media and type
9228         attributes (unlike its cousin, the LINK element).  This
9229         patch implements support for media and type and further
9230         stops us from loading stylesheets that we should have no
9231         business parsing.
9232         
9233         * khtml/html/html_headimpl.cpp:
9234         (HTMLLinkElementImpl::process):
9235         (HTMLStyleElementImpl::parseAttribute):
9236         (HTMLStyleElementImpl::insertedIntoDocument):
9237         (HTMLStyleElementImpl::removedFromDocument):
9238         (HTMLStyleElementImpl::childrenChanged):
9239         (HTMLStyleElementImpl::sheetLoaded):
9240         * khtml/html/html_headimpl.h:
9241
9242 === Alexander-14 ===
9243
9244 2002-07-23  David Hyatt  <hyatt@apple.com>
9245
9246         * khtml/html/html_objectimpl.cpp:
9247         (HTMLObjectElementImpl::attach):
9248         Oops.  I accidentally removed the call to an ancestor class
9249         attach function.  What made this subtle is that it deliberately
9250         skipped over a couple of base classes and called the one three
9251         superclasses up.  When I went to put it back in, I messed up
9252         and called the base class instead of the distant ancestor.  
9253
9254         Silly me.  marvel.com and matadorrecords.com should be ok now.
9255         
9256 2002-07-22  Darin Adler  <darin@apple.com>
9257
9258         * khtml/rendering/render_text.cpp:
9259         (TextSlave::printSelection): Add comments to APPLE_CHANGES.
9260         (TextSlave::printDecoration): Add comments to APPLE_CHANGES.
9261         (TextSlave::checkSelectionPoint): Add comments to APPLE_CHANGES.
9262
9263         * khtml/xml/dom_stringimpl.cpp: Add comments to APPLE_CHANGES.
9264
9265         * khtml/xml/xml_tokenizer.cpp: (XMLTokenizer::end): Remove APPLE_CHANGES.
9266         * kwq/KWQsignals.mm: Add a new signal dummy function.
9267
9268         * kwq/WebCoreJavaScript.h: Fix header.
9269         * kwq/WebCoreJavaScript.mm: Fix header.
9270
9271         * kwq/WebCoreSettings.h: Added. Not used yet.
9272         * kwq/WebCoreSettings.m: Added. Not used yet.
9273         * WebCore.pbproj/project.pbxproj: Added WebCoreSettings.h and .m.
9274
9275         * English.lproj/InfoPlist.strings: Fixed a spelling error.
9276
9277         * kwq/WebCoreTextRendererFactory.h: Tweak.
9278
9279 2002-07-22  Maciej Stachowiak  <mjs@apple.com>
9280
9281         Fixed Radar 3004897 - assert at mapquest
9282
9283         * khtml/html/html_baseimpl.cpp:
9284         (HTMLIFrameElementImpl::attach): Put back frame name uniqueness
9285         check. Lack of this check was causing duplicate frames to be left
9286         floating in space.
9287         * kwq/KWQKHTMLPartImpl.mm:
9288         (KWQKHTMLPartImpl::requestFrame): Add an assertion that no frame
9289         of the requested name already exists.
9290
9291 2002-07-22  David Hyatt  <hyatt@apple.com>
9292
9293         Fix for bug 3004889, plugin content on stylesheet pages not
9294         showing up.  The rendering tree needed to perform an update
9295         when all children had arrived, and this was being handled by
9296         the parser.  With async rendering construction, I had to store
9297         this in the content node instead, so it could do the update
9298         once the render object was built at a later date.
9299         
9300         * khtml/html/html_objectimpl.cpp:
9301         (HTMLObjectElementImpl::HTMLObjectElementImpl):
9302         (HTMLObjectElementImpl::attach):
9303         * khtml/html/html_objectimpl.h:
9304         * khtml/html/htmlparser.cpp:
9305         (KHTMLParser::processCloseTag):
9306
9307 2002-07-22  David Hyatt  <hyatt@apple.com>
9308
9309         This checkin adds support for querying the selected style set,
9310         for querying the preferred style set, and for changing the
9311         selected style set dynamically.  With this checkin, a Web page
9312         in Alexander now has the capability to present its own alternate
9313         stylesheet UI in the page and to toggle between sets using script.
9314         
9315         * khtml/dom/css_stylesheet.cpp:
9316         (DocumentStyle::preferredStylesheetSet):
9317         (DocumentStyle::setSelectedStylesheetSet):
9318         (DocumentStyle::selectedStylesheetSet):
9319         * khtml/dom/css_stylesheet.h:
9320         Added new methods to the DocumentStyle interface as per Hixie's
9321         proposed spec.
9322         
9323         * khtml/dom/dom_doc.cpp:
9324         * khtml/dom/dom_doc.h:
9325         * khtml/ecma/kjs_dom.cpp:
9326         (DOMDocument::getValueProperty):
9327         (DOMDocument::tryPut):
9328         (DOMDocument::putValue):
9329         * khtml/ecma/kjs_dom.h:
9330         Implement the JS binding glue for the new properties.
9331         
9332         * khtml/xml/dom_docimpl.cpp:
9333         (DocumentImpl::processHttpEquiv):
9334         (DocumentImpl::preferredStylesheetSet):
9335         (DocumentImpl::selectedStylesheetSet):
9336         (DocumentImpl::setSelectedStylesheetSet):
9337         (DocumentImpl::recalcStyleSelector):
9338         * khtml/xml/dom_docimpl.h:
9339         The implementation of the new properties.  Also fixed a bug
9340         caused by the 3.02 merge in the stylesheet filtering code in
9341         recalcStyleSelector.
9342         
9343 2002-07-22  Maciej Stachowiak  <mjs@apple.com>
9344
9345         Merged WebCoreBridge and WebCoreFrameBridge.
9346
9347         * kwq/KWQKHTMLPartImpl.mm:
9348         (KWQKHTMLPartImpl::openURLInFrame): Use bridge, not frameBridge.
9349         (KWQKHTMLPartImpl::urlSelected): Use bridge, not frameBridge.
9350         (KWQKHTMLPartImpl::submitForm): Use bridge, not frameBridge.
9351         (KWQKHTMLPartImpl::findFrame): Use bridge, not frameBridge.
9352         (KWQKHTMLPartImpl::frames): Use bridge, not frameBridge.
9353         * kwq/WebCoreBridge.h:
9354         * kwq/WebCoreBridge.mm:
9355         (-[WebCoreBridge dealloc]): Free RenderPart if set.
9356         (-[WebCoreBridge renderPart]): Moved here from WebFrameBridge.
9357         (-[WebCoreBridge setRenderPart:]): Moved here from WebFrameBridge.
9358         (-[WebCoreBridge copyRenderNode:khtml::copier:]): No more need to get render part from frame bridge.
9359         (-[WebCoreBridge installInFrame:]): No more need to get render part from frame bridge.
9360         * kwq/WebCoreFrameBridge.h: Removed.
9361         * kwq/WebCoreFrameBridge.mm: Removed.
9362         * WebCore.exp: Removed WebCoreFrameBridge.
9363         * WebCore.pbproj/project.pbxproj: Removed WebCoreFrameBridge.
9364
9365 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
9366
9367         Removed provisional/committed distinction from WebCore and the
9368         WebCore SPI. WebCore will never see a provisional data source or
9369         provisional anything, any more.
9370
9371         * kwq/KWQScrollView.mm: Remove mention of provisional widget from comment.
9372         * kwq/WebCoreFrameBridge.h: Remove commitedBridge method, and remove comment
9373         about provisionality from bridge method.
9374         * kwq/KWQKHTMLPartImpl.mm:
9375         (KWQKHTMLPartImpl::write): Remove bogus comment about provisional/committed
9376         transition.
9377         (KWQKHTMLPartImpl::findFrame): Call bridge, not committedBridge.
9378         (KWQKHTMLPartImpl::frames): Likewise.
9379
9380 2002-07-21  Darin Adler  <darin@apple.com>
9381
9382         * khtml/*: Roll KDE 3.0.2 changes in. Also switch to not using APPLE_CHANGES
9383         for some of the changes that we definitely want to contribute upstream.
9384
9385         * WebCore.pbproj/project.pbxproj: Add KWQStyle.mm, remove KWQStyle.h, moving contents
9386         into qstyle.h.
9387
9388         * kwq/KWQApplication.mm: (QApplication::globalStrut): Remove _logNotYetImplemented().
9389
9390         * kwq/KWQButton.mm: (QButton::QButton): Use plain release, not autorelease.
9391         * kwq/KWQComboBox.mm: (QComboBox::init): Use plain release, not autorelease.
9392         * kwq/KWQListBox.mm: (QListBox::QListBox): Use plain release, not autorelease.
9393         * kwq/KWQPainter.mm: (QPainter::drawArc): Use plain release, not autorelease.
9394
9395         * kwq/KWQKHTMLPartBrowserExtension.mm: Remove import of KWQKHTMLPartImpl.h, now that
9396         it's always part of khtml_part.h.
9397         * kwq/KWQKHTMLPartImpl.cpp: Simplify.
9398         * kwq/KWQKHTMLPartImpl.h: Add wrapper to allow multiple inclusion. Don't include
9399         khtml_part.h any more, since that file now includes this one to minimize changes to
9400         KDE code that needs to get to functions in here.
9401         * kwq/KWQKHTMLPartImpl.mm:
9402         (KHTMLPart::onURL), (KHTMLPart::nodeActivated), (KHTMLPart::setStatusBarText):
9403         Moved here from khtml_part.cpp.
9404         * kwq/KWQLoaderImpl.mm: Include khtml_part.h instead of KWQKHTMLPartImpl.h.
9405
9406         * kwq/KWQPushButton.mm:
9407         (buttonFontMetrics), (QPushButton::fontMetrics): Added. Used by the form code to size buttons.
9408         * kwq/KWQStyle.mm: Added.
9409         (QStyle::sizeFromContents): Added. Used by the form code to size buttons.
9410
9411         * kwq/KWQStyle.h: Removed.
9412         * kwq/qt/qstyle.h: Moved contents of KWQStyle.h in here.
9413         * kwq/qt/qwidget.h: Include <qstyle.h> rather than KWQStyle.h.
9414
9415         * kwq/WebCoreBridge.mm: (-[WebCoreBridge isFrameSet]): Call straight to impl.
9416
9417         * kwq/kdeui/klineedit.h: Add KLineEdit::frameWidth().
9418         * kwq/qt/qnamespace.h: Remove GUIStyle, MacStyle, and WindowsStyle.
9419         * kwq/qt/qpaintdevice.h: Add QInternal, QInternal::Printer, and QPaintDevice::devType().
9420         * kwq/qt/qpainter.h: Add QPainter::device().
9421         * kwq/qt/qpushbutton.h: Add QPushButton::fontMetrics().
9422
9423 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
9424
9425         Fix a recent regression that made JavaScript window closing
9426         crash. Window closing was counting on delayed dealloc/destruction
9427         of things associated with the window, but now that we have made
9428         deallocs more synchronous, we need to add an explicit delay in
9429         this case.
9430
9431         Also, change some fprintf diagnostics of things that should never
9432         happen into assertions, since I actually ran into one.
9433         
9434         * kwq/KWQKHTMLPartImpl.h:
9435         * kwq/KWQKHTMLPartImpl.mm:
9436         (KWQKHTMLPartImpl::slotData): Change fprintf diagnostic to assertion,
9437         remove comment that the diagnostic should be removed.
9438         (KWQKHTMLPartImpl::end): Change fprintf diagnostic to assertion,
9439         remove comment that the diagnostic should be removed.
9440         (KWQKHTMLPartImpl::scheduleClose): Renamed from close, changed to schedule
9441         window closing from the run loop rather than doing it immediately.
9442         * khtml/ecma/kjs_window.cpp:
9443         (Window::scheduleClose): Adjusted for above rename.
9444
9445 2002-07-21  David Hyatt  <hyatt@apple.com>
9446
9447         * khtml/html/html_headimpl.cpp:
9448         (HTMLLinkElementImpl::process):
9449         Fix incorrect handling of alternate stylesheets that could
9450         cause KHTML to incorrectly interpret alternate representation
9451         links (e.g., <link rel=alternate> to a PDF representation)) as 
9452         alternate stylesheets instead.
9453         
9454         * khtml/xml/dom_docimpl.cpp:
9455         (DocumentImpl::processHttpEquiv):
9456         Add support for the selection of alternate stylesheets and
9457         preferred stylesheet sets as specified in section 14.3.2 of
9458         the HTML 4.0 spec.  If you want to hook up a UI to expose
9459         alternate stylesheets, the back end code is ready to rock. :)
9460         
9461         (DocumentImpl::recalcStyleSelector):
9462         Fixed a bug in recalcStyleSelector that could lead it to
9463         pick an alternate stylesheet as a preferred set incorrectly
9464         (thus loading alternate stylesheets when it shouldn't).  This
9465         is probably the cause of bungled display on some pages with
9466         alternate stylesheets (e.g., Eric Meyer's pages).
9467
9468         On Ian Hickson's simple import test suite, we now pass tests 35 and
9469         36 (where before both were failed).
9470         
9471 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
9472
9473         * Makefile.am: Remove products from symroots on `make clean'.
9474
9475 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
9476
9477         * WebCore.pbproj/project.pbxproj: Set directories for the group
9478         folders, so that creating new files in them will put them in the
9479         right directory by default.
9480
9481 2002-07-21  David Hyatt  <hyatt@apple.com>
9482
9483         Fixing bug 3003837, list boxes are extremely slow.  The
9484         buildup of a list box was order n squared, since on every
9485         insert of an item the list box was rebuilding its entire
9486         contents.  This patch adds smarts to the list buildup, so that
9487         the underlying NSBrowser only rebuilds itself one time, after
9488         all the items have been inserted.
9489
9490         This speeds up the Bugzilla forms page on cvs-base by 60%.
9491         
9492         * khtml/rendering/render_form.cpp:
9493         (RenderSelect::updateFromElement):
9494         Patched to make calls to beginBatchInsert and endBatchInsert
9495         on KListBox.
9496         
9497         * kwq/KWQListBox.h:
9498         * kwq/KWQListBox.mm:
9499         (QListBox::QListBox):
9500         (QListBox::insertItem):
9501         (QListBox::beginBatchInsert):
9502         (QListBox::endBatchInsert):
9503         If in the middle of a batch insert, the insertitem function will
9504         not rebuild the NSBrowser's list.  endBatchInsert will actually
9505         do this now.
9506         
9507 2002-07-20  David Hyatt  <hyatt@apple.com>
9508
9509         This patch fixes the FOUC (flash of unstyled content) problem.
9510         
9511         * khtml/css/cssstyleselector.cpp:
9512         * khtml/css/cssstyleselector.h:
9513         If stylesheets are still loading, the styleForElement method
9514         will return a default "display: none" style that prevents
9515         the rendering tree from being built for that element.  
9516         
9517         * khtml/html/html_headimpl.cpp:
9518         (HTMLLinkElementImpl::process):
9519         (HTMLLinkElementImpl::setStyleSheet):
9520         (HTMLStyleElementImpl::sheetLoaded):
9521         The link element has been patched to notify the document
9522         when stylesheet loads start and finish.
9523         
9524         * khtml/html/htmlparser.cpp:
9525         (KHTMLParser::startBody):
9526         This function has been hacked to unblock the layout of
9527         inlines within a block.  This can be done the moment the
9528         stylesheet loads have been kicked off (you don't have to
9529         wait for them to finish).
9530         
9531         * khtml/rendering/render_object.h:
9532         Contains a new method for recursively descending into the
9533         render tree to unblock the layout of inlines.  This is done
9534         as soon as the <body> is encountered, so the render tree is
9535         small at the time the unblocking occurs.
9536         
9537         * khtml/xml/dom_docimpl.cpp:
9538         (DocumentImpl::DocumentImpl):
9539         (DocumentImpl::stylesheetLoaded):
9540         (DocumentImpl::updateStyleSelector):
9541         The new function, stylesheetLoaded, is invoked by link elements
9542         when a stylesheet loads.  It simply decrements the loading sheet
9543         count and calls updateStyleSelector.  updateStyleSelector has
9544         been patched to avoid the recalculation of style until all 
9545         stylesheets have loaded.
9546         
9547         * khtml/xml/dom_docimpl.h:
9548         Two new methods.  The first, stylesheetLoaded, is described
9549         above.  The second is haveStylesheetsLoaded, which indicates
9550         whether or not all the sheets have completed loading.  A single
9551         new member variable, m_pendingStylesheets, tracks the number
9552         of sheets currently pending.
9553         
9554 2002-07-20  Darin Adler  <darin@apple.com>
9555
9556         * khtml/css/css_ruleimpl.cpp: (CSSImportRuleImpl::~CSSImportRuleImpl):
9557         Fix a potential leak by doing setParent(0) here just as is done in
9558         CSSMediaRuleImpl.
9559
9560         * kwq/WebCoreBridge.h: Fix a misspelling of visible.
9561
9562 2002-07-20  Maciej Stachowiak  <mjs@apple.com>
9563
9564         Changed the code to handle "icon" and "SHORTCUT ICON" links
9565         separately, and give higher priority to the former.
9566
9567         - fixed 3003672 - Assertion failure related to iconloader on metafilter
9568         
9569         * khtml/html/html_headimpl.cpp:
9570         (HTMLLinkElementImpl::process): Changed to handle both "icon" and
9571         "SHORTCUT ICON" links properly.
9572         * kwq/KWQKHTMLPartBrowserExtension.mm:
9573         (KHTMLPartBrowserExtension::setIconURL): Moved here from
9574         KWQKHTMLPartImpl to do it more the way KDE does.
9575         (KHTMLPartBrowserExtension::setTypedIconURL): New method for
9576         handling moz-style icon links, which include a type as well as a
9577         URL.
9578         * kwq/KWQKHTMLPartImpl.h:
9579         * kwq/KWQKHTMLPartImpl.mm:
9580         (KWQKHTMLPartImpl::loadIcon): Removed.
9581         * kwq/WebCoreBridge.h: Prototype setIcon: and setIcon:withType: methods.
9582         * kwq/khtml/khtml_ext.h: Prototype new methods.
9583         * kwq/kparts/browserextension.h: Make setIcon pure virtual instead
9584         of a no-op.
9585
9586 2002-07-19  Chris Blumenberg  <cblu@apple.com>
9587
9588         Per darin, only define loadIcon in KWQKHTMLPartImpl
9589
9590         * khtml/html/html_headimpl.cpp:
9591         (HTMLLinkElementImpl::process):
9592         * khtml/khtml_part.cpp:
9593         * khtml/khtml_part.h:
9594
9595 2002-07-19  Chris Blumenberg  <cblu@apple.com>
9596
9597         * khtml/html/html_headimpl.cpp:
9598         (HTMLLinkElementImpl::process): added an APPLE_CHANGES
9599         * khtml/khtml_part.cpp: 
9600         (KHTMLPart::loadIcon): added
9601         * khtml/khtml_part.h: added loadIcon
9602         * kwq/KWQKHTMLPartImpl.h: added loadIcon
9603         * kwq/KWQKHTMLPartImpl.mm: added loadIcon
9604         (KWQKHTMLPartImpl::loadIcon):
9605         * kwq/WebCoreBridge.h: added loadIcon
9606
9607 2002-07-19  Darin Adler  <darin@apple.com>
9608
9609         * khtml/css/makeprop: Fail if we don't find gperf.
9610         * khtml/misc/makeattrs: Fail if we don't find gperf.
9611         * khtml/misc/maketags: Fail if we don't find gperf.
9612
9613 2002-07-19  Maciej Stachowiak  <mjs@apple.com>
9614
9615         * kwq/WebCoreBridge.mm:
9616         (-[WebCoreBridge installInFrame:]): Assert that this bridge is
9617         either for the main frame, or that it's frame has a render
9618         part. If neither of these conditions is met, the view will never
9619         get installed in the view hiearchy leading to nasty silent
9620         failure; and this condition should be guaranteed.
9621
9622 2002-07-18  David Hyatt  <hyatt@apple.com>
9623
9624         * khtml/css/css_valueimpl.cpp:
9625         Changed the QRegExps used for font family matching to statics.  Helped out
9626         one page on the base tests a fair bit.  Overall (spread over all 40 pages)
9627         it's not that big though.
9628         
9629 2002-07-18  David Hyatt  <hyatt@apple.com>
9630
9631         Small change that gives us 25% speedup (uncached) on the cvs-base suite.
9632
9633         * khtml/css/cssstyleselector.cpp:
9634         Optimized CLASS style comparison to avoid allocing QStrings when the CLASS
9635         attribute only contains one entry (as opposed to a list of entries).
9636         
9637 === Alexander-13 ===
9638
9639 2002-07-17  Darin Adler  <darin@apple.com>
9640
9641         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::requestFrame):
9642         Take out bogus check for nil path -- a URL with a nil path is OK, for example "about:blank".
9643         Also improved log message.
9644
9645 2002-07-16  Maciej Stachowiak  <mjs@apple.com>
9646
9647         Moved URL mouseover status to KWQKHTMLPartImpl, and made it
9648         responsive to modifier key presses, if enabled. Fixes:
9649
9650         Radar 2980152 - Link mouseover status messages are not localizable
9651         Radar 2982043 - Link mouse-over status should change in response to modifier keys
9652
9653         * khtml/khtml_part.cpp:
9654         (KHTMLPart::overURL): Remove extensive APPLE_CHANGES, and just call the
9655         impl method.
9656         * kwq/KWQKHTMLPartImpl.h: Prototype overURL method.
9657         * kwq/KWQKHTMLPartImpl.mm:
9658         (KWQKHTMLPartImpl::overURL): Construct status messages using format strings
9659         for localizability; change message in response to modifiers if modifier
9660         tracking is enabled.
9661         * kwq/WebCoreBridge.h: Prototype modifierTrackingEnabled method.
9662
9663 2002-07-16  Richard Williamson  <rjw@apple.com>
9664
9665         Fixed field length test.  We were testing >= instead of >.
9666         * kwq/KWQNSTextField.mm:
9667         (-[KWQNSTextFieldFormatter isPartialStringValid:newEditingString:errorDescription:]):
9668
9669 2002-07-16  Darin Adler  <darin@apple.com>
9670
9671         - fixed 2997244 -- crash when visiting cnn.com followed by another page
9672
9673         Turns out the requestFrame code I've been tinkering with used to be
9674         dead code until we accidentally re-triggered the code path.
9675
9676         * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::attach):
9677         Remove APPLE_CHANGES that were causing us to reuse the same frame which
9678         were an attempt to fix a frame targeting problem that was actually elsewhere.
9679
9680         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::requestFrame): Remove the code
9681         that handles the case of an already-existing frame with the same name. This
9682         is handled at a higher level.
9683
9684         * kwq/WebCoreBridge.h: Remove now-unneeded childFrameNamed method.
9685
9686 2002-07-16  Darin Adler  <darin@apple.com>
9687
9688         - fixed 2998692 -- crash when you type "googl" into the page address
9689
9690         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::requestFrame): Check for
9691         a nil part here to restore the old behavior. Whether that's OK or not
9692         is another question that I'd prefer to deal with later.
9693
9694 2002-07-16  Darin Adler  <darin@apple.com>
9695
9696         * almost every file: Renamed IF* -> Web*.
9697
9698 2002-07-15  Darin Adler  <darin@apple.com>
9699
9700         A teeny weeny bit of refactoring.
9701
9702         * kwq/WebCoreBridge.mm:
9703         (-[WebCoreBridge stateForEvent:]): Replaces addModifiers:toState:.
9704         (-[WebCoreBridge mouseUp:]): Use stateForEvent:.
9705         (-[WebCoreBridge mouseDown:]): Use stateForEvent:.
9706         (-[WebCoreBridge mouseMoved:]): Use stateForEvent:.
9707
9708 2002-07-15  Richard Williamson  <rjw@apple.com>
9709
9710         Added isFrameSet method.
9711         
9712         * WebCore.pbproj/project.pbxproj:
9713         * khtml/khtml_part.cpp:
9714         (KHTMLPart::isFrameSet):
9715         * khtml/khtml_part.h:
9716         * kwq/KWQKHTMLPart.mm:
9717         * kwq/KWQKHTMLPartImpl.cpp: Added.
9718         (KWQKHTMLPartImpl::isFrameSet):
9719         * kwq/KWQKHTMLPartImpl.h:
9720         * kwq/WebCoreBridge.h:
9721         * kwq/WebCoreBridge.mm:
9722         (-[WebCoreBridge isFrameSet]):
9723
9724 2002-07-15  Darin Adler  <darin@apple.com>
9725
9726         * WebCore.pbproj/project.pbxproj: Removed KWQKPrinter.mm.
9727         * kwq/KWQKPrinter.mm: Removed.
9728
9729 2002-07-15  Darin Adler  <darin@apple.com>
9730
9731         * WebCore.pbproj/project.pbxproj: Removed unused qpopupmenu.h.
9732         * kwq/kdecore/ksimpleconfig.h: Removed unnecessary include of <config.h>.
9733         * kwq/kio/global.h: Removed unnecessary include of <config.h>.
9734         * kwq/kio/kprinter.h: Emptied out this file.
9735         * kwq/qt/qpopupmenu.h: Removed.
9736         * kwq/qt/qstylesheet.h: Removed unnecessary include of <config.h>.
9737         * kwq/qt/qtextedit.h: Removed unnecessary include of <config.h>.
9738
9739 2002-07-15  Darin Adler  <darin@apple.com>
9740
9741         * kwq/qt/qfontmetrics.h: Remove unused, and not properly implemented,
9742         empty constructor. Add some const that was missing. Remove most of the
9743         parameters of size().
9744         * kwq/KWQFontMetrics.mm:
9745         (QFontMetrics::charWidth): Add const.
9746         (QFontMetrics::floatWidth): Add const.
9747         (QFontMetrics::floatCharacterWidth): Add const.
9748         (QFontMetrics::size): Remove unused parameters.
9749
9750         * kwq/WebCoreTextRenderer.h: Remove two unused drawString methods and one
9751         unused widthForCharacters method.
9752
9753 2002-07-14  Darin Adler  <darin@apple.com>
9754
9755         * kwq/WebCoreFrame.mm: (-[WebCoreFrame dealloc]): Fix NULL-dereferencing
9756         problem that was hidden by the "leak the world" bug in WebBrowser.
9757
9758 2002-07-14  Maciej Stachowiak  <mjs@apple.com>
9759
9760         Assign getView() results to variable of appropriate type to work
9761         around apparent ObjC++ compiler bug. I wonder why other people
9762         aren't running into this (and why I haven't run into it before).
9763
9764         * kwq/KWQButton.mm:
9765         (QButton::setText):
9766         (QButton::text):
9767         * kwq/KWQLineEdit.mm:
9768         (QLineEdit::setEchoMode):
9769         (QLineEdit::setText):
9770         (QLineEdit::text):
9771         (QLineEdit::setMaxLength):
9772         (QLineEdit::isReadOnly):
9773         (QLineEdit::setReadOnly):
9774         (QLineEdit::maxLength):
9775         (QLineEdit::selectAll):
9776         (QLineEdit::edited):
9777         (QLineEdit::setEdited):
9778
9779 2002-07-14  Darin Adler  <darin@apple.com>
9780
9781         * WebCore-tests.exp: Tests needed access to QPoint, QString, and KURL symbols
9782         that were formerly exported for the benefit of WebKit.
9783
9784         * kwq/KWQPixmap.mm: I needed to touch something since .exp files don't cause
9785         a rebuild, so I fixed a comment in here.
9786
9787 2002-07-14  Darin Adler  <darin@apple.com>
9788
9789         Changes to WebCore that allow WebKit to work through Objective C without going
9790         straight to the KHTML headers. Also remove a bunch of unused stuff, especially
9791         in QPainter.
9792
9793         * WebCore.exp: Export the new classes WebCoreCache and WebCoreJavaScript.
9794         Don't export any C++ symbols at all.
9795
9796         * WebCore.pbproj/project.pbxproj: Remove KWQWMatrix.mm, add WebCoreCache.*
9797         and WebCoreJavaScript.*.
9798
9799         * khtml/khtml_part.cpp: Put more unused code inside ifndef APPLE_CHANGES.
9800         * khtml/khtmlview.cpp: Put unused code inside #ifndef APPLE_CHANGES
9801         * khtml/khtmlview.h: Put unused virtual functions inside #ifndef APPLE_CHANGES.
9802         * khtml/misc/loader.cpp: (CachedImage::tiled_pixmap): Change this so it
9803         always returns pixmap(). Handling it at this level is better than changing
9804         all the callers for now.
9805         * khtml/rendering/render_box.cpp: (RenderBox::printBackground): Took out the
9806         APPLE_CHANGES now that tiled_pixmap() always just returns pixmap().
9807         * khtml/rendering/render_frames.cpp: (RenderFrameSet::userResize): Put some
9808         unused code inside APPLE_CHANGES.
9809
9810         * kwq/KWQKHTMLPart.mm:
9811         (KWQKHTMLPartImpl::requestFrame): Made it get the view using the bridge, since we
9812         don't have a [widget] method on the frame any more.
9813         (KWQKHTMLPartImpl::findFrame): Used committedBridge instead of bridge, since
9814         I changed bridge to return the provisional if available.
9815         (KWQKHTMLPartImpl::frames): Used committedBridge instead of bridge, since
9816         I changed bridge to return the provisional if available.
9817
9818         * kwq/qt/qpixmap.h: Put an empty version of QWMatrix in here. We don't actually ever
9819         need a real matrix, just a class to let us compile.
9820
9821         * kwq/qt/qpainter.h: Moved QWMatrix into qpixmap.h. Removed constructors that take
9822         QPixmap and QWidget. Removed unused variants of drawText. Removed unused setClipping,
9823         setClipRect, hasClipping, translate, scale, begin, end, and device functions.
9824         * kwq/KWQPainter.mm:
9825         (QPainter::QPainter): Remove the constructors that take a paint device, widget,
9826         or pixmap. We can get away without them.
9827         (QPainter::save): Simplify. Also remove the optimization for painters without
9828         stacks, since having an empty stack is very inexpensive.
9829         (QPainter::restore): Simplify.
9830         (QPainter::_drawPoints): Move paintingDisabled check in here.
9831         (QPainter::drawText): Removed many unused drawText variants.
9832
9833         * kwq/KWQView.h: Tweaked.
9834         * kwq/KWQView.mm: Removed [KWQView drawRect:].
9835
9836         * kwq/KWQWMatrix.mm: Removed.
9837
9838         * kwq/qt/qwidget.h: Removed paint() virtual function.
9839         * kwq/KWQWidget.mm: Removed QWidget::paint().
9840
9841         * kwq/WebCoreBridge.h: Added new methods installInFrame:, removeFromFrame,
9842         mouseDown:, mouseUp:, mouseMoved:, mouseDragged:, copyDOMTree:, and copyRenderTree:.
9843
9844         * kwq/WebCoreBridge.mm:
9845         (-[WebCoreBridge dealloc]): Call removeFromFrame.
9846         (-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]):
9847         Don't return the view any more, also set bridgeOwnsKHTMLView to YES.
9848         (-[WebCoreBridge copyDOMNode:DOM::copier:]): Added helper method for copyDOMTree.
9849         (-[WebCoreBridge copyDOMTree:]): Added method to be used by IFDOMNode to get at DOM
9850         tree without using C++.
9851         (-[WebCoreBridge copyRenderNode:khtml::copier:]): Added helper method for copyRenderTree.
9852         (-[WebCoreBridge copyRenderTree:]): Added method to be used by IFRenderNode to get at
9853         render tree without using C++.
9854         (-[WebCoreBridge removeFromFrame]): Added. Deletes the view if we own it. We don't want
9855         to wait for dealloc time to do this, since a lingering view might be visible.
9856         (-[WebCoreBridge installInFrame:]): Added. Does a set of things we need to do at the
9857         time we commit a provisional data source.
9858         (-[WebCoreBridge addModifiers:toState:]): Moved here from IFHTMLView.
9859         (-[WebCoreBridge mouseUp:]): Added. Used to get a mouse up event to the KHTMLView.
9860         (-[WebCoreBridge mouseDown:]): Added. Used to get a mouse down event to the KHTMLView.
9861         (-[WebCoreBridge mouseMoved:]): Added. Used to get a mouse moved event to the KHTMLView.
9862         (-[WebCoreBridge mouseDragged:]): Added. Used to get a mouse moved event to the KHTMLView
9863         in the case where we are dragging -- perhaps could be merged with mouseMoved.
9864
9865         * kwq/WebCoreCache.h: Added. Allows control of the WebCore cache; previously done directly
9866         in IFCache in WebKit.
9867         * kwq/WebCoreCache.mm: Added.
9868
9869         * kwq/WebCoreFrame.h: Remove widget method. Change semantics of bridge method to return
9870         provisional bridge if available, which corresponds to what the widget method did before.
9871         Added a committedBridge method that has the semantics that bridge did before.
9872
9873         * kwq/WebCoreJavaScript.h: Added. Returns statistics about the state of JavaScript objects;
9874         previously done directly in IFCache in WebKit.
9875         * kwq/WebCoreJavaScript.mm: Added.
9876
9877 2002-07-13  Darin Adler  <darin@apple.com>
9878
9879         * WebCore.pbproj/project.pbxproj: Add a few files that are sources
9880         although they should not be compiled for any target.
9881
9882         * kwq/qt/qpushbutton.h: Simplified.
9883         * kwq/KWQPushButton.mm: (QPushButton::QPushButton): Implemented text parameter.
9884
9885 2002-07-13  Darin Adler  <darin@apple.com>
9886
9887         * ForwardingHeaders/*: Added. New approach to headers to try to
9888         make Project Builder's header dependency support work even for
9889         includes like #include <render/render_object.h>.
9890         * kwq/kjs/*: Removed. Now part of ForwardingHeaders.
9891
9892         * Makefile.am: Remove embed.am support.
9893
9894         * WebCore.pbproj/project.pbxproj: Remove other search paths, and
9895         add ForwardingHeaders directory as a search path. Add qucomextra_p.h.
9896         
9897         * khtml/ecma/kjs_navigator.cpp: Made gratuitous changes to touch this
9898         file to make things build without requiring clean rebuild.
9899
9900         * khtml/rendering/render_form.cpp: Removed many unneeded QObject::
9901         qualifiers from inside APPLE_CHANGES to touch this file to make things
9902         build without requiring clean rebuild.
9903
9904         * kwq/KWQButton.mm: (QButton::setText), (QButton::text):
9905         * kwq/KWQColor.mm: (QColor::setNamedColor):
9906         * kwq/KWQKConfigBase.mm: (KConfig::readEntry):
9907         * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::stdFontName), (KHTMLSettings::fixedFontName):
9908         (KHTMLSettings::serifFontName), (KHTMLSettings::sansSerifFontName),
9909         (KHTMLSettings::cursiveFontName), (KHTMLSettings::fantasyFontName), (KHTMLSettings::encoding):
9910         * kwq/KWQKLocale.mm: (i18n):
9911         * kwq/KWQKMessageBox.mm: (KMessageBox::error), (KMessageBox::warningYesNo):
9912         (KMessageBox::questionYesNo), (KMessageBox::sorry):
9913         * kwq/KWQListBox.mm: (-[KWQBrowserDelegate browser:willDisplayCell:atRow:column:]):
9914         * kwq/WebCoreBridge.mm: (-[WebCoreBridge selectedText]):
9915         Wean from QSTRING_TO_NSSTRING and NSSTRING_TO_QSTRING.
9916
9917         * kwq/KWQComboBox.mm:
9918         (QComboBox::insertItem): Wean from QSTRING_TO_NSSTRING. Note that this
9919         now stores a copy of the string in the array. The old version was unsafe
9920         if anyone later modified the QString that was passed in.
9921
9922         * kwq/KWQFontMetrics.mm: (QFontMetrics::width):
9923         * kwq/KWQPainter.mm: (QPainter::drawUnderlineForText), (QPainter::drawText):
9924         Wean from QSTRING_TO_NSSTRING_LENGTH and _FAST_QSTRING_TO_NSSTRING. We still have
9925         speed as high as before, in the "length" case slightly faster.
9926
9927         * kwq/qt/qstring.h: Remove QSTRING_TO_NSSTRING family of macros.
9928
9929         * kwq/KWQInvisibleButton.mm:
9930         * kwq/KWQKHTMLPart.mm:
9931         * kwq/KWQKHTMLPartBrowserExtension.mm:
9932         * kwq/KWQKJavaAppletWidget.mm:
9933         * kwq/KWQKloader.mm:
9934         * kwq/KWQView.mm:
9935         * kwq/KWQsignals.mm:
9936         * kwq/WebCoreBridge.mm:
9937         * kwq/kdecore/kconfig.h:
9938         * kwq/kdecore/klibloader.h:
9939         * kwq/kdecore/klocale.h:
9940         * kwq/khtml/khtml_ext.h:
9941         * kwq/khtml/khtml_factory.h:
9942         * kwq/kio/kmimetype.h:
9943         Remove subdirectory prefix from imports to match Project Builder include scheme.
9944
9945         * kwq/KWQKCursor.mm: (+[NSCursor _WebCore_linkCursor]):
9946         * kwq/KWQKLocale.mm: (i18n):
9947         * kwq/KWQKstddirs.mm: (locate):
9948         Use bundleForClass instead of bundleWithIdentifier to avoid any potential problems
9949         with multiple versions of the framework installed on the same system.
9950
9951         * kwq/KWQKLineEdit.mm:
9952         (KLineEdit::completionBox): Remove _logNotYetImplemented, since this is implemented
9953         well enough for our needs now, and if we need to implement it later, it will become
9954         clear from the application behavior. This should be the destiny of most of these.
9955
9956         * kwq/kdecore/kglobal.h: Simplify.
9957         * kwq/KWQKGlobal.mm: Simplify.
9958         * kwq/qt/qlineedit.h: Simplify.
9959         * kwq/KWQLineEdit.mm: Simplify.
9960
9961         * kwq/KWQPaintDeviceMetrics.mm: Remove unneeded import.
9962         * kwq/qt/qbutton.h: Remove unneeded destructor.
9963
9964 2002-07-13  Richard Williamson  <rjw@apple.com>
9965
9966         * kwq/KWQPainter.mm:
9967         Added disable drawing mode.
9968         (QPainter::drawRect):
9969         (QPainter::drawLine):
9970         (QPainter::drawEllipse):
9971         (QPainter::drawArc):
9972         (QPainter::drawLineSegments):
9973         (QPainter::drawPolyline):
9974         (QPainter::drawPolygon):
9975         (QPainter::drawConvexPolygon):
9976         (QPainter::drawPixmap):
9977         (QPainter::drawTiledPixmap):
9978         (QPainter::drawText):
9979         (QPainter::drawUnderlineForText):
9980         (QPainter::fillRect):
9981         (QPainter::setPaintingDisabled):
9982         
9983         * kwq/KWQWidget.mm:
9984         (QWidget::frameGeometry):
9985         Use the IFWebView's geometry.
9986         
9987         * kwq/WebCoreBridge.h:
9988         * kwq/WebCoreBridge.mm:
9989         (-[WebCoreBridge _drawRect:withPainter:]):
9990         (-[WebCoreBridge drawRect:]):
9991         (-[WebCoreBridge adjustFrames:]):
9992         Added adjustFrames:.  Factored some code.
9993         
9994         * kwq/qt/qpainter.h:
9995         Added setPaintingDisabled.
9996
9997         * khtml/html/html_baseimpl.cpp:
9998         (HTMLFrameElementImpl::attach):
9999         (HTMLIFrameElementImpl::attach):
10000         Removed uniqueness check.  Need to revisit vis-a-vis provisional ds.
10001         
10002 2002-07-12  Darin Adler  <darin@apple.com>
10003
10004         * WebCore.pbproj/project.pbxproj: Add WebCoreFrame.mm, also export all
10005         the WebCore headers as Private so WebKit can see them.
10006
10007         * khtml/khtmlview.cpp: (KHTMLView::drawContents): Remove APPLE_CHANGES
10008         since we don't use this function any more.
10009
10010         * kwq/KWQDef.h: Since <sys/types.h> now includes ushort and uint, update
10011         code here to take that into account.
10012
10013         * kwq/KWQKHTMLPartImpl.h: Added getView().
10014         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::getView): Added. Used by bridge.
10015
10016         * kwq/qt/qpainter.h:
10017         * kwq/KWQPainter.mm: Simplify a bit, and remove some unused stuff.
10018
10019         * kwq/WebCoreBridge.h: Add reapplyStyles, forceLayout, drawRect:.
10020         * kwq/WebCoreBridge.mm:
10021         (-[WebCoreBridge reapplyStyles]): Added.
10022         (-[WebCoreBridge forceLayout]): Added.
10023         (-[WebCoreBridge drawRect:]): Added.
10024
10025         * kwq/WebCoreFrame.h: Make this a class as well as an interface.
10026         * kwq/WebCoreFrame.mm: Added.
10027
10028         * WebCore.exp: Since WebCoreFrame is now a class as well as a protocol,
10029         export it so we can subclass.
10030
10031 2002-07-12  Darin Adler  <darin@apple.com>
10032
10033         Build WebCore with Project Builder instead of make.
10034         Also wean WebCore from peeking inside the WebKit bundle.
10035
10036         * WebCore.pbproj/.cvsignore: Added.
10037         * WebCore.pbproj/project.pbxproj: Added.
10038
10039         * Makefile.am: Removed rules about building the framework,
10040         and just use pbxbuild instead.
10041
10042         * dummy.mm: Removed.
10043
10044         * khtml/Makefile.am: Removed everything but SUBDIRS.
10045         * khtml/css/Makefile.am: Removed everything but the rules for
10046         generated sources.
10047         * khtml/dom/Makefile.am: Removed.
10048         * khtml/ecma/Makefile.am: Removed everything but the rules for
10049         generated sources.
10050         * khtml/html/Makefile.am: Removed everything but the rules for
10051         generated sources.
10052         * khtml/misc/Makefile.am: Removed everything but the rules for
10053         generated sources.
10054         * khtml/rendering/Makefile.am: Removed.
10055         * khtml/xml/Makefile.am: Removed.
10056         * kwq/Makefile.am: Removed everything but the rules for
10057         generated sources.
10058
10059         * kwq/KWQKLocale.mm: (i18n): Look in WebCore bundle, not WebKit bundle.
10060         * kwq/KWQKstddirs.mm:
10061         (locate): Look in WebCore bundle, not WebKit bundle. Also, always assume
10062         we are looking for html4.css.
10063         (locateLocal): Don't waste code making a bad path, just return empty string.
10064
10065         * kwq/qt/qpixmap.h:
10066         * kwq/KWQPixmap.mm: Changed convertToImage() to an inline since we
10067         never need to implement it.
10068
10069         * kwq/KWQKDebug.mm: Removed.
10070         * kwq/KWQKImageIO.mm: Removed.
10071         * kwq/kdecore/kcmdlineargs.h: Emptied out the file.
10072         * kwq/kdecore/kdebug.h: Made the do-nothing code here all be
10073         inlines for smaller code size.
10074
10075         * kwq/KWQScrollBar.h: Fixed header guard.
10076
10077         * .cvsignore:
10078         * kwq/.cvsignore:
10079         * khtml/dom/.cvsignore: Removed.
10080         * khtml/rendering/.cvsignore: Removed.
10081         * khtml/xml/.cvsignore: Removed.
10082         * kwq/kdecore/.cvsignore: Removed.
10083         * kwq/qt/.cvsignore: Removed.
10084         Don't ignore things we don't generate any more.
10085
10086         * kwq/kjs/collector.h: Added.
10087         * kwq/kjs/internal.h: Added.
10088         * kwq/kjs/interpreter.h: Added.
10089         * kwq/kjs/lookup.h: Added.
10090         * kwq/kjs/object.h: Added.
10091         Used so that khtml can see the headers from JavaScriptCore.
10092
10093 2002-07-11  Maciej Stachowiak  <mjs@apple.com>
10094
10095         Fixed Radar 2953254 - JavaScript window.scroll() and
10096         window.scrollBy() do not work
10097
10098         * khtml/ecma/kjs_window.cpp:
10099         (WindowFunc::tryCall): Handle Scroll the same as ScrollBy.
10100         * kwq/KWQScrollView.mm:
10101         (QScrollView::scrollBy): Implement this method, since it's needed
10102         for JS scrolling.
10103
10104 2002-07-10  Darin Adler  <darin@apple.com>
10105
10106         - fixed 2978796 -- Client-side image map not working
10107
10108         * kwq/KWQRegion.mm: (QRegion::QRegion): Implement constructor that
10109         takes a QPointArray.
10110
10111         * kwq/qt/qarray.h: Fix some const loopholes.
10112
10113         * kwq/KWQCString.mm:
10114         (QCString::find): Use const char * instead of char *.
10115         (QCString::contains): Use const char * instead of char *.
10116         (QCString::right): Use const char * instead of char *.
10117         (QCString::mid): Use const char * instead of char *.
10118
10119 2002-07-10  Maciej Stachowiak  <mjs@apple.com>
10120
10121         WebCore part of fix for:
10122
10123         Radar 2953250 - JavaScript window.focus() and window.blur()
10124         methods don't work
10125
10126         * khtml/ecma/kjs_window.cpp:
10127         (WindowFunc::tryCall): Call the appropriate things on focus and blur.
10128         * kwq/KWQKHTMLPart.mm:
10129         (KWQKHTMLPartImpl::unfocusWindow): Implemented by calling bridge.
10130         * kwq/KWQKHTMLPartImpl.h, kwq/KWQWidget.mm:
10131         (QWidget::setActiveWindow): Implemented by ordering the window
10132         front and making it key.
10133         * kwq/WebCoreBridge.h: Prototype new bridge method.
10134
10135 2002-07-10  Darin Adler  <darin@apple.com>
10136
10137         - fixed 2979153 -- charset sjis page is gibberish
10138
10139         * kwq/character-sets.txt: Add x-sjis as an alias for Shift JIS.
10140
10141 2002-07-10  Darin Adler  <darin@apple.com>
10142
10143         * kwq/KWQPixmap.mm:
10144         (QPixmap::QPixmap): Restore the imageRenderer == nil case to fix a regression
10145         related to resized images. Otherwise, isNull was returning true for all images.
10146         In copy constructor, set needCopyOnWrite on both the source and destination;
10147         setting it on the destination was not enough.
10148         (QPixmap::receivedData): Create the imageRenderer if it's nil.
10149         (QPixmap::operator=): Set needCopyOnWrite on both the source and destination.
10150
10151         * kwq/qt/qpixmap.h: Make needCopyOnWrite mutable so we can set it on the source
10152         when copying or assigning.
10153
10154 2002-07-10  Darin Adler  <darin@apple.com>
10155
10156         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::setBaseURL):
10157         Call setBaseURL on the underlying document all the time, not just
10158         when we add a missing "/" character.
10159
10160 2002-07-07  Maciej Stachowiak  <mjs@apple.com>
10161
10162         WebCore part of fix for Radar 2953431 - JavaScript window.close()
10163         method is not working
10164
10165         * khtml/ecma/kjs_window.cpp:
10166         (Window::scheduleClose): In AppleChanges
10167         * khtml/khtml_part.cpp:
10168         (KHTMLPart::openedByJS): Call kwq implementations, because we need
10169         to remember the openedByJS state across location changes, which in
10170         our case means replacing the part.
10171         (KHTMLPart::setOpenedByJS): Likewise.
10172         * kwq/KWQKHTMLPart.mm:
10173         (KWQKHTMLPartImpl::openedByJS): Implement by calling bridge.
10174         (KWQKHTMLPartImpl::setOpenedByJS): Likewise.
10175         (KWQKHTMLPartImpl::close): Likewise.
10176         * kwq/KWQKHTMLPartImpl.h: Prototype new PartImpl methods.
10177         * kwq/WebCoreBridge.h: Prototype new bridge methods.
10178
10179 2002-07-06  Darin Adler  <darin@apple.com>
10180
10181         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::write): Remove reference
10182         to nonexistent class in a comment.
10183         * kwq/KWQKHTMLPartImpl.h: Remove unused and unimplemented getDataSource().
10184
10185 2002-07-04  Maciej Stachowiak  <mjs@apple.com>
10186
10187         Say "Go to" instead of "Link to" for links that won't open a new
10188         window. Also, the code is now set up to change the status text
10189         when modifier keys are pressed, but the code is disabled for now
10190         because it's impossible to do reliably.
10191         
10192         * khtml/khtml_part.cpp:
10193         (KHTMLPart::overURL):
10194         (KHTMLPart::khtmlMouseMoveEvent):
10195         * khtml/khtml_part.h:
10196
10197 2002-07-03  Darin Adler  <darin@apple.com>
10198
10199         A small KURL speed improvement.
10200
10201         * khtml/misc/loader.cpp:
10202         (Cache::requestImage):
10203         (Cache::requestStyleSheet):
10204         (Cache::requestScript):
10205         Don't do the isMalformed check, because it's expensive and has no clear benefit.
10206         There's no harm in caching null results for malformed URLs.
10207
10208         * kwq/KWQKURL.mm:
10209         (KURL::KURL): Make the default constructor faster by not running all the
10210         normalize code on the empty string.
10211
10212 === Alexander-11 ===
10213
10214 2002-07-03  Maciej Stachowiak  <mjs@apple.com>
10215
10216         WebCore part of fixes for:
10217
10218         Radar 2950616 - JavaScript window.screenX and window.screenY always return -1
10219         Radar 2950614 - JavaScript window.screenLeft and window.screenTop
10220         properties are unimplemented
10221         Radar 2950609 - JavaScript window.outerHeight and
10222         window.outerWidth properties always return 0
10223
10224         * khtml/ecma/kjs_window.h:
10225         * khtml/ecma/kjs_window.cpp:
10226         (Window::get): Make ScreenLeft and ScreenTop synonyms for ScreenX
10227         and ScreenY respectively.
10228         * kwq/KWQKHTMLPart.mm:
10229         (KWQKHTMLPartImpl::setView): Set the real part's view too.
10230         * kwq/kdecore/kwin.h: Remove unneeded fields.
10231         * kwq/KWQKWin.mm:
10232         (KWin::info): Implemented.
10233         * kwq/qt/qwidget.h: 
10234         * kwq/KWQWidget.mm: 
10235         (QWidget::winId): Return long instead of int, to make sure there
10236         is room for a pointer even on 64-bit architectures.
10237         (QWidget::mapToGlobal): Use the top level widget to map.
10238
10239 2002-07-03  Richard Williamson  <rjw@apple.com>
10240
10241         * kwq/KWQScrollView.mm:
10242         (QScrollView::addChild):
10243         Fixed regression that caused IFWebView frame origin to sometimes
10244         never be set correctly.  (khtml sets the x origin to -500000
10245         during initialization, and it was never getting set correctly).
10246         This problem manifested itself as blank white frames.
10247         
10248         * kwq/KWQWidget.mm:
10249         (QWidget::internalSetGeometry):
10250
10251 2002-07-03  Maciej Stachowiak  <mjs@apple.com>
10252
10253         WebKit part of fix for:
10254
10255         Radar 2943465 - JavaScript window.defaultStatus property not implemented
10256         Radar 2943464 - JavaScript window.status property is not implemented
10257         Radar 2926213 - show url of moused-over link in status bar
10258
10259         Also fixed:
10260
10261         Radar 2980091 - KHTMLPart::findFrame() and KHTML::frameExists()
10262         should search all frames, not just child frames
10263         
10264         * khtml/khtml_part.cpp:
10265         (KHTMLPart::overURL): Unifdef most of this, but adjust the wording.
10266         (KHTMLPart::setStatusBarText): Implement by calling KWQKHTMLPartImpl.
10267         * khtml/khtml_part.h:
10268         * kwq/KWQKHTMLPart.mm:
10269         (KWQKHTMLPartImpl::frameExists): Search all frames, not just child frames.
10270         (KWQKHTMLPartImpl::findFrame): Search all frames, not just child frames.
10271         (KWQKHTMLPartImpl::setStatusBarText): Implemented by calling WebCoreBridge.
10272         * kwq/KWQKHTMLPartImpl.h:
10273         * kwq/WebCoreBridge.h: Declare new setStatusText method
10274         * kwq/kparts/part.h: Remove setStatusBarText method.
10275
10276 2002-07-02  Darin Adler  <darin@apple.com>
10277
10278         - fixed 2978806 -- Crash going to ebay home page
10279
10280         * khtml/ecma/kjs_navigator.cpp: (PluginBase::PluginBase): Check to be sure
10281         that we are not at the end of the "tokens" collection before dereferencing
10282         the iterator.
10283
10284 2002-07-01  Maciej Stachowiak  <mjs@apple.com>
10285
10286         Fixed Radar 2953256 - JavaScript window.moveTo() and
10287         window.moveBy() methods do not work
10288
10289         This was done by creating a class to wrap an NSWindow as a
10290         QWidget, which should be useful for many other window-related
10291         features.
10292         
10293         * kwq/KWQWidget.mm:
10294         (QWidget::x): Implement in terms of the virtual frameGeometry() method.
10295         (QWidget::y): Likewise.
10296         (QWidget::width): Likewise.
10297         (QWidget::height): Likewise.
10298         (QWidget::size): Likewise.
10299         (QWidget::pos): Likewise.
10300         (QWidget::topLevelWidget): Implement by creating a KWQWindowWidget
10301         (QWidget::isVisible): Added FIXME comment.
10302         * kwq/KWQWindowWidget.h: Added.
10303         * kwq/KWQWindowWidget.mm: Added.
10304         (KWQWindowWidget::fromNSWindow): Static method that maintains a
10305         dictionary of top-level widgets, and creates them on demand.
10306         (deleteOnWindowClose): Delete top level widget on close.
10307         (KWQWindowWidget::KWQWindowWidget):
10308         (KWQWindowWidget::~KWQWindowWidget):
10309         (KWQWindowWidget::sizeHint): Implemented using NSWindow.
10310         (KWQWindowWidget::minimumSizeHint): Likewise.
10311         (KWQWindowWidget::frameGeometry): Likewise.
10312         (KWQWindowWidget::topLevelWidget): Likewise.
10313         (KWQWindowWidget::mapToGlobal): Likewise.
10314         (KWQWindowWidget::mapFromGlobal): Likewise.
10315         (KWQWindowWidget::setCursor): No-op implementation.
10316         (KWQWindowWidget::internalSetGeometry): Implemented using NSWindow.
10317         * kwq/Makefile.am: Add new files to build.
10318         * kwq/qt/qwidget.h: Make methods virtual as needed.
10319
10320 2002-07-01  Darin Adler  <darin@apple.com>
10321
10322         * khtml/css/cssparser.cpp:
10323         * khtml/misc/htmlhashes.cpp:
10324         Remove workaround for a PFE bug that no longer affects us.
10325
10326         * khtml/xml/dom_nodeimpl.h:
10327         * khtml/xml/dom_nodeimpl.cpp:
10328         Remove some unneeded APPLE_CHANGES.
10329
10330         * WebCore.exp: One less symbol to export.
10331
10332 2002-06-29  Maciej Stachowiak  <mjs@apple.com>
10333
10334         WebCore part of fix for:
10335
10336         Radar 2942074 - JavaScript size, positioning and feature
10337         parameters to window.open are ignored
10338
10339         * kwq/WebCoreBridge.h: Add new calls needed for window
10340         size/position/feature getting and setting.
10341         * kwq/KWQKHTMLPartBrowserExtension.mm:
10342         (KHTMLPartBrowserExtension::createNewWindow): Set properties on window
10343         after creating it using new bridge calls; make it visible.
10344         * khtml/ecma/kjs_window.cpp:
10345         (WindowFunc::tryCall): Support scrollbars feature too.
10346         * kwq/kparts/browserextension.h: Include scrollbar setting stuff.
10347
10348 2002-06-28  Richard Williamson  <rjw@apple.com>
10349
10350         Use float character measurement to determine selection
10351         region.  Necessary to ensure accuracy of selection
10352         region.  First step towards weaning khtml off int
10353         measurements.
10354         
10355         * khtml/rendering/font.cpp:
10356         (Font::floatWidth):
10357         (Font::floatCharacterWidth):
10358         * khtml/rendering/font.h:
10359         * khtml/rendering/render_text.cpp:
10360         (TextSlave::checkSelectionPoint):
10361         * kwq/KWQFontMetrics.mm:
10362         (QFontMetrics::floatWidth):
10363         (QFontMetrics::floatCharacterWidth):
10364         * kwq/WebCoreTextRenderer.h:
10365         * kwq/qt/qfontmetrics.h:
10366
10367 2002-06-27  Chris Blumenberg  <cblu@apple.com>
10368
10369         Added an APPLE_CHANGES to fix 2894742. The attributes of an EMBED tag
10370         must override the attributes of PARAM tags.
10371
10372         * khtml/rendering/render_frames.cpp:
10373         (RenderPartObject::updateWidget):
10374
10375 2002-06-27  Darin Adler  <darin@apple.com>
10376
10377         - fixed 2973342 -- copied text seems to have an extra blank line between paragraphs
10378
10379         * khtml/khtml_part.cpp: (KHTMLPart::selectedText):
10380         Get rid of code that was adding an extraneous newline at the
10381         ends of various types of nodes, including <P>
10382
10383 2002-06-27  Darin Adler  <darin@apple.com>
10384
10385         Fix Java. My changes this morning broke it.
10386
10387         * khtml/rendering/render_applet.cpp: (RenderApplet::processArguments):
10388         Re-add required APPLE_CHANGES. Pass arguments to KJavaAppletWidget::processArguments.
10389         * kwq/khtml/java/kjavaappletwidget.h: Added KJavaAppletWidget::processArguments.
10390         * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::processArguments): Added.
10391
10392         Some QFont fixes.
10393
10394         * kwq/qt/qfont.h: Remove unused setPixelSizeFloat.
10395         * kwq/KWQFont.mm: Change to keep family names in a set. Since there are only
10396         a small number of family names ever encountered, this is a bit of a memory win.
10397         (QFont::QFont): Don't retain the family name.
10398         (QFont::~QFont): Don't release the family name.
10399         (QFont::setFamily): Put the family name in a set, and use the one from the set.
10400         (QFont::operator=): Don't retain or release.
10401         (QFont::operator==): Use == to compare the name.
10402
10403 === Alexander-10 ===
10404
10405 2002-06-27  Richard Williamson  <rjw@apple.com>
10406
10407         Method name changes in preparation for fixing
10408         TextSlave::checkSelectionPoint().
10409         
10410         * kwq/WebCoreTextRenderer.h:
10411
10412 2002-06-27  Richard Williamson  <rjw@apple.com>
10413
10414         Removed calls to old method.
10415         
10416         * kwq/KWQPainter.mm:
10417         (QPainter::drawText):
10418         * kwq/WebCoreTextRenderer.h:
10419         Removed old methods.
10420
10421 2002-06-27  Darin Adler  <darin@apple.com>
10422
10423         * khtml/rendering/render_applet.cpp: Remove include of <iostream.h> to avoid bloat.
10424         (RenderApplet::RenderApplet): Remove APPLE_CHANGES.
10425         (RenderApplet::processArguments): Remove APPLE_CHANGES.
10426         This file is now back to 100% the same as the KDE original.
10427
10428         * kwq/khtml/java/kjavaappletwidget.h: Added a bit of stuff so we match the interface
10429         of the KDE original and don't need APPLE_CHANGES.
10430         * kwq/KWQKJavaAppletWidget.mm: Remove include of <iostream.h> to avoid bloat.
10431         (KJavaAppletWidget::KJavaAppletWidget): Update for parameters that match the
10432         KDE original.
10433         (KJavaAppletWidget::~KJavaAppletWidget): Added.
10434         (KJavaAppletWidget::setBaseURL): Added.
10435         (KJavaAppletWidget::setParameter): Put strings into an NSMutableDictionary.
10436         (KJavaAppletWidget::showApplet): Use the new baseURL and parameters dictionary.
10437
10438         * kwq/WebCoreViewFactory.h: Add baseURL parameter.
10439         * kwq/WebCoreViewFactory.m:
10440         (-[WebCoreViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): Add baseURL parameter.
10441
10442         * kwq/kdecore/kurl.h: Fix NSURL definition to fit idiom.
10443         * kwq/qt/qmap.h: Added the const version of the [] operator.
10444
10445         * khtml/ecma/kjs_navigator.cpp: Tweak whitespace.
10446         * khtml/html/html_documentimpl.cpp: Tweak to make it a little closer to original.
10447
10448         * kwq/KWQKCookieJar.h: Reduce includes.
10449         * kwq/KWQKCookieJar.mm: Move includes in here.
10450
10451         * kwq/WebCoreCookieAdapter.h: Fix comment that emacs munged.
10452
10453 2002-06-27  Richard Williamson  <rjw@apple.com>
10454
10455         * kwq/WebCoreBridge.h:
10456         * kwq/WebCoreBridge.mm:
10457         (-[WebCoreBridge selectAll]):
10458         Select all using the part.
10459
10460 2002-06-27  Maciej Stachowiak  <mjs@apple.com>
10461
10462         WebCore part of fixes for JavaScript cookie bugs:
10463         
10464         2943749 - JavaScript navigator.cookieEnabled property is always "true"
10465         2856039 - JavaScript document.cookies property is not implemented
10466         
10467         Thereby also fixing:
10468         
10469         2944378 - Trying to log into my Yahoo web mail account sent
10470         Alexander into a loop
10471         
10472         * kwq/KWQKCookieJar.h: Added.
10473         * kwq/KWQKCookieJar.mm: Added.
10474         (KWQKCookieJar::cookie): C++ veneer over WebCoreCookieAdapter call.
10475         (KWQKCookieJar::setCookie): Likewise.
10476         (KWQKCookieJar::cookieEnabled): Likewise.
10477         * kwq/Makefile.am: Add new files to build.
10478         * kwq/WebCoreCookieAdapter.h: Added.
10479         * kwq/WebCoreCookieAdapter.m: Added.
10480         (+[WebCoreCookieAdapter sharedAdapter]): Method to return shared
10481         instance, al la the WebCoreFactory classes.
10482         (-[WebCoreCookieAdapter init]): Establish self as shared instance.
10483         (-[WebCoreCookieAdapter cookiesEnabled]): No-op implementation.
10484         (-[WebCoreCookieAdapter cookiesForURL:]): Likewise.
10485         (-[WebCoreCookieAdapter setCookies:forURL:]): Likewise.
10486         * WebCore.exp: Export WebCoreCookieAdapter class.
10487         * khtml/ecma/kjs_navigator.cpp:
10488         (Navigator::getValueProperty): Call appropriate KWQCookieJar method.
10489         * khtml/html/html_documentimpl.cpp:
10490         (HTMLDocumentImpl::cookie): Call appropriate KWQCookieJar method.
10491         (HTMLDocumentImpl::setCookie): Likewise
10492
10493 2002-06-27  Chris Blumenberg  <cblu@apple.com>
10494
10495         Fix to support sending PARAM tags to the Java plug-in.
10496
10497         * khtml/rendering/render_applet.cpp:
10498         (RenderApplet::RenderApplet): removed APPLE_CHANGES
10499         (RenderApplet::layout): removed APPLE_CHANGES
10500         * kwq/KWQKJavaAppletWidget.mm:
10501         (KJavaAppletWidget::KJavaAppletWidget): removed setView
10502         (KJavaAppletWidget::showApplet): call setView here
10503         * kwq/WebCoreViewFactory.h:
10504         * kwq/WebCoreViewFactory.m:
10505         (-[WebCoreViewFactory viewForJavaAppletWithFrame:andArguments:]): renamed
10506         * kwq/khtml/java/kjavaappletwidget.h: added KJavaApplet
10507
10508 2002-06-26  Richard Williamson  <rjw@apple.com>
10509
10510         Many improvements to selection.  More Cocoa like,
10511         normalized all text drawing code paths for selected 
10512         and unselected cases.  Still need to work on
10513         TextSlave::checkSelectionPoint.  Fixed redraw region
10514         problems.
10515         
10516         khtml redraw the entire visible region when selection changes.
10517         This could be optimzed.
10518         
10519         * khtml/rendering/font.cpp:
10520         (Font::drawText):
10521         (Font::width):
10522         * khtml/rendering/render_text.cpp:
10523         (TextSlave::printSelection):
10524         * kwq/KWQPainter.mm:
10525         (QPainter::drawText):
10526         (QPainter::selectedTextBackgroundColor):
10527         * kwq/KWQScrollView.mm:
10528         (QScrollView::contentsX):
10529         (QScrollView::contentsY):
10530         * kwq/WebCoreTextRenderer.h:
10531         * kwq/qt/qpainter.h:
10532
10533 2002-06-26  Maciej Stachowiak  <mjs@apple.com>
10534
10535         Implement KHTMLPart::findFrame() to fix the following Radar bugs:
10536         
10537         Radar 2943177 - infinite JavaScript loop sfcu.org online bill paying
10538         Radar 2950580 - Unknown JavaScript properties on the Window object return self instead of Undefined
10539         
10540         * khtml/khtml_part.cpp:
10541         (KHTMLPart::findFrame):
10542         * kwq/KWQKHTMLPart.mm:
10543         (KWQKHTMLPartImpl::findFrame):
10544         * kwq/KWQKHTMLPartImpl.h:
10545
10546 2002-06-26  Darin Adler  <darin@apple.com>
10547
10548         - fixed 2969378 -- "A with hat" characters (Unicode 00C2) showing up at Zingermans.com
10549
10550         * kwq/KWQCharsets.mm: (buildDictionaries): Put UTF-16 in the dictionary, but pointing
10551         at the string encoding for UTF-8. This mimics what Internet Explorer does.
10552
10553         * kwq/KWQtextcodec.mm: (QTextCodec::fromUnicode): Fix implementation so it will convert
10554         the specified encoding instead of always Latin-1.
10555
10556 2002-06-26  Darin Adler  <darin@apple.com>
10557
10558         Fixed (or at least worked around) a crash I saw where KWQKHTMLPartImpl::end was
10559         making calls after the KHTMLView was gone. This is specific to our APPLE_CHANGES
10560         code; it's handled differently in KDE.
10561
10562         * khtml/khtml_part.h: Added detachView.
10563         * khtml/khtml_part.cpp: (KHTMLPart::detachView): Added. Nils out the view pointer.
10564         * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Call m_part->detachView().
10565         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::end): Don't try to make calls to the view
10566         if it's nil.
10567
10568 2002-06-25  Richard Williamson  <rjw@apple.com>
10569         
10570         Support for khtml style selection drawing.  Ugly,
10571         we'll want to make this more Mac like.
10572
10573         * khtml/rendering/font.cpp:
10574         (Font::drawText):
10575             Enable khtml code path.  Removed APPLE_CHANGES
10576         * kwq/KWQFontMetrics.mm:
10577         (QFontMetrics::charWidth):
10578             Implemented in terms of width().
10579         * kwq/KWQPainter.mm:
10580         (QPainter::drawText):
10581             Implemented.
10582         * kwq/qt/qfontmetrics.h:
10583             Added QFontMetrics::charWidth.
10584
10585 2002-06-25  Richard Williamson  <rjw@apple.com>
10586
10587         Support for rudimentary plain text 'copy'.
10588         
10589         * kwq/WebCoreBridge.h:
10590         * kwq/WebCoreBridge.mm:
10591         (-[WebCoreBridge selectedText]):
10592
10593 2002-06-25  Richard Williamson  <rjw@apple.com>
10594
10595         Enabled progressive image loading code.
10596
10597         * khtml/misc/loader.cpp:
10598         (CachedImage::data):
10599         * kwq/KWQPixmap.mm:
10600         (QPixmap::QPixmap):
10601
10602 2002-06-25  Darin Adler  <darin@apple.com>
10603
10604         Removed remaining uses of BORROWED defines.
10605         Made some simplifications and formatting fixes. All safe.
10606
10607         * kwq/KWQArrayImpl.h:
10608         * kwq/KWQArrayImpl.mm:
10609         * kwq/KWQChar.mm:
10610         * kwq/KWQCharsets.mm:
10611         * kwq/KWQFile.mm:
10612         * kwq/KWQKCursor.mm:
10613         * kwq/KWQKHTMLPart.mm:
10614         * kwq/KWQListImpl.h:
10615         * kwq/KWQMapImpl.mm:
10616         * kwq/KWQString.mm:
10617         * kwq/KWQValueListImpl.mm:
10618         * kwq/KWQVectorImpl.h:
10619         * kwq/KWQtextcodec.mm:
10620         * kwq/make-charset-table.pl:
10621         * kwq/make-mac-encodings.c:
10622         * kwq/qt/qfile.h:
10623         * kwq/qt/qregexp.h:
10624         * kwq/qt/qtextcodec.h:
10625
10626         * WebCore-tests.exp: Small change to exports for the array test.
10627
10628 2002-06-24  Chris Blumenberg  <cblu@apple.com>
10629
10630         Changed the plug-in view constructor to take NSURL's rather
10631         than URL strings.       
10632
10633         * kwq/KWQKHTMLPart.mm:
10634         (KWQKHTMLPartImpl::requestObject):
10635         * kwq/WebCoreViewFactory.h:
10636         * kwq/WebCoreViewFactory.m:
10637
10638 2002-06-24  Darin Adler  <darin@apple.com>
10639
10640         * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Put APPLE_CHANGES
10641         later in the sequence so we don't deref the part before the code
10642         gets to run.
10643
10644         * kwq/kwqdebug.h: Re-add the __format__ attribute, now that Radar
10645         2920557 is fixed.
10646
10647 2002-06-21  Darin Adler  <darin@apple.com>
10648
10649         * kwq/KWQFont.mm: Made it store a copy of the family name instead of
10650         storing a reference to the mutable CFString.
10651
10652         * kwq/KWQPainter.mm:
10653         (QPainter::drawPixmap): Simplified.
10654         (QPainter::drawTiledPixmap): Used the new [tileInRect:].
10655
10656         * kwq/WebCoreImageRenderer.h: Added [tileInRect:], removed [drawInRect:],
10657         and also removed view parameter from [beginAnimation].
10658         
10659         * kwq/qt/qpixmap.h: Removed unneeded getImageRenderer().
10660
10661 2002-06-21  Darin Adler  <darin@apple.com>
10662
10663         - fixed 2964718 -- crash in KWQCheckCacheObjectStatus
10664
10665         * kwq/KWQKloader.mm: (KWQCheckCacheObjectStatus):
10666         Handle case of nil object. Add comments. Remove questionable use
10667         of floating point abs() to convert always positive int to uint.
10668
10669 2002-06-20  Darin Adler  <darin@apple.com>
10670
10671         * kwq/KWQKCharsets.mm: Removed unneeded parts.
10672         * kwq/KWQStyle.mm: Removed.
10673         * kwq/KWQToolTip.mm: Removed.
10674         * kwq/KWQVariant.mm: Simplified.
10675         * kwq/Makefile.am: Removed KWQStyle.mm and KWQToolTip.mm.
10676
10677         * kwq/KWQRefPtr.h: Streamlined implementation that inlines
10678         a bit less and is more efficient for creating empty pointers.
10679
10680         * kwq/KWQStyle.h: Removed unused stuff.
10681
10682         * kwq/kdecore/kcharsets.h: Removed unneeded parts.
10683         * kwq/qt/qsortedlist.h: Removed unneeded parts.
10684         * kwq/qt/qtooltip.h: Removed unneeded parts.
10685         * kwq/qt/qvariant.h: Removed unneeded parts.
10686
10687         * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView):
10688         Remove unneeded APPLE_CHANGES -- no need to nil something out in
10689         a destructor.
10690
10691 === Alexander-9 ===
10692
10693 2002-06-19  Richard Williamson  <rjw@apple.com>
10694
10695         * kwq/KWQScrollView.mm:
10696         (QScrollView::addChild):
10697             Fixed regression from fix to 2956444.  Wrong view was being checked
10698             for conformance to WebCoreFrameView.
10699         * kwq/KWQWidget.mm:
10700         (QWidget::internalSetGeometry):
10701             Fixed regression from fix to 2956444.  Wrong view was being checked
10702             for conformance to WebCoreFrameView.
10703
10704 2002-06-19  Richard Williamson  <rjw@apple.com>
10705
10706         * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): 
10707             Tweak
10708         * khtml/rendering/render_image.cpp:
10709         (RenderImage::setPixmap):
10710             Call stopAnimations when a image changes, i.e. may be changed
10711             by JS.
10712         * kwq/KWQPixmap.mm:
10713         (QPixmap::stopAnimations):
10714             Call image renderer's stopAnimation.
10715         * kwq/qt/qpixmap.h:
10716         Added stopAnimations.
10717         
10718 2002-06-19  Darin Adler  <darin@apple.com>
10719
10720         - fixed 2956444 -- mac os x feedback form missing textarea
10721
10722         * kwq/WebCoreFrameView.h: Added.
10723
10724         * kwq/KWQWidget.mm:
10725         (QWidget::setCursor): Checked for cursor-setting call based on the
10726         WebCoreFrameView protocol instead of using an informal protocol.
10727         Also walk up the view chain so the cursor actually gets set.
10728         (QWidget::internalSetGeometry): Changed the special case in here to use the new
10729         WebCoreFrameView protocol, so it won't happen for all NSScrollView objects.
10730         Also add comments to explain the hack better and mention the code in QScrollView.
10731
10732         * kwq/KWQScrollView.mm:
10733         (-[NSView _KWQ_isScrollView]): Gave these KWQ names instead of IF names.
10734         (-[NSView _KWQ_getDocumentView]): Gave these KWQ names instead of IF names.
10735         (QScrollView::addChild): Changed the special case in here to use the new
10736         WebCoreFrameView protocol, so it won't happen for all NSScrollView objects.
10737         Also add comments to explain the hack better and mention the code in QWidget.
10738
10739         Other changes:
10740
10741         * kwq/kwqdebug.h: Cloned improved assert code from WebFoundation.
10742
10743         * kwq/KWQTextArea.h: Removed unused isReadOnly/setReadOnly.
10744         * kwq/KWQTextArea.mm: Removed unused isReadOnly/setReadOnly.
10745
10746         * kwq/WebCoreViewFactory.h: Removed extraneous import and WebCoreCursorSetting
10747         API from here.
10748
10749         * kwq/KWQTextEdit.mm: Tweaked.
10750         * kwq/kparts/part.h: Tweaked.
10751
10752 2002-06-18  Kenneth Kocienda  <kocienda@apple.com>
10753
10754         Fix for this bug:
10755
10756         Radar 2928483 (activity viewer does not show all the pieces of a web page when the page is cached)
10757
10758         * khtml/misc/loader.cpp:
10759         (DocLoader::requestImage): Added APPLE_CHANGES call to the KWQCheckCacheObjectStatus function 
10760                                    described below 
10761         (DocLoader::requestStyleSheet): ditto
10762         (DocLoader::requestScript): ditto
10763         * kwq/KWQKloader.mm:
10764         (KWQCheckCacheObjectStatus): New function that informs WebKit of the
10765                                      fact that a URL was loaded from the WebCore/khtml cache.
10766         * kwq/KWQLoaderImpl.h: Added prototype for KWQCheckCacheObjectStatus
10767         * kwq/WebCoreBridge.h: Added KWQCheckCacheObjectStatus to WebCoreBridge protocol
10768
10769 2002-06-18  Darin Adler  <darin@apple.com>
10770
10771         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::~KWQKHTMLPartImpl):
10772         Remove an NSLog I left in by accident.
10773
10774 2002-06-17  Richard Williamson  <rjw@apple.com>
10775
10776     Fixed window.open regression.
10777     Partial fix to targeting frame of new name.
10778     
10779         * kwq/KWQKHTMLPart.mm:
10780         (KWQKHTMLPartImpl::urlSelected):
10781             Partial fix to frame not found problem.
10782         * kwq/KWQKHTMLPartBrowserExtension.mm:
10783         (KHTMLPartBrowserExtension::createNewWindow):
10784             Fix for window.open regression.
10785         * kwq/WebCoreBridge.h:
10786         Changed return type of openNewWindowWithURL:
10787
10788 2002-06-17  Darin Adler  <darin@apple.com>
10789
10790         Fixed a storage leak.
10791
10792         * kwq/WebCoreBridge.mm: (-[WebCoreBridge documentTextFromDOM]): Add a missing autorelease.
10793
10794         Remove a bunch of loader-related APPLE_CHANGES.
10795
10796         * khtml/misc/loader.h: Remove KWQURLLoadClient and KWQLoaderImpl.
10797         * khtml/misc/loader.cpp:
10798         (Loader::Loader): Remove unneeded KWQLoaderImpl object.
10799         (Loader::~Loader): Remove unneeded KWQLoaderImpl object.
10800         (Loader::servePendingRequests): Call KWQServeRequest instead of KWQLoaderImpl::serveRequest.
10801         (Loader::slotFinished): Remove unneeded KWQLoaderImpl::objectFinished.
10802
10803         * kwq/KWQLoaderImpl.h:
10804         * kwq/KWQKloader.mm: (KWQServeRequest): Replaces the KWQLoaderImpl class. The rest of what
10805         was in this class was obsolete.
10806
10807 2002-06-17  Richard Williamson  <rjw@apple.com>
10808
10809     Fixed www.2cpu.com regression.  QWidget::_displayRect was displaying the wrong
10810     view.  This was a regression that would impact all DHTML.
10811
10812         * khtml/khtmlview.cpp:
10813         (KHTMLView::timerEvent):
10814         * kwq/KWQScrollView.mm:
10815         (QScrollView::updateContents):
10816         * kwq/KWQWidget.mm:
10817         (QWidget::QWidget):
10818         (QWidget::endEditing):
10819         * kwq/qt/qwidget.h:
10820
10821 2002-06-17  Darin Adler  <darin@apple.com>
10822
10823         Fixed bug where some images would get left behind when scrolling. Turned out it
10824         was all the tiled images that were getting left behind.
10825
10826         * kwq/KWQPainter.mm: (QPainter::drawTiledPixmap): Fixed to get the view for
10827         coordinates from [NSView focusView] the way drawPixmap does, rather than using
10828         data->widget->getView(), which gives the scroll view instead of the scrolled view.
10829
10830 2002-06-16  Darin Adler  <darin@apple.com>
10831
10832         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::frames):
10833         Fixed this function to get from frames to parts properly. It was still
10834         assuming that [WebCoreBridge childFrames] would return a list of WebCoreBridge
10835         objects, but now it returns WebCoreFrame objects.
10836
10837         * kwq/WebCoreFrame.h: Added [WebCoreFrame bridge] for the case above.
10838         Note that it always gives the "committed" bridge, not the provisional one.
10839
10840 2002-06-16  Darin Adler  <darin@apple.com>
10841
10842         Add a separate WebCoreFrame alongside WebCoreBridge to facilitate
10843         handling of frames with no HTML content in them. This probably fixes
10844         frames named "_blank".
10845
10846         Also fixed the build, because a clean build failed.
10847
10848         * kwq/KWQKHTMLPart.mm:
10849         (KWQKHTMLPartImpl::openURLInFrame):
10850         (KWQKHTMLPartImpl::urlSelected):
10851         (KWQKHTMLPartImpl::requestFrame):
10852         (KWQKHTMLPartImpl::submitForm):
10853         (KWQKHTMLPartImpl::parentPart):
10854         Work with WebCoreFrame objects instead of WebCoreBridge objects when dealing with
10855         frame operations -- loading new URLs mainly.
10856
10857         * kwq/WebCoreBridge.h: Removed frame-related operations, now they are on WebCoreFrame.
10858         Broke out WebCoreResourceLoader into its own file. Added comments.
10859
10860         * kwq/WebCoreFrame.h: Added.
10861
10862         * kwq/WebCoreResourceLoader.h: Added.
10863         * kwq/KWQKloader.mm: Include WebCoreResourceLoader.h now that it's broken out.
10864
10865         * WebCore-tests.exp: Tests still need QString::latin1(), although we don't need
10866         to export it for WebKit any more.
10867
10868 2002-06-16  Darin Adler  <darin@apple.com>
10869
10870         Moved the IFURLHandleClient subclass to WebKit, so it can some day be merged
10871         with the one for the frames themselves; this one is for resources.
10872
10873         * kwq/kio/jobclasses.h:
10874         * kwq/KWQKjobclasses.mm:
10875         (TransferJob::setHandle): Replaced the old TransferJob::begin with this.
10876
10877         * kwq/KWQLoaderImpl.h: Remove setClient.
10878         * kwq/KWQKloader.mm:
10879         (-[WebCoreResourceLoader initWithLoader:job:]): Added.
10880         (-[WebCoreResourceLoader dealloc]): Added.
10881         (-[WebCoreResourceLoader addData:]): Added.
10882         (-[WebCoreResourceLoader cancel]): Added.
10883         (-[WebCoreResourceLoader finish]): Added.
10884         (KWQLoaderImpl::serveRequest): Use [WebCoreBridge startLoadingResource:withURL:].
10885         * khtml/misc/loader.cpp: (Loader::load): Removed unneeded call to setClient.
10886
10887         * kwq/WebCoreBridge.h: Remove unneeded methods. Added [WebCoreBridge startLoadingResource:withURL:].
10888
10889 2002-06-15  Darin Adler  <darin@apple.com>
10890
10891         Fix frame-related calls. I was always searching all the frames, which was disastrous.
10892         Also do name changes.
10893
10894         * kwq/KWQKHTMLPart.mm:
10895         (KWQKHTMLPartImpl::urlSelected): Use descendantFrameNamed rather than frameNamed.
10896         (KWQKHTMLPartImpl::requestFrame): Use childFrameNamed rather than frameNamed.
10897         (KWQKHTMLPartImpl::frameExists): Use childFrameNamed rather than frameNamed.
10898
10899         * kwq/KWQScrollView.mm: (QScrollView::addChild): Asserts I used while debugging.
10900
10901         * kwq/WebCoreBridge.h: Add new calls. Change names of old ones to include the
10902         word frame consistently. (Also bits of new work that will do no harm, but are
10903         not really needed yet.)
10904
10905 2002-06-15  Darin Adler  <darin@apple.com>
10906
10907         * kwq/KWQKloader.mm:
10908         (-[KWQURLLoadClient IFURLHandle:didRedirectToURL:]):
10909         Rolled out an assert I added by accident that will break Deployment builds.
10910
10911 2002-06-15  Darin Adler  <darin@apple.com>
10912
10913         * kwq/KWQKloader.mm:
10914         (-[KWQURLLoadClient IFURLHandleResourceDidCancelLoading:]):
10915         (-[KWQURLLoadClient IFURLHandleResourceDidFinishLoading:data:]):
10916         (-[KWQURLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
10917         Fixed the order so the URL handles are removed before we send notifications
10918         as before my change. This seems to fix the rest of the breakage.
10919
10920 2002-06-15  Darin Adler  <darin@apple.com>
10921
10922         * kwq/KWQKloader.mm: (-[KWQURLLoadClient initWithLoader:bridge:]):
10923         Fix bridge/m_bridge typo that was responsible for at least some of the breakage
10924         I caused.
10925
10926 2002-06-15  Richard Williamson  <rjw@apple.com>
10927
10928     Fixed factoring problem.
10929     
10930         * kwq/KWQScrollView.mm:
10931         (-[NSView _IF_getDocumentView]):
10932         (-[NSView _IF_isScrollView]):
10933         (QScrollView::visibleWidth):
10934         (QScrollView::visibleHeight):
10935         (QScrollView::contentsWidth):
10936         (QScrollView::contentsHeight):
10937         (QScrollView::contentsX):
10938         (QScrollView::contentsY):
10939         (QScrollView::setContentsPos):
10940         (QScrollView::addChild):
10941         (QScrollView::resizeContents):
10942         (QScrollView::contentsToViewport):
10943         (QScrollView::viewportToContents):
10944         * kwq/qt/qscrollview.h:
10945
10946 2002-06-15  Darin Adler  <darin@apple.com>
10947
10948         * kwq/WebCoreBridge.mm:
10949         (-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]):
10950         Implement the rule where a negative number means "don't set the margin".
10951
10952 2002-06-15  Darin Adler  <darin@apple.com>
10953
10954         * kwq/kio/jobclasses.h: Removed import of WebFoundation.h.
10955         * kwq/KWQKjobclasses.mm: Added import of IFURLHandle.h.
10956         * kwq/KWQKloader.mm: Added import of IFError.h and IFURLHandle.h.
10957
10958         * kwq/WCLoadProgress.h: Removed.
10959         * kwq/WCWebDataSource.h: Removed.
10960         * kwq/KWQKHTMLPart.mm: Removed import of WCWebDataSource.h.
10961
10962         * *.mm: Changed all includes to imports using a perl script.
10963
10964 2002-06-15  Darin Adler  <darin@apple.com>
10965
10966         - fixed 2942808 -- remove all calls to WebKit from WebCore
10967
10968         More work on the bridge. Now we don't call anything in WebKit explicitly,
10969         although there are still implicit connections that need to be fixed.
10970
10971         * WebCore.exp: Remove exports that are no longer needed, now that
10972         WebKit is using the bridge to get at more things.
10973
10974         * khtml/misc/loader.h:
10975         * khtml/misc/loader.cpp:
10976         (CachedCSSStyleSheet::CachedCSSStyleSheet):
10977         (CachedScript::CachedScript):
10978         (CachedImage::CachedImage):
10979         Remove the extra parameter to the CachedObject constructor. We don't
10980         need it any more, so we can remove all these APPLE_CHANGES.
10981
10982         * kwq/KWQKHTMLPart.mm: Remove getDataSource.
10983
10984         * kwq/KWQLoaderImpl.h: Remove destructor.
10985         * kwq/KWQKloader.mm:
10986         (-[KWQURLLoadClient initWithLoader:bridge:]): Keep the bridge around instead
10987         of the data source.
10988         (-[KWQURLLoadClient dealloc]): Release the bridge instead of the data source.
10989         Also put another workaround for 2954901 here, like in WebKit.
10990         (-[KWQURLLoadClient IFURLHandleResourceDidBeginLoading:]):
10991         (-[KWQURLLoadClient IFURLHandle:resourceDataDidBecomeAvailable:]):
10992         (-[KWQURLLoadClient doneWithHandle:error:]):
10993         (-[KWQURLLoadClient IFURLHandleResourceDidCancelLoading:]):
10994         (-[KWQURLLoadClient IFURLHandleResourceDidFinishLoading:data:]):
10995         (-[KWQURLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
10996         (-[KWQURLLoadClient IFURLHandle:didRedirectToURL:]):
10997         (KWQLoaderImpl::setClient):
10998         (KWQLoaderImpl::serveRequest):
10999         Use the bridge to do all the heavy lifting, and put lots of common code into
11000         a doneWithHandle:error: method. Also store the URL so the redirect code works
11001         properly for multiple redirects and add asserts like the ones in IFMainURLHandleClient.
11002         (KWQLoaderImpl::objectFinished): Add a comment.
11003
11004         * kwq/WebCoreBridge.h: Make header so it can be included from plain Objective C,
11005         not just Objective C++. Add a bunch of methods for bridging in to WebCore as opposed
11006         to out of WebCore. Add new methods for bridging out from WebCore too for all the
11007         progress hooks. Put all the subclass responsibility methods into a protocol
11008         in such a way that we don't need to implement them in the base class, and subclasses
11009         can set things up so they get errors if they forget to implement anything.
11010
11011         * kwq/WebCoreBridge.mm:
11012         (-[WebCoreBridge openURL:]): Added.
11013         (-[WebCoreBridge addData:withEncoding:]): Added.
11014         (-[WebCoreBridge closeURL]): Added.
11015         (-[WebCoreBridge end]): Added.
11016         (-[WebCoreBridge setURL:]): Added.
11017         (-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]): Added.
11018         (-[WebCoreBridge documentTextFromDOM]): Added.
11019         (-[WebCoreBridge scrollToBaseAnchor]): Added.
11020
11021         * kwq/external.h: Removed.
11022
11023 2002-06-15  Maciej Stachowiak  <mjs@apple.com>
11024
11025         Get current bits per pixel from CoreGraphics, thereby fixing
11026         
11027         Radar 2943736 - JavaScript screen.colorDepth and screen.pixelDepth properties always returns 32, 
11028         regardless of real depth
11029         
11030         * kwq/KWQPaintDeviceMetrics.mm:
11031         (QPaintDeviceMetrics::depth):
11032
11033 2002-06-15  Maciej Stachowiak  <mjs@apple.com>
11034
11035         Removed product and vendor properties, thereby fixing:
11036         
11037         Radar 2943751 - JavaScript navigator.product property is "Konqueror/khtml"
11038         Radar 2943753 - JavaScript navigator.vendor property is "KDE"
11039         
11040         * khtml/ecma/kjs_navigator.cpp:
11041         (Navigator::getValueProperty): Return undefined for the above mentioned properties.
11042
11043 2002-06-15  Maciej Stachowiak  <mjs@apple.com>
11044
11045         Implemented functionality needed for missing Screen properties, thereby fixing the following
11046         bugs:
11047         
11048         Radar 2943730 - JavaScript screen.availHeight property is not implemented
11049         Radar 2943732 - JavaScript screen.availLeft property is not implemented
11050         Radar 2943734 - JavaScript screen.availTop property not implemented
11051         Radar 2943735 - JavaScript screen.availWidth property is not implemented
11052         
11053         * kwq/KWQKWinModule.mm:
11054         (KWinModule::workArea): Return the correct screen size to fix the above bugs.
11055
11056 2002-06-14  Richard Williamson  <rjw@apple.com>
11057
11058     Changed IFResourceProgressHandler to pass back resource handle instead of
11059     string description.  This will address the needs descibed in 2954160.
11060
11061         * kwq/KWQKloader.mm:
11062         (-[KWQURLLoadClient IFURLHandleResourceDidBeginLoading:]):
11063         (-[KWQURLLoadClient IFURLHandleResourceDidCancelLoading:]):
11064         (-[KWQURLLoadClient IFURLHandleResourceDidFinishLoading:data:]):
11065         (-[KWQURLLoadClient IFURLHandle:resourceDataDidBecomeAvailable:]):
11066         (-[KWQURLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
11067         (-[KWQURLLoadClient IFURLHandle:didRedirectToURL:]):
11068         (KWQLoaderImpl::serveRequest):
11069         * kwq/external.h:
11070
11071 2002-06-14  Darin Adler  <darin@apple.com>
11072
11073         * kwq/KWQDateTime.mm: Add ifdefs needed to make Deployment build compile.
11074
11075 2002-06-14  Darin Adler  <darin@apple.com>
11076
11077         Worked on eliminating calls to WebKit. About 3/4 done.
11078
11079         * WebCore.exp: Export new WebCoreBridge class, fewer other things.
11080
11081         * WebCorePrefix.h: #include <ostream> in debug builds; we couldn't
11082         before because of a PFE bug that has since been fixed (2920556).
11083
11084         * khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach):
11085         Add a comment explaining our latest change here.
11086
11087         * khtml/khtml_part.cpp: (KHTMLPart::~KHTMLPart): Fix storage leak
11088         by deleting m_hostExtension.
11089
11090         * khtml/misc/loader.h: Set type properly on client member so we
11091         don't have to do so much casting.
11092
11093         * kwq/KWQKHTMLPartImpl.h: Add getBridge and setBridge, remove setDataSource.
11094         * kwq/KWQKHTMLPart.mm:
11095         (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Eliminate m_dataSource.
11096         (KWQKHTMLPartImpl::openURLInFrame): Use WebCoreBridge.
11097         (KWQKHTMLPartImpl::urlSelected): Use WebCoreBridge.
11098         (KWQKHTMLPartImpl::requestFrame): Use WebCoreBridge.
11099         (KWQKHTMLPartImpl::requestObject): Move WebCoreViewFactory code
11100         here; we don't need an entire WCPluginWidget file just for this
11101         function.
11102         (KWQKHTMLPartImpl::submitForm): Use WebCoreBridge.
11103         (KWQKHTMLPartImpl::frameExists): Use WebCoreBridge.
11104         (KWQKHTMLPartImpl::frames): Use WebCoreBridge.
11105         (KWQKHTMLPartImpl::setTitle): Use WebCoreBridge.
11106         (KWQKHTMLPartImpl::getDataSource): Use WebCoreBridge.
11107         (KWQKHTMLPartImpl::parentPart): Use WebCoreBridge.
11108
11109         * kwq/KWQKHTMLPartBrowserExtension.mm:
11110         (KHTMLPartBrowserExtension::createNewWindow): Use WebCoreBridge.
11111
11112         * kwq/KWQKloader.mm: Move the part of external.h that we still use in
11113         here, with the expectation of eliminating it soon. Also renamed
11114         URLLoadClient to KWQURLLoadClient so we don't hog namespace.
11115
11116         * kwq/qt/qscrollview.h:
11117         * kwq/KWQScrollView.mm: Used helper functions to do the "documentView"
11118         selector thing more consistently.
11119
11120         * kwq/KWQWidget.mm: Get interface for changing the cursor from
11121         WebCoreViewFactory.h instead of from external.h.
11122
11123         * kwq/WebCoreViewFactory.h:
11124         * kwq/Makefile.am: Remove WCPluginWidget.mm, add WebCoreBridge.mm.
11125         * kwq/WCPluginWidget.h: Removed.
11126         * kwq/WCPluginWidget.mm: Removed.
11127         * kwq/WebCoreBridge.h: Added.
11128         * kwq/WebCoreBridge.mm: Added.
11129
11130         * kwq/qt/qarray.h: Use <ostream> instead of <iostream>.
11131         * kwq/qt/qcstring.h: Remove <iostream> include since we include <qarray.h>.
11132         * kwq/qt/qdatetime.h: Replace unconditional <iostream> include with a
11133         conditional <ostream> include. Also made streaming operators conditional.
11134         * kwq/qt/qlist.h: Use <ostream> instead of <iostream>.
11135         * kwq/qt/qmap.h: Use <ostream> instead of <iostream>.
11136         * kwq/qt/qpoint.h: Use <iosfwd> instead of <iostream>.
11137         * kwq/qt/qsize.h: Use <iosfwd> instead of <iostream>.
11138         * kwq/qt/qvaluelist.h: Use <ostream> instead of <iostream>.
11139         * kwq/qt/qvector.h: Replace unconditional <iostream> include with a
11140         conditional <ostream> include. Also made streaming operators conditional.
11141
11142 2002-06-14  Richard Williamson  <rjw@apple.com>
11143
11144     Name change view -> webView.
11145     
11146         * kwq/KWQKHTMLPart.mm:
11147         (KWQKHTMLPartImpl::requestFrame):
11148         * kwq/external.h:
11149
11150 2002-06-14  Chris Blumenberg  <cblu@apple.com>
11151
11152         Put #ifndef APPLE_CHANGES around one line that
11153         was causing EMBED and OBJECT tags to not have render objects.
11154
11155         * khtml/html/html_objectimpl.cpp:
11156         (HTMLObjectElementImpl::attach):
11157
11158 2002-06-14  Chris Blumenberg  <cblu@apple.com>
11159
11160         Committing Richard's changes to KWQPainter
11161
11162 2002-06-13  Richard Williamson  <rjw@apple.com>
11163
11164     More cleanup to deal with special case of provisional view
11165     not being in a scrollview.
11166     
11167         * kwq/KWQScrollView.mm:
11168         (QScrollView::contentsWidth):
11169         (QScrollView::contentsHeight):
11170         (QScrollView::contentsX):
11171         (QScrollView::contentsY):
11172
11173 2002-06-13  Richard Williamson  <rjw@apple.com>
11174
11175     
11176         * kwq/KWQWidget.mm: (QWidget::setCursor):  restored code
11177         * kwq/external.h:   removed definitions no longer needed
11178         * khtml/rendering/render_form.cpp: (RenderLineEdit::calcMinMaxWidth): tweaked size
11179
11180 2002-06-12  Kenneth Kocienda  <kocienda@apple.com>
11181
11182         * kwq/kwqdebug.h: Made assertion failure console message bolder and easier to see.
11183
11184 2002-06-11  Darin Adler  <darin@apple.com>
11185
11186         * kwq/KWQKURL.mm:
11187         (RelativeURLKeyRetainCallBack): Use a ref count.
11188         (RelativeURLKeyReleaseCallBack): Use a ref count instead of assuming there will
11189         never be more than one reference.
11190         (KURL::normalizeRelativeURLString): Remove the workaround for CFURL bug 2891336.
11191         (operator==): Don't put URLs on the autorelease pool just to compare them.
11192
11193 2002-06-10  Darin Adler  <darin@apple.com>
11194
11195         * khtml/css/cssstyleselector.cpp: Fix uninitialized variable warning.
11196
11197 2002-06-10  Darin Adler  <darin@apple.com>
11198
11199         Merged in changes from KDE 3.0.1.
11200
11201         * kwq/kdecore/kurl.h:
11202         * kwq/KWQKURL.mm: (operator==): New, needed by some 3.0.1 code.
11203
11204         * kwq/qt/qpalette.h: Add QPalette::NColorGroups and QColorGroup::NColorRoles.
11205         * kwq/KWQPalette.mm: Simplify by getting rid of "private" indirection.
11206         (QPalette::color): New, needed by some 3.0.1 code.
11207         * kwq/KWQColorGroup.mm: Simplify by getting rid of "private" indirection.
11208
11209         * kwq/qt/qstring.h:
11210         * kwq/KWQString.mm: (QConstString::QConstString): Change parameter to const QChar *
11211         to match Qt so we compile.
11212
11213         * kwq/qt/qtextedit.h:
11214         * kwq/KWQTextEdit.mm: (QTextEdit::setTabStopWidth): Add unimplemented placeholder,
11215         needed by some 3.0.1 code.
11216
11217         * kwq/qt/qvaluelist.h:
11218         * kwq/KWQValueListImpl.h:
11219         * kwq/KWQValueListImpl.mm: Simplify implementation.
11220
11221         * WebCore-tests.exp: Update for changes in QValueList implementation.
11222
11223         * kwq/kdecore/klibloader.h: Add include of <kio/global.h> to make something compile.
11224
11225         * kwq/khtml/java/kjavaappletcontext.h: Add JType and constructor that takes DCOPObject*.
11226
11227         * kwq/kio/global.h: Add KIO::CacheControl.
11228
11229         * khtml/css/css_ruleimpl.cpp:
11230         * khtml/css/css_ruleimpl.h:
11231         * khtml/css/css_stylesheetimpl.cpp:
11232         * khtml/css/css_stylesheetimpl.h:
11233         * khtml/css/css_valueimpl.cpp:
11234         * khtml/css/css_valueimpl.h:
11235         * khtml/css/cssparser.cpp:
11236         * khtml/css/cssparser.h:
11237         * khtml/css/cssstyleselector.cpp:
11238         * khtml/css/cssstyleselector.h:
11239         * khtml/css/html4.css:
11240         * khtml/dom/css_rule.cpp:
11241         * khtml/dom/css_rule.h:
11242         * khtml/dom/css_stylesheet.cpp:
11243         * khtml/dom/css_stylesheet.h:
11244         * khtml/dom/css_value.cpp:
11245         * khtml/dom/dom2_events.cpp:
11246         * khtml/dom/dom2_range.cpp:
11247         * khtml/dom/dom2_range.h:
11248         * khtml/dom/dom2_views.cpp:
11249         * khtml/dom/dom_doc.cpp:
11250         * khtml/dom/dom_element.cpp:
11251         * khtml/dom/dom_exception.h:
11252         * khtml/dom/dom_node.cpp:
11253         * khtml/dom/dom_string.cpp:
11254         * khtml/dom/dom_text.cpp:
11255         * khtml/dom/dom_xml.cpp:
11256         * khtml/dom/html_base.cpp:
11257         * khtml/dom/html_block.cpp:
11258         * khtml/dom/html_document.cpp:
11259         * khtml/dom/html_element.cpp:
11260         * khtml/dom/html_element.h:
11261         * khtml/dom/html_form.cpp:
11262         * khtml/dom/html_head.cpp:
11263         * khtml/dom/html_image.cpp:
11264         * khtml/dom/html_inline.cpp:
11265         * khtml/dom/html_list.cpp:
11266         * khtml/dom/html_misc.cpp:
11267         * khtml/dom/html_object.cpp:
11268         * khtml/dom/html_table.cpp:
11269         * khtml/ecma/kjs_html.cpp:
11270         * khtml/ecma/kjs_proxy.cpp:
11271         * khtml/ecma/kjs_traversal.cpp:
11272         * khtml/ecma/kjs_window.cpp:
11273         * khtml/html/html_baseimpl.cpp:
11274         * khtml/html/html_formimpl.cpp:
11275         * khtml/html/html_miscimpl.h:
11276         * khtml/html/html_objectimpl.cpp:
11277         * khtml/html/html_objectimpl.h:
11278         * khtml/html/htmlparser.cpp:
11279         * khtml/html/htmlparser.h:
11280         * khtml/html/htmltokenizer.cpp:
11281         * khtml/html/htmltokenizer.h:
11282         * khtml/khtml_part.cpp:
11283         * khtml/khtmlpart_p.h:
11284         * khtml/khtmlview.cpp:
11285         * khtml/misc/helper.cpp:
11286         * khtml/misc/khtmllayout.h:
11287         * khtml/misc/loader.cpp:
11288         * khtml/misc/loader.h:
11289         * khtml/misc/loader_client.h:
11290         * khtml/misc/shared.h: Added.
11291         * khtml/rendering/bidi.cpp:
11292         * khtml/rendering/break_lines.cpp:
11293         * khtml/rendering/font.cpp:
11294         * khtml/rendering/render_applet.cpp:
11295         * khtml/rendering/render_applet.h:
11296         * khtml/rendering/render_container.cpp:
11297         * khtml/rendering/render_form.cpp:
11298         * khtml/rendering/render_form.h:
11299         * khtml/rendering/render_frames.cpp:
11300         * khtml/rendering/render_image.cpp:
11301         * khtml/rendering/render_object.cpp:
11302         * khtml/rendering/render_object.h:
11303         * khtml/rendering/render_replaced.cpp:
11304         * khtml/rendering/render_replaced.h:
11305         * khtml/rendering/render_root.cpp:
11306         * khtml/rendering/render_style.cpp:
11307         * khtml/rendering/render_style.h:
11308         * khtml/rendering/render_table.cpp:
11309         * khtml/rendering/render_table.h:
11310         * khtml/rendering/render_text.cpp:
11311         * khtml/rendering/render_text.h:
11312         * khtml/xml/dom2_eventsimpl.h:
11313         * khtml/xml/dom2_rangeimpl.h:
11314         * khtml/xml/dom2_traversalimpl.cpp:
11315         * khtml/xml/dom2_traversalimpl.h:
11316         * khtml/xml/dom2_viewsimpl.h:
11317         * khtml/xml/dom_docimpl.cpp:
11318         * khtml/xml/dom_docimpl.h:
11319         * khtml/xml/dom_elementimpl.h:
11320         * khtml/xml/dom_nodeimpl.cpp:
11321         * khtml/xml/dom_nodeimpl.h:
11322         * khtml/xml/dom_stringimpl.cpp:
11323         * khtml/xml/dom_stringimpl.h:
11324         * khtml/xml/xml_tokenizer.h:
11325         Merge in 3.0.1 changes and add APPLE_CHANGES as necessary to get it to compile.
11326
11327 2002-06-07  Darin Adler  <darin@apple.com>
11328
11329         * Makefile.am: Use new shared "embed.am" file so we don't need four copies of
11330         the embedding rules for WebFoundation, JavaScriptCore, WebCore, and WebKit.
11331
11332 2002-06-07  Maciej Stachowiak  <mjs@apple.com>
11333
11334         * Makefile.am: Rename libwebcore.dylib to libwebcore.a; since this
11335         target is just a fake for dependency purposes, it doesn't matter
11336         what it's called.
11337         * .cvsignore: Update ignorance.
11338
11339 2002-06-07  Darin Adler  <darin@apple.com>
11340
11341         * Makefile.am: I was running into failures in the embed rule, so I made it
11342         always remove the framework before copying the new one in. This is better
11343         for cases where a header was removed, too, so maybe we should do this in
11344         the other directories.
11345
11346         * kwq/KWQDrawUtil.mm:
11347         * kwq/KWQKComboBox.mm:
11348         * kwq/KWQKConfigBase.mm:
11349         * kwq/KWQKDebug.mm:
11350         * kwq/KWQKMessageBox.mm:
11351         * kwq/KWQKMimeType.mm:
11352         * kwq/KWQKPrinter.mm:
11353         * kwq/KWQKURL.mm:
11354         * kwq/KWQMapImpl.mm:
11355         * kwq/KWQObject.mm:
11356         * kwq/KWQRegExp.mm:
11357         * kwq/KWQRegion.mm:
11358         * kwq/KWQScrollView.mm:
11359         * kwq/KWQStringList.mm:
11360         Remove repeated default values for parameters -- the new compiler
11361         won't allow these and they are illegal C++.
11362
11363 2002-06-07  Darin Adler  <darin@apple.com>
11364
11365         * kwq/KWQPtrDictImpl.h: Use CoreFoundation.h -- new compiler
11366         is picky about the difference between struct and typedef.
11367
11368         * kwq/KWQValueListImpl.h: Add a friend declaration that we need
11369         because the new compiler is more strict.
11370
11371         - fix 2949882 -- joecartoon.com crashes
11372
11373         * khtml/ecma/kjs_window.cpp: (Window::get): Turn off some code that
11374         doesn't work for us -- similar to code elsewhere in this file that
11375         was also turned off.
11376
11377 2002-06-07  Chris Blumenberg  <cblu@apple.com>
11378
11379         Made IFWebController a class.
11380         Fixed all places where IFWebController was referred to as a protocol.
11381         Renamed IFBaseWebController files to IFWebController.
11382         IFWebController.h replaces IFWebBaseController.h.
11383
11384         * kwq/KWQKHTMLPart.mm:
11385         (KWQKHTMLPartImpl::requestFrame):
11386         * kwq/KWQKHTMLPartBrowserExtension.mm:
11387         (KHTMLPartBrowserExtension::createNewWindow):
11388         * kwq/KWQKloader.mm:
11389         (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
11390         (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
11391         (KWQLoaderImpl::serveRequest):
11392         * kwq/external.h:
11393
11394 === Alexander-8 ===
11395
11396 2002-06-07  Darin Adler  <darin@apple.com>
11397
11398         Try to make Jersey work again.
11399
11400         * kwq/KWQInvisibleButton.h: Simplify includes.
11401         * kwq/KWQInvisibleButton.mm: Simplify includes.
11402
11403 2002-06-05  Darin Adler  <darin@apple.com>
11404
11405         Some fixes to speed up the citibank.com page, and other related changes.
11406
11407         * khtml/ecma/kjs_dom.cpp: (DOMNode::getValueProperty): Only do a layout
11408         if it's actually needed. This speeds things up immensely, and I'm pretty
11409         sure it's correct.
11410
11411         * kwq/KWQListImpl.h: To speed things up, get rid of the "private part"
11412         level of indirection. This is particularly vital for list iterators, which
11413         are created and destroyed a lot on the stack. Also made trivial functions
11414         be inline.
11415
11416         * kwq/KWQListImpl.mm:
11417         (copyList): Now a static function rather than a member of the now-defunct
11418         private class.
11419         (KWQListImpl::KWQListImpl): Set up all the new members that used to be in
11420         the separate private object.
11421         (KWQListImpl::~KWQListImpl): Update the iterator-detaching code to do it
11422         the new way, with intrusive list. Also, use clear() instead of having our
11423         own code to delete the list -- note this is only used after the level above
11424         us does a clear() anyway.
11425         (KWQListImpl::clear): Use a loop to delete all the nodes rather than making
11426         a delete of one node recursively delete the next -- iteration is more efficient,
11427         and also easier to understand in this case. Also update all the iterators so
11428         they don't point to deleted nodes.
11429         (KWQListImpl::containsRef): Update to return the count, rather than just a
11430         true or false value, since that's how the class is defined.
11431         (KWQListImpl::assign): Delete the items if asked to (fixes a FIXME). Also
11432         use a new swap member function since there's more to swap now.
11433         (KWQListImpl::addIterator): Rewrite to use an intrusive linked list.
11434         (KWQListImpl::removeIterator): Rewrite to use an intrusive linked list; this
11435         makes it much faster since it doesn't have to search the list.
11436         (KWQListImpl::swap): Implement this private member function used by assign.
11437         (KWQListIteratorImpl::KWQListIteratorImpl): Set up the new members that
11438         used to be in the separate private object.
11439
11440         * kwq/qt/qlist.h: Re-add the operator= definition. This would cause a storage
11441         leak, although I haven't actually observed the leak.
11442
11443         * kwq/qt/qbuffer.h: Initialize opened to false. This was causing a test failure.
11444
11445         * kwq/KWQDictImpl.h:
11446         * kwq/KWQDictImpl.mm: Streamline implementation a bit by getting rid of
11447         unneeded copy constructor definition and making trivial constructor for
11448         iterator inline.
11449
11450         * kwq/KWQPtrDictImpl.h: Remove unneeded include.
11451
11452         * WebCore-tests.exp: Update for changes in the entry points
11453         used by the tests.
11454
11455 2002-06-05  Richard Williamson  <rjw@apple.com>
11456
11457     Fixed 2938552.  This required an implementation of KHTMLPart::frames which
11458     is used by the JS window.frames property.
11459     
11460         * khtml/khtml_part.cpp:
11461         (KHTMLPart::frames):
11462         * kwq/KWQKHTMLPart.mm:
11463         (KWQKHTMLPartImpl::frames):
11464         * kwq/KWQKHTMLPartImpl.h:
11465
11466 2002-06-05  Richard Williamson  <rjw@apple.com>
11467
11468     Fixed window.top JS property (2939353).  This caused funny recursion problems at
11469     www.megapixel.net and other pages that try to pop frames.
11470
11471         * khtml/khtml_part.cpp:
11472         (KHTMLPart::parentPart):
11473         * kwq/KWQKHTMLPart.mm:
11474         (KWQKHTMLPartImpl::parentPart):
11475         * kwq/KWQKHTMLPartImpl.h:
11476
11477 2002-06-05  Richard Williamson  <rjw@apple.com>
11478
11479     Cleaned up call to frameNamed:.  Now use frame relative naming.
11480     Fixed various frame related bugs.
11481     
11482         * kwq/KWQKHTMLPart.mm:
11483         (KWQKHTMLPartImpl::urlSelected):
11484         * kwq/external.h:
11485
11486 2002-06-04  Richard Williamson  <rjw@apple.com>
11487
11488         * kwq/KWQKHTMLPart.mm:
11489         (KWQKHTMLPartImpl::timerEvent):
11490         (KWQKHTMLPartImpl::redirectURL):
11491         
11492         Renamed redirectJS to redirectURL to more correctly reflect it's
11493         function.
11494         
11495         (KWQKHTMLPartImpl::urlSelected):
11496
11497     Fixed 2935505.  We now pop out of a frame if a link is clicked in a frame
11498     and that frame is the only frame in a frameset.  This emulates the behavior of IE.
11499
11500         * kwq/KWQKHTMLPartImpl.h:
11501         * kwq/external.h:
11502
11503 2002-06-04  Richard Williamson  <rjw@apple.com>
11504
11505     More exclusion for pre 6C48.
11506     
11507         * kwq/KWQPixmap.mm:
11508         (QPixmap::QPixmap):
11509
11510 2002-06-04  Kenneth Kocienda  <kocienda@apple.com>
11511
11512         * kwq/kwqdebug.h: Added a line of stderr output into the 
11513         assertion failure code so that we have some idea of what happened.
11514
11515 2002-06-04  Richard Williamson  <rjw@apple.com>
11516
11517     Changes to support progressive image loading.  Currently disabled
11518     until 2945218 is fixed.
11519     
11520         * khtml/misc/loader.cpp:
11521         * kwq/KWQKloader.mm:
11522         * kwq/KWQPixmap.mm:
11523         * kwq/WebCoreImageRenderer.h:
11524         * kwq/WebCoreImageRendererFactory.h:
11525         * kwq/WebCoreImageRendererFactory.m:
11526         * kwq/qt/qpixmap.h:
11527
11528 2002-06-04  Darin Adler  <darin@apple.com>
11529
11530         - fixed 2943897 -- Initial uncached load of amazon.com renders partial page.
11531
11532         * khtml/khtml_part.cpp: (KHTMLPart::setEncoding): Put the code that
11533         reloads the page when the encoding is changed back inside APPLE_CHANGES.
11534         This was causing partial loads because of how it interacts with our
11535         way of saving up text and not decoding until we discover what the
11536         encoding is.
11537
11538 2002-06-03  Darin Adler  <darin@apple.com>
11539
11540         * LICENSE: Add 2002.
11541         
11542         * kwq/KWQApplication.mm:
11543         * kwq/kdecore/kapplication.h:
11544         * kwq/qt/qapplication.h:
11545         Found a way to simplify the application objects by making more of
11546         the functions static so we don't need to actually allocate an object.
11547
11548         * kwq/Makefile.am:
11549         * kwq/KWQKApplication.mm: Removed.
11550         * kwq/kdecore/kapp.h: Removed.
11551
11552 2002-06-03  Darin Adler  <darin@apple.com>
11553
11554         A few more unused things.
11555
11556         * kwq/Makefile.am: Removed KWQKProcess.mm
11557         * kwq/KWQKProcess.mm: Removed.
11558         * kwq/KWQStrList.h: Removed.
11559         * kwq/kdecore/kprocess.h: Removed.
11560
11561 2002-06-03  Darin Adler  <darin@apple.com>
11562
11563         Forgot one file.
11564
11565         * kwq/qt/qframe.h: Added.
11566
11567 2002-06-03  Darin Adler  <darin@apple.com>
11568
11569         Get rid of many unneeded APPLE_CHANGES.
11570         Also get rid of _KWQ_ and _KWQ_PEDANTIC_.
11571
11572         * WebCore.exp: Don't export DomShared::ref/deref any more.
11573         * WebCore-tests.exp: Changed around as needed due to changes in
11574         the classes being tested.
11575
11576         * khtml/html/htmlparser.cpp:
11577         * khtml/html/htmltokenizer.cpp:
11578         Simplified APPLE_CHANGES for better merging.
11579
11580         * khtml/dom/dom_misc.h:
11581         * khtml/dom/dom_misc.cpp:
11582         * khtml/dom/html_document.cpp:
11583         * khtml/khtmlview.cpp:
11584         * khtml/ecma/kjs_css.h:
11585         * khtml/ecma/kjs_dom.cpp:
11586         * khtml/ecma/kjs_dom.h:
11587         * khtml/ecma/kjs_window.cpp:
11588         * khtml/html/html_formimpl.cpp:
11589         * khtml/html/html_objectimpl.cpp:
11590         * khtml/misc/helper.cpp:
11591         * khtml/rendering/bidi.cpp:
11592         * khtml/rendering/render_flow.cpp:
11593         * khtml/rendering/render_form.cpp:
11594         * khtml/rendering/render_text.cpp:
11595         * khtml/xml/xml_tokenizer.h:
11596         * kwq/qt/qtextedit.h:
11597         Remove now-unneeded APPLE_CHANGES.
11598
11599         * khtml/misc/loader.cpp: (CachedImage::pixmap): Turned off more of
11600         the QMovie code.
11601
11602         * khtml/html/html_documentimpl.cpp:
11603         * khtml/html/htmltokenizer.h:
11604         * khtml/xml/dom_elementimpl.h:
11605         * kwq/KWQKHTMLPart.mm:
11606         Formatting and other minor tweaks.
11607
11608         * kwq/KWQApplication.mm: (QApplication::sendEvent): Implemented.
11609         * kwq/KWQChar.mm: (QChar::direction): Improved implementation.
11610
11611         * kwq/KWQCollection.h: Removed.
11612         * kwq/KWQIcon.h: Removed.
11613
11614         * kwq/Makefile.am: Removed following files.
11615         * kwq/KWQKCompletionBox.mm: Removed.
11616         * kwq/KWQKFactory.mm: Removed.
11617         * kwq/KWQListBox.mm: Removed.
11618         * kwq/KWQKImageIO.mm: Removed.
11619
11620         * kwq/KWQObject.mm: (QObject::event): Added, does nothing.
11621         (QObject::inherits): Put in real implementation (good enough for us).
11622
11623         * kwq/WCWebDataSource.h: Removed extern declaration of global.
11624
11625         * kwq/KWQCursor.mm: (QCursor::handle): Made the handle be an
11626         NSCursor *.
11627
11628         * kwq/external.h: Moved [IFWebView setFrameSize:] here.
11629         Got rid of IFAnimatedImage.
11630
11631         * kwq/KWQDef.h: Remove unused Q_INT8, Q_INT16, Q_UINT8, Q_UINT16,
11632         QCOORD, WFlags, WId, ASSERT, CHECK_PTR, Q_EXPORT, Q_PACKED,
11633         QT_STATIC_CONST, QT_STATIC_CONST_IMPL. Define _KWQ_IOSTREAM_ only
11634         when NDEBUG is not defined.
11635
11636         * kwq/KWQBuffer.mm:
11637         * kwq/KWQCString.mm:
11638         * kwq/KWQCollection.mm:
11639         * kwq/KWQCompletion.h:
11640         * kwq/KWQCompletion.mm:
11641         * kwq/KWQFrame.h:
11642         * kwq/KWQFrame.mm:
11643         * kwq/KWQHBox.mm:
11644         * kwq/KWQKFileItem.mm:
11645         * kwq/KWQKIconLoader.mm:
11646         * kwq/KWQKLineEdit.mm:
11647         * kwq/KWQKProtocolManager.mm:
11648         * kwq/KWQLabel.mm:
11649         * kwq/KWQListBox.h:
11650         * kwq/KWQMovie.mm:
11651         * kwq/KWQWidget.mm:
11652         * kwq/KWQxml.mm:
11653         * kwq/qt/qbuffer.h:
11654         * kwq/kdecore/kdebug.h:
11655         * kwq/kdecore/kglobal.h:
11656         * kwq/kdecore/kglobalsettings.h:
11657         * kwq/kdecore/kiconloader.h:
11658         * kwq/kdecore/kstaticdeleter.h:
11659         * kwq/kdecore/kstringhandler.h:
11660         * kwq/kdeui/kcombobox.h:
11661         * kwq/kdeui/kcompletionbox.h:
11662         * kwq/kdeui/klineedit.h:
11663         * kwq/kdeui/klistbox.h:
11664         * kwq/kdeui/kmessagebox.h:
11665         * kwq/kio/kfileitem.h:
11666         * kwq/kio/kimageio.h:
11667         * kwq/kio/kmimetype.h:
11668         * kwq/kio/kprotocolmanager.h:
11669         * kwq/kio/netaccess.h:
11670         * kwq/qt/qxml.h:
11671         * kwq/kparts/browserinterface.h:
11672         * kwq/kparts/factory.h:
11673         * kwq/kparts/part.h:
11674         * kwq/qt/qarray.h:
11675         * kwq/qt/qcollection.h:
11676         * kwq/qt/qcstring.h:
11677         * kwq/qt/qcursor.h:
11678         * kwq/qt/qdict.h:
11679         * kwq/qt/qhbox.h:
11680         * kwq/qt/qlabel.h:
11681         * kwq/qt/qlist.h:
11682         * kwq/qt/qmap.h:
11683         * kwq/qt/qmovie.h:
11684         * kwq/qt/qobject.h:
11685         * kwq/qt/qpaintdevicemetrics.h:
11686         * kwq/qt/qpainter.h:
11687         * kwq/qt/qpoint.h:
11688         * kwq/qt/qradiobutton.h:
11689         * kwq/qt/qrect.h:
11690         * kwq/qt/qregion.h:
11691         * kwq/qt/qscrollview.h:
11692         * kwq/qt/qsize.h:
11693         * kwq/qt/qstack.h:
11694         * kwq/qt/qstringlist.h:
11695         * kwq/qt/qtextedit.h:
11696         * kwq/qt/qvaluelist.h:
11697         * kwq/qt/qvector.h:
11698         * kwq/qt/qwidget.h:
11699         * kwq/qt/qxml.h:
11700         Removed unused stuff.
11701
11702         * kwq/KWQListBox.mm:
11703         * kwq/KWQMapImpl.h:
11704         * kwq/KWQMapImpl.mm:
11705         * kwq/KWQPainter.mm:
11706         * kwq/KWQPoint.mm:
11707         * kwq/KWQRadioButton.mm:
11708         * kwq/KWQRect.mm:
11709         * kwq/KWQRegion.mm:
11710         * kwq/KWQScrollBar.h:
11711         * kwq/KWQScrollView.mm:
11712         * kwq/KWQSize.mm:
11713         * kwq/KWQStringList.mm:
11714         * kwq/KWQbrowserinterface.mm:
11715         Simplified.
11716
11717         * kwq/kdecore/kurl.h:
11718         Added include to match what's expected by clients.
11719
11720         * kwq/qt/qobjectlist.h: Added. Empty file to make includers happy.
11721
11722         * kwq/khtml/khtml_printsettings.h: Added. Empty file.
11723         * kwq/qt/qobjectlist.h: Added. Empty file.
11724
11725         * kwq/kio/kssl/ksslkeygen.h: Define just enough to make callers
11726         happy.
11727
11728         * kwq/qt/qobject.h: Added event().
11729         * kwq/kparts/part.h: Added bool return type to event().
11730         * kwq/qt/qvector.h: Added QGVector base class.
11731
11732 2002-06-01  Darin Adler  <darin@apple.com>
11733
11734         * kwq/KWQPtrDictImpl.mm: (KWQPtrDictPrivate::~KWQPtrDictPrivate):
11735         Fix compile error.
11736
11737 2002-05-31  Darin Adler  <darin@apple.com>
11738
11739         Fix infinite loop while cancelling bug that was caused by dictionary
11740         iterators not getting updated when keys are removed.
11741
11742         * kwq/KWQPtrDictImpl.mm:
11743         (KWQPtrDictPrivate::KWQPtrDictPrivate): Set iterators list to 0.
11744         (KWQPtrDictPrivate::~KWQPtrDictPrivate): Tell iterators dict is gone.
11745         (KWQPtrDictImpl::remove): Tell each iterator that the item was removed.
11746         (KWQPtrDictIteratorPrivate::KWQPtrDictIteratorPrivate): Insert the
11747         iterator into a list with a head stored in the dict.
11748         (KWQPtrDictIteratorPrivate::~KWQPtrDictIteratorPrivate): Remove the
11749         iterator from the list.
11750         (KWQPtrDictIteratorPrivate::remove): Remove the key from the iterator's
11751         private storage.
11752         (KWQPtrDictIteratorPrivate::dictDestroyed): Clear out the dict pointer
11753         and set the count to 0.
11754
11755         * kwq/KWQPtrDictImpl.h: Move private classes out so they can get at each
11756         other without being friends of each other.
11757
11758         * kwq/qt/qptrdict.h: Simplify a bit.
11759
11760 2002-05-31  Darin Adler  <darin@apple.com>
11761
11762         * khtml/khtmlview.h: Add KWQKHTMLPartImpl as friend class, remove khtml_part.h
11763         include that we added inside APPLE_CHANGES.
11764
11765         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::end): Reinstate a line of code that
11766         required friend status.
11767
11768         * kwq/KWQView.mm: Add include of khtml_part.h.
11769
11770 2002-05-31  Darin Adler  <darin@apple.com>
11771
11772         * kwq/kwqdebug.h: Don't use displayableString; it's an SPI and those
11773         are no nos inside WebCore.
11774
11775 2002-05-31  Darin Adler  <darin@apple.com>
11776
11777         * kwq/kio/jobclasses.h: Removed SimpleJob and made Job just enough for
11778         TransferJob to inherit from it. Removed unused stuff and made url() return
11779         an NSURL rather than a KURL.
11780         * kwq/KWQKjobclasses.mm: Removed much of the code, and reworked what
11781         remains to simplify it.
11782         * kwq/KWQKloader.mm: Update users of TransferJob::url since it now returns
11783         an NSURL rather than a KURL.
11784
11785         * kwq/kio/job.h: Simplify.
11786         * kwq/KWQKJob.mm: Simplify.
11787
11788         * kwq/kio/scheduler.h: Emptied this file out.
11789         * kwq/KWQKScheduler.mm: Removed.
11790         * kwq/Makefile.am: Removed KWQKScheduler.mm.
11791
11792 2002-05-31  Darin Adler  <darin@apple.com>
11793
11794         Remove some unused stuff; total of 1000s of lines.
11795
11796         * Makefile.am: Removed some strange uses of "./" and
11797         improved stamp-related rules.
11798
11799         * WebCore-tests.exp: Removed QDir functions.
11800
11801         * khtml/Makefile.am: Removed java subdirectory.
11802         * khtml/java/*: Removed.
11803         * khtml/rendering/render_applet.cpp: Rearrange APPLE_CHANGES so
11804         that we use our own KJavaAppletWidget rather than a QWidget.
11805         * kwq/khtml/java/kjavaappletcontext.h: Added.
11806         * kwq/khtml/java/kjavaappletwidget.h: Added.
11807         * kwq/KWQKJavaAppletWidget.mm: Added. Replaces WCJavaAppletWidget.mm.
11808         * kwq/KWQsignals.mm: Removed java-related signals.
11809
11810         * khtml/css/Makefile.am:
11811         * khtml/misc/Makefile.am:
11812         Improve stamp-related rules.
11813
11814         * khtml/misc/loader.cpp: Move around and add ifdefs so we don't
11815         need as much KWQ code. Maybe revisit this later -- related to the
11816         KDE implementation of animated and progressive loading images,
11817         which we probably don't need, but it may integrate slightly better than
11818         doing our hacks inside QPixmap.
11819
11820         * kwq/KWQApplication.mm:
11821         * kwq/KWQFontInfo.mm:
11822         * kwq/KWQInputDialog.mm:
11823         * kwq/KWQKFileDialog.mm:
11824         * kwq/KWQKHTMLPartBrowserExtension.mm:
11825         * kwq/KWQKWin.mm:
11826         * kwq/KWQKWinModule.mm:
11827         * kwq/KWQKstddirs.mm:
11828         * kwq/KWQPixmap.mm:
11829         Simplified, removed unused code, minor tweaks.
11830
11831         * kwq/Makefile.am: Removed all the old files, added some new ones.
11832         * kwq/KWQBitmap.mm: Removed.
11833         * kwq/KWQBrush.mm: Removed.
11834         * kwq/KWQDCOPClient.mm: Removed.
11835         * kwq/KWQDataStream.h: Removed.
11836         * kwq/KWQDir.mm: Removed.
11837         * kwq/KWQFontDatabase.mm: Removed.
11838         * kwq/KWQImage.mm: Removed.
11839         * kwq/KWQKInstance.mm: Removed.
11840         * kwq/KWQPaintDevice.mm: Removed.
11841         * kwq/KWQPart.mm: Removed.
11842         * kwq/KWQasyncimageio.mm: Removed.
11843         * kwq/KWQasyncio.mm: Removed.
11844         * kwq/KWQbrowserextension.mm: Removed.
11845         * kwq/WCJavaAppletWidget.h: Removed.
11846         * kwq/WCJavaAppletWidget.mm: Removed.
11847         * kwq/qt/qdatastream.h: Removed.
11848         * kwq/qt/qdir.h: Removed.
11849         * kwq/qt/qlayout.h: Removed.
11850
11851         * kwq/KWQCursor.mm:
11852         (QCursor::handle): Return the cursor object as an integer rather than
11853         just returning 0; makes the code that uses handle() more likely to work
11854         although it introduces a 64-bit cleanliness problem.
11855
11856         * kwq/KWQEvent.mm: Initialize event type in QEvent subclasses.
11857
11858         * kwq/WebCoreImageRenderer.h: Added NSObject and NSCopying protocols to
11859         the WebCoreImageRenderer protocol.
11860
11861         * kwq/kwqdebug.h: Use displayableString in DEBUG_OBJECT for better logging.
11862
11863         * kwq/dcop/dcopclient.h:
11864         * kwq/kdecore/kstddirs.h:
11865         * kwq/kdecore/kwin.h:
11866         * kwq/kdecore/kwinmodule.h:
11867         * kwq/kfile/kfiledialog.h:
11868         * kwq/kparts/browserextension.h:
11869         * kwq/kparts/event.h:
11870         * kwq/qt/qapplication.h:
11871         * kwq/qt/qasyncimageio.h:
11872         * kwq/qt/qasyncio.h:
11873         * kwq/qt/qbitmap.h:
11874         * kwq/qt/qbrush.h:
11875         * kwq/qt/qbutton.h:
11876         * kwq/qt/qcheckbox.h:
11877         * kwq/qt/qcollection.h:
11878         * kwq/qt/qcolor.h:
11879         * kwq/qt/qcombobox.h:
11880         * kwq/qt/qcursor.h:
11881         * kwq/qt/qdrawutil.h:
11882         * kwq/qt/qevent.h:
11883         * kwq/qt/qfont.h:
11884         * kwq/qt/qfontdatabase.h:
11885         * kwq/qt/qfontinfo.h:
11886         * kwq/qt/qimage.h:
11887         * kwq/qt/qinputdialog.h:
11888         * kwq/qt/qintcache.h:
11889         * kwq/qt/qintdict.h:
11890         * kwq/qt/qpaintdevice.h:
11891         * kwq/qt/qpixmap.h:
11892         * kwq/qt/qstring.h:
11893         Removed lots of unused stuff, including old conditionals and the like.
11894
11895         * khtml/khtml_part.cpp:
11896         (KHTMLPart::khtmlMouseMoveEvent): Add missing parenthesis.
11897
11898 2002-05-30  Maciej Stachowiak  <mjs@apple.com>
11899
11900         WebCore part of fixes for:
11901
11902         Radar 2926169 - no support for window.open
11903         Radar 2890469 - Preference to prevent JavaScript from automatically
11904         opening new windows doesn't work
11905         Radar 2938569 - link cursor does not appear on some pages
11906         
11907         * khtml/ecma/kjs_window.cpp:
11908         (WindowFunc::tryCall): #ifdef'd out some parts of this code that are
11909         broken (but fortunately also unnecessary) in our project.
11910         * kwq/KWQKConfigBase.mm:
11911         (KConfig::KConfig): Changes to support JavaScript window opening pref.
11912         (KConfig::readUnsignedNumEntry): Likewise.
11913         * kwq/KWQKHTMLPart.mm:
11914         (KHTMLPart::openURLInFrame): Implemented.
11915         * kwq/KWQKHTMLPartBrowserExtension.mm:
11916         (KHTMLPartBrowserExtension::KHTMLPartBrowserExtension): Implemented.
11917         (KHTMLPartBrowserExtension::openURLRequest): Implemented by
11918         calling openURLInFrame on the part.
11919         (KHTMLPartBrowserExtension::createNewWindow): Implemented by
11920         calling new WebController openNewWindowWIthURL method.
11921         * kwq/KWQKHTMLSettings.mm:
11922         (KHTMLSettings::isJavaScriptEnabled): Handle renaming of pref.
11923         * kwq/KWQView.mm:
11924         (-[KWQHTMLView setCursor:]): Fixes to set cursor properly even if
11925         none was set.   
11926         * kwq/external.h: Declare some new WebKit methods.
11927         * kwq/kparts/browserextension.h: Make formerly empty methods pure virtual.
11928         * kwq/khtml/khtml_ext.h: Declare some virtual methods.
11929
11930 2002-05-30  Darin Adler  <darin@apple.com>
11931
11932         Cut down our copied and pasted code even more.
11933
11934         * WebCore.exp: Change what's exported for things that moved from
11935         KHTMLPart into KWQKHTMLPartImpl.
11936
11937         * khtml/.cvsignore:
11938         * khtml/css/.cvsignore:
11939         * khtml/dom/.cvsignore:
11940         * khtml/ecma/.cvsignore:
11941         * khtml/html/.cvsignore:
11942         * khtml/java/.cvsignore:
11943         * khtml/misc/.cvsignore:
11944         * khtml/rendering/.cvsignore:
11945         * khtml/xml/.cvsignore:
11946         Some .cvsignore hygiene.
11947
11948         * khtml/khtml_part.cpp: Use a lot more of this file, rather than using a copy inside
11949         the kwq directory. Now we have KWQKHTMLPartImpl for the part that does need to be in kwq.
11950         * khtml/khtml_part.h: Add KWQKHTMLPartImpl pointer, remove most of the other APPLE_CHANGES.
11951         * khtml/khtmlpart_p.h: Remove almost all of the APPLE_CHANGES.
11952         * kwq/KWQKHTMLPart.mm: Changed everything from being part of KHTMLPart to be a separate
11953         KWQKHTMLPartImpl class. Minimized copied and pasted code; still more to do.
11954         * kwq/KWQKHTMLPartImpl.h: Added. Interface so KHTMLPart can call into kwq as necessary.
11955
11956         * khtml/misc/Makefile.am: Added loader.cpp.
11957         * khtml/misc/loader.cpp: Added from KDE 3.0. Rolled most of the changes from KWQKloader.mm
11958         in here. The kwq-specific part is now in a KWQLoaderImpl class.
11959         * khtml/misc/loader.h: Replace LoaderPrivate with KWQLoaderImpl.
11960         * khtml/misc/loader.moc: Added empty file.
11961         * kwq/KWQKloader.mm: Changed everything to be a separate KWQLoaderImpl class.
11962         Minimized copied and pasted code.
11963         * kwq/KWQLoaderImpl.h: Added. Interface so loader can call into kwq as necessary.
11964         * kwq/loader.moc: Removed empty file.
11965
11966         * kwq/kparts/historyprovider.h: Add HistoryProvider::insert.
11967         * kwq/KWQKHistoryProvider.mm: Add HistoryProvider::insert.
11968
11969         * kwq/KWQKLocale.mm: (KLocale::language): Simplify.
11970
11971         * kwq/KWQListBox.h:
11972         * kwq/KWQNSTextField.h:
11973         Use import instead of include for Cocoa.h.
11974
11975         * kwq/KWQScrollView.mm: (QScrollView::contentsToViewport): Implement this.
11976
11977         * kwq/external.h: Add declarations so this can be included cleanly.
11978
11979         * kwq/khtml/khtml_pagecache.h: Put a no-op cache in here so we don't have to do so
11980         many APPLE_CHANGES ifdefs.
11981
11982         * kwq/kparts/part.h: Put ref/deref and event/customEvent in here so they don't need
11983         to be added to KHTMLPart.
11984
11985         * kwq/kio/scheduler.h: Add <qtimer.h> include to help us build (not sure if it's
11986         really needed.
11987         * kwq/kparts/partmanager.h: Add <qdatetime.h> include to help us build (not sure if it's
11988         really needed.
11989
11990 === Alexander-7 ===
11991
11992 2002-05-29  Richard Williamson  <rjw@apple.com>
11993
11994     Changes to support animated image rendering.
11995     Moved image rendering into webkit.
11996     
11997         * WebCore.exp:
11998         * kwq/KWQPainter.mm:
11999         (QPainter::drawPixmap):
12000         (QPainter::drawTiledPixmap):
12001         (QPainter::translate):
12002         (QPainter::scale):
12003         (QPainter::begin):
12004         (QPainter::end):
12005         * kwq/KWQPixmap.mm:
12006         (QPixmap::QPixmap):
12007         (QPixmap::~QPixmap):
12008         (QPixmap::isNull):
12009         (QPixmap::size):
12010         (QPixmap::rect):
12011         (QPixmap::width):
12012         (QPixmap::height):
12013         (QPixmap::resize):
12014         (QPixmap::operator=):
12015         * kwq/Makefile.am:
12016         * kwq/WebCoreImageRenderer.h: Added.
12017         * kwq/WebCoreImageRendererFactory.h: Added.
12018         * kwq/WebCoreImageRendererFactory.m: Added.
12019         (+[WebCoreImageRendererFactory sharedFactory]):
12020         (-[WebCoreImageRendererFactory init]):
12021         (-[WebCoreImageRendererFactory imageRendererWithBytes:length:]):
12022         (-[WebCoreImageRendererFactory imageRendererWithSize:]):
12023         * kwq/qt/qpixmap.h:
12024
12025 2002-05-28  Richard Williamson  <rjw@apple.com>
12026
12027     Moved cancellation check before creation on job instance,
12028     preventing leak.
12029     
12030         * kwq/KWQKloader.mm:
12031         (Loader::servePendingRequests):
12032
12033 2002-05-28  Richard Williamson  <rjw@apple.com>
12034
12035     Fixed edge case cancellation problem (actually happens a lot).
12036     No new loads are allowed after a data source has been
12037     set as "stopping".
12038     
12039         * kwq/KWQKloader.mm:
12040         (Loader::servePendingRequests):
12041         * kwq/external.h:
12042
12043 2002-05-28  Richard Williamson  <rjw@apple.com>
12044
12045     Fixed reporting of malformed resources URLs.  This fixed
12046     exceptions that were being thrown because nil handles were
12047     being added to datasource handle array.
12048
12049         * kwq/KWQKjobclasses.mm:
12050         * kwq/KWQKloader.mm:
12051         (Loader::servePendingRequests):
12052
12053 2002-05-28  Chris Blumenberg  <cblu@apple.com>
12054
12055         Added framework-header-stamp
12056
12057         * .cvsignore:
12058
12059 2002-05-27  John Sullivan  <sullivan@apple.com>
12060
12061         * Resources/linkCursor.tiff: Added. Maciej forgot to cvs add
12062         this new file. I stole the one from haircut.
12063
12064 2002-05-27  Maciej Stachowiak  <mjs@apple.com>
12065
12066         Fixed the vexing and long-standing:
12067
12068         Radar 2894699 - Crash at: http://cb.apple.com/jsplugins.html
12069         
12070         * khtml/ecma/kjs_navigator.cpp: This crash was caused by Plugin
12071         and MimeType objects referring to data that was held and
12072         refcounted by PluginBase, without holding a ref. I fixed it by
12073         making these individual items participate in the refcounting as
12074         well.
12075
12076 2002-05-26  Maciej Stachowiak  <mjs@apple.com>
12077
12078         Webcore part of fix for:
12079
12080         Radar 2884085 - add support for changing cursor over links
12081
12082         * Makefile.am: Install tiff of link cursor.
12083         * kwq/qt/qcursor.h, kwq/KWQCursor.mm:
12084         (QCursor::QCursor): Change QCursor to contain an NSCursor.
12085         (QCursor::~QCursor): Likewise.
12086         (QCursor::operator=): Likewise.
12087         (QCursor::handle): Likewise.
12088         * kwq/KWQKCursor.mm:
12089         (+[NSCursor _WebCore_linkCursor]): NSCursor extension method that
12090         provides the link cursor.       
12091         (KCursor::handCursor): Use the link cursor instead of the default
12092         arrow cursor.
12093         * kwq/KWQKHTMLSettings.mm:
12094         (KHTMLSettings::changeCursor): Return TRUE; we always want cursor
12095         tracking.
12096         * kwq/KWQView.h, kwq/KWQView.mm:
12097         (-[KWQHTMLView setCursor:]): Remember the new cursor and
12098         invalidate cursor rects.
12099         (-[KWQHTMLView resetCursorRects]): Establish cursor rect for
12100         currently set cursor, if not default.
12101         * kwq/KWQWidget.mm:
12102         (QWidget::setCursor): Call setCursor: on the underlying
12103         NSView, if implemented.
12104         (QWidget::cursor): Implemented.
12105         (QWidget::unsetCursor): Implemented.
12106
12107 2002-05-25  Maciej Stachowiak  <mjs@apple.com>
12108
12109         Changed WebCore to build as a framework, not a dylib, so resources
12110         can be added to it.
12111
12112         * Makefile.am: Actual changes to build WebCore.framework
12113         * Resources/Info.plist: Added.
12114         * English.lproj/InfoPlist.strings: Added.
12115         * WebCore-tests.exp: Added.
12116         * WebCore.exp: Added.
12117         * libwebcore.exp: Removed.
12118         * libwebcoretests.exp: Removed.
12119         * .cvsignore: Updated.
12120
12121 === 0.3 ===
12122
12123 2002-05-24  Shelley A Sheridan  <sheridan@apple.com>
12124
12125         * ChangeLog:
12126
12127 === Alexander-6 ===
12128
12129 2002-05-23  Maciej Stachowiak  <mjs@apple.com>
12130
12131         Fixes for the following (the first bug also requires WebKit and
12132         WebBrowser changes):
12133         
12134         Radar 2896391 - command-click should open link in new window
12135         Radar 2935858 - two mails for each mailto:
12136
12137         * khtml/html/html_inlineimpl.cpp:
12138         (HTMLAnchorElementImpl::defaultEventHandler): Set flag for Meta
12139         key in addition to Control, Shift and Alt, since the Command key
12140         is treated as Meta.
12141         * kwq/KWQKHTMLPart.mm:
12142         (KHTMLPart::urlSelected): Open a new window if the user
12143         command-clicked.
12144         (KHTMLPart::khtmlMouseMoveEvent): Clean up use of braces and ifdefs to
12145         make prepare-ChangeLog happy.
12146         (KHTMLPart::khtmlMouseReleaseEvent): Remove code that tried to
12147         process link click events here. This made link clicks get
12148         processed twice, now that mouse events are hooked up for real.
12149         * kwq/external.h: prototype openNewWindowWithURL: method.
12150
12151 2002-05-23  Kenneth Kocienda  <kocienda@apple.com>
12152
12153         More work to fix this bug:
12154
12155         Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH)
12156
12157         There was yet two more cases where the refresh timers were getting clobbered.
12158         Fixed.
12159
12160         * khtml/ecma/kjs_window.cpp:
12161         (WindowQObject::parentDestroyed)
12162         * khtml/khtmlview.cpp:
12163         (KHTMLView::clear)
12164
12165 2002-05-23  Richard J. Williamson  <rjw@apple.com>
12166
12167     Fixed crasher 2935757.  I still need to investigate the root cause
12168     of this problem.
12169     
12170         * khtml/rendering/render_text.cpp:
12171         (RenderText::setText):
12172
12173 2002-05-23  Kenneth Kocienda  <kocienda@apple.com>
12174
12175         Fixes for these bugs:
12176
12177         Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH)
12178         Radar 2935472 (Non-standard html pages don't always get decoded)
12179
12180         * khtml/khtml_part.cpp: Don't kill all timers. Just kill the ones for this object.
12181         (KHTMLPart::~KHTMLPart):
12182         * khtml/khtml_part.h: Modified interface to slotData to add a flag for when all data 
12183           for a load has been received.
12184         * khtml/khtmlview.cpp:
12185         (KHTMLView::~KHTMLView): Don't kill all timers. Just kill the ones for this object.
12186         * kwq/KWQKHTMLPart.mm:
12187         (KHTMLPart::slotData): Senses when text encoding is not available, but all data has been received.
12188         (KHTMLPart::write): Ditto
12189         (KHTMLPart::scheduleRedirection):
12190         * libwebcore.exp: Changed symbol for slotData
12191
12192 2002-05-23  Shelley A Sheridan  <sheridan@apple.com>
12193
12194         * ChangeLog:
12195
12196 === Alexander-5 ===
12197
12198 2002-05-23  Maciej Stachowiak  <mjs@apple.com>
12199
12200         Notify when loads of sub-URLs start and stop, so panels for these
12201         can be attached to the right windows.
12202
12203         * kwq/KWQKloader.mm:
12204         (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
12205         (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]):
12206         (-[URLLoadClient IFURLHandleResourceDidFinishLoading:data:]):
12207         (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
12208         (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
12209         * kwq/external.h:
12210
12211 2002-05-22  Richard J. Williamson  <rjw@apple.com>
12212     
12213
12214     Additional additional callback when resource is first loaded.
12215         
12216         * kwq/KWQKloader.mm:
12217         (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
12218
12219 2002-05-21  Richard J. Williamson  <rjw@apple.com>
12220
12221     Lots of changes for DHTML.
12222     Bugs fixes, and fixes to regressions.
12223     
12224         * khtml/misc/decoder.cpp:
12225         (Decoder::decode):
12226         * khtml/rendering/render_flow.cpp:
12227         (RenderFlow::print):
12228         (RenderFlow::layout):
12229         * khtml/rendering/render_text.cpp:
12230         (RenderText::print):
12231         * kwq/KWQKHTMLPart.mm:
12232         (KHTMLPart::urlSelected):
12233         * kwq/qt/qevent.h:
12234         * kwq/qt/qstring.h:
12235         * libwebcore.exp:
12236
12237 2002-05-21  Kenneth Kocienda  <kocienda@apple.com>
12238
12239         Fix for this bug:
12240
12241         Radar 2924728 (post form fails at pt.apple.com; succeeds at macosx.apple.com)
12242
12243         Posted forms are now submitted with the IFURLHandleFlagLoadFromOrigin 
12244         load flag set.  This prevents a potential bug which may cause a page 
12245         with a form that uses itself as an action to be returned from the 
12246         cache without submitting.
12247
12248         * kwq/KWQKHTMLPart.mm:
12249         (KHTMLPart::submitForm)
12250
12251 2002-05-21  Kenneth Kocienda  <kocienda@apple.com>
12252
12253         Merged these four include files into the precompiled header.
12254         These are used for the enhanced assertion/debuggin support I
12255         added yesterday.
12256
12257         <signal.h>
12258         <sys/types.h>
12259         <sys/time.h>
12260         <sys/resource.h>
12261
12262         * WebCorePrefix.h
12263
12264 2002-05-20  Darin Adler  <darin@apple.com>
12265
12266         Forgot one file.
12267
12268         * khtml/khtml_part.moc: Added.
12269
12270 2002-05-20  Darin Adler  <darin@apple.com>
12271
12272         Use more of the original khtml_part.cpp; a step in the direction of factoring
12273         our code out so more of it can go in WebKit and we don't need external.h.
12274
12275         * khtml/Makefile.am:
12276         * khtml/khtml_part.cpp:
12277         * khtml/khtml_part.h:
12278         * khtml/khtmlpart_p.h:
12279         Start compiling khtml_part.cpp and using khtmlpart_p.h again.
12280
12281         * kwq/KWQKHTMLPart.mm:
12282         Remove code that was identical to khtml_part.cpp. We aren't going to use the
12283         "copy and hack our copy" approach on this class for the long termk, and this
12284         is the first step in cleaning things up.
12285
12286         * khtml/khtml_ext.h: Removed.
12287         * khtml/khtml_factory.h: Removed.
12288
12289         * khtml/misc/loader.h:
12290         * khtml/xml/dom_docimpl.cpp:
12291         (DocumentImpl::recalcStyleSelector):
12292         Remove some APPLE_CHANGES ifdefs we don't need any more.
12293
12294         * kwq/KWQDateTime.mm:
12295         Simplify things like copy constructors.
12296
12297         * kwq/kdeui/kcursor.h:
12298         * kwq/KWQKCursor.mm:
12299         Add handCursor.
12300
12301         * kwq/KWQKHTMLFactory.mm:
12302         Put in real implementations, not just placeholders.
12303
12304         * kwq/KWQKHTMLPartBrowserExtension.mm:
12305         * kwq/KWQKInstance.mm:
12306         * kwq/KWQPart.mm:
12307         * kwq/KWQbrowserextension.mm:
12308         Empty these files out, nothing in them is needed any more.
12309
12310         * kwq/khtml/khtml_settings.h:
12311         * kwq/KWQKHTMLSettings.mm:
12312         (KHTMLSettings::isJavaEnabled):
12313         (KHTMLSettings::autoLoadImages):
12314         (KHTMLSettings::isPluginsEnabled):
12315         (KHTMLSettings::isJavaScriptEnabled):
12316         (KHTMLSettings::isJavaScriptDebugEnabled):
12317         Moved settings here from KWQKHTMLPart.mm
12318
12319         * kwq/kdecore/kurl.h:
12320         * kwq/KWQKURL.mm:
12321         (KURL::encodedHtmlRef):
12322         (KURL::htmlRef):
12323         Placeholders for these two, called in KHTMLPart, but maybe not really needed.
12324
12325         * kwq/KWQKloader.mm:
12326         (Cache::preloadScript):
12327         (Cache::preloadStyleSheet):
12328         Empty functions for these, called in KHTMLPart but no implementation needed.
12329
12330         * kwq/qt/qtimer.h:
12331         * kwq/KWQTimer.mm:
12332         (QTimer::isActive):
12333         (QTimer::start):
12334         (QTimer::stop):
12335         More timer functions.
12336
12337         * kwq/qt/qscrollview.h: Add one more function.
12338
12339         * kwq/kdecore/kinstance.h: Simplify.
12340         * kwq/kdeui/kaction.h: Simplify.
12341         * kwq/khtml/khtml_factory.h: Simplify.
12342         * kwq/kparts/browserextension.h: Simplify.
12343         * kwq/kparts/part.h: Simplify.
12344         * kwq/qt/qdatetime.h: Simplify.
12345
12346         * kwq/kdecore/klibloader.h: Added.
12347         * kwq/khtml/khtml_ext.h: Added.
12348         * kwq/kparts/partmanager.h: Added.
12349         Nearly-empty files with just simple placeholders so we can compile more.
12350
12351         * kwq/dcop/kdatastream.h: Added.
12352         * kwq/kdecore/kmultipledrag.h: Added.
12353         * kwq/kdecore/ktempfile.h: Added.
12354         * kwq/kdecore/kurldrag.h: Added.
12355         * kwq/kdeui/kstdaction.h: Added.
12356         * kwq/kdeui/kxmlguifactory.h: Added.
12357         * kwq/khtml/khtml_find.h: Added.
12358         * kwq/khtml/khtml_iface.h: Added.
12359         * kwq/khtml/khtml_pagecache.h: Added.
12360         * kwq/khtml/khtml_run.h: Added.
12361         * kwq/kio/kssl/ksslcertchain.h: Added.
12362         * kwq/kio/kssl/ksslinfodlg.h: Added.
12363         * kwq/kio/ktrader.h: Added.
12364         * kwq/qt/private/qucomextra_p.h: Added.
12365         * kwq/qt/qclipboard.h: Added.
12366         * kwq/qt/qmetaobject.h: Added.
12367         Empty files just so includes of these names will compile.
12368
12369         * libwebcoretests.exp: Remove one export that's no longer needed.
12370
12371 2002-05-20  Richard J. Williamson  <rjw@apple.com>
12372
12373         * khtml/ecma/kjs_events.cpp:
12374         (JSEventListener::handleEvent):
12375         * khtml/khtml_part.h:
12376         * kwq/KWQKHTMLPart.mm:
12377         (KHTMLPart::~KHTMLPart):
12378         (KHTMLPart::scheduleRedirection):
12379         (KHTMLPart::timerEvent):
12380         (KHTMLPart::redirectJS):
12381         (KHTMLPart::urlSelected):
12382         * kwq/KWQVariant.mm:
12383         (QVariant::asString):
12384         * kwq/qt/qvariant.h:
12385
12386 2002-05-20  Kenneth Kocienda  <kocienda@apple.com>
12387
12388         * kwq/kwqdebug.h: Now includes <sys/time.h> to prevent possible
12389         build breakage in the inclusion of <sys/resource.h>
12390
12391 2002-05-20  Kenneth Kocienda  <kocienda@apple.com>
12392
12393         Changed assertion failure code to send a SIGQUIT instead
12394         of raising an NSException.
12395
12396         * kwq/kwqdebug.h
12397
12398 2002-05-19  Darin Adler  <darin@apple.com>
12399
12400         * khtml/rendering/render_object.cpp: (RenderObject::drawBorder):
12401         Add missing break statement so borders don't draw strangely.
12402
12403         * khtml/rendering/render_style.h: Remove unneeded QColor workaround,
12404         now that we handle invalid colors properly.
12405
12406         * kwq/KWQColor.mm:
12407         (createStaticConstructorAutoreleasePool): New solution to the problem
12408         of autorelease at static constructor time.
12409         (getNamedColors): Function that creates this dictionary when needed
12410         rather than creating it inside an init function.
12411         (QColor::QColor): Share code with setRgb, get rid of _initialize.
12412         (hex2int): Return -1 for bad digit rather than 0.
12413         (decodeColorFromHexColorString): Make more robust and simpler.
12414         (QColor::setNamedColor): Set color to invalid rather than black when
12415         the passed in name is empty or unrecognized.
12416         (QColor::red), (QColor::green), (QColor::blue): Round instead of truncating.
12417         (QColor::setRgb): Set color to invalid if r, g, or b is out of range.
12418         (QColor::operator=): Simplify.
12419         (QColor::operator==): Handle invalid colors correctly.
12420         (QColor::getNSColor): Return black of invalid colors.
12421
12422         * kwq/KWQCursor.mm: Simplify cursor globals.
12423
12424         * kwq/KWQPainter.mm:
12425         (QPainter::_setColorFromBrush): Use getNSColor() to handle invalid colors correctly.
12426         (QPainter::_setColorFromPen): Use getNSColor() to handle invalid colors correctly.
12427         (QPainter::drawLine): Add code to respect style and width and handle endpoints in a
12428         way that will make the lines look like Qt users expect.
12429         (QPainter::drawText): Use getNSColor() to handle invalid colors correctly.
12430         (QPainter::drawUnderlineForText): Use getNSColor() to handle invalid colors correctly.
12431         (QPainter::fillRect): Use getNSColor() to handle invalid colors correctly.
12432
12433         * kwq/KWQPen.mm: (QPen::QPen): (QPen::setStyle): Remove use of MPenStyle.
12434
12435         * kwq/KWQPixmap.mm: (QPixmap::QPixmap): Add comments.
12436
12437         * kwq/qt/qcolor.h: Simplify ifdefs, remove cname, _initialize, globals_init, and
12438         initGlobalColors.
12439
12440         * kwq/qt/qnamespace.h: Remove AlignTop, AlignBottom, SingleLine, ExpandTabs, DontPrint,
12441         DashDotLine, DashDotDotLine, MPenStyle, WResizeNoRease, WRepaintNoErase, color0, color1,
12442         darkRed, darkGreen, darkBlue, darkCyan, darkMagenta, darkYellow. Simplify the QColor
12443         and QCursor globals.
12444
12445         * kwq/qt/qpen.h: QPainter is no longer a friend class. Remove linest.
12446
12447 2002-05-17  Darin Adler  <darin@apple.com>
12448
12449         * khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
12450         OK. This time it's correct.
12451
12452 2002-05-17  Darin Adler  <darin@apple.com>
12453
12454         * khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
12455         Roll the change out while I see why it causes a crash.
12456
12457 2002-05-17  Darin Adler  <darin@apple.com>
12458
12459         * khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
12460         Remove an old incorrect fix for a style leak in here and put in
12461         a new correct fix.
12462
12463 2002-05-16  Richard J. Williamson  <rjw@apple.com>
12464
12465         Fixed 2896350.  Ignore DPI in images and render directly at pixel size.
12466         
12467         * kwq/KWQPainter.mm:
12468         (QPainter::drawPixmap):
12469         * kwq/KWQPixmap.mm:
12470         (QPixmap::QPixmap):
12471
12472 2002-05-16  Richard J. Williamson  <rjw@apple.com>
12473
12474         Fixed 2925638.  Don't send last progress message from resourceDataDidBecomeAvailable,
12475         it is sent from IFURLHandleResourceDidFinishLoading, avoiding duplication.
12476         
12477         * kwq/KWQKloader.mm:
12478         (-[URLLoadClient IFURLHandle:resourceDataDidBecomeAvailable:]):
12479
12480 2002-05-15  Richard J. Williamson  <rjw@apple.com>
12481     
12482     Alerts, useful for validating that js handlers work.
12483     Validated that onsubmit is working.
12484     
12485         * kwq/KWQKMessageBox.mm:
12486         (KMessageBox::error):
12487         (KMessageBox::warningYesNo):
12488         (KMessageBox::questionYesNo):
12489         (KMessageBox::sorry):
12490
12491 2002-05-15  Darin Adler  <darin@apple.com>
12492
12493         * kwq/qt/qguardedptr.h: Fix reversed sense of check in isNull. Fixes
12494         a bug that was causing a lot of DHTML not to work.
12495
12496 2002-05-15  Kenneth Kocienda  <kocienda@apple.com>
12497
12498         * kwq/KWQInvisibleButton.h: Changed an #include of Cocoa.h to an #import
12499
12500 2002-05-15  Darin Adler  <darin@apple.com>
12501
12502         * kwq/KWQListImpl.mm:
12503         (KWQListImpl::KWQListPrivate::copyList): Take out unnecessary line of code.
12504         (KWQListImpl::KWQListPrivate::~KWQListPrivate): Delete the iterator nodes
12505         also, not just the item nodes. Fixes a storage leak.
12506         (KWQListIteratorImpl::KWQListIteratorPrivate::KWQListIteratorPrivate):
12507         Change interface to take a list pointer so we don't rely on the undefined
12508         behavior of &* on a null pointer.
12509         (KWQListImpl::addIterator): Set up the prev pointer of the old head of
12510         the list. This was causing the crash I was debugging.
12511         (KWQListIteratorImpl::operator=): Simpler implementation.
12512
12513 2002-05-14  Richard J. Williamson  <rjw@apple.com>
12514
12515     Added another symbol for stack based event constructor.
12516     Change to support onLoad.
12517     
12518         * kwq/KWQKHTMLPart.mm:
12519         (KHTMLPart::end):    
12520         * libwebcore.exp:
12521
12522 2002-05-14  Chris Blumenberg  <cblu@apple.com>
12523
12524         Changed slotData to slotData(NSString *encoding, const char *bytes, int length)
12525
12526         * khtml/khtml_part.h:
12527         * kwq/KWQKHTMLPart.mm:
12528         (KHTMLPart::slotData):
12529         * libwebcore.exp:
12530
12531 2002-05-14  Darin Adler  <darin@apple.com>
12532
12533         Fixed 2925291 -- CSS2 test page causes infinite recursion, crash
12534
12535         * khtml/rendering/render_container.cpp: (RenderContainer::addChild):
12536         Add code to detect the case of a render object that uses text cell
12537         style but is not itself a text style, and make sure we don't try to
12538         nest such an object inside an infinite number of tables.
12539
12540 2002-05-14  Darin Adler  <darin@apple.com>
12541
12542         * kwq/KWQListImpl.mm: (KWQListIteratorImpl::KWQListIteratorImpl):
12543         Add a missing check for a null pointer.
12544
12545         * kwq/KWQGuardedPtr.mm: (KWQGuardedPtrBase::KWQGuardedPtrBase):
12546         Remove an unnecessary call to "toFirst", because new iterators
12547         already default to pointing to the first element of the list.
12548
12549 2002-05-13  Darin Adler  <darin@apple.com>
12550
12551         * kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): Detach all the iterators from
12552         the list when the list is destroyed. I thought this was done before, but it seems not.
12553
12554 2002-05-13  Darin Adler  <darin@apple.com>
12555
12556         Fixed bug 2922884 (JavaScript object leak creating Image object from JavaScript).
12557         There was a reference loop created when a document contained a variable that
12558         referenced an image, because images held references to the document; the C++
12559         kind that do not participate in the JavaScript garbage collection.
12560
12561         * khtml/ecma/kjs_html.h: Use a QGuardedPtr to the DocumentImpl instead of using
12562         a Document object.
12563         * khtml/ecma/kjs_html.cpp:
12564         (Image::tryPut): Change because the "doc" pointer is now a pointer to the
12565         DocumentImpl, not the Document. Also check for 0, since it's now a QGuardedPtr
12566         that can become 0.
12567         (Image::Image): Newly out of line. Changed because the "doc" pointer is now a
12568         pointer to the DocumentImpl, not the Document.
12569
12570         Since the solution used QGuardedPtr, I had to implement it.
12571
12572         * kwq/qt/qguardedptr.h: Put the implementation in a new KWQGuardedPtrBase class,
12573         with only the bare minimum in a template. This new implementation uses iterators
12574         on a QPtrList, which means there's not much code needed.
12575         * kwq/KWQGuardedPtr.mm: (KWQGuardedPtrBase::KWQGuardedPtrBase): Rewrite to use
12576         a QPtrListIterator to a dummy list in the QObject. This reuses code nicely, but
12577         a custom-coded solution would be a bit more efficient.
12578
12579         * kwq/qt/qobject.h:
12580         * kwq/KWQObject.mm: (QObject::QObject): Create the one-element list that's used
12581         by the QGuardedPtr instances.
12582
12583         Since the above code needed to copy a QPtrListIterator, I needed to support that.
12584
12585         * kwq/qt/qlist.h: Move the iterator's copy constructor out of the private part,
12586         and implement it. This class was strange in that it has a public assignment
12587         operator, but a private unimplemented copy constructor. Implementing it was trivial,
12588         though, so this was no obstacle.
12589
12590 2002-05-13  Maciej Stachowiak  <mjs@apple.com>
12591
12592         Removed libjpeg dependency. Turns out we don't need it.
12593         
12594         * Makefile.am: Remove -ljpeg from link line.
12595         * khtml/misc/loader_jpeg.cpp: Removed.
12596         * khtml/misc/loader_jpeg.h: Removed.
12597         * khtml/misc/Makefile.am: Remve loader_jpeg from build.
12598
12599 2002-05-10  Richard J. Williamson  <rjw@apple.com>
12600
12601         Made log output match webkit logging.
12602
12603         * kwq/kwqdebug.mm:
12604         (KWQLog):
12605
12606 2002-05-10  Chris Blumenberg  <cblu@apple.com>
12607
12608         Changed WCIFWebDataSourceMake to wrap around [IFWebDataSource initWithURL: attributes: flags:]
12609         instead of initWithHandle. 
12610
12611         * kwq/KWQKHTMLPart.mm:
12612         (KHTMLPart::requestFrame):
12613         (KHTMLPart::submitForm):
12614         * kwq/WCWebDataSource.h:
12615         * libwebcore.exp:
12616
12617 2002-05-10  Darin Adler  <darin@apple.com>
12618
12619         * kwq/WebCoreTextRenderer.h:
12620
12621 2002-05-09  Richard J. Williamson  <rjw@apple.com>
12622
12623     Added new method to avoid creation of NSString.
12624     
12625         - (void)drawCharacters:(const UniChar *)characters length: (unsigned)length atPoint:(NSPoint)point withColor:(NSColor *)color;
12626
12627         * kwq/KWQPainter.mm:
12628         (QPainter::drawText):
12629         * kwq/WebCoreTextRenderer.h:
12630
12631 2002-05-09  Kenneth Kocienda  <kocienda@apple.com>
12632
12633         Fix for this bug:
12634
12635         Radar 2890624 (need to remove workaround for double free of image data from QPixmap)
12636
12637         The appropriate, bug-free AppKit code is now available to us on Jaguar. 
12638         Rolling out the workaround.
12639
12640         * kwq/KWQPixmap.mm:
12641         (QPixmap::QPixmap)
12642
12643 === Alexander-3 ===
12644
12645 2002-05-07  Darin Adler  <darin@apple.com>
12646
12647         * kwq/KWQFontMetrics.mm: Fixed storage leak by initializing refCount.
12648
12649 2002-05-07  Darin Adler  <darin@apple.com>
12650
12651         Move more plugin code into WebKit.
12652
12653         Stop using IF for anything in WebCore to help make it clear what's part of
12654         the BSD licensed stuff and what's part of our proprietary stuff.
12655
12656         * libwebcore.exp: Names of what exported changed.
12657         * kwq/Makefile.am: Source file names changed.
12658
12659         * kwq/IFTextRenderer.h: Renamed to WebCoreTextRenderer.
12660         * kwq/IFTextRendererFactory.h: Renamed to WebCoreTextRendererFactory.
12661         * kwq/IFTextRendererFactory.m: Renamed to WebCoreTextRendererFactory.
12662         * kwq/WebCoreTextRenderer.h: Renamed from IFTextRenderer.
12663         * kwq/WebCoreTextRendererFactory.h: Renamed from IFTextRendererFactory.
12664         * kwq/WebCoreTextRendererFactory.m: Renamed from IFTextRendererFactory.
12665
12666         * kwq/KWQFontMetrics.mm:
12667         * kwq/KWQPainter.mm:
12668         Updated for IF -> WebCore name change.
12669
12670         * kwq/WebCoreViewFactory.h: Added.
12671         * kwq/WebCoreViewFactory.m: Added.
12672
12673         * kwq/KWQKConfigBase.mm: (KConfig::readEntry): (KConfig::readNumEntry):
12674         Use the new [WebCoreViewFactory pluginsInfo] so we don't have to have
12675         the plugin database in WebCore any more.
12676
12677         * kwq/WCJavaAppletWidget.h:
12678         * kwq/WCJavaAppletWidget.mm: (IFJavaAppletWidgetCreate):
12679         * kwq/WCPluginWidget.h:
12680         * kwq/WCPluginWidget.mm: (IFPluginWidgetCreate):
12681         Remove creation function machinery, and use the WebCoreViewFactory instead.
12682
12683         * kwq/WCPlugin.h: Moved to WebKit.
12684         * kwq/WCPlugin.mm: Moved to WebKit.
12685         * kwq/WCPluginDatabase.h: Moved to WebKit.
12686         * kwq/WCPluginDatabase.mm: Moved to WebKit.
12687         * kwq/npapi.h: Moved to WebKit.
12688         * kwq/npapi.mm: Moved to WebKit.
12689
12690 2002-05-06  Darin Adler  <darin@apple.com>
12691
12692         * WebCorePrefix.h: Added.
12693
12694         * .cvsignore: Ignore the .pfe files in this directory.
12695
12696         * khtml/dom/dom_doc.cpp:
12697         * khtml/dom/dom_text.cpp:
12698         Added namespace directives as a clean workaround for a conflict
12699         with the struct named Comment in <Carbon/AIFF.h>
12700
12701         * kwq/KWQFont.mm:
12702         * kwq/KWQFontMetrics.mm:
12703         * kwq/KWQKGlobal.mm:
12704         * kwq/KWQListImpl.mm:
12705         * kwq/KWQPtrDictImpl.h:
12706         * kwq/KWQVectorImpl.mm:
12707         * kwq/kwqdebug.h:
12708         * kwq/qt/qcolor.h:
12709         * kwq/qt/qcombobox.h:
12710         * kwq/qt/qregion.h:
12711         * kwq/qt/qstring.h:
12712         * kwq/qt/qwidget.h:
12713         Remove old workaround for conflicts with Fixed, Rect, and Boolean.
12714         It does not good with a precompiled header anyway, and there is a
12715         more elegant small fix in the KDE code itself.
12716
12717         * kwq/qt/qpoint.h:
12718         * kwq/KWQPointArray.mm: (QPointArray::setPoints):
12719         Work around bug with va_arg and PFE by not using varargs here.
12720
12721         * kwq/KWQRect.mm: (QRect::unite): (QRect::operator&):
12722         Use std::min and std::max instead of defining our own MIN and MAX, which
12723         conflict with something in one of the headers we are precompiling (error
12724         message did not make it clear which).
12725
12726         * kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
12727         Switch from xNDEBUG to NDEBUG.
12728
12729         * kwq/Makefile.am: Remove stuff for getting at the header inside the
12730         ApplicationServices and QD frameworks, since that code is now in WebKit.
12731
12732         * kwq/kwqdebug.h: Get rid of format attribute because of bug 2920557.
12733         Switch from xNDEBUG to NDEBUG.
12734
12735         * kwq/kwqdebug.mm: Switch from xNDEBUG to NDEBUG.
12736
12737         * kwq/qt/qstring.h: Define QT_VERSION in here instead of on the command
12738         line to work around a PFE bug with -D, Radar 2921026.
12739
12740 2002-05-06  Richard J. Williamson  <rjw@apple.com>
12741         
12742         Changes to support dhmtl.
12743         Changes to support targeting (regression after 3.0 merge).
12744
12745         * khtml/khtmlview.cpp:
12746         * kwq/KWQEvent.mm:
12747         * kwq/KWQKHTMLPart.mm:
12748         * kwq/KWQObject.mm:
12749         * kwq/KWQWidget.mm:
12750         * kwq/qt/qevent.h:
12751         * kwq/qt/qobject.h:
12752         * kwq/qt/qwidget.h:
12753
12754 2002-05-03  Darin Adler  <darin@apple.com>
12755
12756         * khtml/css/cssstyleselector.cpp:
12757         * khtml/dom/css_value.cpp:
12758         * khtml/xml/dom_stringimpl.cpp:
12759         Put in some namespace-related statements to more-elegantly work around the
12760         conflicts between Macintosh and khtml identifiers.
12761
12762 2002-05-03  Darin Adler  <darin@apple.com>
12763
12764         * kwq/IFTextRenderer.h: Added.
12765         * kwq/IFTextRendererFactory.h: Added.
12766         * kwq/IFTextRendererFactory.m: Added.
12767         These three are the new API for supplying text rendering machinery for WebCore.
12768         The implementation is in WebKit. Later we might want to flesh out the default
12769         implementation in WebCore so that it works OK by itself.
12770
12771         * khtml/rendering/font.cpp: (Font::width): Function is now "width" without
12772         an underscore. We don't really need to hide the overload we added in this
12773         case.
12774
12775         * kwq/qt/qfont.h: Simplify a lot. Doesn't hold an NSFont any more.
12776         * kwq/KWQFont.mm:
12777         (QFont::QFont): Eliminated the concept of "default font". Also, a QFont no
12778         longer holds an NSFont object. That's handled inside IFTextRenderer machinery.
12779         (QFont::~QFont): Simplify since we don't have an NSFont.
12780         (QFont::setFamily): Simplify since we don't have an NSFont.
12781         (QFont::setPixelSize): Simplify since we don't have an NSFont.
12782         (QFont::setPixelSizeFloat): Simplify since we don't have an NSFont.
12783         (QFont::setWeight): Simplify since we don't have an NSFont.
12784         (QFont::weight): Fix a bug where it would return Normal for a QFont that was
12785         both bold and italic.
12786         (QFont::setItalic): Simplify since we don't have an NSFont.
12787         (QFont::italic): Simplify since we have real "bool".
12788         (QFont::bold): Simplify since we have real "bool".
12789         (QFont::operator=): Simplify since we don't have an NSFont.
12790         (QFont::operator==): Rewrite since we don't have an NSFont.
12791
12792         * kwq/qt/qfontmetrics.h: Simplify a little. The _width() method is now just an
12793         overload of the width() method. The main change was removing the include of Cocoa.h.
12794         * kwq/KWQFontMetrics.mm:
12795         Move most of the code out of here into WebKit.
12796         (QFontMetrics::ascent): Get it from the renderer.
12797         (QFontMetrics::descent): Get it from the renderer.
12798         (QFontMetrics::lineSpacing): Get it from the renderer.
12799         (QFontMetrics::width): Get it from the renderer.
12800         (QFontMetrics::boundingRect): Combine width and height that came from the renderer.
12801         (QFontMetrics::size): Combine width and height that came from the renderer.
12802
12803         * kwq/Makefile.am: Add IFTextRendererFactory.m, remove KWQTextStorage.mm and KWQTextContainer.mm.
12804         * kwq/KWQMetrics.h: Removed.
12805         * kwq/KWQTextContainer.h: Removed.
12806         * kwq/KWQTextContainer.mm: Removed.
12807         * kwq/KWQTextStorage.h: Removed.
12808         * kwq/KWQTextStorage.mm: Removed.
12809
12810         * kwq/KWQPainter.mm:
12811         Move most of the code out of here into WebKit.
12812         (QPainter::drawText): Call the renderer to do it.
12813         (QPainter::drawUnderlineForText): Call the renderer to do it.
12814
12815         * libwebcore.exp: Export the IFTextRendererFactory class.
12816
12817 2002-04-26  Darin Adler  <darin@apple.com>
12818
12819         * kwq/make-mac-encodings.c: (main): One more place that needed a workaround
12820         for Radar 2912404 (kCFStringEncodingInvalidId is negative even though
12821         CFStringEncoding is unsigned).
12822
12823         * kwq/KWQTextArea.mm: (-[KWQTextArea paragraphs]): Do this
12824         ourselves so we don't rely on WebFoundation.
12825         * kwq/Makefile.am: Don't do a -I for WebFoundation.
12826
12827 2002-04-26  Darin Adler  <darin@apple.com>
12828
12829         Pay no attention to the man who is not supposed to be working.
12830
12831         * khtml/Makefile.am:
12832         * khtml/css/Makefile.am:
12833         * khtml/ecma/Makefile.am:
12834         * khtml/html/Makefile.am:
12835         * khtml/java/Makefile.am:
12836         * khtml/misc/Makefile.am:
12837         * khtml/rendering/Makefile.am:
12838         * khtml/xml/Makefile.am:
12839         Don't generate empty .moc files or khtmldata.h; there's no reason
12840         not to just check them in instead. Also tweak a few build rules to
12841         use automatic make variables.
12842
12843         * khtml/ecma/kjs_window.moc: Added.
12844         * khtml/html/html_documentimpl.moc: Added.
12845         * khtml/html/htmltokenizer.moc: Added.
12846         * khtml/java/kjavaapplet.moc: Added.
12847         * khtml/java/kjavaappletcontext.moc: Added.
12848         * khtml/java/kjavaappletserver.moc: Added.
12849         * khtml/java/kjavaappletwidget.moc: Added.
12850         * khtml/java/kjavadownloader.moc: Added.
12851         * khtml/java/kjavaprocess.moc: Added.
12852         * khtml/khtmlview.moc: Added.
12853         * khtml/misc/khtmldata.h: Added.
12854         * khtml/rendering/render_form.moc: Added.
12855         * khtml/rendering/render_frames.moc: Added.
12856         * khtml/rendering/render_replaced.moc: Added.
12857         * khtml/xml/dom_docimpl.moc: Added.
12858         * khtml/xml/xml_tokenizer.moc: Added.
12859
12860         * kwq/kwqdebug.mm: Make some globals private.
12861
12862 2002-04-25  Darin Adler  <darin@apple.com>
12863
12864         * kwq/KWQMetrics.h: Add NSObject to required protocols for
12865         the KWQLayoutFragment protocol so we can retain and release.
12866
12867         * kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
12868         Removed a cast to NSObject * that worked around the lack of the above.
12869
12870 2002-04-25  Richard Williamson  <rjw@apple.com>
12871
12872         Little changes in preparation for events.
12873
12874         * khtml/ecma/kjs_proxy.cpp:
12875         (KJSProxyImpl::createHTMLEventHandler):
12876         * kwq/KWQKHTMLPart.mm:
12877         (KHTMLPart::createHTMLEventListener):
12878
12879 2002-04-25  Darin Adler  <darin@apple.com>
12880
12881         Add a workaround for Radar 2912404 (kCFStringEncodingInvalidId is negative even
12882         though CFStringEncoding is unsigned)
12883
12884         * kwq/KWQCharsets.mm:
12885         (KWQCFStringEncodingFromIANACharsetName):
12886         (KWQCFStringEncodingFromMIB):
12887         * kwq/KWQtextcodec.mm:
12888         (QTextCodec::codecForMib):
12889         (QTextCodec::codecForName):
12890         * kwq/make-charset-table.pl:
12891         Add casts to (CFStringEncoding) wherever we use kCFStringEncodingInvalidId.
12892
12893 2002-04-25  Darin Adler  <darin@apple.com>
12894
12895         Rework plugin code to prepare to move more of it into WebKit.
12896
12897         * khtml/rendering/render_applet.cpp:
12898         (RenderApplet::RenderApplet): Create a widget for the applet using
12899         the new simpler API.
12900
12901         * kwq/kdecore/kconfig.h:
12902         * kwq/KWQKConfigBase.mm: Eliminate KConfigBase.
12903         Set things up so we are poised to handle the other non-plugin
12904         config keys easily in the future.
12905
12906         * kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject): Use the new simpler
12907         IFPluginWidgetCreate API instead of the older WCPluginWidget one.
12908
12909         * kwq/qt/qstring.h: Add simpler conversions to/from NSString.
12910         * kwq/KWQString.mm: (QString::fromNSString): New.
12911
12912         * kwq/WCPluginWidget.h: Made this API simpler both for the C++
12913         side and the Objective-C side. There's now no class, and only one
12914         function that needs to be supplied (normally by WebKit).
12915         * kwq/WCJavaAppletWidget.h: Same thing for the Java case.
12916
12917         * kwq/WCJavaAppletWidget.mm:
12918         (IFSetJavaAppletViewCreationFunction): New.
12919         (IFJavaAppletWidgetCreate): New. Most of the code that was in here
12920         is now moved into WebKit.
12921         * kwq/WCPluginWidget.mm:
12922         (IFSetPluginViewCreationFunction): New.
12923         (IFPluginWidgetCreate): New. Most of the code that was in here
12924         is now moved into WebKit.
12925
12926         * libwebcore.exp: Update for new function names.
12927
12928 2002-04-24  Chris Blumenberg  <cblu@apple.com>
12929
12930         Renamed [IFWebDataSource frame] to [IFWebDataSource webFrame]
12931
12932         * kwq/KWQKHTMLPart.mm:
12933         (KHTMLPart::submitForm):
12934         (KHTMLPart::khtmlMouseReleaseEvent):
12935         * kwq/external.h:
12936
12937 === Alexander 0.3c2 (v1) ===
12938
12939 2002-04-24  Darin Adler  <darin@apple.com>
12940
12941         Get rid of all NEED_BOGUS_XXX.
12942
12943         * khtml/java/Makefile.am: Remove -DNEED_BOGUS_TEXTSTREAMS and
12944         -DNEED_BOGUS_X_DEFINES.
12945         * khtml/rendering/Makefile.am: Remove -DNEED_BOGUS_X_DEFINES.
12946         * khtml/xml/Makefile.am: Remove -DNEED_BOGUS_TEXTSTREAMS.
12947         * kwq/Makefile.am: Remove -DNEED_BOGUS_X_DEFINES and KWQKJavaEmbed.mm.
12948         * kwq/KWQKJavaEmbed.mm: Removed.
12949
12950         * kwq/KWQDef.h: Remove XEvent define (inside NEED_BOGUS_X_DEFINES).
12951
12952         * kwq/qt/qtextstream.h: Don't look at NEED_BOGUS_TEXTSTREAMS.
12953         * kwq/KWQtextstream.mm: Don't look at NEED_BOGUS_TEXTSTREAMS.
12954
12955         * khtml/java/javaembed.h: Made this just a QWidget typedef for now.
12956         * khtml/java/kjavaappletwidget.cpp: ifdef out the unused setWindow function.
12957
12958 2002-04-23  Darin Adler  <darin@apple.com>
12959
12960         * khtml/css/css_valueimpl.cpp:
12961         (CSSPrimitiveValueImpl::computeLengthFloat):
12962         * khtml/css/cssstyleselector.cpp:
12963         (CSSStyleSelector::computeFontSizes):
12964         Remove our 72/96 dpi changes. They weren't doing much good.
12965         But this doesn't fix all the 72/96 dpi issues. It's just the start.
12966
12967         * kwq/khtml/khtml_settings.h:
12968         * kwq/KWQKHTMLSettings.mm:
12969         Remove some unused stuff: charset(), setCharset(), availableFamilies(),
12970         fontSizes(), SCREEN_RESOLUTION.
12971
12972 2002-04-23  Kenneth Kocienda  <kocienda@apple.com>
12973
12974         Reviewed by: Darin Adler
12975
12976         Fix for Radar 2908403 (Fix names in WebFoundation extensions code)
12977
12978         Extensions code in WebFoundation now is in its own namespace.
12979         Where we have added categories to existing Foundation and AppKit
12980         classes, the categories begin with the IF prefix. All method names
12981         begin with the _IF_ prefix.
12982
12983         The file here was changed to use the new names.
12984
12985         * kwq/KWQTextArea.mm:
12986         (-[KWQTextArea paragraphs])
12987
12988 2002-04-23  Kenneth Kocienda  <kocienda@apple.com>
12989
12990         * kwq/KWQPixmap.mm:
12991         (QPixmap::QPixmap): Fixed unneeded leak of an NSImage in
12992         the case where we are still covering for a double-release
12993         bug in AppKit. No need to add insult to injury. :)
12994
12995 2002-04-22  Darin Adler  <darin@apple.com>
12996
12997         Fix width of non-breaking spaces. There's code to hack this
12998         at the KDE level for fonts that don't have non-breaking space
12999         characters, but we need it even for fonts that do.
13000
13001         Not sure why this worked better on Puma, but now it's fine on
13002         both Puma and Jaguar.
13003
13004         * kwq/KWQFontMetrics.mm:
13005         (ConvertCharactersToGlyphs): New. Turns non-breaking spaces into
13006         normal spaces if needed.
13007         (-[KWQLayoutInfo drawString:atPoint:withFont:color:]),
13008         (-[KWQLayoutInfo _initializeCaches]), (_rectForString): Change to
13009         call ConvertCharactersToGlyphs instead of ATSUConvertCharToGlyphs.
13010
13011 2002-04-22  Darin Adler  <darin@apple.com>
13012
13013         * kwq/qt/qpixmap.h:
13014         * kwq/KWQPixmap.mm:
13015         (QPixmap::QPixmap): Clear needsCopyOnWrite flag in all the
13016         constructors other than the copy constructor. Set it in the copy
13017         constructor.
13018         (QPixmap::~QPixmap): Simplify.
13019         (QPixmap::mask): Always return 0 rather than leaking a QBitmap each time,
13020         since Qt uses 0 to mean "no mask".
13021         (QPixmap::isNull): Simplify.
13022         (QPixmap::resize): Do the copy here if we need it, and do the setScalesWhenResized:
13023         call in here instead of trying to do it elsewhere.
13024         (QPixmap::xForm): Only copy the pixmap once.
13025         (QPixmap::operator=): Set the needsCopyOnWrite flag. Also change the retain/release
13026         idiom around so we don't need to check for self-assignment.
13027
13028         * khtml/ecma/Makefile.am: Don't build kjs_debugwin any more.
13029         * khtml/ecma/kjs_debugwin.cpp: Removed.
13030         * khtml/ecma/kjs_debugwin.h: Removed.
13031
13032 2002-04-22  Chris Blumenberg  <cblu@apple.com>
13033
13034         Added a new method to WCPluginDatabase allHandledMIMETypes.
13035         It returns an  array of the mime types that plug-ins handle.
13036
13037         * kwq/WCPluginDatabase.h:
13038         * kwq/WCPluginDatabase.mm:
13039         (-[WCPluginDatabase allHandledMIMETypes]):
13040
13041 2002-04-20  Darin Adler  <darin@apple.com>
13042
13043         Problems loading iframes seemed to be due to NSURL objects that
13044         were not normalized, so I made the NSURL creation all be done
13045         by KURL, which fixed the problem.
13046
13047         * kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame), (KHTMLPart::submitForm),
13048         (KHTMLPart::khtmlMouseReleaseEvent):
13049         * kwq/KWQKjobclasses.mm:
13050         Call getNSURL instead of creating NSURLs by converting to strings.
13051
13052         * kwq/kdecore/kurl.h:
13053         * kwq/KWQKURL.mm: (KURL::getNSURL): New.
13054
13055 2002-04-19  Kenneth Kocienda  <kocienda@apple.com>
13056
13057         Changes to support submission of forms using HTTP POST.
13058                 
13059         These changes move us over to using the new WebKit interface for creating 
13060         WebDataSource instances, one that passes a handle rather than just a URL, 
13061         enabling the specific request method to be communicated to WebFoundation.
13062         This fixes:
13063
13064         Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)
13065
13066         Fixed handling of password fields:
13067
13068         Radar 2903605 (WebCore form processing drops out password input data)
13069         
13070         Added some hacks to get form <input type=image ...> working correctly:
13071
13072         Radar 2907198 (Forms not getting submitted correctly when <input type=image>)
13073         
13074         
13075         * khtml/rendering/render_form.cpp: (RenderImageButton::RenderImageButton),
13076         (RenderImageButton::~RenderImageButton), (RenderImageButton::printObject):
13077         * khtml/rendering/render_form.h:
13078         * kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame), (KHTMLPart::submitForm),
13079         (KHTMLPart::khtmlMouseReleaseEvent):
13080         * kwq/KWQNSTextField.mm: (-[KWQNSTextField setPasswordMode:]), (-[KWQNSTextField
13081         textDidChange:]), (-[KWQNSTextField stringValue]):
13082         * kwq/Makefile.am:
13083         * kwq/KWQInvisibleButton.h: Added
13084         * kwq/KWQInvisibleButton.mm: Added
13085
13086 2002-04-18  Darin Adler  <darin@apple.com>
13087
13088         Fixes for compiling with gcc3 and more warnings.
13089
13090         * khtml/html/.cvsignore: Add kentities.c; I could have sworn I did this
13091         already.
13092         * khtml/html/Makefile.am: Remove erroneous duplicate definition of
13093         CLEAN_FILES.
13094
13095         * libwebcore.exp:
13096         * libwebcoretests.exp:
13097         Rebuilt these lists from scratch. Almost everything in here is different
13098         since the C++ name mangling rules changed.
13099
13100         * khtml/css/cssparser.cpp:
13101         * khtml/misc/htmlhashes.cpp:
13102         Disable inlining in part of this file as a workaround for Radar 2905890.
13103
13104         * kwq/KWQApplication.mm: (QDesktopWidget::screenGeometry):
13105         Add casts to int needed to make gcc3 happy.
13106         * kwq/KWQArrayImpl.mm: Add missing #include of <string.h>.
13107
13108         * kwq/KWQBitmap.mm:
13109         * kwq/KWQFrame.mm:
13110         * kwq/KWQLineEdit.mm:
13111         Removed some unused copy constructors and assignment operators to avoid
13112         warnings in them.
13113
13114         * kwq/KWQButton.mm: (QButton::setText):
13115         * kwq/KWQListBox.mm: (QListBox::~QListBox), (QListBox::clear),
13116         (QListBox::setSelectionMode), (QListBox::currentItem), (QListBox::insertItem),
13117         (QListBox::setSelected), (QListBox::isSelected), (QListBoxItem::width),
13118         (QListBoxItem::height):
13119         * kwq/KWQScrollView.mm: (QScrollView::setContentsPos), (QScrollView::addChild),
13120         (QScrollView::resizeContents), (QScrollView::viewportToContents),
13121         Use local variables to work around Radar 2905835.
13122
13123         * kwq/KWQCString.mm: (operator<<):
13124         * kwq/KWQPoint.mm: (operator<<):
13125         * kwq/KWQRect.mm: (operator<<):
13126         * kwq/KWQSize.mm: (operator<<):
13127         * kwq/qt/qarray.h:
13128         * kwq/qt/qcstring.h:
13129         * kwq/qt/qdatetime.h:
13130         * kwq/qt/qdict.h:
13131         * kwq/qt/qlist.h:
13132         * kwq/qt/qmap.h:
13133         * kwq/qt/qpainter.h:
13134         * kwq/qt/qpoint.h:
13135         * kwq/qt/qptrdict.h:
13136         * kwq/qt/qrect.h:
13137         * kwq/qt/qsize.h:
13138         * kwq/qt/qstack.h:
13139         * kwq/qt/qvaluelist.h:
13140         * kwq/qt/qvector.h:
13141         Say std::ostream instead of just ostream.
13142
13143         * kwq/KWQCharsets.mm: Fix a const problem.
13144
13145         * kwq/KWQDateTime.mm: (QTime::elapsed), (QTime::restart): Use int instead
13146         of uint, since these functions try to handle values that are less than 0.
13147         (operator<<): Say std::ostream instead of just ostream.
13148         * kwq/KWQTextArea.mm: (RangeOfParagraph): Fix an int/uint issue.
13149
13150         * kwq/KWQFile.mm: (QFile::KWQFilePrivate::KWQFilePrivate),
13151         (QFile::KWQFilePrivate::~KWQFilePrivate): Use new/delete instead of
13152         malloc/free so we don't get void * warnings.
13153
13154         * kwq/KWQFontMetrics.mm: (__IFFillStyleWithAttributes),
13155         (-[KWQLayoutInfo drawString:atPoint:withFont:color:]),
13156         (-[KWQLayoutInfo _initializeCaches]),
13157         (_rectForString):
13158         * kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate),
13159         (RelativeURLKeyRetainCallBack), (RelativeURLKeyReleaseCallBack),
13160         (RelativeURLKeyEqualCallBack), (RelativeURLKeyHashCallBack),
13161         (KURL::normalizeURLString), (KURL::normalizeRelativeURLString):
13162         * kwq/KWQPainter.mm: (QPainter::save):
13163         * kwq/KWQKloader.mm:
13164         (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]),
13165         (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
13166         Add type casts where necessary to make the stricter gcc3 happy.
13167
13168         * kwq/KWQPixmap.mm: (QPixmap::QPixmap): Explicitly initialize the underlying
13169         QPaintDevice.
13170         (QPixmap::size), (QPixmap::rect): Add type casts where necessary to make
13171         the stricter gcc3 happy.
13172         
13173         * kwq/KWQPtrDictImpl.mm: (KWQPtrDictImpl::KWQPtrDictPrivate::KWQPtrDictPrivate):
13174         Say std::bad_alloc instead of just bad_alloc.
13175         (invokeDeleteFuncOnValue), (KWQPtrDictImpl::clear): Pass a pointer to a function
13176         pointer rather than a function pointer to avoid a warning about turning function
13177         pointers into void *.
13178
13179         * kwq/KWQRegion.mm: (QRegion::_initialize), (QRegion::~QRegion): Use new/delete
13180         rather than calloc/free so we don't get void * warnings.
13181         (QRegion::boundingRect): Add type casts.
13182
13183         * kwq/KWQString.mm: (QString::fromStringWithEncoding): Add cast.
13184         (QString::setNum): use %ld and %lu rather than %D and %U.
13185         (QString::fill), (QString::convertToQCString): Add casts.
13186
13187         * kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
13188         Add a cast to make gcc3 happy.
13189
13190         * kwq/KWQVariant.mm: Say "friend class" instead of "friend".
13191
13192         * kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate):
13193         Say std::bad_alloc instead of just bad_alloc.
13194         (KWQVectorImpl::data): Replace the old autorelease trick with a new one that
13195         doesn't require mixing malloc with NSData.
13196
13197         * kwq/KWQView.mm: (-[KWQHTMLView mouseUp:]), (-[KWQHTMLView mouseDown:]):
13198         Add casts to make gcc3 happy.
13199
13200         * kwq/KWQWidget.mm: (QWidget::frameGeometry), (QWidget::mapToGlobal),
13201         (QWidget::minimumSizeHint): Add casts to make gcc3 happy. Also another
13202         workaround for Radar 2905835.
13203
13204         * kwq/WCPlugin.mm: (-[WCPlugin load]): Add tons of type casts so we don't have
13205         to mix void * with function pointer types.
13206
13207         * kwq/WCPluginWidget.h:
13208         * kwq/WCPluginWidget.mm: (WCIFPluginMakeFunction), (WCIFNullPluginMakeFunction):
13209         Change types so we don't have to mix void * with function pointer types.
13210         This caught a mistake where WCIFNullPluginMakeFunction was returning the wrong
13211         function pointer.
13212
13213         * kwq/external.h: Add some missing interfaces that the pickier gcc3 needed to see.
13214
13215         * kwq/kwqdebug.mm: Don't compile the file if xNDEBUG is set. Otherwise we get
13216         a warning in here.
13217
13218         * kwq/npapi.h: Use function pointer types for function pointers and transition
13219         vectors so we don't have to mix void * with function pointer types.
13220
13221         * kwq/npapi.mm: (NPN_GetURLNotify), (NPN_GetURL),
13222         (NPN_PostURLNotify), (NPN_PostURL), (NPN_NewStream), (NPN_Write),
13223         (NPN_DestroyStream), (NPN_Status), (NPN_GetValue), (NPN_SetValue),
13224         (NPN_InvalidateRect), (NPN_InvalidateRegion), (NPN_ForceRedraw):
13225         Use local variables to work around Radar 2905835.
13226         (functionPointerForTVector), (tVectorForFunctionPointer):
13227         Change types around so we don't have to mix void * with function pointer types.
13228
13229 2002-04-17  Darin Adler  <darin@apple.com>
13230
13231         Fix some std:: things as a first step in compiling with gcc 3.
13232         These fixes are all needed to compile WebBrowser with gcc 3.
13233
13234         * kwq/qt/qarray.h:
13235         * kwq/qt/qcstring.h:
13236         * kwq/qt/qlist.h:
13237         * kwq/qt/qmap.h:
13238         * kwq/qt/qpainter.h:
13239         * kwq/qt/qpoint.h:
13240         * kwq/qt/qrect.h:
13241         * kwq/qt/qsize.h:
13242         * kwq/qt/qvaluelist.h:
13243         Call it std::ostream instead of ostream.
13244
13245 2002-04-17  Darin Adler  <darin@apple.com>
13246
13247         Fix build problem.
13248
13249         * Makefile.am: Don't build this directory before subdirs, because
13250         we link at this level. Move the kentities.c build out of here,
13251         because it needs to be done before khtml/html.
13252         * khtml/html/Makefile.am: Move kentities.c build rules here.
13253
13254         * kentities.gperf: Removed.
13255         * khtml/html/kentities.gperf: Added.
13256
13257         * .cvsignore: Don't ignore kentities.c.
13258         * khtml/html/.cvsignore: Ignore kentities.c.
13259
13260 2002-04-17  Darin Adler  <darin@apple.com>
13261
13262         * .cvsignore: Ignore new generated files at this level.
13263
13264         * include/ *: Removed. We don't need this hack any more.
13265         * src/ *: Removed. Sources are now in their new locations.
13266         * src/libwebcore.exp: Removed. This is now in its new location.
13267         * src/libwebcoretests.exp: Removed. This is now in its new location.
13268
13269         * Makefile.am: Build khtml and kwq subdirs, don't build src and include.
13270         Also add the rules that used to be in src about linking the library and
13271         the rules that used to be in src/kdelibs/kdecore about building the
13272         kentitices.c file.
13273
13274         * dummy.mm: Moved here from src by hand.
13275         * kentities.gperf: Moved here from src/kdelibs/kdecore by hand.
13276
13277         * khtml/html/Makefile.am: Add WebCore directory to includes so the
13278         include of "kentities.c" will work.
13279
13280         * kwq/KWQKHTMLPart.mm:
13281         * kwq/KWQKJavaEmbed.mm:
13282         * kwq/KWQKloader.mm:
13283         Correct includes so we don't need a -I for each of the subdirectories.
13284
13285         * kwq/khtml/java/javaembed.h: Removed. We use the one in the real
13286         khtml directory.
13287
13288         * kwq/kwqdebug.h: Rolled over Chris's changes, which were done after
13289         the cvs surgery was done.
13290
13291 2002-04-17  Chris Blumenberg  <cblu@apple.com>
13292
13293         Added a debug bit mask for plugins and downloads.
13294
13295         * src/kwq/kwqdebug.h:
13296
13297 2002-04-16  Darin Adler  <darin@apple.com>
13298
13299         * src/kdelibs/khtml/khtml_part.cpp: Added. Not used yet, but maybe we'll use
13300         part of it some time soon.
13301
13302         * src/kdelibs/khtml/khtml_part.h: Reenabled this file, and made changes so it
13303         could be used instead of our own header.
13304         * src/kwq/KWQKHTMLPart.h: Removed.
13305
13306         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::KHTMLPart): Add parameter to match KDE.
13307         (KHTMLPart::settings): Add const to match KDE.
13308         (KHTMLPart::scheduleRedirection): Add parameter to match KDE.
13309         (KHTMLPart::encoding): Add const to match KDE.
13310         (KHTMLPart::urlCursor): Update return value to match KDE.
13311         (KHTMLPart::urlSelected): Add parameter to match KDE.
13312         (KHTMLPart::requestObject): Put plugins array on private object.
13313         (KHTMLPart::frames): Remove const to match KDE.
13314         (KHTMLPart::documentSource): Add const to match KDE.
13315         (KHTMLPart::setTitle): Put dataSource on private object.
13316         (KHTMLPart::setDataSource): New, not inline any more.
13317         (KHTMLPart::getDataSource): New, not inline any more.
13318
13319         * src/libwebcore.exp: Update for function name changes.
13320
13321         * src/kwq/khtml/khtml_settings.h:
13322         * src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::changeCursor): Add const.
13323
13324         * src/kwq/KWQView.mm: (-[KWQHTMLView layout]): No need to check xmlDocImpl()
13325         and renderer() for NULL now, because KHTMLView::layout does.
13326
13327         * src/kwq/KWQKloader.mm: (Loader::load): Use type instead of id.
13328
13329 2002-04-16  Darin Adler  <darin@apple.com>
13330
13331         * src/kwq/kio/jobclasses.h:
13332         * src/kwq/KWQKjobclasses.mm: (TransferJob::setError): New.
13333
13334         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]),
13335         (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
13336         Set an error code so that the load will abort intead of continuing.
13337
13338         * src/kwq/KWQKHTMLPart.mm: Removed some unused code.
13339
13340 2002-04-16  Kenneth Kocienda  <kocienda@apple.com>
13341
13342         Moved IFError class from WebKit to WebFoundation.
13343         Updated URL handle client interface to pass an IFError in
13344         an error callback rather than a plain int. These files were
13345         modified due to this change.
13346
13347         * src/kwq/KWQKHTMLPart.mm: (WCSetIFWebDataSourceMakeFunc):
13348         * src/kwq/KWQKloader.mm: (-[URLLoadClient
13349         IFURLHandle:resourceDidFailLoadingWithResult:]):
13350
13351         Removed now unneeded file and function pointer symbol entry
13352         since WebCore code never needs to create an IFError now that 
13353         those objects are created at a lower level (in WebFoundation).
13354         
13355         * src/kwq/WCError.h: Removed.
13356         * src/libwebcore.exp:
13357
13358 2002-04-15  Darin Adler  <darin@apple.com>
13359
13360         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
13361         Remove some minor gratuitous diffs vs. KDE.
13362
13363 2002-04-15  Richard Williamson  <rjw@apple.com>
13364
13365         Updated to reflect changes in KDE.
13366         
13367         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
13368
13369 2002-04-15  Darin Adler  <darin@apple.com>
13370
13371         * src/kdelibs/khtml/css/css_valueimpl.cpp:
13372         (FontFamilyValueImpl::FontFamilyValueImpl): Fix comment.
13373         * src/kdelibs/khtml/css/cssstyleselector.cpp: Remove some gratuitous diffs vs. KDE.
13374         * src/kdelibs/khtml/html/html_objectimpl.cpp:
13375         (HTMLEmbedElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
13376         * src/kdelibs/khtml/html/html_tableimpl.cpp:
13377         (HTMLTableElementImpl::parseAttribute),
13378         (HTMLTablePartElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
13379         * src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::processToken): Redo the
13380         APPLE_CHANGES ifdef here.
13381         * src/kdelibs/khtml/khtmlpart_p.h: Update to latest kde.
13382         * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView): Add ifdef APPLE_CHANGES.
13383         (KHTMLView::~KHTMLView): Add ifdef APPLE_CHANGES.
13384         (KHTMLView::print): Remove code left in here during merge process.
13385         * src/kwq/KWQKHTMLPart.mm: Remove unused setFontSizes(), fontSizes(), and
13386         resetFontSizes(). After the merge is landed, remove more.
13387         * src/libwebcore.exp: Export updateStyleSelector() for WebKit.
13388
13389 2002-04-15  Darin Adler  <darin@apple.com>
13390
13391         Fix text to it displays at the right font size.
13392
13393         * src/kdelibs/khtml/css/cssstyleselector.cpp:
13394         (CSSStyleSelector::computeFontSizes): Apply the same SCREEN_RESOLUTION hack here
13395         that we do elsewhere.
13396         * src/kdelibs/khtml/rendering/font.cpp: (Font::width): Use kMin instead of max (oops).
13397         (Font::update): Turn off font database chicanery.
13398         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::zoomFactor): Use zoom factor 100, not 1.
13399
13400 2002-04-15  Darin Adler  <darin@apple.com>
13401
13402         More fixes so text displays (still at wrong font size).
13403
13404         * src/kdelibs/khtml/rendering/font.cpp: (max): New helper.
13405         (Font::drawText): Simplified implementation for now.
13406         (Font::width): Simplified implementation for now.
13407         * src/kwq/KWQColorGroup.mm: Reinstated QCOLOR_GROUP_SIZE.
13408
13409         * src/kwq/qt/qfontmetrics.h: Removed charWidth and changed _width to take QChar *.
13410         * src/kwq/KWQFontMetrics.mm: Removed charWidth and changed _width to take QChar *.
13411
13412 2002-04-15  Darin Adler  <darin@apple.com>
13413
13414         Merged changes from KDE 3.0 final. Other fixes to get things compiling.
13415
13416         * src/kdelibs/khtml/css/css_valueimpl.cpp:
13417         (CSSStyleDeclarationImpl::setProperty): Fix unused variable.
13418         * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::contentsContextMenuEvent):
13419         Fix unused variable.
13420         * src/kdelibs/khtml/rendering/font.cpp: (Font::drawText), (Font::width),
13421         (Font::update): Disable special "nsbp" logic for now. We can reenable it
13422         if necessary.
13423         * src/kdelibs/khtml/rendering/render_replaced.cpp: Fix mismerge.
13424         * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
13425         Fix unused variable.
13426         * src/kwq/KWQApplication.mm: (QDesktopWidget::width), (QApplication::desktop):
13427         Fix mismerge.
13428         * src/kwq/KWQColorGroup.mm: Fix QCOLOR_GROUP_SIZE.
13429         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::lineSpacing): New.
13430         (QFontMetrics::width): Remove unused optimization.
13431         * src/kwq/qt/qfontmetrics.h: Add lineSpacing().
13432
13433 2002-04-15  Darin Adler  <darin@apple.com>
13434
13435         Merged changes from previous merge pass.
13436
13437         2002-03-25  Darin Adler  <darin@apple.com>
13438
13439         Last bit of making stuff compile and link. Probably will drop the merge now
13440         and take it up again when it's time to merge in KDE 3.0 final.
13441
13442         * src/kwq/KWQEvent.mm: (QFocusEvent::reason): New.
13443         * src/kwq/KWQPainter.mm: (QPainter::drawText): New overload.
13444
13445         2002-03-25  Darin Adler  <darin@apple.com>
13446
13447         * src/kdelibs/khtml/rendering/font.cpp: (Font::width): Make it call _width so we
13448         don't lose the optimization.
13449         
13450         * src/kwq/KWQApplication.mm: (QDesktopWidget::screenNumber): New.
13451         (QDesktopWidget::screenGeometry): New.
13452         (QApplication::style): New.
13453         * src/kwq/KWQColorGroup.mm: (QColorGroup::highlight): New.
13454         (QColorGroup::highlightedText): New.
13455         * src/kwq/KWQFont.mm: (QFont::setPixelSize): New.
13456         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::charWidth): New.
13457         * src/kwq/KWQKGlobal.mm: (KGlobal::locale): Implement.
13458         (KLocale::KLocale): New.
13459         (KLocale::languageList): New.
13460         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::sheetUsed): New.
13461         (KHTMLPart::setSheetUsed): New.
13462         (KHTMLPart::zoomFactor): New.
13463         * src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): New.
13464         * src/kwq/KWQScrollView.mm: (QScrollView::childX): New.
13465         (QScrollView::childY): New.
13466         
13467         * src/kwq/qt/qapplication.h: style() returns a QStyle &.
13468         * src/kwq/qt/qpalette.h: Add Highlight and HighlightedText.
13469
13470         2002-03-24  Darin Adler  <darin@apple.com>
13471
13472         More compiling. Still won't link.
13473
13474         * src/kdelibs/khtml/khtmlview.cpp: Disable printing and drag and drop code.
13475         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
13476         Temporarily turn off our smarter underlining since it relies on access to the
13477         string, and TextSlave doesn't have that any more.
13478         (RenderText::nodeAtPoint): Get rid of a workaround we don't need any more for
13479         a bug that was fixed by KDE folks.
13480         * src/kwq/KWQApplication.mm: (QApplication::desktop): Make the desktop be a
13481         QDesktopWidget.
13482         * src/kwq/qt/qnamespace.h: Add MetaButton.
13483         * src/kwq/qt/qtooltip.h: Add a maybeTip virtual function member and a virtual
13484         destructor.
13485
13486         2002-03-24  Darin Adler  <darin@apple.com>
13487
13488         Some fixes to get more stuff to compile.
13489
13490         * src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMDocument::getValueProperty):
13491         Don't try to look at the private m_bComplete to display "complete". Just do
13492         "loading" and "loaded".
13493         * src/kdelibs/khtml/khtmlpart_p.h: #ifdef this all out for APPLE_CHANGES.
13494         * src/kdelibs/khtml/rendering/font.cpp: (Font::update): Add an explicit cast to
13495         int to avoid float -> int warning.
13496         * src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::calcColMinMax):
13497         Add an explicit cast to int to avoid uint compared with int warning.
13498         * src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyleSelector):
13499         Use sheetUsed() and setSheetUsed() functions on KHTMLPart intead of getting
13500         at private fields the way the real KDE code does.
13501         
13502         * src/kwq/KWQKHTMLPart.h: Declare zoomFactor(), sheetUsed(), and setSheetUsed().
13503         * src/kwq/KWQStyle.h: Add PM_DefaultFramWidth as another metric.
13504         * src/kwq/kdecore/klocale.h: Add languageList().
13505         * src/kwq/khtml/khtml_settings.h: Add mediumFontSize().
13506         * src/kwq/qt/qapplication.h: Add style() and QDesktopWidget.
13507         * src/kwq/qt/qevent.h: Add reason().
13508         * src/kwq/qt/qfont.h: Add setPixelSize(int).
13509         * src/kwq/qt/qfontmetrics.h: Add charWidth() and _charWidth() functions.
13510         * src/kwq/qt/qpainter.h: Add drawText() overload with position parameter.
13511         * src/kwq/qt/qpalette.h: Add highlight() and highlightedText().
13512         * src/kwq/qt/qscrollview.h: Add childX() and childY().
13513         
13514         * src/kwq/KWQApplication.mm: Change KWQDesktopWidget to QDesktopWidget.
13515
13516 2002-04-11  Chris Blumenberg  <set EMAIL_ADDRESS environment variable>
13517
13518         Added a symbol for WCPluginDatabase.
13519
13520         * src/libwebcore.exp:
13521
13522 2002-04-08  Maciej Stachowiak  <mjs@apple.com>
13523
13524         Fix Radar 2896001 (crashes in KURL):
13525
13526         * src/kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate):
13527         Initialize refCount to 0 in the copy constructor.
13528
13529 2002-04-08  Chris Blumenberg  <cblu@apple.com>
13530
13531         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject):
13532         * src/kwq/WCPluginWidget.h:
13533         * src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
13534
13535         Support new stream requests from plug-ins that are relative URL's.
13536
13537 2002-04-05  Chris Blumenberg  <cblu@apple.com>
13538
13539         * src/libwebcore.exp:
13540
13541         Added symbol for IFNullPluginView
13542
13543 2002-04-05  Richard Williamson  <rjw@apple.com>
13544
13545         Various scrolling, hit detection, and goto anchor fixes to account for frames being
13546         translated in scroll views.
13547         
13548         * src/kwq/KWQScrollView.mm: (QScrollView::setContentsPos),
13549         (QScrollView::viewportToContents):
13550
13551 2002-04-05  Chris Blumenberg  <cblu@apple.com>
13552
13553         * src/kwq/WCPluginWidget.h:
13554         * src/kwq/WCPluginWidget.mm: (WCSetIFNullPluginMakeFunc),
13555         (WCPluginWidget::WCPluginWidget), (WCIFPluginMakeFunction),
13556         (WCIFNullPluginMakeFunction):
13557
13558         An IFNullPluginView is now created when no plug-in for a requested
13559         mime type is found. IFNullPluginView displays a null plug-in icon
13560         and will eventually report this error to the WebController. 
13561
13562 2002-04-05  Richard Williamson  <rjw@apple.com>
13563
13564         Hacks to support:
13565         
13566         1.  Not loading a document when a link is to an anchor on same page.
13567         2.  Correctly targeting frames.
13568         
13569         Our documentation is actually useable now.
13570         
13571         * src/kwq/KWQKHTMLPart.mm: (splitUrlTarget), (KHTMLPart::khtmlMouseReleaseEvent):
13572         * src/kwq/external.h:
13573
13574 2002-04-05  Darin Adler  <darin@apple.com>
13575
13576         * src/kwq/KWQKloader.mm:
13577         (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
13578         Use contentLengthReceived rather than getting the length of
13579         availableResourceData to determine how much data has arrived.
13580
13581 2002-04-05  Richard Williamson  <rjw@apple.com>
13582
13583         More bulletproofing to deal with cleanup during deallocation.
13584         
13585         * src/kdelibs/khtml/html/htmlparser.cpp: (KHTMLParser::popOneBlock):
13586         * src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::processToken):
13587
13588 2002-04-05  Maciej Stachowiak  <mjs@apple.com>
13589
13590         * src/kwq/qt/qmap.h (QMapNode::~QMapNode): Cast left() and right()
13591         to the right type to fix a leak detected by the automated leak
13592         checking on Jersey.
13593
13594 2002-04-04  Richard Williamson  <rjw@apple.com>
13595
13596         Extra bulletproofing to prevent script execution when in partially
13597         dealloced state.
13598         
13599         * src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::scriptExecution):
13600
13601 2002-04-04  Chris Blumenberg  <cblu@apple.com>
13602
13603         * src/kwq/WCPlugin.mm: (-[WCPlugin load]):
13604         * src/kwq/npapi.h:
13605         * src/kwq/npapi.mm: (NPN_GetJavaEnv), (NPN_GetJavaPeer):
13606
13607         Added stubs for NPN_GetJavaEnv and NPN_GetJavaPeer. This fixes a flash crasher.
13608
13609 2002-04-04  Chris Blumenberg  <cblu@apple.com>
13610
13611         * src/kdelibs/khtml/rendering/render_frames.cpp:
13612         (RenderPartObject::updateWidget):
13613         * src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
13614
13615         Moved the removal of __KHTML__ EMBED to attributes WCPluginWidget. One less APPLE_CHANGES.
13616
13617 2002-04-04  Darin Adler  <darin@apple.com>
13618
13619         Redo clobbered fixes for problems that show up only when xNDEBUG is set
13620
13621         * src/kwq/KWQApplication.mm: (QApplication::sendEvent):
13622         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
13623         Remove or ifdef otherwise-unused variables.
13624
13625         * src/kwq/KWQFontMetrics.mm: (_rectForString):
13626         Add missing semicolons.
13627
13628 2002-04-04  Darin Adler  <darin@apple.com>
13629
13630         * src/kwq/KWQString.mm: (QString::unicode), (QString::latin1),
13631         (QString::convertToQCString): Remove some excessive logging that
13632         was getting in the way of important log messages.
13633
13634 2002-04-03  Richard Williamson  <rjw@apple.com>
13635
13636         Added support for finalURL in data source.
13637         
13638         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
13639         * src/kwq/external.h:
13640
13641 2002-04-03  Darin Adler  <darin@apple.com>
13642
13643         * src/Makefile.am: Concatenate libwebcore.exp and libwebcoretests.exp.
13644         * src/libwebcore.exp: Update with exports that are needed when inlining is
13645         turned off.
13646         * src/libwebcoretests.exp: Added. Exports that we need to run the test in the
13647         Tests directory.
13648         * .cvsignore: Ignore the concatenated file.
13649
13650 2002-04-03  Darin Adler  <darin@apple.com>
13651
13652         * src/Makefile.am: Don't strip at all if STRIP_FLAGS are empty.
13653         * src/kwq/qt/qtextcodec.h: Remove stray undef.
13654
13655 2002-04-03  Kenneth Kocienda  <kocienda@apple.com>
13656
13657         Updated debugging log messages to use new varargs macros.
13658
13659         * src/kwq/KWQApplication.mm: (QApplication::sendEvent),
13660         (QApplication::_initialize):
13661         * src/kwq/KWQColor.mm: (QColor::setNamedColor):
13662         * src/kwq/KWQComboBox.mm: (QComboBox::setCurrentItem):
13663         * src/kwq/KWQFont.mm: (QFont::getFont):
13664         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo _initializeCaches]),
13665         (_rectForString):
13666         * src/kwq/KWQKHTMLPart.mm: (recursive), (KHTMLPart::write), (KHTMLPart::end),
13667         (KHTMLPart::nodeActivated):
13668         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
13669         (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
13670         IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
13671         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
13672         IFURLHandle:resourceDidFailLoadingWithResult:]), (-[URLLoadClient
13673         IFURLHandle:didRedirectToURL:]), (Loader::servePendingRequests):
13674         * src/kwq/KWQObject.mm: (QObject::connect), (QObject::performAction):
13675         * src/kwq/KWQScrollView.mm: (QScrollView::addChild),
13676         (QScrollView::resizeContents), (QScrollView::updateContents),
13677         (QScrollView::repaintContents):
13678         * src/kwq/KWQString.mm: (QString::unicode), (QString::latin1):
13679         * src/kwq/KWQView.mm: (-[KWQHTMLView notificationReceived:]), (-[KWQHTMLView
13680         layout]), (-[KWQHTMLView drawRect:]), (-[KWQHTMLView resetView]), (-[KWQHTMLView
13681         mouseDragged:]):
13682         * src/kwq/KWQWidget.mm: (QWidget::resize), (QWidget::move):
13683         * src/kwq/WCPlugin.mm: (-[WCPlugin initializeWithPath:]), (-[WCPlugin load]):
13684         * src/kwq/WCPluginDatabase.mm: (findPlugins):
13685         * src/kwq/kwqdebug.h:
13686         * src/kwq/kwqdebug.mm: (timestamp), (KWQLog):
13687
13688 2002-04-03  Darin Adler  <darin@apple.com>
13689
13690         Fix problems that show up only when xNDEBUG is set.
13691
13692         * src/kwq/KWQApplication.mm: (QApplication::sendEvent):
13693         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
13694         * src/kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
13695         Remove or ifdef otherwise-unused variables.
13696
13697         * src/kwq/KWQFontMetrics.mm: (_rectForString):
13698         * src/kwq/KWQPainter.mm: (QPainter::setRasterOp), (QPainter::translate),
13699         (QPainter::scale):
13700         Add missing semicolons.
13701
13702         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin):
13703         Fix an ifdef.
13704
13705 2002-04-03  Darin Adler  <darin@apple.com>
13706
13707         * src/Makefile.am: Use nmedit and strip to remove the symbols
13708         we don't want to export.
13709
13710         * src/libwebcore.exp: Added. List of symbols exported.
13711
13712 2002-04-03  Maciej Stachowiak  <mjs@apple.com>
13713
13714         * src/Makefile.am: Pave the way for cutting down the exports
13715         list. Also, make the embed target when installing libwebcore.
13716
13717 2002-04-03  Maciej Stachowiak  <mjs@apple.com>
13718
13719         Fixed Radar 2893361 (Two frames with same name cause memory
13720         trasher (likely double-free)) by implementing the mechanism KDE
13721         uses to guarantee unique frame names.
13722
13723         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::frameExists): Actually
13724         implement this, so that the khtml code can guarantee unique frame
13725         names on each page.
13726
13727         * src/kwq/external.h: Prototype IFWebDataSource's frameExists:
13728         method here.
13729
13730 2002-04-03  Maciej Stachowiak  <mjs@apple.com>
13731
13732         Fixed Radar 2893298 (KURL rejects spaces and other illegal but
13733         unambiguous characters, leading to load failures).
13734
13735         * src/kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::makeRef,
13736         KURL::normalizeRelativeURLString): Escape forbidden characters
13737         (ones that are never legal in a URL), except '#' (since that can
13738         start a fragment identifier) and '%'
13739         (since that can be the start of a valid escape sequence).
13740
13741         (KURL::KWQKURLPrivate::KWQKURLPrivate,
13742         KURL::KWQKURLPrivate::compose): out of paranoia, make sure urlRef
13743         is set to NULL if not a valid value.
13744
13745 2002-04-03  Maciej Stachowiak  <mjs@apple.com>
13746
13747         * src/kwq/kwqdebug.mm: (KWQGetLogLevel): Allocate and release
13748         NSScanner instead of using an autoreleased one, to fix Jersey
13749         redness whereby the regression tests leak.
13750
13751 2002-04-02  Darin Adler  <darin@apple.com>
13752
13753         * src/kwq/kwqdebug.h: Turn off logging when xNDEBUG is defined.
13754         Remove unused stuff. Add checking for printf parameters.
13755         * src/kwq/kwqdebug.mm: Remove unused variants.
13756
13757         * src/kwq/KWQApplication.mm:
13758         * src/kwq/KWQKGlobal.mm:
13759         * src/kwq/KWQKloader.mm:
13760         * src/kwq/KWQObject.mm:
13761         * src/kwq/KWQString.mm:
13762         * src/kwq/KWQToolTip.mm:
13763         * src/kwq/KWQWidget.mm:
13764         * src/kwq/WCPlugin.mm:
13765         * src/kwq/WCPluginDatabase.mm:
13766         * src/kwq/npapi.mm:
13767         Fix types in log statements caught by the compiler.
13768
13769 2002-04-02  Richard Williamson  <rjw@apple.com>
13770
13771         Fixed a fix, shoulda' been a #ifndef to exclude unnecessary code.
13772         
13773         * src/kdelibs/khtml/rendering/render_replaced.cpp: (RenderWidget::detach):
13774
13775 2002-04-02  Richard Williamson  <rjw@apple.com>
13776
13777         More noisy bulletproofing.  Still need to find source of problem.
13778         
13779         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart), (KHTMLPart::slotData),
13780         (KHTMLPart::write), (KHTMLPart::end):
13781
13782 2002-04-02  Darin Adler  <darin@apple.com>
13783
13784         Fix some small storage leaks.
13785
13786         * src/kwq/KWQWidget.mm: (QWidget::QWidget): Use a single shared default style
13787         instead of creating a new one for each widget.
13788         (QWidget::setFont): Since we store a QFont here, we don't have to delete the
13789         old font and we don't leak.
13790         (QWidget::setCursor): Since now store a QCursor here, we don't have to delete
13791         the old cursor.
13792         Also removed a lot of unused code in here.
13793         
13794         * src/kwq/KWQKURL.mm: Minor code cleanup.
13795
13796 2002-04-02  Richard Williamson  <rjw@apple.com>
13797
13798         Added ref() of part from KHTMView.
13799         Added log to catch m_doc == 0 case.  Should never happen.
13800         
13801         * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView),
13802         (KHTMLView::~KHTMLView):
13803         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::write):
13804
13805 2002-04-02  Richard Williamson  <rjw@apple.com>
13806
13807         Removed unnecessary and erroneous call to CGContextSetCharacterSpacing.
13808         
13809         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo _initializeCaches]):
13810
13811 2002-04-01  Maciej Stachowiak  <mjs@apple.com>
13812
13813         * src/kwq/KWQKHTMLPart.mm (KHTMLPartPrivate::~KHTMLPartPrivate):
13814         Delete the jScript interpreter if it exists, to avoid leaking
13815         it. Also, garbage collect in this case because when we destroy the
13816         interpreter a lot of objects will become garbage and this seems
13817         like a good time to clean it all up.
13818
13819 2002-04-01  Richard Williamson  <rjw@apple.com>
13820
13821         Added log to catch more problems with NS/CFURL.
13822         
13823         * src/kwq/KWQKjobclasses.mm:
13824
13825 2002-04-01  Richard Williamson  <rjw@apple.com>
13826
13827         Cleaned up lots of potentially stale references to controller.
13828         Added ref count to part.
13829         
13830         * src/kwq/KWQKHTMLPart.h:
13831         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::init):
13832         * src/kwq/KWQKloader.mm: (-[URLLoadClient
13833         IFURLHandle:resourceDataDidBecomeAvailable:]):
13834
13835 2002-04-01  Richard Williamson  <rjw@apple.com>
13836
13837         Changes to support correct behavior is i/frame margins and
13838         scroll views.
13839         
13840         * src/kdelibs/khtml/html/html_baseimpl.h:
13841         * src/kdelibs/khtml/rendering/render_body.cpp: (RenderBody::layout):
13842         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame):
13843         * src/kwq/external.h:
13844
13845 2002-04-01  Kenneth Kocienda  <kocienda@apple.com>
13846
13847         The guts of the fix for this bug:
13848
13849         Radar 2879234 (Redirected URLs not used for subsequent GETs)
13850
13851         This change, though small, will fix most of the outstanding problems
13852         with URL redirects. Some little bits of work need to be done, but much
13853         of that is on the UI level.
13854
13855         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin), (KHTMLPart::setBaseURL):
13856
13857 2002-04-01  Darin Adler  <darin@apple.com>
13858
13859         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::jScriptEnabled): Hook this up to the
13860         preference from WebKit.
13861         (KHTMLPart::jScript): Return 0 if JavaScript is disabled. This is exactly what
13862         the original KHTMLPart from KDE did.
13863
13864 2002-04-01  Darin Adler  <darin@apple.com>
13865
13866         * src/kwq/KWQDef.h: Use KWQ_UNSIGNED_TYPES_DEFINED for compatibility with code
13867         in JavaScriptCore that has to do the same thing.
13868
13869 2002-04-01  Darin Adler  <darin@apple.com>
13870
13871         * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::restoreScrollBar): Disable code
13872         that checks if the scroll bar is visible, because it currently doesn't do us
13873         any good. We may want to turn it back on if we ever implement setVScrollBarMode.
13874         (KHTMLView::viewportWheelEvent): Disable this code for now since it requires
13875         access to the vertical scroll bar object.
13876         * src/kdelibs/khtml/rendering/render_form.cpp:
13877         (RenderTextArea::calcMinMaxWidth): Use our own verticalScrollBarWidth and
13878         horizontalScrollBarHeight rather than getting scroll bar widgets.
13879         
13880         * src/kwq/qt/qscrollview.h: Remove QScrollView::horizontalScrollBar() and
13881         QScrollView::verticalScrollBar(), since we don't have QWidgets to return for
13882         these two. We can re-add these later if we need to.
13883          
13884         * src/kwq/qt/qtextedit.h: Removed QMultiLineEdit, and QTextEdit() constructor.
13885         * src/kwq/kdeui/keditcl.h: Removed.
13886         * src/kwq/KWQTextEdit.mm: Remove unused functions.
13887         (QTextEdit::verticalScrollBarWidth), (QTextEdit::horizontalScrollBarHeight):
13888         Implement these two new ones.
13889         * src/kwq/KWQScrollView.mm: Remove unused functions.
13890
13891         * src/kdelibs/khtml/rendering/render_form.cpp: Fixed spelling error.
13892
13893 2002-03-31  Maciej Stachowiak  <mjs@apple.com>
13894
13895         Fix Radar 2890464 (abcnews.com renders as a blank blue page (probably a JavaScript
13896         problem).) It turns out not to be a JavaScript problem:
13897         
13898         * src/kwq/KWQKloader.mm: (-[URLLoadClient
13899         IFURLHandle:resourceDidFailLoadingWithResult:]): Report that load
13900         is finished to KDE layers. Otherwise, the tokenizer will wait
13901         forever for a script load completion message that never comes.
13902
13903 2002-03-31  Darin Adler  <darin@apple.com>
13904
13905         * src/kwq/KWQString.mm: (QString::toDouble): Fix to properly handle
13906         an empty string.
13907
13908 2002-03-30  Darin Adler  <darin@apple.com>
13909
13910         * src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::setTitle):
13911         Call through to a new KHTMLPart::setTitle instead of the old
13912         setWindowCaption. We want to skip the special logic for using
13913         the URL if the title is blank, and for squeezing the title into
13914         a smaller string, because those are handled at a higher level.
13915
13916         * src/kwq/KWQKHTMLPart.h: Add setTitle. Also clean up ifdefs.
13917         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::setTitle): New. Calls
13918         [IFWebDataSource _setTitle].
13919
13920         * src/kwq/kparts/part.h: Removed setWindowCaption.
13921         * src/kwq/KWQPart.mm: Removed setWindowCaption.
13922
13923         * src/kwq/external.h: Add [IFWebDataSource _setTitle].
13924
13925 2002-03-30  Richard Williamson  <rjw@apple.com>
13926
13927         Added support for scrolling to anchor points.
13928         Optimization:  we always load the page, even if the URL that contains
13929         the anchor is the current page.
13930         
13931         * src/kwq/KWQKHTMLPart.h:
13932         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::end), (KHTMLPart::gotoBaseAnchor),
13933         (KHTMLPart::gotoAnchor), (KHTMLPart::setUserStyleSheet):
13934         * src/kwq/KWQScrollView.mm: (QScrollView::setContentsPos):
13935
13936 2002-03-30  Richard Williamson  <rjw@apple.com>
13937
13938         Added log to note cases of NSURL (CFURL) being unable to
13939         correctly initialize from URLs.  This log will likely indicate
13940         bugs in CFURL.
13941         
13942         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame):
13943
13944 2002-03-30  Richard Williamson  <rjw@apple.com>
13945
13946         Twiddling with baselines.  kde 2.2 appears to not line up baselines correctly.
13947         Need to experiment with kde 3.
13948         
13949         Removed copy of function prototype, instead included the correct header.
13950  
13951         Fixed crasher in setFocusPolicy, I don't think we even need to use kde's focus policy.
13952         This was added during the kde 3 beta 2 merge.
13953        
13954         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo
13955         drawString:atPoint:withFont:color:]), (-[KWQLayoutInfo
13956         drawUnderlineForString:atPoint:withFont:color:]), (-[KWQLayoutInfo
13957         initWithFont:]), (-[KWQLayoutInfo _initializeCaches]):
13958         * src/kwq/KWQMetrics.h:
13959         * src/kwq/KWQWidget.mm: (QWidget::setFocusProxy):
13960
13961 2002-03-30  Darin Adler  <darin@apple.com>
13962
13963         * src/kwq/KWQKURL.mm: (copyAndReplaceAll), (needToHideColons): New
13964         functions used in workaround for CFURL bug.
13965         (KURL::normalizeRelativeURLString): Add workaround for CFURL bug; hide colons
13966         that would confuse CFURL from the CFURL code.
13967
13968         * src/kwq/KWQFont.mm: (QFont::getFont): Use lossyCString instead of cString for
13969         debugging messages.
13970         
13971 2002-03-30  Maciej Stachowiak  <mjs@apple.com>
13972
13973         * src/Makefile.am: Link against JavaScriptCore.framework instead
13974         of the defunct libJavaScriptCore.dylib.
13975
13976 2002-03-29  Darin Adler  <darin@apple.com>
13977
13978         * src/kdelibs/khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
13979         Make images with no src, or src="" be empty rather than being the page itself
13980         loaded as an image.
13981
13982 2002-03-29  Richard Williamson  <rjw@apple.com>
13983
13984         More fixes for cancelling.  Fixed some code that appears to have been
13985         mis-merged after the KDE 3 beta 2 landing.
13986         
13987         * src/kwq/KWQKloader.mm: (-[URLLoadClient initWithLoader:dataSource:])
13988
13989 2002-03-29  Darin Adler  <darin@apple.com>
13990
13991         * src/kwq/KWQKloader.mm: (Cache::getStatistics), (Cache::flushAll):
13992         Fix both of these to work when cache is not yet allocated.
13993
13994 2002-03-29  Richard Williamson  <rjw@apple.com>
13995
13996         Hooked up redirect.
13997         
13998         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
13999         * src/kwq/external.h:
14000
14001 2002-03-29  Kenneth Kocienda  <kocienda@apple.com>
14002
14003         Workaround for Radar 2890624 (Double free of image data in QPixmap)
14004         This hack is necessary for the app to run on some Jaguar system. Otherwise
14005         images that the GIF library cannot decode will cause a crash.
14006         
14007         * src/kwq/KWQPixmap.mm: (QPixmap::QPixmap):
14008
14009 2002-03-28  Richard Williamson  <rjw@apple.com>
14010
14011         Fixed basic font horkage caused by removal of KDE font matching code.  We
14012         now work correctly for the basic font families.
14013         
14014         * src/kwq/KWQFont.mm: (QFont::getFont):
14015
14016 2002-03-28  Darin Adler  <darin@apple.com>
14017
14018         * src/kwq/KWQKloader.mm: (Cache::requestImage), (Cache::requestStyleSheet),
14019         (Cache::requestScript): Set flags so the objects get freed when they are done
14020         in cases where the cache is disabled.
14021
14022 2002-03-28  Maciej Stachowiak  <mjs@apple.com>
14023
14024         Fix Radar 2890340 (JavaScript doesn't work)
14025
14026         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::executeScript): Implement
14027         the other overloaded version of this function. This is needed for
14028         JavaScript to work.
14029
14030 2002-03-28  Darin Adler  <darin@apple.com>
14031
14032         * src/kdelibs/khtml/misc/loader.h: Added API for looking at the contents of the
14033         cache, flushing the cache, and disabling the cache.
14034         * src/kwq/KWQKloader.mm: (Cache::requestImage): Don't cache if disabled.
14035         (Cache::requestStyleSheet): Don't cache if disabled.
14036         (Cache::requestScript): Don't cache if disabled.
14037         (Cache::flush): Simplify ifdefs.
14038         (Cache::getStatistics), (Cache::flushAll), (Cache::setCacheDisabled): New.
14039
14040 2002-03-28  Richard Williamson  <rjw@apple.com>
14041
14042         Fixed crasher.  Removed unnecessary cleanup to widget that was called after the
14043         widget was already disposed.
14044         
14045         * src/kdelibs/khtml/rendering/render_replaced.cpp: (RenderWidget::detach):
14046
14047 2002-03-27  Richard Williamson  <rjw@apple.com>
14048
14049         Removed problematic code.  Not sure why it was necessary.  For now
14050         it prevents crasher.
14051         
14052         * src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
14053
14054 2002-03-27  Darin Adler  <darin@apple.com>
14055
14056         * src/kwq/KWQListImpl.mm: (KWQListImpl::insert): Fix disastrous name
14057         collision which could lead to infinite loops.
14058
14059 2002-03-27  Darin Adler  <darin@apple.com>
14060
14061         * src/kwq/KWQCString.mm: (QCString::isEmpty): The || should be &&.
14062
14063 2002-03-27  Darin Adler  <darin@apple.com>
14064
14065         * src/kdelibs/khtml/css/css_valueimpl.cpp:
14066         (FontFamilyValueImpl::FontFamilyValueImpl): Disable misguided font matching
14067         code in khtml.
14068         
14069         * src/kwq/KWQFont.mm: (QFont::getFont): Change the fallback so that it uses
14070         the default font family, but the other settings as requested, rather than
14071         using the default font.
14072
14073 2002-03-27  Kenneth Kocienda  <kocienda@apple.com>
14074
14075         Changed loadProgress->bytesSoFar to use [sender contentLengthReceived]
14076         instead of the size of the chunk that was delivered in the callback.
14077         This makes the activity window data more correct than it was.
14078         
14079         * src/kwq/KWQKloader.mm: (-[URLLoadClient
14080         IFURLHandle:resourceDataDidBecomeAvailable:]):
14081
14082 2002-03-27  Darin Adler  <darin@apple.com>
14083
14084         * src/kdelibs/khtml/ecma/Makefile.am: Get the create_hash_table tool
14085         from JavaScriptCore. We might need a better way to handle this later.
14086
14087 2002-03-26  Maciej Stachowiak  <mjs@apple.com>
14088
14089         Removed kjs from here - it's now been moved to JavaScriptCore at
14090         the top level.
14091
14092         * src/Makefile.am: Don't link libkjs.o.
14093         * src/kdelibs/Makefile.am: Remove kjs from subdirs.
14094         * src/kdelibs/kjs/.cvsignore: Removed.
14095         * src/kdelibs/kjs/Makefile.am: Removed.
14096         * src/kdelibs/kjs/array_object.cpp: Removed.
14097         * src/kdelibs/kjs/array_object.h: Removed.
14098         * src/kdelibs/kjs/bool_object.cpp: Removed.
14099         * src/kdelibs/kjs/bool_object.h: Removed.
14100         * src/kdelibs/kjs/collector.cpp: Removed.
14101         * src/kdelibs/kjs/collector.h: Removed.
14102         * src/kdelibs/kjs/create_hash_table: Removed.
14103         * src/kdelibs/kjs/date_object.cpp: Removed.
14104         * src/kdelibs/kjs/date_object.h: Removed.
14105         * src/kdelibs/kjs/debugger.cpp: Removed.
14106         * src/kdelibs/kjs/debugger.h: Removed.
14107         * src/kdelibs/kjs/error_object.cpp: Removed.
14108         * src/kdelibs/kjs/error_object.h: Removed.
14109         * src/kdelibs/kjs/function.cpp: Removed.
14110         * src/kdelibs/kjs/function.h: Removed.
14111         * src/kdelibs/kjs/function_object.cpp: Removed.
14112         * src/kdelibs/kjs/function_object.h: Removed.
14113         * src/kdelibs/kjs/grammar.y: Removed.
14114         * src/kdelibs/kjs/internal.cpp: Removed.
14115         * src/kdelibs/kjs/internal.h: Removed.
14116         * src/kdelibs/kjs/interpreter.cpp: Removed.
14117         * src/kdelibs/kjs/interpreter.h: Removed.
14118         * src/kdelibs/kjs/keywords.table: Removed.
14119         * src/kdelibs/kjs/kjs-test: Removed.
14120         * src/kdelibs/kjs/kjs-test.chk: Removed.
14121         * src/kdelibs/kjs/lexer.cpp: Removed.
14122         * src/kdelibs/kjs/lexer.h: Removed.
14123         * src/kdelibs/kjs/lookup.cpp: Removed.
14124         * src/kdelibs/kjs/lookup.h: Removed.
14125         * src/kdelibs/kjs/math_object.cpp: Removed.
14126         * src/kdelibs/kjs/math_object.h: Removed.
14127         * src/kdelibs/kjs/nodes.cpp: Removed.
14128         * src/kdelibs/kjs/nodes.h: Removed.
14129         * src/kdelibs/kjs/nodes2string.cpp: Removed.
14130         * src/kdelibs/kjs/number_object.cpp: Removed.
14131         * src/kdelibs/kjs/number_object.h: Removed.
14132         * src/kdelibs/kjs/object.cpp: Removed.
14133         * src/kdelibs/kjs/object.h: Removed.
14134         * src/kdelibs/kjs/object_object.cpp: Removed.
14135         * src/kdelibs/kjs/object_object.h: Removed.
14136         * src/kdelibs/kjs/operations.cpp: Removed.
14137         * src/kdelibs/kjs/operations.h: Removed.
14138         * src/kdelibs/kjs/property_map.cpp: Removed.
14139         * src/kdelibs/kjs/property_map.h: Removed.
14140         * src/kdelibs/kjs/regexp.cpp: Removed.
14141         * src/kdelibs/kjs/regexp.h: Removed.
14142         * src/kdelibs/kjs/regexp_object.cpp: Removed.
14143         * src/kdelibs/kjs/regexp_object.h: Removed.
14144         * src/kdelibs/kjs/string_object.cpp: Removed.
14145         * src/kdelibs/kjs/string_object.h: Removed.
14146         * src/kdelibs/kjs/test.js: Removed.
14147         * src/kdelibs/kjs/testkjs.cpp: Removed.
14148         * src/kdelibs/kjs/types.cpp: Removed.
14149         * src/kdelibs/kjs/types.h: Removed.
14150         * src/kdelibs/kjs/ustring.cpp: Removed.
14151         * src/kdelibs/kjs/ustring.h: Removed.
14152         * src/kdelibs/kjs/value.cpp: Removed.
14153         * src/kdelibs/kjs/value.h: Removed.
14154
14155 2002-03-26  Maciej Stachowiak  <mjs@apple.com>
14156
14157         Removed all the borrowed Qt code.
14158
14159         * src/kwq/KWQGlobal.mm: Renamed from qt/_qglobal.cpp to avoid
14160         confusion about the borrowedness status of this file.
14161         * src/kwq/Makefile.am: Removed references to kde and qt
14162         subdirectories.
14163         * src/kwq/kde/.cvsignore: Removed.
14164         * src/kwq/kde/Makefile.am: Removed.
14165         * src/kwq/kde/_kurl.cpp: Removed.
14166         * src/kwq/kde/_kurl.h: Removed.
14167         * src/kwq/qt/Makefile.am: Removed.
14168         * src/kwq/qt/_qarray.h: Removed.
14169         * src/kwq/qt/_qbuffer.cpp: Removed.
14170         * src/kwq/qt/_qbuffer.h: Removed.
14171         * src/kwq/qt/_qcollection.cpp: Removed.
14172         * src/kwq/qt/_qcollection.h: Removed.
14173         * src/kwq/qt/_qcolor.h: Removed.
14174         * src/kwq/qt/_qcstring.cpp: Removed.
14175         * src/kwq/qt/_qcstring.h: Removed.
14176         * src/kwq/qt/_qdatetime.cpp: Removed.
14177         * src/kwq/qt/_qdatetime.h: Removed.
14178         * src/kwq/qt/_qdict.h: Removed.
14179         * src/kwq/qt/_qdir.cpp: Removed.
14180         * src/kwq/qt/_qdir.h: Removed.
14181         * src/kwq/qt/_qdir_unix.cpp: Removed.
14182         * src/kwq/qt/_qfile.cpp: Removed.
14183         * src/kwq/qt/_qfile.h: Removed.
14184         * src/kwq/qt/_qfileinfo.cpp: Removed.
14185         * src/kwq/qt/_qfileinfo.h: Removed.
14186         * src/kwq/qt/_qfileinfo_unix.cpp: Removed.
14187         * src/kwq/qt/_qgarray.cpp: Removed.
14188         * src/kwq/qt/_qgarray.h: Removed.
14189         * src/kwq/qt/_qgdict.cpp: Removed.
14190         * src/kwq/qt/_qgdict.h: Removed.
14191         * src/kwq/qt/_qglist.cpp: Removed.
14192         * src/kwq/qt/_qglist.h: Removed.
14193         * src/kwq/qt/_qglobal.cpp: Removed.
14194         * src/kwq/qt/_qgvector.cpp: Removed.
14195         * src/kwq/qt/_qgvector.h: Removed.
14196         * src/kwq/qt/_qiodevice.cpp: Removed.
14197         * src/kwq/qt/_qiodevice.h: Removed.
14198         * src/kwq/qt/_qlist.h: Removed.
14199         * src/kwq/qt/_qmap.cpp: Removed.
14200         * src/kwq/qt/_qmap.h: Removed.
14201         * src/kwq/qt/_qpoint.cpp: Removed.
14202         * src/kwq/qt/_qpoint.h: Removed.
14203         * src/kwq/qt/_qptrdict.h: Removed.
14204         * src/kwq/qt/_qrect.cpp: Removed.
14205         * src/kwq/qt/_qrect.h: Removed.
14206         * src/kwq/qt/_qregexp.cpp: Removed.
14207         * src/kwq/qt/_qregexp.h: Removed.
14208         * src/kwq/qt/_qregion.cpp: Removed.
14209         * src/kwq/qt/_qregion.h: Removed.
14210         * src/kwq/qt/_qshared.h: Removed.
14211         * src/kwq/qt/_qsize.cpp: Removed.
14212         * src/kwq/qt/_qsize.h: Removed.
14213         * src/kwq/qt/_qsortedlist.h: Removed.
14214         * src/kwq/qt/_qstack.h: Removed.
14215         * src/kwq/qt/_qstring.cpp: Removed.
14216         * src/kwq/qt/_qstring.h: Removed.
14217         * src/kwq/qt/_qstringlist.cpp: Removed.
14218         * src/kwq/qt/_qstringlist.h: Removed.
14219         * src/kwq/qt/_qstrlist.h: Removed.
14220         * src/kwq/qt/_qtextcodec.h: Removed.
14221         * src/kwq/qt/_qtextstream.h: Removed.
14222         * src/kwq/qt/_qtl.h: Removed.
14223         * src/kwq/qt/_qurl.cpp: Removed.
14224         * src/kwq/qt/_qurl.h: Removed.
14225         * src/kwq/qt/_qvaluelist.h: Removed.
14226         * src/kwq/qt/_qvector.h: Removed.
14227
14228 2002-03-26  Kenneth Kocienda  <kocienda@apple.com>
14229
14230         * src/Makefile.am:
14231
14232 2002-03-26  Darin Adler  <darin@apple.com>
14233
14234         * src/kwq/KWQKjobclasses.mm: (TransferJobPrivate::TransferJobPrivate):
14235         Nil out the handle so we don't autorelease garbage.
14236         
14237         * src/kwq/KWQKloader.mm:
14238         (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]),
14239         (-[URLLoadClient IFURLHandleResourceDidFinishLoading:data:]),
14240         (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
14241         Delete the job instead of just autoreleasing the sender. Fixes a leak.
14242
14243 2002-03-26  Richard Williamson  <rjw@apple.com>
14244
14245         Fixed leak of decoder.  This caused us to leak the entire
14246         document text for every load!
14247         
14248         * src/kwq/KWQKHTMLPart.mm:
14249
14250 2002-03-26  Darin Adler  <darin@apple.com>
14251
14252         * src/kdelibs/khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
14253         Fix a leak (missing delete).
14254
14255         * src/kwq/KWQMetrics.h:
14256         * src/kwq/KWQFontMetrics.mm:
14257         (-[KWQLayoutInfo drawString:atPoint:withFont:color:]): Don't bother keeping things
14258         around that we only need to use once.
14259         (-[KWQLayoutInfo _initializeCaches]): Create them here instead.
14260         (-[KWQLayoutInfo dealloc]): Don't need to free them here.
14261
14262 2002-03-26  Darin Adler  <darin@apple.com>
14263
14264         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo dealloc]): Free the
14265         style groups, styles, and glyph vectors.
14266        
14267         * src/kwq/KWQFont.mm: (QFont::getFont): Use default font if we can't
14268         find a font from the passed-in family. Before, we were raising an
14269         exception and quitting the application.
14270
14271         * src/kwq/KWQCString.mm: (QCString::isEmpty): Faster version that
14272         doesn't call strlen.
14273          
14274 2002-03-25  Richard Williamson  <rjw@apple.com>
14275
14276         Removed conditional check that prevent layout of iframes.  I don't
14277         understand why the check was being done.
14278         
14279         * src/kdelibs/khtml/rendering/render_flow.cpp: (RenderFlow::layout):
14280
14281 2002-03-25  Maciej Stachowiak  <mjs@apple.com>
14282
14283         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::slotData): Use
14284         -[IFURLHandle characterSet] to get the character set, instead of
14285         parsing it out of the header by hand.
14286
14287 2002-03-25  Chris Blumenberg  <cblu@apple.com>
14288
14289         * src/kwq/WCPlugin.mm: (-[WCPlugin load]):
14290         
14291         Temporary special case workaround for this Java plug-in bug:
14292         2885120
14293
14294 2002-03-25  Maciej Stachowiak  <mjs@apple.com>
14295
14296         Improved KURL performance:
14297
14298         * src/kwq/kdecore/kurl.h, src/kwq/KWQKURL.mm: 
14299         (KURL::normalizeURLString): New function to cache rewritten URL
14300         strings.
14301         (RelativeURLKeyRetainCallBack, RelativeURLKeyReleaseCallBack,
14302         RelativeURLKeyCopyDescriptionCallBack,
14303         RelativeURLKeyEqualCallBack, RelativeURLKeyHashCallBack,
14304         KURL::normalizeRelativeURLString): Cache results of relative URL
14305         resolution.
14306         (KURL::clearCaches): function to clear the caches so they don't
14307         grow forever.
14308         (KURL::KURL): Set nothing but the string at construction time.
14309         (KURL::isEmpty, KURL::isMalformed, KURL::hasPath, KURL::url,
14310         KURL::protocol, KURL::host, KURL::port, KURL::pass, KURL::user,
14311         KURL::ref, KURL::query, KURL::path, KURL::setProtocol,
14312         KURL::setHost, KURL::setPort, KURL::setRef, KURL::setQuery,
14313         KURL::setPath, KURL::prettyURL, KURL::copyOnWrite, KURL::parse,
14314         KURL::assemble): Parse into parts on demand instead.
14315         (KURL::swap, KURL::operator=): Handle KURL's new urlString field.
14316         
14317         * src/kwq/KWQKloader.mm: (Cache::requestImage, Cache::requestStyleSheet,
14318         Cache::requestScript): Don't redundantly check if KURL isMalformed.
14319
14320         * src/kwq/KWQKHTMLPart.mm (KHTMLPart::end): Clear KURL caches at
14321         the end of each page load.
14322
14323 2002-03-24  Darin Adler  <darin@apple.com>
14324
14325         * src/kwq/KWQListImpl.mm: (KWQListImpl::getFirst), (KWQListImpl::getLast):
14326         Apparently getLast needs to handle cases where the list is empty. Since
14327         getFirst didn't handle it either, I added a check in both cases.
14328
14329 2002-03-24  Darin Adler  <darin@apple.com>
14330
14331         Add tail pointer to KWQListImpl, since that shows up on so many profiles.
14332
14333         * src/kwq/KWQListImpl.mm: (KWQListImpl::KWQListPrivate::copyList): Return
14334         a tail pointer too.
14335         (KWQListImpl::KWQListPrivate::KWQListPrivate): Set up tail pointer.
14336         (KWQListImpl::clear): Clean tail pointer too.
14337         (KWQListImpl::at): Special case the tail so we don't walk the whole list
14338         when we ask for the last element.
14339         (KWQListImpl::insert): Update the tail node to when inserting. Also add
14340         a special case for adding at the end so we don't walk the whole list.
14341         (KWQListImpl::remove): Update the tail node. Also, use at() in the index-
14342         based remove so we don't ahve to replicate the logic about finding a
14343         node with the special case for the tail.
14344         (KWQListImpl::getLast): Trivial now.
14345         (KWQListImpl::last): Trivial now.
14346         (KWQListIteratorImpl::toLast): Trivial now.
14347         
14348         * src/kwq/KWQString.mm: (QString::operator=): Remove unneeded line of code.
14349
14350 2002-03-24  Richard Williamson  <rjw@apple.com>
14351
14352         A number of fixes to support non-latin1 decoding 
14353         and font measurement/drawing.
14354         
14355         * src/kwq/KWQFontMetrics.mm: (_rectForString):
14356         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::slotData):
14357         * src/kwq/KWQMetrics.h:
14358
14359 2002-03-24  Richard Williamson  <rjw@apple.com>
14360
14361         Cached available families from NSFontManager.  
14362         http://www.gamespy.com/gdc2002/okamoto went from 4.8 seconds
14363         to 0.7 seconds. [Do we need to worry about updating the cache if
14364         the available fonts change?]
14365         
14366         * src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::availableFamilies):
14367
14368 2002-03-24  Richard Williamson  <rjw@apple.com>
14369
14370         Fixed big leak in QString assignment operator.
14371         Updated comments.  Removed old fprintfs.
14372         Added some frame debugging logs.
14373         
14374         * src/kwq/KWQFontMetrics.mm: (_rectForString):
14375         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::requestFrame):
14376         * src/kwq/KWQScrollView.mm: (QScrollView::addChild),
14377         (QScrollView::resizeContents), (QScrollView::updateContents),
14378         (QScrollView::repaintContents):
14379         * src/kwq/KWQString.mm: (QString::operator=):
14380         * src/kwq/kwqdebug.h:
14381
14382 2002-03-23  Darin Adler  <darin@apple.com>
14383
14384         Fixed problem with extra empty items in menus.
14385
14386         * src/kwq/KWQComboBox.mm: (QComboBox::insertItem): Add back logic that puts
14387         an item in a certain position. Even though this is called insertItem, the
14388         behavior is to replace an item at a certain position.
14389         * src/kwq/KWQKComboBox.mm: (KComboBox::setSize): No need to fill the
14390         array with empty strings; just a waste of time based on how we do things.
14391
14392 2002-03-22  Darin Adler  <darin@apple.com>
14393
14394         * src/kdelibs/khtml/java/Makefile.am:
14395         * src/kdelibs/khtml/java/tests/.cvsignore:
14396         * src/kdelibs/khtml/java/tests/Makefile.am:
14397         Remove empty test subdirectory.
14398
14399         * src/kdelibs/kjs/.cvsignore: Ignore kjs-test output.
14400
14401 2002-03-22  Maciej Stachowiak  <mjs@apple.com>
14402
14403         Fix some things that were making automake complain.
14404
14405         * src/kdelibs/kjs/Makefile.am:
14406         * src/kwq/Makefile.am:
14407
14408 2002-03-22  Darin Adler  <darin@apple.com>
14409
14410         * src/kdelibs/khtml/css/cssstyleselector.cpp: (khtml::applyRule):
14411         Fix boolean logic mistake from the original KDE sources.
14412
14413 2002-03-22  Darin Adler  <darin@apple.com>
14414
14415         Finally giving up on the complete QString rewrite after doing it 3 times,
14416         Darin checks in some improvements for the old QString. This makes a QString
14417         be 8 bytes instead of 12, and improves a few other details. No dramatic
14418         speedups, but no slowdown either.
14419
14420         * src/kwq/qt/qstring.h:
14421         * src/kwq/KWQString.mm:
14422         (QString::QString), (QString::~QString), (QString::operator=),
14423         (QString::unicode), (QString::latin1): Store the cache type inside the cache.
14424         (QString::copy): No need to deep copy here.
14425         (QString::simplifyWhiteSpace): Use CFStringInlineBuffer.
14426         (QString::insert): Fix single-character insertions so they don't create and
14427         destroy a mutable CFStringRef every time.
14428         (QString::operator+=): Call the appropriate insert function.
14429         (QString::flushCache): Store cache type inside cache.
14430         (QString::compareToLatin1): Use CFStringInlineBuffer.
14431         (operator==): Use CFStringInlineBuffer.
14432         (QConstString::QConstString): Store the cache type inside the cache.
14433
14434 2002-03-22  John Sullivan  <sullivan@apple.com>
14435
14436         Made changing font sizes work immediately (other than an
14437         unrelated crash).
14438
14439         * src/kwq/KWQKHTMLSettings.mm: 
14440         (KHTMLSettings::KHTMLSettings),
14441         (KHTMLSettings::fontSizes): Moved defaults-fetching code from
14442         constructor to accessor, so it doesn't get out of synch with
14443         preference changes.
14444
14445         * src/kwq/khtml/khtml_settings.h: Added "mutable" keyword
14446         to declaration of m_fontSizes, so the other change would compile.
14447
14448 2002-03-22  Kenneth Kocienda  <kocienda@apple.com>
14449
14450         Moved KWQKloader to the new thread-safe API for accessing handle attributes.
14451
14452         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
14453         (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
14454         IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
14455         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
14456         IFURLHandle:resourceDidFailLoadingWithResult:]):
14457
14458 2002-03-22  Richard Williamson  <rjw@apple.com>
14459
14460         Fixed subtle measurement problems.  These were most evident of pages
14461         that had lots of rounding deviation.  My assumptions about being able to
14462         round glyph advances was incorrect.  We must pay the expense of a float addition,
14463         instead of integer addition.  This slows down our inner loop.  Oh well,
14464         we're still very fast.
14465         
14466         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo
14467         drawString:atPoint:withFont:color:]), (-[KWQLayoutInfo
14468         drawUnderlineForString:atPoint:withFont:color:]), (-[KWQLayoutInfo
14469         _initializeCaches]), (_rectForString), (QFontMetrics::width),
14470         (QFontMetrics::size):
14471         * src/kwq/KWQMetrics.h:
14472
14473 2002-03-22  Maciej Stachowiak  <mjs@apple.com>
14474
14475         Fixed the following post-merge crashers:
14476
14477         2885602 - Alexander crashes when clicking on a particular link in Google groups
14478         2885564 - Alexander crashes on load failures
14479         
14480         * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Fix
14481         Radar 2885602 by detaching the document from the view when the
14482         view is destroyed. This was making the document reference a
14483         destroyed view later.
14484
14485         * src/kwq/KWQKHTMLPart.mm: 
14486         (KHTMLPart::~KHTMLPart): Fix Radar 2885564 by checking if m_doc is
14487         NULL, since it's now inititally set to NULL.
14488         (KHTMLPart::KHTMLPart, KHTMLPart::init): Formatting tweaks.
14489         
14490 2002-03-20  Maciej Stachowiak  <mjs@apple.com>
14491
14492         Merged the following changes from LABYRINTH_KDE_3_MERGE branch:
14493
14494         2002-03-20  Maciej Stachowiak  <mjs@apple.com>
14495
14496                 * src/kdelibs/khtml/rendering/render_applet.cpp:
14497                 (RenderApplet::RenderApplet): Handle Java parameters properly,
14498                 with Chris's assistance.
14499
14500         2002-03-20  Maciej Stachowiak  <mjs@apple.com>
14501
14502                 Merged accumlated changes from HEAD, up to
14503                 MERGED_TO_KDE_3_MERGE_BRANCH tag.
14504
14505         2002-03-19  Maciej Stachowiak  <mjs@apple.com>
14506
14507                 Fixed two more crashers. Tree now looks pretty stable.
14508
14509                 * src/kdelibs/khtml/html/html_objectimpl.cpp:
14510                 (HTMLObjectElementImpl::detach): Don't send an unload event, that
14511                 needs the view to be a live, which it won't be when the DOM is
14512                 being destroyed.
14513
14514                 * src/kwq/KWQListImpl.mm: (KWQListImpl::getFirst): Return
14515                 d->head->data, not d->head. Whoops!
14516
14517         2002-03-19  Maciej Stachowiak  <mjs@apple.com>
14518
14519                 Fixed two crashers:
14520
14521                 * src/kdelibs/khtml/rendering/render_object.h: Don't attempt to
14522                 schedule a relayout ever. We control layout timing. This was
14523                 resulting in calls on destroyed/trashed objects before.
14524
14525                 * src/kdelibs/khtml/xml/dom_nodeimpl.cpp:
14526                 (NodeImpl::dispatchEvent): Check if view()->part() is NULL (looks
14527                 like a bug in the KDE code that this wasn't checked).
14528
14529         2002-03-19  Maciej Stachowiak  <mjs@apple.com>
14530
14531                 Changes needed to get WebCore to link: implement all the missing functions.
14532         
14533                 * src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::end):
14534                 * src/kdelibs/khtml/xml/xml_tokenizer.cpp: (XMLTokenizer::end):
14535                 * src/kdelibs/khtml/xml/xml_tokenizer.h:
14536                 * src/kwq/KWQApplication.mm: (QApplication::_initialize),
14537                 (QApplication::focusWidget):
14538                 * src/kwq/KWQColorGroup.mm: (QColorGroup::operator==):
14539                 * src/kwq/KWQComboBox.mm: (QComboBox::currentItem):
14540                 * src/kwq/KWQCursor.mm: (QCursor::operator=), (QCursor::handle):
14541                 * src/kwq/KWQEvent.mm: (QMouseEvent::QMouseEvent), (QKeyEvent::isAutoRepeat),
14542                 (QKeyEvent::text), (QKeyEvent::ascii), (QKeyEvent::count),
14543                 (QKeyEvent::isAccepted), (QCustomEvent::QCustomEvent),
14544                 (QContextMenuEvent::QContextMenuEvent), (QContextMenuEvent::globalPos),
14545                 (QContextMenuEvent::reason), (QContextMenuEvent::state), (QContextMenuEvent::x),
14546                 (QContextMenuEvent::y):
14547                 * src/kwq/KWQFontMetrics.mm: (QFontMetrics::boundingRect):
14548                 * src/kwq/KWQKCursor.mm: (KCursor::whatsThisCursor):
14549                 * src/kwq/KWQKDebug.mm: (kdBacktrace):
14550                 * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::metaRefreshEnabled),
14551                 (KHTMLPart::executeScript), (KHTMLPart::requestObject),
14552                 (KHTMLPart::setJSDefaultStatusBarText), (KHTMLPart::referrer),
14553                 (KHTMLPart::lastModified):
14554                 * src/kwq/KWQKMimeType.mm: (KMimeType::comment), (KMimeType::mimeType),
14555                 (KMimeType::defaultMimeType):
14556                 * src/kwq/KWQKPrinter.mm: (KPrinter::KPrinter):
14557                 * src/kwq/KWQKProtocolManager.mm: (KProtocolManager::proxyFor):
14558                 * src/kwq/KWQKstddirs.mm: (KStandardDirs::saveLocation):
14559                 * src/kwq/KWQLineEdit.mm: (QLineEdit::edited), (QLineEdit::setEdited):
14560                 * src/kwq/KWQListImpl.h:
14561                 * src/kwq/KWQListImpl.mm: (KWQListImpl::getFirst), (KWQListImpl::take):
14562                 * src/kwq/KWQMapImpl.h:
14563                 * src/kwq/KWQMapImpl.mm: (KWQMapImpl::removeEqualInternal):
14564                 * src/kwq/KWQNSTextField.h:
14565                 * src/kwq/KWQNSTextField.mm: (-[KWQNSTextField edited]), (-[KWQNSTextField
14566                 setEdited:]), (-[KWQNSTextField textDidChange:]):
14567                 * src/kwq/KWQObject.mm: (QObject::eventFilter):
14568                 * src/kwq/KWQPainter.mm: (QPainter::drawConvexPolygon), (QPainter::drawText):
14569                 * src/kwq/KWQPalette.mm: (QPalette::operator==):
14570                 * src/kwq/KWQRadioButton.mm: (QRadioButton::isChecked):
14571                 * src/kwq/KWQRect.mm: (QRect::isEmpty), (QRect::intersect), (QRect::unite):
14572                 * src/kwq/KWQRegion.mm: (QRegion::translate), (QRegion::boundingRect):
14573                 * src/kwq/KWQScrollView.mm: (QScrollView::updateContents):
14574                 * src/kwq/KWQString.mm: (QString::endsWith):
14575                 * src/kwq/KWQStyle.h:
14576                 * src/kwq/KWQTextArea.h:
14577                 * src/kwq/KWQTextArea.mm: (-[KWQTextArea paragraphs]), (RangeOfParagraph),
14578                 (-[KWQTextArea paragraphLength:]), (-[KWQTextArea textForParagraph:]),
14579                 (-[KWQTextArea lineOfCharAtIndex:inParagraph:]), (-[KWQTextArea
14580                 getCursorPositionAsIndex:inParagraph:]), (-[KWQTextArea
14581                 setCursorPositionToIndex:inParagraph:]):
14582                 * src/kwq/KWQTextEdit.mm: (QMultiLineEdit::QMultiLineEdit), (KEdit::KEdit),
14583                 (KEdit::~KEdit), (QTextEdit::QTextEdit), (QTextEdit::setText), (QTextEdit::text),
14584                 (QTextEdit::paragraphs), (QTextEdit::paragraphLength), (QTextEdit::lineOfChar),
14585                 (QTextEdit::getCursorPosition), (QTextEdit::setCursorPosition),
14586                 (QTextEdit::wordWrap), (QTextEdit::setWordWrap), (QTextEdit::setTextFormat),
14587                 (QTextEdit::isReadOnly), (QTextEdit::setReadOnly), (QTextEdit::selectAll):
14588                 * src/kwq/KWQVectorImpl.mm: (KWQVectorImpl::at), (KWQVectorImpl::data):
14589                 * src/kwq/KWQWidget.mm: (QWidget::frameGeometry), (QWidget::cursor),
14590                 (QWidget::unsetCursor):
14591                 * src/kwq/KWQbrowserextension.mm:
14592                 * src/kwq/KWQtextstream.mm: (QTextStream::QTextStream),
14593                 (QTextStream::operator<<), (endl):
14594                 * src/kwq/KWQxml.mm: (QXmlAttributes::uri), (QXmlParseException::lineNumber):
14595                 * src/kwq/Makefile.am:
14596                 * src/kwq/kdecore/kstandarddirs.h:
14597                 * src/kwq/kdecore/kstaticdeleter.h:
14598                 * src/kwq/kdeui/keditcl.h:
14599                 * src/kwq/kio/kmimetype.h:
14600                 * src/kwq/qt/qarray.h:
14601                 * src/kwq/qt/qevent.h:
14602                 * src/kwq/qt/qlist.h:
14603                 * src/kwq/qt/qmap.h:
14604                 * src/kwq/qt/qpalette.h:
14605                 * src/kwq/qt/qptrqueue.h:
14606                 * src/kwq/qt/qscrollview.h:
14607                 * src/kwq/qt/qstring.h:
14608                 * src/kwq/qt/qtextedit.h:
14609
14610         2002-03-18  Maciej Stachowiak  <mjs@apple.com>
14611
14612                 Changes needed to get kwq compiling (doesn't link yet, though).
14613
14614                 * src/kdelibs/khtml/misc/loader.h:
14615                 * src/kdelibs/khtml/xml/dom_elementimpl.h:
14616                 * src/kwq/KWQCollection.mm: (QPtrCollection::QPtrCollection),
14617                 (QPtrCollection::operator=), (QPtrCollection::~QPtrCollection),
14618                 (QPtrCollection::autoDelete), (QPtrCollection::setAutoDelete):
14619                 * src/kwq/KWQEvent.mm: (QKeyEvent::QKeyEvent):
14620                 * src/kwq/KWQIcon.h:
14621                 * src/kwq/KWQKHTMLFactory.mm:
14622                 * src/kwq/KWQKHTMLPart.h:
14623                 * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::KHTMLPart), (KHTMLPart::slotData),
14624                 (KHTMLPart::begin), (KHTMLPart::write), (KHTMLPart::checkCompleted),
14625                 (KHTMLPart::settings), (KHTMLPart::completeURL), (KHTMLPart::encoding),
14626                 (KHTMLPart::overURL), (KHTMLPart::urlSelected), (KHTMLPart::requestObject),
14627                 (KHTMLPart::frames), (KHTMLPart::event):
14628                 * src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::KHTMLSettings),
14629                 (KHTMLSettings::availableFamilies):
14630                 * src/kwq/KWQKProcess.mm: (KProcess::args):
14631                 * src/kwq/KWQKloader.mm: (CachedImage::CachedImage), (CachedImage::movieStatus),
14632                 (DocLoader::DocLoader), (Loader::load), (Loader::servePendingRequests),
14633                 (Loader::slotFinished), (Cache::requestScript):
14634                 * src/kwq/KWQPainter.mm: (QPainter::save):
14635                 * src/kwq/KWQPointArray.mm: (QPointArray::setPoint):
14636                 * src/kwq/KWQValueListImpl.mm: (KWQValueListImpl::removeEqualNodes),
14637                 (KWQValueListImpl::containsEqualNodes):
14638                 * src/kwq/KWQView.mm: (-[KWQHTMLView layout]):
14639                 * src/kwq/KWQsignals.mm: (khtml::Loader::requestDone),
14640                 (khtml::Loader::requestFailed):
14641                 * src/kwq/kdecore/kiconloader.h:
14642                 * src/kwq/kparts/browserextension.h:
14643                 * src/kwq/qt/qmovie.h:
14644                 
14645         2002-03-16  Maciej Stachowiak  <mjs@apple.com>
14646
14647                 Updated to get khtml to compile. Changes included updating our
14648                 headers for new classes, new methods, header name changes, etc, as
14649                 well as occasionally commenting out or replacing portions of the
14650                 khtml code with #if APPLE_CHANGES, and adding new files from the
14651                 kde3 sources when appropriate. Also commit some kjs files that I
14652                 forgot to cvs add before.
14653
14654                 * src/kdelibs/khtml/css/css_valueimpl.cpp:
14655                 (CSSStyleDeclarationImpl::getPropertyCSSValue):
14656                 * src/kdelibs/khtml/css/cssparser.cpp: (StyleBaseImpl::parseContent):
14657                 * src/kdelibs/khtml/css/cssstyleselector.cpp:
14658                 (CSSStyleSelector::CSSStyleSelector), (khtml::applyRule):
14659                 * src/kdelibs/khtml/ecma/.cvsignore:
14660                 * src/kdelibs/khtml/ecma/Makefile.am:
14661                 * src/kdelibs/khtml/ecma/kjs_debugwin.h:
14662                 * src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMNode::toString):
14663                 * src/kdelibs/khtml/ecma/kjs_dom.h:
14664                 * src/kdelibs/khtml/ecma/kjs_window.cpp:
14665                 * src/kdelibs/khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::cookie),
14666                 (HTMLDocumentImpl::setCookie):
14667                 * src/kdelibs/khtml/html/html_formimpl.cpp:
14668                 (HTMLKeygenElementImpl::HTMLKeygenElementImpl),
14669                 (HTMLKeygenElementImpl::encoding):
14670                 * src/kdelibs/khtml/java/kjavaprocess.cpp: (KJavaProcess::invokeJVM):
14671                 * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::contentsContextMenuEvent):
14672                 * src/kdelibs/khtml/misc/loader.h:
14673                 * src/kdelibs/khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth):
14674                 * src/kdelibs/khtml/rendering/render_form.cpp: (RenderTextArea::calcMinMaxWidth):
14675                 * src/kdelibs/khtml/rendering/render_image.cpp: (RenderImage::printObject):
14676                 * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
14677                 * src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::close):
14678                 * src/kdelibs/khtml/xml/dom_elementimpl.cpp:
14679                 (ElementImpl::dispatchAttrRemovalEvent),
14680                 (ElementImpl::dispatchAttrAdditionEvent):
14681                 * src/kdelibs/kjs/interpreter.cpp: (Context::Context), (Context::operator=),
14682                 (Context::~Context), (Context::isNull), (Context::imp), (Context::scopeChain),
14683                 (Context::variableObject), (Context::thisValue), (Context::callingContext),
14684                 (Interpreter::Interpreter), (Interpreter::~Interpreter),
14685                 (Interpreter::globalObject), (Interpreter::globalExec),
14686                 (Interpreter::checkSyntax), (Interpreter::evaluate), (Interpreter::imp),
14687                 (Interpreter::builtinObject), (Interpreter::builtinFunction),
14688                 (Interpreter::builtinArray), (Interpreter::builtinBoolean),
14689                 (Interpreter::builtinString), (Interpreter::builtinNumber),
14690                 (Interpreter::builtinDate), (Interpreter::builtinRegExp),
14691                 (Interpreter::builtinError), (Interpreter::builtinObjectPrototype),
14692                 (Interpreter::builtinFunctionPrototype), (Interpreter::builtinArrayPrototype),
14693                 (Interpreter::builtinBooleanPrototype), (Interpreter::builtinStringPrototype),
14694                 (Interpreter::builtinNumberPrototype), (Interpreter::builtinDatePrototype),
14695                 (Interpreter::builtinRegExpPrototype), (Interpreter::builtinErrorPrototype),
14696                 (Interpreter::builtinEvalError), (Interpreter::builtinRangeError),
14697                 (Interpreter::builtinReferenceError), (Interpreter::builtinSyntaxError),
14698                 (Interpreter::builtinTypeError), (Interpreter::builtinURIError),
14699                 (Interpreter::builtinEvalErrorPrototype),
14700                 (Interpreter::builtinRangeErrorPrototype),
14701                 (Interpreter::builtinReferenceErrorPrototype),
14702                 (Interpreter::builtinSyntaxErrorPrototype),
14703                 (Interpreter::builtinTypeErrorPrototype),
14704                 (Interpreter::builtinURIErrorPrototype), (Interpreter::setCompatMode),
14705                 (Interpreter::compatMode), (Interpreter::finalCheck), (ExecState::~ExecState),
14706                 (ExecState::interpreter), (ExecState::context), (ExecState::setException),
14707                 (ExecState::clearException), (ExecState::exception), (ExecState::hadException),
14708                 (ExecState::ExecState):
14709                 * src/kdelibs/kjs/property_map.cpp: (PropertyMapNode::setLeft),
14710                 (PropertyMapNode::setRight), (PropertyMapNode::setParent),
14711                 (PropertyMapNode::findMax), (PropertyMapNode::findMin), (PropertyMapNode::next),
14712                 (KJS::uscompare), (PropertyMap::PropertyMap), (PropertyMap::~PropertyMap),
14713                 (PropertyMap::put), (PropertyMap::remove), (PropertyMap::get),
14714                 (PropertyMap::clear), (PropertyMap::dump), (PropertyMap::checkTree),
14715                 (PropertyMap::getNode), (PropertyMap::first), (PropertyMap::balance),
14716                 (PropertyMap::updateHeight), (PropertyMap::rotateRR), (PropertyMap::rotateLL),
14717                 (PropertyMap::rotateRL), (PropertyMap::rotateLR):
14718                 * src/kdelibs/kjs/property_map.h:
14719                 * src/kdelibs/kjs/value.cpp: (ValueImp::ValueImp), (ValueImp::~ValueImp),
14720                 (ValueImp::mark), (ValueImp::marked), (ValueImp::setGcAllowed),
14721                 (ValueImp::operator new), (ValueImp::operator delete), (ValueImp::toInteger),
14722                 (ValueImp::toInt32), (ValueImp::toUInt32), (ValueImp::toUInt16),
14723                 (ValueImp::getBase), (ValueImp::getPropertyName), (ValueImp::getValue),
14724                 (ValueImp::putValue), (KJS::operator==), (KJS::operator!=), (Value::Value),
14725                 (Value::~Value), (Value::operator=), (Value::isNull), (Value::imp),
14726                 (Value::type), (Value::isA), (Value::toPrimitive), (Value::toBoolean),
14727                 (Value::toNumber), (Value::toInteger), (Value::toInt32), (Value::toUInt32),
14728                 (Value::toUInt16), (Value::toString), (Value::toObject), (Value::getBase),
14729                 (Value::getPropertyName), (Value::getValue), (Value::putValue),
14730                 (Undefined::Undefined), (Undefined::~Undefined), (Undefined::operator=),
14731                 (Undefined::dynamicCast), (Null::Null), (Null::~Null), (Null::operator=),
14732                 (Null::dynamicCast), (Boolean::Boolean), (Boolean::~Boolean),
14733                 (Boolean::operator=), (Boolean::value), (Boolean::dynamicCast), (String::String),
14734                 (String::~String), (String::operator=), (String::value), (String::dynamicCast),
14735                 (Number::Number), (Number::~Number), (Number::operator=), (Number::dynamicCast),
14736                 (Number::value), (Number::intValue), (Number::isNaN), (Number::isInf):
14737                 * src/kwq/KWQDef.h:
14738                 * src/kwq/KWQInputDialog.mm: (QInputDialog::getText):
14739                 * src/kwq/KWQKConfigBase.mm: (KConfig::KConfig):
14740                 * src/kwq/KWQKHTMLPart.h:
14741                 * src/kwq/KWQListImpl.h:
14742                 * src/kwq/KWQMapImpl.h:
14743                 * src/kwq/KWQMapImpl.mm: (KWQMapImpl::removeEqualInternal):
14744                 * src/kwq/KWQStrList.h:
14745                 * src/kwq/KWQStyle.h:
14746                 * src/kwq/KWQValueListImpl.h:
14747                 * src/kwq/KWQVectorImpl.h:
14748                 * src/kwq/kdecore/kapplication.h:
14749                 * src/kwq/kdecore/kconfig.h:
14750                 * src/kwq/kdecore/kdebug.h:
14751                 * src/kwq/kdecore/kprocess.h:
14752                 * src/kwq/kdecore/kstandarddirs.h:
14753                 * src/kwq/kdecore/kstaticdeleter.h:
14754                 * src/kwq/kdeui/kaction.h:
14755                 * src/kwq/kdeui/kcursor.h:
14756                 * src/kwq/khtml/khtml_factory.h:
14757                 * src/kwq/khtml/khtml_settings.h:
14758                 * src/kwq/kio/global.h:
14759                 * src/kwq/kio/kmimetype.h:
14760                 * src/kwq/kio/kprinter.h:
14761                 * src/kwq/kio/kprotocolmanager.h:
14762                 * src/kwq/kparts/browserextension.h:
14763                 * src/kwq/qt/qapplication.h:
14764                 * src/kwq/qt/qarray.h:
14765                 * src/kwq/qt/qcollection.h:
14766                 * src/kwq/qt/qcombobox.h:
14767                 * src/kwq/qt/qcstring.h:
14768                 * src/kwq/qt/qcursor.h:
14769                 * src/kwq/qt/qdict.h:
14770                 * src/kwq/qt/qevent.h:
14771                 * src/kwq/qt/qfontmetrics.h:
14772                 * src/kwq/qt/qinputdialog.h:
14773                 * src/kwq/qt/qlineedit.h:
14774                 * src/kwq/qt/qlist.h:
14775                 * src/kwq/qt/qmap.h:
14776                 * src/kwq/qt/qmemarray.h:
14777                 * src/kwq/qt/qnamespace.h:
14778                 * src/kwq/qt/qobject.h:
14779                 * src/kwq/qt/qpainter.h:
14780                 * src/kwq/qt/qpalette.h:
14781                 * src/kwq/qt/qpoint.h:
14782                 * src/kwq/qt/qpointarray.h:
14783                 * src/kwq/qt/qprinter.h:
14784                 * src/kwq/qt/qptrdict.h:
14785                 * src/kwq/qt/qptrlist.h:
14786                 * src/kwq/qt/qptrqueue.h:
14787                 * src/kwq/qt/qptrstack.h:
14788                 * src/kwq/qt/qptrvector.h:
14789                 * src/kwq/qt/qradiobutton.h:
14790                 * src/kwq/qt/qrect.h:
14791                 * src/kwq/qt/qregion.h:
14792                 * src/kwq/qt/qscrollview.h:
14793                 * src/kwq/qt/qsortedlist.h:
14794                 * src/kwq/qt/qstack.h:
14795                 * src/kwq/qt/qstring.h:
14796                 * src/kwq/qt/qstylesheet.h:
14797                 * src/kwq/qt/qtextedit.h:
14798                 * src/kwq/qt/qtextstream.h:
14799                 * src/kwq/qt/qvaluelist.h:
14800                 * src/kwq/qt/qvector.h:
14801                 * src/kwq/qt/qwidget.h:
14802                 * src/kwq/qt/qxml.h:
14803                 
14804         2002-03-14  Maciej Stachowiak  <mjs@apple.com>
14805
14806                 Get kjs to compile and link by adding mssing files, setting up
14807                 autogenerated files to autogenerate, and making a handful of minor
14808                 tweaks. The test program passes. Yay!
14809
14810                 * src/kdelibs/kjs/Makefile.am:
14811                 * src/kdelibs/kjs/create_hash_table:
14812                 * src/kdelibs/kjs/global_object.cpp:
14813                 * src/kdelibs/kjs/grammar.y:
14814                 * src/kdelibs/kjs/interpreter.h:
14815                 * src/kdelibs/kjs/keywords.table:
14816                 * src/kdelibs/kjs/kjs.cpp:
14817                 * src/kdelibs/kjs/kjs.h:
14818                 * src/kdelibs/kjs/lexer.lut.h:
14819                 * src/kdelibs/kjs/math_object.lut.h:
14820                 * src/kdelibs/kjs/ustring.h:
14821                 * src/kdelibs/kjs/value.h:
14822                 * src/kdelibs/kjs/.cvsignore:
14823                 
14824         2002-03-14  Maciej Stachowiak  <mjs@apple.com>
14825
14826                 Hand-merge KDE3 beta 2 changes into this frankenstein file.
14827
14828                 * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient setDataSource:]),
14829                 (WCSetIFWebDataSourceMakeFunc), (WCSetIFErrorMakeFunc), (recursive),
14830                 (encodingFromContentType), (splitUrlTarget), (KHTMLPart::KHTMLPart),
14831                 (KHTMLPart::init), (KHTMLPart::~KHTMLPart), (KHTMLPart::browserExtension),
14832                 (KHTMLPart::view), (KHTMLPart::setMetaRefreshEnabled), (KHTMLPart::jScript),
14833                 (KHTMLPart::executeScript), (KHTMLPart::executeScheduledScript),
14834                 (KHTMLPart::docImpl), (KHTMLPart::xmlDocImpl), (KHTMLPart::slotData),
14835                 (KHTMLPart::begin), (KHTMLPart::write), (KHTMLPart::end),
14836                 (KHTMLPart::checkCompleted), (KHTMLPart::settings), (KHTMLPart::completeURL),
14837                 (KHTMLPart::scheduleRedirection), (KHTMLPart::setEncoding),
14838                 (KHTMLPart::encoding), (KHTMLPart::gotoAnchor), (KHTMLPart::setFontSizes),
14839                 (KHTMLPart::fontSizes), (KHTMLPart::onlyLocalReferences),
14840                 (KHTMLPart::setOnlyLocalReferences), (KHTMLPart::findTextBegin),
14841                 (KHTMLPart::findTextNext), (KHTMLPart::selectedText), (KHTMLPart::hasSelection),
14842                 (KHTMLPart::selection), (KHTMLPart::setSelection), (KHTMLPart::overURL),
14843                 (KHTMLPart::urlSelected), (KHTMLPart::requestFrame),
14844                 (KHTMLPart::requestFrameName), (KHTMLPart::requestObject),
14845                 (KHTMLPart::submitForm), (KHTMLPart::findFrame), (KHTMLPart::frameExists),
14846                 (KHTMLPart::parentPart), (KHTMLPart::setJSStatusBarText),
14847                 (KHTMLPart::setJSDefaultStatusBarText), (KHTMLPart::jsStatusBarText),
14848                 (KHTMLPart::jsDefaultStatusBarText), (KHTMLPart::frames),
14849                 (KHTMLPart::customEvent), (KHTMLPart::khtmlMousePressEvent):
14850                 
14851         2002-03-13  Maciej Stachowiak  <mjs@apple.com>
14852
14853                 Merge KDE3 beta 2 changes into this frankenstein file.
14854
14855                 * src/kwq/KWQKloader.mm: (CachedCSSStyleSheet::CachedCSSStyleSheet),
14856                 (CachedCSSStyleSheet::ref), (CachedCSSStyleSheet::data),
14857                 (CachedCSSStyleSheet::checkNotify), (CachedCSSStyleSheet::error),
14858                 (CachedScript::CachedScript), (CachedScript::ref), (CachedScript::data),
14859                 (CachedScript::checkNotify), (CachedScript::error), (CachedImage::CachedImage),
14860                 (CachedImage::ref), (CachedImage::tiled_pixmap), (CachedImage::pixmap_size),
14861                 (CachedImage::do_notify), (CachedImage::movieStatus), (CachedImage::movieResize),
14862                 (CachedImage::setShowAnimations), (CachedImage::deleteMovie),
14863                 (CachedImage::data), (Request::Request), (DocLoader::DocLoader),
14864                 (DocLoader::requestImage), (DocLoader::requestStyleSheet),
14865                 (DocLoader::requestScript), (DocLoader::setAutoloadImages),
14866                 (DocLoader::setShowAnimations), (Loader::Loader), (Loader::~Loader),
14867                 (Loader::load), (Loader::servePendingRequests), (Loader::slotFinished),
14868                 (Loader::slotData), (Loader::numRequests), (Loader::cancelRequests),
14869                 (Cache::init), (Cache::requestImage), (Cache::requestStyleSheet),
14870                 (Cache::preloadStyleSheet), (Cache::requestScript), (Cache::preloadScript),
14871                 (Cache::flush):
14872
14873         2002-03-13  Maciej Stachowiak  <mjs@apple.com>
14874
14875                 Clean up this frankenstein file in preparation for merging KDE
14876                 beta 2 changes.
14877
14878                 * src/kwq/KWQKloader.mm: (CachedCSSStyleSheet::CachedCSSStyleSheet),
14879                 (CachedScript::CachedScript), (CachedImage::CachedImage),
14880                 (CachedImage::pixmap_size), (CachedImage::movieResize), (CachedImage::data),
14881                 (DocLoader::DocLoader), (Loader::Loader), (Loader::~Loader), (Loader::load),
14882                 (Loader::servePendingRequests), (Loader::slotFinished), (Loader::slotData),
14883                 (Loader::numRequests), (Loader::cancelRequests), (Cache::requestImage),
14884                 (Cache::requestStyleSheet), (Cache::requestScript), (Cache::flush):
14885
14886         2002-03-13  Maciej Stachowiak  <mjs@apple.com>
14887
14888                 Remove files from build that are no longer in KDE 3 beta 2:
14889
14890                 * src/kdelibs/khtml/ecma/Makefile.am:
14891                 * src/kdelibs/khtml/ecma/kjs_text.cpp:
14892                 * src/kdelibs/khtml/ecma/kjs_text.h:
14893                 * src/kdelibs/khtml/misc/Makefile.am:
14894                 * src/kdelibs/khtml/misc/font.cpp:
14895                 * src/kdelibs/khtml/misc/font.h:
14896                 * src/kdelibs/khtml/rendering/Makefile.am:
14897                 * src/kdelibs/khtml/rendering/render_hr.cpp:
14898                 * src/kdelibs/khtml/rendering/render_hr.h:
14899                 
14900         2002-03-08  Don Melton  <gramps@apple.com>
14901
14902                 Merged kdelibs from KDE 3 beta 2 into our 2.2.1-based sources.
14903
14904                 * src/kdelibs/kdecore/kentities.gperf:
14905                 * src/kdelibs/khtml/css/css_ruleimpl.cpp: (CSSRuleImpl::CSSRuleImpl),
14906                 (CSSRuleImpl::cssText), (CSSCharsetRuleImpl::CSSCharsetRuleImpl),
14907                 (CSSImportRuleImpl::CSSImportRuleImpl), (CSSImportRuleImpl::~CSSImportRuleImpl),
14908                 (CSSImportRuleImpl::setStyleSheet), (CSSImportRuleImpl::init),
14909                 (CSSMediaRuleImpl::CSSMediaRuleImpl), (CSSMediaRuleImpl::~CSSMediaRuleImpl),
14910                 (CSSMediaRuleImpl::cssRules), (CSSMediaRuleImpl::appendRule),
14911                 (CSSMediaRuleImpl::insertRule), (CSSMediaRuleImpl::deleteRule),
14912                 (CSSRuleListImpl::~CSSRuleListImpl), (CSSPageRuleImpl::selectorText),
14913                 (CSSStyleRuleImpl::selectorText), (CSSStyleRuleImpl::setSelector),
14914                 (CSSUnknownRuleImpl::~CSSUnknownRuleImpl), (CSSRuleListImpl::CSSRuleListImpl),
14915                 (CSSRuleListImpl::length), (CSSRuleListImpl::item),
14916                 (CSSRuleListImpl::deleteRule), (CSSRuleListImpl::insertRule):
14917                 * src/kdelibs/khtml/css/css_ruleimpl.h:
14918                 * src/kdelibs/khtml/css/css_stylesheetimpl.cpp: (StyleSheetImpl::setMedia),
14919                 (CSSStyleSheetImpl::CSSStyleSheetImpl), (CSSStyleSheetImpl::parseString),
14920                 (StyleSheetListImpl::~StyleSheetListImpl), (StyleSheetListImpl::length),
14921                 (StyleSheetListImpl::item), (MediaListImpl::MediaListImpl),
14922                 (MediaListImpl::contains), (MediaListImpl::item), (MediaListImpl::deleteMedium),
14923                 (MediaListImpl::appendMedium), (MediaListImpl::setMediaText):
14924                 * src/kdelibs/khtml/css/css_stylesheetimpl.h:
14925                 * src/kdelibs/khtml/css/css_valueimpl.cpp:
14926                 (CSSStyleDeclarationImpl::CSSStyleDeclarationImpl),
14927                 (CSSStyleDeclarationImpl::getPropertyCSSValue),
14928                 (CSSStyleDeclarationImpl::removeProperty),
14929                 (CSSStyleDeclarationImpl::setProperty),
14930                 (CSSStyleDeclarationImpl::setLengthProperty), (CSSStyleDeclarationImpl::item),
14931                 (CSSValueListImpl::cssValueType), (CSSPrimitiveValueImpl::cssValueType),
14932                 (CSSImageValueImpl::CSSImageValueImpl),
14933                 (FontFamilyValueImpl::FontFamilyValueImpl):
14934                 * src/kdelibs/khtml/css/css_valueimpl.h:
14935                 * src/kdelibs/khtml/css/csshelper.cpp: (khtml::computeLengthFloat),
14936                 (khtml::setFontSize):
14937                 * src/kdelibs/khtml/css/csshelper.h:
14938                 * src/kdelibs/khtml/css/cssparser.cpp: (StyleBaseImpl::baseURL),
14939                 (StyleBaseImpl::parseAtRule), (StyleBaseImpl::parseSelector2),
14940                 (StyleBaseImpl::parseSelector), (StyleBaseImpl::parseProperty),
14941                 (StyleBaseImpl::parseProperties), (StyleBaseImpl::parseFont),
14942                 (StyleBaseImpl::parseValue), (StyleBaseImpl::setParsedValue),
14943                 (StyleBaseImpl::parseShortHand), (StyleBaseImpl::parseBackgroundPosition),
14944                 (StyleBaseImpl::parseContent), (StyleBaseImpl::splitContent),
14945                 (StyleBaseImpl::splitShorthandProperties), (StyleBaseImpl::parse2Values),
14946                 (StyleBaseImpl::parse4Values), (StyleBaseImpl::parseUnit),
14947                 (StyleBaseImpl::parseStyleRule), (StyleBaseImpl::preprocess),
14948                 (CSSSelector::specificity):
14949                 * src/kdelibs/khtml/css/cssparser.h:
14950                 * src/kdelibs/khtml/css/cssproperties.in:
14951                 * src/kdelibs/khtml/css/cssstyleselector.cpp:
14952                 (CSSStyleSelector::CSSStyleSelector), (CSSStyleSelector::addSheet),
14953                 (CSSStyleSelector::loadDefaultStyle), (CSSStyleSelector::clear),
14954                 (CSSStyleSelector::styleForElement), (CSSStyleSelector::addInlineDeclarations),
14955                 (CSSStyleSelector::checkSelector), (CSSStyleSelector::checkOneSelector),
14956                 (CSSStyleSelector::buildLists), (CSSStyleSelectorList::CSSStyleSelectorList),
14957                 (CSSStyleSelectorList::append), (CSSStyleSelectorList::collect),
14958                 (CSSOrderedPropertyList::compareItems), (CSSOrderedPropertyList::append),
14959                 (convertToLength), (khtml::applyRule):
14960                 * src/kdelibs/khtml/css/cssstyleselector.h:
14961                 * src/kdelibs/khtml/css/cssvalues.in:
14962                 * src/kdelibs/khtml/css/html4.css:
14963                 * src/kdelibs/khtml/css/makeprop:
14964                 * src/kdelibs/khtml/css/makevalues:
14965                 * src/kdelibs/khtml/dom/css_rule.cpp: (CSSRuleList::CSSRuleList):
14966                 * src/kdelibs/khtml/dom/css_rule.h:
14967                 * src/kdelibs/khtml/dom/css_stylesheet.cpp: (MediaList::length),
14968                 (MediaList::item), (MediaList::deleteMedium), (MediaList::appendMedium):
14969                 * src/kdelibs/khtml/dom/css_stylesheet.h:
14970                 * src/kdelibs/khtml/dom/css_value.cpp: (CSSStyleDeclaration::getPropertyValue),
14971                 (CSSStyleDeclaration::getPropertyCSSValue),
14972                 (CSSStyleDeclaration::removeProperty),
14973                 (CSSStyleDeclaration::getPropertyPriority), (CSSStyleDeclaration::setProperty),
14974                 (CSSPrimitiveValue::setFloatValue):
14975                 * src/kdelibs/khtml/dom/css_value.h:
14976                 * src/kdelibs/khtml/dom/dom2_events.cpp: (Event::type), (Event::eventModuleName):
14977                 * src/kdelibs/khtml/dom/dom2_events.h:
14978                 * src/kdelibs/khtml/dom/dom2_range.cpp:
14979                 * src/kdelibs/khtml/dom/dom2_range.h:
14980                 * src/kdelibs/khtml/dom/dom2_traversal.cpp:
14981                 * src/kdelibs/khtml/dom/dom2_traversal.h:
14982                 * src/kdelibs/khtml/dom/dom2_views.cpp: (AbstractView::document),
14983                 (AbstractView::getComputedStyle):
14984                 * src/kdelibs/khtml/dom/dom2_views.h:
14985                 * src/kdelibs/khtml/dom/dom_core.h:
14986                 * src/kdelibs/khtml/dom/dom_doc.cpp: (DOMImplementation::hasFeature),
14987                 (DOMImplementation::createDocumentType), (DOMImplementation::createDocument),
14988                 (DOMImplementation::createHTMLDocument), (DOMImplementation::getInterface),
14989                 (DOMImplementation::createCSSStyleSheet), (Document::Document),
14990                 (Document::operator = ), (Document::createAttribute),
14991                 (Document::createAttributeNS), (Document::getElementById),
14992                 (Document::getElementsByTagName), (Document::getElementsByTagNameNS),
14993                 (Document::importNode), (Document::isHTMLDocument), (Document::createRange),
14994                 (Document::completeURL), (DocumentFragment::operator = ),
14995                 (DocumentType::DocumentType), (DocumentType::operator = ), (DocumentType::name),
14996                 (DocumentType::entities), (DocumentType::notations), (DocumentType::publicId),
14997                 (DocumentType::systemId), (DocumentType::internalSubset):
14998                 * src/kdelibs/khtml/dom/dom_doc.h:
14999                 * src/kdelibs/khtml/dom/dom_element.cpp: (Attr::operator = ), (Attr::name),
15000                 (Attr::ownerElement), (Attr::value), (Attr::setValue), (Element::operator = ),
15001                 (Element::tagName), (Element::getAttribute), (Element::setAttribute),
15002                 (Element::removeAttribute), (Element::getAttributeNode),
15003                 (Element::setAttributeNode), (Element::removeAttributeNode),
15004                 (Element::getElementsByTagName), (Element::getElementsByTagNameNS),
15005                 (Element::getAttributeNS), (Element::setAttributeNS),
15006                 (Element::removeAttributeNS), (Element::getAttributeNodeNS),
15007                 (Element::setAttributeNodeNS), (Element::hasAttribute),
15008                 (Element::hasAttributeNS), (Element::khtmlValidAttrName),
15009                 (Element::khtmlValidPrefix), (Element::khtmlValidQualifiedName),
15010                 (Element::khtmlMalformedQualifiedName), (Element::khtmlMalformedPrefix):
15011                 * src/kdelibs/khtml/dom/dom_element.h:
15012                 * src/kdelibs/khtml/dom/dom_exception.h:
15013                 * src/kdelibs/khtml/dom/dom_html.h:
15014                 * src/kdelibs/khtml/dom/dom_misc.cpp: (DomShared::deleteMe):
15015                 * src/kdelibs/khtml/dom/dom_misc.h:
15016                 * src/kdelibs/khtml/dom/dom_node.cpp: (NamedNodeMap::getNamedItem),
15017                 (NamedNodeMap::setNamedItem), (NamedNodeMap::removeNamedItem),
15018                 (NamedNodeMap::item), (NamedNodeMap::getNamedItemNS),
15019                 (NamedNodeMap::setNamedItemNS), (NamedNodeMap::removeNamedItemNS),
15020                 (NamedNodeMap::length), (throw), (Node::operator == ), (Node::operator != ),
15021                 (Node::nodeValue), (Node::setNodeValue), (Node::nodeType), (Node::parentNode),
15022                 (Node::childNodes), (Node::firstChild), (Node::lastChild),
15023                 (Node::previousSibling), (Node::nextSibling), (Node::attributes),
15024                 (Node::ownerDocument), (Node::insertBefore), (Node::replaceChild),
15025                 (Node::removeChild), (Node::appendChild), (Node::hasAttributes),
15026                 (Node::hasChildNodes), (Node::cloneNode), (Node::normalize), (Node::isSupported),
15027                 (Node::namespaceURI), (Node::prefix), (Node::setPrefix), (Node::localName),
15028                 (Node::addEventListener), (Node::removeEventListener), (Node::elementId),
15029                 (Node::index), (Node::toHTML), (Node::applyChanges), (Node::getCursor),
15030                 (Node::getRect), (NodeList::item), (NodeList::length):
15031                 * src/kdelibs/khtml/dom/dom_node.h:
15032                 * src/kdelibs/khtml/dom/dom_string.cpp: (DOMString::lower), (DOMString::upper),
15033                 (DOM::operator==):
15034                 * src/kdelibs/khtml/dom/dom_string.h:
15035                 * src/kdelibs/khtml/dom/dom_text.cpp: (CharacterData::operator = ),
15036                 (CharacterData::setData), (CharacterData::substringData),
15037                 (CharacterData::appendData), (CharacterData::insertData),
15038                 (CharacterData::deleteData), (CharacterData::replaceData), (Comment::operator =
15039                 ), (Text::operator = ), (Text::splitText):
15040                 * src/kdelibs/khtml/dom/dom_text.h:
15041                 * src/kdelibs/khtml/dom/dom_xml.cpp: (CDATASection::operator = ),
15042                 (Entity::operator = ), (Entity::publicId), (Entity::systemId),
15043                 (Entity::notationName), (EntityReference::operator = ), (Notation::operator = ),
15044                 (Notation::publicId), (Notation::systemId), (ProcessingInstruction::operator = ),
15045                 (ProcessingInstruction::target), (ProcessingInstruction::data),
15046                 (ProcessingInstruction::setData):
15047                 * src/kdelibs/khtml/dom/dom_xml.h:
15048                 * src/kdelibs/khtml/dom/html_base.cpp: (HTMLFrameElement::setSrc),
15049                 (HTMLFrameElement::contentDocument):
15050                 * src/kdelibs/khtml/dom/html_base.h:
15051                 * src/kdelibs/khtml/dom/html_block.cpp:
15052                 * src/kdelibs/khtml/dom/html_block.h:
15053                 * src/kdelibs/khtml/dom/html_document.cpp: (HTMLDocument::HTMLDocument),
15054                 (HTMLDocument::operator = ), (HTMLDocument::title), (HTMLDocument::completeURL),
15055                 (HTMLDocument::lastModified), (HTMLDocument::cookie), (HTMLDocument::setCookie),
15056                 (HTMLDocument::getElementsByName):
15057                 * src/kdelibs/khtml/dom/html_document.h:
15058                 * src/kdelibs/khtml/dom/html_element.cpp: (HTMLElement::operator = ),
15059                 (HTMLElement::removeCSSProperty), (HTMLElement::addCSSProperty),
15060                 (HTMLElement::setInnerText), (HTMLElement::children):
15061                 * src/kdelibs/khtml/dom/html_element.h:
15062                 * src/kdelibs/khtml/dom/html_form.cpp: (HTMLInputElement::setDefaultChecked),
15063                 (HTMLInputElement::name), (HTMLInputElement::setName), (HTMLInputElement::src),
15064                 (HTMLInputElement::setType), (HTMLInputElement::blur), (HTMLInputElement::focus),
15065                 (HTMLInputElement::select), (HTMLInputElement::click), (HTMLSelectElement::name),
15066                 (HTMLSelectElement::setName), (HTMLSelectElement::blur),
15067                 (HTMLSelectElement::focus), (HTMLTextAreaElement::name),
15068                 (HTMLTextAreaElement::setName), (HTMLTextAreaElement::blur),
15069                 (HTMLTextAreaElement::focus), (HTMLTextAreaElement::select),
15070                 (HTMLOptionElement::value), (HTMLOptionElement::setValue):
15071                 * src/kdelibs/khtml/dom/html_form.h:
15072                 * src/kdelibs/khtml/dom/html_head.cpp:
15073                 * src/kdelibs/khtml/dom/html_head.h:
15074                 * src/kdelibs/khtml/dom/html_image.cpp: (HTMLImageElement::border),
15075                 (HTMLImageElement::setBorder), (HTMLImageElement::height),
15076                 (HTMLImageElement::setHeight), (HTMLImageElement::hspace),
15077                 (HTMLImageElement::setHspace), (HTMLImageElement::src),
15078                 (HTMLImageElement::vspace), (HTMLImageElement::setVspace),
15079                 (HTMLImageElement::width), (HTMLImageElement::setWidth):
15080                 * src/kdelibs/khtml/dom/html_image.h:
15081                 * src/kdelibs/khtml/dom/html_inline.cpp: (HTMLAnchorElement::blur),
15082                 (HTMLAnchorElement::focus), (HTMLIFrameElement::contentDocument),
15083                 (HTMLModElement::HTMLModElement), (HTMLQuoteElement::HTMLQuoteElement):
15084                 * src/kdelibs/khtml/dom/html_inline.h:
15085                 * src/kdelibs/khtml/dom/html_list.cpp:
15086                 * src/kdelibs/khtml/dom/html_list.h:
15087                 * src/kdelibs/khtml/dom/html_misc.cpp: (HTMLCollection::base),
15088                 (HTMLCollection::firstItem), (HTMLCollection::nextItem),
15089                 (HTMLCollection::nextNamedItem):
15090                 * src/kdelibs/khtml/dom/html_misc.h:
15091                 * src/kdelibs/khtml/dom/html_object.cpp: (HTMLObjectElement::setWidth),
15092                 (HTMLObjectElement::contentDocument):
15093                 * src/kdelibs/khtml/dom/html_object.h:
15094                 * src/kdelibs/khtml/dom/html_table.cpp:
15095                 * src/kdelibs/khtml/dom/html_table.h:
15096                 * src/kdelibs/khtml/ecma/kjs_binding.cpp: (DOMObject::get), (DOMObject::put),
15097                 (DOMObject::toString), (DOMFunction::get), (DOMFunction::call),
15098                 (ScriptInterpreter::~ScriptInterpreter), (ScriptInterpreter::forgetDOMObject),
15099                 (ScriptInterpreter::mark), (ScriptInterpreter::isWindowOpenAllowed),
15100                 (KJS::toNode), (KJS::getString), (KJS::ValueToVariant):
15101                 * src/kdelibs/khtml/ecma/kjs_binding.h:
15102                 * src/kdelibs/khtml/ecma/kjs_css.cpp:
15103                 (DOMCSSStyleDeclaration::DOMCSSStyleDeclaration),
15104                 (DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration),
15105                 (DOMCSSStyleDeclaration::hasProperty), (DOMCSSStyleDeclaration::tryGet),
15106                 (DOMCSSStyleDeclaration::tryPut), (DOMCSSStyleDeclarationProtoFunc::tryCall),
15107                 (KJS::getDOMCSSStyleDeclaration), (DOMStyleSheet::~DOMStyleSheet),
15108                 (DOMStyleSheet::tryGet), (DOMStyleSheet::getValueProperty),
15109                 (DOMStyleSheet::tryPut), (KJS::getDOMStyleSheet),
15110                 (DOMStyleSheetList::~DOMStyleSheetList), (DOMStyleSheetList::tryGet),
15111                 (KJS::getDOMStyleSheetList), (DOMStyleSheetListFunc::tryCall),
15112                 (DOMMediaList::DOMMediaList), (DOMMediaList::~DOMMediaList),
15113                 (DOMMediaList::tryGet), (DOMMediaList::tryPut), (KJS::getDOMMediaList),
15114                 (KJS::DOMMediaListProtoFunc::tryCall), (DOMCSSStyleSheet::DOMCSSStyleSheet),
15115                 (DOMCSSStyleSheet::tryGet), (DOMCSSStyleSheetProtoFunc::tryCall),
15116                 (DOMCSSRuleList::~DOMCSSRuleList), (DOMCSSRuleList::tryGet),
15117                 (DOMCSSRuleListFunc::tryCall), (KJS::getDOMCSSRuleList),
15118                 (DOMCSSRule::~DOMCSSRule), (DOMCSSRule::classInfo), (DOMCSSRule::tryGet),
15119                 (DOMCSSRule::getValueProperty), (DOMCSSRule::tryPut), (DOMCSSRule::putValue),
15120                 (DOMCSSRuleFunc::tryCall), (KJS::getDOMCSSRule), (KJS::toCSSRule),
15121                 (CSSRuleConstructor::tryGet), (CSSRuleConstructor::getValueProperty),
15122                 (KJS::getCSSRuleConstructor), (DOMCSSValue::~DOMCSSValue), (DOMCSSValue::tryGet),
15123                 (DOMCSSValue::tryPut), (KJS::getDOMCSSValue), (CSSValueConstructor::tryGet),
15124                 (CSSValueConstructor::getValueProperty), (KJS::getCSSValueConstructor),
15125                 (DOMCSSPrimitiveValue::DOMCSSPrimitiveValue), (DOMCSSPrimitiveValue::tryGet),
15126                 (DOMCSSPrimitiveValueProtoFunc::tryCall), (CSSPrimitiveValueConstructor::tryGet),
15127                 (CSSPrimitiveValueConstructor::getValueProperty),
15128                 (KJS::getCSSPrimitiveValueConstructor), (DOMCSSValueList::DOMCSSValueList),
15129                 (DOMCSSValueList::tryGet), (DOMCSSValueListFunc::tryCall), (DOMRGBColor::tryGet),
15130                 (KJS::getDOMRGBColor), (DOMRect::~DOMRect), (DOMRect::tryGet), (KJS::getDOMRect),
15131                 (DOMCounter::~DOMCounter), (DOMCounter::tryGet), (KJS::getDOMCounter):
15132                 * src/kdelibs/khtml/ecma/kjs_css.h:
15133                 * src/kdelibs/khtml/ecma/kjs_debugwin.cpp: (FakeModal::eventFilter),
15134                 (FakeModal::enable), (FakeModal::disable), (StackFrame::toString),
15135                 (SourceFragment::SourceFragment), (SourceFragment::~SourceFragment),
15136                 (KJSDebugWin::KJSDebugWin), (KJSDebugWin::~KJSDebugWin),
15137                 (KJSDebugWin::createInstance), (KJSDebugWin::destroyInstance),
15138                 (KJSDebugWin::instance), (KJSDebugWin::next), (KJSDebugWin::step),
15139                 (KJSDebugWin::cont), (KJSDebugWin::stop), (KJSDebugWin::showFrame),
15140                 (KJSDebugWin::sourceSelected), (KJSDebugWin::eval), (KJSDebugWin::closeEvent),
15141                 (KJSDebugWin::sourceParsed), (KJSDebugWin::sourceUnused), (KJSDebugWin::error),
15142                 (KJSDebugWin::atLine), (KJSDebugWin::callEvent), (KJSDebugWin::returnEvent),
15143                 (KJSDebugWin::setCode), (KJSDebugWin::highLight),
15144                 (KJSDebugWin::setNextSourceInfo), (KJSDebugWin::setSourceFile),
15145                 (KJSDebugWin::appendSourceFile), (KJSDebugWin::enterSession),
15146                 (KJSDebugWin::leaveSession), (KJSDebugWin::updateFrameList),
15147                 (KJSDebugWin::setBreakpoint), (KJSDebugWin::deleteBreakpoint),
15148                 (KJSDebugWin::clearAllBreakpoints), (KJSDebugWin::breakpointLine),
15149                 (KJSDebugWin::haveBreakpoint):
15150                 * src/kdelibs/khtml/ecma/kjs_debugwin.h:
15151                 * src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMNode::DOMNode), (DOMNode::~DOMNode),
15152                 (DOMNode::toBoolean), (DOMNode::tryGet), (DOMNode::getValueProperty),
15153                 (DOMNode::tryPut), (DOMNode::putValue), (DOMNode::toPrimitive),
15154                 (DOMNode::toString), (DOMNode::setListener), (DOMNode::getListener),
15155                 (DOMNode::eventHandlerScope), (DOMNodeProtoFunc::tryCall),
15156                 (DOMNodeList::~DOMNodeList), (DOMNodeList::hasProperty), (DOMNodeList::tryGet),
15157                 (DOMNodeList::call), (DOMNodeList::tryCall), (DOMNodeListFunc::DOMNodeListFunc),
15158                 (DOMNodeListFunc::tryCall), (DOMAttr::tryGet), (DOMAttr::getValueProperty),
15159                 (DOMAttr::tryPut), (DOMAttr::putValue), (DOMDocument::DOMDocument),
15160                 (DOMDocument::tryGet), (DOMDocument::getValueProperty),
15161                 (DOMDocumentProtoFunc::tryCall), (DOMElement::DOMElement), (DOMElement::tryGet),
15162                 (DOMElementProtoFunc::tryCall), (DOMDOMImplementation::DOMDOMImplementation),
15163                 (DOMDOMImplementation::~DOMDOMImplementation),
15164                 (DOMDOMImplementationProtoFunc::tryCall), (DOMDocumentType::DOMDocumentType),
15165                 (DOMDocumentType::tryGet), (DOMDocumentType::getValueProperty),
15166                 (DOMNamedNodeMap::DOMNamedNodeMap), (DOMNamedNodeMap::~DOMNamedNodeMap),
15167                 (DOMNamedNodeMap::hasProperty), (DOMNamedNodeMap::tryGet),
15168                 (DOMNamedNodeMapProtoFunc::tryCall), (DOMProcessingInstruction::tryGet),
15169                 (DOMProcessingInstruction::getValueProperty), (DOMProcessingInstruction::tryPut),
15170                 (DOMNotation::tryGet), (DOMNotation::getValueProperty), (DOMEntity::tryGet),
15171                 (DOMEntity::getValueProperty), (KJS::getDOMNode), (KJS::getDOMNamedNodeMap),
15172                 (KJS::getDOMNodeList), (KJS::getDOMDOMImplementation), (NodeConstructor::tryGet),
15173                 (NodeConstructor::getValueProperty), (KJS::getNodeConstructor),
15174                 (DOMExceptionConstructor::tryGet), (DOMExceptionConstructor::getValueProperty),
15175                 (KJS::getDOMExceptionConstructor),
15176                 (DOMNamedNodesCollection::DOMNamedNodesCollection),
15177                 (DOMNamedNodesCollection::tryGet), (DOMCharacterData::DOMCharacterData),
15178                 (DOMCharacterData::tryGet), (DOMCharacterData::getValueProperty),
15179                 (DOMCharacterData::tryPut), (DOMCharacterDataProtoFunc::tryCall),
15180                 (DOMText::DOMText), (DOMText::tryGet), (DOMTextProtoFunc::tryCall):
15181                 * src/kdelibs/khtml/ecma/kjs_dom.h:
15182                 * src/kdelibs/khtml/ecma/kjs_events.cpp: (JSEventListener::JSEventListener),
15183                 (JSEventListener::~JSEventListener), (JSEventListener::handleEvent),
15184                 (KJS::getNodeEventListener), (EventConstructor::tryGet),
15185                 (EventConstructor::getValueProperty), (KJS::getEventConstructor),
15186                 (DOMEvent::DOMEvent), (DOMEvent::~DOMEvent), (DOMEvent::tryGet),
15187                 (DOMEvent::getValueProperty), (DOMEventProtoFunc::tryCall), (KJS::getDOMEvent),
15188                 (KJS::toEvent), (EventExceptionConstructor::tryGet),
15189                 (EventExceptionConstructor::getValueProperty),
15190                 (KJS::getEventExceptionConstructor), (DOMUIEvent::tryGet),
15191                 (DOMUIEvent::getValueProperty), (DOMUIEventProtoFunc::tryCall),
15192                 (DOMMouseEvent::tryGet), (DOMMouseEvent::getValueProperty),
15193                 (DOMMouseEventProtoFunc::tryCall), (MutationEventConstructor::tryGet),
15194                 (MutationEventConstructor::getValueProperty), (KJS::getMutationEventConstructor),
15195                 (DOMMutationEvent::tryGet), (DOMMutationEvent::getValueProperty),
15196                 (DOMMutationEventProtoFunc::tryCall):
15197                 * src/kdelibs/khtml/ecma/kjs_events.h:
15198                 * src/kdelibs/khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall),
15199                 (KJS::HTMLDocument::hasProperty), (KJS::HTMLDocument::tryGet),
15200                 (KJS::HTMLDocument::tryPut), (KJS::HTMLDocument::putValue),
15201                 (KJS::HTMLElement::classInfo), (KJS::HTMLElement::tryGet),
15202                 (KJS::HTMLElement::getValueProperty), (KJS::HTMLElement::hasProperty),
15203                 (KJS::HTMLElement::toString), (KJS::HTMLElement::eventHandlerScope),
15204                 (HTMLElementFunction::HTMLElementFunction), (KJS::HTMLElementFunction::tryCall),
15205                 (KJS::HTMLElement::tryPut), (KJS::HTMLElement::putValue),
15206                 (HTMLCollection::HTMLCollection), (HTMLCollection::~HTMLCollection),
15207                 (KJS::HTMLCollection::hasProperty), (KJS::HTMLCollection::tryGet),
15208                 (KJS::HTMLCollection::call), (KJS::HTMLCollection::tryCall),
15209                 (KJS::HTMLCollection::getNamedItems), (KJS::HTMLCollectionProtoFunc::tryCall),
15210                 (KJS::HTMLSelectCollection::tryGet), (KJS::HTMLSelectCollection::tryPut),
15211                 (OptionConstructorImp::OptionConstructorImp),
15212                 (OptionConstructorImp::implementsConstruct), (OptionConstructorImp::construct),
15213                 (ImageConstructorImp::ImageConstructorImp),
15214                 (ImageConstructorImp::implementsConstruct), (ImageConstructorImp::construct),
15215                 (Image::tryGet), (Image::getValueProperty), (Image::tryPut),
15216                 (KJS::getHTMLCollection), (KJS::getSelectHTMLCollection):
15217                 * src/kdelibs/khtml/ecma/kjs_html.h:
15218                 * src/kdelibs/khtml/ecma/kjs_navigator.cpp: (Navigator::Navigator),
15219                 (Navigator::get), (Navigator::getValueProperty), (PluginBase::PluginBase),
15220                 (Plugins::get), (MimeTypes::get), (Plugin::get), (MimeType::get),
15221                 (PluginsFunc::tryCall), (NavigatorFunc::tryCall):
15222                 * src/kdelibs/khtml/ecma/kjs_navigator.h:
15223                 * src/kdelibs/khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::KJSProxyImpl),
15224                 (KJSProxyImpl::~KJSProxyImpl), (KJSProxyImpl::evaluate), (KJSProxyImpl::clear),
15225                 (KJSProxyImpl::createHTMLEventHandler), (KJSProxyImpl::finishedWithEvent),
15226                 (KJSProxyImpl::interpreter), (KJSProxyImpl::setDebugEnabled),
15227                 (KJSProxyImpl::paused), (KJSProxyImpl::setSourceFile),
15228                 (KJSProxyImpl::appendSourceFile), (TestFunctionImp::call),
15229                 (KJSProxyImpl::initScript), (KJSProxy::proxy), (kjs_html_init):
15230                 * src/kdelibs/khtml/ecma/kjs_proxy.h:
15231                 * src/kdelibs/khtml/ecma/kjs_range.cpp: (DOMRange::DOMRange),
15232                 (DOMRange::~DOMRange), (DOMRange::tryGet), (DOMRange::getValueProperty),
15233                 (DOMRangeProtoFunc::tryCall), (KJS::getDOMRange), (RangeConstructor::tryGet),
15234                 (RangeConstructor::getValueProperty), (KJS::getRangeConstructor), (KJS::toRange):
15235                 * src/kdelibs/khtml/ecma/kjs_range.h:
15236                 * src/kdelibs/khtml/ecma/kjs_traversal.cpp: (DOMNodeIterator::DOMNodeIterator),
15237                 (DOMNodeIterator::~DOMNodeIterator), (DOMNodeIterator::tryGet),
15238                 (DOMNodeIterator::getValueProperty), (DOMNodeIteratorProtoFunc::tryCall),
15239                 (KJS::getDOMNodeIterator), (NodeFilterConstructor::tryGet),
15240                 (NodeFilterConstructor::getValueProperty), (KJS::getNodeFilterConstructor),
15241                 (DOMNodeFilter::DOMNodeFilter), (DOMNodeFilter::~DOMNodeFilter),
15242                 (DOMNodeFilterProtoFunc::tryCall), (KJS::getDOMNodeFilter),
15243                 (DOMTreeWalker::DOMTreeWalker), (DOMTreeWalker::~DOMTreeWalker),
15244                 (DOMTreeWalker::tryGet), (DOMTreeWalker::getValueProperty),
15245                 (DOMTreeWalker::tryPut), (DOMTreeWalkerProtoFunc::tryCall),
15246                 (KJS::getDOMTreeWalker), (KJS::toNodeFilter), (JSNodeFilter::JSNodeFilter),
15247                 (JSNodeFilter::acceptNode):
15248                 * src/kdelibs/khtml/ecma/kjs_traversal.h:
15249                 * src/kdelibs/khtml/ecma/kjs_views.cpp: (DOMAbstractView::~DOMAbstractView),
15250                 (DOMAbstractView::tryGet), (DOMAbstractViewFunc::tryCall),
15251                 (KJS::getDOMAbstractView), (KJS::toAbstractView):
15252                 * src/kdelibs/khtml/ecma/kjs_views.h:
15253                 * src/kdelibs/khtml/ecma/kjs_window.cpp: (Screen::Screen), (Screen::get),
15254                 (Screen::getValueProperty), (Window::Window), (Window::retrieveWindow),
15255                 (Window::retrieveActive), (Window::retrieve), (Window::mark),
15256                 (Window::hasProperty), (Window::toString), (Window::get), (Window::put),
15257                 (Window::toBoolean), (Window::scheduleClose), (Window::isSafeScript),
15258                 (Window::setListener), (Window::getListener), (Window::getJSEventListener),
15259                 (Window::clear), (Window::setCurrentEvent), (WindowFunc::tryCall),
15260                 (ScheduledAction::ScheduledAction), (ScheduledAction::execute),
15261                 (ScheduledAction::~ScheduledAction), (WindowQObject::WindowQObject),
15262                 (WindowQObject::~WindowQObject), (WindowQObject::parentDestroyed),
15263                 (WindowQObject::installTimeout), (WindowQObject::clearTimeout),
15264                 (WindowQObject::timerEvent), (WindowQObject::timeoutClose), (FrameArray::get),
15265                 (Location::Location), (Location::~Location), (Location::get), (Location::put),
15266                 (Location::toPrimitive), (Location::toString), (LocationFunc::tryCall),
15267                 (History::get), (History::getValueProperty), (HistoryFunc::tryCall),
15268                 (Konqueror::hasProperty), (Konqueror::get), (KonquerorFunc::tryCall),
15269                 (Konqueror::toString):
15270                 * src/kdelibs/khtml/ecma/kjs_window.h:
15271                 * src/kdelibs/khtml/html/dtd.cpp: (DOM::checkChild), (DOM::addForbidden),
15272                 (DOM::removeForbidden):
15273                 * src/kdelibs/khtml/html/dtd.h:
15274                 * src/kdelibs/khtml/html/html_baseimpl.cpp:
15275                 (HTMLBodyElementImpl::HTMLBodyElementImpl), (HTMLBodyElementImpl::id),
15276                 (HTMLBodyElementImpl::parseAttribute), (HTMLBodyElementImpl::init),
15277                 (HTMLBodyElementImpl::attach), (HTMLFrameElementImpl::HTMLFrameElementImpl),
15278                 (HTMLFrameElementImpl::id), (HTMLFrameElementImpl::parseAttribute),
15279                 (HTMLFrameElementImpl::init), (HTMLFrameElementImpl::attach),
15280                 (HTMLFrameElementImpl::detach), (HTMLFrameElementImpl::setLocation),
15281                 (HTMLFrameElementImpl::setFocus), (HTMLFrameElementImpl::contentDocument),
15282                 (HTMLFrameSetElementImpl::HTMLFrameSetElementImpl),
15283                 (HTMLFrameSetElementImpl::~HTMLFrameSetElementImpl),
15284                 (HTMLFrameSetElementImpl::id), (HTMLFrameSetElementImpl::parseAttribute),
15285                 (HTMLFrameSetElementImpl::init), (HTMLFrameSetElementImpl::attach),
15286                 (HTMLFrameSetElementImpl::defaultEventHandler),
15287                 (HTMLFrameSetElementImpl::detach), (HTMLFrameSetElementImpl::recalcStyle),
15288                 (HTMLHeadElementImpl::id), (HTMLHtmlElementImpl::attach),
15289                 (HTMLHtmlElementImpl::id), (HTMLIFrameElementImpl::id),
15290                 (HTMLIFrameElementImpl::parseAttribute), (HTMLIFrameElementImpl::attach),
15291                 (HTMLIFrameElementImpl::recalcStyle):
15292                 * src/kdelibs/khtml/html/html_baseimpl.h:
15293                 * src/kdelibs/khtml/html/html_blockimpl.cpp: (HTMLBlockquoteElementImpl::id),
15294                 (HTMLDivElementImpl::id), (HTMLDivElementImpl::parseAttribute),
15295                 (HTMLHRElementImpl::id), (HTMLHRElementImpl::parseAttribute),
15296                 (HTMLHRElementImpl::attach), (HTMLHeadingElementImpl::HTMLHeadingElementImpl),
15297                 (HTMLParagraphElementImpl::id), (HTMLPreElementImpl::HTMLPreElementImpl),
15298                 (HTMLLayerElementImpl::id), (HTMLLayerElementImpl::parseAttribute):
15299                 * src/kdelibs/khtml/html/html_blockimpl.h:
15300                 * src/kdelibs/khtml/html/html_documentimpl.cpp:
15301                 (HTMLDocumentImpl::HTMLDocumentImpl), (HTMLDocumentImpl::~HTMLDocumentImpl),
15302                 (HTMLDocumentImpl::referrer), (HTMLDocumentImpl::domain),
15303                 (HTMLDocumentImpl::setDomain), (HTMLDocumentImpl::lastModified),
15304                 (HTMLDocumentImpl::cookie), (HTMLDocumentImpl::setCookie),
15305                 (HTMLDocumentImpl::setBody), (HTMLDocumentImpl::slotHistoryChanged),
15306                 (isTransitional), (HTMLDocumentImpl::close),
15307                 (HTMLDocumentImpl::determineParseMode):
15308                 * src/kdelibs/khtml/html/html_documentimpl.h:
15309                 * src/kdelibs/khtml/html/html_elementimpl.cpp:
15310                 (HTMLElementImpl::HTMLElementImpl), (HTMLElementImpl::parseAttribute),
15311                 (HTMLElementImpl::addCSSProperty), (HTMLElementImpl::addCSSLength),
15312                 (HTMLElementImpl::removeCSSProperty), (HTMLElementImpl::innerText),
15313                 (HTMLElementImpl::setInnerHTML), (HTMLElementImpl::namespaceURI):
15314                 * src/kdelibs/khtml/html/html_elementimpl.h:
15315                 * src/kdelibs/khtml/html/html_formimpl.cpp:
15316                 (HTMLFormElementImpl::~HTMLFormElementImpl), (HTMLFormElementImpl::id),
15317                 (HTMLFormElementImpl::length), (HTMLFormElementImpl::i18nData),
15318                 (HTMLFormElementImpl::formData), (HTMLFormElementImpl::prepareSubmit),
15319                 (HTMLFormElementImpl::submit), (HTMLFormElementImpl::reset),
15320                 (HTMLFormElementImpl::parseAttribute), (HTMLFormElementImpl::radioClicked),
15321                 (HTMLGenericFormElementImpl::HTMLGenericFormElementImpl),
15322                 (HTMLGenericFormElementImpl::parseAttribute),
15323                 (HTMLGenericFormElementImpl::attach), (HTMLGenericFormElementImpl::name),
15324                 (HTMLGenericFormElementImpl::setName), (HTMLGenericFormElementImpl::onSelect),
15325                 (HTMLGenericFormElementImpl::onChange),
15326                 (HTMLGenericFormElementImpl::setDisabled),
15327                 (HTMLGenericFormElementImpl::setParent),
15328                 (HTMLGenericFormElementImpl::recalcStyle),
15329                 (HTMLGenericFormElementImpl::isSelectable),
15330                 (HTMLGenericFormElementImpl::defaultEventHandler),
15331                 (HTMLGenericFormElementImpl::isEditable), (HTMLButtonElementImpl::id),
15332                 (HTMLButtonElementImpl::parseAttribute), (HTMLButtonElementImpl::attach),
15333                 (HTMLButtonElementImpl::defaultEventHandler), (HTMLButtonElementImpl::encoding),
15334                 (HTMLFieldSetElementImpl::id), (HTMLInputElementImpl::HTMLInputElementImpl),
15335                 (HTMLInputElementImpl::~HTMLInputElementImpl), (HTMLInputElementImpl::id),
15336                 (HTMLInputElementImpl::setType), (HTMLInputElementImpl::state),
15337                 (HTMLInputElementImpl::restoreState), (HTMLInputElementImpl::parseAttribute),
15338                 (HTMLInputElementImpl::init), (HTMLInputElementImpl::attach),
15339                 (HTMLInputElementImpl::altText), (HTMLInputElementImpl::encoding),
15340                 (HTMLInputElementImpl::reset), (HTMLInputElementImpl::setChecked),
15341                 (HTMLInputElementImpl::value), (HTMLInputElementImpl::setValue),
15342                 (HTMLInputElementImpl::blur), (HTMLInputElementImpl::focus),
15343                 (HTMLInputElementImpl::defaultEventHandler), (HTMLInputElementImpl::isEditable),
15344                 (HTMLLabelElementImpl::id), (HTMLLabelElementImpl::parseAttribute),
15345                 (HTMLLabelElementImpl::formElement), (HTMLLegendElementImpl::id),
15346                 (HTMLSelectElementImpl::HTMLSelectElementImpl), (HTMLSelectElementImpl::id),
15347                 (HTMLSelectElementImpl::add), (HTMLSelectElementImpl::blur),
15348                 (HTMLSelectElementImpl::focus), (HTMLSelectElementImpl::value),
15349                 (HTMLSelectElementImpl::setValue), (HTMLSelectElementImpl::state),
15350                 (HTMLSelectElementImpl::restoreState), (HTMLSelectElementImpl::parseAttribute),
15351                 (HTMLSelectElementImpl::init), (HTMLSelectElementImpl::attach),
15352                 (HTMLSelectElementImpl::encoding), (HTMLSelectElementImpl::reset),
15353                 (HTMLSelectElementImpl::notifyOptionSelected),
15354                 (HTMLKeygenElementImpl::HTMLKeygenElementImpl), (HTMLKeygenElementImpl::id),
15355                 (HTMLKeygenElementImpl::parseAttribute), (HTMLKeygenElementImpl::encoding),
15356                 (HTMLOptGroupElementImpl::HTMLOptGroupElementImpl),
15357                 (HTMLOptGroupElementImpl::id), (HTMLOptGroupElementImpl::parseAttribute),
15358                 (HTMLOptionElementImpl::id), (HTMLOptionElementImpl::text),
15359                 (HTMLOptionElementImpl::index), (HTMLOptionElementImpl::setIndex),
15360                 (HTMLOptionElementImpl::parseAttribute), (HTMLOptionElementImpl::value),
15361                 (HTMLOptionElementImpl::setValue), (HTMLOptionElementImpl::getSelect),
15362                 (HTMLTextAreaElementImpl::HTMLTextAreaElementImpl),
15363                 (HTMLTextAreaElementImpl::id), (HTMLTextAreaElementImpl::parseAttribute),
15364                 (HTMLTextAreaElementImpl::init), (HTMLTextAreaElementImpl::attach),
15365                 (HTMLTextAreaElementImpl::encoding), (HTMLTextAreaElementImpl::setDefaultValue),
15366                 (HTMLTextAreaElementImpl::blur), (HTMLTextAreaElementImpl::focus),
15367                 (HTMLTextAreaElementImpl::isEditable),
15368                 (HTMLIsIndexElementImpl::HTMLIsIndexElementImpl), (HTMLIsIndexElementImpl::id),
15369                 (HTMLIsIndexElementImpl::parseAttribute):
15370                 * src/kdelibs/khtml/html/html_formimpl.h:
15371                 * src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLBaseElementImpl::id),
15372                 (HTMLBaseElementImpl::parseAttribute),
15373                 (HTMLBaseElementImpl::insertedIntoDocument),
15374                 (HTMLBaseElementImpl::removedFromDocument), (HTMLBaseElementImpl::process),
15375                 (HTMLLinkElementImpl::HTMLLinkElementImpl), (HTMLLinkElementImpl::id),
15376                 (HTMLLinkElementImpl::parseAttribute), (HTMLLinkElementImpl::process),
15377                 (HTMLLinkElementImpl::insertedIntoDocument),
15378                 (HTMLLinkElementImpl::removedFromDocument), (HTMLLinkElementImpl::setStyleSheet),
15379                 (HTMLLinkElementImpl::sheetLoaded), (HTMLMetaElementImpl::id),
15380                 (HTMLMetaElementImpl::parseAttribute),
15381                 (HTMLMetaElementImpl::insertedIntoDocument), (HTMLMetaElementImpl::process),
15382                 (HTMLScriptElementImpl::id), (HTMLStyleElementImpl::id),
15383                 (HTMLStyleElementImpl::parseAttribute),
15384                 (HTMLStyleElementImpl::insertedIntoDocument),
15385                 (HTMLStyleElementImpl::removedFromDocument),
15386                 (HTMLStyleElementImpl::childrenChanged), (HTMLStyleElementImpl::isLoading),
15387                 (HTMLStyleElementImpl::sheetLoaded), (HTMLTitleElementImpl::id),
15388                 (HTMLTitleElementImpl::insertedIntoDocument),
15389                 (HTMLTitleElementImpl::removedFromDocument),
15390                 (HTMLTitleElementImpl::childrenChanged):
15391                 * src/kdelibs/khtml/html/html_headimpl.h:
15392                 * src/kdelibs/khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::id),
15393                 (HTMLImageElementImpl::parseAttribute), (HTMLImageElementImpl::altText),
15394                 (HTMLImageElementImpl::attach), (HTMLMapElementImpl::~HTMLMapElementImpl),
15395                 (HTMLMapElementImpl::id), (HTMLMapElementImpl::mapMouseEvent),
15396                 (HTMLMapElementImpl::parseAttribute), (HTMLAreaElementImpl::HTMLAreaElementImpl),
15397                 (HTMLAreaElementImpl::~HTMLAreaElementImpl), (HTMLAreaElementImpl::id),
15398                 (HTMLAreaElementImpl::parseAttribute), (HTMLAreaElementImpl::mapMouseEvent),
15399                 (HTMLAreaElementImpl::getRect), (HTMLAreaElementImpl::getRegion):
15400                 * src/kdelibs/khtml/html/html_imageimpl.h:
15401                 * src/kdelibs/khtml/html/html_inlineimpl.cpp:
15402                 (HTMLAnchorElementImpl::HTMLAnchorElementImpl),
15403                 (HTMLAnchorElementImpl::~HTMLAnchorElementImpl), (HTMLAnchorElementImpl::id),
15404                 (HTMLAnchorElementImpl::defaultEventHandler),
15405                 (HTMLAnchorElementImpl::parseAttribute), (HTMLBRElementImpl::id),
15406                 (HTMLBRElementImpl::parseAttribute), (HTMLBRElementImpl::attach),
15407                 (HTMLFontElementImpl::id), (HTMLFontElementImpl::parseAttribute):
15408                 * src/kdelibs/khtml/html/html_inlineimpl.h:
15409                 * src/kdelibs/khtml/html/html_listimpl.cpp: (HTMLUListElementImpl::id),
15410                 (HTMLUListElementImpl::parseAttribute), (HTMLDirectoryElementImpl::id),
15411                 (HTMLMenuElementImpl::id), (HTMLOListElementImpl::id),
15412                 (HTMLOListElementImpl::parseAttribute), (HTMLLIElementImpl::id),
15413                 (HTMLLIElementImpl::parseAttribute), (HTMLLIElementImpl::attach),
15414                 (HTMLDListElementImpl::id):
15415                 * src/kdelibs/khtml/html/html_listimpl.h:
15416                 * src/kdelibs/khtml/html/html_miscimpl.cpp:
15417                 (HTMLBaseFontElementImpl::HTMLBaseFontElementImpl),
15418                 (HTMLBaseFontElementImpl::id), (HTMLCollectionImpl::HTMLCollectionImpl),
15419                 (HTMLCollectionImpl::calcLength), (HTMLCollectionImpl::getItem),
15420                 (HTMLCollectionImpl::firstItem), (HTMLCollectionImpl::nextItem),
15421                 (HTMLCollectionImpl::getNamedItem), (HTMLCollectionImpl::namedItem),
15422                 (HTMLCollectionImpl::nextNamedItem), (HTMLCollectionImpl::nextNamedItemInternal),
15423                 (HTMLFormCollectionImpl::calcLength), (HTMLFormCollectionImpl::getItem),
15424                 (HTMLFormCollectionImpl::getNamedItem),
15425                 (HTMLFormCollectionImpl::getNamedFormItem),
15426                 (HTMLFormCollectionImpl::getNamedImgItem), (HTMLFormCollectionImpl::firstItem),
15427                 (HTMLFormCollectionImpl::nextItem),
15428                 (HTMLFormCollectionImpl::nextNamedItemInternal):
15429                 * src/kdelibs/khtml/html/html_miscimpl.h:
15430                 * src/kdelibs/khtml/html/html_objectimpl.cpp:
15431                 (HTMLAppletElementImpl::HTMLAppletElementImpl),
15432                 (HTMLAppletElementImpl::~HTMLAppletElementImpl), (HTMLAppletElementImpl::id),
15433                 (HTMLAppletElementImpl::parseAttribute), (HTMLAppletElementImpl::attach),
15434                 (HTMLEmbedElementImpl::id), (HTMLEmbedElementImpl::parseAttribute),
15435                 (HTMLEmbedElementImpl::attach), (HTMLObjectElementImpl::id),
15436                 (HTMLObjectElementImpl::parseAttribute),
15437                 (HTMLObjectElementImpl::contentDocument), (HTMLObjectElementImpl::attach),
15438                 (HTMLObjectElementImpl::detach), (HTMLObjectElementImpl::recalcStyle),
15439                 (HTMLParamElementImpl::id), (HTMLParamElementImpl::parseAttribute):
15440                 * src/kdelibs/khtml/html/html_objectimpl.h:
15441                 * src/kdelibs/khtml/html/html_tableimpl.cpp:
15442                 (HTMLTableElementImpl::HTMLTableElementImpl), (HTMLTableElementImpl::id),
15443                 (HTMLTableElementImpl::setCaption), (HTMLTableElementImpl::setTHead),
15444                 (HTMLTableElementImpl::setTFoot), (HTMLTableElementImpl::setTBody),
15445                 (HTMLTableElementImpl::createTHead), (HTMLTableElementImpl::deleteTHead),
15446                 (HTMLTableElementImpl::createTFoot), (HTMLTableElementImpl::deleteTFoot),
15447                 (HTMLTableElementImpl::createCaption), (HTMLTableElementImpl::deleteCaption),
15448                 (HTMLTableElementImpl::insertRow), (HTMLTableElementImpl::deleteRow),
15449                 (HTMLTableElementImpl::addChild), (HTMLTableElementImpl::parseAttribute),
15450                 (HTMLTableElementImpl::init), (HTMLTablePartElementImpl::parseAttribute),
15451                 (HTMLTableSectionElementImpl::id), (HTMLTableSectionElementImpl::insertRow),
15452                 (HTMLTableSectionElementImpl::deleteRow), (HTMLTableRowElementImpl::id),
15453                 (HTMLTableRowElementImpl::insertCell), (HTMLTableRowElementImpl::deleteCell),
15454                 (HTMLTableCellElementImpl::HTMLTableCellElementImpl),
15455                 (HTMLTableCellElementImpl::parseAttribute), (HTMLTableCellElementImpl::init),
15456                 (HTMLTableColElementImpl::HTMLTableColElementImpl),
15457                 (HTMLTableColElementImpl::id), (HTMLTableColElementImpl::parseAttribute),
15458                 (HTMLTableCaptionElementImpl::id), (HTMLTableCaptionElementImpl::parseAttribute):
15459                 * src/kdelibs/khtml/html/html_tableimpl.h:
15460                 * src/kdelibs/khtml/html/htmlparser.cpp: (KHTMLParser::parseToken),
15461                 (KHTMLParser::insertNode), (KHTMLParser::getElement),
15462                 (KHTMLParser::processCloseTag), (KHTMLParser::popOneBlock),
15463                 (KHTMLParser::handleIsindex):
15464                 * src/kdelibs/khtml/html/htmlparser.h:
15465                 * src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::HTMLTokenizer),
15466                 (HTMLTokenizer::reset), (HTMLTokenizer::begin), (HTMLTokenizer::processListing),
15467                 (HTMLTokenizer::parseSpecial), (HTMLTokenizer::scriptHandler),
15468                 (HTMLTokenizer::scriptExecution), (HTMLTokenizer::parseComment),
15469                 (HTMLTokenizer::parseServer), (HTMLTokenizer::parseTag), (HTMLTokenizer::write),
15470                 (HTMLTokenizer::finish), (HTMLTokenizer::processToken),
15471                 (HTMLTokenizer::notifyFinished), (HTMLTokenizer::addPendingSource),
15472                 (HTMLTokenizer::setSrc):
15473                 * src/kdelibs/khtml/html/htmltokenizer.h:
15474                 * src/kdelibs/khtml/java/javaembed.h:
15475                 * src/kdelibs/khtml/java/kjavaapplet.h:
15476                 * src/kdelibs/khtml/java/kjavaappletcontext.cpp:
15477                 * src/kdelibs/khtml/java/kjavaappletcontext.h:
15478                 * src/kdelibs/khtml/java/kjavaappletserver.cpp: (KJavaAppletServer::setupJava):
15479                 * src/kdelibs/khtml/java/kjavaappletserver.h:
15480                 * src/kdelibs/khtml/java/kjavaappletwidget.h:
15481                 * src/kdelibs/khtml/java/kjavaprocess.cpp: (KJavaProcess::invokeJVM):
15482                 * src/kdelibs/khtml/khtml_events.cpp: (khtml::MouseEvent::MouseEvent),
15483                 (khtml::MouseEvent::offset):
15484                 * src/kdelibs/khtml/khtml_events.h:
15485                 * src/kdelibs/khtml/khtml_ext.h:
15486                 * src/kdelibs/khtml/khtml_factory.h:
15487                 * src/kdelibs/khtml/khtml_part.h:
15488                 * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView),
15489                 (KHTMLView::~KHTMLView), (KHTMLView::init), (KHTMLView::clear),
15490                 (KHTMLView::resizeEvent), (KHTMLView::drawContents), (KHTMLView::setMarginWidth),
15491                 (KHTMLView::setMarginHeight), (KHTMLView::layout),
15492                 (KHTMLView::viewportMousePressEvent), (KHTMLView::viewportMouseDoubleClickEvent),
15493                 (KHTMLView::viewportMouseMoveEvent), (KHTMLView::resetCursor),
15494                 (KHTMLView::viewportMouseReleaseEvent), (KHTMLView::keyPressEvent),
15495                 (KHTMLView::keyReleaseEvent), (KHTMLView::contentsContextMenuEvent),
15496                 (KHTMLView::focusNextPrevChild), (KHTMLView::scrollTo),
15497                 (KHTMLView::focusNextPrevNode), (KHTMLView::setMediaType),
15498                 (KHTMLView::mediaType), (KHTMLView::print), (KHTMLView::slotPaletteChanged),
15499                 (KHTMLView::restoreScrollBar), (KHTMLView::addFormCompletionItem),
15500                 (KHTMLView::dispatchMouseEvent), (KHTMLView::setIgnoreEvents),
15501                 (KHTMLView::ignoreEvents), (KHTMLView::setIgnoreWheelEvents),
15502                 (KHTMLView::viewportWheelEvent), (KHTMLView::slotScrollBarMoved),
15503                 (KHTMLView::timerEvent), (KHTMLView::scheduleRelayout),
15504                 (KHTMLView::scheduleRepaint), (KHTMLView::complete):
15505                 * src/kdelibs/khtml/khtmlview.h:
15506                 * src/kdelibs/khtml/misc/decoder.cpp:
15507                 * src/kdelibs/khtml/misc/decoder.h:
15508                 * src/kdelibs/khtml/misc/helper.cpp: (khtml::setNamedColor),
15509                 (khtml::setPrintPainter):
15510                 * src/kdelibs/khtml/misc/helper.h:
15511                 * src/kdelibs/khtml/misc/htmlattrs.in:
15512                 * src/kdelibs/khtml/misc/htmltags.in:
15513                 * src/kdelibs/khtml/misc/khtmllayout.h:
15514                 * src/kdelibs/khtml/misc/loader.h:
15515                 * src/kdelibs/khtml/misc/loader_client.h:
15516                 * src/kdelibs/khtml/misc/makeattrs:
15517                 * src/kdelibs/khtml/misc/maketags:
15518                 * src/kdelibs/khtml/misc/stringit.h:
15519                 * src/kdelibs/khtml/rendering/bidi.cpp: (Bidinext), (first),
15520                 (BidiIterator::BidiIterator), (BidiIterator::operator ++ ),
15521                 (BidiIterator::atEnd), (BidiIterator::current), (BidiIterator::direction),
15522                 (appendRun), (embed), (RenderFlow::bidiReorderLine),
15523                 (RenderFlow::layoutInlineChildren):
15524                 * src/kdelibs/khtml/rendering/bidi.h:
15525                 * src/kdelibs/khtml/rendering/break_lines.cpp:
15526                 * src/kdelibs/khtml/rendering/render_applet.cpp: (RenderApplet::RenderApplet),
15527                 (RenderApplet::intrinsicWidth), (RenderApplet::intrinsicHeight),
15528                 (RenderApplet::layout), (RenderEmptyApplet::RenderEmptyApplet),
15529                 (RenderEmptyApplet::layout):
15530                 * src/kdelibs/khtml/rendering/render_applet.h:
15531                 * src/kdelibs/khtml/rendering/render_body.cpp: (RenderBody::RenderBody),
15532                 (RenderBody::setStyle):
15533                 * src/kdelibs/khtml/rendering/render_body.h:
15534                 * src/kdelibs/khtml/rendering/render_box.cpp: (RenderBox::RenderBox),
15535                 (RenderBox::setPos), (RenderBox::setPixmap), (RenderBox::printBackground),
15536                 (RenderBox::calcClip), (RenderBox::close), (RenderBox::repaintRectangle),
15537                 (RenderBox::calcWidth), (RenderBox::calcHorizontalMargins),
15538                 (RenderBox::calcHeight), (RenderBox::calcReplacedWidth),
15539                 (RenderBox::calcReplacedHeight), (RenderBox::calcVerticalMargins):
15540                 * src/kdelibs/khtml/rendering/render_box.h:
15541                 * src/kdelibs/khtml/rendering/render_br.cpp: (RenderBR::RenderBR):
15542                 * src/kdelibs/khtml/rendering/render_br.h:
15543                 * src/kdelibs/khtml/rendering/render_container.cpp:
15544                 (RenderContainer::RenderContainer), (RenderContainer::addChild),
15545                 (RenderContainer::removeChildNode), (RenderContainer::removeChild),
15546                 (RenderContainer::insertPseudoChild), (RenderContainer::appendChildNode),
15547                 (RenderContainer::insertChildNode), (RenderContainer::layout):
15548                 * src/kdelibs/khtml/rendering/render_container.h:
15549                 * src/kdelibs/khtml/rendering/render_flow.cpp: (RenderFlow::RenderFlow),
15550                 (RenderFlow::setStyle), (RenderFlow::print), (RenderFlow::printObject),
15551                 (RenderFlow::printSpecialObjects), (RenderFlow::layout),
15552                 (RenderFlow::layoutSpecialObjects), (RenderFlow::layoutBlockChildren),
15553                 (RenderFlow::insertSpecialObject), (RenderFlow::removeSpecialObject),
15554                 (RenderFlow::positionNewFloats), (RenderFlow::leftOffset),
15555                 (RenderFlow::leftRelOffset), (RenderFlow::rightOffset),
15556                 (RenderFlow::rightRelOffset), (RenderFlow::lineWidth), (RenderFlow::floatBottom),
15557                 (RenderFlow::lowestPosition), (RenderFlow::rightmostPosition),
15558                 (RenderFlow::leftBottom), (RenderFlow::rightBottom), (RenderFlow::clearFloats),
15559                 (RenderFlow::addOverHangingFloats), (next), (RenderFlow::calcMinMaxWidth),
15560                 (RenderFlow::close), (RenderFlow::addChild), (RenderFlow::makeChildrenNonInline),
15561                 (RenderFlow::nodeAtPoint), (RenderFlow::printTree), (RenderFlow::dump):
15562                 * src/kdelibs/khtml/rendering/render_flow.h:
15563                 * src/kdelibs/khtml/rendering/render_form.cpp:
15564                 (RenderFormElement::RenderFormElement), (RenderFormElement::updateFromElement),
15565                 (RenderFormElement::layout), (RenderFormElement::slotClicked),
15566                 (RenderButton::RenderButton), (RenderCheckBox::RenderCheckBox),
15567                 (RenderCheckBox::calcMinMaxWidth), (RenderCheckBox::updateFromElement),
15568                 (RenderCheckBox::slotStateChanged), (RenderRadioButton::RenderRadioButton),
15569                 (RenderRadioButton::updateFromElement), (RenderRadioButton::slotClicked),
15570                 (RenderRadioButton::calcMinMaxWidth), (RenderSubmitButton::RenderSubmitButton),
15571                 (RenderSubmitButton::calcMinMaxWidth), (RenderImageButton::RenderImageButton),
15572                 (RenderResetButton::RenderResetButton), (RenderPushButton::RenderPushButton),
15573                 (RenderLineEdit::RenderLineEdit), (RenderLineEdit::slotReturnPressed),
15574                 (RenderLineEdit::handleFocusOut), (RenderLineEdit::calcMinMaxWidth),
15575                 (RenderLineEdit::updateFromElement), (RenderLineEdit::slotTextChanged),
15576                 (RenderFieldset::RenderFieldset), (RenderFileButton::RenderFileButton),
15577                 (RenderFileButton::calcMinMaxWidth), (RenderFileButton::handleFocusOut),
15578                 (RenderFileButton::slotClicked), (RenderFileButton::updateFromElement),
15579                 (RenderFileButton::slotReturnPressed), (RenderFileButton::slotTextChanged),
15580                 (RenderLabel::RenderLabel), (RenderLegend::RenderLegend),
15581                 (RenderSelect::RenderSelect), (RenderSelect::updateFromElement),
15582                 (RenderSelect::calcMinMaxWidth), (RenderSelect::layout), (RenderSelect::close),
15583                 (RenderSelect::slotSelected), (RenderSelect::slotSelectionChanged),
15584                 (RenderSelect::createListBox), (RenderSelect::createComboBox),
15585                 (RenderSelect::updateSelection), (TextAreaWidget::TextAreaWidget),
15586                 (TextAreaWidget::event), (RenderTextArea::RenderTextArea),
15587                 (RenderTextArea::~RenderTextArea), (RenderTextArea::handleFocusOut),
15588                 (RenderTextArea::calcMinMaxWidth), (RenderTextArea::updateFromElement),
15589                 (RenderTextArea::close), (RenderTextArea::text),
15590                 (RenderTextArea::slotTextChanged):
15591                 * src/kdelibs/khtml/rendering/render_form.h:
15592                 * src/kdelibs/khtml/rendering/render_frames.cpp:
15593                 (RenderFrameSet::RenderFrameSet), (RenderFrameSet::~RenderFrameSet),
15594                 (RenderFrameSet::nodeAtPoint), (RenderFrameSet::layout),
15595                 (RenderFrameSet::positionFrames), (RenderFrameSet::userResize),
15596                 (RenderFrameSet::setResizing), (RenderFrameSet::canResize),
15597                 (RenderFrameSet::dump), (RenderPart::RenderPart), (RenderPart::setWidget),
15598                 (RenderPart::partLoadingErrorNotify), (RenderFrame::RenderFrame),
15599                 (RenderFrame::slotViewCleared), (RenderPartObject::RenderPartObject),
15600                 (RenderPartObject::updateWidget), (RenderPartObject::close),
15601                 (RenderPartObject::partLoadingErrorNotify),
15602                 (RenderPartObject::slotPartLoadingErrorNotify),
15603                 (RenderPartObject::calcReplacedWidth), (RenderPartObject::calcReplacedHeight),
15604                 (RenderPartObject::layout), (RenderPartObject::slotViewCleared):
15605                 * src/kdelibs/khtml/rendering/render_frames.h:
15606                 * src/kdelibs/khtml/rendering/render_html.cpp: (RenderHtml::RenderHtml),
15607                 (RenderHtml::printBoxDecorations):
15608                 * src/kdelibs/khtml/rendering/render_html.h:
15609                 * src/kdelibs/khtml/rendering/render_image.cpp: (RenderImage::RenderImage),
15610                 (RenderImage::setStyle), (RenderImage::setPixmap), (RenderImage::printObject),
15611                 (RenderImage::layout), (RenderImage::notifyFinished), (RenderImage::nodeAtPoint),
15612                 (RenderImage::updateFromElement):
15613                 * src/kdelibs/khtml/rendering/render_image.h:
15614                 * src/kdelibs/khtml/rendering/render_list.cpp: (toLetter), (toHebrew),
15615                 (RenderListItem::RenderListItem), (RenderListItem::setStyle),
15616                 (RenderListItem::calcListValue), (RenderListItem::layout),
15617                 (RenderListMarker::RenderListMarker), (RenderListMarker::~RenderListMarker),
15618                 (RenderListMarker::setStyle), (RenderListMarker::printObject),
15619                 (RenderListMarker::layout), (RenderListMarker::setPixmap),
15620                 (RenderListMarker::calcMinMaxWidth):
15621                 * src/kdelibs/khtml/rendering/render_list.h:
15622                 * src/kdelibs/khtml/rendering/render_object.cpp: (RenderObject::createObject),
15623                 (RenderObject::RenderObject), (RenderObject::~RenderObject),
15624                 (RenderObject::addChild), (RenderObject::removeChildNode),
15625                 (RenderObject::removeChild), (RenderObject::appendChildNode),
15626                 (RenderObject::insertChildNode), (RenderObject::containingBlock),
15627                 (RenderObject::drawBorder), (RenderObject::printBorder),
15628                 (RenderObject::printOutline), (RenderObject::information),
15629                 (RenderObject::printTree), (RenderObject::dump),
15630                 (RenderObject::selectionStartEnd), (RenderObject::setStyle),
15631                 (RenderObject::setOverhangingContents), (RenderObject::root),
15632                 (RenderObject::invalidateLayout), (RenderObject::checkSelectionPoint),
15633                 (RenderObject::nodeAtPoint), (RenderObject::getVerticalPosition),
15634                 (RenderObject::lineHeight), (RenderObject::baselinePosition),
15635                 (RenderObject::recalcMinMaxWidths), (RenderObject::scheduleRelayout):
15636                 * src/kdelibs/khtml/rendering/render_object.h:
15637                 * src/kdelibs/khtml/rendering/render_replaced.cpp:
15638                 (RenderReplaced::RenderReplaced), (RenderReplaced::print),
15639                 (RenderReplaced::calcMinMaxWidth), (RenderReplaced::lineHeight),
15640                 (RenderWidget::RenderWidget), (RenderWidget::detach),
15641                 (RenderWidget::~RenderWidget), (RenderWidget::setQWidget),
15642                 (RenderWidget::layout), (RenderWidget::setStyle), (RenderWidget::printObject),
15643                 (RenderWidget::eventFilter), (RenderWidget::handleDOMEvent),
15644                 (RenderWidget::sendWidgetEvent):
15645                 * src/kdelibs/khtml/rendering/render_replaced.h:
15646                 * src/kdelibs/khtml/rendering/render_root.cpp: (RenderRoot::RenderRoot),
15647                 (RenderRoot::calcMinMaxWidth), (RenderRoot::layout), (RenderRoot::printObject),
15648                 (RenderRoot::repaintRectangle), (RenderRoot::repaint), (RenderRoot::close),
15649                 (RenderRoot::setSelection), (RenderRoot::clearSelection),
15650                 (RenderRoot::selectionStartEnd), (RenderRoot::docWidth):
15651                 * src/kdelibs/khtml/rendering/render_root.h:
15652                 * src/kdelibs/khtml/rendering/render_style.cpp: (RenderStyle::setBitDefaults),
15653                 (RenderStyle::RenderStyle), (RenderStyle::inheritFrom),
15654                 (RenderStyle::~RenderStyle), (RenderStyle::operator==),
15655                 (RenderStyle::getPseudoStyle), (RenderStyle::addPseudoStyle),
15656                 (RenderStyle::removePseudoStyle), (RenderStyle::inheritedNotEqual),
15657                 (RenderStyle::diff), (RenderStyle::cleanup),
15658                 (RenderPseudoElementStyle::RenderPseudoElementStyle),
15659                 (RenderPseudoElementStyle::~RenderPseudoElementStyle),
15660                 (RenderPseudoElementStyle::setContent), (RenderPseudoElementStyle::contentText),
15661                 (RenderPseudoElementStyle::contentObject),
15662                 (RenderPseudoElementStyle::clearContent):
15663                 * src/kdelibs/khtml/rendering/render_style.h:
15664                 * src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::RenderTable),
15665                 (RenderTable::setStyle), (RenderTable::addChild), (RenderTable::addCell),
15666                 (RenderTable::setCells), (RenderTable::recalcColInfo), (RenderTable::addColInfo),
15667                 (RenderTable::calcSingleColMinMax), (RenderTable::calcFinalColMax),
15668                 (RenderTable::calcColMinMax), (RenderTable::calcWidth),
15669                 (RenderTable::calcColWidth), (RenderTable::distributeRest),
15670                 (RenderTable::layout), (RenderTable::layoutRows), (RenderTable::setCellWidths),
15671                 (RenderTable::print), (RenderTable::calcMinMaxWidth), (RenderTable::close),
15672                 (RenderTable::recalcCells), (RenderTable::dump),
15673                 (RenderTableSection::RenderTableSection),
15674                 (RenderTableSection::~RenderTableSection), (RenderTableSection::addChild),
15675                 (RenderTableSection::dump), (RenderTableRow::RenderTableRow),
15676                 (RenderTableRow::addChild), (RenderTableRow::dump), (RenderTableRow::layout),
15677                 (RenderTableCell::RenderTableCell), (RenderTableCell::updateFromElement),
15678                 (RenderTableCell::calcMinMaxWidth), (RenderTableCell::setWidth),
15679                 (RenderTableCell::close), (RenderTableCell::print),
15680                 (RenderTableCell::printBoxDecorations), (RenderTableCell::dump),
15681                 (RenderTableCol::RenderTableCol), (RenderTableCol::updateFromElement),
15682                 (RenderTableCol::dump), (RenderTableCaption::RenderTableCaption):
15683                 * src/kdelibs/khtml/rendering/render_table.h:
15684                 * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::~TextSlave),
15685                 (TextSlave::print), (TextSlave::printSelection), (TextSlave::printDecoration),
15686                 (TextSlave::printBoxDecorations), (TextSlave::checkSelectionPoint),
15687                 (TextSlaveArray::compareItems), (RenderText::RenderText), (RenderText::setStyle),
15688                 (RenderText::~RenderText), (RenderText::deleteSlaves), (RenderText::nodeAtPoint),
15689                 (RenderText::checkSelectionPoint), (RenderText::cursorPos),
15690                 (RenderText::absolutePosition), (RenderText::rightmostPosition),
15691                 (RenderText::printObject), (RenderText::print), (RenderText::calcMinMaxWidth),
15692                 (RenderText::font), (RenderText::setText), (RenderText::height),
15693                 (RenderText::lineHeight), (RenderText::baselinePosition), (RenderText::position),
15694                 (RenderText::width), (RenderText::metrics), (RenderText::printTextOutline):
15695                 * src/kdelibs/khtml/rendering/render_text.h:
15696                 * src/kdelibs/khtml/xml/dom2_eventsimpl.cpp: (EventImpl::~EventImpl),
15697                 (EventImpl::setTarget), (EventImpl::initEvent), (EventImpl::idToType),
15698                 (UIEventImpl::UIEventImpl), (UIEventImpl::~UIEventImpl),
15699                 (KeyEventImpl::KeyEventImpl), (KeyEventImpl::~KeyEventImpl),
15700                 (KeyEventImpl::checkModifier), (KeyEventImpl::initKeyEvent),
15701                 (KeyEventImpl::initModifier), (KeyEventImpl::inputGenerated),
15702                 (KeyEventImpl::keyVal), (KeyEventImpl::numPad), (KeyEventImpl::outputString),
15703                 (KeyEventImpl::virtKeyVal), (RegisteredEventListener::operator==):
15704                 * src/kdelibs/khtml/xml/dom2_eventsimpl.h:
15705                 * src/kdelibs/khtml/xml/dom2_rangeimpl.cpp: (RangeImpl::~RangeImpl),
15706                 (RangeImpl::compareBoundaryPoints), (RangeImpl::processContents):
15707                 * src/kdelibs/khtml/xml/dom2_rangeimpl.h:
15708                 * src/kdelibs/khtml/xml/dom2_traversalimpl.cpp:
15709                 (NodeIteratorImpl::NodeIteratorImpl), (TreeWalkerImpl::TreeWalkerImpl),
15710                 (TreeWalkerImpl::operator = ), (TreeWalkerImpl::~TreeWalkerImpl),
15711                 (TreeWalkerImpl::getCurrentNode), (TreeWalkerImpl::setWhatToShow),
15712                 (TreeWalkerImpl::setFilter), (TreeWalkerImpl::setExpandEntityReferences),
15713                 (TreeWalkerImpl::setCurrentNode), (TreeWalkerImpl::parentNode),
15714                 (TreeWalkerImpl::firstChild), (TreeWalkerImpl::lastChild),
15715                 (TreeWalkerImpl::previousSibling), (TreeWalkerImpl::nextSibling),
15716                 (TreeWalkerImpl::previousNode), (TreeWalkerImpl::nextNode),
15717                 (TreeWalkerImpl::isAccepted), (TreeWalkerImpl::getParentNode),
15718                 (TreeWalkerImpl::getPreviousSibling), (TreeWalkerImpl::getNextSibling):
15719                 * src/kdelibs/khtml/xml/dom2_traversalimpl.h:
15720                 * src/kdelibs/khtml/xml/dom2_viewsimpl.cpp:
15721                 * src/kdelibs/khtml/xml/dom2_viewsimpl.h:
15722                 * src/kdelibs/khtml/xml/dom_docimpl.cpp: (DOMImplementationImpl::hasFeature),
15723                 (DOMImplementationImpl::createDocumentType),
15724                 (DOMImplementationImpl::getInterface), (DOMImplementationImpl::createDocument),
15725                 (DOMImplementationImpl::createCSSStyleSheet),
15726                 (DOMImplementationImpl::createHTMLDocument), (DOMImplementationImpl::instance),
15727                 (DocumentImpl::DocumentImpl), (DocumentImpl::~DocumentImpl),
15728                 (DocumentImpl::doctype), (DocumentImpl::implementation),
15729                 (DocumentImpl::createDocumentFragment), (DocumentImpl::createTextNode),
15730                 (DocumentImpl::createComment), (DocumentImpl::createCDATASection),
15731                 (DocumentImpl::createProcessingInstruction), (DocumentImpl::createAttribute),
15732                 (DocumentImpl::createEntityReference), (DocumentImpl::importNode),
15733                 (DocumentImpl::createElementNS), (DocumentImpl::getElementById),
15734                 (DocumentImpl::setTitle), (DocumentImpl::nodeName), (DocumentImpl::nodeType),
15735                 (DocumentImpl::createHTMLElement), (DocumentImpl::nextState),
15736                 (DocumentImpl::docState), (DocumentImpl::createNodeIterator),
15737                 (DocumentImpl::createTreeWalker), (DocumentImpl::setDocumentChanged),
15738                 (DocumentImpl::recalcStyle), (DocumentImpl::updateRendering),
15739                 (DocumentImpl::updateDocumentsRendering), (DocumentImpl::attach),
15740                 (DocumentImpl::detach), (DocumentImpl::setVisuallyOrdered), (DocumentImpl::open),
15741                 (DocumentImpl::close), (DocumentImpl::write), (DocumentImpl::setStyleSheet),
15742                 (DocumentImpl::setUserStyleSheet), (DocumentImpl::elementSheet),
15743                 (DocumentImpl::determineParseMode), (DocumentImpl::findElement),
15744                 (DocumentImpl::nextFocusNode), (DocumentImpl::previousFocusNode),
15745                 (DocumentImpl::nodeAbsIndex), (DocumentImpl::nodeWithAbsIndex),
15746                 (DocumentImpl::processHttpEquiv), (DocumentImpl::prepareMouseEvent),
15747                 (DocumentImpl::childAllowed), (DocumentImpl::cloneNode), (DocumentImpl::attrId),
15748                 (DocumentImpl::attrName), (DocumentImpl::tagId), (DocumentImpl::tagName),
15749                 (DocumentImpl::namespaceURI), (DocumentImpl::updateStyleSelector),
15750                 (DocumentImpl::recalcStyleSelector), (DocumentImpl::setFocusNode),
15751                 (DocumentImpl::notifyBeforeNodeRemoval), (DocumentImpl::defaultEventHandler),
15752                 (DocumentImpl::setWindowEventListener), (DocumentImpl::getWindowEventListener),
15753                 (DocumentImpl::removeWindowEventListener), (DocumentFragmentImpl::nodeName),
15754                 (DocumentFragmentImpl::cloneNode), (DocumentTypeImpl::DocumentTypeImpl),
15755                 (DocumentTypeImpl::~DocumentTypeImpl), (DocumentTypeImpl::copyFrom),
15756                 (DocumentTypeImpl::nodeName), (DocumentTypeImpl::cloneNode):
15757                 * src/kdelibs/khtml/xml/dom_docimpl.h:
15758                 * src/kdelibs/khtml/xml/dom_elementimpl.cpp: (AttributeImpl::allocateImpl),
15759                 (AttrImpl::AttrImpl), (AttrImpl::~AttrImpl), (AttrImpl::nodeName),
15760                 (AttrImpl::prefix), (AttrImpl::setPrefix), (AttrImpl::nodeValue),
15761                 (AttrImpl::setValue), (AttrImpl::setNodeValue), (AttrImpl::cloneNode),
15762                 (ElementImpl::ElementImpl), (ElementImpl::~ElementImpl),
15763                 (ElementImpl::removeAttribute), (ElementImpl::setAttribute),
15764                 (ElementImpl::nodeType), (ElementImpl::getAttribute),
15765                 (ElementImpl::setAttributeMap), (ElementImpl::cloneNode),
15766                 (ElementImpl::nodeName), (ElementImpl::tagName), (ElementImpl::setPrefix),
15767                 (ElementImpl::createAttributeMap), (ElementImpl::attach),
15768                 (ElementImpl::recalcStyle), (ElementImpl::childAllowed),
15769                 (ElementImpl::createDecl), (ElementImpl::dispatchAttrRemovalEvent),
15770                 (ElementImpl::dispatchAttrAdditionEvent), (ElementImpl::dump),
15771                 (XMLElementImpl::XMLElementImpl), (XMLElementImpl::~XMLElementImpl),
15772                 (XMLElementImpl::localName), (XMLElementImpl::cloneNode),
15773                 (NamedAttrMapImpl::NamedAttrMapImpl), (NamedAttrMapImpl::~NamedAttrMapImpl),
15774                 (NamedAttrMapImpl::getNamedItem), (NamedAttrMapImpl::setNamedItem),
15775                 (NamedAttrMapImpl::removeNamedItem), (NamedAttrMapImpl::item),
15776                 (NamedAttrMapImpl::length), (NamedAttrMapImpl::getAttributeItem),
15777                 (NamedAttrMapImpl::mapId), (NamedAttrMapImpl::clearAttributes),
15778                 (NamedAttrMapImpl::detachFromElement), (NamedAttrMapImpl::operator=),
15779                 (NamedAttrMapImpl::addAttribute), (NamedAttrMapImpl::removeAttribute):
15780                 * src/kdelibs/khtml/xml/dom_elementimpl.h:
15781                 * src/kdelibs/khtml/xml/dom_nodeimpl.cpp: (NodeImpl::NodeImpl),
15782                 (NodeImpl::~NodeImpl), (NodeImpl::setNodeValue), (NodeImpl::nodeName),
15783                 (NodeImpl::normalize), (NodeImpl::prefix), (NodeImpl::setPrefix),
15784                 (NodeImpl::localName), (escapeHTML), (NodeImpl::recursive_toHTML),
15785                 (NodeImpl::getRect), (NodeImpl::setChanged), (NodeImpl::isInline),
15786                 (NodeImpl::nodeIndex), (NodeImpl::addEventListener),
15787                 (NodeImpl::removeEventListener), (NodeImpl::removeHTMLEventListener),
15788                 (NodeImpl::setHTMLEventListener), (NodeImpl::getHTMLEventListener),
15789                 (NodeImpl::dispatchEvent), (NodeImpl::dispatchGenericEvent),
15790                 (NodeImpl::dispatchHTMLEvent), (NodeImpl::dispatchWindowEvent),
15791                 (NodeImpl::dispatchMouseEvent), (NodeImpl::dispatchUIEvent),
15792                 (NodeImpl::dispatchSubtreeModifiedEvent), (NodeImpl::dispatchKeyEvent),
15793                 (NodeImpl::handleLocalEvents), (NodeImpl::defaultEventHandler),
15794                 (NodeImpl::traverseNextNode), (NodeImpl::traversePreviousNode),
15795                 (NodeImpl::checkSetPrefix), (NodeImpl::checkAddChild), (NodeImpl::isAncestor),
15796                 (NodeImpl::childAllowed), (NodeImpl::diff), (NodeImpl::dump),
15797                 (NodeImpl::deleteMe), (NodeImpl::init), (NodeImpl::attach), (NodeImpl::detach),
15798                 (NodeImpl::maintainsState), (NodeImpl::state), (NodeImpl::restoreState),
15799                 (NodeImpl::insertedIntoDocument), (NodeImpl::removedFromDocument),
15800                 (NodeImpl::childrenChanged), (NodeImpl::isReadOnly), (NodeImpl::nextRenderer),
15801                 (NodeBaseImpl::NodeBaseImpl), (NodeBaseImpl::~NodeBaseImpl),
15802                 (NodeBaseImpl::insertBefore), (NodeBaseImpl::replaceChild),
15803                 (NodeBaseImpl::removeChild), (NodeBaseImpl::removeChildren),
15804                 (NodeBaseImpl::appendChild), (NodeBaseImpl::checkSameDocument),
15805                 (NodeBaseImpl::checkNoOwner), (NodeBaseImpl::addChild), (NodeBaseImpl::attach),
15806                 (NodeBaseImpl::detach), (NodeBaseImpl::cloneChildNodes),
15807                 (NodeBaseImpl::getElementsByTagNameNS), (NodeBaseImpl::getUpperLeftCorner),
15808                 (NodeBaseImpl::getLowerRightCorner), (NodeBaseImpl::getRect),
15809                 (NodeBaseImpl::setFocus), (NodeBaseImpl::setActive),
15810                 (NodeBaseImpl::dispatchChildInsertedEvents),
15811                 (NodeBaseImpl::dispatchChildRemovalEvents), (ChildNodeListImpl::nodeMatches),
15812                 (TagNodeListImpl::TagNodeListImpl), (TagNodeListImpl::nodeMatches),
15813                 (GenericRONamedNodeMapImpl::GenericRONamedNodeMapImpl),
15814                 (GenericRONamedNodeMapImpl::getNamedItem),
15815                 (GenericRONamedNodeMapImpl::setNamedItem),
15816                 (GenericRONamedNodeMapImpl::removeNamedItem), (GenericRONamedNodeMapImpl::item),
15817                 (GenericRONamedNodeMapImpl::length), (GenericRONamedNodeMapImpl::getNamedItemNS),
15818                 (GenericRONamedNodeMapImpl::setNamedItemNS),
15819                 (GenericRONamedNodeMapImpl::removeNamedItemNS),
15820                 (GenericRONamedNodeMapImpl::addNode):
15821                 * src/kdelibs/khtml/xml/dom_nodeimpl.h:
15822                 * src/kdelibs/khtml/xml/dom_stringimpl.cpp: (DOMStringImpl::toLengthArray),
15823                 (DOMStringImpl::lower), (DOMStringImpl::upper):
15824                 * src/kdelibs/khtml/xml/dom_stringimpl.h:
15825                 * src/kdelibs/khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::CharacterDataImpl),
15826                 (CharacterDataImpl::setData), (CharacterDataImpl::substringData),
15827                 (CharacterDataImpl::appendData), (CharacterDataImpl::insertData),
15828                 (CharacterDataImpl::deleteData), (CharacterDataImpl::replaceData),
15829                 (CharacterDataImpl::nodeValue), (CharacterDataImpl::setNodeValue),
15830                 (CharacterDataImpl::dispatchModifiedEvent),
15831                 (CharacterDataImpl::checkCharDataOperation), (CharacterDataImpl::dump),
15832                 (CommentImpl::nodeName), (CommentImpl::cloneNode), (CommentImpl::id),
15833                 (TextImpl::splitText), (TextImpl::nodeName), (TextImpl::cloneNode),
15834                 (TextImpl::attach), (TextImpl::id), (TextImpl::recalcStyle),
15835                 (CDATASectionImpl::nodeName), (CDATASectionImpl::cloneNode):
15836                 * src/kdelibs/khtml/xml/dom_textimpl.h:
15837                 * src/kdelibs/khtml/xml/dom_xmlimpl.cpp: (EntityImpl::nodeName),
15838                 (EntityImpl::nodeType), (EntityImpl::cloneNode), (EntityReferenceImpl::nodeName),
15839                 (EntityReferenceImpl::cloneNode), (NotationImpl::publicId),
15840                 (NotationImpl::systemId), (NotationImpl::nodeName), (NotationImpl::nodeType),
15841                 (NotationImpl::cloneNode), (NotationImpl::childTypeAllowed),
15842                 (ProcessingInstructionImpl::ProcessingInstructionImpl),
15843                 (ProcessingInstructionImpl::target), (ProcessingInstructionImpl::data),
15844                 (ProcessingInstructionImpl::setData), (ProcessingInstructionImpl::nodeName),
15845                 (ProcessingInstructionImpl::setNodeValue),
15846                 (ProcessingInstructionImpl::cloneNode), (ProcessingInstructionImpl::localHref),
15847                 (ProcessingInstructionImpl::checkStyleSheet),
15848                 (ProcessingInstructionImpl::setStyleSheet):
15849                 * src/kdelibs/khtml/xml/dom_xmlimpl.h:
15850                 * src/kdelibs/khtml/xml/xml_tokenizer.cpp: (XMLHandler::startDocument),
15851                 (XMLHandler::startElement), (XMLHandler::endElement), (XMLHandler::startCDATA),
15852                 (XMLHandler::characters), (XMLHandler::errorString), (XMLHandler::fatalError),
15853                 (XMLHandler::enterText), (XMLHandler::exitText),
15854                 (XMLHandler::internalEntityDecl), (XMLHandler::notationDecl),
15855                 (XMLTokenizer::finish), (XMLTokenizer::addScripts),
15856                 (XMLTokenizer::executeScripts), (XMLTokenizer::notifyFinished):
15857                 * src/kdelibs/khtml/xml/xml_tokenizer.h:
15858                 * src/kdelibs/kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp),
15859                 (ArrayInstanceImp::put), (ArrayInstanceImp::putDirect),
15860                 (ArrayPrototypeImp::ArrayPrototypeImp), (ArrayPrototypeImp::get),
15861                 (ArrayProtoFuncImp::ArrayProtoFuncImp), (ArrayProtoFuncImp::implementsCall),
15862                 (ArrayProtoFuncImp::call), (ArrayObjectImp::ArrayObjectImp),
15863                 (ArrayObjectImp::implementsConstruct), (ArrayObjectImp::construct),
15864                 (ArrayObjectImp::implementsCall), (ArrayObjectImp::call):
15865                 * src/kdelibs/kjs/array_object.h:
15866                 * src/kdelibs/kjs/bool_object.cpp: (BooleanInstanceImp::BooleanInstanceImp),
15867                 (BooleanPrototypeImp::BooleanPrototypeImp),
15868                 (BooleanProtoFuncImp::BooleanProtoFuncImp),
15869                 (BooleanProtoFuncImp::implementsCall), (BooleanProtoFuncImp::call),
15870                 (BooleanObjectImp::BooleanObjectImp), (BooleanObjectImp::implementsConstruct),
15871                 (BooleanObjectImp::construct), (BooleanObjectImp::implementsCall),
15872                 (BooleanObjectImp::call):
15873                 * src/kdelibs/kjs/bool_object.h:
15874                 * src/kdelibs/kjs/collector.cpp: (Collector::allocate), (Collector::collect),
15875                 (Collector::finalCheck):
15876                 * src/kdelibs/kjs/collector.h:
15877                 * src/kdelibs/kjs/date_object.cpp: (DateInstanceImp::DateInstanceImp),
15878                 (DatePrototypeImp::DatePrototypeImp), (DatePrototypeImp::get),
15879                 (DateProtoFuncImp::DateProtoFuncImp), (DateProtoFuncImp::implementsCall),
15880                 (DateProtoFuncImp::call), (DateObjectImp::DateObjectImp),
15881                 (DateObjectImp::implementsConstruct), (DateObjectImp::construct),
15882                 (DateObjectImp::implementsCall), (DateObjectImp::call),
15883                 (DateObjectFuncImp::DateObjectFuncImp), (DateObjectFuncImp::implementsCall),
15884                 (DateObjectFuncImp::call), (KJS::parseDate), (ymdhms_to_seconds),
15885                 (KJS::KRFCDate_parseDate), (KJS::timeClip):
15886                 * src/kdelibs/kjs/date_object.h:
15887                 * src/kdelibs/kjs/debugger.cpp: (Debugger::Debugger), (Debugger::~Debugger),
15888                 (Debugger::attach), (Debugger::detach), (Debugger::sourceParsed),
15889                 (Debugger::sourceUnused), (Debugger::exception), (Debugger::atStatement),
15890                 (Debugger::callEvent), (Debugger::returnEvent):
15891                 * src/kdelibs/kjs/debugger.h:
15892                 * src/kdelibs/kjs/error_object.cpp: (ErrorPrototypeImp::ErrorPrototypeImp),
15893                 (ErrorProtoFuncImp::ErrorProtoFuncImp), (ErrorProtoFuncImp::implementsCall),
15894                 (ErrorProtoFuncImp::call), (ErrorObjectImp::ErrorObjectImp),
15895                 (ErrorObjectImp::implementsConstruct), (ErrorObjectImp::construct),
15896                 (ErrorObjectImp::implementsCall), (ErrorObjectImp::call),
15897                 (NativeErrorPrototypeImp::NativeErrorPrototypeImp),
15898                 (NativeErrorImp::NativeErrorImp), (NativeErrorImp::implementsConstruct),
15899                 (NativeErrorImp::construct), (NativeErrorImp::implementsCall),
15900                 (NativeErrorImp::call), (NativeErrorImp::mark):
15901                 * src/kdelibs/kjs/error_object.h:
15902                 * src/kdelibs/kjs/function.cpp: (FunctionImp::FunctionImp),
15903                 (FunctionImp::~FunctionImp), (FunctionImp::mark), (FunctionImp::implementsCall),
15904                 (FunctionImp::call), (FunctionImp::processParameters),
15905                 (FunctionImp::processVarDecls), (FunctionImp::pushArgs), (FunctionImp::popArgs),
15906                 (DeclaredFunctionImp::DeclaredFunctionImp),
15907                 (DeclaredFunctionImp::~DeclaredFunctionImp),
15908                 (DeclaredFunctionImp::implementsConstruct), (DeclaredFunctionImp::construct),
15909                 (DeclaredFunctionImp::execute), (DeclaredFunctionImp::processVarDecls),
15910                 (ArgumentsImp::ArgumentsImp), (ActivationImp::ActivationImp),
15911                 (ActivationImp::~ActivationImp), (GlobalFuncImp::GlobalFuncImp),
15912                 (GlobalFuncImp::codeType), (GlobalFuncImp::implementsCall),
15913                 (GlobalFuncImp::call):
15914                 * src/kdelibs/kjs/function.h:
15915                 * src/kdelibs/kjs/function_object.cpp:
15916                 (FunctionPrototypeImp::FunctionPrototypeImp),
15917                 (FunctionPrototypeImp::~FunctionPrototypeImp),
15918                 (FunctionPrototypeImp::implementsCall), (FunctionPrototypeImp::call),
15919                 (FunctionProtoFuncImp::FunctionProtoFuncImp),
15920                 (FunctionProtoFuncImp::implementsCall), (FunctionProtoFuncImp::call),
15921                 (FunctionObjectImp::FunctionObjectImp), (FunctionObjectImp::~FunctionObjectImp),
15922                 (FunctionObjectImp::implementsConstruct), (FunctionObjectImp::construct),
15923                 (FunctionObjectImp::implementsCall), (FunctionObjectImp::call):
15924                 * src/kdelibs/kjs/function_object.h:
15925                 * src/kdelibs/kjs/grammar.y:
15926                 * src/kdelibs/kjs/internal.cpp: (UndefinedImp::toPrimitive),
15927                 (UndefinedImp::toBoolean), (UndefinedImp::toNumber), (UndefinedImp::toString),
15928                 (UndefinedImp::toObject), (NullImp::toPrimitive), (NullImp::toBoolean),
15929                 (NullImp::toNumber), (NullImp::toString), (NullImp::toObject),
15930                 (BooleanImp::toPrimitive), (BooleanImp::toBoolean), (BooleanImp::toNumber),
15931                 (BooleanImp::toString), (BooleanImp::toObject), (StringImp::StringImp),
15932                 (StringImp::toPrimitive), (StringImp::toBoolean), (StringImp::toNumber),
15933                 (StringImp::toString), (StringImp::toObject), (NumberImp::NumberImp),
15934                 (NumberImp::toPrimitive), (NumberImp::toBoolean), (NumberImp::toNumber),
15935                 (NumberImp::toString), (NumberImp::toObject), (ReferenceImp::ReferenceImp),
15936                 (ReferenceImp::mark), (ReferenceImp::toPrimitive), (ReferenceImp::toBoolean),
15937                 (ReferenceImp::toNumber), (ReferenceImp::toString), (ReferenceImp::toObject),
15938                 (LabelStack::LabelStack), (LabelStack::operator=), (LabelStack::push),
15939                 (LabelStack::contains), (LabelStack::pop), (LabelStack::~LabelStack),
15940                 (LabelStack::clear), (CompletionImp::CompletionImp),
15941                 (CompletionImp::~CompletionImp), (CompletionImp::mark),
15942                 (CompletionImp::toPrimitive), (CompletionImp::toBoolean),
15943                 (CompletionImp::toNumber), (CompletionImp::toString), (CompletionImp::toObject),
15944                 (ListImp::toPrimitive), (ListImp::toBoolean), (ListImp::toNumber),
15945                 (ListImp::toString), (ListImp::toObject), (ListImp::ListImp),
15946                 (ListImp::~ListImp), (ListImp::mark), (ListImp::append), (ListImp::prepend),
15947                 (ListImp::appendList), (ListImp::prependList), (ListImp::removeFirst),
15948                 (ListImp::removeLast), (ListImp::remove), (ListImp::clear), (ListImp::copy),
15949                 (ListImp::erase), (ListImp::isEmpty), (ListImp::size), (ListImp::at),
15950                 (ListImp::empty), (ContextImp::ContextImp), (ContextImp::~ContextImp),
15951                 (ContextImp::pushScope), (ContextImp::popScope), (Parser::parse),
15952                 (InterpreterImp::globalInit), (InterpreterImp::globalClear),
15953                 (InterpreterImp::InterpreterImp), (InterpreterImp::~InterpreterImp),
15954                 (InterpreterImp::clear), (InterpreterImp::mark), (InterpreterImp::checkSyntax),
15955                 (InterpreterImp::evaluate), (InterpreterImp::setDebugger),
15956                 (InternalFunctionImp::InternalFunctionImp),
15957                 (InternalFunctionImp::implementsHasInstance), (InternalFunctionImp::hasInstance),
15958                 (KJS::roundValue), (KJS::printInfo):
15959                 * src/kdelibs/kjs/internal.h:
15960                 * src/kdelibs/kjs/lexer.cpp: (Lexer::Lexer), (Lexer::curr), (Lexer::setCode),
15961                 (Lexer::lex), (Lexer::isLineTerminator), (Lexer::matchPunctuator),
15962                 (Lexer::scanRegExp):
15963                 * src/kdelibs/kjs/lexer.h:
15964                 * src/kdelibs/kjs/lexer.lut.h:
15965                 * src/kdelibs/kjs/lookup.cpp: (Lookup::findEntry), (Lookup::find):
15966                 * src/kdelibs/kjs/lookup.h:
15967                 * src/kdelibs/kjs/math_object.cpp: (MathObjectImp::MathObjectImp),
15968                 (MathObjectImp::get), (MathObjectImp::getValueProperty),
15969                 (MathFuncImp::MathFuncImp), (MathFuncImp::implementsCall), (MathFuncImp::call):
15970                 * src/kdelibs/kjs/math_object.h:
15971                 * src/kdelibs/kjs/math_object.lut.h:
15972                 * src/kdelibs/kjs/nodes.cpp: (Node::Node), (Node::~Node), (Node::finalCheck),
15973                 (Node::throwError), (StatementNode::StatementNode),
15974                 (StatementNode::~StatementNode), (StatementNode::setLoc),
15975                 (StatementNode::hitStatement), (StatementNode::abortStatement),
15976                 (NullNode::evaluate), (BooleanNode::evaluate), (NumberNode::evaluate),
15977                 (StringNode::evaluate), (RegExpNode::evaluate), (ThisNode::evaluate),
15978                 (ResolveNode::evaluate), (GroupNode::~GroupNode), (GroupNode::ref),
15979                 (GroupNode::deref), (GroupNode::evaluate), (ElisionNode::~ElisionNode),
15980                 (ElisionNode::ref), (ElisionNode::deref), (ElisionNode::evaluate),
15981                 (ElementNode::~ElementNode), (ElementNode::ref), (ElementNode::deref),
15982                 (ElementNode::evaluate), (ArrayNode::~ArrayNode), (ArrayNode::ref),
15983                 (ArrayNode::deref), (ArrayNode::evaluate),
15984                 (ObjectLiteralNode::~ObjectLiteralNode), (ObjectLiteralNode::ref),
15985                 (ObjectLiteralNode::deref), (ObjectLiteralNode::evaluate),
15986                 (PropertyValueNode::~PropertyValueNode), (PropertyValueNode::ref),
15987                 (PropertyValueNode::deref), (PropertyValueNode::evaluate),
15988                 (PropertyNode::evaluate), (AccessorNode1::~AccessorNode1), (AccessorNode1::ref),
15989                 (AccessorNode1::deref), (AccessorNode1::evaluate),
15990                 (AccessorNode2::~AccessorNode2), (AccessorNode2::ref), (AccessorNode2::deref),
15991                 (AccessorNode2::evaluate), (ArgumentListNode::ArgumentListNode),
15992                 (ArgumentListNode::~ArgumentListNode), (ArgumentListNode::ref),
15993                 (ArgumentListNode::deref), (ArgumentListNode::evaluate),
15994                 (ArgumentListNode::evaluateList), (ArgumentsNode::ArgumentsNode),
15995                 (ArgumentsNode::~ArgumentsNode), (ArgumentsNode::ref), (ArgumentsNode::deref),
15996                 (ArgumentsNode::evaluate), (ArgumentsNode::evaluateList),
15997                 (NewExprNode::~NewExprNode), (NewExprNode::ref), (NewExprNode::deref),
15998                 (NewExprNode::evaluate), (FunctionCallNode::~FunctionCallNode),
15999                 (FunctionCallNode::ref), (FunctionCallNode::deref), (FunctionCallNode::evaluate),
16000                 (PostfixNode::~PostfixNode), (PostfixNode::ref), (PostfixNode::deref),
16001                 (PostfixNode::evaluate), (DeleteNode::~DeleteNode), (DeleteNode::ref),
16002                 (DeleteNode::deref), (DeleteNode::evaluate), (VoidNode::~VoidNode),
16003                 (VoidNode::ref), (VoidNode::deref), (VoidNode::evaluate),
16004                 (TypeOfNode::~TypeOfNode), (TypeOfNode::ref), (TypeOfNode::deref),
16005                 (TypeOfNode::evaluate), (PrefixNode::~PrefixNode), (PrefixNode::ref),
16006                 (PrefixNode::deref), (PrefixNode::evaluate), (UnaryPlusNode::~UnaryPlusNode),
16007                 (UnaryPlusNode::ref), (UnaryPlusNode::deref), (UnaryPlusNode::evaluate),
16008                 (NegateNode::~NegateNode), (NegateNode::ref), (NegateNode::deref),
16009                 (NegateNode::evaluate), (BitwiseNotNode::~BitwiseNotNode), (BitwiseNotNode::ref),
16010                 (BitwiseNotNode::deref), (BitwiseNotNode::evaluate),
16011                 (LogicalNotNode::~LogicalNotNode), (LogicalNotNode::ref),
16012                 (LogicalNotNode::deref), (LogicalNotNode::evaluate), (MultNode::~MultNode),
16013                 (MultNode::ref), (MultNode::deref), (MultNode::evaluate), (AddNode::~AddNode),
16014                 (AddNode::ref), (AddNode::deref), (AddNode::evaluate), (ShiftNode::~ShiftNode),
16015                 (ShiftNode::ref), (ShiftNode::deref), (ShiftNode::evaluate),
16016                 (RelationalNode::~RelationalNode), (RelationalNode::ref),
16017                 (RelationalNode::deref), (RelationalNode::evaluate), (EqualNode::~EqualNode),
16018                 (EqualNode::ref), (EqualNode::deref), (EqualNode::evaluate),
16019                 (BitOperNode::~BitOperNode), (BitOperNode::ref), (BitOperNode::deref),
16020                 (BitOperNode::evaluate), (BinaryLogicalNode::~BinaryLogicalNode),
16021                 (BinaryLogicalNode::ref), (BinaryLogicalNode::deref),
16022                 (BinaryLogicalNode::evaluate), (ConditionalNode::~ConditionalNode),
16023                 (ConditionalNode::ref), (ConditionalNode::deref), (ConditionalNode::evaluate),
16024                 (AssignNode::~AssignNode), (AssignNode::ref), (AssignNode::deref),
16025                 (AssignNode::evaluate), (CommaNode::~CommaNode), (CommaNode::ref),
16026                 (CommaNode::deref), (CommaNode::evaluate), (StatListNode::~StatListNode),
16027                 (StatListNode::ref), (StatListNode::deref), (StatListNode::execute),
16028                 (StatListNode::processVarDecls), (AssignExprNode::~AssignExprNode),
16029                 (AssignExprNode::ref), (AssignExprNode::deref), (AssignExprNode::evaluate),
16030                 (VarDeclNode::VarDeclNode), (VarDeclNode::~VarDeclNode), (VarDeclNode::ref),
16031                 (VarDeclNode::deref), (VarDeclNode::evaluate), (VarDeclNode::processVarDecls),
16032                 (VarDeclListNode::~VarDeclListNode), (VarDeclListNode::ref),
16033                 (VarDeclListNode::deref), (VarDeclListNode::evaluate),
16034                 (VarDeclListNode::processVarDecls), (VarStatementNode::~VarStatementNode),
16035                 (VarStatementNode::ref), (VarStatementNode::deref), (VarStatementNode::execute),
16036                 (VarStatementNode::processVarDecls), (BlockNode::~BlockNode), (BlockNode::ref),
16037                 (BlockNode::deref), (BlockNode::execute), (BlockNode::processVarDecls),
16038                 (EmptyStatementNode::execute), (ExprStatementNode::~ExprStatementNode),
16039                 (ExprStatementNode::ref), (ExprStatementNode::deref),
16040                 (ExprStatementNode::execute), (IfNode::~IfNode), (IfNode::ref), (IfNode::deref),
16041                 (IfNode::execute), (IfNode::processVarDecls), (DoWhileNode::~DoWhileNode),
16042                 (DoWhileNode::ref), (DoWhileNode::deref), (DoWhileNode::execute),
16043                 (DoWhileNode::processVarDecls), (WhileNode::~WhileNode), (WhileNode::ref),
16044                 (WhileNode::deref), (WhileNode::execute), (WhileNode::processVarDecls),
16045                 (ForNode::~ForNode), (ForNode::ref), (ForNode::deref), (ForNode::execute),
16046                 (ForNode::processVarDecls), (ForInNode::ForInNode), (ForInNode::~ForInNode),
16047                 (ForInNode::ref), (ForInNode::deref), (ForInNode::execute),
16048                 (ForInNode::processVarDecls), (ContinueNode::execute), (BreakNode::execute),
16049                 (ReturnNode::~ReturnNode), (ReturnNode::ref), (ReturnNode::deref),
16050                 (ReturnNode::execute), (WithNode::~WithNode), (WithNode::ref), (WithNode::deref),
16051                 (WithNode::execute), (WithNode::processVarDecls),
16052                 (CaseClauseNode::~CaseClauseNode), (CaseClauseNode::ref),
16053                 (CaseClauseNode::deref), (CaseClauseNode::evaluate),
16054                 (CaseClauseNode::evalStatements), (CaseClauseNode::processVarDecls),
16055                 (ClauseListNode::~ClauseListNode), (ClauseListNode::ref),
16056                 (ClauseListNode::deref), (ClauseListNode::evaluate),
16057                 (ClauseListNode::processVarDecls), (CaseBlockNode::~CaseBlockNode),
16058                 (CaseBlockNode::ref), (CaseBlockNode::deref), (CaseBlockNode::evaluate),
16059                 (CaseBlockNode::evalBlock), (CaseBlockNode::processVarDecls),
16060                 (SwitchNode::~SwitchNode), (SwitchNode::ref), (SwitchNode::deref),
16061                 (SwitchNode::execute), (SwitchNode::processVarDecls), (LabelNode::~LabelNode),
16062                 (LabelNode::ref), (LabelNode::deref), (LabelNode::execute),
16063                 (LabelNode::processVarDecls), (ThrowNode::~ThrowNode), (ThrowNode::ref),
16064                 (ThrowNode::deref), (ThrowNode::execute), (CatchNode::~CatchNode),
16065                 (CatchNode::ref), (CatchNode::deref), (CatchNode::execute),
16066                 (CatchNode::processVarDecls), (FinallyNode::~FinallyNode), (FinallyNode::ref),
16067                 (FinallyNode::deref), (FinallyNode::execute), (FinallyNode::processVarDecls),
16068                 (TryNode::~TryNode), (TryNode::ref), (TryNode::deref), (TryNode::execute),
16069                 (TryNode::processVarDecls), (ParameterNode::~ParameterNode),
16070                 (ParameterNode::ref), (ParameterNode::deref), (ParameterNode::append),
16071                 (ParameterNode::evaluate), (FunctionBodyNode::FunctionBodyNode),
16072                 (FunctionBodyNode::~FunctionBodyNode), (FunctionBodyNode::ref),
16073                 (FunctionBodyNode::deref), (FunctionBodyNode::execute),
16074                 (FunctionBodyNode::processFuncDecl), (FunctionBodyNode::processVarDecls),
16075                 (FuncDeclNode::~FuncDeclNode), (FuncDeclNode::ref), (FuncDeclNode::deref),
16076                 (FuncDeclNode::processFuncDecl), (FuncExprNode::~FuncExprNode),
16077                 (FuncExprNode::ref), (FuncExprNode::deref), (FuncExprNode::evaluate),
16078                 (SourceElementNode::~SourceElementNode), (SourceElementNode::ref),
16079                 (SourceElementNode::deref), (SourceElementNode::execute),
16080                 (SourceElementNode::processFuncDecl), (SourceElementNode::processVarDecls),
16081                 (SourceElementsNode::~SourceElementsNode), (SourceElementsNode::ref),
16082                 (SourceElementsNode::deref), (SourceElementsNode::execute),
16083                 (SourceElementsNode::processFuncDecl), (SourceElementsNode::processVarDecls),
16084                 (ProgramNode::ProgramNode), (ProgramNode::~ProgramNode):
16085                 * src/kdelibs/kjs/nodes.h:
16086                 * src/kdelibs/kjs/number_object.cpp: (NumberInstanceImp::NumberInstanceImp),
16087                 (NumberPrototypeImp::NumberPrototypeImp),
16088                 (NumberProtoFuncImp::NumberProtoFuncImp), (NumberProtoFuncImp::implementsCall),
16089                 (NumberProtoFuncImp::call), (NumberObjectImp::NumberObjectImp),
16090                 (NumberObjectImp::get), (NumberObjectImp::getValueProperty),
16091                 (NumberObjectImp::implementsConstruct), (NumberObjectImp::construct),
16092                 (NumberObjectImp::implementsCall), (NumberObjectImp::call):
16093                 * src/kdelibs/kjs/number_object.h:
16094                 * src/kdelibs/kjs/object.cpp: (Object::Object), (Object::~Object),
16095                 (Object::operator=), (Object::classInfo), (Object::inherits),
16096                 (Object::dynamicCast), (Object::prototype), (Object::className), (Object::get),
16097                 (Object::put), (Object::canPut), (Object::hasProperty), (Object::deleteProperty),
16098                 (Object::defaultValue), (Object::implementsConstruct), (Object::construct),
16099                 (Object::implementsCall), (Object::call), (Object::implementsHasInstance),
16100                 (Object::hasInstance), (Object::scope), (Object::setScope), (Object::propList),
16101                 (Object::internalValue), (Object::setInternalValue), (ObjectImp::ObjectImp),
16102                 (ObjectImp::~ObjectImp), (ObjectImp::mark), (ObjectImp::classInfo),
16103                 (ObjectImp::inherits), (ObjectImp::type), (ObjectImp::prototype),
16104                 (ObjectImp::setPrototype), (ObjectImp::className), (ObjectImp::get),
16105                 (ObjectImp::getDirect), (ObjectImp::put), (ObjectImp::canPut),
16106                 (ObjectImp::hasProperty), (ObjectImp::deleteProperty),
16107                 (ObjectImp::deleteAllProperties), (ObjectImp::defaultValue),
16108                 (ObjectImp::findPropertyHashEntry), (ObjectImp::implementsConstruct),
16109                 (ObjectImp::construct), (ObjectImp::implementsCall), (ObjectImp::call),
16110                 (ObjectImp::implementsHasInstance), (ObjectImp::hasInstance), (ObjectImp::scope),
16111                 (ObjectImp::setScope), (ObjectImp::propList), (ObjectImp::internalValue),
16112                 (ObjectImp::setInternalValue), (ObjectImp::toPrimitive), (ObjectImp::toBoolean),
16113                 (ObjectImp::toNumber), (ObjectImp::toInteger), (ObjectImp::toInt32),
16114                 (ObjectImp::toUInt32), (ObjectImp::toUInt16), (ObjectImp::toString),
16115                 (ObjectImp::toObject), (Error::create):
16116                 * src/kdelibs/kjs/object.h:
16117                 * src/kdelibs/kjs/object_object.cpp: (ObjectPrototypeImp::ObjectPrototypeImp),
16118                 (ObjectProtoFuncImp::ObjectProtoFuncImp), (ObjectProtoFuncImp::implementsCall),
16119                 (ObjectProtoFuncImp::call), (ObjectObjectImp::ObjectObjectImp),
16120                 (ObjectObjectImp::implementsConstruct), (ObjectObjectImp::construct),
16121                 (ObjectObjectImp::implementsCall), (ObjectObjectImp::call):
16122                 * src/kdelibs/kjs/object_object.h:
16123                 * src/kdelibs/kjs/operations.cpp: (KJS::isPosInf), (KJS::isNegInf), (KJS::equal),
16124                 (KJS::strictEqual), (KJS::relation), (KJS::maxInt), (KJS::minInt), (KJS::add),
16125                 (KJS::mult):
16126                 * src/kdelibs/kjs/operations.h:
16127                 * src/kdelibs/kjs/regexp.cpp: (RegExp::RegExp), (RegExp::~RegExp),
16128                 (RegExp::match), (RegExp::test):
16129                 * src/kdelibs/kjs/regexp.h:
16130                 * src/kdelibs/kjs/regexp_object.cpp: (RegExpPrototypeImp::RegExpPrototypeImp),
16131                 (RegExpProtoFuncImp::RegExpProtoFuncImp), (RegExpProtoFuncImp::implementsCall),
16132                 (RegExpProtoFuncImp::call), (RegExpImp::RegExpImp), (RegExpImp::~RegExpImp),
16133                 (RegExpObjectImp::RegExpObjectImp), (RegExpObjectImp::~RegExpObjectImp),
16134                 (RegExpObjectImp::registerRegexp), (RegExpObjectImp::arrayOfMatches),
16135                 (RegExpObjectImp::get), (RegExpObjectImp::implementsConstruct),
16136                 (RegExpObjectImp::construct), (RegExpObjectImp::implementsCall),
16137                 (RegExpObjectImp::call):
16138                 * src/kdelibs/kjs/regexp_object.h:
16139                 * src/kdelibs/kjs/string_object.cpp: (StringInstanceImp::StringInstanceImp),
16140                 (StringPrototypeImp::StringPrototypeImp), (StringPrototypeImp::get),
16141                 (StringProtoFuncImp::StringProtoFuncImp), (StringProtoFuncImp::implementsCall),
16142                 (StringProtoFuncImp::call), (StringObjectImp::StringObjectImp),
16143                 (StringObjectImp::implementsConstruct), (StringObjectImp::construct),
16144                 (StringObjectImp::implementsCall), (StringObjectImp::call),
16145                 (StringObjectFuncImp::StringObjectFuncImp),
16146                 (StringObjectFuncImp::implementsCall), (StringObjectFuncImp::call):
16147                 * src/kdelibs/kjs/string_object.h:
16148                 * src/kdelibs/kjs/testkjs.cpp: (TestFunctionImp::call), (main):
16149                 * src/kdelibs/kjs/types.cpp: (Reference::Reference), (Reference::~Reference),
16150                 (Reference::operator=), (Reference::dynamicCast), (ListIterator::ListIterator),
16151                 (ListIterator::operator=), (ListIterator::~ListIterator),
16152                 (ListIterator::operator->), (ListIterator::operator*),
16153                 (ListIterator::operator++), (ListIterator::operator--),
16154                 (ListIterator::operator==), (ListIterator::operator!=), (List::List),
16155                 (List::~List), (List::operator=), (List::dynamicCast), (List::append),
16156                 (List::prepend), (List::appendList), (List::prependList), (List::removeFirst),
16157                 (List::removeLast), (List::remove), (List::clear), (List::copy), (List::begin),
16158                 (List::end), (List::isEmpty), (List::size), (List::at), (List::operator[]),
16159                 (List::empty), (Completion::Completion), (Completion::~Completion),
16160                 (Completion::operator=), (Completion::dynamicCast), (Completion::complType),
16161                 (Completion::value), (Completion::target), (Completion::isValueCompletion):
16162                 * src/kdelibs/kjs/types.h:
16163                 * src/kdelibs/kjs/ustring.cpp: (UChar::UChar), (UChar::toLower),
16164                 (UChar::toUpper), (UString::from), (UString::ascii), (UString::operator=),
16165                 (UString::is8Bit), (UString::toDouble), (KJS::operator==):
16166                 * src/kdelibs/kjs/ustring.h:
16167
16168 2002-03-19  Richard Williamson  <rjw@apple.com>
16169
16170         Fixed NSPopupButton performance bottleneck.
16171         
16172         * src/kdelibs/khtml/rendering/render_form.cpp: (RenderSelect::layout):
16173         * src/kwq/KWQComboBox.mm: (QComboBox::insertItem):
16174         * src/kwq/KWQKComboBox.mm: (KComboBox::~KComboBox), (KComboBox::doneLoading),
16175         (KComboBox::setSize):
16176         * src/kwq/kdeui/kcombobox.h:
16177         * src/kwq/qt/qcombobox.h:
16178
16179 2002-03-19  Richard Williamson  <rjw@apple.com>
16180     
16181         Changed float width cache to use shorts.
16182
16183         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo _initializeCaches]),
16184         (_rectForString):
16185         * src/kwq/KWQMetrics.h:
16186
16187 2002-03-19  Richard Williamson  <rjw@apple.com>
16188
16189         Improved cache-miss case for non-latin1 characters.
16190         
16191         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo initWithFont:]), (-[KWQLayoutInfo
16192         layoutManager]), (-[KWQLayoutInfo textStorage]), (-[KWQLayoutInfo
16193         _initializeCaches]), (_rectForString), (-[KWQLayoutInfo setColor:]),
16194         (-[KWQLayoutInfo attributes]), (-[KWQLayoutInfo dealloc]):
16195         * src/kwq/KWQMetrics.h:
16196         * src/kwq/kwqdebug.h:
16197
16198 2002-03-18  Darin Adler  <darin@apple.com>
16199
16200         * src/kwq/KWQListImpl.mm: (KWQListImpl::sort): Use insertion sort for
16201         small lists. Also special case for lists of size 2 and under.
16202
16203 2002-03-18  Richard Williamson  <rjw@apple.com>
16204
16205         Added comments about new layout scheme.  Cleaned up code.
16206         Improved core measurement routine.
16207
16208         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::boundingRect):
16209         * src/kwq/kwqdebug.h:
16210
16211 2002-03-18  Darin Adler  <darin@apple.com>
16212
16213         * src/kwq/KWQString.mm: (QString::latin1): Handle null case properly.
16214         We must return "", not 0.
16215
16216 2002-03-18  Darin Adler  <darin@apple.com>
16217
16218         Redo inlining of QChar and QString and some other small speed improvements.
16219         Sadly, this doesn't seem to make things measurably faster, but I decided to
16220         commit my work rather than discarding it; it doesn't make things slower.
16221
16222         * src/kwq/qt/qstring.h:
16223         * src/kwq/KWQChar.mm:
16224         * src/kwq/KWQString.mm:
16225         Do a lot more inlining. Also, the CFStringRef inside a QString is now never
16226         nil, so we can get rid of many checks for nil.
16227
16228         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::width): Use _rectForString() a
16229         couple more places.
16230
16231 2002-03-18  Richard Williamson  <rjw@apple.com>
16232
16233         Changed to use non direct _rectForString() function.   Avoids
16234         unnecessary NSString allocation.
16235         
16236         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::boundingRect):
16237
16238 2002-03-18  Darin Adler  <darin@apple.com>
16239
16240         * src/kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getInfo),
16241         (QFontMetrics::width), (QFontMetrics::_width), (QFontMetrics::boundingRect),
16242         (QFontMetrics::size): Don't make the info object right away, in case the
16243         metrics object is only used to compute ascent and descent.
16244
16245 2002-03-17  Richard Williamson  <rjw@apple.com>
16246
16247         Implementation of replacement code for NSLayoutManager.  Huge
16248         performance gains.
16249         
16250         * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth),
16251         (RenderText::width):
16252         * src/kwq/KWQFontMetrics.mm: (ROUND_TO_INT), (__IFInitATSGlyphVector),
16253         (__IFResetATSGlyphVector), (__IFFillStyleWithAttributes), (-[KWQLayoutInfo
16254         drawString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16255         drawString:atPoint:withFont:color:]), (-[KWQLayoutInfo
16256         drawUnderlineForString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16257         drawUnderlineForString:atPoint:withFont:color:]), (-[KWQLayoutInfo
16258         initWithFont:]), (-[KWQLayoutInfo _initializeCaches]), (_rectForString),
16259         (-[KWQLayoutInfo rectForString:]), (-[KWQLayoutInfo attributes]),
16260         (-[KWQLayoutInfo lineHeight]), (-[KWQLayoutInfo font]), (-[KWQLayoutInfo
16261         dealloc]), (QFontMetrics::_width):
16262         * src/kwq/KWQMetrics.h:
16263         * src/kwq/Makefile.am:
16264         * src/kwq/qt/qfontmetrics.h:
16265
16266 2002-03-16  Richard Williamson  <rjw@apple.com>
16267
16268         Fixed error handling.  Removed ObjC code for url handle client from KHTMLPart.
16269         Need to sanitize KHTMLPart further.
16270         
16271         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::closeURL),
16272         (KHTMLPart::requestFrameName), (KHTMLPart::requestFrame), (KHTMLPart::overURL):
16273         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]),
16274         (-[URLLoadClient IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
16275         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
16276         IFURLHandle:resourceDidFailLoadingWithResult:]):
16277         * src/kwq/external.h:
16278
16279 2002-03-15  Richard Williamson  <rjw@apple.com>
16280
16281         Fixed crasher initializing items in popup button.
16282         Increased fragment cache initial size.
16283         
16284         * src/kwq/KWQComboBox.mm: (QComboBox::init), (QComboBox::~QComboBox),
16285         (QComboBox::insertItem):
16286         * src/kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
16287         * src/kwq/qt/qcombobox.h:
16288
16289 2002-03-15  Richard Williamson  <rjw@apple.com>
16290
16291         More string usage optimizations.  Got another 10% or so.
16292         
16293         * src/kdelibs/khtml/css/cssstyleselector.cpp: (checkPseudoState),
16294         (khtml::applyRule):
16295         * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth),
16296         (RenderText::width):
16297
16298 2002-03-15  Darin Adler  <darin@apple.com>
16299
16300         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::descent): Oops, removed a - sign
16301         that I should have left in there.
16302
16303 2002-03-15  Darin Adler  <darin@apple.com>
16304
16305         Some more optimizations. Carves another 6% or so off of NSView.html.
16306
16307         * src/kwq/KWQChar.mm: (QChar::QChar): Handle characters > 0x7F correctly.
16308         (QChar::cell): Remove unnecessary & operation.
16309         (QChar::row): Remove unnecessary & operation.
16310         (QChar::latin1): Do a simpler check rather than calling row().
16311         (QChar::operator char): Do the same work as latin1 inline.
16312         (operator==) (operator!=), (operator>=), (operator>), (operator<=), (operator<):
16313         Handle characters > 0x7F correctly.
16314
16315         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::ascent), (QFontMetrics::descent):
16316         Cache the ascent and descent rather than computing it each time we are called.
16317
16318 2002-03-15  Darin Adler  <darin@apple.com>
16319
16320         Optimizations for creating empty QFont objects, measuring certain single
16321         characters, and copying QFontMetrics objects. Makes loading NSView.html about
16322         18% faster.
16323
16324         * src/kwq/qt/qfontmetrics.h: Use a ref-counted pointer so QFontMetrics objects
16325         for the same QFont can share data.
16326
16327         * src/kwq/KWQFont.mm: (loadDefaultFont): New, used to load the default
16328         font used for default-initialized QFont objects.
16329         (QFont::_initializeWithFont): Don't recompute the family name, point size, or
16330         traits.
16331         (QFont::setFamily), (QFont::setPixelSizeFloat), (QFont::setWeight),
16332         (QFont::setItalic): autorelease the font, as we do in the destructor, since
16333         someone could still be using the result of getFont.
16334         (QFont::operator==): Add a comment about a problem with this function.
16335
16336         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::QFontMetrics): Add a refCount, and
16337         a cached width for space and lower-case "x", the two single characters that
16338         are often measured.
16339         (QFontMetrics::~QFontMetrics): Simplify.
16340         (QFontMetrics::operator=): Just copy the underlying data pointer rather than
16341         making our own KWQLayoutInfo object.
16342         (QFontMetrics::baselineOffset): Make const.
16343         (QFontMetrics::width): Add the caching for space and "x".
16344
16345 2002-03-15  Richard Williamson  <rjw@apple.com>
16346
16347         Optimizations that remove unnecessary cfstring allocations of local scope
16348         strings.  QString::gstring_toQString and QString::gstring_toCFString were
16349         added to simplify the reuse of a static CFString as the backing store for
16350         local QStrings.  Hit the top two problem areas.  Many more gains to be had
16351         by using this technique.
16352         
16353         * src/kdelibs/khtml/css/cssstyleselector.cpp:
16354         (CSSStyleSelector::checkOneSelector):
16355         * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth):
16356         * src/kwq/KWQString.mm: (QString::gstring_toQString),
16357         (QString::gstring_toCFString):
16358         * src/kwq/qt/qstring.h:
16359
16360 2002-03-14  Richard Williamson  <rjw@apple.com>
16361
16362         Fixed another problem in QString::find().
16363         Added dangerous but fast string allocation optimization to render_text.cpp.
16364         
16365         * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth):
16366         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::_width):
16367         * src/kwq/KWQString.mm: (QString::find):
16368         * src/kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]),
16369         (-[KWQTextStorage setString:]):
16370         * src/kwq/qt/qfontmetrics.h:
16371
16372 2002-03-14  Richard Williamson  <rjw@apple.com>
16373
16374         Fixed optimized find() implementation.  I had the sense of caseSensitive inverted.
16375         
16376         * src/kwq/KWQString.mm: (QString::find):
16377
16378 2002-03-14  Richard Williamson  <rjw@apple.com>
16379
16380         Attempted implementation of space optimizations.  Disabled for now.
16381         
16382         * src/kwq/KWQFontMetrics.mm: (+[KWQLayoutInfo _dumpLayoutCache:]),
16383         (-[KWQLayoutInfo rectForString:]):
16384         * src/kwq/KWQMetrics.h:
16385         * src/kwq/KWQTextStorage.h:
16386         * src/kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]),
16387         (-[KWQTextStorage getFragmentForString:]), (-[KWQTextStorage
16388         initWithFontAttribute:]), (-[KWQTextStorage addLayoutManager:]):
16389
16390 2002-03-14  Richard Williamson  <rjw@apple.com>
16391
16392         Implemented a progressively cache fragment.
16393         
16394         * src/kwq/KWQFontMetrics.mm: (-[KWQSmallLayoutFragment setGlyphRange:]),
16395         (-[KWQSmallLayoutFragment setBoundingRect:]), (-[KWQSmallLayoutFragment
16396         boundingRect]), (-[KWQLargeLayoutFragment glyphRange]), (-[KWQLargeLayoutFragment
16397         setGlyphRange:]), (-[KWQLargeLayoutFragment setBoundingRect:]),
16398         (-[KWQLargeLayoutFragment boundingRect]), (-[KWQLargeLayoutFragment compare:]),
16399         (+[KWQLayoutInfo drawString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16400         drawUnderlineForString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16401         _dumpLayoutCache:]), (-[KWQLayoutInfo rectForString:]):
16402         * src/kwq/KWQMetrics.h:
16403         * src/kwq/KWQTextStorage.h:
16404         * src/kwq/KWQTextStorage.mm: (-[KWQTextStorage getFragmentForString:]),
16405         (-[KWQTextStorage addFragmentForString:]):
16406
16407 2002-03-13  Richard Williamson  <rjw@apple.com>
16408
16409         Added font cache.  Attempted to reduce size of fragment cache, but
16410         malloc forces a minimum of 30 bytes for our 14 byte objects.
16411         
16412         * src/kwq/KWQFont.mm: (-[IFFontCacheKey dealloc]), (-[IFFontCacheKey
16413         copyWithZone:]), (-[IFFontCacheKey hash]), (-[IFFontCacheKey string]),
16414         (-[IFFontCacheKey isEqual:]), (QFont::getFont):
16415         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutFragment setGlyphRangeLength:]):
16416         * src/kwq/KWQMetrics.h:
16417         * src/kwq/KWQTextStorage.mm: (-[KWQTextStorage addFragmentForString:]):
16418
16419 2002-03-13  Richard Williamson  <rjw@apple.com>
16420
16421         Re-worked fragment cache to minimize memory usage.
16422         
16423         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutFragment glyphRange]),
16424         (-[KWQLayoutFragment setGlyphRangeLength:]), (-[KWQLayoutFragment
16425         setBoundingRectSize:]), (-[KWQLayoutFragment boundingRect]), (+[KWQLayoutInfo
16426         drawString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16427         drawUnderlineForString:atPoint:withFont:color:]), (-[KWQLayoutInfo
16428         initWithFont:]), (-[KWQLayoutInfo layoutManager]), (-[KWQLayoutInfo
16429         textStorage]), (-[KWQLayoutInfo rectForString:]):
16430         * src/kwq/KWQMetrics.h:
16431         * src/kwq/KWQTextStorage.h:
16432         * src/kwq/KWQTextStorage.mm: (-[KWQTextStorage getFragmentForString:]),
16433         (-[KWQTextStorage addFragmentForString:]), (-[KWQTextStorage
16434         initWithFontAttribute:]), (-[KWQTextStorage dealloc]), (-[KWQTextStorage
16435         length]), (-[KWQTextStorage setAttributes:]), (-[KWQTextStorage setString:]),
16436         (-[KWQTextStorage string]):
16437
16438 2002-03-13  Kenneth Kocienda  <kocienda@apple.com>
16439
16440         Updated for new didRedirectToURL callback. This is a partial fix for this bug:
16441         Radar 2879234 (Redirected URLs not used for subsequent GETs)
16442
16443         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16444         IFURLHandle:didRedirectToURL:]):
16445         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
16446
16447 2002-03-12  Richard Williamson  <rjw@apple.com>
16448
16449         * src/kwq/KWQString.mm: (QString::find), (QString::contains),
16450         (QString::compareToLatin1):
16451
16452 2002-03-11  Richard Williamson  <rjw@apple.com>
16453
16454 Re-implemented QPainter::drawTiledPixmap to use core graphics patterns.  Currently this depends
16455 on SPI.  The performance boost is huge osx.macnn.com draws 40x faster now.
16456
16457         * src/kwq/KWQPainter.mm: (QPainter::drawTiledPixmap):
16458
16459 2002-03-08  Richard Williamson  <rjw@apple.com>
16460
16461 Re-implemented KWQFont to lazily request font from NSFontManager instead of
16462 user converFont:.  I did this after sampling loads of http://www.apple.com/retail/theater
16463 and found that converting fonts was very expensive.
16464
16465         * src/kwq/KWQFont.mm: (QFont::defaultNSFont), (QFont::_initializeWithFont),
16466         (QFont::QFont), (QFont::_free), (QFont::getFont), (QFont::pixelSize),
16467         (QFont::family), (QFont::setFamily), (QFont::setPixelSizeFloat),
16468         (QFont::setWeight), (QFont::weight), (QFont::setItalic), (QFont::italic),
16469         (QFont::bold), (QFont::operator!=):
16470         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::QFontMetrics):
16471         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame):
16472         * src/kwq/KWQPainter.mm: (QPainter::drawText), (QPainter::drawUnderlineForText):
16473         * src/kwq/qt/qfont.h:
16474
16475 2002-03-08  Richard Williamson  <rjw@apple.com>
16476
16477         Instrumentation of the text fragment metrics cache.
16478         Added _FAST_QSTRING_TO_NSSTRING.
16479         
16480         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutFragment initWithString:attributes:]),
16481         (-[KWQLayoutFragment boundingRect]), (-[KWQLayoutFragment compare:]),
16482         (+[KWQLayoutInfo _dumpLayoutCache:]), (+[KWQLayoutInfo _dumpAllLayoutCaches]),
16483         (-[KWQLayoutInfo rectForString:]), (QFontMetrics::width),
16484         (QFontMetrics::boundingRect), (QFontMetrics::size):
16485         * src/kwq/KWQMetrics.h:
16486         * src/kwq/qt/qstring.h:
16487
16488 2002-03-08  John Sullivan  <sullivan@apple.com>
16489
16490         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::end):
16491         Changed openURL() and end() messages to use debug levels. You
16492         can see these by setting your WebKitLogLevel mask to include 
16493         0x00000008
16494
16495 2002-03-07  John Sullivan  <sullivan@apple.com>
16496
16497         * src/kwq/kwqdebug.h: New debug level constants, kept in
16498         synch with WebKitDebug.h
16499
16500         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16501         IFURLHandleResourceDidBeginLoading:]), (-[KHTMLPartLoadClient
16502         IFURLHandleResourceDidCancelLoading:]), (-[KHTMLPartLoadClient
16503         IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16504         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16505         IFURLHandle:resourceDidFailLoadingWithResult:]):
16506         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
16507         (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
16508         IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
16509         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
16510         IFURLHandle:resourceDidFailLoadingWithResult:]), (Loader::load),
16511         (Loader::servePendingRequests):
16512         * src/kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
16513         Changed numeric debug levels to symbolic ones.
16514
16515 2002-03-07  Don Melton  <gramps@apple.com>
16516
16517         Removed unused file in kdelibs that I missed in previous commit.
16518
16519         * src/kdelibs/khtml/test/layout.html:
16520
16521 2002-03-06  Don Melton  <gramps@apple.com>
16522
16523         Removed unused files in kdelibs.
16524
16525         * src/kdelibs/AUTHORS:
16526         * src/kdelibs/README:
16527         * src/kdelibs/khtml/CHANGES:
16528         * src/kdelibs/khtml/DESIGN.html:
16529         * src/kdelibs/khtml/README.HTMLWidget:
16530         * src/kdelibs/khtml/README.tags:
16531         * src/kdelibs/khtml/SECURITY:
16532         * src/kdelibs/khtml/TODO:
16533         * src/kdelibs/khtml/design.h:
16534         * src/kdelibs/khtml/domtreeview.cpp:
16535         * src/kdelibs/khtml/domtreeview.h:
16536         * src/kdelibs/khtml/ecma/AUTHORS:
16537         * src/kdelibs/khtml/ecma/README:
16538         * src/kdelibs/khtml/ecma/THANKS:
16539         * src/kdelibs/khtml/ecma/TODO:
16540         * src/kdelibs/khtml/ecma/jsk.html:
16541         * src/kdelibs/khtml/ecma/testecma.cpp:
16542         * src/kdelibs/khtml/html/dtd.dtd:
16543         * src/kdelibs/khtml/java/KJAS_GRAMMAR.txt:
16544         * src/kdelibs/khtml/java/README:
16545         * src/kdelibs/khtml/java/TODO:
16546         * src/kdelibs/khtml/java/build.xml:
16547         * src/kdelibs/khtml/java/javaembed.cpp:
16548         * src/kdelibs/khtml/java/kjava.jar:
16549         * src/kdelibs/khtml/java/kjava.policy.in:
16550         * src/kdelibs/khtml/java/org/kde/kjas/server/KJASAppletClassLoader.java:
16551         * src/kdelibs/khtml/java/org/kde/kjas/server/KJASAppletContext.java:
16552         * src/kdelibs/khtml/java/org/kde/kjas/server/KJASAppletStub.java:
16553         * src/kdelibs/khtml/java/org/kde/kjas/server/KJASConsole.java:
16554         * src/kdelibs/khtml/java/org/kde/kjas/server/KJASProtocolHandler.java:
16555         * src/kdelibs/khtml/java/org/kde/kjas/server/KJASSecurityManager.java:
16556         * src/kdelibs/khtml/java/org/kde/kjas/server/KJASSoundPlayer.java:
16557         * src/kdelibs/khtml/java/org/kde/kjas/server/Main.java:
16558         * src/kdelibs/khtml/java/tests/badapplets/BadApplet.jar:
16559         * src/kdelibs/khtml/java/tests/badapplets/BadApplet.java:
16560         * src/kdelibs/khtml/java/tests/badapplets/applet.html:
16561         * src/kdelibs/khtml/java/tests/good_sites:
16562         * src/kdelibs/khtml/java/tests/testkjavaappletserver.cpp:
16563         * src/kdelibs/khtml/khtml.desktop:
16564         * src/kdelibs/khtml/khtml.rc:
16565         * src/kdelibs/khtml/khtml_browser.rc:
16566         * src/kdelibs/khtml/khtml_ext.cpp:
16567         * src/kdelibs/khtml/khtml_factory.cpp:
16568         * src/kdelibs/khtml/khtml_find.cpp:
16569         * src/kdelibs/khtml/khtml_find.h:
16570         * src/kdelibs/khtml/khtml_pagecache.cpp:
16571         * src/kdelibs/khtml/khtml_pagecache.h:
16572         * src/kdelibs/khtml/khtml_part.cpp:
16573         * src/kdelibs/khtml/khtml_popupmenu.rc:
16574         * src/kdelibs/khtml/khtml_run.cpp:
16575         * src/kdelibs/khtml/khtml_run.h:
16576         * src/kdelibs/khtml/khtmldefaults.h:
16577         * src/kdelibs/khtml/khtmlimage.cpp:
16578         * src/kdelibs/khtml/khtmlimage.desktop:
16579         * src/kdelibs/khtml/khtmlimage.h:
16580         * src/kdelibs/khtml/pics/hi16-action-images_display.png:
16581         * src/kdelibs/khtml/pics/hi22-action-images_display.png:
16582         * src/kdelibs/khtml/pics/hi32-action-images_display.png:
16583         * src/kdelibs/khtml/test/README:
16584         * src/kdelibs/khtml/test/URL1.html:
16585         * src/kdelibs/khtml/test/URL2.html:
16586         * src/kdelibs/khtml/test/align.html:
16587         * src/kdelibs/khtml/test/align1.html:
16588         * src/kdelibs/khtml/test/align2.html:
16589         * src/kdelibs/khtml/test/anchor1.html:
16590         * src/kdelibs/khtml/test/anchor2.html:
16591         * src/kdelibs/khtml/test/badpages.html:
16592         * src/kdelibs/khtml/test/buggy.html:
16593         * src/kdelibs/khtml/test/button.html:
16594         * src/kdelibs/khtml/test/color.html:
16595         * src/kdelibs/khtml/test/fixed-background.html:
16596         * src/kdelibs/khtml/test/image.gif:
16597         * src/kdelibs/khtml/test/image_map.html:
16598         * src/kdelibs/khtml/test/index.html:
16599         * src/kdelibs/khtml/test/java.html:
16600         * src/kdelibs/khtml/test/javascript.html:
16601         * src/kdelibs/khtml/test/jsplugins.html:
16602         * src/kdelibs/khtml/test/konqi.gif:
16603         * src/kdelibs/khtml/test/lake.class:
16604         * src/kdelibs/khtml/test/listing.html:
16605         * src/kdelibs/khtml/test/lists.html:
16606         * src/kdelibs/khtml/test/nav_bar.gif:
16607         * src/kdelibs/khtml/test/nbsp.html:
16608         * src/kdelibs/khtml/test/notitle.html:
16609         * src/kdelibs/khtml/test/object.html:
16610         * src/kdelibs/khtml/test/pseudo.html:
16611         * src/kdelibs/khtml/test/renders.html:
16612         * src/kdelibs/khtml/test/supsub.html:
16613         * src/kdelibs/khtml/test/testpages.html:
16614         * src/kdelibs/khtml/test/textarea.html:
16615         * src/kdelibs/khtml/test/title.html:
16616         * src/kdelibs/khtml/testcss.cpp:
16617         * src/kdelibs/khtml/testkhtml.cpp:
16618         * src/kdelibs/khtml/testkhtml.h:
16619         * src/kdelibs/khtml/testrender.cpp:
16620         * src/kdelibs/khtml/testrender.h:
16621         * src/kdelibs/kjs/README:
16622         * src/kdelibs/kjs/THANKS:
16623         * src/kdelibs/kjs/create_hash_table:
16624         * src/kdelibs/kjs/keywords.table:
16625
16626 2002-03-06  Don Melton  <gramps@apple.com>
16627
16628         Cleaned up all our changes to kdelibs, removed bitrot, and replaced use
16629         of _KWQ_ with new APPLE_CHANGES define.
16630
16631         * src/kdelibs/khtml/css/csshelper.cpp: (khtml::computeLengthFloat),
16632         (khtml::setFontSize):
16633         * src/kdelibs/khtml/css/cssstyleselector.cpp:
16634         (CSSStyleSelector::CSSStyleSelector), (khtml::applyRule):
16635         * src/kdelibs/khtml/dom/dom_misc.cpp:
16636         * src/kdelibs/khtml/dom/dom_misc.h:
16637         * src/kdelibs/khtml/dom/html_document.cpp: (HTMLDocument::cookie),
16638         (HTMLDocument::setCookie):
16639         * src/kdelibs/khtml/dom/html_element.cpp:
16640         * src/kdelibs/khtml/ecma/kjs_binding.h:
16641         * src/kdelibs/khtml/ecma/kjs_css.cpp: (DOMCSSStyleDeclarationFunc::tryExecute),
16642         (DOMStyleSheetListFunc::tryExecute), (DOMMediaListFunc::tryExecute),
16643         (DOMCSSStyleSheetFunc::tryExecute), (DOMCSSRuleListFunc::tryExecute),
16644         (DOMCSSRuleFunc::tryExecute), (DOMCSSPrimitiveValueFunc::tryExecute),
16645         (DOMCSSValueListFunc::tryExecute):
16646         * src/kdelibs/khtml/ecma/kjs_css.h:
16647         * src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMNodeFunc::tryExecute),
16648         (DOMNodeListFunc::tryExecute), (DOMDocFunction::DOMDocFunction),
16649         (DOMDocFunction::tryExecute), (DOMElementFunction::DOMElementFunction),
16650         (DOMElementFunction::tryExecute),
16651         (DOMDOMImplementationFunction::DOMDOMImplementationFunction),
16652         (DOMDOMImplementationFunction::tryExecute),
16653         (DOMNamedNodeMapFunction::DOMNamedNodeMapFunction),
16654         (DOMNamedNodeMapFunction::tryExecute):
16655         * src/kdelibs/khtml/ecma/kjs_dom.h:
16656         * src/kdelibs/khtml/ecma/kjs_window.cpp: (Window::isSafeScript):
16657         * src/kdelibs/khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::formData),
16658         (HTMLSelectElementImpl::state), (HTMLSelectElementImpl::restoreState):
16659         * src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLLinkElementImpl::detach),
16660         (HTMLStyleElementImpl::detach), (HTMLTitleElementImpl::setTitle):
16661         * src/kdelibs/khtml/html/html_objectimpl.cpp:
16662         (HTMLEmbedElementImpl::parseAttribute):
16663         * src/kdelibs/khtml/html/html_tableimpl.cpp:
16664         (HTMLTableElementImpl::parseAttribute),
16665         (HTMLTablePartElementImpl::parseAttribute):
16666         * src/kdelibs/khtml/html/htmlparser.cpp: (KHTMLParser::parseToken),
16667         (KHTMLParser::insertNode), (KHTMLParser::getElement),
16668         (KHTMLParser::processCloseTag), (KHTMLParser::popBlock),
16669         (KHTMLParser::popOneBlock):
16670         * src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::parseSpecial),
16671         (HTMLTokenizer::scriptHandler), (HTMLTokenizer::parseComment),
16672         (HTMLTokenizer::parseTag), (HTMLTokenizer::processToken):
16673         * src/kdelibs/khtml/html/htmltokenizer.h:
16674         * src/kdelibs/khtml/java/kjavaprocess.h:
16675         * src/kdelibs/khtml/khtml_part.h:
16676         * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::~KHTMLView), (KHTMLView::init),
16677         (printRenderTree), (KHTMLView::drawContents), (KHTMLView::layout),
16678         (KHTMLView::viewportMousePressEvent), (KHTMLView::viewportMouseDoubleClickEvent),
16679         (KHTMLView::viewportMouseMoveEvent), (KHTMLView::viewportMouseReleaseEvent),
16680         (KHTMLView::addFormCompletionItem):
16681         * src/kdelibs/khtml/khtmlview.h:
16682         * src/kdelibs/khtml/misc/decoder.cpp: (Decoder::setEncoding), (Decoder::decode):
16683         * src/kdelibs/khtml/misc/helper.cpp: (khtml::setNamedColor):
16684         * src/kdelibs/khtml/misc/loader.h:
16685         * src/kdelibs/khtml/rendering/bidi.cpp: (RenderFlow::layoutInlineChildren):
16686         * src/kdelibs/khtml/rendering/render_applet.cpp: (RenderApplet::RenderApplet):
16687         * src/kdelibs/khtml/rendering/render_body.cpp: (RenderBody::layout):
16688         * src/kdelibs/khtml/rendering/render_box.cpp: (RenderBox::printBackground):
16689         * src/kdelibs/khtml/rendering/render_flow.cpp: (RenderFlow::print):
16690         * src/kdelibs/khtml/rendering/render_form.cpp:
16691         (RenderFormElement::baselinePosition), (RenderFormElement::slotClicked),
16692         (RenderCheckBox::RenderCheckBox), (RenderCheckBox::performAction),
16693         (RenderRadioButton::RenderRadioButton), (RenderRadioButton::slotClicked),
16694         (RenderSubmitButton::RenderSubmitButton), (RenderSubmitButton::baselinePosition),
16695         (RenderLineEdit::RenderLineEdit), (RenderLineEdit::calcMinMaxWidth),
16696         (RenderLineEdit::performAction), (RenderFileButton::RenderFileButton),
16697         (RenderSelect::RenderSelect), (RenderSelect::layout),
16698         (RenderSelect::createListBox), (RenderSelect::createComboBox),
16699         (RenderTextArea::RenderTextArea), (RenderTextArea::calcMinMaxWidth),
16700         (RenderTextArea::layout):
16701         * src/kdelibs/khtml/rendering/render_form.h:
16702         * src/kdelibs/khtml/rendering/render_frames.cpp:
16703         (RenderPartObject::updateWidget):
16704         * src/kdelibs/khtml/rendering/render_hr.cpp: (RenderHR::print):
16705         * src/kdelibs/khtml/rendering/render_image.cpp: (RenderImage::printObject):
16706         * src/kdelibs/khtml/rendering/render_list.cpp: (RenderListMarker::printObject):
16707         * src/kdelibs/khtml/rendering/render_style.h:
16708         * src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::calcFinalColMax),
16709         (RenderTable::layoutRows):
16710         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration),
16711         (TextSlaveArray::findFirstMatching), (RenderText::print):
16712         * src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle):
16713         * src/kdelibs/khtml/xml/dom_nodeimpl.cpp: (NodeImpl::renderer):
16714         * src/kdelibs/khtml/xml/dom_nodeimpl.h:
16715         * src/kdelibs/khtml/xml/dom_stringimpl.cpp: (DOMStringImpl::toLengthList):
16716
16717 2002-03-06  Maciej Stachowiak  <mjs@apple.com>
16718
16719         * src/kwq/KWQKURL.mm: (KURL::KURL): If resolving a relative URL
16720         fails, assume it's absolute and possibly malformed, rather than
16721         appending it to the path of the previous URL. This fixes a
16722         CPU-spinning hang that John and Richard found.
16723
16724 2002-03-05  Richard Williamson  <rjw@apple.com>
16725
16726         Pass errors correctly to browser.
16727         Removed old notification code.
16728         Added support for IFError.
16729         Lots of little cleanups.
16730         
16731         * src/kwq/KWQComboBox.mm: (QComboBox::setCurrentItem):
16732         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16733         IFURLHandleResourceDidBeginLoading:]), (-[KHTMLPartLoadClient
16734         IFURLHandleResourceDidCancelLoading:]), (-[KHTMLPartLoadClient
16735         IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16736         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16737         IFURLHandle:resourceDidFailLoadingWithResult:]), (KHTMLPart::openURL),
16738         (KHTMLPart::closeURL):
16739         * src/kwq/KWQKloader.mm: (-[URLLoadClient
16740         IFURLHandle:resourceDidFailLoadingWithResult:]):
16741         * src/kwq/WCError.h:
16742         * src/kwq/WCWebDataSource.h:
16743         * src/kwq/external.h:
16744
16745 2002-03-05  Richard Williamson  <rjw@apple.com>
16746
16747         With fonts now being correctly specified we're exercising some new code paths.  This introduced a new
16748         class of weird string bugs.  Turns out that CFString is doing some mojo that I suspect is a performance
16749         optimization.  Constants strings appears to be uniqued and hard-wired to have a -1 retain count.  It
16750         looks like strings created by preferences are uniqued in this manner.  This plays havoc with our
16751         copy-on-write QString implementation.  The following GDB exercise illustrates the problem:
16752         
16753         (gdb) po (id)[(id)[NSUserDefaults standardUserDefaults] objectForKey:(id)[NSString stringWithCString: "WebKitFixedFont"]]
16754         Andale Mono
16755         (gdb) p (int)[(id)[(id)[NSUserDefaults standardUserDefaults] objectForKey:(id)[NSString stringWithCString: "WebKitFixedFont"]] retainCount]
16756         $28 = -1
16757         (gdb) p (id)[(id)[NSUserDefaults standardUserDefaults] objectForKey:(id)[NSString stringWithCString: "WebKitFixedFont"]]
16758         $27 = (objc_object *) 0x40172a4
16759         (gdb) p (void)[$27 retain]
16760         $29 = void
16761         (gdb) p (int)[$27 retainCount]
16762         $30 = -1
16763         (gdb) p (void)[$27 release]
16764         $33 = void
16765         (gdb) p (int)[$27 retainCount]
16766         $32 = -1
16767         
16768         So, it appears that these strings are permanently allocated.  It'd be interesting to find out what is in the uniqued string cache, and how big it is.
16769         
16770         I've fixed the problem by special casing our copy-on-write trigger to also check for -1.
16771
16772         * src/kwq/KWQString.mm: (QString::_copyIfNeededInternalString):
16773
16774 2002-03-04  Richard Williamson  <rjw@apple.com>
16775  
16776         Changes to support 'provisional' data sources.
16777         API changes to IFBaseWebController, removed redundant methods.
16778  
16779         * src/kwq/KWQKHTMLPart.mm: (WCSetIFWebDataSourceMakeFunc), (-[KHTMLPartLoadClient
16780         IFURLHandleResourceDidBeginLoading:]), (-[KHTMLPartLoadClient
16781         IFURLHandleResourceDidCancelLoading:]), (-[KHTMLPartLoadClient
16782         IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16783         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16784         IFURLHandle:resourceDidFailLoadingWithResult:]),
16785         (KHTMLPart::khtmlMouseReleaseEvent), (KHTMLPart::submitForm),
16786         (KHTMLPart::requestFrame):
16787         * src/kwq/external.h:
16788
16789 2002-02-28  Richard Williamson  <rjw@apple.com>
16790
16791         Finished up progress notification for main document.  
16792         Made the IFLoadProgress allocator accessible to KHTMLPart.mm.
16793         
16794         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16795         IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16796         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16797         setDataSource:]), (KHTMLPart::openURL):
16798         * src/kwq/KWQKloader.mm: (-[URLLoadClient
16799         IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
16800         IFURLHandle:resourceDataDidBecomeAvailable:]):
16801         * src/kwq/WCLoadProgress.h:
16802
16803 2002-02-27  Kenneth Kocienda  <kocienda@apple.com>
16804
16805         I have changed the way that WebCore is glued to WebFoundation and WebKit. 
16806         If you used or relied upon any code in the following files, you should 
16807         now use the IF* equivalents straight up. 
16808
16809         - Labyrinth/WebCore/include/WCBackForwardList.h
16810         - Labyrinth/WebCore/include/WCURICache.h
16811         - Labyrinth/WebCore/include/WCURICacheData.h
16812         - Labyrinth/WebCore/include/WCURIEntry.h
16813         - Labyrinth/WebCore/include/WCURIEntry.h
16814
16815         All changes in this commit are related to making dependant code work with the new convention.
16816
16817         * include/WCBackForwardList.h:
16818         * include/WCURICache.h:
16819         * include/WCURICacheData.h:
16820         * include/WCURIEntry.h:
16821         * include/WCURLHandle.h:
16822         * src/kwq/KWQKHTMLPart.h:
16823         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16824         IFURLHandleResourceDidBeginLoading:]), (-[KHTMLPartLoadClient
16825         IFURLHandleResourceDidCancelLoading:]), (-[KHTMLPartLoadClient
16826         IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16827         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16828         IFURLHandle:resourceDidFailLoadingWithResult:]), (KHTMLPart::slotData),
16829         (KHTMLPart::openURL):
16830         * src/kwq/KWQKjobclasses.mm:
16831         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
16832         (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
16833         IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
16834         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
16835         IFURLHandle:resourceDidFailLoadingWithResult:]):
16836         * src/kwq/Makefile.am:
16837         * src/kwq/kio/jobclasses.h:
16838
16839 2002-02-27  Maciej Stachowiak  <mjs@apple.com>
16840
16841         Replace QDir and QFile with clean-room implementations. Add glob
16842         support ot QRegExp reimplementation.
16843
16844         * src/kwq/KWQDir.mm: (QDir::KWQDirPrivate::KWQDirPrivate),
16845         (QDir::KWQDirPrivate::~KWQDirPrivate), (QDir::QDir), (QDir::~QDir),
16846         (QDir::absPath), (QDir::absFilePath), (QDir::cdUp), (QDir::exists),
16847         (QDir::entryList), (QDir::operator=), (QDir::swap):
16848         * src/kwq/KWQFile.mm: (QFile::KWQFilePrivate::KWQFilePrivate),
16849         (QFile::KWQFilePrivate::~KWQFilePrivate), (QFile::QFile), (QFile::~QFile),
16850         (QFile::exists), (QFile::open), (QFile::close), (QFile::readBlock),
16851         (QFile::size):
16852         * src/kwq/KWQRegExp.mm: (QRegExp::KWQRegExpPrivate::KWQRegExpPrivate),
16853         (RegExpFromGlob), (QRegExp::KWQRegExpPrivate::compile), (QRegExp::QRegExp):
16854         * src/kwq/KWQStrList.h:
16855         * src/kwq/Makefile.am:
16856         * src/kwq/qt/_qdir.h:
16857         * src/kwq/qt/_qfile.h:
16858         * src/kwq/qt/_qfileinfo.h:
16859         * src/kwq/qt/qdir.h:
16860         * src/kwq/qt/qfile.h:
16861         * src/kwq/qt/qiodevice.h:
16862         * src/kwq/qt/qregexp.h:
16863
16864 2002-02-25  Maciej Stachowiak  <mjs@apple.com>
16865
16866         Fix two significant memory leaks in QList found by our automated
16867         leak-checking code.
16868
16869         * src/kwq/KWQListImpl.mm: (KWQListNode::~KWQListNode),
16870         (KWQListImpl::KWQListPrivate::copyList),
16871         (KWQListImpl::KWQListPrivate::~KWQListPrivate), (KWQListImpl::sort):
16872
16873         Fix a tiny bug tweaked by the new regexp code - we need to flush
16874         the cache after calling out to QRegExp::match because it might
16875         make calls on the string which create a cache. Caught by the
16876         regression tests.
16877         
16878         * src/kwq/KWQString.mm: (QString::replace): 
16879         
16880 2002-02-24  Maciej Stachowiak  <mjs@apple.com>
16881
16882         Reimplemented QRegExp in terms of POSIX regexp facilities. This
16883         will only support Latin1, however, it won't support all languages.
16884         
16885         * src/kwq/qt/qregexp.h:
16886         * src/kwq/KWQRegExp.mm: (QRegExp::KWQRegExpPrivate::KWQRegExpPrivate),
16887         (QRegExp::KWQRegExpPrivate::compile),
16888         (QRegExp::KWQRegExpPrivate::~KWQRegExpPrivate), (QRegExp::QRegExp),
16889         (QRegExp::~QRegExp), (QRegExp::operator=), (QRegExp::pattern), (QRegExp::match):
16890
16891         Reimplement QValueList as a doubly-linked list, using a generic
16892         implementation class and a templatized facade.
16893         
16894         * src/kwq/qt/qvaluelist.h:
16895         * src/kwq/KWQValueListImpl.h:
16896         * src/kwq/KWQValueListImpl.mm: (KWQValueListNodeImpl::KWQValueListNodeImpl),
16897         (KWQValueListNodeImpl::~KWQValueListNodeImpl),
16898         (KWQValueListIteratorImpl::KWQValueListIteratorImpl),
16899         (KWQValueListIteratorImpl::~KWQValueListIteratorImpl),
16900         (KWQValueListIteratorImpl::operator=), (KWQValueListIteratorImpl::operator==),
16901         (KWQValueListIteratorImpl::operator!=), (KWQValueListIteratorImpl::node),
16902         (KWQValueListIteratorImpl::operator++), (KWQValueListIteratorImpl::operator--),
16903         (KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate),
16904         (KWQValueListImpl::KWQValueListPrivate::~KWQValueListPrivate),
16905         (KWQValueListImpl::KWQValueListPrivate::copyList),
16906         (KWQValueListImpl::KWQValueListPrivate::deleteList),
16907         (KWQValueListImpl::KWQValueListImpl), (KWQValueListImpl::~KWQValueListImpl),
16908         (KWQValueListImpl::clear), (KWQValueListImpl::count),
16909         (KWQValueListImpl::isEmpty), (KWQValueListImpl::appendNode),
16910         (KWQValueListImpl::prependNode), (KWQValueListImpl::removeEqualNodes),
16911         (KWQValueListImpl::containsEqualNodes), (KWQValueListImpl::removeIterator),
16912         (KWQValueListImpl::fromLast), (KWQValueListImpl::firstNode),
16913         (KWQValueListImpl::lastNode), (KWQValueListImpl::begin), (KWQValueListImpl::end),
16914         (KWQValueListImpl::nodeAt), (KWQValueListImpl::operator=),
16915         (KWQValueListImpl::copyOnWrite):
16916         * src/kwq/Makefile.am:
16917
16918         * src/kwq/kio/netaccess.h: Don't declare private copy constructor
16919         - this class needs to be copyable to be stored in a QValueList!
16920
16921         Hack these scripts a bit so the large tables they generate are
16922         constant data.
16923         
16924         * src/kwq/make-charset-table.pl:
16925         * src/kdelibs/khtml/css/makeprop:
16926         * src/kdelibs/khtml/css/makevalues:
16927         * src/kdelibs/khtml/misc/makeattrs:
16928         * src/kdelibs/khtml/misc/maketags:
16929
16930 2002-02-23  Maciej Stachowiak  <mjs@apple.com>
16931
16932         * src/kwq/WCLoadProgress.h: Add the forgotten WCLoadProgress.h.
16933
16934 2002-02-22  Maciej Stachowiak  <mjs@apple.com>
16935
16936         Fix prebinding:
16937
16938         * src/Makefile.am: Enable prebinding, set first segment address to
16939         0x2200000 to avoid colliding with apps or our other
16940         frameworks. Change other link flags to support prebinding.
16941
16942         Set up some hacks to avoid link-time dependency on
16943         WebKit. Prebinding is incompatible with - undefined suppress, so
16944         we can't have WebCore depend on symbols provided by WebKit any
16945         more:
16946         
16947         * src/kwq/KWQKHTMLPart.h:
16948         * src/kwq/KWQKloader.mm: (WCSetIFLoadProgressMakeFunc), (-[URLLoadClient
16949         WCURLHandleResourceDidFinishLoading:data:userData:]), (-[URLLoadClient
16950         WCURLHandle:resourceDataDidBecomeAvailable:userData:]):
16951         * src/kwq/WCPluginWidget.h:
16952         * src/kwq/WCPluginWidget.mm: (WCSetIFPluginMakeFunc),
16953         (WCPluginWidget::WCPluginWidget):
16954
16955 2002-02-22  Richard Williamson  <rjw@apple.com>
16956
16957         Added data: to IFURLHandleResourceDidFinishLoading:
16958         
16959         * include/WCURLHandle.h:
16960         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16961         WCURLHandleResourceDidFinishLoading:data:userData:]):
16962         * src/kwq/KWQKloader.mm: (-[URLLoadClient
16963         WCURLHandleResourceDidFinishLoading:data:userData:]):
16964
16965 2002-02-22  Kenneth Kocienda  <kocienda@apple.com>
16966
16967         Sent handle an autorelease message.
16968
16969         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16970         WCURLHandleResourceDidCancelLoading:userData:]), (-[KHTMLPartLoadClient
16971         WCURLHandleResourceDidFinishLoading:userData:]), (-[KHTMLPartLoadClient
16972         WCURLHandle:resourceDidFailLoadingWithResult:userData:]):
16973         * src/kwq/KWQKloader.mm: (-[URLLoadClient
16974         WCURLHandleResourceDidCancelLoading:userData:]), (-[URLLoadClient
16975         WCURLHandleResourceDidFinishLoading:userData:]), (-[URLLoadClient
16976         WCURLHandle:resourceDidFailLoadingWithResult:userData:]):
16977
16978 2002-02-21  Maciej Stachowiak  <mjs@apple.com>
16979
16980         * src/kwq/KWQString.mm: (QString::fill): Fix a bug that was
16981         triggering assertion failures in CF.
16982         
16983         * src/kdelibs/kjs/kjs-test: Turn off some environment variables to
16984         make the tests pass.
16985
16986 2002-02-21  Richard Williamson  <rjw@apple.com>
16987
16988     Stop mostly working.
16989     
16990         * src/kwq/KWQKjobclasses.mm:
16991         * src/kwq/KWQKloader.mm: (-[URLLoadClient
16992         WCURLHandleResourceDidCancelLoading:userData:]), (-[URLLoadClient
16993         WCURLHandleResourceDidFinishLoading:userData:]), (-[URLLoadClient
16994         WCURLHandle:resourceDidFailLoadingWithResult:userData:]),
16995         (Loader::servePendingRequests):
16996         * src/kwq/kio/jobclasses.h:
16997
16998 2002-02-21  Maciej Stachowiak  <mjs@apple.com>
16999
17000         * src/kwq/KWQString.mm: (QString::fromCFString): Don't pass a
17001         length to CFStringCreateMutableCopy, since that makes the string
17002         fixed-length, which makes assertions fail when in debugging mode.
17003
17004 2002-02-20  Richard Williamson  <rjw@apple.com>
17005
17006     Some groundwork to bring WebFoundation callbacks up to 
17007     WebKit.
17008     
17009         * src/kdelibs/khtml/misc/loader.h:
17010         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
17011         WCURLHandleResourceDidBeginLoading:userData:]), (-[KHTMLPartLoadClient
17012         WCURLHandleResourceDidCancelLoading:userData:]), (-[KHTMLPartLoadClient
17013         WCURLHandleResourceDidFinishLoading:userData:]), (-[KHTMLPartLoadClient
17014         WCURLHandle:resourceDataDidBecomeAvailable:userData:]), (-[KHTMLPartLoadClient
17015         WCURLHandle:resourceDidFailLoadingWithResult:userData:]), (KHTMLPart::openURL),
17016         (KHTMLPart::closeURL), (KHTMLPart::write), (KHTMLPart::checkCompleted):
17017         * src/kwq/KWQKloader.mm: (CachedCSSStyleSheet::CachedCSSStyleSheet),
17018         (CachedScript::CachedScript), (CachedImage::CachedImage), (-[URLLoadClient
17019         initWithLoader:dataSource:]), (-[URLLoadClient
17020         WCURLHandleResourceDidBeginLoading:userData:]), (-[URLLoadClient
17021         WCURLHandleResourceDidCancelLoading:userData:]), (-[URLLoadClient
17022         WCURLHandleResourceDidFinishLoading:userData:]), (-[URLLoadClient
17023         WCURLHandle:resourceDataDidBecomeAvailable:userData:]), (-[URLLoadClient
17024         WCURLHandle:resourceDidFailLoadingWithResult:userData:]), (Loader::load),
17025         (Loader::servePendingRequests), (Cache::requestImage),
17026         (Cache::requestStyleSheet), (Cache::requestScript):
17027         * src/kwq/kio/jobclasses.h:
17028
17029 2002-02-20  Maciej Stachowiak  <mjs@apple.com>
17030
17031         * src/kdelibs/kjs/kjs-test:
17032         * src/kwq/KWQKURL.mm: (KURL::setQuery):
17033
17034 2002-02-18  Kenneth Kocienda  <kocienda@apple.com>
17035
17036         * src/Makefile.am:
17037         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseMoveEvent):
17038         * src/kwq/KWQView.mm: (-[KWQHTMLView mouseUp:]), (-[KWQHTMLView mouseDown:]):
17039         * src/kwq/kde/_kurl.cpp: (KURL::htmlRef):
17040
17041 2002-02-18  Richard Williamson  <rjw@apple.com>
17042
17043         Fixed the prefences won't stay in front problem after John found 
17044         and correctly diagnosed the problem.
17045         
17046         * src/kwq/KWQWidget.mm: (QWidget::show), (QWidget::hide):
17047
17048 2002-02-18  Richard Williamson  <rjw@apple.com>
17049
17050         Performance measurement.
17051         
17052         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin), (KHTMLPart::write):
17053
17054 2002-02-16  Maciej Stachowiak  <mjs@apple.com>
17055
17056         Reimplement KURL in terms of CFURL (many workarounds needed to
17057         account for differing semantics).
17058
17059         * src/kwq/kdecore/kurl.h:
17060         * src/kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate),
17061         (KURL::KWQKURLPrivate::~KWQKURLPrivate), (KURL::KWQKURLPrivate::init),
17062         (KURL::KWQKURLPrivate::makeRef), (CFStringToQString), (escapeQString),
17063         (pathEndsWithSlash), (KWQCFURLCopyEscapedPath),
17064         (KURL::KWQKURLPrivate::decompose), (KURL::KWQKURLPrivate::compose), (KURL::KURL),
17065         (KURL::~KURL), (KURL::isEmpty), (KURL::isMalformed), (KURL::hasPath),
17066         (KURL::url), (KURL::protocol), (KURL::host), (KURL::port), (KURL::pass),
17067         (KURL::user), (KURL::ref), (KURL::query), (KURL::path), (KURL::setProtocol),
17068         (KURL::setHost), (KURL::setPort), (KURL::setRef), (KURL::setQuery),
17069         (KURL::setPath), (KURL::prettyURL), (KURL::operator=), (KURL::decode_string),
17070         (KURL::copyOnWrite):
17071         * src/kwq/Makefile.am: Add new file to build.
17072
17073         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin,
17074         KHTMLPart::submitForm): Don't 
17075
17076         Minor tweaks to make it all build:
17077
17078         * src/kwq/kde/_kurl.cpp:
17079         * src/kwq/qt/_qurl.cpp:
17080         * src/kwq/qt/_qurl.h:
17081
17082 2002-02-16  Richard Williamson  <rjw@apple.com>
17083
17084         Fixed problem with default text not showing up in text area.
17085         Fixed problem with scroll widgets not showing up in select list.
17086         
17087         * src/kdelibs/khtml/rendering/render_form.cpp: (RenderSelect::layout):
17088         * src/kwq/KWQListBox.mm: (QListBox::QListBox):
17089         * src/kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]), (-[KWQTextArea
17090         initWithFrame:widget:]), (-[KWQTextArea setFrame:]):
17091
17092 2002-02-15  Richard Williamson  <rjw@apple.com>
17093     
17094     Lots of changes to support forms.
17095
17096         * src/kdelibs/khtml/rendering/render_form.cpp: (RenderFormElement::slotClicked),
17097         (RenderCheckBox::performAction), (RenderRadioButton::slotClicked),
17098         (RenderSelect::RenderSelect), (RenderSelect::layout),
17099         (RenderSelect::performAction), (RenderTextArea::layout), (RenderTextArea::text),
17100         (RenderTextArea::performAction):
17101         * src/kdelibs/khtml/rendering/render_form.h:
17102         * src/kwq/KWQCheckBox.mm: (QCheckBox::QCheckBox), (QCheckBox::isChecked):
17103         * src/kwq/KWQComboBox.mm: (QComboBox::indexOfCurrentItem):
17104         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame):
17105         * src/kwq/KWQListBox.h:
17106         * src/kwq/KWQListBox.mm: (-[KWQBrowserDelegate initWithListBox:]),
17107         (-[KWQBrowserDelegate browser:numberOfRowsInColumn:]), (-[KWQBrowserDelegate
17108         browser:willDisplayCell:atRow:column:]), (-[KWQBrowserDelegate
17109         browserSingleClick:]), (-[KWQBrowserDelegate browserDoubleClick:]),
17110         (QListBox::QListBox), (QListBox::~QListBox), (QListBox::count),
17111         (QListBox::scrollBarWidth), (QListBox::clear), (QListBox::setSelectionMode),
17112         (QListBox::currentItem), (QListBox::insertItem), (QListBox::setSelected),
17113         (QListBox::isSelected), (QListBoxItem::QListBoxItem),
17114         (QListBoxItem::~QListBoxItem), (QListBoxItem::setSelectable),
17115         (QListBoxItem::width), (QListBoxItem::height):
17116         * src/kwq/KWQNSTextField.mm: (-[KWQNSTextField action:]), (-[KWQNSTextField
17117         controlTextDidEndEditing:]):
17118         * src/kwq/KWQScrollView.mm: (QScrollView::addChild):
17119         * src/kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]), (-[KWQTextArea
17120         _createTextView]), (-[KWQTextArea initWithFrame:widget:]), (-[KWQTextArea
17121         textDidEndEditing:]), (-[KWQTextArea setFrame:]):
17122         * src/kwq/KWQTextEdit.mm: (QMultiLineEdit::setCursorPosition),
17123         (QMultiLineEdit::getCursorPosition):
17124         * src/kwq/KWQView.mm: (-[KWQNSButton stateChanged:]), (-[KWQNSComboBox
17125         initWithFrame:widget:]), (-[KWQNSComboBox action:]):
17126         * src/kwq/KWQWidget.mm: (QWidget::endEditing):
17127         * src/kwq/qt/qcheckbox.h:
17128         * src/kwq/qt/qcombobox.h:
17129         * src/kwq/qt/qobject.h:
17130
17131 2002-02-13  Richard Williamson  <rjw@apple.com>
17132     
17133     Use NSSwitchButtons for check boxes.
17134
17135         * src/kwq/KWQCheckBox.mm: (QCheckBox::QCheckBox):
17136
17137 2002-02-13  Richard Williamson  <rjw@apple.com>
17138
17139     Removed dead code from setView.
17140     
17141         * src/kwq/KWQWidget.mm: (QWidget::setView):
17142
17143 2002-02-12  Richard Williamson  <rjw@apple.com>
17144
17145     Made basic forms work.
17146
17147         * src/kdelibs/khtml/rendering/render_form.cpp:
17148         (RenderFormElement::performAction), (RenderLineEdit::RenderLineEdit),
17149         (RenderLineEdit::performAction):
17150         * src/kdelibs/khtml/rendering/render_form.h:
17151         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17152         (KHTMLPart::submitForm):
17153         * src/kwq/KWQLineEdit.mm: (QLineEdit::text):
17154         * src/kwq/KWQNSTextField.mm: (-[KWQNSTextField initWithFrame:widget:]),
17155         (-[KWQNSTextField action:]), (-[KWQNSTextField controlTextDidEndEditing:]),
17156         (-[KWQNSTextField setMaximumLength:]), (-[KWQNSTextField maximumLength]):
17157         * src/kwq/KWQObject.mm: (QObject::emitAction), (QObject::performAction):
17158         * src/kwq/KWQWidget.mm: (QWidget::setView), (QWidget::endEditing):
17159         * src/kwq/kwqdebug.mm: (KWQGetLogLevel):
17160         * src/kwq/qt/qlineedit.h:
17161         * src/kwq/qt/qobject.h:
17162         * src/kwq/qt/qwidget.h:
17163
17164 2002-02-12  Maciej Stachowiak  <mjs@apple.com>
17165
17166         Make some tweaks to glue together KDE's and CF's concepts of URLs
17167         a bit better. In particular, CF thinks "file:/some/path" is an
17168         invalid URL, while KDE thinks this is the canonical form for a
17169         file URL.
17170
17171         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::closeURL),
17172         (KHTMLPart::checkCompleted):
17173         * src/kwq/KWQKjobclasses.mm:
17174
17175 2002-02-12  Maciej Stachowiak  <mjs@apple.com>
17176
17177         Reimplemented QList, QVector and QCollection from
17178         scratch. Implemented copy-on-write optimization for QMap.
17179
17180         Minimally reimplement QCollection.
17181
17182         * src/kwq/qt/qcollection.h:
17183         * src/kwq/KWQCollection.mm: (QCollection::QCollection), (QCollection::operator=),
17184         (QCollection::~QCollection), (QCollection::autoDelete),
17185         (QCollection::setAutoDelete):
17186
17187         * src/kwq/qt/qdict.h, src/kwq/qt/qptrdict.h: Include
17188         qcollection.h, not _qcollection.h
17189
17190         Reimplement QList as a doubly-linked list.
17191         
17192         * src/kwq/qt/qlist.h:
17193         * src/kwq/KWQListImpl.h:
17194         * src/kwq/KWQListImpl.mm: (KWQListImpl::KWQListPrivate::copyList),
17195         (KWQListImpl::KWQListPrivate::KWQListPrivate),
17196         (KWQListImpl::KWQListPrivate::~KWQListPrivate),
17197         (KWQListIteratorImpl::KWQListIteratorPrivate::KWQListIteratorPrivate),
17198         (KWQListImpl::KWQListImpl), (KWQListImpl::~KWQListImpl), (KWQListImpl::isEmpty),
17199         (KWQListImpl::count), (KWQListImpl::clear), (KWQListImpl::sort),
17200         (KWQListImpl::at), (KWQListImpl::insert), (KWQListImpl::remove),
17201         (KWQListImpl::removeFirst), (KWQListImpl::removeLast), (KWQListImpl::removeRef),
17202         (KWQListImpl::getLast), (KWQListImpl::current), (KWQListImpl::first),
17203         (KWQListImpl::last), (KWQListImpl::next), (KWQListImpl::prev),
17204         (KWQListImpl::take), (KWQListImpl::append), (KWQListImpl::prepend),
17205         (KWQListImpl::containsRef), (KWQListImpl::assign), (KWQListImpl::addIterator),
17206         (KWQListImpl::removeIterator), (KWQListIteratorImpl::KWQListIteratorImpl),
17207         (KWQListIteratorImpl::~KWQListIteratorImpl), (KWQListIteratorImpl::count),
17208         (KWQListIteratorImpl::toFirst), (KWQListIteratorImpl::toLast),
17209         (KWQListIteratorImpl::current), (KWQListIteratorImpl::operator--),
17210         (KWQListIteratorImpl::operator++), (KWQListIteratorImpl::operator=):
17211
17212         Reimplement QVector in terms of CFArray.
17213         
17214         * src/kwq/qt/qvector.h:
17215         * src/kwq/KWQVectorImpl.h:
17216         * src/kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate),
17217         (KWQVectorImpl::KWQVectorPrivate::~KWQVectorPrivate),
17218         (KWQVectorImpl::KWQVectorImpl), (KWQVectorImpl::~KWQVectorImpl),
17219         (KWQVectorImpl::clear), (KWQVectorImpl::isEmpty), (KWQVectorImpl::count),
17220         (KWQVectorImpl::size), (KWQVectorImpl::remove), (KWQVectorImpl::resize),
17221         (KWQVectorImpl::insert), (KWQVectorImpl::at), (KWQVectorImpl::assign),
17222         (KWQVectorImpl::KWQVectorImpl::swap):
17223
17224         Implemented copy-on-write optimization for QMap. This had the
17225         pleasant side effect of improving the separation between pointer
17226         manipulation and key/value manipulation.
17227
17228         * src/kwq/qt/qmap.h:
17229         * src/kwq/KWQMapImpl.h:
17230         * src/kwq/KWQMapImpl.mm: (KWQMapImpl::KWQMapPrivate::KWQMapPrivate),
17231         (KWQMapImpl::KWQMapPrivate::~KWQMapPrivate), (KWQMapImpl::KWQMapImpl),
17232         (KWQMapImpl::~KWQMapImpl), (KWQMapImpl::copyOnWrite), (KWQMapImpl::copyTree),
17233         (KWQMapImpl::rebalanceAfterInsert), (KWQMapImpl::rebalanceAfterRemove),
17234         (KWQMapImpl::findInternal), (KWQMapImpl::insertInternal),
17235         (KWQMapImpl::removeInternal), (KWQMapImpl::swap), (KWQMapImpl::countInternal),
17236         (KWQMapImpl::clearInternal), (KWQMapImpl::beginInternal),
17237         (KWQMapImpl::endInternal):
17238
17239         * src/kwq/Makefile.am: Add new files to build.
17240
17241         * src/kdelibs/khtml/rendering/render_text.cpp
17242         (TextSlaveArray::findFirstMatching): Fix two places where the KDE
17243         code was depending on implementation details of QVector.
17244
17245 2002-02-07  Richard Williamson  <rjw@apple.com>
17246
17247     More changes to IFLocationChangeHandler API.
17248
17249         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent):
17250
17251 2002-02-07  Richard Williamson  <rjw@apple.com>
17252
17253     Factored URL loading code out and moved to IFBaseWebController.
17254     
17255         * ChangeLog:
17256         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17257         (KHTMLPart::requestFrame):
17258
17259 2002-02-06  Richard Williamson  <rjw@apple.com>
17260
17261     Fixed allocation problems.
17262     
17263         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17264         (KHTMLPart::requestFrame):
17265
17266 2002-02-05  Richard Williamson  <rjw@apple.com>
17267
17268     Updated part to use 'official' controller APIs.
17269     
17270         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart),
17271         (KHTMLPart::khtmlMouseReleaseEvent), (KHTMLPart::requestFrame),
17272         (KHTMLPart::checkCompleted):
17273
17274 2002-02-05  Richard Williamson  <rjw@apple.com>
17275
17276     Changes to support dynamic scroll bars in frames/iframes.
17277
17278         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent):
17279         * src/kwq/KWQScrollView.mm: (QScrollView::addChild),
17280         (QScrollView::resizeContents), (QScrollView::updateContents),
17281         (QScrollView::repaintContents):
17282         * src/kwq/KWQWidget.mm: (QWidget::resize), (QWidget::move),
17283         (QWidget::internalSetGeometry):
17284
17285 2002-02-05  Kenneth Kocienda  <kocienda@apple.com>
17286
17287         Changes to move these last bits of code to the new cache API.
17288
17289         * src/kwq/KWQKjobclasses.mm:
17290         * src/kwq/WKPluginView.h:
17291         * src/kwq/WKPluginView.mm: (-[WKPluginView drawRect:]), (-[WKPluginView
17292         WCURLHandleResourceDidBeginLoading:userData:]), (-[WKPluginView
17293         WCURLHandleResourceDidCancelLoading:userData:]), (-[WKPluginView
17294         WCURLHandleResourceDidFinishLoading:userData:]), (-[WKPluginView
17295         WCURLHandle:resourceDataDidBecomeAvailable:userData:]), (-[WKPluginView
17296         WCURLHandle:resourceDidFailLoadingWithResult:userData:]):
17297
17298 2002-02-04  Maciej Stachowiak  <mjs@apple.com>
17299
17300         Fix everything for WK --> IF rename.
17301
17302         * src/kwq/KWQKHTMLPart.h:
17303         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17304         (KHTMLPart::requestFrame), (KHTMLPart::checkCompleted):
17305
17306 2002-02-01  Kenneth Kocienda  <kocienda@apple.com>
17307
17308         More cleanups to the no-copy NSData API.
17309         This time the callback from the cache/loader has been
17310         simplified from:
17311         - (void)WKURLHandle:(WKURLHandle *)sender resourceDataDidBecomeAvailable:(UInt8 *)bytes offset:(unsigned)offset length:(unsigned)length;
17312         to:
17313         - (void)WKURLHandle:(WKURLHandle *)sender resourceDataDidBecomeAvailable:(NSData *)data;
17314         This was made possible by some rearrangement in the private API.
17315
17316         * include/WCURLHandle.h:
17317         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
17318         WCURLHandle:resourceDataDidBecomeAvailable:userData:]):
17319         * src/kwq/KWQKloader.mm: (-[URLLoadClient
17320         WCURLHandle:resourceDataDidBecomeAvailable:userData:]):
17321
17322 2002-02-01  Richard Williamson  <rjw@apple.com>
17323
17324     Added support for dynamic scrolling frames.  Also added first callback for
17325     WKLocationChangeHandler.
17326     
17327         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::end), (KHTMLPart::khtmlMouseReleaseEvent),
17328         (KHTMLPart::checkCompleted):
17329
17330 2002-02-01  Kenneth Kocienda  <kocienda@apple.com>
17331
17332         Made some cleanups to the no-copy NSData API, and those changes
17333         make the use of the no-copy functionality in this client code
17334         much cleaner.
17335         
17336         * include/WCURLHandle.h:
17337         * src/kwq/KWQKloader.mm: (-[URLLoadClient
17338         WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]):
17339
17340 2002-01-31  Richard Williamson  <rjw@apple.com>
17341
17342     Added QString constructor, fixed javascript at head of document bug.
17343     
17344         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::closeURL),
17345         (KHTMLPart::write):
17346         * src/kwq/KWQString.mm: (QString::QString):
17347         * src/kwq/qt/qstring.h:
17348
17349 2002-01-31  Richard Williamson  <rjw@apple.com>
17350
17351         * src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLStyleElementImpl::detach):
17352         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::write):
17353
17354 2002-01-31  Kenneth Kocienda  <kocienda@apple.com>
17355
17356         Changes to incorporate use of the no-copy NSData object.
17357
17358         * include/WCURLHandle.h:
17359         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
17360         WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]):
17361         * src/kwq/KWQKloader.mm: (-[URLLoadClient
17362         WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]):
17363
17364 2002-01-30  Richard Williamson  <rjw@apple.com>
17365     
17366     Cleaned up frame code a bit.  Fixed duplicate content problem.
17367
17368         * src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLLinkElementImpl::detach):
17369         * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::layout):
17370         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart), (KHTMLPart::openURL),
17371         (KHTMLPart::requestFrame):
17372
17373 2002-01-30  Kenneth Kocienda  <kocienda@apple.com>
17374
17375         Added *.lo, *.la, and .libs to .cvsignore files
17376         
17377         * .cvsignore:
17378         * src/.cvsignore:
17379         * src/kdelibs/khtml/css/.cvsignore:
17380         * src/kdelibs/khtml/misc/.cvsignore:
17381         * src/kdelibs/kjs/.cvsignore:
17382
17383 2002-01-29  Richard Williamson  <rjw@apple.com>
17384
17385     Fixed QConstString to make a copy on initial chars.
17386     
17387         * ChangeLog:
17388         * src/kwq/KWQString.mm: (QString::_copyIfNeededInternalString),
17389         (QString::insert), (QString::remove), (QString::replace), (QString::truncate),
17390         (QConstString::QConstString):
17391         * src/kwq/qt/qstring.h:
17392
17393 2002-01-29  Richard Williamson  <rjw@apple.com>
17394
17395         * src/kwq/KWQString.mm: (QString::_copyIfNeededInternalString),
17396         (QString::insert), (QString::remove), (QString::replace), (QString::truncate),
17397         (QConstString::QConstString):
17398         * src/kwq/qt/qstring.h:
17399
17400 2002-01-29  Kenneth Kocienda  <kocienda@apple.com>
17401
17402         - Added in a dummy protocol to clean up a warning that results
17403         from calling a method on an id.
17404         - Cleaned up handle variable in KWQKHTMLPart. This can now be freed
17405         once we get a proper notification that a load is done.
17406         - Support for reading text encoding from HTTP headers added back in.
17407         
17408         * include/WCURLHandle.h:
17409         * src/kwq/KWQKHTMLPart.mm: (encodingFromContentType), (KHTMLPart::slotData),
17410         (KHTMLPart::openURL), (KHTMLPart::closeURL):
17411
17412 2002-01-29  Richard Williamson  <rjw@apple.com>
17413
17414     First pass as frame code.  Still needs cleanup.
17415     
17416         * src/kdelibs/khtml/dom/dom_misc.cpp: (DomShared::ref), (DomShared::deref):
17417         * src/kdelibs/khtml/dom/dom_misc.h:
17418         * src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::~KHTMLView):
17419         * src/kwq/KWQComboBox.mm: (QComboBox::setCurrentItem):
17420         * src/kwq/KWQKHTMLPart.h:
17421         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart), (KHTMLPart::begin),
17422         (KHTMLPart::end), (KHTMLPart::xmlDocImpl), (KHTMLPart::khtmlMouseReleaseEvent),
17423         (KHTMLPart::requestFrameName), (KHTMLPart::requestFrame),
17424         (KHTMLPart::requestObject), (KHTMLPart::checkCompleted):
17425
17426 2002-01-29  Kenneth Kocienda  <kocienda@apple.com>
17427
17428         Checked in the missing file
17429         
17430         * include/WCURLHandle.h:
17431
17432 2002-01-29  Kenneth Kocienda  <kocienda@apple.com>
17433
17434         Changed over to the new cache loader in WebFoundation
17435         
17436         * src/kwq/KWQKHTMLPart.h:
17437         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient init]), (-[KHTMLPartLoadClient
17438         WCURLHandleResourceDidBeginLoading:userData:]), (-[KHTMLPartLoadClient
17439         WCURLHandleResourceDidCancelLoading:userData:]), (-[KHTMLPartLoadClient
17440         WCURLHandleResourceDidFinishLoading:userData:]), (-[KHTMLPartLoadClient
17441         WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]),
17442         (-[KHTMLPartLoadClient WCURLHandle:resourceDidFailLoadingWithResult:userData:]),
17443         (-[KHTMLPartLoadClient dealloc]), (KHTMLPart::slotData), (KHTMLPart::openURL):
17444         * src/kwq/KWQKjobclasses.mm:
17445         * src/kwq/KWQKloader.mm: (-[URLLoadClient initWithLoader:]), (-[URLLoadClient
17446         WCURLHandleResourceDidBeginLoading:userData:]), (-[URLLoadClient
17447         WCURLHandleResourceDidCancelLoading:userData:]), (-[URLLoadClient
17448         WCURLHandleResourceDidFinishLoading:userData:]), (-[URLLoadClient
17449         WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]),
17450         (-[URLLoadClient WCURLHandle:resourceDidFailLoadingWithResult:userData:]),
17451         (-[URLLoadClient dealloc]):
17452         * src/kwq/kio/jobclasses.h:
17453
17454 2002-01-29  Maciej Stachowiak  <mjs@apple.com>
17455
17456         Reimplement QDict, QMap, QPtrDict and QSortedList.
17457
17458         Reimplement QDict in terms of CFDictionary:
17459         
17460         * src/kwq/qt/qdict.h:
17461         * src/kwq/KWQDictImpl.h:
17462         * src/kwq/KWQDictImpl.mm: (KWQDictImpl::KWQDictImpl), (KWQDictImpl::insert),
17463         (KWQDictImpl::remove), (KWQDictImpl::find),
17464         (KWQDictIteratorImpl::KWQDictIteratorImpl),
17465         (KWQDictIteratorImpl::currentStringKey):
17466
17467         Reimplement QMap as a right-threaded red-black tree, splitting
17468         the work between template classes that manipulate keys and values
17469         and non-template base classes that handle all the pointer
17470         manipulation:
17471         
17472         * src/kwq/qt/qmap.h:
17473         * src/kwq/KWQMapImpl.h:
17474         * src/kwq/KWQMapImpl.mm: (KWQMapNodeImpl::KWQMapNodeImpl),
17475         (KWQMapNodeImpl::left), (KWQMapNodeImpl::right), (KWQMapNodeImpl::predecessor),
17476         (KWQMapNodeImpl::successor), (KWQMapIteratorImpl::KWQMapIteratorImpl),
17477         (KWQMapIteratorImpl::incrementInternal), (KWQMapImpl::KWQMapImpl),
17478         (KWQMapImpl::rotateRight), (KWQMapImpl::rotateLeft),
17479         (KWQMapImpl::rebalanceAfterInsert), (KWQMapImpl::rebalanceAfterRemove),
17480         (KWQMapImpl::findInternal), (KWQMapImpl::insertInternal),
17481         (KWQMapImpl::removeInternal), (KWQMapImpl::swap), (KWQMapImpl::countInternal),
17482         (KWQMapImpl::clearInternal), (KWQMapImpl::beginInternal),
17483         (KWQMapImpl::endInternal):
17484
17485         Reimplement QPtrDict in terms of CFDictionary:
17486
17487         * src/kwq/qt/qptrdict.h:
17488         * src/kwq/KWQPtrDictImpl.h:
17489         * src/kwq/KWQPtrDictImpl.mm:
17490         (KWQPtrDictImpl::KWQPtrDictPrivate::KWQPtrDictPrivate),
17491         (KWQPtrDictImpl::KWQPtrDictPrivate::~KWQPtrDictPrivate),
17492         (KWQPtrDictImpl::KWQPtrDictImpl), (KWQPtrDictImpl::~KWQPtrDictImpl),
17493         (invokeDeleteFuncOnValue), (KWQPtrDictImpl::clear), (KWQPtrDictImpl::count),
17494         (KWQPtrDictImpl::insert), (KWQPtrDictImpl::remove), (KWQPtrDictImpl::find),
17495         (KWQPtrDictImpl::swap), (KWQPtrDictImpl::assign), (KWQPtrDictImpl::take),
17496         (KWQPtrDictIteratorImpl::KWQPtrDictIteratorPrivate::KWQPtrDictIteratorPrivate),
17497         (KWQPtrDictIteratorImpl::KWQPtrDictIteratorPrivate::~KWQPtrDictIteratorPrivate),
17498         (KWQPtrDictIteratorImpl::KWQPtrDictIteratorImpl),
17499         (KWQPtrDictIteratorImpl::~KWQPtrDictIteratorImpl),
17500         (KWQPtrDictIteratorImpl::count), (KWQPtrDictIteratorImpl::current),
17501         (KWQPtrDictIteratorImpl::currentKey), (KWQPtrDictIteratorImpl::toFirst),
17502         (KWQPtrDictIteratorImpl::operator++):
17503
17504         Reimplement QSortedList:
17505         
17506         * src/kwq/qt/qsortedlist.h:
17507
17508         * src/kwq/KWQArrayImpl.mm: Remove stray include.
17509
17510         * src/kwq/Makefile.am: Add new files to build.
17511
17512         * src/kwq/qt/_qdict.h, src/kwq/qt/_qgdict.h,
17513         src/kwq/qt/_qptrdict.h: Avoid causing problems when the relevant
17514         defines are not defined.
17515
17516 2002-01-22  Richard Williamson  <rjw@apple.com>
17517
17518     Implemented KWQDesktopWidget to represent main screen.  Used by javascript.
17519     
17520         * src/kwq/KWQApplication.mm: (KWQDesktopWidget::width),
17521         (KWQDesktopWidget::height), (QApplication::desktop):
17522
17523 2002-01-21  Maciej Stachowiak  <mjs@apple.com>
17524
17525         Reimplemented QArray, QBuffer, QStack and QStringList; also fixed
17526         some files for borrowed switchability, and fixed some bugs found
17527         by my new test cases.
17528
17529         # Reimplement QArray:
17530
17531         * src/kwq/qt/qarray.h:
17532         * src/kwq/KWQArrayImpl.h:
17533         * src/kwq/KWQArrayImpl.mm: (KWQArrayImpl::KWQArrayPrivate::KWQArrayPrivate),
17534         (KWQArrayImpl::KWQArrayPrivate::~KWQArrayPrivate), (KWQArrayImpl::KWQArrayImpl),
17535         (KWQArrayImpl::~KWQArrayImpl), (KWQArrayImpl::operator=), (KWQArrayImpl::at),
17536         (KWQArrayImpl::data), (KWQArrayImpl::size), (KWQArrayImpl::resize),
17537         (KWQArrayImpl::duplicate), (KWQArrayImpl::fill), (KWQArrayImpl::operator==):
17538
17539         # Reimplement QBuffer:
17540
17541         * src/kwq/qt/qbuffer.h:
17542         * src/kwq/KWQBuffer.mm: (QBuffer::QBuffer), (QBuffer::~QBuffer),
17543         (QBuffer::buffer), (QBuffer::size), (QBuffer::isOpen), (QBuffer::open),
17544         (QBuffer::close), (QBuffer::writeBlock):
17545         * src/kwq/qt/qiodevice.h:
17546
17547         # Reimplement QStringList:
17548
17549         * src/kwq/KWQStringList.mm: (QStringToCFString), (QStringList::split),
17550         (QStringList::QStringList), (QStringList::~QStringList), (QStringList::join),
17551         (QStringList::operator=):
17552
17553         # Reimplement QStack:
17554         * src/kwq/qt/qstack.h:
17555
17556         * src/kwq/Makefile.am: Add new files to build.
17557
17558         * src/kwq/KWQString.mm: (QString::find): Fix bug which returned
17559         the very first occurence in the string even when the optional
17560         starting point was passed in. Some of my new regression tests
17561         picked this up.
17562
17563         # Temporarily work around uses of non-kwq APIs:
17564         
17565         * src/kwq/WKPluginWidget.h:
17566         * src/kwq/qt/_qfile.cpp
17567         * src/kwq/qt/_qbuffer.cpp
17568         
17569         # Guard contents of all these with the appropriate USING ifdef:
17570         
17571         * src/kwq/KWQStrList.h:
17572         * src/kwq/qt/_qarray.h:
17573         * src/kwq/qt/_qgarray.h:
17574         * src/kwq/qt/_qstrlist.h:
17575         
17576 2002-01-19  Maciej Stachowiak  <mjs@apple.com>
17577
17578         * src/kdelibs/kjs/Makefile.am: Fix testkjs build.
17579
17580         Fix a couple more static initialization problems:
17581         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::urlCursor):
17582         * src/kwq/KWQRegion.mm: (QRegion::QRegion), (QRegion::operator=):
17583
17584         * src/.cvsignore, src/kdelibs/.cvsignore,
17585         src/kdelibs/khtml/css/.cvsignore,
17586         src/kdelibs/khtml/misc/.cvsignore, src/kdelibs/kjs/.cvsignore:
17587         Ignore stamp files.
17588
17589 2002-01-18  Richard Williamson  <rjw@apple.com>
17590
17591     First pass at new view/datasource/controller API.
17592
17593         * src/kwq/KWQApplication.mm: (QApplication::QApplication),
17594         (QApplication::setMainWidget), (QApplication::exec):
17595         * src/kwq/KWQRegion.mm: (QRegion::QRegion), (QRegion::~QRegion),
17596         (QRegion::contains), (QRegion::isNull):
17597         * src/kwq/Makefile.am:
17598         * src/kwq/_KWQOwner.h:
17599         * src/kwq/_KWQOwner.m:
17600         * src/kwq/qt/qnamespace.h:
17601
17602 2002-01-18  Maciej Stachowiak  <mjs@apple.com>
17603
17604         Avoid static initialization of objects as much as possible. Order
17605         of static initializers is unpredictable and we had some
17606         cross-dependencies, so avoid this practice as much as possible to
17607         fix various startup crashes.
17608
17609         * src/kwq/KWQApplication.mm: (QApplication::palette),
17610         (QApplication::globalStrut):
17611         * src/kwq/KWQChar.mm:
17612         * src/kwq/KWQColor.mm:
17613         * src/kwq/KWQCursor.mm: (QCursor::QCursor), (QCursor::~QCursor):
17614         * src/kwq/KWQEvent.mm:
17615         * src/kwq/KWQKConfigBase.mm: (KConfigBase::readEntry),
17616         (KConfigBase::readColorEntry), (KConfigBase::readListEntry):
17617         * src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::encoding):
17618         * src/kwq/KWQKJavaEmbed.mm: (KJavaEmbed::sizeHint),
17619         (KJavaEmbed::minimumSizeHint):
17620         * src/kwq/KWQKLocale.mm: (KLocale::language):
17621         * src/kwq/KWQKMimeType.mm: (KMimeType::findByURL), (KMimeType::name):
17622         * src/kwq/KWQKPrinter.mm: (KPrinter::margins):
17623         * src/kwq/KWQKProtocolManager.mm: (KProtocolManager::httpProxy):
17624         * src/kwq/KWQKWinModule.mm: (KWinModule::workArea):
17625         * src/kwq/KWQKjobclasses.mm:
17626         * src/kwq/KWQKnetaccess.mm:
17627         * src/kwq/KWQPart.mm: (KParts::Part::widget), (KParts::ReadOnlyPart::url):
17628         * src/kwq/KWQPixmap.mm: (QPixmap::mask):
17629         * src/kwq/KWQToolTip.mm: (QToolTip::palette):
17630         * src/kwq/kde/_kurl.cpp:
17631         * src/kwq/kdecore/kurl.h:
17632
17633 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
17634
17635         Fix a couple of problems that kept `make -j3' from working from a
17636         clean start (use stamp files to serialize build a bit more where
17637         needed)
17638
17639         * src/Makefile.am:
17640         * src/kdelibs/khtml/css/Makefile.am:
17641         * src/kdelibs/khtml/misc/Makefile.am:
17642         * src/kdelibs/kjs/Makefile.am:
17643
17644 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
17645
17646         * src/kwq/Makefile.am: Fix another bonehead mistake.
17647
17648 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
17649
17650         Fix bonehead mistakes in last checkin which were killing Jersey.
17651
17652         * src/kdelibs/khtml/ecma/Makefile.am:
17653         * src/kdelibs/khtml/html/Makefile.am:
17654         * src/kdelibs/khtml/rendering/Makefile.am:
17655         * src/kwq/kde/Makefile.am:
17656
17657 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
17658
17659         More build system speedups; instead of building static libraries
17660         in each directory, build relocatble object files, using the magic
17661         of incremental linking.
17662
17663         * src/Makefile.am:
17664         * src/kdelibs/khtml/Makefile.am:
17665         * src/kdelibs/khtml/css/Makefile.am:
17666         * src/kdelibs/khtml/dom/Makefile.am:
17667         * src/kdelibs/khtml/ecma/Makefile.am:
17668         * src/kdelibs/khtml/html/Makefile.am:
17669         * src/kdelibs/khtml/java/Makefile.am:
17670         * src/kdelibs/khtml/misc/Makefile.am:
17671         * src/kdelibs/khtml/rendering/Makefile.am:
17672         * src/kdelibs/khtml/xml/Makefile.am:
17673         * src/kdelibs/kjs/Makefile.am:
17674         * src/kwq/Makefile.am:
17675         * src/kwq/kde/Makefile.am:
17676         * src/kwq/qt/Makefile.am:
17677
17678 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
17679
17680         Build speedups: Don't use libtool, and don't link static libraries
17681         into each other.
17682         
17683         * src/Makefile.am
17684         * src/kdelibs/khtml/Makefile.am:
17685         * src/kdelibs/khtml/css/Makefile.am:
17686         * src/kdelibs/khtml/dom/Makefile.am:
17687         * src/kdelibs/khtml/ecma/Makefile.am:
17688         * src/kdelibs/khtml/html/Makefile.am:
17689         * src/kdelibs/khtml/java/Makefile.am:
17690         * src/kdelibs/khtml/misc/Makefile.am:
17691         * src/kdelibs/khtml/rendering/Makefile.am:
17692         * src/kdelibs/khtml/xml/Makefile.am:
17693         * src/kdelibs/kjs/Makefile.am:
17694         * src/kwq/Makefile.am:
17695         * src/kwq/kde/Makefile.am:
17696         * src/kwq/qt/Makefile.am:
17697
17698 2002-01-16  Maciej Stachowiak  <mjs@apple.com>
17699
17700         * src/kwq/qt/_qpoint.h, src/kwq/qt/_qrect.h, src/kwq/qt/_qsize.h,
17701         src/kwq/qt/qpoint.h, src/kwq/qt/qrect.h, src/kwq/qt/qsize.h: Make
17702         QPoint, QRect and QSize easily turn-off-able again.
17703
17704 2002-01-15  Maciej Stachowiak  <mjs@apple.com>
17705
17706         * src/kdelibs/kjs/Makefile.am: Add missing files to BUILT_SOURCES
17707         and build rules to fix `make -j3'
17708
17709 2002-01-14  Maciej Stachowiak  <mjs@apple.com>
17710
17711         * .cvsignore:
17712         * Makefile.am:
17713         * Makefile.in:
17714         * include/.cvsignore:
17715         * include/Makefile.am:
17716         * include/private/.cvsignore:
17717         * include/private/Makefile.am:
17718         * lib/.cvsignore:
17719         * lib/Makefile.in:
17720         * src/.cvsignore:
17721         * src/Makefile.am:
17722         * src/kdelibs/.cvsignore:
17723         * src/kdelibs/Makefile.am:
17724         * src/kdelibs/kdecore/.cvsignore:
17725         * src/kdelibs/kdecore/Makefile.am:
17726         * src/kdelibs/kdecore/Makefile.in:
17727         * src/kdelibs/khtml/.cvsignore:
17728         * src/kdelibs/khtml/Makefile.am:
17729         * src/kdelibs/khtml/Makefile.in:
17730         * src/kdelibs/khtml/css/.cvsignore:
17731         * src/kdelibs/khtml/css/Makefile.am:
17732         * src/kdelibs/khtml/css/Makefile.in:
17733         * src/kdelibs/khtml/dom/.cvsignore:
17734         * src/kdelibs/khtml/dom/Makefile.am:
17735         * src/kdelibs/khtml/dom/Makefile.in:
17736         * src/kdelibs/khtml/ecma/.cvsignore:
17737         * src/kdelibs/khtml/ecma/Makefile.am:
17738         * src/kdelibs/khtml/ecma/Makefile.in:
17739         * src/kdelibs/khtml/html/.cvsignore:
17740         * src/kdelibs/khtml/html/Makefile.am:
17741         * src/kdelibs/khtml/html/Makefile.in:
17742         * src/kdelibs/khtml/java/.cvsignore:
17743         * src/kdelibs/khtml/java/ChangeLog:
17744         * src/kdelibs/khtml/java/Makefile.am:
17745         * src/kdelibs/khtml/java/Makefile.in:
17746         * src/kdelibs/khtml/java/tests/Makefile.am:
17747         * src/kdelibs/khtml/misc/.cvsignore:
17748         * src/kdelibs/khtml/misc/Makefile.am:
17749         * src/kdelibs/khtml/misc/Makefile.in:
17750         * src/kdelibs/khtml/pics/Makefile.am:
17751         * src/kdelibs/khtml/rendering/.cvsignore:
17752         * src/kdelibs/khtml/rendering/Makefile.am:
17753         * src/kdelibs/khtml/rendering/Makefile.in:
17754         * src/kdelibs/khtml/xml/.cvsignore:
17755         * src/kdelibs/khtml/xml/Makefile.am:
17756         * src/kdelibs/khtml/xml/Makefile.in:
17757         * src/kdelibs/kjs/.cvsignore:
17758         * src/kdelibs/kjs/ChangeLog:
17759         * src/kdelibs/kjs/Makefile.am:
17760         * src/kdelibs/kjs/Makefile.in:
17761         * src/kdelibs/kjs/kjs-test:
17762         * src/kdelibs/kjs/kjs-test.chk:
17763         * src/kwq/.cvsignore:
17764         * src/kwq/Makefile.am:
17765         * src/kwq/Makefile.in:
17766         * src/kwq/_KWQOwner.m: (-[_KWQOwner backForwardUriDone:]):
17767         * src/kwq/kde/.cvsignore:
17768         * src/kwq/kde/Makefile.am:
17769         * src/kwq/kde/Makefile.in:
17770         * src/kwq/kdecore/.cvsignore:
17771         * src/kwq/kdecore/Makefile.in:
17772         * src/kwq/khtml/khtml_factory.h:
17773         * src/kwq/qt/.cvsignore:
17774         * src/kwq/qt/Makefile.am:
17775         * src/kwq/qt/Makefile.in:
17776
17777 2002-01-09  Richard Williamson  <rjw@apple.com>
17778
17779         Re-implemented underlining.  Now it REALLY works, honest.
17780         
17781         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
17782         * src/kwq/KWQFontMetrics.mm: (+[KWQLayoutInfo
17783         drawUnderlineForString:atPoint:withFont:color:]):
17784         * src/kwq/KWQMetrics.h:
17785         * src/kwq/KWQPainter.mm: (QPainter::drawUnderlineForText):
17786         * src/kwq/qt/qpainter.h:
17787
17788 2001-12-20  Richard Williamson  <rjw@apple.com>
17789         
17790         More tweaks to text layout and underlining.
17791
17792         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
17793         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::baselineOffset),
17794         (QFontMetrics::ascent), (QFontMetrics::descent), (QFontMetrics::height),
17795         (QFontMetrics::width):
17796         * src/kwq/KWQPainter.mm: (QPainter::drawText):
17797         * src/kwq/qt/qfontmetrics.h:
17798
17799 2001-12-18  Maciej Stachowiak  <mjs@apple.com>
17800
17801         * src/kwq/KWQCString.mm: (QCString::QCString),
17802         (QCString::isEmpty), (QCString::isNull), (QCString::length): Fix
17803         some bugs found by the test suite in the emptiness/null semantics.
17804
17805         Reimplement QPoint, QSize and QRect:
17806
17807         * src/kwq/qt/qpoint.h, src/kwq/qt/qrect.h, src/kwq/qt/qsize.h:
17808         Update.
17809         * src/kwq/KWQPoint.mm: (QPoint::QPoint), (QPoint::x), (QPoint::y),
17810         (QPoint::manhattanLength), (operator+), (operator-), (operator<<):
17811         Fresh implementations.
17812         * src/kwq/KWQRect.mm: (QRect::QRect), (QRect::isNull), (QRect::isValid),
17813         (QRect::x), (QRect::y), (QRect::left), (QRect::top), (QRect::right),
17814         (QRect::bottom), (QRect::width), (QRect::height), (QRect::topLeft),
17815         (QRect::size), (QRect::setWidth), (QRect::setHeight), (QRect::intersect),
17816         (QRect::intersects), (QRect::operator&), (operator==), (operator!=),
17817         (operator<<): Likewise.
17818         * src/kwq/KWQSize.mm: (QSize::QSize), (QSize::isValid), (QSize::width),
17819         (QSize::height), (QSize::setWidth), (QSize::setHeight), (QSize::expandedTo),
17820         (operator+), (operator==), (operator!=), (operator<<): Likewise.
17821         * src/kwq/qt/_qpoint.cpp, src/kwq/qt/_qrect.cpp,
17822         src/kwq/qt/_qsize.cpp: Disable the whole file contents when
17823         building.
17824         * src/kwq/Makefile.in: Add new files to build.
17825         
17826         Start moving away from QShared so we can remove it:
17827
17828         * src/kwq/qt/qbrush.h, src/kwq/KWQBrush.mm: (QBrush::QBrush),
17829         (QBrush::color),
17830         (QBrush::setColor), (QBrush::style), (QBrush::setStyle),
17831         (QBrush::operator==), (QBrush::operator!=): Don't use shared data
17832         for this simple value object, the optimization value is
17833         quastionable anyway.
17834         * src/kwq/qt/qpen.h, src/kwq/KWQPen.mm: (QPen::QPen),
17835         (QPen::color), (QPen::width), (QPen::style),
17836         (QPen::setColor), (QPen::setWidth), (QPen::setStyle),
17837         (QPen::operator==): Likewise.
17838         * src/kwq/KWQPainter.mm: (QPainter::setPen), (QPainter::setBrush):
17839         Update for changes to pen.
17840         * src/kwq/KWQRefPtr.h: New reference-counted pointer template.
17841         * src/kwq/qt/qguardedptr.h, src/kwq/KWQGuardedPtr.mm:
17842         (QGuardedPtrPrivate::QGuardedPtrPrivate): Use KWQRefPtr instead of
17843         QShared.
17844         * src/kwq/qt/qvariant.h, src/kwq/KWQVariant.mm:
17845         (QVariant::QVariant), (QVariant::~QVariant),
17846         (QVariant::operator=): Use KWQRefPtr instead of
17847         QShared.
17848         * src/kwq/qt/qnamespace.h: Remove private constructor and
17849         destructor since people want to subclass this.
17850
17851         * src/kwq/_KWQOwner.h: Add include guards and standard license.
17852
17853         * src/kdelibs/khtml/ecma/kjs_binding.h: Add include of qvariant.h,
17854         how could stuff ever compile without this?
17855
17856 2001-12-18  Richard Williamson  <rjw@apple.com>
17857
17858         Finally fixed underlining.
17859         
17860         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
17861         * src/kwq/KWQFontMetrics.mm:
17862
17863 2001-12-18  Maciej Stachowiak  <mjs@apple.com>
17864
17865         * src/kwq/Makefile.in: Re-apply my changes, which accidentally got
17866         clobbered.
17867
17868 2001-12-13  Maciej Stachowiak  <mjs@apple.com>
17869
17870         Changes for international character set support. Still needs work,
17871         but no worse than before. amazon.co.jp renders almost correctly.
17872         
17873         * src/kwq/KWQCharsets.h, src/kwq/KWQCharsets.mm:
17874         (KWQCFStringEncodingFromIANACharsetName,
17875         KWQCFStringEncodingFromMIB, KWQCFStringEncodingToIANACharsetName,
17876         KWQCFStringEncodingToMIB): New functions that translate between
17877         the Qt concept of charaxcter sets and the
17878         (buildDictionaries): static helper function for the above.
17879         * src/kwq/KWQtextcodec.mm: (codecForCFStringEncoding,
17880         QTextCodec::codecForMib), QTextCodec::codecForName,
17881         QTextCodec::codecForLocale, QTextCodec::name,QTextCodec::mibEnum):
17882         Implement for real.
17883         * src/kwq/KWQKCharsets.mm: (KCharsets::codecForName,
17884         KCharsets::charsetForEncoding, KCharsets::charsetForEncoding):
17885         Implement for real.
17886         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::slotData): Get encoding
17887         from headers if present.
17888         (encodingFromContentType): Helper function for the above. 
17889         (KHTMLPart::begin): Reinitialize decoder for every page.
17890         (KHTMLPart::write): Minor bug fix.
17891         (KHTMLPart::setEncoding): Implement.
17892         (KHTMLPart::khtmlMouseMoveEvent,
17893         KHTMLPart::khtmlMouseReleaseEvent, KHTMLPart::checkCompleted):
17894         Simplify ifdefs to make prepare-ChangeLog happy.
17895         * src/kwq/qt/qstring.h, src/kwq/KWQString.mm:
17896         (QString::fromCFString): New convenience method to create a
17897         QString from an immutable CFString by copying,
17898         * src/kwq/character-sets.txt: IANA document describing character
17899         sets.
17900         * src/kwq/make-charset-table.pl, src/kwq/make-mac-encodings.c:
17901         Helper programs to construct charset tables from IANA document.
17902         * src/kwq/Makefile.in: Update to handle the autogenerated code.
17903         * src/kwq/.cvsignore: Ignore new autogenerated files.
17904         
17905         * src/kdelibs/khtml/misc/decoder.cpp: (Decoder::decode): Fix
17906         decoding when the encoding is specified in the http headers (which
17907         seems like it could never have worked in KDE).
17908
17909         * include/WCBackForwardList.h, include/WCURICache.h,
17910         include/WCURICacheData.h, include/WCURIEntry.h: Fix prototypes of
17911         C functions with no arguments to use (void), not (), to avoid
17912         warnings in WebKit.
17913
17914 2001-12-11  Chris Blumenberg  <cblu@apple.com>
17915
17916         * ChangeLog:
17917         * src/kwq/KWQKHTMLPart.mm:
17918
17919 2001-12-11  Chris Blumenberg  <cblu@apple.com>
17920
17921         * src/kwq/KWQKHTMLPart.mm:
17922
17923 2001-12-10  Kenneth Kocienda  <kocienda@apple.com>
17924
17925         Went back and did a better job of cleaning up the warnings
17926         that resulted from comparing signed and unsigned numbers.
17927
17928         * src/kwq/KWQString.mm: (QString::insert), (QString::remove),
17929         (QString::truncate):
17930
17931 2001-12-07  Richard Williamson  <richwill@richwill.com>
17932
17933         Fixed bug that was highlighted when we turned on warnings.
17934         
17935         * src/kwq/KWQFontMetrics.mm:
17936         * src/kwq/KWQMetrics.h:
17937
17938 2001-12-07  Kenneth Kocienda  <kocienda@apple.com>
17939
17940         Fixed small bug in a comparison that was making -Wall complain
17941
17942         * src/kwq/KWQString.mm:
17943