Rubber-stamped by Brady Eidson.
[webbrowser.git] / WebCore / ChangeLog-2002-12-03
blob17ea462b2d4dfe0c7a9dc85857d051d2f74d2ebd
1 2002-12-03  David Hyatt  <hyatt@apple.com>
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
8         * khtml/rendering/render_table.cpp:
9         (RenderTable::addChild):
10         (RenderTableSection::addChild):
11         (RenderTableRow::addChild):
13 2002-12-03  David Hyatt  <hyatt@apple.com>
15         Backing out a file that I did not intend to check in.
17         * khtml/misc/loader.cpp:
19 2002-12-03  Richard Williamson   <rjw@apple.com>
21         D'oh.  Fixed last minute change that broke the build.
22         
23         * kwq/KWQFont.mm:
24         (QFont::getNSFont):
26 2002-12-03  David Hyatt  <hyatt@apple.com>
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
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):
44 2002-12-03  Richard Williamson   <rjw@apple.com>
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:]):
66 2002-12-03  David Hyatt  <hyatt@apple.com>
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>.
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:
80 2002-12-03  David Hyatt  <hyatt@apple.com>
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.
86         <a><h4>...</h4></a>
88         r=mjs
89         
90         * khtml/rendering/render_object.cpp:
91         (RenderObject::nodeAtPoint):
93 2002-12-03  David Hyatt  <hyatt@apple.com>
95         Eliminate the KONQBLOCK hack.  Fixes ipodhacks.com (a mislayout
96         caused by malformed html... <table><br>...)
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):
117 2002-12-02  David Hyatt  <hyatt@apple.com>
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.
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:
134 2002-12-02  David Hyatt  <hyatt@apple.com>
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.
143         This fixes aintitcool.com.
144         
145         * khtml/rendering/render_flow.cpp:
146         (RenderFlow::layoutBlockChildren):
148 2002-12-01  David Hyatt  <hyatt@apple.com>
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:
169 2002-11-29  Don Melton  <gramps@apple.com>
171         * khtml/css/html4.css:
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
180 2002-11-27  David Hyatt  <hyatt@apple.com>
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:
191 2002-11-27  Maciej Stachowiak  <mjs@apple.com>
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):
200 2002-11-27  David Hyatt  <hyatt@apple.com>
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):
209 2002-11-27  David Hyatt  <hyatt@apple.com>
211         Numerous overflow: hidden improvements to fix espn.com.
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.)
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:
234 2002-11-27  David Hyatt  <hyatt@apple.com>
236         * khtml/rendering/render_box.cpp:
237         (RenderBox::getClipRect):
238         (RenderBox::calcAbsoluteVertical):
239         * khtml/rendering/render_layer.cpp:
240         (RenderLayer::paint):
242 2002-11-27  David Hyatt  <hyatt@apple.com>
244         Fix for 3105502.  drop-downs wrapping to next line.
245         
246         * khtml/css/html4.css:
248 2002-11-26  David Hyatt  <hyatt@apple.com>
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):
256 2002-11-26  David Hyatt  <hyatt@apple.com>
258         Don't let blocks inside inlines collapse with their surroundings
259         ever.
260         
261         * khtml/rendering/render_flow.cpp:
262         (RenderFlow::layoutBlockChildren):
264 2002-11-26  David Hyatt  <hyatt@apple.com>
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):
274 2002-11-26  David Hyatt  <hyatt@apple.com>
276         Fix the font family stuff to be refcounted, so copying
277         fonts stays cheap.  Re-enabling it.
279         Patch the render_arena code with some debugging info
280         to help detect when memory gets trashed.
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=):
296 === Alexander-34 ===
298 2002-11-26  David Hyatt  <hyatt@apple.com>
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).
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:
311 2002-11-26  David Hyatt  <hyatt@apple.com>
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:
320 2002-11-25  Richard Williamson   <rjw@apple.com>
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]):
330 2002-11-25  Richard Williamson   <rjw@apple.com>
332         Added check for non-nil doc.
333         
334         * kwq/KWQKHTMLPart.mm:
335         (KWQKHTMLPart::setView):
337 2002-11-25  David Hyatt  <hyatt@apple.com>
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):
346 2002-11-25  Richard Williamson   <rjw@apple.com>
348         Tweaked some debugging info.
349         
350         * khtml/xml/dom_docimpl.cpp:
351         (DocumentImpl::~DocumentImpl):
352         (DocumentImpl::detach):
354 2002-11-25  Chris Blumenberg  <cblu@apple.com>
356         Use ^= to refer to OBJECTs with TYPEs that start with "image/". This is better than hard-coding image mime types.
358         * khtml/css/html4.css:
360 2002-11-25  Chris Blumenberg  <cblu@apple.com>
362         Fixed: 2987001 - spurious mime-type errors from <object> images
364         KHTML didn't seem to have any clean support for OBJECT tags that are images. Added support for that.
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
376 2002-11-25  David Hyatt  <hyatt@apple.com>
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):
387 2002-11-25  David Hyatt  <hyatt@apple.com>
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):
398 2002-11-25  David Hyatt  <hyatt@apple.com>
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):
422 2002-11-25  Richard Williamson   <rjw@apple.com>
424         Changes for back/forward.  Currently disabled.
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::]):
461 2002-11-25  David Hyatt  <hyatt@apple.com>
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:
472 2002-11-25  David Hyatt  <hyatt@apple.com>
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):
482 2002-11-25  David Hyatt  <hyatt@apple.com>
484         Don't add in the halfleading for align=texttop. That's incorrect.
485         
486         * khtml/rendering/render_object.cpp:
487         (RenderObject::getVerticalPosition):
489 2002-11-24  Maciej Stachowiak  <mjs@apple.com>
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:
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.
514 2002-11-24  David Hyatt  <hyatt@apple.com>
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.
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.
524         Now if you open an <i> or a <b> and just leave it open across
525         blocks, this will work.
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.
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:]):
564 2002-11-24  Chris Blumenberg  <cblu@apple.com>
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.
568         * kwq/WebCoreBridge.h:
569         * kwq/WebCoreBridge.mm:
570         (-[WebCoreBridge elementAtPoint:]):
572 2002-11-24  Darin Adler  <darin@apple.com>
574         * force-js-clean-timestamp: Touch for ScopeChain change.
576 2002-11-24  Maciej Stachowiak  <mjs@apple.com>
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.
585 2002-11-24  Maciej Stachowiak  <mjs@apple.com>
587         - fixed 3081946 - bookmarklet reports the wrong "windowfull" size
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.
597 2002-11-22  Darin Adler  <darin@apple.com>
599         * khtml/ecma/kjs_window.cpp: Remove _COLLECTOR hack.
601         * kwq/WebCoreJavaScript.h:
602         * kwq/WebCoreJavaScript.mm:
603         (+[WebCoreJavaScript rootObjectClasses]):
604         Update for name change -- root object classes, not all live object classes.
606         * force-js-clean-timestamp: Make sure we don't have more build problems.
608 2002-11-22  David Hyatt  <hyatt@apple.com>
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):
618 2002-11-22  David Hyatt  <hyatt@apple.com>
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):
626 2002-11-22  David Hyatt  <hyatt@apple.com>
628         Make <select>s and <button>s ignore a CSS-specified width if that
629         width is smaller than their intrinsic width.
631         Fixes the <select> at the top of livepage.apple.com.
632         
633         * khtml/rendering/render_box.cpp:
634         (RenderBox::calcReplacedWidth):
636 2002-11-22  Darin Adler  <darin@apple.com>
638         - started checking in all our generated source files for the benefit of B&I
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.
667 2002-11-22  David Hyatt  <hyatt@apple.com>
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:
679 2002-11-22  Darin Adler  <darin@apple.com>
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.
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.
691 2002-11-22  David Hyatt  <hyatt@apple.com>
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:
706 2002-11-21  Darin Adler  <darin@apple.com>
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.
714         * force-js-clean-timestamp: Not sure this is required, but better safe than sorry.
716 2002-11-21  Maciej Stachowiak  <mjs@apple.com>
718         * force-js-clean-timestamp: Touch so other people's builds work.
720 2002-11-21  David Hyatt  <hyatt@apple.com>
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):
728 2002-11-21  David Hyatt  <hyatt@apple.com>
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):
737 2002-11-21  David Hyatt  <hyatt@apple.com>
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):
747 2002-11-21  Maciej Stachowiak  <mjs@apple.com>
749         * Makefile.am: Pass symroots for this tree to pbxbuild.
751 2002-11-21  David Hyatt  <hyatt@apple.com>
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:
765 === Alexander-33 ===
767 2002-11-21  Richard Williamson   <rjw@apple.com>
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):
776 2002-11-21  David Hyatt  <hyatt@apple.com>
778         Fix mac.com regression (and weather.com regression).
779         
780         * khtml/rendering/bidi.cpp:
781         (RenderFlow::findNextLineBreak):
783 2002-11-21  Richard Williamson   <rjw@apple.com>
785         Fixed performance regression!  Argh.
786         
787         * khtml/rendering/font.cpp:
788         (Font::width):
790 2002-11-21  Darin Adler  <darin@apple.com>
792         * force-js-clean-timestamp: Trigger a rebuild because of the
793         size change in ValueImp.
795 2002-11-21  Darin Adler  <darin@apple.com>
797         - fixed 3107286 -- REGRESSION: unrepro assertion failure in KWQKHTMLPart.mm keyEvent
799         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent):
800         Handle case of nil document as well as case of nil focus node.
802         * kwq/WebCoreBridge.mm: Tweak whitespace.
804 2002-11-20  Darin Adler  <darin@apple.com>
806         - fixed 3107383 -- clicking link on cnet.com leads to assertion failure
808         When we removed a frame, we were leaving behind an empty WebView. Yuck.
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.
821 2002-11-20  Darin Adler  <darin@apple.com>
823         * force-js-clean-timestamp: Again.
825 2002-11-20  David Hyatt  <hyatt@apple.com>
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):
833 2002-11-20  Maciej Stachowiak  <mjs@apple.com>
835         * force-js-clean-timestamp: Work around PB lameness yet again.
837 2002-11-19  Darin Adler  <darin@apple.com>
839         * force-js-clean-timestamp: Make other people's builds work.
841 2002-11-19  David Hyatt  <hyatt@apple.com>
843         I screwed up the line breaking for inline replaced elements.
844         
845         * khtml/rendering/render_flow.cpp:
846         (RenderFlow::calcInlineMinMaxWidth):
848 2002-11-19  Darin Adler  <darin@apple.com>
850         - another atomic identifier scrub pass; make the conversion to Identifier explicit
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.
857 2002-11-19  David Hyatt  <hyatt@apple.com>
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:
871 2002-11-19  Darin Adler  <darin@apple.com>
873         - next step towards atomic identifiers; Identifier is no longer derived from UString
875         * khtml/ecma/kjs_binding.cpp:
876         (Identifier::string): Added.
877         (Identifier::qstring): Added.
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.
913 2002-11-19  David Hyatt  <hyatt@apple.com>
915         Fix backgrounds not painting in deployment builds.
916         * khtml/rendering/render_box.cpp:
917         (RenderBox::paintBackground):
919 2002-11-19  Darin Adler  <darin@apple.com>
921         - a first step towards atomic identifiers in JavaScript
923         Most places that work with identifiers now use Identifier
924         instead of UString.
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:
947 2002-11-18  Darin Adler  <darin@apple.com>
949         * force-js-clean-timestamp: Another Object change.
951 2002-11-18  David Hyatt  <hyatt@apple.com>
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:
1022 2002-11-18  Darin Adler  <darin@apple.com>
1024         * force-js-clean-timestamp: I changed the size of ObjectImp.
1026 2002-11-18  David Hyatt  <hyatt@apple.com>
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):
1037 2002-11-18  David Hyatt  <hyatt@apple.com>
1039         Fix crash on espn.com.
1040         
1041         * khtml/rendering/render_object.cpp:
1042         (RenderObject::setLayouted):
1044 2002-11-18  David Hyatt  <hyatt@apple.com>
1046         Fix my <konqblock> regression on ign.com.
1047         
1048         * khtml/html/htmlparser.cpp:
1049         (KHTMLParser::insertNode):
1051 2002-11-18  Maciej Stachowiak  <mjs@apple.com>
1053         * force-js-clean-timestamp: Rebuild for JSC changes.
1055 2002-11-18  Darin Adler  <darin@apple.com>
1057         * force-js-clean-timestamp: Touch files to make the build work.
1059 2002-11-18  Richard Williamson   <rjw@apple.com>
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.
1065         * khtml/css/cssstyleselector.cpp:
1067 2002-11-18  David Hyatt  <hyatt@apple.com>
1069         Fix render_body's repaint method.
1070         
1071         * khtml/rendering/render_body.cpp:
1072         (RenderBody::repaint):
1073         * khtml/rendering/render_body.h:
1075 2002-11-18  Maciej Stachowiak  <mjs@apple.com>
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.
1084 2002-11-18  David Hyatt  <hyatt@apple.com>
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).
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):
1101 2002-11-17  David Hyatt  <hyatt@apple.com>
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):
1118 2002-11-17  David Hyatt  <hyatt@apple.com>
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):
1129 2002-11-17  David Hyatt  <hyatt@apple.com>
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):
1141 2002-11-17  Darin Adler  <darin@apple.com>
1143         - moved all NSURL and CFURL use out of WebCore
1145         * kwq/KWQKURL.h: Remove getNSURL() and getNSURLFromString().
1146         * kwq/KWQKURL.mm: Ditto.
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.
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.
1188 2002-11-17  David Hyatt  <hyatt@apple.com>
1190         Add support for specifying whether repaint should be immediate or
1191         not.  Default to async for now to maintain current behavior.
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:
1223 2002-11-17  Maciej Stachowiak  <mjs@apple.com>
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.
1252 2002-11-17  David Hyatt  <hyatt@apple.com>
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):
1260 2002-11-17  David Hyatt  <hyatt@apple.com>
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:
1269 2002-11-17  David Hyatt  <hyatt@apple.com>
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):
1277 2002-11-17  David Hyatt  <hyatt@apple.com>
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.
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.
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):
1308 2002-11-16  David Hyatt  <hyatt@apple.com>
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:
1315 2002-11-16  David Hyatt  <hyatt@apple.com>
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).
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>
1326         The new code now properly handles building up the correct min/max
1327         width for the <pre>.
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):
1338 2002-11-16  David Hyatt  <hyatt@apple.com>
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):
1346 2002-11-16  David Hyatt  <hyatt@apple.com>
1348         Make <caption> error-handling more robust.
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):
1356 2002-11-16  David Hyatt  <hyatt@apple.com>
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.
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):
1368 2002-11-16  David Hyatt  <hyatt@apple.com>
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>).
1374         This fixes bug 3063699.
1375         
1376         * khtml/html/htmlparser.cpp:
1377         (KHTMLParser::processCloseTag):
1378         (KHTMLParser::popBlock):
1380 2002-11-15  David Hyatt  <hyatt@apple.com>
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.
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):
1406 2002-11-15  David Hyatt  <hyatt@apple.com>
1408         Fix the problem where the last lines of paragrpahs were getting
1409         justified incorrectly.
1410         
1411         * khtml/rendering/bidi.cpp:
1412         (RenderFlow::findNextLineBreak):
1414 2002-11-15  David Hyatt  <hyatt@apple.com>
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):
1422 2002-11-15  Ken Kocienda  <kocienda@apple.com>
1424         Fix for this bug:
1426         Radar 3102708 (REGRESSION: assertion failure backing up to page)
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).
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)
1441 2002-11-15  David Hyatt  <hyatt@apple.com>
1443         Fix asserts in tables.
1444         
1445         * khtml/rendering/render_table.cpp:
1446         (RenderTableRow::layout):
1448 2002-11-15  David Hyatt  <hyatt@apple.com>
1450         Fix for whitespace regressions that caused text overlapping
1451         and text spilling.
1452         
1453         * khtml/rendering/bidi.cpp:
1454         (appendRunsForObject):
1456 2002-11-15  David Hyatt  <hyatt@apple.com>
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):
1466 2002-11-15  David Hyatt  <hyatt@apple.com>
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.
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.
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):
1491 2002-11-15  David Hyatt  <hyatt@apple.com>
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):
1500 2002-11-15  Darin Adler  <darin@apple.com>
1502         * kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry):
1503         Oops. Make that display:YES.
1505 2002-11-15  Darin Adler  <darin@apple.com>
1507         - fixed 3090219 -- Window jumps up and down when loading nikon page
1509         * kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry):
1510         Don't pass display:NO when resizing the window.
1512 2002-11-15  Ken Kocienda  <kocienda@apple.com>
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.
1520         This enables me to fix this bug:
1521         Radar 3050437 (Clicking link leads to page with garbled content)
1523         Note, however, that my fix for 3050437 relies on this bug remaining unfixed:
1525         Radar 3102332 (Square bracket characters "sneak through" CFURL illegal character checks)
1527         * kwq/KWQKURL.mm:
1528         (KURL::getNSURL)
1530 2002-11-15  Darin Adler  <darin@apple.com>
1532         - fixed 3027460 -- text areas don't have focus rectangles
1533         - fixed 2937204 -- text areas have solid black borders
1535         * kwq/KWQSignal.mm: (KWQSignal::disconnect):
1536         Add a special case so we don't hear about finishedParsing all the time.
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.
1550         * WebCore.pbproj/project.pbxproj: PB is a cruel master.
1552 2002-11-15  Maciej Stachowiak  <mjs@apple.com>
1554         * khtml/html/html_formimpl.cpp:
1555         (HTMLInputElementImpl::attach): Removed a stray printf.
1557 2002-11-14  Darin Adler  <darin@apple.com>
1559         - fixed most of the problems with OPTGROUP
1561         * khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
1562         Make OPTGROUPs pop out of other unclosed OPTGROUPs, not just out of options.
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.
1572         * WebCore.pbproj/project.pbxproj: Let PB do its thing.
1574 2002-11-14  David Hyatt  <hyatt@apple.com>
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):
1584 2002-11-14  David Hyatt  <hyatt@apple.com>
1586         Move text measurement and layout beyond onload.  This
1587         shoudl speed up i-bench substantially and morrison's
1588         PLT test slightly.
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):
1603 2002-11-14  Richard Williamson  <rjw@apple.com>
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):
1613 2002-11-14  Darin Adler  <darin@apple.com>
1615         - fixed 3095854 -- small select boxes get no scrollbar
1617         * kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines):
1618         Always use a minimum of 4 lines.
1620 === Alexander-32 ===
1622 2002-11-14  Darin Adler  <darin@apple.com>
1624         - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
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.
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.
1635         * kwq/WebCoreBridge.h: Add reload parameter.
1636         * kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload
1637         parameter into the URLArgs.
1639 2002-11-14  Darin Adler  <darin@apple.com>
1641         - fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
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.
1648         * WebCore.pbproj/project.pbxproj: Oh, that Project Builder.
1650 2002-11-13  Darin Adler  <darin@apple.com>
1652         - fixed 3100895 -- REGRESSION: Crash (was assertion) on http://www.w3.org/Style/CSS/
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.
1659 2002-11-13  Darin Adler  <darin@apple.com>
1661         - fixed another crash on http://www.w3.org/Style/CSS/, but still not done
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.
1677         * khtml/misc/makeattrs: Fixed handling of failure case.
1678         * khtml/misc/maketags: Ditto.
1680         * WebCore.pbproj/project.pbxproj: Project Builder wanted to touch this.
1682 2002-11-13  Darin Adler  <darin@apple.com>
1684         - fixed 3100895 -- REGRESSION: Assertion on http://www.w3.org/Style/CSS/
1686         A few arena-related fixes.
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.
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.
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.
1703 2002-11-13  Darin Adler  <darin@apple.com>
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.
1709         * WebCore.pbproj/project.pbxproj: Tweak.
1711 2002-11-13  Darin Adler  <darin@apple.com>
1713         - fixed 3083982 -- Logging into AOL gives null view
1715         Turns out AOL was using a refresh header, which we were not supporting.
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.
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.
1729         * kwq/KWQKHTMLPartBrowserExtension.mm:
1730         (KHTMLPartBrowserExtension::createNewWindow): Fix bug where this was calling
1731         openURL: but meant to call loadURL:.
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.
1738         - other things
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.
1744 2002-11-13  David Hyatt  <hyatt@apple.com>
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):
1752 2002-11-13  David Hyatt  <hyatt@apple.com>
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:
1783 2002-11-13  Ken Kocienda  <kocienda@apple.com>
1785         Bump WebCore cache to 4 MB (was 1 MB).
1787         * khtml/misc/loader.cpp
1789 2002-11-13  Maciej Stachowiak  <mjs@apple.com>
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:.
1807 2002-11-12  David Hyatt  <hyatt@apple.com>
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):
1818 2002-11-12  David Hyatt  <hyatt@apple.com>
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):
1827 2002-11-12  David Hyatt  <hyatt@apple.com>
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:
1839 2002-11-12  David Hyatt  <hyatt@apple.com>
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):
1849 2002-11-12  David Hyatt  <hyatt@apple.com>
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):
1859 2002-11-12  Richard Williamson  <rjw@apple.com>
1861         Oops, removed debugging.
1862         
1863         * khtml/rendering/font.cpp:
1864         (Font::drawText):
1866 2002-11-12  Richard Williamson  <rjw@apple.com>
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:
1884 2002-11-12  David Hyatt  <hyatt@apple.com>
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):
1903 2002-11-12  Darin Adler  <darin@apple.com>
1905         * kwq/KWQCursor.mm: (QCursor::QCursor): Use nil instead of [NSCursor arrowCursor].
1906         This will probably fix the performance regression.
1908 2002-11-12  Darin Adler  <darin@apple.com>
1910         - fixed 3080250 -- Hands-free crash at wired.com in
1911         KHTMLPart::slotChildStarted
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.
1919         * kwq/KWQSlot.mm: Tweaks.
1921 2002-11-12  David Hyatt  <hyatt@apple.com>
1923         This patch lands a rewrite of whitespace-handling in the
1924         layout engine and adds support for the CSS2 white-space
1925         property.  
1927         It also includes a rewrite of inlines' min/max width 
1928         calculations (for both flow inlines and raw text).
1930         A problem with <form> margins has been fixed (this is a
1931         regression I caused with my collapsing margin checkin).
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:
2081 2002-11-12  Darin Adler  <darin@apple.com>
2083         - fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired]
2085         * kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal.
2086         (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
2088 2002-11-12  Darin Adler  <darin@apple.com>
2090         - fixed 3079499 -- blank page at http://www.sonyericsson.com/T68i/
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.
2099         - fixed double calls to openURL I noticed
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.
2105         * kwq/KWQKHTMLPart.mm: Tweaks.
2107 2002-11-12  Darin Adler  <darin@apple.com>
2109         - fixed 3083043 -- Alex doesn't decode % sequences in javascript: URLs
2111         Some places here did KURL::decode_string, but others didn't.
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.
2120 2002-11-11  Darin Adler  <darin@apple.com>
2122         * kwq/KWQWidget.mm: (QWidget::setCursor): Remove printf I left
2123         in by accident.
2125 2002-11-11  Darin Adler  <darin@apple.com>
2127         - tighten up cursor handling a bit more
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.
2133         * kwq/WebCoreFrameView.h: Remove setCursor: method.
2135 2002-11-11  Darin Adler  <darin@apple.com>
2137         - fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
2138         HTMLDocument::Close inside a <script>
2140         I think it's going to work this time. The key was to hook up the
2141         KHTML submitFormAgain machinery.
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().
2149         * kwq/KWQSlot.mm:
2150         (KWQSlot::KWQSlot): Add support for the submitFormAgain slot.
2151         (KWQSlot::call): Ditto.
2153 2002-11-11  Darin Adler  <darin@apple.com>
2155         - fixed 3092421 -- javascript: URL that opens window crashes Alex if typed into empty window
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.
2166         * kwq/KWQDummyView.h: Added.
2167         * kwq/KWQDummyView.m: Added.
2168         * WebCore.pbproj/project.pbxproj: Added KWQDummyView.
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.
2179 2002-11-11  Trey Matteson  <trey@apple.com>
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:
2188 2002-11-11  Darin Adler  <darin@apple.com>
2190         - fixed 3097253 -- text tagged <small> inside <h1> is too small
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".
2196 2002-11-11  Darin Adler  <darin@apple.com>
2198         * kwq/WebCoreBridge.h: Remove unused modifierTrackingEnabled method.
2200 2002-11-08  Maciej Stachowiak  <mjs@apple.com>
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.
2209 b2002-11-08  Darin Adler  <darin@apple.com>
2211         * kwq/KWQComboBox.mm: Bump fudge factor up one pixel. You could see
2212         it was wrong with strings like "0".
2214 2002-11-08  Darin Adler  <darin@apple.com>
2216         - fixed 3090452 -- REGRESSION: orbitz Box extends way over margins
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.
2226 2002-11-08  Richard Williamson   <rjw@apple.com>
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):
2235 2002-11-08  Darin Adler  <darin@apple.com>
2237         * kwq/WebCoreBridge.mm: (attributedString): Remove some dead code.
2239 2002-11-07  Darin Adler  <darin@apple.com>
2241         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::slotData):
2242         Add an assert in the hopes of catching bug 3084704 a little earlier.
2244 2002-11-07  Richard Williamson  <rjw@apple.com>
2246         Don't stop animating unless we're the last referee. (3083281)
2247         
2248         * kwq/KWQPixmap.mm:
2249         (QPixmap::~QPixmap):
2251 === Alexander-31 ===
2253 2002-11-06  Richard Williamson  <rjw@apple.com>
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):
2262 2002-11-05  Darin Adler  <darin@apple.com>
2264         - fixed 3092722 -- assertion failed
2266         * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader reportError]):
2267         Removed the assertion. It wasn't needed.
2269 2002-11-05  Darin Adler  <darin@apple.com>
2271         - re-fixed 3070484 -- icon rollovers are very slow on Mac OS X website
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.
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.
2295 2002-11-05  Maciej Stachowiak  <mjs@apple.com>
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.
2307 2002-11-04  Richard Williamson  <rjw@apple.com>
2309         Changes to support cursive letter forms.
2310         
2311         * kwq/KWQChar.mm:
2312         * kwq/WebCoreUnicode.h:
2314 2002-11-04  Darin Adler  <darin@apple.com>
2316         - fixed 3091714 -- reproducible assert cachedObject->response
2317         in KWQCheckCacheObjectStatus
2319         * khtml/misc/loader.cpp: (Loader::slotFinished):
2320         For APPLE_CHANGES, don't finish the load if it's an error.
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.
2331         * khtml/khtml_part.cpp:
2332         (KHTMLPart::init): Put the slotLoaderRequestStarted and
2333         slotLoaderRequestDone connect lines inside ifdefs.
2334         (KHTMLPart::~KHTMLPart): Same for disconnect.
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.
2347 2002-11-04  Maciej Stachowiak  <mjs@apple.com>
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:]):
2366 2002-11-03  Darin Adler  <darin@apple.com>
2368         - fixed 3091300 -- "prelighting" on local page is still slow, despite recent bug fix
2370         Turns out all updating would be slow if any resources on the page failed to load.
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].
2377 2002-11-03  Darin Adler  <darin@apple.com>
2379         - fixed 3091275 -- can't type into Answer field in RealOne Player order form
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.
2386 2002-11-01  Darin Adler  <darin@apple.com>
2388         - applied the same "subclass responsibility" pattern here as in
2389         some of the other WebCore classes
2391         * kwq/WebCoreImageRendererFactory.h: Move the subclass responsibility into a protocol.
2392         * kwq/WebCoreImageRendererFactory.m: Remove now-unneeded stubs.
2394 2002-11-01  Richard Williamson   <rjw@apple.com>
2396         Removed old implementation.
2397         
2398         * kwq/KWQChar.mm:
2399         (QChar::direction):
2400         
2401         Renamed JoiningCenter -> JoiningCausing.
2402         
2403         * kwq/WebCoreUnicode.h:
2405 2002-11-01  Darin Adler  <darin@apple.com>
2407         - fixed 3062598 -- meta refresh of 0.1s fails
2409         KHTML was using an integer for the delay.
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.
2420         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv):
2421         Use a double when parsing meta refresh.
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.
2426 2002-11-01  Darin Adler  <darin@apple.com>
2428         - fixed 3090249 -- random crash on page load
2429         - fixed 3090286 -- assert _job in KWQResourceLoader cancel
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.
2435 2002-10-31  Darin Adler  <darin@apple.com>
2437         - fixed huge leak when doing page load test
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.
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.
2453 2002-10-31  Richard Williamson  <rjw@apple.com>
2455         Turned on use of lookup tables.
2456         
2457         * kwq/KWQChar.mm:
2458         (QChar::direction):
2459         (QChar::mirrored):
2460         (QChar::mirroredChar):
2462 2002-10-31  Maciej Stachowiak  <mjs@apple.com>
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.
2472 === Alexander-30 ===
2474 2002-10-30  Maciej Stachowiak  <mjs@apple.com>
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.
2482 2002-10-30  Richard Williamson  <rjw@apple.com>
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.
2498 2002-10-30  Darin Adler  <darin@apple.com>
2500         - fixed crash when you open an empty window and just hit tab, tab, tab
2502         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Check for nil.
2504 2002-10-30  Darin Adler  <darin@apple.com>
2506         - fixed 3083982 -- Logging into AOL gives null view, crash
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.
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.
2517         * kwq/KWQLoader.mm: (KWQServeRequest): Use KWQResourceLoader, now with a home in
2518         a separate file.
2520         * kwq/KWQResourceLoader.h: Added.
2521         * kwq/KWQResourceLoader.mm: Added.
2522         * WebCore.pbproj/project.pbxproj: Added KWQResourceLoader files.
2524 2002-10-30  Darin Adler  <darin@apple.com>
2526         - fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
2528         The key is to get args.reload passed through to the bridge.
2530         * kwq/WebCoreBridge.h: Add reload parameter to loadURL:.
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
2541         Switched to use NSTableView instead of NSBrowser. This should also create
2542         a measurable speedup due to other changes to this class.
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.
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.
2578         - fixed 3067572 -- javascript: URLs typed into page address field or
2579         bookmarks don't work in empty window
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.
2584         * kwq/KWQKHTMLPart.h: Added createDummyDocument().
2585         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createDummyDocument): Create an empty
2586         DOM document if there isn't one already.
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.
2593         - other stuff
2595         * kwq/WebCoreBridge.mm: (-[WebCoreBridge DOMDocument]): Removed a stray printf.
2597         * kwq/KWQTextArea.mm: Tweaked code a little.
2599 2002-10-28  Darin Adler  <darin@apple.com>
2601         * khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
2602         Update so it handles nil for the view.
2604 2002-10-28  Darin Adler  <darin@apple.com>
2606         - fixed 3070484 -- icon rollovers are very slow on Mac OS X website
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.
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.
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.
2623         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Call Cache::init().
2625         * kwq/KWQLoader.h: Add a class KWQLoader, with three signals in it.
2626         * kwq/KWQLoader.mm: (KWQLoader::KWQLoader): Initialize the three signals.
2628         * kwq/KWQSignalStubs.mm:
2629         (Loader::requestDone): Emit the signal using KWQLoader.
2630         (Loader::requestFailed): Ditto.
2631         (Loader::requestStarted): Ditto.
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.
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.
2643         * kwq/KWQObject.mm: (QObject::connect): Remove the special casing that
2644         prevents complaints about slotLoaderRequestDone and slotLoaderRequestStarted,
2645         since we support those now.
2647 2002-10-28  Darin Adler  <darin@apple.com>
2649         - fixed storage leak of items in QListBox
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().
2658 2002-10-28  Chris Blumenberg  <cblu@apple.com>
2660         Lowercase the text encoding name.
2662         * kwq/KWQCharsets.mm:
2663         (KWQCFStringEncodingFromIANACharsetName):
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):
2678 2002-10-28  Chris Blumenberg  <cblu@apple.com>
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
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
2688 2002-10-28  Don Melton  <gramps@apple.com>
2690         * khtml/html/htmlparser.cpp:
2691         (KHTMLParser::insertNode):
2692         * khtml/html/htmltokenizer.cpp:
2693         (HTMLTokenizer::write):
2695         Backed our Dave's whitespace hack because it was adding newlines, i.e.
2696         vertical margins, to web pages all over.
2698 2002-10-28  Darin Adler  <darin@apple.com>
2700         - fixed 3015800 -- bad URL error - unescaped # in URL
2702         Actually this has to be fixed both here and in NSURLExtras.
2704         * kwq/KWQKURL.mm: Set the "BadChar" flag for "#" so we escape any
2705         "#" characters we see after the first one.
2707 2002-10-27  Darin Adler  <darin@apple.com>
2709         - fixed 3058845 -- <input type=file> uses hard-coded width of 200
2710         pixels for filename
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:.
2726 2002-10-27  Don Melton  <gramps@apple.com>
2728         * khtml/ecma/kjs_navigator.cpp:
2729         (Navigator::getValueProperty):
2731         Tweaked AppName, Product, and Vendor logic.
2733 2002-10-27  Darin Adler  <darin@apple.com>
2735         * kwq/KWQLoader.mm: (KWQServeRequest): Add a missing "delete job" for one
2736         particular failure case.
2738 2002-10-26  Darin Adler  <darin@apple.com>
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
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.
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.
2770         * kwq/KWQLineEdit.mm:
2771         * kwq/KWQTextField.h:
2772         * kwq/KWQTextField.mm:
2773         Renamed the Objective C class KWQNSTextField to KWQTextField.
2775 2002-10-26  Darin Adler  <darin@apple.com>
2777         - removed forwarding headers that are not actually needed
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.
2802 2002-10-26  Darin Adler  <darin@apple.com>
2804         - fixed a couple of files accidentally checked in with KWQQ names
2806         * ForwardingHeaders/qasyncio.h: Change names.
2807         * ForwardingHeaders/qstylesheet.h: Ditto.
2808         * WebCore.pbproj/project.pbxproj: Ditto.
2809         * kwq/KWQMovie.h: Ditto.
2811 2002-10-26  Darin Adler  <darin@apple.com>
2813         - changed to use #if APPLE_CHANGES and #if !APPLE_CHANGES consistently
2815         We no longer do #ifdef APPLE_CHANGES or #ifndef APPLE_CHANGES.
2817         * lots of files
2819 2002-10-26  Darin Adler  <darin@apple.com>
2821         - changed naming scheme in KWQ for files like qstring.h
2823         Now use names like KWQString.h and a forwarding header called qstring.h.
2824         
2825         * tons of files
2827 2002-10-26  Darin Adler  <darin@apple.com>
2829         - fixed 3068404 -- eliminate all user-visible messages from WebCore
2831         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Use runJavaScriptPrompt
2832         function instead of the more generic QInputDialog.
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.
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.
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.
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.
2857         * kwq/KWQKHTMLPartImpl.h: Added runJavaScriptPrompt.
2858         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::runJavaScriptPrompt): Moved the code
2859         here that used to be in KWQInputDialog.
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.
2872         * kwq/WebCoreViewFactory.h: Add new API for above.
2874         * ForwardingHeaders/qinputdialog.h: Added empty file.
2876         * kwq/qt/qinputdialog.h: Removed.
2877         * kwq/KWQInputDialog.mm: Removed.
2878         * WebCore.pbproj/project.pbxproj: Removed QInputDialog files.
2880 2002-10-25  Darin Adler  <darin@apple.com>
2882         Remove some user-visible strings. We can't have any strings that need
2883         localization in WebCore, given our translation strategy.
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.
2896         * ForwardingHeaders/kmessagebox.h: Added (empty file).
2898         * kwq/KWQKHTMLPartImpl.h: Added new runJavaScript functions.
2899         * kwq/KWQKHTMLPartImpl.mm:
2900         (KWQKHTMLPartImpl::runJavaScriptAlert): Added.
2901         (KWQKHTMLPartImpl::runJavaScriptConfirm): Added.
2903         * kwq/WebCoreViewFactory.h: Added runJavaScriptAlertPanelWithMessage and
2904         runJavaScriptConfirmPanelWithMessage.
2906         * kwq/kdeui/kmessagebox.h: Removed.
2907         * kwq/KWQKMessageBox.mm: Removed.
2908         * WebCore.pbproj/project.pbxproj: Removed the KMessageBox files.
2910 2002-10-25  Richard Williamson   <rjw@apple.com>
2912         Removed debug logging.
2913         
2914         * khtml/rendering/font.cpp:
2915         (Font::drawText):
2917 2002-10-25  Richard Williamson   <rjw@apple.com>
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:
2932 2002-10-25  Chris Blumenberg  <cblu@apple.com>
2934         Cleaned up the frame searching shenanigans. Things are much cleaner and clearer now.
2936         * kwq/KWQKHTMLPartBrowserExtension.mm:
2937         (KHTMLPartBrowserExtension::createNewWindow): call findFrameNamed
2938         * kwq/KWQKHTMLPartImpl.mm:
2939         (KWQKHTMLPartImpl::bridgeForFrameName): call findOrCreateFramedNamed
2940         * kwq/WebCoreBridge.h:
2942 2002-10-25  Maciej Stachowiak  <mjs@apple.com>
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.
2950 2002-10-25  Maciej Stachowiak  <mjs@apple.com>
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.
2961 2002-10-24  Richard Williamson   <rjw@apple.com>
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):
2969 2002-10-24  David Hyatt  <hyatt@apple.com>
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:
2976 2002-10-24  Chris Blumenberg  <cblu@apple.com>
2978         Removed didAddSubview calls because that can easily be done in WebKit. Duh!
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:
2988 2002-10-24  Darin Adler  <darin@apple.com>
2990         A step in the direction of making KWQ headers much nicer.
2991         Move all empty headers out of kwq, and into ForwardingHeaders.
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.
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.
3051         * WebCore.pbproj/project.pbxproj: Removed all the above headers from
3052         the project.
3054 2002-10-24  Darin Adler  <darin@apple.com>
3056         * ForwardingHeaders/private/qucomextra_p.h: Emptied this out.
3057         * kwq/qt/private/qucomextra_p.h: Removed.
3059 2002-10-24  David Hyatt  <hyatt@apple.com>
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):
3069 === Alexander-29 ===
3071 2002-10-24  Chris Blumenberg  <cblu@apple.com>
3073         Use "MIMEType" instead of "serviceType".
3075         * kwq/KWQKHTMLPartImpl.mm:
3076         (KWQKHTMLPartImpl::createPart):
3077         * kwq/WebCoreBridge.h:
3079 2002-10-24  Darin Adler  <darin@apple.com>
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.
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.
3093 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3095         WebKit now gets called when render_frame subviews are added.
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
3103 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3105         Change for plug-in package API changes.
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
3112 2002-10-23  Darin Adler  <darin@apple.com>
3114         - finished up the job of moving the file button to WebKit
3116         I did this mainly for localization reasons.
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.
3137         * kwq/KWQSlot.mm:
3138         (KWQSlot::KWQSlot): Remove handling for RenderFileButton slotReturnPressed.
3139         (KWQSlot::call): Ditto.
3141         * kwq/WebCoreViewFactory.h: Remove bestSize. Add setVisualFrame, visualFrame, and
3142         bestVisualFrameSize.
3144         * kwq/KWQInputDialog.mm: Tweaked includes. Long-term we want to use "", not <>.
3145         * kwq/KWQKConfigBase.mm: Ditto.
3146         * kwq/KWQKHTMLPartImpl.mm: Ditto.
3148 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3150         Call the arguments for plug-ins "attributes" everywhere.
3152         * kwq/KWQKHTMLPartImpl.mm:
3153         (KWQKHTMLPartImpl::createPart):
3154         * kwq/KWQKJavaAppletWidget.mm:
3155         (KJavaAppletWidget::showApplet):
3156         * kwq/WebCoreBridge.h:
3158 2002-10-23  Chris Blumenberg  <cblu@apple.com>
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. 
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
3174 2002-10-23  Darin Adler  <darin@apple.com>
3176         - fixed 3080478 -- reproducible incomplete load on apple.com
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.
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.
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.
3194         * kwq/qt/qxml.h: Add more stubs.
3195         * kwq/KWQxml.mm: Ditto.
3197         * kwq/WebCoreViewFactory.h: Add [WebCoreViewFactory fileButton], the
3198         WebCoreFileButton protocol, and WebCoreFileButtonFilenameChanged.
3199         * kwq/WebCoreViewFactory.m: Add WebCoreFileButtonFilenameChanged.
3200         * WebCore.exp: Export _WebCoreFileButtonFilenameChanged.
3202 2002-10-22  Maciej Stachowiak  <mjs@apple.com>
3204         Forgot to check this in earlier:
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:
3214 2002-10-22  David Hyatt  <hyatt@apple.com>
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:]):
3225 2002-10-22  Chris Blumenberg  <cblu@apple.com>
3227         Fixed: 3023814 - contexual menus and dragging doesn't work for some images
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.
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
3241 2002-10-22  David Hyatt  <hyatt@apple.com>
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):
3250 2002-10-22  David Hyatt  <hyatt@apple.com>
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):
3260 2002-10-22  David Hyatt  <hyatt@apple.com>
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):
3269 2002-10-22  David Hyatt  <hyatt@apple.com>
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.
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):
3284 2002-10-22  David Hyatt  <hyatt@apple.com>
3286         Fix a typo in my change to the h1 rule.
3287         
3288         * khtml/css/html4.css:
3290 2002-10-22  David Hyatt  <hyatt@apple.com>
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.
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.
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:
3326 2002-10-21  Darin Adler  <darin@apple.com>
3328         * kwq/KWQInputDialog.mm: (QInputDialog::getText): Call the view factory to do the
3329         heavy lifting.
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.
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.
3340 2002-10-21  David Hyatt  <hyatt@apple.com>
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:
3361 2002-10-21  Darin Adler  <darin@apple.com>
3363         Remove closeEntireTree now that deferred close takes care of that case.
3365         * khtml/html/htmlparser.cpp: (KHTMLParser::startBody):
3366         * khtml/rendering/render_object.h:
3368 2002-10-21  Darin Adler  <darin@apple.com>
3370         - fixed 3075041 -- text larger/smaller increment too large when font-size specified as %
3372         * khtml/css/cssstyleselector.cpp: Don't apply the zoom factor to a font size that
3373         already has the zoom factor applied.
3375 2002-10-21  Darin Adler  <darin@apple.com>
3377         * khtml/khtmlview.cpp: (KHTMLView::clear): Default to fast scrolling.
3378         I'm pretty sure this was just backwards here.
3380 2002-10-21  David Hyatt  <hyatt@apple.com>
3382         DLs are supposed to have margins.
3383         
3384         * khtml/css/html4.css:
3386 2002-10-21  David Hyatt  <hyatt@apple.com>
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):
3397 2002-10-20  Darin Adler  <darin@apple.com>
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.
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.
3407 2002-10-20  Darin Adler  <darin@apple.com>
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.
3412         * khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
3413         Roll back the change.
3415 2002-10-20  David Hyatt  <hyatt@apple.com>
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):
3426 2002-10-20  Darin Adler  <darin@apple.com>
3428         - fixed 3007961 -- Crash in DOM::HTMLImageElementImpl::parseAttribute
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.
3435 2002-10-20  Chris Blumenberg  <cblu@apple.com>
3437         Fixed possible build failure.
3439         * kwq/KWQDOMNode.cpp:
3440         (isImage): remove unused variable.
3442 2002-10-20  Chris Blumenberg  <cblu@apple.com>
3444         Partial fix for:
3445         3023814 - contexual menus and dragging doesn't work for some images
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?
3449         * kwq/KWQDOMNode.cpp:
3450         (isImage): Also return true if the node is an INPUT tag with TYPE set to "image"
3452 2002-10-20  Darin Adler  <darin@apple.com>
3454         - fixed 3076390 -- crash in DOM::DocumentImpl::setParsing loading thread detail page
3455         at groups.apple.com
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.
3460 2002-10-20  Darin Adler  <darin@apple.com>
3462         - fixed 3079864 -- REGRESSION: assertion failure on any page with a form element
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*.
3468         - fixed a crash I observed when clicking on an about:blank page
3470         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Check for nil renderer.
3472 2002-10-19  Darin Adler  <darin@apple.com>
3474         - fixed 3075032 -- textarea contents sometimes aren't shown
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.
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.
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.
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.
3503 2002-10-19  David Hyatt  <hyatt@apple.com>
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.
3511         * khtml/html/htmlparser.cpp:
3512         (KHTMLParser::insertNode):
3513         * khtml/html/htmltokenizer.cpp:
3514         (HTMLTokenizer::write):
3516 2002-10-18  Richard Williamson   <rjw@apple.com>
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):
3528 2002-10-18  Darin Adler  <darin@apple.com>
3530         - fixed 3078293 -- Implement evaluateJavaScript on WebController
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.
3536 2002-10-18  Darin Adler  <darin@apple.com>
3538         * kwq/WebCoreBridge.h:
3539         * kwq/WebCoreBridge.mm:
3540         (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]):
3541         Changed to return a string and changed name.
3543 2002-10-18  David Hyatt  <hyatt@apple.com>
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:
3557 2002-10-18  Darin Adler  <darin@apple.com>
3559         * Makefile.am: Move dependency so clean happens before build.
3561 2002-10-17  Richard Williamson  <rjw@apple.com>
3563         Support for drawing frame borders and frame resizing. (fixes 2982466).
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:
3572 2002-10-17  Darin Adler  <darin@apple.com>
3574         - fixed 2807340 -- Alex is case sensitive for anchors, but
3575         should not be in quirks mode (other browsers aren't)
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.
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.
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.
3594         * kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines): Removed a stray NSLog
3595         that I left in by accident.
3597 2002-10-17  Darin Adler  <darin@apple.com>
3599         - fixed 3052547 -- <select> doesn't size properly (size > 1)
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.
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.
3613 2002-10-17  Darin Adler  <darin@apple.com>
3615         - fixed 3078245 -- REGRESSION: lightgrey displays as black, used
3616         to display as white, should display light gray
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.
3622 2002-10-17  David Hyatt  <hyatt@apple.com>
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):
3630 === Alexander-28 ===
3632 2002-10-17  Darin Adler  <darin@apple.com>
3634         - fixed 3077856 -- REGRESSION: scroll to fragment doesn't work
3635         (except when Alex started from command line)
3637         * kwq/kparts/browserextension.h: Initialize reload to false. It was
3638         uninitialized, and when true was preventing anchor navigation from working.
3640 2002-10-17  Darin Adler  <darin@apple.com>
3642         - fixed 3075992 -- Hang in khtml::RenderFlow::lowestPosition() trying to
3643         render http://avoyagetoarcturus.blogspot.com/
3645         * khtml/rendering/render_flow.cpp:
3646         (RenderFlow::lowestPosition): Don't recurse on the same child twice.
3647         (RenderFlow::rightmostPosition): Ditto.
3649 2002-10-17  David Hyatt  <hyatt@apple.com>
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):
3657 2002-10-16  Darin Adler  <darin@apple.com>
3659         - fixed 3061103 -- Line-breaks lost when submitting after pasting text from
3660         MSIE into Alexander textarea
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.
3668 2002-10-16  Richard Williamson  <rjw@apple.com>
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::]):
3693 2002-10-16  David Hyatt  <hyatt@apple.com>
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:
3706 2002-10-16  Darin Adler  <darin@apple.com>
3708         - fixed 3072542 -- double "&" in submit button
3710         * khtml/rendering/render_form.cpp: (RenderSubmitButton::rawText):
3711         Don't double the "&" character, not needed for KWQ.
3713 2002-10-16  David Hyatt  <hyatt@apple.com>
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.
3721         With this fix, all objects on mrskin finally show up.  Yeehah.
3722         brainjar.com's brain is back too.
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):
3736 2002-10-16  Darin Adler  <darin@apple.com>
3738         - fixed 3045570 -- can't select a printer at inkfinder.com
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.
3744         * kwq/KWQKHTMLPartImpl.h: Add openURL.
3745         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::openURL):
3746         Tell the bridge to load the URL.
3748         * kwq/mac-encodings.txt: Tweak Korean encoding names.
3750 2002-10-16  David Hyatt  <hyatt@apple.com>
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.
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):
3775 2002-10-16  Richard Williamson  <rjw@apple.com>
3777         Removed bogus code.
3778         
3779         * kwq/KWQKHistoryProvider.mm:
3781 2002-10-15  Richard Williamson  <rjw@apple.com>
3783         * kwq/WebCoreBridge.mm:
3784         (attributedString):
3785         Don't convert element unless it has a renderer.
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.
3814 2002-10-15  David Hyatt  <hyatt@apple.com>
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):
3827 2002-10-15  Darin Adler  <darin@apple.com>
3829         WebCore support for using referrer even in loads that are not initiated
3830         by WebCore itself.
3832         * kwq/KWQKHTMLPartBrowserExtension.mm:
3833         (KHTMLPartBrowserExtension::createNewWindow): Don't pass a referrer.
3834         We get the referrer from the part.
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.
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.
3854 2002-10-15  Darin Adler  <darin@apple.com>
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
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.
3866 2002-10-15  Darin Adler  <darin@apple.com>
3868         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
3869         Move the special case of a different anchor within the same
3870         page into WebKit from here.
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.
3876         * kwq/WebCoreBridge.h: Removed addBackForwardItemWithURL:anchor:
3877         and added URL method.
3878         * kwq/WebCoreBridge.mm: (-[WebCoreBridge URL]): Added.
3880 2002-10-15  Darin Adler  <darin@apple.com>
3882         - fixed 3074558 -- frames multiply at: http://www.iarsn.com/
3884         The key was to make the name attribute work properly.
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.
3896         * kwq/KWQKHTMLPartImpl.mm: Remove old bogusish comment.
3898 2002-10-15  Richard Williamson  <rjw@apple.com>
3900         Added text color to attributed string conversion.
3901         
3902         * kwq/WebCoreBridge.mm:
3903         (attributedString):
3905 2002-10-15  Richard Williamson  <rjw@apple.com>
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]):
3919 2002-10-15  Darin Adler  <darin@apple.com>
3921         - fixed 3054791 -- crash in WebCoreSettings _updateAllViews changing font
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.
3928 2002-10-15  Ken Kocienda  <kocienda@apple.com>
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.
3936         * khtml/rendering/render_flow.cpp:
3937         (RenderFlow::layoutBlockChildren):
3939 2002-10-14  David Hyatt  <hyatt@apple.com>
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:
3951 2002-10-14  David Hyatt  <hyatt@apple.com>
3953         Adding helper functions for handling of collapsing margins.
3954         Not used yet.
3955         
3956         * khtml/rendering/render_object.h:
3958 2002-10-14  Darin Adler  <darin@apple.com>
3960         Fixed problems with named colors.
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.
3966 2002-10-14  David Hyatt  <hyatt@apple.com>
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):
3976 2002-10-14  David Hyatt  <hyatt@apple.com>
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).
3982         Fixes zeldman.com.
3983         
3984         * khtml/html/html_headimpl.cpp:
3985         (HTMLLinkElementImpl::parseAttribute):
3987 2002-10-14  David Hyatt  <hyatt@apple.com>
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.
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):
4006 2002-10-11  Richard Williamson   <rjw@apple.com>
4008         Remove debugging.
4009         
4010         * kwq/WebCoreDOMDocument.mm:
4011         (+[WebCoreDOMDocument documentWithImpl:DOM::]):
4012         * kwq/WebCoreDOMNode.mm:
4013         (-[WebCoreDOMNode lastChild]):
4015 2002-10-11  Richard Williamson   <rjw@apple.com>
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):
4079 2002-10-11  David Hyatt  <hyatt@apple.com>
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):
4089 === Alexander-27 ===
4091 2002-10-10  Darin Adler  <darin@apple.com>
4093         - fixed 3047782 -- Alexander rejects some color strings that other browsers accept
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.
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.
4105 2002-10-10  David Hyatt  <hyatt@apple.com>
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.
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):
4119 2002-10-09  Richard Williamson  <rjw@apple.com>
4121         Implemented string conversion functions.
4122         
4123         * kwq/WebCoreDOMDocument.mm:
4124         (domStringToNSString):
4125         (NSStringToDOMString):
4127 2002-10-09  Darin Adler  <darin@apple.com>
4129         - fixed 3069264 -- REGRESSION: windows created for links with
4130         target=blank start out hidden (window menu only)
4132         * kwq/WebCoreBridge.h: Removed openNewWindowWithURL:referrer:frameName: and
4133         added createWindowWithURL:referrer:frameName: and showWindow.
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.
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.
4148 2002-10-09  Darin Adler  <darin@apple.com>
4150         - fixed 3069749 -- crash in QString during third run of cvs-base
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.
4161 2002-10-09  Darin Adler  <darin@apple.com>
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?
4167         * kwq/KWQString.mm: (_allocateNode): Fix typo in comment.
4169         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::bridgeForFrameName): Tweak.
4171 2002-10-09  David Hyatt  <hyatt@apple.com>
4173         This was an unintentional checkin. backing out.
4174         
4175         * khtml/xml/dom_elementimpl.cpp:
4176         (NamedAttrMapImpl::removeNamedItem):
4178 2002-10-08  Richard Williamson   <rjw@apple.com>
4180         Added bridge method set the selection.
4181         
4182         * kwq/WebCoreBridge.h:
4183         * kwq/WebCoreBridge.mm:
4184         (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
4186 2002-10-08  Richard Williamson   <rjw@apple.com>
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:
4195 2002-10-08  Richard Williamson   <rjw@apple.com>
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:
4222 2002-10-08  Richard Williamson   <rjw@apple.com>
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:
4254 2002-10-08  Richard Williamson   <rjw@apple.com>
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.
4369 2002-10-09  David Hyatt  <hyatt@apple.com>
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:
4380 2002-10-07  Darin Adler  <darin@apple.com>
4382         - fixed 3037353 -- align="middle" elements not horizontally centered
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.
4388 2002-10-07  Darin Adler  <darin@apple.com>
4390         WebCore part of implementation of multipart forms posting.
4392         * kwq/WebCoreBridge.h: Add a contentType parameter to the bridge's
4393         [postWithURL:referrer:data:] method.
4395         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::submitForm):
4396         Extract the content type from the args, and pass it along to the bridge.
4398 2002-10-07  Darin Adler  <darin@apple.com>
4400         - fixed 3011025 -- Page up/down is not working when text area has focus
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.
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.
4414 2002-10-07  Richard Williamson   <rjw@apple.com>
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:
4434 2002-10-06  Darin Adler  <darin@apple.com>
4436         - fixed 3046737 -- infinite loop in font name matching code on some pages
4438         * kwq/KWQString.mm: (QString::replace): Removed the incorrect early exit if
4439         the passed in string was the empty string.
4441 2002-10-04  Darin Adler  <darin@apple.com>
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.
4447 2002-10-03  Darin Adler  <darin@apple.com>
4449         - fixed 3065730 -- Crash loading "My T-Mobile" page (in khtml::Decoder::decode)
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.
4454 2002-10-03  Darin Adler  <darin@apple.com>
4456         Add API to execute JavaScript.
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.
4464 === Alexander-26 ===
4466 2002-10-02  Darin Adler  <darin@apple.com>
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.
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.
4479         * kwq/KWQKHTMLPartImpl.h: Remove overURL.
4480         * kwq/KWQKHTMLPartImpl.mm: Ditto.
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.
4485         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Add code to
4486         set up WebCoreElementLinkTarget.
4488 2002-10-01  Darin Adler  <darin@apple.com>
4490         - fixed 3055076 -- window.scroll does a window.scrollby, not a window.scrollto
4492         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Moved a case so that the
4493         scroll code would scroll to, not by.
4495 2002-10-01  David Hyatt  <hyatt@apple.com>
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):
4504 2002-10-01  David Hyatt  <hyatt@apple.com>
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):
4512 2002-10-01  David Hyatt  <hyatt@apple.com>
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):
4520 2002-09-30  Darin Adler  <darin@apple.com>
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.
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.
4534         * kwq/KWQSignal.mm: Tweak.
4536         * kwq/KWQSlot.mm: Added support for the parentDestroyed slot in KJS::WindowQObject
4537         and the slotWidgetDestructed slot in khtml::RenderWidget.
4539 2002-09-28  Darin Adler  <darin@apple.com>
4541         Turn -Werror back on. There must have been some miscommunication
4542         about the fat build; this was supposed to have been on.
4544         * WebCore.pbproj/project.pbxproj: Add -Werror back.
4546         * kwq/WebCoreHistory.h: Add missing method to fix warning.
4547         * kwq/KWQKHistoryProvider.mm: Tweak.
4549 2002-09-28  Darin Adler  <darin@apple.com>
4551         Give the next fat build a better chance of working with the
4552         new gcc without turning -Werror off.
4554         * khtml/css/cssparser.cpp: Use a macro to disable inlining.
4555         * khtml/html/htmltokenizer.cpp: Ditto.
4556         * khtml/misc/htmlhashes.cpp: Ditto.
4558 2002-09-28  Darin Adler  <darin@apple.com>
4560         - fixed 3022441 -- scroll bar is missing in window created with window.open
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".
4566 2002-09-28  Darin Adler  <darin@apple.com>
4568         - fixed 2886111 -- changing font or size preference causes open
4569         windows to redraw incorrectly
4571         * khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
4572         Fix logic about when a recalc of the minWidth and maxWidth is needed.
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.
4578         * khtml/khtmlview.h: Added unscheduleRelayout.
4579         * khtml/khtmlview.cpp: (KHTMLView::unscheduleRelayout): Added.
4581         * kwq/KWQKHTMLPartImpl.h: Added forceLayout.
4582         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::forceLayout): Call
4583         both layout and unscheduleRelayout.
4585         * kwq/WebCoreBridge.h: Add setNeedsLayout.
4586         * kwq/WebCoreBridge.mm:
4587         (-[WebCoreBridge forceLayout]): Call KWQKHTMLPartImpl::forceLayout.
4588         (-[WebCoreBridge setTextSizeMultiplier:]): Call forceLayout.
4590 2002-09-27  Darin Adler  <darin@apple.com>
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.
4596 2002-09-27  Darin Adler  <darin@apple.com>
4598         - fixed 2937198 -- Checkboxes and radiobuttons don't align with title control in forms
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.
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.
4610 2002-09-27  Chris Blumenberg  <cblu@apple.com>
4612         WebPlugin clean up.
4614         * kwq/KWQKConfigBase.mm:
4615         (KConfig::readEntry):
4616         * kwq/WebCoreViewFactory.h:
4618 2002-09-27  Richard Williamson   <rjw@apple.com>
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:
4634 2002-09-28  David Hyatt  <hyatt@apple.com>
4636         Fix for 3058119, doctype of HTML docs should be null.
4637         
4638         * khtml/dom/dom_doc.cpp:
4640 2002-09-28  David Hyatt  <hyatt@apple.com>
4642         DOM compliance. Fix for 3058100, hasFeature of HTML returns
4643         false. Oops.
4644         
4645         * khtml/xml/dom_docimpl.cpp:
4646         (DOMImplementationImpl::hasFeature):
4648 2002-09-27  Darin Adler  <darin@apple.com>
4650         - fixed 3060487 -- error connecting member slot to signal (KWQObject)
4652         * kwq/KWQObject.mm: (QObject::connect): Add slotShowDocument to the list of slots that
4653         we don't care about hooking up.
4655 2002-09-26  Darin Adler  <darin@apple.com>
4657         - fixed 2953256 -- JavaScript window.moveTo() and window.moveBy() methods do not work
4659         * kwq/KWQWindowWidget.mm: (KWQWindowWidget::frameGeometry): Fix calculation.
4660         It was returning the bottom left coordinate instead of the top left.
4662 2002-09-26  Darin Adler  <darin@apple.com>
4664         - fixed 3060459 -- REGRESSION: crash leaving page that sets cookie in JavaScript
4665         unload handler
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.
4671         * khtml/dom/html_document.h: Add setPolicyBaseURL.
4672         * khtml/dom/html_document.cpp: (HTMLDocument::setPolicyBaseURL): Call the impl.
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.
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.
4687 2002-09-26  Darin Adler  <darin@apple.com>
4689         * kwq/WebCoreBridge.h: Use NSString for encoding name, not CFStringEncoding.
4690         * kwq/WebCoreBridge.mm:
4691         (-[WebCoreBridge addData:withOverrideEncoding:]): Ditto.
4693 2002-09-26  Chris Blumenberg  <cblu@apple.com>
4695         Added WebCoreElementImageLocationKey to the element dictionary.
4697         * kwq/WebCoreBridge.h:
4698         * kwq/WebCoreBridge.mm:
4699         (-[WebCoreBridge elementAtPoint:]):
4701 === Alexander-25 ===
4703 2002-09-25  David Hyatt  <hyatt@apple.com>
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:
4712 2002-09-25  Darin Adler  <darin@apple.com>
4714         Fix error with the color "indigo".
4716         * kwq/KWQColor.mm: (getNamedColors): There were some spaces in our
4717         color table so we wouldn't handle indianred or indigo.
4719 2002-09-25  Maciej Stachowiak  <mjs@apple.com>
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:]):
4733 2002-09-24  Darin Adler  <darin@apple.com>
4735         - fixed 3057928 -- lstat private/etc/localtime repeatedly reported
4736         by fs_usage when mouse is moved
4738         * WebCore-tests.exp: Remove now-unneeded external entry points
4739         for QTime, QDate, QDateTime.
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.
4747 2002-09-24  David Hyatt  <hyatt@apple.com>
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):
4756 2002-09-24  Richard Williamson   <rjw@apple.com>
4758         Fixed 3055078.  Ensure file: URLs have // before path.
4759         
4760         * kwq/KWQKURL.mm:
4761         (KURL::parse):
4763 2002-09-24  David Hyatt  <hyatt@apple.com>
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):
4772 2002-09-24  David Hyatt  <hyatt@apple.com>
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.).
4778         This fixes the drawing of the outline on the brainjar.com
4779         DHTML menus.
4780         
4781         * khtml/khtmlview.cpp:
4782         (KHTMLView::dispatchMouseEvent):
4784 2002-09-24  David Hyatt  <hyatt@apple.com>
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).
4790         This makes the brainjar.com rollovers work much better.
4791         
4792         * khtml/html/html_elementimpl.cpp:
4793         (HTMLElementImpl::parseAttribute):
4795 2002-09-24  Chris Blumenberg  <cblu@apple.com>
4797         Renamed element info keys to WebElement* instead of WebContextMenuElement*
4799         * kwq/WebCoreBridge.h:
4800         * kwq/WebCoreBridge.mm:
4801         (-[WebCoreBridge elementAtPoint:]):
4803 2002-09-24  Darin Adler  <darin@apple.com>
4805         - fixed 3056579 -- various crashes at http://www.auspost.com.au/
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.
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.
4817 2002-09-24  Darin Adler  <darin@apple.com>
4819         Remove the focus border hack, which was no longer doing us any good.
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.
4828 2002-09-24  Darin Adler  <darin@apple.com>
4830         * kwq/mac-encodings.txt: Remove constant for Japanese auto-detect.
4832 2002-09-24  Darin Adler  <darin@apple.com>
4834         * kwq/KWQFileButton.mm: (KWQFileButton::paint): Fix typo.
4836 2002-09-24  Darin Adler  <darin@apple.com>
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".
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.
4851 2002-09-23  David Hyatt  <hyatt@apple.com>
4853         Found the problem with the CSS W3C page.
4854         
4855         * khtml/xml/dom_docimpl.cpp:
4856         (DocumentImpl::recalcStyleSelector):
4858 2002-09-23  Darin Adler  <darin@apple.com>
4860         WebCore part of fixes for proper layering when drawing subframes.
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.
4866         * kwq/KWQScrollView.mm: (QScrollView::updateContents): Call setNeedsDisplayInRect
4867         instead of displayRect.
4869         * kwq/KWQPainter.mm:
4870         (QPainter::drawRect): Use NSRectFill and NSFrameRect instead of NSBezierPath.
4871         (QPainter::fillRect): Ditto.
4873 2002-09-23  David Hyatt  <hyatt@apple.com>
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:
4884 \2002-09-23  David Hyatt  <hyatt@apple.com>
4886         Make overflow:auto and scroll map to hidden until we figure
4887         out something better.
4888         
4889         * khtml/css/cssstyleselector.cpp:
4891 2002-09-23  Darin Adler  <darin@apple.com>
4893         More refinement of the AppKit hackery.
4895         * khtml/rendering/render_replaced.cpp:
4896         (RenderWidget::printObject): Pass in the painter and rect.
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.
4901         * kwq/KWQFileButton.h: Change paint to take painter and rect.
4902         * kwq/KWQFileButton.mm: (KWQFileButton::paint): Use painter.
4904         * kwq/qt/qpainter.h: Added paintingDisabled() function.
4905         * kwq/KWQPainter.mm: (QPainter::paintingDisabled): Added.
4907 2002-09-22  Darin Adler  <darin@apple.com>
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.
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.
4924 2002-09-21  Darin Adler  <darin@apple.com>
4926         - fixed 3057265 -- REGRESSION: Crash loading http://www.undetectables.co.uk/
4928         * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
4929         Remove special case for javascript and about:blank that was leading to a crash.
4931 2002-09-21  Darin Adler  <darin@apple.com>
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.
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.
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().
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.
4950         * kwq/qt/qlineedit.h: Remove paint() override.
4951         * kwq/KWQLineEdit.mm: Remove paint().
4953         * kwq/KWQFileButton.mm: (KWQFileButton::clicked): Fix typo. Was calling paint
4954         instead of clicked on the base class.
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.
4962         * khtml/rendering/render_frames.cpp: (RenderFrameSet::userResize): Remove call to flushDrawing.
4964 2002-09-20  Richard Williamson   <rjw@apple.com>
4966         Don't modify selection if no appropriate DOM::Node under
4967         mouse.
4968         
4969         * khtml/khtml_part.cpp:
4970         (KHTMLPart::khtmlMouseMoveEvent):
4972 2002-09-20  Richard Williamson   <rjw@apple.com>
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):
4980 2002-09-20  Richard Williamson   <rjw@apple.com>
4982         Fixed crasher in findTextSlave.
4983         * khtml/rendering/render_text.cpp:
4984         (RenderText::findTextSlave):
4986         Added error checks.
4987         * khtml/khtml_part.cpp:
4988         (startAndEndLineNodesIncludingNode):
4990 2002-09-20  Richard Williamson   <rjw@apple.com>
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:]):
5017 2002-09-20  Darin Adler  <darin@apple.com>
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.
5030         * kwq/KWQKFileItem.mm: Our "nonimplementation" is good enough. Stop complaining.
5031         * kwq/KWQKnetaccess.mm: Ditto. Also just extract path when asked to download.
5033 2002-09-20  Darin Adler  <darin@apple.com>
5035         Some first steps toward implementing input=file.
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.
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.
5049 2002-09-20  Darin Adler  <darin@apple.com>
5051         - fixed 3056605 -- REGRESSION: blank page at http://www.2ch.net/2ch.html
5053         * kwq/mac-encodings.txt: When people say ShiftJIS, they really mean
5054         DOSJapanese. So do what they mean, not what they say.
5056 2002-09-20  Darin Adler  <darin@apple.com>
5058         - fixed 3055339 -- repro crash in RenderPartObject::updateWidget()
5060         * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
5061         Only create a new part if we have no old part.
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.
5067 2002-09-19  Richard Williamson   <rjw@apple.com>
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:]):
5083 2002-09-19  Darin Adler  <darin@apple.com>
5085         - fixed 3045651 -- null-dereference in DOM::CharacterDataImpl constructor
5086         setting up text area element
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.
5092         * WebCore.pbproj/project.pbxproj: Let PB sort things as it likes.
5094 === Alexander-24 ===
5096 2002-09-18  Darin Adler  <darin@apple.com>
5098         - fixed 3037974 -- successful Find does not deselect text field
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.
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.
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.
5118         * kwq/KWQNSTextField.mm:
5119         (-[KWQNSTextField becomeFirstResponder]): Call setDocumentFocus.
5120         (-[KWQSecureTextField becomeFirstResponder]): Call setDocumentFocus.
5122         * kwq/qt/qwidget.h: Removed endEditing().
5123         * kwq/KWQWidget.mm: (QWidget::clearFocus): Call clearDocumentFocus.
5124         (QWidget::endEditing): Removed.
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.
5134 2002-09-18  Darin Adler  <darin@apple.com>
5136         - fixed 3027470 -- hitting tab when the google.com text field is selected
5137         (all bars hidden) makes border flash
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.
5145 2002-09-17  Darin Adler  <darin@apple.com>
5147         - fixed 3025022 -- Crash in KWQKHTMLPartImpl::redirectionTimerStartedOrStopped()
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.
5153         - fixed 3028476 -- illegal instruction crash in KWQTimerCallback timerFired
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.
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.
5174 2002-09-17  Darin Adler  <darin@apple.com>
5176         - fixed 3050818 -- Crash in relative-KURL constructor at site with _ in host name
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.
5181 2002-09-17  Richard Williamson   <rjw@apple.com>
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.
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>
5205         - fixed 2936933 -- Pages that claim to be UTF-8 but contain invalid
5206         sequences do not render at all
5208         Misc. speed improvements. Total 2.6% speedup for cvs-base.
5210         Improvements for signals.
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.
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.
5224         * kwq/KWQKHTMLPartImpl.mm:
5225         (moveWidgetsAside): Use isWidget() instead of dynamic_cast.
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.
5233         * kwq/KWQSlot.mm:
5234         (KWQSlot::call): Use static_cast instead of dynamic_cast where possible.
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.
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.
5255 2002-09-17  Richard Williamson   <rjw@apple.com>
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.
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>
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:
5294 2002-09-13  David Hyatt  <hyatt@apple.com>
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).
5301         Unpatched widgets include the password field, the listbox, and the
5302         textarea.  
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.
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:
5336 2002-09-13  Richard Williamson (Home)  <rjw@apple.com>
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):
5348         * kwq/WebCoreBridge.mm:
5349         (-[WebCoreBridge mouseUp:]):
5350         (-[WebCoreBridge mouseDown:]):
5351         Changed double click to be on mouse up with click count of two.
5353 2002-09-13  Darin Adler  <darin@apple.com>
5355         Fix crash in slot code.
5357         * kwq/KWQSignal.mm: (KWQSignal::call): Copy the slots before
5358         calling through in case we are destroyed by the called function.
5360 2002-09-13  Darin Adler  <darin@apple.com>
5362         Here's the *real* mistake that killed plugins. I accidentally
5363         stopped creating objects at all! Duh. Fixed now.
5365         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::createPart):
5366         Make a part for a plugin if we need one. Not a KHTMLPart, but
5367         a KWQPluginPart.
5369 2002-09-13  Darin Adler  <darin@apple.com>
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.
5376 2002-09-13  Richard Williamson (Home)  <rjw@apple.com>
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:
5397 2002-09-13  Darin Adler  <darin@apple.com>
5399         Quiet error messages related to the slot/signal changes.
5401         * khtml/khtml_part.cpp:
5402         (KHTMLPart::startAutoScroll): Ifdef this out.
5403         (KHTMLPart::stopAutoScroll): Ditto.
5405         * kwq/KWQObject.mm:
5406         (QObject::connect): Add two more expected members to the list for
5407         setStatusBarText and slotViewCleared.
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.
5416 2002-09-13  Darin Adler  <darin@apple.com>
5418         Fix assertion that happens on any page that has a non-HTML frame.
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.
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.
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.
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 *.
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.
5447 2002-09-12  Darin Adler  <darin@apple.com>
5449         * kwq/KWQAssertions.h: Update assertions from from the copy in WebFoundation.
5450         * WebCorePrefix.h: Remove NSURLPathUtilities.h include.
5452         Use even more of the KHTML code so we get referrers in one more place.
5454         * kwq/WebCoreBridge.h: Add referrer to createChildFrameNamed.
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.
5462         * khtml/rendering/render_frames.h: Less APPLE_CHANGES.
5463         * khtml/rendering/render_frames.cpp: Less APPLE_CHANGES.
5465         * kwq/kparts/browserextension.h: Add lockHistory/setLockHistory and
5466         openURLNotify.
5468         * kwq/khtml/khtml_ext.h: Add openURLNotify.
5469         * kwq/KWQKHTMLPartImpl.h: Add openURLNotify.
5470         * kwq/KWQKHTMLPartBrowserExtension.mm:
5471         (KHTMLPartBrowserExtension::openURLNotify): Implement.
5473         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::createPart):
5474         Changed name from requestFrame. Do less work.
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.
5484         * kwq/qt/qmap.h: Add contains.
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.
5493         * kwq/kparts/part.h: Add openURL.
5495 2002-09-12  Richard Williamson  <rjw@apple.com>
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:]):
5515 2002-09-12  David Hyatt  <hyatt@apple.com>
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):
5526 2002-09-12  David Hyatt  <hyatt@apple.com>
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):
5534 2002-09-12  David Hyatt  <hyatt@apple.com>
5536         Fix a bug in KHTML that leads it to claim cached @imported stylesheets
5537         are not loaded (when in fact they are).
5539         This fixes the W3C CSS page.
5540         
5541         * khtml/css/css_ruleimpl.cpp:
5542         (CSSImportRuleImpl::init):
5544 2002-09-12  Chris Blumenberg  <cblu@apple.com>
5546         Fixed livepage crash. It is naughty to divide by 0 so we now check before doing that.
5548         * khtml/rendering/render_box.cpp:
5549         (RenderBox::printBackground):
5551 2002-09-12  David Hyatt  <hyatt@apple.com>
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):
5560 2002-09-12  David Hyatt  <hyatt@apple.com>
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.
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:
5579 2002-09-11  Maciej Stachowiak  <mjs@apple.com>
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):
5587 2002-09-11  David Hyatt  <hyatt@apple.com>
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):
5595 2002-09-11  David Hyatt  <hyatt@apple.com>
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):
5619 2002-09-11  Darin Adler  <darin@apple.com>
5621         * kwq/KWQAssertions.h: Updated copy of the assertions macros (made by script).
5623 2002-09-11  Darin Adler  <darin@apple.com>
5625         - fixed 3047552 -- crash using CFNotification calls on an NSNotification
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.
5635 2002-09-11  Darin Adler  <darin@apple.com>
5637         - fixed 3021137 -- changing font prefs doesn't redraw frames
5638         other than the main frame
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.
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.
5657         * kwq/WebCoreBridge.h: Add setNeedsReapplyStyles; already implemented
5658         in WebKit.
5660         * khtml/khtml_part.cpp:
5661         (KHTMLPart::findFrame): Remove APPLE_CHANGES.
5662         (KHTMLPart::frameExists): Remove APPLE_CHANGES.
5663         (KHTMLPart::frames): Remove APPLE_CHANGES.
5665 2002-09-10  Darin Adler  <darin@apple.com>
5667         WebCore part of support for the "Referer" header.
5669         * khtml/khtml_part.cpp:
5670         (KHTMLPart::urlSelected): Use much more of this function.
5671         (KHTMLPart::submitForm): Use much more of this function.
5673         * kwq/KWQKHTMLPartBrowserExtension.mm:
5674         (KHTMLPartBrowserExtension::createNewWindow): Parse the
5675         referrer out of the URLArgs and pass it along.
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.
5691         * kwq/kdeui/kmessagebox.h: Add information member function.
5692         * kwq/KWQKMessageBox.mm: (KMessageBox::information): Implement.
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.
5702         * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Pass referrer through
5703         the bridge.
5705         * kwq/WebCoreBridge.h: Add referrer parameters to loadURL, postWithURL,
5706         openNewWindowWithURL, and startLoadingResource.
5708         * kwq/kparts/browserextension.h: Implement setDoPost, setContentType,
5709         const version of metaData().
5711         * kwq/qt/qstring.h: Implement fromLatin1(const char *, int).
5713         * WebCore-tests.exp: Not sure why, but I needed to remove isMalformed,
5714         and the tests seem to still work with it removed.
5716 2002-09-11  David Hyatt  <hyatt@apple.com>
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.
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).
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:
5745 2002-09-10  David Hyatt  <hyatt@apple.com>
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:
5758 2002-09-10  David Hyatt  <hyatt@apple.com>
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:
5778 2002-09-10  Richard Williamson  <rjw@apple.com>
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:
5802 2002-09-10  David Hyatt  <hyatt@apple.com>
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):
5816 2002-09-10  Maciej Stachowiak  <mjs@apple.com>
5818         WebCore part of fix for:
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
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:.
5834 2002-09-10  Darin Adler  <darin@apple.com>
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).
5839         * khtml/khtml_part.cpp:
5840         (KHTMLPart::findFrame): Back to the old way.
5841         (KHTMLPart::frameExists): Ditto.
5842         (KHTMLPart::frames): Ditto.
5844 2002-09-10  Darin Adler  <darin@apple.com>
5846         - fixed 2942809 -- remove all direct access to "WebKit" defaults from WebCore
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.
5866         * WebCore.exp: Add WebCoreSettings to the exported class list.
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.
5877         - fixed 3015877 -- either wean WebCore from _web_URLFromString, or make it public API in WebFoundation
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.
5884         After fixing the above bugs, I noticed that I could remove the WebFoundation dependency.
5886         * WebCore.pbproj/project.pbxproj: Remove WebFoundation framework.
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.
5892         Do some preparation work for implementing "referrer".
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.
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.
5915         Other changes.
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.
5922 2002-09-09  Richard Williamson  <rjw@apple.com>
5924         Implemented disable images automatically (2896319).
5926         * kwq/KWQKHTMLSettings.mm:
5927         (KHTMLSettings::autoLoadImages):
5929 2002-09-09  Darin Adler  <darin@apple.com>
5931         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyView):
5932         Remove stray printf.
5934 2002-09-09  David Hyatt  <hyatt@apple.com>
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:
5957 2002-09-09  Darin Adler  <darin@apple.com>
5959         * khtml/rendering/render_layer.h: Add a call to delete to fix a storage leak.
5961 2002-09-09  Darin Adler  <darin@apple.com>
5963         * khtml/misc/helper.cpp: (khtml::setNamedColor): Add a missing return I spotted.
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.
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.
6000 2002-09-08  Darin Adler  <darin@apple.com>
6002         Switch over to new assertion/logging scheme.
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.
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.
6071 2002-09-08  David Hyatt  <hyatt@apple.com>
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).
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:
6128 2002-09-06  Maciej Stachowiak  <mjs@apple.com>
6130         Fix another instance of the same problem:
6132         * kwq/KWQString.mm:
6133         (QString::detach):
6135 2002-09-06  Maciej Stachowiak  <mjs@apple.com>
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.
6143 2002-09-06  Darin Adler  <darin@apple.com>
6145         * kwq/WebCoreResourceLoader.h:
6146         Define WebCoreResourceHandle protocol.
6148         * kwq/kio/jobclasses.h:
6149         * kwq/KWQKjobclasses.mm:
6150         * kwq/KWQLoaderImpl.mm: (KWQServeRequest):
6151         * kwq/WebCoreBridge.h:
6152         Use WebCoreResourceHandle instead of WebResourceHandle.
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.
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.
6162         * kwq/KWQCharsets.mm: Formatting tweaks.
6164 2002-09-06  Richard Williamson  <rjw@apple.com>
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:
6190 === Alexander-22 ===
6192 2002-09-05  Richard Williamson  <rjw@apple.com>
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:]):
6201 2002-09-05  Richard Williamson  <rjw@apple.com>
6202     
6203         Removed debugging.
6204         
6205         * khtml/khtml_part.cpp:
6206         (KHTMLPart::closeURL):
6208 2002-09-05  Richard Williamson  <rjw@apple.com>
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]):
6228 2002-09-04  Darin Adler  <darin@apple.com>
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.
6239 2002-09-02  David Hyatt  <hyatt@apple.com>
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):
6247 2002-08-31  Darin Adler  <darin@apple.com>
6249         - fixed 3038336 -- repro crash in QTextDecoder trying to display UTF-16 file
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.
6255         * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::encoding): Just return "latin1",
6256         not "NSISOLatin1StringEncoding".
6258         * kwq/KWQString.mm: (QString::fromStringWithEncoding): Pass true for the
6259         "pay attention to BOM" flag.
6261         * khtml/rendering/render_object.cpp: Take out unneeded APPLE_CHANGES.
6263 2002-08-30  Ken Kocienda  <kocienda@apple.com>
6265         Fixed a problem in this function where broken UTF-8 would cause a crash.
6267         * WebCore.pbproj/project.pbxproj:
6268         * kwq/KWQString.mm:
6269         (QString::fromStringWithEncoding)
6271 2002-08-30  Richard Williamson  <rjw@apple.com>
6273         Removed debugging log.
6274         
6275         * kwq/KWQString.mm:
6276         (QString::fromStringWithEncoding):
6278 2002-08-30  Richard Williamson  <rjw@apple.com>
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):
6291 2002-08-30  Darin Adler  <darin@apple.com>
6293         - fixed 3027407 -- Console error refers to closed bug
6295         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::bridgeForFrameName):
6296         Update bug number from 2959902 to 2942073.
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.
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.
6328         * kwq/qt/qwidget.h: Make focusPolicy virtual.
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.
6334         * kwq/KWQLineEdit.mm: (QLineEdit::setFont): Use QFont::getNSFont.
6336         * force-clean-timestamp: For you poor bastards who aren't using the new
6337         Project Builder yet.
6339 2002-08-30  Darin Adler  <darin@apple.com>
6341         * WebCore.pbproj/project.pbxproj: Allowed the new Project Builder to put in
6342         encodings for each file.
6344 2002-08-29  David Hyatt  <hyatt@apple.com>
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.
6351         Implemented all the code for layer construction and for keeping
6352         the layer tree in sync with the render object tree.  
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.
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):
6381 === Alexander-21 ===
6383 2002-08-28  David Hyatt  <hyatt@apple.com>
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:
6394 2002-08-28  Richard Williamson  <rjw@apple.com>
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:
6402 2002-08-28  Richard Williamson  <rjw@apple.com>
6404         Fixed outline of for active link style.
6405         
6406         * khtml/css/html4.css:
6407         * kwq/KWQPainter.mm:
6408         (QPainter::drawLine):
6410 2002-08-28  David Hyatt  <hyatt@apple.com>
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.
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:
6427 2002-08-28  Darin Adler  <darin@apple.com>
6429         - fixed 2977587 -- JavaScript code that reads the values of text areas
6430         misses the last line if no trailing CR
6432         * kwq/KWQTextArea.mm: (-[KWQTextArea paragraphs]):
6434 2002-08-28  David Hyatt  <hyatt@apple.com>
6436         Putting design notes and API details for the layering system
6437         into the header file.
6438         
6439         * khtml/rendering/render_layer.h:
6441 2002-08-28  Darin Adler  <darin@apple.com>
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.
6446 2002-08-28  Darin Adler  <darin@apple.com>
6448         - fixed 3032148 -- Button not disabled in page
6450         * kwq/KWQWidget.mm: (QWidget::setEnabled): Call setEnabled:
6451         on the NSView if it implements it.
6453 2002-08-28  Darin Adler  <darin@apple.com>
6455         - fixed 3030212 -- Problems rendering pages that specify "x-mac-roman" character
6456         set (like our Danish help pages)
6458         * kwq/mac-encodings.txt: Added x-mac-roman as an alias for macintosh.
6460 2002-08-27  Darin Adler  <darin@apple.com>
6462         * force-clean-timestamp: Dave's changes require a full build. I found out the
6463         hard way, by debugging for a while.
6465 2002-08-27  Richard Williamson <rjw@apple.com>
6467         * kwq/WebCoreBridge.h:
6468         
6469         Fixed constants to conform to WebKit.  These need to be shared.
6471 2002-08-27  David Hyatt  <hyatt@apple.com>
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.
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.
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.
6507 2002-08-27  Darin Adler  <darin@apple.com>
6509         - fixed 3031952 -- null-dereference in dispatchToUInt32 closing window
6511         * khtml/ecma/kjs_window.cpp: (History::getValueProperty):
6512         Use Undefined(), not Value() for an error result. Value() is pure evil.
6514 2002-08-27  Darin Adler  <darin@apple.com>
6516         - fixed 3021018 -- Crash selecting from popup just after choosing radio button
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.
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.
6531         * kwq/WebCoreBridge.h: Add defersLoading and setDefersLoading. Both are already
6532         in WebKit.
6534 2002-08-26  David Hyatt  <hyatt@apple.com>
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:
6543 2002-08-26  Darin Adler  <darin@apple.com>
6545         * khtml/rendering/render_list.cpp:
6546         Make file match the original KDE more closely (no substantive change).
6548 2002-08-26  Richard Williamson  <rjw@apple.com>
6550         * WebCore.exp:
6552         Added WebCoreHistory
6553         
6554         * WebCore.pbproj/project.pbxproj:
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:]):
6572         * kwq/KWQString.mm:
6573         (QString::compare):
6575         Optimization, use strcmp when both src and dst have valid ascii.
6576         
6578 2002-08-26  David Hyatt  <hyatt@apple.com>
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):
6590 2002-08-24  Darin Adler  <darin@apple.com>
6592         - fixed 3032072 -- Crash on reload in DOM::DocumentImpl::~DocumentImpl [unified]()
6594         This was a tough one to debug.
6595         Turned out to be a subtle bug in our new QConstString implementation.
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.
6610         Fixed a separate QString problem; I think I may have introduced this one.
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.
6620         Fixed a small storage leak.
6622         * khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cleanup): Added braces to
6623         fix obviously-incorrect if/else grouping.
6625 2002-08-23  Darin Adler  <darin@apple.com>
6627         Got the kurl-test in the Tests directory working again.
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.
6632 2002-08-23  Darin Adler  <darin@apple.com>
6634         - fixed 3032058 -- Links on local developer doc pages all broken (all local files?)
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.
6639         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyViewInFrame): Add a nil check.
6640         I ran into this because my frame failed to load.
6642 2002-08-23  Maciej Stachowiak  <mjs@apple.com>
6644         A few more KURL changes that reduce it down to background noise
6645         level.
6647         For me this gave another 1-2% improvement on cvs-base.
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.
6669 2002-08-22  Darin Adler  <darin@apple.com>
6671         * force-clean-timestamp: Without this, I crash on startup.
6673 2002-08-22  Maciej Stachowiak  <mjs@apple.com>
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.
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.
6707 2002-08-22  Darin Adler  <darin@apple.com>
6709         * kwq/KWQButton.mm: (QButton::~QButton): Disconnect the view
6710         from the widget by doing setTarget:nil.
6711         * kwq/KWQComboBox.mm: (QComboBox::~QComboBox): Ditto.
6713 2002-08-22  David Hyatt  <hyatt@apple.com>
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:
6720 2002-08-22  Richard Williamson  <rjw@apple.com>
6722         New faster char * append (actually insert) for mjs.
6723         
6724         * kwq/KWQString.mm:
6725         (QString::insert):
6726         * kwq/qt/qstring.h:
6728 2002-08-22  Darin Adler  <darin@apple.com>
6730         Some small QString improvements.
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.
6749 === Alexander-20 ===
6751 2002-08-22  Darin Adler  <darin@apple.com>
6753         Fixed a one-click crasher that Ken and Don told me about.
6755         * kwq/KWQObject.mm: (QObject::QObject): Initialize m_eventFilterObject.
6757 2002-08-21  Darin Adler  <darin@apple.com>
6759         - fixed 3021908 -- text areas should be plain text only
6761         * kwq/KWQTextArea.mm:
6762         (-[KWQTextArea _createTextView]): setRichText:NO
6763         (-[KWQTextArea dealloc]): Release the text view so we don't leak.
6765 2002-08-21  Darin Adler  <darin@apple.com>
6767         * kwq/KWQNSViewExtras.m: (-[NSClipView _KWQ_scrollRectToVisible:inView:]):
6768         Use bounds, not visibleRect. Seems to work better.
6770 2002-08-21  John Sullivan  <sullivan@apple.com>
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.
6776         * kwq/KWQKHTMLPartImpl.mm:
6777         (KWQKHTMLPartImpl::overURL):
6779 2002-08-21  Darin Adler  <darin@apple.com>
6781         Fix for two problems with password fields.
6783            1) Return wasn't working.
6784            2) They were wrapping instead of scrolling.
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.
6793 2002-08-21  David Hyatt  <hyatt@apple.com>
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):
6802 2002-08-21  Darin Adler  <darin@apple.com>
6804         - fixed 3027927 -- selected text fields do not cause the web view to scroll to reveal them
6806         * kwq/KWQNSTextField.mm:
6807         (-[KWQNSTextField becomeFirstResponder]): Call [self _KWQ_scrollFrameToVisible].
6808         (-[KWQSecureTextField becomeFirstResponder]): Call [self _KWQ_scrollFrameToVisible].
6810         * kwq/KWQNSViewExtras.h: Added. New scrolling functions.
6811         * kwq/KWQNSViewExtras.m: Added. New scrolling functions.
6812         * WebCore.pbproj/project.pbxproj: Added KWQNSViewExtras.
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.
6819         Unrelated change.
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.
6825 2002-08-21  Darin Adler  <darin@apple.com>
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.
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).
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.
6848         * kwq/qt/qwidget.h: Added new virtual baselinePosition function.
6849         * kwq/KWQWidget.mm: (QWidget::baselinePosition): Default for baseline is the bottom.
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.
6858         * kwq/qt/qbutton.h:
6859         * kwq/KWQButton.mm: Moved all the code that's push-button specific into QPushButton.
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).
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).
6881         * force-clean-timestamp: Yes, again.
6883 2002-08-20  Darin Adler  <darin@apple.com>
6885         - fix 3028936 -- fields are not submitting the correct data if they are selected
6886         when you submit
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.
6894 2002-08-20  David Hyatt  <hyatt@apple.com>
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:
6903 2002-08-20  Darin Adler  <darin@apple.com>
6905         WebCore part of support for tabbing into and out of the toolbar.
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.
6916         * kwq/KWQNSTextField.mm: Update to call nextKeyViewForWidget.
6918         * kwq/WebCoreBridge.h: Added nextKeyViewInsideWebViews, previousKeyViewInsideWebViews,
6919         nextKeyViewOutsideWebViews, and previousKeyViewOutsideWebViews.
6921         * kwq/WebCoreBridge.mm:
6922         (-[WebCoreBridge nextKeyViewInsideWebViews]): Call nextKeyViewInFrameHierarchy.
6923         (-[WebCoreBridge previousKeyViewInsideWebViews]): Call nextKeyViewInFrameHierarchy.
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.
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.
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.
6941 2002-08-19  Darin Adler  <darin@apple.com>
6943         * force-clean-timestamp: Richard's changes require a clean build.
6945 2002-08-19  Richard Williamson  <rjw@apple.com>
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>
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>
7074         Fixed tab cycle on slashdot.org and elsewhere by being stricter about what is
7075         included in the tab cycle.
7077         * kwq/KWQWidget.mm: (QWidget::focusPolicy): Use the same rule as AppKit.
7079 2002-08-19  David Hyatt  <hyatt@apple.com>
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.
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):
7092 2002-08-19  Darin Adler  <darin@apple.com>
7094         - fixed 3027791 -- Crash when pressing "tab" after going to http://slashdot.org/
7096         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyViewInFrame): Add null check.
7098 2002-08-19  Darin Adler  <darin@apple.com>
7100         Put in more robust version of the next/previous key view checking
7101         that matches what I did in WebHTMLView.
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.
7115         Unrelated change.
7117         * kwq/mac-encodings.txt: Add an encoding name of gb18030, since I saw mention of it in bug 3002016.
7119 2002-08-19  Darin Adler  <darin@apple.com>
7121         Support so that WebKit can tab into a web view's fields.
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.
7132 2002-08-19  Darin Adler  <darin@apple.com>
7134         First cut at implementation of "tab to change focus": Lots of loose ends, but it's
7135         going well.
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.
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.
7157         * kwq/KWQKHTMLPartImpl.mm:
7158         (KWQKHTMLPartImpl::nextKeyViewInFrame): Added.
7159         (KWQKHTMLPartImpl::nextKeyView): Added.
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.
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.
7174         Other changes related to KWQKHTMLPartImpl improvements.
7176         * kwq/KWQKHTMLPartBrowserExtension.mm:
7177         * kwq/KWQKHTMLPartImpl.mm:
7178         * kwq/KWQLoaderImpl.mm:
7179         * kwq/WebCoreBridge.mm:
7180         Update for KWQKHTMLPartImpl member name changes.
7182         Various improvements for other widget implementations.
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().
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.
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.
7202         * kwq/KWQRadioButton.mm:
7203         (QRadioButton::QRadioButton): Don't pass unused parent pointer to
7204         QButton contructor.
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().
7217         * kwq/kdeui/kcombobox.h: Empty this out and make it use only inlines.
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.
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.
7228         * kwq/kdeui/klineedit.h: Empty this out and make it use only inlines.
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.
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.
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.
7249         * kwq/KWQView.h: Eliminated KWQNSButton, KWQNSComboBox, and KWQNSScrollView.
7250         * kwq/KWQView.mm: Ditto.
7252         Housekeeping.
7254         * force-clean-timestamp: Yes, again.
7256         * khtml/khtml_part.h: Rearrange APPLE_CHANGES a bit.
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.
7261 2002-08-16  Darin Adler  <darin@apple.com>
7263         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::userAgent):
7264         Call bridge's userAgentForURL: method.
7265         * kwq/WebCoreBridge.h: Added userAgentForURL: to the protocol
7267 2002-08-16  Darin Adler  <darin@apple.com>
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.
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.
7279         * kwq/KWQKHTMLPartImpl.h: Add userAgent member function.
7280         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::userAgent): Added.
7282         * WebCore.pbproj/project.pbxproj: Removed KWQKProtocolManager.mm.
7283         * kwq/KWQKProtocolManager.mm: Removed.
7284         * kwq/kio/kprotocolmanager.h: Made empty.
7286 2002-08-16  Maciej Stachowiak  <mjs@apple.com>
7288         * force-clean-timestamp: Need to rebuild for JavaScriptCore changes.
7290 2002-08-16  Darin Adler  <darin@apple.com>
7292         - fixed 3023851 -- screen garbage created by scrolling text
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).
7300         * khtml/rendering/render_box.cpp: (RenderBox::calcClip):
7301         Call addClip instead of clipRegion(), intersect(), setClipRegion().
7303         * kwq/qt/qpainter.h: Added addClip(), removed clipRegion(), setClipRegion().
7304         * kwq/KWQPainter.mm: (QPainter::addClip): Calls [NSBezierPath clipRect:].
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].
7316 2002-08-16  Darin Adler  <darin@apple.com>
7318         - fixed 3026042 -- hide frames button at developer documentation doesn't work
7320         This regression was introduced by the anchor changes we made just after
7321         the Alexander-15 release.
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.
7327 2002-08-16  Maciej Stachowiak  <mjs@apple.com>
7329         * force-clean-timestamp: rebuild for JavaScriptCore changes.
7331 2002-08-16  David Hyatt  <hyatt@apple.com>
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:
7344 2002-08-15  Darin Adler  <darin@apple.com>
7346         - fixed 2983959 -- pages that try to use JavaScript to focus fail to do so
7348         * kwq/KWQWidget.mm: (QWidget::setFocus): Call makeFirstResponder.
7350 2002-08-15  Darin Adler  <darin@apple.com>
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.
7356         Got rid of the old Action system altogether, using signals now.
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.
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.
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.
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.
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.
7391         * kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call):
7392         Added selected and selectionChanged slots.
7394         * kwq/KWQTextArea.mm:
7395         (-[KWQTextArea textDidEndEditing:]): Removed code to emit the
7396         ACTION_TEXT_AREA_END_EDITING action, which was no longer used.
7398         * force-clean-timestamp: Yes, again.
7400 2002-08-15  Darin Adler  <darin@apple.com>
7402         - fixed 3017376 -- button height is too tall
7404         Reworked how widget sizing and positioning is done for a few of the most important
7405         widget types.
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.
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.
7450         * kwq/qt/qwidget.h:
7451         * kwq/KWQWidget.mm:
7452         (QWidget::setFrameGeometry): New name for internalSetGeometry, now public.
7454         - fixed 3010695 -- Slashdot.org starts with password field focused, but shouldn't
7456         Added KWQSecureTextField to work around the bug.
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.
7488         - fixed 3025166 -- check boxes and radio buttons on google.com's preferences pages
7489         are not "linked"
7491         We were not emitting onClicked for check boxes.
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.
7507         - fixed 3025211 -- find person in Apple directory never displays person information
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.
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.
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.
7526         * kwq/KWQKHTMLPartImpl.mm:
7527         (KHTMLPart::started): Added. Calls slotChildStarted on parent.
7528         (KHTMLPart::completed): Added slotParentCompleted calls.
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().
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.
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.
7543         * kwq/KWQsignals.mm:
7544         (Tokenizer::Tokenizer): Construct the finishedParsing signal.
7545         (Tokenizer::finishedParsing): Emit the finishedParsing signal.
7547         - fixed 3025170 -- right sides of borders placed incorrectly around table cells
7549         There was some silly code that I just removed.
7551         * khtml/rendering/render_table.cpp:
7552         (RenderTable::addColInfo): Turn off the half-assed collapse borders stuff here.
7554         - other changes
7556         * force-clean-timestamp: Big changes; full rebuild needed.
7558         * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Make the code to kill
7559         the timers be unconditional, just in case.
7561         * kwq/KWQCharsets.mm: (buildDictionaries): Remove UTF-16 special case since it's now
7562         in the character sets table.
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.
7578         * kwq/qt/qpushbutton.h:
7579         * kwq/KWQPushButton.mm: Removed unused methods.
7581         * kwq/KWQRegion.mm: Use new QPoint/NSPoint/QRect/NSRect functions.
7583         * kwq/KWQScrollView.mm: (QScrollView::addChild): Update comment.
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.
7590         * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Don't pass an empty frame any more.
7592         * kwq/KWQWindowWidget.h:
7593         * kwq/KWQWindowWidget.mm: Update for name change.
7595         * kwq/WebCoreTestController.h: Placeholder for the feature I should be working on.
7597 === Alexander-19 ===
7599 === Alexander-18 ===
7601 2002-08-15  Maciej Stachowiak  <mjs@apple.com>
7603         * force-clean-timestamp: Need to rebuild for JavaScriptCore
7604         changes.
7606 2002-08-14  David Hyatt  <hyatt@apple.com>
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):
7617 2002-08-14  David Hyatt  <hyatt@apple.com>
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):
7626 2002-08-14  David Hyatt  <hyatt@apple.com>
7628         Ensure that a rendering object gets built for <fieldset>
7629         elements.  Content inside a <fieldset> was being discarded
7630         and not rendered.
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:
7639 2002-08-14  Darin Adler  <darin@apple.com>
7641         Fix the build.
7643         * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue):
7644         Add braces and fix a syntax error.
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.
7650         * kwq/make-charset-table.pl: Allow comments.
7652 2002-08-14  Maciej Stachowiak  <mjs@apple.com>
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.
7662 2002-08-14  Maciej Stachowiak  <mjs@apple.com>
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).
7670 2002-08-13  Maciej Stachowiak  <mjs@apple.com>
7672         Add the ability to determine the classes of live JavaScript
7673         objects, to help with leak fixing.
7675         * kwq/WebCoreJavaScript.h:
7676         * kwq/WebCoreJavaScript.mm:
7677         (+[WebCoreJavaScript liveObjectClasses]):
7679 2002-08-13  David Hyatt  <hyatt@apple.com>
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.  
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.
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.)
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:
7713 2002-08-13  Darin Adler  <darin@apple.com>
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.
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.
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.
7733 2002-08-13  Darin Adler  <darin@apple.com>
7735         - fixed 3023439 -- support for windows-874 charset for thai
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.
7741 2002-08-13  Darin Adler  <darin@apple.com>
7743         Some QRegion fixes inspired by Dave's clipping work.
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.
7761         * kwq/KWQPainter.mm: (QPainter::setClipRegion): Use QRegion::setClip().
7763 2002-08-12  David Hyatt  <hyatt@apple.com>
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):
7772 2002-08-12  David Hyatt  <hyatt@apple.com>
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:
7786 2002-08-12  David Hyatt  <hyatt@apple.com>
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):
7808 2002-08-12  Darin Adler  <darin@apple.com>
7810         * khtml/misc/loader.cpp: (Cache::insertInLRUList):
7811         Add missing piece of the last check-in.
7813 2002-08-12  Darin Adler  <darin@apple.com>
7815         At Ken's urging, fixed the loader cache to be more efficient.
7816         Gives 1% on the cvs-base test.
7818         * force-clean-timestamp: This requires a full rebuild.
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.
7844         * kwq/KWQLoaderImpl.mm: (KWQCheckIfReloading):
7845         * kwq/WebCoreBridge.h:
7846         Change dataSourceIsReloading to isReloading.
7848 2002-08-12  David Hyatt  <hyatt@apple.com>
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.
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:
7866 2002-08-12  Darin Adler  <darin@apple.com>
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.
7872 2002-08-12  Darin Adler  <darin@apple.com>
7874         - re-fixed 2948387 -- stop button flashes to "go" two extra times while loading citibank.com
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.
7880         * khtml/khtml_part.cpp: (KHTMLPart::scheduleRedirection): Remove APPLE_CHANGES so we don't
7881         try to redirect until the page is complete.
7883 === Alexander-17 ===
7885 2002-08-10  Ken Kocienda  <kocienda@apple.com>
7887         Check box in target setting panel to enable prebinding.
7889         * WebCore.pbproj/project.pbxproj
7891 2002-08-10  Ken Kocienda  <kocienda@apple.com>
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.
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:
7905 2002-08-09  Darin Adler  <darin@apple.com>
7907         * force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
7909 2002-08-09  Darin Adler  <darin@apple.com>
7911         - fixed 3018063 -- frame problems at directory.apple.com
7912         - fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."
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.
7917         * khtml/khtml_part.cpp: (KHTMLPart::openURLInFrame): Don't compile this
7918         function at all any more.
7920         * kwq/KWQKHTMLPartBrowserExtension.mm:
7921         (KHTMLPartBrowserExtension::openURLRequest): Call the impl's openURLRequest
7922         instead of calling the part's openURLInFrame. Clearer.
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.
7938 2002-08-09  Darin Adler  <darin@apple.com>
7940         - fixed 2945441 -- base target is ignored
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.
7947 === milestone 0.5 ===
7949 === Alexander-16 ===
7951 2002-08-09  Darin Adler  <darin@apple.com>
7953         - fixed 3020594 -- crash in KWQKHTMLPartImpl::end() visiting particular page
7955         * khtml/khtml_part.cpp: (KHTMLPart::end): Our hacked alternative to a signal
7956         requires a NULL check.
7958 2002-08-08  Maciej Stachowiak  <mjs@apple.com>
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.
7975 2002-08-08  Richard Williamson  <rjw@apple.com>
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:
7984 2002-08-08  Darin Adler  <darin@apple.com>
7986         - fixed 3019353 -- Japanese (Autodetect) encoding not properly supported
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.
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".
7997         Placeholders for the "drawing observer" method that I'll be using
7998         to implement the "dump page as diffable text" feature.
8000         * kwq/WebCoreTestController.h: Added.
8001         * kwq/WebCoreTestController.m: Added.
8002         * WebCore.exp: Mention new class.
8003         * WebCore.pbproj/project.pbxproj: Mention new files.
8005 2002-08-08  Maciej Stachowiak  <mjs@apple.com>
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.
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.
8018 2002-08-08  Richard Williamson  <rjw@apple.com>
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]):
8033 2002-08-07  Maciej Stachowiak  <mjs@apple.com>
8035         WebCore work for:
8037         - fixed 2956008 - Need API for getting/setting text encoding for current page
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.
8050 2002-08-07  David Hyatt  <hyatt@apple.com>
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:
8069 2002-08-07  Darin Adler  <darin@apple.com>
8071         - fixed 3017499 -- One-click crasher at hondamotorcycle.com
8073         * kwq/KWQKURL.mm: (operator==): Just compare the strings.
8074         Faster and safer.
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:]):
8085 2002-08-07  Darin Adler  <darin@apple.com>
8087         * kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::decompose): Use CFURLCopyPath
8088         instead calling _NSParseStringToGenericURLComponents.
8090 2002-08-07  Richard Williamson  <rjw@apple.com>
8092         Turned off temporary debugging I accidentally checked in.
8093         
8094         * kwq/WebCoreBridge.mm:
8095         (-[WebCoreBridge drawRect:withPainter:]):
8097 2002-08-06  David Hyatt  <hyatt@apple.com>
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]):
8110 2002-08-06  David Hyatt  <hyatt@apple.com>
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):
8120 2002-08-06  Darin Adler  <darin@apple.com>
8122         - fixed 2965321 -- Crash on window close in kthml::Loader::cancelRequests from particular page
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.
8130 2002-08-06  John Sullivan  <sullivan@apple.com>
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.
8137 2002-08-06  Darin Adler  <darin@apple.com>
8139         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::overURL):
8140         Fix crash in overURL, another case just like bug 3006336.
8142 2002-08-06  Richard Williamson  <rjw@apple.com>
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:
8167 2002-08-06  Maciej Stachowiak  <mjs@apple.com>
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.
8179 2002-08-06  David Hyatt  <hyatt@apple.com>
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):
8195 2002-08-06  John Sullivan  <sullivan@apple.com>
8197         WebCore part of fix for 2915396 -- implement larger/smaller font
8198         or page zoom functionality
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.
8205 2002-08-06  Darin Adler  <darin@apple.com>
8207         * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
8208         Put in a check for nil that I missed.
8210 2002-08-06  Darin Adler  <darin@apple.com>
8212         - fixed 2948805 -- Need WebKit API for larger/smaller font feature
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.
8245 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
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.
8254         * kwq/WebCoreBridge.mm:
8255         (-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]):
8256         Destroy the old view if we own it.
8258 2002-08-05  Darin Adler  <darin@apple.com>
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.
8269 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8271         - fixed 3007072 - need to be able to build fat
8272         
8273         * WebCore.pbproj/project.pbxproj: Fixed DeploymentFat build.
8275 2002-08-05  Darin Adler  <darin@apple.com>
8277         - fixed 3016374 -- Change font default from small back to medium
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.
8290         Do a little bit of wiring for the "text size multiplier" feature.
8292         * kwq/WebCoreBridge.h:
8293         * kwq/WebCoreBridge.mm: (-[WebCoreBridge setTextSizeMultiplier:]): Added.
8295 2002-08-05  Darin Adler  <darin@apple.com>
8297         - fixed 3009321 -- bookmark and history menus show black square for (tm)
8299         * khtml/html/htmltokenizer.cpp:
8300         (HTMLTokenizer::parseSpecial): Call fixUpChar.
8301         (HTMLTokenizer::parseText): Call fixUpChar.
8302         (HTMLTokenizer::parseTag): Call fixUpChar.
8304 2002-08-05  Darin Adler  <darin@apple.com>
8306         - fixed 3016795 -- http://www.google.co.il/ fails to decode
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.
8312 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8314         * kwq/KWQKHTMLPartImpl.mm:
8315         (KWQKHTMLPartImpl::slotData): Simplified a bit.
8317 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8319         Merged KHTMLPart::end method with khtml original.
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>
8337         Merged KHTMLPart::openURL method with khtml original.
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.
8346 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
8348         Merged KHTMLPart::begin method with khtml original.
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.
8362 2002-08-04  David Hyatt  <hyatt@apple.com>
8364         Fix my bungled CSS for input fields in the user agent style
8365         sheet.
8366         
8367         * khtml/css/html4.css:
8369 2002-08-03  Darin Adler  <darin@apple.com>
8371         - fixed 2943519 - &#149; is rendered as an asterisk rather than a bullet
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.
8380 2002-08-02  Darin Adler  <darin@apple.com>
8382         - fixed 3015522 -- crash decoding http://www.haaretz.co.il/
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.
8390         - fixed 2949235 -- checkboxes in wrong place until you scroll away and back
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.
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.
8400         * khtml/rendering/render_root.cpp: (RenderRoot::layout): Call a KWQ function
8401         so we can do some work at layout time.
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.
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.
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.
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.
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.
8446         * khtml/misc/loader.h: Simplify APPLE_CHANGES ifdefs since all slots are now public.
8448        * force-clean-timestamp: Touch this since header files were changed.
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.
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.
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.
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.
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.
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.
8497         * kwq/WebCoreBridge.h: Changed name of gotoAnchor to scrollToAnchor. Added client redirect
8498         methods.
8499         * kwq/WebCoreBridge.mm: (-[WebCoreBridge scrollToAnchor:]): Changed name.
8501 2002-08-02  David Hyatt  <hyatt@apple.com>
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:
8541 2002-08-01  Darin Adler  <darin@apple.com>
8543         - fixed 2841277 -- support for charset=gb2312
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.
8549 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
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.
8562 2002-08-01  Richard Williamson  <rjw@apple.com>
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:]):
8573 2002-08-01  Ken Kocienda  <kocienda@apple.com>
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.
8578         * khtml/misc/loader.cpp
8580 === Alexander-15 ===
8582 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
8584         Restored the original KHTMLPart::write() now that none of our
8585         changes in the impl version are beneficial in any way.
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.
8596 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
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.
8605 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
8607         Remove stuff formerly useful for "View Reconstructed Source"
8608         feature but now useless.
8610         * kwq/KWQKHTMLPartImpl.h:
8611         * kwq/KWQKHTMLPartImpl.mm:
8612         (KWQKHTMLPartImpl::documentSource): Removed.
8613         * kwq/WebCoreBridge.h:
8614         * kwq/WebCoreBridge.mm:
8615         (-[WebCoreBridge documentTextFromDOM]): Removed.
8617 2002-07-31  Darin Adler  <darin@apple.com>
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.
8627         * WebCore-tests.exp: Remove old QVector entry points and add new ones.
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.
8634         * khtml/css/cssparser.cpp: Removed the APPLE_CHANGES around a change that's
8635         fine for non-Apple use as well.
8637 2002-07-30  Maciej Stachowiak  <mjs@apple.com>
8639         Fixes of various bugs that prevented Alexander from running the
8640         Mozilla page load test.
8642         - fixed 3008682 - Alexander cannot run Mozilla-PLT
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.
8658 2002-07-30  Richard Williamson  <rjw@apple.com>
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):
8670 2002-07-30  David Hyatt  <hyatt@apple.com>
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):
8679 2002-07-30  David Hyatt  <hyatt@apple.com>
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):
8688 2002-07-30  David Hyatt  <hyatt@apple.com>
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:
8702 2002-07-30  Richard Williamson  <rjw@apple.com>
8704         Inline critical function.
8705         
8706         * kwq/KWQString.mm:
8707         (compareToLatinCharacter):
8709 2002-07-30  Richard Williamson  <rjw@apple.com>
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:
8717 2002-07-30  Darin Adler  <darin@apple.com>
8719         * khtml/css/makevalues: Fail if we don't find gperf.
8721 2002-07-30  David Hyatt  <hyatt@apple.com>
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):
8730 2002-07-30  David Hyatt  <hyatt@apple.com>
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):
8741 2002-07-29  David Hyatt  <hyatt@apple.com>
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.
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:
8759 2002-07-29  Darin Adler  <darin@apple.com>
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
8764         * force-clean-timestamp: Make everyone do a make clean because dependencies won't do
8765         the right thing.
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. 
8772         * kwq/WebCoreBridge.mm: (-[WebCoreBridge jumpToSelection]): Go straight to the impl.
8774         * WebCore-tests.exp: One new export needed for tests with change to qstring.h.
8776         * kwq/qt/qevent.h:
8777         * kwq/KWQEvent.mm: Removed unused stuff.
8779         * kwq/KWQKHTMLPartImpl.h: Removed redirectURL(); we now use KHTMLPart::slotRedirect().
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.
8788         * kwq/kdeui/kmessagebox.h:
8789         * kwq/KWQKMessageBox.mm: (KMessageBox::questionYesNo): Added dontAskAgain string parameter.
8790         Before, it was being turned into a bool!
8792         * kwq/KWQKProtocolManager.mm: Tweak and add FIXME.
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.
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.
8802 2002-07-29  Richard Williamson  <rjw@apple.com>
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]):
8816 2002-07-29  Richard Williamson  <rjw@apple.com>
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.
8823         * kwq/KWQString.mm:
8824         (compareToLatinCharacter):
8825         (QString::find):
8827 2002-07-26  David Hyatt  <hyatt@apple.com>
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):
8838 2002-07-26  David Hyatt  <hyatt@apple.com>
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):
8849 2002-07-25  Darin Adler  <darin@apple.com>
8851         * WebCore.pbproj/project.pbxproj: Add DeploymentFat build style.
8853         - fixed 3007532 -- Main documentation frame doesn't load on Apple docs page
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.
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.
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.
8872         * kwq/KWQWidget.mm: (QWidget::internalSetGeometry): Left in a couple of asserts that
8873         were useful in narrowing this one down.
8875 2002-07-25  David Hyatt  <hyatt@apple.com>
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:
8882 2002-07-25  David Hyatt  <hyatt@apple.com>
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:
8889 2002-07-25  Darin Adler  <darin@apple.com>
8891         - fixed 2965269 -- sizes reported to progress handler from KWQCheckCacheObjectStatus for images are wrong
8892         - fixed 3006054 -- assert error failingURL != nil
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.
8899         * kwq/kio/jobclasses.h:
8900         * kwq/KWQKjobclasses.mm: Store a KURL instead of an NSURL, because KURL can hold any string.
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.
8910         * kwq/WebCoreBridge.h: Add a [reportError:] method.
8912 2002-07-25  David Hyatt  <hyatt@apple.com>
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):
8922 2002-07-25  Chris Blumenberg  <cblu@apple.com>
8924         * kwq/WebCoreBridge.h:
8925         * kwq/WebCoreBridge.mm:
8926         (-[WebCoreBridge elementAtPoint:]): renamed
8928 2002-07-25  David Hyatt  <hyatt@apple.com>
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>
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):
8952 2002-07-24  Darin Adler  <darin@apple.com>
8954         * khtml/khtml_part.cpp: (KHTMLPart::clear): Remove code that reset m_frameNameId,
8955         to complete Maciej's change to fix bug 3006354.
8957 2002-07-24  Darin Adler  <darin@apple.com>
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]).
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.
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.
8983         * kwq/qt/qfontmetrics.h:
8984         * kwq/KWQFontMetrics.mm: (QFontMetrics::xHeight): Added.
8985         * kwq/WebCoreTextRenderer.h: Added xHeight.
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'.
8992         * kwq/WebCoreBridge.mm: (-[WebCoreBridge reapplyStyles]): Fixed backwards
8993         if that prevented font changes from being reflected in the browser window.
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.
9004         * WebCore.pbproj/project.pbxproj: Rearrange some of the files.
9006 2002-07-24  Richard Williamson  <rjw@apple.com>
9008         Support for find in HTML.
9010         * kwq/WebCoreBridge.h:
9011         * kwq/WebCoreBridge.mm:
9012         (-[WebCoreBridge searchFor:direction:caseSensitive:]):
9014 2002-07-24  Darin Adler  <darin@apple.com>
9016         - fixed 2949235 -- checkboxes in wrong place until you scroll away and back
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.
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.
9030         * kwq/KWQScrollView.mm: (QScrollView::addChild): Added call to KWQKHTMLPartImpl::addedWidget.
9031         * kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): Calls KWQKHTMLPartImpl::paint.
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.
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.
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.
9046         * force-clean-timestamp: Needed to do this because I changed header files.
9048 2002-07-24  Darin Adler  <darin@apple.com>
9050         - fixed 3006329 - space should be stripped from beginning of relative url
9052         * kwq/KWQKURL.mm: (KURL::normalizeRelativeURLString): Added a call to stripWhiteSpace.
9054 2002-07-24  Maciej Stachowiak  <mjs@apple.com>
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.
9065 2002-07-24  Darin Adler  <darin@apple.com>
9067         - fixed 3006336 -- crash in _NSDescriptionWithLocaleFunc
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().
9073 2002-07-23  Chris Blumenberg  <cblu@apple.com>
9075         More plumbing for contextual menu support.
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
9083 2002-07-23  Darin Adler  <darin@apple.com>
9085         * WebCore.pbproj/project.pbxproj: Fix file reference types to be more consistent.
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.
9092         * kwq/KWQDOMNode.cpp: Tweak.
9093         * kwq/KWQDOMNode.h: Tweak.
9095 2002-07-23  David Hyatt  <hyatt@apple.com>
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.
9103         This is bug 34302 on bugs.kde.org, for those who are curious.
9104         
9105         * khtml/html/htmltokenizer.cpp:
9106         (HTMLTokenizer::parseTag):
9108 2002-07-23  Chris Blumenberg  <cblu@apple.com>
9110         Initial plumbing for contextual menu support.
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
9121 2002-07-23  Richard Williamson  <rjw@apple.com>
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):
9131 2002-07-23  David Hyatt  <hyatt@apple.com>
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! 
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):
9143 2002-07-23  Darin Adler  <darin@apple.com>
9145         - fixed 3004818 -- relative urls are assembled incorrectly at ticketmaster
9146         - fixed 2999279 -- Invalid URI in request at subpage of swatch.com
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.
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.
9158 2002-07-23  David Hyatt  <hyatt@apple.com>
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>
9172         * Makefile.am: Clean based on all, not all-am, so it happens before subdirs
9173         if any.
9175 2002-07-23  Darin Adler  <darin@apple.com>
9177         Changes require a make clean because of the Project Builder bug.
9178         So I added the "make clean timestamp" hackery.
9180         * .cvsignore: Ignore the new clean timestamp.
9181         * force-clean-timestamp: Added.
9182         * Makefile.am: Add rules for making clean happen.
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.
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.
9196         * kwq/WebCoreTextRenderer.h: Change underline-drawing to use a UniChar array.
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.
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.
9208         * khtml/css/cssstyleselector.cpp: No need for APPLE_CHANGES for
9209         this change any more.
9211         * kwq/kdecore/kcharsets.h:
9212         * kwq/KWQKCharsets.mm: Remove unused functions.
9214         * kwq/khtml/khtml_settings.h:
9215         * kwq/KWQKHTMLSettings.mm: Remove unused functions.
9217         * kwq/qt/qfont.h:
9218         * kwq/KWQFont.mm: Simplify.
9220         * kwq/KWQPaintDeviceMetrics.mm: Simplify.
9222         * kwq/qt/qtextcodec.h:
9223         * kwq/KWQtextcodec.mm: (QTextCodec::codecForName): Remove unused parameter.
9225 2002-07-23  David Hyatt  <hyatt@apple.com>
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:
9242 === Alexander-14 ===
9244 2002-07-23  David Hyatt  <hyatt@apple.com>
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.  
9254         Silly me.  marvel.com and matadorrecords.com should be ok now.
9255         
9256 2002-07-22  Darin Adler  <darin@apple.com>
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.
9263         * khtml/xml/dom_stringimpl.cpp: Add comments to APPLE_CHANGES.
9265         * khtml/xml/xml_tokenizer.cpp: (XMLTokenizer::end): Remove APPLE_CHANGES.
9266         * kwq/KWQsignals.mm: Add a new signal dummy function.
9268         * kwq/WebCoreJavaScript.h: Fix header.
9269         * kwq/WebCoreJavaScript.mm: Fix header.
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.
9275         * English.lproj/InfoPlist.strings: Fixed a spelling error.
9277         * kwq/WebCoreTextRendererFactory.h: Tweak.
9279 2002-07-22  Maciej Stachowiak  <mjs@apple.com>
9281         Fixed Radar 3004897 - assert at mapquest
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.
9291 2002-07-22  David Hyatt  <hyatt@apple.com>
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):
9307 2002-07-22  David Hyatt  <hyatt@apple.com>
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>
9345         Merged WebCoreBridge and WebCoreFrameBridge.
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.
9365 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
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.
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.
9380 2002-07-21  Darin Adler  <darin@apple.com>
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.
9385         * WebCore.pbproj/project.pbxproj: Add KWQStyle.mm, remove KWQStyle.h, moving contents
9386         into qstyle.h.
9388         * kwq/KWQApplication.mm: (QApplication::globalStrut): Remove _logNotYetImplemented().
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.
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.
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.
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.
9415         * kwq/WebCoreBridge.mm: (-[WebCoreBridge isFrameSet]): Call straight to impl.
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().
9423 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
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.
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.
9445 2002-07-21  David Hyatt  <hyatt@apple.com>
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).
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>
9473         * Makefile.am: Remove products from symroots on `make clean'.
9475 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
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.
9481 2002-07-21  David Hyatt  <hyatt@apple.com>
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.
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>
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>
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.
9560         * kwq/WebCoreBridge.h: Fix a misspelling of visible.
9562 2002-07-20  Maciej Stachowiak  <mjs@apple.com>
9564         Changed the code to handle "icon" and "SHORTCUT ICON" links
9565         separately, and give higher priority to the former.
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.
9586 2002-07-19  Chris Blumenberg  <cblu@apple.com>
9588         Per darin, only define loadIcon in KWQKHTMLPartImpl
9590         * khtml/html/html_headimpl.cpp:
9591         (HTMLLinkElementImpl::process):
9592         * khtml/khtml_part.cpp:
9593         * khtml/khtml_part.h:
9595 2002-07-19  Chris Blumenberg  <cblu@apple.com>
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
9607 2002-07-19  Darin Adler  <darin@apple.com>
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.
9613 2002-07-19  Maciej Stachowiak  <mjs@apple.com>
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.
9622 2002-07-18  David Hyatt  <hyatt@apple.com>
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>
9631         Small change that gives us 25% speedup (uncached) on the cvs-base suite.
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 ===
9639 2002-07-17  Darin Adler  <darin@apple.com>
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.
9645 2002-07-16  Maciej Stachowiak  <mjs@apple.com>
9647         Moved URL mouseover status to KWQKHTMLPartImpl, and made it
9648         responsive to modifier key presses, if enabled. Fixes:
9650         Radar 2980152 - Link mouseover status messages are not localizable
9651         Radar 2982043 - Link mouse-over status should change in response to modifier keys
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.
9663 2002-07-16  Richard Williamson  <rjw@apple.com>
9665         Fixed field length test.  We were testing >= instead of >.
9666         * kwq/KWQNSTextField.mm:
9667         (-[KWQNSTextFieldFormatter isPartialStringValid:newEditingString:errorDescription:]):
9669 2002-07-16  Darin Adler  <darin@apple.com>
9671         - fixed 2997244 -- crash when visiting cnn.com followed by another page
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.
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.
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.
9684         * kwq/WebCoreBridge.h: Remove now-unneeded childFrameNamed method.
9686 2002-07-16  Darin Adler  <darin@apple.com>
9688         - fixed 2998692 -- crash when you type "googl" into the page address
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.
9694 2002-07-16  Darin Adler  <darin@apple.com>
9696         * almost every file: Renamed IF* -> Web*.
9698 2002-07-15  Darin Adler  <darin@apple.com>
9700         A teeny weeny bit of refactoring.
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:.
9708 2002-07-15  Richard Williamson  <rjw@apple.com>
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]):
9724 2002-07-15  Darin Adler  <darin@apple.com>
9726         * WebCore.pbproj/project.pbxproj: Removed KWQKPrinter.mm.
9727         * kwq/KWQKPrinter.mm: Removed.
9729 2002-07-15  Darin Adler  <darin@apple.com>
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>.
9739 2002-07-15  Darin Adler  <darin@apple.com>
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.
9750         * kwq/WebCoreTextRenderer.h: Remove two unused drawString methods and one
9751         unused widthForCharacters method.
9753 2002-07-14  Darin Adler  <darin@apple.com>
9755         * kwq/WebCoreFrame.mm: (-[WebCoreFrame dealloc]): Fix NULL-dereferencing
9756         problem that was hidden by the "leak the world" bug in WebBrowser.
9758 2002-07-14  Maciej Stachowiak  <mjs@apple.com>
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).
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):
9779 2002-07-14  Darin Adler  <darin@apple.com>
9781         * WebCore-tests.exp: Tests needed access to QPoint, QString, and KURL symbols
9782         that were formerly exported for the benefit of WebKit.
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.
9787 2002-07-14  Darin Adler  <darin@apple.com>
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.
9793         * WebCore.exp: Export the new classes WebCoreCache and WebCoreJavaScript.
9794         Don't export any C++ symbols at all.
9796         * WebCore.pbproj/project.pbxproj: Remove KWQWMatrix.mm, add WebCoreCache.*
9797         and WebCoreJavaScript.*.
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.
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.
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.
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.
9833         * kwq/KWQView.h: Tweaked.
9834         * kwq/KWQView.mm: Removed [KWQView drawRect:].
9836         * kwq/KWQWMatrix.mm: Removed.
9838         * kwq/qt/qwidget.h: Removed paint() virtual function.
9839         * kwq/KWQWidget.mm: Removed QWidget::paint().
9841         * kwq/WebCoreBridge.h: Added new methods installInFrame:, removeFromFrame,
9842         mouseDown:, mouseUp:, mouseMoved:, mouseDragged:, copyDOMTree:, and copyRenderTree:.
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.
9865         * kwq/WebCoreCache.h: Added. Allows control of the WebCore cache; previously done directly
9866         in IFCache in WebKit.
9867         * kwq/WebCoreCache.mm: Added.
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.
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.
9877 2002-07-13  Darin Adler  <darin@apple.com>
9879         * WebCore.pbproj/project.pbxproj: Add a few files that are sources
9880         although they should not be compiled for any target.
9882         * kwq/qt/qpushbutton.h: Simplified.
9883         * kwq/KWQPushButton.mm: (QPushButton::QPushButton): Implemented text parameter.
9885 2002-07-13  Darin Adler  <darin@apple.com>
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.
9892         * Makefile.am: Remove embed.am support.
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.
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.
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.
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.
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.
9927         * kwq/qt/qstring.h: Remove QSTRING_TO_NSSTRING family of macros.
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.
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.
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.
9956         * kwq/kdecore/kglobal.h: Simplify.
9957         * kwq/KWQKGlobal.mm: Simplify.
9958         * kwq/qt/qlineedit.h: Simplify.
9959         * kwq/KWQLineEdit.mm: Simplify.
9961         * kwq/KWQPaintDeviceMetrics.mm: Remove unneeded import.
9962         * kwq/qt/qbutton.h: Remove unneeded destructor.
9964 2002-07-13  Richard Williamson  <rjw@apple.com>
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.
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>
10004         * WebCore.pbproj/project.pbxproj: Add WebCoreFrame.mm, also export all
10005         the WebCore headers as Private so WebKit can see them.
10007         * khtml/khtmlview.cpp: (KHTMLView::drawContents): Remove APPLE_CHANGES
10008         since we don't use this function any more.
10010         * kwq/KWQDef.h: Since <sys/types.h> now includes ushort and uint, update
10011         code here to take that into account.
10013         * kwq/KWQKHTMLPartImpl.h: Added getView().
10014         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::getView): Added. Used by bridge.
10016         * kwq/qt/qpainter.h:
10017         * kwq/KWQPainter.mm: Simplify a bit, and remove some unused stuff.
10019         * kwq/WebCoreBridge.h: Add reapplyStyles, forceLayout, drawRect:.
10020         * kwq/WebCoreBridge.mm:
10021         (-[WebCoreBridge reapplyStyles]): Added.
10022         (-[WebCoreBridge forceLayout]): Added.
10023         (-[WebCoreBridge drawRect:]): Added.
10025         * kwq/WebCoreFrame.h: Make this a class as well as an interface.
10026         * kwq/WebCoreFrame.mm: Added.
10028         * WebCore.exp: Since WebCoreFrame is now a class as well as a protocol,
10029         export it so we can subclass.
10031 2002-07-12  Darin Adler  <darin@apple.com>
10033         Build WebCore with Project Builder instead of make.
10034         Also wean WebCore from peeking inside the WebKit bundle.
10036         * WebCore.pbproj/.cvsignore: Added.
10037         * WebCore.pbproj/project.pbxproj: Added.
10039         * Makefile.am: Removed rules about building the framework,
10040         and just use pbxbuild instead.
10042         * dummy.mm: Removed.
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.
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.
10065         * kwq/qt/qpixmap.h:
10066         * kwq/KWQPixmap.mm: Changed convertToImage() to an inline since we
10067         never need to implement it.
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.
10075         * kwq/KWQScrollBar.h: Fixed header guard.
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.
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.
10093 2002-07-11  Maciej Stachowiak  <mjs@apple.com>
10095         Fixed Radar 2953254 - JavaScript window.scroll() and
10096         window.scrollBy() do not work
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.
10104 2002-07-10  Darin Adler  <darin@apple.com>
10106         - fixed 2978796 -- Client-side image map not working
10108         * kwq/KWQRegion.mm: (QRegion::QRegion): Implement constructor that
10109         takes a QPointArray.
10111         * kwq/qt/qarray.h: Fix some const loopholes.
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 *.
10119 2002-07-10  Maciej Stachowiak  <mjs@apple.com>
10121         WebCore part of fix for:
10123         Radar 2953250 - JavaScript window.focus() and window.blur()
10124         methods don't work
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.
10135 2002-07-10  Darin Adler  <darin@apple.com>
10137         - fixed 2979153 -- charset sjis page is gibberish
10139         * kwq/character-sets.txt: Add x-sjis as an alias for Shift JIS.
10141 2002-07-10  Darin Adler  <darin@apple.com>
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.
10151         * kwq/qt/qpixmap.h: Make needCopyOnWrite mutable so we can set it on the source
10152         when copying or assigning.
10154 2002-07-10  Darin Adler  <darin@apple.com>
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.
10160 2002-07-07  Maciej Stachowiak  <mjs@apple.com>
10162         WebCore part of fix for Radar 2953431 - JavaScript window.close()
10163         method is not working
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.
10179 2002-07-06  Darin Adler  <darin@apple.com>
10181         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::write): Remove reference
10182         to nonexistent class in a comment.
10183         * kwq/KWQKHTMLPartImpl.h: Remove unused and unimplemented getDataSource().
10185 2002-07-04  Maciej Stachowiak  <mjs@apple.com>
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:
10197 2002-07-03  Darin Adler  <darin@apple.com>
10199         A small KURL speed improvement.
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.
10208         * kwq/KWQKURL.mm:
10209         (KURL::KURL): Make the default constructor faster by not running all the
10210         normalize code on the empty string.
10212 === Alexander-11 ===
10214 2002-07-03  Maciej Stachowiak  <mjs@apple.com>
10216         WebCore part of fixes for:
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
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.
10239 2002-07-03  Richard Williamson  <rjw@apple.com>
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):
10251 2002-07-03  Maciej Stachowiak  <mjs@apple.com>
10253         WebKit part of fix for:
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
10259         Also fixed:
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.
10276 2002-07-02  Darin Adler  <darin@apple.com>
10278         - fixed 2978806 -- Crash going to ebay home page
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.
10284 2002-07-01  Maciej Stachowiak  <mjs@apple.com>
10286         Fixed Radar 2953256 - JavaScript window.moveTo() and
10287         window.moveBy() methods do not work
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.
10320 2002-07-01  Darin Adler  <darin@apple.com>
10322         * khtml/css/cssparser.cpp:
10323         * khtml/misc/htmlhashes.cpp:
10324         Remove workaround for a PFE bug that no longer affects us.
10326         * khtml/xml/dom_nodeimpl.h:
10327         * khtml/xml/dom_nodeimpl.cpp:
10328         Remove some unneeded APPLE_CHANGES.
10330         * WebCore.exp: One less symbol to export.
10332 2002-06-29  Maciej Stachowiak  <mjs@apple.com>
10334         WebCore part of fix for:
10336         Radar 2942074 - JavaScript size, positioning and feature
10337         parameters to window.open are ignored
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.
10348 2002-06-28  Richard Williamson  <rjw@apple.com>
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:
10367 2002-06-27  Chris Blumenberg  <cblu@apple.com>
10369         Added an APPLE_CHANGES to fix 2894742. The attributes of an EMBED tag
10370         must override the attributes of PARAM tags.
10372         * khtml/rendering/render_frames.cpp:
10373         (RenderPartObject::updateWidget):
10375 2002-06-27  Darin Adler  <darin@apple.com>
10377         - fixed 2973342 -- copied text seems to have an extra blank line between paragraphs
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>
10383 2002-06-27  Darin Adler  <darin@apple.com>
10385         Fix Java. My changes this morning broke it.
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.
10392         Some QFont fixes.
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.
10403 === Alexander-10 ===
10405 2002-06-27  Richard Williamson  <rjw@apple.com>
10407         Method name changes in preparation for fixing
10408         TextSlave::checkSelectionPoint().
10409         
10410         * kwq/WebCoreTextRenderer.h:
10412 2002-06-27  Richard Williamson  <rjw@apple.com>
10414         Removed calls to old method.
10415         
10416         * kwq/KWQPainter.mm:
10417         (QPainter::drawText):
10418         * kwq/WebCoreTextRenderer.h:
10419         Removed old methods.
10421 2002-06-27  Darin Adler  <darin@apple.com>
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.
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.
10438         * kwq/WebCoreViewFactory.h: Add baseURL parameter.
10439         * kwq/WebCoreViewFactory.m:
10440         (-[WebCoreViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): Add baseURL parameter.
10442         * kwq/kdecore/kurl.h: Fix NSURL definition to fit idiom.
10443         * kwq/qt/qmap.h: Added the const version of the [] operator.
10445         * khtml/ecma/kjs_navigator.cpp: Tweak whitespace.
10446         * khtml/html/html_documentimpl.cpp: Tweak to make it a little closer to original.
10448         * kwq/KWQKCookieJar.h: Reduce includes.
10449         * kwq/KWQKCookieJar.mm: Move includes in here.
10451         * kwq/WebCoreCookieAdapter.h: Fix comment that emacs munged.
10453 2002-06-27  Richard Williamson  <rjw@apple.com>
10455         * kwq/WebCoreBridge.h:
10456         * kwq/WebCoreBridge.mm:
10457         (-[WebCoreBridge selectAll]):
10458         Select all using the part.
10460 2002-06-27  Maciej Stachowiak  <mjs@apple.com>
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
10493 2002-06-27  Chris Blumenberg  <cblu@apple.com>
10495         Fix to support sending PARAM tags to the Java plug-in.
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
10508 2002-06-26  Richard Williamson  <rjw@apple.com>
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:
10533 2002-06-26  Maciej Stachowiak  <mjs@apple.com>
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:
10546 2002-06-26  Darin Adler  <darin@apple.com>
10548         - fixed 2969378 -- "A with hat" characters (Unicode 00C2) showing up at Zingermans.com
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.
10553         * kwq/KWQtextcodec.mm: (QTextCodec::fromUnicode): Fix implementation so it will convert
10554         the specified encoding instead of always Latin-1.
10556 2002-06-26  Darin Adler  <darin@apple.com>
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.
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.
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.
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.
10585 2002-06-25  Richard Williamson  <rjw@apple.com>
10587         Support for rudimentary plain text 'copy'.
10588         
10589         * kwq/WebCoreBridge.h:
10590         * kwq/WebCoreBridge.mm:
10591         (-[WebCoreBridge selectedText]):
10593 2002-06-25  Richard Williamson  <rjw@apple.com>
10595         Enabled progressive image loading code.
10597         * khtml/misc/loader.cpp:
10598         (CachedImage::data):
10599         * kwq/KWQPixmap.mm:
10600         (QPixmap::QPixmap):
10602 2002-06-25  Darin Adler  <darin@apple.com>
10604         Removed remaining uses of BORROWED defines.
10605         Made some simplifications and formatting fixes. All safe.
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:
10626         * WebCore-tests.exp: Small change to exports for the array test.
10628 2002-06-24  Chris Blumenberg  <cblu@apple.com>
10630         Changed the plug-in view constructor to take NSURL's rather
10631         than URL strings.       
10633         * kwq/KWQKHTMLPart.mm:
10634         (KWQKHTMLPartImpl::requestObject):
10635         * kwq/WebCoreViewFactory.h:
10636         * kwq/WebCoreViewFactory.m:
10638 2002-06-24  Darin Adler  <darin@apple.com>
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.
10644         * kwq/kwqdebug.h: Re-add the __format__ attribute, now that Radar
10645         2920557 is fixed.
10647 2002-06-21  Darin Adler  <darin@apple.com>
10649         * kwq/KWQFont.mm: Made it store a copy of the family name instead of
10650         storing a reference to the mutable CFString.
10652         * kwq/KWQPainter.mm:
10653         (QPainter::drawPixmap): Simplified.
10654         (QPainter::drawTiledPixmap): Used the new [tileInRect:].
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().
10661 2002-06-21  Darin Adler  <darin@apple.com>
10663         - fixed 2964718 -- crash in KWQCheckCacheObjectStatus
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.
10669 2002-06-20  Darin Adler  <darin@apple.com>
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.
10677         * kwq/KWQRefPtr.h: Streamlined implementation that inlines
10678         a bit less and is more efficient for creating empty pointers.
10680         * kwq/KWQStyle.h: Removed unused stuff.
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.
10687         * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView):
10688         Remove unneeded APPLE_CHANGES -- no need to nil something out in
10689         a destructor.
10691 === Alexander-9 ===
10693 2002-06-19  Richard Williamson  <rjw@apple.com>
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.
10704 2002-06-19  Richard Williamson  <rjw@apple.com>
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>
10720         - fixed 2956444 -- mac os x feedback form missing textarea
10722         * kwq/WebCoreFrameView.h: Added.
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.
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.
10739         Other changes:
10741         * kwq/kwqdebug.h: Cloned improved assert code from WebFoundation.
10743         * kwq/KWQTextArea.h: Removed unused isReadOnly/setReadOnly.
10744         * kwq/KWQTextArea.mm: Removed unused isReadOnly/setReadOnly.
10746         * kwq/WebCoreViewFactory.h: Removed extraneous import and WebCoreCursorSetting
10747         API from here.
10749         * kwq/KWQTextEdit.mm: Tweaked.
10750         * kwq/kparts/part.h: Tweaked.
10752 2002-06-18  Kenneth Kocienda  <kocienda@apple.com>
10754         Fix for this bug:
10756         Radar 2928483 (activity viewer does not show all the pieces of a web page when the page is cached)
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
10769 2002-06-18  Darin Adler  <darin@apple.com>
10771         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::~KWQKHTMLPartImpl):
10772         Remove an NSLog I left in by accident.
10774 2002-06-17  Richard Williamson  <rjw@apple.com>
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:
10788 2002-06-17  Darin Adler  <darin@apple.com>
10790         Fixed a storage leak.
10792         * kwq/WebCoreBridge.mm: (-[WebCoreBridge documentTextFromDOM]): Add a missing autorelease.
10794         Remove a bunch of loader-related APPLE_CHANGES.
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.
10803         * kwq/KWQLoaderImpl.h:
10804         * kwq/KWQKloader.mm: (KWQServeRequest): Replaces the KWQLoaderImpl class. The rest of what
10805         was in this class was obsolete.
10807 2002-06-17  Richard Williamson  <rjw@apple.com>
10809     Fixed www.2cpu.com regression.  QWidget::_displayRect was displaying the wrong
10810     view.  This was a regression that would impact all DHTML.
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:
10821 2002-06-17  Darin Adler  <darin@apple.com>
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.
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.
10830 2002-06-16  Darin Adler  <darin@apple.com>
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.
10837         * kwq/WebCoreFrame.h: Added [WebCoreFrame bridge] for the case above.
10838         Note that it always gives the "committed" bridge, not the provisional one.
10840 2002-06-16  Darin Adler  <darin@apple.com>
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".
10846         Also fixed the build, because a clean build failed.
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.
10857         * kwq/WebCoreBridge.h: Removed frame-related operations, now they are on WebCoreFrame.
10858         Broke out WebCoreResourceLoader into its own file. Added comments.
10860         * kwq/WebCoreFrame.h: Added.
10862         * kwq/WebCoreResourceLoader.h: Added.
10863         * kwq/KWQKloader.mm: Include WebCoreResourceLoader.h now that it's broken out.
10865         * WebCore-tests.exp: Tests still need QString::latin1(), although we don't need
10866         to export it for WebKit any more.
10868 2002-06-16  Darin Adler  <darin@apple.com>
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.
10873         * kwq/kio/jobclasses.h:
10874         * kwq/KWQKjobclasses.mm:
10875         (TransferJob::setHandle): Replaced the old TransferJob::begin with this.
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.
10887         * kwq/WebCoreBridge.h: Remove unneeded methods. Added [WebCoreBridge startLoadingResource:withURL:].
10889 2002-06-15  Darin Adler  <darin@apple.com>
10891         Fix frame-related calls. I was always searching all the frames, which was disastrous.
10892         Also do name changes.
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.
10899         * kwq/KWQScrollView.mm: (QScrollView::addChild): Asserts I used while debugging.
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.)
10905 2002-06-15  Darin Adler  <darin@apple.com>
10907         * kwq/KWQKloader.mm:
10908         (-[KWQURLLoadClient IFURLHandle:didRedirectToURL:]):
10909         Rolled out an assert I added by accident that will break Deployment builds.
10911 2002-06-15  Darin Adler  <darin@apple.com>
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.
10920 2002-06-15  Darin Adler  <darin@apple.com>
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.
10926 2002-06-15  Richard Williamson  <rjw@apple.com>
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:
10946 2002-06-15  Darin Adler  <darin@apple.com>
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".
10952 2002-06-15  Darin Adler  <darin@apple.com>
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.
10958         * kwq/WCLoadProgress.h: Removed.
10959         * kwq/WCWebDataSource.h: Removed.
10960         * kwq/KWQKHTMLPart.mm: Removed import of WCWebDataSource.h.
10962         * *.mm: Changed all includes to imports using a perl script.
10964 2002-06-15  Darin Adler  <darin@apple.com>
10966         - fixed 2942808 -- remove all calls to WebKit from WebCore
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.
10971         * WebCore.exp: Remove exports that are no longer needed, now that
10972         WebKit is using the bridge to get at more things.
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.
10982         * kwq/KWQKHTMLPart.mm: Remove getDataSource.
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.
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.
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.
11021         * kwq/external.h: Removed.
11023 2002-06-15  Maciej Stachowiak  <mjs@apple.com>
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):
11033 2002-06-15  Maciej Stachowiak  <mjs@apple.com>
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.
11043 2002-06-15  Maciej Stachowiak  <mjs@apple.com>
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.
11056 2002-06-14  Richard Williamson  <rjw@apple.com>
11058     Changed IFResourceProgressHandler to pass back resource handle instead of
11059     string description.  This will address the needs descibed in 2954160.
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:
11071 2002-06-14  Darin Adler  <darin@apple.com>
11073         * kwq/KWQDateTime.mm: Add ifdefs needed to make Deployment build compile.
11075 2002-06-14  Darin Adler  <darin@apple.com>
11077         Worked on eliminating calls to WebKit. About 3/4 done.
11079         * WebCore.exp: Export new WebCoreBridge class, fewer other things.
11081         * WebCorePrefix.h: #include <ostream> in debug builds; we couldn't
11082         before because of a PFE bug that has since been fixed (2920556).
11084         * khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach):
11085         Add a comment explaining our latest change here.
11087         * khtml/khtml_part.cpp: (KHTMLPart::~KHTMLPart): Fix storage leak
11088         by deleting m_hostExtension.
11090         * khtml/misc/loader.h: Set type properly on client member so we
11091         don't have to do so much casting.
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.
11109         * kwq/KWQKHTMLPartBrowserExtension.mm:
11110         (KHTMLPartBrowserExtension::createNewWindow): Use WebCoreBridge.
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.
11116         * kwq/qt/qscrollview.h:
11117         * kwq/KWQScrollView.mm: Used helper functions to do the "documentView"
11118         selector thing more consistently.
11120         * kwq/KWQWidget.mm: Get interface for changing the cursor from
11121         WebCoreViewFactory.h instead of from external.h.
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.
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.
11142 2002-06-14  Richard Williamson  <rjw@apple.com>
11144     Name change view -> webView.
11145     
11146         * kwq/KWQKHTMLPart.mm:
11147         (KWQKHTMLPartImpl::requestFrame):
11148         * kwq/external.h:
11150 2002-06-14  Chris Blumenberg  <cblu@apple.com>
11152         Put #ifndef APPLE_CHANGES around one line that
11153         was causing EMBED and OBJECT tags to not have render objects.
11155         * khtml/html/html_objectimpl.cpp:
11156         (HTMLObjectElementImpl::attach):
11158 2002-06-14  Chris Blumenberg  <cblu@apple.com>
11160         Committing Richard's changes to KWQPainter
11162 2002-06-13  Richard Williamson  <rjw@apple.com>
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):
11173 2002-06-13  Richard Williamson  <rjw@apple.com>
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
11180 2002-06-12  Kenneth Kocienda  <kocienda@apple.com>
11182         * kwq/kwqdebug.h: Made assertion failure console message bolder and easier to see.
11184 2002-06-11  Darin Adler  <darin@apple.com>
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.
11193 2002-06-10  Darin Adler  <darin@apple.com>
11195         * khtml/css/cssstyleselector.cpp: Fix uninitialized variable warning.
11197 2002-06-10  Darin Adler  <darin@apple.com>
11199         Merged in changes from KDE 3.0.1.
11201         * kwq/kdecore/kurl.h:
11202         * kwq/KWQKURL.mm: (operator==): New, needed by some 3.0.1 code.
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.
11209         * kwq/qt/qstring.h:
11210         * kwq/KWQString.mm: (QConstString::QConstString): Change parameter to const QChar *
11211         to match Qt so we compile.
11213         * kwq/qt/qtextedit.h:
11214         * kwq/KWQTextEdit.mm: (QTextEdit::setTabStopWidth): Add unimplemented placeholder,
11215         needed by some 3.0.1 code.
11217         * kwq/qt/qvaluelist.h:
11218         * kwq/KWQValueListImpl.h:
11219         * kwq/KWQValueListImpl.mm: Simplify implementation.
11221         * WebCore-tests.exp: Update for changes in QValueList implementation.
11223         * kwq/kdecore/klibloader.h: Add include of <kio/global.h> to make something compile.
11225         * kwq/khtml/java/kjavaappletcontext.h: Add JType and constructor that takes DCOPObject*.
11227         * kwq/kio/global.h: Add KIO::CacheControl.
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.
11327 2002-06-07  Darin Adler  <darin@apple.com>
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.
11332 2002-06-07  Maciej Stachowiak  <mjs@apple.com>
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.
11339 2002-06-07  Darin Adler  <darin@apple.com>
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.
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++.
11363 2002-06-07  Darin Adler  <darin@apple.com>
11365         * kwq/KWQPtrDictImpl.h: Use CoreFoundation.h -- new compiler
11366         is picky about the difference between struct and typedef.
11368         * kwq/KWQValueListImpl.h: Add a friend declaration that we need
11369         because the new compiler is more strict.
11371         - fix 2949882 -- joecartoon.com crashes
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.
11377 2002-06-07  Chris Blumenberg  <cblu@apple.com>
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.
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:
11394 === Alexander-8 ===
11396 2002-06-07  Darin Adler  <darin@apple.com>
11398         Try to make Jersey work again.
11400         * kwq/KWQInvisibleButton.h: Simplify includes.
11401         * kwq/KWQInvisibleButton.mm: Simplify includes.
11403 2002-06-05  Darin Adler  <darin@apple.com>
11405         Some fixes to speed up the citibank.com page, and other related changes.
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.
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.
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.
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.
11443         * kwq/qt/qbuffer.h: Initialize opened to false. This was causing a test failure.
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.
11450         * kwq/KWQPtrDictImpl.h: Remove unneeded include.
11452         * WebCore-tests.exp: Update for changes in the entry points
11453         used by the tests.
11455 2002-06-05  Richard Williamson  <rjw@apple.com>
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:
11466 2002-06-05  Richard Williamson  <rjw@apple.com>
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.
11471         * khtml/khtml_part.cpp:
11472         (KHTMLPart::parentPart):
11473         * kwq/KWQKHTMLPart.mm:
11474         (KWQKHTMLPartImpl::parentPart):
11475         * kwq/KWQKHTMLPartImpl.h:
11477 2002-06-05  Richard Williamson  <rjw@apple.com>
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:
11486 2002-06-04  Richard Williamson  <rjw@apple.com>
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):
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.
11500         * kwq/KWQKHTMLPartImpl.h:
11501         * kwq/external.h:
11503 2002-06-04  Richard Williamson  <rjw@apple.com>
11505     More exclusion for pre 6C48.
11506     
11507         * kwq/KWQPixmap.mm:
11508         (QPixmap::QPixmap):
11510 2002-06-04  Kenneth Kocienda  <kocienda@apple.com>
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.
11515 2002-06-04  Richard Williamson  <rjw@apple.com>
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:
11528 2002-06-04  Darin Adler  <darin@apple.com>
11530         - fixed 2943897 -- Initial uncached load of amazon.com renders partial page.
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.
11538 2002-06-03  Darin Adler  <darin@apple.com>
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.
11548         * kwq/Makefile.am:
11549         * kwq/KWQKApplication.mm: Removed.
11550         * kwq/kdecore/kapp.h: Removed.
11552 2002-06-03  Darin Adler  <darin@apple.com>
11554         A few more unused things.
11556         * kwq/Makefile.am: Removed KWQKProcess.mm
11557         * kwq/KWQKProcess.mm: Removed.
11558         * kwq/KWQStrList.h: Removed.
11559         * kwq/kdecore/kprocess.h: Removed.
11561 2002-06-03  Darin Adler  <darin@apple.com>
11563         Forgot one file.
11565         * kwq/qt/qframe.h: Added.
11567 2002-06-03  Darin Adler  <darin@apple.com>
11569         Get rid of many unneeded APPLE_CHANGES.
11570         Also get rid of _KWQ_ and _KWQ_PEDANTIC_.
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.
11576         * khtml/html/htmlparser.cpp:
11577         * khtml/html/htmltokenizer.cpp:
11578         Simplified APPLE_CHANGES for better merging.
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.
11599         * khtml/misc/loader.cpp: (CachedImage::pixmap): Turned off more of
11600         the QMovie code.
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.
11608         * kwq/KWQApplication.mm: (QApplication::sendEvent): Implemented.
11609         * kwq/KWQChar.mm: (QChar::direction): Improved implementation.
11611         * kwq/KWQCollection.h: Removed.
11612         * kwq/KWQIcon.h: Removed.
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.
11620         * kwq/KWQObject.mm: (QObject::event): Added, does nothing.
11621         (QObject::inherits): Put in real implementation (good enough for us).
11623         * kwq/WCWebDataSource.h: Removed extern declaration of global.
11625         * kwq/KWQCursor.mm: (QCursor::handle): Made the handle be an
11626         NSCursor *.
11628         * kwq/external.h: Moved [IFWebView setFrameSize:] here.
11629         Got rid of IFAnimatedImage.
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.
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.
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.
11717         * kwq/kdecore/kurl.h:
11718         Added include to match what's expected by clients.
11720         * kwq/qt/qobjectlist.h: Added. Empty file to make includers happy.
11722         * kwq/khtml/khtml_printsettings.h: Added. Empty file.
11723         * kwq/qt/qobjectlist.h: Added. Empty file.
11725         * kwq/kio/kssl/ksslkeygen.h: Define just enough to make callers
11726         happy.
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.
11732 2002-06-01  Darin Adler  <darin@apple.com>
11734         * kwq/KWQPtrDictImpl.mm: (KWQPtrDictPrivate::~KWQPtrDictPrivate):
11735         Fix compile error.
11737 2002-05-31  Darin Adler  <darin@apple.com>
11739         Fix infinite loop while cancelling bug that was caused by dictionary
11740         iterators not getting updated when keys are removed.
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.
11755         * kwq/KWQPtrDictImpl.h: Move private classes out so they can get at each
11756         other without being friends of each other.
11758         * kwq/qt/qptrdict.h: Simplify a bit.
11760 2002-05-31  Darin Adler  <darin@apple.com>
11762         * khtml/khtmlview.h: Add KWQKHTMLPartImpl as friend class, remove khtml_part.h
11763         include that we added inside APPLE_CHANGES.
11765         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::end): Reinstate a line of code that
11766         required friend status.
11768         * kwq/KWQView.mm: Add include of khtml_part.h.
11770 2002-05-31  Darin Adler  <darin@apple.com>
11772         * kwq/kwqdebug.h: Don't use displayableString; it's an SPI and those
11773         are no nos inside WebCore.
11775 2002-05-31  Darin Adler  <darin@apple.com>
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.
11785         * kwq/kio/job.h: Simplify.
11786         * kwq/KWQKJob.mm: Simplify.
11788         * kwq/kio/scheduler.h: Emptied this file out.
11789         * kwq/KWQKScheduler.mm: Removed.
11790         * kwq/Makefile.am: Removed KWQKScheduler.mm.
11792 2002-05-31  Darin Adler  <darin@apple.com>
11794         Remove some unused stuff; total of 1000s of lines.
11796         * Makefile.am: Removed some strange uses of "./" and
11797         improved stamp-related rules.
11799         * WebCore-tests.exp: Removed QDir functions.
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.
11810         * khtml/css/Makefile.am:
11811         * khtml/misc/Makefile.am:
11812         Improve stamp-related rules.
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.
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.
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.
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.
11856         * kwq/KWQEvent.mm: Initialize event type in QEvent subclasses.
11858         * kwq/WebCoreImageRenderer.h: Added NSObject and NSCopying protocols to
11859         the WebCoreImageRenderer protocol.
11861         * kwq/kwqdebug.h: Use displayableString in DEBUG_OBJECT for better logging.
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.
11895         * khtml/khtml_part.cpp:
11896         (KHTMLPart::khtmlMouseMoveEvent): Add missing parenthesis.
11898 2002-05-30  Maciej Stachowiak  <mjs@apple.com>
11900         WebCore part of fixes for:
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.
11930 2002-05-30  Darin Adler  <darin@apple.com>
11932         Cut down our copied and pasted code even more.
11934         * WebCore.exp: Change what's exported for things that moved from
11935         KHTMLPart into KWQKHTMLPartImpl.
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.
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.
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.
11966         * kwq/kparts/historyprovider.h: Add HistoryProvider::insert.
11967         * kwq/KWQKHistoryProvider.mm: Add HistoryProvider::insert.
11969         * kwq/KWQKLocale.mm: (KLocale::language): Simplify.
11971         * kwq/KWQListBox.h:
11972         * kwq/KWQNSTextField.h:
11973         Use import instead of include for Cocoa.h.
11975         * kwq/KWQScrollView.mm: (QScrollView::contentsToViewport): Implement this.
11977         * kwq/external.h: Add declarations so this can be included cleanly.
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.
11982         * kwq/kparts/part.h: Put ref/deref and event/customEvent in here so they don't need
11983         to be added to KHTMLPart.
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.
11990 === Alexander-7 ===
11992 2002-05-29  Richard Williamson  <rjw@apple.com>
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:
12025 2002-05-28  Richard Williamson  <rjw@apple.com>
12027     Moved cancellation check before creation on job instance,
12028     preventing leak.
12029     
12030         * kwq/KWQKloader.mm:
12031         (Loader::servePendingRequests):
12033 2002-05-28  Richard Williamson  <rjw@apple.com>
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:
12043 2002-05-28  Richard Williamson  <rjw@apple.com>
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.
12049         * kwq/KWQKjobclasses.mm:
12050         * kwq/KWQKloader.mm:
12051         (Loader::servePendingRequests):
12053 2002-05-28  Chris Blumenberg  <cblu@apple.com>
12055         Added framework-header-stamp
12057         * .cvsignore:
12059 2002-05-27  John Sullivan  <sullivan@apple.com>
12061         * Resources/linkCursor.tiff: Added. Maciej forgot to cvs add
12062         this new file. I stole the one from haircut.
12064 2002-05-27  Maciej Stachowiak  <mjs@apple.com>
12066         Fixed the vexing and long-standing:
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.
12076 2002-05-26  Maciej Stachowiak  <mjs@apple.com>
12078         Webcore part of fix for:
12080         Radar 2884085 - add support for changing cursor over links
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.
12107 2002-05-25  Maciej Stachowiak  <mjs@apple.com>
12109         Changed WebCore to build as a framework, not a dylib, so resources
12110         can be added to it.
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.
12121 === 0.3 ===
12123 2002-05-24  Shelley A Sheridan  <sheridan@apple.com>
12125         * ChangeLog:
12127 === Alexander-6 ===
12129 2002-05-23  Maciej Stachowiak  <mjs@apple.com>
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:
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.
12151 2002-05-23  Kenneth Kocienda  <kocienda@apple.com>
12153         More work to fix this bug:
12155         Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH)
12157         There was yet two more cases where the refresh timers were getting clobbered.
12158         Fixed.
12160         * khtml/ecma/kjs_window.cpp:
12161         (WindowQObject::parentDestroyed)
12162         * khtml/khtmlview.cpp:
12163         (KHTMLView::clear)
12165 2002-05-23  Richard J. Williamson  <rjw@apple.com>
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):
12173 2002-05-23  Kenneth Kocienda  <kocienda@apple.com>
12175         Fixes for these bugs:
12177         Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH)
12178         Radar 2935472 (Non-standard html pages don't always get decoded)
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
12192 2002-05-23  Shelley A Sheridan  <sheridan@apple.com>
12194         * ChangeLog:
12196 === Alexander-5 ===
12198 2002-05-23  Maciej Stachowiak  <mjs@apple.com>
12200         Notify when loads of sub-URLs start and stop, so panels for these
12201         can be attached to the right windows.
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:
12211 2002-05-22  Richard J. Williamson  <rjw@apple.com>
12212     
12214     Additional additional callback when resource is first loaded.
12215         
12216         * kwq/KWQKloader.mm:
12217         (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
12219 2002-05-21  Richard J. Williamson  <rjw@apple.com>
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:
12237 2002-05-21  Kenneth Kocienda  <kocienda@apple.com>
12239         Fix for this bug:
12241         Radar 2924728 (post form fails at pt.apple.com; succeeds at macosx.apple.com)
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.
12248         * kwq/KWQKHTMLPart.mm:
12249         (KHTMLPart::submitForm)
12251 2002-05-21  Kenneth Kocienda  <kocienda@apple.com>
12253         Merged these four include files into the precompiled header.
12254         These are used for the enhanced assertion/debuggin support I
12255         added yesterday.
12257         <signal.h>
12258         <sys/types.h>
12259         <sys/time.h>
12260         <sys/resource.h>
12262         * WebCorePrefix.h
12264 2002-05-20  Darin Adler  <darin@apple.com>
12266         Forgot one file.
12268         * khtml/khtml_part.moc: Added.
12270 2002-05-20  Darin Adler  <darin@apple.com>
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.
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.
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.
12286         * khtml/khtml_ext.h: Removed.
12287         * khtml/khtml_factory.h: Removed.
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.
12294         * kwq/KWQDateTime.mm:
12295         Simplify things like copy constructors.
12297         * kwq/kdeui/kcursor.h:
12298         * kwq/KWQKCursor.mm:
12299         Add handCursor.
12301         * kwq/KWQKHTMLFactory.mm:
12302         Put in real implementations, not just placeholders.
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.
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
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.
12325         * kwq/KWQKloader.mm:
12326         (Cache::preloadScript):
12327         (Cache::preloadStyleSheet):
12328         Empty functions for these, called in KHTMLPart but no implementation needed.
12330         * kwq/qt/qtimer.h:
12331         * kwq/KWQTimer.mm:
12332         (QTimer::isActive):
12333         (QTimer::start):
12334         (QTimer::stop):
12335         More timer functions.
12337         * kwq/qt/qscrollview.h: Add one more function.
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.
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.
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.
12369         * libwebcoretests.exp: Remove one export that's no longer needed.
12371 2002-05-20  Richard J. Williamson  <rjw@apple.com>
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:
12386 2002-05-20  Kenneth Kocienda  <kocienda@apple.com>
12388         * kwq/kwqdebug.h: Now includes <sys/time.h> to prevent possible
12389         build breakage in the inclusion of <sys/resource.h>
12391 2002-05-20  Kenneth Kocienda  <kocienda@apple.com>
12393         Changed assertion failure code to send a SIGQUIT instead
12394         of raising an NSException.
12396         * kwq/kwqdebug.h
12398 2002-05-19  Darin Adler  <darin@apple.com>
12400         * khtml/rendering/render_object.cpp: (RenderObject::drawBorder):
12401         Add missing break statement so borders don't draw strangely.
12403         * khtml/rendering/render_style.h: Remove unneeded QColor workaround,
12404         now that we handle invalid colors properly.
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.
12422         * kwq/KWQCursor.mm: Simplify cursor globals.
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.
12433         * kwq/KWQPen.mm: (QPen::QPen): (QPen::setStyle): Remove use of MPenStyle.
12435         * kwq/KWQPixmap.mm: (QPixmap::QPixmap): Add comments.
12437         * kwq/qt/qcolor.h: Simplify ifdefs, remove cname, _initialize, globals_init, and
12438         initGlobalColors.
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.
12445         * kwq/qt/qpen.h: QPainter is no longer a friend class. Remove linest.
12447 2002-05-17  Darin Adler  <darin@apple.com>
12449         * khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
12450         OK. This time it's correct.
12452 2002-05-17  Darin Adler  <darin@apple.com>
12454         * khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
12455         Roll the change out while I see why it causes a crash.
12457 2002-05-17  Darin Adler  <darin@apple.com>
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.
12463 2002-05-16  Richard J. Williamson  <rjw@apple.com>
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):
12472 2002-05-16  Richard J. Williamson  <rjw@apple.com>
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:]):
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):
12491 2002-05-15  Darin Adler  <darin@apple.com>
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.
12496 2002-05-15  Kenneth Kocienda  <kocienda@apple.com>
12498         * kwq/KWQInvisibleButton.h: Changed an #include of Cocoa.h to an #import
12500 2002-05-15  Darin Adler  <darin@apple.com>
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.
12513 2002-05-14  Richard J. Williamson  <rjw@apple.com>
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:
12522 2002-05-14  Chris Blumenberg  <cblu@apple.com>
12524         Changed slotData to slotData(NSString *encoding, const char *bytes, int length)
12526         * khtml/khtml_part.h:
12527         * kwq/KWQKHTMLPart.mm:
12528         (KHTMLPart::slotData):
12529         * libwebcore.exp:
12531 2002-05-14  Darin Adler  <darin@apple.com>
12533         Fixed 2925291 -- CSS2 test page causes infinite recursion, crash
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.
12540 2002-05-14  Darin Adler  <darin@apple.com>
12542         * kwq/KWQListImpl.mm: (KWQListIteratorImpl::KWQListIteratorImpl):
12543         Add a missing check for a null pointer.
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.
12549 2002-05-13  Darin Adler  <darin@apple.com>
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.
12554 2002-05-13  Darin Adler  <darin@apple.com>
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.
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.
12570         Since the solution used QGuardedPtr, I had to implement it.
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.
12579         * kwq/qt/qobject.h:
12580         * kwq/KWQObject.mm: (QObject::QObject): Create the one-element list that's used
12581         by the QGuardedPtr instances.
12583         Since the above code needed to copy a QPtrListIterator, I needed to support that.
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.
12590 2002-05-13  Maciej Stachowiak  <mjs@apple.com>
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.
12599 2002-05-10  Richard J. Williamson  <rjw@apple.com>
12601         Made log output match webkit logging.
12603         * kwq/kwqdebug.mm:
12604         (KWQLog):
12606 2002-05-10  Chris Blumenberg  <cblu@apple.com>
12608         Changed WCIFWebDataSourceMake to wrap around [IFWebDataSource initWithURL: attributes: flags:]
12609         instead of initWithHandle. 
12611         * kwq/KWQKHTMLPart.mm:
12612         (KHTMLPart::requestFrame):
12613         (KHTMLPart::submitForm):
12614         * kwq/WCWebDataSource.h:
12615         * libwebcore.exp:
12617 2002-05-10  Darin Adler  <darin@apple.com>
12619         * kwq/WebCoreTextRenderer.h:
12621 2002-05-09  Richard J. Williamson  <rjw@apple.com>
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;
12627         * kwq/KWQPainter.mm:
12628         (QPainter::drawText):
12629         * kwq/WebCoreTextRenderer.h:
12631 2002-05-09  Kenneth Kocienda  <kocienda@apple.com>
12633         Fix for this bug:
12635         Radar 2890624 (need to remove workaround for double free of image data from QPixmap)
12637         The appropriate, bug-free AppKit code is now available to us on Jaguar. 
12638         Rolling out the workaround.
12640         * kwq/KWQPixmap.mm:
12641         (QPixmap::QPixmap)
12643 === Alexander-3 ===
12645 2002-05-07  Darin Adler  <darin@apple.com>
12647         * kwq/KWQFontMetrics.mm: Fixed storage leak by initializing refCount.
12649 2002-05-07  Darin Adler  <darin@apple.com>
12651         Move more plugin code into WebKit.
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.
12656         * libwebcore.exp: Names of what exported changed.
12657         * kwq/Makefile.am: Source file names changed.
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.
12666         * kwq/KWQFontMetrics.mm:
12667         * kwq/KWQPainter.mm:
12668         Updated for IF -> WebCore name change.
12670         * kwq/WebCoreViewFactory.h: Added.
12671         * kwq/WebCoreViewFactory.m: Added.
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.
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.
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.
12690 2002-05-06  Darin Adler  <darin@apple.com>
12692         * WebCorePrefix.h: Added.
12694         * .cvsignore: Ignore the .pfe files in this directory.
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>
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.
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.
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).
12726         * kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
12727         Switch from xNDEBUG to NDEBUG.
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.
12732         * kwq/kwqdebug.h: Get rid of format attribute because of bug 2920557.
12733         Switch from xNDEBUG to NDEBUG.
12735         * kwq/kwqdebug.mm: Switch from xNDEBUG to NDEBUG.
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.
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).
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:
12754 2002-05-03  Darin Adler  <darin@apple.com>
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.
12762 2002-05-03  Darin Adler  <darin@apple.com>
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.
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.
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.
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.
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.
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.
12815         * libwebcore.exp: Export the IFTextRendererFactory class.
12817 2002-04-26  Darin Adler  <darin@apple.com>
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).
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.
12827 2002-04-26  Darin Adler  <darin@apple.com>
12829         Pay no attention to the man who is not supposed to be working.
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.
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.
12860         * kwq/kwqdebug.mm: Make some globals private.
12862 2002-04-25  Darin Adler  <darin@apple.com>
12864         * kwq/KWQMetrics.h: Add NSObject to required protocols for
12865         the KWQLayoutFragment protocol so we can retain and release.
12867         * kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
12868         Removed a cast to NSObject * that worked around the lack of the above.
12870 2002-04-25  Richard Williamson  <rjw@apple.com>
12872         Little changes in preparation for events.
12874         * khtml/ecma/kjs_proxy.cpp:
12875         (KJSProxyImpl::createHTMLEventHandler):
12876         * kwq/KWQKHTMLPart.mm:
12877         (KHTMLPart::createHTMLEventListener):
12879 2002-04-25  Darin Adler  <darin@apple.com>
12881         Add a workaround for Radar 2912404 (kCFStringEncodingInvalidId is negative even
12882         though CFStringEncoding is unsigned)
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.
12893 2002-04-25  Darin Adler  <darin@apple.com>
12895         Rework plugin code to prepare to move more of it into WebKit.
12897         * khtml/rendering/render_applet.cpp:
12898         (RenderApplet::RenderApplet): Create a widget for the applet using
12899         the new simpler API.
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.
12906         * kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject): Use the new simpler
12907         IFPluginWidgetCreate API instead of the older WCPluginWidget one.
12909         * kwq/qt/qstring.h: Add simpler conversions to/from NSString.
12910         * kwq/KWQString.mm: (QString::fromNSString): New.
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.
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.
12926         * libwebcore.exp: Update for new function names.
12928 2002-04-24  Chris Blumenberg  <cblu@apple.com>
12930         Renamed [IFWebDataSource frame] to [IFWebDataSource webFrame]
12932         * kwq/KWQKHTMLPart.mm:
12933         (KHTMLPart::submitForm):
12934         (KHTMLPart::khtmlMouseReleaseEvent):
12935         * kwq/external.h:
12937 === Alexander 0.3c2 (v1) ===
12939 2002-04-24  Darin Adler  <darin@apple.com>
12941         Get rid of all NEED_BOGUS_XXX.
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.
12950         * kwq/KWQDef.h: Remove XEvent define (inside NEED_BOGUS_X_DEFINES).
12952         * kwq/qt/qtextstream.h: Don't look at NEED_BOGUS_TEXTSTREAMS.
12953         * kwq/KWQtextstream.mm: Don't look at NEED_BOGUS_TEXTSTREAMS.
12955         * khtml/java/javaembed.h: Made this just a QWidget typedef for now.
12956         * khtml/java/kjavaappletwidget.cpp: ifdef out the unused setWindow function.
12958 2002-04-23  Darin Adler  <darin@apple.com>
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.
12967         * kwq/khtml/khtml_settings.h:
12968         * kwq/KWQKHTMLSettings.mm:
12969         Remove some unused stuff: charset(), setCharset(), availableFamilies(),
12970         fontSizes(), SCREEN_RESOLUTION.
12972 2002-04-23  Kenneth Kocienda  <kocienda@apple.com>
12974         Reviewed by: Darin Adler
12976         Fix for Radar 2908403 (Fix names in WebFoundation extensions code)
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.
12983         The file here was changed to use the new names.
12985         * kwq/KWQTextArea.mm:
12986         (-[KWQTextArea paragraphs])
12988 2002-04-23  Kenneth Kocienda  <kocienda@apple.com>
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. :)
12995 2002-04-22  Darin Adler  <darin@apple.com>
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.
13001         Not sure why this worked better on Puma, but now it's fine on
13002         both Puma and Jaguar.
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.
13011 2002-04-22  Darin Adler  <darin@apple.com>
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.
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.
13032 2002-04-22  Chris Blumenberg  <cblu@apple.com>
13034         Added a new method to WCPluginDatabase allHandledMIMETypes.
13035         It returns an  array of the mime types that plug-ins handle.
13037         * kwq/WCPluginDatabase.h:
13038         * kwq/WCPluginDatabase.mm:
13039         (-[WCPluginDatabase allHandledMIMETypes]):
13041 2002-04-20  Darin Adler  <darin@apple.com>
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.
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.
13052         * kwq/kdecore/kurl.h:
13053         * kwq/KWQKURL.mm: (KURL::getNSURL): New.
13055 2002-04-19  Kenneth Kocienda  <kocienda@apple.com>
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:
13064         Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)
13066         Fixed handling of password fields:
13068         Radar 2903605 (WebCore form processing drops out password input data)
13069         
13070         Added some hacks to get form <input type=image ...> working correctly:
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
13086 2002-04-18  Darin Adler  <darin@apple.com>
13088         Fixes for compiling with gcc3 and more warnings.
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.
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.
13100         * khtml/css/cssparser.cpp:
13101         * khtml/misc/htmlhashes.cpp:
13102         Disable inlining in part of this file as a workaround for Radar 2905890.
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>.
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.
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.
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.
13143         * kwq/KWQCharsets.mm: Fix a const problem.
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.
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.
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.
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 *.
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.
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.
13187         * kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
13188         Add a cast to make gcc3 happy.
13190         * kwq/KWQVariant.mm: Say "friend class" instead of "friend".
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.
13197         * kwq/KWQView.mm: (-[KWQHTMLView mouseUp:]), (-[KWQHTMLView mouseDown:]):
13198         Add casts to make gcc3 happy.
13200         * kwq/KWQWidget.mm: (QWidget::frameGeometry), (QWidget::mapToGlobal),
13201         (QWidget::minimumSizeHint): Add casts to make gcc3 happy. Also another
13202         workaround for Radar 2905835.
13204         * kwq/WCPlugin.mm: (-[WCPlugin load]): Add tons of type casts so we don't have
13205         to mix void * with function pointer types.
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.
13213         * kwq/external.h: Add some missing interfaces that the pickier gcc3 needed to see.
13215         * kwq/kwqdebug.mm: Don't compile the file if xNDEBUG is set. Otherwise we get
13216         a warning in here.
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.
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.
13229 2002-04-17  Darin Adler  <darin@apple.com>
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.
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.
13245 2002-04-17  Darin Adler  <darin@apple.com>
13247         Fix build problem.
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.
13254         * kentities.gperf: Removed.
13255         * khtml/html/kentities.gperf: Added.
13257         * .cvsignore: Don't ignore kentities.c.
13258         * khtml/html/.cvsignore: Ignore kentities.c.
13260 2002-04-17  Darin Adler  <darin@apple.com>
13262         * .cvsignore: Ignore new generated files at this level.
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.
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.
13274         * dummy.mm: Moved here from src by hand.
13275         * kentities.gperf: Moved here from src/kdelibs/kdecore by hand.
13277         * khtml/html/Makefile.am: Add WebCore directory to includes so the
13278         include of "kentities.c" will work.
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.
13285         * kwq/khtml/java/javaembed.h: Removed. We use the one in the real
13286         khtml directory.
13288         * kwq/kwqdebug.h: Rolled over Chris's changes, which were done after
13289         the cvs surgery was done.
13291 2002-04-17  Chris Blumenberg  <cblu@apple.com>
13293         Added a debug bit mask for plugins and downloads.
13295         * src/kwq/kwqdebug.h:
13297 2002-04-16  Darin Adler  <darin@apple.com>
13299         * src/kdelibs/khtml/khtml_part.cpp: Added. Not used yet, but maybe we'll use
13300         part of it some time soon.
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.
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.
13319         * src/libwebcore.exp: Update for function name changes.
13321         * src/kwq/khtml/khtml_settings.h:
13322         * src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::changeCursor): Add const.
13324         * src/kwq/KWQView.mm: (-[KWQHTMLView layout]): No need to check xmlDocImpl()
13325         and renderer() for NULL now, because KHTMLView::layout does.
13327         * src/kwq/KWQKloader.mm: (Loader::load): Use type instead of id.
13329 2002-04-16  Darin Adler  <darin@apple.com>
13331         * src/kwq/kio/jobclasses.h:
13332         * src/kwq/KWQKjobclasses.mm: (TransferJob::setError): New.
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.
13338         * src/kwq/KWQKHTMLPart.mm: Removed some unused code.
13340 2002-04-16  Kenneth Kocienda  <kocienda@apple.com>
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.
13347         * src/kwq/KWQKHTMLPart.mm: (WCSetIFWebDataSourceMakeFunc):
13348         * src/kwq/KWQKloader.mm: (-[URLLoadClient
13349         IFURLHandle:resourceDidFailLoadingWithResult:]):
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:
13358 2002-04-15  Darin Adler  <darin@apple.com>
13360         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
13361         Remove some minor gratuitous diffs vs. KDE.
13363 2002-04-15  Richard Williamson  <rjw@apple.com>
13365         Updated to reflect changes in KDE.
13366         
13367         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
13369 2002-04-15  Darin Adler  <darin@apple.com>
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.
13389 2002-04-15  Darin Adler  <darin@apple.com>
13391         Fix text to it displays at the right font size.
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.
13400 2002-04-15  Darin Adler  <darin@apple.com>
13402         More fixes so text displays (still at wrong font size).
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.
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 *.
13412 2002-04-15  Darin Adler  <darin@apple.com>
13414         Merged changes from KDE 3.0 final. Other fixes to get things compiling.
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().
13433 2002-04-15  Darin Adler  <darin@apple.com>
13435         Merged changes from previous merge pass.
13437         2002-03-25  Darin Adler  <darin@apple.com>
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.
13442         * src/kwq/KWQEvent.mm: (QFocusEvent::reason): New.
13443         * src/kwq/KWQPainter.mm: (QPainter::drawText): New overload.
13445         2002-03-25  Darin Adler  <darin@apple.com>
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.
13470         2002-03-24  Darin Adler  <darin@apple.com>
13472         More compiling. Still won't link.
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.
13486         2002-03-24  Darin Adler  <darin@apple.com>
13488         Some fixes to get more stuff to compile.
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.
13516 2002-04-11  Chris Blumenberg  <set EMAIL_ADDRESS environment variable>
13518         Added a symbol for WCPluginDatabase.
13520         * src/libwebcore.exp:
13522 2002-04-08  Maciej Stachowiak  <mjs@apple.com>
13524         Fix Radar 2896001 (crashes in KURL):
13526         * src/kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate):
13527         Initialize refCount to 0 in the copy constructor.
13529 2002-04-08  Chris Blumenberg  <cblu@apple.com>
13531         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject):
13532         * src/kwq/WCPluginWidget.h:
13533         * src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
13535         Support new stream requests from plug-ins that are relative URL's.
13537 2002-04-05  Chris Blumenberg  <cblu@apple.com>
13539         * src/libwebcore.exp:
13541         Added symbol for IFNullPluginView
13543 2002-04-05  Richard Williamson  <rjw@apple.com>
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):
13551 2002-04-05  Chris Blumenberg  <cblu@apple.com>
13553         * src/kwq/WCPluginWidget.h:
13554         * src/kwq/WCPluginWidget.mm: (WCSetIFNullPluginMakeFunc),
13555         (WCPluginWidget::WCPluginWidget), (WCIFPluginMakeFunction),
13556         (WCIFNullPluginMakeFunction):
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. 
13562 2002-04-05  Richard Williamson  <rjw@apple.com>
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:
13574 2002-04-05  Darin Adler  <darin@apple.com>
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.
13581 2002-04-05  Richard Williamson  <rjw@apple.com>
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):
13588 2002-04-05  Maciej Stachowiak  <mjs@apple.com>
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.
13594 2002-04-04  Richard Williamson  <rjw@apple.com>
13596         Extra bulletproofing to prevent script execution when in partially
13597         dealloced state.
13598         
13599         * src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::scriptExecution):
13601 2002-04-04  Chris Blumenberg  <cblu@apple.com>
13603         * src/kwq/WCPlugin.mm: (-[WCPlugin load]):
13604         * src/kwq/npapi.h:
13605         * src/kwq/npapi.mm: (NPN_GetJavaEnv), (NPN_GetJavaPeer):
13607         Added stubs for NPN_GetJavaEnv and NPN_GetJavaPeer. This fixes a flash crasher.
13609 2002-04-04  Chris Blumenberg  <cblu@apple.com>
13611         * src/kdelibs/khtml/rendering/render_frames.cpp:
13612         (RenderPartObject::updateWidget):
13613         * src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
13615         Moved the removal of __KHTML__ EMBED to attributes WCPluginWidget. One less APPLE_CHANGES.
13617 2002-04-04  Darin Adler  <darin@apple.com>
13619         Redo clobbered fixes for problems that show up only when xNDEBUG is set
13621         * src/kwq/KWQApplication.mm: (QApplication::sendEvent):
13622         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
13623         Remove or ifdef otherwise-unused variables.
13625         * src/kwq/KWQFontMetrics.mm: (_rectForString):
13626         Add missing semicolons.
13628 2002-04-04  Darin Adler  <darin@apple.com>
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.
13634 2002-04-03  Richard Williamson  <rjw@apple.com>
13636         Added support for finalURL in data source.
13637         
13638         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
13639         * src/kwq/external.h:
13641 2002-04-03  Darin Adler  <darin@apple.com>
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.
13650 2002-04-03  Darin Adler  <darin@apple.com>
13652         * src/Makefile.am: Don't strip at all if STRIP_FLAGS are empty.
13653         * src/kwq/qt/qtextcodec.h: Remove stray undef.
13655 2002-04-03  Kenneth Kocienda  <kocienda@apple.com>
13657         Updated debugging log messages to use new varargs macros.
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):
13688 2002-04-03  Darin Adler  <darin@apple.com>
13690         Fix problems that show up only when xNDEBUG is set.
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.
13697         * src/kwq/KWQFontMetrics.mm: (_rectForString):
13698         * src/kwq/KWQPainter.mm: (QPainter::setRasterOp), (QPainter::translate),
13699         (QPainter::scale):
13700         Add missing semicolons.
13702         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin):
13703         Fix an ifdef.
13705 2002-04-03  Darin Adler  <darin@apple.com>
13707         * src/Makefile.am: Use nmedit and strip to remove the symbols
13708         we don't want to export.
13710         * src/libwebcore.exp: Added. List of symbols exported.
13712 2002-04-03  Maciej Stachowiak  <mjs@apple.com>
13714         * src/Makefile.am: Pave the way for cutting down the exports
13715         list. Also, make the embed target when installing libwebcore.
13717 2002-04-03  Maciej Stachowiak  <mjs@apple.com>
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.
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.
13727         * src/kwq/external.h: Prototype IFWebDataSource's frameExists:
13728         method here.
13730 2002-04-03  Maciej Stachowiak  <mjs@apple.com>
13732         Fixed Radar 2893298 (KURL rejects spaces and other illegal but
13733         unambiguous characters, leading to load failures).
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).
13741         (KURL::KWQKURLPrivate::KWQKURLPrivate,
13742         KURL::KWQKURLPrivate::compose): out of paranoia, make sure urlRef
13743         is set to NULL if not a valid value.
13745 2002-04-03  Maciej Stachowiak  <mjs@apple.com>
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.
13751 2002-04-02  Darin Adler  <darin@apple.com>
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.
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.
13769 2002-04-02  Richard Williamson  <rjw@apple.com>
13771         Fixed a fix, shoulda' been a #ifndef to exclude unnecessary code.
13772         
13773         * src/kdelibs/khtml/rendering/render_replaced.cpp: (RenderWidget::detach):
13775 2002-04-02  Richard Williamson  <rjw@apple.com>
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):
13782 2002-04-02  Darin Adler  <darin@apple.com>
13784         Fix some small storage leaks.
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.
13796 2002-04-02  Richard Williamson  <rjw@apple.com>
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):
13805 2002-04-02  Richard Williamson  <rjw@apple.com>
13807         Removed unnecessary and erroneous call to CGContextSetCharacterSpacing.
13808         
13809         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo _initializeCaches]):
13811 2002-04-01  Maciej Stachowiak  <mjs@apple.com>
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.
13819 2002-04-01  Richard Williamson  <rjw@apple.com>
13821         Added log to catch more problems with NS/CFURL.
13822         
13823         * src/kwq/KWQKjobclasses.mm:
13825 2002-04-01  Richard Williamson  <rjw@apple.com>
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:]):
13835 2002-04-01  Richard Williamson  <rjw@apple.com>
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:
13845 2002-04-01  Kenneth Kocienda  <kocienda@apple.com>
13847         The guts of the fix for this bug:
13849         Radar 2879234 (Redirected URLs not used for subsequent GETs)
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.
13855         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin), (KHTMLPart::setBaseURL):
13857 2002-04-01  Darin Adler  <darin@apple.com>
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.
13864 2002-04-01  Darin Adler  <darin@apple.com>
13866         * src/kwq/KWQDef.h: Use KWQ_UNSIGNED_TYPES_DEFINED for compatibility with code
13867         in JavaScriptCore that has to do the same thing.
13869 2002-04-01  Darin Adler  <darin@apple.com>
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.
13891         * src/kdelibs/khtml/rendering/render_form.cpp: Fixed spelling error.
13893 2002-03-31  Maciej Stachowiak  <mjs@apple.com>
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.
13903 2002-03-31  Darin Adler  <darin@apple.com>
13905         * src/kwq/KWQString.mm: (QString::toDouble): Fix to properly handle
13906         an empty string.
13908 2002-03-30  Darin Adler  <darin@apple.com>
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.
13916         * src/kwq/KWQKHTMLPart.h: Add setTitle. Also clean up ifdefs.
13917         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::setTitle): New. Calls
13918         [IFWebDataSource _setTitle].
13920         * src/kwq/kparts/part.h: Removed setWindowCaption.
13921         * src/kwq/KWQPart.mm: Removed setWindowCaption.
13923         * src/kwq/external.h: Add [IFWebDataSource _setTitle].
13925 2002-03-30  Richard Williamson  <rjw@apple.com>
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):
13936 2002-03-30  Richard Williamson  <rjw@apple.com>
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):
13944 2002-03-30  Richard Williamson  <rjw@apple.com>
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.
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):
13961 2002-03-30  Darin Adler  <darin@apple.com>
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.
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>
13973         * src/Makefile.am: Link against JavaScriptCore.framework instead
13974         of the defunct libJavaScriptCore.dylib.
13976 2002-03-29  Darin Adler  <darin@apple.com>
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.
13982 2002-03-29  Richard Williamson  <rjw@apple.com>
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:])
13989 2002-03-29  Darin Adler  <darin@apple.com>
13991         * src/kwq/KWQKloader.mm: (Cache::getStatistics), (Cache::flushAll):
13992         Fix both of these to work when cache is not yet allocated.
13994 2002-03-29  Richard Williamson  <rjw@apple.com>
13996         Hooked up redirect.
13997         
13998         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
13999         * src/kwq/external.h:
14001 2002-03-29  Kenneth Kocienda  <kocienda@apple.com>
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):
14009 2002-03-28  Richard Williamson  <rjw@apple.com>
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):
14016 2002-03-28  Darin Adler  <darin@apple.com>
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.
14022 2002-03-28  Maciej Stachowiak  <mjs@apple.com>
14024         Fix Radar 2890340 (JavaScript doesn't work)
14026         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::executeScript): Implement
14027         the other overloaded version of this function. This is needed for
14028         JavaScript to work.
14030 2002-03-28  Darin Adler  <darin@apple.com>
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.
14040 2002-03-28  Richard Williamson  <rjw@apple.com>
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):
14047 2002-03-27  Richard Williamson  <rjw@apple.com>
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):
14054 2002-03-27  Darin Adler  <darin@apple.com>
14056         * src/kwq/KWQListImpl.mm: (KWQListImpl::insert): Fix disastrous name
14057         collision which could lead to infinite loops.
14059 2002-03-27  Darin Adler  <darin@apple.com>
14061         * src/kwq/KWQCString.mm: (QCString::isEmpty): The || should be &&.
14063 2002-03-27  Darin Adler  <darin@apple.com>
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.
14073 2002-03-27  Kenneth Kocienda  <kocienda@apple.com>
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:]):
14082 2002-03-27  Darin Adler  <darin@apple.com>
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.
14087 2002-03-26  Maciej Stachowiak  <mjs@apple.com>
14089         Removed kjs from here - it's now been moved to JavaScriptCore at
14090         the top level.
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.
14155 2002-03-26  Maciej Stachowiak  <mjs@apple.com>
14157         Removed all the borrowed Qt code.
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.
14228 2002-03-26  Kenneth Kocienda  <kocienda@apple.com>
14230         * src/Makefile.am:
14232 2002-03-26  Darin Adler  <darin@apple.com>
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.
14243 2002-03-26  Richard Williamson  <rjw@apple.com>
14245         Fixed leak of decoder.  This caused us to leak the entire
14246         document text for every load!
14247         
14248         * src/kwq/KWQKHTMLPart.mm:
14250 2002-03-26  Darin Adler  <darin@apple.com>
14252         * src/kdelibs/khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
14253         Fix a leak (missing delete).
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.
14262 2002-03-26  Darin Adler  <darin@apple.com>
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.
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>
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):
14281 2002-03-25  Maciej Stachowiak  <mjs@apple.com>
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.
14287 2002-03-25  Chris Blumenberg  <cblu@apple.com>
14289         * src/kwq/WCPlugin.mm: (-[WCPlugin load]):
14290         
14291         Temporary special case workaround for this Java plug-in bug:
14292         2885120
14294 2002-03-25  Maciej Stachowiak  <mjs@apple.com>
14296         Improved KURL performance:
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.
14320         * src/kwq/KWQKHTMLPart.mm (KHTMLPart::end): Clear KURL caches at
14321         the end of each page load.
14323 2002-03-24  Darin Adler  <darin@apple.com>
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.
14329 2002-03-24  Darin Adler  <darin@apple.com>
14331         Add tail pointer to KWQListImpl, since that shows up on so many profiles.
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.
14350 2002-03-24  Richard Williamson  <rjw@apple.com>
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:
14359 2002-03-24  Richard Williamson  <rjw@apple.com>
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):
14368 2002-03-24  Richard Williamson  <rjw@apple.com>
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:
14382 2002-03-23  Darin Adler  <darin@apple.com>
14384         Fixed problem with extra empty items in menus.
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.
14392 2002-03-22  Darin Adler  <darin@apple.com>
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.
14399         * src/kdelibs/kjs/.cvsignore: Ignore kjs-test output.
14401 2002-03-22  Maciej Stachowiak  <mjs@apple.com>
14403         Fix some things that were making automake complain.
14405         * src/kdelibs/kjs/Makefile.am:
14406         * src/kwq/Makefile.am:
14408 2002-03-22  Darin Adler  <darin@apple.com>
14410         * src/kdelibs/khtml/css/cssstyleselector.cpp: (khtml::applyRule):
14411         Fix boolean logic mistake from the original KDE sources.
14413 2002-03-22  Darin Adler  <darin@apple.com>
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.
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.
14434 2002-03-22  John Sullivan  <sullivan@apple.com>
14436         Made changing font sizes work immediately (other than an
14437         unrelated crash).
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.
14445         * src/kwq/khtml/khtml_settings.h: Added "mutable" keyword
14446         to declaration of m_fontSizes, so the other change would compile.
14448 2002-03-22  Kenneth Kocienda  <kocienda@apple.com>
14450         Moved KWQKloader to the new thread-safe API for accessing handle attributes.
14452         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
14453         (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
14454         IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
14455         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
14456         IFURLHandle:resourceDidFailLoadingWithResult:]):
14458 2002-03-22  Richard Williamson  <rjw@apple.com>
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:
14473 2002-03-22  Maciej Stachowiak  <mjs@apple.com>
14475         Fixed the following post-merge crashers:
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.
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>
14492         Merged the following changes from LABYRINTH_KDE_3_MERGE branch:
14494         2002-03-20  Maciej Stachowiak  <mjs@apple.com>
14496                 * src/kdelibs/khtml/rendering/render_applet.cpp:
14497                 (RenderApplet::RenderApplet): Handle Java parameters properly,
14498                 with Chris's assistance.
14500         2002-03-20  Maciej Stachowiak  <mjs@apple.com>
14502                 Merged accumlated changes from HEAD, up to
14503                 MERGED_TO_KDE_3_MERGE_BRANCH tag.
14505         2002-03-19  Maciej Stachowiak  <mjs@apple.com>
14507                 Fixed two more crashers. Tree now looks pretty stable.
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.
14514                 * src/kwq/KWQListImpl.mm: (KWQListImpl::getFirst): Return
14515                 d->head->data, not d->head. Whoops!
14517         2002-03-19  Maciej Stachowiak  <mjs@apple.com>
14519                 Fixed two crashers:
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.
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).
14529         2002-03-19  Maciej Stachowiak  <mjs@apple.com>
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:
14610         2002-03-18  Maciej Stachowiak  <mjs@apple.com>
14612                 Changes needed to get kwq compiling (doesn't link yet, though).
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>
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.
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>
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!
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>
14826                 Hand-merge KDE3 beta 2 changes into this frankenstein file.
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>
14853                 Merge KDE3 beta 2 changes into this frankenstein file.
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):
14873         2002-03-13  Maciej Stachowiak  <mjs@apple.com>
14875                 Clean up this frankenstein file in preparation for merging KDE
14876                 beta 2 changes.
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):
14886         2002-03-13  Maciej Stachowiak  <mjs@apple.com>
14888                 Remove files from build that are no longer in KDE 3 beta 2:
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>
14902                 Merged kdelibs from KDE 3 beta 2 into our 2.2.1-based sources.
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:
16168 2002-03-19  Richard Williamson  <rjw@apple.com>
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:
16179 2002-03-19  Richard Williamson  <rjw@apple.com>
16180     
16181         Changed float width cache to use shorts.
16183         * src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo _initializeCaches]),
16184         (_rectForString):
16185         * src/kwq/KWQMetrics.h:
16187 2002-03-19  Richard Williamson  <rjw@apple.com>
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:
16198 2002-03-18  Darin Adler  <darin@apple.com>
16200         * src/kwq/KWQListImpl.mm: (KWQListImpl::sort): Use insertion sort for
16201         small lists. Also special case for lists of size 2 and under.
16203 2002-03-18  Richard Williamson  <rjw@apple.com>
16205         Added comments about new layout scheme.  Cleaned up code.
16206         Improved core measurement routine.
16208         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::boundingRect):
16209         * src/kwq/kwqdebug.h:
16211 2002-03-18  Darin Adler  <darin@apple.com>
16213         * src/kwq/KWQString.mm: (QString::latin1): Handle null case properly.
16214         We must return "", not 0.
16216 2002-03-18  Darin Adler  <darin@apple.com>
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.
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.
16228         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::width): Use _rectForString() a
16229         couple more places.
16231 2002-03-18  Richard Williamson  <rjw@apple.com>
16233         Changed to use non direct _rectForString() function.   Avoids
16234         unnecessary NSString allocation.
16235         
16236         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::boundingRect):
16238 2002-03-18  Darin Adler  <darin@apple.com>
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.
16245 2002-03-17  Richard Williamson  <rjw@apple.com>
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:
16266 2002-03-16  Richard Williamson  <rjw@apple.com>
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:
16279 2002-03-15  Richard Williamson  <rjw@apple.com>
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:
16289 2002-03-15  Richard Williamson  <rjw@apple.com>
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):
16298 2002-03-15  Darin Adler  <darin@apple.com>
16300         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::descent): Oops, removed a - sign
16301         that I should have left in there.
16303 2002-03-15  Darin Adler  <darin@apple.com>
16305         Some more optimizations. Carves another 6% or so off of NSView.html.
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.
16315         * src/kwq/KWQFontMetrics.mm: (QFontMetrics::ascent), (QFontMetrics::descent):
16316         Cache the ascent and descent rather than computing it each time we are called.
16318 2002-03-15  Darin Adler  <darin@apple.com>
16320         Optimizations for creating empty QFont objects, measuring certain single
16321         characters, and copying QFontMetrics objects. Makes loading NSView.html about
16322         18% faster.
16324         * src/kwq/qt/qfontmetrics.h: Use a ref-counted pointer so QFontMetrics objects
16325         for the same QFont can share data.
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.
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".
16345 2002-03-15  Richard Williamson  <rjw@apple.com>
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:
16360 2002-03-14  Richard Williamson  <rjw@apple.com>
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:
16372 2002-03-14  Richard Williamson  <rjw@apple.com>
16374         Fixed optimized find() implementation.  I had the sense of caseSensitive inverted.
16375         
16376         * src/kwq/KWQString.mm: (QString::find):
16378 2002-03-14  Richard Williamson  <rjw@apple.com>
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:]):
16390 2002-03-14  Richard Williamson  <rjw@apple.com>
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:]):
16407 2002-03-13  Richard Williamson  <rjw@apple.com>
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:]):
16419 2002-03-13  Richard Williamson  <rjw@apple.com>
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]):
16438 2002-03-13  Kenneth Kocienda  <kocienda@apple.com>
16440         Updated for new didRedirectToURL callback. This is a partial fix for this bug:
16441         Radar 2879234 (Redirected URLs not used for subsequent GETs)
16443         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16444         IFURLHandle:didRedirectToURL:]):
16445         * src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
16447 2002-03-12  Richard Williamson  <rjw@apple.com>
16449         * src/kwq/KWQString.mm: (QString::find), (QString::contains),
16450         (QString::compareToLatin1):
16452 2002-03-11  Richard Williamson  <rjw@apple.com>
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.
16457         * src/kwq/KWQPainter.mm: (QPainter::drawTiledPixmap):
16459 2002-03-08  Richard Williamson  <rjw@apple.com>
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.
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:
16475 2002-03-08  Richard Williamson  <rjw@apple.com>
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:
16488 2002-03-08  John Sullivan  <sullivan@apple.com>
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
16495 2002-03-07  John Sullivan  <sullivan@apple.com>
16497         * src/kwq/kwqdebug.h: New debug level constants, kept in
16498         synch with WebKitDebug.h
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.
16515 2002-03-07  Don Melton  <gramps@apple.com>
16517         Removed unused file in kdelibs that I missed in previous commit.
16519         * src/kdelibs/khtml/test/layout.html:
16521 2002-03-06  Don Melton  <gramps@apple.com>
16523         Removed unused files in kdelibs.
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:
16626 2002-03-06  Don Melton  <gramps@apple.com>
16628         Cleaned up all our changes to kdelibs, removed bitrot, and replaced use
16629         of _KWQ_ with new APPLE_CHANGES define.
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):
16717 2002-03-06  Maciej Stachowiak  <mjs@apple.com>
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.
16724 2002-03-05  Richard Williamson  <rjw@apple.com>
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:
16745 2002-03-05  Richard Williamson  <rjw@apple.com>
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.
16772         * src/kwq/KWQString.mm: (QString::_copyIfNeededInternalString):
16774 2002-03-04  Richard Williamson  <rjw@apple.com>
16776         Changes to support 'provisional' data sources.
16777         API changes to IFBaseWebController, removed redundant methods.
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:
16789 2002-02-28  Richard Williamson  <rjw@apple.com>
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:
16803 2002-02-27  Kenneth Kocienda  <kocienda@apple.com>
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. 
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
16815         All changes in this commit are related to making dependant code work with the new convention.
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:
16839 2002-02-27  Maciej Stachowiak  <mjs@apple.com>
16841         Replace QDir and QFile with clean-room implementations. Add glob
16842         support ot QRegExp reimplementation.
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:
16864 2002-02-25  Maciej Stachowiak  <mjs@apple.com>
16866         Fix two significant memory leaks in QList found by our automated
16867         leak-checking code.
16869         * src/kwq/KWQListImpl.mm: (KWQListNode::~KWQListNode),
16870         (KWQListImpl::KWQListPrivate::copyList),
16871         (KWQListImpl::KWQListPrivate::~KWQListPrivate), (KWQListImpl::sort):
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>
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):
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:
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!
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:
16930 2002-02-23  Maciej Stachowiak  <mjs@apple.com>
16932         * src/kwq/WCLoadProgress.h: Add the forgotten WCLoadProgress.h.
16934 2002-02-22  Maciej Stachowiak  <mjs@apple.com>
16936         Fix prebinding:
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.
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):
16955 2002-02-22  Richard Williamson  <rjw@apple.com>
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:]):
16965 2002-02-22  Kenneth Kocienda  <kocienda@apple.com>
16967         Sent handle an autorelease message.
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:]):
16978 2002-02-21  Maciej Stachowiak  <mjs@apple.com>
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.
16986 2002-02-21  Richard Williamson  <rjw@apple.com>
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:
16998 2002-02-21  Maciej Stachowiak  <mjs@apple.com>
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.
17004 2002-02-20  Richard Williamson  <rjw@apple.com>
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:
17029 2002-02-20  Maciej Stachowiak  <mjs@apple.com>
17031         * src/kdelibs/kjs/kjs-test:
17032         * src/kwq/KWQKURL.mm: (KURL::setQuery):
17034 2002-02-18  Kenneth Kocienda  <kocienda@apple.com>
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):
17041 2002-02-18  Richard Williamson  <rjw@apple.com>
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):
17048 2002-02-18  Richard Williamson  <rjw@apple.com>
17050         Performance measurement.
17051         
17052         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin), (KHTMLPart::write):
17054 2002-02-16  Maciej Stachowiak  <mjs@apple.com>
17056         Reimplement KURL in terms of CFURL (many workarounds needed to
17057         account for differing semantics).
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.
17073         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin,
17074         KHTMLPart::submitForm): Don't 
17076         Minor tweaks to make it all build:
17078         * src/kwq/kde/_kurl.cpp:
17079         * src/kwq/qt/_qurl.cpp:
17080         * src/kwq/qt/_qurl.h:
17082 2002-02-16  Richard Williamson  <rjw@apple.com>
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:]):
17092 2002-02-15  Richard Williamson  <rjw@apple.com>
17093     
17094     Lots of changes to support forms.
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:
17131 2002-02-13  Richard Williamson  <rjw@apple.com>
17132     
17133     Use NSSwitchButtons for check boxes.
17135         * src/kwq/KWQCheckBox.mm: (QCheckBox::QCheckBox):
17137 2002-02-13  Richard Williamson  <rjw@apple.com>
17139     Removed dead code from setView.
17140     
17141         * src/kwq/KWQWidget.mm: (QWidget::setView):
17143 2002-02-12  Richard Williamson  <rjw@apple.com>
17145     Made basic forms work.
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:
17164 2002-02-12  Maciej Stachowiak  <mjs@apple.com>
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.
17171         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::closeURL),
17172         (KHTMLPart::checkCompleted):
17173         * src/kwq/KWQKjobclasses.mm:
17175 2002-02-12  Maciej Stachowiak  <mjs@apple.com>
17177         Reimplemented QList, QVector and QCollection from
17178         scratch. Implemented copy-on-write optimization for QMap.
17180         Minimally reimplement QCollection.
17182         * src/kwq/qt/qcollection.h:
17183         * src/kwq/KWQCollection.mm: (QCollection::QCollection), (QCollection::operator=),
17184         (QCollection::~QCollection), (QCollection::autoDelete),
17185         (QCollection::setAutoDelete):
17187         * src/kwq/qt/qdict.h, src/kwq/qt/qptrdict.h: Include
17188         qcollection.h, not _qcollection.h
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=):
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):
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.
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):
17239         * src/kwq/Makefile.am: Add new files to build.
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.
17245 2002-02-07  Richard Williamson  <rjw@apple.com>
17247     More changes to IFLocationChangeHandler API.
17249         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent):
17251 2002-02-07  Richard Williamson  <rjw@apple.com>
17253     Factored URL loading code out and moved to IFBaseWebController.
17254     
17255         * ChangeLog:
17256         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17257         (KHTMLPart::requestFrame):
17259 2002-02-06  Richard Williamson  <rjw@apple.com>
17261     Fixed allocation problems.
17262     
17263         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17264         (KHTMLPart::requestFrame):
17266 2002-02-05  Richard Williamson  <rjw@apple.com>
17268     Updated part to use 'official' controller APIs.
17269     
17270         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart),
17271         (KHTMLPart::khtmlMouseReleaseEvent), (KHTMLPart::requestFrame),
17272         (KHTMLPart::checkCompleted):
17274 2002-02-05  Richard Williamson  <rjw@apple.com>
17276     Changes to support dynamic scroll bars in frames/iframes.
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):
17285 2002-02-05  Kenneth Kocienda  <kocienda@apple.com>
17287         Changes to move these last bits of code to the new cache API.
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:]):
17298 2002-02-04  Maciej Stachowiak  <mjs@apple.com>
17300         Fix everything for WK --> IF rename.
17302         * src/kwq/KWQKHTMLPart.h:
17303         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17304         (KHTMLPart::requestFrame), (KHTMLPart::checkCompleted):
17306 2002-02-01  Kenneth Kocienda  <kocienda@apple.com>
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.
17316         * include/WCURLHandle.h:
17317         * src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
17318         WCURLHandle:resourceDataDidBecomeAvailable:userData:]):
17319         * src/kwq/KWQKloader.mm: (-[URLLoadClient
17320         WCURLHandle:resourceDataDidBecomeAvailable:userData:]):
17322 2002-02-01  Richard Williamson  <rjw@apple.com>
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):
17330 2002-02-01  Kenneth Kocienda  <kocienda@apple.com>
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:]):
17340 2002-01-31  Richard Williamson  <rjw@apple.com>
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:
17349 2002-01-31  Richard Williamson  <rjw@apple.com>
17351         * src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLStyleElementImpl::detach):
17352         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::write):
17354 2002-01-31  Kenneth Kocienda  <kocienda@apple.com>
17356         Changes to incorporate use of the no-copy NSData object.
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:]):
17364 2002-01-30  Richard Williamson  <rjw@apple.com>
17365     
17366     Cleaned up frame code a bit.  Fixed duplicate content problem.
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):
17373 2002-01-30  Kenneth Kocienda  <kocienda@apple.com>
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:
17383 2002-01-29  Richard Williamson  <rjw@apple.com>
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:
17393 2002-01-29  Richard Williamson  <rjw@apple.com>
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:
17400 2002-01-29  Kenneth Kocienda  <kocienda@apple.com>
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):
17412 2002-01-29  Richard Williamson  <rjw@apple.com>
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):
17426 2002-01-29  Kenneth Kocienda  <kocienda@apple.com>
17428         Checked in the missing file
17429         
17430         * include/WCURLHandle.h:
17432 2002-01-29  Kenneth Kocienda  <kocienda@apple.com>
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:
17454 2002-01-29  Maciej Stachowiak  <mjs@apple.com>
17456         Reimplement QDict, QMap, QPtrDict and QSortedList.
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):
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):
17485         Reimplement QPtrDict in terms of CFDictionary:
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++):
17504         Reimplement QSortedList:
17505         
17506         * src/kwq/qt/qsortedlist.h:
17508         * src/kwq/KWQArrayImpl.mm: Remove stray include.
17510         * src/kwq/Makefile.am: Add new files to build.
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.
17516 2002-01-22  Richard Williamson  <rjw@apple.com>
17518     Implemented KWQDesktopWidget to represent main screen.  Used by javascript.
17519     
17520         * src/kwq/KWQApplication.mm: (KWQDesktopWidget::width),
17521         (KWQDesktopWidget::height), (QApplication::desktop):
17523 2002-01-21  Maciej Stachowiak  <mjs@apple.com>
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.
17529         # Reimplement QArray:
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==):
17539         # Reimplement QBuffer:
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:
17547         # Reimplement QStringList:
17549         * src/kwq/KWQStringList.mm: (QStringToCFString), (QStringList::split),
17550         (QStringList::QStringList), (QStringList::~QStringList), (QStringList::join),
17551         (QStringList::operator=):
17553         # Reimplement QStack:
17554         * src/kwq/qt/qstack.h:
17556         * src/kwq/Makefile.am: Add new files to build.
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.
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>
17578         * src/kdelibs/kjs/Makefile.am: Fix testkjs build.
17580         Fix a couple more static initialization problems:
17581         * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::urlCursor):
17582         * src/kwq/KWQRegion.mm: (QRegion::QRegion), (QRegion::operator=):
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.
17589 2002-01-18  Richard Williamson  <rjw@apple.com>
17591     First pass at new view/datasource/controller API.
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:
17602 2002-01-18  Maciej Stachowiak  <mjs@apple.com>
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.
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:
17633 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
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)
17639         * src/Makefile.am:
17640         * src/kdelibs/khtml/css/Makefile.am:
17641         * src/kdelibs/khtml/misc/Makefile.am:
17642         * src/kdelibs/kjs/Makefile.am:
17644 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
17646         * src/kwq/Makefile.am: Fix another bonehead mistake.
17648 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
17650         Fix bonehead mistakes in last checkin which were killing Jersey.
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:
17657 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
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.
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:
17678 2002-01-17  Maciej Stachowiak  <mjs@apple.com>
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:
17698 2002-01-16  Maciej Stachowiak  <mjs@apple.com>
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.
17704 2002-01-15  Maciej Stachowiak  <mjs@apple.com>
17706         * src/kdelibs/kjs/Makefile.am: Add missing files to BUILT_SOURCES
17707         and build rules to fix `make -j3'
17709 2002-01-14  Maciej Stachowiak  <mjs@apple.com>
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:
17777 2002-01-09  Richard Williamson  <rjw@apple.com>
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:
17788 2001-12-20  Richard Williamson  <rjw@apple.com>
17789         
17790         More tweaks to text layout and underlining.
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:
17799 2001-12-18  Maciej Stachowiak  <mjs@apple.com>
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.
17805         Reimplement QPoint, QSize and QRect:
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:
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.
17851         * src/kwq/_KWQOwner.h: Add include guards and standard license.
17853         * src/kdelibs/khtml/ecma/kjs_binding.h: Add include of qvariant.h,
17854         how could stuff ever compile without this?
17856 2001-12-18  Richard Williamson  <rjw@apple.com>
17858         Finally fixed underlining.
17859         
17860         * src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
17861         * src/kwq/KWQFontMetrics.mm:
17863 2001-12-18  Maciej Stachowiak  <mjs@apple.com>
17865         * src/kwq/Makefile.in: Re-apply my changes, which accidentally got
17866         clobbered.
17868 2001-12-13  Maciej Stachowiak  <mjs@apple.com>
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).
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.
17914 2001-12-11  Chris Blumenberg  <cblu@apple.com>
17916         * ChangeLog:
17917         * src/kwq/KWQKHTMLPart.mm:
17919 2001-12-11  Chris Blumenberg  <cblu@apple.com>
17921         * src/kwq/KWQKHTMLPart.mm:
17923 2001-12-10  Kenneth Kocienda  <kocienda@apple.com>
17925         Went back and did a better job of cleaning up the warnings
17926         that resulted from comparing signed and unsigned numbers.
17928         * src/kwq/KWQString.mm: (QString::insert), (QString::remove),
17929         (QString::truncate):
17931 2001-12-07  Richard Williamson  <richwill@richwill.com>
17933         Fixed bug that was highlighted when we turned on warnings.
17934         
17935         * src/kwq/KWQFontMetrics.mm:
17936         * src/kwq/KWQMetrics.h:
17938 2001-12-07  Kenneth Kocienda  <kocienda@apple.com>
17940         Fixed small bug in a comparison that was making -Wall complain
17942         * src/kwq/KWQString.mm: