12002-12-03  David Hyatt  <hyatt@apple.com>
2
3	Fix for 3078227, hanging in table code.  Make sure <form>s
4	don't get wrapped in anonymous rows and cells.
5	
6        Reviewed by: rjw
7
8        * khtml/rendering/render_table.cpp:
9        (RenderTable::addChild):
10        (RenderTableSection::addChild):
11        (RenderTableRow::addChild):
12
132002-12-03  David Hyatt  <hyatt@apple.com>
14
15	Backing out a file that I did not intend to check in.
16
17        * khtml/misc/loader.cpp:
18
192002-12-03  Richard Williamson   <rjw@apple.com>
20
21        D'oh.  Fixed last minute change that broke the build.
22        
23        * kwq/KWQFont.mm:
24        (QFont::getNSFont):
25
262002-12-03  David Hyatt  <hyatt@apple.com>
27
28	Remove the moveWidgetsAside function.  This fixes all the
29	form controls on livepage.apple.com that were getting hosed
30	by the scrolling marquee.
31	
32        Reviewed by: darin
33
34        * khtml/html/html_tableimpl.cpp:
35        (HTMLTableRowElementImpl::addChild):
36        * khtml/misc/loader.cpp:
37        * khtml/rendering/render_root.cpp:
38        (RenderRoot::layout):
39        * kwq/KWQKHTMLPart.h:
40        * kwq/KWQKHTMLPart.mm:
41        (KWQKHTMLPart::KWQKHTMLPart):
42        (KWQKHTMLPart::paint):
43
442002-12-03  Richard Williamson   <rjw@apple.com>
45
46        Fixed 3019986.  Use an array of font families instead of a single
47        font family to support CSS family lists.
48        r=hyatt
49                
50        * kwq/KWQFont.h:
51        * kwq/KWQFont.mm:
52        (QFont::getNSFont):
53        * kwq/KWQFontMetrics.mm:
54        (QFontMetrics::width):
55        (QFontMetrics::floatWidth):
56        (QFontMetrics::floatCharacterWidths):
57        * kwq/KWQPainter.mm:
58        (QPainter::drawText):
59        (QPainter::drawUnderlineForText):
60        * kwq/WebCoreTextRenderer.h:
61        * kwq/WebCoreTextRendererFactory.h:
62        * kwq/WebCoreTextRendererFactory.m:
63        (-[WebCoreTextRendererFactory rendererWithFamilies:traits:size:]):
64        (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]):
65
662002-12-03  David Hyatt  <hyatt@apple.com>
67
68	Fix for 3112599, aol.com shopping page doesn't work.  Apply
69	the same form demotion trick to <tr> that I did already for
70	<tbody> and <table>.
71
72	r=gramps
73	
74        * khtml/html/dtd.cpp:
75        (DOM::checkChild):
76        * khtml/html/html_tableimpl.cpp:
77        (HTMLTableRowElementImpl::addChild):
78        * khtml/html/html_tableimpl.h:
79
802002-12-03  David Hyatt  <hyatt@apple.com>
81
82	Fix link feedback regression on aintitcool.com.  Observe
83	the wacky feedback we give now (yes, it matches MacIE and
84	Gecko).  Gotta love this malformed page.
85
86	<a><h4>...</h4></a>
87
88	r=mjs
89	
90        * khtml/rendering/render_object.cpp:
91        (RenderObject::nodeAtPoint):
92
932002-12-03  David Hyatt  <hyatt@apple.com>
94
95	Eliminate the KONQBLOCK hack.  Fixes ipodhacks.com (a mislayout
96	caused by malformed html... <table><br>...)
97
98	r=mjs
99	
100        * khtml/css/html4.css:
101        * khtml/html/dtd.cpp:
102        (DOM::checkChild):
103        * khtml/html/html_elementimpl.cpp:
104        (HTMLElementImpl::isInline):
105        * khtml/html/htmlparser.cpp:
106        (KHTMLParser::reset):
107        (KHTMLParser::insertNode):
108        * khtml/html/htmlparser.h:
109        * khtml/misc/htmltags.c:
110        (hash_tag):
111        (findTag):
112        * khtml/misc/htmltags.h:
113        * khtml/misc/htmltags.in:
114        * khtml/rendering/render_flow.cpp:
115        (RenderFlow::layoutBlockChildren):
116
1172002-12-02  David Hyatt  <hyatt@apple.com>
118
119	Fix for 3032557, wsj.com DHTML elements in the wrong position.
120	This patch adds support for img.x and img.y (a Mozilla extension
121	from NS4 days), which is used by the site to position the menus.
122
123	r=kocienda on the patch.
124	
125        * khtml/dom/html_image.cpp:
126        (HTMLImageElement::x):
127        (HTMLImageElement::y):
128        * khtml/dom/html_image.h:
129        * khtml/ecma/kjs_html.cpp:
130        (KJS::HTMLElement::getValueProperty):
131        * khtml/ecma/kjs_html.h:
132        * khtml/ecma/kjs_html.lut.h:
133
1342002-12-02  David Hyatt  <hyatt@apple.com>
135
136	Undo my changes to margin collapsing for blocks inside inlines.
137	Although they may be correct in a strict mode, they don't
138	work with the real-world Web.  For now, I'm just backing out
139	the code.  The CSS WG hasn't decided how this should work yet
140	anyway, so I'll just let the quirk behavior be our behavior
141	in both modes.
142
143	This fixes aintitcool.com.
144	
145        * khtml/rendering/render_flow.cpp:
146        (RenderFlow::layoutBlockChildren):
147
1482002-12-01  David Hyatt  <hyatt@apple.com>
149
150	Convert the WebCore cache from LRU to size-adjusted and
151	popularity-aware LRU (LRU-SP).  With the improved cache,
152	the size restriction on images can be relaxed back to 40K
153	(from 16K) while retaining the same score on cvs-base.
154	This should result in better real-world performance.
155	
156        * khtml/misc/loader.cpp:
157        (CachedObject::ref):
158        (CachedObject::setSize):
159        (m_tail):
160        (LRUList::~LRUList):
161        (Cache::flush):
162        (FastLog2):
163        (Cache::getLRUListFor):
164        (Cache::removeFromLRUList):
165        (Cache::insertInLRUList):
166        (Cache::adjustSize):
167        * khtml/misc/loader.h:
168
1692002-11-29  Don Melton  <gramps@apple.com>
170
171        * khtml/css/html4.css:
172
173        Finally tweak headline font sizes and margins to match Gecko and CSS
174        standard:
175            - increase H1 font-size from 1.7em to 2em
176            - increase H2 font-size from 1.4em to 1.5em
177            - make H2 top and bottom margin match (bottom was strangely .87em)
178            - increase H4 margin from 1.0em to 1.33em
179
1802002-11-27  David Hyatt  <hyatt@apple.com>
181
182	Fix DHTML on phoenix.com.  Add support for window.addEventListener
183	and window.removeEventListener.
184	
185        * khtml/ecma/kjs_window.cpp:
186        (Window::get):
187        (WindowFunc::tryCall):
188        * khtml/ecma/kjs_window.h:
189        * khtml/ecma/kjs_window.lut.h:
190
1912002-11-27  Maciej Stachowiak  <mjs@apple.com>
192
193	- avoid doing any work when setting the document's link colors if
194	there is no change. This avoids superfluous style updates and
195	results in a 20% improvment on the JavaScript iBench.
196	
197        * khtml/ecma/kjs_html.cpp:
198        (KJS::HTMLDocument::putValue):
199
2002002-11-27  David Hyatt  <hyatt@apple.com>
201
202	Fix <br clear=""> and <br clear> to just behave like <br>
203	rather than <br clear="all">.  Matches behavior in other
204	browsers.
205	
206        * khtml/html/html_inlineimpl.cpp:
207        (HTMLBRElementImpl::parseAttribute):
208
2092002-11-27  David Hyatt  <hyatt@apple.com>
210
211        Numerous overflow: hidden improvements to fix espn.com.
212
213	First stop absolute positioned overflow hidden elements
214	from growing to accommodate their overflow.  (Actually
215	absolute positioned elements should never grow to do this,
216	but fixing it for non-overflow hidden elements is hard,
217	so later.)
218
219	Second fix the render layer code to not allow background/borders
220	of the object with overflow: hidden from being clipped.  This
221	involves an extra paint step where the object paints its
222	background and borders prior to establishing the clip rect
223	for the children.  (This will also be necessary for overflow:auto
224	and overflow:scroll).
225	
226        * ChangeLog:
227        * khtml/rendering/render_box.cpp:
228        (RenderBox::getClipRect):
229        (RenderBox::calcAbsoluteVertical):
230        * khtml/rendering/render_layer.cpp:
231        (RenderLayer::paint):
232        * khtml/rendering/render_object.h:
233
2342002-11-27  David Hyatt  <hyatt@apple.com>
235
236        * khtml/rendering/render_box.cpp:
237        (RenderBox::getClipRect):
238        (RenderBox::calcAbsoluteVertical):
239        * khtml/rendering/render_layer.cpp:
240        (RenderLayer::paint):
241
2422002-11-27  David Hyatt  <hyatt@apple.com>
243
244	Fix for 3105502.  drop-downs wrapping to next line.
245	
246        * khtml/css/html4.css:
247
2482002-11-26  David Hyatt  <hyatt@apple.com>
249
250	Smarter block inside inline handling.  Eliminate whitespace
251	that is in between blocks inside inilnes.
252	
253        * khtml/xml/dom_textimpl.cpp:
254        (TextImpl::attach):
255
2562002-11-26  David Hyatt  <hyatt@apple.com>
257
258	Don't let blocks inside inlines collapse with their surroundings
259	ever.
260	
261        * khtml/rendering/render_flow.cpp:
262        (RenderFlow::layoutBlockChildren):
263
2642002-11-26  David Hyatt  <hyatt@apple.com>
265
266	Fix a collapsing margin regression on aintitcool caused by
267	my support of blocks inside inlines.  A block could be wrapped
268	by an inline, e.g., <font><p>foo</p></font>, and in this case,
269	you do not apply the collapsing margin quirk.  The margin stays.
270	
271        * khtml/rendering/render_flow.cpp:
272        (RenderFlow::layoutBlockChildren):
273
2742002-11-26  David Hyatt  <hyatt@apple.com>
275
276	Fix the font family stuff to be refcounted, so copying
277	fonts stays cheap.  Re-enabling it.
278
279	Patch the render_arena code with some debugging info
280	to help detect when memory gets trashed.
281
282	Fix the background painting code to deal with negative
283	x and y bakcground positions.  Fixes the brain on
284	brainjar.com.
285	
286        * khtml/css/cssstyleselector.cpp:
287        * khtml/rendering/render_arena.cpp:
288        (RenderArena::free):
289        * khtml/rendering/render_box.cpp:
290        (RenderBox::paintBackground):
291        * kwq/KWQFont.h:
292        * kwq/KWQFont.mm:
293        (QFontFamily::QFontFamily):
294        (QFontFamily::operator=):
295
296=== Alexander-34 ===
297
2982002-11-26  David Hyatt  <hyatt@apple.com>
299
300	Backing out support for multiple font families for now.
301	The support is still there in QFont.  I've just stopped
302	the style selector from walking the entire value list (it
303	will only put the first family into the font).
304
305	The original change  caused a 5% perf regression.  
306	I'm going to see what kinds of tricks I can pull to get 
307	some of this back before re-enabling the feature.
308	
309        * khtml/css/cssstyleselector.cpp:
310
3112002-11-26  David Hyatt  <hyatt@apple.com>
312
313	Fix render object removal to remerge adjacent anonymous inline boxes
314	when an intervening block box gets removed.
315	
316        * khtml/rendering/render_flow.cpp:
317        (RenderFlow::removeChild):
318        * khtml/rendering/render_flow.h:
319
3202002-11-25  Richard Williamson   <rjw@apple.com>
321
322        Cleanup up leaking objects in page cache.
323        
324        * kwq/KWQKHTMLPart.mm:
325        (KWQKHTMLPart::openURLFromPageCache):
326        * kwq/WebCoreBridge.mm:
327        (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]):
328        (-[KWQPageState dealloc]):
329
3302002-11-25  Richard Williamson   <rjw@apple.com>
331
332        Added check for non-nil doc.
333        
334        * kwq/KWQKHTMLPart.mm:
335        (KWQKHTMLPart::setView):
336
3372002-11-25  David Hyatt  <hyatt@apple.com>
338
339	Fix for the DHTML on hrweb.  With these changes it works
340	except for some odd vertical spacing issues.
341	
342        * khtml/rendering/render_flow.cpp:
343        (RenderFlow::addChildToFlow):
344        (RenderFlow::makeChildrenNonInline):
345
3462002-11-25  Richard Williamson   <rjw@apple.com>
347
348        Tweaked some debugging info.
349        
350        * khtml/xml/dom_docimpl.cpp:
351        (DocumentImpl::~DocumentImpl):
352        (DocumentImpl::detach):
353
3542002-11-25  Chris Blumenberg  <cblu@apple.com>
355
356	Use ^= to refer to OBJECTs with TYPEs that start with "image/". This is better than hard-coding image mime types.
357
358        * khtml/css/html4.css:
359
3602002-11-25  Chris Blumenberg  <cblu@apple.com>
361
362	Fixed: 2987001 - spurious mime-type errors from <object> images
363
364	KHTML didn't seem to have any clean support for OBJECT tags that are images. Added support for that.
365
366        * khtml/css/html4.css: OBJECTs that are images should be rendered inline
367        * khtml/html/html_objectimpl.cpp:
368        (HTMLObjectElementImpl::attach): if the type is an image, create a render image
369        * khtml/rendering/render_image.cpp:
370        (RenderImage::updateFromElement): if the element is an object, use DATA for the URL
371        * kwq/KWQDOMNode.cpp:
372        (isImage): if it is an OBJECT element, check the type
373        * kwq/WebCoreBridge.mm:
374        (-[WebCoreBridge elementAtPoint:]): if the element is an object, use DATA for the URL
375
3762002-11-25  David Hyatt  <hyatt@apple.com>
377
378	Fix this even further.  JUst drop support for arbitrary
379	property lookup by name on the document.  Mac IE and
380	Gecko only do this for img and form, and this makes things
381	a lot faster.
382	
383        * khtml/ecma/kjs_html.cpp:
384        (KJS::HTMLDocument::hasProperty):
385        (KJS::HTMLDocument::tryGet):
386
3872002-11-25  David Hyatt  <hyatt@apple.com>
388
389	Rewrite the img/form document property lookup strategy.  This
390	should be faster and actually work (gasp!).  Fixes the dhtml
391	on hrweb to at least show up.
392	
393        * khtml/ecma/kjs_html.cpp:
394        (KJS::HTMLDocument::tryGet):
395        * khtml/html/html_miscimpl.cpp:
396        (HTMLCollectionImpl::nextItem):
397
3982002-11-25  David Hyatt  <hyatt@apple.com>
399
400	Add support to QFont for multiple families.  NOw all that's left
401	is getting the multiple families out of the font and down into
402	WebKit.
403	
404        * khtml/css/cssstyleselector.cpp:
405        * khtml/rendering/font.cpp:
406        (Font::update):
407        * khtml/rendering/font.h:
408        * khtml/xml/dom_docimpl.cpp:
409        (DocumentImpl::recalcStyle):
410        * kwq/KWQFont.h:
411        * kwq/KWQFont.mm:
412        (QFontFamily::QFontFamily):
413        (QFontFamily::operator=):
414        (QFontFamily::family):
415        (QFontFamily::setFamily):
416        (QFontFamily::operator==):
417        (QFont::QFont):
418        (QFont::family):
419        (QFont::setFamily):
420        (QFont::getNSFontWithFamily):
421
4222002-11-25  Richard Williamson   <rjw@apple.com>
423
424        Changes for back/forward.  Currently disabled.
425
426        * ForwardingHeaders/kjs/property_map.h: Added.
427        * khtml/ecma/kjs_window.cpp:
428        (Window::hasTimeouts):
429        (WindowQObject::hasTimeouts):
430        * khtml/ecma/kjs_window.h:
431        * khtml/khtmlpart_p.h:
432        * khtml/xml/dom_docimpl.cpp:
433        (DocumentImpl::DocumentImpl):
434        (DocumentImpl::detach):
435        (DocumentImpl::inPageCache):
436        (DocumentImpl::setInPageCache):
437        * khtml/xml/dom_docimpl.h:
438        * kwq/KWQKHTMLPart.h:
439        * kwq/KWQKHTMLPart.mm:
440        (KWQKHTMLPart::setView):
441        (KWQKHTMLPart::userAgent):
442        (KWQKHTMLPart::nextKeyViewForWidget):
443        (KWQKHTMLPart::canCachePage):
444        (KWQKHTMLPart::saveWindowProperties):
445        (KWQKHTMLPart::saveLocationProperties):
446        (KWQKHTMLPart::restoreWindowProperties):
447        (KWQKHTMLPart::restoreLocationProperties):
448        (KWQKHTMLPart::openURLFromPageCache):
449        * kwq/WebCoreBridge.h:
450        * kwq/WebCoreBridge.mm:
451        (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
452        (-[WebCoreBridge saveDocumentToPageCache]):
453        (-[WebCoreBridge canCachePage]):
454        (attributedString):
455        (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]):
456        (-[KWQPageState dealloc]):
457        (-[KWQPageState DOM::]):
458        (-[KWQPageState URL]):
459        (-[KWQPageState KJS::]):
460
4612002-11-25  David Hyatt  <hyatt@apple.com>
462
463	Fix for 3025963.  Ensure that KJS looks for the form on the
464	element itself when pushing it onto the scope chain, since
465	the <form> may not be an ancestor of the element.
466	
467        * khtml/ecma/kjs_html.cpp:
468        (getForm):
469        (KJS::HTMLElement::pushEventHandlerScope):
470        * khtml/html/html_elementimpl.h:
471
4722002-11-25  David Hyatt  <hyatt@apple.com>
473
474	Fix for 3020493, another fun little margin collapsing quirk
475	that I missed. (<td><div><p>).  The <div> has to pick up the quirk
476	from the <p> so that the margins of the <p> still get collapsed
477	away.
478	
479        * khtml/rendering/render_flow.cpp:
480        (RenderFlow::layoutBlockChildren):
481
4822002-11-25  David Hyatt  <hyatt@apple.com>
483
484	Don't add in the halfleading for align=texttop. That's incorrect.
485	
486        * khtml/rendering/render_object.cpp:
487        (RenderObject::getVerticalPosition):
488
4892002-11-24  Maciej Stachowiak  <mjs@apple.com>
490
491	Fixed support for onLoad handlers on images - this is in
492	APPLE_CHANGES because khtml used a different mechanism. Also
493	implemented onError on images. As a result:
494
495	- fixed 3084916 - blank page at aol
496	- fixed 3093162 - golfswitch doesn't work
497	
498        * khtml/html/html_imageimpl.cpp:
499        (HTMLImageElementImpl::parseAttribute): Remove "implement this"
500	comment from onError attribute.
501        * khtml/misc/loader.h:
502        * khtml/misc/loader.cpp:
503        (CachedImage::CachedImage): Initialize m_loading to true.
504	(CachedImage::ref): Send notifyFinished to the new client if the
505	image is not loading.
506        (CachedImage::data): If at eof, set m_loading to false and notify.
507        (CachedImage::error): Set m_loading to false and notify.
508	(CachedImage::checkNotify): New method to notify all clients of
509	changes.
510        * khtml/rendering/render_image.cpp:
511        (RenderImage::notifyFinished): Deliver the appropriate choice of
512	LOAD_EVENT or ERROR_EVENT.
513
5142002-11-24  David Hyatt  <hyatt@apple.com>
515
516	This landing adds support for blocks inside inlines.  It
517	gets rid of the old broken way KHTML used to handle this
518	and implements a brand new mechanism.
519
520	With this change, I have decreased the tag priority of <font>
521	and <a> to match other inlines (<i>, <span>, etc.), and I
522	now allow all the inlines to contain blocks for relaxed parsing.
523
524	Now if you open an <i> or a <b> and just leave it open across
525	blocks, this will work.
526
527	I also fixed a bad DHTML bug caused by the WebCoreBridge 
528	forceLayout method.  The basic pattern is that someone does
529	a tiny repaint of just a sliver of the window, then someone
530	schedules a layout (which means they want a full repaint), but
531	then drawRect comes along and calls forceLayout which unschedules
532	the layout, thus preventing the full repaint from occurring.
533
534	Any basic DHTML that used append/remove child was broken because
535	of this pattern.  For now I have just removed the unscheduleLayout
536	call at the end of forceLayout.
537	
538        * khtml/html/dtd.cpp:
539        (DOM::checkChild):
540        * khtml/html/htmlparser.cpp:
541        (KHTMLParser::popInlineBlocks):
542        * khtml/rendering/render_container.cpp:
543        (RenderContainer::removeChild):
544        (RenderContainer::removeLeftoverAnonymousBoxes):
545        * khtml/rendering/render_flow.cpp:
546        (RenderFlow::setStyle):
547        (RenderFlow::layoutBlockChildren):
548        (RenderFlow::continuationBefore):
549        (cloneInline):
550        (RenderFlow::splitInlines):
551        (RenderFlow::splitFlow):
552        (RenderFlow::addChildWithContinuation):
553        (RenderFlow::addChild):
554        (RenderFlow::addChildToFlow):
555        * khtml/rendering/render_flow.h:
556        * khtml/rendering/render_object.cpp:
557        (RenderObject::mouseInside):
558        * khtml/rendering/render_object.h:
559        * kwq/KWQKHTMLPart.mm:
560        (KWQKHTMLPart::forceLayout):
561        * kwq/WebCoreBridge.mm:
562        (-[WebCoreBridge copyRenderNode:copier:]):
563
5642002-11-24  Chris Blumenberg  <cblu@apple.com>
565
566	Added element keys for the image ALT and link TITLE attributes. This will eventually be used to fix other bugs. Also made WebKit and WebCore use the same element keys to simplify the conversion of the element dictionary.
567
568        * kwq/WebCoreBridge.h:
569        * kwq/WebCoreBridge.mm:
570        (-[WebCoreBridge elementAtPoint:]):
571
5722002-11-24  Darin Adler  <darin@apple.com>
573
574        * force-js-clean-timestamp: Touch for ScopeChain change.
575
5762002-11-24  Maciej Stachowiak  <mjs@apple.com>
577
578	- fixed 3067939 - no support for window.document.lastModified
579	
580        * kwq/WebCoreBridge.h:
581        * kwq/WebCoreBridge.mm:
582        (-[WebCoreBridge openURL:reload:headers:lastModified:]): Set
583	"modified" metadata based on passed in last mdified date.
584
5852002-11-24  Maciej Stachowiak  <mjs@apple.com>
586
587	- fixed 3081946 - bookmarklet reports the wrong "windowfull" size
588
589	This isn't really beta 1 material but the fix was so tirivial I
590	couldn't resist.
591	
592        * khtml/ecma/kjs_html.cpp:
593        (KJS::HTMLDocument::tryGet): Use contentWidth and contentHeight
594	for document.width and document.height instead of visibleWidth for
595	both.
596
5972002-11-22  Darin Adler  <darin@apple.com>
598
599        * khtml/ecma/kjs_window.cpp: Remove _COLLECTOR hack.
600
601        * kwq/WebCoreJavaScript.h:
602        * kwq/WebCoreJavaScript.mm:
603        (+[WebCoreJavaScript rootObjectClasses]):
604	Update for name change -- root object classes, not all live object classes.
605
606        * force-js-clean-timestamp: Make sure we don't have more build problems.
607
6082002-11-22  David Hyatt  <hyatt@apple.com>
609
610	Fix for 3107658, text doubling problem caused by layers being
611	constructed for <td>s.  Just disallow positioning of <td>.
612	
613        * khtml/rendering/render_box.cpp:
614        (RenderBox::setStyle):
615        * khtml/rendering/render_flow.cpp:
616        (RenderFlow::setStyle):
617
6182002-11-22  David Hyatt  <hyatt@apple.com>
619
620	Oops. I meant to do that for <input type=button> and not
621	<button>.  Just do it for <select>s for now.
622	
623        * khtml/rendering/render_box.cpp:
624        (RenderBox::calcReplacedWidth):
625
6262002-11-22  David Hyatt  <hyatt@apple.com>
627
628	Make <select>s and <button>s ignore a CSS-specified width if that
629	width is smaller than their intrinsic width.
630
631	Fixes the <select> at the top of livepage.apple.com.
632	
633        * khtml/rendering/render_box.cpp:
634        (RenderBox::calcReplacedWidth):
635
6362002-11-22  Darin Adler  <darin@apple.com>
637
638	- started checking in all our generated source files for the benefit of B&I
639
640        * .cvsignore:
641        * WebCore-combined.exp: Added.
642        * khtml/css/.cvsignore:
643        * khtml/css/cssproperties.c: Added.
644        * khtml/css/cssproperties.h: Added.
645        * khtml/css/cssvalues.c: Added.
646        * khtml/css/cssvalues.h: Added.
647        * khtml/ecma/.cvsignore:
648        * khtml/ecma/kjs_css.lut.h: Added.
649        * khtml/ecma/kjs_dom.lut.h: Added.
650        * khtml/ecma/kjs_events.lut.h: Added.
651        * khtml/ecma/kjs_html.lut.h: Added.
652        * khtml/ecma/kjs_navigator.lut.h: Added.
653        * khtml/ecma/kjs_range.lut.h: Added.
654        * khtml/ecma/kjs_traversal.lut.h: Added.
655        * khtml/ecma/kjs_views.lut.h: Added.
656        * khtml/ecma/kjs_window.lut.h: Added.
657        * khtml/html/.cvsignore:
658        * khtml/html/kentities.c: Added.
659        * khtml/misc/.cvsignore:
660        * khtml/misc/htmlattrs.c: Added.
661        * khtml/misc/htmlattrs.h: Added.
662        * khtml/misc/htmltags.c: Added.
663        * khtml/misc/htmltags.h: Added.
664        * kwq/.cvsignore:
665        * kwq/KWQCharsetData.c: Added.
666
6672002-11-22  David Hyatt  <hyatt@apple.com>
668
669	Fix for the table/form regressions.  Also landing beginnings
670	of the block/inline work.
671	
672        * khtml/html/html_tableimpl.cpp:
673        (HTMLTableSectionElementImpl::addChild):
674        * khtml/html/html_tableimpl.h:
675        * khtml/rendering/render_flow.cpp:
676        (RenderFlow::RenderFlow):
677        * khtml/rendering/render_flow.h:
678
6792002-11-22  Darin Adler  <darin@apple.com>
680
681        * khtml/ecma/kjs_dom.cpp: (DOMNode::pushEventHandlerScope): Change to push handlers
682	on an existing scope chain rather than returning one. Name change too.
683        * khtml/ecma/kjs_dom.h: More of the same.
684        * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::pushEventHandlerScope): And here.
685        * khtml/ecma/kjs_html.h: And here.
686
687        * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Use the pushEventHandlerScope
688	function, and also don't worry about optimizing the "no change" case, because that already
689	works pretty efficiently.
690
6912002-11-22  David Hyatt  <hyatt@apple.com>
692
693	Fix for the weather.com, slate and espn malformations that
694	could occur.  Also reverting an earlier change for handling
695	font tags like other inlines.  Both FONT and A need to be
696	given special treatment until I can implement a strategy that
697	will allow them to be handled just like the other inlines.
698	
699        * khtml/html/dtd.cpp:
700        (DOM::checkChild):
701        * khtml/html/html_elementimpl.cpp:
702        (HTMLElementImpl::isInline):
703        * khtml/html/html_elementimpl.h:
704        * khtml/xml/dom_nodeimpl.h:
705
7062002-11-21  Darin Adler  <darin@apple.com>
707
708        * khtml/ecma/kjs_dom.cpp: (DOMNode::eventHandlerScope): List -> ScopeChain.
709        * khtml/ecma/kjs_dom.h: List -> ScopeChain.
710        * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): List -> ScopeChain.
711        * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::eventHandlerScope): List -> ScopeChain.
712        * khtml/ecma/kjs_html.h: List -> ScopeChain.
713
714        * force-js-clean-timestamp: Not sure this is required, but better safe than sorry.
715
7162002-11-21  Maciej Stachowiak  <mjs@apple.com>
717
718        * force-js-clean-timestamp: Touch so other people's builds work.
719
7202002-11-21  David Hyatt  <hyatt@apple.com>
721
722	Nested <a>s are never allowed.  Make sure to always pop the
723	<a> blocks.
724	
725        * khtml/html/htmlparser.cpp:
726        (KHTMLParser::getElement):
727
7282002-11-21  David Hyatt  <hyatt@apple.com>
729
730	Stop table cells from repainting the whole table when they
731	get a repaint.  Gives another big boost to link rollover
732	performance when links' containing blocks are table cells.
733	
734        * khtml/rendering/render_table.cpp:
735        (RenderTableCell::repaint):
736
7372002-11-21  David Hyatt  <hyatt@apple.com>
738
739	Fix <font> so that behaves just like <i>, <b>, etc. Stop
740	the (incorrect) allowance of blocks inside <font> tags.
741	This fixes the mispositioning on avoyagetoarcturus.blogspot.com
742	and fixes the vertical gaps on www.ve3d.com.
743	
744        * khtml/html/dtd.cpp:
745        (DOM::checkChild):
746
7472002-11-21  Maciej Stachowiak  <mjs@apple.com>
748
749        * Makefile.am: Pass symroots for this tree to pbxbuild.
750
7512002-11-21  David Hyatt  <hyatt@apple.com>
752
753	Fixed for tables.  Make the percentage height calculation
754	more robust.  Also add a hack for replaced elements to
755	subtract out their margins when computing percentage widths.
756	This keeps them from spilling out of table cells.
757	
758        * khtml/rendering/render_box.cpp:
759        (RenderBox::calcReplacedWidth):
760        (RenderBox::calcReplacedHeight):
761        * khtml/rendering/render_table.cpp:
762        (RenderTable::layoutRows):
763        * khtml/xml/dom_nodeimpl.h:
764
765=== Alexander-33 ===
766
7672002-11-21  Richard Williamson   <rjw@apple.com>
768
769        Fixed from SK's copy/paste whitespace issue.
770        This fixes 3076236 and a regression due to additional whitespace
771        in the DOM.
772        
773        * kwq/WebCoreBridge.mm:
774        (attributedString):
775
7762002-11-21  David Hyatt  <hyatt@apple.com>
777
778	Fix mac.com regression (and weather.com regression).
779	
780        * khtml/rendering/bidi.cpp:
781        (RenderFlow::findNextLineBreak):
782
7832002-11-21  Richard Williamson   <rjw@apple.com>
784
785        Fixed performance regression!  Argh.
786        
787        * khtml/rendering/font.cpp:
788        (Font::width):
789
7902002-11-21  Darin Adler  <darin@apple.com>
791
792        * force-js-clean-timestamp: Trigger a rebuild because of the
793	size change in ValueImp.
794
7952002-11-21  Darin Adler  <darin@apple.com>
796
797	- fixed 3107286 -- REGRESSION: unrepro assertion failure in KWQKHTMLPart.mm keyEvent
798
799        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent):
800	Handle case of nil document as well as case of nil focus node.
801
802        * kwq/WebCoreBridge.mm: Tweak whitespace.
803
8042002-11-20  Darin Adler  <darin@apple.com>
805
806	- fixed 3107383 -- clicking link on cnet.com leads to assertion failure
807
808	When we removed a frame, we were leaving behind an empty WebView. Yuck.
809
810        * kwq/KWQScrollView.mm:
811        (QScrollView::addChild): Use the new getOuterView.
812        (QScrollView::removeChild): Ditto. This was the bug fix.
813        * kwq/KWQWidget.h: Add getOuterView.
814        * kwq/KWQWidget.mm:
815        (QWidget::frameGeometry): Use the new getOuterView.
816        (QWidget::setFrameGeometry): Ditto.
817        (QWidget::getOuterView): Added. Does the WebCoreFrameView magic to find
818	the WebView instead of the WebHTMLView. Yuck.
819        (QWidget::paint): Use the new getOuterView.
820
8212002-11-20  Darin Adler  <darin@apple.com>
822
823        * force-js-clean-timestamp: Again.
824
8252002-11-20  David Hyatt  <hyatt@apple.com>
826
827	Fix the mac.com line-breaking bug.  This was not a regression
828	but was present in Konq.
829	
830        * khtml/rendering/bidi.cpp:
831        (RenderFlow::findNextLineBreak):
832
8332002-11-20  Maciej Stachowiak  <mjs@apple.com>
834
835        * force-js-clean-timestamp: Work around PB lameness yet again.
836
8372002-11-19  Darin Adler  <darin@apple.com>
838
839        * force-js-clean-timestamp: Make other people's builds work.
840
8412002-11-19  David Hyatt  <hyatt@apple.com>
842
843	I screwed up the line breaking for inline replaced elements.
844	
845        * khtml/rendering/render_flow.cpp:
846        (RenderFlow::calcInlineMinMaxWidth):
847
8482002-11-19  Darin Adler  <darin@apple.com>
849
850	- another atomic identifier scrub pass; make the conversion to Identifier explicit
851
852        * khtml/ecma/kjs_html.cpp:
853        (KJS::HTMLCollection::tryCall): Add explicit Identifier() conversion.
854        (KJS::HTMLCollectionProtoFunc::tryCall): Ditto.
855        * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): And again.
856
8572002-11-19  David Hyatt  <hyatt@apple.com>
858
859	Fix for 3049663.  Table cells don't grow to accommodate block
860	overflow.
861	
862        * khtml/rendering/bidi.cpp:
863        (RenderFlow::layoutInlineChildren):
864        * khtml/rendering/render_flow.cpp:
865        (RenderFlow::RenderFlow):
866        (RenderFlow::layout):
867        (RenderFlow::layoutBlockChildren):
868        * khtml/rendering/render_flow.h:
869        * khtml/rendering/render_object.h:
870
8712002-11-19  Darin Adler  <darin@apple.com>
872
873	- next step towards atomic identifiers; Identifier is no longer derived from UString
874
875        * khtml/ecma/kjs_binding.cpp:
876        (Identifier::string): Added.
877        (Identifier::qstring): Added.
878
879        * khtml/ecma/kjs_binding.h:
880        * khtml/ecma/kjs_css.cpp:
881        (jsNameToProp):
882        (DOMCSSStyleDeclaration::tryPut):
883        (DOMStyleSheet::tryPut):
884        (DOMStyleSheetList::tryGet):
885        (DOMMediaList::tryGet):
886        (DOMCSSRuleList::tryGet):
887        (DOMCSSValueList::tryGet):
888        * khtml/ecma/kjs_dom.cpp:
889        (DOMNodeList::hasProperty):
890        (DOMNodeList::tryGet):
891        (DOMNodeListFunc::DOMNodeListFunc):
892        (DOMElement::tryGet):
893        (DOMNamedNodeMap::hasProperty):
894        (DOMNamedNodeMap::tryGet):
895        (DOMNamedNodesCollection::tryGet):
896        * khtml/ecma/kjs_html.cpp:
897        (KJS::HTMLDocument::tryGet):
898        (HTMLElementFunction::HTMLElementFunction):
899        (KJS::HTMLElement::putValue):
900        (KJS::HTMLCollection::hasProperty):
901        (KJS::HTMLCollection::tryGet):
902        (KJS::HTMLSelectCollection::tryPut):
903        (OptionConstructorImp::OptionConstructorImp):
904        * khtml/ecma/kjs_navigator.cpp:
905        (Plugins::get):
906        (MimeTypes::get):
907        (Plugin::get):
908        * khtml/ecma/kjs_window.cpp:
909        (WindowFunc::tryCall):
910        (FrameArray::get):
911	Use lengthPropertyName instead of "length" for better speed.
912
9132002-11-19  David Hyatt  <hyatt@apple.com>
914
915	Fix backgrounds not painting in deployment builds.
916        * khtml/rendering/render_box.cpp:
917        (RenderBox::paintBackground):
918
9192002-11-19  Darin Adler  <darin@apple.com>
920
921	- a first step towards atomic identifiers in JavaScript
922
923	Most places that work with identifiers now use Identifier
924	instead of UString.
925
926        * khtml/ecma/kjs_binding.cpp:
927        * khtml/ecma/kjs_binding.h:
928        * khtml/ecma/kjs_css.cpp:
929        * khtml/ecma/kjs_css.h:
930        * khtml/ecma/kjs_dom.cpp:
931        * khtml/ecma/kjs_dom.h:
932        * khtml/ecma/kjs_events.cpp:
933        * khtml/ecma/kjs_events.h:
934        * khtml/ecma/kjs_html.cpp:
935        * khtml/ecma/kjs_html.h:
936        * khtml/ecma/kjs_navigator.cpp:
937        * khtml/ecma/kjs_navigator.h:
938        * khtml/ecma/kjs_range.cpp:
939        * khtml/ecma/kjs_range.h:
940        * khtml/ecma/kjs_traversal.cpp:
941        * khtml/ecma/kjs_traversal.h:
942        * khtml/ecma/kjs_views.cpp:
943        * khtml/ecma/kjs_views.h:
944        * khtml/ecma/kjs_window.cpp:
945        * khtml/ecma/kjs_window.h:
946
9472002-11-18  Darin Adler  <darin@apple.com>
948
949        * force-js-clean-timestamp: Another Object change.
950
9512002-11-18  David Hyatt  <hyatt@apple.com>
952
953	Implement phased painting to correct the paint order of blocks,
954	floats, and inlines.
955	
956        * khtml/rendering/render_body.cpp:
957        (RenderBody::paintBoxDecorations):
958        * khtml/rendering/render_body.h:
959        * khtml/rendering/render_box.cpp:
960        (RenderBox::paint):
961        (RenderBox::paintBoxDecorations):
962        (RenderBox::paintBackground):
963        * khtml/rendering/render_box.h:
964        * khtml/rendering/render_br.h:
965        * khtml/rendering/render_flow.cpp:
966        (RenderFlow::paint):
967        (RenderFlow::paintObject):
968        (RenderFlow::paintFloats):
969        (RenderFlow::addChild):
970        * khtml/rendering/render_flow.h:
971        * khtml/rendering/render_html.cpp:
972        (RenderHtml::setStyle):
973        (RenderHtml::paint):
974        (RenderHtml::paintBoxDecorations):
975        * khtml/rendering/render_html.h:
976        * khtml/rendering/render_image.cpp:
977        (RenderImage::setStyle):
978        (RenderImage::paintObject):
979        * khtml/rendering/render_image.h:
980        * khtml/rendering/render_layer.cpp:
981        (RenderLayer::paint):
982        (RenderLayer::nodeAtPoint):
983        * khtml/rendering/render_list.cpp:
984        (RenderListItem::paint):
985        (RenderListItem::paintObject):
986        (RenderListMarker::paint):
987        (RenderListMarker::paintObject):
988        * khtml/rendering/render_list.h:
989        * khtml/rendering/render_object.cpp:
990        (RenderObject::RenderObject):
991        (RenderObject::paintBorder):
992        (RenderObject::paintOutline):
993        (RenderObject::paint):
994        (RenderObject::dump):
995        (RenderObject::setStyle):
996        * khtml/rendering/render_object.h:
997        * khtml/rendering/render_replaced.cpp:
998        (RenderReplaced::paint):
999        (RenderWidget::setStyle):
1000        (RenderWidget::paintObject):
1001        * khtml/rendering/render_replaced.h:
1002        * khtml/rendering/render_root.cpp:
1003        (RenderRoot::paint):
1004        (RenderRoot::paintObject):
1005        * khtml/rendering/render_root.h:
1006        * khtml/rendering/render_table.cpp:
1007        (RenderTable::paint):
1008        (RenderTableCell::RenderTableCell):
1009        (RenderTableCell::setStyle):
1010        (RenderTableCell::paint):
1011        (RenderTableCell::paintBoxDecorations):
1012        * khtml/rendering/render_table.h:
1013        * khtml/rendering/render_text.cpp:
1014        (TextSlave::paintSelection):
1015        (TextSlave::paintDecoration):
1016        (TextSlave::paintBoxDecorations):
1017        (RenderText::paintObject):
1018        (RenderText::paint):
1019        (RenderText::paintTextOutline):
1020        * khtml/rendering/render_text.h:
1021
10222002-11-18  Darin Adler  <darin@apple.com>
1023
1024        * force-js-clean-timestamp: I changed the size of ObjectImp.
1025
10262002-11-18  David Hyatt  <hyatt@apple.com>
1027
1028	Fix crazyapplerumors.com.  I had the logic backwards. CSS
1029	padding beats cellpadding.
1030	
1031        * khtml/rendering/render_table.cpp:
1032        (RenderTableCell::paddingTop):
1033        (RenderTableCell::paddingBottom):
1034        (RenderTableCell::paddingLeft):
1035        (RenderTableCell::paddingRight):
1036
10372002-11-18  David Hyatt  <hyatt@apple.com>
1038
1039	Fix crash on espn.com.
1040	
1041        * khtml/rendering/render_object.cpp:
1042        (RenderObject::setLayouted):
1043
10442002-11-18  David Hyatt  <hyatt@apple.com>
1045
1046	Fix my <konqblock> regression on ign.com.
1047	
1048        * khtml/html/htmlparser.cpp:
1049        (KHTMLParser::insertNode):
1050
10512002-11-18  Maciej Stachowiak  <mjs@apple.com>
1052
1053        * force-js-clean-timestamp: Rebuild for JSC changes.
1054
10552002-11-18  Darin Adler  <darin@apple.com>
1056
1057        * force-js-clean-timestamp: Touch files to make the build work.
1058
10592002-11-18  Richard Williamson   <rjw@apple.com>
1060
1061        Fixed 3103004.  REGRESSION: word-spacing/letter-spacing applied when they shouldn't be
1062        This was actually NOT a regression.  khtml wasn't recognizing the 'normal' value for the
1063        word and letter spacing properties.  So it incorrectly substituted a -1 spacing.
1064
1065        * khtml/css/cssstyleselector.cpp:
1066
10672002-11-18  David Hyatt  <hyatt@apple.com>
1068
1069	Fix render_body's repaint method.
1070	
1071        * khtml/rendering/render_body.cpp:
1072        (RenderBody::repaint):
1073        * khtml/rendering/render_body.h:
1074
10752002-11-18  Maciej Stachowiak  <mjs@apple.com>
1076
1077	- fixed 3103711 - Alexander does not complete JavaScript iBench
1078	
1079        * khtml/ecma/kjs_html.cpp:
1080        (KJS::HTMLDocument::putValue): Resolve URL for location property
1081	relative to the base URL of the frame where the JavaScript is
1082	executing, not the target frame.
1083
10842002-11-18  David Hyatt  <hyatt@apple.com>
1085
1086	Yay! Found the main cause of :hover feedback being so
1087	slow on links.  The diff function for styles was
1088	considering a color change as a containing block layout
1089	instead of just a repaint.  With this fix, we will no
1090	longer lay out when you hover over a link whose color
1091	is different (remember that laying out causes the whole
1092	page to repaint).
1093
1094	There's still some work to do to optimize this further,
1095	since we do repaint the containing block still, but this
1096	should be good enough for beta.
1097	
1098        * khtml/rendering/render_style.cpp:
1099        (RenderStyle::diff):
1100
11012002-11-17  David Hyatt  <hyatt@apple.com>
1102
1103	Don't use the immediate painting code for now.  Revert
1104	to non-immediate code.  Using the non-immediate path I
1105	have managed to fix all the regressions except for 
1106	mrskin losing updates in its marquee (this works only with
1107	immediate painting) and the general scrollbar regression 
1108	(which I just don't understand).
1109	
1110        * khtml/html/html_documentimpl.cpp:
1111        (HTMLDocumentImpl::close):
1112        * khtml/rendering/render_object.cpp:
1113        (RenderObject::setLayouted):
1114        * khtml/rendering/render_root.cpp:
1115        (RenderRoot::repaintRectangle):
1116        (RenderRoot::repaint):
1117
11182002-11-17  David Hyatt  <hyatt@apple.com>
1119
1120	More refinements to immediate painting code.  Still doesn't
1121	fix the scrollbar problem though. :(
1122	
1123        * khtml/html/html_documentimpl.cpp:
1124        (HTMLDocumentImpl::close):
1125        * khtml/khtmlview.cpp:
1126        (KHTMLView::init):
1127        (KHTMLView::timerEvent):
1128
11292002-11-17  David Hyatt  <hyatt@apple.com>
1130
1131	Make immediate repainting of the root element more robust.
1132	
1133        * khtml/html/html_documentimpl.cpp:
1134        (HTMLDocumentImpl::close):
1135        * khtml/khtmlview.cpp:
1136        (KHTMLView::unscheduleRepaint):
1137        * khtml/khtmlview.h:
1138        * khtml/rendering/render_root.cpp:
1139        (RenderRoot::repaint):
1140
11412002-11-17  Darin Adler  <darin@apple.com>
1142
1143	- moved all NSURL and CFURL use out of WebCore
1144
1145        * kwq/KWQKURL.h: Remove getNSURL() and getNSURLFromString().
1146        * kwq/KWQKURL.mm: Ditto.
1147
1148        * kwq/KWQKCookieJar.mm:
1149        (KWQKCookieJar::cookie): Pass an NSString instead of an NSURL.
1150        (KWQKCookieJar::setCookie): Ditto.
1151        * kwq/KWQKHTMLPart.mm:
1152        (KWQKHTMLPart::openURL): Ditto.
1153        (KWQKHTMLPart::openURLRequest): Ditto.
1154        (KWQKHTMLPart::submitForm): Ditto.
1155        (KWQKHTMLPart::urlSelected): Ditto.
1156        (KWQKHTMLPart::createPart): Ditto.
1157        (KWQKHTMLPart::redirectionTimerStartedOrStopped): Ditto.
1158        (KWQKHTMLPart::userAgent): Ditto.
1159        (KWQKHTMLPart::requestedURLString): Receive an NSString instead of an NSURL.
1160        * kwq/KWQKHTMLPartBrowserExtension.mm:
1161        (KHTMLPartBrowserExtension::createNewWindow): Pass an NSString instead of an NSURL.
1162        (KHTMLPartBrowserExtension::setIconURL): Ditto.
1163        (KHTMLPartBrowserExtension::setTypedIconURL): Ditto.
1164        * kwq/KWQKJavaAppletWidget.h: Remove use of NSURL, just use QString instead.
1165        * kwq/KWQKJavaAppletWidget.mm:
1166        (KJavaAppletWidget::KJavaAppletWidget): No need to set the QString to nil.
1167        (KJavaAppletWidget::~KJavaAppletWidget): No need to release the QString.
1168        (KJavaAppletWidget::showApplet): Pass an NSString instead of an NSURL.
1169        * kwq/KWQLoader.mm:
1170        (KWQServeRequest): Pass an NSString instead of an NSURL.
1171        (KWQCheckCacheObjectStatus): Ditto.
1172        * kwq/WebCoreBridge.h: Change all methods to use NSString instead of NSURL.
1173        * kwq/WebCoreBridge.mm:
1174        (-[WebCoreBridge openURL:reload:headers:]): Receive an NSString instead of an NSURL.
1175        (-[WebCoreBridge completeURLForDOMString:]): Return an NSString instead of an NSURL.
1176        (-[WebCoreBridge elementAtPoint:]): WebCoreElementLinkURL and WebCoreElementImageURL
1177	are now strings.
1178        (-[WebCoreBridge URL]): Return an NSString instead of an NSURL.
1179        * kwq/WebCoreCookieAdapter.h: Change all methods to use NSString instead of NSURL.
1180        * kwq/WebCoreCookieAdapter.m:
1181        (-[WebCoreCookieAdapter cookiesForURL:]): Ditto.
1182        (-[WebCoreCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
1183
1184        * khtml/rendering/render_applet.cpp: (RenderApplet::processArguments):
1185	Tweaked this file a tiny bit, mainly because header dependencies weren't working
1186	and we need this file to be recompiled due to inline function changes.
1187
11882002-11-17  David Hyatt  <hyatt@apple.com>
1189
1190	Add support for specifying whether repaint should be immediate or
1191	not.  Default to async for now to maintain current behavior.
1192
1193	For clipped object repainting (e.g., livepage.apple.com and mrskin)
1194	switch to immediate repainting, since this makes the marquees
1195	faster, stops dropping updates, and keeps the hover effects and
1196	painting on the rest of the page fast (since the marquee rect doesn't
1197	get unioned with links or images that you roll over).
1198	
1199        * khtml/rendering/render_box.cpp:
1200        (RenderBox::repaint):
1201        (RenderBox::repaintRectangle):
1202        * khtml/rendering/render_box.h:
1203        * khtml/rendering/render_html.cpp:
1204        (RenderHtml::repaint):
1205        * khtml/rendering/render_html.h:
1206        * khtml/rendering/render_object.cpp:
1207        (RenderObject::setLayouted):
1208        (RenderObject::repaintRectangle):
1209        * khtml/rendering/render_object.h:
1210        * khtml/rendering/render_root.cpp:
1211        (RenderRoot::repaintRectangle):
1212        (RenderRoot::repaint):
1213        * khtml/rendering/render_root.h:
1214        * khtml/rendering/render_table.cpp:
1215        (RenderTableRow::repaint):
1216        (RenderTableCell::repaintRectangle):
1217        (RenderTableCell::repaint):
1218        * khtml/rendering/render_table.h:
1219        * khtml/rendering/render_text.cpp:
1220        (RenderText::repaint):
1221        * khtml/rendering/render_text.h:
1222
12232002-11-17  Maciej Stachowiak  <mjs@apple.com>
1224
1225	- fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
1226	
1227        * khtml/html/html_formimpl.cpp:
1228        (HTMLGenericFormElementImpl::defaultEventHandler):
1229        * kwq/KWQEvent.h:
1230        * kwq/KWQEvent.mm:
1231        (QKeyEvent::QKeyEvent): Implemented.
1232        (QKeyEvent::key): Likewise.
1233        (QKeyEvent::state): Likewise.
1234        (QKeyEvent::accept): Likewise.
1235        (QKeyEvent::ignore): Likewise.
1236        (QKeyEvent::isAutoRepeat): Likewise.
1237        (QKeyEvent::text): Likewise.
1238        (QKeyEvent::ascii): Likewise.
1239        (QKeyEvent::count): Likewise.
1240        (QKeyEvent::isAccepted): Likewise.
1241        * kwq/KWQKHTMLPart.h:
1242        * kwq/KWQKHTMLPart.mm:
1243        (KWQKHTMLPart::keyEvent): Translate the event to a QEvent and send
1244	it through the DOM event mechanism.
1245        * kwq/WebCoreBridge.h:
1246        * kwq/WebCoreBridge.mm:
1247        (-[WebCoreBridge interceptKeyEvent:toView:]): Pass event to the
1248	KWQ part.
1249	* kwq/WebCoreBridgePrivate.h: Added.
1250        * WebCore.pbproj/project.pbxproj: Added new file.
1251
12522002-11-17  David Hyatt  <hyatt@apple.com>
1253
1254	Don't discard linefeeds after elements with no close tag
1255	(e.g., <img> or <input>).
1256	
1257        * khtml/html/htmltokenizer.cpp:
1258        (HTMLTokenizer::parseTag):
1259
12602002-11-17  David Hyatt  <hyatt@apple.com>
1261
1262	Fix for slashdot table mispositioning in the upper right.
1263	Now that we fixed <td> to set to -konq-center when align="center"
1264	is specified, the style rules are no longer necessary in
1265	html4.css (and are in fact harmful).
1266	
1267        * khtml/css/html4.css:
1268
12692002-11-17  David Hyatt  <hyatt@apple.com>
1270
1271	Fix for 3038168.  Duh.  Remember to be case-insensitive when
1272	checking the type of the <style> attribute.
1273	
1274        * khtml/html/html_headimpl.cpp:
1275        (HTMLStyleElementImpl::parseAttribute):
1276
12772002-11-17  David Hyatt  <hyatt@apple.com>
1278
1279	This is a fix for bug 3058470.  The bug was that replaced elements
1280	were computing their min and max widths wrong.  Specifically they
1281	were not adding in borders and padding!  This means that any image
1282	with a border around it would potentially break to another line
1283	too early.
1284
1285	Once I fixed this for replaced elements I then went in and
1286	fixed form controls.  I added two APPLE_CHANGES features for
1287	our form controls.  First I overrode the border/padding functions
1288	to always return 0 for all form controls, since no Aqua control
1289	honors border/padding (nor should it).  This fixes the menulist
1290	at the top of wired.com.
1291
1292	Second I made sure that certain controls will ignore CSS-specified
1293	heights and always use their intrinsic heights.  These include
1294	<select size=1> (combobox), single line text fields, and buttons.
1295	I allow listboxes and textareas to honor height.
1296	
1297        * khtml/rendering/render_box.cpp:
1298        (RenderBox::contentWidth):
1299        (RenderBox::contentHeight):
1300        (RenderBox::calcWidth):
1301        (RenderBox::calcHeight):
1302        * khtml/rendering/render_form.h:
1303        * khtml/rendering/render_image.h:
1304        * khtml/rendering/render_object.h:
1305        * khtml/rendering/render_replaced.cpp:
1306        (RenderReplaced::calcMinMaxWidth):
1307
13082002-11-16  David Hyatt  <hyatt@apple.com>
1309
1310	Fix for 3078240, <pre> should not establish its own text-align,
1311	but should instead inherit from its parent.
1312	
1313        * khtml/css/html4.css:
1314
13152002-11-16  David Hyatt  <hyatt@apple.com>
1316
1317	Rewrite the calculation of min and max width for <pre>s.  This
1318	is the second stage of the whitespace rewrite (third stage
1319	will be to stop morphing newlines).
1320
1321	This should fix a bunch of bugs, e.g., especially if you ever
1322	did the following: 
1323	<td><pre><span>foo</span>
1324	   more text after the newline</pre></td>
1325
1326	The new code now properly handles building up the correct min/max
1327	width for the <pre>.
1328
1329	If anyone recalls seeing any bugs like this, let me know and
1330	I can close them.
1331	
1332        * khtml/rendering/render_flow.cpp:
1333        (RenderFlow::calcInlineMinMaxWidth):
1334        * khtml/rendering/render_text.cpp:
1335        (RenderText::trimmedMinMaxWidth):
1336        (RenderText::calcMinMaxWidth):
1337
13382002-11-16  David Hyatt  <hyatt@apple.com>
1339
1340	Fix more edge cases with whitespace handling that caused some
1341	lines to be too long (and unselectable).
1342	
1343        * khtml/rendering/bidi.cpp:
1344        (appendRunsForObject):
1345
13462002-11-16  David Hyatt  <hyatt@apple.com>
1347
1348	Make <caption> error-handling more robust.
1349
1350	Specifically, handle <tr> and <td> misplaced inside
1351	<caption>s and still make them be part of the table.
1352	
1353        * khtml/html/htmlparser.cpp:
1354        (KHTMLParser::insertNode):
1355
13562002-11-16  David Hyatt  <hyatt@apple.com>
1357
1358	Implement the collapsing top margin quirk for <body> (the same
1359	quirk used for table cells) and make sure it works even when the
1360	<body> has margins of its own.
1361
1362	Fixes www.eflightpacks.com (the top frame was shoved down because
1363	the <p> margin didn't collapse away).
1364	
1365        * khtml/rendering/render_flow.cpp:
1366        (RenderFlow::layoutBlockChildren):
1367
13682002-11-16  David Hyatt  <hyatt@apple.com>
1369
1370	Sigh. Amazingly enough, all other browsers seem to treat
1371	stray </p>s as <p></p> (Mac IE treats it as <br>, but
1372	I'm going with the WinIE/Gecko behavior of <p></p>).
1373
1374	This fixes bug 3063699.
1375	
1376        * khtml/html/htmlparser.cpp:
1377        (KHTMLParser::processCloseTag):
1378        (KHTMLParser::popBlock):
1379
13802002-11-15  David Hyatt  <hyatt@apple.com>
1381
1382	Fix for livepage.apple.com slowness.  Ensure that 
1383	clipped regions only paint their own rectangles
1384	when they or any children inside of them need to
1385	be reflowed.
1386
1387	This fix is intended as an interim band-aid for a much
1388	larger problem (that all of layout doesn't just auto-invalidate
1389	the regions it needs to, and that DHTML doesn't have
1390	specialized behavior to avoid async repainting or even
1391	relayout when only a repaint is required).
1392	
1393        * khtml/khtmlview.cpp:
1394        (KHTMLView::timerEvent):
1395        * khtml/rendering/render_container.cpp:
1396        (RenderContainer::removeChildNode):
1397        (RenderContainer::appendChildNode):
1398        (RenderContainer::insertChildNode):
1399        (RenderContainer::layout):
1400        * khtml/rendering/render_object.cpp:
1401        (RenderObject::setLayouted):
1402        (RenderObject::scheduleRelayout):
1403        * khtml/rendering/render_root.cpp:
1404        (RenderRoot::repaintRectangle):
1405
14062002-11-15  David Hyatt  <hyatt@apple.com>
1407
1408	Fix the problem where the last lines of paragrpahs were getting
1409	justified incorrectly.
1410	
1411        * khtml/rendering/bidi.cpp:
1412        (RenderFlow::findNextLineBreak):
1413
14142002-11-15  David Hyatt  <hyatt@apple.com>
1415
1416	Fix bustage with <nobr> tags.  Inline nowrap elements were
1417	breaking on images when they shouldn't have.
1418	
1419        * khtml/rendering/render_flow.cpp:
1420        (RenderFlow::calcInlineMinMaxWidth):
1421
14222002-11-15  Ken Kocienda  <kocienda@apple.com>
1423
1424	Fix for this bug:
1425
1426	Radar 3102708 (REGRESSION: assertion failure backing up to page)
1427
1428	KWQCheckCacheObjectStatus did not create an NSURL in a way that 
1429	dealt with the fact that we handle non-NSURL-compliant URL strings.
1430	I have fixed it so it does, and in the process, factored out
1431	the code to do it into a new KURL static function (KURL::getNSURLFromString).
1432
1433        * kwq/KWQKURL.h:
1434        * kwq/KWQKURL.mm:
1435        (KURL::getNSURL): Now calls through to KURL::getNSURLFromString
1436        (KURL::encode_string)
1437        (KURL::getNSURLFromString): New function to handle NSURL creation
1438        * kwq/KWQLoader.mm:
1439        (KWQCheckCacheObjectStatus)
1440
14412002-11-15  David Hyatt  <hyatt@apple.com>
1442
1443	Fix asserts in tables.
1444	
1445        * khtml/rendering/render_table.cpp:
1446        (RenderTableRow::layout):
1447
14482002-11-15  David Hyatt  <hyatt@apple.com>
1449
1450	Fix for whitespace regressions that caused text overlapping
1451	and text spilling.
1452	
1453        * khtml/rendering/bidi.cpp:
1454        (appendRunsForObject):
1455
14562002-11-15  David Hyatt  <hyatt@apple.com>
1457
1458	Fix newlines getting stripped out of textareas by not making
1459	rendertext objects for children of textareas.
1460	
1461        * khtml/rendering/render_form.h:
1462        * khtml/rendering/render_object.h:
1463        * khtml/xml/dom_textimpl.cpp:
1464        (TextImpl::attach):
1465
14662002-11-15  David Hyatt  <hyatt@apple.com>
1467
1468	Make <form> inside <table> stay inside the <table> but demote
1469	itself to a leaf.  Then the children of the <form> are treated
1470	as though they occurred underneath the <table> itself.  Everything
1471	KHTML does with this is completely wrong but this band-aid should
1472	hopefully suffice until 1.0.
1473
1474	Also allowing <input type="hidden"> to be constructed and attached
1475	under <table>s.  Since they have no render objects this is safe.
1476	Again, total hack, since CSS2 anonymous table construction should be
1477	implemented and that would have fixed all this.
1478
1479	This collection of hacks makes travelocity render correctly on the
1480	PLT.
1481	
1482        * khtml/css/html4.css:
1483        * khtml/html/dtd.cpp:
1484        (DOM::checkChild):
1485        * khtml/html/html_tableimpl.cpp:
1486        (HTMLTableElementImpl::addChild):
1487        * khtml/html/htmlparser.cpp:
1488        (KHTMLParser::parseToken):
1489        (KHTMLParser::insertNode):
1490
14912002-11-15  David Hyatt  <hyatt@apple.com>
1492
1493	Fix Hixie's blog.  Background images can be transparent, so
1494	if the root's color isn't valid always do a fixup even if you
1495	have a valid background image.
1496	
1497        * khtml/rendering/render_html.cpp:
1498        (RenderHtml::printBoxDecorations):
1499
15002002-11-15  Darin Adler  <darin@apple.com>
1501
1502        * kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry):
1503	Oops. Make that display:YES.
1504
15052002-11-15  Darin Adler  <darin@apple.com>
1506
1507	- fixed 3090219 -- Window jumps up and down when loading nikon page
1508
1509        * kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry):
1510	Don't pass display:NO when resizing the window.
1511
15122002-11-15  Ken Kocienda  <kocienda@apple.com>
1513
1514	Remove characters RFC 2396 describes as "unwise" from the
1515	BadChar character class. This causes them to remain unescaped
1516	in KURL objects. As a result, some extra escaping needed to 
1517	be added into the getNSURL() function to enable NSURL 
1518	objects to be created using a KURL.
1519
1520	This enables me to fix this bug:
1521	Radar 3050437 (Clicking link leads to page with garbled content)
1522
1523	Note, however, that my fix for 3050437 relies on this bug remaining unfixed:
1524
1525	Radar 3102332 (Square bracket characters "sneak through" CFURL illegal character checks)
1526
1527        * kwq/KWQKURL.mm:
1528        (KURL::getNSURL)
1529
15302002-11-15  Darin Adler  <darin@apple.com>
1531
1532	- fixed 3027460 -- text areas don't have focus rectangles
1533	- fixed 2937204 -- text areas have solid black borders
1534
1535        * kwq/KWQSignal.mm: (KWQSignal::disconnect):
1536	Add a special case so we don't hear about finishedParsing all the time.
1537
1538        * kwq/KWQTextArea.mm:
1539        (-[KWQTextArea initWithFrame:]): Use a bezel border, not a line border.
1540        (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]): Fix bug where it would
1541	return a bogus value for an empty text area.
1542        (-[KWQTextArea setCursorPositionToIndex:inParagraph:]): Use setSelectedRange:
1543	ratherr than setMarkedText:selectedRange:.
1544        (-[KWQTextArea drawRect:]): Draw a focus ring if our text view is first responder.
1545        (-[KWQTextArea _KWQ_setKeyboardFocusRingNeedsDisplay]): Added.
1546        (-[KWQTextAreaTextView becomeFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay.
1547        (-[KWQTextAreaTextView resignFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay.
1548        (-[NSView _KWQ_setKeyboardFocusRingNeedsDisplay]): Calls the same thing on parent.
1549
1550        * WebCore.pbproj/project.pbxproj: PB is a cruel master.
1551
15522002-11-15  Maciej Stachowiak  <mjs@apple.com>
1553
1554        * khtml/html/html_formimpl.cpp:
1555        (HTMLInputElementImpl::attach): Removed a stray printf.
1556
15572002-11-14  Darin Adler  <darin@apple.com>
1558
1559	- fixed most of the problems with OPTGROUP
1560
1561        * khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
1562	Make OPTGROUPs pop out of other unclosed OPTGROUPs, not just out of options.
1563
1564        * kwq/KWQListBox.h: Add private member function.
1565        * kwq/KWQListBox.mm:
1566        (QListBox::insertItem): Use shared insertItem function.
1567        (QListBox::insertGroupLabel): Create an attributed string for the group label,
1568	with bold font.
1569        (-[KWQListBoxTableViewDelegate tableView:shouldSelectRow:]): Return YES only
1570	for the plain strings, that way you can't select the group labels.
1571
1572        * WebCore.pbproj/project.pbxproj: Let PB do its thing.
1573
15742002-11-14  David Hyatt  <hyatt@apple.com>
1575
1576	Fix spinner.com mislayout on the PLT.  Make sure 
1577	<input type=image> honors the width attribute and
1578	make sure that its render object calls updateFromElement.
1579	
1580        * khtml/html/html_formimpl.cpp:
1581        (HTMLInputElementImpl::parseAttribute):
1582        (HTMLInputElementImpl::attach):
1583
15842002-11-14  David Hyatt  <hyatt@apple.com>
1585
1586	Move text measurement and layout beyond onload.  This
1587	shoudl speed up i-bench substantially and morrison's
1588	PLT test slightly.
1589
1590	Also allow <table>s as children of <p> and <h1>-<h6>.
1591	This fixes floats on slashdot.org (the left side) and
1592	the floating tables in articles on wired.com.
1593	
1594        * khtml/html/dtd.cpp:
1595        (DOM::checkChild):
1596        * khtml/html/html_documentimpl.cpp:
1597        (HTMLDocumentImpl::HTMLDocumentImpl):
1598        (HTMLDocumentImpl::close):
1599        * khtml/html/html_documentimpl.h:
1600        * khtml/html/htmlparser.cpp:
1601        (KHTMLParser::insertNode):
1602
16032002-11-14  Richard Williamson  <rjw@apple.com>
1604
1605        Fixed 3099505.  With the recent white space changes, multiple slaves may
1606        be created for contiguous text on the same line.  The fix changes the
1607        iteration order of over the slave array.  Now, when searching for the end
1608        point of a line we'll always find the last slave on a line first.
1609        
1610        * khtml/khtml_part.cpp:
1611        (lastSlaveAt):
1612
16132002-11-14  Darin Adler  <darin@apple.com>
1614
1615	- fixed 3095854 -- small select boxes get no scrollbar
1616
1617        * kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines):
1618	Always use a minimum of 4 lines.
1619
1620=== Alexander-32 ===
1621
16222002-11-14  Darin Adler  <darin@apple.com>
1623
1624	- fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
1625
1626	Don't force all redirects to be reloads, because the ones from JavaScript must
1627	not be. Maybe a better solution post-Alex-32 will be to pass a flag that distinguishes
1628	redirects from other location changes.
1629
1630        * khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Don't ignore the anchor when
1631	comparing URLs to see if they should be a reload. We'll still do a reload if the URLs
1632	are actually equal, but if they differ in anchor we will just go to the anchor.
1633	This is the bug fix.
1634
1635        * kwq/WebCoreBridge.h: Add reload parameter.
1636        * kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload
1637	parameter into the URLArgs.
1638
16392002-11-14  Darin Adler  <darin@apple.com>
1640
1641	- fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
1642
1643        * kwq/WebCoreBridge.h: Add needsLayout.
1644        * kwq/WebCoreBridge.mm: (-[WebCoreBridge needsLayout]): Return true if the render
1645	tree root says "layouted" is false. It would be more elegant to use more of this
1646	WebCore layout logic and have less of our own on the WebKit side.
1647
1648        * WebCore.pbproj/project.pbxproj: Oh, that Project Builder.
1649
16502002-11-13  Darin Adler  <darin@apple.com>
1651
1652	- fixed 3100895 -- REGRESSION: Crash (was assertion) on http://www.w3.org/Style/CSS/
1653
1654        * khtml/rendering/render_text.h: Add an optional arena parameter to deleteSlaves.
1655        * khtml/rendering/render_text.cpp:
1656        (RenderText::detach): Pass the render arena in to deleteSlaves.
1657        (RenderText::deleteSlaves): Use the passed-in arena.
1658
16592002-11-13  Darin Adler  <darin@apple.com>
1660
1661	- fixed another crash on http://www.w3.org/Style/CSS/, but still not done
1662
1663        * khtml/rendering/render_box.cpp: (RenderBox::setStyle): Call renderArena()
1664	from RenderObject rather than going at the document directly. Safer because
1665	it works even when we don't have a node yet.
1666        * khtml/rendering/render_flow.cpp: (RenderFlow::addChild): Ditto.
1667        * khtml/rendering/render_layer.cpp:
1668        (RenderLayer::paint): Ditto.
1669        (RenderLayer::nodeAtPoint): Ditto.
1670        (RenderLayer::constructZTree): Ditto.
1671        * khtml/rendering/render_list.cpp:
1672        (RenderListItem::setStyle): Ditto.
1673        * khtml/rendering/render_text.cpp:
1674        (RenderText::deleteSlaves): Ditto.
1675        (RenderText::position): Ditto. This is the one that actually crashed.
1676
1677        * khtml/misc/makeattrs: Fixed handling of failure case.
1678        * khtml/misc/maketags: Ditto.
1679
1680        * WebCore.pbproj/project.pbxproj: Project Builder wanted to touch this.
1681
16822002-11-13  Darin Adler  <darin@apple.com>
1683
1684	- fixed 3100895 -- REGRESSION: Assertion on http://www.w3.org/Style/CSS/
1685
1686	A few arena-related fixes.
1687
1688        * khtml/rendering/bidi.h: Don't define the operator new without the arena parameter.
1689	That way, we get a link failure if we use it by accident, rather than an assert at runtime.
1690	It would be even better to get a compile-time error, but I don't know how to make that happen.
1691        * khtml/rendering/render_layer.h: Ditto.
1692        * khtml/rendering/render_object.h: Ditto.
1693        * khtml/rendering/render_text.h: Ditto.
1694
1695        * khtml/rendering/render_container.cpp:
1696        (RenderContainer::addChild): Create the RenderTable with the appropriate arena.
1697        (RenderContainer::insertPseudoChild): Create the RenderFlow objects with the appropriate arena.
1698
1699        * khtml/rendering/render_text.cpp: (RenderText::deleteSlaves): Don't try to get the arena
1700	when there are no slaves. This can happen after the element is nil, and in that case we will
1701	do a nil-dereference.
1702
17032002-11-13  Darin Adler  <darin@apple.com>
1704
1705        * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth):
1706	Use the "0" instead of the "x" as the canonical character for width.
1707	This is slightly wider and is better for credit card numbers, for example.
1708
1709        * WebCore.pbproj/project.pbxproj: Tweak.
1710
17112002-11-13  Darin Adler  <darin@apple.com>
1712
1713	- fixed 3083982 -- Logging into AOL gives null view
1714
1715	Turns out AOL was using a refresh header, which we were not supporting.
1716
1717        * khtml/khtml_part.h: Declare receivedFirstData, a private member function.
1718        * khtml/khtml_part.cpp:
1719        (KHTMLPart::receivedFirstData): Separate out the part of slotData we
1720	want to share, which really seems kinda separate anyway.
1721        (KHTMLPart::slotData): More of the same.
1722
1723        * kwq/KWQKHTMLPart.h: Declare addMetaData.
1724        * kwq/KWQKHTMLPart.mm:
1725        (KWQKHTMLPart::slotData): Call receivedFirstData instead of doing the same
1726	thing ourselves.
1727        (KWQKHTMLPart::addMetaData): Added. Puts metadata into the job.
1728
1729        * kwq/KWQKHTMLPartBrowserExtension.mm:
1730        (KHTMLPartBrowserExtension::createNewWindow): Fix bug where this was calling
1731	openURL: but meant to call loadURL:.
1732
1733        * kwq/WebCoreBridge.h: Add headers to openURL method. Remove setContentType.
1734        * kwq/WebCoreBridge.mm:
1735        (-[WebCoreBridge openURL:withHeaders:]): Handle Content-Type and Refresh.
1736	This method is big enough that I should probably move the guts to KWQKHTMLPart.
1737
1738	- other things
1739
1740        * kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): I overlooked something
1741	while doing my "bug fix" in here a while back. Change an assignment statement
1742	to an assert.
1743
17442002-11-13  David Hyatt  <hyatt@apple.com>
1745
1746	Fix for floats. Force relayout if collapsing margins
1747	have to adjust the position of an object.
1748	
1749        * khtml/rendering/render_flow.cpp:
1750        (RenderFlow::layoutBlockChildren):
1751
17522002-11-13  David Hyatt  <hyatt@apple.com>
1753
1754	Rewrite cellpadding to not use the style system at all and
1755	to make table cells just get the padding from the table
1756	itself (overriding style).
1757	
1758        * khtml/html/html_tableimpl.cpp:
1759        (HTMLTableElementImpl::HTMLTableElementImpl):
1760        (HTMLTableElementImpl::attach):
1761        (HTMLTableElementImpl::parseAttribute):
1762        (HTMLTableCellElementImpl::init):
1763        * khtml/html/html_tableimpl.h:
1764        * khtml/rendering/bidi.cpp:
1765        (RenderFlow::layoutInlineChildren):
1766        * khtml/rendering/render_box.cpp:
1767        (RenderBox::contentWidth):
1768        (RenderBox::contentHeight):
1769        * khtml/rendering/render_flow.cpp:
1770        (RenderFlow::layoutBlockChildren):
1771        (RenderFlow::leftOffset):
1772        (RenderFlow::rightOffset):
1773        (RenderFlow::calcMinMaxWidth):
1774        * khtml/rendering/render_object.h:
1775        * khtml/rendering/render_table.cpp:
1776        (RenderTable::RenderTable):
1777        (RenderTableCell::paddingTop):
1778        (RenderTableCell::paddingBottom):
1779        (RenderTableCell::paddingLeft):
1780        (RenderTableCell::paddingRight):
1781        * khtml/rendering/render_table.h:
1782
17832002-11-13  Ken Kocienda  <kocienda@apple.com>
1784
1785	Bump WebCore cache to 4 MB (was 1 MB).
1786
1787        * khtml/misc/loader.cpp
1788
17892002-11-13  Maciej Stachowiak  <mjs@apple.com>
1790
1791	- fixed 3050447 - Policy handlers have no way of telling client
1792	that the proposed navigation is a form post
1793	
1794        * khtml/khtml_part.cpp:
1795        (KHTMLPart::submitForm): Call kwq->submitForm
1796        * kwq/KWQKHTMLPart.h:
1797        * kwq/KWQKHTMLPart.mm:
1798        (KWQKHTMLPart::openURL): Adjusted for bridge API change.
1799        (KWQKHTMLPart::openURLRequest): Removed POST handling.
1800	(KWQKHTMLPart::submitForm): Added this back, because we need to
1801	know what URL navigations are caused by form submission, even if
1802	they are not POSTs.
1803        (KWQKHTMLPart::urlSelected): Adjusted for bridge API change.
1804        * kwq/WebCoreBridge.h: Add triggeringEvent: parameter to postURL:
1805	and isFormSubmission: parameter to loadURL:.
1806
18072002-11-12  David Hyatt  <hyatt@apple.com>
1808
1809	Fix for 3032869, the background image for the body was being
1810	propagated up to the root properly but was not being tiled over
1811	the whole canvas.
1812	
1813        * khtml/rendering/render_box.cpp:
1814        (RenderBox::printBackground):
1815        * khtml/rendering/render_html.cpp:
1816        (RenderHtml::printBoxDecorations):
1817
18182002-11-12  David Hyatt  <hyatt@apple.com>
1819
1820	Fix the top of moveabletype.org.  The maxwidth/minwidth
1821	calculation for blocks with inline content did not properly
1822	deal with margins and padding on inline elements like <a>.
1823	
1824        * khtml/rendering/render_flow.cpp:
1825        (RenderFlow::calcInlineMinMaxWidth):
1826
18272002-11-12  David Hyatt  <hyatt@apple.com>
1828
1829	Fix for 2953367, padding is incorrectly inherited into table cells
1830	and also incorrectly overrides cellpadding on the table itself.
1831	Fixes dailyf1.com.
1832	
1833        * khtml/css/html4.css:
1834        * khtml/html/html_tableimpl.cpp:
1835        (HTMLTableElementImpl::parseAttribute):
1836        (HTMLTableCellElementImpl::init):
1837        * khtml/html/html_tableimpl.h:
1838
18392002-11-12  David Hyatt  <hyatt@apple.com>
1840
1841	For now make text/xml files use HTML parsing/documents.
1842	This avoids the infinite loop we get into when loading
1843	text/xml.  If/when we finally support XML, we can undo
1844	this change.
1845	
1846        * khtml/khtml_part.cpp:
1847        (KHTMLPart::begin):
1848
18492002-11-12  David Hyatt  <hyatt@apple.com>
1850
1851	Fix for 3086321, stylesheets not loading if titles are
1852	specified.  Note that 4 of the pages on the PLT were
1853	affected by this, so I fully expect a slight performance
1854	degradation (the boost from the regression was artificial).
1855	
1856        * khtml/xml/dom_docimpl.cpp:
1857        (DocumentImpl::recalcStyleSelector):
1858
18592002-11-12  Richard Williamson  <rjw@apple.com>
1860
1861        Oops, removed debugging.
1862        
1863        * khtml/rendering/font.cpp:
1864        (Font::drawText):
1865
18662002-11-12  Richard Williamson  <rjw@apple.com>
1867
1868        Implemented letter-spacing and word-spacing CSS properties.
1869        
1870        * khtml/rendering/font.cpp:
1871        (Font::drawText):
1872        (Font::floatWidth):
1873        (Font::floatCharacterWidths):
1874        * kwq/KWQFontMetrics.h:
1875        * kwq/KWQFontMetrics.mm:
1876        (QFontMetrics::width):
1877        (QFontMetrics::floatWidth):
1878        (QFontMetrics::floatCharacterWidths):
1879        * kwq/KWQPainter.h:
1880        * kwq/KWQPainter.mm:
1881        (QPainter::drawText):
1882        * kwq/WebCoreTextRenderer.h:
1883
18842002-11-12  David Hyatt  <hyatt@apple.com>
1885
1886	Revert floats so that they don't use layers any more.
1887	Floats have to be able to paint in between the background
1888	and foreground of inlines, so they can't have layers.
1889	
1890        * khtml/rendering/render_box.cpp:
1891        (RenderBox::setStyle):
1892        * khtml/rendering/render_flow.cpp:
1893        (RenderFlow::printObject):
1894        (RenderFlow::paintFloats):
1895        (RenderFlow::addOverHangingFloats):
1896        (RenderFlow::nodeAtPoint):
1897        * khtml/rendering/render_flow.h:
1898        * khtml/rendering/render_layer.cpp:
1899        (RenderLayer::constructZTree):
1900        * khtml/rendering/render_list.cpp:
1901        (RenderListItem::printObject):
1902
19032002-11-12  Darin Adler  <darin@apple.com>
1904
1905        * kwq/KWQCursor.mm: (QCursor::QCursor): Use nil instead of [NSCursor arrowCursor].
1906	This will probably fix the performance regression.
1907
19082002-11-12  Darin Adler  <darin@apple.com>
1909
1910	- fixed 3080250 -- Hands-free crash at wired.com in
1911	KHTMLPart::slotChildStarted
1912
1913        * kwq/KWQListImpl.mm:
1914        (KWQListImpl::~KWQListImpl): Set the node of each iterator to NULL too,
1915	not just the list. This is the bug fix for the bug above.
1916        (KWQListIteratorImpl::toFirst): Check for list of NULL.
1917        (KWQListIteratorImpl::toLast): ditto.
1918
1919        * kwq/KWQSlot.mm: Tweaks.
1920
19212002-11-12  David Hyatt  <hyatt@apple.com>
1922
1923	This patch lands a rewrite of whitespace-handling in the
1924	layout engine and adds support for the CSS2 white-space
1925	property.  
1926
1927	It also includes a rewrite of inlines' min/max width 
1928	calculations (for both flow inlines and raw text).
1929
1930	A problem with <form> margins has been fixed (this is a
1931	regression I caused with my collapsing margin checkin).
1932
1933        * WebCore.pbproj/project.pbxproj:
1934        * khtml/css/html4.css:
1935        * khtml/html/dtd.cpp:
1936        (DOM::checkChild):
1937        * khtml/html/html_baseimpl.cpp:
1938        (HTMLBodyElementImpl::attach):
1939        (HTMLFrameElementImpl::attach):
1940        (HTMLFrameSetElementImpl::attach):
1941        (HTMLHtmlElementImpl::attach):
1942        (HTMLIFrameElementImpl::attach):
1943        * khtml/html/html_formimpl.cpp:
1944        (HTMLFormElementImpl::HTMLFormElementImpl):
1945        (HTMLInputElementImpl::attach):
1946        (HTMLSelectElementImpl::attach):
1947        (HTMLTextAreaElementImpl::attach):
1948        * khtml/html/html_formimpl.h:
1949        * khtml/html/html_imageimpl.cpp:
1950        (HTMLImageElementImpl::attach):
1951        * khtml/html/html_inlineimpl.cpp:
1952        (HTMLBRElementImpl::attach):
1953        * khtml/html/html_objectimpl.cpp:
1954        (HTMLAppletElementImpl::attach):
1955        (HTMLEmbedElementImpl::attach):
1956        (HTMLObjectElementImpl::attach):
1957        * khtml/html/htmlparser.cpp:
1958        (KHTMLParser::reset):
1959        (KHTMLParser::parseToken):
1960        (KHTMLParser::insertNode):
1961        (KHTMLParser::popBlock):
1962        (KHTMLParser::popOneBlock):
1963        * khtml/html/htmlparser.h:
1964        * khtml/html/htmltokenizer.cpp:
1965        (HTMLTokenizer::addPending):
1966        (HTMLTokenizer::write):
1967        * khtml/misc/arena.cpp: Added.
1968        (CeilingLog2):
1969        (InitArenaPool):
1970        (ArenaAllocate):
1971        (ArenaGrow):
1972        (FreeArenaList):
1973        (ArenaRelease):
1974        (FreeArenaPool):
1975        (FinishArenaPool):
1976        (ArenaFinish):
1977        * khtml/misc/arena.h: Added.
1978        * khtml/rendering/bidi.cpp:
1979        (BidiIterator::detach):
1980        (throw):
1981        (BidiIterator::operator delete):
1982        (appendRunsForObject):
1983        (appendRun):
1984        (RenderFlow::bidiReorderLine):
1985        (deleteMidpoints):
1986        (RenderFlow::layoutInlineChildren):
1987        (RenderFlow::findNextLineBreak):
1988        * khtml/rendering/bidi.h:
1989        * khtml/rendering/render_arena.cpp: Added.
1990        (RenderArena::RenderArena):
1991        (RenderArena::~RenderArena):
1992        (RenderArena::allocate):
1993        (RenderArena::free):
1994        * khtml/rendering/render_arena.h: Added.
1995        * khtml/rendering/render_box.cpp:
1996        (RenderBox::setStyle):
1997        (RenderBox::~RenderBox):
1998        (RenderBox::detach):
1999        * khtml/rendering/render_box.h:
2000        * khtml/rendering/render_br.cpp:
2001        (RenderBR::RenderBR):
2002        * khtml/rendering/render_container.cpp:
2003        (RenderContainer::~RenderContainer):
2004        (RenderContainer::detach):
2005        * khtml/rendering/render_container.h:
2006        * khtml/rendering/render_flow.cpp:
2007        (RenderFlow::setStyle):
2008        (RenderFlow::layout):
2009        (RenderFlow::calcInlineMinMaxWidth):
2010        (RenderFlow::calcBlockMinMaxWidth):
2011        (RenderFlow::calcMinMaxWidth):
2012        (RenderFlow::addChild):
2013        (RenderFlow::makeChildrenNonInline):
2014        * khtml/rendering/render_flow.h:
2015        * khtml/rendering/render_html.cpp:
2016        (RenderHtml::RenderHtml):
2017        * khtml/rendering/render_layer.cpp:
2018        (RenderLayer::~RenderLayer):
2019        (throw):
2020        (RenderLayer::operator delete):
2021        (RenderLayer::detach):
2022        (RenderLayer::paint):
2023        (RenderLayer::nodeAtPoint):
2024        (RenderLayer::constructZTree):
2025        (RenderLayer::RenderLayerElement::operator delete):
2026        (RenderLayer::RenderLayerElement::detach):
2027        (RenderLayer::RenderZTreeNode::operator delete):
2028        (RenderLayer::RenderZTreeNode::detach):
2029        * khtml/rendering/render_layer.h:
2030        * khtml/rendering/render_list.cpp:
2031        (RenderListItem::setStyle):
2032        * khtml/rendering/render_object.cpp:
2033        (throw):
2034        (RenderObject::operator delete):
2035        (RenderObject::createObject):
2036        (RenderObject::renderArena):
2037        (RenderObject::detach):
2038        * khtml/rendering/render_object.h:
2039        * khtml/rendering/render_replaced.cpp:
2040        (RenderWidget::detach):
2041        * khtml/rendering/render_replaced.h:
2042        * khtml/rendering/render_root.cpp:
2043        (RenderRoot::RenderRoot):
2044        * khtml/rendering/render_table.cpp:
2045        (RenderTable::addChild):
2046        (RenderTable::calcWidth):
2047        (RenderTable::setCellWidths):
2048        (RenderTableSection::addChild):
2049        (RenderTableRow::addChild):
2050        * khtml/rendering/render_text.cpp:
2051        (TextSlave::detach):
2052        (throw):
2053        (TextSlave::operator delete):
2054        (TextSlaveArray::TextSlaveArray):
2055        (RenderText::RenderText):
2056        (RenderText::~RenderText):
2057        (RenderText::detach):
2058        (RenderText::deleteSlaves):
2059        (RenderText::trimmedMinMaxWidth):
2060        (RenderText::calcMinMaxWidth):
2061        (RenderText::position):
2062        * khtml/rendering/render_text.h:
2063        * khtml/xml/dom_docimpl.cpp:
2064        (DocumentImpl::DocumentImpl):
2065        (DocumentImpl::~DocumentImpl):
2066        (DocumentImpl::attach):
2067        (DocumentImpl::detach):
2068        * khtml/xml/dom_docimpl.h:
2069        * khtml/xml/dom_nodeimpl.cpp:
2070        (NodeImpl::detach):
2071        (NodeImpl::isReadOnly):
2072        (NodeImpl::previousRenderer):
2073        * khtml/xml/dom_nodeimpl.h:
2074        * khtml/xml/dom_stringimpl.cpp:
2075        * khtml/xml/dom_stringimpl.h:
2076        * khtml/xml/dom_textimpl.cpp:
2077        (CharacterDataImpl::containsOnlyWhitespace):
2078        (TextImpl::attach):
2079        * khtml/xml/dom_textimpl.h:
2080
20812002-11-12  Darin Adler  <darin@apple.com>
2082
2083	- fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired]
2084
2085        * kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal.
2086        (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
2087
20882002-11-12  Darin Adler  <darin@apple.com>
2089
2090	- fixed 3079499 -- blank page at http://www.sonyericsson.com/T68i/
2091
2092        * khtml/misc/loader.cpp:
2093        (CachedCSSStyleSheet::checkNotify): Copy the clients list before iterating
2094	over it, since clients can move around in the list or be removed.
2095        (CachedScript::checkNotify): Ditto.
2096        (CachedImage::do_notify): Ditto.
2097        (CachedImage::movieStatus): Ditto.
2098
2099	- fixed double calls to openURL I noticed
2100
2101        * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
2102	Don't call openURL here at all. That happens indirectly as a result
2103	of the load we kick off.
2104
2105        * kwq/KWQKHTMLPart.mm: Tweaks.
2106
21072002-11-12  Darin Adler  <darin@apple.com>
2108
2109	- fixed 3083043 -- Alex doesn't decode % sequences in javascript: URLs
2110
2111	Some places here did KURL::decode_string, but others didn't.
2112
2113        * khtml/khtml_part.cpp:
2114        (KHTMLPart::slotShowDocument): Added call to KURL::decode_string.
2115        (KHTMLPart::overURL): Ditto.
2116        (KHTMLPart::urlSelected): Ditto.
2117        (KHTMLPart::requestFrame): Ditto.
2118        (KHTMLPart::slotChildURLRequest): Ditto.
2119
21202002-11-11  Darin Adler  <darin@apple.com>
2121
2122        * kwq/KWQWidget.mm: (QWidget::setCursor): Remove printf I left
2123	in by accident.
2124
21252002-11-11  Darin Adler  <darin@apple.com>
2126
2127	- tighten up cursor handling a bit more
2128
2129        * kwq/KWQWidget.mm:
2130        (QWidget::setCursor): Use setDocumentCursor: instead of our own protocol.
2131        (QWidget::cursor): Use documentCursor instead of storing our own cursor.
2132
2133        * kwq/WebCoreFrameView.h: Remove setCursor: method.
2134
21352002-11-11  Darin Adler  <darin@apple.com>
2136
2137	- fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
2138	HTMLDocument::Close inside a <script>
2139
2140	I think it's going to work this time. The key was to hook up the
2141	KHTML submitFormAgain machinery.
2142
2143        * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Take out the APPLE_CHANGES
2144	ifdef that was disabling the submitFormAgain logic.
2145        * kwq/KWQKHTMLPart.h: Remove submitForm(), because openURLRequest() handles it fine.
2146        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): Move the logic for handling
2147	POST here from submitForm() and remove submitForm().
2148
2149        * kwq/KWQSlot.mm:
2150        (KWQSlot::KWQSlot): Add support for the submitFormAgain slot.
2151        (KWQSlot::call): Ditto.
2152
21532002-11-11  Darin Adler  <darin@apple.com>
2154
2155	- fixed 3092421 -- javascript: URL that opens window crashes Alex if typed into empty window
2156
2157        * kwq/KWQKHTMLPart.h:
2158        * kwq/KWQKHTMLPart.mm:
2159        (KWQKHTMLPart::KWQKHTMLPart): Set _ownsView to false.
2160        (KWQKHTMLPart::~KWQKHTMLPart): Delete the view if we own it. Also release
2161	_currentEvent to fix a leak.
2162        (KWQKHTMLPart::setView): Delete the old view if we own it. Also, set the
2163	_ownsView flag.
2164        (KWQKHTMLPart::createDummyDocument): Create a dummy view too.
2165
2166        * kwq/KWQDummyView.h: Added.
2167        * kwq/KWQDummyView.m: Added.
2168        * WebCore.pbproj/project.pbxproj: Added KWQDummyView.
2169
2170        * kwq/WebCoreBridge.h: Remove bridgeOwnsKHTMLView and currentEvent.
2171        * kwq/WebCoreBridge.mm:
2172        (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]):
2173	Pass true to setView instead of setting bridgeOwnsKHTMLView.
2174        (-[WebCoreBridge removeFromFrame]): Just call setView on the part. It
2175	knows how to handle ownership now.
2176        (-[WebCoreBridge installInFrame:]): Call setOwnsView instead of setting
2177	bridgeOwnsKHTMLView.
2178
21792002-11-11  Trey Matteson  <trey@apple.com>
2180
2181        * khtml/khtml_part.cpp:
2182        (KHTMLPart::requestFrameName):  Call through bridge to get generated frame name.
2183        * kwq/KWQKHTMLPart.h:
2184        * kwq/KWQKHTMLPart.mm:
2185        (KWQKHTMLPart::generateFrameName):  New call that just forwards through the bridge.
2186        * kwq/WebCoreBridge.h:
2187
21882002-11-11  Darin Adler  <darin@apple.com>
2189
2190	- fixed 3097253 -- text tagged <small> inside <h1> is too small
2191
2192        * khtml/css/html4.css: Change BIG to use "font-size: larger" rather
2193	than "font-size: large" and SMALL to use "font-size: smaller" rather
2194	than "font-size: small".
2195
21962002-11-11  Darin Adler  <darin@apple.com>
2197
2198        * kwq/WebCoreBridge.h: Remove unused modifierTrackingEnabled method.
2199
22002002-11-08  Maciej Stachowiak  <mjs@apple.com>
2201
2202	- fixed 3096451 - REGRESSION: clicking on link to open window only
2203	works when pop-up suppression is off
2204	
2205        * khtml/ecma/kjs_binding.cpp:
2206        (ScriptInterpreter::ScriptInterpreter): Initialize m_timerCallback
2207	to false.
2208
2209b2002-11-08  Darin Adler  <darin@apple.com>
2210
2211        * kwq/KWQComboBox.mm: Bump fudge factor up one pixel. You could see
2212	it was wrong with strings like "0".
2213
22142002-11-08  Darin Adler  <darin@apple.com>
2215
2216	- fixed 3090452 -- REGRESSION: orbitz Box extends way over margins
2217
2218        * kwq/KWQComboBox.h: Added _width and _widthGood.
2219        * kwq/KWQComboBox.mm:
2220        (QComboBox::QComboBox): Set _widthGood to false.
2221        (QComboBox::insertItem): Set _widthGood to false.
2222        (QComboBox::sizeHint): Compute the width by measuring the text ourselves.
2223	Turns out the cell isn't helpful for that.
2224        (QComboBox::clear): Set _widthGood to false.
2225
22262002-11-08  Richard Williamson   <rjw@apple.com>
2227
2228        Cleanup of fix to 3083281.  Never call stopAnimating from
2229        QPixmap's destructor.  With the fix it wouldn't have been
2230        called anyway.
2231        
2232        * kwq/KWQPixmap.mm:
2233        (QPixmap::~QPixmap):
2234
22352002-11-08  Darin Adler  <darin@apple.com>
2236
2237        * kwq/WebCoreBridge.mm: (attributedString): Remove some dead code.
2238
22392002-11-07  Darin Adler  <darin@apple.com>
2240
2241        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::slotData):
2242	Add an assert in the hopes of catching bug 3084704 a little earlier.
2243
22442002-11-07  Richard Williamson  <rjw@apple.com>
2245
2246        Don't stop animating unless we're the last referee. (3083281)
2247        
2248        * kwq/KWQPixmap.mm:
2249        (QPixmap::~QPixmap):
2250
2251=== Alexander-31 ===
2252
22532002-11-06  Richard Williamson  <rjw@apple.com>
2254
2255        Use our notion of unicode whitespace from lookup tables
2256        and isspace for latin1.  This is more correct than CF.
2257        Fixed issues Dave ran into with whitespace calculations.
2258        
2259        * kwq/KWQChar.mm:
2260        (QChar::isSpace):
2261
22622002-11-05  Darin Adler  <darin@apple.com>
2263
2264	- fixed 3092722 -- assertion failed
2265
2266        * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader reportError]):
2267	Removed the assertion. It wasn't needed.
2268
22692002-11-05  Darin Adler  <darin@apple.com>
2270
2271	- re-fixed 3070484 -- icon rollovers are very slow on Mac OS X website
2272
2273	Had to roll back some of the files I changed yesterday. I had missed the
2274	one line of useful code among much stuff we don't need.
2275
2276        * khtml/khtml_part.cpp:
2277        (KHTMLPart::init):
2278        (KHTMLPart::~KHTMLPart):
2279        (KHTMLPart::slotLoaderRequestStarted):
2280        (KHTMLPart::slotLoaderRequestDone):
2281        * kwq/KWQSignal.h:
2282        * kwq/KWQSignal.mm:
2283        (KWQSignal::call):
2284        * kwq/KWQSignalStubs.mm:
2285        (Loader::requestDone):
2286        (Loader::requestFailed):
2287        (Loader::requestStarted):
2288        * kwq/KWQSlot.h:
2289        * kwq/KWQSlot.mm:
2290        (KWQSlot::KWQSlot):
2291        (KWQSlot::call):
2292	Just roll back all the changes from my 3091714 check-in below, except
2293	for the bug fix itself in loader.cpp and KWQResourceLoader.mm.
2294
22952002-11-05  Maciej Stachowiak  <mjs@apple.com>
2296
2297	- fixed 3027404 - pop-up ads not always suppressed
2298	
2299        * khtml/ecma/kjs_binding.cpp:
2300        (ScriptInterpreter::isWindowOpenAllowed): Don't allow opening if
2301	we are in a timer callback - for reasons unexplained this will
2302	always show up as an inline script.
2303        * khtml/ecma/kjs_binding.h:
2304        * khtml/ecma/kjs_window.cpp:
2305        (ScheduledAction::execute): Note that we're in a timer callback.
2306
23072002-11-04  Richard Williamson  <rjw@apple.com>
2308
2309        Changes to support cursive letter forms.
2310        
2311        * kwq/KWQChar.mm:
2312        * kwq/WebCoreUnicode.h:
2313
23142002-11-04  Darin Adler  <darin@apple.com>
2315
2316	- fixed 3091714 -- reproducible assert cachedObject->response
2317	in KWQCheckCacheObjectStatus
2318
2319        * khtml/misc/loader.cpp: (Loader::slotFinished):
2320	For APPLE_CHANGES, don't finish the load if it's an error.
2321
2322        * kwq/KWQResourceLoader.mm:
2323        (-[KWQResourceLoader finishJobAndHandle]): Shared code for the
2324	three following methods.
2325        (-[KWQResourceLoader cancel]): Use setError(1) again instead of
2326	just keeping the load around forever.
2327        (-[KWQResourceLoader reportError]): Ditto.
2328        (-[KWQResourceLoader finish]): Use finishJobAndHandle to share
2329	code with the two above.
2330
2331        * khtml/khtml_part.cpp:
2332        (KHTMLPart::init): Put the slotLoaderRequestStarted and
2333	slotLoaderRequestDone connect lines inside ifdefs.
2334        (KHTMLPart::~KHTMLPart): Same for disconnect.
2335
2336        * kwq/KWQSignal.h: Remove code for the DocLoader signals.
2337        * kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
2338        * kwq/KWQSignalStubs.mm:
2339        (Loader::requestDone): Ditto.
2340        (Loader::requestFailed): Ditto.
2341        (Loader::requestStarted): Ditto.
2342        * kwq/KWQSlot.h: Ditto.
2343        * kwq/KWQSlot.mm:
2344        (KWQSlot::KWQSlot): Ditto.
2345        (KWQSlot::call): Ditto.
2346
23472002-11-04  Maciej Stachowiak  <mjs@apple.com>
2348
2349	Changes to send NSEvents all the way through WebCore and then pass
2350	them back out to WebKit, so that click policy can have a
2351	WebResourceRequest added.
2352	
2353        * kwq/KWQKHTMLPart.h:
2354        * kwq/KWQKHTMLPart.mm:
2355        (KWQKHTMLPart::KWQKHTMLPart):
2356        (KWQKHTMLPart::openURL):
2357        (KWQKHTMLPart::openURLRequest):
2358        (KWQKHTMLPart::urlSelected):
2359        (KWQKHTMLPart::submitForm):
2360        (KWQKHTMLPart::createDummyDocument):
2361        (KWQKHTMLPart::setCurrentEvent):
2362        * kwq/WebCoreBridge.h:
2363        * kwq/WebCoreBridge.mm:
2364        (-[WebCoreBridge mouseUp:]):
2365
23662002-11-03  Darin Adler  <darin@apple.com>
2367
2368	- fixed 3091300 -- "prelighting" on local page is still slow, despite recent bug fix
2369
2370	Turns out all updating would be slow if any resources on the page failed to load.
2371
2372        * kwq/WebCoreResourceLoader.h: Add reportError, distinct from
2373	cancel and finish.
2374        * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader reportError]):
2375	Set the error boolean on the job and then call through to [finish].
2376
23772002-11-03  Darin Adler  <darin@apple.com>
2378
2379	- fixed 3091275 -- can't type into Answer field in RealOne Player order form
2380
2381        * khtml/rendering/render_form.cpp:
2382        (RenderLineEdit::updateFromElement): Treat 0 as max (1024) as other browsers do.
2383        (RenderFileButton::updateFromElement): Ditto, although this is in !APPLE_CHANGES code
2384	that we don't use in WebCore.
2385
23862002-11-01  Darin Adler  <darin@apple.com>
2387
2388	- applied the same "subclass responsibility" pattern here as in
2389	some of the other WebCore classes
2390
2391        * kwq/WebCoreImageRendererFactory.h: Move the subclass responsibility into a protocol.
2392        * kwq/WebCoreImageRendererFactory.m: Remove now-unneeded stubs.
2393
23942002-11-01  Richard Williamson   <rjw@apple.com>
2395
2396        Removed old implementation.
2397        
2398        * kwq/KWQChar.mm:
2399        (QChar::direction):
2400        
2401        Renamed JoiningCenter -> JoiningCausing.
2402        
2403        * kwq/WebCoreUnicode.h:
2404
24052002-11-01  Darin Adler  <darin@apple.com>
2406
2407	- fixed 3062598 -- meta refresh of 0.1s fails
2408
2409	KHTML was using an integer for the delay.
2410
2411        * khtml/khtml_part.h: Make scheduleRedirection take a double.
2412        * khtml/khtmlpart_p.h: Make m_delayRedirect be a double.
2413        * khtml/khtml_part.cpp:
2414        (KHTMLPart::slotData): Use a double when parsing meta refresh.
2415        (KHTMLPart::checkCompleted): Cast to int when passing to timer start.
2416        (KHTMLPart::scheduleRedirection): Cast to int when passing to timer
2417	start; also check for absurd values and do nothing.
2418        (KHTMLPart::slotParentCompleted): Cast to int when passing to timer start.
2419
2420        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv):
2421	Use a double when parsing meta refresh.
2422
2423        * kwq/KWQKDebug.h: Add overloads for unsigned int and double to keep us
2424	compiling now that we use a double in one place.
2425
24262002-11-01  Darin Adler  <darin@apple.com>
2427
2428	- fixed 3090249 -- random crash on page load
2429	- fixed 3090286 -- assert _job in KWQResourceLoader cancel
2430
2431        * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader cancel]):
2432	This function needs to handle the case where the load is already cancelled.
2433	I think this also caused Avie's crash.
2434
24352002-10-31  Darin Adler  <darin@apple.com>
2436
2437	- fixed huge leak when doing page load test
2438
2439        * khtml/ecma/kjs_binding.h:
2440        * khtml/ecma/kjs_binding.cpp: Remove ScriptInterpreter::mark().
2441	We don't want to mark the elements of m_domObjects, because we don't want
2442	to keep them around the entire lifetime of the interpreter. This is fine
2443	because we already have forgetDOMObject(), which takes care of when they
2444	are deallocated.
2445
2446        * khtml/ecma/kjs_dom.cpp:
2447        * khtml/ecma/kjs_dom.h:
2448        * khtml/ecma/kjs_html.cpp:
2449        * khtml/ecma/kjs_html.h:
2450	Changed lots of parameters to pass by const reference for a bit of a code
2451	size and performance gain.
2452
24532002-10-31  Richard Williamson  <rjw@apple.com>
2454
2455        Turned on use of lookup tables.
2456        
2457        * kwq/KWQChar.mm:
2458        (QChar::direction):
2459        (QChar::mirrored):
2460        (QChar::mirroredChar):
2461
24622002-10-31  Maciej Stachowiak  <mjs@apple.com>
2463
2464	- fixed 3075803 - yahoo customize layout - delete, ordering of items doesn't work
2465	
2466        * khtml/html/html_formimpl.h:
2467        * khtml/html/html_formimpl.cpp:
2468        (HTMLSelectElementImpl::recalcStyle): New method to insure the
2469	select element updates if the contents of the option subelements
2470	are changed.
2471
2472=== Alexander-30 ===
2473
24742002-10-30  Maciej Stachowiak  <mjs@apple.com>
2475
2476	- fixed 3049853 - Javascript: setInterval incorrectly acts as single shot
2477	
2478        * kwq/KWQObject.mm:
2479        (QObject::startTimer): Set a recurring timer instead of
2480	single-shot, to match QObject semantics.
2481
24822002-10-30  Richard Williamson  <rjw@apple.com>
2483
2484        More work on bidi and contextual forms.
2485        Table lookup code is up in WebKit. Function
2486        pointers are used to isolate WebCore from private
2487        implementation in WebKit.  Needs to be fast, so
2488        the usual ObjC abstraction won't work.
2489        
2490        * WebCore.exp:
2491        * WebCore.pbproj/project.pbxproj:
2492        * kwq/KWQChar.mm:
2493        (QChar::direction):
2494        * kwq/KWQString.h:
2495        * kwq/WebCoreUnicode.cpp: Added.
2496        * kwq/WebCoreUnicode.h: Added.
2497
24982002-10-30  Darin Adler  <darin@apple.com>
2499
2500	- fixed crash when you open an empty window and just hit tab, tab, tab
2501
2502        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Check for nil.
2503
25042002-10-30  Darin Adler  <darin@apple.com>
2505
2506	- fixed 3083982 -- Logging into AOL gives null view, crash
2507
2508	I fixed the crash part. Not the "gives null view" part.
2509	The key was to disentangle the references and lifetimes of the transfer job class,
2510	and the resource loader object that KWQ uses to connect it with WebKit.
2511
2512        * kwq/KWQKJobClasses.h: Change the job to keep a loader reference, not a
2513	handle reference. The job needs to inform the loader when it's being deallocated.
2514        * kwq/KWQKJobClasses.mm: Use jobWillBeDeallocated instead of cancel when the
2515	job is deallocated.
2516
2517        * kwq/KWQLoader.mm: (KWQServeRequest): Use KWQResourceLoader, now with a home in
2518	a separate file.
2519
2520        * kwq/KWQResourceLoader.h: Added.
2521        * kwq/KWQResourceLoader.mm: Added.
2522        * WebCore.pbproj/project.pbxproj: Added KWQResourceLoader files.
2523
25242002-10-30  Darin Adler  <darin@apple.com>
2525
2526	- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
2527
2528	The key is to get args.reload passed through to the bridge.
2529
2530        * kwq/WebCoreBridge.h: Add reload parameter to loadURL:.
2531
2532        * kwq/KWQKHTMLPart.mm:
2533        (KWQKHTMLPart::openURL): Pass NO for reload.
2534        (KWQKHTMLPart::openURLRequest): Pass args.reload for reload.
2535        (KWQKHTMLPart::urlSelected): Pass args.reload for reload.
2536        (KWQKHTMLPart::submitForm): Pass args.reload for reload.
2537        
2538	- fixed a memory problem with the use of NSBrowser in KWQListBox
2539        - fixed 2863040 -- multiple default items in select list not selected
2540
2541	Switched to use NSTableView instead of NSBrowser. This should also create
2542	a measurable speedup due to other changes to this class.
2543
2544        * kwq/KWQListBox.h: Remove firstItem(), the insertItem() that takes a QListBoxItem
2545	parameter, and deleteItems(). Add _items, _width, and _widthGood. Removed _head.
2546	Removed the QListBoxItem and QListBoxText classes.
2547        * kwq/KWQListBox.mm:
2548        (QListBox::QListBox): Create a KWQListBoxScrollView and put an NSTableView
2549	inside it. Also create an NSMutableArray to hold the items.
2550        (QListBox::~QListBox): Disconnect the table view from the delegate before
2551	releasing it. Also release the items array.
2552        (QListBox::count): Return the array count.
2553        (QListBox::clear): Do a reloadData here instead of loadColumnZero.
2554        (QListBox::setSelectionMode): Update for table view.
2555        (QListBox::insertItem): Update for table view.
2556        (QListBox::insertGroupLabel): Just calls insertItem for now.
2557        (QListBox::endBatchInsert): Update for table view.
2558        (QListBox::setSelected): Update for table view, including support for multiple
2559	selection.
2560        (QListBox::isSelected): Update for table view.
2561        (QListBox::sizeForNumberOfLines): Use the table view cell for width, and
2562	cache it so we don't have to measure all the strings over and over again.
2563        (-[KWQListBoxScrollView setFrameSize:]): Resize the table view column whenever
2564	the entire scroll view is resized.
2565        (-[KWQListBoxTableViewDelegate initWithListBox:]): Store box pointer and
2566        pointer to items array.
2567        (-[KWQListBoxTableViewDelegate numberOfRowsInTableView:]): Return count.
2568        (-[KWQListBoxTableViewDelegate tableView:objectValueForTableColumn:row:]):
2569	Get the data from the items array.
2570        (-[KWQListBoxTableViewDelegate tableViewSelectionDidChange:]): Call both the
2571	selection-changed signal and the clicked signal.
2572
2573        * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
2574	Get rid of the one place here that gets at a list box item by calling a KWQ
2575	function insertGroupLabel instead of making a QListBoxText. Also call
2576        beginBatchInsert() before clear() for a slight additional speed boost.
2577
2578	- fixed 3067572 -- javascript: URLs typed into page address field or
2579	bookmarks don't work in empty window
2580
2581	We needed a document for DOM, so we make a dummy one. This works for an empty
2582	window, and also for a window with non-HTML content.
2583
2584        * kwq/KWQKHTMLPart.h: Added createDummyDocument().
2585        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createDummyDocument): Create an empty
2586	DOM document if there isn't one already.
2587
2588        * kwq/WebCoreBridge.mm:
2589        (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]): Call the new
2590	createDummyDocument() instead of checking and doing nothing if there is no
2591	document present when this is called.
2592
2593	- other stuff
2594
2595        * kwq/WebCoreBridge.mm: (-[WebCoreBridge DOMDocument]): Removed a stray printf.
2596
2597        * kwq/KWQTextArea.mm: Tweaked code a little.
2598
25992002-10-28  Darin Adler  <darin@apple.com>
2600
2601        * khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
2602	Update so it handles nil for the view.
2603
26042002-10-28  Darin Adler  <darin@apple.com>
2605
2606	- fixed 3070484 -- icon rollovers are very slow on Mac OS X website
2607
2608	The problem was simply that the part didn't know it was complete.
2609	To let it know, I hooked up some loader signals, and now it works.
2610
2611        * khtml/khtml_part.cpp:
2612        (KHTMLPart::init): Create the KWQKHTMLPart a little earlier so we have
2613	a chance to initialize the cache before it's used.
2614        (KHTMLPart::slotLoaderRequestStarted): Take this out of ifdefs.
2615        (KHTMLPart::slotLoaderRequestDone): Ditto.
2616
2617        * khtml/misc/loader.h: Add a KWQLoader pointer to the loader.
2618        * khtml/misc/loader.cpp:
2619        (Loader::Loader): Create a KWQLoader;
2620        (Loader::~Loader): Destroy the KWQLoader.
2621        (Loader::load): Take out ifdefs around code that emits requestStarted.
2622
2623        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Call Cache::init().
2624
2625        * kwq/KWQLoader.h: Add a class KWQLoader, with three signals in it.
2626        * kwq/KWQLoader.mm: (KWQLoader::KWQLoader): Initialize the three signals.
2627
2628        * kwq/KWQSignalStubs.mm:
2629        (Loader::requestDone): Emit the signal using KWQLoader.
2630        (Loader::requestFailed): Ditto.
2631        (Loader::requestStarted): Ditto.
2632
2633        * kwq/KWQSlot.h: Add an overload for slots with loader and cached object
2634	parameters so we can handle the new slots.
2635        * kwq/KWQSlot.mm:
2636        (KWQSlot::KWQSlot): Added slotLoaderRequestDone and slotLoaderRequestStarted.
2637        (KWQSlot::call): Added the new overload to handle those two signals.
2638
2639        * kwq/KWQSignal.h: Add an overload for signals with loader and cached object
2640	parameters so we can handle the new signals.
2641        * kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
2642
2643        * kwq/KWQObject.mm: (QObject::connect): Remove the special casing that
2644	prevents complaints about slotLoaderRequestDone and slotLoaderRequestStarted,
2645	since we support those now.
2646
26472002-10-28  Darin Adler  <darin@apple.com>
2648
2649	- fixed storage leak of items in QListBox
2650
2651        * kwq/KWQListBox.h: Added private deleteItems method.
2652        * kwq/KWQListBox.mm:
2653        (QListBox::~QListBox): Call deleteItems().
2654        (QListBox::deleteItems): Move the code to delete all the items
2655	here from clear(), since clear() is not called on destruction.
2656        (QListBox::clear): Call deleteItems().
2657
26582002-10-28  Chris Blumenberg  <cblu@apple.com>
2659
2660	Lowercase the text encoding name.
2661
2662        * kwq/KWQCharsets.mm:
2663        (KWQCFStringEncodingFromIANACharsetName):
2664
26652002-10-28  Richard Williamson   <rjw@apple.com>
2666    
2667        Fixed 3086188 - REGRESSION: Justified text is broken
2668        
2669        Bogus special case for DirW(hite)S(pace).  This
2670        should be correctly detected by CF, but is not.
2671        Revert to explicit checking for ' ' character.  This'll
2672        work most of the time.  All the more reason to do
2673        our own unicode attribute database.
2674        
2675        * kwq/KWQChar.mm:
2676        (QChar::direction):
2677
26782002-10-28  Chris Blumenberg  <cblu@apple.com>
2679
2680	Fixed: 3056726 - View Source window always displays the source in current system encoding
2681	Fixed: 3019352 - Text encoding is not handled when viewing plain text
2682
2683        * kwq/WebCoreBridge.h:
2684        * kwq/WebCoreBridge.mm:
2685        (+[WebCoreBridge stringWithData:textEncoding:]): added, creates a string with data using the WebCore's decoding logic.
2686        (+[WebCoreBridge stringWithData:textEncodingName:]): added, calls stringWithData:textEncoding: after getting the encoding for a text encoding name
2687
26882002-10-28  Don Melton  <gramps@apple.com>
2689
2690        * khtml/html/htmlparser.cpp:
2691        (KHTMLParser::insertNode):
2692        * khtml/html/htmltokenizer.cpp:
2693        (HTMLTokenizer::write):
2694
2695	Backed our Dave's whitespace hack because it was adding newlines, i.e.
2696	vertical margins, to web pages all over.
2697
26982002-10-28  Darin Adler  <darin@apple.com>
2699
2700	- fixed 3015800 -- bad URL error - unescaped # in URL
2701
2702	Actually this has to be fixed both here and in NSURLExtras.
2703
2704        * kwq/KWQKURL.mm: Set the "BadChar" flag for "#" so we escape any
2705	"#" characters we see after the first one.
2706
27072002-10-27  Darin Adler  <darin@apple.com>
2708
2709	- fixed 3058845 -- <input type=file> uses hard-coded width of 200
2710	pixels for filename
2711
2712        * khtml/rendering/render_form.cpp:
2713        (RenderLineEdit::calcMinMaxWidth): Use a default of 20 "x-widths" wide, to
2714	match Mozilla, rather than the 17 that is in KHTML by default.
2715        (RenderFileButton::calcMinMaxWidth): Pass in a character width here, using
2716	the same 20-character rule as above.
2717        * kwq/KWQFileButton.h: Replace sizeHint() with sizeForCharacterWidth(int).
2718        * kwq/KWQFileButton.mm:
2719        (KWQFileButton::sizeForCharacterWidth): Pass character count to the WebCoreFileButton.
2720        (KWQFileButton::baselinePosition): Fix baseline computation. It was computing some huge
2721	negative number before and was obviously broken.
2722        * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Add an assertion.
2723        * kwq/WebCoreViewFactory.h: Replace bestVisualFrameSize with
2724	bestVisualFrameSizeForCharacterCount:.
2725
27262002-10-27  Don Melton  <gramps@apple.com>
2727
2728        * khtml/ecma/kjs_navigator.cpp:
2729        (Navigator::getValueProperty):
2730
2731	Tweaked AppName, Product, and Vendor logic.
2732
27332002-10-27  Darin Adler  <darin@apple.com>
2734
2735        * kwq/KWQLoader.mm: (KWQServeRequest): Add a missing "delete job" for one
2736	particular failure case.
2737
27382002-10-26  Darin Adler  <darin@apple.com>
2739
2740	- fixed a bug in the WebCore cache that caused it to not cache very much after
2741        a while, and also caused a crash I saw twice on my machine
2742
2743	Adjust total size of items in the LRU list, when the size of one of the
2744	items that's in the list is changed.
2745
2746        * khtml/misc/loader.h: Added a size parameter (default 0) to the CachedObject
2747	constructor. Added a protected CachedObject::setSize() and made m_size private.
2748	Added Cache::adjustSize() and Cache::checkLRUAndUncacheableListIntegrity().
2749        * khtml/misc/loader.cpp:
2750        (CachedObject::setSize): Added. This is now the only legal way to change
2751	the size of a cached object, and it calls Cache::adjustSize.
2752        (CachedCSSStyleSheet::CachedCSSStyleSheet): Pass the length into the base
2753	class's constructor instead of setting m_size.
2754        (CachedCSSStyleSheet::data): Call setSize() instead of setting m_size.
2755	Also get the size back with size() rather than m_size.
2756        (CachedScript::CachedScript): Pass the length into the base class's
2757	constructor instead of setting m_size.
2758        (CachedScript::data): Call setSize() instead of setting m_size. Also get
2759	the size back with size() rather than m_size.
2760        (CachedImage::CachedImage): Don't set m_size to 0, since the base class's
2761	constructor does that already.
2762        (CachedImage::clear): Use setSize() to set the size to 0 instead of setting
2763	m_size directly.
2764        (CachedImage::data): Use setSize() instead of setting m_size directly.
2765        (Cache::checkLRUAndUncacheableListIntegrity): Useful debugging function.
2766	Left in but ifdef'd out.
2767        (Cache::adjustSize): Added. Changes the "total LRU list size" by the
2768	passed-in delta, but only if the passed-in object is in the LRU list.
2769
2770        * kwq/KWQLineEdit.mm:
2771        * kwq/KWQTextField.h:
2772        * kwq/KWQTextField.mm:
2773	Renamed the Objective C class KWQNSTextField to KWQTextField.
2774
27752002-10-26  Darin Adler  <darin@apple.com>
2776
2777	- removed forwarding headers that are not actually needed
2778
2779        * ForwardingHeaders/kcmdlineargs.h: Removed.
2780        * ForwardingHeaders/kinstance.h: Removed.
2781        * ForwardingHeaders/kio/kprinter.h: Removed.
2782        * ForwardingHeaders/kio/ktrader.h: Removed.
2783        * ForwardingHeaders/kio/scheduler.h: Removed.
2784        * ForwardingHeaders/kparts/factory.h: Removed.
2785        * ForwardingHeaders/kparts/historyprovider.h: Removed.
2786        * ForwardingHeaders/kstddirs.h: Removed.
2787        * ForwardingHeaders/qarray.h: Removed.
2788        * ForwardingHeaders/qbrush.h: Removed.
2789        * ForwardingHeaders/qbutton.h: Removed.
2790        * ForwardingHeaders/qcollection.h: Removed.
2791        * ForwardingHeaders/qcombobox.h: Removed.
2792        * ForwardingHeaders/qframe.h: Removed.
2793        * ForwardingHeaders/qglobal.h: Removed.
2794        * ForwardingHeaders/qiodevice.h: Removed.
2795        * ForwardingHeaders/qlineedit.h: Removed.
2796        * ForwardingHeaders/qnamespace.h: Removed.
2797        * ForwardingHeaders/qpen.h: Removed.
2798        * ForwardingHeaders/qprinter.h: Removed.
2799        * ForwardingHeaders/qsize.h: Removed.
2800        * ForwardingHeaders/qstack.h: Removed.
2801
28022002-10-26  Darin Adler  <darin@apple.com>
2803
2804	- fixed a couple of files accidentally checked in with KWQQ names
2805
2806        * ForwardingHeaders/qasyncio.h: Change names.
2807        * ForwardingHeaders/qstylesheet.h: Ditto.
2808        * WebCore.pbproj/project.pbxproj: Ditto.
2809        * kwq/KWQMovie.h: Ditto.
2810
28112002-10-26  Darin Adler  <darin@apple.com>
2812
2813	- changed to use #if APPLE_CHANGES and #if !APPLE_CHANGES consistently
2814
2815	We no longer do #ifdef APPLE_CHANGES or #ifndef APPLE_CHANGES.
2816
2817        * lots of files
2818
28192002-10-26  Darin Adler  <darin@apple.com>
2820
2821        - changed naming scheme in KWQ for files like qstring.h
2822
2823        Now use names like KWQString.h and a forwarding header called qstring.h.
2824        
2825        * tons of files
2826
28272002-10-26  Darin Adler  <darin@apple.com>
2828
2829	- fixed 3068404 -- eliminate all user-visible messages from WebCore
2830
2831        * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Use runJavaScriptPrompt
2832	function instead of the more generic QInputDialog.
2833
2834        * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::altText): Get
2835	submit alt text for input element from the view factory, rather than using
2836	i18n, since we don't support that.
2837        * khtml/html/htmlparser.cpp: (KHTMLParser::handleIsindex): Ditto, for the
2838	intro that says "This is a searchable index".
2839        * khtml/rendering/render_form.cpp:
2840        (RenderSubmitButton::defaultLabel): Ditto, for "Submit".
2841        (RenderResetButton::defaultLabel): Ditto, for "Reset".
2842        (RenderFileButton::slotClicked): Ifdef'd out this unused code that had i18n text in it.
2843
2844        * khtml/xml/xml_tokenizer.cpp:
2845        (XMLHandler::errorString): Put in an ifdef and a FIXME to avoid i18n.
2846        (XMLHandler::fatalError): Ditto.
2847        (XMLTokenizer::finish): Ditto.
2848
2849        * khtml/misc/decoder.cpp: (Decoder::decode): Ifdef'd the check for the first
2850	language being "ja", since that's not how we're going to trigger Japanese
2851	auto-detect.
2852
2853        * khtml/rendering/render_applet.cpp: (RenderEmptyApplet::RenderEmptyApplet):
2854	Turned off the code that does the empty applet label. I don't think it worked,
2855	and it used i18n. We'll have to tackle this eventually.
2856
2857        * kwq/KWQKHTMLPartImpl.h: Added runJavaScriptPrompt.
2858        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::runJavaScriptPrompt): Moved the code
2859	here that used to be in KWQInputDialog.
2860
2861        * kwq/kdecore/klocale.h: Remove i18n() and KLocale::languageList(), added the functions
2862	that are listed below.
2863        * kwq/KWQKLocale.mm:
2864        (inputElementAltText): Added specific function for getting one of the very few
2865	translated strings that we need in WebCore.
2866        (resetButtonDefaultLabel): Ditto.
2867        (searchableIndexIntroduction): Ditto.
2868        (submitButtonDefaultLabel): Ditto.
2869        (KLocale::language): Use the view factory to ask for the language code, since there's no
2870	public API to get it that WebCore can use.
2871
2872        * kwq/WebCoreViewFactory.h: Add new API for above.
2873
2874        * ForwardingHeaders/qinputdialog.h: Added empty file.
2875
2876        * kwq/qt/qinputdialog.h: Removed.
2877        * kwq/KWQInputDialog.mm: Removed.
2878        * WebCore.pbproj/project.pbxproj: Removed QInputDialog files.
2879
28802002-10-25  Darin Adler  <darin@apple.com>
2881
2882	Remove some user-visible strings. We can't have any strings that need
2883	localization in WebCore, given our translation strategy.
2884
2885        * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::encoding):
2886	Put APPLE_CHANGES around some i18n dialog code.
2887        * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Ditto.
2888        * khtml/rendering/render_frames.cpp:
2889        (RenderPartObject::slotPartLoadingErrorNotify): Ditto.
2890        * khtml/ecma/kjs_window.cpp:
2891        (Window::get): Ditto.
2892        (Window::scheduleClose): Ditto.
2893        (WindowFunc::tryCall): Put APPLE_CHANGES in to use JavaScript-specific methods
2894        in the part of calling the generic ones from KMessageBox.
2895
2896        * ForwardingHeaders/kmessagebox.h: Added (empty file).
2897
2898        * kwq/KWQKHTMLPartImpl.h: Added new runJavaScript functions.
2899        * kwq/KWQKHTMLPartImpl.mm:
2900        (KWQKHTMLPartImpl::runJavaScriptAlert): Added.
2901        (KWQKHTMLPartImpl::runJavaScriptConfirm): Added.
2902
2903        * kwq/WebCoreViewFactory.h: Added runJavaScriptAlertPanelWithMessage and
2904	runJavaScriptConfirmPanelWithMessage.
2905
2906        * kwq/kdeui/kmessagebox.h: Removed.
2907        * kwq/KWQKMessageBox.mm: Removed.
2908        * WebCore.pbproj/project.pbxproj: Removed the KMessageBox files.
2909
29102002-10-25  Richard Williamson   <rjw@apple.com>
2911
2912        Removed debug logging.
2913        
2914        * khtml/rendering/font.cpp:
2915        (Font::drawText):
2916
29172002-10-25  Richard Williamson   <rjw@apple.com>
2918
2919        Implemented support for bidi text layout.  WebCore
2920        temporarily depends on SPI to get unicode character
2921        attribute from CF.  This will change shortly.
2922        
2923        * khtml/rendering/font.cpp:
2924        (Font::drawText):
2925        * kwq/KWQChar.mm:
2926        (QChar::direction):
2927        * kwq/KWQPainter.mm:
2928        (QPainter::drawText):
2929        * kwq/WebCoreTextRenderer.h:
2930        * kwq/qt/qpainter.h:
2931
29322002-10-25  Chris Blumenberg  <cblu@apple.com>
2933
2934	Cleaned up the frame searching shenanigans. Things are much cleaner and clearer now.
2935
2936        * kwq/KWQKHTMLPartBrowserExtension.mm:
2937        (KHTMLPartBrowserExtension::createNewWindow): call findFrameNamed
2938        * kwq/KWQKHTMLPartImpl.mm:
2939        (KWQKHTMLPartImpl::bridgeForFrameName): call findOrCreateFramedNamed
2940        * kwq/WebCoreBridge.h:
2941
29422002-10-25  Maciej Stachowiak  <mjs@apple.com>
2943
2944	- fixed 3065638 - "undefined" output to screen on empty document.write()
2945	
2946        * khtml/ecma/kjs_html.cpp:
2947        (KJS::HTMLDocFunction::tryCall): Don;t assume there is at least
2948	one argument.
2949
29502002-10-25  Maciej Stachowiak  <mjs@apple.com>
2951
2952	- fixed 3048031 - innerHTML is incorrectly null
2953	
2954        * kwq/KWQString.mm:
2955        (QString::isNull): Check for NULL by comparing to
2956	shared_null_handle instead of checking for 0 length, so
2957	garden-variety empty strings don't show as NULL.
2958        (QString::QString): Make sure that string created with a NULL char
2959	* uses the shared null handle, so it's properly NULL.
2960
29612002-10-24  Richard Williamson   <rjw@apple.com>
2962
2963        Updated to reflect new calling parameter semantic of floatCharacterWidths(),
2964        which now returns the entire array of widths up the last character requested.
2965        
2966        * khtml/rendering/render_text.cpp:
2967        (TextSlave::checkSelectionPoint):
2968
29692002-10-24  David Hyatt  <hyatt@apple.com>
2970
2971	<pre>, <xmp> and <plaintext> should all have a top margin of 1em.
2972	Fixes a bunch of sites that use <pre>.
2973	
2974        * khtml/css/html4.css:
2975
29762002-10-24  Chris Blumenberg  <cblu@apple.com>
2977
2978	Removed didAddSubview calls because that can easily be done in WebKit. Duh!
2979
2980        * khtml/rendering/render_frames.cpp:
2981        (RenderPart::setWidget):
2982        * kwq/KWQKHTMLPartImpl.h:
2983        * kwq/KWQKHTMLPartImpl.mm:
2984        * kwq/KWQKJavaAppletWidget.mm:
2985        (KJavaAppletWidget::showApplet):
2986        * kwq/WebCoreBridge.h:
2987
29882002-10-24  Darin Adler  <darin@apple.com>
2989
2990	A step in the direction of making KWQ headers much nicer.
2991	Move all empty headers out of kwq, and into ForwardingHeaders.
2992
2993        * ForwardingHeaders/kcmdlineargs.h: Added.
2994        * ForwardingHeaders/kdatastream.h: Added.
2995        * ForwardingHeaders/khtml_iface.h: Added.
2996        * ForwardingHeaders/khtml_printsettings.h: Added.
2997        * ForwardingHeaders/khtml_run.h: Added.
2998        * ForwardingHeaders/kio/kprinter.h: Added.
2999        * ForwardingHeaders/kio/kprotocolmanager.h:
3000        * ForwardingHeaders/kio/ktrader.h: Added.
3001        * ForwardingHeaders/kio/scheduler.h: Added.
3002        * ForwardingHeaders/kmultipledrag.h: Added.
3003        * ForwardingHeaders/kprinter.h: Added.
3004        * ForwardingHeaders/kprotocolmanager.h: Added.
3005        * ForwardingHeaders/ksslcertchain.h: Added.
3006        * ForwardingHeaders/ksslinfodlg.h: Added.
3007        * ForwardingHeaders/kstdaction.h: Added.
3008        * ForwardingHeaders/ktempfile.h: Added.
3009        * ForwardingHeaders/ktrader.h: Added.
3010        * ForwardingHeaders/kurldrag.h: Added.
3011        * ForwardingHeaders/kxmlguifactory.h: Added.
3012        * ForwardingHeaders/qasyncimageio.h: Added.
3013        * ForwardingHeaders/qbitmap.h: Added.
3014        * ForwardingHeaders/qclipboard.h: Added.
3015        * ForwardingHeaders/qfontdatabase.h: Added.
3016        * ForwardingHeaders/qglobal.h: Added.
3017        * ForwardingHeaders/qhbox.h: Added.
3018        * ForwardingHeaders/qintcache.h: Added.
3019        * ForwardingHeaders/qintdict.h: Added.
3020        * ForwardingHeaders/qmetaobject.h: Added.
3021        * ForwardingHeaders/qobjectlist.h: Added.
3022        * ForwardingHeaders/scheduler.h: Added.
3023
3024        * kwq/dcop/kdatastream.h: Removed.
3025        * kwq/kdecore/kcmdlineargs.h: Removed.
3026        * kwq/kdecore/kmultipledrag.h: Removed.
3027        * kwq/kdecore/ktempfile.h: Removed.
3028        * kwq/kdecore/kurldrag.h: Removed.
3029        * kwq/kdeui/kstdaction.h: Removed.
3030        * kwq/kdeui/kxmlguifactory.h: Removed.
3031        * kwq/khtml/khtml_iface.h: Removed.
3032        * kwq/khtml/khtml_printsettings.h: Removed.
3033        * kwq/khtml/khtml_run.h: Removed.
3034        * kwq/kio/kprinter.h: Removed.
3035        * kwq/kio/kprotocolmanager.h: Removed.
3036        * kwq/kio/kssl/ksslcertchain.h: Removed.
3037        * kwq/kio/kssl/ksslinfodlg.h: Removed.
3038        * kwq/kio/ktrader.h: Removed.
3039        * kwq/kio/scheduler.h: Removed.
3040        * kwq/qt/qasyncimageio.h: Removed.
3041        * kwq/qt/qbitmap.h: Removed.
3042        * kwq/qt/qclipboard.h: Removed.
3043        * kwq/qt/qfontdatabase.h: Removed.
3044        * kwq/qt/qglobal.h: Removed.
3045        * kwq/qt/qhbox.h: Removed.
3046        * kwq/qt/qintcache.h: Removed.
3047        * kwq/qt/qintdict.h: Removed.
3048        * kwq/qt/qmetaobject.h: Removed.
3049        * kwq/qt/qobjectlist.h: Removed.
3050
3051        * WebCore.pbproj/project.pbxproj: Removed all the above headers from
3052	the project.
3053
30542002-10-24  Darin Adler  <darin@apple.com>
3055
3056        * ForwardingHeaders/private/qucomextra_p.h: Emptied this out.
3057        * kwq/qt/private/qucomextra_p.h: Removed.
3058
30592002-10-24  David Hyatt  <hyatt@apple.com>
3060
3061	Make sure that KHTML's initial layout happens after KHTML
3062	fires the onload.  This means that in the case where we
3063	beat the timer, we will now fire the onload before both
3064	the initial layout and the initial paint.
3065	
3066        * khtml/html/html_documentimpl.cpp:
3067        (HTMLDocumentImpl::close):
3068
3069=== Alexander-29 ===
3070
30712002-10-24  Chris Blumenberg  <cblu@apple.com>
3072
3073	Use "MIMEType" instead of "serviceType".
3074
3075        * kwq/KWQKHTMLPartImpl.mm:
3076        (KWQKHTMLPartImpl::createPart):
3077        * kwq/WebCoreBridge.h:
3078
30792002-10-24  Darin Adler  <darin@apple.com>
3080
3081        * kwq/KWQKLocale.mm: (i18n): Make it obvious when non-localized
3082	strings from WebCore show up in the UI, but putting the string
3083	"not localized: " in front.
3084
3085        * kwq/KWQKMessageBox.mm:
3086        (KMessageBox::error): Fix use of NSRunAlertPanel so that we won't
3087	accidentally try to interpret % sequences in the messages we are displaying.
3088        (KMessageBox::warningYesNo): Ditto.
3089        (KMessageBox::questionYesNo): Ditto.
3090        (KMessageBox::sorry): Ditto.
3091        (KMessageBox::information): Ditto.
3092
30932002-10-23  Chris Blumenberg  <cblu@apple.com>
3094
3095	WebKit now gets called when render_frame subviews are added.
3096
3097        * khtml/rendering/render_frames.cpp:
3098        (RenderPart::setWidget): call didAddWidget on the part
3099        * kwq/KWQKHTMLPartImpl.h:
3100        * kwq/KWQKHTMLPartImpl.mm:
3101        (KWQKHTMLPartImpl::didAddWidget): added, calls didAddSubview on the bridge
3102
31032002-10-23  Chris Blumenberg  <cblu@apple.com>
3104
3105	Change for plug-in package API changes.
3106
3107        * kwq/KWQKConfigBase.mm:
3108        (KConfig::readEntry):
3109        * kwq/WebCoreBridge.h: added didAddSubview, called when a render_frame's view is added as a subview of the main view.
3110        * kwq/WebCoreViewFactory.h: added didAddSubview
3111
31122002-10-23  Darin Adler  <darin@apple.com>
3113
3114	- finished up the job of moving the file button to WebKit
3115
3116	I did this mainly for localization reasons.
3117
3118        * kwq/KWQFileButton.h: Remove filename(), add filenameChanged(),
3119	make KWQFileButton be a QWidget subclass, not a QPushButton one.
3120	Remove clicked() and paint() virtual functions, _filename, _icon,
3121	and _label data members.
3122        * kwq/KWQFileButton.mm:
3123        (KWQFileButton::KWQFileButton): Just make a WebCoreFileButton.
3124        (KWQFileButton::~KWQFileButton): Less to do here now.
3125        (KWQFileButton::setFilename): Call the button to do the work.
3126        (KWQFileButton::sizeHint): Ditto.
3127        (KWQFileButton::frameGeometry): Ditto.
3128        (KWQFileButton::setFrameGeometry): Ditto.
3129        (KWQFileButton::baselinePosition): Ditto.
3130        (KWQFileButton::filenameChanged): Added. Sends message.
3131        (-[KWQFileButtonAdapter initWithKWQFileButton:]): Observe the "filename
3132	changed notification".
3133        (-[KWQFileButtonAdapter dealloc]): Stop observing.
3134        (-[KWQFileButtonAdapter filenameChanged:]): Send a signal when the notification
3135	comes in, so KHTML finds out.
3136
3137        * kwq/KWQSlot.mm:
3138        (KWQSlot::KWQSlot): Remove handling for RenderFileButton slotReturnPressed.
3139        (KWQSlot::call): Ditto.
3140
3141        * kwq/WebCoreViewFactory.h: Remove bestSize. Add setVisualFrame, visualFrame, and
3142	bestVisualFrameSize.
3143
3144        * kwq/KWQInputDialog.mm: Tweaked includes. Long-term we want to use "", not <>.
3145        * kwq/KWQKConfigBase.mm: Ditto.
3146        * kwq/KWQKHTMLPartImpl.mm: Ditto.
3147
31482002-10-23  Chris Blumenberg  <cblu@apple.com>
3149
3150	Call the arguments for plug-ins "attributes" everywhere.
3151
3152        * kwq/KWQKHTMLPartImpl.mm:
3153        (KWQKHTMLPartImpl::createPart):
3154        * kwq/KWQKJavaAppletWidget.mm:
3155        (KJavaAppletWidget::showApplet):
3156        * kwq/WebCoreBridge.h:
3157
31582002-10-23  Chris Blumenberg  <cblu@apple.com>
3159
3160	For the new plug-in API, we need to pass a WebPluginContainer to the plug-in view upon creation. The is owned by the WebFrame. To make this all work, I had to move the WebCore plug-in and java view constructors to WebBridge from WebViewFactory since WebBridge has the frame. 
3161
3162        * khtml/khtml_part.cpp:
3163        (KHTMLPart::createJavaContext): New APPLE_CHANGES around the java context constructor so we pass the part.
3164        * kwq/KWQKHTMLPartImpl.mm:
3165        (KWQKHTMLPartImpl::createPart): call the bridge to create the view
3166        * kwq/KWQKJavaAppletWidget.mm:
3167        (KJavaAppletWidget::KJavaAppletWidget): save the context
3168        (KJavaAppletWidget::showApplet): call the bridge to create the view
3169        * kwq/WebCoreBridge.h:
3170        * kwq/WebCoreViewFactory.h:
3171        * kwq/khtml/java/kjavaappletcontext.h: made constructor take the part
3172        * kwq/khtml/java/kjavaappletwidget.h: ivar for the context
3173
31742002-10-23  Darin Adler  <darin@apple.com>
3175
3176	- fixed 3080478 -- reproducible incomplete load on apple.com
3177
3178        * kwq/KWQLoaderImpl.mm:
3179        (-[WebCoreResourceLoader receivedResponse:]): Add an assert.
3180        (-[WebCoreResourceLoader cancel]): Don't finish here, just disconnect the handle
3181	from the job, and disconnect the job from the WebCoreResourceLoader, and let the
3182	KHTML code finish the cleanup later. This is the bug fix.
3183        (KWQCheckCacheObjectStatus): Add an assertion.
3184
3185        * kwq/KWQKjobclasses.mm:
3186	(TransferJob::~TransferJob): Don't call kill(); do the work here instead.
3187	(TransferJob::kill): Self-destruct. Need this to avoid a storage leak.
3188
3189        * khtml/misc/loader.cpp:
3190        (CachedObject::~CachedObject): Put some Apple-specific code inside APPLE_CHANGES.
3191        (CachedObject::setResponse): Streamlined this function.
3192        (Loader::receivedResponse): Added assertions.
3193
3194        * kwq/qt/qxml.h: Add more stubs.
3195        * kwq/KWQxml.mm: Ditto.
3196
3197        * kwq/WebCoreViewFactory.h: Add [WebCoreViewFactory fileButton], the
3198	WebCoreFileButton protocol, and WebCoreFileButtonFilenameChanged.
3199        * kwq/WebCoreViewFactory.m: Add WebCoreFileButtonFilenameChanged.
3200        * WebCore.exp: Export _WebCoreFileButtonFilenameChanged.
3201
32022002-10-22  Maciej Stachowiak  <mjs@apple.com>
3203
3204	Forgot to check this in earlier:
3205
3206	- fixed 3077084 - debugging output when suppressing or allowing
3207	pop-ups
3208	
3209        * khtml/ecma/kjs_window.cpp:
3210        (WindowFunc::tryCall):
3211        * kwq/KWQLogging.h:
3212        * kwq/KWQLogging.m:
3213
32142002-10-22  David Hyatt  <hyatt@apple.com>
3215
3216	Get XML files closer.  An XML doc is at least made.  No
3217	parsing works yet though.
3218	
3219        * kwq/KWQKHTMLPartImpl.mm:
3220        (KWQKHTMLPartImpl::setPolicyBaseURL):
3221        * kwq/WebCoreBridge.h:
3222        * kwq/WebCoreBridge.mm:
3223        (-[WebCoreBridge setContentType:]):
3224
32252002-10-22  Chris Blumenberg  <cblu@apple.com>
3226
3227	Fixed: 3023814 - contexual menus and dragging doesn't work for some images
3228
3229	Added a innerNonSharedNode to NodeInfo that points to the node which is not shared by another node. In this case, the innerNonSharedNode is the image node not the area node.
3230
3231        * khtml/rendering/render_frames.cpp:
3232        (RenderFrameSet::nodeAtPoint): call setInnerNonSharedNode
3233        * khtml/rendering/render_image.cpp:
3234        (RenderImage::nodeAtPoint): call setInnerNonSharedNode
3235        * khtml/rendering/render_object.cpp:
3236        (RenderObject::nodeAtPoint): call setInnerNonSharedNode
3237        * khtml/rendering/render_object.h:
3238        * kwq/WebCoreBridge.mm:
3239        (-[WebCoreBridge elementAtPoint:]): use the innerNonSharedNode
3240
32412002-10-22  David Hyatt  <hyatt@apple.com>
3242
3243	Fix slashdot.  Make sure the KONQBLOCK hack just throws away
3244	margins at the tops and bottoms of kids.
3245	
3246        * khtml/css/html4.css:
3247        * khtml/rendering/render_flow.cpp:
3248        (RenderFlow::layoutBlockChildren):
3249
32502002-10-22  David Hyatt  <hyatt@apple.com>
3251
3252	Fix for left-hand-side of wired.com.  A disturbingly basic
3253	bug.  I was applying a parent's margins to its children
3254	when collapsing, even if the parent had a border/padding set
3255	that should have separated it from its kids.
3256	
3257        * khtml/rendering/render_flow.cpp:
3258        (RenderFlow::layoutBlockChildren):
3259
32602002-10-22  David Hyatt  <hyatt@apple.com>
3261
3262	Optimize my inline margin discarding to be smart about the
3263	case when the inline has a block and its beginning or
3264	end.  Fixes aintitcool.com.
3265	
3266        * khtml/rendering/render_flow.cpp:
3267        (RenderFlow::layoutBlockChildren):
3268
32692002-10-22  David Hyatt  <hyatt@apple.com>
3270
3271	Removing konq's flow-around-floats hack for <blockquote> and
3272	<dl>.  These objects are allowed to flow under floats.  Fixes
3273	www.webreference.com's front page.
3274
3275	Also fixing a bug in my <td> margin collapsing quirk that
3276	prevented lists (ol,ul,dl,menu,dir) from collapsing their
3277	top margins into the td.
3278	
3279        * khtml/css/html4.css:
3280        * khtml/rendering/render_flow.cpp:
3281        (RenderFlow::layoutBlockChildren):
3282        (RenderFlow::addChild):
3283
32842002-10-22  David Hyatt  <hyatt@apple.com>
3285
3286	Fix a typo in my change to the h1 rule.
3287	
3288        * khtml/css/html4.css:
3289
32902002-10-22  David Hyatt  <hyatt@apple.com>
3291
3292	Ok, this patch does a lot of stuff.  It contains a complete
3293	rewrite of the WinIE quirk for handling collapsing margins
3294	at the tops and bottoms of table cells.  We match WinIE's
3295	behavior for all HTML4 block-level elements.
3296
3297	This patch also applies a bottom margin to <form> elements,
3298	which is what was causing the missing space on livepage.apple.com
3299	underneath the textfield on the right.  WinIE and Gecko both
3300	put a bottom margin on all forms.
3301
3302	This patch also updates the collapsing margin code to detect
3303	inlines that have been morphed into blocks by KHTML (this is 
3304	so wrong, don't even get me started, you can't treat an inline
3305	as a block, this code is lame, etc. etc.) and to properly ignore
3306	their margins completely.  Fixing the code to not morph inlines
3307	is another architectural problem that will have to be dealt
3308	with (sigh).
3309	
3310        * khtml/css/css_valueimpl.h:
3311        * khtml/css/cssparser.cpp:
3312        (StyleBaseImpl::parseValue):
3313        (StyleBaseImpl::parseUnit):
3314        * khtml/css/cssparser.h:
3315        * khtml/css/cssstyleselector.cpp:
3316        * khtml/css/html4.css:
3317        * khtml/misc/khtmllayout.h:
3318        * khtml/rendering/render_flow.cpp:
3319        (RenderFlow::RenderFlow):
3320        (RenderFlow::layout):
3321        (RenderFlow::layoutBlockChildren):
3322        (RenderFlow::addChild):
3323        * khtml/rendering/render_flow.h:
3324        * khtml/rendering/render_object.h:
3325
33262002-10-21  Darin Adler  <darin@apple.com>
3327
3328        * kwq/KWQInputDialog.mm: (QInputDialog::getText): Call the view factory to do the
3329	heavy lifting.
3330
3331        * kwq/WebCoreViewFactory.h: Add runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:.
3332	Use a protocol for the subclass responsibility.
3333        * kwq/WebCoreViewFactory.m: Remove stub methods not needed because of the subclass responsibility
3334	technique we are using.
3335
3336        * kwq/qt/qstylesheet.h: Made this inline, since it does nothing.
3337        * kwq/KWQStyleSheet.mm: Removed.
3338        * WebCore.pbproj/project.pbxproj: Removed KWQStyleSheet.mm.
3339
33402002-10-21  David Hyatt  <hyatt@apple.com>
3341
3342	Implement support for a new @-rule called @konq-quirks.  This
3343	will allow us to put style rules into html4.css that only
3344	apply for pages in quirks mode.
3345	
3346        * khtml/css/css_ruleimpl.cpp:
3347        (CSSQuirksRuleImpl::CSSQuirksRuleImpl):
3348        (CSSQuirksRuleImpl::~CSSQuirksRuleImpl):
3349        (CSSQuirksRuleImpl::cssRules):
3350        (CSSQuirksRuleImpl::appendRule):
3351        (CSSQuirksRuleImpl::insertRule):
3352        (CSSQuirksRuleImpl::deleteRule):
3353        * khtml/css/css_ruleimpl.h:
3354        * khtml/css/cssparser.cpp:
3355        (StyleBaseImpl::parseAtRule):
3356        * khtml/css/cssparser.h:
3357        * khtml/css/cssstyleselector.cpp:
3358        * khtml/css/cssstyleselector.h:
3359        * khtml/dom/css_rule.h:
3360
33612002-10-21  Darin Adler  <darin@apple.com>
3362
3363	Remove closeEntireTree now that deferred close takes care of that case.
3364
3365        * khtml/html/htmlparser.cpp: (KHTMLParser::startBody):
3366        * khtml/rendering/render_object.h:
3367
33682002-10-21  Darin Adler  <darin@apple.com>
3369
3370	- fixed 3075041 -- text larger/smaller increment too large when font-size specified as %
3371
3372        * khtml/css/cssstyleselector.cpp: Don't apply the zoom factor to a font size that
3373	already has the zoom factor applied.
3374
33752002-10-21  Darin Adler  <darin@apple.com>
3376
3377        * khtml/khtmlview.cpp: (KHTMLView::clear): Default to fast scrolling.
3378	I'm pretty sure this was just backwards here.
3379
33802002-10-21  David Hyatt  <hyatt@apple.com>
3381
3382	DLs are supposed to have margins.
3383	
3384        * khtml/css/html4.css:
3385
33862002-10-21  David Hyatt  <hyatt@apple.com>
3387
3388	Fix for margin problems on aintitcool.com.  There was a subtlety
3389	to WinIE's quirk.  For <h1>-<h6> only, they don't collapse the
3390	bottom margin for table cells (they still collapse the top
3391	margin).  I just love emulating the odd behavior of WinIE.
3392	Wheee.
3393	
3394        * khtml/rendering/render_flow.cpp:
3395        (RenderFlow::layoutBlockChildren):
3396
33972002-10-20  Darin Adler  <darin@apple.com>
3398
3399	Redid my fix. It was just an ordering thing. The image had to already be
3400	installed as the current image before calling ref(), because in the cached
3401	case, you get the loading complete callback right then.
3402
3403        * khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
3404	Call deref on the old image later. Basically, instead of moving the ref
3405	of the new image up, I moved the deref of the old image down.
3406
34072002-10-20  Darin Adler  <darin@apple.com>
3408
3409	Roll out my render_image.cpp change. It was causing a big problem
3410	getting images from the cache. I need to study further to figure out why.
3411
3412        * khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
3413	Roll back the change.
3414
34152002-10-20  David Hyatt  <hyatt@apple.com>
3416
3417	Rewrite the clearing code for floats.  Rewrote the
3418	collapsing margin code to really work with floating and
3419	clearing.  This fixes the right hand side of wired.com.
3420	
3421        * khtml/rendering/render_flow.cpp:
3422        (RenderFlow::layoutBlockChildren):
3423        (RenderFlow::checkClear):
3424        (RenderFlow::addChild):
3425
34262002-10-20  Darin Adler  <darin@apple.com>
3427
3428	- fixed 3007961 -- Crash in DOM::HTMLImageElementImpl::parseAttribute
3429
3430        * khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
3431	Be sure to call ref on the new image before calling deref on the old
3432	image. That's because deref on the old image causes a cache flush,
3433	which might cause the image to go away in certain cases.
3434
34352002-10-20  Chris Blumenberg  <cblu@apple.com>
3436
3437	Fixed possible build failure.
3438
3439        * kwq/KWQDOMNode.cpp:
3440        (isImage): remove unused variable.
3441
34422002-10-20  Chris Blumenberg  <cblu@apple.com>
3443
3444	Partial fix for:
3445	3023814 - contexual menus and dragging doesn't work for some images
3446
3447	The image map case is still broken because I need to find a way to get the RenderImage for an AREA node. Anyone know how?
3448
3449        * kwq/KWQDOMNode.cpp:
3450        (isImage): Also return true if the node is an INPUT tag with TYPE set to "image"
3451
34522002-10-20  Darin Adler  <darin@apple.com>
3453
3454	- fixed 3076390 -- crash in DOM::DocumentImpl::setParsing loading thread detail page
3455	at groups.apple.com
3456
3457        * khtml/khtml_part.cpp: (KHTMLPart::openURL): Don't do any redirect special case
3458	if the document is nil. Just do a normal load in that case.
3459
34602002-10-20  Darin Adler  <darin@apple.com>
3461
3462	- fixed 3079864 -- REGRESSION: assertion failure on any page with a form element
3463
3464        * khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::attach):
3465	Roll back the parent call to use NodeBaseImpl::attach. Not sure why I changed that
3466	at the last minute before my last checkin, but it was *bad*.
3467
3468	- fixed a crash I observed when clicking on an about:blank page
3469
3470        * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Check for nil renderer.
3471
34722002-10-19  Darin Adler  <darin@apple.com>
3473
3474	- fixed 3075032 -- textarea contents sometimes aren't shown
3475
3476	The root of the problem is that we weren't delivering close calls to
3477	the render objects in the case where we created them late due to our FOUC
3478	fix. I taught the DOM implementation to remember that a close call is
3479	due, and deliver it when the render object is created. We can probably
3480	replace the closeEntireTree hack with this too. I'll talk to Dave about
3481	that on Monday.
3482
3483        * khtml/xml/dom_nodeimpl.h: Add m_rendererNeedsClose and closeRenderer.
3484        * khtml/xml/dom_nodeimpl.cpp:
3485        (NodeImpl::NodeImpl): Initialize m_rendererNeedsClose to false.
3486        (NodeImpl::closeRenderer): Call close on the renderer if it's created, otherwise
3487	set m_rendererNeedsClose.
3488        (NodeImpl::attach): If the renderer is created and m_rendererNeedsClose is true
3489	call close on the renderer and set it to false.
3490
3491        * khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::attach):
3492	Rearrange this so that the base class attach is called before updateFromElement
3493	is called. This allows the base attach to do a close for us before we update.
3494
3495        * khtml/html/htmlparser.cpp:
3496        (KHTMLParser::insertNode): Call closeRenderer on the DOM node rather than
3497	calling close on the render node.
3498        (KHTMLParser::popOneBlock): Ditto.
3499        * khtml/xml/xml_tokenizer.cpp:
3500        (XMLHandler::endElement): Ditto.
3501        (XMLTokenizer::finish): Ditto.
3502
35032002-10-19  David Hyatt  <hyatt@apple.com>
3504
3505	A couple of whitespace fixes.  What's really odd about these
3506	fixes is that they *work* but only if you load the page by
3507	hitting "Back".  I suspect that I've now fixed the bugs on
3508	KHTML's end, and we have some sort of whitepsace dropping
3509	problem on our end.
3510
3511        * khtml/html/htmlparser.cpp:
3512        (KHTMLParser::insertNode):
3513        * khtml/html/htmltokenizer.cpp:
3514        (HTMLTokenizer::write):
3515
35162002-10-18  Richard Williamson   <rjw@apple.com>
3517
3518        Fixed khtml to ignore <title> tags after the first tag.
3519        
3520        Fixed setting document.title from JavaScript.
3521        
3522        * khtml/dom/html_document.cpp:
3523        (HTMLDocument::setTitle):
3524        * khtml/html/html_headimpl.cpp:
3525        (HTMLTitleElementImpl::insertedIntoDocument):
3526        (HTMLTitleElementImpl::childrenChanged):
3527
35282002-10-18  Darin Adler  <darin@apple.com>
3529
3530	- fixed 3078293 -- Implement evaluateJavaScript on WebController
3531
3532        * kwq/KWQVariant.mm: (QVariant::asString): Made this return reasonable
3533	values for types other than string. Still may be loose ends left, but
3534	this takes care of most of it.
3535
35362002-10-18  Darin Adler  <darin@apple.com>
3537
3538        * kwq/WebCoreBridge.h:
3539        * kwq/WebCoreBridge.mm:
3540        (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]):
3541	Changed to return a string and changed name.
3542
35432002-10-18  David Hyatt  <hyatt@apple.com>
3544
3545	The collapsing margin rewrite. Also fixes a bug where
3546	we stay in quirks mode for strict HTML4 dtds when we
3547	shouldn't.
3548	
3549        * khtml/html/html_documentimpl.cpp:
3550        (HTMLDocumentImpl::determineParseMode):
3551        * khtml/rendering/render_flow.cpp:
3552        (RenderFlow::layout):
3553        (RenderFlow::layoutBlockChildren):
3554        * khtml/rendering/render_flow.h:
3555        * khtml/rendering/render_object.h:
3556
35572002-10-18  Darin Adler  <darin@apple.com>
3558
3559        * Makefile.am: Move dependency so clean happens before build.
3560
35612002-10-17  Richard Williamson  <rjw@apple.com>
3562
3563        Support for drawing frame borders and frame resizing. (fixes 2982466).
3564
3565        * khtml/rendering/render_frames.cpp:
3566        (RenderFrameSet::userResize):
3567        * kwq/WebCoreBridge.h:
3568        * kwq/WebCoreBridge.mm:
3569        (-[WebCoreBridge frameBorderStyle]):
3570        * kwq/qt/qframe.h:
3571
35722002-10-17  Darin Adler  <darin@apple.com>
3573
3574	- fixed 2807340 -- Alex is case sensitive for anchors, but
3575	should not be in quirks mode (other browsers aren't)
3576
3577        * khtml/dom/html_misc.cpp: Touched this file to prevent us from requiring a
3578	full build. Damned header dependencies still don't work right.
3579
3580        * khtml/html/html_miscimpl.h: Add caseSensitive parameters.
3581        * khtml/html/html_miscimpl.cpp:
3582        (HTMLCollectionImpl::getNamedItem): Add caseSensitive parameter, and compare
3583	by converting both to lower case if it's false and pass it on when recursing.
3584        (HTMLCollectionImpl::namedItem): Pass along a caseSensitive parameter.
3585        (HTMLFormCollectionImpl::getNamedItem): Pass along a caseSensitive parameter.
3586        (HTMLFormCollectionImpl::getNamedFormItem): Pass along, and handle, it.
3587        (HTMLFormCollectionImpl::getNamedImgItem): Ditto.
3588        (HTMLFormCollectionImpl::nextNamedItemInternal): Pass true for caseSensitive.
3589
3590        * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):
3591	Pass false for the new caseSensitive parameter to namedItem when the document
3592	mode is not strict.
3593
3594        * kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines): Removed a stray NSLog
3595	that I left in by accident.
3596
35972002-10-17  Darin Adler  <darin@apple.com>
3598
3599	- fixed 3052547 -- <select> doesn't size properly (size > 1)
3600
3601        * khtml/rendering/render_form.cpp:
3602        (RenderLineEdit::slotReturnPressed): #if !APPLE_CHANGES around some unused
3603	code in here.
3604        (RenderSelect::updateFromElement): Fix bug where it was using Multi here, but
3605	Extended elsewhere for the selection mode.
3606        (RenderSelect::layout): Change code so that QListBox handles the sizing.
3607
3608        * kwq/KWQListBox.h: Removed a lot of unused stuff, made other things use inlines.
3609        * kwq/KWQListBox.mm: Rewrote most of the file contents. Made a new
3610	QListBox::sizeForNumberOfLines method. We will have to port this to NSTableView
3611	rather than NSBrowser.
3612
36132002-10-17  Darin Adler  <darin@apple.com>
3614
3615	- fixed 3078245 -- REGRESSION: lightgrey displays as black, used
3616	to display as white, should display light gray
3617
3618        * kwq/KWQColor.mm: (getNamedColors): For every color with the name
3619	"gray" in it, also include the version spelled "grey" as other
3620	browsers seem to.
3621
36222002-10-17  David Hyatt  <hyatt@apple.com>
3623
3624	Make navigator.product dynamic based off user agent (i.e.,
3625	make it participate in spoofing too).
3626	
3627        * khtml/ecma/kjs_navigator.cpp:
3628        (Navigator::getValueProperty):
3629
3630=== Alexander-28 ===
3631
36322002-10-17  Darin Adler  <darin@apple.com>
3633
3634	- fixed 3077856 -- REGRESSION: scroll to fragment doesn't work
3635	(except when Alex started from command line)
3636
3637        * kwq/kparts/browserextension.h: Initialize reload to false. It was
3638	uninitialized, and when true was preventing anchor navigation from working.
3639
36402002-10-17  Darin Adler  <darin@apple.com>
3641
3642	- fixed 3075992 -- Hang in khtml::RenderFlow::lowestPosition() trying to
3643	render http://avoyagetoarcturus.blogspot.com/
3644
3645        * khtml/rendering/render_flow.cpp:
3646        (RenderFlow::lowestPosition): Don't recurse on the same child twice.
3647        (RenderFlow::rightmostPosition): Ditto.
3648
36492002-10-17  David Hyatt  <hyatt@apple.com>
3650
3651	Fix bayarea.com.  My implementation of offsetParent was
3652	flawed.  And to think I was blaming Gecko... ;)
3653	
3654        * khtml/rendering/render_object.cpp:
3655        (RenderObject::offsetParent):
3656
36572002-10-16  Darin Adler  <darin@apple.com>
3658
3659	- fixed 3061103 -- Line-breaks lost when submitting after pasting text from
3660	MSIE into Alexander textarea
3661
3662        * kwq/KWQLineEdit.mm: (QLineEdit::text):
3663        * kwq/KWQTextEdit.mm: (QTextEdit::text):
3664	Turn \r\n sequences and standalone \r characters into \n characters on the way
3665	out of AppKit land and into KHTML land. I didn't try to make this efficient
3666	for the common case because these are not time-critical functions.
3667
36682002-10-16  Richard Williamson  <rjw@apple.com>
3669
3670        Fixed a few regressions in drawing of frame resize handle
3671        in preparation for drawing frame borders and completing
3672        2982466.
3673        
3674        * khtml/rendering/render_frames.cpp:
3675        (RenderFrameSet::userResize):
3676        * kwq/KWQPainter.mm:
3677        (QPainter::drawRect):
3678        * kwq/qt/qscrollview.h:
3679        * kwq/KWQScrollView.mm:
3680        (QScrollView::updateContents):
3681        * kwq/KWQWidget.mm:
3682        (QWidget::enableFlushDrawing):
3683        
3684        Use static_cast everywhere DOM::NodeImpl is cast to
3685        subclass.
3686        
3687        * kwq/WebCoreDOMNode.mm:
3688        (-[WebCoreDOMNode DOM::]):
3689        (-[WebCoreDOMNodeList DOM::]):
3690        (-[WebCoreDOMNamedNodeMap DOM::]):
3691        (-[WebCoreDOMAttr DOM::]):
3692
36932002-10-16  David Hyatt  <hyatt@apple.com>
3694
3695	Fix crash on pages with bulleted lists.  Making sure the list
3696	item marker doesn't get a layer (which means it has to be
3697	painted by hand now by the list item object).
3698	
3699        * khtml/rendering/render_box.cpp:
3700        (RenderBox::setStyle):
3701        * khtml/rendering/render_list.cpp:
3702        (RenderListItem::printObject):
3703        * khtml/rendering/render_list.h:
3704        * khtml/rendering/render_object.h:
3705
37062002-10-16  Darin Adler  <darin@apple.com>
3707
3708	- fixed 3072542 -- double "&" in submit button
3709
3710        * khtml/rendering/render_form.cpp: (RenderSubmitButton::rawText):
3711	Don't double the "&" character, not needed for KWQ.
3712
37132002-10-16  David Hyatt  <hyatt@apple.com>
3714
3715	When render objects were being dynamically wrapped in anonymous
3716	blocks, the layer parenting connection was being broken without
3717	being reconnected when the wrapping finished.  This patch
3718	shifts the layer connection into the functions that are also
3719	called in the dynamic case.
3720
3721	With this fix, all objects on mrskin finally show up.  Yeehah.
3722	brainjar.com's brain is back too.
3723
3724	This patch also stops treating images as inline if they are
3725	using abs/fixed positioning, since according to the CSS spec,
3726	abs/fixed positioned elements should be treated as block-level
3727	content.
3728	
3729        * khtml/rendering/render_container.cpp:
3730        (RenderContainer::addChild):
3731        (RenderContainer::appendChildNode):
3732        (RenderContainer::insertChildNode):
3733        * khtml/rendering/render_image.cpp:
3734        (RenderImage::setStyle):
3735
37362002-10-16  Darin Adler  <darin@apple.com>
3737
3738	- fixed 3045570 -- can't select a printer at inkfinder.com
3739
3740        * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
3741	Call the new openURL for the case where we are reusing a part.
3742	We do this backwards from how KHTML does, so it's twisted.
3743
3744        * kwq/KWQKHTMLPartImpl.h: Add openURL.
3745        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::openURL):
3746	Tell the bridge to load the URL.
3747
3748        * kwq/mac-encodings.txt: Tweak Korean encoding names.
3749
37502002-10-16  David Hyatt  <hyatt@apple.com>
3751
3752	A very substantial change.  Absolute/fixed positioned elements that
3753	are NOT renderflows were not getting layers constructed for them.
3754	They do now.
3755
3756	Also, floats now have layers constructed for them.  This allows
3757	printSpecialObjects to be completely eliminated, enables smarter
3758	damge rect intersection testing for faster painting, and fixes
3759	regressions on sites like www.demian5.com.
3760	
3761        * khtml/rendering/render_box.cpp:
3762        (RenderBox::setStyle):
3763        * khtml/rendering/render_flow.cpp:
3764        (RenderFlow::printObject):
3765        (RenderFlow::addOverHangingFloats):
3766        (RenderFlow::printTree):
3767        * khtml/rendering/render_flow.h:
3768        * khtml/rendering/render_layer.cpp:
3769        (RenderLayer::constructZTree):
3770        * khtml/rendering/render_root.cpp:
3771        (RenderRoot::printObject):
3772        * khtml/rendering/render_table.cpp:
3773        (RenderTable::print):
3774
37752002-10-16  Richard Williamson  <rjw@apple.com>
3776
3777        Removed bogus code.
3778        
3779        * kwq/KWQKHistoryProvider.mm:
3780
37812002-10-15  Richard Williamson  <rjw@apple.com>
3782
3783        * kwq/WebCoreBridge.mm:
3784        (attributedString):
3785        Don't convert element unless it has a renderer.
3786
3787        * kwq/WebCoreDOMNode.mm:
3788        (-[WebCoreDOMAttr DOM::]):
3789        (-[WebCoreDOMAttr name]):
3790        (-[WebCoreDOMAttr specified]):
3791        (-[WebCoreDOMAttr value]):
3792        (-[WebCoreDOMAttr ownerElement]):
3793        (-[WebCoreDOMElement tagName]):
3794        (-[WebCoreDOMElement setAttribute::]):
3795        (-[WebCoreDOMElement removeAttribute:]):
3796        (-[WebCoreDOMElement getAttributeNode:]):
3797        (-[WebCoreDOMElement removeAttributeNode:]):
3798        (-[WebCoreDOMElement getElementsByTagName:]):
3799        (-[WebCoreDOMElement getAttributeNS::]):
3800        (-[WebCoreDOMElement setAttributeNS:::]):
3801        (-[WebCoreDOMCharacterData data]):
3802        (-[WebCoreDOMCharacterData setData:]):
3803        (-[WebCoreDOMCharacterData length]):
3804        (-[WebCoreDOMCharacterData substringData::]):
3805        (-[WebCoreDOMCharacterData appendData:]):
3806        (-[WebCoreDOMCharacterData insertData::]):
3807        (-[WebCoreDOMCharacterData deleteData::]):
3808        (-[WebCoreDOMText splitText:]):
3809        (-[WebCoreDOMProcessingInstruction data]):
3810        (-[WebCoreDOMProcessingInstruction setData:]):
3811        * kwq/WebCoreDOMPrivate.h:
3812        API cleanup.
3813
38142002-10-15  David Hyatt  <hyatt@apple.com>
3815
3816	More work on making blocks correctly compute their maximal
3817	positive and negative margins.  Adding code to ensure
3818	that floats and absolute/fixed positioned elements know
3819	not to collapse with children or with themselves.  Also adding
3820	code to teach empty blocks that they can collapse their own
3821	margins together.
3822	
3823        * khtml/rendering/render_flow.cpp:
3824        (RenderFlow::layout):
3825        (RenderFlow::layoutBlockChildren):
3826
38272002-10-15  Darin Adler  <darin@apple.com>
3828
3829	WebCore support for using referrer even in loads that are not initiated
3830	by WebCore itself.
3831
3832        * kwq/KWQKHTMLPartBrowserExtension.mm:
3833        (KHTMLPartBrowserExtension::createNewWindow): Don't pass a referrer.
3834	We get the referrer from the part.
3835
3836        * kwq/KWQKHTMLPartImpl.h: Add a new referrer method that works on the
3837	part, and remove the old one that got it from the URL arguments.
3838        * kwq/KWQKHTMLPartImpl.mm:
3839        (KWQKHTMLPartImpl::bridgeForFrameName): Don't pass a referrer when
3840	creating a new window.
3841        (KWQKHTMLPartImpl::openURLRequest): Don't pass a referrer when doing a load.
3842        (KWQKHTMLPartImpl::urlSelected): Don't pass a referrer when doing a load.
3843        (KWQKHTMLPartImpl::createPart): Don't pass a referrer when creating a child
3844	frame for this window.
3845        (KWQKHTMLPartImpl::submitForm): Don't pass a referrer when doing a load.
3846        (KWQKHTMLPartImpl::referrer): Added.
3847
3848        * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Don't pass a referrer when starting
3849	a load.
3850        * kwq/WebCoreBridge.h: Add referrer method. Remove referrer parameter from
3851	many other methods.
3852        * kwq/WebCoreBridge.mm: (-[WebCoreBridge referrer]): Added.
3853
38542002-10-15  Darin Adler  <darin@apple.com>
3855
3856	- fixed 3021713 -- text selection background obliterates descenders
3857	(in www.theregister.co.uk articles)
3858	- fixed 3038207 -- Selected link text doesn't draw its link underline
3859
3860        * khtml/rendering/render_text.cpp:
3861        (TextSlave::printSelection): Don't draw text at all, just draw a selection background.
3862        (RenderText::printObject): Draw in two passes. Draw the selection background in the
3863	first pass, and the text in the second pass. That way pieces of the background won't
3864	cover any other text or adornments, like underlines.
3865
38662002-10-15  Darin Adler  <darin@apple.com>
3867
3868        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
3869	Move the special case of a different anchor within the same
3870	page into WebKit from here.
3871
3872        * kwq/kdecore/kurl.h: Mark urlcmp as a friend.
3873        * kwq/KWQKURL.mm: (urlcmp): Implement the ignoreRef feature, which
3874	is needed to make the KHTMLPart::openURL function work right.
3875
3876        * kwq/WebCoreBridge.h: Removed addBackForwardItemWithURL:anchor:
3877	and added URL method.
3878        * kwq/WebCoreBridge.mm: (-[WebCoreBridge URL]): Added.
3879
38802002-10-15  Darin Adler  <darin@apple.com>
3881
3882	- fixed 3074558 -- frames multiply at: http://www.iarsn.com/
3883
3884	The key was to make the name attribute work properly.
3885
3886        * khtml/ecma/kjs_window.cpp:
3887        (Window::get): Enable the "name" attribute.
3888        (Window::put): Enable the "name" attribute, but don't do the
3889	conversion to an 8-bit string -- leave it as a QString.
3890        * kwq/WebCoreBridge.h: Add setName/name methods.
3891        * kwq/WebCoreBridge.mm:
3892        (-[WebCoreBridge setName:]): Added. Calls part->setName().
3893        (-[WebCoreBridge name]): Added. Calls part->name().
3894        * kwq/kparts/part.h: Added setName/name to ReadOnlyPart.
3895
3896        * kwq/KWQKHTMLPartImpl.mm: Remove old bogusish comment.
3897
38982002-10-15  Richard Williamson  <rjw@apple.com>
3899
3900        Added text color to attributed string conversion.
3901        
3902        * kwq/WebCoreBridge.mm:
3903        (attributedString):
3904
39052002-10-15  Richard Williamson  <rjw@apple.com>
3906
3907        Added API to get attributed string from bridge.
3908        Added API to get selection in terms of the DOM API
3909        from the bridge.
3910        
3911        * kwq/WebCoreBridge.h:
3912        * kwq/WebCoreBridge.mm:
3913        (attributedString):
3914        (-[WebCoreBridge selectionStart]):
3915        (-[WebCoreBridge selectionStartOffset]):
3916        (-[WebCoreBridge selectionEnd]):
3917        (-[WebCoreBridge selectionEndOffset]):
3918
39192002-10-15  Darin Adler  <darin@apple.com>
3920
3921	- fixed 3054791 -- crash in WebCoreSettings _updateAllViews changing font
3922
3923        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::~KWQKHTMLPartImpl):
3924	Pass in the "this" pointer so that the right instance is removed from the
3925	instances list. Before, we would always remove the first instance from the
3926	list, leaving the list broken.
3927
39282002-10-15  Ken Kocienda  <kocienda@apple.com>
3929
3930	Fixed an "unused variable" build breaker. Note that I just 
3931	commented out the code and put a FIXME, as I know this is code
3932	that David has been banging on a lot. This should be either
3933	used for real or removed eventually, but I'll leave that for 
3934	Hyatt.
3935
3936        * khtml/rendering/render_flow.cpp:
3937        (RenderFlow::layoutBlockChildren):
3938
39392002-10-14  David Hyatt  <hyatt@apple.com>
3940
3941	More collapsing margin surgery.  Working on setting up blocks 
3942	to properly compute their collapsed margins (without actually changing
3943	the obsolete collapsing behavior yet).
3944	
3945        * khtml/rendering/render_flow.cpp:
3946        (RenderFlow::RenderFlow):
3947        (RenderFlow::layout):
3948        (RenderFlow::layoutBlockChildren):
3949        * khtml/rendering/render_flow.h:
3950
39512002-10-14  David Hyatt  <hyatt@apple.com>
3952
3953	Adding helper functions for handling of collapsing margins.
3954	Not used yet.
3955	
3956        * khtml/rendering/render_object.h:
3957
39582002-10-14  Darin Adler  <darin@apple.com>
3959
3960	Fixed problems with named colors.
3961
3962        * kwq/KWQColor.mm: (QColor::setNamedColor): Check named colors before
3963	hex codes for colors because our hex code parsing is now lenient enough
3964	that many names qualify.
3965
39662002-10-14  David Hyatt  <hyatt@apple.com>
3967
3968	Really fixing zeldman.com this time.  This disabling stuff
3969	is complicated! :)
3970	
3971        * khtml/html/html_headimpl.cpp:
3972        (HTMLLinkElementImpl::parseAttribute):
3973        (HTMLLinkElementImpl::setStyleSheet):
3974        (HTMLLinkElementImpl::sheetLoaded):
3975
39762002-10-14  David Hyatt  <hyatt@apple.com>
3977
3978	Stop the insanity.  Make sure that a sheet that is disabled
3979	while it is still loading is removed from the doc's list
3980	of pending sheets (for FOUC checks).
3981
3982	Fixes zeldman.com.
3983	
3984        * khtml/html/html_headimpl.cpp:
3985        (HTMLLinkElementImpl::parseAttribute):
3986
39872002-10-14  David Hyatt  <hyatt@apple.com>
3988
3989	Implementing the ability to individually enable/disable
3990	both preferred and alternate stylesheets.  Enabling/disabling
3991	sheets via the disabled property of the <link> element overrides
3992	whether or not a sheet happens to be alternate or preferred.
3993
3994	This new implementation of sheet disabling/enabling was a missing
3995	piece of our HTML4 compliance, and was used by the Wired 
3996	site to implement its text sizing mechanism.
3997	
3998        * khtml/html/html_headimpl.cpp:
3999        (HTMLLinkElementImpl::HTMLLinkElementImpl):
4000        (HTMLLinkElementImpl::parseAttribute):
4001        (HTMLLinkElementImpl::process):
4002        * khtml/html/html_headimpl.h:
4003        * khtml/xml/dom_docimpl.cpp:
4004        (DocumentImpl::recalcStyleSelector):
4005
40062002-10-11  Richard Williamson   <rjw@apple.com>
4007
4008        Remove debugging.
4009        
4010        * kwq/WebCoreDOMDocument.mm:
4011        (+[WebCoreDOMDocument documentWithImpl:DOM::]):
4012        * kwq/WebCoreDOMNode.mm:
4013        (-[WebCoreDOMNode lastChild]):
4014
40152002-10-11  Richard Williamson   <rjw@apple.com>
4016
4017        More DOM/attributed string work.  Still need to fix more
4018        inappropriate casting problems.
4019        
4020        * khtml/dom/dom_node.cpp:
4021        (Node::lastChild):
4022        * khtml/xml/dom_nodeimpl.cpp:
4023        (NodeImpl::lastChild):
4024        (NodeBaseImpl::lastChild):
4025        * khtml/xml/dom_nodeimpl.h:
4026        * kwq/KWQKHTMLPartImpl.cpp:
4027        (KWQKHTMLPartImpl::selectionStartOffset):
4028        (KWQKHTMLPartImpl::selectionEndOffset):
4029        (KWQKHTMLPartImpl::selectionStart):
4030        (KWQKHTMLPartImpl::selectionEnd):
4031        * kwq/KWQKHTMLPartImpl.h:
4032        * kwq/WebCoreBridge.h:
4033        * kwq/WebCoreBridge.mm:
4034        (-[WebCoreBridge DOMDocument]):
4035        (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
4036        (attributedString):
4037        (-[WebCoreBridge selectedAttributedString]):
4038        (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]):
4039        * kwq/WebCoreDOMDocument.mm:
4040        (-[WebCoreDOMDocumentType DOM::]):
4041        (-[WebCoreDOMDocumentType name]):
4042        (-[WebCoreDOMDocumentType entities]):
4043        (-[WebCoreDOMDocumentType notations]):
4044        (-[WebCoreDOMDocumentType publicId]):
4045        (-[WebCoreDOMDocumentType systemId]):
4046        (-[WebCoreDOMDocumentType internalSubset]):
4047        (-[WebCoreDOMImplementation DOM::]):
4048        (-[WebCoreDOMImplementation hasFeature::]):
4049        (-[WebCoreDOMImplementation createDocument:::]):
4050        (+[WebCoreDOMDocument documentWithImpl:DOM::]):
4051        (-[WebCoreDOMDocument DOM::]):
4052        (-[WebCoreDOMDocument doctype]):
4053        (-[WebCoreDOMDocument implementation]):
4054        (-[WebCoreDOMDocument documentElement]):
4055        (-[WebCoreDOMDocument createElement:]):
4056        (-[WebCoreDOMDocument createElementNS::]):
4057        (-[WebCoreDOMDocument createDocumentFragment]):
4058        (-[WebCoreDOMDocument createTextNode:]):
4059        (-[WebCoreDOMDocument createComment:]):
4060        (-[WebCoreDOMDocument createCDATASection:]):
4061        (-[WebCoreDOMDocument createProcessingInstruction::]):
4062        (-[WebCoreDOMDocument createAttribute:]):
4063        (-[WebCoreDOMDocument createAttributeNS::]):
4064        (-[WebCoreDOMDocument createEntityReference:]):
4065        (-[WebCoreDOMDocument getElementById:]):
4066        (-[WebCoreDOMDocument getElementsByTagName:]):
4067        (-[WebCoreDOMDocument getElementsByTagNameNS::]):
4068        (-[WebCoreDOMDocument importNode::]):
4069        * kwq/WebCoreDOMNode.mm:
4070        (-[WebCoreDOMNode initWithImpl:DOM::]):
4071        (-[WebCoreDOMNode firstChild]):
4072        (-[WebCoreDOMNode lastChild]):
4073        * kwq/WebCoreDOMPrivate.h:
4074        * kwq/WebCoreBridge.mm:
4075        (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
4076        (recursive_toHTML):
4077        (attributedString):
4078
40792002-10-11  David Hyatt  <hyatt@apple.com>
4080
4081	Fix for 3058829, assertion caused by table cell with
4082	incorrect display type.  Implemented a quirk that forces
4083	<td>s of display: block to construct table cells as
4084	rendering objects. 
4085	
4086        * khtml/rendering/render_object.cpp:
4087        (RenderObject::createObject):
4088
4089=== Alexander-27 ===
4090
40912002-10-10  Darin Adler  <darin@apple.com>
4092
4093	- fixed 3047782 -- Alexander rejects some color strings that other browsers accept
4094
4095        * khtml/misc/helper.cpp: (khtml::setNamedColor): Put some of the code from this
4096	level that tries to accomodate bad colors in #if !APPLE_CHANGES, since we do most
4097	of the smarts in KWQ.
4098
4099        * kwq/KWQColor.mm:
4100        (hex2int): Tolerate non-hex digits, treating them as 0.
4101        (decodeColorFromHexColorString): Trim any number of leading # characters, and trailing
4102	" and ' characters. Handle strings of 4, 5, 7, 8, 10, and 11 hex digits, along with
4103	the existing 3, 6, 9, and 12.
4104
41052002-10-10  David Hyatt  <hyatt@apple.com>
4106
4107	Fix a subtle bug with layers.  When a parent is sorted with its
4108	children the parent's zindex must be treated as 0, so that
4109	negative children draw behind the layer's content and positive
4110	children (or auto children) draw in front of the layer's content.
4111
4112	This fix makes chrysler.com work again (and doubtless many other
4113	messed up DHTML sites).
4114	
4115        * khtml/rendering/render_layer.cpp:
4116        (RenderLayer::constructZTree):
4117        (RenderLayer::RenderZTreeNode::constructLayerList):
4118
41192002-10-09  Richard Williamson  <rjw@apple.com>
4120
4121        Implemented string conversion functions.
4122        
4123        * kwq/WebCoreDOMDocument.mm:
4124        (domStringToNSString):
4125        (NSStringToDOMString):
4126
41272002-10-09  Darin Adler  <darin@apple.com>
4128
4129	- fixed 3069264 -- REGRESSION: windows created for links with
4130	target=blank start out hidden (window menu only)
4131
4132        * kwq/WebCoreBridge.h: Removed openNewWindowWithURL:referrer:frameName: and
4133	added createWindowWithURL:referrer:frameName: and showWindow.
4134
4135        * kwq/KWQKHTMLPartBrowserExtension.mm:
4136        (KHTMLPartBrowserExtension::createNewWindow): Call createWindowWithURL,
4137	and then showWindow after the window is set up. Also change the code that
4138	flips coordinates to always use the height of the first screen instead of
4139	using the height of the screen the window is on, which sounds right, but
4140	is wrong.
4141
4142        * kwq/KWQKHTMLPartImpl.mm:
4143        (KWQKHTMLPartImpl::bridgeForFrameName): Call createWindowWithURL and then
4144	showWindow in the case where we create a window.
4145        (KWQKHTMLPartImpl::urlSelected): Remove unused command-click code. The real
4146	command-click code is in the browser now.
4147
41482002-10-09  Darin Adler  <darin@apple.com>
4149
4150	- fixed 3069749 -- crash in QString during third run of cvs-base
4151
4152        * kwq/KWQString.mm:
4153        (checkNodeAllocationPages): Added function to use for debugging.
4154        (_allocateNode): Clear the next pointer after removing a page from the free
4155	node list so that the free node list doesn't point at part of the used node list.
4156        (freeHandle): Change the code around so that the code to add the node to the
4157	free list works even in the case where this was the top from the used list.
4158	The old code would half-remove the node from the used list and not add it to
4159	the free list at all.
4160
41612002-10-09  Darin Adler  <darin@apple.com>
4162
4163        * WebCore.pbproj/project.pbxproj: Project Builder wanted to set encodings
4164	for new files. Maybe Richard is not using the new Project Builder on all
4165	his machines?
4166
4167        * kwq/KWQString.mm: (_allocateNode): Fix typo in comment.
4168
4169        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::bridgeForFrameName): Tweak.
4170
41712002-10-09  David Hyatt  <hyatt@apple.com>
4172
4173	This was an unintentional checkin. backing out.
4174	
4175        * khtml/xml/dom_elementimpl.cpp:
4176        (NamedAttrMapImpl::removeNamedItem):
4177
41782002-10-08  Richard Williamson   <rjw@apple.com>
4179
4180        Added bridge method set the selection.
4181        
4182        * kwq/WebCoreBridge.h:
4183        * kwq/WebCoreBridge.mm:
4184        (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
4185
41862002-10-08  Richard Williamson   <rjw@apple.com>
4187
4188        Added bridge method to get the DOM document.
4189        
4190        * kwq/WebCoreBridge.h:
4191        * kwq/WebCoreBridge.mm:
4192        (-[WebCoreBridge DOMDocument]):
4193        * kwq/WebCoreDOM.h:
4194
41952002-10-08  Richard Williamson   <rjw@apple.com>
4196
4197        More DOM implementation.
4198        
4199        * khtml/dom/dom_text.h:
4200        * khtml/dom/dom_xml.h:
4201        * khtml/xml/dom_textimpl.h:
4202        * khtml/xml/dom_xmlimpl.h:
4203        * kwq/WebCoreDOM.h:
4204        * kwq/WebCoreDOMNode.mm:
4205        (DOM::CharacterDataImpl::createInstance):
4206        (DOM::TextImpl::createInstance):
4207        (DOM::ProcessingInstructionImpl::createInstance):
4208        (-[WebCoreDOMCharacterData data]):
4209        (-[WebCoreDOMCharacterData setData:]):
4210        (-[WebCoreDOMCharacterData length]):
4211        (-[WebCoreDOMCharacterData substringData::]):
4212        (-[WebCoreDOMCharacterData appendData:]):
4213        (-[WebCoreDOMCharacterData insertData::]):
4214        (-[WebCoreDOMCharacterData deleteData::]):
4215        (-[WebCoreDOMText splitText:]):
4216        (+[WebCoreDOMCDATASection CDATASectionWithImpl:DOM::]):
4217        (-[WebCoreDOMProcessingInstruction data]):
4218        (-[WebCoreDOMProcessingInstruction setData:]):
4219        * kwq/WebCoreDOMPrivate.h:
4220        * kwq/WebDOMElement.h:
4221
42222002-10-08  Richard Williamson   <rjw@apple.com>
4223
4224        Implemented WebCoreDOMElement.
4225        Fixed extra deref of impl in subclasses
4226        of WebCoreDOMNode.
4227        
4228        * khtml/dom/dom_element.h:
4229        * khtml/dom/dom_node.h:
4230        * khtml/xml/dom_elementimpl.h:
4231        * khtml/xml/dom_nodeimpl.h:
4232        * kwq/WebCoreDOMDocument.mm:
4233        (-[WebCoreDOMDocument initWithImpl:DOM::]):
4234        * kwq/WebCoreDOMNode.mm:
4235        (DOM::NodeListImpl::createInstance):
4236        (DOM::NamedNodeMapImpl::createInstance):
4237        (DOM::AttrImpl::createInstance):
4238        (DOM::ElementImpl::createInstance):
4239        (-[WebCoreDOMNodeList length]):
4240        (-[WebCoreDOMNodeList item:]):
4241        (-[WebCoreDOMAttr initWithImpl:DOM::]):
4242        (+[WebCoreDOMDocumentFragment documentFragmentWithImpl:DOM::]):
4243        (-[WebCoreDOMElement tagName]):
4244        (-[WebCoreDOMElement setAttribute::]):
4245        (-[WebCoreDOMElement removeAttribute:]):
4246        (-[WebCoreDOMElement getAttributeNode:]):
4247        (-[WebCoreDOMElement removeAttributeNode:]):
4248        (-[WebCoreDOMElement getElementsByTagName:]):
4249        (-[WebCoreDOMElement getAttributeNS::]):
4250        (-[WebCoreDOMElement setAttributeNS:::]):
4251        * kwq/WebDOMDocument.h:
4252        * kwq/WebDOMElement.h:
4253
42542002-10-08  Richard Williamson   <rjw@apple.com>
4255
4256        First cut at ObjC stubs for DOM API.  Finished the
4257        main classes.  Need to finish
4258        WebDOMElement, WebDOMElement, WebDOMElement, 
4259        WebDOMCDATASection, WebDOMText, WebDOMComment,
4260        WebDOMCharacterData and 
4261        
4262        * WebCore.pbproj/project.pbxproj:
4263        * khtml/dom/dom_doc.h:
4264        * khtml/dom/dom_element.h:
4265        * khtml/dom/dom_node.h:
4266        * khtml/xml/dom_docimpl.h:
4267        * khtml/xml/dom_elementimpl.h:
4268        * khtml/xml/dom_nodeimpl.h:
4269        * kwq/WebCoreDOM.h: Added.
4270        * kwq/WebCoreDOMDocument.mm: Added.
4271        (DOM::DOMImplementationImpl::createInstance):
4272        (DOM::DocumentTypeImpl::createInstance):
4273        (DOM::DocumentImpl::createInstance):
4274        (domStringToNSString):
4275        (NSStringToDOMString):
4276        (+[WebCoreDOMDocumentType documentTypeWithImpl:DOM::]):
4277        (-[WebCoreDOMDocumentType initWithImpl:DOM::]):
4278        (-[WebCoreDOMDocumentType dealloc]):
4279        (-[WebCoreDOMDocumentType DOM::]):
4280        (-[WebCoreDOMDocumentType name]):
4281        (-[WebCoreDOMDocumentType entities]):
4282        (-[WebCoreDOMDocumentType notations]):
4283        (-[WebCoreDOMDocumentType publicId]):
4284        (-[WebCoreDOMDocumentType systemId]):
4285        (-[WebCoreDOMDocumentType internalSubset]):
4286        (+[WebCoreDOMImplementation implementionatWithImpl:DOM::]):
4287        (-[WebCoreDOMImplementation initWithImpl:DOM::]):
4288        (-[WebCoreDOMImplementation dealloc]):
4289        (-[WebCoreDOMImplementation DOM::]):
4290        (-[WebCoreDOMImplementation hasFeature::]):
4291        (-[WebCoreDOMImplementation createDocument:::]):
4292        (+[WebCoreDOMDocument documentWithImpl:DOM::]):
4293        (-[WebCoreDOMDocument initWithImpl:DOM::]):
4294        (-[WebCoreDOMDocument dealloc]):
4295        (-[WebCoreDOMDocument DOM::]):
4296        (-[WebCoreDOMDocument doctype]):
4297        (-[WebCoreDOMDocument implementation]):
4298        (-[WebCoreDOMDocument documentElement]):
4299        (-[WebCoreDOMDocument createElement:]):
4300        (-[WebCoreDOMDocument createElementNS::]):
4301        (-[WebCoreDOMDocument createDocumentFragment]):
4302        (-[WebCoreDOMDocument createTextNode:]):
4303        (-[WebCoreDOMDocument createComment:]):
4304        (-[WebCoreDOMDocument createCDATASection:]):
4305        (-[WebCoreDOMDocument createProcessingInstruction::]):
4306        (-[WebCoreDOMDocument createAttribute:]):
4307        (-[WebCoreDOMDocument createAttributeNS::]):
4308        (-[WebCoreDOMDocument createEntityReference:]):
4309        (-[WebCoreDOMDocument getElementById:]):
4310        (-[WebCoreDOMDocument getElementsByTagName:]):
4311        (-[WebCoreDOMDocument getElementsByTagNameNS::]):
4312        (-[WebCoreDOMDocument importNode::]):
4313        * kwq/WebCoreDOMNode.mm: Added.
4314        (DOM::NamedNodeMapImpl::createInstance):
4315        (DOM::AttrImpl::createInstance):
4316        (+[WebCoreDOMNode nodeWithImpl:DOM::]):
4317        (-[WebCoreDOMNode initWithImpl:DOM::]):
4318        (-[WebCoreDOMNode DOM::]):
4319        (-[WebCoreDOMNode dealloc]):
4320        (-[WebCoreDOMNode nodeName]):
4321        (-[WebCoreDOMNode nodeValue]):
4322        (-[WebCoreDOMNode setNodeValue:]):
4323        (-[WebCoreDOMNode nodeType]):
4324        (-[WebCoreDOMNode parentNode]):
4325        (-[WebCoreDOMNode firstChild]):
4326        (-[WebCoreDOMNode lastChild]):
4327        (-[WebCoreDOMNode previousSibling]):
4328        (-[WebCoreDOMNode nextSibling]):
4329        (-[WebCoreDOMNode ownerDocument]):
4330        (-[WebCoreDOMNode insert:before:]):
4331        (-[WebCoreDOMNode replace:child:]):
4332        (-[WebCoreDOMNode removeChild:]):
4333        (-[WebCoreDOMNode hasChildNodes]):
4334        (-[WebCoreDOMNode cloneNode:]):
4335        (-[WebCoreDOMNode normalize]):
4336        (-[WebCoreDOMNode isSupported::]):
4337        (-[WebCoreDOMNode namespaceURI]):
4338        (-[WebCoreDOMNode prefix]):
4339        (-[WebCoreDOMNode setPrefix:]):
4340        (-[WebCoreDOMNode localName]):
4341        (+[WebCoreDOMNodeList nodeListWithImpl:DOM::]):
4342        (-[WebCoreDOMNodeList initWithImpl:DOM::]):
4343        (-[WebCoreDOMNodeList DOM::]):
4344        (-[WebCoreDOMNodeList dealloc]):
4345        (+[WebCoreDOMNamedNodeMap namedNodeMapWithImpl:DOM::]):
4346        (-[WebCoreDOMNamedNodeMap initWithImpl:DOM::]):
4347        (-[WebCoreDOMNamedNodeMap DOM::]):
4348        (-[WebCoreDOMNamedNodeMap dealloc]):
4349        (-[WebCoreDOMNamedNodeMap length]):
4350        (-[WebCoreDOMNamedNodeMap getNamedItem:]):
4351        (-[WebCoreDOMNamedNodeMap setNamedItem:]):
4352        (+[WebCoreDOMAttr attrWithImpl:DOM::]):
4353        (-[WebCoreDOMAttr initWithImpl:DOM::]):
4354        (-[WebCoreDOMAttr DOM::]):
4355        (-[WebCoreDOMAttr dealloc]):
4356        (-[WebCoreDOMAttr name]):
4357        (-[WebCoreDOMAttr specified]):
4358        (-[WebCoreDOMAttr value]):
4359        (-[WebCoreDOMAttr ownerElement]):
4360        (+[WebCoreDOMCDATASection CDATASectionWithImpl:DOM::]):
4361        (-[WebCoreDOMCDATASection initWithImpl:DOM::]):
4362        (-[WebCoreDOMCDATASection DOM::]):
4363        (-[WebCoreDOMCDATASection dealloc]):
4364        * kwq/WebCoreDOMPrivate.h: Added.
4365        * kwq/WebDOMDocument.h: Added.
4366        * kwq/WebDOMElement.h: Added.
4367        * kwq/WebDOMNode.h: Added.
4368
43692002-10-09  David Hyatt  <hyatt@apple.com>
4370
4371	Fix a bug in my event handling code for layers.   This makes
4372	the links on ESPN.com work again (bug 3051636).  Yay!
4373	
4374        * khtml/rendering/render_layer.cpp:
4375        (RenderLayer::constructZTree):
4376        * khtml/xml/dom_elementimpl.cpp:
4377        (NamedAttrMapImpl::removeNamedItem):
4378        * kwq/qt/qrect.h:
4379
43802002-10-07  Darin Adler  <darin@apple.com>
4381
4382	- fixed 3037353 -- align="middle" elements not horizontally centered
4383
4384        * khtml/html/html_blockimpl.cpp: (HTMLDivElementImpl::parseAttribute):
4385        * khtml/html/html_tableimpl.cpp: (HTMLTablePartElementImpl::parseAttribute):
4386	Handle "middle" same as center in these two places.
4387
43882002-10-07  Darin Adler  <darin@apple.com>
4389
4390	WebCore part of implementation of multipart forms posting.
4391
4392        * kwq/WebCoreBridge.h: Add a contentType parameter to the bridge's
4393	[postWithURL:referrer:data:] method.
4394
4395        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::submitForm):
4396	Extract the content type from the args, and pass it along to the bridge.
4397
43982002-10-07  Darin Adler  <darin@apple.com>
4399
4400	- fixed 3011025 -- Page up/down is not working when text area has focus
4401
4402        * kwq/KWQTextArea.mm:
4403        (-[KWQTextArea needsPanelToBecomeKey]): Return YES so we are considered a
4404	valid key view even when in normal tabbing mode. This fixes a problem with
4405	tabbing backwards into a text area.
4406        (-[KWQTextAreaTextView scrollPageUp:]): Added. Passes a scrollPageUp:
4407	selector along the responder chain if we are already scrolled to the top.
4408        (-[KWQTextAreaTextView scrollPageDown:]): Ditto.
4409
4410        * kwq/KWQNSTextField.mm: Remove unnecessary overrides of textDidEndEditing.
4411	Turns out the real fix was to override display to do nothing as a workaround
4412	for bug 2753974.
4413
44142002-10-07  Richard Williamson   <rjw@apple.com>
4415
4416        Added response to WebCore's CachedObject.  This allows us to correctly
4417        emulate the WebResourceLoadDelegate API when 're'loading an item
4418        from the WebCore cache.  
4419        
4420        * khtml/misc/loader.cpp:
4421        (CachedObject::~CachedObject):
4422        (CachedObject::setResponse):
4423        (Loader::receivedResponse):
4424        * khtml/misc/loader.h:
4425        * kwq/KWQLoaderImpl.h:
4426        * kwq/KWQLoaderImpl.mm:
4427        (-[WebCoreResourceLoader receivedResponse:]):
4428        (KWQCheckCacheObjectStatus):
4429        (KWQRetainResponse):
4430        (KWQReleaseResponse):
4431        * kwq/WebCoreBridge.h:
4432        * kwq/WebCoreResourceLoader.h:
4433
44342002-10-06  Darin Adler  <darin@apple.com>
4435
4436	- fixed 3046737 -- infinite loop in font name matching code on some pages
4437
4438        * kwq/KWQString.mm: (QString::replace): Removed the incorrect early exit if
4439	the passed in string was the empty string.
4440
44412002-10-04  Darin Adler  <darin@apple.com>
4442
4443        * kwq/KWQKURL.mm: (KURL::parse): Fix code that adds "//" to file URLs.
4444	The code was including the extra slashes as part of the path, which they are not.
4445	Verified with the tests in the Tests directory.
4446
44472002-10-03  Darin Adler  <darin@apple.com>
4448
4449	- fixed 3065730 -- Crash loading "My T-Mobile" page (in khtml::Decoder::decode)
4450
4451        * khtml/misc/decoder.cpp: (Decoder::decode): Fixed a mistake that would cause
4452	the loop to run off the end of the buffer, introduced back on 2002-08-30.
4453
44542002-10-03  Darin Adler  <darin@apple.com>
4455
4456	Add API to execute JavaScript.
4457
4458        * kwq/WebCoreBridge.h: Add method.
4459        * kwq/WebCoreBridge.mm:
4460        (-[WebCoreBridge executeJavaScriptFromString:]): Call through to
4461	KHTML. But only if the document is not nil. We need to figure out
4462	what to do in the case where the document is nil.
4463
4464=== Alexander-26 ===
4465
44662002-10-02  Darin Adler  <darin@apple.com>
4467
4468	Moved "overURL" handling out of WebCore into WebKit and Alex.
4469	Also separated the two levels of the "element dictionary" so they
4470	don't rely on having the same keys.
4471
4472        * khtml/khtml_part.h: Revert the APPLE_CHANGES to overURL.
4473        * khtml/khtml_part.cpp:
4474        (KHTMLPart::overURL): Removed the APPLE_CHANGES and just ifdef'd out
4475	the whole thing for our version.
4476        (KHTMLPart::khtmlMouseMoveEvent): Get rid of the APPLE_CHANGES and
4477	don't do any of the status bar setup.
4478
4479        * kwq/KWQKHTMLPartImpl.h: Remove overURL.
4480        * kwq/KWQKHTMLPartImpl.mm: Ditto.
4481
4482        * kwq/WebCoreBridge.h: Change keys so they don't match the WebKit ones so
4483	we don't accidentally rely on that. Add WebCoreElementLinkTarget.
4484
4485        * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Add code to
4486	set up WebCoreElementLinkTarget.
4487
44882002-10-01  Darin Adler  <darin@apple.com>
4489
4490	- fixed 3055076 -- window.scroll does a window.scrollby, not a window.scrollto
4491
4492        * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Moved a case so that the
4493	scroll code would scroll to, not by.
4494
44952002-10-01  David Hyatt  <hyatt@apple.com>
4496
4497	Fix the case sensitivity problem with attribute names 
4498	in HTML.  They are now lower-cased when being queried
4499	from the DOM. Bug 3058145.
4500	
4501        * khtml/xml/dom_docimpl.cpp:
4502        (DocumentImpl::attrName):
4503
45042002-10-01  David Hyatt  <hyatt@apple.com>
4505
4506	Make sure to keep the fix checked in for 1.18.  That fix is
4507	good.
4508	
4509        * khtml/rendering/render_table.cpp:
4510        (RenderTable::addColInfo):
4511
45122002-10-01  David Hyatt  <hyatt@apple.com>
4513
4514	Backing out change to render_table.cpp.  The original logic
4515	(in version 1.16) is correct.
4516	
4517        * khtml/rendering/render_table.cpp:
4518        (RenderTable::addColInfo):
4519
45202002-09-30  Darin Adler  <darin@apple.com>
4521
4522        * kwq/qt/qobject.h: Add the destroyed signal.
4523        * kwq/KWQObject.mm:
4524        (QObject::connect): Remove names of parentDestroyed and slotWidgetDestructed
4525	from the list of "slots OK to fail to connect without complaining".
4526        (QObject::QObject): Initialize the destroyed signal.
4527
4528        * kwq/qt/qguardedptr.h:
4529        * kwq/KWQGuardedPtr.mm:
4530        * kwq/KWQSignal.h:
4531        * kwq/KWQSlot.h:
4532	Rearrange includes so qobject.h can include KWQSignal.h.
4533
4534        * kwq/KWQSignal.mm: Tweak.
4535
4536        * kwq/KWQSlot.mm: Added support for the parentDestroyed slot in KJS::WindowQObject
4537	and the slotWidgetDestructed slot in khtml::RenderWidget.
4538
45392002-09-28  Darin Adler  <darin@apple.com>
4540
4541	Turn -Werror back on. There must have been some miscommunication
4542	about the fat build; this was supposed to have been on.
4543
4544        * WebCore.pbproj/project.pbxproj: Add -Werror back.
4545
4546        * kwq/WebCoreHistory.h: Add missing method to fix warning.
4547        * kwq/KWQKHistoryProvider.mm: Tweak.
4548
45492002-09-28  Darin Adler  <darin@apple.com>
4550
4551	Give the next fat build a better chance of working with the
4552	new gcc without turning -Werror off.
4553
4554        * khtml/css/cssparser.cpp: Use a macro to disable inlining.
4555        * khtml/html/htmltokenizer.cpp: Ditto.
4556        * khtml/misc/htmlhashes.cpp: Ditto.
4557
45582002-09-28  Darin Adler  <darin@apple.com>
4559
4560	- fixed 3022441 -- scroll bar is missing in window created with window.open
4561
4562        * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): The checks for extra
4563	parameters to window.open were using isNull, which checks for a null ValueImp
4564	pointer, not an "Undefined".
4565
45662002-09-28  Darin Adler  <darin@apple.com>
4567
4568	- fixed 2886111 -- changing font or size preference causes open
4569	windows to redraw incorrectly
4570
4571        * khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
4572	Fix logic about when a recalc of the minWidth and maxWidth is needed.
4573
4574	Fixed bug where changing the text size multiplier would cause the
4575	window to redraw twice -- once with the text size changed, and then
4576	later with the layout changed.
4577
4578        * khtml/khtmlview.h: Added unscheduleRelayout.
4579        * khtml/khtmlview.cpp: (KHTMLView::unscheduleRelayout): Added.
4580
4581        * kwq/KWQKHTMLPartImpl.h: Added forceLayout.
4582        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::forceLayout): Call
4583	both layout and unscheduleRelayout.
4584
4585        * kwq/WebCoreBridge.h: Add setNeedsLayout.
4586        * kwq/WebCoreBridge.mm:
4587        (-[WebCoreBridge forceLayout]): Call KWQKHTMLPartImpl::forceLayout.
4588        (-[WebCoreBridge setTextSizeMultiplier:]): Call forceLayout.
4589
45902002-09-27  Darin Adler  <darin@apple.com>
4591
4592        * khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
4593	Fixed a > that should have been a < that prevented tables from
4594	changing sizes when table minimum widths changed.
4595
45962002-09-27  Darin Adler  <darin@apple.com>
4597
4598	- fixed 2937198 -- Checkboxes and radiobuttons don't align with title control in forms
4599
4600        * kwq/qt/qcheckbox.h: Add baselinePosition override.
4601        * kwq/KWQCheckBox.mm: Tweak the size constants.
4602        (QCheckBox::baselinePosition): Implement this. Line up baseline two pixels
4603	above the bottom, not at the bottom.
4604
4605        * kwq/qt/qradiobutton.h: Add baselinePosition override.
4606        * kwq/KWQRadioButton.mm: Tweak the size constants.
4607        (QRadioButton::baselinePosition): Implement this. Line up baseline two pixels
4608	above the bottom, not at the bottom.
4609
46102002-09-27  Chris Blumenberg  <cblu@apple.com>
4611
4612	WebPlugin clean up.
4613
4614        * kwq/KWQKConfigBase.mm:
4615        (KConfig::readEntry):
4616        * kwq/WebCoreViewFactory.h:
4617
46182002-09-27  Richard Williamson   <rjw@apple.com>
4619
4620        Fixed 3059237:  Visited links do not appear in a different color on yahoo.com
4621        Fixed 3051288:  visited links are not colored in local files
4622        Fixed 3060158:  REGRESSION: iframes added to session history
4623        Always use the canonical originally requested URL as the URL entered in history.
4624        
4625        * khtml/khtml_part.cpp:
4626        (KHTMLPart::begin):
4627        * kwq/KWQKHTMLPartImpl.h:
4628        * kwq/KWQKHTMLPartImpl.mm:
4629        (KWQKHTMLPartImpl::requestedURLString):
4630        * kwq/KWQKHistoryProvider.mm:
4631        * kwq/WebCoreBridge.h:
4632        * kwq/WebCoreHistory.h:
4633
46342002-09-28  David Hyatt  <hyatt@apple.com>
4635
4636	Fix for 3058119, doctype of HTML docs should be null.
4637	
4638        * khtml/dom/dom_doc.cpp:
4639
46402002-09-28  David Hyatt  <hyatt@apple.com>
4641
4642	DOM compliance. Fix for 3058100, hasFeature of HTML returns
4643	false. Oops.
4644	
4645        * khtml/xml/dom_docimpl.cpp:
4646        (DOMImplementationImpl::hasFeature):
4647
46482002-09-27  Darin Adler  <darin@apple.com>
4649
4650	- fixed 3060487 -- error connecting member slot to signal (KWQObject)
4651
4652        * kwq/KWQObject.mm: (QObject::connect): Add slotShowDocument to the list of slots that
4653	we don't care about hooking up.
4654
46552002-09-26  Darin Adler  <darin@apple.com>
4656
4657	- fixed 2953256 -- JavaScript window.moveTo() and window.moveBy() methods do not work
4658
4659        * kwq/KWQWindowWidget.mm: (KWQWindowWidget::frameGeometry): Fix calculation.
4660	It was returning the bottom left coordinate instead of the top left.
4661
46622002-09-26  Darin Adler  <darin@apple.com>
4663
4664	- fixed 3060459 -- REGRESSION: crash leaving page that sets cookie in JavaScript
4665	unload handler
4666
4667        * khtml/khtml_part.cpp: (KHTMLPart::begin): Call updatePolicyBaseURL to set
4668	the "policy base URL" on the documents so the cookie can be based on the URL
4669	of the main document.
4670
4671        * khtml/dom/html_document.h: Add setPolicyBaseURL.
4672        * khtml/dom/html_document.cpp: (HTMLDocument::setPolicyBaseURL): Call the impl.
4673
4674        * khtml/html/html_documentimpl.h: Add policyBaseURL, setPolicyBaseURL.
4675        * khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::setCookie): Pass the
4676	base URL that's stored here instead of getting at the part through the view,
4677	since the view will be 0 during the unload event.
4678
4679        * kwq/KWQKHTMLPartImpl.h: Add updatePolicyBaseURL and setPolicyBaseURL.
4680        * kwq/KWQKHTMLPartImpl.mm:
4681        (KWQKHTMLPartImpl::updatePolicyBaseURL): Set the base URL based on the URL
4682	if this is the topmost part, based on the parent's policy base URL if this
4683	is not the topmost part.
4684        (KWQKHTMLPartImpl::setPolicyBaseURL): Change the policy base URL for this
4685	part and all the subparts.
4686
46872002-09-26  Darin Adler  <darin@apple.com>
4688
4689        * kwq/WebCoreBridge.h: Use NSString for encoding name, not CFStringEncoding.
4690        * kwq/WebCoreBridge.mm:
4691        (-[WebCoreBridge addData:withOverrideEncoding:]): Ditto.
4692
46932002-09-26  Chris Blumenberg  <cblu@apple.com>
4694
4695	Added WebCoreElementImageLocationKey to the element dictionary.
4696
4697        * kwq/WebCoreBridge.h:
4698        * kwq/WebCoreBridge.mm:
4699        (-[WebCoreBridge elementAtPoint:]):
4700
4701=== Alexander-25 ===
4702
47032002-09-25  David Hyatt  <hyatt@apple.com>
4704
4705	Implement scrollX and scrollY on the window object.  This
4706	gets brainjar closer to reality. :)
4707	
4708        * khtml/ecma/kjs_window.cpp:
4709        (Window::get):
4710        * khtml/ecma/kjs_window.h:
4711
47122002-09-25  Darin Adler  <darin@apple.com>
4713
4714	Fix error with the color "indigo".
4715
4716        * kwq/KWQColor.mm: (getNamedColors): There were some spaces in our
4717	color table so we wouldn't handle indianred or indigo.
4718
47192002-09-25  Maciej Stachowiak  <mjs@apple.com>
4720
4721	- fixed 2854536 - New cookie policy: "accept cookies only from the
4722	same domain as the main page"
4723	
4724        * khtml/html/html_documentimpl.cpp:
4725        (HTMLDocumentImpl::setCookie):
4726        * kwq/KWQKCookieJar.h:
4727        * kwq/KWQKCookieJar.mm:
4728        (KWQKCookieJar::setCookie):
4729        * kwq/WebCoreCookieAdapter.h:
4730        * kwq/WebCoreCookieAdapter.m:
4731        (-[WebCoreCookieAdapter setCookies:forURL:policyBaseURL:]):
4732
47332002-09-24  Darin Adler  <darin@apple.com>
4734
4735	- fixed 3057928 -- lstat private/etc/localtime repeatedly reported
4736	by fs_usage when mouse is moved
4737
4738        * WebCore-tests.exp: Remove now-unneeded external entry points
4739	for QTime, QDate, QDateTime.
4740
4741        * kwq/qt/qdatetime.h:
4742        * kwq/KWQDateTime.mm:
4743	Redid QDateTime using CoreFoundation instead of time/localtime.
4744	This avoids constantly hitting the disk when getting the current
4745	time to stuff into an event.
4746
47472002-09-24  David Hyatt  <hyatt@apple.com>
4748
4749	Make sure we dispatch both a capturing and a bubbling event
4750	to target nodes. DOM lvl 2 event compliance.
4751	
4752        * ChangeLog:
4753        * khtml/xml/dom_nodeimpl.cpp:
4754        (NodeImpl::dispatchGenericEvent):
4755
47562002-09-24  Richard Williamson   <rjw@apple.com>
4757
4758        Fixed 3055078.  Ensure file: URLs have // before path.
4759        
4760        * kwq/KWQKURL.mm:
4761        (KURL::parse):
4762
47632002-09-24  David Hyatt  <hyatt@apple.com>
4764
4765	Better fix.  Clears the boolean when CLASS has no value.
4766	This will keep the style system from thinking you have
4767	a class when you don't.
4768	
4769        * khtml/html/html_elementimpl.cpp:
4770        (HTMLElementImpl::parseAttribute):
4771
47722002-09-24  David Hyatt  <hyatt@apple.com>
4773
4774	Fix updating of the document's notion of the focused node
4775	to happen on mouse down rather than click.  This matches
4776	the behavior of all other browsers (IE, Gecko, etc.).
4777
4778	This fixes the drawing of the outline on the brainjar.com
4779	DHTML menus.
4780	
4781        * khtml/khtmlview.cpp:
4782        (KHTMLView::dispatchMouseEvent):
4783
47842002-09-24  David Hyatt  <hyatt@apple.com>
4785
4786	Make sure that changes to the CLASS attribute mark the
4787	element as changed (as if a CSS property were added or
4788	removed).
4789
4790	This makes the brainjar.com rollovers work much better.
4791	
4792        * khtml/html/html_elementimpl.cpp:
4793        (HTMLElementImpl::parseAttribute):
4794
47952002-09-24  Chris Blumenberg  <cblu@apple.com>
4796
4797	Renamed element info keys to WebElement* instead of WebContextMenuElement*
4798
4799        * kwq/WebCoreBridge.h:
4800        * kwq/WebCoreBridge.mm:
4801        (-[WebCoreBridge elementAtPoint:]):
4802
48032002-09-24  Darin Adler  <darin@apple.com>
4804
4805	- fixed 3056579 -- various crashes at http://www.auspost.com.au/
4806
4807	Apparently the strings at this site were just the right length to expose a bug
4808	in our QString implementation, one that I probably introduced when fixing 3032072.
4809	One nice thing about this is that getting this correct could also result in a
4810	little bit of a speedup, as the internal buffer is used more.
4811
4812        * kwq/KWQString.mm:
4813        (QStringData::makeAscii): Set _maxAscii to QS_INTERNAL_BUFFER_CHARS when using
4814	the internal buffer instead of leaving it uninitialized.
4815        (QStringData::makeUnicode): Same for _maxUnicode.
4816
48172002-09-24  Darin Adler  <darin@apple.com>
4818
4819	Remove the focus border hack, which was no longer doing us any good.
4820
4821        * kwq/KWQNSTextField.h: Don't define FOCUS_BORDER_SIZE.
4822        * kwq/KWQNSTextField.mm: Remove KWQTextFieldCell.
4823        (-[KWQNSTextField updateSecureFieldFrame]): Don't inset by FOCUS_BORDER_SIZE.
4824        * kwq/qt/qlineedit.h: Don't override frameGeometry and setFrameGeometry any more.
4825        * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Don't subtract
4826	the focus border size.
4827
48282002-09-24  Darin Adler  <darin@apple.com>
4829
4830        * kwq/mac-encodings.txt: Remove constant for Japanese auto-detect.
4831
48322002-09-24  Darin Adler  <darin@apple.com>
4833
4834        * kwq/KWQFileButton.mm: (KWQFileButton::paint): Fix typo.
4835
48362002-09-24  Darin Adler  <darin@apple.com>
4837
4838	Some improvements to the file button, including displaying the file without the
4839	extension if it's set that way by the user, and using the system font rather
4840	than hard-coding "Lucida Grande".
4841
4842        * kwq/KWQFileButton.h: Add _label field.
4843        * kwq/KWQFileButton.mm:
4844        (KWQFileButton::KWQFileButton): Set up label.
4845        (KWQFileButton::~KWQFileButton): Release label.
4846        (KWQFileButton::setFilename): Use NSFileManager componentsToDisplayForPath to
4847	figure out the appropriate label.
4848        (KWQFileButton::paint): Clip to passed-in rect, get font using systemFontOfSize,
4849	and use NSString drawing rather than our own.
4850
48512002-09-23  David Hyatt  <hyatt@apple.com>
4852
4853	Found the problem with the CSS W3C page.
4854	
4855        * khtml/xml/dom_docimpl.cpp:
4856        (DocumentImpl::recalcStyleSelector):
4857
48582002-09-23  Darin Adler  <darin@apple.com>
4859
4860	WebCore part of fixes for proper layering when drawing subframes.
4861
4862        * kwq/KWQWidget.mm: (QWidget::paint): Use the parent view in the "WebCoreFrameView"
4863	case so we update the scroll view too, not just the HTML part. Also use the passed in
4864	rectangle instead of always using the view bounds.
4865
4866        * kwq/KWQScrollView.mm: (QScrollView::updateContents): Call setNeedsDisplayInRect
4867	instead of displayRect.
4868
4869        * kwq/KWQPainter.mm:
4870        (QPainter::drawRect): Use NSRectFill and NSFrameRect instead of NSBezierPath.
4871        (QPainter::fillRect): Ditto.
4872
48732002-09-23  David Hyatt  <hyatt@apple.com>
4874
4875	Don't let alternate stylesheets delay render tree construction.
4876	
4877        * khtml/html/html_headimpl.cpp:
4878        (HTMLLinkElementImpl::HTMLLinkElementImpl):
4879        (HTMLLinkElementImpl::process):
4880        (HTMLLinkElementImpl::setStyleSheet):
4881        (HTMLLinkElementImpl::sheetLoaded):
4882        * khtml/html/html_headimpl.h:
4883
4884\2002-09-23  David Hyatt  <hyatt@apple.com>
4885
4886	Make overflow:auto and scroll map to hidden until we figure
4887	out something better.
4888	
4889        * khtml/css/cssstyleselector.cpp:
4890 
48912002-09-23  Darin Adler  <darin@apple.com>
4892
4893	More refinement of the AppKit hackery.
4894
4895        * khtml/rendering/render_replaced.cpp:
4896        (RenderWidget::printObject): Pass in the painter and rect.
4897
4898        * kwq/qt/qwidget.h: Take a painter and rect parameter.
4899        * kwq/KWQWidget.mm: (QWidget::paint): Use painter; not working yet to use rect.
4900
4901        * kwq/KWQFileButton.h: Change paint to take painter and rect.
4902        * kwq/KWQFileButton.mm: (KWQFileButton::paint): Use painter.
4903
4904        * kwq/qt/qpainter.h: Added paintingDisabled() function.
4905        * kwq/KWQPainter.mm: (QPainter::paintingDisabled): Added.
4906
49072002-09-22  Darin Adler  <darin@apple.com>
4908
4909	Change code that moves NSViews out of the way to run inside drawRect
4910	after a layout change rather than running at layout time. This makes
4911	sure that views are in the right place when propagating dirty rects.
4912
4913        * kwq/KWQKHTMLPartImpl.h: Add paint method and _needsToSetWidgetsAside flag.
4914        * kwq/KWQKHTMLPartImpl.mm:
4915        (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Set _needsToSetWidgetsAside to false.
4916        (KWQKHTMLPartImpl::layout): Set _needsToSetWidgetsAside to true. Don't call
4917	moveWidgetsAside any more.
4918        (KWQKHTMLPartImpl::paint): Moved the code here from the bridge, but also call
4919	moveWidgetsAside if _needsToSetWidgetsAside flag is set.
4920        * kwq/WebCoreBridge.mm:
4921        (-[WebCoreBridge drawRect:withPainter:]): Call KWQKHTMLPartImpl::paint, which
4922	is where I moved this code.
4923
49242002-09-21  Darin Adler  <darin@apple.com>
4925
4926	- fixed 3057265 -- REGRESSION: Crash loading http://www.undetectables.co.uk/
4927
4928        * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
4929	Remove special case for javascript and about:blank that was leading to a crash.
4930
49312002-09-21  Darin Adler  <darin@apple.com>
4932
4933	WebCore part of the new approach to AppKit drawing control.
4934	Works better than the previous try. Once we fix anomalies with focus rectangles
4935	and a minor problems with subframes this should work perfectly.
4936
4937        * kwq/qt/qwidget.h: The paint() method isn't virtual any more. Also remove flushDrawing().
4938        * kwq/KWQWidget.mm: (QWidget::enableFlushDrawing): Do a flushWindowIfNeeded instead
4939	of requiring a separate flushDrawing() call to do a flushWindow.
4940        (QWidget::paint): Added. Calls displayRectIgnoringOpacity.
4941
4942        * kwq/qt/qbutton.h: Remove paint() override.
4943        * kwq/KWQButton.mm: (QButton::QButton): No need for a subclass any more, so
4944	drop KWQNSButton. Also remove paint().
4945
4946        * kwq/qt/qcombobox.h: Remove paint() override.
4947        * kwq/KWQComboBox.mm: (QComboBox::QComboBox): No need for a subclass any more, so
4948	drop KWQNSPopUpButton. Also remove paint() method.
4949
4950        * kwq/qt/qlineedit.h: Remove paint() override.
4951        * kwq/KWQLineEdit.mm: Remove paint().
4952
4953        * kwq/KWQFileButton.mm: (KWQFileButton::clicked): Fix typo. Was calling paint
4954	instead of clicked on the base class.
4955
4956        * kwq/KWQNSTextField.h: Remove paint method.
4957        * kwq/KWQNSTextField.mm:
4958        (-[KWQNSTextField display]): Add a display method that does nothing to work around
4959	bug 2753974.
4960        (-[KWQSecureTextField display]): Ditto.
4961
4962	* khtml/rendering/render_frames.cpp: (RenderFrameSet::userResize): Remove call to flushDrawing.
4963
49642002-09-20  Richard Williamson   <rjw@apple.com>
4965
4966        Don't modify selection if no appropriate DOM::Node under
4967        mouse.
4968        
4969        * khtml/khtml_part.cpp:
4970        (KHTMLPart::khtmlMouseMoveEvent):
4971
49722002-09-20  Richard Williamson   <rjw@apple.com>
4973
4974        Assume triple click for selection if click count >= 3,
4975        not == 3, as in OS X.
4976        
4977        * khtml/khtml_part.cpp:
4978        (KHTMLPart::khtmlMousePressEvent):
4979
49802002-09-20  Richard Williamson   <rjw@apple.com>
4981
4982        Fixed crasher in findTextSlave.
4983        * khtml/rendering/render_text.cpp:
4984        (RenderText::findTextSlave):
4985
4986        Added error checks.
4987        * khtml/khtml_part.cpp:
4988        (startAndEndLineNodesIncludingNode):
4989
49902002-09-20  Richard Williamson   <rjw@apple.com>
4991
4992        Made double and triple click selection behave like
4993        like other selection in OS X.  That is, selection happens
4994        on mouse down, not mouse up, and can be extended by
4995        further dragging.  Triple click followed by dragging extends
4996        the selection a line at a time.
4997        
4998        * khtml/khtml_events.cpp:
4999        * khtml/khtml_events.h:
5000        * khtml/khtml_part.cpp:
5001        (KHTMLPart::customEvent):
5002        (firstSlaveAt):
5003        (lastSlaveAt):
5004        (startAndEndLineNodesIncludingNode):
5005        (KHTMLPart::khtmlMousePressEvent):
5006        (KHTMLPart::khtmlMouseDoubleClickEvent):
5007        (KHTMLPart::khtmlMouseMoveEvent):
5008        * khtml/khtml_part.h:
5009        * khtml/khtmlpart_p.h:
5010        * khtml/khtmlview.cpp:
5011        * khtml/khtmlview.h:
5012        * khtml/xml/dom_elementimpl.cpp:
5013        (ElementImpl::setAttribute):
5014        * kwq/WebCoreBridge.mm:
5015        (-[WebCoreBridge mouseUp:]):
5016
50172002-09-20  Darin Adler  <darin@apple.com>
5018
5019        * kwq/KWQFileButton.h: Add an icon.
5020        * kwq/KWQFileButton.mm:
5021        (KWQFileButton::KWQFileButton): Nil out icon.
5022        (KWQFileButton::~KWQFileButton): Release icon.
5023        (KWQFileButton::setFilename): Get icon with [NSWorkspace iconForFile:].
5024        (KWQFileButton::clicked): Set prompt string to "Choose", and start directory to "~".
5025        (KWQFileButton::sizeHint): Pad more for icon width.
5026        (KWQFileButton::frameGeometry): Ditto.
5027        (KWQFileButton::setFrameGeometry): Ditto.
5028        (KWQFileButton::paint): Draw icon. Draw "no file selected" if no filename.
5029
5030        * kwq/KWQKFileItem.mm: Our "nonimplementation" is good enough. Stop complaining.
5031        * kwq/KWQKnetaccess.mm: Ditto. Also just extract path when asked to download.
5032
50332002-09-20  Darin Adler  <darin@apple.com>
5034
5035	Some first steps toward implementing input=file.
5036
5037        * khtml/rendering/render_form.cpp:
5038        (RenderFileButton::RenderFileButton): Create a KWQFileButton as the widget.
5039        (RenderFileButton::calcMinMaxWidth): Use sizeHint().
5040        (RenderFileButton::updateFromElement): Call setFilename().
5041        (RenderFileButton::select): Don't try to selectAll() on m_edit.
5042
5043        * kwq/KWQFileButton.h: Added.
5044        * kwq/KWQFileButton.mm: Added.
5045        * kwq/qt/qhbox.h: Emptied.
5046        * kwq/KWQHBox.mm: Removed.
5047        * WebCore.pbproj/project.pbxproj: Removed KWQHBox.mm. Added KWQFileButton.
5048
50492002-09-20  Darin Adler  <darin@apple.com>
5050
5051	- fixed 3056605 -- REGRESSION: blank page at http://www.2ch.net/2ch.html
5052
5053        * kwq/mac-encodings.txt: When people say ShiftJIS, they really mean
5054	DOSJapanese. So do what they mean, not what they say.
5055
50562002-09-20  Darin Adler  <darin@apple.com>
5057
5058	- fixed 3055339 -- repro crash in RenderPartObject::updateWidget()
5059
5060        * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
5061	Only create a new part if we have no old part.
5062
5063        * kwq/KWQtextstream.mm: Remove some of the "not implemented" logging.
5064	Once we have logged that the stream is not created correctly, there's no need
5065	to continue logging each time something is written out to the non-stream.
5066
50672002-09-19  Richard Williamson   <rjw@apple.com>
5068
5069        Implemented double and triple click selection.
5070        
5071        * khtml/khtml_events.h:
5072        * khtml/khtml_part.cpp:
5073        (KHTMLPart::customEvent):
5074        (KHTMLPart::khtmlMouseDoubleClickEvent):
5075        (firstSlaveAt):
5076        (lastSlaveAt):
5077        (KHTMLPart::khtmlMouseTripleClickEvent):
5078        * khtml/khtml_part.h:
5079        * khtml/rendering/render_text.h:
5080        * kwq/WebCoreBridge.mm:
5081        (-[WebCoreBridge mouseUp:]):
5082
50832002-09-19  Darin Adler  <darin@apple.com>
5084
5085	- fixed 3045651 -- null-dereference in DOM::CharacterDataImpl constructor
5086	setting up text area element
5087
5088        * khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::CharacterDataImpl):
5089	Set str to an empty DOMStringImpl instead of to 0. This was easier than
5090	going around finding all the places that don't like a str of 0.
5091
5092        * WebCore.pbproj/project.pbxproj: Let PB sort things as it likes.
5093
5094=== Alexander-24 ===
5095
50962002-09-18  Darin Adler  <darin@apple.com>
5097
5098	- fixed 3037974 -- successful Find does not deselect text field
5099
5100        * khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
5101	Turn off the code that restores the cursor position because we don't
5102	use the KHTML saveState/restoreState. But we should.
5103
5104        * khtml/xml/dom_docimpl.cpp:
5105        (DocumentImpl::setSelection): Call setFocusNode(0), because on the
5106	Macintosh, selection and focus are mutually exclusive.
5107        (DocumentImpl::close): Remove no-longer-needed APPLE_CHANGES.
5108        (DocumentImpl::setFocusNode): Set focus to the KHTMLView when focus
5109	is being removed from a particular node. Clear the selection when
5110	focus is set on a particular node because on the Macintosh, selection
5111	and focus are mutually exclusive.
5112
5113        * kwq/KWQKHTMLPartImpl.h: Add set/clearDocumentFocus functions that we can use
5114	to keep document's idea of focused node in sync. with AppKit's.
5115        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::setDocumentFocus): Added.
5116	(KWQKHTMLPartImpl::clearDocumentFocus): Added.
5117
5118        * kwq/KWQNSTextField.mm:
5119        (-[KWQNSTextField becomeFirstResponder]): Call setDocumentFocus.
5120        (-[KWQSecureTextField becomeFirstResponder]): Call setDocumentFocus.
5121
5122        * kwq/qt/qwidget.h: Removed endEditing().
5123        * kwq/KWQWidget.mm: (QWidget::clearFocus): Call clearDocumentFocus.
5124	(QWidget::endEditing): Removed.
5125
5126        * khtml/rendering/render_form.h:
5127        * khtml/rendering/render_form.cpp:
5128        (RenderImageButton::RenderImageButton): Remove the KWQInvisibleButton
5129	hack, which is no longer needed.
5130        * kwq/KWQInvisibleButton.h: Removed.
5131        * kwq/KWQInvisibleButton.mm: Removed.
5132        * WebCore.pbproj/project.pbxproj: Removed KWQInvisibleButton.
5133
51342002-09-18  Darin Adler  <darin@apple.com>
5135
5136	- fixed 3027470 -- hitting tab when the google.com text field is selected
5137	(all bars hidden) makes border flash
5138
5139        * kwq/KWQNSTextField.mm:
5140        (-[KWQNSTextField textDidEndEditing:]): Added. Don't call super when the next
5141	valid key view is nil.
5142        (-[KWQSecureTextField textDidEndEditing:]): Ditto. Too bad we can't share code
5143	here. Maybe I'll figure out a way later.
5144
51452002-09-17  Darin Adler  <darin@apple.com>
5146
5147	- fixed 3025022 -- Crash in KWQKHTMLPartImpl::redirectionTimerStartedOrStopped()
5148
5149        * kwq/WebCoreBridge.mm: (-[WebCoreBridge dealloc]): Set the bridge on the part to
5150	nil just in case someone else is holding a reference, so we won't try to dispatch
5151	methods to an already-deallocated bridge.
5152
5153	- fixed 3028476 -- illegal instruction crash in KWQTimerCallback timerFired
5154
5155        * khtml/ecma/kjs_window.cpp: (WindowQObject::parentDestroyed):
5156	Remove APPLE_CHANGES to avoid calling killTimers(); we can call it
5157	now that we have a working implementation.
5158        * khtml/khtmlview.cpp:
5159        (KHTMLView::~KHTMLView): Remove APPLE_CHANGES that kills timers.
5160	All timers are killed by ~QObject now, just as in Qt.
5161        (KHTMLView::clear): Remove APPLE_CHANGES to avoid calling killTimers();
5162	we can call it now that we have a working implementation.
5163
5164        * kwq/KWQObject.mm:
5165        (QObject::~QObject): Call killTimers().
5166        (QObject::startTimer): Keep a dictionary keyed by QObject, with a dictionary
5167	of timers for each, rather than one global dictionary. This makes it efficient
5168	to kill all the timers for an object.
5169        (QObject::killTimer): Update for new level of dictionary.
5170        (QObject::killTimers): Kill all the timers in this object's timer dictionary
5171	rather than all timers in the world.
5172        (QObject::inherits): Add an ERROR for the case where the class name is unknown.
5173
51742002-09-17  Darin Adler  <darin@apple.com>
5175
5176	- fixed 3050818 -- Crash in relative-KURL constructor at site with _ in host name
5177
5178        * kwq/KWQKURL.mm: Change _ so that it's allowed in host names.
5179        (KURL::KURL): If base URL is invalid, make result invalid too.
5180
51812002-09-17  Richard Williamson   <rjw@apple.com>
5182
5183        * khtml/khtmlview.cpp:
5184        (KHTMLView::viewportMouseTripleClickEvent):
5185        Added implementation.  Same as viewportMouseReleaseEvent
5186        except dispatches additional MouseTripleClickEvent event.
5187        
5188        (KHTMLView::viewportMouseDoubleClickEvent):
5189        Send extra release event.  This emulates Qt
5190        behavior.
5191
5192        * kwq/WebCoreBridge.mm:
5193        (-[WebCoreBridge mouseUp:]):
5194        Don't send extra release event here, instead send
5195        it in viewportMouseDoubleClickEvent and also in
5196        viewportMouseTripleClickEvent so DOM doesn't get
5197        confused.
5198        
5199        * kwq/KWQColor.mm:
5200        (QColor::hsv):
5201        Fixed divide by 0 problem.
5202        
52032002-09-17  Darin Adler  <darin@apple.com>
5204
5205	- fixed 2936933 -- Pages that claim to be UTF-8 but contain invalid
5206	sequences do not render at all
5207
5208	Misc. speed improvements. Total 2.6% speedup for cvs-base.
5209
5210	Improvements for signals.
5211
5212        * kwq/KWQChar.mm:
5213        (QChar::isSpace): Add fast case for ASCII.
5214        (QChar::lower): Add fast case for ASCII.
5215        (QChar::upper): Add fast case for ASCII.
5216
5217        * kwq/qt/qcolor.h: Just store RGB values, not NSColor objects.
5218        * kwq/KWQColor.mm:
5219        (QColor::QColor): No need to set color to nil.
5220        (QColor::name): Use QString::sprintf instead of NSString.
5221        (QColor::setNamedColor): Use KWQInvalidColor instead of nil.
5222        (QColor::getNSColor): Make an autoreleased NSColor.
5223
5224        * kwq/KWQKHTMLPartImpl.mm:
5225        (moveWidgetsAside): Use isWidget() instead of dynamic_cast.
5226
5227        * kwq/KWQSignal.h: use a QValueList instead of a fixed-size array.
5228        * kwq/KWQSignal.mm:
5229        (KWQSignal::connect): Append to list.
5230        (KWQSignal::disconnect): Remove from list.
5231        (KWQSignal::call): Use the QValueList.
5232
5233        * kwq/KWQSlot.mm:
5234        (KWQSlot::call): Use static_cast instead of dynamic_cast where possible.
5235
5236        * kwq/qt/qstring.h: Add return value to forceUnicode.
5237        * kwq/KWQString.mm:
5238        (QString::fromStringWithEncoding): Implemented using the Text Encoding
5239	Converter instead of CFString.
5240        (compareIgnoringCaseForASCIIOnly): New function. Faster find.
5241        (QString::find): Separate case-sensitive from case-insensitive and speed
5242	up both of them.
5243        (QString::stripWhiteSpace): Use the new forceUnicode for simplicity.
5244        (QString::simplifyWhiteSpace): Ditto.
5245        (QString::insert): Ditto.
5246        (QString::remove): Ditto.
5247        (QString::forceUnicode): Return the unicode pointer.
5248        (QString::fill): Use the new forceUnicode for simplicity.
5249
5250        * kwq/WebCoreBridge.mm:
5251        (-[WebCoreBridge mouseUp:]): Fix two bugs. First, don't treat a slow
5252	click as a double click. Second, deliver a mouse release event even for
5253	a double click, as Qt does.
5254
52552002-09-17  Richard Williamson   <rjw@apple.com>
5256
5257        * khtml/css/cssstyleselector.cpp:
5258        Fixed bug in KHTML that incorrectly modified '//' in fragment part of URL.
5259        
5260        * kwq/KWQKHistoryProvider.mm:
5261        Use string based API to add entry.  May eventually remove NSURL from
5262        history entirely.
5263        
5264        * kwq/KWQKURL.mm:
5265        (KURL::canonicalURL):
5266        Simply return the urlString.
5267
5268        (KURL::parse):
5269        Added "/" to http and https empty path URLs.
5270        
5271        * kwq/KWQString.mm:
5272        (QString::mid):
5273        Optimize ascii case.
5274        
5275        * kwq/WebCoreHistory.h:
5276        * kwq/WebCoreHistory.m:
5277        (-[WebCoreHistory addEntryForURLString:]):
5278        Use string based API to add entry.
5279        
5280        * kwq/kdecore/kurl.h:
5281        Defined methods to access canonical components,
5282        currently conditionally excluded.
5283        
52842002-09-16  David Hyatt  <hyatt@apple.com>
5285
5286	Fix the stylesheet loading regression on rubyfruit.
5287	
5288        * khtml/html/html_headimpl.cpp:
5289        (HTMLStyleElementImpl::HTMLStyleElementImpl):
5290        (HTMLStyleElementImpl::childrenChanged):
5291        (HTMLStyleElementImpl::isLoading):
5292        * khtml/html/html_headimpl.h:
5293
52942002-09-13  David Hyatt  <hyatt@apple.com>
5295
5296	Landing code that makes textfields, buttons, checkboxes, radio
5297	buttons, and dropdown lists all draw correctly with respect to
5298	z-index.  They all employ the same simple hack (just never paint
5299	unless KHTML tells them to).
5300
5301	Unpatched widgets include the password field, the listbox, and the
5302	textarea.  
5303
5304	The only issue with regards to painting with the widgets I've
5305	patched is the textfield... its editor floats to the top when the
5306	field is being edited.
5307
5308	Event handling will also be incorrect and will need to be patched
5309	separately.
5310	
5311        * khtml/rendering/render_body.cpp:
5312        (RenderBody::printBoxDecorations):
5313        * khtml/rendering/render_replaced.cpp:
5314        (RenderWidget::printObject):
5315        * kwq/KWQButton.mm:
5316        (QButton::QButton):
5317        (QButton::paint):
5318        (-[KWQNSButton drawRect:]):
5319        (-[KWQNSButton paint]):
5320        * kwq/KWQComboBox.mm:
5321        (-[KWQNSPopUpButton drawRect:]):
5322        (-[KWQNSPopUpButton paint]):
5323        (QComboBox::QComboBox):
5324        (QComboBox::insertItem):
5325        (QComboBox::paint):
5326        * kwq/KWQLineEdit.mm:
5327        (QLineEdit::paint):
5328        * kwq/KWQNSTextField.h:
5329        * kwq/KWQNSTextField.mm:
5330        (-[KWQNSTextField paint]):
5331        * kwq/qt/qbutton.h:
5332        * kwq/qt/qcombobox.h:
5333        * kwq/qt/qlineedit.h:
5334        * kwq/qt/qwidget.h:
5335
53362002-09-13  Richard Williamson (Home)  <rjw@apple.com>
5337
5338        Fixed navigation to link on mouse up after drag.
5339        
5340        * khtml/khtmlview.cpp:
5341        (KHTMLView::viewportMousePressEvent):
5342        (KHTMLView::viewportMouseDoubleClickEvent):
5343        Change khtml's definition of double click to be based on
5344        mouse up of second click, not mouse down. 
5345        
5346        (KHTMLView::viewportMouseReleaseEvent):
5347
5348        * kwq/WebCoreBridge.mm:
5349        (-[WebCoreBridge mouseUp:]):
5350        (-[WebCoreBridge mouseDown:]):
5351        Changed double click to be on mouse up with click count of two.
5352
53532002-09-13  Darin Adler  <darin@apple.com>
5354
5355	Fix crash in slot code.
5356
5357        * kwq/KWQSignal.mm: (KWQSignal::call): Copy the slots before
5358	calling through in case we are destroyed by the called function.
5359
53602002-09-13  Darin Adler  <darin@apple.com>
5361
5362	Here's the *real* mistake that killed plugins. I accidentally
5363	stopped creating objects at all! Duh. Fixed now.
5364
5365        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::createPart):
5366	Make a part for a plugin if we need one. Not a KHTMLPart, but
5367	a KWQPluginPart.
5368
53692002-09-13  Darin Adler  <darin@apple.com>
5370
5371        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::createPart):
5372	Fix plugin-related crashes by making sure each part has a unique
5373	frame name. There may be something fundamentally wrong with how this
5374	is working now.
5375
53762002-09-13  Richard Williamson (Home)  <rjw@apple.com>
5377
5378        Made justified text work correctly in khtml for rendering
5379        and selection.  Optimized selection point calculation by
5380        only doing characters measurements once.
5381        
5382        * khtml/rendering/font.cpp:
5383        (Font::floatCharacterWidths):
5384        * khtml/rendering/font.h:
5385        * khtml/rendering/render_text.cpp:
5386        (TextSlave::checkSelectionPoint):
5387        (RenderText::position):
5388        * kwq/KWQFontMetrics.mm:
5389        (QFontMetrics::width):
5390        (QFontMetrics::floatWidth):
5391        (QFontMetrics::floatCharacterWidths):
5392        * kwq/KWQPainter.mm:
5393        (QPainter::drawText):
5394        * kwq/WebCoreTextRenderer.h:
5395        * kwq/qt/qfontmetrics.h:
5396
53972002-09-13  Darin Adler  <darin@apple.com>
5398
5399	Quiet error messages related to the slot/signal changes.
5400
5401        * khtml/khtml_part.cpp:
5402        (KHTMLPart::startAutoScroll): Ifdef this out.
5403        (KHTMLPart::stopAutoScroll): Ditto.
5404
5405        * kwq/KWQObject.mm:
5406        (QObject::connect): Add two more expected members to the list for
5407	setStatusBarText and slotViewCleared.
5408
5409        * kwq/KWQSignal.h: Allow 4 slots per signal.
5410	I don't want to make it a variable number, but we can if we have to.
5411        * kwq/KWQSignal.mm:
5412        (KWQSignal::connect): Support multiple slots.
5413        (KWQSignal::disconnect): Support multiple slots.
5414        (KWQSignal::call): Support multiple slots.
5415
54162002-09-13  Darin Adler  <darin@apple.com>
5417
5418	Fix assertion that happens on any page that has a non-HTML frame.
5419
5420	We were sending signals for objects in m_objects that are only supposed
5421	to be sent for frames in m_frames. The fix is to use actual slot/signal
5422	connections instead of our hard-coded logic.
5423
5424        * kwq/KWQKHTMLPartImpl.h: Add signals for started and completed.
5425        * kwq/KWQKHTMLPartImpl.mm:
5426        (KHTMLPart::completed): Emit completed signal.
5427        (KHTMLPart::started): Emit started signal.
5428        (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Create signals.
5429
5430        * kwq/KWQObject.mm:
5431        (QObject::connect): Write out an error message if we see any signal connections
5432	to signals that aren't implemented, with a hardwired exception list for ones we
5433	either aren't ever going to do or just haven't gotten around to yet.
5434
5435        * kwq/KWQSignal.h: Add support for signals that take bool and KIO::Job *.
5436        * kwq/KWQSignal.mm:
5437        (KWQSignal::connect): Put in an actual ERROR call for the case where this fails.
5438        (KWQSignal::disconnect): Put in an actual ERROR call for the case where it fails.
5439        (KWQSignal::call): Add overloads for bool and KIO::Job *.
5440
5441        * kwq/KWQSlot.h: Add support for slots that take bool and KIO::Job *.
5442        * kwq/KWQSlot.mm:
5443        (KWQSlot::KWQSlot): Add four new members.
5444        (KWQSlot::call): Add overloads for bool and KIO::Job * and support for the new
5445	members.
5446
54472002-09-12  Darin Adler  <darin@apple.com>
5448
5449        * kwq/KWQAssertions.h: Update assertions from from the copy in WebFoundation.
5450        * WebCorePrefix.h: Remove NSURLPathUtilities.h include.
5451
5452	Use even more of the KHTML code so we get referrers in one more place.
5453
5454        * kwq/WebCoreBridge.h: Add referrer to createChildFrameNamed.
5455
5456        * khtml/khtml_part.h: Less APPLE_CHANGES, no substantive change.
5457        * khtml/khtml_part.cpp:
5458        (KHTMLPart::requestFrame): Use more of this, less APPLE_CHANGES.
5459        (KHTMLPart::requestObject): Ditto.
5460        (KHTMLPart::processObjectRequest): Ditto.
5461
5462        * khtml/rendering/render_frames.h: Less APPLE_CHANGES.
5463        * khtml/rendering/render_frames.cpp: Less APPLE_CHANGES.
5464
5465        * kwq/kparts/browserextension.h: Add lockHistory/setLockHistory and
5466	openURLNotify.
5467
5468        * kwq/khtml/khtml_ext.h: Add openURLNotify.
5469        * kwq/KWQKHTMLPartImpl.h: Add openURLNotify.
5470        * kwq/KWQKHTMLPartBrowserExtension.mm:
5471        (KHTMLPartBrowserExtension::openURLNotify): Implement.
5472
5473        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::createPart):
5474	Changed name from requestFrame. Do less work.
5475
5476        * kwq/qt/qtimer.h: Add singleShot.
5477        * kwq/KWQTimer.mm:
5478        (+[KWQSingleShotTimerTarget targetWithQObject:member:]): Added.
5479	Used to implement singleShot.
5480        (-[KWQSingleShotTimerTarget dealloc]): Ditto.
5481        (-[KWQSingleShotTimerTarget timerFired:]): Ditto.
5482        (QTimer::singleShot): Added.
5483
5484        * kwq/qt/qmap.h: Add contains.
5485
5486        * kwq/qt/qvaluelist.h: Add iterator return value for append and prepend.
5487        * kwq/KWQValueListImpl.h: Add iterator return value for appendNode
5488	and prependNode.
5489        * kwq/KWQValueListImpl.mm:
5490        (KWQValueListImpl::appendNode): Add iterator.
5491        (KWQValueListImpl::prependNode): Add iterator.
5492
5493        * kwq/kparts/part.h: Add openURL.
5494
54952002-09-12  Richard Williamson  <rjw@apple.com>
5496
5497        Rewrite of khtml selection drawing code.  Now does
5498        a delta between old and new selection and only
5499        draw those objects that have changed.  Selection
5500        drawing is now MUCH faster.
5501        
5502        * khtml/rendering/render_root.cpp:
5503        (enclosingPositionedRect):
5504        (RenderRoot::setSelection):
5505        (RenderRoot::clearSelection):
5506        * khtml/rendering/render_root.h:
5507        
5508        Added additional absolute position property to render node
5509        stuff for debug render tree view.
5510        
5511        * kwq/WebCoreBridge.h:
5512        * kwq/WebCoreBridge.mm:
5513        (-[WebCoreBridge copyRenderNode:copier:]):
5514
55152002-09-12  David Hyatt  <hyatt@apple.com>
5516
5517	KHTML was butchering the laws of background propagation from
5518	the <body> to the <html>.  This fixes the logical flaws and
5519	makes some of the geekiest CSS on the planet render correctly. ;)
5520	
5521        * khtml/rendering/render_body.cpp:
5522        (RenderBody::printBoxDecorations):
5523        * khtml/rendering/render_html.cpp:
5524        (RenderHtml::printBoxDecorations):
5525
55262002-09-12  David Hyatt  <hyatt@apple.com>
5527
5528	Make fixed positioned elements work when you scroll.  We were
5529	just missing the implementation of a QScrollView method.
5530	
5531        * kwq/KWQScrollView.mm:
5532        (QScrollView::setStaticBackground):
5533
55342002-09-12  David Hyatt  <hyatt@apple.com>
5535
5536	Fix a bug in KHTML that leads it to claim cached @imported stylesheets
5537	are not loaded (when in fact they are).
5538
5539	This fixes the W3C CSS page.
5540	
5541        * khtml/css/css_ruleimpl.cpp:
5542        (CSSImportRuleImpl::init):
5543
55442002-09-12  Chris Blumenberg  <cblu@apple.com>
5545
5546	Fixed livepage crash. It is naughty to divide by 0 so we now check before doing that.
5547
5548        * khtml/rendering/render_box.cpp:
5549        (RenderBox::printBackground):
5550
55512002-09-12  David Hyatt  <hyatt@apple.com>
5552
5553	Fix crash on trekweb.com.  My simplified FOUC code was a little
5554	bit too simple. ;)
5555	
5556        * khtml/html/html_headimpl.cpp:
5557        (HTMLLinkElementImpl::setStyleSheet):
5558        (HTMLStyleElementImpl::childrenChanged):
5559
55602002-09-12  David Hyatt  <hyatt@apple.com>
5561
5562	Fix the Warcraft 3 page on blizzard.com so that the relative
5563	positioned blocks inside centered tables inside enclosing tables
5564	with percentage widths work correctly.
5565
5566	This fix also causes the textfields on mrskin.com to show up
5567	again.
5568	
5569        * khtml/rendering/render_box.cpp:
5570        (RenderBox::RenderBox):
5571        (RenderBox::setPos):
5572        * khtml/rendering/render_box.h:
5573        * khtml/rendering/render_container.cpp:
5574        (RenderContainer::addChild):
5575        * khtml/rendering/render_layer.cpp:
5576        (RenderLayer::constructZTree):
5577        * khtml/rendering/render_object.h:
5578
55792002-09-11  Maciej Stachowiak  <mjs@apple.com>
5580
5581	Don't show the window here any more, now that WebBrowser will set
5582	it up to be shown properly itself.
5583	
5584        * kwq/KWQKHTMLPartBrowserExtension.mm:
5585        (KHTMLPartBrowserExtension::createNewWindow):
5586
55872002-09-11  David Hyatt  <hyatt@apple.com>
5588
5589	Fix horizontal scrolling.  The HTML render object lies.  It lies, 
5590	I tell you.
5591	
5592        * khtml/rendering/render_layer.cpp:
5593        (RenderLayer::constructZTree):
5594
55952002-09-11  David Hyatt  <hyatt@apple.com>
5596
5597	Fix clipping to work with layers.  This fixes the marquee
5598	(once again) on livepage.apple.com.
5599	
5600        * khtml/rendering/render_box.cpp:
5601        (RenderBox::getClipRect):
5602        * khtml/rendering/render_box.h:
5603        * khtml/rendering/render_container.cpp:
5604        (RenderContainer::addChild):
5605        (RenderContainer::removeChildNode):
5606        * khtml/rendering/render_flow.cpp:
5607        (RenderFlow::setStyle):
5608        (RenderFlow::printObject):
5609        * khtml/rendering/render_layer.cpp:
5610        (RenderLayer::enclosingPositionedAncestor):
5611        (RenderLayer::convertToLayerCoords):
5612        (RenderLayer::paint):
5613        (RenderLayer::constructZTree):
5614        * khtml/rendering/render_layer.h:
5615        * khtml/rendering/render_object.h:
5616        * khtml/rendering/render_replaced.cpp:
5617        (RenderReplaced::print):
5618
56192002-09-11  Darin Adler  <darin@apple.com>
5620
5621        * kwq/KWQAssertions.h: Updated copy of the assertions macros (made by script).
5622
56232002-09-11  Darin Adler  <darin@apple.com>
5624
5625	- fixed 3047552 -- crash using CFNotification calls on an NSNotification
5626
5627        * kwq/KWQWindowWidget.mm:
5628        (KWQWindowWidget::KWQWindowWidget): Create a KWQWindowWidgetDeleter, and
5629	hook it up to the notification.
5630        (KWQWindowWidget::~KWQWindowWidget): Disconnect the KWQWindowWidgetDeleter
5631	and release it.
5632        (-[KWQWindowWidgetDeleter initWithWindowWidget:]): Store a pointer.
5633        (-[KWQWindowWidgetDeleter deleteWindowWidget]): Do a delete.
5634
56352002-09-11  Darin Adler  <darin@apple.com>
5636
5637	- fixed 3021137 -- changing font prefs doesn't redraw frames
5638	other than the main frame
5639
5640        * kwq/WebCoreSettings.m: Renamed to WebCoreSettings.mm.
5641        * kwq/WebCoreSettings.mm: Renamed from WebCoreSettings.m so I could
5642	use C++.
5643        (-[WebCoreSettings _updateAllViews]): Iterate over all KWQKHTMLPartImpl
5644	instances, calling setNeedsReapplyStyles on each one.
5645        * WebCore.pbproj/project.pbxproj: Updated for name change.
5646
5647        * kwq/KWQKHTMLPartImpl.h: Add instances() and mutableInstances().
5648	Get rid of frameExists(), findFrame(), and frames().
5649        * kwq/KWQKHTMLPartImpl.mm:
5650        (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Add to instance list.
5651        (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove from instance list.
5652        (KWQKHTMLPartImpl::requestFrame): Update to not use frameExists().
5653        (KWQKHTMLPartImpl::overURL): Update to not use frameExists, and improve
5654	handling of various cases.
5655        (KWQKHTMLPartImpl::mutableInstances): Create and return instance list.
5656
5657        * kwq/WebCoreBridge.h: Add setNeedsReapplyStyles; already implemented
5658	in WebKit.
5659
5660        * khtml/khtml_part.cpp:
5661        (KHTMLPart::findFrame): Remove APPLE_CHANGES.
5662        (KHTMLPart::frameExists): Remove APPLE_CHANGES.
5663        (KHTMLPart::frames): Remove APPLE_CHANGES.
5664
56652002-09-10  Darin Adler  <darin@apple.com>
5666
5667	WebCore part of support for the "Referer" header.
5668
5669        * khtml/khtml_part.cpp:
5670        (KHTMLPart::urlSelected): Use much more of this function.
5671        (KHTMLPart::submitForm): Use much more of this function.
5672
5673        * kwq/KWQKHTMLPartBrowserExtension.mm:
5674        (KHTMLPartBrowserExtension::createNewWindow): Parse the
5675	referrer out of the URLArgs and pass it along.
5676
5677        * kwq/KWQKHTMLPartImpl.h: Change parameters to urlSelected
5678	and submitForm to allow KHTML to do more of the work. Add
5679	referrer helper function.
5680        * kwq/KWQKHTMLPartImpl.mm:
5681        (KWQKHTMLPartImpl::bridgeForFrameName): Pass referrer of nil
5682	when opening a blank window.
5683        (KWQKHTMLPartImpl::referrer): Extract referrer from metadata.
5684        (KWQKHTMLPartImpl::openURLRequest): Pass referrer from args
5685	through the bridge.
5686        (KWQKHTMLPartImpl::urlSelected): Remove code that duplicates
5687	what's in KHTMLPart. Also pass referrer from args through the
5688	bridge as above.
5689        (KWQKHTMLPartImpl::submitForm): Ditto.
5690
5691        * kwq/kdeui/kmessagebox.h: Add information member function.
5692        * kwq/KWQKMessageBox.mm: (KMessageBox::information): Implement.
5693
5694        * kwq/kdecore/kurl.h: Add encode_string member function.
5695        * kwq/KWQKURL.mm:
5696        (KURL::KURL): Fix buffer overflow bug, and add an assert so we
5697	will notice these overflows even when using the static buffer.
5698        (KURL::parse): Added a similar assert, even though I didn't fix
5699	any overflow bug here.
5700        (KURL::encode_string): Implemented this, but didn't test it.
5701
5702        * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Pass referrer through
5703	the bridge.
5704
5705        * kwq/WebCoreBridge.h: Add referrer parameters to loadURL, postWithURL,
5706	openNewWindowWithURL, and startLoadingResource.
5707
5708        * kwq/kparts/browserextension.h: Implement setDoPost, setContentType,
5709	const version of metaData().
5710
5711        * kwq/qt/qstring.h: Implement fromLatin1(const char *, int).
5712
5713        * WebCore-tests.exp: Not sure why, but I needed to remove isMalformed,
5714	and the tests seem to still work with it removed.
5715
57162002-09-11  David Hyatt  <hyatt@apple.com>
5717
5718	This patch fixes a slew of bugs.  It is an implementation
5719	of the IE extensions offsetLeft, offsetTop, and offsetParent.
5720	Konqueror actually had implementations for these properties
5721	that were totally wrong, leading any DHTML that would use
5722	these properties (like the DHTML on brainjar.com or livepage.apple.com)
5723	to misposition child elements.
5724
5725	With these properties now implemented, the menus on brainjar.com
5726	position correctly, and the marquee on livepage.apple.com once
5727	again shows up (and now you can see how I've regressed clipping
5728	by not shoving it into the layer system as well).
5729
5730	Next up will be fixing the clipping bug on livepage.apple.com.
5731	
5732        * khtml/ecma/kjs_dom.cpp:
5733        (DOMNode::getValueProperty):
5734        * khtml/rendering/render_flow.cpp:
5735        (RenderFlow::offsetHeight):
5736        (RenderFlow::offsetLeft):
5737        (RenderFlow::offsetTop):
5738        * khtml/rendering/render_flow.h:
5739        * khtml/rendering/render_object.cpp:
5740        (RenderObject::offsetLeft):
5741        (RenderObject::offsetTop):
5742        (RenderObject::offsetParent):
5743        * khtml/rendering/render_object.h:
5744
57452002-09-10  David Hyatt  <hyatt@apple.com>
5746
5747	Get more elements on mrskin painting as well as the menus
5748	on brainjar.com.
5749	
5750        * khtml/rendering/render_flow.cpp:
5751        (RenderFlow::layout):
5752        * khtml/rendering/render_layer.cpp:
5753        (RenderLayer::constructZTree):
5754        * khtml/rendering/render_object.cpp:
5755        (RenderObject::setLayouted):
5756        * khtml/rendering/render_object.h:
5757
57582002-09-10  David Hyatt  <hyatt@apple.com>
5759
5760	Fix the CSS clip property.
5761	
5762        * khtml/css/cssparser.cpp:
5763        (StyleBaseImpl::parseValue):
5764        * khtml/css/cssstyleselector.cpp:
5765        * khtml/ecma/kjs_css.cpp:
5766        (DOMCSSStyleDeclaration::tryPut):
5767        * khtml/rendering/render_box.cpp:
5768        (RenderBox::calcClip):
5769        * khtml/rendering/render_flow.cpp:
5770        (RenderFlow::printObject):
5771        * khtml/rendering/render_replaced.cpp:
5772        (RenderReplaced::print):
5773        * khtml/rendering/render_style.cpp:
5774        (StyleVisualData::StyleVisualData):
5775        (RenderStyle::diff):
5776        * khtml/rendering/render_style.h:
5777
57782002-09-10  Richard Williamson  <rjw@apple.com>
5779
5780        Fixed broken DOM handling of click count.  DOM click 
5781        events can be tested with Labyrinth/Test/html/mousetest.html.
5782        Preparation work for double and triple click selection.
5783        
5784        * khtml/khtml_events.cpp:
5785        * khtml/khtml_events.h:
5786        * khtml/khtml_part.cpp:
5787        (KHTMLPart::khtmlMouseTripleClickEvent):
5788        * khtml/khtml_part.h:
5789        * khtml/khtmlview.cpp:
5790        (KHTMLView::viewportMousePressEvent):
5791        (KHTMLView::viewportMouseTripleClickEvent):
5792        (KHTMLView::viewportMouseDoubleClickEvent):
5793        (KHTMLView::viewportMouseReleaseEvent):
5794        * khtml/khtmlview.h:
5795        * kwq/KWQEvent.mm:
5796        (QMouseEvent::QMouseEvent):
5797        * kwq/WebCoreBridge.mm:
5798        (-[WebCoreBridge mouseUp:]):
5799        (-[WebCoreBridge mouseDown:]):
5800        * kwq/qt/qevent.h:
5801
58022002-09-10  David Hyatt  <hyatt@apple.com>
5803
5804	Fix FOUC to behave correctly.  I was smoking crack when I
5805	implemented this the first time (mainly because KHTML had
5806	a badly named API that didn't mean even remotely what
5807	I thought it should).
5808	
5809        * khtml/html/html_headimpl.cpp:
5810        (HTMLLinkElementImpl::process):
5811        (HTMLLinkElementImpl::setStyleSheet):
5812        (HTMLLinkElementImpl::sheetLoaded):
5813        (HTMLStyleElementImpl::childrenChanged):
5814        (HTMLStyleElementImpl::sheetLoaded):
5815
58162002-09-10  Maciej Stachowiak  <mjs@apple.com>
5817
5818	WebCore part of fix for:
5819
5820	2952837 - Slide shows on homepage.mac.com don't show pictures, captions
5821	2942073 - Deferring [BrowserDocument goToInitialURL] can cause problems
5822	3021360 - second window pops up on 'Search' at chrysler.com
5823	3030485 - Unexpected new window created with no scroll bars at sony.com
5824
5825	* kwq/KWQKHTMLPartBrowserExtension.mm:
5826	(KHTMLPartBrowserExtension::createNewWindow): Reuse existing
5827	frame if possible. Pass frame name when opening a new window.
5828        * kwq/KWQKHTMLPartImpl.mm:
5829        (KWQKHTMLPartImpl::bridgeForFrameName): Don't warn when opening a
5830	new window. Check non-descendant frames too.
5831        (KWQKHTMLPartImpl::urlSelected): Pass frame name when opening window.
5832        * kwq/WebCoreBridge.h: Add frameName argument to openNewWindowWithURL:.
5833
58342002-09-10  Darin Adler  <darin@apple.com>
5835
5836	Add back the APPLE_CHANGES for a few frame cases. We need to do some real testing
5837	before we remove our alternate versions of these (but I still hope we do remove them).
5838
5839        * khtml/khtml_part.cpp:
5840        (KHTMLPart::findFrame): Back to the old way.
5841        (KHTMLPart::frameExists): Ditto.
5842        (KHTMLPart::frames): Ditto.
5843
58442002-09-10  Darin Adler  <darin@apple.com>
5845
5846	- fixed 2942809 -- remove all direct access to "WebKit" defaults from WebCore
5847
5848        * kwq/WebCoreSettings.h: Add willLoadImagesAutomatically and userStyleSheetLocation.
5849        * kwq/WebCoreSettings.m:
5850        (-[WebCoreSettings _updateAllViews]): Added. Placeholder for a function that will
5851	cause all views to update styles and layout.
5852        (-[WebCoreSettings setStandardFontFamily:]): Call _updateAllViews if a change happened.
5853        (-[WebCoreSettings setFixedFontFamily:]): Ditto.
5854        (-[WebCoreSettings setSerifFontFamily:]): Ditto.
5855        (-[WebCoreSettings setSansSerifFontFamily:]): Ditto.
5856        (-[WebCoreSettings setCursiveFontFamily:]): Ditto.
5857        (-[WebCoreSettings setFantasyFontFamily:]): Ditto.
5858        (-[WebCoreSettings setMinimumFontSize:]): Ditto.
5859        (-[WebCoreSettings setDefaultFontSize:]): Ditto.
5860        (-[WebCoreSettings setDefaultFixedFontSize:]): Ditto.
5861        (-[WebCoreSettings setWillLoadImagesAutomatically:]): Added.
5862        (-[WebCoreSettings willLoadImagesAutomatically]): Added.
5863        (-[WebCoreSettings setUserStyleSheetLocation:]): Added. Call _updateAllViews if a change happened.
5864        (-[WebCoreSettings userStyleSheetLocation]): Added.
5865
5866        * WebCore.exp: Add WebCoreSettings to the exported class list.
5867
5868        * kwq/KWQKHTMLSettings.mm: Get settings from WebCoreSettings rather than going
5869	directly at WebKit user defaults.
5870        * kwq/KWQKConfigBase.mm:
5871        (KConfig::readNumEntry): Check key.
5872        (KConfig::readUnsignedNumEntry): Use WebCoreSettings to get the value of the
5873	"JavaScript can open windows automatically" setting, rather than going directly
5874	at a WebKit user default.
5875        (KConfig::readColorEntry): Remove log message. This is implemented well enough.
5876
5877	- fixed 3015877 -- either wean WebCore from _web_URLFromString, or make it public API in WebFoundation
5878
5879        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::redirectionTimerStartedOrStopped):
5880	Use KURL to make an NSURL rather than using [NSURL _web_URLWithString:].
5881        * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::setBaseURL): Ditto.
5882        * kwq/WebCoreBridge.mm: (-[WebCoreBridge completeURLForDOMString:]): Ditto.
5883
5884	After fixing the above bugs, I noticed that I could remove the WebFoundation dependency.
5885
5886        * WebCore.pbproj/project.pbxproj: Remove WebFoundation framework.
5887
5888        * kwq/WebCoreBridge.h: Replace reportError with reportBadURL.
5889        * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Use reportBadURL instead of reportError.
5890	This was the last bit of direct dependency on WebFoundation.
5891
5892	Do some preparation work for implementing "referrer".
5893
5894        * khtml/khtml_part.cpp: Remove lots of APPLE_CHANGES and compile more
5895	original code. This in preparation for using the "referrer" code from KHTML.
5896        * khtml/khtmlview.h: Ditto.
5897        * khtml/misc/loader.cpp: Ditto.
5898
5899        * kwq/kdecore/kurl.h: Add things needed by code formerly inside APPLE_CHANGES.
5900        * kwq/KWQKURL.mm: (KURL::hasRef): Ditto.
5901        (urlcmp): Implement in a simple-minded way. Needed by some code formerly inside
5902	APPLE_CHANGES. We can make a more full-featured version when and if we need it.
5903        * kwq/kio/global.h: Ditto.
5904        * kwq/kio/job.h: Ditto.
5905        * kwq/kio/jobclasses.h: Ditto.
5906        * kwq/KWQKjobclasses.mm: Ditto.
5907        * kwq/kparts/browserextension.h:
5908        * kwq/kparts/part.h: Ditto.
5909        * kwq/qt/qstringlist.h: Ditto.
5910        * kwq/KWQStringList.mm: (QStringList::pop_front): Ditto.
5911        * kwq/qt/qvaluelist.h: Ditto.
5912        * kwq/KWQValueListImpl.h: Ditto.
5913        * kwq/KWQValueListImpl.mm: (KWQValueListImpl::isEqual): Ditto.
5914
5915	Other changes.
5916
5917        * kwq/KWQApplication.mm:
5918        (QApplication::setOverrideCursor): Don't report an error for this, it's OK
5919	to do nothing.
5920        (QApplication::restoreOverrideCursor): Ditto.
5921
59222002-09-09  Richard Williamson  <rjw@apple.com>
5923
5924        Implemented disable images automatically (2896319).
5925
5926        * kwq/KWQKHTMLSettings.mm:
5927        (KHTMLSettings::autoLoadImages):
5928
59292002-09-09  Darin Adler  <darin@apple.com>
5930
5931        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyView):
5932	Remove stray printf.
5933
59342002-09-09  David Hyatt  <hyatt@apple.com>
5935
5936	Switching over to the layer system for the handling of mouse
5937	events.
5938	
5939        * khtml/rendering/render_flow.cpp:
5940        (RenderFlow::nodeAtPoint):
5941        * khtml/rendering/render_image.cpp:
5942        (RenderImage::nodeAtPoint):
5943        * khtml/rendering/render_layer.cpp:
5944        (RenderLayer::paint):
5945        (RenderLayer::nodeAtPoint):
5946        (RenderLayer::constructZTree):
5947        * khtml/rendering/render_layer.h:
5948        * khtml/rendering/render_object.cpp:
5949        (RenderObject::nodeAtPoint):
5950        * khtml/xml/dom_docimpl.cpp:
5951        (DocumentImpl::prepareMouseEvent):
5952        * kwq/WebCoreBridge.mm:
5953        (-[WebCoreBridge drawRect:withPainter:]):
5954        (-[WebCoreBridge elementAtPoint:]):
5955        * kwq/qt/qrect.h:
5956
59572002-09-09  Darin Adler  <darin@apple.com>
5958
5959        * khtml/rendering/render_layer.h: Add a call to delete to fix a storage leak.
5960
59612002-09-09  Darin Adler  <darin@apple.com>
5962
5963        * khtml/misc/helper.cpp: (khtml::setNamedColor): Add a missing return I spotted.
5964
5965        * kwq/KWQApplication.mm:
5966        * kwq/KWQChar.mm:
5967        * kwq/KWQCompletion.mm:
5968        * kwq/KWQCursor.mm:
5969        * kwq/KWQEvent.mm:
5970        * kwq/KWQFontInfo.mm:
5971        * kwq/KWQFontMetrics.mm:
5972        * kwq/KWQInputDialog.mm:
5973        * kwq/KWQKConfigBase.mm:
5974        * kwq/KWQKFileDialog.mm:
5975        * kwq/KWQKFileItem.mm:
5976        * kwq/KWQKGlobalSettings.mm:
5977        * kwq/KWQKHTMLSettings.mm:
5978        * kwq/KWQKIconLoader.mm:
5979        * kwq/KWQKMimeType.mm:
5980        * kwq/KWQKSimpleConfig.mm:
5981        * kwq/KWQKjobclasses.mm:
5982        * kwq/KWQKnetaccess.mm:
5983        * kwq/KWQLineEdit.mm:
5984        * kwq/KWQScrollView.mm:
5985        * kwq/KWQString.mm:
5986        * kwq/KWQWidget.mm:
5987        * kwq/KWQbrowserinterface.mm:
5988        * kwq/KWQtextstream.mm:
5989        * kwq/KWQxml.mm:
5990	Change various LOG(NotYetImplemented) to ERROR, FATAL, or removed them entirely.
5991	This will help us with the task of getting every last one either "not implemented
5992	on purpose" or implemented. I'm not sure the NotYetImplemented log channel is
5993	useful, because it's chock full of continuous "direction not implemented" messages.
5994
5995        * kwq/KWQLogging.h:
5996        * kwq/KWQLogging.m:
5997	Removed the NeverImplemented logging channel. The distinction is no longer worth
5998	keeping around. We use NotYetImplemented instead.
5999
60002002-09-08  Darin Adler  <darin@apple.com>
6001
6002	Switch over to new assertion/logging scheme.
6003
6004        * kwq/KWQAssertions.h: Added.
6005        * kwq/KWQAssertions.m: Added.
6006        * kwq/KWQLogging.h: Added.
6007        * kwq/KWQLogging.m: Added.
6008        * kwq/kwqdebug.h: Removed.
6009        * kwq/kwqdebug.mm: Removed.
6010        * WebCore.pbproj/project.pbxproj: Update to reflect above changes.
6011
6012        * kwq/KWQApplication.mm:
6013        * kwq/KWQChar.mm:
6014        * kwq/KWQColor.mm:
6015        * kwq/KWQComboBox.mm:
6016        * kwq/KWQCompletion.mm:
6017        * kwq/KWQCursor.mm:
6018        * kwq/KWQDrawUtil.mm:
6019        * kwq/KWQEvent.mm:
6020        * kwq/KWQFontInfo.mm:
6021        * kwq/KWQFontMetrics.mm:
6022        * kwq/KWQFrame.mm:
6023        * kwq/KWQHBox.mm:
6024        * kwq/KWQInputDialog.mm:
6025        * kwq/KWQInvisibleButton.mm:
6026        * kwq/KWQKConfigBase.mm:
6027        * kwq/KWQKFileDialog.mm:
6028        * kwq/KWQKFileItem.mm:
6029        * kwq/KWQKGlobalSettings.mm:
6030        * kwq/KWQKHTMLPartImpl.mm:
6031        * kwq/KWQKHTMLSettings.mm:
6032        * kwq/KWQKIconLoader.mm:
6033        * kwq/KWQKJob.mm:
6034        * kwq/KWQKLocale.mm:
6035        * kwq/KWQKMimeType.mm:
6036        * kwq/KWQKPartsEvent.mm:
6037        * kwq/KWQKSimpleConfig.mm:
6038        * kwq/KWQKURL.mm:
6039        * kwq/KWQKWin.mm:
6040        * kwq/KWQKWinModule.mm:
6041        * kwq/KWQKjobclasses.mm:
6042        * kwq/KWQKnetaccess.mm:
6043        * kwq/KWQLabel.mm:
6044        * kwq/KWQLineEdit.mm:
6045        * kwq/KWQListBox.mm:
6046        * kwq/KWQListImpl.mm:
6047        * kwq/KWQLoaderImpl.mm:
6048        * kwq/KWQObject.mm:
6049        * kwq/KWQPaintDeviceMetrics.mm:
6050        * kwq/KWQPainter.mm:
6051        * kwq/KWQPixmap.mm:
6052        * kwq/KWQRegion.mm:
6053        * kwq/KWQScrollView.mm:
6054        * kwq/KWQSlot.mm:
6055        * kwq/KWQString.mm:
6056        * kwq/KWQTimer.mm:
6057        * kwq/KWQWidget.mm:
6058        * kwq/KWQbrowserinterface.mm:
6059        * kwq/KWQtextcodec.mm:
6060        * kwq/KWQtextstream.mm:
6061        * kwq/KWQxml.mm:
6062        * kwq/WebCoreBridge.mm:
6063        * kwq/WebCoreCookieAdapter.m:
6064        * kwq/WebCoreHistory.m:
6065        * kwq/WebCoreImageRendererFactory.m:
6066        * kwq/WebCoreTextRendererFactory.m:
6067        * kwq/WebCoreViewFactory.m:
6068	Update to use new assertions and logging macros.
6069	In some cases, just removed unneeded includes.
6070
60712002-09-08  David Hyatt  <hyatt@apple.com>
6072
6073	Landing the new layer system and turning it on for painting of
6074	all types of positioned blocks (and for painting the root
6075	and HTML layers as well).
6076
6077	Event handling is not yet using the new layer system, so you
6078	may see oddities like DHTML menus now displaying correctly but
6079	events not working (since the event code may still be stacking
6080	incorrectly and think the DHTML is behind other content).
6081	
6082        * khtml/css/cssstyleselector.cpp:
6083        * khtml/rendering/render_box.cpp:
6084        (RenderBox::setStyle):
6085        (RenderBox::calcHeight):
6086        (RenderBox::calcAbsoluteHorizontal):
6087        * khtml/rendering/render_container.cpp:
6088        (RenderContainer::addChild):
6089        (RenderContainer::removeChildNode):
6090        * khtml/rendering/render_flow.cpp:
6091        (RenderFlow::setStyle):
6092        (RenderFlow::printObject):
6093        (RenderFlow::printSpecialObjects):
6094        (RenderFlow::layout):
6095        (RenderFlow::layoutSpecialObjects):
6096        (RenderFlow::layoutBlockChildren):
6097        (RenderFlow::insertSpecialObject):
6098        * khtml/rendering/render_flow.h:
6099        * khtml/rendering/render_html.cpp:
6100        (RenderHtml::layout):
6101        * khtml/rendering/render_image.cpp:
6102        (RenderImage::printObject):
6103        * khtml/rendering/render_layer.cpp:
6104        (RenderLayer::updateLayerPosition):
6105        (RenderLayer::enclosingAncestor):
6106        (RenderLayer::addChild):
6107        (RenderLayer::convertToLayerCoords):
6108        (RenderLayer::paint):
6109        (RenderLayer::constructZTree):
6110        (RenderLayer::RenderZTreeNode::constructLayerList):
6111        * khtml/rendering/render_layer.h:
6112        * khtml/rendering/render_replaced.cpp:
6113        (RenderReplaced::print):
6114        (RenderWidget::printObject):
6115        * khtml/rendering/render_root.cpp:
6116        (RenderRoot::calcHeight):
6117        (RenderRoot::layout):
6118        (RenderRoot::printObject):
6119        * khtml/rendering/render_root.h:
6120        * khtml/rendering/render_style.cpp:
6121        (StyleBoxData::StyleBoxData):
6122        (StyleBoxData::operator==):
6123        * khtml/rendering/render_style.h:
6124        * kwq/WebCoreBridge.mm:
6125        (-[WebCoreBridge drawRect:withPainter:]):
6126        * kwq/qt/qrect.h:
6127
61282002-09-06  Maciej Stachowiak  <mjs@apple.com>
6129
6130        Fix another instance of the same problem:
6131
6132	* kwq/KWQString.mm:
6133        (QString::detach):
6134
61352002-09-06  Maciej Stachowiak  <mjs@apple.com>
6136
6137	Fix optimized build:
6138	
6139        * kwq/KWQString.mm:
6140        (QString::detachInternal): Uselessly Initialize newData to NULL
6141	since the compiler can't tell that FATAL won't return.
6142
61432002-09-06  Darin Adler  <darin@apple.com>
6144
6145        * kwq/WebCoreResourceLoader.h:
6146	Define WebCoreResourceHandle protocol.
6147
6148        * kwq/kio/jobclasses.h:
6149        * kwq/KWQKjobclasses.mm:
6150        * kwq/KWQLoaderImpl.mm: (KWQServeRequest):
6151        * kwq/WebCoreBridge.h:
6152	Use WebCoreResourceHandle instead of WebResourceHandle.
6153
6154        * kwq/KWQString.mm: (QString::fill): Fix case where the new string
6155	is going to be empty, but the old string was not. Before, it leaked
6156	a handle.
6157
6158        * kwq/character-sets.txt: Updated to 2002-06-14 version from 2001-08-23 version.
6159        * kwq/mac-encodings.txt: Updated encoding names to include ones gleaned from
6160	the I18N-Charset-1.17 Perl module.
6161
6162        * kwq/KWQCharsets.mm: Formatting tweaks.
6163
61642002-09-06  Richard Williamson  <rjw@apple.com>
6165
6166        Start using khtml's 'toAdd' parameter to justify text.
6167        
6168        * khtml/rendering/font.cpp:
6169        (Font::drawText):
6170        
6171        Normalize all calls to get width to minimize use of
6172        ObjC.  Will make it easier to use IMPL cache later.
6173        
6174        * kwq/KWQFontMetrics.mm:
6175        (QFontMetrics::width):
6176        (QFontMetrics::floatWidth):
6177        (QFontMetrics::floatCharacterWidth):
6178        
6179        Pass additional 'toAdd' parameter.
6180        
6181        * kwq/KWQPainter.mm:
6182        (QPainter::drawText):
6183        * kwq/qt/qpainter.h:
6184        
6185        Remove methods now that width calls are normalized to single
6186        method.
6187        * kwq/WebCoreTextRenderer.h:
6188
6189
6190=== Alexander-22 ===
6191
61922002-09-05  Richard Williamson  <rjw@apple.com>
6193
6194        Add the first child text node of the element to the
6195        element dictionary.  This will be used as a link 'label'.
6196        
6197        * kwq/WebCoreBridge.h:
6198        * kwq/WebCoreBridge.mm:
6199        (-[WebCoreBridge elementAtPoint:]):
6200
62012002-09-05  Richard Williamson  <rjw@apple.com>
6202    
6203        Removed debugging.
6204        
6205        * khtml/khtml_part.cpp:
6206        (KHTMLPart::closeURL):
6207
62082002-09-05  Richard Williamson  <rjw@apple.com>
6209
6210        Always call KHTMLPart::closeURL when a new document is loaded.
6211        
6212        Added support for saving and restoring document state in
6213        the back/forward list.  Document state includes form data.
6214        
6215        * khtml/khtml_part.cpp:
6216        (KHTMLPart::openURL):
6217        (KHTMLPart::closeURL):
6218        (KHTMLPart::begin):
6219        * kwq/KWQKHTMLPartImpl.h:
6220        * kwq/KWQKHTMLPartImpl.mm:
6221        (KWQKHTMLPartImpl::saveDocumentState):
6222        (KWQKHTMLPartImpl::restoreDocumentState):
6223        * kwq/WebCoreBridge.h:
6224        * kwq/WebCoreBridge.mm:
6225        (-[WebCoreBridge saveDocumentState]):
6226        (-[WebCoreBridge restoreDocumentState]):
6227
62282002-09-04  Darin Adler  <darin@apple.com>
6229
6230        * WebCore.pbproj/project.pbxproj:
6231        * kwq/KWQObject.mm:
6232        * kwq/KWQPainter.mm:
6233        * kwq/KWQTimer.mm:
6234        * kwq/WebCoreCookieAdapter.h:
6235        * kwq/WebCoreImageRenderer.h:
6236        * kwq/WebCoreImageRendererFactory.h:
6237	Tweaks, no substantive changes.
6238
62392002-09-02  David Hyatt  <hyatt@apple.com>
6240
6241	Tweak the damage rect testing to account for the fact that a child
6242	layer may fall entirely outside the bounds of its parent layer.
6243	
6244        * khtml/rendering/render_layer.cpp:
6245        (RenderLayer::constructZTree):
6246
62472002-08-31  Darin Adler  <darin@apple.com>
6248
6249	- fixed 3038336 -- repro crash in QTextDecoder trying to display UTF-16 file
6250
6251        * kwq/mac-encodings.txt: Hook up the UTF-16 encoding to the name iso-10646-ucs-2.
6252	We have a long way to go to get this right. There are almost certainly going to
6253	be other bugs with 16-bit character pages.
6254
6255        * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::encoding): Just return "latin1",
6256	not "NSISOLatin1StringEncoding".
6257
6258        * kwq/KWQString.mm: (QString::fromStringWithEncoding): Pass true for the
6259	"pay attention to BOM" flag.
6260
6261        * khtml/rendering/render_object.cpp: Take out unneeded APPLE_CHANGES.
6262
62632002-08-30  Ken Kocienda  <kocienda@apple.com>
6264
6265	Fixed a problem in this function where broken UTF-8 would cause a crash.
6266
6267        * WebCore.pbproj/project.pbxproj:
6268        * kwq/KWQString.mm:
6269        (QString::fromStringWithEncoding)
6270
62712002-08-30  Richard Williamson  <rjw@apple.com>
6272
6273        Removed debugging log.
6274        
6275        * kwq/KWQString.mm:
6276        (QString::fromStringWithEncoding):
6277
62782002-08-30  Richard Williamson  <rjw@apple.com>
6279
6280        Made decoder more robust wrt nulls in content.  Changed use
6281        of QCString to null safe QString rather than modify
6282        content.
6283        
6284        * khtml/misc/decoder.cpp:
6285        (Decoder::decode):
6286        (Decoder::flush):
6287        * khtml/misc/decoder.h:
6288        * kwq/KWQString.mm:
6289        (QString::fromStringWithEncoding):
6290
62912002-08-30  Darin Adler  <darin@apple.com>
6292
6293	- fixed 3027407 -- Console error refers to closed bug
6294
6295        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::bridgeForFrameName):
6296	Update bug number from 2959902 to 2942073.
6297
6298	- fixed 3027532 -- can't tab into or out of textareas
6299	
6300        * kwq/KWQTextArea.h: Add setFont:.
6301        * kwq/KWQTextArea.mm:
6302        (-[KWQTextArea _createTextView]): Make a KWQTextAreaTextView.
6303        (-[KWQTextArea textDidChange:]): Send text changed messages when the text
6304	is changed, not when done editing. I did this for KWQNSTextField a while ago;
6305	it's tragic that AppKit leads us to have two separate classes for these nearly
6306	identical purposes.
6307        (-[KWQTextArea setFont:]): Call setFont on the text view.
6308        (-[KWQTextArea becomeFirstResponder]): Call makeFirstResponder on the text view.
6309        (-[KWQTextArea nextKeyView]): Do that voodoo, just like KWQNSTextField.
6310        (-[KWQTextArea previousKeyView]): Ditto.
6311        (-[KWQTextArea nextValidKeyView]): Ditto.
6312        (-[KWQTextArea previousValidKeyView]): Ditto.
6313        (-[KWQTextAreaTextView insertTab:]): Select the next key view. We don't get this
6314	automatically because this is not a field editor. But being a field editor leads
6315	to other unwanted behavior.
6316        (-[KWQTextAreaTextView insertBacktab:]): Ditto.
6317        (-[KWQTextAreaTextView becomeFirstResponder]): Select all on entry.
6318        (-[KWQTextAreaTextView shouldDrawInsertionPoint]): Don't draw insertion point
6319	when we are not the first responder.
6320        (-[KWQTextAreaTextView selectedTextAttributes]): Don't draw the selection when
6321	we are not the first responder.
6322
6323        * kwq/qt/qtextedit.h:
6324        * kwq/KWQTextEdit.mm: (QTextEdit::setFont): Call -[KWQTextArea setFont:].
6325        (QTextEdit::focusPolicy): Always return TabFocus, because the top level widget
6326	is not an NSControl so QWidget::focusPolicy does not suffice.
6327
6328        * kwq/qt/qwidget.h: Make focusPolicy virtual.
6329
6330        * kwq/qt/qfont.h:
6331        * kwq/KWQFont.mm: (QFont::getNSFont): Add this helper function
6332	so we don't have to repeat this in multiple places.
6333
6334        * kwq/KWQLineEdit.mm: (QLineEdit::setFont): Use QFont::getNSFont.
6335
6336        * force-clean-timestamp: For you poor bastards who aren't using the new
6337	Project Builder yet.
6338
63392002-08-30  Darin Adler  <darin@apple.com>
6340
6341        * WebCore.pbproj/project.pbxproj: Allowed the new Project Builder to put in
6342	encodings for each file.
6343
63442002-08-29  David Hyatt  <hyatt@apple.com>
6345
6346	Begin connecting the layer system.  The root box and the <html>
6347	box now construct layers for themselves.  Those layers are
6348	connected in a layer tree properly and they correctly update
6349	their positions.
6350
6351	Implemented all the code for layer construction and for keeping
6352	the layer tree in sync with the render object tree.  
6353
6354	The goal is to get the layer tree fully constructed and correct
6355	(with lots of testing) before actually switching over to it for
6356	painting.
6357
6358	This change requires a clean of WebCore.
6359	
6360        * force-clean-timestamp:
6361        * khtml/rendering/render_box.cpp:
6362        (RenderBox::RenderBox):
6363        (RenderBox::~RenderBox):
6364        (RenderBox::setPos):
6365        (RenderBox::positionChildLayers):
6366        * khtml/rendering/render_box.h:
6367        * khtml/rendering/render_container.cpp:
6368        (RenderContainer::~RenderContainer):
6369        (RenderContainer::addChild):
6370        (RenderContainer::removeChildNode):
6371        * khtml/rendering/render_container.h:
6372        * khtml/rendering/render_html.cpp:
6373        (RenderHtml::RenderHtml):
6374        * khtml/rendering/render_layer.cpp:
6375        (RenderLayer::updateLayerPosition):
6376        * khtml/rendering/render_layer.h:
6377        * khtml/rendering/render_object.h:
6378        * khtml/rendering/render_root.cpp:
6379        (RenderRoot::RenderRoot):
6380
6381=== Alexander-21 ===
6382
63832002-08-28  David Hyatt  <hyatt@apple.com>
6384
6385	Implement the flattening algorithm that walks the layer 
6386	hierarchy and produces the correct layer list for back
6387	to front painting.  (Still under construction.  Not used yet.)
6388	
6389        * khtml/rendering/render_layer.cpp:
6390        (sortByZOrder):
6391        (RenderLayer::RenderZTreeNode::constructLayerList):
6392        * khtml/rendering/render_layer.h:
6393
63942002-08-28  Richard Williamson  <rjw@apple.com>
6395
6396        More tweaks to ccs.
6397        Added underline to visited links.
6398        Made outline for active normal and visited links gray.
6399        
6400        * khtml/css/html4.css:
6401
64022002-08-28  Richard Williamson  <rjw@apple.com>
6403
6404        Fixed outline of for active link style.
6405        
6406        * khtml/css/html4.css:
6407        * kwq/KWQPainter.mm:
6408        (QPainter::drawLine):
6409
64102002-08-28  David Hyatt  <hyatt@apple.com>
6411
6412	Adding knowledge to the style system of auto z-indices.  The old
6413	code doesn't use this yet, but the new layering code will.
6414
6415	Also wrote the ztree construction function (not used yet) and
6416	stubbed out the display list flattening routines.
6417	
6418        * khtml/rendering/render_layer.cpp:
6419        (RenderLayer::convertToLayerCoords):
6420        (RenderLayer::constructZTree):
6421        (RenderLayer::constructLayerList):
6422        * khtml/rendering/render_layer.h:
6423        * khtml/rendering/render_style.cpp:
6424        (StyleBoxData::StyleBoxData):
6425        * khtml/rendering/render_style.h:
6426
64272002-08-28  Darin Adler  <darin@apple.com>
6428
6429	- fixed 2977587 -- JavaScript code that reads the values of text areas
6430	misses the last line if no trailing CR
6431
6432        * kwq/KWQTextArea.mm: (-[KWQTextArea paragraphs]):
6433
64342002-08-28  David Hyatt  <hyatt@apple.com>
6435
6436	Putting design notes and API details for the layering system
6437	into the header file.
6438	
6439        * khtml/rendering/render_layer.h:
6440
64412002-08-28  Darin Adler  <darin@apple.com>
6442
6443        * kwq/mac-encodings.txt: Sort all the character set names alphabetically, and use all lower case.
6444        * kwq/make-charset-table.pl: Require lower-case sorted lists of character set names.
6445
64462002-08-28  Darin Adler  <darin@apple.com>
6447
6448	- fixed 3032148 -- Button not disabled in page
6449
6450        * kwq/KWQWidget.mm: (QWidget::setEnabled): Call setEnabled:
6451	on the NSView if it implements it.
6452
64532002-08-28  Darin Adler  <darin@apple.com>
6454
6455	- fixed 3030212 -- Problems rendering pages that specify "x-mac-roman" character
6456	set (like our Danish help pages)
6457
6458        * kwq/mac-encodings.txt: Added x-mac-roman as an alias for macintosh.
6459
64602002-08-27  Darin Adler  <darin@apple.com>
6461
6462        * force-clean-timestamp: Dave's changes require a full build. I found out the
6463	hard way, by debugging for a while.
6464
64652002-08-27  Richard Williamson <rjw@apple.com>
6466
6467        * kwq/WebCoreBridge.h:
6468        
6469        Fixed constants to conform to WebKit.  These need to be shared.
6470
64712002-08-27  David Hyatt  <hyatt@apple.com>
6472
6473	Change relative positioned blocks so that they are treated as special objects and
6474	painted last along with absolutely positioned blocks and floaters.  Note that the
6475	entire special object system is fundamentally flawed, and it needs to be replaced
6476	with a real layering subsystem.
6477
6478	This checkin at least gets relatively positioned divs painting correctly some of
6479	the time (in the cases where the containing blocks of absolute and relative positioned
6480	divs happen to be the same).  It does not, however, deal with the problem of ensuring
6481	correct stacking of positioned elements with different containing blocks.
6482
6483	render_layer.h and .cpp include a new implementation (not used yet, just the beginnings)
6484	of a layering subsystem that I am going to be working on over the next few days
6485	that will eventually be responsible for handling event dispatching and painting and that
6486	will also understand how to deal with form controls and other objects that have Cocoa
6487	views.
6488	
6489        * WebCore.pbproj/project.pbxproj:
6490        * khtml/rendering/render_box.cpp:
6491        (RenderBox::RenderBox):
6492        * khtml/rendering/render_box.h:
6493        * khtml/rendering/render_flow.cpp:
6494        (RenderFlow::printObject):
6495        (RenderFlow::printSpecialObjects):
6496        (RenderFlow::layoutSpecialObjects):
6497        (RenderFlow::layoutBlockChildren):
6498        (RenderFlow::insertSpecialObject):
6499        * khtml/rendering/render_flow.h:
6500        * khtml/rendering/render_layer.cpp: Added.
6501        (RenderLayer::RenderLayer):
6502        (RenderLayer::~RenderLayer):
6503        (RenderLayer::addChild):
6504        (RenderLayer::removeChild):
6505        * khtml/rendering/render_layer.h: Added.
6506
65072002-08-27  Darin Adler  <darin@apple.com>
6508
6509	- fixed 3031952 -- null-dereference in dispatchToUInt32 closing window
6510
6511        * khtml/ecma/kjs_window.cpp: (History::getValueProperty):
6512	Use Undefined(), not Value() for an error result. Value() is pure evil.
6513
65142002-08-27  Darin Adler  <darin@apple.com>
6515
6516	- fixed 3021018 -- Crash selecting from popup just after choosing radio button
6517
6518        * kwq/KWQComboBox.mm:
6519        (QComboBox::QComboBox): Pass the widget in when creating the cell.
6520        (-[KWQPopUpButtonCell initWithWidget:]): Store a widget pointer.
6521        (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): Get to the bridge
6522	and tell it to defer loading while we track the mouse.
6523
6524        * kwq/KWQKHTMLPartImpl.h: Add bridgeForWidget.
6525        * kwq/KWQKHTMLPartImpl.mm:
6526        (KWQKHTMLPartImpl::nextKeyViewForWidget): Use nodeForWidget and partForNode.
6527        (KWQKHTMLPartImpl::bridgeForWidget): Added. Use nodeForWidget and partForNode.
6528        (KWQKHTMLPartImpl::partForNode): Move code here from nextKeyViewForWidget.
6529        (KWQKHTMLPartImpl::nodeForWidget): Move code here from nextKeyViewForWidget.
6530
6531        * kwq/WebCoreBridge.h: Add defersLoading and setDefersLoading. Both are already
6532	in WebKit.
6533
65342002-08-26  David Hyatt  <hyatt@apple.com>
6535
6536	Fix for 3026006.  Ensure that TABLES inside <div>s with align="right"
6537	are properly positioned.  <div align="right"> was completely
6538	unimplemented.  This patch implements it for the common cases
6539	(nested divs, tables within divs, and paragraphs).
6540	
6541        * khtml/css/html4.css:
6542
65432002-08-26  Darin Adler  <darin@apple.com>
6544
6545        * khtml/rendering/render_list.cpp:
6546	Make file match the original KDE more closely (no substantive change).
6547
65482002-08-26  Richard Williamson  <rjw@apple.com>
6549
6550        * WebCore.exp:
6551
6552        Added WebCoreHistory
6553        
6554        * WebCore.pbproj/project.pbxproj:
6555
6556        Added WebCoreHistory
6557        
6558        * kwq/KWQKHistoryProvider.mm:
6559        Use WebCoreHistory to determine visited link.
6560        
6561        * kwq/WebCoreHistory.h: Added.
6562        * kwq/WebCoreHistory.m: Added.
6563        
6564        Stage 1.  Use WebKit's WebHistory.  Writing
6565        of history and initialization still handled
6566        by Alex until stage 2.
6567        
6568        (+[WebCoreHistory setSharedHistory:]):
6569        (+[WebCoreHistory sharedHistory]):
6570        (-[WebCoreHistory containsURL:]):
6571
6572        * kwq/KWQString.mm:
6573        (QString::compare):
6574
6575        Optimization, use strcmp when both src and dst have valid ascii.
6576        
6577
65782002-08-26  David Hyatt  <hyatt@apple.com>
6579
6580	- Patch drawText to understand right-aligned drawing.  
6581	- Fixed <ul> bullets so that they position properly.
6582	- Fixed bugs with horizontal and vertical positioning of
6583	  <ol> bullets.
6584	
6585        * khtml/rendering/render_list.cpp:
6586        (RenderListMarker::printObject):
6587        * kwq/KWQPainter.mm:
6588        (QPainter::drawText):
6589
65902002-08-24  Darin Adler  <darin@apple.com>
6591
6592	- fixed 3032072 -- Crash on reload in DOM::DocumentImpl::~DocumentImpl [unified]()
6593
6594	This was a tough one to debug.
6595	Turned out to be a subtle bug in our new QConstString implementation.
6596
6597        * kwq/KWQString.mm:
6598        (QStringData::makeAscii): Don't invalidate the Unicode buffer unless the ASCII
6599	buffer is taking over the internal buffer from the Unicode. In other cases, it's
6600	important not to invalidate the Unicode because it can result in the Unicode being
6601	freed and re-created when unicode() is called, which is disastrous in the QConstString
6602	case because we can't free the Unicode.
6603        (QStringData::makeUnicode): Make the corresponding change for ASCII too. In this
6604	case, it's just an optimization, not a bug fix.
6605        (QString::insert), (QString::remove), (QString::fill), (QString::operator+=):
6606	Mark the other string invalid whenever we modify either the ASCII or the Unicode
6607	string. This was handled correctly for some operations before, but not all, and it
6608	now matters because makeAscii and makeUnicode will now allow this state.
6609
6610	Fixed a separate QString problem; I think I may have introduced this one.
6611
6612        * kwq/KWQString.mm:
6613        (QString::getNSString): Since by ASCII, we actually mean ISO Latin 1, we can't use
6614	[NSString stringWithCString:]. Use CFStringCreateWithCString instead, pass
6615	CFStringCreateWithCString as the encoding, and use autorelease. We shouldn't really
6616	use the term ASCII in this class for the 8-bit-per-character buffer. Something more
6617	like Latin1 would be a more accurate way to refer to it. Maybe I'll do that renaming
6618	after talking to Richard about it on Monday.
6619
6620	Fixed a small storage leak.
6621
6622        * khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cleanup): Added braces to
6623	fix obviously-incorrect if/else grouping.
6624
66252002-08-23  Darin Adler  <darin@apple.com>
6626
6627	Got the kurl-test in the Tests directory working again.
6628
6629        * kwq/KWQKURL.mm: (KURL::KURL): Fixed problem where relative path resolution code
6630	for "../" could eat up the host name too, treating it as part of the path.
6631
66322002-08-23  Darin Adler  <darin@apple.com>
6633
6634	- fixed 3032058 -- Links on local developer doc pages all broken (all local files?)
6635
6636        * kwq/KWQKURL.mm: (KURL::getNSURL): Re-added a workaround for CFURL bug 2908969.
6637	We have to hack to make NSURL take "file:/" URLs.
6638
6639        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyViewInFrame): Add a nil check.
6640	I ran into this because my frame failed to load.
6641
66422002-08-23  Maciej Stachowiak  <mjs@apple.com>
6643
6644	A few more KURL changes that reduce it down to background noise
6645	level.
6646
6647	For me this gave another 1-2% improvement on cvs-base.
6648
6649        * kwq/kdecore/kurl.h:
6650        * kwq/KWQKURL.mm:
6651        (KURL::KURL): In the relative constructor, do all work in a char
6652	array for the relative path case, and leave it up to ::parse to
6653	create a QString.
6654        (KURL::parse): Do all work in a char array, only creating a
6655	QString at the end if needed. Also, take an optional pointer to
6656	the QString that the char * was created from, and if the final
6657	processed URL is the same as the original, assign the original
6658	instead of creating a new QString.
6659        (KURL::setProtocol): Adjust for prase() interface change.
6660        (KURL::setHost): Likewise.
6661        (KURL::setPort): Likewise.
6662        (KURL::setRef): Likewise.
6663        (KURL::setQuery): Likewise.
6664        (KURL::setPath): Likewise.
6665        (appendEscapingBadChars): Instead of taking and returning
6666	a QString like the old escapeBadChars, copy from and write into
6667	existing C string buffers.
6668
66692002-08-22  Darin Adler  <darin@apple.com>
6670
6671        * force-clean-timestamp: Without this, I crash on startup.
6672
66732002-08-22  Maciej Stachowiak  <mjs@apple.com>
6674
6675	Brand new KURL implementation which avoids CFURL, CFString, and
6676	all that other allocation-happy goodness and instead does as much
6677	work as possible with raw ASCII buffers.
6678
6679	For me this gave a ~5% performance improvement on cvs-base.
6680	
6681        * kwq/KWQKURL.mm:
6682        (KURL::KURL):
6683        (KURL::hasPath):
6684        (KURL::protocol):
6685        (KURL::host):
6686        (KURL::port):
6687        (KURL::pass):
6688        (KURL::user):
6689        (KURL::ref):
6690        (KURL::query):
6691        (KURL::path):
6692        (KURL::setProtocol):
6693        (KURL::setHost):
6694        (KURL::setPort):
6695        (KURL::setRef):
6696        (KURL::setQuery):
6697        (KURL::setPath):
6698        (KURL::prettyURL):
6699        (KURL::decode_string):
6700        (escapeBadChars):
6701        (KURL::parse):
6702        (KURL::getNSURL):
6703        * kwq/kdecore/kurl.h:
6704        * khtml/khtml_part.cpp:
6705        (KHTMLPart::end): Don't call KURL::clearCaches() any more.
6706
67072002-08-22  Darin Adler  <darin@apple.com>
6708
6709        * kwq/KWQButton.mm: (QButton::~QButton): Disconnect the view
6710	from the widget by doing setTarget:nil.
6711        * kwq/KWQComboBox.mm: (QComboBox::~QComboBox): Ditto.
6712
67132002-08-22  David Hyatt  <hyatt@apple.com>
6714
6715	Add vertical margins for checkboxes and radios.  A later rule
6716	in the file was overriding my earlier attempt to set up these margins.
6717	
6718        * khtml/css/html4.css:
6719
67202002-08-22  Richard Williamson  <rjw@apple.com>
6721
6722        New faster char * append (actually insert) for mjs.
6723        
6724        * kwq/KWQString.mm:
6725        (QString::insert):
6726        * kwq/qt/qstring.h:
6727
67282002-08-22  Darin Adler  <darin@apple.com>
6729
6730	Some small QString improvements.
6731
6732        * kwq/qt/qstring.h: Add printf attribute to sprintf member function.
6733        * kwq/KWQString.mm:
6734	Remove extra \n characters from QSTRING_FAILURE calls. Change some
6735	fprintf to QSTRING_FAILURE. Change some QSTRING_FAILURE to KWQ_ASSERT.
6736        (QStringData::makeAscii): Fix bug where it would update _maxAscii
6737	with a new size even when it didn't allocate a new buffer.
6738        (QStringData::makeUnicode): Fix bug where it would update _maxUnicode
6739	with a new size even when it didn't allocate a new buffer.
6740        (QString::utf8): Fix bug where it assumed the UTF-8 form of a string
6741	has the same length as the Unicode version. Also save one allocation
6742	by doing it right into the QCString.
6743        (QString::local8Bit): Just call utf8().
6744        (QString::setNum): Have all these call our sprintf.
6745        (QString::sprintf): Format once to get the length. Then do the second
6746	format right into the string buffer. This way we don't have to do
6747	any allocation at all, nor use CFString.
6748
6749=== Alexander-20 ===
6750
67512002-08-22  Darin Adler  <darin@apple.com>
6752
6753	Fixed a one-click crasher that Ken and Don told me about.
6754
6755        * kwq/KWQObject.mm: (QObject::QObject): Initialize m_eventFilterObject.
6756
67572002-08-21  Darin Adler  <darin@apple.com>
6758
6759	- fixed 3021908 -- text areas should be plain text only
6760
6761        * kwq/KWQTextArea.mm:
6762        (-[KWQTextArea _createTextView]): setRichText:NO
6763        (-[KWQTextArea dealloc]): Release the text view so we don't leak.
6764
67652002-08-21  Darin Adler  <darin@apple.com>
6766
6767        * kwq/KWQNSViewExtras.m: (-[NSClipView _KWQ_scrollRectToVisible:inView:]):
6768	Use bounds, not visibleRect. Seems to work better.
6769
67702002-08-21  John Sullivan  <sullivan@apple.com>
6771
6772	- commented out (with FIXME 2935687) the code that was advertising in
6773	the status bar that shift-command would open a link behind the
6774	current window, since it doesn't.
6775
6776        * kwq/KWQKHTMLPartImpl.mm:
6777        (KWQKHTMLPartImpl::overURL):
6778
67792002-08-21  Darin Adler  <darin@apple.com>
6780
6781	Fix for two problems with password fields.
6782
6783	   1) Return wasn't working.
6784 	   2) They were wrapping instead of scrolling.
6785
6786        * kwq/KWQNSTextField.mm: 
6787        (-[KWQNSTextField setUpTextField:]): Shared initialization, needed by both
6788	the text field and the secure field. This includes the two things we needed
6789	for the password text field; wiring up action properly and setScrollable:YES.
6790        (-[KWQNSTextField initWithFrame:]): Use setUpTextField.
6791	(-[KWQNSTextField setPasswordMode:]): Use setUpTextField.
6792
67932002-08-21  David Hyatt  <hyatt@apple.com>
6794
6795	Fix for 3015372, tables and blocks nested inside other tables
6796	don't center.  This fixes a lot of sites, from the forum
6797	sites to the www.ve3d.com voodooextreme site.
6798	
6799        * khtml/html/html_tableimpl.cpp:
6800        (HTMLTablePartElementImpl::parseAttribute):
6801
68022002-08-21  Darin Adler  <darin@apple.com>
6803
6804	- fixed 3027927 -- selected text fields do not cause the web view to scroll to reveal them
6805
6806        * kwq/KWQNSTextField.mm:
6807        (-[KWQNSTextField becomeFirstResponder]): Call [self _KWQ_scrollFrameToVisible].
6808        (-[KWQSecureTextField becomeFirstResponder]): Call [self _KWQ_scrollFrameToVisible].
6809
6810        * kwq/KWQNSViewExtras.h: Added. New scrolling functions.
6811        * kwq/KWQNSViewExtras.m: Added. New scrolling functions.
6812        * WebCore.pbproj/project.pbxproj: Added KWQNSViewExtras.
6813
6814        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyViewInFrame):
6815	Make sure superview and position is set up properly before we try to tab to something.
6816        * kwq/KWQWidget.mm: (QWidget::setFocus):
6817	Make sure superview and position is set up properly before we try to focus something.
6818
6819	Unrelated change.
6820
6821        * kwq/KWQInvisibleButton.h:
6822        * kwq/KWQInvisibleButton.mm:
6823	Add KWQ prefix to the name of the private Objective C class to avoid potential conflicts.
6824
68252002-08-21  Darin Adler  <darin@apple.com>
6826
6827	Implemented baseline alignment for form elements. We decided that this was better
6828	than what we're currently doing. But it will look even better when the font of the
6829	text field matches the font of the surrounding text, so we should consider that.
6830
6831	I also nudged the text down one pixel in popup menus, to match buttons. I think we
6832	probably should suggest that this be done in Aqua by default (buttons and popup menus
6833	already match in the normal size; this is the small size).
6834
6835        * khtml/rendering/render_form.h: Remove some APPLE_CHANGES.
6836        * khtml/rendering/render_form.cpp:
6837        (RenderFormElement::baselinePosition): Use the widget's concept of the baseline
6838	position (the new QWidget::baselinePosition function).
6839        (RenderButton::baselinePosition): Just call the inherited version.
6840        (RenderSubmitButton::baselinePosition): Remove our ifdef because we want what the
6841	original code said, which was just calling the inherited version.
6842	(RenderLineEdit::baselinePosition): Removed our added method since we want to just
6843	call the inherited version.
6844        (RenderSelect::baselinePosition): Just call the inherited version for the pop up
6845	menu case. For the list box, just left the old code alone until someone can take
6846	a look at it.
6847
6848        * kwq/qt/qwidget.h: Added new virtual baselinePosition function.
6849        * kwq/KWQWidget.mm: (QWidget::baselinePosition): Default for baseline is the bottom.
6850
6851        * kwq/qt/qlineedit.h:
6852        * kwq/KWQLineEdit.mm:
6853        (QLineEdit::baselinePosition): Compute the baseline based on how NSTextField does it.
6854	Compared to the other widgets this was easy, because the cell's drawingRectForBounds
6855	gives you the place where the top of the line is. It does use defaultLineHeightForFont,
6856	which is not used by other widgets, but that's no real problem.
6857
6858        * kwq/qt/qbutton.h:
6859        * kwq/KWQButton.mm: Moved all the code that's push-button specific into QPushButton.
6860
6861        * kwq/qt/qpushbutton.h:
6862        * kwq/KWQPushButton.mm:
6863        (QPushButton::QPushButton): Set the bezel style of the button.
6864        (QPushButton::sizeHint): Moved here from QButton.
6865        (QPushButton::frameGeometry): Moved here from QButton.
6866        (QPushButton::setFrameGeometry): Moved here from QButton.
6867        (QPushButton::baselinePosition): Compute the baseline based on how NSButton does it.
6868	The rule for the style of button we use is "centered vertically in the available space,
6869	offset by kThemePushButtonSmallTextOffset", so I had to hardcode the value of
6870	kThemePushButtonSmallTextOffset; I called it VERTICAL_FUDGE_FACTOR (2).
6871
6872        * kwq/qt/qcombobox.h:
6873        * kwq/KWQComboBox.mm:
6874        (-[KWQPopUpButtonCell drawInteriorWithFrame:inView:]): Custom cell class that nudges
6875	the text down one pixel.
6876        (QComboBox::QComboBox): Attach the custom cell class.
6877        (QComboBox::baselinePosition): Compute the baseline based on how NSPopUpButton does it.
6878	The rule for the style of pop-up button we use is "CELLOFFSET pixels down from the top",
6879	so I had to hardcode the value of CELLOFFSET; I called it VERTICAL_FUDGE_FACTOR (2).
6880
6881        * force-clean-timestamp: Yes, again.
6882
68832002-08-20  Darin Adler  <darin@apple.com>
6884
6885	- fix 3028936 -- fields are not submitting the correct data if they are selected
6886	when you submit
6887
6888        * kwq/KWQNSTextField.mm: (-[KWQNSTextField controlTextDidChange:]):
6889	Call widget->textChanged and set edited to true here. The old code had two problems.
6890	First, it only sent textChanged from controlTextDidEndEditing. Second, it overrode
6891	textDidChange without calling super, preventing controlTextDidChange from being
6892	sent to the delegate.
6893
68942002-08-20  David Hyatt  <hyatt@apple.com>
6895
6896	Fix background positioning so that it works with table cells.
6897	This fixes the tabs on www.msn.com.
6898	
6899        * khtml/rendering/render_box.cpp:
6900        (RenderBox::printBackground):
6901        * khtml/rendering/render_table.h:
6902
69032002-08-20  Darin Adler  <darin@apple.com>
6904
6905	WebCore part of support for tabbing into and out of the toolbar.
6906
6907        * kwq/KWQKHTMLPartImpl.h: Renamed static nextKeyView to nextKeyViewForWidget.
6908	Added nextKeyViewInFrameHierarchy.
6909        * kwq/KWQKHTMLPartImpl.mm:
6910        (KWQKHTMLPartImpl::nextKeyViewInFrameHierarchy): New name for the old nextKeyView.
6911        (KWQKHTMLPartImpl::nextKeyView): Added. Does all the logic for handling views outside
6912	the frame hierarchy that used to be only in the static nextKeyView.
6913        (KWQKHTMLPartImpl::nextKeyViewForWidget): New name for the static nextKeyView, which
6914	now just does the widget-specific bits. Removed null check in here that's no longer needed.
6915
6916        * kwq/KWQNSTextField.mm: Update to call nextKeyViewForWidget.
6917
6918        * kwq/WebCoreBridge.h: Added nextKeyViewInsideWebViews, previousKeyViewInsideWebViews,
6919	nextKeyViewOutsideWebViews, and previousKeyViewOutsideWebViews.
6920
6921        * kwq/WebCoreBridge.mm:
6922        (-[WebCoreBridge nextKeyViewInsideWebViews]): Call nextKeyViewInFrameHierarchy.
6923        (-[WebCoreBridge previousKeyViewInsideWebViews]): Call nextKeyViewInFrameHierarchy.
6924
6925	Introduced QString to sprong. See <http://www.goat.demon.co.uk/sprong.html>.
6926	A few other tweaks to QString API; wean it from mutable strings.
6927
6928        * kwq/qt/qstring.h:
6929        * kwq/KWQString.mm: Sprongify it.
6930        (QString::setBufferFromCFString): Add a fixed-size buffer to avoid malloc.
6931        (QString::getCFString): Replace getCFMutableString with this.
6932        (QString::getNSString): Use NSString directly.
6933
6934        * kwq/KWQDictImpl.mm:
6935        * kwq/KWQKURL.mm:
6936        * kwq/KWQStringList.mm:
6937        * kwq/KWQtextcodec.mm:
6938        * kwq/WebCoreBridge.mm:
6939	Use getCFString, not getCFMutableString.
6940
69412002-08-19  Darin Adler  <darin@apple.com>
6942
6943        * force-clean-timestamp: Richard's changes require a clean build.
6944
69452002-08-19  Richard Williamson  <rjw@apple.com>
6946
6947        QString rewrite.  Much faster now.
6948        QString has an inline rep, QStringData, which
6949        has an inline character buffer.  reps are
6950        referenced indirectly via a handle.  inline
6951        reps are detached when necessary.  Typical
6952        stack based usage requires no allocations
6953        for small string.  Attempts are made to avoid
6954        costly conversions between ascii and unicode.
6955        Extensive diagnostics can be enable by
6956        defining QSTRING_DEBUG_ALLOCATIONS and calling
6957        _printQStringAllocationStatistics().
6958        
6959        There appear to be a few small lingering leaks
6960        that I need to track down.
6961        
6962        * WebCore-tests.exp:
6963        
6964        Added symbols for qstring-test.cpp.
6965        
6966        * khtml/css/cssstyleselector.cpp:
6967        
6968        Removed old string optimization hack.
6969        
6970        * kwq/KWQString.mm:
6971        
6972        Rewrite.
6973        (_isOnStack):
6974        (countInstance):
6975        (allocatedBuffers):
6976        (ALLOC_CHAR):
6977        (REALLOC_CHAR):
6978        (DELETE_CHAR):
6979        (ALLOC_QCHAR):
6980        (REALLOC_QCHAR):
6981        (DELETE_QCHAR):
6982        (_printQStringAllocationStatistics):
6983        (ucstrcmp):
6984        (ucstrncmp):
6985        (ucstrnicmp):
6986        (ok_in_base):
6987        (QStringData::QStringData):
6988        (QStringData::initialize):
6989        (QStringData::operator new):
6990        (QStringData::operator delete):
6991        (QString::makeSharedNullHandle):
6992        (QString::makeSharedNull):
6993        (QStringData::~QStringData):
6994        (QStringData::ascii):
6995        (QStringData::increaseAsciiSize):
6996        (QStringData::unicode):
6997        (QStringData::increaseUnicodeSize):
6998        (QStringData::makeAscii):
6999        (QStringData::makeUnicode):
7000        (QString::setBufferFromCFString):
7001        (QString::fromStringWithEncoding):
7002        (QString::fromCFMutableString):
7003        (QString::fromCFString):
7004        (QString::fromNSString):
7005        (QString::getCFMutableString):
7006        (QString::getNSString):
7007        (QString::~QString):
7008        (QString::QString):
7009        (QString::operator=):
7010        (QString::at):
7011        (QString::unicode):
7012        (QString::compare):
7013        (QString::startsWith):
7014        (QString::endsWith):
7015        (QString::latin1):
7016        (QString::isNull):
7017        (QString::find):
7018        (QString::findRev):
7019        (QString::contains):
7020        (QString::toShort):
7021        (QString::toUShort):
7022        (QString::toInt):
7023        (QString::toUInt):
7024        (QString::toLong):
7025        (QString::toULong):
7026        (QString::toDouble):
7027        (QString::findArg):
7028        (QString::arg):
7029        (QString::left):
7030        (QString::right):
7031        (QString::mid):
7032        (QString::copy):
7033        (QString::lower):
7034        (QString::stripWhiteSpace):
7035        (QString::simplifyWhiteSpace):
7036        (QString::deref):
7037        (QString::setUnicode):
7038        (QString::setLatin1):
7039        (QString::sprintf):
7040        (QString::append):
7041        (QString::insert):
7042        (QString::detachInternal):
7043        (QString::detach):
7044        (QString::remove):
7045        (QString::replace):
7046        (QString::forceUnicode):
7047        (QString::setLength):
7048        (QString::truncate):
7049        (QString::fill):
7050        (QString::operator+=):
7051        (QString::convertToQCString):
7052        (operator==):
7053        (QConstString::QConstString):
7054        (QConstString::~QConstString):
7055        (_initializeHandleNodeBlock):
7056        (_allocatePageNode):
7057        (_initializeHandleNodes):
7058        (_allocateNode):
7059        (allocateHandle):
7060        (freeHandle):
7061        
7062        * kwq/qt/qstring.h:
7063        Rewrite
7064        
70652002-08-19  Maciej Stachowiak  <mjs@apple.com>
7066
7067        * Makefile.am: Added new mechanism to clean only the objects that
7068	depend on JavaScript.
7069	* force-js-clean-timestamp: Touched since I changed JSC just now.
7070        * .cvsignore: Ignore previous-js-clean-timestamp.
7071	
70722002-08-19  Darin Adler  <darin@apple.com>
7073
7074	Fixed tab cycle on slashdot.org and elsewhere by being stricter about what is
7075	included in the tab cycle.
7076
7077        * kwq/KWQWidget.mm: (QWidget::focusPolicy): Use the same rule as AppKit.
7078
70792002-08-19  David Hyatt  <hyatt@apple.com>
7080
7081	Tweak baselines to look a little better for form controls.
7082	This will be redone by Darin to really baseline align... this
7083	is just temporary.
7084
7085	Also adding 3px margins to <input> and <textarea> and <select>.
7086	
7087        * khtml/css/html4.css:
7088        * khtml/rendering/render_form.cpp:
7089        (RenderButton::baselinePosition):
7090        (RenderSelect::baselinePosition):
7091
70922002-08-19  Darin Adler  <darin@apple.com>
7093
7094	- fixed 3027791 -- Crash when pressing "tab" after going to http://slashdot.org/
7095
7096        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::nextKeyViewInFrame): Add null check.
7097
70982002-08-19  Darin Adler  <darin@apple.com>
7099
7100	Put in more robust version of the next/previous key view checking
7101	that matches what I did in WebHTMLView.
7102
7103        * kwq/KWQNSTextField.h: Add inNextValidKeyView instance variable.
7104        * kwq/KWQNSTextField.mm:
7105        (-[KWQNSTextField dealloc]): No need to nil out widget.
7106        (-[KWQNSTextField nextKeyView]): Only do the computation when called from nextValidKeyView.
7107        (-[KWQNSTextField previousKeyView]): Only do the computation when called from previousValidKeyView.
7108        (-[KWQNSTextField nextValidKeyView]): Set boolean.
7109        (-[KWQNSTextField previousValidKeyView]): Set boolean.
7110        (-[KWQSecureTextField nextKeyView]): Only do the computation when called from nextValidKeyView.
7111        (-[KWQSecureTextField previousKeyView]): Only do the computation when called from nextValidKeyView.
7112        (-[KWQSecureTextField nextValidKeyView]): Set boolean.
7113        (-[KWQSecureTextField previousValidKeyView]): Set boolean.
7114
7115	Unrelated change.
7116
7117        * kwq/mac-encodings.txt: Add an encoding name of gb18030, since I saw mention of it in bug 3002016.
7118
71192002-08-19  Darin Adler  <darin@apple.com>
7120
7121	Support so that WebKit can tab into a web view's fields.
7122
7123        * kwq/KWQKHTMLPartImpl.h: Made another nextKeyView() version public.
7124        * kwq/WebCoreBridge.h: Add new methods, change parameters to one existing one.
7125        * kwq/WebCoreBridge.mm:
7126        (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]):
7127	Remove width and height parameters. The passed-in view already has the correct
7128	width and height.
7129        (-[WebCoreBridge nextKeyView]): Call nextKeyView() with node == 0.
7130        (-[WebCoreBridge previousKeyView]): Call nextKeyView() with node == 0.
7131
71322002-08-19  Darin Adler  <darin@apple.com>
7133
7134	First cut at implementation of "tab to change focus": Lots of loose ends, but it's
7135	going well.
7136
7137        * kwq/KWQNSTextField.h: Change initWithWidget to initWithQLineEdit.
7138        * kwq/KWQNSTextField.mm:
7139        (-[KWQNSTextField initWithQLineEdit:]): Keep a QLineEdit pointer so we don't cast later.
7140        (-[KWQNSTextField dealloc]): Sets widget to 0 to make nextKeyView and previousKeyView
7141	return nil while deallocating.
7142        (-[KWQNSTextField setPasswordMode:]): Pass widget when creating secure text field so it
7143	can handle the next/previous links properly.
7144        (-[KWQNSTextField nextKeyView]): Added. Calls KWQKHTMLPartImpl::nextKeyView.
7145        (-[KWQNSTextField previousKeyView]): Added. Calls KWQKHTMLPartImpl::nextKeyView.
7146        (-[KWQTextFieldCell isOpaque]): Added. Returns NO; fixes focus rectangle updating.
7147        (-[KWQSecureTextField initWithQWidget:]): Added.
7148        (-[KWQSecureTextField dealloc]): Added. Sets widget to 0 to make nextKeyView and
7149	previousKeyView return nil while deallocating.
7150        (-[KWQSecureTextField nextKeyView]): Added. Calls KWQKHTMLPartImpl::nextKeyView.
7151        (-[KWQSecureTextField previousKeyView]): Added. Calls KWQKHTMLPartImpl::nextKeyView.
7152
7153        * kwq/KWQKHTMLPartImpl.h: Add KWQSelectionDirection. Change name of getBridge() to
7154	bridge(), getDocument() to document(), getRenderer() to renderer(), getBridgeForFrameName()
7155	to bridgeForFrameName(). Also added nextKeyView family of member functions.
7156
7157        * kwq/KWQKHTMLPartImpl.mm:
7158        (KWQKHTMLPartImpl::nextKeyViewInFrame): Added.
7159        (KWQKHTMLPartImpl::nextKeyView): Added.
7160
7161        * kwq/qt/qwidget.h: Remove unneeded parameters from constructor. Also added a
7162	constructor that takes an NSView.
7163        * kwq/KWQWidget.mm:
7164        (QWidget::QWidget): Don't store focus policy (it was uninitialized before).
7165        (QWidget::focusPolicy): Return TabFocus for any widget that has a view with a first
7166	responder, NoFocus for any other.
7167        (QWidget::setFocusPolicy): Do nothing.
7168        (QWidget::setFocusProxy): Do nothing.
7169
7170        * kwq/qt/qobject.h: Store the event filter object when installEventFilter is called.
7171	This is used to find the RenderWidget for a QWidget by the new tabbing code.
7172        * kwq/KWQObject.mm: Removed event-filter functions. Two are now inlines, one deleted.
7173
7174	Other changes related to KWQKHTMLPartImpl improvements.
7175
7176        * kwq/KWQKHTMLPartBrowserExtension.mm:
7177        * kwq/KWQKHTMLPartImpl.mm:
7178        * kwq/KWQLoaderImpl.mm:
7179        * kwq/WebCoreBridge.mm:
7180	Update for KWQKHTMLPartImpl member name changes.
7181
7182	Various improvements for other widget implementations.
7183
7184        * kwq/qt/qbutton.h:
7185        * kwq/KWQButton.mm: Stop using KWQNSButton. Instead just use a button adapter
7186	object, and a plain old NSButton.
7187        (QButton::QButton): Put all the NSButton setup in here.
7188        (QButton::~QButton): Release the adapter here.
7189        (QButton::clicked): Move this in here because it's virtual now so that QCheckBox
7190	can override it.
7191        (-[KWQButtonAdapter initWithQButton:]): Added.
7192        (-[KWQButtonAdapter action:]): Just call clicked().
7193
7194        * kwq/qt/qpushbutton.h: Don't pass unused parent pointer to QButton constructor.
7195        * kwq/KWQPushButton.mm: (QPushButton::QPushButton): Don't pass unused parent pointer to
7196	QButton contructor.
7197
7198        * kwq/qt/qcheckbox.h:
7199        * kwq/KWQCheckBox.mm: Just use NSButton, not KWQNSButton.
7200        (QCheckBox::clicked): Move the state-changed logic here; used to be in KWQNSButton.
7201
7202        * kwq/KWQRadioButton.mm:
7203        (QRadioButton::QRadioButton): Don't pass unused parent pointer to
7204	QButton contructor.
7205
7206        * kwq/qt/qcombobox.h:
7207        * kwq/KWQComboBox.mm:
7208        (QComboBox::QComboBox): Removed extra constructor. Make a plain NSPopUpButton,
7209	and use an adapter object, rather than having a KWQNSComboBox.
7210        (QComboBox::~QComboBox): Release the adapter.
7211        (QComboBox::insertItem): New implementation. No need to keep an items array around,
7212	because the menu does that just fine.
7213        (QComboBox::clear): Remove the items from the pop-up button directly.
7214        (-[KWQComboBoxAdapter initWithQComboBox:]): Added.
7215        (-[KWQComboBoxAdapter action:]): Just call activated().
7216
7217        * kwq/kdeui/kcombobox.h: Empty this out and make it use only inlines.
7218
7219        * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
7220	Remove the setSize()/doneLoading() optimization for QComboBox because the new
7221	simpler QComboBox implementation obviates the speed problem this was originally
7222	intended to fix.
7223
7224        * kwq/qt/qlineedit.h:
7225        * kwq/KWQLineEdit.mm: (QLineEdit::QLineEdit): Call initWithQLineEdit instead of
7226	initWithWidget. Also don't take an unused parent pointer parameter.
7227
7228        * kwq/kdeui/klineedit.h: Empty this out and make it use only inlines.
7229
7230        * kwq/qt/qframe.h: Remove unused parent pointer from constructor.
7231        * kwq/KWQFrame.mm: Remove unneeded constructor.
7232        * kwq/KWQHBox.mm: (QHBox::QHBox): Don't pass unused parent pointer to QFrame.
7233        * kwq/KWQLabel.mm: (QLabel::QLabel): Don't pass unused parent pointer to QFrame.
7234        * kwq/qt/qscrollview.h: Make constructor inline.
7235        * kwq/KWQScrollView.mm: Remove unneeded constructor.
7236        * kwq/KWQWindowWidget.h: Remove unneeded constructor.
7237
7238        * WebCore.pbproj/project.pbxproj: Remove KWQKComboBox.mm, KWQKLineEdit.mm,
7239	and KWQScrollBar.h.
7240        * kwq/KWQKComboBox.mm: Removed.
7241        * kwq/KWQKLineEdit.mm: Removed.
7242        * kwq/KWQScrollBar.h: Removed. Unused.
7243
7244        * kwq/KWQTextArea.h: Change initWithWidget to initWithQTextEdit.
7245        * kwq/KWQTextArea.mm: (-[KWQTextArea initWithQTextEdit:]): Changed name.
7246        * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Call initWithQTextEdit instead of
7247	initWithWidget.
7248
7249        * kwq/KWQView.h: Eliminated KWQNSButton, KWQNSComboBox, and KWQNSScrollView.
7250        * kwq/KWQView.mm: Ditto.
7251
7252	Housekeeping.
7253
7254        * force-clean-timestamp: Yes, again.
7255
7256        * khtml/khtml_part.h: Rearrange APPLE_CHANGES a bit.
7257
7258        * kwq/qt/qvaluelist.h: Added -- as well as ++ for the const iterator, and fixed some
7259	minor const issues. At one point I needed this for the focus changes, but not any more.
7260
72612002-08-16  Darin Adler  <darin@apple.com>
7262
7263        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::userAgent):
7264	Call bridge's userAgentForURL: method.
7265        * kwq/WebCoreBridge.h: Added userAgentForURL: to the protocol
7266
72672002-08-16  Darin Adler  <darin@apple.com>
7268
7269	Step 2 in adding user agent API to WebKit and WebFoundation.
7270	In this step, I change WebCore so that it the KWQKHTMLPartImpl
7271	is responsible for fetching the user agent. Later it will
7272	get the user agent from WebKit via the bridge.
7273
7274        * khtml/ecma/kjs_navigator.cpp: (Navigator::getValueProperty):
7275	Get the user agent from the part, not KProtocolManager.
7276        * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::initScript):
7277	Get the user agent from the part, not KProtocolManager.
7278
7279        * kwq/KWQKHTMLPartImpl.h: Add userAgent member function.
7280        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::userAgent): Added.
7281
7282        * WebCore.pbproj/project.pbxproj: Removed KWQKProtocolManager.mm.
7283        * kwq/KWQKProtocolManager.mm: Removed.
7284        * kwq/kio/kprotocolmanager.h: Made empty.
7285
72862002-08-16  Maciej Stachowiak  <mjs@apple.com>
7287
7288        * force-clean-timestamp: Need to rebuild for JavaScriptCore changes.
7289
72902002-08-16  Darin Adler  <darin@apple.com>
7291
7292	- fixed 3023851 -- screen garbage created by scrolling text
7293
7294	Our implementation of clipRegion didn't reflect the clip that was
7295	already set for the view, so we drew outside the view. To fix it,
7296	I eliminated the clipRegion call and changed clients to use a new
7297	addClip call instead that doesn't require getting the clip in the
7298	form of a region (which is not really possible with CoreGraphics).
7299
7300        * khtml/rendering/render_box.cpp: (RenderBox::calcClip):
7301	Call addClip instead of clipRegion(), intersect(), setClipRegion().
7302
7303        * kwq/qt/qpainter.h: Added addClip(), removed clipRegion(), setClipRegion().
7304        * kwq/KWQPainter.mm: (QPainter::addClip): Calls [NSBezierPath clipRect:].
7305
7306        * kwq/qt/qregion.h: Went back to a single-path implementation, since
7307	we don't need intersect() any more. Also removed isNull() and setClip().
7308        * kwq/KWQRegion.mm:
7309        (QRegion::QRegion): New simpler versions.
7310        (QRegion::~QRegion): Release the path.
7311        (QRegion::operator=): Copy the other path.
7312        (QRegion::contains): Call [containsPoint:].
7313        (QRegion::translate): Call [transformUsingAffineTransform:].
7314        (QRegion::boundingRect): Call [bounds].
7315
73162002-08-16  Darin Adler  <darin@apple.com>
7317
7318	- fixed 3026042 -- hide frames button at developer documentation doesn't work
7319
7320	This regression was introduced by the anchor changes we made just after
7321	the Alexander-15 release.
7322
7323        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
7324	Make decisions about special handling for links with anchors based
7325	on the target frame, not the current frame.
7326
73272002-08-16  Maciej Stachowiak  <mjs@apple.com>
7328
7329        * force-clean-timestamp: rebuild for JavaScriptCore changes.
7330
73312002-08-16  David Hyatt  <hyatt@apple.com>
7332
7333	Fix for the intuit.com and eweek.com <form><tr> bgcolor problem.
7334	Improve the error handling of the parser so that it doesn't
7335	lose attributes when errors like this occur in a page.
7336	
7337        * khtml/html/htmlparser.cpp:
7338        (KHTMLParser::~KHTMLParser):
7339        (KHTMLParser::reset):
7340        (KHTMLParser::parseToken):
7341        (KHTMLParser::insertNode):
7342        * khtml/html/htmlparser.h:
7343
73442002-08-15  Darin Adler  <darin@apple.com>
7345
7346	- fixed 2983959 -- pages that try to use JavaScript to focus fail to do so
7347
7348        * kwq/KWQWidget.mm: (QWidget::setFocus): Call makeFirstResponder.
7349
73502002-08-15  Darin Adler  <darin@apple.com>
7351
7352	Give the same good loving to the check boxes and radio buttons.
7353	I'm not saying our rules for where to position them are great, but
7354	the rules are implemented cleanly and thus easier to tweak.
7355
7356	Got rid of the old Action system altogether, using signals now.
7357
7358        * khtml/rendering/render_form.h: Remove now-unneeded APPLE_CHANGES.
7359        * khtml/rendering/render_form.cpp:
7360        (RenderButton::baselinePosition): All the buttons now share a single
7361	version of this call, since none need any special baseline hacking at
7362	the moment.
7363        (RenderSubmitButton::baselinePosition): Just call the RenderButton version.
7364
7365        * kwq/KWQCheckBox.mm:
7366        (QCheckBox::sizeHint): Use 12x12, not 22x22.
7367        (QCheckBox::frameGeometry): Adjust for margins.
7368        (QCheckBox::setFrameGeometry): Adjust for margins.
7369        * kwq/KWQRadioButton.mm:
7370        (QRadioButton::sizeHint): Use 12x12, not 22x22.
7371        (QRadioButton::frameGeometry): Adjust for margins.
7372        (QRadioButton::setFrameGeometry): Adjust for margins.
7373
7374        * kwq/qt/qcombobox.h:
7375        * kwq/KWQComboBox.mm: (QComboBox::QComboBox): Set up the activated signal.
7376        * kwq/KWQView.mm: (-[KWQNSComboBox action:]): Emit the activated signal.
7377
7378        * kwq/KWQListBox.h:
7379        * kwq/KWQListBox.mm:
7380        (-[KWQBrowserDelegate browserSingleClick:]): Send a selectionChanged signal
7381	and a clicked signal instead of a ACTION_LISTBOX_CLICKED.
7382        (QListBox::QListBox): Set up the clicked and selectionChanged signals.
7383
7384        * kwq/qt/qobject.h: Remove Actions, ACTION_TEXT_AREA_END_EDITING,
7385	ACTION_LISTBOX_CLICKED, ACTION_COMBOBOX_CLICKED, emitAction, performAction,
7386	and target.
7387        * kwq/KWQObject.mm:
7388        (QObject::connect): Remove the target hack, no longer needed.
7389        (QObject::QObject): Remove target initialization.
7390
7391        * kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call):
7392	Added selected and selectionChanged slots.
7393
7394        * kwq/KWQTextArea.mm:
7395        (-[KWQTextArea textDidEndEditing:]): Removed code to emit the
7396	ACTION_TEXT_AREA_END_EDITING action, which was no longer used.
7397
7398        * force-clean-timestamp: Yes, again.
7399
74002002-08-15  Darin Adler  <darin@apple.com>
7401
7402	- fixed 3017376 -- button height is too tall
7403
7404	Reworked how widget sizing and positioning is done for a few of the most important
7405	widget types.
7406
7407        * khtml/rendering/render_form.h: Remove more of the performAction hackery.
7408        * khtml/rendering/render_form.cpp:
7409        (RenderCheckBox::calcMinMaxWidth): Get size from widget.
7410        (RenderRadioButton::calcMinMaxWidth): Get size from widget.
7411        (RenderSubmitButton::RenderSubmitButton): Remove old unneeded APPLE_CHANGES.
7412        (RenderSubmitButton::baselinePosition): Put the bottom of the button on the
7413	baseline without any magic numbers.
7414        (RenderLineEdit::baselinePosition): Put the bottom of the text field two pixels
7415	below the baseline without any other magic numbers.
7416        (RenderLineEdit::calcMinMaxWidth): Get size from widget.
7417        (RenderSelect::baselinePosition): Put the bottom of the menu on the
7418	baseline without any magic numbers. List box case is untouched for now.
7419
7420        * kwq/qt/qbutton.h:
7421        * kwq/KWQButton.mm:
7422        (QButton::QButton): Move most of the setup into KWQNSButton.
7423        (QButton::sizeHint): Use cellSize, account for margins.
7424        (QButton::frameGeometry): Adjust for margins.
7425        (QButton::setFrameGeometry): Adjust for margins.
7426        * kwq/qt/qcheckbox.h:
7427        * kwq/KWQCheckBox.mm:
7428        (QCheckBox::QCheckBox): QButton takes care of most of the setup now.
7429        (QCheckBox::sizeHint): Added.
7430        (QCheckBox::frameGeometry): Adjust for margins.
7431        (QCheckBox::setFrameGeometry): Adjust for margins.
7432        * kwq/qt/qcombobox.h:
7433        * kwq/KWQComboBox.mm:
7434        (QComboBox::init): KWQNSComboBox takes care of most of the setup now.
7435        (QComboBox::sizeHint): Adjust for margins.
7436        (QComboBox::frameGeometry): Adjust for margins.
7437        (QComboBox::setFrameGeometry): Adjust for margins.
7438        * kwq/qt/qlineedit.h:
7439        * kwq/KWQLineEdit.mm:
7440        (QLineEdit::sizeForCharacterWidth): Added.
7441        (QLineEdit::frameGeometry): Adjust for margins.
7442        (QLineEdit::setFrameGeometry): Adjust for margins.
7443        * kwq/qt/qradiobutton.h:
7444        * kwq/KWQRadioButton.mm:
7445        (QRadioButton::QRadioButton): QButton takes care of most of the setup now.
7446        (QRadioButton::sizeHint): Added.
7447        (QRadioButton::frameGeometry): Adjust for margins.
7448        (QRadioButton::setFrameGeometry): Adjust for margins.
7449
7450        * kwq/qt/qwidget.h:
7451        * kwq/KWQWidget.mm:
7452        (QWidget::setFrameGeometry): New name for internalSetGeometry, now public.
7453
7454	- fixed 3010695 -- Slashdot.org starts with password field focused, but shouldn't
7455
7456	Added KWQSecureTextField to work around the bug.
7457
7458        * kwq/KWQNSTextField.h: Made formatter and other details private.
7459        * kwq/KWQNSTextField.mm:
7460        (+[KWQNSTextField initialize]): Set up custom cell class that works around focus border.
7461        (-[KWQNSTextField initWithFrame:]): Put the work in here, since this is NSView's designated
7462	initializer.
7463        (-[KWQNSTextField initWithWidget:]): Now just calls [init] which calls [initWithFrame],
7464	and then sets the widget.
7465        (-[KWQNSTextField action:]): Use the returnPressed signal instead of ACTION_TEXT_FIELD.
7466        (-[KWQNSTextField controlTextDidEndEditing:]): Use textChanged signal instead of
7467	ACTION_TEXT_FIELD_END_EDITING.
7468        (-[KWQNSTextField dealloc]): Release the secureField (was a leak).
7469        (-[KWQNSTextField updateSecureFieldFrame]): Added. Used to keep secure field in the right
7470	place.
7471        (-[KWQNSTextField setFrameSize:]): Added. Calls updateSecureFieldFrame.
7472        (-[KWQNSTextField setPasswordMode:]): Change all the details, but this does the same
7473	thing it used to.
7474        (-[KWQNSTextField selectText:]): Only call selectText on one of the two field, since it
7475	causes the field to grab focus and we don't want to do that twice.
7476        (-[KWQNSTextField setStringValue:]): Set the string value in both fields any time someone
7477	gives us a new value.
7478        (-[KWQNSTextField setFont:]): Set the font in both fields any time someone gives us a new
7479	font.
7480        (-[KWQTextFieldCell cellSizeForBounds:]): Add space for focus border.
7481        (-[KWQTextFieldCell drawWithFrame:inView:]): Inset by focus border.
7482        (-[KWQTextFieldCell editWithFrame:inView:editor:delegate:event:]): Inset by focus border.
7483        (-[KWQTextFieldCell selectWithFrame:inView:editor:delegate:start:length:]): Inset by focus border.
7484        (-[KWQSecureTextField selectText:]): Override to do nothing while in setFrameSize to work around
7485	bug in AppKit.
7486        (-[KWQSecureTextField setFrameSize:]): Set flag to trigger selectText check.
7487
7488	- fixed 3025166 -- check boxes and radio buttons on google.com's preferences pages
7489	are not "linked"
7490
7491	We were not emitting onClicked for check boxes.
7492
7493        * kwq/KWQView.h: No need to pass frames any more. Default is empty.
7494        * kwq/KWQView.mm:
7495        (-[KWQView initWithFrame:]): Do most of the work in here.
7496        (-[KWQView initWithWidget:]): Just call [init] and set up widget.
7497        (-[KWQNSButton initWithFrame:]): Do most of the work in here. Remove the special
7498	cell class, and always use a small control with the small system font.
7499        (-[KWQNSButton initWithWidget:]): Just call [init] and set up widget.
7500        (-[KWQNSButton action:]): Call the clicked() signal instead of ACTION_BUTTON_CLICKED.
7501        (-[KWQNSButton stateChanged:]): Call the stateChanged() signal instead of
7502	ACTION_CHECKBOX_CLICKED.
7503        (-[KWQNSComboBox initWithFrame:]): Do most of the work in here.
7504        (-[KWQNSComboBox initWithWidget:]): Just call [init] and set up widget.
7505        (-[KWQNSScrollView initWithWidget:]): Just call [init] and set up widget.
7506
7507	- fixed 3025211 -- find person in Apple directory never displays person information
7508
7509	When I enabled the code to wait and not redirect until loads are complete, that
7510	broke this case, because we didn't have enough hooked up to notice loads completing.
7511	I hooked everything up and its working now.
7512
7513        * khtml/khtml_part.h: Add started().
7514        * khtml/khtml_part.cpp:
7515        (KHTMLPart::restoreURL): Un-ifdef emission of started().
7516        (KHTMLPart::openURL): Un-ifdef emission of started().
7517        (KHTMLPart::end): Don't do an explicit call to slotFinishedParsing().
7518	We actually hook up a signal for this now.
7519        (KHTMLPart::slotChildCompleted): Un-ifdef the rest of the code here.
7520
7521        * khtml/xml/dom_docimpl.h:
7522        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl):
7523        * khtml/xml/xml_tokenizer.h:
7524	Do the necessary setup so we can use KWQSignal for finishedParsing.
7525
7526        * kwq/KWQKHTMLPartImpl.mm:
7527        (KHTMLPart::started): Added. Calls slotChildStarted on parent.
7528        (KHTMLPart::completed): Added slotParentCompleted calls.
7529
7530        * kwq/qt/qobject.h: Add sender() and KWQObjectSenderScope.
7531        * kwq/KWQObject.mm:
7532        (KWQObjectSenderScope::KWQObjectSenderScope): Added. Sets sender() and saves the old value.
7533        (KWQObjectSenderScope::~KWQObjectSenderScope): Added. Resets sender().
7534
7535        * kwq/KWQSignal.h:
7536        * kwq/KWQSlot.h:
7537        * kwq/KWQSignal.mm: (KWQSignal::call): Added overloads for calling signals with int and
7538	QString parameters. Also set up sender() using KWQObjectSenderScope.
7539
7540        * kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call): Add support for one signal
7541	(calls through to whatever is connected to that signal's slot) and six new slots.
7542
7543        * kwq/KWQsignals.mm:
7544        (Tokenizer::Tokenizer): Construct the finishedParsing signal.
7545        (Tokenizer::finishedParsing): Emit the finishedParsing signal.
7546
7547	- fixed 3025170 -- right sides of borders placed incorrectly around table cells
7548
7549	There was some silly code that I just removed.
7550
7551        * khtml/rendering/render_table.cpp:
7552        (RenderTable::addColInfo): Turn off the half-assed collapse borders stuff here.
7553
7554	- other changes
7555
7556        * force-clean-timestamp: Big changes; full rebuild needed.
7557
7558        * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Make the code to kill
7559	the timers be unconditional, just in case.
7560
7561        * kwq/KWQCharsets.mm: (buildDictionaries): Remove UTF-16 special case since it's now
7562	in the character sets table.
7563
7564        * kwq/qt/qpoint.h:
7565        * kwq/KWQPoint.mm:
7566        (QPoint::QPoint): Converts from NSPoint.
7567        (QPoint::operator NSPoint): Converts to NSPoint.
7568        * kwq/qt/qrect.h:
7569        * kwq/KWQRect.mm:
7570        (QRect::QRect): Converts from NSRect.
7571        (QRect::isEmpty): Fix backwards logic.
7572        (QRect::operator NSRect): Converts to NSRect.
7573        * kwq/qt/qsize.h:
7574        * kwq/KWQSize.mm:
7575        (QSize::QSize): Converts from NSSize.
7576        (QSize::operator NSSize): Converts to NSSize.
7577
7578        * kwq/qt/qpushbutton.h:
7579        * kwq/KWQPushButton.mm: Removed unused methods.
7580
7581        * kwq/KWQRegion.mm: Use new QPoint/NSPoint/QRect/NSRect functions.
7582
7583        * kwq/KWQScrollView.mm: (QScrollView::addChild): Update comment.
7584
7585        * kwq/KWQTextArea.h:
7586        * kwq/KWQTextArea.mm:
7587        (-[KWQTextArea initWithFrame:]): Do most of the work in here.
7588        (-[KWQTextArea initWithWidget:]): Just call [init] and set up widget.
7589
7590        * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Don't pass an empty frame any more.
7591
7592        * kwq/KWQWindowWidget.h:
7593        * kwq/KWQWindowWidget.mm: Update for name change.
7594
7595        * kwq/WebCoreTestController.h: Placeholder for the feature I should be working on.
7596
7597=== Alexander-19 ===
7598
7599=== Alexander-18 ===
7600
76012002-08-15  Maciej Stachowiak  <mjs@apple.com>
7602
7603        * force-clean-timestamp: Need to rebuild for JavaScriptCore
7604	changes.
7605
76062002-08-14  David Hyatt  <hyatt@apple.com>
7607
7608	ROFL. The KHTML table code had a hardcoded "20" being
7609	subtracted out of table heights instead of using the
7610	actual margins on the <body> element.  This patch
7611	removes the hardcoded "20" and replaces it with the
7612	actual <body> margins.
7613	
7614        * khtml/rendering/render_table.cpp:
7615        (RenderTable::layoutRows):
7616
76172002-08-14  David Hyatt  <hyatt@apple.com>
7618
7619	Fix marginwidth and marginheight on the <body> element.
7620	These attributes were not applying the correct margins,
7621	which would cause many many pages to mis-render!
7622	
7623        * khtml/html/html_baseimpl.cpp:
7624        (HTMLBodyElementImpl::parseAttribute):
7625
76262002-08-14  David Hyatt  <hyatt@apple.com>
7627
7628	Ensure that a rendering object gets built for <fieldset>
7629	elements.  Content inside a <fieldset> was being discarded
7630	and not rendered.
7631
7632	This fixes the top frame on blogger comment posting so that
7633	it shows up properly.
7634	
7635        * khtml/html/html_formimpl.cpp:
7636        (HTMLFieldSetElementImpl::attach):
7637        * khtml/html/html_formimpl.h:
7638
76392002-08-14  Darin Adler  <darin@apple.com>
7640
7641	Fix the build.
7642
7643        * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue):
7644	Add braces and fix a syntax error.
7645
7646        * kwq/mac-encodings.txt: Add comments. Make utf-16 be a synonym for
7647	utf-8 rather than having it actually try to treat things as 16-bit.
7648	We will have to revisit this, but for now it makes zingermans.com work again.
7649
7650        * kwq/make-charset-table.pl: Allow comments.
7651
76522002-08-14  Maciej Stachowiak  <mjs@apple.com>
7653
7654	Fixed a JavaScript object leak that was plaguing ign.com and
7655	livepage.apple.com, among other things.
7656	
7657        * khtml/ecma/kjs_html.cpp:
7658        (KJS::HTMLDocument::putValue): Create a Value wrapper for a newly allocated
7659	DOMNode object that's not used past this function so it gets GC'd properly.
7660        (KJS::HTMLElement::putValue): Likewise.
7661
76622002-08-14  Maciej Stachowiak  <mjs@apple.com>
7663
7664        * khtml/ecma/kjs_window.cpp: Fix to build clean after
7665	JavaScriptCore live class changes (this way of handling it is kind
7666	of a hack, but kjs is unhappy to have Boolean defined so it can't
7667	unconditionally include CoreFoundation.h in collector.h; will fix
7668	better later).
7669
76702002-08-13  Maciej Stachowiak  <mjs@apple.com>
7671
7672	Add the ability to determine the classes of live JavaScript
7673	objects, to help with leak fixing.
7674
7675        * kwq/WebCoreJavaScript.h:
7676        * kwq/WebCoreJavaScript.mm:
7677        (+[WebCoreJavaScript liveObjectClasses]):
7678
76792002-08-13  David Hyatt  <hyatt@apple.com>
7680
7681	An initial implementation of percentage height table cells.
7682	This implementation will properly distribute space among
7683	rows with percentage table cells, although there could be
7684	issues with percentage height cells that span rows.  
7685
7686	I have also fixed replaced elements so that they understand when they
7687	are a percentage height and contained within a percentage height
7688	cell that they can grow.  This fixes the textarea on bloggers'
7689	comment posting page so that it sizes properly.
7690
7691	There are many issues remaining with this implementation;
7692	blocks need to be taught how to flex when they specify a percent
7693	height.  There is also some sort of rounding error with tables
7694	that specify a height of 100% that I haven't yet figured out.
7695	(This error was present before my changes, and it's still present
7696	after my changes.)
7697
7698	Also, percentage height tables seem to "lock" to the largest size
7699	they've ever been and don't properly relayout when they become
7700	smaller.  Again, this bug existed before my changes.
7701	
7702        * khtml/rendering/render_box.cpp:
7703        (RenderBox::calcReplacedHeight):
7704        * khtml/rendering/render_table.cpp:
7705        (RenderTable::RenderTable):
7706        (RenderTable::calcRowHeight):
7707        (RenderTable::layout):
7708        (RenderTable::layoutRows):
7709        (RenderTable::print):
7710        (RenderTableCell::RenderTableCell):
7711        * khtml/rendering/render_table.h:
7712
77132002-08-13  Darin Adler  <darin@apple.com>
7714
7715	Character set handling improvements. In total, this adds 92 new character encoding
7716	names to the list we know how to handle (299, up from 207), so it probably makes
7717	some pages work that didn't work before. It probably also adds character encoding
7718	names that are never used in practice.
7719
7720        * kwq/character-sets.txt: Took out all but one of our changes. We now handle aliases
7721	that are not in this file by adding them to mac-encodings.txt.
7722        * kwq/mac-encodings.txt: Added. Lists CFStringEncoding values and IANA names for them.
7723	We keep this file small by using the aliasing in character-sets.txt, and we also continue
7724	to get MIB numbers from character-sets.txt.
7725        * kwq/make-charset-table.pl: Rewrote to read from new format mac-encodings.txt file, and
7726	check for new kinds of errors.
7727
7728        * kwq/.cvsignore: Don't ignore the make-mac-encodings files any more, since we
7729	don't compile that any more.
7730        * kwq/Makefile.am: Remove rules for compiling and running make-mac-encodings.
7731	* kwq/make-mac-encodings.c: Removed.
7732
77332002-08-13  Darin Adler  <darin@apple.com>
7734
7735	- fixed 3023439 -- support for windows-874 charset for thai
7736
7737        * kwq/character-sets.txt: Added cp874 and windows-874.
7738        * kwq/make-charset-table.pl: Fix bug where it would right out a bad MIB enum for
7739	the many Macintosh character sets without associated MIB numbers.
7740
77412002-08-13  Darin Adler  <darin@apple.com>
7742
7743	Some QRegion fixes inspired by Dave's clipping work.
7744
7745        * kwq/qt/qregion.h: Add setClip, remove getNSBezierPath.
7746        * kwq/KWQRegion.mm:
7747        (NSMakePoint): Added. Helper function; could go in a header some day.
7748        (NSMakeRect): Added. Helper function; could go in a header some day.
7749        (MakeQRect): Added. Helper function; could go in a header some day.
7750        (QRegion::QRegion): Make a paths array instead of a single path. Also, change things
7751	so we actually copy the paths. The old code might translate a path that was shared
7752	by two QRegion objects.
7753        (QRegion::intersect): Merge the paths arrays of the two passed-in paths.
7754        (QRegion::contains): Return true only if all paths in the array contain the point.
7755        (QRegion::isNull): Return true if any of the paths in the array are empty.
7756        (QRegion::translate): Translate all the paths in the array.
7757        (QRegion::boundingRect): Return the intersection of the bounding rects of all the
7758	paths in the array.
7759        (QRegion::setClip): Call setClip on the first path, and addClip on the others.
7760
7761        * kwq/KWQPainter.mm: (QPainter::setClipRegion): Use QRegion::setClip().
7762
77632002-08-12  David Hyatt  <hyatt@apple.com>
7764
7765	Reverting a change that I unintentionally checked in last
7766	week.  I wasn't yet ready to land it.  It may work, but I
7767	want to test it more first.
7768	
7769        * khtml/rendering/render_flow.cpp:
7770        (RenderFlow::layoutBlockChildren):
7771
77722002-08-12  David Hyatt  <hyatt@apple.com>
7773
7774	Implement clipping.  The one thing that still needs
7775	to be done is that the intersect method in KWQRegion.mm
7776	needs to be implemented.  Even without that, this gets
7777	the ticker on livepage.apple.com clipping properly.
7778	
7779        * kwq/KWQPainter.mm:
7780        (QPainter::xForm):
7781        (QPainter::save):
7782        (QPainter::restore):
7783        (QPainter::setClipRegion):
7784        * kwq/qt/qregion.h:
7785
77862002-08-12  David Hyatt  <hyatt@apple.com>
7787
7788	Make the news ticker on livepage.apple.com scroll properly.
7789	It still doesn't clip though.  Fixing this involved correctly
7790	dirtying the render tree when dynamic DOM changes occurred
7791	(this was a bug in KHTML's DOM), as well as providing an
7792	implementation of the MSIE offsetWidth extension that took
7793	inlines into account (KHTML's impl was always returning a width
7794	of 0 for inlines).
7795	
7796        * khtml/ecma/kjs_dom.cpp:
7797        (DOMNode::getValueProperty):
7798        * khtml/rendering/render_flow.cpp:
7799        (RenderFlow::offsetWidth):
7800        (RenderFlow::offsetHeight):
7801        * khtml/rendering/render_flow.h:
7802        * khtml/rendering/render_object.h:
7803        * khtml/xml/dom_nodeimpl.cpp:
7804        (NodeBaseImpl::insertBefore):
7805        (NodeBaseImpl::replaceChild):
7806        (NodeBaseImpl::appendChild):
7807
78082002-08-12  Darin Adler  <darin@apple.com>
7809
7810        * khtml/misc/loader.cpp: (Cache::insertInLRUList):
7811	Add missing piece of the last check-in.
7812
78132002-08-12  Darin Adler  <darin@apple.com>
7814
7815	At Ken's urging, fixed the loader cache to be more efficient.
7816	Gives 1% on the cvs-base test.
7817
7818        * force-clean-timestamp: This requires a full rebuild.
7819
7820        * khtml/misc/loader.h:
7821        * khtml/misc/loader.cpp:
7822        (CachedObject::~CachedObject): No longer inline, which is fine since
7823	it was a virtual function anyway. Remove from the LRU list.
7824        (CachedObject::setRequest): Add to the LRU list if it qualifies now.
7825        (CachedObject::ref): Remove from the LRU list.
7826        (CachedObject::deref): Add to the LRU list if it qualifies now.
7827        (CachedCSSStyleSheet::ref): Call CachedObject::ref.
7828        (CachedCSSStyleSheet::deref): Call CachedObject::deref.
7829        (CachedScript::ref): Call CachedObject::ref.
7830        (CachedScript::deref): Call CachedObject::deref.
7831        (CachedImage::ref): Call CachedObject::ref.
7832        (CachedImage::deref): Call CachedObject::deref.
7833        (Cache::init): No "LRU list" to create.
7834        (Cache::clear): No "LRU list" to delete.
7835        (Cache::requestImage): Call moveToHeadOfLRUList.
7836        (Cache::requestStyleSheet): Call moveToHeadOfLRUList.
7837        (Cache::requestScript): Call moveToHeadOfLRUList.
7838        (Cache::flush): New algorithm.
7839        (Cache::removeCacheEntry): Call removeFromLRUList.
7840        (Cache::removeFromLRUList): Added.
7841        (Cache::moveToHeadOfLRUList): Added.
7842        (Cache::insertInLRUList): Added.
7843
7844        * kwq/KWQLoaderImpl.mm: (KWQCheckIfReloading):
7845        * kwq/WebCoreBridge.h:
7846	Change dataSourceIsReloading to isReloading.
7847
78482002-08-12  David Hyatt  <hyatt@apple.com>
7849
7850	Fix for the crash (assert) at mlb.com (3014322).  recalcStyle was
7851	re-entrant, causing the render tree to be reconstructed
7852	while in the process of being destroyed.
7853
7854	Also patched object frame to only fire load/unload if
7855	render objects exist (since the plugin cannot load without
7856	the render object initializing it anyway).
7857	
7858        * khtml/html/html_objectimpl.cpp:
7859        (HTMLObjectElementImpl::attach):
7860        (HTMLObjectElementImpl::detach):
7861        * khtml/xml/dom_docimpl.cpp:
7862        (DocumentImpl::DocumentImpl):
7863        (DocumentImpl::recalcStyle):
7864        * khtml/xml/dom_docimpl.h:
7865
78662002-08-12  Darin Adler  <darin@apple.com>
7867
7868        * force-clean-timestamp: Need a full build because of KJS changes.
7869        * khtml/ecma/kjs_window.h: Need to store an Object, not an ObjectImp, because there's no way
7870	to copy an ObjectImp. KJS changes caught this mistake.
7871
78722002-08-12  Darin Adler  <darin@apple.com>
7873
7874	- re-fixed 2948387 -- stop button flashes to "go" two extra times while loading citibank.com
7875
7876	It turns out Maciej and I rebroke this when we made the "completed" code run.
7877	There was a related APPLE_CHANGES that had to be removed so that we do each redirect only once.
7878	Doing the redirect multiple times sent confusing signals to the web browser.
7879
7880        * khtml/khtml_part.cpp: (KHTMLPart::scheduleRedirection): Remove APPLE_CHANGES so we don't
7881	try to redirect until the page is complete.
7882
7883=== Alexander-17 ===
7884
78852002-08-10  Ken Kocienda  <kocienda@apple.com>
7886
7887	Check box in target setting panel to enable prebinding.
7888
7889        * WebCore.pbproj/project.pbxproj
7890
78912002-08-10  Ken Kocienda  <kocienda@apple.com>
7892
7893	Added an extra function which checks with WebKit to see if
7894	the load is a reload. If it is, the WebCore cache is bypassed.
7895
7896        * khtml/misc/loader.cpp:
7897        (DocLoader::requestImage): Added acall to new KWQCheckIfReloading function.
7898        (DocLoader::requestStyleSheet): Ditto.
7899        (DocLoader::requestScript): Ditto.
7900        * kwq/KWQLoaderImpl.h:
7901        * kwq/KWQLoaderImpl.mm:
7902        (KWQCheckIfReloading): New function which checks with WebKit to see if the load is a reload.
7903        * kwq/WebCoreBridge.h:
7904
79052002-08-09  Darin Adler  <darin@apple.com>
7906
7907        * force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
7908
79092002-08-09  Darin Adler  <darin@apple.com>
7910
7911	- fixed 3018063 -- frame problems at directory.apple.com
7912        - fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."
7913
7914	Basically, we had no frame targeting for forms. I made the form code share
7915	the same frame targeting code we use for clicking on URLs.
7916
7917        * khtml/khtml_part.cpp: (KHTMLPart::openURLInFrame): Don't compile this
7918	function at all any more.
7919
7920        * kwq/KWQKHTMLPartBrowserExtension.mm:
7921        (KHTMLPartBrowserExtension::openURLRequest): Call the impl's openURLRequest
7922	instead of calling the part's openURLInFrame. Clearer.
7923
7924        * kwq/KWQKHTMLPartImpl.h: Remove openURLInFrame, add openURLRequest.
7925	Change urlSelected args parameter to a const reference. Add private
7926	getBridgeForFrameName helper function.
7927        * kwq/KWQKHTMLPartImpl.mm:
7928        (KWQKHTMLPartImpl::getBridgeForFrameName): Moved rules for choosing a frame
7929	here from urlSelected so they can be shared.
7930        (KWQKHTMLPartImpl::openURLRequest): Use getBridgeForFrameName instead of
7931	having our own different code for finding the right frame.
7932        (KWQKHTMLPartImpl::urlSelected): Move frame choosing code into getBridgeForFrameName.
7933        (KWQKHTMLPartImpl::submitForm): Use getBridgeForFrameName instead of always
7934	ignoring the target and using our own frame.
7935	(KWQKHTMLPartImpl::overURL): Take base targeting into account when making the
7936	status bar messages, and use the completed URL, not the partial, for the message.
7937
79382002-08-09  Darin Adler  <darin@apple.com>
7939
7940	- fixed 2945441 -- base target is ignored
7941
7942        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
7943	Add code to respect the base target in the document. It would be way better
7944	to use more of the KHTML code instead of copying it a line at a time into
7945	KWQ -- that can come later when the fire drill is over.
7946
7947=== milestone 0.5 ===
7948
7949=== Alexander-16 ===
7950
79512002-08-09  Darin Adler  <darin@apple.com>
7952
7953	- fixed 3020594 -- crash in KWQKHTMLPartImpl::end() visiting particular page
7954
7955        * khtml/khtml_part.cpp: (KHTMLPart::end): Our hacked alternative to a signal
7956	requires a NULL check.
7957
79582002-08-08  Maciej Stachowiak  <mjs@apple.com>
7959
7960	Fix to get onLoad to fire, so the iBench test works.
7961	
7962        * khtml/khtml_part.cpp:
7963        (KHTMLPart::checkCompleted): Put back some needed code that was
7964	ifdef'd out (the part that emits completed()).
7965        (KHTMLPart::slotChildCompleted): Enabled; ifdef'd out part.
7966        (KHTMLPart::frame): Enabled.
7967        * khtml/khtml_part.h:
7968        * kwq/KWQKHTMLPartImpl.mm:
7969	(KHTMLPart::completed): Hack to get completed signal delivered to
7970	parent.
7971        (KWQKHTMLPartImpl::requestFrame): Initialize m_part
7972        * kwq/WebCoreBridge.h: createChildFrameNamed method now returns
7973	the bridge for the child frame.
7974
79752002-08-08  Richard Williamson  <rjw@apple.com>
7976
7977        Move stuff out of core into kit.
7978        
7979        * kwq/WebCoreBridge.mm:
7980        (-[WebCoreBridge drawRect:withPainter:]):
7981        * kwq/WebCoreTextRendererFactory.h:
7982        * kwq/WebCoreTextRendererFactory.m:
7983
79842002-08-08  Darin Adler  <darin@apple.com>
7985
7986	- fixed 3019353 -- Japanese (Autodetect) encoding not properly supported
7987
7988        * kwq/make-charset-table.pl: Add a "japanese-autodetect" entry to the table
7989	explicitly, with a hardcoded encoding value. This should be good enough.
7990
7991        * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFixedFontSize):
7992        * kwq/WebCoreEncodings.h:
7993        * kwq/WebCoreSettings.h:
7994        * kwq/WebCoreSettings.m:
7995        Change "fixed font size" to "default fixed font size".
7996
7997	Placeholders for the "drawing observer" method that I'll be using
7998	to implement the "dump page as diffable text" feature.
7999
8000        * kwq/WebCoreTestController.h: Added.
8001        * kwq/WebCoreTestController.m: Added.
8002        * WebCore.exp: Mention new class.
8003        * WebCore.pbproj/project.pbxproj: Mention new files.
8004
80052002-08-08  Maciej Stachowiak  <mjs@apple.com>
8006
8007	Added an SPI that can be used to get at the WebCore
8008	charset-name/encoding table; this is useful for a couple of things
8009	in WebKit.
8010
8011        * kwq/WebCoreEncodings.h: Added.
8012        * kwq/WebCoreEncodings.mm: Added.
8013        (+[WebCoreEncodings charsetNameForEncoding:]):
8014        (+[WebCoreEncodings encodingForCharsetName:]):
8015        * WebCore.exp: Export the new class.
8016        * WebCore.pbproj/project.pbxproj: Add new files.
8017
80182002-08-08  Richard Williamson  <rjw@apple.com>
8019
8020        Changes to coalesce all drawing calls of the same text
8021        style and color into one call to CG.  Significantly
8022        improves drawing time.  My tests should about 7-8% on 
8023        ALL pages.  Disabled the code for now until I can verify
8024        on speed improvements on Ken's test rig.
8025        
8026        * kwq/WebCoreBridge.mm:
8027        (-[WebCoreBridge drawRect:withPainter:]):
8028        * kwq/WebCoreTextRendererFactory.h:
8029        * kwq/WebCoreTextRendererFactory.m:
8030        (-[WebCoreTextRendererFactory endCoalesceTextDrawing]):
8031        (-[WebCoreTextRendererFactory startCoalesceTextDrawing]):
8032
80332002-08-07  Maciej Stachowiak  <mjs@apple.com>
8034
8035	WebCore work for:
8036
8037	- fixed 2956008 - Need API for getting/setting text encoding for current page
8038
8039        * kwq/KWQKHTMLPartImpl.h:
8040        * kwq/KWQKHTMLPartImpl.mm:
8041        (KWQKHTMLPartImpl::slotData): Handle the possibility of override encoding -
8042	one that's not just a hint from the server but should override
8043        * kwq/WebCoreBridge.h:
8044        * kwq/WebCoreBridge.mm:
8045        (-[WebCoreBridge addData:withEncoding:]): Adjust for slotData interface change.
8046        (-[WebCoreBridge addData:withOverrideEncoding:]): New method that allows
8047	passing override encoding as a CFStringEncoding.
8048        (-[WebCoreBridge textEncoding]): Return the current text encoding.
8049
80502002-08-07  David Hyatt  <hyatt@apple.com>
8051
8052	Adding support for a separate fixed font size to WebCore.
8053	Your fixed font size pref will now be honored when the
8054	generic monospace family is used.
8055	
8056        * khtml/css/cssstyleselector.cpp:
8057        * khtml/css/cssstyleselector.h:
8058        * khtml/rendering/font.h:
8059        * khtml/rendering/render_flow.cpp:
8060        (RenderFlow::layoutBlockChildren):
8061        * kwq/KWQKHTMLSettings.mm:
8062        (KHTMLSettings::mediumFixedFontSize):
8063        * kwq/WebCoreSettings.h:
8064        * kwq/WebCoreSettings.m:
8065        (-[WebCoreSettings setFixedFontSize:]):
8066        (-[WebCoreSettings fixedFontSize]):
8067        * kwq/khtml/khtml_settings.h:
8068
80692002-08-07  Darin Adler  <darin@apple.com>
8070
8071	- fixed 3017499 -- One-click crasher at hondamotorcycle.com
8072
8073        * kwq/KWQKURL.mm: (operator==): Just compare the strings.
8074	Faster and safer.
8075
80762002-08-07  Richard Williamson  <rjw@apple.com>
8077        
8078        Removed debug log.
8079        
8080        * kwq/KWQFrame.mm:
8081        (QFrame::setFrameStyle):
8082        * kwq/WebCoreBridge.mm:
8083        (-[WebCoreBridge drawRect:withPainter:]):
8084
80852002-08-07  Darin Adler  <darin@apple.com>
8086
8087        * kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::decompose): Use CFURLCopyPath
8088	instead calling _NSParseStringToGenericURLComponents.
8089
80902002-08-07  Richard Williamson  <rjw@apple.com>
8091
8092        Turned off temporary debugging I accidentally checked in.
8093        
8094        * kwq/WebCoreBridge.mm:
8095        (-[WebCoreBridge drawRect:withPainter:]):
8096
80972002-08-06  David Hyatt  <hyatt@apple.com>
8098
8099	Make user stylesheet changes dynamic.  Web documents will now
8100	update as the user stylesheet is applied and unapplied.  Altered
8101	how reapplyStyles works a bit.
8102		
8103        * khtml/khtml_part.cpp:
8104        (KHTMLPart::reparseConfiguration):
8105        * khtml/xml/dom_docimpl.cpp:
8106        (DocumentImpl::setUserStyleSheet):
8107        * kwq/WebCoreBridge.mm:
8108        (-[WebCoreBridge reapplyStyles]):
8109
81102002-08-06  David Hyatt  <hyatt@apple.com>
8111
8112	Enable user stylesheet support.  It works from a fresh start but
8113	is not yet completely dynamic.
8114	
8115        * khtml/khtml_part.cpp:
8116        (KHTMLPart::setUserStyleSheet):
8117        * kwq/KWQKHTMLSettings.mm:
8118        (KHTMLSettings::userStyleSheet):
8119
81202002-08-06  Darin Adler  <darin@apple.com>
8121
8122	- fixed 2965321 -- Crash on window close in kthml::Loader::cancelRequests from particular page
8123
8124        * khtml/misc/loader.cpp: (Loader::servePendingRequests):
8125	Look at return value from KWQServeRequest instead of assuming it will always succeed.
8126        * kwq/KWQLoaderImpl.h: Add return value for KWQServeRequest.
8127        * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Return false if we fail to make either the NSURL
8128	or the WebResourceHandle. Also make sure that we delete the job if necessary.
8129
81302002-08-06  John Sullivan  <sullivan@apple.com>
8131
8132        * force-clean-timestamp:
8133	Edited this file to force a make clean in WebCore after
8134	discovering that it was necessary the hard way. I'm not
8135	sure which earlier checkin made this be required.
8136
81372002-08-06  Darin Adler  <darin@apple.com>
8138
8139        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::overURL):
8140	Fix crash in overURL, another case just like bug 3006336.
8141
81422002-08-06  Richard Williamson  <rjw@apple.com>
8143
8144        Frame resizing related changes.  Frames are now resizable
8145        w/ a resize bar.  Still need to draw frame borders.
8146        
8147        * khtml/rendering/render_frames.cpp:
8148        (RenderFrameSet::userResize):
8149        (RenderFrame::slotViewCleared):
8150        * kwq/KWQFrame.mm:
8151        (QFrame::setFrameStyle):
8152        (QFrame::frameStyle):
8153        (QFrame::frameWidth):
8154        * kwq/KWQWidget.mm:
8155        (QWidget::lockDrawingFocus):
8156        (QWidget::unlockDrawingFocus):
8157        (QWidget::flushDrawing):
8158        (QWidget::enableFlushDrawing):
8159        (QWidget::disableFlushDrawing):
8160        (QWidget::setDrawingAlpha):
8161        (QWidget::displayRect):
8162        * kwq/WebCoreBridge.mm:
8163        (-[WebCoreBridge drawRect:withPainter:]):
8164        * kwq/qt/qframe.h:
8165        * kwq/qt/qwidget.h:
8166
81672002-08-06  Maciej Stachowiak  <mjs@apple.com>
8168
8169	Removed some APPLE_CHANGES no longer needed after the part change.
8170	
8171        * khtml/khtml_part.cpp:
8172        (KHTMLPart::openedByJS): Don't call impl version.
8173        (KHTMLPart::setOpenedByJS): Don't call impl version.
8174        * kwq/KWQKHTMLPartImpl.h:
8175        * kwq/KWQKHTMLPartImpl.mm: Removed openedByJS and setOpenedByJS.
8176        * kwq/WebCoreBridge.h: Don't prototype setOpenedByScript: and
8177	openedByScript methods now that they are not needed.
8178
81792002-08-06  David Hyatt  <hyatt@apple.com>
8180
8181	Make checkboxes and radio buttons use the small control
8182	size.  Tweak their baselines to not use font metrics and
8183	to line up properly.  (voodooextreme.com nearly renders
8184	the left column correctly now.)
8185	
8186        * khtml/rendering/render_form.cpp:
8187        (RenderCheckBox::baselinePosition):
8188        (RenderRadioButton::baselinePosition):
8189        * khtml/rendering/render_form.h:
8190        * kwq/KWQCheckBox.mm:
8191        (QCheckBox::QCheckBox):
8192        * kwq/KWQRadioButton.mm:
8193        (QRadioButton::QRadioButton):
8194
81952002-08-06  John Sullivan  <sullivan@apple.com>
8196
8197	WebCore part of fix for 2915396 -- implement larger/smaller font
8198	or page zoom functionality
8199
8200        * khtml/khtml_part.cpp:
8201        (KHTMLPart::setZoomFactor): inside APPLE_CHANGES, remove use of
8202	KHTML limits for zoom factor; this is a client responsibility in
8203	our model.
8204
82052002-08-06  Darin Adler  <darin@apple.com>
8206
8207        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
8208	Put in a check for nil that I missed.
8209
82102002-08-06  Darin Adler  <darin@apple.com>
8211
8212	- fixed 2948805 -- Need WebKit API for larger/smaller font feature
8213
8214        * khtml/khtml_part.cpp:
8215        (KHTMLPart::clear): Head in the direction of using the m_frames and
8216	m_objects arrays, by turning some APPLE_CHANGES code on.
8217        (KHTMLPart::checkCompleted): More code turned on here.
8218        (KHTMLPart::checkEmitLoadEvent): And more code turned on here.
8219        (KHTMLPart::parentPart): Remove APPLE_CHANGES version. We can use the original now.
8220        (KHTMLPart::setZoomFactor): Remove APPLE_CHANGES. We want this function now.
8221        * khtml/khtml_part.h: Remove some APPLE_CHANGES to make xmlDocImpl public.
8222	No longer needed.
8223        * khtml/khtmlpart_p.h: Remove a bunch of APPLE_CHANGES.
8224        * kwq/KWQKHTMLPartImpl.h: Remove parentPart(), add getDocument() and getRenderer().
8225        * kwq/KWQKHTMLPartImpl.mm:
8226        (KWQKHTMLPartImpl::urlSelected): Use parentPart() instead of [bridge parent].
8227        (KWQKHTMLPartImpl::requestFrame): Set up a ChildFrame in the m_frames array.
8228        (KWQKHTMLPartImpl::layout): Use getRenderer().
8229        (KWQKHTMLPartImpl::getDocument): Added.
8230        (KWQKHTMLPartImpl::getRenderer): Added.
8231        * kwq/WebCoreBridge.h: Add [setParent:], remove [parent].
8232        * kwq/WebCoreBridge.mm:
8233        (-[WebCoreBridge setParent:]): Added.
8234        (-[WebCoreBridge reapplyStyles]): Use getDocument().
8235        (-[WebCoreBridge forceLayout]): Use getRenderer().
8236        (-[WebCoreBridge drawRect:withPainter:]): Use getRenderer().
8237        (-[WebCoreBridge copyDOMTree:]): Use getDocument().
8238        (-[WebCoreBridge copyRenderTree:]): Use getRenderer().
8239        (-[WebCoreBridge completeURLForDOMString:]): Use getDocument().
8240        (-[WebCoreBridge elementAtPoint:]): Use getRenderer().
8241        (-[WebCoreBridge setTextSizeMultiplier:]):
8242        * kwq/khtml/khtml_ext.h: Add dummy setEnabled function to make khtml_part.cpp compile.
8243        * kwq/kparts/part.h: Add real parent() and setParent() implementation.
8244
82452002-08-05  Maciej Stachowiak  <mjs@apple.com>
8246
8247	Fixed crashers and leaks that come up when changing the view
8248	associated with a part.
8249	
8250        * khtml/khtmlview.cpp:
8251        (KHTMLView::~KHTMLView): Don't zero out the part's view, because
8252	that will mess up setting a new one.
8253
8254        * kwq/WebCoreBridge.mm:
8255        (-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]):
8256	Destroy the old view if we own it.
8257
82582002-08-05  Darin Adler  <darin@apple.com>
8259
8260        * kwq/KWQKHTMLPartImpl.mm:
8261        (KWQKHTMLPartImpl::openURLInFrame):
8262        (KWQKHTMLPartImpl::urlSelected):
8263        (KWQKHTMLPartImpl::requestFrame):
8264        (KWQKHTMLPartImpl::requestObject):
8265	Add some nil checks before making calls with nil NSURL objects.
8266	But we also have to figure out how to report some kind of error
8267	in these cases, because the current behavior is not so good.
8268
82692002-08-05  Maciej Stachowiak  <mjs@apple.com>
8270
8271	- fixed 3007072 - need to be able to build fat
8272	
8273        * WebCore.pbproj/project.pbxproj: Fixed DeploymentFat build.
8274
82752002-08-05  Darin Adler  <darin@apple.com>
8276
8277	- fixed 3016374 -- Change font default from small back to medium
8278
8279        * khtml/css/cssstyleselector.cpp:
8280	(CSSStyleSelector::computeFontSizes): Change back to basing everything on
8281	mediumFontSize() as opposed to a defaultFontSize that was the same as "small".
8282	(CSSStyleSelector::applyRule): Default is m_fontSizes[3] again.
8283        * khtml/html/html_inlineimpl.cpp: (HTMLFontElementImpl::parseAttribute):
8284	Shift all the sizes up one, so 3 is now medium. It's important that 3 be the same as the default.
8285        * khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::attach): Change the default back to medium.
8286        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Change the default back to [3].
8287        * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): Change name back.
8288        * kwq/khtml/khtml_settings.h: Change name back to medium.
8289
8290	Do a little bit of wiring for the "text size multiplier" feature.
8291
8292        * kwq/WebCoreBridge.h:
8293        * kwq/WebCoreBridge.mm: (-[WebCoreBridge setTextSizeMultiplier:]): Added.
8294
82952002-08-05  Darin Adler  <darin@apple.com>
8296
8297	- fixed 3009321 -- bookmark and history menus show black square for (tm)
8298
8299        * khtml/html/htmltokenizer.cpp:
8300        (HTMLTokenizer::parseSpecial): Call fixUpChar.
8301        (HTMLTokenizer::parseText): Call fixUpChar.
8302        (HTMLTokenizer::parseTag): Call fixUpChar.
8303
83042002-08-05  Darin Adler  <darin@apple.com>
8305
8306        - fixed 3016795 -- http://www.google.co.il/ fails to decode
8307
8308        * kwq/make-charset-table.pl: Added a hack that makes us treat for
8309	iso-8859-8-e and iso-8859-8-i the same as iso-8859-8; may not be exactly
8310	right, but it's probably OK modulo the actual bidi support.
8311
83122002-08-05  Maciej Stachowiak  <mjs@apple.com>
8313
8314        * kwq/KWQKHTMLPartImpl.mm:
8315        (KWQKHTMLPartImpl::slotData): Simplified a bit.
8316
83172002-08-05  Maciej Stachowiak  <mjs@apple.com>
8318
8319        Merged KHTMLPart::end method with khtml original.
8320
8321        * khtml/khtml_part.cpp:
8322        (KHTMLPart::end): Remove call to impl. Use original version, but
8323	clear KURL cache and call slotFinishedParsing as well.
8324        * kwq/KWQKHTMLPartImpl.h:
8325        * kwq/KWQKHTMLPartImpl.mm:
8326        (KWQKHTMLPartImpl::end): Removed.
8327	(KWQKHTMLPartImpl::gotoBaseAnchor): Removed. No longer needed.
8328        * kwq/KWQKURL.mm:
8329        (KURL::encodedHtmlRef): Implemented.
8330        (KURL::htmlRef): Implemented.
8331        * kwq/WebCoreBridge.h:
8332        * kwq/WebCoreBridge.mm:
8333	(-[WebCoreBridge scrollToBaseAnchor]): Removed. No longer needed.
8334	
83352002-08-05  Maciej Stachowiak  <mjs@apple.com>
8336
8337        Merged KHTMLPart::openURL method with khtml original.
8338
8339        * khtml/khtml_part.cpp:
8340	(KHTMLPart::openURL): Don't call the impl version. Leave most of
8341	this #ifdef'd, except the parts that look useful.
8342        * kwq/KWQKHTMLPartImpl.h:
8343        * kwq/KWQKHTMLPartImpl.mm:
8344        (KWQKHTMLPartImpl::openURL): Removed.
8345
83462002-08-05  Maciej Stachowiak  <mjs@apple.com>
8347
8348        Merged KHTMLPart::begin method with khtml original.
8349
8350	* khtml/khtml_part.cpp:
8351	(KHTMLPart::begin): Restore this method and don't call the impl
8352	version. ifdef out the parts that don't compile.
8353        * kwq/KWQKHTMLPartImpl.h:
8354        * kwq/KWQKHTMLPartImpl.mm:
8355	(KWQKHTMLPartImpl::begin): Removed.
8356        * kwq/KWQKHTMLSettings.mm:
8357        (KHTMLSettings::showAnimations): Implemented; always return false.
8358        (KHTMLSettings::userStyleSheet): Implemented; always return empty
8359	string.
8360        * kwq/kdecore/kurl.h: Implemented isValid as inline method.
8361
83622002-08-04  David Hyatt  <hyatt@apple.com>
8363
8364	Fix my bungled CSS for input fields in the user agent style
8365	sheet.
8366	
8367        * khtml/css/html4.css:
8368
83692002-08-03  Darin Adler  <darin@apple.com>
8370
8371	- fixed 2943519 - &#149; is rendered as an asterisk rather than a bullet
8372
8373        * khtml/html/htmltokenizer.cpp: (fixUpChar): Replaced the macro of this
8374	name by an inline function that follows the Unicode specification. The
8375	macro was both making Windows Latin 1 extensions character codes
8376	(like 149 for bullet) work, but also mapping to characters that were
8377	suitable for Qt. Since OS X has no problem with the real Unicode values,
8378	we don't need that hack.
8379
83802002-08-02  Darin Adler  <darin@apple.com>
8381
8382	- fixed 3015522 -- crash decoding http://www.haaretz.co.il/
8383
8384        * khtml/misc/decoder.cpp: (Decoder::setEncoding): Put some hacks for
8385	handling Hebrew text encoding inside ifndef APPLE_CHANGES. It's not clear
8386	that these or the equivalent are needed for WebCore (they are related to
8387	the as-yet unimplemented bidirectional text support) and they were making
8388	us crash.
8389
8390	- fixed 2949235 -- checkboxes in wrong place until you scroll away and back
8391
8392	I fixed this once before, then removed that fix in favor of a simpler one.
8393	But the simpler one didn't work, and I didn't test it properly. Now I have
8394	a fix that works without the drawbacks of the original.
8395
8396        * khtml/rendering/render_replaced.cpp: (RenderWidget::layout): Remove the
8397	call to move the widget aside. This does no good because it's only called
8398	if the widget is told it needs to layout, which only happens if it's resized.
8399
8400        * khtml/rendering/render_root.cpp: (RenderRoot::layout): Call a KWQ function
8401	so we can do some work at layout time.
8402
8403        * kwq/KWQKHTMLPartImpl.mm:
8404        (moveWidgetsAside): Added. Function used recursively to move all widgets aside.
8405        (KWQKHTMLPartImpl::layout): Added. Called at layout time; moves all the widgets
8406	aside. They are moved back when print functions are called.
8407
8408	WebCore support for feature where client redirects are treated as if the
8409	page was continuing to load. A big part of this was changing redirection
8410	so that it uses QTimer, allowing us to use more of the original KHTMLPart
8411	code. I added a feature to QTimer that KWQKHTMLPartImpl uses to monitor
8412	what KHTMLPart does with the timer.
8413
8414        * kwq/qt/qobject.h: Changed "slots" definition so that all slots are public (to help
8415	KWQSlot get at them). Added a prefix for the slot and signal strings, so that we can detect
8416	the case where it's trying to connect a slot to another slot. Implement the convenience
8417	version of connect here in the header. Implement blockSignals. Remove setTarget.
8418	Make target mutable. Add new m_signalListHead and m_signalsBlocked.
8419        * kwq/KWQObject.mm:
8420        (QObject::findSignal): Added. Helper function that locates a signal by name.
8421        (QObject::connect): Connects a signal to a slot using the new KWQSignal and KWQSlot.
8422        (QObject::disconnect): Disconnects, similar to the above.
8423        (QObject::QObject): Initialize target, m_signalListHead, and m_signalsBlocked.
8424        (QObject::~QObject): Assert that m_signalListHead is 0.
8425
8426        * khtml/khtml_part.cpp:
8427        (KHTMLPart::init): Move the code that connects the redirection timer out
8428	of APPLE_CHANGES.
8429        (KHTMLPart::~KHTMLPart): Remove the APPLE_CHANGES around the code that
8430	stops the redirection timer.
8431        (KHTMLPart::restoreURL): Remove the APPLE_CHANGES around the code that
8432	stops the redirection timer.
8433        (KHTMLPart::openURL): Move the APPLE_CHANGES so the code that stops the
8434	redirection timer will run.
8435        (KHTMLPart::closeURL): Remove the APPLE_CHANGES around the code that
8436	stops the redirection timer.
8437        (KHTMLPart::scheduleRedirection): Remove most of this function from the
8438	APPLE_CHANGES. We still probably need to revisit the handling of m_bComplete.
8439
8440        * kwq/KWQSignal.h: Added.
8441        * kwq/KWQSignal.mm: Added.
8442        * kwq/KWQSlot.h: Added.
8443        * kwq/KWQSlot.mm: Added.
8444        * WebCore.pbproj/project.pbxproj: Added KWQSignal.h/mm, KWQSlot.h/mm.
8445
8446        * khtml/misc/loader.h: Simplify APPLE_CHANGES ifdefs since all slots are now public.
8447
8448       * force-clean-timestamp: Touch this since header files were changed.
8449
8450        * khtml/ecma/kjs_window.cpp:
8451        (Window::get): Disable the "name" part of this. We can re-enable it if we
8452	need it, but every QObject had a name because of this one piece of code,
8453	and I don't think it was effectively setting the frame name.
8454        (Window::put): Disable the "name" part of this for the same reason.
8455        (History::getValueProperty): Disable the "length" part of this. It was
8456	calling some unimplemented stuff. We can re-enable this and implement
8457	what we need in KWQ then.
8458
8459        * khtml/rendering/render_form.h: Remove RenderTextArea::performAction, because I
8460	changed this one case to use the new connect machinery. We can convert all the other
8461	form items to use the new machinery, and then eliminate performAction altogether.
8462        * khtml/rendering/render_form.cpp:
8463        (RenderSubmitButton::RenderSubmitButton): Remove unneeded setTarget. For the moment,
8464	connect takes care of this, and in the long run we won't need to set the target at all.
8465        (RenderLineEdit::RenderLineEdit): Ditto.
8466
8467        * khtml/rendering/render_frames.h:
8468        * khtml/rendering/render_frames.cpp: Put partLoadingErrorNotify inside ifndef APPLE_CHANGES
8469	because it uses a bunch of Qt stuff that's not used anywhere else, and we never call it.
8470
8471        * kwq/KWQKHTMLPartImpl.h: Remove scheduleRedirection, timerEvent, and m_redirectionTimer,
8472	add redirectionTimerStartedOrStopped and layout.
8473        * kwq/KWQKHTMLPartImpl.mm:
8474        (redirectionTimerMonitor): Added. Small stub that calls redirectionTimerStartedOrStopped.
8475        (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Set up a monitor on the redirection timer.
8476        (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove now-unneeded killTimer call.
8477        (KWQKHTMLPartImpl::jumpToSelection): Simplify by using dynamic_cast instead of render_name().
8478        (KWQKHTMLPartImpl::redirectionTimerStartedOrStopped): Added. Calls bridge to report client
8479	redirect events whenever the redirection timer is started or stopped.
8480
8481        * kwq/qt/qtextedit.h: Define a KWQSignal for textChanged, and a function that calls it.
8482        * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Set up a KWQSignal for textChanged.
8483        * kwq/KWQTextArea.mm: (-[KWQTextArea textDidEndEditing:]): Instead of calling emitAction,
8484	call textChanged, which will emit the signal using the new signal machinery.
8485
8486        * kwq/qt/qtimer.h:
8487        * kwq/KWQTimer.mm:
8488        (+[KWQTimerTarget targetWithQTimer:]): Added. Used to implement QTimer in terms of NSTimer.
8489        (-[KWQTimerTarget timerFired:]): Added. Used to implement QTimer in terms of NSTimer.
8490        (QTimer::QTimer): Added.
8491        (QTimer::isActive): Implemented.
8492        (QTimer::start): Implemented.
8493        (QTimer::stop): Implemented.
8494        (QTimer::setMonitor): Implemented.
8495        (QTimer::fire): Implemented.
8496
8497        * kwq/WebCoreBridge.h: Changed name of gotoAnchor to scrollToAnchor. Added client redirect
8498	methods.
8499        * kwq/WebCoreBridge.mm: (-[WebCoreBridge scrollToAnchor:]): Changed name.
8500
85012002-08-02  David Hyatt  <hyatt@apple.com>
8502
8503	Lots of form control changes.
8504	- Inputs and textareas now respond to setFont and can have their font set by the Web page
8505	explicitly.  These fields emulate the WinIE behavior of defaulting to the UI system font
8506	and only picking up new fonts if they are explicitly specified on the element itself.
8507	- Buttons and selects use the small versions now.
8508	- Stopped trying to align controls along baselines of their interior text.  Konqueror is
8509	the only browser that does this, and it looks bad on many pages.  With this patch controls
8510	align along their bottom borders (which extend slightly below the baseline of surrounding
8511	text).  This matches Gecko, MacIE, and WinIE behavior.
8512	- Stopped using monospace for textareas and inputs.
8513	- Fixed a bug with inputs not calling setScrollable on their cells.
8514	
8515        * khtml/css/html4.css:
8516        * khtml/rendering/render_form.cpp:
8517        (RenderSubmitButton::calcMinMaxWidth):
8518        (RenderSubmitButton::baselinePosition):
8519        (RenderLineEdit::baselinePosition):
8520        (RenderSelect::baselinePosition):
8521        * khtml/rendering/render_form.h:
8522        * kwq/KWQButton.mm:
8523        (QButton::QButton):
8524        (QButton::sizeHint):
8525        * kwq/KWQComboBox.mm:
8526        (QComboBox::init):
8527        * kwq/KWQLineEdit.mm:
8528        (QLineEdit::cursorPosition):
8529        (QLineEdit::setFont):
8530        * kwq/KWQNSTextField.mm:
8531        (-[KWQNSTextField initWithFrame:widget:]):
8532        * kwq/KWQView.mm:
8533        (-[KWQNSButtonCell cellSizeForBounds:]):
8534        (+[KWQNSButton initialize]):
8535        * kwq/WebCoreTextRendererFactory.h:
8536        * kwq/WebCoreTextRendererFactory.m:
8537        (-[WebCoreTextRendererFactory fontWithFamily:traits:size:]):
8538        * kwq/qt/qbutton.h:
8539        * kwq/qt/qlineedit.h:
8540
85412002-08-01  Darin Adler  <darin@apple.com>
8542
8543        - fixed 2841277 -- support for charset=gb2312
8544
8545        * kwq/character-sets.txt: Added "euc-cn" to the list of aliases for
8546	"gb2312", since that's the name used by CFStringEncoding for that
8547	character set.
8548
85492002-08-01  Maciej Stachowiak  <mjs@apple.com>
8550
8551	Remove KWQKHTMLPartImpl's setBaseURL method and m_baseURL field,
8552	since nothing should really need them any more.
8553	
8554        * kwq/KWQKHTMLPartImpl.h:
8555        * kwq/KWQKHTMLPartImpl.mm:
8556        (KWQKHTMLPartImpl::begin): Set base URL on document, if it exists.
8557        (KWQKHTMLPartImpl::requestFrame): Get base URL from document.
8558        (KWQKHTMLPartImpl::requestObject): Ditto.
8559        (KWQKHTMLPartImpl::frames): Ditto.
8560        (KWQKHTMLPartImpl::setBaseURL): Removed.
8561
85622002-08-01  Richard Williamson  <rjw@apple.com>
8563
8564        Added method to allow WebKit to direct khtml to
8565        goto to an anchor point.  Need for back/forward.
8566        
8567        * kwq/KWQKHTMLPartImpl.mm:
8568        (KWQKHTMLPartImpl::urlSelected):
8569        * kwq/WebCoreBridge.h:
8570        * kwq/WebCoreBridge.mm:
8571        (-[WebCoreBridge gotoAnchor:]):
8572
85732002-08-01  Ken Kocienda  <kocienda@apple.com>
8574
8575	Tweaked WebCore cache settings. The WebCore cache will now grow
8576	to 1 MB (was 512k). The maximum cacheable item is 16k instead of 40k.
8577
8578        * khtml/misc/loader.cpp
8579
8580=== Alexander-15 ===
8581
85822002-08-01  Maciej Stachowiak  <mjs@apple.com>
8583
8584        Restored the original KHTMLPart::write() now that none of our
8585	changes in the impl version are beneficial in any way.
8586
8587	* khtml/khtml_part.cpp:
8588        (KHTMLPart::write): Restore original code in lieue of calling impl
8589	version.
8590        * kwq/KWQKHTMLPartImpl.h:
8591        * kwq/KWQKHTMLPartImpl.mm:
8592        (KWQKHTMLPartImpl::openURL): Remove initialization of
8593	m_decodingStarted, since it is now gone.
8594	(KWQKHTMLPartImpl::write): Removed.
8595
85962002-08-01  Maciej Stachowiak  <mjs@apple.com>
8597
8598	Removed m_documentSource and remaining ill-conceived uses thereof.
8599	
8600        * kwq/KWQKHTMLPartImpl.h:
8601        * kwq/KWQKHTMLPartImpl.mm:
8602        (KWQKHTMLPartImpl::openURL): Don't initialize it.
8603        (KWQKHTMLPartImpl::write): Don't use it.
8604
86052002-08-01  Maciej Stachowiak  <mjs@apple.com>
8606
8607        Remove stuff formerly useful for "View Reconstructed Source"
8608	feature but now useless.
8609
8610	* kwq/KWQKHTMLPartImpl.h:
8611        * kwq/KWQKHTMLPartImpl.mm:
8612	(KWQKHTMLPartImpl::documentSource): Removed.
8613        * kwq/WebCoreBridge.h:
8614        * kwq/WebCoreBridge.mm:
8615	(-[WebCoreBridge documentTextFromDOM]): Removed.
8616
86172002-07-31  Darin Adler  <darin@apple.com>
8618
8619        * kwq/qt/qptrvector.h:
8620        * kwq/qt/qvector.h:
8621        * kwq/KWQVectorImpl.h:
8622        * kwq/KWQVectorImpl.mm:
8623	* force-clean-timestamp:
8624	New implementation of QVector that does not use CFArray. Should fix some data()
8625	anomalies. Shares wierdnesses with the original Qt class.
8626
8627        * WebCore-tests.exp: Remove old QVector entry points and add new ones.
8628
8629        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::write): Did a tiny optimization
8630	by initializing the QString rather than first assigning and then initializing.
8631	Also reworded some comments and rearranged code to make it clearer that
8632	m_decodingStarted is now used only to decide when to call determineParseMode.
8633
8634        * khtml/css/cssparser.cpp: Removed the APPLE_CHANGES around a change that's
8635	fine for non-Apple use as well.
8636
86372002-07-30  Maciej Stachowiak  <mjs@apple.com>
8638
8639	Fixes of various bugs that prevented Alexander from running the
8640	Mozilla page load test.
8641
8642	- fixed 3008682 - Alexander cannot run Mozilla-PLT
8643
8644        * khtml/misc/decoder.cpp:
8645        (Decoder::decode): Don't drop the accumulated buffer if the document
8646	happens to be unicode!
8647	* kwq/KWQCString.mm:
8648        (operator==): Fix reversed logic when comparing an empty QCString
8649	to a const char *.
8650        * kwq/KWQKHTMLPartImpl.mm:
8651	(KWQKHTMLPartImpl::slotData): Set complete flag later so that
8652	initializing it to false doesn't clobber setting it.
8653        (KWQKHTMLPartImpl::begin): Initialize complete flag to false.
8654        (KWQKHTMLPartImpl::write): Don't buffer things up for the decoder -
8655	the decoder does that internally.
8656        * kwq/WebCoreBridge.h, kwq/WebCoreBridge.mm: Remove setURL: method.
8657
86582002-07-30  Richard Williamson  <rjw@apple.com>
8659
8660        Don't create unnecessary unicode string.  Of the 
8661        95695 unnecessary unicode allocations we do loading
8662        the base test, this usage accounted for 7185.  Most
8663        of the others come from DOMString to QConstString to
8664        QString to unicode() conversion during parsing.  All
8665        that unnecessary work needs to be removed.
8666        
8667        * kwq/KWQColor.mm:
8668        (decodeColorFromHexColorString):
8669
86702002-07-30  David Hyatt  <hyatt@apple.com>
8671
8672	Ok, this time i've got it.  I hope.  I think.  Fingers crossed.
8673	Putting the table recalc check back in one more time. :)
8674	
8675        * khtml/rendering/render_table.cpp:
8676        (RenderTable::addColumns):
8677        (RenderTable::addColInfo):
8678
86792002-07-30  David Hyatt  <hyatt@apple.com>
8680
8681	Backing myself out again.  No crashes, but now pages stall.
8682	#*^&*#@^%*&!!!!
8683	
8684        * khtml/rendering/render_table.cpp:
8685        (RenderTable::recalcColInfo):
8686        (RenderTable::addColInfo):
8687
86882002-07-30  David Hyatt  <hyatt@apple.com>
8689
8690	Putting my table patch back in.  Also optimizing the code
8691	to avoid deleting and recreating the same colinfo over
8692	and over again.  Now colinfos can recalc their own
8693	information.
8694	
8695        * khtml/rendering/render_table.cpp:
8696        (RenderTable::addColumns):
8697        (RenderTable::recalcColInfo):
8698        (RenderTable::addColInfo):
8699        (RenderTable::calcMinMaxWidth):
8700        * khtml/rendering/render_table.h:
8701
87022002-07-30  Richard Williamson  <rjw@apple.com>
8703
8704        Inline critical function.
8705        
8706        * kwq/KWQString.mm:
8707        (compareToLatinCharacter):
8708
87092002-07-30  Richard Williamson  <rjw@apple.com>
8710
8711        Wow!  Avoid creation of unicode string when only a single character
8712        is needed.  Simple change for big gains, 7% - 10% improvement
8713        on cached pages.  Other similar gains may remain to be had.
8714        
8715        * khtml/css/cssparser.cpp:
8716
87172002-07-30  Darin Adler  <darin@apple.com>
8718
8719        * khtml/css/makevalues: Fail if we don't find gperf.
8720
87212002-07-30  David Hyatt  <hyatt@apple.com>
8722
8723	Back myself out. I seem to have stumbled onto another bug.
8724	Until I figure it out, turn this back off.
8725	
8726        * khtml/rendering/render_table.cpp:
8727        (RenderTable::addColumns):
8728        (RenderTable::addColInfo):
8729
87302002-07-30  David Hyatt  <hyatt@apple.com>
8731
8732	Fix for 3000604, 2902173, 2921313.  Ensure that tables recalc their
8733	column widths like they are supposed to.  This fixes livepage.apple.com,
8734	applemuseum.com, and many other pages (that didn't have bugs filed).
8735	Yay!
8736	
8737        * khtml/rendering/render_table.cpp:
8738        (RenderTable::recalcColInfo):
8739        (RenderTable::addColInfo):
8740
87412002-07-29  David Hyatt  <hyatt@apple.com>
8742
8743	Fix for 3008660, arstechnica regression.  Move the acquisition
8744	of the document's text color (and the addition of CSS properties)
8745	to the attach() call instead of the constructor.  The table won't
8746	add the properties until it is building its render object.
8747
8748	Also removing the #ifndef around the layout scheduler.  This fixes
8749	:hover feedback and reflows from things like the marquee on
8750	livepage.apple.com.
8751	
8752        * khtml/html/html_tableimpl.cpp:
8753        (HTMLTableElementImpl::HTMLTableElementImpl):
8754        (HTMLTableElementImpl::id):
8755        (HTMLTableElementImpl::attach):
8756        * khtml/html/html_tableimpl.h:
8757        * khtml/rendering/render_object.h:
8758
87592002-07-29  Darin Adler  <darin@apple.com>
8760
8761	- fixed 3010875 -- Find only works for latin characters
8762	- dealt with part of 2948387 -- stop button flashes to "go" twice while loading citibank.com
8763
8764        * force-clean-timestamp: Make everyone do a make clean because dependencies won't do
8765	the right thing.
8766
8767        * khtml/khtml_part.h:
8768        * khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Changed the APPLE_CHANGES ifdefs around
8769	in this function so we can start using it again.
8770	(KHTMLPart::jumpToSelection): Removed. The bridge goes straight to the impl. 
8771
8772        * kwq/WebCoreBridge.mm: (-[WebCoreBridge jumpToSelection]): Go straight to the impl.
8773
8774        * WebCore-tests.exp: One new export needed for tests with change to qstring.h.
8775
8776        * kwq/qt/qevent.h:
8777        * kwq/KWQEvent.mm: Removed unused stuff.
8778
8779        * kwq/KWQKHTMLPartImpl.h: Removed redirectURL(); we now use KHTMLPart::slotRedirect().
8780
8781        * kwq/KWQKHTMLPartImpl.mm:
8782        (KWQKHTMLPartImpl::write): Call latin1() explicitly in here for m_documentSource. It was being
8783	done implicitly before.
8784        (KWQKHTMLPartImpl::scheduleRedirection): Get rid of 1-second minimum delay for meta refresh.
8785        (KWQKHTMLPartImpl::timerEvent): Call KHTMLPart::slotRedirect() instead of redirectURL(), because
8786	they were identical, so we don't need our own copy.
8787
8788        * kwq/kdeui/kmessagebox.h:
8789        * kwq/KWQKMessageBox.mm: (KMessageBox::questionYesNo): Added dontAskAgain string parameter.
8790	Before, it was being turned into a bool!
8791
8792        * kwq/KWQKProtocolManager.mm: Tweak and add FIXME.
8793
8794        * kwq/qt/qstring.h: Remove implicit conversion to const char *, which causes only pain.
8795        * kwq/KWQString.mm:
8796        (QString::find): Add caseSensitive parameter to the QString overload of this.
8797        (QString::contains): Add a QString version of this.
8798
8799        * kwq/character-sets.txt: Add the MIB number for ISO-10646-J-1.
8800        * kwq/make-charset-table.pl: Remove special case for ISO-10646-J-1 MIB number.
8801
88022002-07-29  Richard Williamson  <rjw@apple.com>
8803
8804        Fixed 3009074.  Added KHTMLPart::jumpToSelection and related scaffolding (part impl, bridge, etc.)
8805        
8806        * khtml/khtml_part.cpp:
8807        (KHTMLPart::jumpToSelection):
8808        * khtml/khtml_part.h:
8809        * kwq/KWQKHTMLPartImpl.h:
8810        * kwq/KWQKHTMLPartImpl.mm:
8811        (KWQKHTMLPartImpl::jumpToSelection):
8812        * kwq/WebCoreBridge.h:
8813        * kwq/WebCoreBridge.mm:
8814        (-[WebCoreBridge jumpToSelection]):
8815
88162002-07-29  Richard Williamson  <rjw@apple.com>
8817
8818        Fixed 3009067.  We were not correctly testing the first character of the node string.  Fixed in KWQString.
8819        This highlighted another problem.  KWQ does not support unichar * string find w/ case sensitive argument.
8820        KWQString implements QString::find(const char *chs, int index, bool caseSensitive), so  QStrings passed 
8821        will be auto-cast to char *.  Filed 3010875 to track that issue.
8822
8823        * kwq/KWQString.mm:
8824        (compareToLatinCharacter):
8825        (QString::find):
8826
88272002-07-26  David Hyatt  <hyatt@apple.com>
8828
8829	Changing the default user agent to be Gecko.  This fixes
8830	the layout issues with livepage.apple.com.  We simply
8831	cannot support absolute positioning while claiming to
8832	be Mac MSIE, since Mac MSIE incorrectly computes the containing
8833	block and sites have to correct for that.
8834	
8835        * kwq/KWQKProtocolManager.mm:
8836        (KProtocolManager::userAgentForHost):
8837
88382002-07-26  David Hyatt  <hyatt@apple.com>
8839
8840	Fix for 2944382, NOWRAP was being incorrectly applied in KHTML.
8841	It was being ignored incorrectly if a fixed width was specified
8842	on a cell.  This width on the cell is actually irrelevant and
8843	should not have been checked, since NOWRAP will affect the
8844	whole column and not just a specific cell.
8845	
8846        * khtml/rendering/render_table.cpp:
8847        (RenderTableCell::calcMinMaxWidth):
8848
88492002-07-25  Darin Adler  <darin@apple.com>
8850
8851        * WebCore.pbproj/project.pbxproj: Add DeploymentFat build style.
8852
8853	- fixed 3007532 -- Main documentation frame doesn't load on Apple docs page
8854
8855	This was caused by my recent fix for the "checkboxes in wrong place" bug.
8856	While discussing that bug fix with Richard, I realized that I needed to do the
8857	work at layout time, not print time. Luckily, this code ends up being simpler
8858	than the original solution.
8859
8860        * khtml/rendering/render_replaced.cpp:
8861        (RenderWidget::resizeWidget): Take out size limits based on X limits.
8862        (RenderWidget::layout): Move widgets off into far away coordinate space when
8863	layout happens. They get moved back on to the right position during the print process.
8864
8865        * kwq/KWQKHTMLPartImpl.h:
8866        * kwq/KWQKHTMLPartImpl.mm: Removed paint, buildViewsNotYetAddedSet, viewsNotYetAdded,
8867	and addedWidget.
8868        * kwq/KWQScrollView.mm: (QScrollView::addChild): Removed call to addedWidget.
8869        * kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): Put the call to the
8870	renderer to print back in here, since it's simple again.
8871
8872        * kwq/KWQWidget.mm: (QWidget::internalSetGeometry): Left in a couple of asserts that
8873	were useful in narrowing this one down.
8874
88752002-07-25  David Hyatt  <hyatt@apple.com>
8876
8877	Floated images using "align" should have margins to prevent the text from running right
8878	up against them.  Matches IE and Mozilla behavior.
8879	
8880        * khtml/css/html4.css:
8881
88822002-07-25  David Hyatt  <hyatt@apple.com>
8883
8884	Fix <blockquote> tags to have top and bottom margins of 1em.  This matches the <blockquote>
8885	behavior in Gecko.
8886	
8887        * khtml/css/html4.css:
8888
88892002-07-25  Darin Adler  <darin@apple.com>
8890
8891	- fixed 2965269 -- sizes reported to progress handler from KWQCheckCacheObjectStatus for images are wrong
8892	- fixed 3006054 -- assert error failingURL != nil
8893
8894        * khtml/misc/loader.h: Add dataSize() and m_dataSize.
8895        * khtml/misc/loader.cpp:
8896        (CachedImage::CachedImage): Initialize m_dataSize.
8897        (CachedImage::data): Update m_dataSize.
8898
8899        * kwq/kio/jobclasses.h:
8900        * kwq/KWQKjobclasses.mm: Store a KURL instead of an NSURL, because KURL can hold any string.
8901
8902        * kwq/KWQLoaderImpl.mm:
8903        (KWQServeRequest): Send an error with [WebCoreBridge reportError:] if the URL is so bad we can't
8904	construct an NSURL from it. This is the only case in all our code where we need to have failingURL
8905	accept a string.
8906        (KWQCheckCacheObjectStatus): If the object is an image, use the dataSize() rather than size().
8907	The size() is a (bad) estimate of how much memory is used in the case of an image, but we want
8908	to report the size of the original data.
8909
8910        * kwq/WebCoreBridge.h: Add a [reportError:] method.
8911
89122002-07-25  David Hyatt  <hyatt@apple.com>
8913
8914	Fix for huge white space problem on appleturns.com, bug 2947818.  Vertical-align
8915	was being applied to block-level elts in violation of the CSS2 spec.  Vertical-align
8916	is only supposed to apply to inline-level elts and table cells.  getVerticalPosition
8917	will now bail if the element is block-level.
8918	
8919        * khtml/rendering/render_object.cpp:
8920        (RenderObject::getVerticalPosition):
8921
89222002-07-25  Chris Blumenberg  <cblu@apple.com>
8923
8924        * kwq/WebCoreBridge.h:
8925        * kwq/WebCoreBridge.mm:
8926        (-[WebCoreBridge elementAtPoint:]): renamed
8927
89282002-07-25  David Hyatt  <hyatt@apple.com>
8929
8930	Fix for bug 2992158, the calendar on www.blog.org in the upper
8931	right was shoved offscreen (and causing a horizontal scrollbar
8932	to be necessary).  KHTML was not recomputing the margins for
8933	the table when it became displaced by the float.  It was also
8934	mispositioning the float itself.  
8935	
8936        * khtml/rendering/render_box.h:
8937        * khtml/rendering/render_flow.cpp:
8938        (RenderFlow::layoutBlockChildren):
8939        (RenderFlow::addOverHangingFloats):
8940	
89412002-07-24  David Hyatt  <hyatt@apple.com>
8942
8943	Fix for bug 2953423, viamichelin.com lays out incorrectly.
8944	Remove a completely bogus optimization in the KHTML code that
8945	attempted to bail when the specified width was 0.  This was
8946	a very basic problem, and it should fix other pages that were
8947	laying out incorrectly as well.
8948	
8949        * khtml/rendering/render_flow.cpp:
8950        (RenderFlow::layout):
8951
89522002-07-24  Darin Adler  <darin@apple.com>
8953
8954        * khtml/khtml_part.cpp: (KHTMLPart::clear): Remove code that reset m_frameNameId,
8955	to complete Maciej's change to fix bug 3006354.
8956
89572002-07-24  Darin Adler  <darin@apple.com>
8958
8959	- fixed 2906567 -- Font size calculations should use 96 dpi instead of 72 dpi
8960	- fixed 3005932 -- fonts specified in 'ex' units rendered waaaaaaay too large
8961	
8962        * khtml/css/cssstyleselector.cpp: (CSSStyleSelector::computeFontSizes):
8963	Use a default font size that's the same as small, rather than a "medium font
8964	size". Don't multiply the values from settings by the scaling factor.
8965	(CSSStyleSelector::applyRule): Make the default font size here for nodes with
8966	no parents be small (m_fontSizes[2]) rather than medium (m_fontSizes[3]).
8967
8968        * khtml/html/html_inlineimpl.cpp: (parseFontSizeNumber): Added. Tolerant of
8969	non-numeric characters after the numeric size. Also distinguishes a size like
8970	"0" from something that's not a numeric size at all.
8971        (HTMLFontElementImpl::parseAttribute): Use parseFontSizeNumber, but also make
8972	size 3 be the same as CSS_VAL_SMALL, not CSS_VAL_MEDIUM. This mistake (using
8973	CSS_VAL_MEDIUM) led to all kinds of strangeness in the KHTML code, including
8974	mishandling of 0 and the need to create CSS_VAL__KONQ_XXX_LARGE. Also change
8975	code so that 0 is treated as CSS_VAL_SMALL (same as 3) rather than CSS_VAL_XX_SMALL.
8976	This makes 0 between -1 and +1.
8977
8978        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Make default font
8979	size be small (fontSizes()[2]) rather than medium (fontSizes()[3]).
8980        * khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::HTMLTableElementImpl):
8981	Make default font size be CSS_VAL_SMALL, not CSS_VAL_MEDIUM.
8982
8983        * kwq/qt/qfontmetrics.h:
8984        * kwq/KWQFontMetrics.mm: (QFontMetrics::xHeight): Added.
8985        * kwq/WebCoreTextRenderer.h: Added xHeight.
8986
8987        * khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::computeLengthFloat):
8988	Use xHeight rather than computing the height of an actual letter 'x'.
8989        * khtml/rendering/render_object.cpp: (RenderObject::getVerticalPosition):
8990	Use xHeight rather than computing the height of an actual letter 'x'.
8991
8992        * kwq/WebCoreBridge.mm: (-[WebCoreBridge reapplyStyles]): Fixed backwards
8993	if that prevented font changes from being reflected in the browser window.
8994
8995        * kwq/khtml/khtml_settings.h:
8996        * kwq/KWQKHTMLSettings.mm:
8997	(KHTMLSettings::defaultFontSize):
8998        * kwq/WebCoreSettings.h:
8999        * kwq/WebCoreSettings.m:
9000        (-[WebCoreSettings setDefaultFontSize:]):
9001        (-[WebCoreSettings defaultFontSize]):
9002	Replace mediumFontSize with defaultFontSize.
9003
9004        * WebCore.pbproj/project.pbxproj: Rearrange some of the files.
9005
90062002-07-24  Richard Williamson  <rjw@apple.com>
9007
9008        Support for find in HTML.
9009
9010        * kwq/WebCoreBridge.h:
9011        * kwq/WebCoreBridge.mm:
9012        (-[WebCoreBridge searchFor:direction:caseSensitive:]):
9013
90142002-07-24  Darin Adler  <darin@apple.com>
9015
9016	- fixed 2949235 -- checkboxes in wrong place until you scroll away and back
9017
9018	The problem here was that we put views in when we print, but we never removed them.
9019	I added code to keep track of existing views, and remove them if they are not re-added.
9020
9021        * kwq/KWQKHTMLPartImpl.h: Add paint, addedWidget, buildViewsNotAddedSet, and viewsNotYetAdded.
9022	It might be nice to find a different place to hang this that is not included by the KHTML code.
9023	But I think that having this on the bridge would be worse.
9024        * kwq/KWQKHTMLPartImpl.mm:
9025        (KWQKHTMLPartImpl::paint): Added. Removes any views that are not explicitly added by RenderWidget
9026	during the print process.
9027        (KWQKHTMLPartImpl::addedWidget): Added. Called by KWQScrollView to tell us a view was added.
9028        (KWQKHTMLPartImpl::buildViewsNotYetAddedSet): Added. Used to build the initial set of views.
9029
9030        * kwq/KWQScrollView.mm: (QScrollView::addChild): Added call to KWQKHTMLPartImpl::addedWidget.
9031        * kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): Calls KWQKHTMLPartImpl::paint.
9032
9033        * kwq/KWQWindowWidget.mm: (KWQWindowWidget::frameGeometry), (KWQWindowWidget::mapToGlobal),
9034	(KWQWindowWidget::mapFromGlobal), (KWQWindowWidget::internalSetGeometry):
9035	Fixed logic to work properly for windows not on main screen.
9036
9037        * khtml/khtml_part.cpp: Moved the boundary of an existing ifndef APPLE_CHANGES so that
9038	KHTMLPart::show() and hide() are not compiled, mainly for clarity.
9039        * khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Removed unneeded APPLE_CHANGES.
9040
9041        * kwq/KWQWindowWidget.h: Removed some unneeded virtual functions.
9042        * kwq/qt/qscrollview.h: Removed some unneeded virtual functions, made others non-virtual.
9043        * kwq/qt/qwidget.h: Removed some unneeded virtual functions, made others non-virtual.
9044        * kwq/KWQWidget.mm: Removed a lot of unused and unneeded stuff.
9045
9046        * force-clean-timestamp: Needed to do this because I changed header files.
9047
90482002-07-24  Darin Adler  <darin@apple.com>
9049
9050	- fixed 3006329 - space should be stripped from beginning of relative url
9051
9052        * kwq/KWQKURL.mm: (KURL::normalizeRelativeURLString): Added a call to stripWhiteSpace.
9053
90542002-07-24  Maciej Stachowiak  <mjs@apple.com>
9055
9056	Made frame names globally unique, not just unique per parent frame
9057	- this is needed to avoid triggering the assertion in 3006354
9058	(Assertion failure on salon.com). Clearing my cache made the
9059	assertion go away by itself, but it seems good to avoid the
9060	possibility of triggering it in the future.
9061	
9062        * khtml/khtmlpart_p.h: Make m_frameNameId static.
9063        * khtml/khtml_part.cpp: Initialize it here.
9064
90652002-07-24  Darin Adler  <darin@apple.com>
9066
9067	- fixed 3006336 -- crash in _NSDescriptionWithLocaleFunc
9068
9069        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::overURL):
9070	Don't use the result of getNSString() on a C++ temporary object.
9071	We could also fix this by doing retain autorelease in getNSString().
9072
90732002-07-23  Chris Blumenberg  <cblu@apple.com>
9074
9075	More plumbing for contextual menu support.
9076
9077        * kwq/WebCoreBridge.h:
9078        * kwq/WebCoreBridge.mm:
9079        (-[WebCoreBridge completeURLForDOMString:]): renamed
9080        (-[WebCoreBridge elementInfoAtPoint:]): renamed
9081        * kwq/qt/qpixmap.h: added an accessor to the WebCoreImageRenderer
9082
90832002-07-23  Darin Adler  <darin@apple.com>
9084
9085        * WebCore.pbproj/project.pbxproj: Fix file reference types to be more consistent.
9086
9087        * khtml/html/htmltokenizer.cpp:
9088        (HTMLTokenizer::parseTag): Changed indenting to use spaces, makes our diff with
9089	KDE smaller.
9090        (HTMLTokenizer::end): Remove unneeded APPLE_CHANGES.
9091
9092        * kwq/KWQDOMNode.cpp: Tweak.
9093        * kwq/KWQDOMNode.h: Tweak.
9094
90952002-07-23  David Hyatt  <hyatt@apple.com>
9096
9097	Fix bug 2803155 - images not displayed on http://bscw.gmd.de.
9098	My fix is to use our newfound quirks mode to implement a comment
9099	parsing quirk (this is how Mozilla handles this same issue).
9100	Only in quirks mode, the tokenizer will treat <!--> atomically as
9101	a complete comment.
9102
9103	This is bug 34302 on bugs.kde.org, for those who are curious.
9104	
9105        * khtml/html/htmltokenizer.cpp:
9106        (HTMLTokenizer::parseTag):
9107
91082002-07-23  Chris Blumenberg  <cblu@apple.com>
9109
9110	Initial plumbing for contextual menu support.
9111
9112        * WebCore.pbproj/project.pbxproj:
9113        * kwq/KWQDOMNode.cpp: Added.
9114        (isImage):
9115        * kwq/KWQDOMNode.h: Added.
9116        * kwq/WebCoreBridge.h:
9117        * kwq/WebCoreBridge.mm:
9118        (-[WebCoreBridge _URLForDOMString:]): added
9119        (-[WebCoreBridge _elementInfoForMouseEvent:]): added
9120
91212002-07-23  Richard Williamson  <rjw@apple.com>
9122
9123        Turn on find related code in part in preparation for
9124        implementing find in WebKit.
9125        
9126        * khtml/khtml_part.cpp:
9127        (KHTMLPart::init):
9128        (KHTMLPart::clear):
9129        (KHTMLPart::findTextNext):
9130
91312002-07-23  David Hyatt  <hyatt@apple.com>
9132
9133	Fixing two bugs here.  The first is bug with @import sheets not inheriting strict parsing mode from their parent sheet.
9134	This means all @import sheets are being treated as strict mode! 
9135
9136	The second bug is in KWQ.  We were never calling determineParseMode, so we always defaulted to strict mode, and therefore
9137	were highly intolerant of unitless numbers on absolutely positioned blocks.  This fixes many problems, notably www.netscape.com
9138	and ZDNet.com on the cvs-base tests.
9139        * khtml/css/cssparser.h:
9140        * kwq/KWQKHTMLPartImpl.mm:
9141        (KWQKHTMLPartImpl::write):
9142
91432002-07-23  Darin Adler  <darin@apple.com>
9144
9145	- fixed 3004818 -- relative urls are assembled incorrectly at ticketmaster
9146	- fixed 2999279 -- Invalid URI in request at subpage of swatch.com
9147
9148	The issue here is URLs with paths that start with "/../". RFC 2396 says one
9149	thing, and that's what CFURL does. But real web browsers do another thing.
9150
9151        * kwq/KWQKURL.mm:
9152        (KURL::KWQKURLPrivate::KWQKURLPrivate): Clean up a bit by removing unneeded init().
9153        (escapeQString): Don't make a copy of the passed-in QString.
9154        (pathEndsWithSlash): Don't make a copy of the passed-in QString.
9155        (copyEscapedPath): Make this a static function instead of extern.
9156        (KURL::KWQKURLPrivate::decompose): Add the new "../" and "./" logic.
9157
91582002-07-23  David Hyatt  <hyatt@apple.com>
9159
9160        * khtml/rendering/font.cpp:
9161	Fix deployment build bustage by including <algorithm>.
9162	
9163        * khtml/rendering/render_frames.cpp:
9164        (RenderPartObject::calcReplacedWidth):
9165	Fix a bug with http://www.moveabletype.com's top portion
9166	not showing up (bug 2986714).  A hack was being improperly
9167	applied to fixed width plugins, when it should have only
9168	been applied to variable width plugins.
9169	
91702002-07-23  Darin Adler  <darin@apple.com>
9171
9172        * Makefile.am: Clean based on all, not all-am, so it happens before subdirs
9173	if any.
9174
91752002-07-23  Darin Adler  <darin@apple.com>
9176
9177	Changes require a make clean because of the Project Builder bug.
9178	So I added the "make clean timestamp" hackery.
9179
9180        * .cvsignore: Ignore the new clean timestamp.
9181        * force-clean-timestamp: Added.
9182        * Makefile.am: Add rules for making clean happen.
9183
9184        * khtml/html/html_formimpl.cpp:
9185        (HTMLGenericFormElementImpl::defaultEventHandler): Fix NULL dereference
9186	bug in here that I ran into. Code later down in the same function has
9187	the check for NULL, so clearly this is just a bug.
9188
9189        * khtml/rendering/font.cpp:
9190        (Font::drawText): Simplify by using new drawText that takes a QChar array,
9191	no need to make a QConstString.
9192        * khtml/rendering/render_text.cpp:
9193        (TextSlave::printDecoration): Simplify by using new drawUnderlineForText that
9194	takes a QChar array, no need to make a QConstString.
9195
9196        * kwq/WebCoreTextRenderer.h: Change underline-drawing to use a UniChar array.
9197
9198        * kwq/qt/qpainter.h:
9199        * kwq/KWQPainter.mm:
9200        (QPainter::drawText): Change to take QChar array instead of a QString, but
9201	also discovered a bizarre overloading thing that was happening before and
9202	dealt with that by adding a new drawText that still does take a QString.
9203        (QPainter::drawUnderlineForText): Change to take QChar array.
9204
9205        * kwq/qt/qcolor.h: Mark constructor explicit, so we don't get subtle strangess
9206	like where the string to draw was being converted to a QColor.
9207
9208        * khtml/css/cssstyleselector.cpp: No need for APPLE_CHANGES for
9209	this change any more.
9210
9211        * kwq/kdecore/kcharsets.h:
9212        * kwq/KWQKCharsets.mm: Remove unused functions.
9213
9214        * kwq/khtml/khtml_settings.h:
9215        * kwq/KWQKHTMLSettings.mm: Remove unused functions.
9216
9217        * kwq/qt/qfont.h:
9218        * kwq/KWQFont.mm: Simplify.
9219
9220        * kwq/KWQPaintDeviceMetrics.mm: Simplify.
9221
9222        * kwq/qt/qtextcodec.h:
9223        * kwq/KWQtextcodec.mm: (QTextCodec::codecForName): Remove unused parameter.
9224
92252002-07-23  David Hyatt  <hyatt@apple.com>
9226
9227	The STYLE element was ignoring both the media and type
9228	attributes (unlike its cousin, the LINK element).  This
9229	patch implements support for media and type and further
9230	stops us from loading stylesheets that we should have no
9231	business parsing.
9232	
9233        * khtml/html/html_headimpl.cpp:
9234        (HTMLLinkElementImpl::process):
9235        (HTMLStyleElementImpl::parseAttribute):
9236        (HTMLStyleElementImpl::insertedIntoDocument):
9237        (HTMLStyleElementImpl::removedFromDocument):
9238        (HTMLStyleElementImpl::childrenChanged):
9239        (HTMLStyleElementImpl::sheetLoaded):
9240        * khtml/html/html_headimpl.h:
9241
9242=== Alexander-14 ===
9243
92442002-07-23  David Hyatt  <hyatt@apple.com>
9245
9246        * khtml/html/html_objectimpl.cpp:
9247        (HTMLObjectElementImpl::attach):
9248	Oops.  I accidentally removed the call to an ancestor class
9249	attach function.  What made this subtle is that it deliberately
9250	skipped over a couple of base classes and called the one three
9251	superclasses up.  When I went to put it back in, I messed up
9252	and called the base class instead of the distant ancestor.  
9253
9254	Silly me.  marvel.com and matadorrecords.com should be ok now.
9255	
92562002-07-22  Darin Adler  <darin@apple.com>
9257
9258        * khtml/rendering/render_text.cpp:
9259        (TextSlave::printSelection): Add comments to APPLE_CHANGES.
9260        (TextSlave::printDecoration): Add comments to APPLE_CHANGES.
9261        (TextSlave::checkSelectionPoint): Add comments to APPLE_CHANGES.
9262
9263        * khtml/xml/dom_stringimpl.cpp: Add comments to APPLE_CHANGES.
9264
9265        * khtml/xml/xml_tokenizer.cpp: (XMLTokenizer::end): Remove APPLE_CHANGES.
9266        * kwq/KWQsignals.mm: Add a new signal dummy function.
9267
9268        * kwq/WebCoreJavaScript.h: Fix header.
9269        * kwq/WebCoreJavaScript.mm: Fix header.
9270
9271        * kwq/WebCoreSettings.h: Added. Not used yet.
9272        * kwq/WebCoreSettings.m: Added. Not used yet.
9273        * WebCore.pbproj/project.pbxproj: Added WebCoreSettings.h and .m.
9274
9275        * English.lproj/InfoPlist.strings: Fixed a spelling error.
9276
9277        * kwq/WebCoreTextRendererFactory.h: Tweak.
9278
92792002-07-22  Maciej Stachowiak  <mjs@apple.com>
9280
9281	Fixed Radar 3004897 - assert at mapquest
9282
9283        * khtml/html/html_baseimpl.cpp:
9284        (HTMLIFrameElementImpl::attach): Put back frame name uniqueness
9285	check. Lack of this check was causing duplicate frames to be left
9286	floating in space.
9287        * kwq/KWQKHTMLPartImpl.mm:
9288        (KWQKHTMLPartImpl::requestFrame): Add an assertion that no frame
9289	of the requested name already exists.
9290
92912002-07-22  David Hyatt  <hyatt@apple.com>
9292
9293	Fix for bug 3004889, plugin content on stylesheet pages not
9294	showing up.  The rendering tree needed to perform an update
9295	when all children had arrived, and this was being handled by
9296	the parser.  With async rendering construction, I had to store
9297	this in the content node instead, so it could do the update
9298	once the render object was built at a later date.
9299	
9300        * khtml/html/html_objectimpl.cpp:
9301        (HTMLObjectElementImpl::HTMLObjectElementImpl):
9302        (HTMLObjectElementImpl::attach):
9303        * khtml/html/html_objectimpl.h:
9304        * khtml/html/htmlparser.cpp:
9305        (KHTMLParser::processCloseTag):
9306
93072002-07-22  David Hyatt  <hyatt@apple.com>
9308
9309	This checkin adds support for querying the selected style set,
9310	for querying the preferred style set, and for changing the
9311	selected style set dynamically.  With this checkin, a Web page
9312	in Alexander now has the capability to present its own alternate
9313	stylesheet UI in the page and to toggle between sets using script.
9314	
9315        * khtml/dom/css_stylesheet.cpp:
9316        (DocumentStyle::preferredStylesheetSet):
9317        (DocumentStyle::setSelectedStylesheetSet):
9318        (DocumentStyle::selectedStylesheetSet):
9319        * khtml/dom/css_stylesheet.h:
9320	Added new methods to the DocumentStyle interface as per Hixie's
9321	proposed spec.
9322	
9323        * khtml/dom/dom_doc.cpp:
9324        * khtml/dom/dom_doc.h:
9325        * khtml/ecma/kjs_dom.cpp:
9326        (DOMDocument::getValueProperty):
9327        (DOMDocument::tryPut):
9328        (DOMDocument::putValue):
9329        * khtml/ecma/kjs_dom.h:
9330	Implement the JS binding glue for the new properties.
9331	
9332        * khtml/xml/dom_docimpl.cpp:
9333        (DocumentImpl::processHttpEquiv):
9334        (DocumentImpl::preferredStylesheetSet):
9335        (DocumentImpl::selectedStylesheetSet):
9336        (DocumentImpl::setSelectedStylesheetSet):
9337        (DocumentImpl::recalcStyleSelector):
9338        * khtml/xml/dom_docimpl.h:
9339	The implementation of the new properties.  Also fixed a bug
9340	caused by the 3.02 merge in the stylesheet filtering code in
9341	recalcStyleSelector.
9342	
93432002-07-22  Maciej Stachowiak  <mjs@apple.com>
9344
9345        Merged WebCoreBridge and WebCoreFrameBridge.
9346
9347        * kwq/KWQKHTMLPartImpl.mm:
9348        (KWQKHTMLPartImpl::openURLInFrame): Use bridge, not frameBridge.
9349        (KWQKHTMLPartImpl::urlSelected): Use bridge, not frameBridge.
9350        (KWQKHTMLPartImpl::submitForm): Use bridge, not frameBridge.
9351        (KWQKHTMLPartImpl::findFrame): Use bridge, not frameBridge.
9352        (KWQKHTMLPartImpl::frames): Use bridge, not frameBridge.
9353        * kwq/WebCoreBridge.h:
9354        * kwq/WebCoreBridge.mm:
9355        (-[WebCoreBridge dealloc]): Free RenderPart if set.
9356        (-[WebCoreBridge renderPart]): Moved here from WebFrameBridge.
9357        (-[WebCoreBridge setRenderPart:]): Moved here from WebFrameBridge.
9358        (-[WebCoreBridge copyRenderNode:khtml::copier:]): No more need to get render part from frame bridge.
9359        (-[WebCoreBridge installInFrame:]): No more need to get render part from frame bridge.
9360        * kwq/WebCoreFrameBridge.h: Removed.
9361        * kwq/WebCoreFrameBridge.mm: Removed.
9362	* WebCore.exp: Removed WebCoreFrameBridge.
9363        * WebCore.pbproj/project.pbxproj: Removed WebCoreFrameBridge.
9364
93652002-07-21  Maciej Stachowiak  <mjs@apple.com>
9366
9367        Removed provisional/committed distinction from WebCore and the
9368	WebCore SPI. WebCore will never see a provisional data source or
9369	provisional anything, any more.
9370
9371        * kwq/KWQScrollView.mm: Remove mention of provisional widget from comment.
9372        * kwq/WebCoreFrameBridge.h: Remove commitedBridge method, and remove comment
9373	about provisionality from bridge method.
9374	* kwq/KWQKHTMLPartImpl.mm:
9375        (KWQKHTMLPartImpl::write): Remove bogus comment about provisional/committed
9376	transition.
9377        (KWQKHTMLPartImpl::findFrame): Call bridge, not committedBridge.
9378        (KWQKHTMLPartImpl::frames): Likewise.
9379
93802002-07-21  Darin Adler  <darin@apple.com>
9381
9382	* khtml/*: Roll KDE 3.0.2 changes in. Also switch to not using APPLE_CHANGES
9383	for some of the changes that we definitely want to contribute upstream.
9384
9385        * WebCore.pbproj/project.pbxproj: Add KWQStyle.mm, remove KWQStyle.h, moving contents
9386	into qstyle.h.
9387
9388        * kwq/KWQApplication.mm: (QApplication::globalStrut): Remove _logNotYetImplemented().
9389
9390        * kwq/KWQButton.mm: (QButton::QButton): Use plain release, not autorelease.
9391        * kwq/KWQComboBox.mm: (QComboBox::init): Use plain release, not autorelease.
9392        * kwq/KWQListBox.mm: (QListBox::QListBox): Use plain release, not autorelease.
9393        * kwq/KWQPainter.mm: (QPainter::drawArc): Use plain release, not autorelease.
9394
9395        * kwq/KWQKHTMLPartBrowserExtension.mm: Remove import of KWQKHTMLPartImpl.h, now that
9396	it's always part of khtml_part.h.
9397        * kwq/KWQKHTMLPartImpl.cpp: Simplify.
9398        * kwq/KWQKHTMLPartImpl.h: Add wrapper to allow multiple inclusion. Don't include
9399	khtml_part.h any more, since that file now includes this one to minimize changes to
9400	KDE code that needs to get to functions in here.
9401        * kwq/KWQKHTMLPartImpl.mm:
9402        (KHTMLPart::onURL), (KHTMLPart::nodeActivated), (KHTMLPart::setStatusBarText):
9403	Moved here from khtml_part.cpp.
9404        * kwq/KWQLoaderImpl.mm: Include khtml_part.h instead of KWQKHTMLPartImpl.h.
9405
9406        * kwq/KWQPushButton.mm:
9407        (buttonFontMetrics), (QPushButton::fontMetrics): Added. Used by the form code to size buttons.
9408        * kwq/KWQStyle.mm: Added.
9409        (QStyle::sizeFromContents): Added. Used by the form code to size buttons.
9410
9411        * kwq/KWQStyle.h: Removed.
9412        * kwq/qt/qstyle.h: Moved contents of KWQStyle.h in here.
9413        * kwq/qt/qwidget.h: Include <qstyle.h> rather than KWQStyle.h.
9414
9415        * kwq/WebCoreBridge.mm: (-[WebCoreBridge isFrameSet]): Call straight to impl.
9416
9417        * kwq/kdeui/klineedit.h: Add KLineEdit::frameWidth().
9418        * kwq/qt/qnamespace.h: Remove GUIStyle, MacStyle, and WindowsStyle.
9419        * kwq/qt/qpaintdevice.h: Add QInternal, QInternal::Printer, and QPaintDevice::devType().
9420        * kwq/qt/qpainter.h: Add QPainter::device().
9421        * kwq/qt/qpushbutton.h: Add QPushButton::fontMetrics().
9422
94232002-07-21  Maciej Stachowiak  <mjs@apple.com>
9424
9425	Fix a recent regression that made JavaScript window closing
9426	crash. Window closing was counting on delayed dealloc/destruction
9427	of things associated with the window, but now that we have made
9428	deallocs more synchronous, we need to add an explicit delay in
9429	this case.
9430
9431	Also, change some fprintf diagnostics of things that should never
9432	happen into assertions, since I actually ran into one.
9433	
9434        * kwq/KWQKHTMLPartImpl.h:
9435        * kwq/KWQKHTMLPartImpl.mm:
9436        (KWQKHTMLPartImpl::slotData): Change fprintf diagnostic to assertion,
9437	remove comment that the diagnostic should be removed.
9438        (KWQKHTMLPartImpl::end): Change fprintf diagnostic to assertion,
9439	remove comment that the diagnostic should be removed.
9440        (KWQKHTMLPartImpl::scheduleClose): Renamed from close, changed to schedule
9441	window closing from the run loop rather than doing it immediately.
9442        * khtml/ecma/kjs_window.cpp:
9443        (Window::scheduleClose): Adjusted for above rename.
9444
94452002-07-21  David Hyatt  <hyatt@apple.com>
9446
9447        * khtml/html/html_headimpl.cpp:
9448        (HTMLLinkElementImpl::process):
9449	Fix incorrect handling of alternate stylesheets that could
9450	cause KHTML to incorrectly interpret alternate representation
9451	links (e.g., <link rel=alternate> to a PDF representation)) as 
9452	alternate stylesheets instead.
9453	
9454        * khtml/xml/dom_docimpl.cpp:
9455        (DocumentImpl::processHttpEquiv):
9456	Add support for the selection of alternate stylesheets and
9457	preferred stylesheet sets as specified in section 14.3.2 of
9458	the HTML 4.0 spec.  If you want to hook up a UI to expose
9459	alternate stylesheets, the back end code is ready to rock. :)
9460	
9461        (DocumentImpl::recalcStyleSelector):
9462	Fixed a bug in recalcStyleSelector that could lead it to
9463	pick an alternate stylesheet as a preferred set incorrectly
9464	(thus loading alternate stylesheets when it shouldn't).  This
9465	is probably the cause of bungled display on some pages with
9466	alternate stylesheets (e.g., Eric Meyer's pages).
9467
9468	On Ian Hickson's simple import test suite, we now pass tests 35 and
9469	36 (where before both were failed).
9470	
94712002-07-21  Maciej Stachowiak  <mjs@apple.com>
9472
9473        * Makefile.am: Remove products from symroots on `make clean'.
9474
94752002-07-21  Maciej Stachowiak  <mjs@apple.com>
9476
9477        * WebCore.pbproj/project.pbxproj: Set directories for the group
9478	folders, so that creating new files in them will put them in the
9479	right directory by default.
9480
94812002-07-21  David Hyatt  <hyatt@apple.com>
9482
9483	Fixing bug 3003837, list boxes are extremely slow.  The
9484	buildup of a list box was order n squared, since on every
9485	insert of an item the list box was rebuilding its entire
9486	contents.  This patch adds smarts to the list buildup, so that
9487	the underlying NSBrowser only rebuilds itself one time, after
9488	all the items have been inserted.
9489
9490	This speeds up the Bugzilla forms page on cvs-base by 60%.
9491	
9492        * khtml/rendering/render_form.cpp:
9493        (RenderSelect::updateFromElement):
9494	Patched to make calls to beginBatchInsert and endBatchInsert
9495	on KListBox.
9496	
9497        * kwq/KWQListBox.h:
9498        * kwq/KWQListBox.mm:
9499        (QListBox::QListBox):
9500        (QListBox::insertItem):
9501        (QListBox::beginBatchInsert):
9502        (QListBox::endBatchInsert):
9503	If in the middle of a batch insert, the insertitem function will
9504	not rebuild the NSBrowser's list.  endBatchInsert will actually
9505	do this now.
9506	
95072002-07-20  David Hyatt  <hyatt@apple.com>
9508
9509	This patch fixes the FOUC (flash of unstyled content) problem.
9510	
9511        * khtml/css/cssstyleselector.cpp:
9512        * khtml/css/cssstyleselector.h:
9513	If stylesheets are still loading, the styleForElement method
9514	will return a default "display: none" style that prevents
9515	the rendering tree from being built for that element.  
9516	
9517        * khtml/html/html_headimpl.cpp:
9518        (HTMLLinkElementImpl::process):
9519        (HTMLLinkElementImpl::setStyleSheet):
9520        (HTMLStyleElementImpl::sheetLoaded):
9521	The link element has been patched to notify the document
9522	when stylesheet loads start and finish.
9523	
9524        * khtml/html/htmlparser.cpp:
9525        (KHTMLParser::startBody):
9526	This function has been hacked to unblock the layout of
9527	inlines within a block.  This can be done the moment the
9528	stylesheet loads have been kicked off (you don't have to
9529	wait for them to finish).
9530	
9531        * khtml/rendering/render_object.h:
9532	Contains a new method for recursively descending into the
9533	render tree to unblock the layout of inlines.  This is done
9534	as soon as the <body> is encountered, so the render tree is
9535	small at the time the unblocking occurs.
9536	
9537        * khtml/xml/dom_docimpl.cpp:
9538        (DocumentImpl::DocumentImpl):
9539        (DocumentImpl::stylesheetLoaded):
9540        (DocumentImpl::updateStyleSelector):
9541	The new function, stylesheetLoaded, is invoked by link elements
9542	when a stylesheet loads.  It simply decrements the loading sheet
9543	count and calls updateStyleSelector.  updateStyleSelector has
9544	been patched to avoid the recalculation of style until all 
9545	stylesheets have loaded.
9546	
9547        * khtml/xml/dom_docimpl.h:
9548	Two new methods.  The first, stylesheetLoaded, is described
9549	above.  The second is haveStylesheetsLoaded, which indicates
9550	whether or not all the sheets have completed loading.  A single
9551	new member variable, m_pendingStylesheets, tracks the number
9552	of sheets currently pending.
9553	
95542002-07-20  Darin Adler  <darin@apple.com>
9555
9556        * khtml/css/css_ruleimpl.cpp: (CSSImportRuleImpl::~CSSImportRuleImpl):
9557	Fix a potential leak by doing setParent(0) here just as is done in
9558	CSSMediaRuleImpl.
9559
9560        * kwq/WebCoreBridge.h: Fix a misspelling of visible.
9561
95622002-07-20  Maciej Stachowiak  <mjs@apple.com>
9563
9564	Changed the code to handle "icon" and "SHORTCUT ICON" links
9565	separately, and give higher priority to the former.
9566
9567	- fixed 3003672 - Assertion failure related to iconloader on metafilter
9568	
9569        * khtml/html/html_headimpl.cpp:
9570        (HTMLLinkElementImpl::process): Changed to handle both "icon" and
9571	"SHORTCUT ICON" links properly.
9572        * kwq/KWQKHTMLPartBrowserExtension.mm:
9573	(KHTMLPartBrowserExtension::setIconURL): Moved here from
9574	KWQKHTMLPartImpl to do it more the way KDE does.
9575        (KHTMLPartBrowserExtension::setTypedIconURL): New method for
9576	handling moz-style icon links, which include a type as well as a
9577	URL.
9578        * kwq/KWQKHTMLPartImpl.h:
9579        * kwq/KWQKHTMLPartImpl.mm:
9580        (KWQKHTMLPartImpl::loadIcon): Removed.
9581        * kwq/WebCoreBridge.h: Prototype setIcon: and setIcon:withType: methods.
9582        * kwq/khtml/khtml_ext.h: Prototype new methods.
9583        * kwq/kparts/browserextension.h: Make setIcon pure virtual instead
9584	of a no-op.
9585
95862002-07-19  Chris Blumenberg  <cblu@apple.com>
9587
9588	Per darin, only define loadIcon in KWQKHTMLPartImpl
9589
9590        * khtml/html/html_headimpl.cpp:
9591        (HTMLLinkElementImpl::process):
9592        * khtml/khtml_part.cpp:
9593        * khtml/khtml_part.h:
9594
95952002-07-19  Chris Blumenberg  <cblu@apple.com>
9596
9597        * khtml/html/html_headimpl.cpp:
9598        (HTMLLinkElementImpl::process): added an APPLE_CHANGES
9599        * khtml/khtml_part.cpp: 
9600        (KHTMLPart::loadIcon): added
9601        * khtml/khtml_part.h: added loadIcon
9602        * kwq/KWQKHTMLPartImpl.h: added loadIcon
9603        * kwq/KWQKHTMLPartImpl.mm: added loadIcon
9604        (KWQKHTMLPartImpl::loadIcon):
9605        * kwq/WebCoreBridge.h: added loadIcon
9606
96072002-07-19  Darin Adler  <darin@apple.com>
9608
9609        * khtml/css/makeprop: Fail if we don't find gperf.
9610        * khtml/misc/makeattrs: Fail if we don't find gperf.
9611        * khtml/misc/maketags: Fail if we don't find gperf.
9612
96132002-07-19  Maciej Stachowiak  <mjs@apple.com>
9614
9615        * kwq/WebCoreBridge.mm:
9616        (-[WebCoreBridge installInFrame:]): Assert that this bridge is
9617	either for the main frame, or that it's frame has a render
9618	part. If neither of these conditions is met, the view will never
9619	get installed in the view hiearchy leading to nasty silent
9620	failure; and this condition should be guaranteed.
9621
96222002-07-18  David Hyatt  <hyatt@apple.com>
9623
9624        * khtml/css/css_valueimpl.cpp:
9625        Changed the QRegExps used for font family matching to statics.  Helped out
9626        one page on the base tests a fair bit.  Overall (spread over all 40 pages)
9627        it's not that big though.
9628        
96292002-07-18  David Hyatt  <hyatt@apple.com>
9630
9631        Small change that gives us 25% speedup (uncached) on the cvs-base suite.
9632
9633        * khtml/css/cssstyleselector.cpp:
9634        Optimized CLASS style comparison to avoid allocing QStrings when the CLASS
9635        attribute only contains one entry (as opposed to a list of entries).
9636        
9637=== Alexander-13 ===
9638
96392002-07-17  Darin Adler  <darin@apple.com>
9640
9641        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::requestFrame):
9642	Take out bogus check for nil path -- a URL with a nil path is OK, for example "about:blank".
9643	Also improved log message.
9644
96452002-07-16  Maciej Stachowiak  <mjs@apple.com>
9646
9647        Moved URL mouseover status to KWQKHTMLPartImpl, and made it
9648	responsive to modifier key presses, if enabled. Fixes:
9649
9650	Radar 2980152 - Link mouseover status messages are not localizable
9651	Radar 2982043 - Link mouse-over status should change in response to modifier keys
9652
9653	* khtml/khtml_part.cpp:
9654        (KHTMLPart::overURL): Remove extensive APPLE_CHANGES, and just call the
9655	impl method.
9656        * kwq/KWQKHTMLPartImpl.h: Prototype overURL method.
9657        * kwq/KWQKHTMLPartImpl.mm:
9658        (KWQKHTMLPartImpl::overURL): Construct status messages using format strings
9659	for localizability; change message in response to modifiers if modifier
9660	tracking is enabled.
9661        * kwq/WebCoreBridge.h: Prototype modifierTrackingEnabled method.
9662
96632002-07-16  Richard Williamson  <rjw@apple.com>
9664
9665        Fixed field length test.  We were testing >= instead of >.
9666        * kwq/KWQNSTextField.mm:
9667        (-[KWQNSTextFieldFormatter isPartialStringValid:newEditingString:errorDescription:]):
9668
96692002-07-16  Darin Adler  <darin@apple.com>
9670
9671	- fixed 2997244 -- crash when visiting cnn.com followed by another page
9672
9673	Turns out the requestFrame code I've been tinkering with used to be
9674	dead code until we accidentally re-triggered the code path.
9675
9676        * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::attach):
9677	Remove APPLE_CHANGES that were causing us to reuse the same frame which
9678	were an attempt to fix a frame targeting problem that was actually elsewhere.
9679
9680        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::requestFrame): Remove the code
9681	that handles the case of an already-existing frame with the same name. This
9682	is handled at a higher level.
9683
9684        * kwq/WebCoreBridge.h: Remove now-unneeded childFrameNamed method.
9685
96862002-07-16  Darin Adler  <darin@apple.com>
9687
9688	- fixed 2998692 -- crash when you type "googl" into the page address
9689
9690        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::requestFrame): Check for
9691	a nil part here to restore the old behavior. Whether that's OK or not
9692	is another question that I'd prefer to deal with later.
9693
96942002-07-16  Darin Adler  <darin@apple.com>
9695
9696        * almost every file: Renamed IF* -> Web*.
9697
96982002-07-15  Darin Adler  <darin@apple.com>
9699
9700	A teeny weeny bit of refactoring.
9701
9702        * kwq/WebCoreBridge.mm:
9703        (-[WebCoreBridge stateForEvent:]): Replaces addModifiers:toState:.
9704        (-[WebCoreBridge mouseUp:]): Use stateForEvent:.
9705        (-[WebCoreBridge mouseDown:]): Use stateForEvent:.
9706        (-[WebCoreBridge mouseMoved:]): Use stateForEvent:.
9707
97082002-07-15  Richard Williamson  <rjw@apple.com>
9709
9710        Added isFrameSet method.
9711        
9712        * WebCore.pbproj/project.pbxproj:
9713        * khtml/khtml_part.cpp:
9714        (KHTMLPart::isFrameSet):
9715        * khtml/khtml_part.h:
9716        * kwq/KWQKHTMLPart.mm:
9717        * kwq/KWQKHTMLPartImpl.cpp: Added.
9718        (KWQKHTMLPartImpl::isFrameSet):
9719        * kwq/KWQKHTMLPartImpl.h:
9720        * kwq/WebCoreBridge.h:
9721        * kwq/WebCoreBridge.mm:
9722        (-[WebCoreBridge isFrameSet]):
9723
97242002-07-15  Darin Adler  <darin@apple.com>
9725
9726        * WebCore.pbproj/project.pbxproj: Removed KWQKPrinter.mm.
9727        * kwq/KWQKPrinter.mm: Removed.
9728
97292002-07-15  Darin Adler  <darin@apple.com>
9730
9731        * WebCore.pbproj/project.pbxproj: Removed unused qpopupmenu.h.
9732        * kwq/kdecore/ksimpleconfig.h: Removed unnecessary include of <config.h>.
9733        * kwq/kio/global.h: Removed unnecessary include of <config.h>.
9734        * kwq/kio/kprinter.h: Emptied out this file.
9735        * kwq/qt/qpopupmenu.h: Removed.
9736        * kwq/qt/qstylesheet.h: Removed unnecessary include of <config.h>.
9737        * kwq/qt/qtextedit.h: Removed unnecessary include of <config.h>.
9738
97392002-07-15  Darin Adler  <darin@apple.com>
9740
9741        * kwq/qt/qfontmetrics.h: Remove unused, and not properly implemented,
9742	empty constructor. Add some const that was missing. Remove most of the
9743	parameters of size().
9744        * kwq/KWQFontMetrics.mm:
9745        (QFontMetrics::charWidth): Add const.
9746        (QFontMetrics::floatWidth): Add const.
9747        (QFontMetrics::floatCharacterWidth): Add const.
9748        (QFontMetrics::size): Remove unused parameters.
9749
9750        * kwq/WebCoreTextRenderer.h: Remove two unused drawString methods and one
9751	unused widthForCharacters method.
9752
97532002-07-14  Darin Adler  <darin@apple.com>
9754
9755        * kwq/WebCoreFrame.mm: (-[WebCoreFrame dealloc]): Fix NULL-dereferencing
9756	problem that was hidden by the "leak the world" bug in WebBrowser.
9757
97582002-07-14  Maciej Stachowiak  <mjs@apple.com>
9759
9760        Assign getView() results to variable of appropriate type to work
9761	around apparent ObjC++ compiler bug. I wonder why other people
9762	aren't running into this (and why I haven't run into it before).
9763
9764	* kwq/KWQButton.mm:
9765        (QButton::setText):
9766        (QButton::text):
9767        * kwq/KWQLineEdit.mm:
9768        (QLineEdit::setEchoMode):
9769        (QLineEdit::setText):
9770        (QLineEdit::text):
9771        (QLineEdit::setMaxLength):
9772        (QLineEdit::isReadOnly):
9773        (QLineEdit::setReadOnly):
9774        (QLineEdit::maxLength):
9775        (QLineEdit::selectAll):
9776        (QLineEdit::edited):
9777        (QLineEdit::setEdited):
9778
97792002-07-14  Darin Adler  <darin@apple.com>
9780
9781        * WebCore-tests.exp: Tests needed access to QPoint, QString, and KURL symbols
9782	that were formerly exported for the benefit of WebKit.
9783
9784        * kwq/KWQPixmap.mm: I needed to touch something since .exp files don't cause
9785	a rebuild, so I fixed a comment in here.
9786
97872002-07-14  Darin Adler  <darin@apple.com>
9788
9789	Changes to WebCore that allow WebKit to work through Objective C without going
9790	straight to the KHTML headers. Also remove a bunch of unused stuff, especially
9791	in QPainter.
9792
9793        * WebCore.exp: Export the new classes WebCoreCache and WebCoreJavaScript.
9794	Don't export any C++ symbols at all.
9795
9796        * WebCore.pbproj/project.pbxproj: Remove KWQWMatrix.mm, add WebCoreCache.*
9797	and WebCoreJavaScript.*.
9798
9799        * khtml/khtml_part.cpp: Put more unused code inside ifndef APPLE_CHANGES.
9800        * khtml/khtmlview.cpp: Put unused code inside #ifndef APPLE_CHANGES
9801        * khtml/khtmlview.h: Put unused virtual functions inside #ifndef APPLE_CHANGES.
9802        * khtml/misc/loader.cpp: (CachedImage::tiled_pixmap): Change this so it
9803	always returns pixmap(). Handling it at this level is better than changing
9804	all the callers for now.
9805        * khtml/rendering/render_box.cpp: (RenderBox::printBackground): Took out the
9806	APPLE_CHANGES now that tiled_pixmap() always just returns pixmap().
9807        * khtml/rendering/render_frames.cpp: (RenderFrameSet::userResize): Put some
9808	unused code inside APPLE_CHANGES.
9809
9810        * kwq/KWQKHTMLPart.mm:
9811        (KWQKHTMLPartImpl::requestFrame): Made it get the view using the bridge, since we
9812	don't have a [widget] method on the frame any more.
9813        (KWQKHTMLPartImpl::findFrame): Used committedBridge instead of bridge, since
9814	I changed bridge to return the provisional if available.
9815        (KWQKHTMLPartImpl::frames): Used committedBridge instead of bridge, since
9816	I changed bridge to return the provisional if available.
9817
9818        * kwq/qt/qpixmap.h: Put an empty version of QWMatrix in here. We don't actually ever
9819	need a real matrix, just a class to let us compile.
9820
9821        * kwq/qt/qpainter.h: Moved QWMatrix into qpixmap.h. Removed constructors that take
9822	QPixmap and QWidget. Removed unused variants of drawText. Removed unused setClipping,
9823	setClipRect, hasClipping, translate, scale, begin, end, and device functions.
9824        * kwq/KWQPainter.mm:
9825        (QPainter::QPainter): Remove the constructors that take a paint device, widget,
9826	or pixmap. We can get away without them.
9827        (QPainter::save): Simplify. Also remove the optimization for painters without
9828	stacks, since having an empty stack is very inexpensive.
9829        (QPainter::restore): Simplify.
9830        (QPainter::_drawPoints): Move paintingDisabled check in here.
9831        (QPainter::drawText): Removed many unused drawText variants.
9832
9833        * kwq/KWQView.h: Tweaked.
9834        * kwq/KWQView.mm: Removed [KWQView drawRect:].
9835
9836        * kwq/KWQWMatrix.mm: Removed.
9837
9838        * kwq/qt/qwidget.h: Removed paint() virtual function.
9839        * kwq/KWQWidget.mm: Removed QWidget::paint().
9840
9841        * kwq/WebCoreBridge.h: Added new methods installInFrame:, removeFromFrame,
9842	mouseDown:, mouseUp:, mouseMoved:, mouseDragged:, copyDOMTree:, and copyRenderTree:.
9843
9844        * kwq/WebCoreBridge.mm:
9845        (-[WebCoreBridge dealloc]): Call removeFromFrame.
9846        (-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]):
9847	Don't return the view any more, also set bridgeOwnsKHTMLView to YES.
9848        (-[WebCoreBridge copyDOMNode:DOM::copier:]): Added helper method for copyDOMTree.
9849        (-[WebCoreBridge copyDOMTree:]): Added method to be used by IFDOMNode to get at DOM
9850	tree without using C++.
9851        (-[WebCoreBridge copyRenderNode:khtml::copier:]): Added helper method for copyRenderTree.
9852        (-[WebCoreBridge copyRenderTree:]): Added method to be used by IFRenderNode to get at
9853	render tree without using C++.
9854        (-[WebCoreBridge removeFromFrame]): Added. Deletes the view if we own it. We don't want
9855	to wait for dealloc time to do this, since a lingering view might be visible.
9856        (-[WebCoreBridge installInFrame:]): Added. Does a set of things we need to do at the
9857	time we commit a provisional data source.
9858        (-[WebCoreBridge addModifiers:toState:]): Moved here from IFHTMLView.
9859        (-[WebCoreBridge mouseUp:]): Added. Used to get a mouse up event to the KHTMLView.
9860        (-[WebCoreBridge mouseDown:]): Added. Used to get a mouse down event to the KHTMLView.
9861        (-[WebCoreBridge mouseMoved:]): Added. Used to get a mouse moved event to the KHTMLView.
9862        (-[WebCoreBridge mouseDragged:]): Added. Used to get a mouse moved event to the KHTMLView
9863	in the case where we are dragging -- perhaps could be merged with mouseMoved.
9864
9865        * kwq/WebCoreCache.h: Added. Allows control of the WebCore cache; previously done directly
9866	in IFCache in WebKit.
9867        * kwq/WebCoreCache.mm: Added.
9868
9869        * kwq/WebCoreFrame.h: Remove widget method. Change semantics of bridge method to return
9870	provisional bridge if available, which corresponds to what the widget method did before.
9871	Added a committedBridge method that has the semantics that bridge did before.
9872
9873        * kwq/WebCoreJavaScript.h: Added. Returns statistics about the state of JavaScript objects;
9874	previously done directly in IFCache in WebKit.
9875        * kwq/WebCoreJavaScript.mm: Added.
9876
98772002-07-13  Darin Adler  <darin@apple.com>
9878
9879        * WebCore.pbproj/project.pbxproj: Add a few files that are sources
9880	although they should not be compiled for any target.
9881
9882        * kwq/qt/qpushbutton.h: Simplified.
9883        * kwq/KWQPushButton.mm: (QPushButton::QPushButton): Implemented text parameter.
9884
98852002-07-13  Darin Adler  <darin@apple.com>
9886
9887        * ForwardingHeaders/*: Added. New approach to headers to try to
9888	make Project Builder's header dependency support work even for
9889	includes like #include <render/render_object.h>.
9890        * kwq/kjs/*: Removed. Now part of ForwardingHeaders.
9891
9892        * Makefile.am: Remove embed.am support.
9893
9894        * WebCore.pbproj/project.pbxproj: Remove other search paths, and
9895	add ForwardingHeaders directory as a search path. Add qucomextra_p.h.
9896	
9897        * khtml/ecma/kjs_navigator.cpp: Made gratuitous changes to touch this
9898	file to make things build without requiring clean rebuild.
9899
9900        * khtml/rendering/render_form.cpp: Removed many unneeded QObject::
9901	qualifiers from inside APPLE_CHANGES to touch this file to make things
9902	build without requiring clean rebuild.
9903
9904        * kwq/KWQButton.mm: (QButton::setText), (QButton::text):
9905        * kwq/KWQColor.mm: (QColor::setNamedColor):
9906	* kwq/KWQKConfigBase.mm: (KConfig::readEntry):
9907        * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::stdFontName), (KHTMLSettings::fixedFontName):
9908        (KHTMLSettings::serifFontName), (KHTMLSettings::sansSerifFontName),
9909	(KHTMLSettings::cursiveFontName), (KHTMLSettings::fantasyFontName), (KHTMLSettings::encoding):
9910        * kwq/KWQKLocale.mm: (i18n):
9911        * kwq/KWQKMessageBox.mm: (KMessageBox::error), (KMessageBox::warningYesNo):
9912        (KMessageBox::questionYesNo), (KMessageBox::sorry):
9913        * kwq/KWQListBox.mm: (-[KWQBrowserDelegate browser:willDisplayCell:atRow:column:]):
9914        * kwq/WebCoreBridge.mm: (-[WebCoreBridge selectedText]):
9915        Wean from QSTRING_TO_NSSTRING and NSSTRING_TO_QSTRING.
9916
9917        * kwq/KWQComboBox.mm:
9918        (QComboBox::insertItem): Wean from QSTRING_TO_NSSTRING. Note that this
9919	now stores a copy of the string in the array. The old version was unsafe
9920	if anyone later modified the QString that was passed in.
9921
9922        * kwq/KWQFontMetrics.mm: (QFontMetrics::width):
9923        * kwq/KWQPainter.mm: (QPainter::drawUnderlineForText), (QPainter::drawText):
9924	Wean from QSTRING_TO_NSSTRING_LENGTH and _FAST_QSTRING_TO_NSSTRING. We still have
9925	speed as high as before, in the "length" case slightly faster.
9926
9927        * kwq/qt/qstring.h: Remove QSTRING_TO_NSSTRING family of macros.
9928
9929        * kwq/KWQInvisibleButton.mm:
9930        * kwq/KWQKHTMLPart.mm:
9931        * kwq/KWQKHTMLPartBrowserExtension.mm:
9932        * kwq/KWQKJavaAppletWidget.mm:
9933        * kwq/KWQKloader.mm:
9934        * kwq/KWQView.mm:
9935        * kwq/KWQsignals.mm:
9936        * kwq/WebCoreBridge.mm:
9937        * kwq/kdecore/kconfig.h:
9938        * kwq/kdecore/klibloader.h:
9939        * kwq/kdecore/klocale.h:
9940        * kwq/khtml/khtml_ext.h:
9941        * kwq/khtml/khtml_factory.h:
9942        * kwq/kio/kmimetype.h:
9943	Remove subdirectory prefix from imports to match Project Builder include scheme.
9944
9945        * kwq/KWQKCursor.mm: (+[NSCursor _WebCore_linkCursor]):
9946        * kwq/KWQKLocale.mm: (i18n):
9947        * kwq/KWQKstddirs.mm: (locate):
9948	Use bundleForClass instead of bundleWithIdentifier to avoid any potential problems
9949	with multiple versions of the framework installed on the same system.
9950
9951        * kwq/KWQKLineEdit.mm:
9952        (KLineEdit::completionBox): Remove _logNotYetImplemented, since this is implemented
9953	well enough for our needs now, and if we need to implement it later, it will become
9954	clear from the application behavior. This should be the destiny of most of these.
9955
9956        * kwq/kdecore/kglobal.h: Simplify.
9957        * kwq/KWQKGlobal.mm: Simplify.
9958        * kwq/qt/qlineedit.h: Simplify.
9959        * kwq/KWQLineEdit.mm: Simplify.
9960
9961        * kwq/KWQPaintDeviceMetrics.mm: Remove unneeded import.
9962        * kwq/qt/qbutton.h: Remove unneeded destructor.
9963
99642002-07-13  Richard Williamson  <rjw@apple.com>
9965
9966        * kwq/KWQPainter.mm:
9967        Added disable drawing mode.
9968        (QPainter::drawRect):
9969        (QPainter::drawLine):
9970        (QPainter::drawEllipse):
9971        (QPainter::drawArc):
9972        (QPainter::drawLineSegments):
9973        (QPainter::drawPolyline):
9974        (QPainter::drawPolygon):
9975        (QPainter::drawConvexPolygon):
9976        (QPainter::drawPixmap):
9977        (QPainter::drawTiledPixmap):
9978        (QPainter::drawText):
9979        (QPainter::drawUnderlineForText):
9980        (QPainter::fillRect):
9981        (QPainter::setPaintingDisabled):
9982        
9983        * kwq/KWQWidget.mm:
9984        (QWidget::frameGeometry):
9985        Use the IFWebView's geometry.
9986        
9987        * kwq/WebCoreBridge.h:
9988        * kwq/WebCoreBridge.mm:
9989        (-[WebCoreBridge _drawRect:withPainter:]):
9990        (-[WebCoreBridge drawRect:]):
9991        (-[WebCoreBridge adjustFrames:]):
9992        Added adjustFrames:.  Factored some code.
9993        
9994        * kwq/qt/qpainter.h:
9995        Added setPaintingDisabled.
9996
9997        * khtml/html/html_baseimpl.cpp:
9998        (HTMLFrameElementImpl::attach):
9999        (HTMLIFrameElementImpl::attach):
10000        Removed uniqueness check.  Need to revisit vis-a-vis provisional ds.
10001        
100022002-07-12  Darin Adler  <darin@apple.com>
10003
10004        * WebCore.pbproj/project.pbxproj: Add WebCoreFrame.mm, also export all
10005	the WebCore headers as Private so WebKit can see them.
10006
10007        * khtml/khtmlview.cpp: (KHTMLView::drawContents): Remove APPLE_CHANGES
10008	since we don't use this function any more.
10009
10010        * kwq/KWQDef.h: Since <sys/types.h> now includes ushort and uint, update
10011	code here to take that into account.
10012
10013        * kwq/KWQKHTMLPartImpl.h: Added getView().
10014        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::getView): Added. Used by bridge.
10015
10016        * kwq/qt/qpainter.h:
10017        * kwq/KWQPainter.mm: Simplify a bit, and remove some unused stuff.
10018
10019        * kwq/WebCoreBridge.h: Add reapplyStyles, forceLayout, drawRect:.
10020        * kwq/WebCoreBridge.mm:
10021        (-[WebCoreBridge reapplyStyles]): Added.
10022        (-[WebCoreBridge forceLayout]): Added.
10023        (-[WebCoreBridge drawRect:]): Added.
10024
10025        * kwq/WebCoreFrame.h: Make this a class as well as an interface.
10026        * kwq/WebCoreFrame.mm: Added.
10027
10028        * WebCore.exp: Since WebCoreFrame is now a class as well as a protocol,
10029	export it so we can subclass.
10030
100312002-07-12  Darin Adler  <darin@apple.com>
10032
10033	Build WebCore with Project Builder instead of make.
10034	Also wean WebCore from peeking inside the WebKit bundle.
10035
10036        * WebCore.pbproj/.cvsignore: Added.
10037        * WebCore.pbproj/project.pbxproj: Added.
10038
10039        * Makefile.am: Removed rules about building the framework,
10040	and just use pbxbuild instead.
10041
10042        * dummy.mm: Removed.
10043
10044        * khtml/Makefile.am: Removed everything but SUBDIRS.
10045        * khtml/css/Makefile.am: Removed everything but the rules for
10046	generated sources.
10047        * khtml/dom/Makefile.am: Removed.
10048        * khtml/ecma/Makefile.am: Removed everything but the rules for
10049	generated sources.
10050        * khtml/html/Makefile.am: Removed everything but the rules for
10051	generated sources.
10052        * khtml/misc/Makefile.am: Removed everything but the rules for
10053	generated sources.
10054        * khtml/rendering/Makefile.am: Removed.
10055        * khtml/xml/Makefile.am: Removed.
10056        * kwq/Makefile.am: Removed everything but the rules for
10057	generated sources.
10058
10059        * kwq/KWQKLocale.mm: (i18n): Look in WebCore bundle, not WebKit bundle.
10060        * kwq/KWQKstddirs.mm:
10061        (locate): Look in WebCore bundle, not WebKit bundle. Also, always assume
10062	we are looking for html4.css.
10063        (locateLocal): Don't waste code making a bad path, just return empty string.
10064
10065        * kwq/qt/qpixmap.h:
10066        * kwq/KWQPixmap.mm: Changed convertToImage() to an inline since we
10067	never need to implement it.
10068
10069        * kwq/KWQKDebug.mm: Removed.
10070        * kwq/KWQKImageIO.mm: Removed.
10071        * kwq/kdecore/kcmdlineargs.h: Emptied out the file.
10072        * kwq/kdecore/kdebug.h: Made the do-nothing code here all be
10073	inlines for smaller code size.
10074
10075        * kwq/KWQScrollBar.h: Fixed header guard.
10076
10077        * .cvsignore:
10078        * kwq/.cvsignore:
10079        * khtml/dom/.cvsignore: Removed.
10080        * khtml/rendering/.cvsignore: Removed.
10081        * khtml/xml/.cvsignore: Removed.
10082        * kwq/kdecore/.cvsignore: Removed.
10083        * kwq/qt/.cvsignore: Removed.
10084	Don't ignore things we don't generate any more.
10085
10086        * kwq/kjs/collector.h: Added.
10087        * kwq/kjs/internal.h: Added.
10088        * kwq/kjs/interpreter.h: Added.
10089        * kwq/kjs/lookup.h: Added.
10090        * kwq/kjs/object.h: Added.
10091	Used so that khtml can see the headers from JavaScriptCore.
10092
100932002-07-11  Maciej Stachowiak  <mjs@apple.com>
10094
10095        Fixed Radar 2953254 - JavaScript window.scroll() and
10096	window.scrollBy() do not work
10097
10098	* khtml/ecma/kjs_window.cpp:
10099        (WindowFunc::tryCall): Handle Scroll the same as ScrollBy.
10100        * kwq/KWQScrollView.mm:
10101        (QScrollView::scrollBy): Implement this method, since it's needed
10102	for JS scrolling.
10103
101042002-07-10  Darin Adler  <darin@apple.com>
10105
10106	- fixed 2978796 -- Client-side image map not working
10107
10108        * kwq/KWQRegion.mm: (QRegion::QRegion): Implement constructor that
10109	takes a QPointArray.
10110
10111        * kwq/qt/qarray.h: Fix some const loopholes.
10112
10113        * kwq/KWQCString.mm:
10114        (QCString::find): Use const char * instead of char *.
10115        (QCString::contains): Use const char * instead of char *.
10116        (QCString::right): Use const char * instead of char *.
10117        (QCString::mid): Use const char * instead of char *.
10118
101192002-07-10  Maciej Stachowiak  <mjs@apple.com>
10120
10121        WebCore part of fix for:
10122
10123	Radar 2953250 - JavaScript window.focus() and window.blur()
10124	methods don't work
10125
10126        * khtml/ecma/kjs_window.cpp:
10127        (WindowFunc::tryCall): Call the appropriate things on focus and blur.
10128        * kwq/KWQKHTMLPart.mm:
10129        (KWQKHTMLPartImpl::unfocusWindow): Implemented by calling bridge.
10130        * kwq/KWQKHTMLPartImpl.h, kwq/KWQWidget.mm:
10131	(QWidget::setActiveWindow): Implemented by ordering the window
10132	front and making it key.
10133        * kwq/WebCoreBridge.h: Prototype new bridge method.
10134
101352002-07-10  Darin Adler  <darin@apple.com>
10136
10137	- fixed 2979153 -- charset sjis page is gibberish
10138
10139        * kwq/character-sets.txt: Add x-sjis as an alias for Shift JIS.
10140
101412002-07-10  Darin Adler  <darin@apple.com>
10142
10143        * kwq/KWQPixmap.mm:
10144        (QPixmap::QPixmap): Restore the imageRenderer == nil case to fix a regression
10145	related to resized images. Otherwise, isNull was returning true for all images.
10146	In copy constructor, set needCopyOnWrite on both the source and destination;
10147	setting it on the destination was not enough.
10148        (QPixmap::receivedData): Create the imageRenderer if it's nil.
10149        (QPixmap::operator=): Set needCopyOnWrite on both the source and destination.
10150
10151        * kwq/qt/qpixmap.h: Make needCopyOnWrite mutable so we can set it on the source
10152	when copying or assigning.
10153
101542002-07-10  Darin Adler  <darin@apple.com>
10155
10156        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::setBaseURL):
10157	Call setBaseURL on the underlying document all the time, not just
10158	when we add a missing "/" character.
10159
101602002-07-07  Maciej Stachowiak  <mjs@apple.com>
10161
10162        WebCore part of fix for Radar 2953431 - JavaScript window.close()
10163	method is not working
10164
10165        * khtml/ecma/kjs_window.cpp:
10166        (Window::scheduleClose): In AppleChanges
10167        * khtml/khtml_part.cpp:
10168        (KHTMLPart::openedByJS): Call kwq implementations, because we need
10169	to remember the openedByJS state across location changes, which in
10170	our case means replacing the part.
10171        (KHTMLPart::setOpenedByJS): Likewise.
10172        * kwq/KWQKHTMLPart.mm:
10173        (KWQKHTMLPartImpl::openedByJS): Implement by calling bridge.
10174        (KWQKHTMLPartImpl::setOpenedByJS): Likewise.
10175        (KWQKHTMLPartImpl::close): Likewise.
10176        * kwq/KWQKHTMLPartImpl.h: Prototype new PartImpl methods.
10177        * kwq/WebCoreBridge.h: Prototype new bridge methods.
10178
101792002-07-06  Darin Adler  <darin@apple.com>
10180
10181        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::write): Remove reference
10182	to nonexistent class in a comment.
10183        * kwq/KWQKHTMLPartImpl.h: Remove unused and unimplemented getDataSource().
10184
101852002-07-04  Maciej Stachowiak  <mjs@apple.com>
10186
10187	Say "Go to" instead of "Link to" for links that won't open a new
10188	window. Also, the code is now set up to change the status text
10189	when modifier keys are pressed, but the code is disabled for now
10190	because it's impossible to do reliably.
10191	
10192        * khtml/khtml_part.cpp:
10193        (KHTMLPart::overURL):
10194        (KHTMLPart::khtmlMouseMoveEvent):
10195        * khtml/khtml_part.h:
10196
101972002-07-03  Darin Adler  <darin@apple.com>
10198
10199	A small KURL speed improvement.
10200
10201        * khtml/misc/loader.cpp:
10202        (Cache::requestImage):
10203        (Cache::requestStyleSheet):
10204        (Cache::requestScript):
10205	Don't do the isMalformed check, because it's expensive and has no clear benefit.
10206	There's no harm in caching null results for malformed URLs.
10207
10208        * kwq/KWQKURL.mm:
10209        (KURL::KURL): Make the default constructor faster by not running all the
10210	normalize code on the empty string.
10211
10212=== Alexander-11 ===
10213
102142002-07-03  Maciej Stachowiak  <mjs@apple.com>
10215
10216        WebCore part of fixes for:
10217
10218	Radar 2950616 - JavaScript window.screenX and window.screenY always return -1
10219	Radar 2950614 - JavaScript window.screenLeft and window.screenTop
10220	properties are unimplemented
10221	Radar 2950609 - JavaScript window.outerHeight and
10222	window.outerWidth properties always return 0
10223
10224        * khtml/ecma/kjs_window.h:
10225        * khtml/ecma/kjs_window.cpp:
10226	(Window::get): Make ScreenLeft and ScreenTop synonyms for ScreenX
10227	and ScreenY respectively.
10228        * kwq/KWQKHTMLPart.mm:
10229        (KWQKHTMLPartImpl::setView): Set the real part's view too.
10230        * kwq/kdecore/kwin.h: Remove unneeded fields.
10231        * kwq/KWQKWin.mm:
10232        (KWin::info): Implemented.
10233        * kwq/qt/qwidget.h: 
10234        * kwq/KWQWidget.mm: 
10235	(QWidget::winId): Return long instead of int, to make sure there
10236	is room for a pointer even on 64-bit architectures.
10237        (QWidget::mapToGlobal): Use the top level widget to map.
10238
102392002-07-03  Richard Williamson  <rjw@apple.com>
10240
10241        * kwq/KWQScrollView.mm:
10242        (QScrollView::addChild):
10243        Fixed regression that caused IFWebView frame origin to sometimes
10244        never be set correctly.  (khtml sets the x origin to -500000
10245        during initialization, and it was never getting set correctly).
10246        This problem manifested itself as blank white frames.
10247        
10248        * kwq/KWQWidget.mm:
10249        (QWidget::internalSetGeometry):
10250
102512002-07-03  Maciej Stachowiak  <mjs@apple.com>
10252
10253	WebKit part of fix for:
10254
10255	Radar 2943465 - JavaScript window.defaultStatus property not implemented
10256	Radar 2943464 - JavaScript window.status property is not implemented
10257	Radar 2926213 - show url of moused-over link in status bar
10258
10259	Also fixed:
10260
10261	Radar 2980091 - KHTMLPart::findFrame() and KHTML::frameExists()
10262	should search all frames, not just child frames
10263	
10264        * khtml/khtml_part.cpp:
10265        (KHTMLPart::overURL): Unifdef most of this, but adjust the wording.
10266        (KHTMLPart::setStatusBarText): Implement by calling KWQKHTMLPartImpl.
10267        * khtml/khtml_part.h:
10268        * kwq/KWQKHTMLPart.mm:
10269        (KWQKHTMLPartImpl::frameExists): Search all frames, not just child frames.
10270        (KWQKHTMLPartImpl::findFrame): Search all frames, not just child frames.
10271        (KWQKHTMLPartImpl::setStatusBarText): Implemented by calling WebCoreBridge.
10272        * kwq/KWQKHTMLPartImpl.h:
10273        * kwq/WebCoreBridge.h: Declare new setStatusText method
10274        * kwq/kparts/part.h: Remove setStatusBarText method.
10275
102762002-07-02  Darin Adler  <darin@apple.com>
10277
10278	- fixed 2978806 -- Crash going to ebay home page
10279
10280        * khtml/ecma/kjs_navigator.cpp: (PluginBase::PluginBase): Check to be sure
10281	that we are not at the end of the "tokens" collection before dereferencing
10282	the iterator.
10283
102842002-07-01  Maciej Stachowiak  <mjs@apple.com>
10285
10286        Fixed Radar 2953256 - JavaScript window.moveTo() and
10287	window.moveBy() methods do not work
10288
10289	This was done by creating a class to wrap an NSWindow as a
10290	QWidget, which should be useful for many other window-related
10291	features.
10292	
10293	* kwq/KWQWidget.mm:
10294        (QWidget::x): Implement in terms of the virtual frameGeometry() method.
10295        (QWidget::y): Likewise.
10296        (QWidget::width): Likewise.
10297        (QWidget::height): Likewise.
10298        (QWidget::size): Likewise.
10299        (QWidget::pos): Likewise.
10300        (QWidget::topLevelWidget): Implement by creating a KWQWindowWidget
10301        (QWidget::isVisible): Added FIXME comment.
10302        * kwq/KWQWindowWidget.h: Added.
10303        * kwq/KWQWindowWidget.mm: Added.
10304	(KWQWindowWidget::fromNSWindow): Static method that maintains a
10305	dictionary of top-level widgets, and creates them on demand.
10306        (deleteOnWindowClose): Delete top level widget on close.
10307        (KWQWindowWidget::KWQWindowWidget):
10308        (KWQWindowWidget::~KWQWindowWidget):
10309        (KWQWindowWidget::sizeHint): Implemented using NSWindow.
10310        (KWQWindowWidget::minimumSizeHint): Likewise.
10311        (KWQWindowWidget::frameGeometry): Likewise.
10312        (KWQWindowWidget::topLevelWidget): Likewise.
10313        (KWQWindowWidget::mapToGlobal): Likewise.
10314        (KWQWindowWidget::mapFromGlobal): Likewise.
10315        (KWQWindowWidget::setCursor): No-op implementation.
10316        (KWQWindowWidget::internalSetGeometry): Implemented using NSWindow.
10317        * kwq/Makefile.am: Add new files to build.
10318        * kwq/qt/qwidget.h: Make methods virtual as needed.
10319
103202002-07-01  Darin Adler  <darin@apple.com>
10321
10322        * khtml/css/cssparser.cpp:
10323        * khtml/misc/htmlhashes.cpp:
10324	Remove workaround for a PFE bug that no longer affects us.
10325
10326        * khtml/xml/dom_nodeimpl.h:
10327        * khtml/xml/dom_nodeimpl.cpp:
10328	Remove some unneeded APPLE_CHANGES.
10329
10330        * WebCore.exp: One less symbol to export.
10331
103322002-06-29  Maciej Stachowiak  <mjs@apple.com>
10333
10334        WebCore part of fix for:
10335
10336	Radar 2942074 - JavaScript size, positioning and feature
10337	parameters to window.open are ignored
10338
10339        * kwq/WebCoreBridge.h: Add new calls needed for window
10340	size/position/feature getting and setting.
10341        * kwq/KWQKHTMLPartBrowserExtension.mm:
10342        (KHTMLPartBrowserExtension::createNewWindow): Set properties on window
10343	after creating it using new bridge calls; make it visible.
10344	* khtml/ecma/kjs_window.cpp:
10345        (WindowFunc::tryCall): Support scrollbars feature too.
10346        * kwq/kparts/browserextension.h: Include scrollbar setting stuff.
10347
103482002-06-28  Richard Williamson  <rjw@apple.com>
10349
10350        Use float character measurement to determine selection
10351        region.  Necessary to ensure accuracy of selection
10352        region.  First step towards weaning khtml off int
10353        measurements.
10354        
10355        * khtml/rendering/font.cpp:
10356        (Font::floatWidth):
10357        (Font::floatCharacterWidth):
10358        * khtml/rendering/font.h:
10359        * khtml/rendering/render_text.cpp:
10360        (TextSlave::checkSelectionPoint):
10361        * kwq/KWQFontMetrics.mm:
10362        (QFontMetrics::floatWidth):
10363        (QFontMetrics::floatCharacterWidth):
10364        * kwq/WebCoreTextRenderer.h:
10365        * kwq/qt/qfontmetrics.h:
10366
103672002-06-27  Chris Blumenberg  <cblu@apple.com>
10368
10369	Added an APPLE_CHANGES to fix 2894742. The attributes of an EMBED tag
10370	must override the attributes of PARAM tags.
10371
10372        * khtml/rendering/render_frames.cpp:
10373        (RenderPartObject::updateWidget):
10374
103752002-06-27  Darin Adler  <darin@apple.com>
10376
10377	- fixed 2973342 -- copied text seems to have an extra blank line between paragraphs
10378
10379        * khtml/khtml_part.cpp: (KHTMLPart::selectedText):
10380	Get rid of code that was adding an extraneous newline at the
10381	ends of various types of nodes, including <P>
10382
103832002-06-27  Darin Adler  <darin@apple.com>
10384
10385	Fix Java. My changes this morning broke it.
10386
10387        * khtml/rendering/render_applet.cpp: (RenderApplet::processArguments):
10388	Re-add required APPLE_CHANGES. Pass arguments to KJavaAppletWidget::processArguments.
10389        * kwq/khtml/java/kjavaappletwidget.h: Added KJavaAppletWidget::processArguments.
10390        * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::processArguments): Added.
10391
10392	Some QFont fixes.
10393
10394        * kwq/qt/qfont.h: Remove unused setPixelSizeFloat.
10395        * kwq/KWQFont.mm: Change to keep family names in a set. Since there are only
10396	a small number of family names ever encountered, this is a bit of a memory win.
10397        (QFont::QFont): Don't retain the family name.
10398        (QFont::~QFont): Don't release the family name.
10399        (QFont::setFamily): Put the family name in a set, and use the one from the set.
10400        (QFont::operator=): Don't retain or release.
10401        (QFont::operator==): Use == to compare the name.
10402
10403=== Alexander-10 ===
10404
104052002-06-27  Richard Williamson  <rjw@apple.com>
10406
10407        Method name changes in preparation for fixing
10408        TextSlave::checkSelectionPoint().
10409        
10410        * kwq/WebCoreTextRenderer.h:
10411
104122002-06-27  Richard Williamson  <rjw@apple.com>
10413
10414        Removed calls to old method.
10415        
10416        * kwq/KWQPainter.mm:
10417        (QPainter::drawText):
10418        * kwq/WebCoreTextRenderer.h:
10419        Removed old methods.
10420
104212002-06-27  Darin Adler  <darin@apple.com>
10422
10423        * khtml/rendering/render_applet.cpp: Remove include of <iostream.h> to avoid bloat.
10424        (RenderApplet::RenderApplet): Remove APPLE_CHANGES.
10425        (RenderApplet::processArguments): Remove APPLE_CHANGES.
10426	This file is now back to 100% the same as the KDE original.
10427
10428        * kwq/khtml/java/kjavaappletwidget.h: Added a bit of stuff so we match the interface
10429	of the KDE original and don't need APPLE_CHANGES.
10430        * kwq/KWQKJavaAppletWidget.mm: Remove include of <iostream.h> to avoid bloat.
10431        (KJavaAppletWidget::KJavaAppletWidget): Update for parameters that match the
10432	KDE original.
10433        (KJavaAppletWidget::~KJavaAppletWidget): Added.
10434        (KJavaAppletWidget::setBaseURL): Added.
10435        (KJavaAppletWidget::setParameter): Put strings into an NSMutableDictionary.
10436        (KJavaAppletWidget::showApplet): Use the new baseURL and parameters dictionary.
10437
10438        * kwq/WebCoreViewFactory.h: Add baseURL parameter.
10439        * kwq/WebCoreViewFactory.m:
10440        (-[WebCoreViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): Add baseURL parameter.
10441
10442        * kwq/kdecore/kurl.h: Fix NSURL definition to fit idiom.
10443        * kwq/qt/qmap.h: Added the const version of the [] operator.
10444
10445        * khtml/ecma/kjs_navigator.cpp: Tweak whitespace.
10446        * khtml/html/html_documentimpl.cpp: Tweak to make it a little closer to original.
10447
10448        * kwq/KWQKCookieJar.h: Reduce includes.
10449        * kwq/KWQKCookieJar.mm: Move includes in here.
10450
10451        * kwq/WebCoreCookieAdapter.h: Fix comment that emacs munged.
10452
104532002-06-27  Richard Williamson  <rjw@apple.com>
10454
10455        * kwq/WebCoreBridge.h:
10456        * kwq/WebCoreBridge.mm:
10457        (-[WebCoreBridge selectAll]):
10458        Select all using the part.
10459
104602002-06-27  Maciej Stachowiak  <mjs@apple.com>
10461
10462	WebCore part of fixes for JavaScript cookie bugs:
10463	
10464	2943749 - JavaScript navigator.cookieEnabled property is always "true"
10465	2856039 - JavaScript document.cookies property is not implemented
10466	
10467	Thereby also fixing:
10468	
10469	2944378 - Trying to log into my Yahoo web mail account sent
10470	Alexander into a loop
10471	
10472        * kwq/KWQKCookieJar.h: Added.
10473        * kwq/KWQKCookieJar.mm: Added.
10474        (KWQKCookieJar::cookie): C++ veneer over WebCoreCookieAdapter call.
10475        (KWQKCookieJar::setCookie): Likewise.
10476        (KWQKCookieJar::cookieEnabled): Likewise.
10477        * kwq/Makefile.am: Add new files to build.
10478        * kwq/WebCoreCookieAdapter.h: Added.
10479        * kwq/WebCoreCookieAdapter.m: Added.
10480	(+[WebCoreCookieAdapter sharedAdapter]): Method to return shared
10481	instance, al la the WebCoreFactory classes.
10482        (-[WebCoreCookieAdapter init]): Establish self as shared instance.
10483        (-[WebCoreCookieAdapter cookiesEnabled]): No-op implementation.
10484        (-[WebCoreCookieAdapter cookiesForURL:]): Likewise.
10485        (-[WebCoreCookieAdapter setCookies:forURL:]): Likewise.
10486        * WebCore.exp: Export WebCoreCookieAdapter class.
10487        * khtml/ecma/kjs_navigator.cpp:
10488        (Navigator::getValueProperty): Call appropriate KWQCookieJar method.
10489        * khtml/html/html_documentimpl.cpp:
10490        (HTMLDocumentImpl::cookie): Call appropriate KWQCookieJar method.
10491        (HTMLDocumentImpl::setCookie): Likewise
10492
104932002-06-27  Chris Blumenberg  <cblu@apple.com>
10494
10495	Fix to support sending PARAM tags to the Java plug-in.
10496
10497        * khtml/rendering/render_applet.cpp:
10498        (RenderApplet::RenderApplet): removed APPLE_CHANGES
10499        (RenderApplet::layout): removed APPLE_CHANGES
10500        * kwq/KWQKJavaAppletWidget.mm:
10501        (KJavaAppletWidget::KJavaAppletWidget): removed setView
10502        (KJavaAppletWidget::showApplet): call setView here
10503        * kwq/WebCoreViewFactory.h:
10504        * kwq/WebCoreViewFactory.m:
10505        (-[WebCoreViewFactory viewForJavaAppletWithFrame:andArguments:]): renamed
10506        * kwq/khtml/java/kjavaappletwidget.h: added KJavaApplet
10507
105082002-06-26  Richard Williamson  <rjw@apple.com>
10509
10510        Many improvements to selection.  More Cocoa like,
10511        normalized all text drawing code paths for selected 
10512        and unselected cases.  Still need to work on
10513        TextSlave::checkSelectionPoint.  Fixed redraw region
10514        problems.
10515        
10516        khtml redraw the entire visible region when selection changes.
10517        This could be optimzed.
10518        
10519        * khtml/rendering/font.cpp:
10520        (Font::drawText):
10521        (Font::width):
10522        * khtml/rendering/render_text.cpp:
10523        (TextSlave::printSelection):
10524        * kwq/KWQPainter.mm:
10525        (QPainter::drawText):
10526        (QPainter::selectedTextBackgroundColor):
10527        * kwq/KWQScrollView.mm:
10528        (QScrollView::contentsX):
10529        (QScrollView::contentsY):
10530        * kwq/WebCoreTextRenderer.h:
10531        * kwq/qt/qpainter.h:
10532
105332002-06-26  Maciej Stachowiak  <mjs@apple.com>
10534
10535        Implement KHTMLPart::findFrame() to fix the following Radar bugs:
10536        
10537        Radar 2943177 - infinite JavaScript loop sfcu.org online bill paying
10538        Radar 2950580 - Unknown JavaScript properties on the Window object return self instead of Undefined
10539        
10540        * khtml/khtml_part.cpp:
10541        (KHTMLPart::findFrame):
10542        * kwq/KWQKHTMLPart.mm:
10543        (KWQKHTMLPartImpl::findFrame):
10544        * kwq/KWQKHTMLPartImpl.h:
10545
105462002-06-26  Darin Adler  <darin@apple.com>
10547
10548	- fixed 2969378 -- "A with hat" characters (Unicode 00C2) showing up at Zingermans.com
10549
10550        * kwq/KWQCharsets.mm: (buildDictionaries): Put UTF-16 in the dictionary, but pointing
10551	at the string encoding for UTF-8. This mimics what Internet Explorer does.
10552
10553        * kwq/KWQtextcodec.mm: (QTextCodec::fromUnicode): Fix implementation so it will convert
10554	the specified encoding instead of always Latin-1.
10555
105562002-06-26  Darin Adler  <darin@apple.com>
10557
10558	Fixed (or at least worked around) a crash I saw where KWQKHTMLPartImpl::end was
10559        making calls after the KHTMLView was gone. This is specific to our APPLE_CHANGES
10560        code; it's handled differently in KDE.
10561
10562        * khtml/khtml_part.h: Added detachView.
10563        * khtml/khtml_part.cpp: (KHTMLPart::detachView): Added. Nils out the view pointer.
10564        * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Call m_part->detachView().
10565        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::end): Don't try to make calls to the view
10566        if it's nil.
10567
105682002-06-25  Richard Williamson  <rjw@apple.com>
10569        
10570        Support for khtml style selection drawing.  Ugly,
10571        we'll want to make this more Mac like.
10572
10573        * khtml/rendering/font.cpp:
10574        (Font::drawText):
10575            Enable khtml code path.  Removed APPLE_CHANGES
10576        * kwq/KWQFontMetrics.mm:
10577        (QFontMetrics::charWidth):
10578            Implemented in terms of width().
10579        * kwq/KWQPainter.mm:
10580        (QPainter::drawText):
10581            Implemented.
10582        * kwq/qt/qfontmetrics.h:
10583            Added QFontMetrics::charWidth.
10584
105852002-06-25  Richard Williamson  <rjw@apple.com>
10586
10587        Support for rudimentary plain text 'copy'.
10588        
10589        * kwq/WebCoreBridge.h:
10590        * kwq/WebCoreBridge.mm:
10591        (-[WebCoreBridge selectedText]):
10592
105932002-06-25  Richard Williamson  <rjw@apple.com>
10594
10595        Enabled progressive image loading code.
10596
10597        * khtml/misc/loader.cpp:
10598        (CachedImage::data):
10599        * kwq/KWQPixmap.mm:
10600        (QPixmap::QPixmap):
10601
106022002-06-25  Darin Adler  <darin@apple.com>
10603
10604	Removed remaining uses of BORROWED defines.
10605	Made some simplifications and formatting fixes. All safe.
10606
10607        * kwq/KWQArrayImpl.h:
10608        * kwq/KWQArrayImpl.mm:
10609        * kwq/KWQChar.mm:
10610        * kwq/KWQCharsets.mm:
10611        * kwq/KWQFile.mm:
10612        * kwq/KWQKCursor.mm:
10613        * kwq/KWQKHTMLPart.mm:
10614        * kwq/KWQListImpl.h:
10615        * kwq/KWQMapImpl.mm:
10616        * kwq/KWQString.mm:
10617        * kwq/KWQValueListImpl.mm:
10618        * kwq/KWQVectorImpl.h:
10619        * kwq/KWQtextcodec.mm:
10620        * kwq/make-charset-table.pl:
10621        * kwq/make-mac-encodings.c:
10622        * kwq/qt/qfile.h:
10623        * kwq/qt/qregexp.h:
10624        * kwq/qt/qtextcodec.h:
10625
10626        * WebCore-tests.exp: Small change to exports for the array test.
10627
106282002-06-24  Chris Blumenberg  <cblu@apple.com>
10629
10630	Changed the plug-in view constructor to take NSURL's rather
10631	than URL strings.	
10632
10633        * kwq/KWQKHTMLPart.mm:
10634        (KWQKHTMLPartImpl::requestObject):
10635        * kwq/WebCoreViewFactory.h:
10636        * kwq/WebCoreViewFactory.m:
10637
106382002-06-24  Darin Adler  <darin@apple.com>
10639
10640        * khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Put APPLE_CHANGES
10641        later in the sequence so we don't deref the part before the code
10642        gets to run.
10643
10644        * kwq/kwqdebug.h: Re-add the __format__ attribute, now that Radar
10645        2920557 is fixed.
10646
106472002-06-21  Darin Adler  <darin@apple.com>
10648
10649        * kwq/KWQFont.mm: Made it store a copy of the family name instead of
10650	storing a reference to the mutable CFString.
10651
10652        * kwq/KWQPainter.mm:
10653        (QPainter::drawPixmap): Simplified.
10654        (QPainter::drawTiledPixmap): Used the new [tileInRect:].
10655
10656        * kwq/WebCoreImageRenderer.h: Added [tileInRect:], removed [drawInRect:],
10657	and also removed view parameter from [beginAnimation].
10658	
10659        * kwq/qt/qpixmap.h: Removed unneeded getImageRenderer().
10660
106612002-06-21  Darin Adler  <darin@apple.com>
10662
10663        - fixed 2964718 -- crash in KWQCheckCacheObjectStatus
10664
10665	* kwq/KWQKloader.mm: (KWQCheckCacheObjectStatus):
10666	Handle case of nil object. Add comments. Remove questionable use
10667	of floating point abs() to convert always positive int to uint.
10668
106692002-06-20  Darin Adler  <darin@apple.com>
10670
10671	* kwq/KWQKCharsets.mm: Removed unneeded parts.
10672	* kwq/KWQStyle.mm: Removed.
10673	* kwq/KWQToolTip.mm: Removed.
10674	* kwq/KWQVariant.mm: Simplified.
10675	* kwq/Makefile.am: Removed KWQStyle.mm and KWQToolTip.mm.
10676
10677	* kwq/KWQRefPtr.h: Streamlined implementation that inlines
10678	a bit less and is more efficient for creating empty pointers.
10679
10680	* kwq/KWQStyle.h: Removed unused stuff.
10681
10682	* kwq/kdecore/kcharsets.h: Removed unneeded parts.
10683	* kwq/qt/qsortedlist.h: Removed unneeded parts.
10684	* kwq/qt/qtooltip.h: Removed unneeded parts.
10685	* kwq/qt/qvariant.h: Removed unneeded parts.
10686
10687	* khtml/khtmlview.cpp: (KHTMLView::~KHTMLView):
10688	Remove unneeded APPLE_CHANGES -- no need to nil something out in
10689	a destructor.
10690
10691=== Alexander-9 ===
10692
106932002-06-19  Richard Williamson  <rjw@apple.com>
10694
10695	* kwq/KWQScrollView.mm:
10696	(QScrollView::addChild):
10697	    Fixed regression from fix to 2956444.  Wrong view was being checked
10698	    for conformance to WebCoreFrameView.
10699	* kwq/KWQWidget.mm:
10700	(QWidget::internalSetGeometry):
10701	    Fixed regression from fix to 2956444.  Wrong view was being checked
10702	    for conformance to WebCoreFrameView.
10703
107042002-06-19  Richard Williamson  <rjw@apple.com>
10705
10706	* khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): 
10707	    Tweak
10708	* khtml/rendering/render_image.cpp:
10709	(RenderImage::setPixmap):
10710	    Call stopAnimations when a image changes, i.e. may be changed
10711	    by JS.
10712	* kwq/KWQPixmap.mm:
10713	(QPixmap::stopAnimations):
10714	    Call image renderer's stopAnimation.
10715	* kwq/qt/qpixmap.h:
10716        Added stopAnimations.
10717        
107182002-06-19  Darin Adler  <darin@apple.com>
10719
10720	- fixed 2956444 -- mac os x feedback form missing textarea
10721
10722	* kwq/WebCoreFrameView.h: Added.
10723
10724	* kwq/KWQWidget.mm:
10725	(QWidget::setCursor): Checked for cursor-setting call based on the
10726	WebCoreFrameView protocol instead of using an informal protocol.
10727	Also walk up the view chain so the cursor actually gets set.
10728	(QWidget::internalSetGeometry): Changed the special case in here to use the new
10729	WebCoreFrameView protocol, so it won't happen for all NSScrollView objects.
10730	Also add comments to explain the hack better and mention the code in QScrollView.
10731
10732	* kwq/KWQScrollView.mm:
10733	(-[NSView _KWQ_isScrollView]): Gave these KWQ names instead of IF names.
10734	(-[NSView _KWQ_getDocumentView]): Gave these KWQ names instead of IF names.
10735	(QScrollView::addChild): Changed the special case in here to use the new
10736	WebCoreFrameView protocol, so it won't happen for all NSScrollView objects.
10737	Also add comments to explain the hack better and mention the code in QWidget.
10738
10739	Other changes:
10740
10741	* kwq/kwqdebug.h: Cloned improved assert code from WebFoundation.
10742
10743	* kwq/KWQTextArea.h: Removed unused isReadOnly/setReadOnly.
10744	* kwq/KWQTextArea.mm: Removed unused isReadOnly/setReadOnly.
10745
10746	* kwq/WebCoreViewFactory.h: Removed extraneous import and WebCoreCursorSetting
10747	API from here.
10748
10749	* kwq/KWQTextEdit.mm: Tweaked.
10750	* kwq/kparts/part.h: Tweaked.
10751
107522002-06-18  Kenneth Kocienda  <kocienda@apple.com>
10753
10754        Fix for this bug:
10755
10756        Radar 2928483 (activity viewer does not show all the pieces of a web page when the page is cached)
10757
10758	* khtml/misc/loader.cpp:
10759	(DocLoader::requestImage): Added APPLE_CHANGES call to the KWQCheckCacheObjectStatus function 
10760                                   described below 
10761	(DocLoader::requestStyleSheet): ditto
10762	(DocLoader::requestScript): ditto
10763	* kwq/KWQKloader.mm:
10764	(KWQCheckCacheObjectStatus): New function that informs WebKit of the
10765                                     fact that a URL was loaded from the WebCore/khtml cache.
10766	* kwq/KWQLoaderImpl.h: Added prototype for KWQCheckCacheObjectStatus
10767	* kwq/WebCoreBridge.h: Added KWQCheckCacheObjectStatus to WebCoreBridge protocol
10768
107692002-06-18  Darin Adler  <darin@apple.com>
10770
10771	* kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::~KWQKHTMLPartImpl):
10772	Remove an NSLog I left in by accident.
10773
107742002-06-17  Richard Williamson  <rjw@apple.com>
10775
10776    Fixed window.open regression.
10777    Partial fix to targeting frame of new name.
10778    
10779	* kwq/KWQKHTMLPart.mm:
10780	(KWQKHTMLPartImpl::urlSelected):
10781	    Partial fix to frame not found problem.
10782	* kwq/KWQKHTMLPartBrowserExtension.mm:
10783	(KHTMLPartBrowserExtension::createNewWindow):
10784	    Fix for window.open regression.
10785	* kwq/WebCoreBridge.h:
10786        Changed return type of openNewWindowWithURL:
10787
107882002-06-17  Darin Adler  <darin@apple.com>
10789
10790	Fixed a storage leak.
10791
10792	* kwq/WebCoreBridge.mm: (-[WebCoreBridge documentTextFromDOM]): Add a missing autorelease.
10793
10794	Remove a bunch of loader-related APPLE_CHANGES.
10795
10796	* khtml/misc/loader.h: Remove KWQURLLoadClient and KWQLoaderImpl.
10797	* khtml/misc/loader.cpp:
10798	(Loader::Loader): Remove unneeded KWQLoaderImpl object.
10799	(Loader::~Loader): Remove unneeded KWQLoaderImpl object.
10800	(Loader::servePendingRequests): Call KWQServeRequest instead of KWQLoaderImpl::serveRequest.
10801	(Loader::slotFinished): Remove unneeded KWQLoaderImpl::objectFinished.
10802
10803	* kwq/KWQLoaderImpl.h:
10804	* kwq/KWQKloader.mm: (KWQServeRequest): Replaces the KWQLoaderImpl class. The rest of what
10805	was in this class was obsolete.
10806
108072002-06-17  Richard Williamson  <rjw@apple.com>
10808
10809    Fixed www.2cpu.com regression.  QWidget::_displayRect was displaying the wrong
10810    view.  This was a regression that would impact all DHTML.
10811
10812	* khtml/khtmlview.cpp:
10813	(KHTMLView::timerEvent):
10814	* kwq/KWQScrollView.mm:
10815	(QScrollView::updateContents):
10816	* kwq/KWQWidget.mm:
10817	(QWidget::QWidget):
10818	(QWidget::endEditing):
10819	* kwq/qt/qwidget.h:
10820
108212002-06-17  Darin Adler  <darin@apple.com>
10822
10823	Fixed bug where some images would get left behind when scrolling. Turned out it
10824	was all the tiled images that were getting left behind.
10825
10826	* kwq/KWQPainter.mm: (QPainter::drawTiledPixmap): Fixed to get the view for
10827	coordinates from [NSView focusView] the way drawPixmap does, rather than using
10828	data->widget->getView(), which gives the scroll view instead of the scrolled view.
10829
108302002-06-16  Darin Adler  <darin@apple.com>
10831
10832	* kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::frames):
10833	Fixed this function to get from frames to parts properly. It was still
10834	assuming that [WebCoreBridge childFrames] would return a list of WebCoreBridge
10835	objects, but now it returns WebCoreFrame objects.
10836
10837	* kwq/WebCoreFrame.h: Added [WebCoreFrame bridge] for the case above.
10838	Note that it always gives the "committed" bridge, not the provisional one.
10839
108402002-06-16  Darin Adler  <darin@apple.com>
10841
10842	Add a separate WebCoreFrame alongside WebCoreBridge to facilitate
10843	handling of frames with no HTML content in them. This probably fixes
10844	frames named "_blank".
10845
10846	Also fixed the build, because a clean build failed.
10847
10848	* kwq/KWQKHTMLPart.mm:
10849	(KWQKHTMLPartImpl::openURLInFrame):
10850	(KWQKHTMLPartImpl::urlSelected):
10851	(KWQKHTMLPartImpl::requestFrame):
10852	(KWQKHTMLPartImpl::submitForm):
10853	(KWQKHTMLPartImpl::parentPart):
10854	Work with WebCoreFrame objects instead of WebCoreBridge objects when dealing with
10855	frame operations -- loading new URLs mainly.
10856
10857	* kwq/WebCoreBridge.h: Removed frame-related operations, now they are on WebCoreFrame.
10858	Broke out WebCoreResourceLoader into its own file. Added comments.
10859
10860	* kwq/WebCoreFrame.h: Added.
10861
10862	* kwq/WebCoreResourceLoader.h: Added.
10863	* kwq/KWQKloader.mm: Include WebCoreResourceLoader.h now that it's broken out.
10864
10865	* WebCore-tests.exp: Tests still need QString::latin1(), although we don't need
10866	to export it for WebKit any more.
10867
108682002-06-16  Darin Adler  <darin@apple.com>
10869
10870	Moved the IFURLHandleClient subclass to WebKit, so it can some day be merged
10871	with the one for the frames themselves; this one is for resources.
10872
10873	* kwq/kio/jobclasses.h:
10874	* kwq/KWQKjobclasses.mm:
10875	(TransferJob::setHandle): Replaced the old TransferJob::begin with this.
10876
10877	* kwq/KWQLoaderImpl.h: Remove setClient.
10878	* kwq/KWQKloader.mm:
10879	(-[WebCoreResourceLoader initWithLoader:job:]): Added.
10880	(-[WebCoreResourceLoader dealloc]): Added.
10881	(-[WebCoreResourceLoader addData:]): Added.
10882	(-[WebCoreResourceLoader cancel]): Added.
10883	(-[WebCoreResourceLoader finish]): Added.
10884	(KWQLoaderImpl::serveRequest): Use [WebCoreBridge startLoadingResource:withURL:].
10885	* khtml/misc/loader.cpp: (Loader::load): Removed unneeded call to setClient.
10886
10887	* kwq/WebCoreBridge.h: Remove unneeded methods. Added [WebCoreBridge startLoadingResource:withURL:].
10888
108892002-06-15  Darin Adler  <darin@apple.com>
10890
10891	Fix frame-related calls. I was always searching all the frames, which was disastrous.
10892	Also do name changes.
10893
10894	* kwq/KWQKHTMLPart.mm:
10895	(KWQKHTMLPartImpl::urlSelected): Use descendantFrameNamed rather than frameNamed.
10896	(KWQKHTMLPartImpl::requestFrame): Use childFrameNamed rather than frameNamed.
10897	(KWQKHTMLPartImpl::frameExists): Use childFrameNamed rather than frameNamed.
10898
10899	* kwq/KWQScrollView.mm: (QScrollView::addChild): Asserts I used while debugging.
10900
10901	* kwq/WebCoreBridge.h: Add new calls. Change names of old ones to include the
10902	word frame consistently. (Also bits of new work that will do no harm, but are
10903	not really needed yet.)
10904
109052002-06-15  Darin Adler  <darin@apple.com>
10906
10907	* kwq/KWQKloader.mm:
10908	(-[KWQURLLoadClient IFURLHandle:didRedirectToURL:]):
10909	Rolled out an assert I added by accident that will break Deployment builds.
10910
109112002-06-15  Darin Adler  <darin@apple.com>
10912
10913	* kwq/KWQKloader.mm:
10914	(-[KWQURLLoadClient IFURLHandleResourceDidCancelLoading:]):
10915	(-[KWQURLLoadClient IFURLHandleResourceDidFinishLoading:data:]):
10916	(-[KWQURLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
10917	Fixed the order so the URL handles are removed before we send notifications
10918	as before my change. This seems to fix the rest of the breakage.
10919
109202002-06-15  Darin Adler  <darin@apple.com>
10921
10922	* kwq/KWQKloader.mm: (-[KWQURLLoadClient initWithLoader:bridge:]):
10923        Fix bridge/m_bridge typo that was responsible for at least some of the breakage
10924        I caused.
10925
109262002-06-15  Richard Williamson  <rjw@apple.com>
10927
10928    Fixed factoring problem.
10929    
10930	* kwq/KWQScrollView.mm:
10931	(-[NSView _IF_getDocumentView]):
10932	(-[NSView _IF_isScrollView]):
10933	(QScrollView::visibleWidth):
10934	(QScrollView::visibleHeight):
10935	(QScrollView::contentsWidth):
10936	(QScrollView::contentsHeight):
10937	(QScrollView::contentsX):
10938	(QScrollView::contentsY):
10939	(QScrollView::setContentsPos):
10940	(QScrollView::addChild):
10941	(QScrollView::resizeContents):
10942	(QScrollView::contentsToViewport):
10943	(QScrollView::viewportToContents):
10944	* kwq/qt/qscrollview.h:
10945
109462002-06-15  Darin Adler  <darin@apple.com>
10947
10948	* kwq/WebCoreBridge.mm:
10949	(-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]):
10950	Implement the rule where a negative number means "don't set the margin".
10951
109522002-06-15  Darin Adler  <darin@apple.com>
10953
10954	* kwq/kio/jobclasses.h: Removed import of WebFoundation.h.
10955	* kwq/KWQKjobclasses.mm: Added import of IFURLHandle.h.
10956	* kwq/KWQKloader.mm: Added import of IFError.h and IFURLHandle.h.
10957
10958	* kwq/WCLoadProgress.h: Removed.
10959	* kwq/WCWebDataSource.h: Removed.
10960	* kwq/KWQKHTMLPart.mm: Removed import of WCWebDataSource.h.
10961
10962	* *.mm: Changed all includes to imports using a perl script.
10963
109642002-06-15  Darin Adler  <darin@apple.com>
10965
10966	- fixed 2942808 -- remove all calls to WebKit from WebCore
10967
10968	More work on the bridge. Now we don't call anything in WebKit explicitly,
10969	although there are still implicit connections that need to be fixed.
10970
10971	* WebCore.exp: Remove exports that are no longer needed, now that
10972	WebKit is using the bridge to get at more things.
10973
10974	* khtml/misc/loader.h:
10975	* khtml/misc/loader.cpp:
10976	(CachedCSSStyleSheet::CachedCSSStyleSheet):
10977	(CachedScript::CachedScript):
10978	(CachedImage::CachedImage):
10979	Remove the extra parameter to the CachedObject constructor. We don't
10980	need it any more, so we can remove all these APPLE_CHANGES.
10981
10982	* kwq/KWQKHTMLPart.mm: Remove getDataSource.
10983
10984	* kwq/KWQLoaderImpl.h: Remove destructor.
10985	* kwq/KWQKloader.mm:
10986	(-[KWQURLLoadClient initWithLoader:bridge:]): Keep the bridge around instead
10987	of the data source.
10988	(-[KWQURLLoadClient dealloc]): Release the bridge instead of the data source.
10989	Also put another workaround for 2954901 here, like in WebKit.
10990	(-[KWQURLLoadClient IFURLHandleResourceDidBeginLoading:]):
10991	(-[KWQURLLoadClient IFURLHandle:resourceDataDidBecomeAvailable:]):
10992	(-[KWQURLLoadClient doneWithHandle:error:]):
10993	(-[KWQURLLoadClient IFURLHandleResourceDidCancelLoading:]):
10994	(-[KWQURLLoadClient IFURLHandleResourceDidFinishLoading:data:]):
10995	(-[KWQURLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
10996	(-[KWQURLLoadClient IFURLHandle:didRedirectToURL:]):
10997	(KWQLoaderImpl::setClient):
10998	(KWQLoaderImpl::serveRequest):
10999	Use the bridge to do all the heavy lifting, and put lots of common code into
11000	a doneWithHandle:error: method. Also store the URL so the redirect code works
11001	properly for multiple redirects and add asserts like the ones in IFMainURLHandleClient.
11002	(KWQLoaderImpl::objectFinished): Add a comment.
11003
11004	* kwq/WebCoreBridge.h: Make header so it can be included from plain Objective C,
11005	not just Objective C++. Add a bunch of methods for bridging in to WebCore as opposed
11006	to out of WebCore. Add new methods for bridging out from WebCore too for all the
11007	progress hooks. Put all the subclass responsibility methods into a protocol
11008	in such a way that we don't need to implement them in the base class, and subclasses
11009	can set things up so they get errors if they forget to implement anything.
11010
11011	* kwq/WebCoreBridge.mm:
11012	(-[WebCoreBridge openURL:]): Added.
11013	(-[WebCoreBridge addData:withEncoding:]): Added.
11014	(-[WebCoreBridge closeURL]): Added.
11015	(-[WebCoreBridge end]): Added.
11016	(-[WebCoreBridge setURL:]): Added.
11017	(-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]): Added.
11018	(-[WebCoreBridge documentTextFromDOM]): Added.
11019	(-[WebCoreBridge scrollToBaseAnchor]): Added.
11020
11021	* kwq/external.h: Removed.
11022
110232002-06-15  Maciej Stachowiak  <mjs@apple.com>
11024
11025	Get current bits per pixel from CoreGraphics, thereby fixing
11026        
11027        Radar 2943736 - JavaScript screen.colorDepth and screen.pixelDepth properties always returns 32, 
11028        regardless of real depth
11029        
11030        * kwq/KWQPaintDeviceMetrics.mm:
11031	(QPaintDeviceMetrics::depth):
11032
110332002-06-15  Maciej Stachowiak  <mjs@apple.com>
11034
11035	Removed product and vendor properties, thereby fixing:
11036        
11037        Radar 2943751 - JavaScript navigator.product property is "Konqueror/khtml"
11038        Radar 2943753 - JavaScript navigator.vendor property is "KDE"
11039        
11040        * khtml/ecma/kjs_navigator.cpp:
11041	(Navigator::getValueProperty): Return undefined for the above mentioned properties.
11042
110432002-06-15  Maciej Stachowiak  <mjs@apple.com>
11044
11045        Implemented functionality needed for missing Screen properties, thereby fixing the following
11046        bugs:
11047        
11048        Radar 2943730 - JavaScript screen.availHeight property is not implemented
11049        Radar 2943732 - JavaScript screen.availLeft property is not implemented
11050        Radar 2943734 - JavaScript screen.availTop property not implemented
11051        Radar 2943735 - JavaScript screen.availWidth property is not implemented
11052        
11053	* kwq/KWQKWinModule.mm:
11054	(KWinModule::workArea): Return the correct screen size to fix the above bugs.
11055
110562002-06-14  Richard Williamson  <rjw@apple.com>
11057
11058    Changed IFResourceProgressHandler to pass back resource handle instead of
11059    string description.  This will address the needs descibed in 2954160.
11060
11061	* kwq/KWQKloader.mm:
11062	(-[KWQURLLoadClient IFURLHandleResourceDidBeginLoading:]):
11063	(-[KWQURLLoadClient IFURLHandleResourceDidCancelLoading:]):
11064	(-[KWQURLLoadClient IFURLHandleResourceDidFinishLoading:data:]):
11065	(-[KWQURLLoadClient IFURLHandle:resourceDataDidBecomeAvailable:]):
11066	(-[KWQURLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
11067	(-[KWQURLLoadClient IFURLHandle:didRedirectToURL:]):
11068	(KWQLoaderImpl::serveRequest):
11069	* kwq/external.h:
11070
110712002-06-14  Darin Adler  <darin@apple.com>
11072
11073	* kwq/KWQDateTime.mm: Add ifdefs needed to make Deployment build compile.
11074
110752002-06-14  Darin Adler  <darin@apple.com>
11076
11077	Worked on eliminating calls to WebKit. About 3/4 done.
11078
11079	* WebCore.exp: Export new WebCoreBridge class, fewer other things.
11080
11081	* WebCorePrefix.h: #include <ostream> in debug builds; we couldn't
11082	before because of a PFE bug that has since been fixed (2920556).
11083
11084	* khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach):
11085	Add a comment explaining our latest change here.
11086
11087	* khtml/khtml_part.cpp: (KHTMLPart::~KHTMLPart): Fix storage leak
11088	by deleting m_hostExtension.
11089
11090	* khtml/misc/loader.h: Set type properly on client member so we
11091	don't have to do so much casting.
11092
11093	* kwq/KWQKHTMLPartImpl.h: Add getBridge and setBridge, remove setDataSource.
11094	* kwq/KWQKHTMLPart.mm:
11095	(KWQKHTMLPartImpl::KWQKHTMLPartImpl): Eliminate m_dataSource.
11096	(KWQKHTMLPartImpl::openURLInFrame): Use WebCoreBridge.
11097	(KWQKHTMLPartImpl::urlSelected): Use WebCoreBridge.
11098	(KWQKHTMLPartImpl::requestFrame): Use WebCoreBridge.
11099	(KWQKHTMLPartImpl::requestObject): Move WebCoreViewFactory code
11100	here; we don't need an entire WCPluginWidget file just for this
11101	function.
11102	(KWQKHTMLPartImpl::submitForm): Use WebCoreBridge.
11103	(KWQKHTMLPartImpl::frameExists): Use WebCoreBridge.
11104	(KWQKHTMLPartImpl::frames): Use WebCoreBridge.
11105	(KWQKHTMLPartImpl::setTitle): Use WebCoreBridge.
11106	(KWQKHTMLPartImpl::getDataSource): Use WebCoreBridge.
11107	(KWQKHTMLPartImpl::parentPart): Use WebCoreBridge.
11108
11109	* kwq/KWQKHTMLPartBrowserExtension.mm:
11110	(KHTMLPartBrowserExtension::createNewWindow): Use WebCoreBridge.
11111
11112	* kwq/KWQKloader.mm: Move the part of external.h that we still use in
11113	here, with the expectation of eliminating it soon. Also renamed
11114	URLLoadClient to KWQURLLoadClient so we don't hog namespace.
11115
11116	* kwq/qt/qscrollview.h:
11117	* kwq/KWQScrollView.mm: Used helper functions to do the "documentView"
11118	selector thing more consistently.
11119
11120	* kwq/KWQWidget.mm: Get interface for changing the cursor from
11121	WebCoreViewFactory.h instead of from external.h.
11122
11123	* kwq/WebCoreViewFactory.h:
11124	* kwq/Makefile.am: Remove WCPluginWidget.mm, add WebCoreBridge.mm.
11125	* kwq/WCPluginWidget.h: Removed.
11126	* kwq/WCPluginWidget.mm: Removed.
11127	* kwq/WebCoreBridge.h: Added.
11128	* kwq/WebCoreBridge.mm: Added.
11129
11130	* kwq/qt/qarray.h: Use <ostream> instead of <iostream>.
11131	* kwq/qt/qcstring.h: Remove <iostream> include since we include <qarray.h>.
11132	* kwq/qt/qdatetime.h: Replace unconditional <iostream> include with a
11133	conditional <ostream> include. Also made streaming operators conditional.
11134	* kwq/qt/qlist.h: Use <ostream> instead of <iostream>.
11135	* kwq/qt/qmap.h: Use <ostream> instead of <iostream>.
11136	* kwq/qt/qpoint.h: Use <iosfwd> instead of <iostream>.
11137	* kwq/qt/qsize.h: Use <iosfwd> instead of <iostream>.
11138	* kwq/qt/qvaluelist.h: Use <ostream> instead of <iostream>.
11139	* kwq/qt/qvector.h: Replace unconditional <iostream> include with a
11140	conditional <ostream> include. Also made streaming operators conditional.
11141
111422002-06-14  Richard Williamson  <rjw@apple.com>
11143
11144    Name change view -> webView.
11145    
11146	* kwq/KWQKHTMLPart.mm:
11147	(KWQKHTMLPartImpl::requestFrame):
11148	* kwq/external.h:
11149
111502002-06-14  Chris Blumenberg  <cblu@apple.com>
11151
11152	Put #ifndef APPLE_CHANGES around one line that
11153	was causing EMBED and OBJECT tags to not have render objects.
11154
11155	* khtml/html/html_objectimpl.cpp:
11156	(HTMLObjectElementImpl::attach):
11157
111582002-06-14  Chris Blumenberg  <cblu@apple.com>
11159
11160	Committing Richard's changes to KWQPainter
11161
111622002-06-13  Richard Williamson  <rjw@apple.com>
11163
11164    More cleanup to deal with special case of provisional view
11165    not being in a scrollview.
11166    
11167	* kwq/KWQScrollView.mm:
11168	(QScrollView::contentsWidth):
11169	(QScrollView::contentsHeight):
11170	(QScrollView::contentsX):
11171	(QScrollView::contentsY):
11172
111732002-06-13  Richard Williamson  <rjw@apple.com>
11174
11175    
11176	* kwq/KWQWidget.mm: (QWidget::setCursor):  restored code
11177	* kwq/external.h:   removed definitions no longer needed
11178	* khtml/rendering/render_form.cpp: (RenderLineEdit::calcMinMaxWidth): tweaked size
11179
111802002-06-12  Kenneth Kocienda  <kocienda@apple.com>
11181
11182	* kwq/kwqdebug.h: Made assertion failure console message bolder and easier to see.
11183
111842002-06-11  Darin Adler  <darin@apple.com>
11185
11186	* kwq/KWQKURL.mm:
11187	(RelativeURLKeyRetainCallBack): Use a ref count.
11188	(RelativeURLKeyReleaseCallBack): Use a ref count instead of assuming there will
11189	never be more than one reference.
11190	(KURL::normalizeRelativeURLString): Remove the workaround for CFURL bug 2891336.
11191	(operator==): Don't put URLs on the autorelease pool just to compare them.
11192
111932002-06-10  Darin Adler  <darin@apple.com>
11194
11195	* khtml/css/cssstyleselector.cpp: Fix uninitialized variable warning.
11196
111972002-06-10  Darin Adler  <darin@apple.com>
11198
11199	Merged in changes from KDE 3.0.1.
11200
11201	* kwq/kdecore/kurl.h:
11202	* kwq/KWQKURL.mm: (operator==): New, needed by some 3.0.1 code.
11203
11204	* kwq/qt/qpalette.h: Add QPalette::NColorGroups and QColorGroup::NColorRoles.
11205	* kwq/KWQPalette.mm: Simplify by getting rid of "private" indirection.
11206	(QPalette::color): New, needed by some 3.0.1 code.
11207	* kwq/KWQColorGroup.mm: Simplify by getting rid of "private" indirection.
11208
11209	* kwq/qt/qstring.h:
11210	* kwq/KWQString.mm: (QConstString::QConstString): Change parameter to const QChar *
11211	to match Qt so we compile.
11212
11213	* kwq/qt/qtextedit.h:
11214	* kwq/KWQTextEdit.mm: (QTextEdit::setTabStopWidth): Add unimplemented placeholder,
11215	needed by some 3.0.1 code.
11216
11217	* kwq/qt/qvaluelist.h:
11218	* kwq/KWQValueListImpl.h:
11219	* kwq/KWQValueListImpl.mm: Simplify implementation.
11220
11221	* WebCore-tests.exp: Update for changes in QValueList implementation.
11222
11223	* kwq/kdecore/klibloader.h: Add include of <kio/global.h> to make something compile.
11224
11225	* kwq/khtml/java/kjavaappletcontext.h: Add JType and constructor that takes DCOPObject*.
11226
11227	* kwq/kio/global.h: Add KIO::CacheControl.
11228
11229	* khtml/css/css_ruleimpl.cpp:
11230	* khtml/css/css_ruleimpl.h:
11231	* khtml/css/css_stylesheetimpl.cpp:
11232	* khtml/css/css_stylesheetimpl.h:
11233	* khtml/css/css_valueimpl.cpp:
11234	* khtml/css/css_valueimpl.h:
11235	* khtml/css/cssparser.cpp:
11236	* khtml/css/cssparser.h:
11237	* khtml/css/cssstyleselector.cpp:
11238	* khtml/css/cssstyleselector.h:
11239	* khtml/css/html4.css:
11240	* khtml/dom/css_rule.cpp:
11241	* khtml/dom/css_rule.h:
11242	* khtml/dom/css_stylesheet.cpp:
11243	* khtml/dom/css_stylesheet.h:
11244	* khtml/dom/css_value.cpp:
11245	* khtml/dom/dom2_events.cpp:
11246	* khtml/dom/dom2_range.cpp:
11247	* khtml/dom/dom2_range.h:
11248	* khtml/dom/dom2_views.cpp:
11249	* khtml/dom/dom_doc.cpp:
11250	* khtml/dom/dom_element.cpp:
11251	* khtml/dom/dom_exception.h:
11252	* khtml/dom/dom_node.cpp:
11253	* khtml/dom/dom_string.cpp:
11254	* khtml/dom/dom_text.cpp:
11255	* khtml/dom/dom_xml.cpp:
11256	* khtml/dom/html_base.cpp:
11257	* khtml/dom/html_block.cpp:
11258	* khtml/dom/html_document.cpp:
11259	* khtml/dom/html_element.cpp:
11260	* khtml/dom/html_element.h:
11261	* khtml/dom/html_form.cpp:
11262	* khtml/dom/html_head.cpp:
11263	* khtml/dom/html_image.cpp:
11264	* khtml/dom/html_inline.cpp:
11265	* khtml/dom/html_list.cpp:
11266	* khtml/dom/html_misc.cpp:
11267	* khtml/dom/html_object.cpp:
11268	* khtml/dom/html_table.cpp:
11269	* khtml/ecma/kjs_html.cpp:
11270	* khtml/ecma/kjs_proxy.cpp:
11271	* khtml/ecma/kjs_traversal.cpp:
11272	* khtml/ecma/kjs_window.cpp:
11273	* khtml/html/html_baseimpl.cpp:
11274	* khtml/html/html_formimpl.cpp:
11275	* khtml/html/html_miscimpl.h:
11276	* khtml/html/html_objectimpl.cpp:
11277	* khtml/html/html_objectimpl.h:
11278	* khtml/html/htmlparser.cpp:
11279	* khtml/html/htmlparser.h:
11280	* khtml/html/htmltokenizer.cpp:
11281	* khtml/html/htmltokenizer.h:
11282	* khtml/khtml_part.cpp:
11283	* khtml/khtmlpart_p.h:
11284	* khtml/khtmlview.cpp:
11285	* khtml/misc/helper.cpp:
11286	* khtml/misc/khtmllayout.h:
11287	* khtml/misc/loader.cpp:
11288	* khtml/misc/loader.h:
11289	* khtml/misc/loader_client.h:
11290	* khtml/misc/shared.h: Added.
11291	* khtml/rendering/bidi.cpp:
11292	* khtml/rendering/break_lines.cpp:
11293	* khtml/rendering/font.cpp:
11294	* khtml/rendering/render_applet.cpp:
11295	* khtml/rendering/render_applet.h:
11296	* khtml/rendering/render_container.cpp:
11297	* khtml/rendering/render_form.cpp:
11298	* khtml/rendering/render_form.h:
11299	* khtml/rendering/render_frames.cpp:
11300	* khtml/rendering/render_image.cpp:
11301	* khtml/rendering/render_object.cpp:
11302	* khtml/rendering/render_object.h:
11303	* khtml/rendering/render_replaced.cpp:
11304	* khtml/rendering/render_replaced.h:
11305	* khtml/rendering/render_root.cpp:
11306	* khtml/rendering/render_style.cpp:
11307	* khtml/rendering/render_style.h:
11308	* khtml/rendering/render_table.cpp:
11309	* khtml/rendering/render_table.h:
11310	* khtml/rendering/render_text.cpp:
11311	* khtml/rendering/render_text.h:
11312	* khtml/xml/dom2_eventsimpl.h:
11313	* khtml/xml/dom2_rangeimpl.h:
11314	* khtml/xml/dom2_traversalimpl.cpp:
11315	* khtml/xml/dom2_traversalimpl.h:
11316	* khtml/xml/dom2_viewsimpl.h:
11317	* khtml/xml/dom_docimpl.cpp:
11318	* khtml/xml/dom_docimpl.h:
11319	* khtml/xml/dom_elementimpl.h:
11320	* khtml/xml/dom_nodeimpl.cpp:
11321	* khtml/xml/dom_nodeimpl.h:
11322	* khtml/xml/dom_stringimpl.cpp:
11323	* khtml/xml/dom_stringimpl.h:
11324	* khtml/xml/xml_tokenizer.h:
11325	Merge in 3.0.1 changes and add APPLE_CHANGES as necessary to get it to compile.
11326
113272002-06-07  Darin Adler  <darin@apple.com>
11328
11329	* Makefile.am: Use new shared "embed.am" file so we don't need four copies of
11330	the embedding rules for WebFoundation, JavaScriptCore, WebCore, and WebKit.
11331
113322002-06-07  Maciej Stachowiak  <mjs@apple.com>
11333
11334	* Makefile.am: Rename libwebcore.dylib to libwebcore.a; since this
11335	target is just a fake for dependency purposes, it doesn't matter
11336	what it's called.
11337	* .cvsignore: Update ignorance.
11338
113392002-06-07  Darin Adler  <darin@apple.com>
11340
11341	* Makefile.am: I was running into failures in the embed rule, so I made it
11342	always remove the framework before copying the new one in. This is better
11343	for cases where a header was removed, too, so maybe we should do this in
11344	the other directories.
11345
11346	* kwq/KWQDrawUtil.mm:
11347	* kwq/KWQKComboBox.mm:
11348	* kwq/KWQKConfigBase.mm:
11349	* kwq/KWQKDebug.mm:
11350	* kwq/KWQKMessageBox.mm:
11351	* kwq/KWQKMimeType.mm:
11352	* kwq/KWQKPrinter.mm:
11353	* kwq/KWQKURL.mm:
11354	* kwq/KWQMapImpl.mm:
11355	* kwq/KWQObject.mm:
11356	* kwq/KWQRegExp.mm:
11357	* kwq/KWQRegion.mm:
11358	* kwq/KWQScrollView.mm:
11359	* kwq/KWQStringList.mm:
11360	Remove repeated default values for parameters -- the new compiler
11361	won't allow these and they are illegal C++.
11362
113632002-06-07  Darin Adler  <darin@apple.com>
11364
11365	* kwq/KWQPtrDictImpl.h: Use CoreFoundation.h -- new compiler
11366	is picky about the difference between struct and typedef.
11367
11368	* kwq/KWQValueListImpl.h: Add a friend declaration that we need
11369	because the new compiler is more strict.
11370
11371	- fix 2949882 -- joecartoon.com crashes
11372
11373	* khtml/ecma/kjs_window.cpp: (Window::get): Turn off some code that
11374	doesn't work for us -- similar to code elsewhere in this file that
11375	was also turned off.
11376
113772002-06-07  Chris Blumenberg  <cblu@apple.com>
11378
11379        Made IFWebController a class.
11380        Fixed all places where IFWebController was referred to as a protocol.
11381        Renamed IFBaseWebController files to IFWebController.
11382        IFWebController.h replaces IFWebBaseController.h.
11383
11384	* kwq/KWQKHTMLPart.mm:
11385	(KWQKHTMLPartImpl::requestFrame):
11386	* kwq/KWQKHTMLPartBrowserExtension.mm:
11387	(KHTMLPartBrowserExtension::createNewWindow):
11388	* kwq/KWQKloader.mm:
11389	(-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
11390	(-[URLLoadClient IFURLHandle:didRedirectToURL:]):
11391	(KWQLoaderImpl::serveRequest):
11392	* kwq/external.h:
11393
11394=== Alexander-8 ===
11395
113962002-06-07  Darin Adler  <darin@apple.com>
11397
11398	Try to make Jersey work again.
11399
11400	* kwq/KWQInvisibleButton.h: Simplify includes.
11401	* kwq/KWQInvisibleButton.mm: Simplify includes.
11402
114032002-06-05  Darin Adler  <darin@apple.com>
11404
11405	Some fixes to speed up the citibank.com page, and other related changes.
11406
11407	* khtml/ecma/kjs_dom.cpp: (DOMNode::getValueProperty): Only do a layout
11408	if it's actually needed. This speeds things up immensely, and I'm pretty
11409	sure it's correct.
11410
11411	* kwq/KWQListImpl.h: To speed things up, get rid of the "private part"
11412	level of indirection. This is particularly vital for list iterators, which
11413	are created and destroyed a lot on the stack. Also made trivial functions
11414	be inline.
11415
11416	* kwq/KWQListImpl.mm:
11417	(copyList): Now a static function rather than a member of the now-defunct
11418	private class.
11419	(KWQListImpl::KWQListImpl): Set up all the new members that used to be in
11420	the separate private object.
11421	(KWQListImpl::~KWQListImpl): Update the iterator-detaching code to do it
11422	the new way, with intrusive list. Also, use clear() instead of having our
11423	own code to delete the list -- note this is only used after the level above
11424	us does a clear() anyway.
11425	(KWQListImpl::clear): Use a loop to delete all the nodes rather than making
11426	a delete of one node recursively delete the next -- iteration is more efficient,
11427	and also easier to understand in this case. Also update all the iterators so
11428	they don't point to deleted nodes.
11429	(KWQListImpl::containsRef): Update to return the count, rather than just a
11430	true or false value, since that's how the class is defined.
11431	(KWQListImpl::assign): Delete the items if asked to (fixes a FIXME). Also
11432	use a new swap member function since there's more to swap now.
11433	(KWQListImpl::addIterator): Rewrite to use an intrusive linked list.
11434	(KWQListImpl::removeIterator): Rewrite to use an intrusive linked list; this
11435	makes it much faster since it doesn't have to search the list.
11436	(KWQListImpl::swap): Implement this private member function used by assign.
11437	(KWQListIteratorImpl::KWQListIteratorImpl): Set up the new members that
11438	used to be in the separate private object.
11439
11440	* kwq/qt/qlist.h: Re-add the operator= definition. This would cause a storage
11441	leak, although I haven't actually observed the leak.
11442
11443	* kwq/qt/qbuffer.h: Initialize opened to false. This was causing a test failure.
11444
11445	* kwq/KWQDictImpl.h:
11446	* kwq/KWQDictImpl.mm: Streamline implementation a bit by getting rid of
11447	unneeded copy constructor definition and making trivial constructor for
11448	iterator inline.
11449
11450	* kwq/KWQPtrDictImpl.h: Remove unneeded include.
11451
11452	* WebCore-tests.exp: Update for changes in the entry points
11453	used by the tests.
11454
114552002-06-05  Richard Williamson  <rjw@apple.com>
11456
11457    Fixed 2938552.  This required an implementation of KHTMLPart::frames which
11458    is used by the JS window.frames property.
11459    
11460	* khtml/khtml_part.cpp:
11461	(KHTMLPart::frames):
11462	* kwq/KWQKHTMLPart.mm:
11463	(KWQKHTMLPartImpl::frames):
11464	* kwq/KWQKHTMLPartImpl.h:
11465
114662002-06-05  Richard Williamson  <rjw@apple.com>
11467
11468    Fixed window.top JS property (2939353).  This caused funny recursion problems at
11469    www.megapixel.net and other pages that try to pop frames.
11470
11471	* khtml/khtml_part.cpp:
11472	(KHTMLPart::parentPart):
11473	* kwq/KWQKHTMLPart.mm:
11474	(KWQKHTMLPartImpl::parentPart):
11475	* kwq/KWQKHTMLPartImpl.h:
11476
114772002-06-05  Richard Williamson  <rjw@apple.com>
11478
11479    Cleaned up call to frameNamed:.  Now use frame relative naming.
11480    Fixed various frame related bugs.
11481    
11482	* kwq/KWQKHTMLPart.mm:
11483	(KWQKHTMLPartImpl::urlSelected):
11484	* kwq/external.h:
11485
114862002-06-04  Richard Williamson  <rjw@apple.com>
11487
11488	* kwq/KWQKHTMLPart.mm:
11489	(KWQKHTMLPartImpl::timerEvent):
11490	(KWQKHTMLPartImpl::redirectURL):
11491	
11492	Renamed redirectJS to redirectURL to more correctly reflect it's
11493	function.
11494	
11495	(KWQKHTMLPartImpl::urlSelected):
11496
11497    Fixed 2935505.  We now pop out of a frame if a link is clicked in a frame
11498    and that frame is the only frame in a frameset.  This emulates the behavior of IE.
11499
11500	* kwq/KWQKHTMLPartImpl.h:
11501	* kwq/external.h:
11502
115032002-06-04  Richard Williamson  <rjw@apple.com>
11504
11505    More exclusion for pre 6C48.
11506    
11507	* kwq/KWQPixmap.mm:
11508	(QPixmap::QPixmap):
11509
115102002-06-04  Kenneth Kocienda  <kocienda@apple.com>
11511
11512	* kwq/kwqdebug.h: Added a line of stderr output into the 
11513        assertion failure code so that we have some idea of what happened.
11514
115152002-06-04  Richard Williamson  <rjw@apple.com>
11516
11517    Changes to support progressive image loading.  Currently disabled
11518    until 2945218 is fixed.
11519    
11520	* khtml/misc/loader.cpp:
11521	* kwq/KWQKloader.mm:
11522	* kwq/KWQPixmap.mm:
11523	* kwq/WebCoreImageRenderer.h:
11524	* kwq/WebCoreImageRendererFactory.h:
11525	* kwq/WebCoreImageRendererFactory.m:
11526	* kwq/qt/qpixmap.h:
11527
115282002-06-04  Darin Adler  <darin@apple.com>
11529
11530	- fixed 2943897 -- Initial uncached load of amazon.com renders partial page.
11531
11532	* khtml/khtml_part.cpp: (KHTMLPart::setEncoding): Put the code that
11533	reloads the page when the encoding is changed back inside APPLE_CHANGES.
11534	This was causing partial loads because of how it interacts with our
11535	way of saving up text and not decoding until we discover what the
11536	encoding is.
11537
115382002-06-03  Darin Adler  <darin@apple.com>
11539
11540	* LICENSE: Add 2002.
11541        
11542	* kwq/KWQApplication.mm:
11543	* kwq/kdecore/kapplication.h:
11544	* kwq/qt/qapplication.h:
11545        Found a way to simplify the application objects by making more of
11546        the functions static so we don't need to actually allocate an object.
11547
11548	* kwq/Makefile.am:
11549	* kwq/KWQKApplication.mm: Removed.
11550	* kwq/kdecore/kapp.h: Removed.
11551
115522002-06-03  Darin Adler  <darin@apple.com>
11553
11554	A few more unused things.
11555
11556	* kwq/Makefile.am: Removed KWQKProcess.mm
11557	* kwq/KWQKProcess.mm: Removed.
11558	* kwq/KWQStrList.h: Removed.
11559	* kwq/kdecore/kprocess.h: Removed.
11560
115612002-06-03  Darin Adler  <darin@apple.com>
11562
11563	Forgot one file.
11564
11565	* kwq/qt/qframe.h: Added.
11566
115672002-06-03  Darin Adler  <darin@apple.com>
11568
11569	Get rid of many unneeded APPLE_CHANGES.
11570	Also get rid of _KWQ_ and _KWQ_PEDANTIC_.
11571
11572	* WebCore.exp: Don't export DomShared::ref/deref any more.
11573	* WebCore-tests.exp: Changed around as needed due to changes in
11574	the classes being tested.
11575
11576	* khtml/html/htmlparser.cpp:
11577	* khtml/html/htmltokenizer.cpp:
11578	Simplified APPLE_CHANGES for better merging.
11579
11580	* khtml/dom/dom_misc.h:
11581	* khtml/dom/dom_misc.cpp:
11582	* khtml/dom/html_document.cpp:
11583	* khtml/khtmlview.cpp:
11584	* khtml/ecma/kjs_css.h:
11585	* khtml/ecma/kjs_dom.cpp:
11586	* khtml/ecma/kjs_dom.h:
11587	* khtml/ecma/kjs_window.cpp:
11588	* khtml/html/html_formimpl.cpp:
11589	* khtml/html/html_objectimpl.cpp:
11590	* khtml/misc/helper.cpp:
11591	* khtml/rendering/bidi.cpp:
11592	* khtml/rendering/render_flow.cpp:
11593	* khtml/rendering/render_form.cpp:
11594	* khtml/rendering/render_text.cpp:
11595	* khtml/xml/xml_tokenizer.h:
11596	* kwq/qt/qtextedit.h:
11597	Remove now-unneeded APPLE_CHANGES.
11598
11599	* khtml/misc/loader.cpp: (CachedImage::pixmap): Turned off more of
11600	the QMovie code.
11601
11602	* khtml/html/html_documentimpl.cpp:
11603	* khtml/html/htmltokenizer.h:
11604	* khtml/xml/dom_elementimpl.h:
11605	* kwq/KWQKHTMLPart.mm:
11606	Formatting and other minor tweaks.
11607
11608	* kwq/KWQApplication.mm: (QApplication::sendEvent): Implemented.
11609	* kwq/KWQChar.mm: (QChar::direction): Improved implementation.
11610
11611	* kwq/KWQCollection.h: Removed.
11612	* kwq/KWQIcon.h: Removed.
11613
11614	* kwq/Makefile.am: Removed following files.
11615	* kwq/KWQKCompletionBox.mm: Removed.
11616	* kwq/KWQKFactory.mm: Removed.
11617	* kwq/KWQListBox.mm: Removed.
11618	* kwq/KWQKImageIO.mm: Removed.
11619
11620	* kwq/KWQObject.mm: (QObject::event): Added, does nothing.
11621	(QObject::inherits): Put in real implementation (good enough for us).
11622
11623	* kwq/WCWebDataSource.h: Removed extern declaration of global.
11624
11625	* kwq/KWQCursor.mm: (QCursor::handle): Made the handle be an
11626	NSCursor *.
11627
11628	* kwq/external.h: Moved [IFWebView setFrameSize:] here.
11629	Got rid of IFAnimatedImage.
11630
11631	* kwq/KWQDef.h: Remove unused Q_INT8, Q_INT16, Q_UINT8, Q_UINT16,
11632	QCOORD, WFlags, WId, ASSERT, CHECK_PTR, Q_EXPORT, Q_PACKED,
11633	QT_STATIC_CONST, QT_STATIC_CONST_IMPL. Define _KWQ_IOSTREAM_ only
11634	when NDEBUG is not defined.
11635
11636	* kwq/KWQBuffer.mm:
11637	* kwq/KWQCString.mm:
11638	* kwq/KWQCollection.mm:
11639	* kwq/KWQCompletion.h:
11640	* kwq/KWQCompletion.mm:
11641	* kwq/KWQFrame.h:
11642	* kwq/KWQFrame.mm:
11643	* kwq/KWQHBox.mm:
11644	* kwq/KWQKFileItem.mm:
11645	* kwq/KWQKIconLoader.mm:
11646	* kwq/KWQKLineEdit.mm:
11647	* kwq/KWQKProtocolManager.mm:
11648	* kwq/KWQLabel.mm:
11649	* kwq/KWQListBox.h:
11650	* kwq/KWQMovie.mm:
11651	* kwq/KWQWidget.mm:
11652	* kwq/KWQxml.mm:
11653	* kwq/qt/qbuffer.h:
11654	* kwq/kdecore/kdebug.h:
11655	* kwq/kdecore/kglobal.h:
11656	* kwq/kdecore/kglobalsettings.h:
11657	* kwq/kdecore/kiconloader.h:
11658	* kwq/kdecore/kstaticdeleter.h:
11659	* kwq/kdecore/kstringhandler.h:
11660	* kwq/kdeui/kcombobox.h:
11661	* kwq/kdeui/kcompletionbox.h:
11662	* kwq/kdeui/klineedit.h:
11663	* kwq/kdeui/klistbox.h:
11664	* kwq/kdeui/kmessagebox.h:
11665	* kwq/kio/kfileitem.h:
11666	* kwq/kio/kimageio.h:
11667	* kwq/kio/kmimetype.h:
11668	* kwq/kio/kprotocolmanager.h:
11669	* kwq/kio/netaccess.h:
11670	* kwq/qt/qxml.h:
11671	* kwq/kparts/browserinterface.h:
11672	* kwq/kparts/factory.h:
11673	* kwq/kparts/part.h:
11674	* kwq/qt/qarray.h:
11675	* kwq/qt/qcollection.h:
11676	* kwq/qt/qcstring.h:
11677	* kwq/qt/qcursor.h:
11678	* kwq/qt/qdict.h:
11679	* kwq/qt/qhbox.h:
11680	* kwq/qt/qlabel.h:
11681	* kwq/qt/qlist.h:
11682	* kwq/qt/qmap.h:
11683	* kwq/qt/qmovie.h:
11684	* kwq/qt/qobject.h:
11685	* kwq/qt/qpaintdevicemetrics.h:
11686	* kwq/qt/qpainter.h:
11687	* kwq/qt/qpoint.h:
11688	* kwq/qt/qradiobutton.h:
11689	* kwq/qt/qrect.h:
11690	* kwq/qt/qregion.h:
11691	* kwq/qt/qscrollview.h:
11692	* kwq/qt/qsize.h:
11693	* kwq/qt/qstack.h:
11694	* kwq/qt/qstringlist.h:
11695	* kwq/qt/qtextedit.h:
11696	* kwq/qt/qvaluelist.h:
11697	* kwq/qt/qvector.h:
11698	* kwq/qt/qwidget.h:
11699	* kwq/qt/qxml.h:
11700	Removed unused stuff.
11701
11702	* kwq/KWQListBox.mm:
11703	* kwq/KWQMapImpl.h:
11704	* kwq/KWQMapImpl.mm:
11705	* kwq/KWQPainter.mm:
11706	* kwq/KWQPoint.mm:
11707	* kwq/KWQRadioButton.mm:
11708	* kwq/KWQRect.mm:
11709	* kwq/KWQRegion.mm:
11710	* kwq/KWQScrollBar.h:
11711	* kwq/KWQScrollView.mm:
11712	* kwq/KWQSize.mm:
11713	* kwq/KWQStringList.mm:
11714	* kwq/KWQbrowserinterface.mm:
11715	Simplified.
11716
11717	* kwq/kdecore/kurl.h:
11718	Added include to match what's expected by clients.
11719
11720	* kwq/qt/qobjectlist.h: Added. Empty file to make includers happy.
11721
11722	* kwq/khtml/khtml_printsettings.h: Added. Empty file.
11723	* kwq/qt/qobjectlist.h: Added. Empty file.
11724
11725	* kwq/kio/kssl/ksslkeygen.h: Define just enough to make callers
11726	happy.
11727
11728	* kwq/qt/qobject.h: Added event().
11729	* kwq/kparts/part.h: Added bool return type to event().
11730	* kwq/qt/qvector.h: Added QGVector base class.
11731
117322002-06-01  Darin Adler  <darin@apple.com>
11733
11734	* kwq/KWQPtrDictImpl.mm: (KWQPtrDictPrivate::~KWQPtrDictPrivate):
11735	Fix compile error.
11736
117372002-05-31  Darin Adler  <darin@apple.com>
11738
11739	Fix infinite loop while cancelling bug that was caused by dictionary
11740	iterators not getting updated when keys are removed.
11741
11742	* kwq/KWQPtrDictImpl.mm:
11743	(KWQPtrDictPrivate::KWQPtrDictPrivate): Set iterators list to 0.
11744	(KWQPtrDictPrivate::~KWQPtrDictPrivate): Tell iterators dict is gone.
11745	(KWQPtrDictImpl::remove): Tell each iterator that the item was removed.
11746	(KWQPtrDictIteratorPrivate::KWQPtrDictIteratorPrivate): Insert the
11747	iterator into a list with a head stored in the dict.
11748	(KWQPtrDictIteratorPrivate::~KWQPtrDictIteratorPrivate): Remove the
11749	iterator from the list.
11750	(KWQPtrDictIteratorPrivate::remove): Remove the key from the iterator's
11751	private storage.
11752	(KWQPtrDictIteratorPrivate::dictDestroyed): Clear out the dict pointer
11753	and set the count to 0.
11754
11755	* kwq/KWQPtrDictImpl.h: Move private classes out so they can get at each
11756	other without being friends of each other.
11757
11758	* kwq/qt/qptrdict.h: Simplify a bit.
11759
117602002-05-31  Darin Adler  <darin@apple.com>
11761
11762	* khtml/khtmlview.h: Add KWQKHTMLPartImpl as friend class, remove khtml_part.h
11763	include that we added inside APPLE_CHANGES.
11764
11765	* kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::end): Reinstate a line of code that
11766	required friend status.
11767
11768	* kwq/KWQView.mm: Add include of khtml_part.h.
11769
117702002-05-31  Darin Adler  <darin@apple.com>
11771
11772	* kwq/kwqdebug.h: Don't use displayableString; it's an SPI and those
11773	are no nos inside WebCore.
11774
117752002-05-31  Darin Adler  <darin@apple.com>
11776
11777	* kwq/kio/jobclasses.h: Removed SimpleJob and made Job just enough for
11778	TransferJob to inherit from it. Removed unused stuff and made url() return
11779	an NSURL rather than a KURL.
11780	* kwq/KWQKjobclasses.mm: Removed much of the code, and reworked what
11781	remains to simplify it.
11782	* kwq/KWQKloader.mm: Update users of TransferJob::url since it now returns
11783	an NSURL rather than a KURL.
11784
11785	* kwq/kio/job.h: Simplify.
11786	* kwq/KWQKJob.mm: Simplify.
11787
11788	* kwq/kio/scheduler.h: Emptied this file out.
11789	* kwq/KWQKScheduler.mm: Removed.
11790	* kwq/Makefile.am: Removed KWQKScheduler.mm.
11791
117922002-05-31  Darin Adler  <darin@apple.com>
11793
11794	Remove some unused stuff; total of 1000s of lines.
11795
11796	* Makefile.am: Removed some strange uses of "./" and
11797	improved stamp-related rules.
11798
11799	* WebCore-tests.exp: Removed QDir functions.
11800
11801	* khtml/Makefile.am: Removed java subdirectory.
11802	* khtml/java/*: Removed.
11803	* khtml/rendering/render_applet.cpp: Rearrange APPLE_CHANGES so
11804	that we use our own KJavaAppletWidget rather than a QWidget.
11805	* kwq/khtml/java/kjavaappletcontext.h: Added.
11806	* kwq/khtml/java/kjavaappletwidget.h: Added.
11807	* kwq/KWQKJavaAppletWidget.mm: Added. Replaces WCJavaAppletWidget.mm.
11808	* kwq/KWQsignals.mm: Removed java-related signals.
11809
11810	* khtml/css/Makefile.am:
11811	* khtml/misc/Makefile.am:
11812	Improve stamp-related rules.
11813
11814	* khtml/misc/loader.cpp: Move around and add ifdefs so we don't
11815	need as much KWQ code. Maybe revisit this later -- related to the
11816	KDE implementation of animated and progressive loading images,
11817	which we probably don't need, but it may integrate slightly better than
11818	doing our hacks inside QPixmap.
11819
11820	* kwq/KWQApplication.mm:
11821	* kwq/KWQFontInfo.mm:
11822	* kwq/KWQInputDialog.mm:
11823	* kwq/KWQKFileDialog.mm:
11824	* kwq/KWQKHTMLPartBrowserExtension.mm:
11825	* kwq/KWQKWin.mm:
11826	* kwq/KWQKWinModule.mm:
11827	* kwq/KWQKstddirs.mm:
11828	* kwq/KWQPixmap.mm:
11829	Simplified, removed unused code, minor tweaks.
11830
11831	* kwq/Makefile.am: Removed all the old files, added some new ones.
11832	* kwq/KWQBitmap.mm: Removed.
11833	* kwq/KWQBrush.mm: Removed.
11834	* kwq/KWQDCOPClient.mm: Removed.
11835	* kwq/KWQDataStream.h: Removed.
11836	* kwq/KWQDir.mm: Removed.
11837	* kwq/KWQFontDatabase.mm: Removed.
11838	* kwq/KWQImage.mm: Removed.
11839	* kwq/KWQKInstance.mm: Removed.
11840	* kwq/KWQPaintDevice.mm: Removed.
11841	* kwq/KWQPart.mm: Removed.
11842	* kwq/KWQasyncimageio.mm: Removed.
11843	* kwq/KWQasyncio.mm: Removed.
11844	* kwq/KWQbrowserextension.mm: Removed.
11845	* kwq/WCJavaAppletWidget.h: Removed.
11846	* kwq/WCJavaAppletWidget.mm: Removed.
11847	* kwq/qt/qdatastream.h: Removed.
11848	* kwq/qt/qdir.h: Removed.
11849	* kwq/qt/qlayout.h: Removed.
11850
11851	* kwq/KWQCursor.mm:
11852	(QCursor::handle): Return the cursor object as an integer rather than
11853	just returning 0; makes the code that uses handle() more likely to work
11854	although it introduces a 64-bit cleanliness problem.
11855
11856	* kwq/KWQEvent.mm: Initialize event type in QEvent subclasses.
11857
11858	* kwq/WebCoreImageRenderer.h: Added NSObject and NSCopying protocols to
11859	the WebCoreImageRenderer protocol.
11860
11861	* kwq/kwqdebug.h: Use displayableString in DEBUG_OBJECT for better logging.
11862
11863	* kwq/dcop/dcopclient.h:
11864	* kwq/kdecore/kstddirs.h:
11865	* kwq/kdecore/kwin.h:
11866	* kwq/kdecore/kwinmodule.h:
11867	* kwq/kfile/kfiledialog.h:
11868	* kwq/kparts/browserextension.h:
11869	* kwq/kparts/event.h:
11870	* kwq/qt/qapplication.h:
11871	* kwq/qt/qasyncimageio.h:
11872	* kwq/qt/qasyncio.h:
11873	* kwq/qt/qbitmap.h:
11874	* kwq/qt/qbrush.h:
11875	* kwq/qt/qbutton.h:
11876	* kwq/qt/qcheckbox.h:
11877	* kwq/qt/qcollection.h:
11878	* kwq/qt/qcolor.h:
11879	* kwq/qt/qcombobox.h:
11880	* kwq/qt/qcursor.h:
11881	* kwq/qt/qdrawutil.h:
11882	* kwq/qt/qevent.h:
11883	* kwq/qt/qfont.h:
11884	* kwq/qt/qfontdatabase.h:
11885	* kwq/qt/qfontinfo.h:
11886	* kwq/qt/qimage.h:
11887	* kwq/qt/qinputdialog.h:
11888	* kwq/qt/qintcache.h:
11889	* kwq/qt/qintdict.h:
11890	* kwq/qt/qpaintdevice.h:
11891	* kwq/qt/qpixmap.h:
11892	* kwq/qt/qstring.h:
11893	Removed lots of unused stuff, including old conditionals and the like.
11894
11895	* khtml/khtml_part.cpp:
11896	(KHTMLPart::khtmlMouseMoveEvent): Add missing parenthesis.
11897
118982002-05-30  Maciej Stachowiak  <mjs@apple.com>
11899
11900	WebCore part of fixes for:
11901
11902	Radar 2926169 - no support for window.open
11903	Radar 2890469 - Preference to prevent JavaScript from automatically
11904	opening new windows doesn't work
11905	Radar 2938569 - link cursor does not appear on some pages
11906	
11907	* khtml/ecma/kjs_window.cpp:
11908	(WindowFunc::tryCall): #ifdef'd out some parts of this code that are
11909	broken (but fortunately also unnecessary) in our project.
11910	* kwq/KWQKConfigBase.mm:
11911	(KConfig::KConfig): Changes to support JavaScript window opening pref.
11912	(KConfig::readUnsignedNumEntry): Likewise.
11913	* kwq/KWQKHTMLPart.mm:
11914	(KHTMLPart::openURLInFrame): Implemented.
11915	* kwq/KWQKHTMLPartBrowserExtension.mm:
11916	(KHTMLPartBrowserExtension::KHTMLPartBrowserExtension): Implemented.
11917	(KHTMLPartBrowserExtension::openURLRequest): Implemented by
11918	calling openURLInFrame on the part.
11919	(KHTMLPartBrowserExtension::createNewWindow): Implemented by
11920	calling new WebController openNewWindowWIthURL method.
11921	* kwq/KWQKHTMLSettings.mm:
11922	(KHTMLSettings::isJavaScriptEnabled): Handle renaming of pref.
11923	* kwq/KWQView.mm:
11924	(-[KWQHTMLView setCursor:]): Fixes to set cursor properly even if
11925	none was set.	
11926	* kwq/external.h: Declare some new WebKit methods.
11927	* kwq/kparts/browserextension.h: Make formerly empty methods pure virtual.
11928	* kwq/khtml/khtml_ext.h: Declare some virtual methods.
11929
119302002-05-30  Darin Adler  <darin@apple.com>
11931
11932	Cut down our copied and pasted code even more.
11933
11934	* WebCore.exp: Change what's exported for things that moved from
11935	KHTMLPart into KWQKHTMLPartImpl.
11936
11937	* khtml/.cvsignore:
11938	* khtml/css/.cvsignore:
11939	* khtml/dom/.cvsignore:
11940	* khtml/ecma/.cvsignore:
11941	* khtml/html/.cvsignore:
11942	* khtml/java/.cvsignore:
11943	* khtml/misc/.cvsignore:
11944	* khtml/rendering/.cvsignore:
11945	* khtml/xml/.cvsignore:
11946	Some .cvsignore hygiene.
11947
11948	* khtml/khtml_part.cpp: Use a lot more of this file, rather than using a copy inside
11949	the kwq directory. Now we have KWQKHTMLPartImpl for the part that does need to be in kwq.
11950	* khtml/khtml_part.h: Add KWQKHTMLPartImpl pointer, remove most of the other APPLE_CHANGES.
11951	* khtml/khtmlpart_p.h: Remove almost all of the APPLE_CHANGES.
11952	* kwq/KWQKHTMLPart.mm: Changed everything from being part of KHTMLPart to be a separate
11953	KWQKHTMLPartImpl class. Minimized copied and pasted code; still more to do.
11954	* kwq/KWQKHTMLPartImpl.h: Added. Interface so KHTMLPart can call into kwq as necessary.
11955
11956	* khtml/misc/Makefile.am: Added loader.cpp.
11957	* khtml/misc/loader.cpp: Added from KDE 3.0. Rolled most of the changes from KWQKloader.mm
11958	in here. The kwq-specific part is now in a KWQLoaderImpl class.
11959	* khtml/misc/loader.h: Replace LoaderPrivate with KWQLoaderImpl.
11960	* khtml/misc/loader.moc: Added empty file.
11961	* kwq/KWQKloader.mm: Changed everything to be a separate KWQLoaderImpl class.
11962	Minimized copied and pasted code.
11963	* kwq/KWQLoaderImpl.h: Added. Interface so loader can call into kwq as necessary.
11964	* kwq/loader.moc: Removed empty file.
11965
11966	* kwq/kparts/historyprovider.h: Add HistoryProvider::insert.
11967	* kwq/KWQKHistoryProvider.mm: Add HistoryProvider::insert.
11968
11969	* kwq/KWQKLocale.mm: (KLocale::language): Simplify.
11970
11971	* kwq/KWQListBox.h:
11972	* kwq/KWQNSTextField.h:
11973	Use import instead of include for Cocoa.h.
11974
11975	* kwq/KWQScrollView.mm: (QScrollView::contentsToViewport): Implement this.
11976
11977	* kwq/external.h: Add declarations so this can be included cleanly.
11978
11979	* kwq/khtml/khtml_pagecache.h: Put a no-op cache in here so we don't have to do so
11980	many APPLE_CHANGES ifdefs.
11981
11982	* kwq/kparts/part.h: Put ref/deref and event/customEvent in here so they don't need
11983	to be added to KHTMLPart.
11984
11985	* kwq/kio/scheduler.h: Add <qtimer.h> include to help us build (not sure if it's
11986	really needed.
11987	* kwq/kparts/partmanager.h: Add <qdatetime.h> include to help us build (not sure if it's
11988	really needed.
11989
11990=== Alexander-7 ===
11991
119922002-05-29  Richard Williamson  <rjw@apple.com>
11993
11994    Changes to support animated image rendering.
11995    Moved image rendering into webkit.
11996    
11997	* WebCore.exp:
11998	* kwq/KWQPainter.mm:
11999	(QPainter::drawPixmap):
12000	(QPainter::drawTiledPixmap):
12001	(QPainter::translate):
12002	(QPainter::scale):
12003	(QPainter::begin):
12004	(QPainter::end):
12005	* kwq/KWQPixmap.mm:
12006	(QPixmap::QPixmap):
12007	(QPixmap::~QPixmap):
12008	(QPixmap::isNull):
12009	(QPixmap::size):
12010	(QPixmap::rect):
12011	(QPixmap::width):
12012	(QPixmap::height):
12013	(QPixmap::resize):
12014	(QPixmap::operator=):
12015	* kwq/Makefile.am:
12016	* kwq/WebCoreImageRenderer.h: Added.
12017	* kwq/WebCoreImageRendererFactory.h: Added.
12018	* kwq/WebCoreImageRendererFactory.m: Added.
12019	(+[WebCoreImageRendererFactory sharedFactory]):
12020	(-[WebCoreImageRendererFactory init]):
12021	(-[WebCoreImageRendererFactory imageRendererWithBytes:length:]):
12022	(-[WebCoreImageRendererFactory imageRendererWithSize:]):
12023	* kwq/qt/qpixmap.h:
12024
120252002-05-28  Richard Williamson  <rjw@apple.com>
12026
12027    Moved cancellation check before creation on job instance,
12028    preventing leak.
12029    
12030	* kwq/KWQKloader.mm:
12031	(Loader::servePendingRequests):
12032
120332002-05-28  Richard Williamson  <rjw@apple.com>
12034
12035    Fixed edge case cancellation problem (actually happens a lot).
12036    No new loads are allowed after a data source has been
12037    set as "stopping".
12038    
12039	* kwq/KWQKloader.mm:
12040	(Loader::servePendingRequests):
12041	* kwq/external.h:
12042
120432002-05-28  Richard Williamson  <rjw@apple.com>
12044
12045    Fixed reporting of malformed resources URLs.  This fixed
12046    exceptions that were being thrown because nil handles were
12047    being added to datasource handle array.
12048
12049	* kwq/KWQKjobclasses.mm:
12050	* kwq/KWQKloader.mm:
12051	(Loader::servePendingRequests):
12052
120532002-05-28  Chris Blumenberg  <cblu@apple.com>
12054
12055	Added framework-header-stamp
12056
12057	* .cvsignore:
12058
120592002-05-27  John Sullivan  <sullivan@apple.com>
12060
12061	* Resources/linkCursor.tiff: Added. Maciej forgot to cvs add
12062	this new file. I stole the one from haircut.
12063
120642002-05-27  Maciej Stachowiak  <mjs@apple.com>
12065
12066	Fixed the vexing and long-standing:
12067
12068	Radar 2894699 - Crash at: http://cb.apple.com/jsplugins.html
12069	
12070	* khtml/ecma/kjs_navigator.cpp: This crash was caused by Plugin
12071	and MimeType objects referring to data that was held and
12072	refcounted by PluginBase, without holding a ref. I fixed it by
12073	making these individual items participate in the refcounting as
12074	well.
12075
120762002-05-26  Maciej Stachowiak  <mjs@apple.com>
12077
12078	Webcore part of fix for:
12079
12080	Radar 2884085 - add support for changing cursor over links
12081
12082	* Makefile.am: Install tiff of link cursor.
12083	* kwq/qt/qcursor.h, kwq/KWQCursor.mm:
12084	(QCursor::QCursor): Change QCursor to contain an NSCursor.
12085	(QCursor::~QCursor): Likewise.
12086	(QCursor::operator=): Likewise.
12087	(QCursor::handle): Likewise.
12088	* kwq/KWQKCursor.mm:
12089	(+[NSCursor _WebCore_linkCursor]): NSCursor extension method that
12090	provides the link cursor.	
12091	(KCursor::handCursor): Use the link cursor instead of the default
12092	arrow cursor.
12093	* kwq/KWQKHTMLSettings.mm:
12094	(KHTMLSettings::changeCursor): Return TRUE; we always want cursor
12095	tracking.
12096	* kwq/KWQView.h, kwq/KWQView.mm:
12097	(-[KWQHTMLView setCursor:]): Remember the new cursor and
12098	invalidate cursor rects.
12099	(-[KWQHTMLView resetCursorRects]): Establish cursor rect for
12100	currently set cursor, if not default.
12101	* kwq/KWQWidget.mm:
12102	(QWidget::setCursor): Call setCursor: on the underlying
12103	NSView, if implemented.
12104	(QWidget::cursor): Implemented.
12105	(QWidget::unsetCursor): Implemented.
12106
121072002-05-25  Maciej Stachowiak  <mjs@apple.com>
12108
12109	Changed WebCore to build as a framework, not a dylib, so resources
12110	can be added to it.
12111
12112	* Makefile.am: Actual changes to build WebCore.framework
12113	* Resources/Info.plist: Added.
12114	* English.lproj/InfoPlist.strings: Added.
12115	* WebCore-tests.exp: Added.
12116	* WebCore.exp: Added.
12117	* libwebcore.exp: Removed.
12118	* libwebcoretests.exp: Removed.
12119	* .cvsignore: Updated.
12120
12121=== 0.3 ===
12122
121232002-05-24  Shelley A Sheridan  <sheridan@apple.com>
12124
12125	* ChangeLog:
12126
12127=== Alexander-6 ===
12128
121292002-05-23  Maciej Stachowiak  <mjs@apple.com>
12130
12131	Fixes for the following (the first bug also requires WebKit and
12132	WebBrowser changes):
12133	
12134	Radar 2896391 - command-click should open link in new window
12135	Radar 2935858 - two mails for each mailto:
12136
12137	* khtml/html/html_inlineimpl.cpp:
12138	(HTMLAnchorElementImpl::defaultEventHandler): Set flag for Meta
12139	key in addition to Control, Shift and Alt, since the Command key
12140	is treated as Meta.
12141	* kwq/KWQKHTMLPart.mm:
12142	(KHTMLPart::urlSelected): Open a new window if the user
12143	command-clicked.
12144	(KHTMLPart::khtmlMouseMoveEvent): Clean up use of braces and ifdefs to
12145	make prepare-ChangeLog happy.
12146	(KHTMLPart::khtmlMouseReleaseEvent): Remove code that tried to
12147	process link click events here. This made link clicks get
12148	processed twice, now that mouse events are hooked up for real.
12149	* kwq/external.h: prototype openNewWindowWithURL: method.
12150
121512002-05-23  Kenneth Kocienda  <kocienda@apple.com>
12152
12153        More work to fix this bug:
12154
12155        Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH)
12156
12157        There was yet two more cases where the refresh timers were getting clobbered.
12158        Fixed.
12159
12160	* khtml/ecma/kjs_window.cpp:
12161	(WindowQObject::parentDestroyed)
12162	* khtml/khtmlview.cpp:
12163	(KHTMLView::clear)
12164
121652002-05-23  Richard J. Williamson  <rjw@apple.com>
12166
12167    Fixed crasher 2935757.  I still need to investigate the root cause
12168    of this problem.
12169    
12170	* khtml/rendering/render_text.cpp:
12171	(RenderText::setText):
12172
121732002-05-23  Kenneth Kocienda  <kocienda@apple.com>
12174
12175        Fixes for these bugs:
12176
12177        Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH)
12178        Radar 2935472 (Non-standard html pages don't always get decoded)
12179
12180	* khtml/khtml_part.cpp: Don't kill all timers. Just kill the ones for this object.
12181	(KHTMLPart::~KHTMLPart):
12182	* khtml/khtml_part.h: Modified interface to slotData to add a flag for when all data 
12183          for a load has been received.
12184	* khtml/khtmlview.cpp:
12185	(KHTMLView::~KHTMLView): Don't kill all timers. Just kill the ones for this object.
12186	* kwq/KWQKHTMLPart.mm:
12187	(KHTMLPart::slotData): Senses when text encoding is not available, but all data has been received.
12188	(KHTMLPart::write): Ditto
12189	(KHTMLPart::scheduleRedirection):
12190	* libwebcore.exp: Changed symbol for slotData
12191
121922002-05-23  Shelley A Sheridan  <sheridan@apple.com>
12193
12194	* ChangeLog:
12195
12196=== Alexander-5 ===
12197
121982002-05-23  Maciej Stachowiak  <mjs@apple.com>
12199
12200	Notify when loads of sub-URLs start and stop, so panels for these
12201	can be attached to the right windows.
12202
12203	* kwq/KWQKloader.mm:
12204	(-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
12205	(-[URLLoadClient IFURLHandleResourceDidCancelLoading:]):
12206	(-[URLLoadClient IFURLHandleResourceDidFinishLoading:data:]):
12207	(-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
12208	(-[URLLoadClient IFURLHandle:didRedirectToURL:]):
12209	* kwq/external.h:
12210
122112002-05-22  Richard J. Williamson  <rjw@apple.com>
12212    
12213
12214    Additional additional callback when resource is first loaded.
12215        
12216	* kwq/KWQKloader.mm:
12217	(-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
12218
122192002-05-21  Richard J. Williamson  <rjw@apple.com>
12220
12221    Lots of changes for DHTML.
12222    Bugs fixes, and fixes to regressions.
12223    
12224	* khtml/misc/decoder.cpp:
12225	(Decoder::decode):
12226	* khtml/rendering/render_flow.cpp:
12227	(RenderFlow::print):
12228	(RenderFlow::layout):
12229	* khtml/rendering/render_text.cpp:
12230	(RenderText::print):
12231	* kwq/KWQKHTMLPart.mm:
12232	(KHTMLPart::urlSelected):
12233	* kwq/qt/qevent.h:
12234	* kwq/qt/qstring.h:
12235	* libwebcore.exp:
12236
122372002-05-21  Kenneth Kocienda  <kocienda@apple.com>
12238
12239        Fix for this bug:
12240
12241        Radar 2924728 (post form fails at pt.apple.com; succeeds at macosx.apple.com)
12242
12243        Posted forms are now submitted with the IFURLHandleFlagLoadFromOrigin 
12244        load flag set.  This prevents a potential bug which may cause a page 
12245        with a form that uses itself as an action to be returned from the 
12246        cache without submitting.
12247
12248	* kwq/KWQKHTMLPart.mm:
12249	(KHTMLPart::submitForm)
12250
122512002-05-21  Kenneth Kocienda  <kocienda@apple.com>
12252
12253        Merged these four include files into the precompiled header.
12254        These are used for the enhanced assertion/debuggin support I
12255        added yesterday.
12256
12257        <signal.h>
12258        <sys/types.h>
12259        <sys/time.h>
12260        <sys/resource.h>
12261
12262	* WebCorePrefix.h
12263
122642002-05-20  Darin Adler  <darin@apple.com>
12265
12266	Forgot one file.
12267
12268	* khtml/khtml_part.moc: Added.
12269
122702002-05-20  Darin Adler  <darin@apple.com>
12271
12272	Use more of the original khtml_part.cpp; a step in the direction of factoring
12273	our code out so more of it can go in WebKit and we don't need external.h.
12274
12275	* khtml/Makefile.am:
12276	* khtml/khtml_part.cpp:
12277	* khtml/khtml_part.h:
12278	* khtml/khtmlpart_p.h:
12279	Start compiling khtml_part.cpp and using khtmlpart_p.h again.
12280
12281	* kwq/KWQKHTMLPart.mm:
12282	Remove code that was identical to khtml_part.cpp. We aren't going to use the
12283	"copy and hack our copy" approach on this class for the long termk, and this
12284	is the first step in cleaning things up.
12285
12286	* khtml/khtml_ext.h: Removed.
12287	* khtml/khtml_factory.h: Removed.
12288
12289	* khtml/misc/loader.h:
12290	* khtml/xml/dom_docimpl.cpp:
12291	(DocumentImpl::recalcStyleSelector):
12292	Remove some APPLE_CHANGES ifdefs we don't need any more.
12293
12294	* kwq/KWQDateTime.mm:
12295	Simplify things like copy constructors.
12296
12297	* kwq/kdeui/kcursor.h:
12298	* kwq/KWQKCursor.mm:
12299	Add handCursor.
12300
12301	* kwq/KWQKHTMLFactory.mm:
12302	Put in real implementations, not just placeholders.
12303
12304	* kwq/KWQKHTMLPartBrowserExtension.mm:
12305	* kwq/KWQKInstance.mm:
12306	* kwq/KWQPart.mm:
12307	* kwq/KWQbrowserextension.mm:
12308	Empty these files out, nothing in them is needed any more.
12309
12310	* kwq/khtml/khtml_settings.h:
12311	* kwq/KWQKHTMLSettings.mm:
12312	(KHTMLSettings::isJavaEnabled):
12313	(KHTMLSettings::autoLoadImages):
12314	(KHTMLSettings::isPluginsEnabled):
12315	(KHTMLSettings::isJavaScriptEnabled):
12316	(KHTMLSettings::isJavaScriptDebugEnabled):
12317	Moved settings here from KWQKHTMLPart.mm
12318
12319	* kwq/kdecore/kurl.h:
12320	* kwq/KWQKURL.mm:
12321	(KURL::encodedHtmlRef):
12322	(KURL::htmlRef):
12323	Placeholders for these two, called in KHTMLPart, but maybe not really needed.
12324
12325	* kwq/KWQKloader.mm:
12326	(Cache::preloadScript):
12327	(Cache::preloadStyleSheet):
12328	Empty functions for these, called in KHTMLPart but no implementation needed.
12329
12330	* kwq/qt/qtimer.h:
12331	* kwq/KWQTimer.mm:
12332	(QTimer::isActive):
12333	(QTimer::start):
12334	(QTimer::stop):
12335	More timer functions.
12336
12337	* kwq/qt/qscrollview.h: Add one more function.
12338
12339	* kwq/kdecore/kinstance.h: Simplify.
12340	* kwq/kdeui/kaction.h: Simplify.
12341	* kwq/khtml/khtml_factory.h: Simplify.
12342	* kwq/kparts/browserextension.h: Simplify.
12343	* kwq/kparts/part.h: Simplify.
12344	* kwq/qt/qdatetime.h: Simplify.
12345
12346	* kwq/kdecore/klibloader.h: Added.
12347	* kwq/khtml/khtml_ext.h: Added.
12348	* kwq/kparts/partmanager.h: Added.
12349	Nearly-empty files with just simple placeholders so we can compile more.
12350
12351	* kwq/dcop/kdatastream.h: Added.
12352	* kwq/kdecore/kmultipledrag.h: Added.
12353	* kwq/kdecore/ktempfile.h: Added.
12354	* kwq/kdecore/kurldrag.h: Added.
12355	* kwq/kdeui/kstdaction.h: Added.
12356	* kwq/kdeui/kxmlguifactory.h: Added.
12357	* kwq/khtml/khtml_find.h: Added.
12358	* kwq/khtml/khtml_iface.h: Added.
12359	* kwq/khtml/khtml_pagecache.h: Added.
12360	* kwq/khtml/khtml_run.h: Added.
12361	* kwq/kio/kssl/ksslcertchain.h: Added.
12362	* kwq/kio/kssl/ksslinfodlg.h: Added.
12363	* kwq/kio/ktrader.h: Added.
12364	* kwq/qt/private/qucomextra_p.h: Added.
12365	* kwq/qt/qclipboard.h: Added.
12366	* kwq/qt/qmetaobject.h: Added.
12367	Empty files just so includes of these names will compile.
12368
12369	* libwebcoretests.exp: Remove one export that's no longer needed.
12370
123712002-05-20  Richard J. Williamson  <rjw@apple.com>
12372
12373	* khtml/ecma/kjs_events.cpp:
12374	(JSEventListener::handleEvent):
12375	* khtml/khtml_part.h:
12376	* kwq/KWQKHTMLPart.mm:
12377	(KHTMLPart::~KHTMLPart):
12378	(KHTMLPart::scheduleRedirection):
12379	(KHTMLPart::timerEvent):
12380	(KHTMLPart::redirectJS):
12381	(KHTMLPart::urlSelected):
12382	* kwq/KWQVariant.mm:
12383	(QVariant::asString):
12384	* kwq/qt/qvariant.h:
12385
123862002-05-20  Kenneth Kocienda  <kocienda@apple.com>
12387
12388	* kwq/kwqdebug.h: Now includes <sys/time.h> to prevent possible
12389        build breakage in the inclusion of <sys/resource.h>
12390
123912002-05-20  Kenneth Kocienda  <kocienda@apple.com>
12392
12393        Changed assertion failure code to send a SIGQUIT instead
12394        of raising an NSException.
12395
12396	* kwq/kwqdebug.h
12397
123982002-05-19  Darin Adler  <darin@apple.com>
12399
12400	* khtml/rendering/render_object.cpp: (RenderObject::drawBorder):
12401	Add missing break statement so borders don't draw strangely.
12402
12403	* khtml/rendering/render_style.h: Remove unneeded QColor workaround,
12404	now that we handle invalid colors properly.
12405
12406	* kwq/KWQColor.mm:
12407	(createStaticConstructorAutoreleasePool): New solution to the problem
12408	of autorelease at static constructor time.
12409	(getNamedColors): Function that creates this dictionary when needed
12410	rather than creating it inside an init function.
12411	(QColor::QColor): Share code with setRgb, get rid of _initialize.
12412	(hex2int): Return -1 for bad digit rather than 0.
12413	(decodeColorFromHexColorString): Make more robust and simpler.
12414	(QColor::setNamedColor): Set color to invalid rather than black when
12415	the passed in name is empty or unrecognized.
12416	(QColor::red), (QColor::green), (QColor::blue): Round instead of truncating.
12417	(QColor::setRgb): Set color to invalid if r, g, or b is out of range.
12418	(QColor::operator=): Simplify.
12419	(QColor::operator==): Handle invalid colors correctly.
12420	(QColor::getNSColor): Return black of invalid colors.
12421
12422	* kwq/KWQCursor.mm: Simplify cursor globals.
12423
12424	* kwq/KWQPainter.mm:
12425	(QPainter::_setColorFromBrush): Use getNSColor() to handle invalid colors correctly.
12426	(QPainter::_setColorFromPen): Use getNSColor() to handle invalid colors correctly.
12427	(QPainter::drawLine): Add code to respect style and width and handle endpoints in a
12428	way that will make the lines look like Qt users expect.
12429	(QPainter::drawText): Use getNSColor() to handle invalid colors correctly.
12430	(QPainter::drawUnderlineForText): Use getNSColor() to handle invalid colors correctly.
12431	(QPainter::fillRect): Use getNSColor() to handle invalid colors correctly.
12432
12433	* kwq/KWQPen.mm: (QPen::QPen): (QPen::setStyle): Remove use of MPenStyle.
12434
12435	* kwq/KWQPixmap.mm: (QPixmap::QPixmap): Add comments.
12436
12437	* kwq/qt/qcolor.h: Simplify ifdefs, remove cname, _initialize, globals_init, and
12438	initGlobalColors.
12439
12440	* kwq/qt/qnamespace.h: Remove AlignTop, AlignBottom, SingleLine, ExpandTabs, DontPrint,
12441	DashDotLine, DashDotDotLine, MPenStyle, WResizeNoRease, WRepaintNoErase, color0, color1,
12442	darkRed, darkGreen, darkBlue, darkCyan, darkMagenta, darkYellow. Simplify the QColor
12443	and QCursor globals.
12444
12445	* kwq/qt/qpen.h: QPainter is no longer a friend class. Remove linest.
12446
124472002-05-17  Darin Adler  <darin@apple.com>
12448
12449	* khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
12450	OK. This time it's correct.
12451
124522002-05-17  Darin Adler  <darin@apple.com>
12453
12454	* khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
12455	Roll the change out while I see why it causes a crash.
12456
124572002-05-17  Darin Adler  <darin@apple.com>
12458
12459	* khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
12460	Remove an old incorrect fix for a style leak in here and put in
12461	a new correct fix.
12462
124632002-05-16  Richard J. Williamson  <rjw@apple.com>
12464
12465	Fixed 2896350.  Ignore DPI in images and render directly at pixel size.
12466	
12467	* kwq/KWQPainter.mm:
12468	(QPainter::drawPixmap):
12469	* kwq/KWQPixmap.mm:
12470	(QPixmap::QPixmap):
12471
124722002-05-16  Richard J. Williamson  <rjw@apple.com>
12473
12474	Fixed 2925638.  Don't send last progress message from resourceDataDidBecomeAvailable,
12475	it is sent from IFURLHandleResourceDidFinishLoading, avoiding duplication.
12476	
12477	* kwq/KWQKloader.mm:
12478	(-[URLLoadClient IFURLHandle:resourceDataDidBecomeAvailable:]):
12479
124802002-05-15  Richard J. Williamson  <rjw@apple.com>
12481    
12482    Alerts, useful for validating that js handlers work.
12483    Validated that onsubmit is working.
12484    
12485	* kwq/KWQKMessageBox.mm:
12486	(KMessageBox::error):
12487	(KMessageBox::warningYesNo):
12488	(KMessageBox::questionYesNo):
12489	(KMessageBox::sorry):
12490
124912002-05-15  Darin Adler  <darin@apple.com>
12492
12493	* kwq/qt/qguardedptr.h: Fix reversed sense of check in isNull. Fixes
12494	a bug that was causing a lot of DHTML not to work.
12495
124962002-05-15  Kenneth Kocienda  <kocienda@apple.com>
12497
12498	* kwq/KWQInvisibleButton.h: Changed an #include of Cocoa.h to an #import
12499
125002002-05-15  Darin Adler  <darin@apple.com>
12501
12502	* kwq/KWQListImpl.mm:
12503	(KWQListImpl::KWQListPrivate::copyList): Take out unnecessary line of code.
12504	(KWQListImpl::KWQListPrivate::~KWQListPrivate): Delete the iterator nodes
12505	also, not just the item nodes. Fixes a storage leak.
12506	(KWQListIteratorImpl::KWQListIteratorPrivate::KWQListIteratorPrivate):
12507	Change interface to take a list pointer so we don't rely on the undefined
12508	behavior of &* on a null pointer.
12509	(KWQListImpl::addIterator): Set up the prev pointer of the old head of
12510	the list. This was causing the crash I was debugging.
12511	(KWQListIteratorImpl::operator=): Simpler implementation.
12512
125132002-05-14  Richard J. Williamson  <rjw@apple.com>
12514
12515    Added another symbol for stack based event constructor.
12516    Change to support onLoad.
12517    
12518	* kwq/KWQKHTMLPart.mm:
12519	(KHTMLPart::end):    
12520	* libwebcore.exp:
12521
125222002-05-14  Chris Blumenberg  <cblu@apple.com>
12523
12524	Changed slotData to slotData(NSString *encoding, const char *bytes, int length)
12525
12526	* khtml/khtml_part.h:
12527	* kwq/KWQKHTMLPart.mm:
12528	(KHTMLPart::slotData):
12529	* libwebcore.exp:
12530
125312002-05-14  Darin Adler  <darin@apple.com>
12532
12533	Fixed 2925291 -- CSS2 test page causes infinite recursion, crash
12534
12535	* khtml/rendering/render_container.cpp: (RenderContainer::addChild):
12536	Add code to detect the case of a render object that uses text cell
12537	style but is not itself a text style, and make sure we don't try to
12538	nest such an object inside an infinite number of tables.
12539
125402002-05-14  Darin Adler  <darin@apple.com>
12541
12542	* kwq/KWQListImpl.mm: (KWQListIteratorImpl::KWQListIteratorImpl):
12543	Add a missing check for a null pointer.
12544
12545	* kwq/KWQGuardedPtr.mm: (KWQGuardedPtrBase::KWQGuardedPtrBase):
12546	Remove an unnecessary call to "toFirst", because new iterators
12547	already default to pointing to the first element of the list.
12548
125492002-05-13  Darin Adler  <darin@apple.com>
12550
12551	* kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): Detach all the iterators from
12552	the list when the list is destroyed. I thought this was done before, but it seems not.
12553
125542002-05-13  Darin Adler  <darin@apple.com>
12555
12556	Fixed bug 2922884 (JavaScript object leak creating Image object from JavaScript).
12557	There was a reference loop created when a document contained a variable that
12558	referenced an image, because images held references to the document; the C++
12559	kind that do not participate in the JavaScript garbage collection.
12560
12561	* khtml/ecma/kjs_html.h: Use a QGuardedPtr to the DocumentImpl instead of using
12562	a Document object.
12563	* khtml/ecma/kjs_html.cpp:
12564	(Image::tryPut): Change because the "doc" pointer is now a pointer to the
12565	DocumentImpl, not the Document. Also check for 0, since it's now a QGuardedPtr
12566	that can become 0.
12567	(Image::Image): Newly out of line. Changed because the "doc" pointer is now a
12568	pointer to the DocumentImpl, not the Document.
12569
12570	Since the solution used QGuardedPtr, I had to implement it.
12571
12572	* kwq/qt/qguardedptr.h: Put the implementation in a new KWQGuardedPtrBase class,
12573	with only the bare minimum in a template. This new implementation uses iterators
12574	on a QPtrList, which means there's not much code needed.
12575	* kwq/KWQGuardedPtr.mm: (KWQGuardedPtrBase::KWQGuardedPtrBase): Rewrite to use
12576	a QPtrListIterator to a dummy list in the QObject. This reuses code nicely, but
12577	a custom-coded solution would be a bit more efficient.
12578
12579	* kwq/qt/qobject.h:
12580	* kwq/KWQObject.mm: (QObject::QObject): Create the one-element list that's used
12581	by the QGuardedPtr instances.
12582
12583	Since the above code needed to copy a QPtrListIterator, I needed to support that.
12584
12585	* kwq/qt/qlist.h: Move the iterator's copy constructor out of the private part,
12586	and implement it. This class was strange in that it has a public assignment
12587	operator, but a private unimplemented copy constructor. Implementing it was trivial,
12588	though, so this was no obstacle.
12589
125902002-05-13  Maciej Stachowiak  <mjs@apple.com>
12591
12592	Removed libjpeg dependency. Turns out we don't need it.
12593	
12594	* Makefile.am: Remove -ljpeg from link line.
12595	* khtml/misc/loader_jpeg.cpp: Removed.
12596	* khtml/misc/loader_jpeg.h: Removed.
12597	* khtml/misc/Makefile.am: Remve loader_jpeg from build.
12598
125992002-05-10  Richard J. Williamson  <rjw@apple.com>
12600
12601	Made log output match webkit logging.
12602
12603	* kwq/kwqdebug.mm:
12604	(KWQLog):
12605
126062002-05-10  Chris Blumenberg  <cblu@apple.com>
12607
12608	Changed WCIFWebDataSourceMake to wrap around [IFWebDataSource initWithURL: attributes: flags:]
12609	instead of initWithHandle. 
12610
12611	* kwq/KWQKHTMLPart.mm:
12612	(KHTMLPart::requestFrame):
12613	(KHTMLPart::submitForm):
12614	* kwq/WCWebDataSource.h:
12615	* libwebcore.exp:
12616
126172002-05-10  Darin Adler  <darin@apple.com>
12618
12619	* kwq/WebCoreTextRenderer.h:
12620
126212002-05-09  Richard J. Williamson  <rjw@apple.com>
12622
12623    Added new method to avoid creation of NSString.
12624    
12625        - (void)drawCharacters:(const UniChar *)characters length: (unsigned)length atPoint:(NSPoint)point withColor:(NSColor *)color;
12626
12627	* kwq/KWQPainter.mm:
12628	(QPainter::drawText):
12629	* kwq/WebCoreTextRenderer.h:
12630
126312002-05-09  Kenneth Kocienda  <kocienda@apple.com>
12632
12633        Fix for this bug:
12634
12635        Radar 2890624 (need to remove workaround for double free of image data from QPixmap)
12636
12637        The appropriate, bug-free AppKit code is now available to us on Jaguar. 
12638        Rolling out the workaround.
12639
12640	* kwq/KWQPixmap.mm:
12641	(QPixmap::QPixmap)
12642
12643=== Alexander-3 ===
12644
126452002-05-07  Darin Adler  <darin@apple.com>
12646
12647	* kwq/KWQFontMetrics.mm: Fixed storage leak by initializing refCount.
12648
126492002-05-07  Darin Adler  <darin@apple.com>
12650
12651	Move more plugin code into WebKit.
12652
12653	Stop using IF for anything in WebCore to help make it clear what's part of
12654	the BSD licensed stuff and what's part of our proprietary stuff.
12655
12656	* libwebcore.exp: Names of what exported changed.
12657	* kwq/Makefile.am: Source file names changed.
12658
12659	* kwq/IFTextRenderer.h: Renamed to WebCoreTextRenderer.
12660	* kwq/IFTextRendererFactory.h: Renamed to WebCoreTextRendererFactory.
12661	* kwq/IFTextRendererFactory.m: Renamed to WebCoreTextRendererFactory.
12662	* kwq/WebCoreTextRenderer.h: Renamed from IFTextRenderer.
12663	* kwq/WebCoreTextRendererFactory.h: Renamed from IFTextRendererFactory.
12664	* kwq/WebCoreTextRendererFactory.m: Renamed from IFTextRendererFactory.
12665
12666	* kwq/KWQFontMetrics.mm:
12667	* kwq/KWQPainter.mm:
12668	Updated for IF -> WebCore name change.
12669
12670	* kwq/WebCoreViewFactory.h: Added.
12671	* kwq/WebCoreViewFactory.m: Added.
12672
12673	* kwq/KWQKConfigBase.mm: (KConfig::readEntry): (KConfig::readNumEntry):
12674	Use the new [WebCoreViewFactory pluginsInfo] so we don't have to have
12675	the plugin database in WebCore any more.
12676
12677	* kwq/WCJavaAppletWidget.h:
12678	* kwq/WCJavaAppletWidget.mm: (IFJavaAppletWidgetCreate):
12679	* kwq/WCPluginWidget.h:
12680	* kwq/WCPluginWidget.mm: (IFPluginWidgetCreate):
12681	Remove creation function machinery, and use the WebCoreViewFactory instead.
12682
12683	* kwq/WCPlugin.h: Moved to WebKit.
12684	* kwq/WCPlugin.mm: Moved to WebKit.
12685	* kwq/WCPluginDatabase.h: Moved to WebKit.
12686	* kwq/WCPluginDatabase.mm: Moved to WebKit.
12687	* kwq/npapi.h: Moved to WebKit.
12688	* kwq/npapi.mm: Moved to WebKit.
12689
126902002-05-06  Darin Adler  <darin@apple.com>
12691
12692	* WebCorePrefix.h: Added.
12693
12694	* .cvsignore: Ignore the .pfe files in this directory.
12695
12696	* khtml/dom/dom_doc.cpp:
12697	* khtml/dom/dom_text.cpp:
12698	Added namespace directives as a clean workaround for a conflict
12699	with the struct named Comment in <Carbon/AIFF.h>
12700
12701	* kwq/KWQFont.mm:
12702	* kwq/KWQFontMetrics.mm:
12703	* kwq/KWQKGlobal.mm:
12704	* kwq/KWQListImpl.mm:
12705	* kwq/KWQPtrDictImpl.h:
12706	* kwq/KWQVectorImpl.mm:
12707	* kwq/kwqdebug.h:
12708	* kwq/qt/qcolor.h:
12709	* kwq/qt/qcombobox.h:
12710	* kwq/qt/qregion.h:
12711	* kwq/qt/qstring.h:
12712	* kwq/qt/qwidget.h:
12713	Remove old workaround for conflicts with Fixed, Rect, and Boolean.
12714	It does not good with a precompiled header anyway, and there is a
12715	more elegant small fix in the KDE code itself.
12716
12717	* kwq/qt/qpoint.h:
12718	* kwq/KWQPointArray.mm: (QPointArray::setPoints):
12719	Work around bug with va_arg and PFE by not using varargs here.
12720
12721	* kwq/KWQRect.mm: (QRect::unite): (QRect::operator&):
12722	Use std::min and std::max instead of defining our own MIN and MAX, which
12723	conflict with something in one of the headers we are precompiling (error
12724	message did not make it clear which).
12725
12726	* kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
12727	Switch from xNDEBUG to NDEBUG.
12728
12729	* kwq/Makefile.am: Remove stuff for getting at the header inside the
12730	ApplicationServices and QD frameworks, since that code is now in WebKit.
12731
12732	* kwq/kwqdebug.h: Get rid of format attribute because of bug 2920557.
12733	Switch from xNDEBUG to NDEBUG.
12734
12735	* kwq/kwqdebug.mm: Switch from xNDEBUG to NDEBUG.
12736
12737	* kwq/qt/qstring.h: Define QT_VERSION in here instead of on the command
12738	line to work around a PFE bug with -D, Radar 2921026.
12739
127402002-05-06  Richard J. Williamson  <rjw@apple.com>
12741        
12742        Changes to support dhmtl.
12743        Changes to support targeting (regression after 3.0 merge).
12744
12745	* khtml/khtmlview.cpp:
12746	* kwq/KWQEvent.mm:
12747	* kwq/KWQKHTMLPart.mm:
12748	* kwq/KWQObject.mm:
12749	* kwq/KWQWidget.mm:
12750	* kwq/qt/qevent.h:
12751	* kwq/qt/qobject.h:
12752	* kwq/qt/qwidget.h:
12753
127542002-05-03  Darin Adler  <darin@apple.com>
12755
12756	* khtml/css/cssstyleselector.cpp:
12757	* khtml/dom/css_value.cpp:
12758	* khtml/xml/dom_stringimpl.cpp:
12759	Put in some namespace-related statements to more-elegantly work around the
12760	conflicts between Macintosh and khtml identifiers.
12761
127622002-05-03  Darin Adler  <darin@apple.com>
12763
12764	* kwq/IFTextRenderer.h: Added.
12765	* kwq/IFTextRendererFactory.h: Added.
12766	* kwq/IFTextRendererFactory.m: Added.
12767	These three are the new API for supplying text rendering machinery for WebCore.
12768	The implementation is in WebKit. Later we might want to flesh out the default
12769	implementation in WebCore so that it works OK by itself.
12770
12771	* khtml/rendering/font.cpp: (Font::width): Function is now "width" without
12772	an underscore. We don't really need to hide the overload we added in this
12773	case.
12774
12775	* kwq/qt/qfont.h: Simplify a lot. Doesn't hold an NSFont any more.
12776	* kwq/KWQFont.mm:
12777	(QFont::QFont): Eliminated the concept of "default font". Also, a QFont no
12778	longer holds an NSFont object. That's handled inside IFTextRenderer machinery.
12779	(QFont::~QFont): Simplify since we don't have an NSFont.
12780	(QFont::setFamily): Simplify since we don't have an NSFont.
12781	(QFont::setPixelSize): Simplify since we don't have an NSFont.
12782	(QFont::setPixelSizeFloat): Simplify since we don't have an NSFont.
12783	(QFont::setWeight): Simplify since we don't have an NSFont.
12784	(QFont::weight): Fix a bug where it would return Normal for a QFont that was
12785	both bold and italic.
12786	(QFont::setItalic): Simplify since we don't have an NSFont.
12787	(QFont::italic): Simplify since we have real "bool".
12788	(QFont::bold): Simplify since we have real "bool".
12789	(QFont::operator=): Simplify since we don't have an NSFont.
12790	(QFont::operator==): Rewrite since we don't have an NSFont.
12791
12792	* kwq/qt/qfontmetrics.h: Simplify a little. The _width() method is now just an
12793	overload of the width() method. The main change was removing the include of Cocoa.h.
12794	* kwq/KWQFontMetrics.mm:
12795	Move most of the code out of here into WebKit.
12796	(QFontMetrics::ascent): Get it from the renderer.
12797	(QFontMetrics::descent): Get it from the renderer.
12798	(QFontMetrics::lineSpacing): Get it from the renderer.
12799	(QFontMetrics::width): Get it from the renderer.
12800	(QFontMetrics::boundingRect): Combine width and height that came from the renderer.
12801	(QFontMetrics::size): Combine width and height that came from the renderer.
12802
12803	* kwq/Makefile.am: Add IFTextRendererFactory.m, remove KWQTextStorage.mm and KWQTextContainer.mm.
12804	* kwq/KWQMetrics.h: Removed.
12805	* kwq/KWQTextContainer.h: Removed.
12806	* kwq/KWQTextContainer.mm: Removed.
12807	* kwq/KWQTextStorage.h: Removed.
12808	* kwq/KWQTextStorage.mm: Removed.
12809
12810	* kwq/KWQPainter.mm:
12811	Move most of the code out of here into WebKit.
12812	(QPainter::drawText): Call the renderer to do it.
12813	(QPainter::drawUnderlineForText): Call the renderer to do it.
12814
12815	* libwebcore.exp: Export the IFTextRendererFactory class.
12816
128172002-04-26  Darin Adler  <darin@apple.com>
12818
12819	* kwq/make-mac-encodings.c: (main): One more place that needed a workaround
12820	for Radar 2912404 (kCFStringEncodingInvalidId is negative even though
12821	CFStringEncoding is unsigned).
12822
12823	* kwq/KWQTextArea.mm: (-[KWQTextArea paragraphs]): Do this
12824	ourselves so we don't rely on WebFoundation.
12825	* kwq/Makefile.am: Don't do a -I for WebFoundation.
12826
128272002-04-26  Darin Adler  <darin@apple.com>
12828
12829	Pay no attention to the man who is not supposed to be working.
12830
12831	* khtml/Makefile.am:
12832	* khtml/css/Makefile.am:
12833	* khtml/ecma/Makefile.am:
12834	* khtml/html/Makefile.am:
12835	* khtml/java/Makefile.am:
12836	* khtml/misc/Makefile.am:
12837	* khtml/rendering/Makefile.am:
12838	* khtml/xml/Makefile.am:
12839	Don't generate empty .moc files or khtmldata.h; there's no reason
12840	not to just check them in instead. Also tweak a few build rules to
12841	use automatic make variables.
12842
12843	* khtml/ecma/kjs_window.moc: Added.
12844	* khtml/html/html_documentimpl.moc: Added.
12845	* khtml/html/htmltokenizer.moc: Added.
12846	* khtml/java/kjavaapplet.moc: Added.
12847	* khtml/java/kjavaappletcontext.moc: Added.
12848	* khtml/java/kjavaappletserver.moc: Added.
12849	* khtml/java/kjavaappletwidget.moc: Added.
12850	* khtml/java/kjavadownloader.moc: Added.
12851	* khtml/java/kjavaprocess.moc: Added.
12852	* khtml/khtmlview.moc: Added.
12853	* khtml/misc/khtmldata.h: Added.
12854	* khtml/rendering/render_form.moc: Added.
12855	* khtml/rendering/render_frames.moc: Added.
12856	* khtml/rendering/render_replaced.moc: Added.
12857	* khtml/xml/dom_docimpl.moc: Added.
12858	* khtml/xml/xml_tokenizer.moc: Added.
12859
12860	* kwq/kwqdebug.mm: Make some globals private.
12861
128622002-04-25  Darin Adler  <darin@apple.com>
12863
12864	* kwq/KWQMetrics.h: Add NSObject to required protocols for
12865	the KWQLayoutFragment protocol so we can retain and release.
12866
12867	* kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
12868	Removed a cast to NSObject * that worked around the lack of the above.
12869
128702002-04-25  Richard Williamson  <rjw@apple.com>
12871
12872        Little changes in preparation for events.
12873
12874	* khtml/ecma/kjs_proxy.cpp:
12875	(KJSProxyImpl::createHTMLEventHandler):
12876	* kwq/KWQKHTMLPart.mm:
12877	(KHTMLPart::createHTMLEventListener):
12878
128792002-04-25  Darin Adler  <darin@apple.com>
12880
12881	Add a workaround for Radar 2912404 (kCFStringEncodingInvalidId is negative even
12882	though CFStringEncoding is unsigned)
12883
12884	* kwq/KWQCharsets.mm:
12885	(KWQCFStringEncodingFromIANACharsetName):
12886	(KWQCFStringEncodingFromMIB):
12887	* kwq/KWQtextcodec.mm:
12888	(QTextCodec::codecForMib):
12889	(QTextCodec::codecForName):
12890	* kwq/make-charset-table.pl:
12891	Add casts to (CFStringEncoding) wherever we use kCFStringEncodingInvalidId.
12892
128932002-04-25  Darin Adler  <darin@apple.com>
12894
12895	Rework plugin code to prepare to move more of it into WebKit.
12896
12897	* khtml/rendering/render_applet.cpp:
12898	(RenderApplet::RenderApplet): Create a widget for the applet using
12899	the new simpler API.
12900
12901	* kwq/kdecore/kconfig.h:
12902	* kwq/KWQKConfigBase.mm: Eliminate KConfigBase.
12903	Set things up so we are poised to handle the other non-plugin
12904	config keys easily in the future.
12905
12906	* kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject): Use the new simpler
12907	IFPluginWidgetCreate API instead of the older WCPluginWidget one.
12908
12909	* kwq/qt/qstring.h: Add simpler conversions to/from NSString.
12910	* kwq/KWQString.mm: (QString::fromNSString): New.
12911
12912	* kwq/WCPluginWidget.h: Made this API simpler both for the C++
12913	side and the Objective-C side. There's now no class, and only one
12914	function that needs to be supplied (normally by WebKit).
12915	* kwq/WCJavaAppletWidget.h: Same thing for the Java case.
12916
12917	* kwq/WCJavaAppletWidget.mm:
12918	(IFSetJavaAppletViewCreationFunction): New.
12919	(IFJavaAppletWidgetCreate): New. Most of the code that was in here
12920	is now moved into WebKit.
12921	* kwq/WCPluginWidget.mm:
12922	(IFSetPluginViewCreationFunction): New.
12923	(IFPluginWidgetCreate): New. Most of the code that was in here
12924	is now moved into WebKit.
12925
12926	* libwebcore.exp: Update for new function names.
12927
129282002-04-24  Chris Blumenberg  <cblu@apple.com>
12929
12930	Renamed [IFWebDataSource frame] to [IFWebDataSource webFrame]
12931
12932	* kwq/KWQKHTMLPart.mm:
12933	(KHTMLPart::submitForm):
12934	(KHTMLPart::khtmlMouseReleaseEvent):
12935	* kwq/external.h:
12936
12937=== Alexander 0.3c2 (v1) ===
12938
129392002-04-24  Darin Adler  <darin@apple.com>
12940
12941	Get rid of all NEED_BOGUS_XXX.
12942
12943	* khtml/java/Makefile.am: Remove -DNEED_BOGUS_TEXTSTREAMS and
12944	-DNEED_BOGUS_X_DEFINES.
12945	* khtml/rendering/Makefile.am: Remove -DNEED_BOGUS_X_DEFINES.
12946	* khtml/xml/Makefile.am: Remove -DNEED_BOGUS_TEXTSTREAMS.
12947	* kwq/Makefile.am: Remove -DNEED_BOGUS_X_DEFINES and KWQKJavaEmbed.mm.
12948	* kwq/KWQKJavaEmbed.mm: Removed.
12949
12950	* kwq/KWQDef.h: Remove XEvent define (inside NEED_BOGUS_X_DEFINES).
12951
12952	* kwq/qt/qtextstream.h: Don't look at NEED_BOGUS_TEXTSTREAMS.
12953	* kwq/KWQtextstream.mm: Don't look at NEED_BOGUS_TEXTSTREAMS.
12954
12955	* khtml/java/javaembed.h: Made this just a QWidget typedef for now.
12956	* khtml/java/kjavaappletwidget.cpp: ifdef out the unused setWindow function.
12957
129582002-04-23  Darin Adler  <darin@apple.com>
12959
12960	* khtml/css/css_valueimpl.cpp:
12961	(CSSPrimitiveValueImpl::computeLengthFloat):
12962	* khtml/css/cssstyleselector.cpp:
12963	(CSSStyleSelector::computeFontSizes):
12964	Remove our 72/96 dpi changes. They weren't doing much good.
12965	But this doesn't fix all the 72/96 dpi issues. It's just the start.
12966
12967	* kwq/khtml/khtml_settings.h:
12968	* kwq/KWQKHTMLSettings.mm:
12969	Remove some unused stuff: charset(), setCharset(), availableFamilies(),
12970	fontSizes(), SCREEN_RESOLUTION.
12971
129722002-04-23  Kenneth Kocienda  <kocienda@apple.com>
12973
12974        Reviewed by: Darin Adler
12975
12976        Fix for Radar 2908403 (Fix names in WebFoundation extensions code)
12977
12978        Extensions code in WebFoundation now is in its own namespace.
12979        Where we have added categories to existing Foundation and AppKit
12980        classes, the categories begin with the IF prefix. All method names
12981        begin with the _IF_ prefix.
12982
12983        The file here was changed to use the new names.
12984
12985	* kwq/KWQTextArea.mm:
12986	(-[KWQTextArea paragraphs])
12987
129882002-04-23  Kenneth Kocienda  <kocienda@apple.com>
12989
12990	* kwq/KWQPixmap.mm:
12991	(QPixmap::QPixmap): Fixed unneeded leak of an NSImage in
12992        the case where we are still covering for a double-release
12993        bug in AppKit. No need to add insult to injury. :)
12994
129952002-04-22  Darin Adler  <darin@apple.com>
12996
12997	Fix width of non-breaking spaces. There's code to hack this
12998	at the KDE level for fonts that don't have non-breaking space
12999	characters, but we need it even for fonts that do.
13000
13001	Not sure why this worked better on Puma, but now it's fine on
13002	both Puma and Jaguar.
13003
13004	* kwq/KWQFontMetrics.mm:
13005	(ConvertCharactersToGlyphs): New. Turns non-breaking spaces into
13006	normal spaces if needed.
13007	(-[KWQLayoutInfo drawString:atPoint:withFont:color:]),
13008	(-[KWQLayoutInfo _initializeCaches]), (_rectForString): Change to
13009	call ConvertCharactersToGlyphs instead of ATSUConvertCharToGlyphs.
13010
130112002-04-22  Darin Adler  <darin@apple.com>
13012
13013	* kwq/qt/qpixmap.h:
13014	* kwq/KWQPixmap.mm:
13015	(QPixmap::QPixmap): Clear needsCopyOnWrite flag in all the
13016	constructors other than the copy constructor. Set it in the copy
13017	constructor.
13018	(QPixmap::~QPixmap): Simplify.
13019	(QPixmap::mask): Always return 0 rather than leaking a QBitmap each time,
13020	since Qt uses 0 to mean "no mask".
13021	(QPixmap::isNull): Simplify.
13022	(QPixmap::resize): Do the copy here if we need it, and do the setScalesWhenResized:
13023	call in here instead of trying to do it elsewhere.
13024	(QPixmap::xForm): Only copy the pixmap once.
13025	(QPixmap::operator=): Set the needsCopyOnWrite flag. Also change the retain/release
13026	idiom around so we don't need to check for self-assignment.
13027
13028	* khtml/ecma/Makefile.am: Don't build kjs_debugwin any more.
13029	* khtml/ecma/kjs_debugwin.cpp: Removed.
13030	* khtml/ecma/kjs_debugwin.h: Removed.
13031
130322002-04-22  Chris Blumenberg  <cblu@apple.com>
13033
13034	Added a new method to WCPluginDatabase allHandledMIMETypes.
13035	It returns an  array of the mime types that plug-ins handle.
13036
13037	* kwq/WCPluginDatabase.h:
13038	* kwq/WCPluginDatabase.mm:
13039	(-[WCPluginDatabase allHandledMIMETypes]):
13040
130412002-04-20  Darin Adler  <darin@apple.com>
13042
13043	Problems loading iframes seemed to be due to NSURL objects that
13044	were not normalized, so I made the NSURL creation all be done
13045	by KURL, which fixed the problem.
13046
13047	* kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame), (KHTMLPart::submitForm),
13048	(KHTMLPart::khtmlMouseReleaseEvent):
13049	* kwq/KWQKjobclasses.mm:
13050	Call getNSURL instead of creating NSURLs by converting to strings.
13051
13052	* kwq/kdecore/kurl.h:
13053	* kwq/KWQKURL.mm: (KURL::getNSURL): New.
13054
130552002-04-19  Kenneth Kocienda  <kocienda@apple.com>
13056
13057        Changes to support submission of forms using HTTP POST.
13058                
13059        These changes move us over to using the new WebKit interface for creating 
13060        WebDataSource instances, one that passes a handle rather than just a URL, 
13061        enabling the specific request method to be communicated to WebFoundation.
13062        This fixes:
13063
13064        Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)
13065
13066        Fixed handling of password fields:
13067
13068        Radar 2903605 (WebCore form processing drops out password input data)
13069        
13070        Added some hacks to get form <input type=image ...> working correctly:
13071
13072        Radar 2907198 (Forms not getting submitted correctly when <input type=image>)
13073        
13074        
13075	* khtml/rendering/render_form.cpp: (RenderImageButton::RenderImageButton),
13076	(RenderImageButton::~RenderImageButton), (RenderImageButton::printObject):
13077	* khtml/rendering/render_form.h:
13078	* kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame), (KHTMLPart::submitForm),
13079	(KHTMLPart::khtmlMouseReleaseEvent):
13080	* kwq/KWQNSTextField.mm: (-[KWQNSTextField setPasswordMode:]), (-[KWQNSTextField
13081	textDidChange:]), (-[KWQNSTextField stringValue]):
13082	* kwq/Makefile.am:
13083        * kwq/KWQInvisibleButton.h: Added
13084        * kwq/KWQInvisibleButton.mm: Added
13085
130862002-04-18  Darin Adler  <darin@apple.com>
13087
13088	Fixes for compiling with gcc3 and more warnings.
13089
13090	* khtml/html/.cvsignore: Add kentities.c; I could have sworn I did this
13091	already.
13092	* khtml/html/Makefile.am: Remove erroneous duplicate definition of
13093	CLEAN_FILES.
13094
13095	* libwebcore.exp:
13096	* libwebcoretests.exp:
13097	Rebuilt these lists from scratch. Almost everything in here is different
13098	since the C++ name mangling rules changed.
13099
13100	* khtml/css/cssparser.cpp:
13101	* khtml/misc/htmlhashes.cpp:
13102	Disable inlining in part of this file as a workaround for Radar 2905890.
13103
13104	* kwq/KWQApplication.mm: (QDesktopWidget::screenGeometry):
13105	Add casts to int needed to make gcc3 happy.
13106	* kwq/KWQArrayImpl.mm: Add missing #include of <string.h>.
13107
13108	* kwq/KWQBitmap.mm:
13109	* kwq/KWQFrame.mm:
13110	* kwq/KWQLineEdit.mm:
13111	Removed some unused copy constructors and assignment operators to avoid
13112	warnings in them.
13113
13114	* kwq/KWQButton.mm: (QButton::setText):
13115	* kwq/KWQListBox.mm: (QListBox::~QListBox), (QListBox::clear),
13116	(QListBox::setSelectionMode), (QListBox::currentItem), (QListBox::insertItem),
13117	(QListBox::setSelected), (QListBox::isSelected), (QListBoxItem::width),
13118	(QListBoxItem::height):
13119	* kwq/KWQScrollView.mm: (QScrollView::setContentsPos), (QScrollView::addChild),
13120	(QScrollView::resizeContents), (QScrollView::viewportToContents),
13121	Use local variables to work around Radar 2905835.
13122
13123	* kwq/KWQCString.mm: (operator<<):
13124	* kwq/KWQPoint.mm: (operator<<):
13125	* kwq/KWQRect.mm: (operator<<):
13126	* kwq/KWQSize.mm: (operator<<):
13127	* kwq/qt/qarray.h:
13128	* kwq/qt/qcstring.h:
13129	* kwq/qt/qdatetime.h:
13130	* kwq/qt/qdict.h:
13131	* kwq/qt/qlist.h:
13132	* kwq/qt/qmap.h:
13133	* kwq/qt/qpainter.h:
13134	* kwq/qt/qpoint.h:
13135	* kwq/qt/qptrdict.h:
13136	* kwq/qt/qrect.h:
13137	* kwq/qt/qsize.h:
13138	* kwq/qt/qstack.h:
13139	* kwq/qt/qvaluelist.h:
13140	* kwq/qt/qvector.h:
13141	Say std::ostream instead of just ostream.
13142
13143	* kwq/KWQCharsets.mm: Fix a const problem.
13144
13145	* kwq/KWQDateTime.mm: (QTime::elapsed), (QTime::restart): Use int instead
13146	of uint, since these functions try to handle values that are less than 0.
13147	(operator<<): Say std::ostream instead of just ostream.
13148	* kwq/KWQTextArea.mm: (RangeOfParagraph): Fix an int/uint issue.
13149
13150	* kwq/KWQFile.mm: (QFile::KWQFilePrivate::KWQFilePrivate),
13151	(QFile::KWQFilePrivate::~KWQFilePrivate): Use new/delete instead of
13152	malloc/free so we don't get void * warnings.
13153
13154	* kwq/KWQFontMetrics.mm: (__IFFillStyleWithAttributes),
13155	(-[KWQLayoutInfo drawString:atPoint:withFont:color:]),
13156	(-[KWQLayoutInfo _initializeCaches]),
13157	(_rectForString):
13158	* kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate),
13159	(RelativeURLKeyRetainCallBack), (RelativeURLKeyReleaseCallBack),
13160	(RelativeURLKeyEqualCallBack), (RelativeURLKeyHashCallBack),
13161	(KURL::normalizeURLString), (KURL::normalizeRelativeURLString):
13162	* kwq/KWQPainter.mm: (QPainter::save):
13163	* kwq/KWQKloader.mm:
13164	(-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]),
13165	(-[URLLoadClient IFURLHandle:didRedirectToURL:]):
13166	Add type casts where necessary to make the stricter gcc3 happy.
13167
13168	* kwq/KWQPixmap.mm: (QPixmap::QPixmap): Explicitly initialize the underlying
13169	QPaintDevice.
13170	(QPixmap::size), (QPixmap::rect): Add type casts where necessary to make
13171	the stricter gcc3 happy.
13172	
13173	* kwq/KWQPtrDictImpl.mm: (KWQPtrDictImpl::KWQPtrDictPrivate::KWQPtrDictPrivate):
13174	Say std::bad_alloc instead of just bad_alloc.
13175	(invokeDeleteFuncOnValue), (KWQPtrDictImpl::clear): Pass a pointer to a function
13176	pointer rather than a function pointer to avoid a warning about turning function
13177	pointers into void *.
13178
13179	* kwq/KWQRegion.mm: (QRegion::_initialize), (QRegion::~QRegion): Use new/delete
13180	rather than calloc/free so we don't get void * warnings.
13181	(QRegion::boundingRect): Add type casts.
13182
13183	* kwq/KWQString.mm: (QString::fromStringWithEncoding): Add cast.
13184	(QString::setNum): use %ld and %lu rather than %D and %U.
13185	(QString::fill), (QString::convertToQCString): Add casts.
13186
13187	* kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
13188	Add a cast to make gcc3 happy.
13189
13190	* kwq/KWQVariant.mm: Say "friend class" instead of "friend".
13191
13192	* kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate):
13193	Say std::bad_alloc instead of just bad_alloc.
13194	(KWQVectorImpl::data): Replace the old autorelease trick with a new one that
13195	doesn't require mixing malloc with NSData.
13196
13197	* kwq/KWQView.mm: (-[KWQHTMLView mouseUp:]), (-[KWQHTMLView mouseDown:]):
13198	Add casts to make gcc3 happy.
13199
13200	* kwq/KWQWidget.mm: (QWidget::frameGeometry), (QWidget::mapToGlobal),
13201	(QWidget::minimumSizeHint): Add casts to make gcc3 happy. Also another
13202	workaround for Radar 2905835.
13203
13204	* kwq/WCPlugin.mm: (-[WCPlugin load]): Add tons of type casts so we don't have
13205	to mix void * with function pointer types.
13206
13207	* kwq/WCPluginWidget.h:
13208	* kwq/WCPluginWidget.mm: (WCIFPluginMakeFunction), (WCIFNullPluginMakeFunction):
13209	Change types so we don't have to mix void * with function pointer types.
13210	This caught a mistake where WCIFNullPluginMakeFunction was returning the wrong
13211	function pointer.
13212
13213	* kwq/external.h: Add some missing interfaces that the pickier gcc3 needed to see.
13214
13215	* kwq/kwqdebug.mm: Don't compile the file if xNDEBUG is set. Otherwise we get
13216	a warning in here.
13217
13218	* kwq/npapi.h: Use function pointer types for function pointers and transition
13219	vectors so we don't have to mix void * with function pointer types.
13220
13221	* kwq/npapi.mm: (NPN_GetURLNotify), (NPN_GetURL),
13222	(NPN_PostURLNotify), (NPN_PostURL), (NPN_NewStream), (NPN_Write),
13223	(NPN_DestroyStream), (NPN_Status), (NPN_GetValue), (NPN_SetValue),
13224	(NPN_InvalidateRect), (NPN_InvalidateRegion), (NPN_ForceRedraw):
13225	Use local variables to work around Radar 2905835.
13226	(functionPointerForTVector), (tVectorForFunctionPointer):
13227	Change types around so we don't have to mix void * with function pointer types.
13228
132292002-04-17  Darin Adler  <darin@apple.com>
13230
13231	Fix some std:: things as a first step in compiling with gcc 3.
13232	These fixes are all needed to compile WebBrowser with gcc 3.
13233
13234	* kwq/qt/qarray.h:
13235	* kwq/qt/qcstring.h:
13236	* kwq/qt/qlist.h:
13237	* kwq/qt/qmap.h:
13238	* kwq/qt/qpainter.h:
13239	* kwq/qt/qpoint.h:
13240	* kwq/qt/qrect.h:
13241	* kwq/qt/qsize.h:
13242	* kwq/qt/qvaluelist.h:
13243	Call it std::ostream instead of ostream.
13244
132452002-04-17  Darin Adler  <darin@apple.com>
13246
13247	Fix build problem.
13248
13249	* Makefile.am: Don't build this directory before subdirs, because
13250	we link at this level. Move the kentities.c build out of here,
13251	because it needs to be done before khtml/html.
13252	* khtml/html/Makefile.am: Move kentities.c build rules here.
13253
13254	* kentities.gperf: Removed.
13255	* khtml/html/kentities.gperf: Added.
13256
13257	* .cvsignore: Don't ignore kentities.c.
13258	* khtml/html/.cvsignore: Ignore kentities.c.
13259
132602002-04-17  Darin Adler  <darin@apple.com>
13261
13262	* .cvsignore: Ignore new generated files at this level.
13263
13264	* include/ *: Removed. We don't need this hack any more.
13265	* src/ *: Removed. Sources are now in their new locations.
13266	* src/libwebcore.exp: Removed. This is now in its new location.
13267	* src/libwebcoretests.exp: Removed. This is now in its new location.
13268
13269	* Makefile.am: Build khtml and kwq subdirs, don't build src and include.
13270	Also add the rules that used to be in src about linking the library and
13271	the rules that used to be in src/kdelibs/kdecore about building the
13272	kentitices.c file.
13273
13274	* dummy.mm: Moved here from src by hand.
13275	* kentities.gperf: Moved here from src/kdelibs/kdecore by hand.
13276
13277	* khtml/html/Makefile.am: Add WebCore directory to includes so the
13278	include of "kentities.c" will work.
13279
13280	* kwq/KWQKHTMLPart.mm:
13281	* kwq/KWQKJavaEmbed.mm:
13282	* kwq/KWQKloader.mm:
13283	Correct includes so we don't need a -I for each of the subdirectories.
13284
13285	* kwq/khtml/java/javaembed.h: Removed. We use the one in the real
13286	khtml directory.
13287
13288	* kwq/kwqdebug.h: Rolled over Chris's changes, which were done after
13289	the cvs surgery was done.
13290
132912002-04-17  Chris Blumenberg  <cblu@apple.com>
13292
13293	Added a debug bit mask for plugins and downloads.
13294
13295	* src/kwq/kwqdebug.h:
13296
132972002-04-16  Darin Adler  <darin@apple.com>
13298
13299	* src/kdelibs/khtml/khtml_part.cpp: Added. Not used yet, but maybe we'll use
13300	part of it some time soon.
13301
13302	* src/kdelibs/khtml/khtml_part.h: Reenabled this file, and made changes so it
13303	could be used instead of our own header.
13304	* src/kwq/KWQKHTMLPart.h: Removed.
13305
13306	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::KHTMLPart): Add parameter to match KDE.
13307	(KHTMLPart::settings): Add const to match KDE.
13308	(KHTMLPart::scheduleRedirection): Add parameter to match KDE.
13309	(KHTMLPart::encoding): Add const to match KDE.
13310	(KHTMLPart::urlCursor): Update return value to match KDE.
13311	(KHTMLPart::urlSelected): Add parameter to match KDE.
13312	(KHTMLPart::requestObject): Put plugins array on private object.
13313	(KHTMLPart::frames): Remove const to match KDE.
13314	(KHTMLPart::documentSource): Add const to match KDE.
13315	(KHTMLPart::setTitle): Put dataSource on private object.
13316	(KHTMLPart::setDataSource): New, not inline any more.
13317	(KHTMLPart::getDataSource): New, not inline any more.
13318
13319	* src/libwebcore.exp: Update for function name changes.
13320
13321	* src/kwq/khtml/khtml_settings.h:
13322	* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::changeCursor): Add const.
13323
13324	* src/kwq/KWQView.mm: (-[KWQHTMLView layout]): No need to check xmlDocImpl()
13325	and renderer() for NULL now, because KHTMLView::layout does.
13326
13327	* src/kwq/KWQKloader.mm: (Loader::load): Use type instead of id.
13328
133292002-04-16  Darin Adler  <darin@apple.com>
13330
13331	* src/kwq/kio/jobclasses.h:
13332	* src/kwq/KWQKjobclasses.mm: (TransferJob::setError): New.
13333
13334	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]),
13335	(-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
13336	Set an error code so that the load will abort intead of continuing.
13337
13338	* src/kwq/KWQKHTMLPart.mm: Removed some unused code.
13339
133402002-04-16  Kenneth Kocienda  <kocienda@apple.com>
13341
13342        Moved IFError class from WebKit to WebFoundation.
13343        Updated URL handle client interface to pass an IFError in
13344        an error callback rather than a plain int. These files were
13345        modified due to this change.
13346
13347	* src/kwq/KWQKHTMLPart.mm: (WCSetIFWebDataSourceMakeFunc):
13348	* src/kwq/KWQKloader.mm: (-[URLLoadClient
13349	IFURLHandle:resourceDidFailLoadingWithResult:]):
13350
13351        Removed now unneeded file and function pointer symbol entry
13352        since WebCore code never needs to create an IFError now that 
13353        those objects are created at a lower level (in WebFoundation).
13354        
13355	* src/kwq/WCError.h: Removed.
13356	* src/libwebcore.exp:
13357
133582002-04-15  Darin Adler  <darin@apple.com>
13359
13360	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
13361	Remove some minor gratuitous diffs vs. KDE.
13362
133632002-04-15  Richard Williamson  <rjw@apple.com>
13364
13365        Updated to reflect changes in KDE.
13366        
13367	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
13368
133692002-04-15  Darin Adler  <darin@apple.com>
13370
13371	* src/kdelibs/khtml/css/css_valueimpl.cpp:
13372	(FontFamilyValueImpl::FontFamilyValueImpl): Fix comment.
13373	* src/kdelibs/khtml/css/cssstyleselector.cpp: Remove some gratuitous diffs vs. KDE.
13374	* src/kdelibs/khtml/html/html_objectimpl.cpp:
13375	(HTMLEmbedElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
13376	* src/kdelibs/khtml/html/html_tableimpl.cpp:
13377	(HTMLTableElementImpl::parseAttribute),
13378	(HTMLTablePartElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
13379	* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::processToken): Redo the
13380	APPLE_CHANGES ifdef here.
13381	* src/kdelibs/khtml/khtmlpart_p.h: Update to latest kde.
13382	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView): Add ifdef APPLE_CHANGES.
13383	(KHTMLView::~KHTMLView): Add ifdef APPLE_CHANGES.
13384	(KHTMLView::print): Remove code left in here during merge process.
13385	* src/kwq/KWQKHTMLPart.mm: Remove unused setFontSizes(), fontSizes(), and
13386	resetFontSizes(). After the merge is landed, remove more.
13387	* src/libwebcore.exp: Export updateStyleSelector() for WebKit.
13388
133892002-04-15  Darin Adler  <darin@apple.com>
13390
13391	Fix text to it displays at the right font size.
13392
13393	* src/kdelibs/khtml/css/cssstyleselector.cpp:
13394	(CSSStyleSelector::computeFontSizes): Apply the same SCREEN_RESOLUTION hack here
13395	that we do elsewhere.
13396	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Use kMin instead of max (oops).
13397	(Font::update): Turn off font database chicanery.
13398	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::zoomFactor): Use zoom factor 100, not 1.
13399
134002002-04-15  Darin Adler  <darin@apple.com>
13401
13402	More fixes so text displays (still at wrong font size).
13403
13404	* src/kdelibs/khtml/rendering/font.cpp: (max): New helper.
13405	(Font::drawText): Simplified implementation for now.
13406	(Font::width): Simplified implementation for now.
13407	* src/kwq/KWQColorGroup.mm: Reinstated QCOLOR_GROUP_SIZE.
13408
13409	* src/kwq/qt/qfontmetrics.h: Removed charWidth and changed _width to take QChar *.
13410	* src/kwq/KWQFontMetrics.mm: Removed charWidth and changed _width to take QChar *.
13411
134122002-04-15  Darin Adler  <darin@apple.com>
13413
13414	Merged changes from KDE 3.0 final. Other fixes to get things compiling.
13415
13416	* src/kdelibs/khtml/css/css_valueimpl.cpp:
13417	(CSSStyleDeclarationImpl::setProperty): Fix unused variable.
13418	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::contentsContextMenuEvent):
13419	Fix unused variable.
13420	* src/kdelibs/khtml/rendering/font.cpp: (Font::drawText), (Font::width),
13421	(Font::update): Disable special "nsbp" logic for now. We can reenable it
13422	if necessary.
13423	* src/kdelibs/khtml/rendering/render_replaced.cpp: Fix mismerge.
13424	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
13425	Fix unused variable.
13426	* src/kwq/KWQApplication.mm: (QDesktopWidget::width), (QApplication::desktop):
13427	Fix mismerge.
13428	* src/kwq/KWQColorGroup.mm: Fix QCOLOR_GROUP_SIZE.
13429	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::lineSpacing): New.
13430	(QFontMetrics::width): Remove unused optimization.
13431	* src/kwq/qt/qfontmetrics.h: Add lineSpacing().
13432
134332002-04-15  Darin Adler  <darin@apple.com>
13434
13435        Merged changes from previous merge pass.
13436
13437        2002-03-25  Darin Adler  <darin@apple.com>
13438
13439        Last bit of making stuff compile and link. Probably will drop the merge now
13440        and take it up again when it's time to merge in KDE 3.0 final.
13441
13442	* src/kwq/KWQEvent.mm: (QFocusEvent::reason): New.
13443	* src/kwq/KWQPainter.mm: (QPainter::drawText): New overload.
13444
13445        2002-03-25  Darin Adler  <darin@apple.com>
13446
13447	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Make it call _width so we
13448        don't lose the optimization.
13449        
13450	* src/kwq/KWQApplication.mm: (QDesktopWidget::screenNumber): New.
13451	(QDesktopWidget::screenGeometry): New.
13452        (QApplication::style): New.
13453	* src/kwq/KWQColorGroup.mm: (QColorGroup::highlight): New.
13454	(QColorGroup::highlightedText): New.
13455	* src/kwq/KWQFont.mm: (QFont::setPixelSize): New.
13456	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::charWidth): New.
13457	* src/kwq/KWQKGlobal.mm: (KGlobal::locale): Implement.
13458        (KLocale::KLocale): New.
13459	(KLocale::languageList): New.
13460	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::sheetUsed): New.
13461	(KHTMLPart::setSheetUsed): New.
13462        (KHTMLPart::zoomFactor): New.
13463	* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): New.
13464	* src/kwq/KWQScrollView.mm: (QScrollView::childX): New.
13465        (QScrollView::childY): New.
13466        
13467	* src/kwq/qt/qapplication.h: style() returns a QStyle &.
13468	* src/kwq/qt/qpalette.h: Add Highlight and HighlightedText.
13469
13470        2002-03-24  Darin Adler  <darin@apple.com>
13471
13472        More compiling. Still won't link.
13473
13474	* src/kdelibs/khtml/khtmlview.cpp: Disable printing and drag and drop code.
13475	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
13476        Temporarily turn off our smarter underlining since it relies on access to the
13477        string, and TextSlave doesn't have that any more.
13478	(RenderText::nodeAtPoint): Get rid of a workaround we don't need any more for
13479        a bug that was fixed by KDE folks.
13480	* src/kwq/KWQApplication.mm: (QApplication::desktop): Make the desktop be a
13481        QDesktopWidget.
13482	* src/kwq/qt/qnamespace.h: Add MetaButton.
13483	* src/kwq/qt/qtooltip.h: Add a maybeTip virtual function member and a virtual
13484        destructor.
13485
13486        2002-03-24  Darin Adler  <darin@apple.com>
13487
13488        Some fixes to get more stuff to compile.
13489
13490	* src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMDocument::getValueProperty):
13491        Don't try to look at the private m_bComplete to display "complete". Just do
13492        "loading" and "loaded".
13493        * src/kdelibs/khtml/khtmlpart_p.h: #ifdef this all out for APPLE_CHANGES.
13494	* src/kdelibs/khtml/rendering/font.cpp: (Font::update): Add an explicit cast to
13495        int to avoid float -> int warning.
13496	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::calcColMinMax):
13497        Add an explicit cast to int to avoid uint compared with int warning.
13498	* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyleSelector):
13499        Use sheetUsed() and setSheetUsed() functions on KHTMLPart intead of getting
13500        at private fields the way the real KDE code does.
13501        
13502        * src/kwq/KWQKHTMLPart.h: Declare zoomFactor(), sheetUsed(), and setSheetUsed().
13503	* src/kwq/KWQStyle.h: Add PM_DefaultFramWidth as another metric.
13504	* src/kwq/kdecore/klocale.h: Add languageList().
13505	* src/kwq/khtml/khtml_settings.h: Add mediumFontSize().
13506	* src/kwq/qt/qapplication.h: Add style() and QDesktopWidget.
13507	* src/kwq/qt/qevent.h: Add reason().
13508	* src/kwq/qt/qfont.h: Add setPixelSize(int).
13509	* src/kwq/qt/qfontmetrics.h: Add charWidth() and _charWidth() functions.
13510	* src/kwq/qt/qpainter.h: Add drawText() overload with position parameter.
13511	* src/kwq/qt/qpalette.h: Add highlight() and highlightedText().
13512	* src/kwq/qt/qscrollview.h: Add childX() and childY().
13513        
13514	* src/kwq/KWQApplication.mm: Change KWQDesktopWidget to QDesktopWidget.
13515
135162002-04-11  Chris Blumenberg  <set EMAIL_ADDRESS environment variable>
13517
13518        Added a symbol for WCPluginDatabase.
13519
13520	* src/libwebcore.exp:
13521
135222002-04-08  Maciej Stachowiak  <mjs@apple.com>
13523
13524	Fix Radar 2896001 (crashes in KURL):
13525
13526	* src/kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate):
13527	Initialize refCount to 0 in the copy constructor.
13528
135292002-04-08  Chris Blumenberg  <cblu@apple.com>
13530
13531	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject):
13532	* src/kwq/WCPluginWidget.h:
13533	* src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
13534
13535        Support new stream requests from plug-ins that are relative URL's.
13536
135372002-04-05  Chris Blumenberg  <cblu@apple.com>
13538
13539	* src/libwebcore.exp:
13540
13541	Added symbol for IFNullPluginView
13542
135432002-04-05  Richard Williamson  <rjw@apple.com>
13544
13545        Various scrolling, hit detection, and goto anchor fixes to account for frames being
13546        translated in scroll views.
13547        
13548	* src/kwq/KWQScrollView.mm: (QScrollView::setContentsPos),
13549	(QScrollView::viewportToContents):
13550
135512002-04-05  Chris Blumenberg  <cblu@apple.com>
13552
13553	* src/kwq/WCPluginWidget.h:
13554	* src/kwq/WCPluginWidget.mm: (WCSetIFNullPluginMakeFunc),
13555	(WCPluginWidget::WCPluginWidget), (WCIFPluginMakeFunction),
13556	(WCIFNullPluginMakeFunction):
13557
13558	An IFNullPluginView is now created when no plug-in for a requested
13559	mime type is found. IFNullPluginView displays a null plug-in icon
13560	and will eventually report this error to the WebController. 
13561
135622002-04-05  Richard Williamson  <rjw@apple.com>
13563
13564        Hacks to support:
13565        
13566        1.  Not loading a document when a link is to an anchor on same page.
13567        2.  Correctly targeting frames.
13568        
13569        Our documentation is actually useable now.
13570        
13571	* src/kwq/KWQKHTMLPart.mm: (splitUrlTarget), (KHTMLPart::khtmlMouseReleaseEvent):
13572	* src/kwq/external.h:
13573
135742002-04-05  Darin Adler  <darin@apple.com>
13575
13576	* src/kwq/KWQKloader.mm:
13577	(-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
13578	Use contentLengthReceived rather than getting the length of
13579	availableResourceData to determine how much data has arrived.
13580
135812002-04-05  Richard Williamson  <rjw@apple.com>
13582
13583        More bulletproofing to deal with cleanup during deallocation.
13584        
13585	* src/kdelibs/khtml/html/htmlparser.cpp: (KHTMLParser::popOneBlock):
13586	* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::processToken):
13587
135882002-04-05  Maciej Stachowiak  <mjs@apple.com>
13589
13590	* src/kwq/qt/qmap.h (QMapNode::~QMapNode): Cast left() and right()
13591	to the right type to fix a leak detected by the automated leak
13592	checking on Jersey.
13593
135942002-04-04  Richard Williamson  <rjw@apple.com>
13595
13596        Extra bulletproofing to prevent script execution when in partially
13597        dealloced state.
13598        
13599	* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::scriptExecution):
13600
136012002-04-04  Chris Blumenberg  <cblu@apple.com>
13602
13603	* src/kwq/WCPlugin.mm: (-[WCPlugin load]):
13604	* src/kwq/npapi.h:
13605	* src/kwq/npapi.mm: (NPN_GetJavaEnv), (NPN_GetJavaPeer):
13606
13607	Added stubs for NPN_GetJavaEnv and NPN_GetJavaPeer. This fixes a flash crasher.
13608
136092002-04-04  Chris Blumenberg  <cblu@apple.com>
13610
13611	* src/kdelibs/khtml/rendering/render_frames.cpp:
13612	(RenderPartObject::updateWidget):
13613	* src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
13614
13615	Moved the removal of __KHTML__ EMBED to attributes WCPluginWidget. One less APPLE_CHANGES.
13616
136172002-04-04  Darin Adler  <darin@apple.com>
13618
13619	Redo clobbered fixes for problems that show up only when xNDEBUG is set
13620
13621	* src/kwq/KWQApplication.mm: (QApplication::sendEvent):
13622	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
13623	Remove or ifdef otherwise-unused variables.
13624
13625	* src/kwq/KWQFontMetrics.mm: (_rectForString):
13626	Add missing semicolons.
13627
136282002-04-04  Darin Adler  <darin@apple.com>
13629
13630	* src/kwq/KWQString.mm: (QString::unicode), (QString::latin1),
13631	(QString::convertToQCString): Remove some excessive logging that
13632	was getting in the way of important log messages.
13633
136342002-04-03  Richard Williamson  <rjw@apple.com>
13635
13636        Added support for finalURL in data source.
13637        
13638	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
13639	* src/kwq/external.h:
13640
136412002-04-03  Darin Adler  <darin@apple.com>
13642
13643	* src/Makefile.am: Concatenate libwebcore.exp and libwebcoretests.exp.
13644	* src/libwebcore.exp: Update with exports that are needed when inlining is
13645        turned off.
13646	* src/libwebcoretests.exp: Added. Exports that we need to run the test in the
13647        Tests directory.
13648        * .cvsignore: Ignore the concatenated file.
13649
136502002-04-03  Darin Adler  <darin@apple.com>
13651
13652	* src/Makefile.am: Don't strip at all if STRIP_FLAGS are empty.
13653	* src/kwq/qt/qtextcodec.h: Remove stray undef.
13654
136552002-04-03  Kenneth Kocienda  <kocienda@apple.com>
13656
13657        Updated debugging log messages to use new varargs macros.
13658
13659	* src/kwq/KWQApplication.mm: (QApplication::sendEvent),
13660	(QApplication::_initialize):
13661	* src/kwq/KWQColor.mm: (QColor::setNamedColor):
13662	* src/kwq/KWQComboBox.mm: (QComboBox::setCurrentItem):
13663	* src/kwq/KWQFont.mm: (QFont::getFont):
13664	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo _initializeCaches]),
13665	(_rectForString):
13666	* src/kwq/KWQKHTMLPart.mm: (recursive), (KHTMLPart::write), (KHTMLPart::end),
13667	(KHTMLPart::nodeActivated):
13668	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
13669	(-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
13670	IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
13671	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
13672	IFURLHandle:resourceDidFailLoadingWithResult:]), (-[URLLoadClient
13673	IFURLHandle:didRedirectToURL:]), (Loader::servePendingRequests):
13674	* src/kwq/KWQObject.mm: (QObject::connect), (QObject::performAction):
13675	* src/kwq/KWQScrollView.mm: (QScrollView::addChild),
13676	(QScrollView::resizeContents), (QScrollView::updateContents),
13677	(QScrollView::repaintContents):
13678	* src/kwq/KWQString.mm: (QString::unicode), (QString::latin1):
13679	* src/kwq/KWQView.mm: (-[KWQHTMLView notificationReceived:]), (-[KWQHTMLView
13680	layout]), (-[KWQHTMLView drawRect:]), (-[KWQHTMLView resetView]), (-[KWQHTMLView
13681	mouseDragged:]):
13682	* src/kwq/KWQWidget.mm: (QWidget::resize), (QWidget::move):
13683	* src/kwq/WCPlugin.mm: (-[WCPlugin initializeWithPath:]), (-[WCPlugin load]):
13684	* src/kwq/WCPluginDatabase.mm: (findPlugins):
13685	* src/kwq/kwqdebug.h:
13686	* src/kwq/kwqdebug.mm: (timestamp), (KWQLog):
13687
136882002-04-03  Darin Adler  <darin@apple.com>
13689
13690	Fix problems that show up only when xNDEBUG is set.
13691
13692	* src/kwq/KWQApplication.mm: (QApplication::sendEvent):
13693	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]):
13694	* src/kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
13695	Remove or ifdef otherwise-unused variables.
13696
13697	* src/kwq/KWQFontMetrics.mm: (_rectForString):
13698	* src/kwq/KWQPainter.mm: (QPainter::setRasterOp), (QPainter::translate),
13699	(QPainter::scale):
13700	Add missing semicolons.
13701
13702	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin):
13703	Fix an ifdef.
13704
137052002-04-03  Darin Adler  <darin@apple.com>
13706
13707	* src/Makefile.am: Use nmedit and strip to remove the symbols
13708	we don't want to export.
13709
13710	* src/libwebcore.exp: Added. List of symbols exported.
13711
137122002-04-03  Maciej Stachowiak  <mjs@apple.com>
13713
13714	* src/Makefile.am: Pave the way for cutting down the exports
13715	list. Also, make the embed target when installing libwebcore.
13716
137172002-04-03  Maciej Stachowiak  <mjs@apple.com>
13718
13719	Fixed Radar 2893361 (Two frames with same name cause memory
13720	trasher (likely double-free)) by implementing the mechanism KDE
13721	uses to guarantee unique frame names.
13722
13723	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::frameExists): Actually
13724	implement this, so that the khtml code can guarantee unique frame
13725	names on each page.
13726
13727	* src/kwq/external.h: Prototype IFWebDataSource's frameExists:
13728	method here.
13729
137302002-04-03  Maciej Stachowiak  <mjs@apple.com>
13731
13732	Fixed Radar 2893298 (KURL rejects spaces and other illegal but
13733	unambiguous characters, leading to load failures).
13734
13735	* src/kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::makeRef,
13736	KURL::normalizeRelativeURLString): Escape forbidden characters
13737	(ones that are never legal in a URL), except '#' (since that can
13738	start a fragment identifier) and '%'
13739	(since that can be the start of a valid escape sequence).
13740
13741	(KURL::KWQKURLPrivate::KWQKURLPrivate,
13742	KURL::KWQKURLPrivate::compose): out of paranoia, make sure urlRef
13743	is set to NULL if not a valid value.
13744
137452002-04-03  Maciej Stachowiak  <mjs@apple.com>
13746
13747	* src/kwq/kwqdebug.mm: (KWQGetLogLevel): Allocate and release
13748	NSScanner instead of using an autoreleased one, to fix Jersey
13749	redness whereby the regression tests leak.
13750
137512002-04-02  Darin Adler  <darin@apple.com>
13752
13753	* src/kwq/kwqdebug.h: Turn off logging when xNDEBUG is defined.
13754	Remove unused stuff. Add checking for printf parameters.
13755	* src/kwq/kwqdebug.mm: Remove unused variants.
13756
13757	* src/kwq/KWQApplication.mm:
13758	* src/kwq/KWQKGlobal.mm:
13759	* src/kwq/KWQKloader.mm:
13760	* src/kwq/KWQObject.mm:
13761	* src/kwq/KWQString.mm:
13762	* src/kwq/KWQToolTip.mm:
13763	* src/kwq/KWQWidget.mm:
13764	* src/kwq/WCPlugin.mm:
13765	* src/kwq/WCPluginDatabase.mm:
13766	* src/kwq/npapi.mm:
13767	Fix types in log statements caught by the compiler.
13768
137692002-04-02  Richard Williamson  <rjw@apple.com>
13770
13771        Fixed a fix, shoulda' been a #ifndef to exclude unnecessary code.
13772        
13773	* src/kdelibs/khtml/rendering/render_replaced.cpp: (RenderWidget::detach):
13774
137752002-04-02  Richard Williamson  <rjw@apple.com>
13776
13777        More noisy bulletproofing.  Still need to find source of problem.
13778        
13779	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart), (KHTMLPart::slotData),
13780	(KHTMLPart::write), (KHTMLPart::end):
13781
137822002-04-02  Darin Adler  <darin@apple.com>
13783
13784        Fix some small storage leaks.
13785
13786	* src/kwq/KWQWidget.mm: (QWidget::QWidget): Use a single shared default style
13787        instead of creating a new one for each widget.
13788        (QWidget::setFont): Since we store a QFont here, we don't have to delete the
13789        old font and we don't leak.
13790        (QWidget::setCursor): Since now store a QCursor here, we don't have to delete
13791        the old cursor.
13792        Also removed a lot of unused code in here.
13793        
13794	* src/kwq/KWQKURL.mm: Minor code cleanup.
13795
137962002-04-02  Richard Williamson  <rjw@apple.com>
13797
13798        Added ref() of part from KHTMView.
13799        Added log to catch m_doc == 0 case.  Should never happen.
13800        
13801	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView),
13802	(KHTMLView::~KHTMLView):
13803	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::write):
13804
138052002-04-02  Richard Williamson  <rjw@apple.com>
13806
13807        Removed unnecessary and erroneous call to CGContextSetCharacterSpacing.
13808        
13809	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo _initializeCaches]):
13810
138112002-04-01  Maciej Stachowiak  <mjs@apple.com>
13812
13813	* src/kwq/KWQKHTMLPart.mm (KHTMLPartPrivate::~KHTMLPartPrivate):
13814	Delete the jScript interpreter if it exists, to avoid leaking
13815	it. Also, garbage collect in this case because when we destroy the
13816	interpreter a lot of objects will become garbage and this seems
13817	like a good time to clean it all up.
13818
138192002-04-01  Richard Williamson  <rjw@apple.com>
13820
13821        Added log to catch more problems with NS/CFURL.
13822        
13823	* src/kwq/KWQKjobclasses.mm:
13824
138252002-04-01  Richard Williamson  <rjw@apple.com>
13826
13827        Cleaned up lots of potentially stale references to controller.
13828        Added ref count to part.
13829        
13830	* src/kwq/KWQKHTMLPart.h:
13831	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::init):
13832	* src/kwq/KWQKloader.mm: (-[URLLoadClient
13833	IFURLHandle:resourceDataDidBecomeAvailable:]):
13834
138352002-04-01  Richard Williamson  <rjw@apple.com>
13836
13837        Changes to support correct behavior is i/frame margins and
13838        scroll views.
13839        
13840	* src/kdelibs/khtml/html/html_baseimpl.h:
13841	* src/kdelibs/khtml/rendering/render_body.cpp: (RenderBody::layout):
13842	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame):
13843	* src/kwq/external.h:
13844
138452002-04-01  Kenneth Kocienda  <kocienda@apple.com>
13846
13847        The guts of the fix for this bug:
13848
13849        Radar 2879234 (Redirected URLs not used for subsequent GETs)
13850
13851        This change, though small, will fix most of the outstanding problems
13852        with URL redirects. Some little bits of work need to be done, but much
13853        of that is on the UI level.
13854
13855	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin), (KHTMLPart::setBaseURL):
13856
138572002-04-01  Darin Adler  <darin@apple.com>
13858
13859	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::jScriptEnabled): Hook this up to the
13860        preference from WebKit.
13861        (KHTMLPart::jScript): Return 0 if JavaScript is disabled. This is exactly what
13862        the original KHTMLPart from KDE did.
13863
138642002-04-01  Darin Adler  <darin@apple.com>
13865
13866	* src/kwq/KWQDef.h: Use KWQ_UNSIGNED_TYPES_DEFINED for compatibility with code
13867        in JavaScriptCore that has to do the same thing.
13868
138692002-04-01  Darin Adler  <darin@apple.com>
13870
13871	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::restoreScrollBar): Disable code
13872        that checks if the scroll bar is visible, because it currently doesn't do us
13873        any good. We may want to turn it back on if we ever implement setVScrollBarMode.
13874	(KHTMLView::viewportWheelEvent): Disable this code for now since it requires
13875        access to the vertical scroll bar object.
13876	* src/kdelibs/khtml/rendering/render_form.cpp:
13877        (RenderTextArea::calcMinMaxWidth): Use our own verticalScrollBarWidth and
13878        horizontalScrollBarHeight rather than getting scroll bar widgets.
13879        
13880	* src/kwq/qt/qscrollview.h: Remove QScrollView::horizontalScrollBar() and
13881        QScrollView::verticalScrollBar(), since we don't have QWidgets to return for
13882        these two. We can re-add these later if we need to.
13883         
13884	* src/kwq/qt/qtextedit.h: Removed QMultiLineEdit, and QTextEdit() constructor.
13885	* src/kwq/kdeui/keditcl.h: Removed.
13886	* src/kwq/KWQTextEdit.mm: Remove unused functions.
13887	(QTextEdit::verticalScrollBarWidth), (QTextEdit::horizontalScrollBarHeight):
13888        Implement these two new ones.
13889	* src/kwq/KWQScrollView.mm: Remove unused functions.
13890
13891	* src/kdelibs/khtml/rendering/render_form.cpp: Fixed spelling error.
13892
138932002-03-31  Maciej Stachowiak  <mjs@apple.com>
13894
13895	Fix Radar 2890464 (abcnews.com renders as a blank blue page (probably a JavaScript
13896	problem).) It turns out not to be a JavaScript problem:
13897	
13898	* src/kwq/KWQKloader.mm: (-[URLLoadClient
13899	IFURLHandle:resourceDidFailLoadingWithResult:]): Report that load
13900	is finished to KDE layers. Otherwise, the tokenizer will wait
13901	forever for a script load completion message that never comes.
13902
139032002-03-31  Darin Adler  <darin@apple.com>
13904
13905	* src/kwq/KWQString.mm: (QString::toDouble): Fix to properly handle
13906        an empty string.
13907
139082002-03-30  Darin Adler  <darin@apple.com>
13909
13910	* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::setTitle):
13911	Call through to a new KHTMLPart::setTitle instead of the old
13912	setWindowCaption. We want to skip the special logic for using
13913	the URL if the title is blank, and for squeezing the title into
13914	a smaller string, because those are handled at a higher level.
13915
13916	* src/kwq/KWQKHTMLPart.h: Add setTitle. Also clean up ifdefs.
13917	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::setTitle): New. Calls
13918	[IFWebDataSource _setTitle].
13919
13920	* src/kwq/kparts/part.h: Removed setWindowCaption.
13921	* src/kwq/KWQPart.mm: Removed setWindowCaption.
13922
13923	* src/kwq/external.h: Add [IFWebDataSource _setTitle].
13924
139252002-03-30  Richard Williamson  <rjw@apple.com>
13926
13927        Added support for scrolling to anchor points.
13928        Optimization:  we always load the page, even if the URL that contains
13929        the anchor is the current page.
13930        
13931	* src/kwq/KWQKHTMLPart.h:
13932	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::end), (KHTMLPart::gotoBaseAnchor),
13933	(KHTMLPart::gotoAnchor), (KHTMLPart::setUserStyleSheet):
13934	* src/kwq/KWQScrollView.mm: (QScrollView::setContentsPos):
13935
139362002-03-30  Richard Williamson  <rjw@apple.com>
13937
13938        Added log to note cases of NSURL (CFURL) being unable to
13939        correctly initialize from URLs.  This log will likely indicate
13940        bugs in CFURL.
13941        
13942	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame):
13943
139442002-03-30  Richard Williamson  <rjw@apple.com>
13945
13946        Twiddling with baselines.  kde 2.2 appears to not line up baselines correctly.
13947        Need to experiment with kde 3.
13948        
13949        Removed copy of function prototype, instead included the correct header.
13950 
13951	Fixed crasher in setFocusPolicy, I don't think we even need to use kde's focus policy.
13952        This was added during the kde 3 beta 2 merge.
13953       
13954	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo
13955	drawString:atPoint:withFont:color:]), (-[KWQLayoutInfo
13956	drawUnderlineForString:atPoint:withFont:color:]), (-[KWQLayoutInfo
13957	initWithFont:]), (-[KWQLayoutInfo _initializeCaches]):
13958	* src/kwq/KWQMetrics.h:
13959	* src/kwq/KWQWidget.mm: (QWidget::setFocusProxy):
13960
139612002-03-30  Darin Adler  <darin@apple.com>
13962
13963	* src/kwq/KWQKURL.mm: (copyAndReplaceAll), (needToHideColons): New
13964        functions used in workaround for CFURL bug.
13965	(KURL::normalizeRelativeURLString): Add workaround for CFURL bug; hide colons
13966        that would confuse CFURL from the CFURL code.
13967
13968	* src/kwq/KWQFont.mm: (QFont::getFont): Use lossyCString instead of cString for
13969        debugging messages.
13970        
139712002-03-30  Maciej Stachowiak  <mjs@apple.com>
13972
13973	* src/Makefile.am: Link against JavaScriptCore.framework instead
13974	of the defunct libJavaScriptCore.dylib.
13975
139762002-03-29  Darin Adler  <darin@apple.com>
13977
13978	* src/kdelibs/khtml/rendering/render_image.cpp: (RenderImage::updateFromElement):
13979        Make images with no src, or src="" be empty rather than being the page itself
13980        loaded as an image.
13981
139822002-03-29  Richard Williamson  <rjw@apple.com>
13983
13984        More fixes for cancelling.  Fixed some code that appears to have been
13985        mis-merged after the KDE 3 beta 2 landing.
13986        
13987	* src/kwq/KWQKloader.mm: (-[URLLoadClient initWithLoader:dataSource:])
13988
139892002-03-29  Darin Adler  <darin@apple.com>
13990
13991	* src/kwq/KWQKloader.mm: (Cache::getStatistics), (Cache::flushAll):
13992        Fix both of these to work when cache is not yet allocated.
13993
139942002-03-29  Richard Williamson  <rjw@apple.com>
13995
13996        Hooked up redirect.
13997        
13998	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
13999	* src/kwq/external.h:
14000
140012002-03-29  Kenneth Kocienda  <kocienda@apple.com>
14002
14003        Workaround for Radar 2890624 (Double free of image data in QPixmap)
14004        This hack is necessary for the app to run on some Jaguar system. Otherwise
14005        images that the GIF library cannot decode will cause a crash.
14006        
14007	* src/kwq/KWQPixmap.mm: (QPixmap::QPixmap):
14008
140092002-03-28  Richard Williamson  <rjw@apple.com>
14010
14011        Fixed basic font horkage caused by removal of KDE font matching code.  We
14012        now work correctly for the basic font families.
14013        
14014	* src/kwq/KWQFont.mm: (QFont::getFont):
14015
140162002-03-28  Darin Adler  <darin@apple.com>
14017
14018	* src/kwq/KWQKloader.mm: (Cache::requestImage), (Cache::requestStyleSheet),
14019	(Cache::requestScript): Set flags so the objects get freed when they are done
14020        in cases where the cache is disabled.
14021
140222002-03-28  Maciej Stachowiak  <mjs@apple.com>
14023
14024	Fix Radar 2890340 (JavaScript doesn't work)
14025
14026	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::executeScript): Implement
14027	the other overloaded version of this function. This is needed for
14028	JavaScript to work.
14029
140302002-03-28  Darin Adler  <darin@apple.com>
14031
14032	* src/kdelibs/khtml/misc/loader.h: Added API for looking at the contents of the
14033        cache, flushing the cache, and disabling the cache.
14034	* src/kwq/KWQKloader.mm: (Cache::requestImage): Don't cache if disabled.
14035        (Cache::requestStyleSheet): Don't cache if disabled.
14036	(Cache::requestScript): Don't cache if disabled.
14037        (Cache::flush): Simplify ifdefs.
14038        (Cache::getStatistics), (Cache::flushAll), (Cache::setCacheDisabled): New.
14039
140402002-03-28  Richard Williamson  <rjw@apple.com>
14041
14042        Fixed crasher.  Removed unnecessary cleanup to widget that was called after the
14043        widget was already disposed.
14044        
14045	* src/kdelibs/khtml/rendering/render_replaced.cpp: (RenderWidget::detach):
14046
140472002-03-27  Richard Williamson  <rjw@apple.com>
14048
14049        Removed problematic code.  Not sure why it was necessary.  For now
14050        it prevents crasher.
14051        
14052	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
14053
140542002-03-27  Darin Adler  <darin@apple.com>
14055
14056	* src/kwq/KWQListImpl.mm: (KWQListImpl::insert): Fix disastrous name
14057        collision which could lead to infinite loops.
14058
140592002-03-27  Darin Adler  <darin@apple.com>
14060
14061	* src/kwq/KWQCString.mm: (QCString::isEmpty): The || should be &&.
14062
140632002-03-27  Darin Adler  <darin@apple.com>
14064
14065	* src/kdelibs/khtml/css/css_valueimpl.cpp:
14066	(FontFamilyValueImpl::FontFamilyValueImpl): Disable misguided font matching
14067        code in khtml.
14068        
14069	* src/kwq/KWQFont.mm: (QFont::getFont): Change the fallback so that it uses
14070        the default font family, but the other settings as requested, rather than
14071        using the default font.
14072
140732002-03-27  Kenneth Kocienda  <kocienda@apple.com>
14074
14075        Changed loadProgress->bytesSoFar to use [sender contentLengthReceived]
14076        instead of the size of the chunk that was delivered in the callback.
14077        This makes the activity window data more correct than it was.
14078        
14079	* src/kwq/KWQKloader.mm: (-[URLLoadClient
14080	IFURLHandle:resourceDataDidBecomeAvailable:]):
14081
140822002-03-27  Darin Adler  <darin@apple.com>
14083
14084	* src/kdelibs/khtml/ecma/Makefile.am: Get the create_hash_table tool
14085        from JavaScriptCore. We might need a better way to handle this later.
14086
140872002-03-26  Maciej Stachowiak  <mjs@apple.com>
14088
14089	Removed kjs from here - it's now been moved to JavaScriptCore at
14090	the top level.
14091
14092	* src/Makefile.am: Don't link libkjs.o.
14093	* src/kdelibs/Makefile.am: Remove kjs from subdirs.
14094	* src/kdelibs/kjs/.cvsignore: Removed.
14095	* src/kdelibs/kjs/Makefile.am: Removed.
14096	* src/kdelibs/kjs/array_object.cpp: Removed.
14097	* src/kdelibs/kjs/array_object.h: Removed.
14098	* src/kdelibs/kjs/bool_object.cpp: Removed.
14099	* src/kdelibs/kjs/bool_object.h: Removed.
14100	* src/kdelibs/kjs/collector.cpp: Removed.
14101	* src/kdelibs/kjs/collector.h: Removed.
14102	* src/kdelibs/kjs/create_hash_table: Removed.
14103	* src/kdelibs/kjs/date_object.cpp: Removed.
14104	* src/kdelibs/kjs/date_object.h: Removed.
14105	* src/kdelibs/kjs/debugger.cpp: Removed.
14106	* src/kdelibs/kjs/debugger.h: Removed.
14107	* src/kdelibs/kjs/error_object.cpp: Removed.
14108	* src/kdelibs/kjs/error_object.h: Removed.
14109	* src/kdelibs/kjs/function.cpp: Removed.
14110	* src/kdelibs/kjs/function.h: Removed.
14111	* src/kdelibs/kjs/function_object.cpp: Removed.
14112	* src/kdelibs/kjs/function_object.h: Removed.
14113	* src/kdelibs/kjs/grammar.y: Removed.
14114	* src/kdelibs/kjs/internal.cpp: Removed.
14115	* src/kdelibs/kjs/internal.h: Removed.
14116	* src/kdelibs/kjs/interpreter.cpp: Removed.
14117	* src/kdelibs/kjs/interpreter.h: Removed.
14118	* src/kdelibs/kjs/keywords.table: Removed.
14119	* src/kdelibs/kjs/kjs-test: Removed.
14120	* src/kdelibs/kjs/kjs-test.chk: Removed.
14121	* src/kdelibs/kjs/lexer.cpp: Removed.
14122	* src/kdelibs/kjs/lexer.h: Removed.
14123	* src/kdelibs/kjs/lookup.cpp: Removed.
14124	* src/kdelibs/kjs/lookup.h: Removed.
14125	* src/kdelibs/kjs/math_object.cpp: Removed.
14126	* src/kdelibs/kjs/math_object.h: Removed.
14127	* src/kdelibs/kjs/nodes.cpp: Removed.
14128	* src/kdelibs/kjs/nodes.h: Removed.
14129	* src/kdelibs/kjs/nodes2string.cpp: Removed.
14130	* src/kdelibs/kjs/number_object.cpp: Removed.
14131	* src/kdelibs/kjs/number_object.h: Removed.
14132	* src/kdelibs/kjs/object.cpp: Removed.
14133	* src/kdelibs/kjs/object.h: Removed.
14134	* src/kdelibs/kjs/object_object.cpp: Removed.
14135	* src/kdelibs/kjs/object_object.h: Removed.
14136	* src/kdelibs/kjs/operations.cpp: Removed.
14137	* src/kdelibs/kjs/operations.h: Removed.
14138	* src/kdelibs/kjs/property_map.cpp: Removed.
14139	* src/kdelibs/kjs/property_map.h: Removed.
14140	* src/kdelibs/kjs/regexp.cpp: Removed.
14141	* src/kdelibs/kjs/regexp.h: Removed.
14142	* src/kdelibs/kjs/regexp_object.cpp: Removed.
14143	* src/kdelibs/kjs/regexp_object.h: Removed.
14144	* src/kdelibs/kjs/string_object.cpp: Removed.
14145	* src/kdelibs/kjs/string_object.h: Removed.
14146	* src/kdelibs/kjs/test.js: Removed.
14147	* src/kdelibs/kjs/testkjs.cpp: Removed.
14148	* src/kdelibs/kjs/types.cpp: Removed.
14149	* src/kdelibs/kjs/types.h: Removed.
14150	* src/kdelibs/kjs/ustring.cpp: Removed.
14151	* src/kdelibs/kjs/ustring.h: Removed.
14152	* src/kdelibs/kjs/value.cpp: Removed.
14153	* src/kdelibs/kjs/value.h: Removed.
14154
141552002-03-26  Maciej Stachowiak  <mjs@apple.com>
14156
14157	Removed all the borrowed Qt code.
14158
14159	* src/kwq/KWQGlobal.mm: Renamed from qt/_qglobal.cpp to avoid
14160	confusion about the borrowedness status of this file.
14161	* src/kwq/Makefile.am: Removed references to kde and qt
14162	subdirectories.
14163	* src/kwq/kde/.cvsignore: Removed.
14164	* src/kwq/kde/Makefile.am: Removed.
14165	* src/kwq/kde/_kurl.cpp: Removed.
14166	* src/kwq/kde/_kurl.h: Removed.
14167	* src/kwq/qt/Makefile.am: Removed.
14168	* src/kwq/qt/_qarray.h: Removed.
14169	* src/kwq/qt/_qbuffer.cpp: Removed.
14170	* src/kwq/qt/_qbuffer.h: Removed.
14171	* src/kwq/qt/_qcollection.cpp: Removed.
14172	* src/kwq/qt/_qcollection.h: Removed.
14173	* src/kwq/qt/_qcolor.h: Removed.
14174	* src/kwq/qt/_qcstring.cpp: Removed.
14175	* src/kwq/qt/_qcstring.h: Removed.
14176	* src/kwq/qt/_qdatetime.cpp: Removed.
14177	* src/kwq/qt/_qdatetime.h: Removed.
14178	* src/kwq/qt/_qdict.h: Removed.
14179	* src/kwq/qt/_qdir.cpp: Removed.
14180	* src/kwq/qt/_qdir.h: Removed.
14181	* src/kwq/qt/_qdir_unix.cpp: Removed.
14182	* src/kwq/qt/_qfile.cpp: Removed.
14183	* src/kwq/qt/_qfile.h: Removed.
14184	* src/kwq/qt/_qfileinfo.cpp: Removed.
14185	* src/kwq/qt/_qfileinfo.h: Removed.
14186	* src/kwq/qt/_qfileinfo_unix.cpp: Removed.
14187	* src/kwq/qt/_qgarray.cpp: Removed.
14188	* src/kwq/qt/_qgarray.h: Removed.
14189	* src/kwq/qt/_qgdict.cpp: Removed.
14190	* src/kwq/qt/_qgdict.h: Removed.
14191	* src/kwq/qt/_qglist.cpp: Removed.
14192	* src/kwq/qt/_qglist.h: Removed.
14193	* src/kwq/qt/_qglobal.cpp: Removed.
14194	* src/kwq/qt/_qgvector.cpp: Removed.
14195	* src/kwq/qt/_qgvector.h: Removed.
14196	* src/kwq/qt/_qiodevice.cpp: Removed.
14197	* src/kwq/qt/_qiodevice.h: Removed.
14198	* src/kwq/qt/_qlist.h: Removed.
14199	* src/kwq/qt/_qmap.cpp: Removed.
14200	* src/kwq/qt/_qmap.h: Removed.
14201	* src/kwq/qt/_qpoint.cpp: Removed.
14202	* src/kwq/qt/_qpoint.h: Removed.
14203	* src/kwq/qt/_qptrdict.h: Removed.
14204	* src/kwq/qt/_qrect.cpp: Removed.
14205	* src/kwq/qt/_qrect.h: Removed.
14206	* src/kwq/qt/_qregexp.cpp: Removed.
14207	* src/kwq/qt/_qregexp.h: Removed.
14208	* src/kwq/qt/_qregion.cpp: Removed.
14209	* src/kwq/qt/_qregion.h: Removed.
14210	* src/kwq/qt/_qshared.h: Removed.
14211	* src/kwq/qt/_qsize.cpp: Removed.
14212	* src/kwq/qt/_qsize.h: Removed.
14213	* src/kwq/qt/_qsortedlist.h: Removed.
14214	* src/kwq/qt/_qstack.h: Removed.
14215	* src/kwq/qt/_qstring.cpp: Removed.
14216	* src/kwq/qt/_qstring.h: Removed.
14217	* src/kwq/qt/_qstringlist.cpp: Removed.
14218	* src/kwq/qt/_qstringlist.h: Removed.
14219	* src/kwq/qt/_qstrlist.h: Removed.
14220	* src/kwq/qt/_qtextcodec.h: Removed.
14221	* src/kwq/qt/_qtextstream.h: Removed.
14222	* src/kwq/qt/_qtl.h: Removed.
14223	* src/kwq/qt/_qurl.cpp: Removed.
14224	* src/kwq/qt/_qurl.h: Removed.
14225	* src/kwq/qt/_qvaluelist.h: Removed.
14226	* src/kwq/qt/_qvector.h: Removed.
14227
142282002-03-26  Kenneth Kocienda  <kocienda@apple.com>
14229
14230	* src/Makefile.am:
14231
142322002-03-26  Darin Adler  <darin@apple.com>
14233
14234	* src/kwq/KWQKjobclasses.mm: (TransferJobPrivate::TransferJobPrivate):
14235        Nil out the handle so we don't autorelease garbage.
14236        
14237	* src/kwq/KWQKloader.mm:
14238        (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]),
14239	(-[URLLoadClient IFURLHandleResourceDidFinishLoading:data:]),
14240        (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
14241        Delete the job instead of just autoreleasing the sender. Fixes a leak.
14242
142432002-03-26  Richard Williamson  <rjw@apple.com>
14244
14245        Fixed leak of decoder.  This caused us to leak the entire
14246        document text for every load!
14247        
14248	* src/kwq/KWQKHTMLPart.mm:
14249
142502002-03-26  Darin Adler  <darin@apple.com>
14251
14252	* src/kdelibs/khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
14253        Fix a leak (missing delete).
14254
14255	* src/kwq/KWQMetrics.h:
14256	* src/kwq/KWQFontMetrics.mm:
14257        (-[KWQLayoutInfo drawString:atPoint:withFont:color:]): Don't bother keeping things
14258        around that we only need to use once.
14259	(-[KWQLayoutInfo _initializeCaches]): Create them here instead.
14260        (-[KWQLayoutInfo dealloc]): Don't need to free them here.
14261
142622002-03-26  Darin Adler  <darin@apple.com>
14263
14264	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo dealloc]): Free the
14265        style groups, styles, and glyph vectors.
14266       
14267	* src/kwq/KWQFont.mm: (QFont::getFont): Use default font if we can't
14268        find a font from the passed-in family. Before, we were raising an
14269        exception and quitting the application.
14270
14271	* src/kwq/KWQCString.mm: (QCString::isEmpty): Faster version that
14272        doesn't call strlen.
14273         
142742002-03-25  Richard Williamson  <rjw@apple.com>
14275
14276        Removed conditional check that prevent layout of iframes.  I don't
14277        understand why the check was being done.
14278        
14279	* src/kdelibs/khtml/rendering/render_flow.cpp: (RenderFlow::layout):
14280
142812002-03-25  Maciej Stachowiak  <mjs@apple.com>
14282
14283	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::slotData): Use
14284	-[IFURLHandle characterSet] to get the character set, instead of
14285	parsing it out of the header by hand.
14286
142872002-03-25  Chris Blumenberg  <cblu@apple.com>
14288
14289	* src/kwq/WCPlugin.mm: (-[WCPlugin load]):
14290	
14291	Temporary special case workaround for this Java plug-in bug:
14292	2885120
14293
142942002-03-25  Maciej Stachowiak  <mjs@apple.com>
14295
14296	Improved KURL performance:
14297
14298	* src/kwq/kdecore/kurl.h, src/kwq/KWQKURL.mm: 
14299	(KURL::normalizeURLString): New function to cache rewritten URL
14300	strings.
14301	(RelativeURLKeyRetainCallBack, RelativeURLKeyReleaseCallBack,
14302	RelativeURLKeyCopyDescriptionCallBack,
14303	RelativeURLKeyEqualCallBack, RelativeURLKeyHashCallBack,
14304	KURL::normalizeRelativeURLString): Cache results of relative URL
14305	resolution.
14306	(KURL::clearCaches): function to clear the caches so they don't
14307	grow forever.
14308	(KURL::KURL): Set nothing but the string at construction time.
14309	(KURL::isEmpty, KURL::isMalformed, KURL::hasPath, KURL::url,
14310	KURL::protocol, KURL::host, KURL::port, KURL::pass, KURL::user,
14311	KURL::ref, KURL::query, KURL::path, KURL::setProtocol,
14312	KURL::setHost, KURL::setPort, KURL::setRef, KURL::setQuery,
14313	KURL::setPath, KURL::prettyURL, KURL::copyOnWrite, KURL::parse,
14314	KURL::assemble): Parse into parts on demand instead.
14315	(KURL::swap, KURL::operator=): Handle KURL's new urlString field.
14316	
14317	* src/kwq/KWQKloader.mm: (Cache::requestImage, Cache::requestStyleSheet,
14318	Cache::requestScript): Don't redundantly check if KURL isMalformed.
14319
14320	* src/kwq/KWQKHTMLPart.mm (KHTMLPart::end): Clear KURL caches at
14321	the end of each page load.
14322
143232002-03-24  Darin Adler  <darin@apple.com>
14324
14325	* src/kwq/KWQListImpl.mm: (KWQListImpl::getFirst), (KWQListImpl::getLast):
14326        Apparently getLast needs to handle cases where the list is empty. Since
14327        getFirst didn't handle it either, I added a check in both cases.
14328
143292002-03-24  Darin Adler  <darin@apple.com>
14330
14331        Add tail pointer to KWQListImpl, since that shows up on so many profiles.
14332
14333	* src/kwq/KWQListImpl.mm: (KWQListImpl::KWQListPrivate::copyList): Return
14334        a tail pointer too.
14335	(KWQListImpl::KWQListPrivate::KWQListPrivate): Set up tail pointer.
14336        (KWQListImpl::clear): Clean tail pointer too.
14337	(KWQListImpl::at): Special case the tail so we don't walk the whole list
14338        when we ask for the last element.
14339        (KWQListImpl::insert): Update the tail node to when inserting. Also add
14340        a special case for adding at the end so we don't walk the whole list.
14341        (KWQListImpl::remove): Update the tail node. Also, use at() in the index-
14342        based remove so we don't ahve to replicate the logic about finding a
14343        node with the special case for the tail.
14344	(KWQListImpl::getLast): Trivial now.
14345        (KWQListImpl::last): Trivial now.
14346	(KWQListIteratorImpl::toLast): Trivial now.
14347        
14348	* src/kwq/KWQString.mm: (QString::operator=): Remove unneeded line of code.
14349
143502002-03-24  Richard Williamson  <rjw@apple.com>
14351
14352        A number of fixes to support non-latin1 decoding 
14353        and font measurement/drawing.
14354        
14355	* src/kwq/KWQFontMetrics.mm: (_rectForString):
14356	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::slotData):
14357	* src/kwq/KWQMetrics.h:
14358
143592002-03-24  Richard Williamson  <rjw@apple.com>
14360
14361        Cached available families from NSFontManager.  
14362        http://www.gamespy.com/gdc2002/okamoto went from 4.8 seconds
14363        to 0.7 seconds. [Do we need to worry about updating the cache if
14364        the available fonts change?]
14365        
14366	* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::availableFamilies):
14367
143682002-03-24  Richard Williamson  <rjw@apple.com>
14369
14370        Fixed big leak in QString assignment operator.
14371        Updated comments.  Removed old fprintfs.
14372        Added some frame debugging logs.
14373        
14374	* src/kwq/KWQFontMetrics.mm: (_rectForString):
14375	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::requestFrame):
14376	* src/kwq/KWQScrollView.mm: (QScrollView::addChild),
14377	(QScrollView::resizeContents), (QScrollView::updateContents),
14378	(QScrollView::repaintContents):
14379	* src/kwq/KWQString.mm: (QString::operator=):
14380	* src/kwq/kwqdebug.h:
14381
143822002-03-23  Darin Adler  <darin@apple.com>
14383
14384        Fixed problem with extra empty items in menus.
14385
14386	* src/kwq/KWQComboBox.mm: (QComboBox::insertItem): Add back logic that puts
14387        an item in a certain position. Even though this is called insertItem, the
14388        behavior is to replace an item at a certain position.
14389	* src/kwq/KWQKComboBox.mm: (KComboBox::setSize): No need to fill the
14390        array with empty strings; just a waste of time based on how we do things.
14391
143922002-03-22  Darin Adler  <darin@apple.com>
14393
14394	* src/kdelibs/khtml/java/Makefile.am:
14395	* src/kdelibs/khtml/java/tests/.cvsignore:
14396	* src/kdelibs/khtml/java/tests/Makefile.am:
14397	Remove empty test subdirectory.
14398
14399	* src/kdelibs/kjs/.cvsignore: Ignore kjs-test output.
14400
144012002-03-22  Maciej Stachowiak  <mjs@apple.com>
14402
14403	Fix some things that were making automake complain.
14404
14405	* src/kdelibs/kjs/Makefile.am:
14406	* src/kwq/Makefile.am:
14407
144082002-03-22  Darin Adler  <darin@apple.com>
14409
14410	* src/kdelibs/khtml/css/cssstyleselector.cpp: (khtml::applyRule):
14411	Fix boolean logic mistake from the original KDE sources.
14412
144132002-03-22  Darin Adler  <darin@apple.com>
14414
14415        Finally giving up on the complete QString rewrite after doing it 3 times,
14416        Darin checks in some improvements for the old QString. This makes a QString
14417        be 8 bytes instead of 12, and improves a few other details. No dramatic
14418        speedups, but no slowdown either.
14419
14420	* src/kwq/qt/qstring.h:
14421	* src/kwq/KWQString.mm:
14422	(QString::QString), (QString::~QString), (QString::operator=),
14423        (QString::unicode), (QString::latin1): Store the cache type inside the cache.
14424	(QString::copy): No need to deep copy here.
14425        (QString::simplifyWhiteSpace): Use CFStringInlineBuffer.
14426	(QString::insert): Fix single-character insertions so they don't create and
14427        destroy a mutable CFStringRef every time.
14428        (QString::operator+=): Call the appropriate insert function.
14429	(QString::flushCache): Store cache type inside cache.
14430        (QString::compareToLatin1): Use CFStringInlineBuffer.
14431	(operator==): Use CFStringInlineBuffer.
14432        (QConstString::QConstString): Store the cache type inside the cache.
14433
144342002-03-22  John Sullivan  <sullivan@apple.com>
14435
14436	Made changing font sizes work immediately (other than an
14437	unrelated crash).
14438
14439	* src/kwq/KWQKHTMLSettings.mm: 
14440	(KHTMLSettings::KHTMLSettings),
14441	(KHTMLSettings::fontSizes): Moved defaults-fetching code from
14442	constructor to accessor, so it doesn't get out of synch with
14443	preference changes.
14444
14445	* src/kwq/khtml/khtml_settings.h: Added "mutable" keyword
14446	to declaration of m_fontSizes, so the other change would compile.
14447
144482002-03-22  Kenneth Kocienda  <kocienda@apple.com>
14449
14450        Moved KWQKloader to the new thread-safe API for accessing handle attributes.
14451
14452	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
14453	(-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
14454	IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
14455	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
14456	IFURLHandle:resourceDidFailLoadingWithResult:]):
14457
144582002-03-22  Richard Williamson  <rjw@apple.com>
14459
14460        Fixed subtle measurement problems.  These were most evident of pages
14461        that had lots of rounding deviation.  My assumptions about being able to
14462        round glyph advances was incorrect.  We must pay the expense of a float addition,
14463        instead of integer addition.  This slows down our inner loop.  Oh well,
14464        we're still very fast.
14465        
14466	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo
14467	drawString:atPoint:withFont:color:]), (-[KWQLayoutInfo
14468	drawUnderlineForString:atPoint:withFont:color:]), (-[KWQLayoutInfo
14469	_initializeCaches]), (_rectForString), (QFontMetrics::width),
14470	(QFontMetrics::size):
14471	* src/kwq/KWQMetrics.h:
14472
144732002-03-22  Maciej Stachowiak  <mjs@apple.com>
14474
14475	Fixed the following post-merge crashers:
14476
14477	2885602 - Alexander crashes when clicking on a particular link in Google groups
14478	2885564 - Alexander crashes on load failures
14479	
14480	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Fix
14481	Radar 2885602 by detaching the document from the view when the
14482	view is destroyed. This was making the document reference a
14483	destroyed view later.
14484
14485	* src/kwq/KWQKHTMLPart.mm: 
14486	(KHTMLPart::~KHTMLPart): Fix Radar 2885564 by checking if m_doc is
14487	NULL, since it's now inititally set to NULL.
14488	(KHTMLPart::KHTMLPart, KHTMLPart::init): Formatting tweaks.
14489	
144902002-03-20  Maciej Stachowiak  <mjs@apple.com>
14491
14492	Merged the following changes from LABYRINTH_KDE_3_MERGE branch:
14493
14494	2002-03-20  Maciej Stachowiak  <mjs@apple.com>
14495
14496		* src/kdelibs/khtml/rendering/render_applet.cpp:
14497		(RenderApplet::RenderApplet): Handle Java parameters properly,
14498		with Chris's assistance.
14499
14500	2002-03-20  Maciej Stachowiak  <mjs@apple.com>
14501
14502		Merged accumlated changes from HEAD, up to
14503		MERGED_TO_KDE_3_MERGE_BRANCH tag.
14504
14505	2002-03-19  Maciej Stachowiak  <mjs@apple.com>
14506
14507		Fixed two more crashers. Tree now looks pretty stable.
14508
14509		* src/kdelibs/khtml/html/html_objectimpl.cpp:
14510		(HTMLObjectElementImpl::detach): Don't send an unload event, that
14511		needs the view to be a live, which it won't be when the DOM is
14512		being destroyed.
14513
14514		* src/kwq/KWQListImpl.mm: (KWQListImpl::getFirst): Return
14515		d->head->data, not d->head. Whoops!
14516
14517	2002-03-19  Maciej Stachowiak  <mjs@apple.com>
14518
14519		Fixed two crashers:
14520
14521		* src/kdelibs/khtml/rendering/render_object.h: Don't attempt to
14522		schedule a relayout ever. We control layout timing. This was
14523		resulting in calls on destroyed/trashed objects before.
14524
14525		* src/kdelibs/khtml/xml/dom_nodeimpl.cpp:
14526		(NodeImpl::dispatchEvent): Check if view()->part() is NULL (looks
14527		like a bug in the KDE code that this wasn't checked).
14528
14529	2002-03-19  Maciej Stachowiak  <mjs@apple.com>
14530
14531		Changes needed to get WebCore to link: implement all the missing functions.
14532	
14533		* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::end):
14534		* src/kdelibs/khtml/xml/xml_tokenizer.cpp: (XMLTokenizer::end):
14535		* src/kdelibs/khtml/xml/xml_tokenizer.h:
14536		* src/kwq/KWQApplication.mm: (QApplication::_initialize),
14537		(QApplication::focusWidget):
14538		* src/kwq/KWQColorGroup.mm: (QColorGroup::operator==):
14539		* src/kwq/KWQComboBox.mm: (QComboBox::currentItem):
14540		* src/kwq/KWQCursor.mm: (QCursor::operator=), (QCursor::handle):
14541		* src/kwq/KWQEvent.mm: (QMouseEvent::QMouseEvent), (QKeyEvent::isAutoRepeat),
14542		(QKeyEvent::text), (QKeyEvent::ascii), (QKeyEvent::count),
14543		(QKeyEvent::isAccepted), (QCustomEvent::QCustomEvent),
14544		(QContextMenuEvent::QContextMenuEvent), (QContextMenuEvent::globalPos),
14545		(QContextMenuEvent::reason), (QContextMenuEvent::state), (QContextMenuEvent::x),
14546		(QContextMenuEvent::y):
14547		* src/kwq/KWQFontMetrics.mm: (QFontMetrics::boundingRect):
14548		* src/kwq/KWQKCursor.mm: (KCursor::whatsThisCursor):
14549		* src/kwq/KWQKDebug.mm: (kdBacktrace):
14550		* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::metaRefreshEnabled),
14551		(KHTMLPart::executeScript), (KHTMLPart::requestObject),
14552		(KHTMLPart::setJSDefaultStatusBarText), (KHTMLPart::referrer),
14553		(KHTMLPart::lastModified):
14554		* src/kwq/KWQKMimeType.mm: (KMimeType::comment), (KMimeType::mimeType),
14555		(KMimeType::defaultMimeType):
14556		* src/kwq/KWQKPrinter.mm: (KPrinter::KPrinter):
14557		* src/kwq/KWQKProtocolManager.mm: (KProtocolManager::proxyFor):
14558		* src/kwq/KWQKstddirs.mm: (KStandardDirs::saveLocation):
14559		* src/kwq/KWQLineEdit.mm: (QLineEdit::edited), (QLineEdit::setEdited):
14560		* src/kwq/KWQListImpl.h:
14561		* src/kwq/KWQListImpl.mm: (KWQListImpl::getFirst), (KWQListImpl::take):
14562		* src/kwq/KWQMapImpl.h:
14563		* src/kwq/KWQMapImpl.mm: (KWQMapImpl::removeEqualInternal):
14564		* src/kwq/KWQNSTextField.h:
14565		* src/kwq/KWQNSTextField.mm: (-[KWQNSTextField edited]), (-[KWQNSTextField
14566		setEdited:]), (-[KWQNSTextField textDidChange:]):
14567		* src/kwq/KWQObject.mm: (QObject::eventFilter):
14568		* src/kwq/KWQPainter.mm: (QPainter::drawConvexPolygon), (QPainter::drawText):
14569		* src/kwq/KWQPalette.mm: (QPalette::operator==):
14570		* src/kwq/KWQRadioButton.mm: (QRadioButton::isChecked):
14571		* src/kwq/KWQRect.mm: (QRect::isEmpty), (QRect::intersect), (QRect::unite):
14572		* src/kwq/KWQRegion.mm: (QRegion::translate), (QRegion::boundingRect):
14573		* src/kwq/KWQScrollView.mm: (QScrollView::updateContents):
14574		* src/kwq/KWQString.mm: (QString::endsWith):
14575		* src/kwq/KWQStyle.h:
14576		* src/kwq/KWQTextArea.h:
14577		* src/kwq/KWQTextArea.mm: (-[KWQTextArea paragraphs]), (RangeOfParagraph),
14578		(-[KWQTextArea paragraphLength:]), (-[KWQTextArea textForParagraph:]),
14579		(-[KWQTextArea lineOfCharAtIndex:inParagraph:]), (-[KWQTextArea
14580		getCursorPositionAsIndex:inParagraph:]), (-[KWQTextArea
14581		setCursorPositionToIndex:inParagraph:]):
14582		* src/kwq/KWQTextEdit.mm: (QMultiLineEdit::QMultiLineEdit), (KEdit::KEdit),
14583		(KEdit::~KEdit), (QTextEdit::QTextEdit), (QTextEdit::setText), (QTextEdit::text),
14584		(QTextEdit::paragraphs), (QTextEdit::paragraphLength), (QTextEdit::lineOfChar),
14585		(QTextEdit::getCursorPosition), (QTextEdit::setCursorPosition),
14586		(QTextEdit::wordWrap), (QTextEdit::setWordWrap), (QTextEdit::setTextFormat),
14587		(QTextEdit::isReadOnly), (QTextEdit::setReadOnly), (QTextEdit::selectAll):
14588		* src/kwq/KWQVectorImpl.mm: (KWQVectorImpl::at), (KWQVectorImpl::data):
14589		* src/kwq/KWQWidget.mm: (QWidget::frameGeometry), (QWidget::cursor),
14590		(QWidget::unsetCursor):
14591		* src/kwq/KWQbrowserextension.mm:
14592		* src/kwq/KWQtextstream.mm: (QTextStream::QTextStream),
14593		(QTextStream::operator<<), (endl):
14594		* src/kwq/KWQxml.mm: (QXmlAttributes::uri), (QXmlParseException::lineNumber):
14595		* src/kwq/Makefile.am:
14596		* src/kwq/kdecore/kstandarddirs.h:
14597		* src/kwq/kdecore/kstaticdeleter.h:
14598		* src/kwq/kdeui/keditcl.h:
14599		* src/kwq/kio/kmimetype.h:
14600		* src/kwq/qt/qarray.h:
14601		* src/kwq/qt/qevent.h:
14602		* src/kwq/qt/qlist.h:
14603		* src/kwq/qt/qmap.h:
14604		* src/kwq/qt/qpalette.h:
14605		* src/kwq/qt/qptrqueue.h:
14606		* src/kwq/qt/qscrollview.h:
14607		* src/kwq/qt/qstring.h:
14608		* src/kwq/qt/qtextedit.h:
14609
14610	2002-03-18  Maciej Stachowiak  <mjs@apple.com>
14611
14612		Changes needed to get kwq compiling (doesn't link yet, though).
14613
14614		* src/kdelibs/khtml/misc/loader.h:
14615		* src/kdelibs/khtml/xml/dom_elementimpl.h:
14616		* src/kwq/KWQCollection.mm: (QPtrCollection::QPtrCollection),
14617		(QPtrCollection::operator=), (QPtrCollection::~QPtrCollection),
14618		(QPtrCollection::autoDelete), (QPtrCollection::setAutoDelete):
14619		* src/kwq/KWQEvent.mm: (QKeyEvent::QKeyEvent):
14620		* src/kwq/KWQIcon.h:
14621		* src/kwq/KWQKHTMLFactory.mm:
14622		* src/kwq/KWQKHTMLPart.h:
14623		* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::KHTMLPart), (KHTMLPart::slotData),
14624		(KHTMLPart::begin), (KHTMLPart::write), (KHTMLPart::checkCompleted),
14625		(KHTMLPart::settings), (KHTMLPart::completeURL), (KHTMLPart::encoding),
14626		(KHTMLPart::overURL), (KHTMLPart::urlSelected), (KHTMLPart::requestObject),
14627		(KHTMLPart::frames), (KHTMLPart::event):
14628		* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::KHTMLSettings),
14629		(KHTMLSettings::availableFamilies):
14630		* src/kwq/KWQKProcess.mm: (KProcess::args):
14631		* src/kwq/KWQKloader.mm: (CachedImage::CachedImage), (CachedImage::movieStatus),
14632		(DocLoader::DocLoader), (Loader::load), (Loader::servePendingRequests),
14633		(Loader::slotFinished), (Cache::requestScript):
14634		* src/kwq/KWQPainter.mm: (QPainter::save):
14635		* src/kwq/KWQPointArray.mm: (QPointArray::setPoint):
14636		* src/kwq/KWQValueListImpl.mm: (KWQValueListImpl::removeEqualNodes),
14637		(KWQValueListImpl::containsEqualNodes):
14638		* src/kwq/KWQView.mm: (-[KWQHTMLView layout]):
14639		* src/kwq/KWQsignals.mm: (khtml::Loader::requestDone),
14640		(khtml::Loader::requestFailed):
14641		* src/kwq/kdecore/kiconloader.h:
14642		* src/kwq/kparts/browserextension.h:
14643		* src/kwq/qt/qmovie.h:
14644		
14645	2002-03-16  Maciej Stachowiak  <mjs@apple.com>
14646
14647		Updated to get khtml to compile. Changes included updating our
14648		headers for new classes, new methods, header name changes, etc, as
14649		well as occasionally commenting out or replacing portions of the
14650		khtml code with #if APPLE_CHANGES, and adding new files from the
14651		kde3 sources when appropriate. Also commit some kjs files that I
14652		forgot to cvs add before.
14653
14654		* src/kdelibs/khtml/css/css_valueimpl.cpp:
14655		(CSSStyleDeclarationImpl::getPropertyCSSValue):
14656		* src/kdelibs/khtml/css/cssparser.cpp: (StyleBaseImpl::parseContent):
14657		* src/kdelibs/khtml/css/cssstyleselector.cpp:
14658		(CSSStyleSelector::CSSStyleSelector), (khtml::applyRule):
14659		* src/kdelibs/khtml/ecma/.cvsignore:
14660		* src/kdelibs/khtml/ecma/Makefile.am:
14661		* src/kdelibs/khtml/ecma/kjs_debugwin.h:
14662		* src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMNode::toString):
14663		* src/kdelibs/khtml/ecma/kjs_dom.h:
14664		* src/kdelibs/khtml/ecma/kjs_window.cpp:
14665		* src/kdelibs/khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::cookie),
14666		(HTMLDocumentImpl::setCookie):
14667		* src/kdelibs/khtml/html/html_formimpl.cpp:
14668		(HTMLKeygenElementImpl::HTMLKeygenElementImpl),
14669		(HTMLKeygenElementImpl::encoding):
14670		* src/kdelibs/khtml/java/kjavaprocess.cpp: (KJavaProcess::invokeJVM):
14671		* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::contentsContextMenuEvent):
14672		* src/kdelibs/khtml/misc/loader.h:
14673		* src/kdelibs/khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth):
14674		* src/kdelibs/khtml/rendering/render_form.cpp: (RenderTextArea::calcMinMaxWidth):
14675		* src/kdelibs/khtml/rendering/render_image.cpp: (RenderImage::printObject):
14676		* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
14677		* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::close):
14678		* src/kdelibs/khtml/xml/dom_elementimpl.cpp:
14679		(ElementImpl::dispatchAttrRemovalEvent),
14680		(ElementImpl::dispatchAttrAdditionEvent):
14681		* src/kdelibs/kjs/interpreter.cpp: (Context::Context), (Context::operator=),
14682		(Context::~Context), (Context::isNull), (Context::imp), (Context::scopeChain),
14683		(Context::variableObject), (Context::thisValue), (Context::callingContext),
14684		(Interpreter::Interpreter), (Interpreter::~Interpreter),
14685		(Interpreter::globalObject), (Interpreter::globalExec),
14686		(Interpreter::checkSyntax), (Interpreter::evaluate), (Interpreter::imp),
14687		(Interpreter::builtinObject), (Interpreter::builtinFunction),
14688		(Interpreter::builtinArray), (Interpreter::builtinBoolean),
14689		(Interpreter::builtinString), (Interpreter::builtinNumber),
14690		(Interpreter::builtinDate), (Interpreter::builtinRegExp),
14691		(Interpreter::builtinError), (Interpreter::builtinObjectPrototype),
14692		(Interpreter::builtinFunctionPrototype), (Interpreter::builtinArrayPrototype),
14693		(Interpreter::builtinBooleanPrototype), (Interpreter::builtinStringPrototype),
14694		(Interpreter::builtinNumberPrototype), (Interpreter::builtinDatePrototype),
14695		(Interpreter::builtinRegExpPrototype), (Interpreter::builtinErrorPrototype),
14696		(Interpreter::builtinEvalError), (Interpreter::builtinRangeError),
14697		(Interpreter::builtinReferenceError), (Interpreter::builtinSyntaxError),
14698		(Interpreter::builtinTypeError), (Interpreter::builtinURIError),
14699		(Interpreter::builtinEvalErrorPrototype),
14700		(Interpreter::builtinRangeErrorPrototype),
14701		(Interpreter::builtinReferenceErrorPrototype),
14702		(Interpreter::builtinSyntaxErrorPrototype),
14703		(Interpreter::builtinTypeErrorPrototype),
14704		(Interpreter::builtinURIErrorPrototype), (Interpreter::setCompatMode),
14705		(Interpreter::compatMode), (Interpreter::finalCheck), (ExecState::~ExecState),
14706		(ExecState::interpreter), (ExecState::context), (ExecState::setException),
14707		(ExecState::clearException), (ExecState::exception), (ExecState::hadException),
14708		(ExecState::ExecState):
14709		* src/kdelibs/kjs/property_map.cpp: (PropertyMapNode::setLeft),
14710		(PropertyMapNode::setRight), (PropertyMapNode::setParent),
14711		(PropertyMapNode::findMax), (PropertyMapNode::findMin), (PropertyMapNode::next),
14712		(KJS::uscompare), (PropertyMap::PropertyMap), (PropertyMap::~PropertyMap),
14713		(PropertyMap::put), (PropertyMap::remove), (PropertyMap::get),
14714		(PropertyMap::clear), (PropertyMap::dump), (PropertyMap::checkTree),
14715		(PropertyMap::getNode), (PropertyMap::first), (PropertyMap::balance),
14716		(PropertyMap::updateHeight), (PropertyMap::rotateRR), (PropertyMap::rotateLL),
14717		(PropertyMap::rotateRL), (PropertyMap::rotateLR):
14718		* src/kdelibs/kjs/property_map.h:
14719		* src/kdelibs/kjs/value.cpp: (ValueImp::ValueImp), (ValueImp::~ValueImp),
14720		(ValueImp::mark), (ValueImp::marked), (ValueImp::setGcAllowed),
14721		(ValueImp::operator new), (ValueImp::operator delete), (ValueImp::toInteger),
14722		(ValueImp::toInt32), (ValueImp::toUInt32), (ValueImp::toUInt16),
14723		(ValueImp::getBase), (ValueImp::getPropertyName), (ValueImp::getValue),
14724		(ValueImp::putValue), (KJS::operator==), (KJS::operator!=), (Value::Value),
14725		(Value::~Value), (Value::operator=), (Value::isNull), (Value::imp),
14726		(Value::type), (Value::isA), (Value::toPrimitive), (Value::toBoolean),
14727		(Value::toNumber), (Value::toInteger), (Value::toInt32), (Value::toUInt32),
14728		(Value::toUInt16), (Value::toString), (Value::toObject), (Value::getBase),
14729		(Value::getPropertyName), (Value::getValue), (Value::putValue),
14730		(Undefined::Undefined), (Undefined::~Undefined), (Undefined::operator=),
14731		(Undefined::dynamicCast), (Null::Null), (Null::~Null), (Null::operator=),
14732		(Null::dynamicCast), (Boolean::Boolean), (Boolean::~Boolean),
14733		(Boolean::operator=), (Boolean::value), (Boolean::dynamicCast), (String::String),
14734		(String::~String), (String::operator=), (String::value), (String::dynamicCast),
14735		(Number::Number), (Number::~Number), (Number::operator=), (Number::dynamicCast),
14736		(Number::value), (Number::intValue), (Number::isNaN), (Number::isInf):
14737		* src/kwq/KWQDef.h:
14738		* src/kwq/KWQInputDialog.mm: (QInputDialog::getText):
14739		* src/kwq/KWQKConfigBase.mm: (KConfig::KConfig):
14740		* src/kwq/KWQKHTMLPart.h:
14741		* src/kwq/KWQListImpl.h:
14742		* src/kwq/KWQMapImpl.h:
14743		* src/kwq/KWQMapImpl.mm: (KWQMapImpl::removeEqualInternal):
14744		* src/kwq/KWQStrList.h:
14745		* src/kwq/KWQStyle.h:
14746		* src/kwq/KWQValueListImpl.h:
14747		* src/kwq/KWQVectorImpl.h:
14748		* src/kwq/kdecore/kapplication.h:
14749		* src/kwq/kdecore/kconfig.h:
14750		* src/kwq/kdecore/kdebug.h:
14751		* src/kwq/kdecore/kprocess.h:
14752		* src/kwq/kdecore/kstandarddirs.h:
14753		* src/kwq/kdecore/kstaticdeleter.h:
14754		* src/kwq/kdeui/kaction.h:
14755		* src/kwq/kdeui/kcursor.h:
14756		* src/kwq/khtml/khtml_factory.h:
14757		* src/kwq/khtml/khtml_settings.h:
14758		* src/kwq/kio/global.h:
14759		* src/kwq/kio/kmimetype.h:
14760		* src/kwq/kio/kprinter.h:
14761		* src/kwq/kio/kprotocolmanager.h:
14762		* src/kwq/kparts/browserextension.h:
14763		* src/kwq/qt/qapplication.h:
14764		* src/kwq/qt/qarray.h:
14765		* src/kwq/qt/qcollection.h:
14766		* src/kwq/qt/qcombobox.h:
14767		* src/kwq/qt/qcstring.h:
14768		* src/kwq/qt/qcursor.h:
14769		* src/kwq/qt/qdict.h:
14770		* src/kwq/qt/qevent.h:
14771		* src/kwq/qt/qfontmetrics.h:
14772		* src/kwq/qt/qinputdialog.h:
14773		* src/kwq/qt/qlineedit.h:
14774		* src/kwq/qt/qlist.h:
14775		* src/kwq/qt/qmap.h:
14776		* src/kwq/qt/qmemarray.h:
14777		* src/kwq/qt/qnamespace.h:
14778		* src/kwq/qt/qobject.h:
14779		* src/kwq/qt/qpainter.h:
14780		* src/kwq/qt/qpalette.h:
14781		* src/kwq/qt/qpoint.h:
14782		* src/kwq/qt/qpointarray.h:
14783		* src/kwq/qt/qprinter.h:
14784		* src/kwq/qt/qptrdict.h:
14785		* src/kwq/qt/qptrlist.h:
14786		* src/kwq/qt/qptrqueue.h:
14787		* src/kwq/qt/qptrstack.h:
14788		* src/kwq/qt/qptrvector.h:
14789		* src/kwq/qt/qradiobutton.h:
14790		* src/kwq/qt/qrect.h:
14791		* src/kwq/qt/qregion.h:
14792		* src/kwq/qt/qscrollview.h:
14793		* src/kwq/qt/qsortedlist.h:
14794		* src/kwq/qt/qstack.h:
14795		* src/kwq/qt/qstring.h:
14796		* src/kwq/qt/qstylesheet.h:
14797		* src/kwq/qt/qtextedit.h:
14798		* src/kwq/qt/qtextstream.h:
14799		* src/kwq/qt/qvaluelist.h:
14800		* src/kwq/qt/qvector.h:
14801		* src/kwq/qt/qwidget.h:
14802		* src/kwq/qt/qxml.h:
14803		
14804	2002-03-14  Maciej Stachowiak  <mjs@apple.com>
14805
14806		Get kjs to compile and link by adding mssing files, setting up
14807		autogenerated files to autogenerate, and making a handful of minor
14808		tweaks. The test program passes. Yay!
14809
14810		* src/kdelibs/kjs/Makefile.am:
14811		* src/kdelibs/kjs/create_hash_table:
14812		* src/kdelibs/kjs/global_object.cpp:
14813		* src/kdelibs/kjs/grammar.y:
14814		* src/kdelibs/kjs/interpreter.h:
14815		* src/kdelibs/kjs/keywords.table:
14816		* src/kdelibs/kjs/kjs.cpp:
14817		* src/kdelibs/kjs/kjs.h:
14818		* src/kdelibs/kjs/lexer.lut.h:
14819		* src/kdelibs/kjs/math_object.lut.h:
14820		* src/kdelibs/kjs/ustring.h:
14821		* src/kdelibs/kjs/value.h:
14822		* src/kdelibs/kjs/.cvsignore:
14823		
14824	2002-03-14  Maciej Stachowiak  <mjs@apple.com>
14825
14826		Hand-merge KDE3 beta 2 changes into this frankenstein file.
14827
14828		* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient setDataSource:]),
14829		(WCSetIFWebDataSourceMakeFunc), (WCSetIFErrorMakeFunc), (recursive),
14830		(encodingFromContentType), (splitUrlTarget), (KHTMLPart::KHTMLPart),
14831		(KHTMLPart::init), (KHTMLPart::~KHTMLPart), (KHTMLPart::browserExtension),
14832		(KHTMLPart::view), (KHTMLPart::setMetaRefreshEnabled), (KHTMLPart::jScript),
14833		(KHTMLPart::executeScript), (KHTMLPart::executeScheduledScript),
14834		(KHTMLPart::docImpl), (KHTMLPart::xmlDocImpl), (KHTMLPart::slotData),
14835		(KHTMLPart::begin), (KHTMLPart::write), (KHTMLPart::end),
14836		(KHTMLPart::checkCompleted), (KHTMLPart::settings), (KHTMLPart::completeURL),
14837		(KHTMLPart::scheduleRedirection), (KHTMLPart::setEncoding),
14838		(KHTMLPart::encoding), (KHTMLPart::gotoAnchor), (KHTMLPart::setFontSizes),
14839		(KHTMLPart::fontSizes), (KHTMLPart::onlyLocalReferences),
14840		(KHTMLPart::setOnlyLocalReferences), (KHTMLPart::findTextBegin),
14841		(KHTMLPart::findTextNext), (KHTMLPart::selectedText), (KHTMLPart::hasSelection),
14842		(KHTMLPart::selection), (KHTMLPart::setSelection), (KHTMLPart::overURL),
14843		(KHTMLPart::urlSelected), (KHTMLPart::requestFrame),
14844		(KHTMLPart::requestFrameName), (KHTMLPart::requestObject),
14845		(KHTMLPart::submitForm), (KHTMLPart::findFrame), (KHTMLPart::frameExists),
14846		(KHTMLPart::parentPart), (KHTMLPart::setJSStatusBarText),
14847		(KHTMLPart::setJSDefaultStatusBarText), (KHTMLPart::jsStatusBarText),
14848		(KHTMLPart::jsDefaultStatusBarText), (KHTMLPart::frames),
14849		(KHTMLPart::customEvent), (KHTMLPart::khtmlMousePressEvent):
14850		
14851	2002-03-13  Maciej Stachowiak  <mjs@apple.com>
14852
14853		Merge KDE3 beta 2 changes into this frankenstein file.
14854
14855		* src/kwq/KWQKloader.mm: (CachedCSSStyleSheet::CachedCSSStyleSheet),
14856		(CachedCSSStyleSheet::ref), (CachedCSSStyleSheet::data),
14857		(CachedCSSStyleSheet::checkNotify), (CachedCSSStyleSheet::error),
14858		(CachedScript::CachedScript), (CachedScript::ref), (CachedScript::data),
14859		(CachedScript::checkNotify), (CachedScript::error), (CachedImage::CachedImage),
14860		(CachedImage::ref), (CachedImage::tiled_pixmap), (CachedImage::pixmap_size),
14861		(CachedImage::do_notify), (CachedImage::movieStatus), (CachedImage::movieResize),
14862		(CachedImage::setShowAnimations), (CachedImage::deleteMovie),
14863		(CachedImage::data), (Request::Request), (DocLoader::DocLoader),
14864		(DocLoader::requestImage), (DocLoader::requestStyleSheet),
14865		(DocLoader::requestScript), (DocLoader::setAutoloadImages),
14866		(DocLoader::setShowAnimations), (Loader::Loader), (Loader::~Loader),
14867		(Loader::load), (Loader::servePendingRequests), (Loader::slotFinished),
14868		(Loader::slotData), (Loader::numRequests), (Loader::cancelRequests),
14869		(Cache::init), (Cache::requestImage), (Cache::requestStyleSheet),
14870		(Cache::preloadStyleSheet), (Cache::requestScript), (Cache::preloadScript),
14871		(Cache::flush):
14872
14873	2002-03-13  Maciej Stachowiak  <mjs@apple.com>
14874
14875		Clean up this frankenstein file in preparation for merging KDE
14876		beta 2 changes.
14877
14878		* src/kwq/KWQKloader.mm: (CachedCSSStyleSheet::CachedCSSStyleSheet),
14879		(CachedScript::CachedScript), (CachedImage::CachedImage),
14880		(CachedImage::pixmap_size), (CachedImage::movieResize), (CachedImage::data),
14881		(DocLoader::DocLoader), (Loader::Loader), (Loader::~Loader), (Loader::load),
14882		(Loader::servePendingRequests), (Loader::slotFinished), (Loader::slotData),
14883		(Loader::numRequests), (Loader::cancelRequests), (Cache::requestImage),
14884		(Cache::requestStyleSheet), (Cache::requestScript), (Cache::flush):
14885
14886	2002-03-13  Maciej Stachowiak  <mjs@apple.com>
14887
14888		Remove files from build that are no longer in KDE 3 beta 2:
14889
14890		* src/kdelibs/khtml/ecma/Makefile.am:
14891		* src/kdelibs/khtml/ecma/kjs_text.cpp:
14892		* src/kdelibs/khtml/ecma/kjs_text.h:
14893		* src/kdelibs/khtml/misc/Makefile.am:
14894		* src/kdelibs/khtml/misc/font.cpp:
14895		* src/kdelibs/khtml/misc/font.h:
14896		* src/kdelibs/khtml/rendering/Makefile.am:
14897		* src/kdelibs/khtml/rendering/render_hr.cpp:
14898		* src/kdelibs/khtml/rendering/render_hr.h:
14899		
14900	2002-03-08  Don Melton  <gramps@apple.com>
14901
14902		Merged kdelibs from KDE 3 beta 2 into our 2.2.1-based sources.
14903
14904		* src/kdelibs/kdecore/kentities.gperf:
14905		* src/kdelibs/khtml/css/css_ruleimpl.cpp: (CSSRuleImpl::CSSRuleImpl),
14906		(CSSRuleImpl::cssText), (CSSCharsetRuleImpl::CSSCharsetRuleImpl),
14907		(CSSImportRuleImpl::CSSImportRuleImpl), (CSSImportRuleImpl::~CSSImportRuleImpl),
14908		(CSSImportRuleImpl::setStyleSheet), (CSSImportRuleImpl::init),
14909		(CSSMediaRuleImpl::CSSMediaRuleImpl), (CSSMediaRuleImpl::~CSSMediaRuleImpl),
14910		(CSSMediaRuleImpl::cssRules), (CSSMediaRuleImpl::appendRule),
14911		(CSSMediaRuleImpl::insertRule), (CSSMediaRuleImpl::deleteRule),
14912		(CSSRuleListImpl::~CSSRuleListImpl), (CSSPageRuleImpl::selectorText),
14913		(CSSStyleRuleImpl::selectorText), (CSSStyleRuleImpl::setSelector),
14914		(CSSUnknownRuleImpl::~CSSUnknownRuleImpl), (CSSRuleListImpl::CSSRuleListImpl),
14915		(CSSRuleListImpl::length), (CSSRuleListImpl::item),
14916		(CSSRuleListImpl::deleteRule), (CSSRuleListImpl::insertRule):
14917		* src/kdelibs/khtml/css/css_ruleimpl.h:
14918		* src/kdelibs/khtml/css/css_stylesheetimpl.cpp: (StyleSheetImpl::setMedia),
14919		(CSSStyleSheetImpl::CSSStyleSheetImpl), (CSSStyleSheetImpl::parseString),
14920		(StyleSheetListImpl::~StyleSheetListImpl), (StyleSheetListImpl::length),
14921		(StyleSheetListImpl::item), (MediaListImpl::MediaListImpl),
14922		(MediaListImpl::contains), (MediaListImpl::item), (MediaListImpl::deleteMedium),
14923		(MediaListImpl::appendMedium), (MediaListImpl::setMediaText):
14924		* src/kdelibs/khtml/css/css_stylesheetimpl.h:
14925		* src/kdelibs/khtml/css/css_valueimpl.cpp:
14926		(CSSStyleDeclarationImpl::CSSStyleDeclarationImpl),
14927		(CSSStyleDeclarationImpl::getPropertyCSSValue),
14928		(CSSStyleDeclarationImpl::removeProperty),
14929		(CSSStyleDeclarationImpl::setProperty),
14930		(CSSStyleDeclarationImpl::setLengthProperty), (CSSStyleDeclarationImpl::item),
14931		(CSSValueListImpl::cssValueType), (CSSPrimitiveValueImpl::cssValueType),
14932		(CSSImageValueImpl::CSSImageValueImpl),
14933		(FontFamilyValueImpl::FontFamilyValueImpl):
14934		* src/kdelibs/khtml/css/css_valueimpl.h:
14935		* src/kdelibs/khtml/css/csshelper.cpp: (khtml::computeLengthFloat),
14936		(khtml::setFontSize):
14937		* src/kdelibs/khtml/css/csshelper.h:
14938		* src/kdelibs/khtml/css/cssparser.cpp: (StyleBaseImpl::baseURL),
14939		(StyleBaseImpl::parseAtRule), (StyleBaseImpl::parseSelector2),
14940		(StyleBaseImpl::parseSelector), (StyleBaseImpl::parseProperty),
14941		(StyleBaseImpl::parseProperties), (StyleBaseImpl::parseFont),
14942		(StyleBaseImpl::parseValue), (StyleBaseImpl::setParsedValue),
14943		(StyleBaseImpl::parseShortHand), (StyleBaseImpl::parseBackgroundPosition),
14944		(StyleBaseImpl::parseContent), (StyleBaseImpl::splitContent),
14945		(StyleBaseImpl::splitShorthandProperties), (StyleBaseImpl::parse2Values),
14946		(StyleBaseImpl::parse4Values), (StyleBaseImpl::parseUnit),
14947		(StyleBaseImpl::parseStyleRule), (StyleBaseImpl::preprocess),
14948		(CSSSelector::specificity):
14949		* src/kdelibs/khtml/css/cssparser.h:
14950		* src/kdelibs/khtml/css/cssproperties.in:
14951		* src/kdelibs/khtml/css/cssstyleselector.cpp:
14952		(CSSStyleSelector::CSSStyleSelector), (CSSStyleSelector::addSheet),
14953		(CSSStyleSelector::loadDefaultStyle), (CSSStyleSelector::clear),
14954		(CSSStyleSelector::styleForElement), (CSSStyleSelector::addInlineDeclarations),
14955		(CSSStyleSelector::checkSelector), (CSSStyleSelector::checkOneSelector),
14956		(CSSStyleSelector::buildLists), (CSSStyleSelectorList::CSSStyleSelectorList),
14957		(CSSStyleSelectorList::append), (CSSStyleSelectorList::collect),
14958		(CSSOrderedPropertyList::compareItems), (CSSOrderedPropertyList::append),
14959		(convertToLength), (khtml::applyRule):
14960		* src/kdelibs/khtml/css/cssstyleselector.h:
14961		* src/kdelibs/khtml/css/cssvalues.in:
14962		* src/kdelibs/khtml/css/html4.css:
14963		* src/kdelibs/khtml/css/makeprop:
14964		* src/kdelibs/khtml/css/makevalues:
14965		* src/kdelibs/khtml/dom/css_rule.cpp: (CSSRuleList::CSSRuleList):
14966		* src/kdelibs/khtml/dom/css_rule.h:
14967		* src/kdelibs/khtml/dom/css_stylesheet.cpp: (MediaList::length),
14968		(MediaList::item), (MediaList::deleteMedium), (MediaList::appendMedium):
14969		* src/kdelibs/khtml/dom/css_stylesheet.h:
14970		* src/kdelibs/khtml/dom/css_value.cpp: (CSSStyleDeclaration::getPropertyValue),
14971		(CSSStyleDeclaration::getPropertyCSSValue),
14972		(CSSStyleDeclaration::removeProperty),
14973		(CSSStyleDeclaration::getPropertyPriority), (CSSStyleDeclaration::setProperty),
14974		(CSSPrimitiveValue::setFloatValue):
14975		* src/kdelibs/khtml/dom/css_value.h:
14976		* src/kdelibs/khtml/dom/dom2_events.cpp: (Event::type), (Event::eventModuleName):
14977		* src/kdelibs/khtml/dom/dom2_events.h:
14978		* src/kdelibs/khtml/dom/dom2_range.cpp:
14979		* src/kdelibs/khtml/dom/dom2_range.h:
14980		* src/kdelibs/khtml/dom/dom2_traversal.cpp:
14981		* src/kdelibs/khtml/dom/dom2_traversal.h:
14982		* src/kdelibs/khtml/dom/dom2_views.cpp: (AbstractView::document),
14983		(AbstractView::getComputedStyle):
14984		* src/kdelibs/khtml/dom/dom2_views.h:
14985		* src/kdelibs/khtml/dom/dom_core.h:
14986		* src/kdelibs/khtml/dom/dom_doc.cpp: (DOMImplementation::hasFeature),
14987		(DOMImplementation::createDocumentType), (DOMImplementation::createDocument),
14988		(DOMImplementation::createHTMLDocument), (DOMImplementation::getInterface),
14989		(DOMImplementation::createCSSStyleSheet), (Document::Document),
14990		(Document::operator = ), (Document::createAttribute),
14991		(Document::createAttributeNS), (Document::getElementById),
14992		(Document::getElementsByTagName), (Document::getElementsByTagNameNS),
14993		(Document::importNode), (Document::isHTMLDocument), (Document::createRange),
14994		(Document::completeURL), (DocumentFragment::operator = ),
14995		(DocumentType::DocumentType), (DocumentType::operator = ), (DocumentType::name),
14996		(DocumentType::entities), (DocumentType::notations), (DocumentType::publicId),
14997		(DocumentType::systemId), (DocumentType::internalSubset):
14998		* src/kdelibs/khtml/dom/dom_doc.h:
14999		* src/kdelibs/khtml/dom/dom_element.cpp: (Attr::operator = ), (Attr::name),
15000		(Attr::ownerElement), (Attr::value), (Attr::setValue), (Element::operator = ),
15001		(Element::tagName), (Element::getAttribute), (Element::setAttribute),
15002		(Element::removeAttribute), (Element::getAttributeNode),
15003		(Element::setAttributeNode), (Element::removeAttributeNode),
15004		(Element::getElementsByTagName), (Element::getElementsByTagNameNS),
15005		(Element::getAttributeNS), (Element::setAttributeNS),
15006		(Element::removeAttributeNS), (Element::getAttributeNodeNS),
15007		(Element::setAttributeNodeNS), (Element::hasAttribute),
15008		(Element::hasAttributeNS), (Element::khtmlValidAttrName),
15009		(Element::khtmlValidPrefix), (Element::khtmlValidQualifiedName),
15010		(Element::khtmlMalformedQualifiedName), (Element::khtmlMalformedPrefix):
15011		* src/kdelibs/khtml/dom/dom_element.h:
15012		* src/kdelibs/khtml/dom/dom_exception.h:
15013		* src/kdelibs/khtml/dom/dom_html.h:
15014		* src/kdelibs/khtml/dom/dom_misc.cpp: (DomShared::deleteMe):
15015		* src/kdelibs/khtml/dom/dom_misc.h:
15016		* src/kdelibs/khtml/dom/dom_node.cpp: (NamedNodeMap::getNamedItem),
15017		(NamedNodeMap::setNamedItem), (NamedNodeMap::removeNamedItem),
15018		(NamedNodeMap::item), (NamedNodeMap::getNamedItemNS),
15019		(NamedNodeMap::setNamedItemNS), (NamedNodeMap::removeNamedItemNS),
15020		(NamedNodeMap::length), (throw), (Node::operator == ), (Node::operator != ),
15021		(Node::nodeValue), (Node::setNodeValue), (Node::nodeType), (Node::parentNode),
15022		(Node::childNodes), (Node::firstChild), (Node::lastChild),
15023		(Node::previousSibling), (Node::nextSibling), (Node::attributes),
15024		(Node::ownerDocument), (Node::insertBefore), (Node::replaceChild),
15025		(Node::removeChild), (Node::appendChild), (Node::hasAttributes),
15026		(Node::hasChildNodes), (Node::cloneNode), (Node::normalize), (Node::isSupported),
15027		(Node::namespaceURI), (Node::prefix), (Node::setPrefix), (Node::localName),
15028		(Node::addEventListener), (Node::removeEventListener), (Node::elementId),
15029		(Node::index), (Node::toHTML), (Node::applyChanges), (Node::getCursor),
15030		(Node::getRect), (NodeList::item), (NodeList::length):
15031		* src/kdelibs/khtml/dom/dom_node.h:
15032		* src/kdelibs/khtml/dom/dom_string.cpp: (DOMString::lower), (DOMString::upper),
15033		(DOM::operator==):
15034		* src/kdelibs/khtml/dom/dom_string.h:
15035		* src/kdelibs/khtml/dom/dom_text.cpp: (CharacterData::operator = ),
15036		(CharacterData::setData), (CharacterData::substringData),
15037		(CharacterData::appendData), (CharacterData::insertData),
15038		(CharacterData::deleteData), (CharacterData::replaceData), (Comment::operator =
15039		), (Text::operator = ), (Text::splitText):
15040		* src/kdelibs/khtml/dom/dom_text.h:
15041		* src/kdelibs/khtml/dom/dom_xml.cpp: (CDATASection::operator = ),
15042		(Entity::operator = ), (Entity::publicId), (Entity::systemId),
15043		(Entity::notationName), (EntityReference::operator = ), (Notation::operator = ),
15044		(Notation::publicId), (Notation::systemId), (ProcessingInstruction::operator = ),
15045		(ProcessingInstruction::target), (ProcessingInstruction::data),
15046		(ProcessingInstruction::setData):
15047		* src/kdelibs/khtml/dom/dom_xml.h:
15048		* src/kdelibs/khtml/dom/html_base.cpp: (HTMLFrameElement::setSrc),
15049		(HTMLFrameElement::contentDocument):
15050		* src/kdelibs/khtml/dom/html_base.h:
15051		* src/kdelibs/khtml/dom/html_block.cpp:
15052		* src/kdelibs/khtml/dom/html_block.h:
15053		* src/kdelibs/khtml/dom/html_document.cpp: (HTMLDocument::HTMLDocument),
15054		(HTMLDocument::operator = ), (HTMLDocument::title), (HTMLDocument::completeURL),
15055		(HTMLDocument::lastModified), (HTMLDocument::cookie), (HTMLDocument::setCookie),
15056		(HTMLDocument::getElementsByName):
15057		* src/kdelibs/khtml/dom/html_document.h:
15058		* src/kdelibs/khtml/dom/html_element.cpp: (HTMLElement::operator = ),
15059		(HTMLElement::removeCSSProperty), (HTMLElement::addCSSProperty),
15060		(HTMLElement::setInnerText), (HTMLElement::children):
15061		* src/kdelibs/khtml/dom/html_element.h:
15062		* src/kdelibs/khtml/dom/html_form.cpp: (HTMLInputElement::setDefaultChecked),
15063		(HTMLInputElement::name), (HTMLInputElement::setName), (HTMLInputElement::src),
15064		(HTMLInputElement::setType), (HTMLInputElement::blur), (HTMLInputElement::focus),
15065		(HTMLInputElement::select), (HTMLInputElement::click), (HTMLSelectElement::name),
15066		(HTMLSelectElement::setName), (HTMLSelectElement::blur),
15067		(HTMLSelectElement::focus), (HTMLTextAreaElement::name),
15068		(HTMLTextAreaElement::setName), (HTMLTextAreaElement::blur),
15069		(HTMLTextAreaElement::focus), (HTMLTextAreaElement::select),
15070		(HTMLOptionElement::value), (HTMLOptionElement::setValue):
15071		* src/kdelibs/khtml/dom/html_form.h:
15072		* src/kdelibs/khtml/dom/html_head.cpp:
15073		* src/kdelibs/khtml/dom/html_head.h:
15074		* src/kdelibs/khtml/dom/html_image.cpp: (HTMLImageElement::border),
15075		(HTMLImageElement::setBorder), (HTMLImageElement::height),
15076		(HTMLImageElement::setHeight), (HTMLImageElement::hspace),
15077		(HTMLImageElement::setHspace), (HTMLImageElement::src),
15078		(HTMLImageElement::vspace), (HTMLImageElement::setVspace),
15079		(HTMLImageElement::width), (HTMLImageElement::setWidth):
15080		* src/kdelibs/khtml/dom/html_image.h:
15081		* src/kdelibs/khtml/dom/html_inline.cpp: (HTMLAnchorElement::blur),
15082		(HTMLAnchorElement::focus), (HTMLIFrameElement::contentDocument),
15083		(HTMLModElement::HTMLModElement), (HTMLQuoteElement::HTMLQuoteElement):
15084		* src/kdelibs/khtml/dom/html_inline.h:
15085		* src/kdelibs/khtml/dom/html_list.cpp:
15086		* src/kdelibs/khtml/dom/html_list.h:
15087		* src/kdelibs/khtml/dom/html_misc.cpp: (HTMLCollection::base),
15088		(HTMLCollection::firstItem), (HTMLCollection::nextItem),
15089		(HTMLCollection::nextNamedItem):
15090		* src/kdelibs/khtml/dom/html_misc.h:
15091		* src/kdelibs/khtml/dom/html_object.cpp: (HTMLObjectElement::setWidth),
15092		(HTMLObjectElement::contentDocument):
15093		* src/kdelibs/khtml/dom/html_object.h:
15094		* src/kdelibs/khtml/dom/html_table.cpp:
15095		* src/kdelibs/khtml/dom/html_table.h:
15096		* src/kdelibs/khtml/ecma/kjs_binding.cpp: (DOMObject::get), (DOMObject::put),
15097		(DOMObject::toString), (DOMFunction::get), (DOMFunction::call),
15098		(ScriptInterpreter::~ScriptInterpreter), (ScriptInterpreter::forgetDOMObject),
15099		(ScriptInterpreter::mark), (ScriptInterpreter::isWindowOpenAllowed),
15100		(KJS::toNode), (KJS::getString), (KJS::ValueToVariant):
15101		* src/kdelibs/khtml/ecma/kjs_binding.h:
15102		* src/kdelibs/khtml/ecma/kjs_css.cpp:
15103		(DOMCSSStyleDeclaration::DOMCSSStyleDeclaration),
15104		(DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration),
15105		(DOMCSSStyleDeclaration::hasProperty), (DOMCSSStyleDeclaration::tryGet),
15106		(DOMCSSStyleDeclaration::tryPut), (DOMCSSStyleDeclarationProtoFunc::tryCall),
15107		(KJS::getDOMCSSStyleDeclaration), (DOMStyleSheet::~DOMStyleSheet),
15108		(DOMStyleSheet::tryGet), (DOMStyleSheet::getValueProperty),
15109		(DOMStyleSheet::tryPut), (KJS::getDOMStyleSheet),
15110		(DOMStyleSheetList::~DOMStyleSheetList), (DOMStyleSheetList::tryGet),
15111		(KJS::getDOMStyleSheetList), (DOMStyleSheetListFunc::tryCall),
15112		(DOMMediaList::DOMMediaList), (DOMMediaList::~DOMMediaList),
15113		(DOMMediaList::tryGet), (DOMMediaList::tryPut), (KJS::getDOMMediaList),
15114		(KJS::DOMMediaListProtoFunc::tryCall), (DOMCSSStyleSheet::DOMCSSStyleSheet),
15115		(DOMCSSStyleSheet::tryGet), (DOMCSSStyleSheetProtoFunc::tryCall),
15116		(DOMCSSRuleList::~DOMCSSRuleList), (DOMCSSRuleList::tryGet),
15117		(DOMCSSRuleListFunc::tryCall), (KJS::getDOMCSSRuleList),
15118		(DOMCSSRule::~DOMCSSRule), (DOMCSSRule::classInfo), (DOMCSSRule::tryGet),
15119		(DOMCSSRule::getValueProperty), (DOMCSSRule::tryPut), (DOMCSSRule::putValue),
15120		(DOMCSSRuleFunc::tryCall), (KJS::getDOMCSSRule), (KJS::toCSSRule),
15121		(CSSRuleConstructor::tryGet), (CSSRuleConstructor::getValueProperty),
15122		(KJS::getCSSRuleConstructor), (DOMCSSValue::~DOMCSSValue), (DOMCSSValue::tryGet),
15123		(DOMCSSValue::tryPut), (KJS::getDOMCSSValue), (CSSValueConstructor::tryGet),
15124		(CSSValueConstructor::getValueProperty), (KJS::getCSSValueConstructor),
15125		(DOMCSSPrimitiveValue::DOMCSSPrimitiveValue), (DOMCSSPrimitiveValue::tryGet),
15126		(DOMCSSPrimitiveValueProtoFunc::tryCall), (CSSPrimitiveValueConstructor::tryGet),
15127		(CSSPrimitiveValueConstructor::getValueProperty),
15128		(KJS::getCSSPrimitiveValueConstructor), (DOMCSSValueList::DOMCSSValueList),
15129		(DOMCSSValueList::tryGet), (DOMCSSValueListFunc::tryCall), (DOMRGBColor::tryGet),
15130		(KJS::getDOMRGBColor), (DOMRect::~DOMRect), (DOMRect::tryGet), (KJS::getDOMRect),
15131		(DOMCounter::~DOMCounter), (DOMCounter::tryGet), (KJS::getDOMCounter):
15132		* src/kdelibs/khtml/ecma/kjs_css.h:
15133		* src/kdelibs/khtml/ecma/kjs_debugwin.cpp: (FakeModal::eventFilter),
15134		(FakeModal::enable), (FakeModal::disable), (StackFrame::toString),
15135		(SourceFragment::SourceFragment), (SourceFragment::~SourceFragment),
15136		(KJSDebugWin::KJSDebugWin), (KJSDebugWin::~KJSDebugWin),
15137		(KJSDebugWin::createInstance), (KJSDebugWin::destroyInstance),
15138		(KJSDebugWin::instance), (KJSDebugWin::next), (KJSDebugWin::step),
15139		(KJSDebugWin::cont), (KJSDebugWin::stop), (KJSDebugWin::showFrame),
15140		(KJSDebugWin::sourceSelected), (KJSDebugWin::eval), (KJSDebugWin::closeEvent),
15141		(KJSDebugWin::sourceParsed), (KJSDebugWin::sourceUnused), (KJSDebugWin::error),
15142		(KJSDebugWin::atLine), (KJSDebugWin::callEvent), (KJSDebugWin::returnEvent),
15143		(KJSDebugWin::setCode), (KJSDebugWin::highLight),
15144		(KJSDebugWin::setNextSourceInfo), (KJSDebugWin::setSourceFile),
15145		(KJSDebugWin::appendSourceFile), (KJSDebugWin::enterSession),
15146		(KJSDebugWin::leaveSession), (KJSDebugWin::updateFrameList),
15147		(KJSDebugWin::setBreakpoint), (KJSDebugWin::deleteBreakpoint),
15148		(KJSDebugWin::clearAllBreakpoints), (KJSDebugWin::breakpointLine),
15149		(KJSDebugWin::haveBreakpoint):
15150		* src/kdelibs/khtml/ecma/kjs_debugwin.h:
15151		* src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMNode::DOMNode), (DOMNode::~DOMNode),
15152		(DOMNode::toBoolean), (DOMNode::tryGet), (DOMNode::getValueProperty),
15153		(DOMNode::tryPut), (DOMNode::putValue), (DOMNode::toPrimitive),
15154		(DOMNode::toString), (DOMNode::setListener), (DOMNode::getListener),
15155		(DOMNode::eventHandlerScope), (DOMNodeProtoFunc::tryCall),
15156		(DOMNodeList::~DOMNodeList), (DOMNodeList::hasProperty), (DOMNodeList::tryGet),
15157		(DOMNodeList::call), (DOMNodeList::tryCall), (DOMNodeListFunc::DOMNodeListFunc),
15158		(DOMNodeListFunc::tryCall), (DOMAttr::tryGet), (DOMAttr::getValueProperty),
15159		(DOMAttr::tryPut), (DOMAttr::putValue), (DOMDocument::DOMDocument),
15160		(DOMDocument::tryGet), (DOMDocument::getValueProperty),
15161		(DOMDocumentProtoFunc::tryCall), (DOMElement::DOMElement), (DOMElement::tryGet),
15162		(DOMElementProtoFunc::tryCall), (DOMDOMImplementation::DOMDOMImplementation),
15163		(DOMDOMImplementation::~DOMDOMImplementation),
15164		(DOMDOMImplementationProtoFunc::tryCall), (DOMDocumentType::DOMDocumentType),
15165		(DOMDocumentType::tryGet), (DOMDocumentType::getValueProperty),
15166		(DOMNamedNodeMap::DOMNamedNodeMap), (DOMNamedNodeMap::~DOMNamedNodeMap),
15167		(DOMNamedNodeMap::hasProperty), (DOMNamedNodeMap::tryGet),
15168		(DOMNamedNodeMapProtoFunc::tryCall), (DOMProcessingInstruction::tryGet),
15169		(DOMProcessingInstruction::getValueProperty), (DOMProcessingInstruction::tryPut),
15170		(DOMNotation::tryGet), (DOMNotation::getValueProperty), (DOMEntity::tryGet),
15171		(DOMEntity::getValueProperty), (KJS::getDOMNode), (KJS::getDOMNamedNodeMap),
15172		(KJS::getDOMNodeList), (KJS::getDOMDOMImplementation), (NodeConstructor::tryGet),
15173		(NodeConstructor::getValueProperty), (KJS::getNodeConstructor),
15174		(DOMExceptionConstructor::tryGet), (DOMExceptionConstructor::getValueProperty),
15175		(KJS::getDOMExceptionConstructor),
15176		(DOMNamedNodesCollection::DOMNamedNodesCollection),
15177		(DOMNamedNodesCollection::tryGet), (DOMCharacterData::DOMCharacterData),
15178		(DOMCharacterData::tryGet), (DOMCharacterData::getValueProperty),
15179		(DOMCharacterData::tryPut), (DOMCharacterDataProtoFunc::tryCall),
15180		(DOMText::DOMText), (DOMText::tryGet), (DOMTextProtoFunc::tryCall):
15181		* src/kdelibs/khtml/ecma/kjs_dom.h:
15182		* src/kdelibs/khtml/ecma/kjs_events.cpp: (JSEventListener::JSEventListener),
15183		(JSEventListener::~JSEventListener), (JSEventListener::handleEvent),
15184		(KJS::getNodeEventListener), (EventConstructor::tryGet),
15185		(EventConstructor::getValueProperty), (KJS::getEventConstructor),
15186		(DOMEvent::DOMEvent), (DOMEvent::~DOMEvent), (DOMEvent::tryGet),
15187		(DOMEvent::getValueProperty), (DOMEventProtoFunc::tryCall), (KJS::getDOMEvent),
15188		(KJS::toEvent), (EventExceptionConstructor::tryGet),
15189		(EventExceptionConstructor::getValueProperty),
15190		(KJS::getEventExceptionConstructor), (DOMUIEvent::tryGet),
15191		(DOMUIEvent::getValueProperty), (DOMUIEventProtoFunc::tryCall),
15192		(DOMMouseEvent::tryGet), (DOMMouseEvent::getValueProperty),
15193		(DOMMouseEventProtoFunc::tryCall), (MutationEventConstructor::tryGet),
15194		(MutationEventConstructor::getValueProperty), (KJS::getMutationEventConstructor),
15195		(DOMMutationEvent::tryGet), (DOMMutationEvent::getValueProperty),
15196		(DOMMutationEventProtoFunc::tryCall):
15197		* src/kdelibs/khtml/ecma/kjs_events.h:
15198		* src/kdelibs/khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall),
15199		(KJS::HTMLDocument::hasProperty), (KJS::HTMLDocument::tryGet),
15200		(KJS::HTMLDocument::tryPut), (KJS::HTMLDocument::putValue),
15201		(KJS::HTMLElement::classInfo), (KJS::HTMLElement::tryGet),
15202		(KJS::HTMLElement::getValueProperty), (KJS::HTMLElement::hasProperty),
15203		(KJS::HTMLElement::toString), (KJS::HTMLElement::eventHandlerScope),
15204		(HTMLElementFunction::HTMLElementFunction), (KJS::HTMLElementFunction::tryCall),
15205		(KJS::HTMLElement::tryPut), (KJS::HTMLElement::putValue),
15206		(HTMLCollection::HTMLCollection), (HTMLCollection::~HTMLCollection),
15207		(KJS::HTMLCollection::hasProperty), (KJS::HTMLCollection::tryGet),
15208		(KJS::HTMLCollection::call), (KJS::HTMLCollection::tryCall),
15209		(KJS::HTMLCollection::getNamedItems), (KJS::HTMLCollectionProtoFunc::tryCall),
15210		(KJS::HTMLSelectCollection::tryGet), (KJS::HTMLSelectCollection::tryPut),
15211		(OptionConstructorImp::OptionConstructorImp),
15212		(OptionConstructorImp::implementsConstruct), (OptionConstructorImp::construct),
15213		(ImageConstructorImp::ImageConstructorImp),
15214		(ImageConstructorImp::implementsConstruct), (ImageConstructorImp::construct),
15215		(Image::tryGet), (Image::getValueProperty), (Image::tryPut),
15216		(KJS::getHTMLCollection), (KJS::getSelectHTMLCollection):
15217		* src/kdelibs/khtml/ecma/kjs_html.h:
15218		* src/kdelibs/khtml/ecma/kjs_navigator.cpp: (Navigator::Navigator),
15219		(Navigator::get), (Navigator::getValueProperty), (PluginBase::PluginBase),
15220		(Plugins::get), (MimeTypes::get), (Plugin::get), (MimeType::get),
15221		(PluginsFunc::tryCall), (NavigatorFunc::tryCall):
15222		* src/kdelibs/khtml/ecma/kjs_navigator.h:
15223		* src/kdelibs/khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::KJSProxyImpl),
15224		(KJSProxyImpl::~KJSProxyImpl), (KJSProxyImpl::evaluate), (KJSProxyImpl::clear),
15225		(KJSProxyImpl::createHTMLEventHandler), (KJSProxyImpl::finishedWithEvent),
15226		(KJSProxyImpl::interpreter), (KJSProxyImpl::setDebugEnabled),
15227		(KJSProxyImpl::paused), (KJSProxyImpl::setSourceFile),
15228		(KJSProxyImpl::appendSourceFile), (TestFunctionImp::call),
15229		(KJSProxyImpl::initScript), (KJSProxy::proxy), (kjs_html_init):
15230		* src/kdelibs/khtml/ecma/kjs_proxy.h:
15231		* src/kdelibs/khtml/ecma/kjs_range.cpp: (DOMRange::DOMRange),
15232		(DOMRange::~DOMRange), (DOMRange::tryGet), (DOMRange::getValueProperty),
15233		(DOMRangeProtoFunc::tryCall), (KJS::getDOMRange), (RangeConstructor::tryGet),
15234		(RangeConstructor::getValueProperty), (KJS::getRangeConstructor), (KJS::toRange):
15235		* src/kdelibs/khtml/ecma/kjs_range.h:
15236		* src/kdelibs/khtml/ecma/kjs_traversal.cpp: (DOMNodeIterator::DOMNodeIterator),
15237		(DOMNodeIterator::~DOMNodeIterator), (DOMNodeIterator::tryGet),
15238		(DOMNodeIterator::getValueProperty), (DOMNodeIteratorProtoFunc::tryCall),
15239		(KJS::getDOMNodeIterator), (NodeFilterConstructor::tryGet),
15240		(NodeFilterConstructor::getValueProperty), (KJS::getNodeFilterConstructor),
15241		(DOMNodeFilter::DOMNodeFilter), (DOMNodeFilter::~DOMNodeFilter),
15242		(DOMNodeFilterProtoFunc::tryCall), (KJS::getDOMNodeFilter),
15243		(DOMTreeWalker::DOMTreeWalker), (DOMTreeWalker::~DOMTreeWalker),
15244		(DOMTreeWalker::tryGet), (DOMTreeWalker::getValueProperty),
15245		(DOMTreeWalker::tryPut), (DOMTreeWalkerProtoFunc::tryCall),
15246		(KJS::getDOMTreeWalker), (KJS::toNodeFilter), (JSNodeFilter::JSNodeFilter),
15247		(JSNodeFilter::acceptNode):
15248		* src/kdelibs/khtml/ecma/kjs_traversal.h:
15249		* src/kdelibs/khtml/ecma/kjs_views.cpp: (DOMAbstractView::~DOMAbstractView),
15250		(DOMAbstractView::tryGet), (DOMAbstractViewFunc::tryCall),
15251		(KJS::getDOMAbstractView), (KJS::toAbstractView):
15252		* src/kdelibs/khtml/ecma/kjs_views.h:
15253		* src/kdelibs/khtml/ecma/kjs_window.cpp: (Screen::Screen), (Screen::get),
15254		(Screen::getValueProperty), (Window::Window), (Window::retrieveWindow),
15255		(Window::retrieveActive), (Window::retrieve), (Window::mark),
15256		(Window::hasProperty), (Window::toString), (Window::get), (Window::put),
15257		(Window::toBoolean), (Window::scheduleClose), (Window::isSafeScript),
15258		(Window::setListener), (Window::getListener), (Window::getJSEventListener),
15259		(Window::clear), (Window::setCurrentEvent), (WindowFunc::tryCall),
15260		(ScheduledAction::ScheduledAction), (ScheduledAction::execute),
15261		(ScheduledAction::~ScheduledAction), (WindowQObject::WindowQObject),
15262		(WindowQObject::~WindowQObject), (WindowQObject::parentDestroyed),
15263		(WindowQObject::installTimeout), (WindowQObject::clearTimeout),
15264		(WindowQObject::timerEvent), (WindowQObject::timeoutClose), (FrameArray::get),
15265		(Location::Location), (Location::~Location), (Location::get), (Location::put),
15266		(Location::toPrimitive), (Location::toString), (LocationFunc::tryCall),
15267		(History::get), (History::getValueProperty), (HistoryFunc::tryCall),
15268		(Konqueror::hasProperty), (Konqueror::get), (KonquerorFunc::tryCall),
15269		(Konqueror::toString):
15270		* src/kdelibs/khtml/ecma/kjs_window.h:
15271		* src/kdelibs/khtml/html/dtd.cpp: (DOM::checkChild), (DOM::addForbidden),
15272		(DOM::removeForbidden):
15273		* src/kdelibs/khtml/html/dtd.h:
15274		* src/kdelibs/khtml/html/html_baseimpl.cpp:
15275		(HTMLBodyElementImpl::HTMLBodyElementImpl), (HTMLBodyElementImpl::id),
15276		(HTMLBodyElementImpl::parseAttribute), (HTMLBodyElementImpl::init),
15277		(HTMLBodyElementImpl::attach), (HTMLFrameElementImpl::HTMLFrameElementImpl),
15278		(HTMLFrameElementImpl::id), (HTMLFrameElementImpl::parseAttribute),
15279		(HTMLFrameElementImpl::init), (HTMLFrameElementImpl::attach),
15280		(HTMLFrameElementImpl::detach), (HTMLFrameElementImpl::setLocation),
15281		(HTMLFrameElementImpl::setFocus), (HTMLFrameElementImpl::contentDocument),
15282		(HTMLFrameSetElementImpl::HTMLFrameSetElementImpl),
15283		(HTMLFrameSetElementImpl::~HTMLFrameSetElementImpl),
15284		(HTMLFrameSetElementImpl::id), (HTMLFrameSetElementImpl::parseAttribute),
15285		(HTMLFrameSetElementImpl::init), (HTMLFrameSetElementImpl::attach),
15286		(HTMLFrameSetElementImpl::defaultEventHandler),
15287		(HTMLFrameSetElementImpl::detach), (HTMLFrameSetElementImpl::recalcStyle),
15288		(HTMLHeadElementImpl::id), (HTMLHtmlElementImpl::attach),
15289		(HTMLHtmlElementImpl::id), (HTMLIFrameElementImpl::id),
15290		(HTMLIFrameElementImpl::parseAttribute), (HTMLIFrameElementImpl::attach),
15291		(HTMLIFrameElementImpl::recalcStyle):
15292		* src/kdelibs/khtml/html/html_baseimpl.h:
15293		* src/kdelibs/khtml/html/html_blockimpl.cpp: (HTMLBlockquoteElementImpl::id),
15294		(HTMLDivElementImpl::id), (HTMLDivElementImpl::parseAttribute),
15295		(HTMLHRElementImpl::id), (HTMLHRElementImpl::parseAttribute),
15296		(HTMLHRElementImpl::attach), (HTMLHeadingElementImpl::HTMLHeadingElementImpl),
15297		(HTMLParagraphElementImpl::id), (HTMLPreElementImpl::HTMLPreElementImpl),
15298		(HTMLLayerElementImpl::id), (HTMLLayerElementImpl::parseAttribute):
15299		* src/kdelibs/khtml/html/html_blockimpl.h:
15300		* src/kdelibs/khtml/html/html_documentimpl.cpp:
15301		(HTMLDocumentImpl::HTMLDocumentImpl), (HTMLDocumentImpl::~HTMLDocumentImpl),
15302		(HTMLDocumentImpl::referrer), (HTMLDocumentImpl::domain),
15303		(HTMLDocumentImpl::setDomain), (HTMLDocumentImpl::lastModified),
15304		(HTMLDocumentImpl::cookie), (HTMLDocumentImpl::setCookie),
15305		(HTMLDocumentImpl::setBody), (HTMLDocumentImpl::slotHistoryChanged),
15306		(isTransitional), (HTMLDocumentImpl::close),
15307		(HTMLDocumentImpl::determineParseMode):
15308		* src/kdelibs/khtml/html/html_documentimpl.h:
15309		* src/kdelibs/khtml/html/html_elementimpl.cpp:
15310		(HTMLElementImpl::HTMLElementImpl), (HTMLElementImpl::parseAttribute),
15311		(HTMLElementImpl::addCSSProperty), (HTMLElementImpl::addCSSLength),
15312		(HTMLElementImpl::removeCSSProperty), (HTMLElementImpl::innerText),
15313		(HTMLElementImpl::setInnerHTML), (HTMLElementImpl::namespaceURI):
15314		* src/kdelibs/khtml/html/html_elementimpl.h:
15315		* src/kdelibs/khtml/html/html_formimpl.cpp:
15316		(HTMLFormElementImpl::~HTMLFormElementImpl), (HTMLFormElementImpl::id),
15317		(HTMLFormElementImpl::length), (HTMLFormElementImpl::i18nData),
15318		(HTMLFormElementImpl::formData), (HTMLFormElementImpl::prepareSubmit),
15319		(HTMLFormElementImpl::submit), (HTMLFormElementImpl::reset),
15320		(HTMLFormElementImpl::parseAttribute), (HTMLFormElementImpl::radioClicked),
15321		(HTMLGenericFormElementImpl::HTMLGenericFormElementImpl),
15322		(HTMLGenericFormElementImpl::parseAttribute),
15323		(HTMLGenericFormElementImpl::attach), (HTMLGenericFormElementImpl::name),
15324		(HTMLGenericFormElementImpl::setName), (HTMLGenericFormElementImpl::onSelect),
15325		(HTMLGenericFormElementImpl::onChange),
15326		(HTMLGenericFormElementImpl::setDisabled),
15327		(HTMLGenericFormElementImpl::setParent),
15328		(HTMLGenericFormElementImpl::recalcStyle),
15329		(HTMLGenericFormElementImpl::isSelectable),
15330		(HTMLGenericFormElementImpl::defaultEventHandler),
15331		(HTMLGenericFormElementImpl::isEditable), (HTMLButtonElementImpl::id),
15332		(HTMLButtonElementImpl::parseAttribute), (HTMLButtonElementImpl::attach),
15333		(HTMLButtonElementImpl::defaultEventHandler), (HTMLButtonElementImpl::encoding),
15334		(HTMLFieldSetElementImpl::id), (HTMLInputElementImpl::HTMLInputElementImpl),
15335		(HTMLInputElementImpl::~HTMLInputElementImpl), (HTMLInputElementImpl::id),
15336		(HTMLInputElementImpl::setType), (HTMLInputElementImpl::state),
15337		(HTMLInputElementImpl::restoreState), (HTMLInputElementImpl::parseAttribute),
15338		(HTMLInputElementImpl::init), (HTMLInputElementImpl::attach),
15339		(HTMLInputElementImpl::altText), (HTMLInputElementImpl::encoding),
15340		(HTMLInputElementImpl::reset), (HTMLInputElementImpl::setChecked),
15341		(HTMLInputElementImpl::value), (HTMLInputElementImpl::setValue),
15342		(HTMLInputElementImpl::blur), (HTMLInputElementImpl::focus),
15343		(HTMLInputElementImpl::defaultEventHandler), (HTMLInputElementImpl::isEditable),
15344		(HTMLLabelElementImpl::id), (HTMLLabelElementImpl::parseAttribute),
15345		(HTMLLabelElementImpl::formElement), (HTMLLegendElementImpl::id),
15346		(HTMLSelectElementImpl::HTMLSelectElementImpl), (HTMLSelectElementImpl::id),
15347		(HTMLSelectElementImpl::add), (HTMLSelectElementImpl::blur),
15348		(HTMLSelectElementImpl::focus), (HTMLSelectElementImpl::value),
15349		(HTMLSelectElementImpl::setValue), (HTMLSelectElementImpl::state),
15350		(HTMLSelectElementImpl::restoreState), (HTMLSelectElementImpl::parseAttribute),
15351		(HTMLSelectElementImpl::init), (HTMLSelectElementImpl::attach),
15352		(HTMLSelectElementImpl::encoding), (HTMLSelectElementImpl::reset),
15353		(HTMLSelectElementImpl::notifyOptionSelected),
15354		(HTMLKeygenElementImpl::HTMLKeygenElementImpl), (HTMLKeygenElementImpl::id),
15355		(HTMLKeygenElementImpl::parseAttribute), (HTMLKeygenElementImpl::encoding),
15356		(HTMLOptGroupElementImpl::HTMLOptGroupElementImpl),
15357		(HTMLOptGroupElementImpl::id), (HTMLOptGroupElementImpl::parseAttribute),
15358		(HTMLOptionElementImpl::id), (HTMLOptionElementImpl::text),
15359		(HTMLOptionElementImpl::index), (HTMLOptionElementImpl::setIndex),
15360		(HTMLOptionElementImpl::parseAttribute), (HTMLOptionElementImpl::value),
15361		(HTMLOptionElementImpl::setValue), (HTMLOptionElementImpl::getSelect),
15362		(HTMLTextAreaElementImpl::HTMLTextAreaElementImpl),
15363		(HTMLTextAreaElementImpl::id), (HTMLTextAreaElementImpl::parseAttribute),
15364		(HTMLTextAreaElementImpl::init), (HTMLTextAreaElementImpl::attach),
15365		(HTMLTextAreaElementImpl::encoding), (HTMLTextAreaElementImpl::setDefaultValue),
15366		(HTMLTextAreaElementImpl::blur), (HTMLTextAreaElementImpl::focus),
15367		(HTMLTextAreaElementImpl::isEditable),
15368		(HTMLIsIndexElementImpl::HTMLIsIndexElementImpl), (HTMLIsIndexElementImpl::id),
15369		(HTMLIsIndexElementImpl::parseAttribute):
15370		* src/kdelibs/khtml/html/html_formimpl.h:
15371		* src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLBaseElementImpl::id),
15372		(HTMLBaseElementImpl::parseAttribute),
15373		(HTMLBaseElementImpl::insertedIntoDocument),
15374		(HTMLBaseElementImpl::removedFromDocument), (HTMLBaseElementImpl::process),
15375		(HTMLLinkElementImpl::HTMLLinkElementImpl), (HTMLLinkElementImpl::id),
15376		(HTMLLinkElementImpl::parseAttribute), (HTMLLinkElementImpl::process),
15377		(HTMLLinkElementImpl::insertedIntoDocument),
15378		(HTMLLinkElementImpl::removedFromDocument), (HTMLLinkElementImpl::setStyleSheet),
15379		(HTMLLinkElementImpl::sheetLoaded), (HTMLMetaElementImpl::id),
15380		(HTMLMetaElementImpl::parseAttribute),
15381		(HTMLMetaElementImpl::insertedIntoDocument), (HTMLMetaElementImpl::process),
15382		(HTMLScriptElementImpl::id), (HTMLStyleElementImpl::id),
15383		(HTMLStyleElementImpl::parseAttribute),
15384		(HTMLStyleElementImpl::insertedIntoDocument),
15385		(HTMLStyleElementImpl::removedFromDocument),
15386		(HTMLStyleElementImpl::childrenChanged), (HTMLStyleElementImpl::isLoading),
15387		(HTMLStyleElementImpl::sheetLoaded), (HTMLTitleElementImpl::id),
15388		(HTMLTitleElementImpl::insertedIntoDocument),
15389		(HTMLTitleElementImpl::removedFromDocument),
15390		(HTMLTitleElementImpl::childrenChanged):
15391		* src/kdelibs/khtml/html/html_headimpl.h:
15392		* src/kdelibs/khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::id),
15393		(HTMLImageElementImpl::parseAttribute), (HTMLImageElementImpl::altText),
15394		(HTMLImageElementImpl::attach), (HTMLMapElementImpl::~HTMLMapElementImpl),
15395		(HTMLMapElementImpl::id), (HTMLMapElementImpl::mapMouseEvent),
15396		(HTMLMapElementImpl::parseAttribute), (HTMLAreaElementImpl::HTMLAreaElementImpl),
15397		(HTMLAreaElementImpl::~HTMLAreaElementImpl), (HTMLAreaElementImpl::id),
15398		(HTMLAreaElementImpl::parseAttribute), (HTMLAreaElementImpl::mapMouseEvent),
15399		(HTMLAreaElementImpl::getRect), (HTMLAreaElementImpl::getRegion):
15400		* src/kdelibs/khtml/html/html_imageimpl.h:
15401		* src/kdelibs/khtml/html/html_inlineimpl.cpp:
15402		(HTMLAnchorElementImpl::HTMLAnchorElementImpl),
15403		(HTMLAnchorElementImpl::~HTMLAnchorElementImpl), (HTMLAnchorElementImpl::id),
15404		(HTMLAnchorElementImpl::defaultEventHandler),
15405		(HTMLAnchorElementImpl::parseAttribute), (HTMLBRElementImpl::id),
15406		(HTMLBRElementImpl::parseAttribute), (HTMLBRElementImpl::attach),
15407		(HTMLFontElementImpl::id), (HTMLFontElementImpl::parseAttribute):
15408		* src/kdelibs/khtml/html/html_inlineimpl.h:
15409		* src/kdelibs/khtml/html/html_listimpl.cpp: (HTMLUListElementImpl::id),
15410		(HTMLUListElementImpl::parseAttribute), (HTMLDirectoryElementImpl::id),
15411		(HTMLMenuElementImpl::id), (HTMLOListElementImpl::id),
15412		(HTMLOListElementImpl::parseAttribute), (HTMLLIElementImpl::id),
15413		(HTMLLIElementImpl::parseAttribute), (HTMLLIElementImpl::attach),
15414		(HTMLDListElementImpl::id):
15415		* src/kdelibs/khtml/html/html_listimpl.h:
15416		* src/kdelibs/khtml/html/html_miscimpl.cpp:
15417		(HTMLBaseFontElementImpl::HTMLBaseFontElementImpl),
15418		(HTMLBaseFontElementImpl::id), (HTMLCollectionImpl::HTMLCollectionImpl),
15419		(HTMLCollectionImpl::calcLength), (HTMLCollectionImpl::getItem),
15420		(HTMLCollectionImpl::firstItem), (HTMLCollectionImpl::nextItem),
15421		(HTMLCollectionImpl::getNamedItem), (HTMLCollectionImpl::namedItem),
15422		(HTMLCollectionImpl::nextNamedItem), (HTMLCollectionImpl::nextNamedItemInternal),
15423		(HTMLFormCollectionImpl::calcLength), (HTMLFormCollectionImpl::getItem),
15424		(HTMLFormCollectionImpl::getNamedItem),
15425		(HTMLFormCollectionImpl::getNamedFormItem),
15426		(HTMLFormCollectionImpl::getNamedImgItem), (HTMLFormCollectionImpl::firstItem),
15427		(HTMLFormCollectionImpl::nextItem),
15428		(HTMLFormCollectionImpl::nextNamedItemInternal):
15429		* src/kdelibs/khtml/html/html_miscimpl.h:
15430		* src/kdelibs/khtml/html/html_objectimpl.cpp:
15431		(HTMLAppletElementImpl::HTMLAppletElementImpl),
15432		(HTMLAppletElementImpl::~HTMLAppletElementImpl), (HTMLAppletElementImpl::id),
15433		(HTMLAppletElementImpl::parseAttribute), (HTMLAppletElementImpl::attach),
15434		(HTMLEmbedElementImpl::id), (HTMLEmbedElementImpl::parseAttribute),
15435		(HTMLEmbedElementImpl::attach), (HTMLObjectElementImpl::id),
15436		(HTMLObjectElementImpl::parseAttribute),
15437		(HTMLObjectElementImpl::contentDocument), (HTMLObjectElementImpl::attach),
15438		(HTMLObjectElementImpl::detach), (HTMLObjectElementImpl::recalcStyle),
15439		(HTMLParamElementImpl::id), (HTMLParamElementImpl::parseAttribute):
15440		* src/kdelibs/khtml/html/html_objectimpl.h:
15441		* src/kdelibs/khtml/html/html_tableimpl.cpp:
15442		(HTMLTableElementImpl::HTMLTableElementImpl), (HTMLTableElementImpl::id),
15443		(HTMLTableElementImpl::setCaption), (HTMLTableElementImpl::setTHead),
15444		(HTMLTableElementImpl::setTFoot), (HTMLTableElementImpl::setTBody),
15445		(HTMLTableElementImpl::createTHead), (HTMLTableElementImpl::deleteTHead),
15446		(HTMLTableElementImpl::createTFoot), (HTMLTableElementImpl::deleteTFoot),
15447		(HTMLTableElementImpl::createCaption), (HTMLTableElementImpl::deleteCaption),
15448		(HTMLTableElementImpl::insertRow), (HTMLTableElementImpl::deleteRow),
15449		(HTMLTableElementImpl::addChild), (HTMLTableElementImpl::parseAttribute),
15450		(HTMLTableElementImpl::init), (HTMLTablePartElementImpl::parseAttribute),
15451		(HTMLTableSectionElementImpl::id), (HTMLTableSectionElementImpl::insertRow),
15452		(HTMLTableSectionElementImpl::deleteRow), (HTMLTableRowElementImpl::id),
15453		(HTMLTableRowElementImpl::insertCell), (HTMLTableRowElementImpl::deleteCell),
15454		(HTMLTableCellElementImpl::HTMLTableCellElementImpl),
15455		(HTMLTableCellElementImpl::parseAttribute), (HTMLTableCellElementImpl::init),
15456		(HTMLTableColElementImpl::HTMLTableColElementImpl),
15457		(HTMLTableColElementImpl::id), (HTMLTableColElementImpl::parseAttribute),
15458		(HTMLTableCaptionElementImpl::id), (HTMLTableCaptionElementImpl::parseAttribute):
15459		* src/kdelibs/khtml/html/html_tableimpl.h:
15460		* src/kdelibs/khtml/html/htmlparser.cpp: (KHTMLParser::parseToken),
15461		(KHTMLParser::insertNode), (KHTMLParser::getElement),
15462		(KHTMLParser::processCloseTag), (KHTMLParser::popOneBlock),
15463		(KHTMLParser::handleIsindex):
15464		* src/kdelibs/khtml/html/htmlparser.h:
15465		* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::HTMLTokenizer),
15466		(HTMLTokenizer::reset), (HTMLTokenizer::begin), (HTMLTokenizer::processListing),
15467		(HTMLTokenizer::parseSpecial), (HTMLTokenizer::scriptHandler),
15468		(HTMLTokenizer::scriptExecution), (HTMLTokenizer::parseComment),
15469		(HTMLTokenizer::parseServer), (HTMLTokenizer::parseTag), (HTMLTokenizer::write),
15470		(HTMLTokenizer::finish), (HTMLTokenizer::processToken),
15471		(HTMLTokenizer::notifyFinished), (HTMLTokenizer::addPendingSource),
15472		(HTMLTokenizer::setSrc):
15473		* src/kdelibs/khtml/html/htmltokenizer.h:
15474		* src/kdelibs/khtml/java/javaembed.h:
15475		* src/kdelibs/khtml/java/kjavaapplet.h:
15476		* src/kdelibs/khtml/java/kjavaappletcontext.cpp:
15477		* src/kdelibs/khtml/java/kjavaappletcontext.h:
15478		* src/kdelibs/khtml/java/kjavaappletserver.cpp: (KJavaAppletServer::setupJava):
15479		* src/kdelibs/khtml/java/kjavaappletserver.h:
15480		* src/kdelibs/khtml/java/kjavaappletwidget.h:
15481		* src/kdelibs/khtml/java/kjavaprocess.cpp: (KJavaProcess::invokeJVM):
15482		* src/kdelibs/khtml/khtml_events.cpp: (khtml::MouseEvent::MouseEvent),
15483		(khtml::MouseEvent::offset):
15484		* src/kdelibs/khtml/khtml_events.h:
15485		* src/kdelibs/khtml/khtml_ext.h:
15486		* src/kdelibs/khtml/khtml_factory.h:
15487		* src/kdelibs/khtml/khtml_part.h:
15488		* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView),
15489		(KHTMLView::~KHTMLView), (KHTMLView::init), (KHTMLView::clear),
15490		(KHTMLView::resizeEvent), (KHTMLView::drawContents), (KHTMLView::setMarginWidth),
15491		(KHTMLView::setMarginHeight), (KHTMLView::layout),
15492		(KHTMLView::viewportMousePressEvent), (KHTMLView::viewportMouseDoubleClickEvent),
15493		(KHTMLView::viewportMouseMoveEvent), (KHTMLView::resetCursor),
15494		(KHTMLView::viewportMouseReleaseEvent), (KHTMLView::keyPressEvent),
15495		(KHTMLView::keyReleaseEvent), (KHTMLView::contentsContextMenuEvent),
15496		(KHTMLView::focusNextPrevChild), (KHTMLView::scrollTo),
15497		(KHTMLView::focusNextPrevNode), (KHTMLView::setMediaType),
15498		(KHTMLView::mediaType), (KHTMLView::print), (KHTMLView::slotPaletteChanged),
15499		(KHTMLView::restoreScrollBar), (KHTMLView::addFormCompletionItem),
15500		(KHTMLView::dispatchMouseEvent), (KHTMLView::setIgnoreEvents),
15501		(KHTMLView::ignoreEvents), (KHTMLView::setIgnoreWheelEvents),
15502		(KHTMLView::viewportWheelEvent), (KHTMLView::slotScrollBarMoved),
15503		(KHTMLView::timerEvent), (KHTMLView::scheduleRelayout),
15504		(KHTMLView::scheduleRepaint), (KHTMLView::complete):
15505		* src/kdelibs/khtml/khtmlview.h:
15506		* src/kdelibs/khtml/misc/decoder.cpp:
15507		* src/kdelibs/khtml/misc/decoder.h:
15508		* src/kdelibs/khtml/misc/helper.cpp: (khtml::setNamedColor),
15509		(khtml::setPrintPainter):
15510		* src/kdelibs/khtml/misc/helper.h:
15511		* src/kdelibs/khtml/misc/htmlattrs.in:
15512		* src/kdelibs/khtml/misc/htmltags.in:
15513		* src/kdelibs/khtml/misc/khtmllayout.h:
15514		* src/kdelibs/khtml/misc/loader.h:
15515		* src/kdelibs/khtml/misc/loader_client.h:
15516		* src/kdelibs/khtml/misc/makeattrs:
15517		* src/kdelibs/khtml/misc/maketags:
15518		* src/kdelibs/khtml/misc/stringit.h:
15519		* src/kdelibs/khtml/rendering/bidi.cpp: (Bidinext), (first),
15520		(BidiIterator::BidiIterator), (BidiIterator::operator ++ ),
15521		(BidiIterator::atEnd), (BidiIterator::current), (BidiIterator::direction),
15522		(appendRun), (embed), (RenderFlow::bidiReorderLine),
15523		(RenderFlow::layoutInlineChildren):
15524		* src/kdelibs/khtml/rendering/bidi.h:
15525		* src/kdelibs/khtml/rendering/break_lines.cpp:
15526		* src/kdelibs/khtml/rendering/render_applet.cpp: (RenderApplet::RenderApplet),
15527		(RenderApplet::intrinsicWidth), (RenderApplet::intrinsicHeight),
15528		(RenderApplet::layout), (RenderEmptyApplet::RenderEmptyApplet),
15529		(RenderEmptyApplet::layout):
15530		* src/kdelibs/khtml/rendering/render_applet.h:
15531		* src/kdelibs/khtml/rendering/render_body.cpp: (RenderBody::RenderBody),
15532		(RenderBody::setStyle):
15533		* src/kdelibs/khtml/rendering/render_body.h:
15534		* src/kdelibs/khtml/rendering/render_box.cpp: (RenderBox::RenderBox),
15535		(RenderBox::setPos), (RenderBox::setPixmap), (RenderBox::printBackground),
15536		(RenderBox::calcClip), (RenderBox::close), (RenderBox::repaintRectangle),
15537		(RenderBox::calcWidth), (RenderBox::calcHorizontalMargins),
15538		(RenderBox::calcHeight), (RenderBox::calcReplacedWidth),
15539		(RenderBox::calcReplacedHeight), (RenderBox::calcVerticalMargins):
15540		* src/kdelibs/khtml/rendering/render_box.h:
15541		* src/kdelibs/khtml/rendering/render_br.cpp: (RenderBR::RenderBR):
15542		* src/kdelibs/khtml/rendering/render_br.h:
15543		* src/kdelibs/khtml/rendering/render_container.cpp:
15544		(RenderContainer::RenderContainer), (RenderContainer::addChild),
15545		(RenderContainer::removeChildNode), (RenderContainer::removeChild),
15546		(RenderContainer::insertPseudoChild), (RenderContainer::appendChildNode),
15547		(RenderContainer::insertChildNode), (RenderContainer::layout):
15548		* src/kdelibs/khtml/rendering/render_container.h:
15549		* src/kdelibs/khtml/rendering/render_flow.cpp: (RenderFlow::RenderFlow),
15550		(RenderFlow::setStyle), (RenderFlow::print), (RenderFlow::printObject),
15551		(RenderFlow::printSpecialObjects), (RenderFlow::layout),
15552		(RenderFlow::layoutSpecialObjects), (RenderFlow::layoutBlockChildren),
15553		(RenderFlow::insertSpecialObject), (RenderFlow::removeSpecialObject),
15554		(RenderFlow::positionNewFloats), (RenderFlow::leftOffset),
15555		(RenderFlow::leftRelOffset), (RenderFlow::rightOffset),
15556		(RenderFlow::rightRelOffset), (RenderFlow::lineWidth), (RenderFlow::floatBottom),
15557		(RenderFlow::lowestPosition), (RenderFlow::rightmostPosition),
15558		(RenderFlow::leftBottom), (RenderFlow::rightBottom), (RenderFlow::clearFloats),
15559		(RenderFlow::addOverHangingFloats), (next), (RenderFlow::calcMinMaxWidth),
15560		(RenderFlow::close), (RenderFlow::addChild), (RenderFlow::makeChildrenNonInline),
15561		(RenderFlow::nodeAtPoint), (RenderFlow::printTree), (RenderFlow::dump):
15562		* src/kdelibs/khtml/rendering/render_flow.h:
15563		* src/kdelibs/khtml/rendering/render_form.cpp:
15564		(RenderFormElement::RenderFormElement), (RenderFormElement::updateFromElement),
15565		(RenderFormElement::layout), (RenderFormElement::slotClicked),
15566		(RenderButton::RenderButton), (RenderCheckBox::RenderCheckBox),
15567		(RenderCheckBox::calcMinMaxWidth), (RenderCheckBox::updateFromElement),
15568		(RenderCheckBox::slotStateChanged), (RenderRadioButton::RenderRadioButton),
15569		(RenderRadioButton::updateFromElement), (RenderRadioButton::slotClicked),
15570		(RenderRadioButton::calcMinMaxWidth), (RenderSubmitButton::RenderSubmitButton),
15571		(RenderSubmitButton::calcMinMaxWidth), (RenderImageButton::RenderImageButton),
15572		(RenderResetButton::RenderResetButton), (RenderPushButton::RenderPushButton),
15573		(RenderLineEdit::RenderLineEdit), (RenderLineEdit::slotReturnPressed),
15574		(RenderLineEdit::handleFocusOut), (RenderLineEdit::calcMinMaxWidth),
15575		(RenderLineEdit::updateFromElement), (RenderLineEdit::slotTextChanged),
15576		(RenderFieldset::RenderFieldset), (RenderFileButton::RenderFileButton),
15577		(RenderFileButton::calcMinMaxWidth), (RenderFileButton::handleFocusOut),
15578		(RenderFileButton::slotClicked), (RenderFileButton::updateFromElement),
15579		(RenderFileButton::slotReturnPressed), (RenderFileButton::slotTextChanged),
15580		(RenderLabel::RenderLabel), (RenderLegend::RenderLegend),
15581		(RenderSelect::RenderSelect), (RenderSelect::updateFromElement),
15582		(RenderSelect::calcMinMaxWidth), (RenderSelect::layout), (RenderSelect::close),
15583		(RenderSelect::slotSelected), (RenderSelect::slotSelectionChanged),
15584		(RenderSelect::createListBox), (RenderSelect::createComboBox),
15585		(RenderSelect::updateSelection), (TextAreaWidget::TextAreaWidget),
15586		(TextAreaWidget::event), (RenderTextArea::RenderTextArea),
15587		(RenderTextArea::~RenderTextArea), (RenderTextArea::handleFocusOut),
15588		(RenderTextArea::calcMinMaxWidth), (RenderTextArea::updateFromElement),
15589		(RenderTextArea::close), (RenderTextArea::text),
15590		(RenderTextArea::slotTextChanged):
15591		* src/kdelibs/khtml/rendering/render_form.h:
15592		* src/kdelibs/khtml/rendering/render_frames.cpp:
15593		(RenderFrameSet::RenderFrameSet), (RenderFrameSet::~RenderFrameSet),
15594		(RenderFrameSet::nodeAtPoint), (RenderFrameSet::layout),
15595		(RenderFrameSet::positionFrames), (RenderFrameSet::userResize),
15596		(RenderFrameSet::setResizing), (RenderFrameSet::canResize),
15597		(RenderFrameSet::dump), (RenderPart::RenderPart), (RenderPart::setWidget),
15598		(RenderPart::partLoadingErrorNotify), (RenderFrame::RenderFrame),
15599		(RenderFrame::slotViewCleared), (RenderPartObject::RenderPartObject),
15600		(RenderPartObject::updateWidget), (RenderPartObject::close),
15601		(RenderPartObject::partLoadingErrorNotify),
15602		(RenderPartObject::slotPartLoadingErrorNotify),
15603		(RenderPartObject::calcReplacedWidth), (RenderPartObject::calcReplacedHeight),
15604		(RenderPartObject::layout), (RenderPartObject::slotViewCleared):
15605		* src/kdelibs/khtml/rendering/render_frames.h:
15606		* src/kdelibs/khtml/rendering/render_html.cpp: (RenderHtml::RenderHtml),
15607		(RenderHtml::printBoxDecorations):
15608		* src/kdelibs/khtml/rendering/render_html.h:
15609		* src/kdelibs/khtml/rendering/render_image.cpp: (RenderImage::RenderImage),
15610		(RenderImage::setStyle), (RenderImage::setPixmap), (RenderImage::printObject),
15611		(RenderImage::layout), (RenderImage::notifyFinished), (RenderImage::nodeAtPoint),
15612		(RenderImage::updateFromElement):
15613		* src/kdelibs/khtml/rendering/render_image.h:
15614		* src/kdelibs/khtml/rendering/render_list.cpp: (toLetter), (toHebrew),
15615		(RenderListItem::RenderListItem), (RenderListItem::setStyle),
15616		(RenderListItem::calcListValue), (RenderListItem::layout),
15617		(RenderListMarker::RenderListMarker), (RenderListMarker::~RenderListMarker),
15618		(RenderListMarker::setStyle), (RenderListMarker::printObject),
15619		(RenderListMarker::layout), (RenderListMarker::setPixmap),
15620		(RenderListMarker::calcMinMaxWidth):
15621		* src/kdelibs/khtml/rendering/render_list.h:
15622		* src/kdelibs/khtml/rendering/render_object.cpp: (RenderObject::createObject),
15623		(RenderObject::RenderObject), (RenderObject::~RenderObject),
15624		(RenderObject::addChild), (RenderObject::removeChildNode),
15625		(RenderObject::removeChild), (RenderObject::appendChildNode),
15626		(RenderObject::insertChildNode), (RenderObject::containingBlock),
15627		(RenderObject::drawBorder), (RenderObject::printBorder),
15628		(RenderObject::printOutline), (RenderObject::information),
15629		(RenderObject::printTree), (RenderObject::dump),
15630		(RenderObject::selectionStartEnd), (RenderObject::setStyle),
15631		(RenderObject::setOverhangingContents), (RenderObject::root),
15632		(RenderObject::invalidateLayout), (RenderObject::checkSelectionPoint),
15633		(RenderObject::nodeAtPoint), (RenderObject::getVerticalPosition),
15634		(RenderObject::lineHeight), (RenderObject::baselinePosition),
15635		(RenderObject::recalcMinMaxWidths), (RenderObject::scheduleRelayout):
15636		* src/kdelibs/khtml/rendering/render_object.h:
15637		* src/kdelibs/khtml/rendering/render_replaced.cpp:
15638		(RenderReplaced::RenderReplaced), (RenderReplaced::print),
15639		(RenderReplaced::calcMinMaxWidth), (RenderReplaced::lineHeight),
15640		(RenderWidget::RenderWidget), (RenderWidget::detach),
15641		(RenderWidget::~RenderWidget), (RenderWidget::setQWidget),
15642		(RenderWidget::layout), (RenderWidget::setStyle), (RenderWidget::printObject),
15643		(RenderWidget::eventFilter), (RenderWidget::handleDOMEvent),
15644		(RenderWidget::sendWidgetEvent):
15645		* src/kdelibs/khtml/rendering/render_replaced.h:
15646		* src/kdelibs/khtml/rendering/render_root.cpp: (RenderRoot::RenderRoot),
15647		(RenderRoot::calcMinMaxWidth), (RenderRoot::layout), (RenderRoot::printObject),
15648		(RenderRoot::repaintRectangle), (RenderRoot::repaint), (RenderRoot::close),
15649		(RenderRoot::setSelection), (RenderRoot::clearSelection),
15650		(RenderRoot::selectionStartEnd), (RenderRoot::docWidth):
15651		* src/kdelibs/khtml/rendering/render_root.h:
15652		* src/kdelibs/khtml/rendering/render_style.cpp: (RenderStyle::setBitDefaults),
15653		(RenderStyle::RenderStyle), (RenderStyle::inheritFrom),
15654		(RenderStyle::~RenderStyle), (RenderStyle::operator==),
15655		(RenderStyle::getPseudoStyle), (RenderStyle::addPseudoStyle),
15656		(RenderStyle::removePseudoStyle), (RenderStyle::inheritedNotEqual),
15657		(RenderStyle::diff), (RenderStyle::cleanup),
15658		(RenderPseudoElementStyle::RenderPseudoElementStyle),
15659		(RenderPseudoElementStyle::~RenderPseudoElementStyle),
15660		(RenderPseudoElementStyle::setContent), (RenderPseudoElementStyle::contentText),
15661		(RenderPseudoElementStyle::contentObject),
15662		(RenderPseudoElementStyle::clearContent):
15663		* src/kdelibs/khtml/rendering/render_style.h:
15664		* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::RenderTable),
15665		(RenderTable::setStyle), (RenderTable::addChild), (RenderTable::addCell),
15666		(RenderTable::setCells), (RenderTable::recalcColInfo), (RenderTable::addColInfo),
15667		(RenderTable::calcSingleColMinMax), (RenderTable::calcFinalColMax),
15668		(RenderTable::calcColMinMax), (RenderTable::calcWidth),
15669		(RenderTable::calcColWidth), (RenderTable::distributeRest),
15670		(RenderTable::layout), (RenderTable::layoutRows), (RenderTable::setCellWidths),
15671		(RenderTable::print), (RenderTable::calcMinMaxWidth), (RenderTable::close),
15672		(RenderTable::recalcCells), (RenderTable::dump),
15673		(RenderTableSection::RenderTableSection),
15674		(RenderTableSection::~RenderTableSection), (RenderTableSection::addChild),
15675		(RenderTableSection::dump), (RenderTableRow::RenderTableRow),
15676		(RenderTableRow::addChild), (RenderTableRow::dump), (RenderTableRow::layout),
15677		(RenderTableCell::RenderTableCell), (RenderTableCell::updateFromElement),
15678		(RenderTableCell::calcMinMaxWidth), (RenderTableCell::setWidth),
15679		(RenderTableCell::close), (RenderTableCell::print),
15680		(RenderTableCell::printBoxDecorations), (RenderTableCell::dump),
15681		(RenderTableCol::RenderTableCol), (RenderTableCol::updateFromElement),
15682		(RenderTableCol::dump), (RenderTableCaption::RenderTableCaption):
15683		* src/kdelibs/khtml/rendering/render_table.h:
15684		* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::~TextSlave),
15685		(TextSlave::print), (TextSlave::printSelection), (TextSlave::printDecoration),
15686		(TextSlave::printBoxDecorations), (TextSlave::checkSelectionPoint),
15687		(TextSlaveArray::compareItems), (RenderText::RenderText), (RenderText::setStyle),
15688		(RenderText::~RenderText), (RenderText::deleteSlaves), (RenderText::nodeAtPoint),
15689		(RenderText::checkSelectionPoint), (RenderText::cursorPos),
15690		(RenderText::absolutePosition), (RenderText::rightmostPosition),
15691		(RenderText::printObject), (RenderText::print), (RenderText::calcMinMaxWidth),
15692		(RenderText::font), (RenderText::setText), (RenderText::height),
15693		(RenderText::lineHeight), (RenderText::baselinePosition), (RenderText::position),
15694		(RenderText::width), (RenderText::metrics), (RenderText::printTextOutline):
15695		* src/kdelibs/khtml/rendering/render_text.h:
15696		* src/kdelibs/khtml/xml/dom2_eventsimpl.cpp: (EventImpl::~EventImpl),
15697		(EventImpl::setTarget), (EventImpl::initEvent), (EventImpl::idToType),
15698		(UIEventImpl::UIEventImpl), (UIEventImpl::~UIEventImpl),
15699		(KeyEventImpl::KeyEventImpl), (KeyEventImpl::~KeyEventImpl),
15700		(KeyEventImpl::checkModifier), (KeyEventImpl::initKeyEvent),
15701		(KeyEventImpl::initModifier), (KeyEventImpl::inputGenerated),
15702		(KeyEventImpl::keyVal), (KeyEventImpl::numPad), (KeyEventImpl::outputString),
15703		(KeyEventImpl::virtKeyVal), (RegisteredEventListener::operator==):
15704		* src/kdelibs/khtml/xml/dom2_eventsimpl.h:
15705		* src/kdelibs/khtml/xml/dom2_rangeimpl.cpp: (RangeImpl::~RangeImpl),
15706		(RangeImpl::compareBoundaryPoints), (RangeImpl::processContents):
15707		* src/kdelibs/khtml/xml/dom2_rangeimpl.h:
15708		* src/kdelibs/khtml/xml/dom2_traversalimpl.cpp:
15709		(NodeIteratorImpl::NodeIteratorImpl), (TreeWalkerImpl::TreeWalkerImpl),
15710		(TreeWalkerImpl::operator = ), (TreeWalkerImpl::~TreeWalkerImpl),
15711		(TreeWalkerImpl::getCurrentNode), (TreeWalkerImpl::setWhatToShow),
15712		(TreeWalkerImpl::setFilter), (TreeWalkerImpl::setExpandEntityReferences),
15713		(TreeWalkerImpl::setCurrentNode), (TreeWalkerImpl::parentNode),
15714		(TreeWalkerImpl::firstChild), (TreeWalkerImpl::lastChild),
15715		(TreeWalkerImpl::previousSibling), (TreeWalkerImpl::nextSibling),
15716		(TreeWalkerImpl::previousNode), (TreeWalkerImpl::nextNode),
15717		(TreeWalkerImpl::isAccepted), (TreeWalkerImpl::getParentNode),
15718		(TreeWalkerImpl::getPreviousSibling), (TreeWalkerImpl::getNextSibling):
15719		* src/kdelibs/khtml/xml/dom2_traversalimpl.h:
15720		* src/kdelibs/khtml/xml/dom2_viewsimpl.cpp:
15721		* src/kdelibs/khtml/xml/dom2_viewsimpl.h:
15722		* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DOMImplementationImpl::hasFeature),
15723		(DOMImplementationImpl::createDocumentType),
15724		(DOMImplementationImpl::getInterface), (DOMImplementationImpl::createDocument),
15725		(DOMImplementationImpl::createCSSStyleSheet),
15726		(DOMImplementationImpl::createHTMLDocument), (DOMImplementationImpl::instance),
15727		(DocumentImpl::DocumentImpl), (DocumentImpl::~DocumentImpl),
15728		(DocumentImpl::doctype), (DocumentImpl::implementation),
15729		(DocumentImpl::createDocumentFragment), (DocumentImpl::createTextNode),
15730		(DocumentImpl::createComment), (DocumentImpl::createCDATASection),
15731		(DocumentImpl::createProcessingInstruction), (DocumentImpl::createAttribute),
15732		(DocumentImpl::createEntityReference), (DocumentImpl::importNode),
15733		(DocumentImpl::createElementNS), (DocumentImpl::getElementById),
15734		(DocumentImpl::setTitle), (DocumentImpl::nodeName), (DocumentImpl::nodeType),
15735		(DocumentImpl::createHTMLElement), (DocumentImpl::nextState),
15736		(DocumentImpl::docState), (DocumentImpl::createNodeIterator),
15737		(DocumentImpl::createTreeWalker), (DocumentImpl::setDocumentChanged),
15738		(DocumentImpl::recalcStyle), (DocumentImpl::updateRendering),
15739		(DocumentImpl::updateDocumentsRendering), (DocumentImpl::attach),
15740		(DocumentImpl::detach), (DocumentImpl::setVisuallyOrdered), (DocumentImpl::open),
15741		(DocumentImpl::close), (DocumentImpl::write), (DocumentImpl::setStyleSheet),
15742		(DocumentImpl::setUserStyleSheet), (DocumentImpl::elementSheet),
15743		(DocumentImpl::determineParseMode), (DocumentImpl::findElement),
15744		(DocumentImpl::nextFocusNode), (DocumentImpl::previousFocusNode),
15745		(DocumentImpl::nodeAbsIndex), (DocumentImpl::nodeWithAbsIndex),
15746		(DocumentImpl::processHttpEquiv), (DocumentImpl::prepareMouseEvent),
15747		(DocumentImpl::childAllowed), (DocumentImpl::cloneNode), (DocumentImpl::attrId),
15748		(DocumentImpl::attrName), (DocumentImpl::tagId), (DocumentImpl::tagName),
15749		(DocumentImpl::namespaceURI), (DocumentImpl::updateStyleSelector),
15750		(DocumentImpl::recalcStyleSelector), (DocumentImpl::setFocusNode),
15751		(DocumentImpl::notifyBeforeNodeRemoval), (DocumentImpl::defaultEventHandler),
15752		(DocumentImpl::setWindowEventListener), (DocumentImpl::getWindowEventListener),
15753		(DocumentImpl::removeWindowEventListener), (DocumentFragmentImpl::nodeName),
15754		(DocumentFragmentImpl::cloneNode), (DocumentTypeImpl::DocumentTypeImpl),
15755		(DocumentTypeImpl::~DocumentTypeImpl), (DocumentTypeImpl::copyFrom),
15756		(DocumentTypeImpl::nodeName), (DocumentTypeImpl::cloneNode):
15757		* src/kdelibs/khtml/xml/dom_docimpl.h:
15758		* src/kdelibs/khtml/xml/dom_elementimpl.cpp: (AttributeImpl::allocateImpl),
15759		(AttrImpl::AttrImpl), (AttrImpl::~AttrImpl), (AttrImpl::nodeName),
15760		(AttrImpl::prefix), (AttrImpl::setPrefix), (AttrImpl::nodeValue),
15761		(AttrImpl::setValue), (AttrImpl::setNodeValue), (AttrImpl::cloneNode),
15762		(ElementImpl::ElementImpl), (ElementImpl::~ElementImpl),
15763		(ElementImpl::removeAttribute), (ElementImpl::setAttribute),
15764		(ElementImpl::nodeType), (ElementImpl::getAttribute),
15765		(ElementImpl::setAttributeMap), (ElementImpl::cloneNode),
15766		(ElementImpl::nodeName), (ElementImpl::tagName), (ElementImpl::setPrefix),
15767		(ElementImpl::createAttributeMap), (ElementImpl::attach),
15768		(ElementImpl::recalcStyle), (ElementImpl::childAllowed),
15769		(ElementImpl::createDecl), (ElementImpl::dispatchAttrRemovalEvent),
15770		(ElementImpl::dispatchAttrAdditionEvent), (ElementImpl::dump),
15771		(XMLElementImpl::XMLElementImpl), (XMLElementImpl::~XMLElementImpl),
15772		(XMLElementImpl::localName), (XMLElementImpl::cloneNode),
15773		(NamedAttrMapImpl::NamedAttrMapImpl), (NamedAttrMapImpl::~NamedAttrMapImpl),
15774		(NamedAttrMapImpl::getNamedItem), (NamedAttrMapImpl::setNamedItem),
15775		(NamedAttrMapImpl::removeNamedItem), (NamedAttrMapImpl::item),
15776		(NamedAttrMapImpl::length), (NamedAttrMapImpl::getAttributeItem),
15777		(NamedAttrMapImpl::mapId), (NamedAttrMapImpl::clearAttributes),
15778		(NamedAttrMapImpl::detachFromElement), (NamedAttrMapImpl::operator=),
15779		(NamedAttrMapImpl::addAttribute), (NamedAttrMapImpl::removeAttribute):
15780		* src/kdelibs/khtml/xml/dom_elementimpl.h:
15781		* src/kdelibs/khtml/xml/dom_nodeimpl.cpp: (NodeImpl::NodeImpl),
15782		(NodeImpl::~NodeImpl), (NodeImpl::setNodeValue), (NodeImpl::nodeName),
15783		(NodeImpl::normalize), (NodeImpl::prefix), (NodeImpl::setPrefix),
15784		(NodeImpl::localName), (escapeHTML), (NodeImpl::recursive_toHTML),
15785		(NodeImpl::getRect), (NodeImpl::setChanged), (NodeImpl::isInline),
15786		(NodeImpl::nodeIndex), (NodeImpl::addEventListener),
15787		(NodeImpl::removeEventListener), (NodeImpl::removeHTMLEventListener),
15788		(NodeImpl::setHTMLEventListener), (NodeImpl::getHTMLEventListener),
15789		(NodeImpl::dispatchEvent), (NodeImpl::dispatchGenericEvent),
15790		(NodeImpl::dispatchHTMLEvent), (NodeImpl::dispatchWindowEvent),
15791		(NodeImpl::dispatchMouseEvent), (NodeImpl::dispatchUIEvent),
15792		(NodeImpl::dispatchSubtreeModifiedEvent), (NodeImpl::dispatchKeyEvent),
15793		(NodeImpl::handleLocalEvents), (NodeImpl::defaultEventHandler),
15794		(NodeImpl::traverseNextNode), (NodeImpl::traversePreviousNode),
15795		(NodeImpl::checkSetPrefix), (NodeImpl::checkAddChild), (NodeImpl::isAncestor),
15796		(NodeImpl::childAllowed), (NodeImpl::diff), (NodeImpl::dump),
15797		(NodeImpl::deleteMe), (NodeImpl::init), (NodeImpl::attach), (NodeImpl::detach),
15798		(NodeImpl::maintainsState), (NodeImpl::state), (NodeImpl::restoreState),
15799		(NodeImpl::insertedIntoDocument), (NodeImpl::removedFromDocument),
15800		(NodeImpl::childrenChanged), (NodeImpl::isReadOnly), (NodeImpl::nextRenderer),
15801		(NodeBaseImpl::NodeBaseImpl), (NodeBaseImpl::~NodeBaseImpl),
15802		(NodeBaseImpl::insertBefore), (NodeBaseImpl::replaceChild),
15803		(NodeBaseImpl::removeChild), (NodeBaseImpl::removeChildren),
15804		(NodeBaseImpl::appendChild), (NodeBaseImpl::checkSameDocument),
15805		(NodeBaseImpl::checkNoOwner), (NodeBaseImpl::addChild), (NodeBaseImpl::attach),
15806		(NodeBaseImpl::detach), (NodeBaseImpl::cloneChildNodes),
15807		(NodeBaseImpl::getElementsByTagNameNS), (NodeBaseImpl::getUpperLeftCorner),
15808		(NodeBaseImpl::getLowerRightCorner), (NodeBaseImpl::getRect),
15809		(NodeBaseImpl::setFocus), (NodeBaseImpl::setActive),
15810		(NodeBaseImpl::dispatchChildInsertedEvents),
15811		(NodeBaseImpl::dispatchChildRemovalEvents), (ChildNodeListImpl::nodeMatches),
15812		(TagNodeListImpl::TagNodeListImpl), (TagNodeListImpl::nodeMatches),
15813		(GenericRONamedNodeMapImpl::GenericRONamedNodeMapImpl),
15814		(GenericRONamedNodeMapImpl::getNamedItem),
15815		(GenericRONamedNodeMapImpl::setNamedItem),
15816		(GenericRONamedNodeMapImpl::removeNamedItem), (GenericRONamedNodeMapImpl::item),
15817		(GenericRONamedNodeMapImpl::length), (GenericRONamedNodeMapImpl::getNamedItemNS),
15818		(GenericRONamedNodeMapImpl::setNamedItemNS),
15819		(GenericRONamedNodeMapImpl::removeNamedItemNS),
15820		(GenericRONamedNodeMapImpl::addNode):
15821		* src/kdelibs/khtml/xml/dom_nodeimpl.h:
15822		* src/kdelibs/khtml/xml/dom_stringimpl.cpp: (DOMStringImpl::toLengthArray),
15823		(DOMStringImpl::lower), (DOMStringImpl::upper):
15824		* src/kdelibs/khtml/xml/dom_stringimpl.h:
15825		* src/kdelibs/khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::CharacterDataImpl),
15826		(CharacterDataImpl::setData), (CharacterDataImpl::substringData),
15827		(CharacterDataImpl::appendData), (CharacterDataImpl::insertData),
15828		(CharacterDataImpl::deleteData), (CharacterDataImpl::replaceData),
15829		(CharacterDataImpl::nodeValue), (CharacterDataImpl::setNodeValue),
15830		(CharacterDataImpl::dispatchModifiedEvent),
15831		(CharacterDataImpl::checkCharDataOperation), (CharacterDataImpl::dump),
15832		(CommentImpl::nodeName), (CommentImpl::cloneNode), (CommentImpl::id),
15833		(TextImpl::splitText), (TextImpl::nodeName), (TextImpl::cloneNode),
15834		(TextImpl::attach), (TextImpl::id), (TextImpl::recalcStyle),
15835		(CDATASectionImpl::nodeName), (CDATASectionImpl::cloneNode):
15836		* src/kdelibs/khtml/xml/dom_textimpl.h:
15837		* src/kdelibs/khtml/xml/dom_xmlimpl.cpp: (EntityImpl::nodeName),
15838		(EntityImpl::nodeType), (EntityImpl::cloneNode), (EntityReferenceImpl::nodeName),
15839		(EntityReferenceImpl::cloneNode), (NotationImpl::publicId),
15840		(NotationImpl::systemId), (NotationImpl::nodeName), (NotationImpl::nodeType),
15841		(NotationImpl::cloneNode), (NotationImpl::childTypeAllowed),
15842		(ProcessingInstructionImpl::ProcessingInstructionImpl),
15843		(ProcessingInstructionImpl::target), (ProcessingInstructionImpl::data),
15844		(ProcessingInstructionImpl::setData), (ProcessingInstructionImpl::nodeName),
15845		(ProcessingInstructionImpl::setNodeValue),
15846		(ProcessingInstructionImpl::cloneNode), (ProcessingInstructionImpl::localHref),
15847		(ProcessingInstructionImpl::checkStyleSheet),
15848		(ProcessingInstructionImpl::setStyleSheet):
15849		* src/kdelibs/khtml/xml/dom_xmlimpl.h:
15850		* src/kdelibs/khtml/xml/xml_tokenizer.cpp: (XMLHandler::startDocument),
15851		(XMLHandler::startElement), (XMLHandler::endElement), (XMLHandler::startCDATA),
15852		(XMLHandler::characters), (XMLHandler::errorString), (XMLHandler::fatalError),
15853		(XMLHandler::enterText), (XMLHandler::exitText),
15854		(XMLHandler::internalEntityDecl), (XMLHandler::notationDecl),
15855		(XMLTokenizer::finish), (XMLTokenizer::addScripts),
15856		(XMLTokenizer::executeScripts), (XMLTokenizer::notifyFinished):
15857		* src/kdelibs/khtml/xml/xml_tokenizer.h:
15858		* src/kdelibs/kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp),
15859		(ArrayInstanceImp::put), (ArrayInstanceImp::putDirect),
15860		(ArrayPrototypeImp::ArrayPrototypeImp), (ArrayPrototypeImp::get),
15861		(ArrayProtoFuncImp::ArrayProtoFuncImp), (ArrayProtoFuncImp::implementsCall),
15862		(ArrayProtoFuncImp::call), (ArrayObjectImp::ArrayObjectImp),
15863		(ArrayObjectImp::implementsConstruct), (ArrayObjectImp::construct),
15864		(ArrayObjectImp::implementsCall), (ArrayObjectImp::call):
15865		* src/kdelibs/kjs/array_object.h:
15866		* src/kdelibs/kjs/bool_object.cpp: (BooleanInstanceImp::BooleanInstanceImp),
15867		(BooleanPrototypeImp::BooleanPrototypeImp),
15868		(BooleanProtoFuncImp::BooleanProtoFuncImp),
15869		(BooleanProtoFuncImp::implementsCall), (BooleanProtoFuncImp::call),
15870		(BooleanObjectImp::BooleanObjectImp), (BooleanObjectImp::implementsConstruct),
15871		(BooleanObjectImp::construct), (BooleanObjectImp::implementsCall),
15872		(BooleanObjectImp::call):
15873		* src/kdelibs/kjs/bool_object.h:
15874		* src/kdelibs/kjs/collector.cpp: (Collector::allocate), (Collector::collect),
15875		(Collector::finalCheck):
15876		* src/kdelibs/kjs/collector.h:
15877		* src/kdelibs/kjs/date_object.cpp: (DateInstanceImp::DateInstanceImp),
15878		(DatePrototypeImp::DatePrototypeImp), (DatePrototypeImp::get),
15879		(DateProtoFuncImp::DateProtoFuncImp), (DateProtoFuncImp::implementsCall),
15880		(DateProtoFuncImp::call), (DateObjectImp::DateObjectImp),
15881		(DateObjectImp::implementsConstruct), (DateObjectImp::construct),
15882		(DateObjectImp::implementsCall), (DateObjectImp::call),
15883		(DateObjectFuncImp::DateObjectFuncImp), (DateObjectFuncImp::implementsCall),
15884		(DateObjectFuncImp::call), (KJS::parseDate), (ymdhms_to_seconds),
15885		(KJS::KRFCDate_parseDate), (KJS::timeClip):
15886		* src/kdelibs/kjs/date_object.h:
15887		* src/kdelibs/kjs/debugger.cpp: (Debugger::Debugger), (Debugger::~Debugger),
15888		(Debugger::attach), (Debugger::detach), (Debugger::sourceParsed),
15889		(Debugger::sourceUnused), (Debugger::exception), (Debugger::atStatement),
15890		(Debugger::callEvent), (Debugger::returnEvent):
15891		* src/kdelibs/kjs/debugger.h:
15892		* src/kdelibs/kjs/error_object.cpp: (ErrorPrototypeImp::ErrorPrototypeImp),
15893		(ErrorProtoFuncImp::ErrorProtoFuncImp), (ErrorProtoFuncImp::implementsCall),
15894		(ErrorProtoFuncImp::call), (ErrorObjectImp::ErrorObjectImp),
15895		(ErrorObjectImp::implementsConstruct), (ErrorObjectImp::construct),
15896		(ErrorObjectImp::implementsCall), (ErrorObjectImp::call),
15897		(NativeErrorPrototypeImp::NativeErrorPrototypeImp),
15898		(NativeErrorImp::NativeErrorImp), (NativeErrorImp::implementsConstruct),
15899		(NativeErrorImp::construct), (NativeErrorImp::implementsCall),
15900		(NativeErrorImp::call), (NativeErrorImp::mark):
15901		* src/kdelibs/kjs/error_object.h:
15902		* src/kdelibs/kjs/function.cpp: (FunctionImp::FunctionImp),
15903		(FunctionImp::~FunctionImp), (FunctionImp::mark), (FunctionImp::implementsCall),
15904		(FunctionImp::call), (FunctionImp::processParameters),
15905		(FunctionImp::processVarDecls), (FunctionImp::pushArgs), (FunctionImp::popArgs),
15906		(DeclaredFunctionImp::DeclaredFunctionImp),
15907		(DeclaredFunctionImp::~DeclaredFunctionImp),
15908		(DeclaredFunctionImp::implementsConstruct), (DeclaredFunctionImp::construct),
15909		(DeclaredFunctionImp::execute), (DeclaredFunctionImp::processVarDecls),
15910		(ArgumentsImp::ArgumentsImp), (ActivationImp::ActivationImp),
15911		(ActivationImp::~ActivationImp), (GlobalFuncImp::GlobalFuncImp),
15912		(GlobalFuncImp::codeType), (GlobalFuncImp::implementsCall),
15913		(GlobalFuncImp::call):
15914		* src/kdelibs/kjs/function.h:
15915		* src/kdelibs/kjs/function_object.cpp:
15916		(FunctionPrototypeImp::FunctionPrototypeImp),
15917		(FunctionPrototypeImp::~FunctionPrototypeImp),
15918		(FunctionPrototypeImp::implementsCall), (FunctionPrototypeImp::call),
15919		(FunctionProtoFuncImp::FunctionProtoFuncImp),
15920		(FunctionProtoFuncImp::implementsCall), (FunctionProtoFuncImp::call),
15921		(FunctionObjectImp::FunctionObjectImp), (FunctionObjectImp::~FunctionObjectImp),
15922		(FunctionObjectImp::implementsConstruct), (FunctionObjectImp::construct),
15923		(FunctionObjectImp::implementsCall), (FunctionObjectImp::call):
15924		* src/kdelibs/kjs/function_object.h:
15925		* src/kdelibs/kjs/grammar.y:
15926		* src/kdelibs/kjs/internal.cpp: (UndefinedImp::toPrimitive),
15927		(UndefinedImp::toBoolean), (UndefinedImp::toNumber), (UndefinedImp::toString),
15928		(UndefinedImp::toObject), (NullImp::toPrimitive), (NullImp::toBoolean),
15929		(NullImp::toNumber), (NullImp::toString), (NullImp::toObject),
15930		(BooleanImp::toPrimitive), (BooleanImp::toBoolean), (BooleanImp::toNumber),
15931		(BooleanImp::toString), (BooleanImp::toObject), (StringImp::StringImp),
15932		(StringImp::toPrimitive), (StringImp::toBoolean), (StringImp::toNumber),
15933		(StringImp::toString), (StringImp::toObject), (NumberImp::NumberImp),
15934		(NumberImp::toPrimitive), (NumberImp::toBoolean), (NumberImp::toNumber),
15935		(NumberImp::toString), (NumberImp::toObject), (ReferenceImp::ReferenceImp),
15936		(ReferenceImp::mark), (ReferenceImp::toPrimitive), (ReferenceImp::toBoolean),
15937		(ReferenceImp::toNumber), (ReferenceImp::toString), (ReferenceImp::toObject),
15938		(LabelStack::LabelStack), (LabelStack::operator=), (LabelStack::push),
15939		(LabelStack::contains), (LabelStack::pop), (LabelStack::~LabelStack),
15940		(LabelStack::clear), (CompletionImp::CompletionImp),
15941		(CompletionImp::~CompletionImp), (CompletionImp::mark),
15942		(CompletionImp::toPrimitive), (CompletionImp::toBoolean),
15943		(CompletionImp::toNumber), (CompletionImp::toString), (CompletionImp::toObject),
15944		(ListImp::toPrimitive), (ListImp::toBoolean), (ListImp::toNumber),
15945		(ListImp::toString), (ListImp::toObject), (ListImp::ListImp),
15946		(ListImp::~ListImp), (ListImp::mark), (ListImp::append), (ListImp::prepend),
15947		(ListImp::appendList), (ListImp::prependList), (ListImp::removeFirst),
15948		(ListImp::removeLast), (ListImp::remove), (ListImp::clear), (ListImp::copy),
15949		(ListImp::erase), (ListImp::isEmpty), (ListImp::size), (ListImp::at),
15950		(ListImp::empty), (ContextImp::ContextImp), (ContextImp::~ContextImp),
15951		(ContextImp::pushScope), (ContextImp::popScope), (Parser::parse),
15952		(InterpreterImp::globalInit), (InterpreterImp::globalClear),
15953		(InterpreterImp::InterpreterImp), (InterpreterImp::~InterpreterImp),
15954		(InterpreterImp::clear), (InterpreterImp::mark), (InterpreterImp::checkSyntax),
15955		(InterpreterImp::evaluate), (InterpreterImp::setDebugger),
15956		(InternalFunctionImp::InternalFunctionImp),
15957		(InternalFunctionImp::implementsHasInstance), (InternalFunctionImp::hasInstance),
15958		(KJS::roundValue), (KJS::printInfo):
15959		* src/kdelibs/kjs/internal.h:
15960		* src/kdelibs/kjs/lexer.cpp: (Lexer::Lexer), (Lexer::curr), (Lexer::setCode),
15961		(Lexer::lex), (Lexer::isLineTerminator), (Lexer::matchPunctuator),
15962		(Lexer::scanRegExp):
15963		* src/kdelibs/kjs/lexer.h:
15964		* src/kdelibs/kjs/lexer.lut.h:
15965		* src/kdelibs/kjs/lookup.cpp: (Lookup::findEntry), (Lookup::find):
15966		* src/kdelibs/kjs/lookup.h:
15967		* src/kdelibs/kjs/math_object.cpp: (MathObjectImp::MathObjectImp),
15968		(MathObjectImp::get), (MathObjectImp::getValueProperty),
15969		(MathFuncImp::MathFuncImp), (MathFuncImp::implementsCall), (MathFuncImp::call):
15970		* src/kdelibs/kjs/math_object.h:
15971		* src/kdelibs/kjs/math_object.lut.h:
15972		* src/kdelibs/kjs/nodes.cpp: (Node::Node), (Node::~Node), (Node::finalCheck),
15973		(Node::throwError), (StatementNode::StatementNode),
15974		(StatementNode::~StatementNode), (StatementNode::setLoc),
15975		(StatementNode::hitStatement), (StatementNode::abortStatement),
15976		(NullNode::evaluate), (BooleanNode::evaluate), (NumberNode::evaluate),
15977		(StringNode::evaluate), (RegExpNode::evaluate), (ThisNode::evaluate),
15978		(ResolveNode::evaluate), (GroupNode::~GroupNode), (GroupNode::ref),
15979		(GroupNode::deref), (GroupNode::evaluate), (ElisionNode::~ElisionNode),
15980		(ElisionNode::ref), (ElisionNode::deref), (ElisionNode::evaluate),
15981		(ElementNode::~ElementNode), (ElementNode::ref), (ElementNode::deref),
15982		(ElementNode::evaluate), (ArrayNode::~ArrayNode), (ArrayNode::ref),
15983		(ArrayNode::deref), (ArrayNode::evaluate),
15984		(ObjectLiteralNode::~ObjectLiteralNode), (ObjectLiteralNode::ref),
15985		(ObjectLiteralNode::deref), (ObjectLiteralNode::evaluate),
15986		(PropertyValueNode::~PropertyValueNode), (PropertyValueNode::ref),
15987		(PropertyValueNode::deref), (PropertyValueNode::evaluate),
15988		(PropertyNode::evaluate), (AccessorNode1::~AccessorNode1), (AccessorNode1::ref),
15989		(AccessorNode1::deref), (AccessorNode1::evaluate),
15990		(AccessorNode2::~AccessorNode2), (AccessorNode2::ref), (AccessorNode2::deref),
15991		(AccessorNode2::evaluate), (ArgumentListNode::ArgumentListNode),
15992		(ArgumentListNode::~ArgumentListNode), (ArgumentListNode::ref),
15993		(ArgumentListNode::deref), (ArgumentListNode::evaluate),
15994		(ArgumentListNode::evaluateList), (ArgumentsNode::ArgumentsNode),
15995		(ArgumentsNode::~ArgumentsNode), (ArgumentsNode::ref), (ArgumentsNode::deref),
15996		(ArgumentsNode::evaluate), (ArgumentsNode::evaluateList),
15997		(NewExprNode::~NewExprNode), (NewExprNode::ref), (NewExprNode::deref),
15998		(NewExprNode::evaluate), (FunctionCallNode::~FunctionCallNode),
15999		(FunctionCallNode::ref), (FunctionCallNode::deref), (FunctionCallNode::evaluate),
16000		(PostfixNode::~PostfixNode), (PostfixNode::ref), (PostfixNode::deref),
16001		(PostfixNode::evaluate), (DeleteNode::~DeleteNode), (DeleteNode::ref),
16002		(DeleteNode::deref), (DeleteNode::evaluate), (VoidNode::~VoidNode),
16003		(VoidNode::ref), (VoidNode::deref), (VoidNode::evaluate),
16004		(TypeOfNode::~TypeOfNode), (TypeOfNode::ref), (TypeOfNode::deref),
16005		(TypeOfNode::evaluate), (PrefixNode::~PrefixNode), (PrefixNode::ref),
16006		(PrefixNode::deref), (PrefixNode::evaluate), (UnaryPlusNode::~UnaryPlusNode),
16007		(UnaryPlusNode::ref), (UnaryPlusNode::deref), (UnaryPlusNode::evaluate),
16008		(NegateNode::~NegateNode), (NegateNode::ref), (NegateNode::deref),
16009		(NegateNode::evaluate), (BitwiseNotNode::~BitwiseNotNode), (BitwiseNotNode::ref),
16010		(BitwiseNotNode::deref), (BitwiseNotNode::evaluate),
16011		(LogicalNotNode::~LogicalNotNode), (LogicalNotNode::ref),
16012		(LogicalNotNode::deref), (LogicalNotNode::evaluate), (MultNode::~MultNode),
16013		(MultNode::ref), (MultNode::deref), (MultNode::evaluate), (AddNode::~AddNode),
16014		(AddNode::ref), (AddNode::deref), (AddNode::evaluate), (ShiftNode::~ShiftNode),
16015		(ShiftNode::ref), (ShiftNode::deref), (ShiftNode::evaluate),
16016		(RelationalNode::~RelationalNode), (RelationalNode::ref),
16017		(RelationalNode::deref), (RelationalNode::evaluate), (EqualNode::~EqualNode),
16018		(EqualNode::ref), (EqualNode::deref), (EqualNode::evaluate),
16019		(BitOperNode::~BitOperNode), (BitOperNode::ref), (BitOperNode::deref),
16020		(BitOperNode::evaluate), (BinaryLogicalNode::~BinaryLogicalNode),
16021		(BinaryLogicalNode::ref), (BinaryLogicalNode::deref),
16022		(BinaryLogicalNode::evaluate), (ConditionalNode::~ConditionalNode),
16023		(ConditionalNode::ref), (ConditionalNode::deref), (ConditionalNode::evaluate),
16024		(AssignNode::~AssignNode), (AssignNode::ref), (AssignNode::deref),
16025		(AssignNode::evaluate), (CommaNode::~CommaNode), (CommaNode::ref),
16026		(CommaNode::deref), (CommaNode::evaluate), (StatListNode::~StatListNode),
16027		(StatListNode::ref), (StatListNode::deref), (StatListNode::execute),
16028		(StatListNode::processVarDecls), (AssignExprNode::~AssignExprNode),
16029		(AssignExprNode::ref), (AssignExprNode::deref), (AssignExprNode::evaluate),
16030		(VarDeclNode::VarDeclNode), (VarDeclNode::~VarDeclNode), (VarDeclNode::ref),
16031		(VarDeclNode::deref), (VarDeclNode::evaluate), (VarDeclNode::processVarDecls),
16032		(VarDeclListNode::~VarDeclListNode), (VarDeclListNode::ref),
16033		(VarDeclListNode::deref), (VarDeclListNode::evaluate),
16034		(VarDeclListNode::processVarDecls), (VarStatementNode::~VarStatementNode),
16035		(VarStatementNode::ref), (VarStatementNode::deref), (VarStatementNode::execute),
16036		(VarStatementNode::processVarDecls), (BlockNode::~BlockNode), (BlockNode::ref),
16037		(BlockNode::deref), (BlockNode::execute), (BlockNode::processVarDecls),
16038		(EmptyStatementNode::execute), (ExprStatementNode::~ExprStatementNode),
16039		(ExprStatementNode::ref), (ExprStatementNode::deref),
16040		(ExprStatementNode::execute), (IfNode::~IfNode), (IfNode::ref), (IfNode::deref),
16041		(IfNode::execute), (IfNode::processVarDecls), (DoWhileNode::~DoWhileNode),
16042		(DoWhileNode::ref), (DoWhileNode::deref), (DoWhileNode::execute),
16043		(DoWhileNode::processVarDecls), (WhileNode::~WhileNode), (WhileNode::ref),
16044		(WhileNode::deref), (WhileNode::execute), (WhileNode::processVarDecls),
16045		(ForNode::~ForNode), (ForNode::ref), (ForNode::deref), (ForNode::execute),
16046		(ForNode::processVarDecls), (ForInNode::ForInNode), (ForInNode::~ForInNode),
16047		(ForInNode::ref), (ForInNode::deref), (ForInNode::execute),
16048		(ForInNode::processVarDecls), (ContinueNode::execute), (BreakNode::execute),
16049		(ReturnNode::~ReturnNode), (ReturnNode::ref), (ReturnNode::deref),
16050		(ReturnNode::execute), (WithNode::~WithNode), (WithNode::ref), (WithNode::deref),
16051		(WithNode::execute), (WithNode::processVarDecls),
16052		(CaseClauseNode::~CaseClauseNode), (CaseClauseNode::ref),
16053		(CaseClauseNode::deref), (CaseClauseNode::evaluate),
16054		(CaseClauseNode::evalStatements), (CaseClauseNode::processVarDecls),
16055		(ClauseListNode::~ClauseListNode), (ClauseListNode::ref),
16056		(ClauseListNode::deref), (ClauseListNode::evaluate),
16057		(ClauseListNode::processVarDecls), (CaseBlockNode::~CaseBlockNode),
16058		(CaseBlockNode::ref), (CaseBlockNode::deref), (CaseBlockNode::evaluate),
16059		(CaseBlockNode::evalBlock), (CaseBlockNode::processVarDecls),
16060		(SwitchNode::~SwitchNode), (SwitchNode::ref), (SwitchNode::deref),
16061		(SwitchNode::execute), (SwitchNode::processVarDecls), (LabelNode::~LabelNode),
16062		(LabelNode::ref), (LabelNode::deref), (LabelNode::execute),
16063		(LabelNode::processVarDecls), (ThrowNode::~ThrowNode), (ThrowNode::ref),
16064		(ThrowNode::deref), (ThrowNode::execute), (CatchNode::~CatchNode),
16065		(CatchNode::ref), (CatchNode::deref), (CatchNode::execute),
16066		(CatchNode::processVarDecls), (FinallyNode::~FinallyNode), (FinallyNode::ref),
16067		(FinallyNode::deref), (FinallyNode::execute), (FinallyNode::processVarDecls),
16068		(TryNode::~TryNode), (TryNode::ref), (TryNode::deref), (TryNode::execute),
16069		(TryNode::processVarDecls), (ParameterNode::~ParameterNode),
16070		(ParameterNode::ref), (ParameterNode::deref), (ParameterNode::append),
16071		(ParameterNode::evaluate), (FunctionBodyNode::FunctionBodyNode),
16072		(FunctionBodyNode::~FunctionBodyNode), (FunctionBodyNode::ref),
16073		(FunctionBodyNode::deref), (FunctionBodyNode::execute),
16074		(FunctionBodyNode::processFuncDecl), (FunctionBodyNode::processVarDecls),
16075		(FuncDeclNode::~FuncDeclNode), (FuncDeclNode::ref), (FuncDeclNode::deref),
16076		(FuncDeclNode::processFuncDecl), (FuncExprNode::~FuncExprNode),
16077		(FuncExprNode::ref), (FuncExprNode::deref), (FuncExprNode::evaluate),
16078		(SourceElementNode::~SourceElementNode), (SourceElementNode::ref),
16079		(SourceElementNode::deref), (SourceElementNode::execute),
16080		(SourceElementNode::processFuncDecl), (SourceElementNode::processVarDecls),
16081		(SourceElementsNode::~SourceElementsNode), (SourceElementsNode::ref),
16082		(SourceElementsNode::deref), (SourceElementsNode::execute),
16083		(SourceElementsNode::processFuncDecl), (SourceElementsNode::processVarDecls),
16084		(ProgramNode::ProgramNode), (ProgramNode::~ProgramNode):
16085		* src/kdelibs/kjs/nodes.h:
16086		* src/kdelibs/kjs/number_object.cpp: (NumberInstanceImp::NumberInstanceImp),
16087		(NumberPrototypeImp::NumberPrototypeImp),
16088		(NumberProtoFuncImp::NumberProtoFuncImp), (NumberProtoFuncImp::implementsCall),
16089		(NumberProtoFuncImp::call), (NumberObjectImp::NumberObjectImp),
16090		(NumberObjectImp::get), (NumberObjectImp::getValueProperty),
16091		(NumberObjectImp::implementsConstruct), (NumberObjectImp::construct),
16092		(NumberObjectImp::implementsCall), (NumberObjectImp::call):
16093		* src/kdelibs/kjs/number_object.h:
16094		* src/kdelibs/kjs/object.cpp: (Object::Object), (Object::~Object),
16095		(Object::operator=), (Object::classInfo), (Object::inherits),
16096		(Object::dynamicCast), (Object::prototype), (Object::className), (Object::get),
16097		(Object::put), (Object::canPut), (Object::hasProperty), (Object::deleteProperty),
16098		(Object::defaultValue), (Object::implementsConstruct), (Object::construct),
16099		(Object::implementsCall), (Object::call), (Object::implementsHasInstance),
16100		(Object::hasInstance), (Object::scope), (Object::setScope), (Object::propList),
16101		(Object::internalValue), (Object::setInternalValue), (ObjectImp::ObjectImp),
16102		(ObjectImp::~ObjectImp), (ObjectImp::mark), (ObjectImp::classInfo),
16103		(ObjectImp::inherits), (ObjectImp::type), (ObjectImp::prototype),
16104		(ObjectImp::setPrototype), (ObjectImp::className), (ObjectImp::get),
16105		(ObjectImp::getDirect), (ObjectImp::put), (ObjectImp::canPut),
16106		(ObjectImp::hasProperty), (ObjectImp::deleteProperty),
16107		(ObjectImp::deleteAllProperties), (ObjectImp::defaultValue),
16108		(ObjectImp::findPropertyHashEntry), (ObjectImp::implementsConstruct),
16109		(ObjectImp::construct), (ObjectImp::implementsCall), (ObjectImp::call),
16110		(ObjectImp::implementsHasInstance), (ObjectImp::hasInstance), (ObjectImp::scope),
16111		(ObjectImp::setScope), (ObjectImp::propList), (ObjectImp::internalValue),
16112		(ObjectImp::setInternalValue), (ObjectImp::toPrimitive), (ObjectImp::toBoolean),
16113		(ObjectImp::toNumber), (ObjectImp::toInteger), (ObjectImp::toInt32),
16114		(ObjectImp::toUInt32), (ObjectImp::toUInt16), (ObjectImp::toString),
16115		(ObjectImp::toObject), (Error::create):
16116		* src/kdelibs/kjs/object.h:
16117		* src/kdelibs/kjs/object_object.cpp: (ObjectPrototypeImp::ObjectPrototypeImp),
16118		(ObjectProtoFuncImp::ObjectProtoFuncImp), (ObjectProtoFuncImp::implementsCall),
16119		(ObjectProtoFuncImp::call), (ObjectObjectImp::ObjectObjectImp),
16120		(ObjectObjectImp::implementsConstruct), (ObjectObjectImp::construct),
16121		(ObjectObjectImp::implementsCall), (ObjectObjectImp::call):
16122		* src/kdelibs/kjs/object_object.h:
16123		* src/kdelibs/kjs/operations.cpp: (KJS::isPosInf), (KJS::isNegInf), (KJS::equal),
16124		(KJS::strictEqual), (KJS::relation), (KJS::maxInt), (KJS::minInt), (KJS::add),
16125		(KJS::mult):
16126		* src/kdelibs/kjs/operations.h:
16127		* src/kdelibs/kjs/regexp.cpp: (RegExp::RegExp), (RegExp::~RegExp),
16128		(RegExp::match), (RegExp::test):
16129		* src/kdelibs/kjs/regexp.h:
16130		* src/kdelibs/kjs/regexp_object.cpp: (RegExpPrototypeImp::RegExpPrototypeImp),
16131		(RegExpProtoFuncImp::RegExpProtoFuncImp), (RegExpProtoFuncImp::implementsCall),
16132		(RegExpProtoFuncImp::call), (RegExpImp::RegExpImp), (RegExpImp::~RegExpImp),
16133		(RegExpObjectImp::RegExpObjectImp), (RegExpObjectImp::~RegExpObjectImp),
16134		(RegExpObjectImp::registerRegexp), (RegExpObjectImp::arrayOfMatches),
16135		(RegExpObjectImp::get), (RegExpObjectImp::implementsConstruct),
16136		(RegExpObjectImp::construct), (RegExpObjectImp::implementsCall),
16137		(RegExpObjectImp::call):
16138		* src/kdelibs/kjs/regexp_object.h:
16139		* src/kdelibs/kjs/string_object.cpp: (StringInstanceImp::StringInstanceImp),
16140		(StringPrototypeImp::StringPrototypeImp), (StringPrototypeImp::get),
16141		(StringProtoFuncImp::StringProtoFuncImp), (StringProtoFuncImp::implementsCall),
16142		(StringProtoFuncImp::call), (StringObjectImp::StringObjectImp),
16143		(StringObjectImp::implementsConstruct), (StringObjectImp::construct),
16144		(StringObjectImp::implementsCall), (StringObjectImp::call),
16145		(StringObjectFuncImp::StringObjectFuncImp),
16146		(StringObjectFuncImp::implementsCall), (StringObjectFuncImp::call):
16147		* src/kdelibs/kjs/string_object.h:
16148		* src/kdelibs/kjs/testkjs.cpp: (TestFunctionImp::call), (main):
16149		* src/kdelibs/kjs/types.cpp: (Reference::Reference), (Reference::~Reference),
16150		(Reference::operator=), (Reference::dynamicCast), (ListIterator::ListIterator),
16151		(ListIterator::operator=), (ListIterator::~ListIterator),
16152		(ListIterator::operator->), (ListIterator::operator*),
16153		(ListIterator::operator++), (ListIterator::operator--),
16154		(ListIterator::operator==), (ListIterator::operator!=), (List::List),
16155		(List::~List), (List::operator=), (List::dynamicCast), (List::append),
16156		(List::prepend), (List::appendList), (List::prependList), (List::removeFirst),
16157		(List::removeLast), (List::remove), (List::clear), (List::copy), (List::begin),
16158		(List::end), (List::isEmpty), (List::size), (List::at), (List::operator[]),
16159		(List::empty), (Completion::Completion), (Completion::~Completion),
16160		(Completion::operator=), (Completion::dynamicCast), (Completion::complType),
16161		(Completion::value), (Completion::target), (Completion::isValueCompletion):
16162		* src/kdelibs/kjs/types.h:
16163		* src/kdelibs/kjs/ustring.cpp: (UChar::UChar), (UChar::toLower),
16164		(UChar::toUpper), (UString::from), (UString::ascii), (UString::operator=),
16165		(UString::is8Bit), (UString::toDouble), (KJS::operator==):
16166		* src/kdelibs/kjs/ustring.h:
16167
161682002-03-19  Richard Williamson  <rjw@apple.com>
16169
16170        Fixed NSPopupButton performance bottleneck.
16171        
16172	* src/kdelibs/khtml/rendering/render_form.cpp: (RenderSelect::layout):
16173	* src/kwq/KWQComboBox.mm: (QComboBox::insertItem):
16174	* src/kwq/KWQKComboBox.mm: (KComboBox::~KComboBox), (KComboBox::doneLoading),
16175	(KComboBox::setSize):
16176	* src/kwq/kdeui/kcombobox.h:
16177	* src/kwq/qt/qcombobox.h:
16178
161792002-03-19  Richard Williamson  <rjw@apple.com>
16180    
16181        Changed float width cache to use shorts.
16182
16183	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo _initializeCaches]),
16184	(_rectForString):
16185	* src/kwq/KWQMetrics.h:
16186
161872002-03-19  Richard Williamson  <rjw@apple.com>
16188
16189        Improved cache-miss case for non-latin1 characters.
16190        
16191	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo initWithFont:]), (-[KWQLayoutInfo
16192	layoutManager]), (-[KWQLayoutInfo textStorage]), (-[KWQLayoutInfo
16193	_initializeCaches]), (_rectForString), (-[KWQLayoutInfo setColor:]),
16194	(-[KWQLayoutInfo attributes]), (-[KWQLayoutInfo dealloc]):
16195	* src/kwq/KWQMetrics.h:
16196	* src/kwq/kwqdebug.h:
16197
161982002-03-18  Darin Adler  <darin@apple.com>
16199
16200	* src/kwq/KWQListImpl.mm: (KWQListImpl::sort): Use insertion sort for
16201	small lists. Also special case for lists of size 2 and under.
16202
162032002-03-18  Richard Williamson  <rjw@apple.com>
16204
16205        Added comments about new layout scheme.  Cleaned up code.
16206        Improved core measurement routine.
16207
16208	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::boundingRect):
16209	* src/kwq/kwqdebug.h:
16210
162112002-03-18  Darin Adler  <darin@apple.com>
16212
16213	* src/kwq/KWQString.mm: (QString::latin1): Handle null case properly.
16214	We must return "", not 0.
16215
162162002-03-18  Darin Adler  <darin@apple.com>
16217
16218        Redo inlining of QChar and QString and some other small speed improvements.
16219        Sadly, this doesn't seem to make things measurably faster, but I decided to
16220        commit my work rather than discarding it; it doesn't make things slower.
16221
16222	* src/kwq/qt/qstring.h:
16223	* src/kwq/KWQChar.mm:
16224	* src/kwq/KWQString.mm:
16225        Do a lot more inlining. Also, the CFStringRef inside a QString is now never
16226        nil, so we can get rid of many checks for nil.
16227
16228	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::width): Use _rectForString() a
16229        couple more places.
16230
162312002-03-18  Richard Williamson  <rjw@apple.com>
16232
16233        Changed to use non direct _rectForString() function.   Avoids
16234        unnecessary NSString allocation.
16235        
16236	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::boundingRect):
16237
162382002-03-18  Darin Adler  <darin@apple.com>
16239
16240	* src/kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getInfo),
16241	(QFontMetrics::width), (QFontMetrics::_width), (QFontMetrics::boundingRect),
16242	(QFontMetrics::size): Don't make the info object right away, in case the
16243	metrics object is only used to compute ascent and descent.
16244
162452002-03-17  Richard Williamson  <rjw@apple.com>
16246
16247        Implementation of replacement code for NSLayoutManager.  Huge
16248        performance gains.
16249        
16250	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth),
16251	(RenderText::width):
16252	* src/kwq/KWQFontMetrics.mm: (ROUND_TO_INT), (__IFInitATSGlyphVector),
16253	(__IFResetATSGlyphVector), (__IFFillStyleWithAttributes), (-[KWQLayoutInfo
16254	drawString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16255	drawString:atPoint:withFont:color:]), (-[KWQLayoutInfo
16256	drawUnderlineForString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16257	drawUnderlineForString:atPoint:withFont:color:]), (-[KWQLayoutInfo
16258	initWithFont:]), (-[KWQLayoutInfo _initializeCaches]), (_rectForString),
16259	(-[KWQLayoutInfo rectForString:]), (-[KWQLayoutInfo attributes]),
16260	(-[KWQLayoutInfo lineHeight]), (-[KWQLayoutInfo font]), (-[KWQLayoutInfo
16261	dealloc]), (QFontMetrics::_width):
16262	* src/kwq/KWQMetrics.h:
16263	* src/kwq/Makefile.am:
16264	* src/kwq/qt/qfontmetrics.h:
16265
162662002-03-16  Richard Williamson  <rjw@apple.com>
16267
16268        Fixed error handling.  Removed ObjC code for url handle client from KHTMLPart.
16269        Need to sanitize KHTMLPart further.
16270        
16271	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::closeURL),
16272	(KHTMLPart::requestFrameName), (KHTMLPart::requestFrame), (KHTMLPart::overURL):
16273	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidCancelLoading:]),
16274	(-[URLLoadClient IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
16275	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
16276	IFURLHandle:resourceDidFailLoadingWithResult:]):
16277	* src/kwq/external.h:
16278
162792002-03-15  Richard Williamson  <rjw@apple.com>
16280
16281        Fixed crasher initializing items in popup button.
16282        Increased fragment cache initial size.
16283        
16284	* src/kwq/KWQComboBox.mm: (QComboBox::init), (QComboBox::~QComboBox),
16285	(QComboBox::insertItem):
16286	* src/kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
16287	* src/kwq/qt/qcombobox.h:
16288
162892002-03-15  Richard Williamson  <rjw@apple.com>
16290
16291        More string usage optimizations.  Got another 10% or so.
16292        
16293	* src/kdelibs/khtml/css/cssstyleselector.cpp: (checkPseudoState),
16294	(khtml::applyRule):
16295	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth),
16296	(RenderText::width):
16297
162982002-03-15  Darin Adler  <darin@apple.com>
16299
16300	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::descent): Oops, removed a - sign
16301	that I should have left in there.
16302
163032002-03-15  Darin Adler  <darin@apple.com>
16304
16305	Some more optimizations. Carves another 6% or so off of NSView.html.
16306
16307	* src/kwq/KWQChar.mm: (QChar::QChar): Handle characters > 0x7F correctly.
16308	(QChar::cell): Remove unnecessary & operation.
16309	(QChar::row): Remove unnecessary & operation.
16310	(QChar::latin1): Do a simpler check rather than calling row().
16311	(QChar::operator char): Do the same work as latin1 inline.
16312	(operator==) (operator!=), (operator>=), (operator>), (operator<=), (operator<):
16313	Handle characters > 0x7F correctly.
16314
16315	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::ascent), (QFontMetrics::descent):
16316	Cache the ascent and descent rather than computing it each time we are called.
16317
163182002-03-15  Darin Adler  <darin@apple.com>
16319
16320	Optimizations for creating empty QFont objects, measuring certain single
16321	characters, and copying QFontMetrics objects. Makes loading NSView.html about
16322	18% faster.
16323
16324	* src/kwq/qt/qfontmetrics.h: Use a ref-counted pointer so QFontMetrics objects
16325	for the same QFont can share data.
16326
16327	* src/kwq/KWQFont.mm: (loadDefaultFont): New, used to load the default
16328	font used for default-initialized QFont objects.
16329	(QFont::_initializeWithFont): Don't recompute the family name, point size, or
16330	traits.
16331	(QFont::setFamily), (QFont::setPixelSizeFloat), (QFont::setWeight),
16332	(QFont::setItalic): autorelease the font, as we do in the destructor, since
16333	someone could still be using the result of getFont.
16334	(QFont::operator==): Add a comment about a problem with this function.
16335
16336	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::QFontMetrics): Add a refCount, and
16337	a cached width for space and lower-case "x", the two single characters that
16338	are often measured.
16339	(QFontMetrics::~QFontMetrics): Simplify.
16340	(QFontMetrics::operator=): Just copy the underlying data pointer rather than
16341	making our own KWQLayoutInfo object.
16342	(QFontMetrics::baselineOffset): Make const.
16343	(QFontMetrics::width): Add the caching for space and "x".
16344
163452002-03-15  Richard Williamson  <rjw@apple.com>
16346
16347        Optimizations that remove unnecessary cfstring allocations of local scope
16348        strings.  QString::gstring_toQString and QString::gstring_toCFString were
16349        added to simplify the reuse of a static CFString as the backing store for
16350        local QStrings.  Hit the top two problem areas.  Many more gains to be had
16351        by using this technique.
16352        
16353	* src/kdelibs/khtml/css/cssstyleselector.cpp:
16354	(CSSStyleSelector::checkOneSelector):
16355	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth):
16356	* src/kwq/KWQString.mm: (QString::gstring_toQString),
16357	(QString::gstring_toCFString):
16358	* src/kwq/qt/qstring.h:
16359
163602002-03-14  Richard Williamson  <rjw@apple.com>
16361
16362        Fixed another problem in QString::find().
16363        Added dangerous but fast string allocation optimization to render_text.cpp.
16364        
16365	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth):
16366	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::_width):
16367	* src/kwq/KWQString.mm: (QString::find):
16368	* src/kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]),
16369	(-[KWQTextStorage setString:]):
16370	* src/kwq/qt/qfontmetrics.h:
16371
163722002-03-14  Richard Williamson  <rjw@apple.com>
16373
16374        Fixed optimized find() implementation.  I had the sense of caseSensitive inverted.
16375        
16376	* src/kwq/KWQString.mm: (QString::find):
16377
163782002-03-14  Richard Williamson  <rjw@apple.com>
16379
16380        Attempted implementation of space optimizations.  Disabled for now.
16381        
16382	* src/kwq/KWQFontMetrics.mm: (+[KWQLayoutInfo _dumpLayoutCache:]),
16383	(-[KWQLayoutInfo rectForString:]):
16384	* src/kwq/KWQMetrics.h:
16385	* src/kwq/KWQTextStorage.h:
16386	* src/kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]),
16387	(-[KWQTextStorage getFragmentForString:]), (-[KWQTextStorage
16388	initWithFontAttribute:]), (-[KWQTextStorage addLayoutManager:]):
16389
163902002-03-14  Richard Williamson  <rjw@apple.com>
16391
16392        Implemented a progressively cache fragment.
16393        
16394	* src/kwq/KWQFontMetrics.mm: (-[KWQSmallLayoutFragment setGlyphRange:]),
16395	(-[KWQSmallLayoutFragment setBoundingRect:]), (-[KWQSmallLayoutFragment
16396	boundingRect]), (-[KWQLargeLayoutFragment glyphRange]), (-[KWQLargeLayoutFragment
16397	setGlyphRange:]), (-[KWQLargeLayoutFragment setBoundingRect:]),
16398	(-[KWQLargeLayoutFragment boundingRect]), (-[KWQLargeLayoutFragment compare:]),
16399	(+[KWQLayoutInfo drawString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16400	drawUnderlineForString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16401	_dumpLayoutCache:]), (-[KWQLayoutInfo rectForString:]):
16402	* src/kwq/KWQMetrics.h:
16403	* src/kwq/KWQTextStorage.h:
16404	* src/kwq/KWQTextStorage.mm: (-[KWQTextStorage getFragmentForString:]),
16405	(-[KWQTextStorage addFragmentForString:]):
16406
164072002-03-13  Richard Williamson  <rjw@apple.com>
16408
16409        Added font cache.  Attempted to reduce size of fragment cache, but
16410        malloc forces a minimum of 30 bytes for our 14 byte objects.
16411        
16412	* src/kwq/KWQFont.mm: (-[IFFontCacheKey dealloc]), (-[IFFontCacheKey
16413	copyWithZone:]), (-[IFFontCacheKey hash]), (-[IFFontCacheKey string]),
16414	(-[IFFontCacheKey isEqual:]), (QFont::getFont):
16415	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutFragment setGlyphRangeLength:]):
16416	* src/kwq/KWQMetrics.h:
16417	* src/kwq/KWQTextStorage.mm: (-[KWQTextStorage addFragmentForString:]):
16418
164192002-03-13  Richard Williamson  <rjw@apple.com>
16420
16421        Re-worked fragment cache to minimize memory usage.
16422        
16423	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutFragment glyphRange]),
16424	(-[KWQLayoutFragment setGlyphRangeLength:]), (-[KWQLayoutFragment
16425	setBoundingRectSize:]), (-[KWQLayoutFragment boundingRect]), (+[KWQLayoutInfo
16426	drawString:atPoint:withFont:color:]), (+[KWQLayoutInfo
16427	drawUnderlineForString:atPoint:withFont:color:]), (-[KWQLayoutInfo
16428	initWithFont:]), (-[KWQLayoutInfo layoutManager]), (-[KWQLayoutInfo
16429	textStorage]), (-[KWQLayoutInfo rectForString:]):
16430	* src/kwq/KWQMetrics.h:
16431	* src/kwq/KWQTextStorage.h:
16432	* src/kwq/KWQTextStorage.mm: (-[KWQTextStorage getFragmentForString:]),
16433	(-[KWQTextStorage addFragmentForString:]), (-[KWQTextStorage
16434	initWithFontAttribute:]), (-[KWQTextStorage dealloc]), (-[KWQTextStorage
16435	length]), (-[KWQTextStorage setAttributes:]), (-[KWQTextStorage setString:]),
16436	(-[KWQTextStorage string]):
16437
164382002-03-13  Kenneth Kocienda  <kocienda@apple.com>
16439
16440	Updated for new didRedirectToURL callback. This is a partial fix for this bug:
16441	Radar 2879234 (Redirected URLs not used for subsequent GETs)
16442
16443	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16444	IFURLHandle:didRedirectToURL:]):
16445	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:didRedirectToURL:]):
16446
164472002-03-12  Richard Williamson  <rjw@apple.com>
16448
16449	* src/kwq/KWQString.mm: (QString::find), (QString::contains),
16450	(QString::compareToLatin1):
16451
164522002-03-11  Richard Williamson  <rjw@apple.com>
16453
16454Re-implemented QPainter::drawTiledPixmap to use core graphics patterns.  Currently this depends
16455on SPI.  The performance boost is huge osx.macnn.com draws 40x faster now.
16456
16457	* src/kwq/KWQPainter.mm: (QPainter::drawTiledPixmap):
16458
164592002-03-08  Richard Williamson  <rjw@apple.com>
16460
16461Re-implemented KWQFont to lazily request font from NSFontManager instead of
16462user converFont:.  I did this after sampling loads of http://www.apple.com/retail/theater
16463and found that converting fonts was very expensive.
16464
16465	* src/kwq/KWQFont.mm: (QFont::defaultNSFont), (QFont::_initializeWithFont),
16466	(QFont::QFont), (QFont::_free), (QFont::getFont), (QFont::pixelSize),
16467	(QFont::family), (QFont::setFamily), (QFont::setPixelSizeFloat),
16468	(QFont::setWeight), (QFont::weight), (QFont::setItalic), (QFont::italic),
16469	(QFont::bold), (QFont::operator!=):
16470	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::QFontMetrics):
16471	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame):
16472	* src/kwq/KWQPainter.mm: (QPainter::drawText), (QPainter::drawUnderlineForText):
16473	* src/kwq/qt/qfont.h:
16474
164752002-03-08  Richard Williamson  <rjw@apple.com>
16476
16477        Instrumentation of the text fragment metrics cache.
16478        Added _FAST_QSTRING_TO_NSSTRING.
16479        
16480	* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutFragment initWithString:attributes:]),
16481	(-[KWQLayoutFragment boundingRect]), (-[KWQLayoutFragment compare:]),
16482	(+[KWQLayoutInfo _dumpLayoutCache:]), (+[KWQLayoutInfo _dumpAllLayoutCaches]),
16483	(-[KWQLayoutInfo rectForString:]), (QFontMetrics::width),
16484	(QFontMetrics::boundingRect), (QFontMetrics::size):
16485	* src/kwq/KWQMetrics.h:
16486	* src/kwq/qt/qstring.h:
16487
164882002-03-08  John Sullivan  <sullivan@apple.com>
16489
16490	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::end):
16491	Changed openURL() and end() messages to use debug levels. You
16492	can see these by setting your WebKitLogLevel mask to include 
16493	0x00000008
16494
164952002-03-07  John Sullivan  <sullivan@apple.com>
16496
16497	* src/kwq/kwqdebug.h: New debug level constants, kept in
16498	synch with WebKitDebug.h
16499
16500	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16501	IFURLHandleResourceDidBeginLoading:]), (-[KHTMLPartLoadClient
16502	IFURLHandleResourceDidCancelLoading:]), (-[KHTMLPartLoadClient
16503	IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16504	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16505	IFURLHandle:resourceDidFailLoadingWithResult:]):
16506	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
16507	(-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
16508	IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
16509	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
16510	IFURLHandle:resourceDidFailLoadingWithResult:]), (Loader::load),
16511	(Loader::servePendingRequests):
16512	* src/kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
16513	Changed numeric debug levels to symbolic ones.
16514
165152002-03-07  Don Melton  <gramps@apple.com>
16516
16517	Removed unused file in kdelibs that I missed in previous commit.
16518
16519	* src/kdelibs/khtml/test/layout.html:
16520
165212002-03-06  Don Melton  <gramps@apple.com>
16522
16523	Removed unused files in kdelibs.
16524
16525	* src/kdelibs/AUTHORS:
16526	* src/kdelibs/README:
16527	* src/kdelibs/khtml/CHANGES:
16528	* src/kdelibs/khtml/DESIGN.html:
16529	* src/kdelibs/khtml/README.HTMLWidget:
16530	* src/kdelibs/khtml/README.tags:
16531	* src/kdelibs/khtml/SECURITY:
16532	* src/kdelibs/khtml/TODO:
16533	* src/kdelibs/khtml/design.h:
16534	* src/kdelibs/khtml/domtreeview.cpp:
16535	* src/kdelibs/khtml/domtreeview.h:
16536	* src/kdelibs/khtml/ecma/AUTHORS:
16537	* src/kdelibs/khtml/ecma/README:
16538	* src/kdelibs/khtml/ecma/THANKS:
16539	* src/kdelibs/khtml/ecma/TODO:
16540	* src/kdelibs/khtml/ecma/jsk.html:
16541	* src/kdelibs/khtml/ecma/testecma.cpp:
16542	* src/kdelibs/khtml/html/dtd.dtd:
16543	* src/kdelibs/khtml/java/KJAS_GRAMMAR.txt:
16544	* src/kdelibs/khtml/java/README:
16545	* src/kdelibs/khtml/java/TODO:
16546	* src/kdelibs/khtml/java/build.xml:
16547	* src/kdelibs/khtml/java/javaembed.cpp:
16548	* src/kdelibs/khtml/java/kjava.jar:
16549	* src/kdelibs/khtml/java/kjava.policy.in:
16550	* src/kdelibs/khtml/java/org/kde/kjas/server/KJASAppletClassLoader.java:
16551	* src/kdelibs/khtml/java/org/kde/kjas/server/KJASAppletContext.java:
16552	* src/kdelibs/khtml/java/org/kde/kjas/server/KJASAppletStub.java:
16553	* src/kdelibs/khtml/java/org/kde/kjas/server/KJASConsole.java:
16554	* src/kdelibs/khtml/java/org/kde/kjas/server/KJASProtocolHandler.java:
16555	* src/kdelibs/khtml/java/org/kde/kjas/server/KJASSecurityManager.java:
16556	* src/kdelibs/khtml/java/org/kde/kjas/server/KJASSoundPlayer.java:
16557	* src/kdelibs/khtml/java/org/kde/kjas/server/Main.java:
16558	* src/kdelibs/khtml/java/tests/badapplets/BadApplet.jar:
16559	* src/kdelibs/khtml/java/tests/badapplets/BadApplet.java:
16560	* src/kdelibs/khtml/java/tests/badapplets/applet.html:
16561	* src/kdelibs/khtml/java/tests/good_sites:
16562	* src/kdelibs/khtml/java/tests/testkjavaappletserver.cpp:
16563	* src/kdelibs/khtml/khtml.desktop:
16564	* src/kdelibs/khtml/khtml.rc:
16565	* src/kdelibs/khtml/khtml_browser.rc:
16566	* src/kdelibs/khtml/khtml_ext.cpp:
16567	* src/kdelibs/khtml/khtml_factory.cpp:
16568	* src/kdelibs/khtml/khtml_find.cpp:
16569	* src/kdelibs/khtml/khtml_find.h:
16570	* src/kdelibs/khtml/khtml_pagecache.cpp:
16571	* src/kdelibs/khtml/khtml_pagecache.h:
16572	* src/kdelibs/khtml/khtml_part.cpp:
16573	* src/kdelibs/khtml/khtml_popupmenu.rc:
16574	* src/kdelibs/khtml/khtml_run.cpp:
16575	* src/kdelibs/khtml/khtml_run.h:
16576	* src/kdelibs/khtml/khtmldefaults.h:
16577	* src/kdelibs/khtml/khtmlimage.cpp:
16578	* src/kdelibs/khtml/khtmlimage.desktop:
16579	* src/kdelibs/khtml/khtmlimage.h:
16580	* src/kdelibs/khtml/pics/hi16-action-images_display.png:
16581	* src/kdelibs/khtml/pics/hi22-action-images_display.png:
16582	* src/kdelibs/khtml/pics/hi32-action-images_display.png:
16583	* src/kdelibs/khtml/test/README:
16584	* src/kdelibs/khtml/test/URL1.html:
16585	* src/kdelibs/khtml/test/URL2.html:
16586	* src/kdelibs/khtml/test/align.html:
16587	* src/kdelibs/khtml/test/align1.html:
16588	* src/kdelibs/khtml/test/align2.html:
16589	* src/kdelibs/khtml/test/anchor1.html:
16590	* src/kdelibs/khtml/test/anchor2.html:
16591	* src/kdelibs/khtml/test/badpages.html:
16592	* src/kdelibs/khtml/test/buggy.html:
16593	* src/kdelibs/khtml/test/button.html:
16594	* src/kdelibs/khtml/test/color.html:
16595	* src/kdelibs/khtml/test/fixed-background.html:
16596	* src/kdelibs/khtml/test/image.gif:
16597	* src/kdelibs/khtml/test/image_map.html:
16598	* src/kdelibs/khtml/test/index.html:
16599	* src/kdelibs/khtml/test/java.html:
16600	* src/kdelibs/khtml/test/javascript.html:
16601	* src/kdelibs/khtml/test/jsplugins.html:
16602	* src/kdelibs/khtml/test/konqi.gif:
16603	* src/kdelibs/khtml/test/lake.class:
16604	* src/kdelibs/khtml/test/listing.html:
16605	* src/kdelibs/khtml/test/lists.html:
16606	* src/kdelibs/khtml/test/nav_bar.gif:
16607	* src/kdelibs/khtml/test/nbsp.html:
16608	* src/kdelibs/khtml/test/notitle.html:
16609	* src/kdelibs/khtml/test/object.html:
16610	* src/kdelibs/khtml/test/pseudo.html:
16611	* src/kdelibs/khtml/test/renders.html:
16612	* src/kdelibs/khtml/test/supsub.html:
16613	* src/kdelibs/khtml/test/testpages.html:
16614	* src/kdelibs/khtml/test/textarea.html:
16615	* src/kdelibs/khtml/test/title.html:
16616	* src/kdelibs/khtml/testcss.cpp:
16617	* src/kdelibs/khtml/testkhtml.cpp:
16618	* src/kdelibs/khtml/testkhtml.h:
16619	* src/kdelibs/khtml/testrender.cpp:
16620	* src/kdelibs/khtml/testrender.h:
16621	* src/kdelibs/kjs/README:
16622	* src/kdelibs/kjs/THANKS:
16623	* src/kdelibs/kjs/create_hash_table:
16624	* src/kdelibs/kjs/keywords.table:
16625
166262002-03-06  Don Melton  <gramps@apple.com>
16627
16628	Cleaned up all our changes to kdelibs, removed bitrot, and replaced use
16629	of _KWQ_ with new APPLE_CHANGES define.
16630
16631	* src/kdelibs/khtml/css/csshelper.cpp: (khtml::computeLengthFloat),
16632	(khtml::setFontSize):
16633	* src/kdelibs/khtml/css/cssstyleselector.cpp:
16634	(CSSStyleSelector::CSSStyleSelector), (khtml::applyRule):
16635	* src/kdelibs/khtml/dom/dom_misc.cpp:
16636	* src/kdelibs/khtml/dom/dom_misc.h:
16637	* src/kdelibs/khtml/dom/html_document.cpp: (HTMLDocument::cookie),
16638	(HTMLDocument::setCookie):
16639	* src/kdelibs/khtml/dom/html_element.cpp:
16640	* src/kdelibs/khtml/ecma/kjs_binding.h:
16641	* src/kdelibs/khtml/ecma/kjs_css.cpp: (DOMCSSStyleDeclarationFunc::tryExecute),
16642	(DOMStyleSheetListFunc::tryExecute), (DOMMediaListFunc::tryExecute),
16643	(DOMCSSStyleSheetFunc::tryExecute), (DOMCSSRuleListFunc::tryExecute),
16644	(DOMCSSRuleFunc::tryExecute), (DOMCSSPrimitiveValueFunc::tryExecute),
16645	(DOMCSSValueListFunc::tryExecute):
16646	* src/kdelibs/khtml/ecma/kjs_css.h:
16647	* src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMNodeFunc::tryExecute),
16648	(DOMNodeListFunc::tryExecute), (DOMDocFunction::DOMDocFunction),
16649	(DOMDocFunction::tryExecute), (DOMElementFunction::DOMElementFunction),
16650	(DOMElementFunction::tryExecute),
16651	(DOMDOMImplementationFunction::DOMDOMImplementationFunction),
16652	(DOMDOMImplementationFunction::tryExecute),
16653	(DOMNamedNodeMapFunction::DOMNamedNodeMapFunction),
16654	(DOMNamedNodeMapFunction::tryExecute):
16655	* src/kdelibs/khtml/ecma/kjs_dom.h:
16656	* src/kdelibs/khtml/ecma/kjs_window.cpp: (Window::isSafeScript):
16657	* src/kdelibs/khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::formData),
16658	(HTMLSelectElementImpl::state), (HTMLSelectElementImpl::restoreState):
16659	* src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLLinkElementImpl::detach),
16660	(HTMLStyleElementImpl::detach), (HTMLTitleElementImpl::setTitle):
16661	* src/kdelibs/khtml/html/html_objectimpl.cpp:
16662	(HTMLEmbedElementImpl::parseAttribute):
16663	* src/kdelibs/khtml/html/html_tableimpl.cpp:
16664	(HTMLTableElementImpl::parseAttribute),
16665	(HTMLTablePartElementImpl::parseAttribute):
16666	* src/kdelibs/khtml/html/htmlparser.cpp: (KHTMLParser::parseToken),
16667	(KHTMLParser::insertNode), (KHTMLParser::getElement),
16668	(KHTMLParser::processCloseTag), (KHTMLParser::popBlock),
16669	(KHTMLParser::popOneBlock):
16670	* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::parseSpecial),
16671	(HTMLTokenizer::scriptHandler), (HTMLTokenizer::parseComment),
16672	(HTMLTokenizer::parseTag), (HTMLTokenizer::processToken):
16673	* src/kdelibs/khtml/html/htmltokenizer.h:
16674	* src/kdelibs/khtml/java/kjavaprocess.h:
16675	* src/kdelibs/khtml/khtml_part.h:
16676	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::~KHTMLView), (KHTMLView::init),
16677	(printRenderTree), (KHTMLView::drawContents), (KHTMLView::layout),
16678	(KHTMLView::viewportMousePressEvent), (KHTMLView::viewportMouseDoubleClickEvent),
16679	(KHTMLView::viewportMouseMoveEvent), (KHTMLView::viewportMouseReleaseEvent),
16680	(KHTMLView::addFormCompletionItem):
16681	* src/kdelibs/khtml/khtmlview.h:
16682	* src/kdelibs/khtml/misc/decoder.cpp: (Decoder::setEncoding), (Decoder::decode):
16683	* src/kdelibs/khtml/misc/helper.cpp: (khtml::setNamedColor):
16684	* src/kdelibs/khtml/misc/loader.h:
16685	* src/kdelibs/khtml/rendering/bidi.cpp: (RenderFlow::layoutInlineChildren):
16686	* src/kdelibs/khtml/rendering/render_applet.cpp: (RenderApplet::RenderApplet):
16687	* src/kdelibs/khtml/rendering/render_body.cpp: (RenderBody::layout):
16688	* src/kdelibs/khtml/rendering/render_box.cpp: (RenderBox::printBackground):
16689	* src/kdelibs/khtml/rendering/render_flow.cpp: (RenderFlow::print):
16690	* src/kdelibs/khtml/rendering/render_form.cpp:
16691	(RenderFormElement::baselinePosition), (RenderFormElement::slotClicked),
16692	(RenderCheckBox::RenderCheckBox), (RenderCheckBox::performAction),
16693	(RenderRadioButton::RenderRadioButton), (RenderRadioButton::slotClicked),
16694	(RenderSubmitButton::RenderSubmitButton), (RenderSubmitButton::baselinePosition),
16695	(RenderLineEdit::RenderLineEdit), (RenderLineEdit::calcMinMaxWidth),
16696	(RenderLineEdit::performAction), (RenderFileButton::RenderFileButton),
16697	(RenderSelect::RenderSelect), (RenderSelect::layout),
16698	(RenderSelect::createListBox), (RenderSelect::createComboBox),
16699	(RenderTextArea::RenderTextArea), (RenderTextArea::calcMinMaxWidth),
16700	(RenderTextArea::layout):
16701	* src/kdelibs/khtml/rendering/render_form.h:
16702	* src/kdelibs/khtml/rendering/render_frames.cpp:
16703	(RenderPartObject::updateWidget):
16704	* src/kdelibs/khtml/rendering/render_hr.cpp: (RenderHR::print):
16705	* src/kdelibs/khtml/rendering/render_image.cpp: (RenderImage::printObject):
16706	* src/kdelibs/khtml/rendering/render_list.cpp: (RenderListMarker::printObject):
16707	* src/kdelibs/khtml/rendering/render_style.h:
16708	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::calcFinalColMax),
16709	(RenderTable::layoutRows):
16710	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration),
16711	(TextSlaveArray::findFirstMatching), (RenderText::print):
16712	* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle):
16713	* src/kdelibs/khtml/xml/dom_nodeimpl.cpp: (NodeImpl::renderer):
16714	* src/kdelibs/khtml/xml/dom_nodeimpl.h:
16715	* src/kdelibs/khtml/xml/dom_stringimpl.cpp: (DOMStringImpl::toLengthList):
16716
167172002-03-06  Maciej Stachowiak  <mjs@apple.com>
16718
16719	* src/kwq/KWQKURL.mm: (KURL::KURL): If resolving a relative URL
16720	fails, assume it's absolute and possibly malformed, rather than
16721	appending it to the path of the previous URL. This fixes a
16722	CPU-spinning hang that John and Richard found.
16723
167242002-03-05  Richard Williamson  <rjw@apple.com>
16725
16726        Pass errors correctly to browser.
16727        Removed old notification code.
16728        Added support for IFError.
16729        Lots of little cleanups.
16730        
16731	* src/kwq/KWQComboBox.mm: (QComboBox::setCurrentItem):
16732	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16733	IFURLHandleResourceDidBeginLoading:]), (-[KHTMLPartLoadClient
16734	IFURLHandleResourceDidCancelLoading:]), (-[KHTMLPartLoadClient
16735	IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16736	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16737	IFURLHandle:resourceDidFailLoadingWithResult:]), (KHTMLPart::openURL),
16738	(KHTMLPart::closeURL):
16739	* src/kwq/KWQKloader.mm: (-[URLLoadClient
16740	IFURLHandle:resourceDidFailLoadingWithResult:]):
16741	* src/kwq/WCError.h:
16742	* src/kwq/WCWebDataSource.h:
16743	* src/kwq/external.h:
16744
167452002-03-05  Richard Williamson  <rjw@apple.com>
16746
16747        With fonts now being correctly specified we're exercising some new code paths.  This introduced a new
16748        class of weird string bugs.  Turns out that CFString is doing some mojo that I suspect is a performance
16749        optimization.  Constants strings appears to be uniqued and hard-wired to have a -1 retain count.  It
16750        looks like strings created by preferences are uniqued in this manner.  This plays havoc with our
16751        copy-on-write QString implementation.  The following GDB exercise illustrates the problem:
16752        
16753        (gdb) po (id)[(id)[NSUserDefaults standardUserDefaults] objectForKey:(id)[NSString stringWithCString: "WebKitFixedFont"]]
16754        Andale Mono
16755        (gdb) p (int)[(id)[(id)[NSUserDefaults standardUserDefaults] objectForKey:(id)[NSString stringWithCString: "WebKitFixedFont"]] retainCount]
16756        $28 = -1
16757        (gdb) p (id)[(id)[NSUserDefaults standardUserDefaults] objectForKey:(id)[NSString stringWithCString: "WebKitFixedFont"]]
16758        $27 = (objc_object *) 0x40172a4
16759        (gdb) p (void)[$27 retain]
16760        $29 = void
16761        (gdb) p (int)[$27 retainCount]
16762        $30 = -1
16763        (gdb) p (void)[$27 release]
16764        $33 = void
16765        (gdb) p (int)[$27 retainCount]
16766        $32 = -1
16767        
16768        So, it appears that these strings are permanently allocated.  It'd be interesting to find out what is in the uniqued string cache, and how big it is.
16769        
16770        I've fixed the problem by special casing our copy-on-write trigger to also check for -1.
16771
16772	* src/kwq/KWQString.mm: (QString::_copyIfNeededInternalString):
16773
167742002-03-04  Richard Williamson  <rjw@apple.com>
16775 
16776        Changes to support 'provisional' data sources.
16777        API changes to IFBaseWebController, removed redundant methods.
16778 
16779	* src/kwq/KWQKHTMLPart.mm: (WCSetIFWebDataSourceMakeFunc), (-[KHTMLPartLoadClient
16780	IFURLHandleResourceDidBeginLoading:]), (-[KHTMLPartLoadClient
16781	IFURLHandleResourceDidCancelLoading:]), (-[KHTMLPartLoadClient
16782	IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16783	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16784	IFURLHandle:resourceDidFailLoadingWithResult:]),
16785	(KHTMLPart::khtmlMouseReleaseEvent), (KHTMLPart::submitForm),
16786	(KHTMLPart::requestFrame):
16787	* src/kwq/external.h:
16788
167892002-02-28  Richard Williamson  <rjw@apple.com>
16790
16791        Finished up progress notification for main document.  
16792        Made the IFLoadProgress allocator accessible to KHTMLPart.mm.
16793        
16794	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16795	IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16796	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16797	setDataSource:]), (KHTMLPart::openURL):
16798	* src/kwq/KWQKloader.mm: (-[URLLoadClient
16799	IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
16800	IFURLHandle:resourceDataDidBecomeAvailable:]):
16801	* src/kwq/WCLoadProgress.h:
16802
168032002-02-27  Kenneth Kocienda  <kocienda@apple.com>
16804
16805	I have changed the way that WebCore is glued to WebFoundation and WebKit. 
16806	If you used or relied upon any code in the following files, you should 
16807	now use the IF* equivalents straight up. 
16808
16809	- Labyrinth/WebCore/include/WCBackForwardList.h
16810	- Labyrinth/WebCore/include/WCURICache.h
16811	- Labyrinth/WebCore/include/WCURICacheData.h
16812	- Labyrinth/WebCore/include/WCURIEntry.h
16813	- Labyrinth/WebCore/include/WCURIEntry.h
16814
16815	All changes in this commit are related to making dependant code work with the new convention.
16816
16817	* include/WCBackForwardList.h:
16818	* include/WCURICache.h:
16819	* include/WCURICacheData.h:
16820	* include/WCURIEntry.h:
16821	* include/WCURLHandle.h:
16822	* src/kwq/KWQKHTMLPart.h:
16823	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16824	IFURLHandleResourceDidBeginLoading:]), (-[KHTMLPartLoadClient
16825	IFURLHandleResourceDidCancelLoading:]), (-[KHTMLPartLoadClient
16826	IFURLHandleResourceDidFinishLoading:data:]), (-[KHTMLPartLoadClient
16827	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[KHTMLPartLoadClient
16828	IFURLHandle:resourceDidFailLoadingWithResult:]), (KHTMLPart::slotData),
16829	(KHTMLPart::openURL):
16830	* src/kwq/KWQKjobclasses.mm:
16831	* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
16832	(-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
16833	IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
16834	IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
16835	IFURLHandle:resourceDidFailLoadingWithResult:]):
16836	* src/kwq/Makefile.am:
16837	* src/kwq/kio/jobclasses.h:
16838
168392002-02-27  Maciej Stachowiak  <mjs@apple.com>
16840
16841	Replace QDir and QFile with clean-room implementations. Add glob
16842	support ot QRegExp reimplementation.
16843
16844	* src/kwq/KWQDir.mm: (QDir::KWQDirPrivate::KWQDirPrivate),
16845	(QDir::KWQDirPrivate::~KWQDirPrivate), (QDir::QDir), (QDir::~QDir),
16846	(QDir::absPath), (QDir::absFilePath), (QDir::cdUp), (QDir::exists),
16847	(QDir::entryList), (QDir::operator=), (QDir::swap):
16848	* src/kwq/KWQFile.mm: (QFile::KWQFilePrivate::KWQFilePrivate),
16849	(QFile::KWQFilePrivate::~KWQFilePrivate), (QFile::QFile), (QFile::~QFile),
16850	(QFile::exists), (QFile::open), (QFile::close), (QFile::readBlock),
16851	(QFile::size):
16852	* src/kwq/KWQRegExp.mm: (QRegExp::KWQRegExpPrivate::KWQRegExpPrivate),
16853	(RegExpFromGlob), (QRegExp::KWQRegExpPrivate::compile), (QRegExp::QRegExp):
16854	* src/kwq/KWQStrList.h:
16855	* src/kwq/Makefile.am:
16856	* src/kwq/qt/_qdir.h:
16857	* src/kwq/qt/_qfile.h:
16858	* src/kwq/qt/_qfileinfo.h:
16859	* src/kwq/qt/qdir.h:
16860	* src/kwq/qt/qfile.h:
16861	* src/kwq/qt/qiodevice.h:
16862	* src/kwq/qt/qregexp.h:
16863
168642002-02-25  Maciej Stachowiak  <mjs@apple.com>
16865
16866	Fix two significant memory leaks in QList found by our automated
16867	leak-checking code.
16868
16869	* src/kwq/KWQListImpl.mm: (KWQListNode::~KWQListNode),
16870	(KWQListImpl::KWQListPrivate::copyList),
16871	(KWQListImpl::KWQListPrivate::~KWQListPrivate), (KWQListImpl::sort):
16872
16873	Fix a tiny bug tweaked by the new regexp code - we need to flush
16874	the cache after calling out to QRegExp::match because it might
16875	make calls on the string which create a cache. Caught by the
16876	regression tests.
16877	
16878	* src/kwq/KWQString.mm: (QString::replace): 
16879	
168802002-02-24  Maciej Stachowiak  <mjs@apple.com>
16881
16882	Reimplemented QRegExp in terms of POSIX regexp facilities. This
16883	will only support Latin1, however, it won't support all languages.
16884	
16885	* src/kwq/qt/qregexp.h:
16886	* src/kwq/KWQRegExp.mm: (QRegExp::KWQRegExpPrivate::KWQRegExpPrivate),
16887	(QRegExp::KWQRegExpPrivate::compile),
16888	(QRegExp::KWQRegExpPrivate::~KWQRegExpPrivate), (QRegExp::QRegExp),
16889	(QRegExp::~QRegExp), (QRegExp::operator=), (QRegExp::pattern), (QRegExp::match):
16890
16891	Reimplement QValueList as a doubly-linked list, using a generic
16892	implementation class and a templatized facade.
16893	
16894	* src/kwq/qt/qvaluelist.h:
16895	* src/kwq/KWQValueListImpl.h:
16896	* src/kwq/KWQValueListImpl.mm: (KWQValueListNodeImpl::KWQValueListNodeImpl),
16897	(KWQValueListNodeImpl::~KWQValueListNodeImpl),
16898	(KWQValueListIteratorImpl::KWQValueListIteratorImpl),
16899	(KWQValueListIteratorImpl::~KWQValueListIteratorImpl),
16900	(KWQValueListIteratorImpl::operator=), (KWQValueListIteratorImpl::operator==),
16901	(KWQValueListIteratorImpl::operator!=), (KWQValueListIteratorImpl::node),
16902	(KWQValueListIteratorImpl::operator++), (KWQValueListIteratorImpl::operator--),
16903	(KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate),
16904	(KWQValueListImpl::KWQValueListPrivate::~KWQValueListPrivate),
16905	(KWQValueListImpl::KWQValueListPrivate::copyList),
16906	(KWQValueListImpl::KWQValueListPrivate::deleteList),
16907	(KWQValueListImpl::KWQValueListImpl), (KWQValueListImpl::~KWQValueListImpl),
16908	(KWQValueListImpl::clear), (KWQValueListImpl::count),
16909	(KWQValueListImpl::isEmpty), (KWQValueListImpl::appendNode),
16910	(KWQValueListImpl::prependNode), (KWQValueListImpl::removeEqualNodes),
16911	(KWQValueListImpl::containsEqualNodes), (KWQValueListImpl::removeIterator),
16912	(KWQValueListImpl::fromLast), (KWQValueListImpl::firstNode),
16913	(KWQValueListImpl::lastNode), (KWQValueListImpl::begin), (KWQValueListImpl::end),
16914	(KWQValueListImpl::nodeAt), (KWQValueListImpl::operator=),
16915	(KWQValueListImpl::copyOnWrite):
16916	* src/kwq/Makefile.am:
16917
16918	* src/kwq/kio/netaccess.h: Don't declare private copy constructor
16919	- this class needs to be copyable to be stored in a QValueList!
16920
16921	Hack these scripts a bit so the large tables they generate are
16922	constant data.
16923	
16924	* src/kwq/make-charset-table.pl:
16925	* src/kdelibs/khtml/css/makeprop:
16926	* src/kdelibs/khtml/css/makevalues:
16927	* src/kdelibs/khtml/misc/makeattrs:
16928	* src/kdelibs/khtml/misc/maketags:
16929
169302002-02-23  Maciej Stachowiak  <mjs@apple.com>
16931
16932	* src/kwq/WCLoadProgress.h: Add the forgotten WCLoadProgress.h.
16933
169342002-02-22  Maciej Stachowiak  <mjs@apple.com>
16935
16936	Fix prebinding:
16937
16938	* src/Makefile.am: Enable prebinding, set first segment address to
16939	0x2200000 to avoid colliding with apps or our other
16940	frameworks. Change other link flags to support prebinding.
16941
16942	Set up some hacks to avoid link-time dependency on
16943	WebKit. Prebinding is incompatible with - undefined suppress, so
16944	we can't have WebCore depend on symbols provided by WebKit any
16945	more:
16946	
16947	* src/kwq/KWQKHTMLPart.h:
16948	* src/kwq/KWQKloader.mm: (WCSetIFLoadProgressMakeFunc), (-[URLLoadClient
16949	WCURLHandleResourceDidFinishLoading:data:userData:]), (-[URLLoadClient
16950	WCURLHandle:resourceDataDidBecomeAvailable:userData:]):
16951	* src/kwq/WCPluginWidget.h:
16952	* src/kwq/WCPluginWidget.mm: (WCSetIFPluginMakeFunc),
16953	(WCPluginWidget::WCPluginWidget):
16954
169552002-02-22  Richard Williamson  <rjw@apple.com>
16956
16957        Added data: to IFURLHandleResourceDidFinishLoading:
16958        
16959	* include/WCURLHandle.h:
16960	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16961	WCURLHandleResourceDidFinishLoading:data:userData:]):
16962	* src/kwq/KWQKloader.mm: (-[URLLoadClient
16963	WCURLHandleResourceDidFinishLoading:data:userData:]):
16964
169652002-02-22  Kenneth Kocienda  <kocienda@apple.com>
16966
16967	Sent handle an autorelease message.
16968
16969	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
16970	WCURLHandleResourceDidCancelLoading:userData:]), (-[KHTMLPartLoadClient
16971	WCURLHandleResourceDidFinishLoading:userData:]), (-[KHTMLPartLoadClient
16972	WCURLHandle:resourceDidFailLoadingWithResult:userData:]):
16973	* src/kwq/KWQKloader.mm: (-[URLLoadClient
16974	WCURLHandleResourceDidCancelLoading:userData:]), (-[URLLoadClient
16975	WCURLHandleResourceDidFinishLoading:userData:]), (-[URLLoadClient
16976	WCURLHandle:resourceDidFailLoadingWithResult:userData:]):
16977
169782002-02-21  Maciej Stachowiak  <mjs@apple.com>
16979
16980	* src/kwq/KWQString.mm: (QString::fill): Fix a bug that was
16981	triggering assertion failures in CF.
16982	
16983	* src/kdelibs/kjs/kjs-test: Turn off some environment variables to
16984	make the tests pass.
16985
169862002-02-21  Richard Williamson  <rjw@apple.com>
16987
16988    Stop mostly working.
16989    
16990	* src/kwq/KWQKjobclasses.mm:
16991	* src/kwq/KWQKloader.mm: (-[URLLoadClient
16992	WCURLHandleResourceDidCancelLoading:userData:]), (-[URLLoadClient
16993	WCURLHandleResourceDidFinishLoading:userData:]), (-[URLLoadClient
16994	WCURLHandle:resourceDidFailLoadingWithResult:userData:]),
16995	(Loader::servePendingRequests):
16996	* src/kwq/kio/jobclasses.h:
16997
169982002-02-21  Maciej Stachowiak  <mjs@apple.com>
16999
17000	* src/kwq/KWQString.mm: (QString::fromCFString): Don't pass a
17001	length to CFStringCreateMutableCopy, since that makes the string
17002	fixed-length, which makes assertions fail when in debugging mode.
17003
170042002-02-20  Richard Williamson  <rjw@apple.com>
17005
17006    Some groundwork to bring WebFoundation callbacks up to 
17007    WebKit.
17008    
17009	* src/kdelibs/khtml/misc/loader.h:
17010	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
17011	WCURLHandleResourceDidBeginLoading:userData:]), (-[KHTMLPartLoadClient
17012	WCURLHandleResourceDidCancelLoading:userData:]), (-[KHTMLPartLoadClient
17013	WCURLHandleResourceDidFinishLoading:userData:]), (-[KHTMLPartLoadClient
17014	WCURLHandle:resourceDataDidBecomeAvailable:userData:]), (-[KHTMLPartLoadClient
17015	WCURLHandle:resourceDidFailLoadingWithResult:userData:]), (KHTMLPart::openURL),
17016	(KHTMLPart::closeURL), (KHTMLPart::write), (KHTMLPart::checkCompleted):
17017	* src/kwq/KWQKloader.mm: (CachedCSSStyleSheet::CachedCSSStyleSheet),
17018	(CachedScript::CachedScript), (CachedImage::CachedImage), (-[URLLoadClient
17019	initWithLoader:dataSource:]), (-[URLLoadClient
17020	WCURLHandleResourceDidBeginLoading:userData:]), (-[URLLoadClient
17021	WCURLHandleResourceDidCancelLoading:userData:]), (-[URLLoadClient
17022	WCURLHandleResourceDidFinishLoading:userData:]), (-[URLLoadClient
17023	WCURLHandle:resourceDataDidBecomeAvailable:userData:]), (-[URLLoadClient
17024	WCURLHandle:resourceDidFailLoadingWithResult:userData:]), (Loader::load),
17025	(Loader::servePendingRequests), (Cache::requestImage),
17026	(Cache::requestStyleSheet), (Cache::requestScript):
17027	* src/kwq/kio/jobclasses.h:
17028
170292002-02-20  Maciej Stachowiak  <mjs@apple.com>
17030
17031	* src/kdelibs/kjs/kjs-test:
17032	* src/kwq/KWQKURL.mm: (KURL::setQuery):
17033
170342002-02-18  Kenneth Kocienda  <kocienda@apple.com>
17035
17036	* src/Makefile.am:
17037	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseMoveEvent):
17038	* src/kwq/KWQView.mm: (-[KWQHTMLView mouseUp:]), (-[KWQHTMLView mouseDown:]):
17039	* src/kwq/kde/_kurl.cpp: (KURL::htmlRef):
17040
170412002-02-18  Richard Williamson  <rjw@apple.com>
17042
17043        Fixed the prefences won't stay in front problem after John found 
17044        and correctly diagnosed the problem.
17045        
17046	* src/kwq/KWQWidget.mm: (QWidget::show), (QWidget::hide):
17047
170482002-02-18  Richard Williamson  <rjw@apple.com>
17049
17050        Performance measurement.
17051        
17052	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin), (KHTMLPart::write):
17053
170542002-02-16  Maciej Stachowiak  <mjs@apple.com>
17055
17056	Reimplement KURL in terms of CFURL (many workarounds needed to
17057	account for differing semantics).
17058
17059	* src/kwq/kdecore/kurl.h:
17060	* src/kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate),
17061	(KURL::KWQKURLPrivate::~KWQKURLPrivate), (KURL::KWQKURLPrivate::init),
17062	(KURL::KWQKURLPrivate::makeRef), (CFStringToQString), (escapeQString),
17063	(pathEndsWithSlash), (KWQCFURLCopyEscapedPath),
17064	(KURL::KWQKURLPrivate::decompose), (KURL::KWQKURLPrivate::compose), (KURL::KURL),
17065	(KURL::~KURL), (KURL::isEmpty), (KURL::isMalformed), (KURL::hasPath),
17066	(KURL::url), (KURL::protocol), (KURL::host), (KURL::port), (KURL::pass),
17067	(KURL::user), (KURL::ref), (KURL::query), (KURL::path), (KURL::setProtocol),
17068	(KURL::setHost), (KURL::setPort), (KURL::setRef), (KURL::setQuery),
17069	(KURL::setPath), (KURL::prettyURL), (KURL::operator=), (KURL::decode_string),
17070	(KURL::copyOnWrite):
17071	* src/kwq/Makefile.am: Add new file to build.
17072
17073	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::begin,
17074	KHTMLPart::submitForm): Don't 
17075
17076	Minor tweaks to make it all build:
17077
17078	* src/kwq/kde/_kurl.cpp:
17079	* src/kwq/qt/_qurl.cpp:
17080	* src/kwq/qt/_qurl.h:
17081
170822002-02-16  Richard Williamson  <rjw@apple.com>
17083
17084        Fixed problem with default text not showing up in text area.
17085        Fixed problem with scroll widgets not showing up in select list.
17086        
17087	* src/kdelibs/khtml/rendering/render_form.cpp: (RenderSelect::layout):
17088	* src/kwq/KWQListBox.mm: (QListBox::QListBox):
17089	* src/kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]), (-[KWQTextArea
17090	initWithFrame:widget:]), (-[KWQTextArea setFrame:]):
17091
170922002-02-15  Richard Williamson  <rjw@apple.com>
17093    
17094    Lots of changes to support forms.
17095
17096	* src/kdelibs/khtml/rendering/render_form.cpp: (RenderFormElement::slotClicked),
17097	(RenderCheckBox::performAction), (RenderRadioButton::slotClicked),
17098	(RenderSelect::RenderSelect), (RenderSelect::layout),
17099	(RenderSelect::performAction), (RenderTextArea::layout), (RenderTextArea::text),
17100	(RenderTextArea::performAction):
17101	* src/kdelibs/khtml/rendering/render_form.h:
17102	* src/kwq/KWQCheckBox.mm: (QCheckBox::QCheckBox), (QCheckBox::isChecked):
17103	* src/kwq/KWQComboBox.mm: (QComboBox::indexOfCurrentItem):
17104	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame):
17105	* src/kwq/KWQListBox.h:
17106	* src/kwq/KWQListBox.mm: (-[KWQBrowserDelegate initWithListBox:]),
17107	(-[KWQBrowserDelegate browser:numberOfRowsInColumn:]), (-[KWQBrowserDelegate
17108	browser:willDisplayCell:atRow:column:]), (-[KWQBrowserDelegate
17109	browserSingleClick:]), (-[KWQBrowserDelegate browserDoubleClick:]),
17110	(QListBox::QListBox), (QListBox::~QListBox), (QListBox::count),
17111	(QListBox::scrollBarWidth), (QListBox::clear), (QListBox::setSelectionMode),
17112	(QListBox::currentItem), (QListBox::insertItem), (QListBox::setSelected),
17113	(QListBox::isSelected), (QListBoxItem::QListBoxItem),
17114	(QListBoxItem::~QListBoxItem), (QListBoxItem::setSelectable),
17115	(QListBoxItem::width), (QListBoxItem::height):
17116	* src/kwq/KWQNSTextField.mm: (-[KWQNSTextField action:]), (-[KWQNSTextField
17117	controlTextDidEndEditing:]):
17118	* src/kwq/KWQScrollView.mm: (QScrollView::addChild):
17119	* src/kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]), (-[KWQTextArea
17120	_createTextView]), (-[KWQTextArea initWithFrame:widget:]), (-[KWQTextArea
17121	textDidEndEditing:]), (-[KWQTextArea setFrame:]):
17122	* src/kwq/KWQTextEdit.mm: (QMultiLineEdit::setCursorPosition),
17123	(QMultiLineEdit::getCursorPosition):
17124	* src/kwq/KWQView.mm: (-[KWQNSButton stateChanged:]), (-[KWQNSComboBox
17125	initWithFrame:widget:]), (-[KWQNSComboBox action:]):
17126	* src/kwq/KWQWidget.mm: (QWidget::endEditing):
17127	* src/kwq/qt/qcheckbox.h:
17128	* src/kwq/qt/qcombobox.h:
17129	* src/kwq/qt/qobject.h:
17130
171312002-02-13  Richard Williamson  <rjw@apple.com>
17132    
17133    Use NSSwitchButtons for check boxes.
17134
17135	* src/kwq/KWQCheckBox.mm: (QCheckBox::QCheckBox):
17136
171372002-02-13  Richard Williamson  <rjw@apple.com>
17138
17139    Removed dead code from setView.
17140    
17141	* src/kwq/KWQWidget.mm: (QWidget::setView):
17142
171432002-02-12  Richard Williamson  <rjw@apple.com>
17144
17145    Made basic forms work.
17146
17147	* src/kdelibs/khtml/rendering/render_form.cpp:
17148	(RenderFormElement::performAction), (RenderLineEdit::RenderLineEdit),
17149	(RenderLineEdit::performAction):
17150	* src/kdelibs/khtml/rendering/render_form.h:
17151	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17152	(KHTMLPart::submitForm):
17153	* src/kwq/KWQLineEdit.mm: (QLineEdit::text):
17154	* src/kwq/KWQNSTextField.mm: (-[KWQNSTextField initWithFrame:widget:]),
17155	(-[KWQNSTextField action:]), (-[KWQNSTextField controlTextDidEndEditing:]),
17156	(-[KWQNSTextField setMaximumLength:]), (-[KWQNSTextField maximumLength]):
17157	* src/kwq/KWQObject.mm: (QObject::emitAction), (QObject::performAction):
17158	* src/kwq/KWQWidget.mm: (QWidget::setView), (QWidget::endEditing):
17159	* src/kwq/kwqdebug.mm: (KWQGetLogLevel):
17160	* src/kwq/qt/qlineedit.h:
17161	* src/kwq/qt/qobject.h:
17162	* src/kwq/qt/qwidget.h:
17163
171642002-02-12  Maciej Stachowiak  <mjs@apple.com>
17165
17166	Make some tweaks to glue together KDE's and CF's concepts of URLs
17167	a bit better. In particular, CF thinks "file:/some/path" is an
17168	invalid URL, while KDE thinks this is the canonical form for a
17169	file URL.
17170
17171	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::closeURL),
17172	(KHTMLPart::checkCompleted):
17173	* src/kwq/KWQKjobclasses.mm:
17174
171752002-02-12  Maciej Stachowiak  <mjs@apple.com>
17176
17177	Reimplemented QList, QVector and QCollection from
17178	scratch. Implemented copy-on-write optimization for QMap.
17179
17180	Minimally reimplement QCollection.
17181
17182	* src/kwq/qt/qcollection.h:
17183	* src/kwq/KWQCollection.mm: (QCollection::QCollection), (QCollection::operator=),
17184	(QCollection::~QCollection), (QCollection::autoDelete),
17185	(QCollection::setAutoDelete):
17186
17187	* src/kwq/qt/qdict.h, src/kwq/qt/qptrdict.h: Include
17188	qcollection.h, not _qcollection.h
17189
17190	Reimplement QList as a doubly-linked list.
17191	
17192	* src/kwq/qt/qlist.h:
17193	* src/kwq/KWQListImpl.h:
17194	* src/kwq/KWQListImpl.mm: (KWQListImpl::KWQListPrivate::copyList),
17195	(KWQListImpl::KWQListPrivate::KWQListPrivate),
17196	(KWQListImpl::KWQListPrivate::~KWQListPrivate),
17197	(KWQListIteratorImpl::KWQListIteratorPrivate::KWQListIteratorPrivate),
17198	(KWQListImpl::KWQListImpl), (KWQListImpl::~KWQListImpl), (KWQListImpl::isEmpty),
17199	(KWQListImpl::count), (KWQListImpl::clear), (KWQListImpl::sort),
17200	(KWQListImpl::at), (KWQListImpl::insert), (KWQListImpl::remove),
17201	(KWQListImpl::removeFirst), (KWQListImpl::removeLast), (KWQListImpl::removeRef),
17202	(KWQListImpl::getLast), (KWQListImpl::current), (KWQListImpl::first),
17203	(KWQListImpl::last), (KWQListImpl::next), (KWQListImpl::prev),
17204	(KWQListImpl::take), (KWQListImpl::append), (KWQListImpl::prepend),
17205	(KWQListImpl::containsRef), (KWQListImpl::assign), (KWQListImpl::addIterator),
17206	(KWQListImpl::removeIterator), (KWQListIteratorImpl::KWQListIteratorImpl),
17207	(KWQListIteratorImpl::~KWQListIteratorImpl), (KWQListIteratorImpl::count),
17208	(KWQListIteratorImpl::toFirst), (KWQListIteratorImpl::toLast),
17209	(KWQListIteratorImpl::current), (KWQListIteratorImpl::operator--),
17210	(KWQListIteratorImpl::operator++), (KWQListIteratorImpl::operator=):
17211
17212	Reimplement QVector in terms of CFArray.
17213	
17214	* src/kwq/qt/qvector.h:
17215	* src/kwq/KWQVectorImpl.h:
17216	* src/kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate),
17217	(KWQVectorImpl::KWQVectorPrivate::~KWQVectorPrivate),
17218	(KWQVectorImpl::KWQVectorImpl), (KWQVectorImpl::~KWQVectorImpl),
17219	(KWQVectorImpl::clear), (KWQVectorImpl::isEmpty), (KWQVectorImpl::count),
17220	(KWQVectorImpl::size), (KWQVectorImpl::remove), (KWQVectorImpl::resize),
17221	(KWQVectorImpl::insert), (KWQVectorImpl::at), (KWQVectorImpl::assign),
17222	(KWQVectorImpl::KWQVectorImpl::swap):
17223
17224	Implemented copy-on-write optimization for QMap. This had the
17225	pleasant side effect of improving the separation between pointer
17226	manipulation and key/value manipulation.
17227
17228	* src/kwq/qt/qmap.h:
17229	* src/kwq/KWQMapImpl.h:
17230	* src/kwq/KWQMapImpl.mm: (KWQMapImpl::KWQMapPrivate::KWQMapPrivate),
17231	(KWQMapImpl::KWQMapPrivate::~KWQMapPrivate), (KWQMapImpl::KWQMapImpl),
17232	(KWQMapImpl::~KWQMapImpl), (KWQMapImpl::copyOnWrite), (KWQMapImpl::copyTree),
17233	(KWQMapImpl::rebalanceAfterInsert), (KWQMapImpl::rebalanceAfterRemove),
17234	(KWQMapImpl::findInternal), (KWQMapImpl::insertInternal),
17235	(KWQMapImpl::removeInternal), (KWQMapImpl::swap), (KWQMapImpl::countInternal),
17236	(KWQMapImpl::clearInternal), (KWQMapImpl::beginInternal),
17237	(KWQMapImpl::endInternal):
17238
17239	* src/kwq/Makefile.am: Add new files to build.
17240
17241	* src/kdelibs/khtml/rendering/render_text.cpp
17242	(TextSlaveArray::findFirstMatching): Fix two places where the KDE
17243	code was depending on implementation details of QVector.
17244
172452002-02-07  Richard Williamson  <rjw@apple.com>
17246
17247    More changes to IFLocationChangeHandler API.
17248
17249	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent):
17250
172512002-02-07  Richard Williamson  <rjw@apple.com>
17252
17253    Factored URL loading code out and moved to IFBaseWebController.
17254    
17255	* ChangeLog:
17256	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17257	(KHTMLPart::requestFrame):
17258
172592002-02-06  Richard Williamson  <rjw@apple.com>
17260
17261    Fixed allocation problems.
17262    
17263	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17264	(KHTMLPart::requestFrame):
17265
172662002-02-05  Richard Williamson  <rjw@apple.com>
17267
17268    Updated part to use 'official' controller APIs.
17269    
17270	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart),
17271	(KHTMLPart::khtmlMouseReleaseEvent), (KHTMLPart::requestFrame),
17272	(KHTMLPart::checkCompleted):
17273
172742002-02-05  Richard Williamson  <rjw@apple.com>
17275
17276    Changes to support dynamic scroll bars in frames/iframes.
17277
17278	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent):
17279	* src/kwq/KWQScrollView.mm: (QScrollView::addChild),
17280	(QScrollView::resizeContents), (QScrollView::updateContents),
17281	(QScrollView::repaintContents):
17282	* src/kwq/KWQWidget.mm: (QWidget::resize), (QWidget::move),
17283	(QWidget::internalSetGeometry):
17284
172852002-02-05  Kenneth Kocienda  <kocienda@apple.com>
17286
17287	Changes to move these last bits of code to the new cache API.
17288
17289	* src/kwq/KWQKjobclasses.mm:
17290	* src/kwq/WKPluginView.h:
17291	* src/kwq/WKPluginView.mm: (-[WKPluginView drawRect:]), (-[WKPluginView
17292	WCURLHandleResourceDidBeginLoading:userData:]), (-[WKPluginView
17293	WCURLHandleResourceDidCancelLoading:userData:]), (-[WKPluginView
17294	WCURLHandleResourceDidFinishLoading:userData:]), (-[WKPluginView
17295	WCURLHandle:resourceDataDidBecomeAvailable:userData:]), (-[WKPluginView
17296	WCURLHandle:resourceDidFailLoadingWithResult:userData:]):
17297
172982002-02-04  Maciej Stachowiak  <mjs@apple.com>
17299
17300	Fix everything for WK --> IF rename.
17301
17302	* src/kwq/KWQKHTMLPart.h:
17303	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent),
17304	(KHTMLPart::requestFrame), (KHTMLPart::checkCompleted):
17305
173062002-02-01  Kenneth Kocienda  <kocienda@apple.com>
17307
17308	More cleanups to the no-copy NSData API.
17309	This time the callback from the cache/loader has been
17310	simplified from:
17311	- (void)WKURLHandle:(WKURLHandle *)sender resourceDataDidBecomeAvailable:(UInt8 *)bytes offset:(unsigned)offset length:(unsigned)length;
17312	to:
17313	- (void)WKURLHandle:(WKURLHandle *)sender resourceDataDidBecomeAvailable:(NSData *)data;
17314	This was made possible by some rearrangement in the private API.
17315
17316	* include/WCURLHandle.h:
17317	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
17318	WCURLHandle:resourceDataDidBecomeAvailable:userData:]):
17319	* src/kwq/KWQKloader.mm: (-[URLLoadClient
17320	WCURLHandle:resourceDataDidBecomeAvailable:userData:]):
17321
173222002-02-01  Richard Williamson  <rjw@apple.com>
17323
17324    Added support for dynamic scrolling frames.  Also added first callback for
17325    WKLocationChangeHandler.
17326    
17327	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::end), (KHTMLPart::khtmlMouseReleaseEvent),
17328	(KHTMLPart::checkCompleted):
17329
173302002-02-01  Kenneth Kocienda  <kocienda@apple.com>
17331
17332        Made some cleanups to the no-copy NSData API, and those changes
17333        make the use of the no-copy functionality in this client code
17334        much cleaner.
17335        
17336	* include/WCURLHandle.h:
17337	* src/kwq/KWQKloader.mm: (-[URLLoadClient
17338	WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]):
17339
173402002-01-31  Richard Williamson  <rjw@apple.com>
17341
17342    Added QString constructor, fixed javascript at head of document bug.
17343    
17344	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::closeURL),
17345	(KHTMLPart::write):
17346	* src/kwq/KWQString.mm: (QString::QString):
17347	* src/kwq/qt/qstring.h:
17348
173492002-01-31  Richard Williamson  <rjw@apple.com>
17350
17351	* src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLStyleElementImpl::detach):
17352	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::write):
17353
173542002-01-31  Kenneth Kocienda  <kocienda@apple.com>
17355
17356        Changes to incorporate use of the no-copy NSData object.
17357
17358	* include/WCURLHandle.h:
17359	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient
17360	WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]):
17361	* src/kwq/KWQKloader.mm: (-[URLLoadClient
17362	WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]):
17363
173642002-01-30  Richard Williamson  <rjw@apple.com>
17365    
17366    Cleaned up frame code a bit.  Fixed duplicate content problem.
17367
17368	* src/kdelibs/khtml/html/html_headimpl.cpp: (HTMLLinkElementImpl::detach):
17369	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::layout):
17370	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart), (KHTMLPart::openURL),
17371	(KHTMLPart::requestFrame):
17372
173732002-01-30  Kenneth Kocienda  <kocienda@apple.com>
17374
17375        Added *.lo, *.la, and .libs to .cvsignore files
17376        
17377	* .cvsignore:
17378	* src/.cvsignore:
17379	* src/kdelibs/khtml/css/.cvsignore:
17380	* src/kdelibs/khtml/misc/.cvsignore:
17381	* src/kdelibs/kjs/.cvsignore:
17382
173832002-01-29  Richard Williamson  <rjw@apple.com>
17384
17385    Fixed QConstString to make a copy on initial chars.
17386    
17387	* ChangeLog:
17388	* src/kwq/KWQString.mm: (QString::_copyIfNeededInternalString),
17389	(QString::insert), (QString::remove), (QString::replace), (QString::truncate),
17390	(QConstString::QConstString):
17391	* src/kwq/qt/qstring.h:
17392
173932002-01-29  Richard Williamson  <rjw@apple.com>
17394
17395	* src/kwq/KWQString.mm: (QString::_copyIfNeededInternalString),
17396	(QString::insert), (QString::remove), (QString::replace), (QString::truncate),
17397	(QConstString::QConstString):
17398	* src/kwq/qt/qstring.h:
17399
174002002-01-29  Kenneth Kocienda  <kocienda@apple.com>
17401
17402        - Added in a dummy protocol to clean up a warning that results
17403        from calling a method on an id.
17404        - Cleaned up handle variable in KWQKHTMLPart. This can now be freed
17405        once we get a proper notification that a load is done.
17406        - Support for reading text encoding from HTTP headers added back in.
17407        
17408	* include/WCURLHandle.h:
17409	* src/kwq/KWQKHTMLPart.mm: (encodingFromContentType), (KHTMLPart::slotData),
17410	(KHTMLPart::openURL), (KHTMLPart::closeURL):
17411
174122002-01-29  Richard Williamson  <rjw@apple.com>
17413
17414    First pass as frame code.  Still needs cleanup.
17415    
17416	* src/kdelibs/khtml/dom/dom_misc.cpp: (DomShared::ref), (DomShared::deref):
17417	* src/kdelibs/khtml/dom/dom_misc.h:
17418	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::~KHTMLView):
17419	* src/kwq/KWQComboBox.mm: (QComboBox::setCurrentItem):
17420	* src/kwq/KWQKHTMLPart.h:
17421	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart), (KHTMLPart::begin),
17422	(KHTMLPart::end), (KHTMLPart::xmlDocImpl), (KHTMLPart::khtmlMouseReleaseEvent),
17423	(KHTMLPart::requestFrameName), (KHTMLPart::requestFrame),
17424	(KHTMLPart::requestObject), (KHTMLPart::checkCompleted):
17425
174262002-01-29  Kenneth Kocienda  <kocienda@apple.com>
17427
17428        Checked in the missing file
17429        
17430	* include/WCURLHandle.h:
17431
174322002-01-29  Kenneth Kocienda  <kocienda@apple.com>
17433
17434        Changed over to the new cache loader in WebFoundation
17435        
17436	* src/kwq/KWQKHTMLPart.h:
17437	* src/kwq/KWQKHTMLPart.mm: (-[KHTMLPartLoadClient init]), (-[KHTMLPartLoadClient
17438	WCURLHandleResourceDidBeginLoading:userData:]), (-[KHTMLPartLoadClient
17439	WCURLHandleResourceDidCancelLoading:userData:]), (-[KHTMLPartLoadClient
17440	WCURLHandleResourceDidFinishLoading:userData:]), (-[KHTMLPartLoadClient
17441	WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]),
17442	(-[KHTMLPartLoadClient WCURLHandle:resourceDidFailLoadingWithResult:userData:]),
17443	(-[KHTMLPartLoadClient dealloc]), (KHTMLPart::slotData), (KHTMLPart::openURL):
17444	* src/kwq/KWQKjobclasses.mm:
17445	* src/kwq/KWQKloader.mm: (-[URLLoadClient initWithLoader:]), (-[URLLoadClient
17446	WCURLHandleResourceDidBeginLoading:userData:]), (-[URLLoadClient
17447	WCURLHandleResourceDidCancelLoading:userData:]), (-[URLLoadClient
17448	WCURLHandleResourceDidFinishLoading:userData:]), (-[URLLoadClient
17449	WCURLHandle:resourceDataDidBecomeAvailable:offset:length:userData:]),
17450	(-[URLLoadClient WCURLHandle:resourceDidFailLoadingWithResult:userData:]),
17451	(-[URLLoadClient dealloc]):
17452	* src/kwq/kio/jobclasses.h:
17453
174542002-01-29  Maciej Stachowiak  <mjs@apple.com>
17455
17456	Reimplement QDict, QMap, QPtrDict and QSortedList.
17457
17458	Reimplement QDict in terms of CFDictionary:
17459	
17460	* src/kwq/qt/qdict.h:
17461	* src/kwq/KWQDictImpl.h:
17462	* src/kwq/KWQDictImpl.mm: (KWQDictImpl::KWQDictImpl), (KWQDictImpl::insert),
17463	(KWQDictImpl::remove), (KWQDictImpl::find),
17464	(KWQDictIteratorImpl::KWQDictIteratorImpl),
17465	(KWQDictIteratorImpl::currentStringKey):
17466
17467	Reimplement QMap as a right-threaded red-black tree, splitting
17468	the work between template classes that manipulate keys and values
17469	and non-template base classes that handle all the pointer
17470	manipulation:
17471	
17472	* src/kwq/qt/qmap.h:
17473	* src/kwq/KWQMapImpl.h:
17474	* src/kwq/KWQMapImpl.mm: (KWQMapNodeImpl::KWQMapNodeImpl),
17475	(KWQMapNodeImpl::left), (KWQMapNodeImpl::right), (KWQMapNodeImpl::predecessor),
17476	(KWQMapNodeImpl::successor), (KWQMapIteratorImpl::KWQMapIteratorImpl),
17477	(KWQMapIteratorImpl::incrementInternal), (KWQMapImpl::KWQMapImpl),
17478	(KWQMapImpl::rotateRight), (KWQMapImpl::rotateLeft),
17479	(KWQMapImpl::rebalanceAfterInsert), (KWQMapImpl::rebalanceAfterRemove),
17480	(KWQMapImpl::findInternal), (KWQMapImpl::insertInternal),
17481	(KWQMapImpl::removeInternal), (KWQMapImpl::swap), (KWQMapImpl::countInternal),
17482	(KWQMapImpl::clearInternal), (KWQMapImpl::beginInternal),
17483	(KWQMapImpl::endInternal):
17484
17485	Reimplement QPtrDict in terms of CFDictionary:
17486
17487	* src/kwq/qt/qptrdict.h:
17488	* src/kwq/KWQPtrDictImpl.h:
17489	* src/kwq/KWQPtrDictImpl.mm:
17490	(KWQPtrDictImpl::KWQPtrDictPrivate::KWQPtrDictPrivate),
17491	(KWQPtrDictImpl::KWQPtrDictPrivate::~KWQPtrDictPrivate),
17492	(KWQPtrDictImpl::KWQPtrDictImpl), (KWQPtrDictImpl::~KWQPtrDictImpl),
17493	(invokeDeleteFuncOnValue), (KWQPtrDictImpl::clear), (KWQPtrDictImpl::count),
17494	(KWQPtrDictImpl::insert), (KWQPtrDictImpl::remove), (KWQPtrDictImpl::find),
17495	(KWQPtrDictImpl::swap), (KWQPtrDictImpl::assign), (KWQPtrDictImpl::take),
17496	(KWQPtrDictIteratorImpl::KWQPtrDictIteratorPrivate::KWQPtrDictIteratorPrivate),
17497	(KWQPtrDictIteratorImpl::KWQPtrDictIteratorPrivate::~KWQPtrDictIteratorPrivate),
17498	(KWQPtrDictIteratorImpl::KWQPtrDictIteratorImpl),
17499	(KWQPtrDictIteratorImpl::~KWQPtrDictIteratorImpl),
17500	(KWQPtrDictIteratorImpl::count), (KWQPtrDictIteratorImpl::current),
17501	(KWQPtrDictIteratorImpl::currentKey), (KWQPtrDictIteratorImpl::toFirst),
17502	(KWQPtrDictIteratorImpl::operator++):
17503
17504	Reimplement QSortedList:
17505	
17506	* src/kwq/qt/qsortedlist.h:
17507
17508	* src/kwq/KWQArrayImpl.mm: Remove stray include.
17509
17510	* src/kwq/Makefile.am: Add new files to build.
17511
17512	* src/kwq/qt/_qdict.h, src/kwq/qt/_qgdict.h,
17513	src/kwq/qt/_qptrdict.h: Avoid causing problems when the relevant
17514	defines are not defined.
17515
175162002-01-22  Richard Williamson  <rjw@apple.com>
17517
17518    Implemented KWQDesktopWidget to represent main screen.  Used by javascript.
17519    
17520	* src/kwq/KWQApplication.mm: (KWQDesktopWidget::width),
17521	(KWQDesktopWidget::height), (QApplication::desktop):
17522
175232002-01-21  Maciej Stachowiak  <mjs@apple.com>
17524
17525	Reimplemented QArray, QBuffer, QStack and QStringList; also fixed
17526	some files for borrowed switchability, and fixed some bugs found
17527	by my new test cases.
17528
17529	# Reimplement QArray:
17530
17531	* src/kwq/qt/qarray.h:
17532	* src/kwq/KWQArrayImpl.h:
17533	* src/kwq/KWQArrayImpl.mm: (KWQArrayImpl::KWQArrayPrivate::KWQArrayPrivate),
17534	(KWQArrayImpl::KWQArrayPrivate::~KWQArrayPrivate), (KWQArrayImpl::KWQArrayImpl),
17535	(KWQArrayImpl::~KWQArrayImpl), (KWQArrayImpl::operator=), (KWQArrayImpl::at),
17536	(KWQArrayImpl::data), (KWQArrayImpl::size), (KWQArrayImpl::resize),
17537	(KWQArrayImpl::duplicate), (KWQArrayImpl::fill), (KWQArrayImpl::operator==):
17538
17539	# Reimplement QBuffer:
17540
17541	* src/kwq/qt/qbuffer.h:
17542	* src/kwq/KWQBuffer.mm: (QBuffer::QBuffer), (QBuffer::~QBuffer),
17543	(QBuffer::buffer), (QBuffer::size), (QBuffer::isOpen), (QBuffer::open),
17544	(QBuffer::close), (QBuffer::writeBlock):
17545	* src/kwq/qt/qiodevice.h:
17546
17547	# Reimplement QStringList:
17548
17549	* src/kwq/KWQStringList.mm: (QStringToCFString), (QStringList::split),
17550	(QStringList::QStringList), (QStringList::~QStringList), (QStringList::join),
17551	(QStringList::operator=):
17552
17553	# Reimplement QStack:
17554	* src/kwq/qt/qstack.h:
17555
17556	* src/kwq/Makefile.am: Add new files to build.
17557
17558	* src/kwq/KWQString.mm: (QString::find): Fix bug which returned
17559	the very first occurence in the string even when the optional
17560	starting point was passed in. Some of my new regression tests
17561	picked this up.
17562
17563	# Temporarily work around uses of non-kwq APIs:
17564	
17565	* src/kwq/WKPluginWidget.h:
17566	* src/kwq/qt/_qfile.cpp
17567	* src/kwq/qt/_qbuffer.cpp
17568	
17569	# Guard contents of all these with the appropriate USING ifdef:
17570	
17571	* src/kwq/KWQStrList.h:
17572	* src/kwq/qt/_qarray.h:
17573	* src/kwq/qt/_qgarray.h:
17574	* src/kwq/qt/_qstrlist.h:
17575	
175762002-01-19  Maciej Stachowiak  <mjs@apple.com>
17577
17578	* src/kdelibs/kjs/Makefile.am: Fix testkjs build.
17579
17580	Fix a couple more static initialization problems:
17581	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::urlCursor):
17582	* src/kwq/KWQRegion.mm: (QRegion::QRegion), (QRegion::operator=):
17583
17584	* src/.cvsignore, src/kdelibs/.cvsignore,
17585	src/kdelibs/khtml/css/.cvsignore,
17586	src/kdelibs/khtml/misc/.cvsignore, src/kdelibs/kjs/.cvsignore:
17587	Ignore stamp files.
17588
175892002-01-18  Richard Williamson  <rjw@apple.com>
17590
17591    First pass at new view/datasource/controller API.
17592
17593	* src/kwq/KWQApplication.mm: (QApplication::QApplication),
17594	(QApplication::setMainWidget), (QApplication::exec):
17595	* src/kwq/KWQRegion.mm: (QRegion::QRegion), (QRegion::~QRegion),
17596	(QRegion::contains), (QRegion::isNull):
17597	* src/kwq/Makefile.am:
17598	* src/kwq/_KWQOwner.h:
17599	* src/kwq/_KWQOwner.m:
17600	* src/kwq/qt/qnamespace.h:
17601
176022002-01-18  Maciej Stachowiak  <mjs@apple.com>
17603
17604	Avoid static initialization of objects as much as possible. Order
17605	of static initializers is unpredictable and we had some
17606	cross-dependencies, so avoid this practice as much as possible to
17607	fix various startup crashes.
17608
17609	* src/kwq/KWQApplication.mm: (QApplication::palette),
17610	(QApplication::globalStrut):
17611	* src/kwq/KWQChar.mm:
17612	* src/kwq/KWQColor.mm:
17613	* src/kwq/KWQCursor.mm: (QCursor::QCursor), (QCursor::~QCursor):
17614	* src/kwq/KWQEvent.mm:
17615	* src/kwq/KWQKConfigBase.mm: (KConfigBase::readEntry),
17616	(KConfigBase::readColorEntry), (KConfigBase::readListEntry):
17617	* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::encoding):
17618	* src/kwq/KWQKJavaEmbed.mm: (KJavaEmbed::sizeHint),
17619	(KJavaEmbed::minimumSizeHint):
17620	* src/kwq/KWQKLocale.mm: (KLocale::language):
17621	* src/kwq/KWQKMimeType.mm: (KMimeType::findByURL), (KMimeType::name):
17622	* src/kwq/KWQKPrinter.mm: (KPrinter::margins):
17623	* src/kwq/KWQKProtocolManager.mm: (KProtocolManager::httpProxy):
17624	* src/kwq/KWQKWinModule.mm: (KWinModule::workArea):
17625	* src/kwq/KWQKjobclasses.mm:
17626	* src/kwq/KWQKnetaccess.mm:
17627	* src/kwq/KWQPart.mm: (KParts::Part::widget), (KParts::ReadOnlyPart::url):
17628	* src/kwq/KWQPixmap.mm: (QPixmap::mask):
17629	* src/kwq/KWQToolTip.mm: (QToolTip::palette):
17630	* src/kwq/kde/_kurl.cpp:
17631	* src/kwq/kdecore/kurl.h:
17632
176332002-01-17  Maciej Stachowiak  <mjs@apple.com>
17634
17635	Fix a couple of problems that kept `make -j3' from working from a
17636	clean start (use stamp files to serialize build a bit more where
17637	needed)
17638
17639	* src/Makefile.am:
17640	* src/kdelibs/khtml/css/Makefile.am:
17641	* src/kdelibs/khtml/misc/Makefile.am:
17642	* src/kdelibs/kjs/Makefile.am:
17643
176442002-01-17  Maciej Stachowiak  <mjs@apple.com>
17645
17646	* src/kwq/Makefile.am: Fix another bonehead mistake.
17647
176482002-01-17  Maciej Stachowiak  <mjs@apple.com>
17649
17650	Fix bonehead mistakes in last checkin which were killing Jersey.
17651
17652	* src/kdelibs/khtml/ecma/Makefile.am:
17653	* src/kdelibs/khtml/html/Makefile.am:
17654	* src/kdelibs/khtml/rendering/Makefile.am:
17655	* src/kwq/kde/Makefile.am:
17656
176572002-01-17  Maciej Stachowiak  <mjs@apple.com>
17658
17659	More build system speedups; instead of building static libraries
17660	in each directory, build relocatble object files, using the magic
17661	of incremental linking.
17662
17663	* src/Makefile.am:
17664	* src/kdelibs/khtml/Makefile.am:
17665	* src/kdelibs/khtml/css/Makefile.am:
17666	* src/kdelibs/khtml/dom/Makefile.am:
17667	* src/kdelibs/khtml/ecma/Makefile.am:
17668	* src/kdelibs/khtml/html/Makefile.am:
17669	* src/kdelibs/khtml/java/Makefile.am:
17670	* src/kdelibs/khtml/misc/Makefile.am:
17671	* src/kdelibs/khtml/rendering/Makefile.am:
17672	* src/kdelibs/khtml/xml/Makefile.am:
17673	* src/kdelibs/kjs/Makefile.am:
17674	* src/kwq/Makefile.am:
17675	* src/kwq/kde/Makefile.am:
17676	* src/kwq/qt/Makefile.am:
17677
176782002-01-17  Maciej Stachowiak  <mjs@apple.com>
17679
17680	Build speedups: Don't use libtool, and don't link static libraries
17681	into each other.
17682	
17683	* src/Makefile.am
17684	* src/kdelibs/khtml/Makefile.am:
17685	* src/kdelibs/khtml/css/Makefile.am:
17686	* src/kdelibs/khtml/dom/Makefile.am:
17687	* src/kdelibs/khtml/ecma/Makefile.am:
17688	* src/kdelibs/khtml/html/Makefile.am:
17689	* src/kdelibs/khtml/java/Makefile.am:
17690	* src/kdelibs/khtml/misc/Makefile.am:
17691	* src/kdelibs/khtml/rendering/Makefile.am:
17692	* src/kdelibs/khtml/xml/Makefile.am:
17693	* src/kdelibs/kjs/Makefile.am:
17694	* src/kwq/Makefile.am:
17695	* src/kwq/kde/Makefile.am:
17696	* src/kwq/qt/Makefile.am:
17697
176982002-01-16  Maciej Stachowiak  <mjs@apple.com>
17699
17700	* src/kwq/qt/_qpoint.h, src/kwq/qt/_qrect.h, src/kwq/qt/_qsize.h,
17701	src/kwq/qt/qpoint.h, src/kwq/qt/qrect.h, src/kwq/qt/qsize.h: Make
17702	QPoint, QRect and QSize easily turn-off-able again.
17703
177042002-01-15  Maciej Stachowiak  <mjs@apple.com>
17705
17706	* src/kdelibs/kjs/Makefile.am: Add missing files to BUILT_SOURCES
17707	and build rules to fix `make -j3'
17708
177092002-01-14  Maciej Stachowiak  <mjs@apple.com>
17710
17711	* .cvsignore:
17712	* Makefile.am:
17713	* Makefile.in:
17714	* include/.cvsignore:
17715	* include/Makefile.am:
17716	* include/private/.cvsignore:
17717	* include/private/Makefile.am:
17718	* lib/.cvsignore:
17719	* lib/Makefile.in:
17720	* src/.cvsignore:
17721	* src/Makefile.am:
17722	* src/kdelibs/.cvsignore:
17723	* src/kdelibs/Makefile.am:
17724	* src/kdelibs/kdecore/.cvsignore:
17725	* src/kdelibs/kdecore/Makefile.am:
17726	* src/kdelibs/kdecore/Makefile.in:
17727	* src/kdelibs/khtml/.cvsignore:
17728	* src/kdelibs/khtml/Makefile.am:
17729	* src/kdelibs/khtml/Makefile.in:
17730	* src/kdelibs/khtml/css/.cvsignore:
17731	* src/kdelibs/khtml/css/Makefile.am:
17732	* src/kdelibs/khtml/css/Makefile.in:
17733	* src/kdelibs/khtml/dom/.cvsignore:
17734	* src/kdelibs/khtml/dom/Makefile.am:
17735	* src/kdelibs/khtml/dom/Makefile.in:
17736	* src/kdelibs/khtml/ecma/.cvsignore:
17737	* src/kdelibs/khtml/ecma/Makefile.am:
17738	* src/kdelibs/khtml/ecma/Makefile.in:
17739	* src/kdelibs/khtml/html/.cvsignore:
17740	* src/kdelibs/khtml/html/Makefile.am:
17741	* src/kdelibs/khtml/html/Makefile.in:
17742	* src/kdelibs/khtml/java/.cvsignore:
17743	* src/kdelibs/khtml/java/ChangeLog:
17744	* src/kdelibs/khtml/java/Makefile.am:
17745	* src/kdelibs/khtml/java/Makefile.in:
17746	* src/kdelibs/khtml/java/tests/Makefile.am:
17747	* src/kdelibs/khtml/misc/.cvsignore:
17748	* src/kdelibs/khtml/misc/Makefile.am:
17749	* src/kdelibs/khtml/misc/Makefile.in:
17750	* src/kdelibs/khtml/pics/Makefile.am:
17751	* src/kdelibs/khtml/rendering/.cvsignore:
17752	* src/kdelibs/khtml/rendering/Makefile.am:
17753	* src/kdelibs/khtml/rendering/Makefile.in:
17754	* src/kdelibs/khtml/xml/.cvsignore:
17755	* src/kdelibs/khtml/xml/Makefile.am:
17756	* src/kdelibs/khtml/xml/Makefile.in:
17757	* src/kdelibs/kjs/.cvsignore:
17758	* src/kdelibs/kjs/ChangeLog:
17759	* src/kdelibs/kjs/Makefile.am:
17760	* src/kdelibs/kjs/Makefile.in:
17761	* src/kdelibs/kjs/kjs-test:
17762	* src/kdelibs/kjs/kjs-test.chk:
17763	* src/kwq/.cvsignore:
17764	* src/kwq/Makefile.am:
17765	* src/kwq/Makefile.in:
17766	* src/kwq/_KWQOwner.m: (-[_KWQOwner backForwardUriDone:]):
17767	* src/kwq/kde/.cvsignore:
17768	* src/kwq/kde/Makefile.am:
17769	* src/kwq/kde/Makefile.in:
17770	* src/kwq/kdecore/.cvsignore:
17771	* src/kwq/kdecore/Makefile.in:
17772	* src/kwq/khtml/khtml_factory.h:
17773	* src/kwq/qt/.cvsignore:
17774	* src/kwq/qt/Makefile.am:
17775	* src/kwq/qt/Makefile.in:
17776
177772002-01-09  Richard Williamson  <rjw@apple.com>
17778
17779        Re-implemented underlining.  Now it REALLY works, honest.
17780        
17781	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
17782	* src/kwq/KWQFontMetrics.mm: (+[KWQLayoutInfo
17783	drawUnderlineForString:atPoint:withFont:color:]):
17784	* src/kwq/KWQMetrics.h:
17785	* src/kwq/KWQPainter.mm: (QPainter::drawUnderlineForText):
17786	* src/kwq/qt/qpainter.h:
17787
177882001-12-20  Richard Williamson  <rjw@apple.com>
17789        
17790        More tweaks to text layout and underlining.
17791
17792	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
17793	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::baselineOffset),
17794	(QFontMetrics::ascent), (QFontMetrics::descent), (QFontMetrics::height),
17795	(QFontMetrics::width):
17796	* src/kwq/KWQPainter.mm: (QPainter::drawText):
17797	* src/kwq/qt/qfontmetrics.h:
17798
177992001-12-18  Maciej Stachowiak  <mjs@apple.com>
17800
17801	* src/kwq/KWQCString.mm: (QCString::QCString),
17802	(QCString::isEmpty), (QCString::isNull), (QCString::length): Fix
17803	some bugs found by the test suite in the emptiness/null semantics.
17804
17805	Reimplement QPoint, QSize and QRect:
17806
17807	* src/kwq/qt/qpoint.h, src/kwq/qt/qrect.h, src/kwq/qt/qsize.h:
17808	Update.
17809	* src/kwq/KWQPoint.mm: (QPoint::QPoint), (QPoint::x), (QPoint::y),
17810	(QPoint::manhattanLength), (operator+), (operator-), (operator<<):
17811	Fresh implementations.
17812	* src/kwq/KWQRect.mm: (QRect::QRect), (QRect::isNull), (QRect::isValid),
17813	(QRect::x), (QRect::y), (QRect::left), (QRect::top), (QRect::right),
17814	(QRect::bottom), (QRect::width), (QRect::height), (QRect::topLeft),
17815	(QRect::size), (QRect::setWidth), (QRect::setHeight), (QRect::intersect),
17816	(QRect::intersects), (QRect::operator&), (operator==), (operator!=),
17817	(operator<<): Likewise.
17818	* src/kwq/KWQSize.mm: (QSize::QSize), (QSize::isValid), (QSize::width),
17819	(QSize::height), (QSize::setWidth), (QSize::setHeight), (QSize::expandedTo),
17820	(operator+), (operator==), (operator!=), (operator<<): Likewise.
17821	* src/kwq/qt/_qpoint.cpp, src/kwq/qt/_qrect.cpp,
17822	src/kwq/qt/_qsize.cpp: Disable the whole file contents when
17823	building.
17824	* src/kwq/Makefile.in: Add new files to build.
17825	
17826	Start moving away from QShared so we can remove it:
17827
17828	* src/kwq/qt/qbrush.h, src/kwq/KWQBrush.mm: (QBrush::QBrush),
17829	(QBrush::color),
17830	(QBrush::setColor), (QBrush::style), (QBrush::setStyle),
17831	(QBrush::operator==), (QBrush::operator!=): Don't use shared data
17832	for this simple value object, the optimization value is
17833	quastionable anyway.
17834	* src/kwq/qt/qpen.h, src/kwq/KWQPen.mm: (QPen::QPen),
17835	(QPen::color), (QPen::width), (QPen::style),
17836	(QPen::setColor), (QPen::setWidth), (QPen::setStyle),
17837	(QPen::operator==): Likewise.
17838	* src/kwq/KWQPainter.mm: (QPainter::setPen), (QPainter::setBrush):
17839	Update for changes to pen.
17840	* src/kwq/KWQRefPtr.h: New reference-counted pointer template.
17841	* src/kwq/qt/qguardedptr.h, src/kwq/KWQGuardedPtr.mm:
17842	(QGuardedPtrPrivate::QGuardedPtrPrivate): Use KWQRefPtr instead of
17843	QShared.
17844	* src/kwq/qt/qvariant.h, src/kwq/KWQVariant.mm:
17845	(QVariant::QVariant), (QVariant::~QVariant),
17846	(QVariant::operator=): Use KWQRefPtr instead of
17847	QShared.
17848	* src/kwq/qt/qnamespace.h: Remove private constructor and
17849	destructor since people want to subclass this.
17850
17851	* src/kwq/_KWQOwner.h: Add include guards and standard license.
17852
17853	* src/kdelibs/khtml/ecma/kjs_binding.h: Add include of qvariant.h,
17854	how could stuff ever compile without this?
17855
178562001-12-18  Richard Williamson  <rjw@apple.com>
17857
17858        Finally fixed underlining.
17859        
17860	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
17861	* src/kwq/KWQFontMetrics.mm:
17862
178632001-12-18  Maciej Stachowiak  <mjs@apple.com>
17864
17865	* src/kwq/Makefile.in: Re-apply my changes, which accidentally got
17866	clobbered.
17867
178682001-12-13  Maciej Stachowiak  <mjs@apple.com>
17869
17870	Changes for international character set support. Still needs work,
17871	but no worse than before. amazon.co.jp renders almost correctly.
17872	
17873	* src/kwq/KWQCharsets.h, src/kwq/KWQCharsets.mm:
17874	(KWQCFStringEncodingFromIANACharsetName,
17875	KWQCFStringEncodingFromMIB, KWQCFStringEncodingToIANACharsetName,
17876	KWQCFStringEncodingToMIB): New functions that translate between
17877	the Qt concept of charaxcter sets and the
17878	(buildDictionaries): static helper function for the above.
17879	* src/kwq/KWQtextcodec.mm: (codecForCFStringEncoding,
17880	QTextCodec::codecForMib), QTextCodec::codecForName,
17881	QTextCodec::codecForLocale, QTextCodec::name,QTextCodec::mibEnum):
17882	Implement for real.
17883	* src/kwq/KWQKCharsets.mm: (KCharsets::codecForName,
17884	KCharsets::charsetForEncoding, KCharsets::charsetForEncoding):
17885	Implement for real.
17886	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::slotData): Get encoding
17887	from headers if present.
17888	(encodingFromContentType): Helper function for the above. 
17889	(KHTMLPart::begin): Reinitialize decoder for every page.
17890	(KHTMLPart::write): Minor bug fix.
17891	(KHTMLPart::setEncoding): Implement.
17892	(KHTMLPart::khtmlMouseMoveEvent,
17893	KHTMLPart::khtmlMouseReleaseEvent, KHTMLPart::checkCompleted):
17894	Simplify ifdefs to make prepare-ChangeLog happy.
17895	* src/kwq/qt/qstring.h, src/kwq/KWQString.mm:
17896	(QString::fromCFString): New convenience method to create a
17897	QString from an immutable CFString by copying,
17898	* src/kwq/character-sets.txt: IANA document describing character
17899	sets.
17900	* src/kwq/make-charset-table.pl, src/kwq/make-mac-encodings.c:
17901	Helper programs to construct charset tables from IANA document.
17902	* src/kwq/Makefile.in: Update to handle the autogenerated code.
17903	* src/kwq/.cvsignore: Ignore new autogenerated files.
17904	
17905	* src/kdelibs/khtml/misc/decoder.cpp: (Decoder::decode): Fix
17906	decoding when the encoding is specified in the http headers (which
17907	seems like it could never have worked in KDE).
17908
17909	* include/WCBackForwardList.h, include/WCURICache.h,
17910	include/WCURICacheData.h, include/WCURIEntry.h: Fix prototypes of
17911	C functions with no arguments to use (void), not (), to avoid
17912	warnings in WebKit.
17913
179142001-12-11  Chris Blumenberg  <cblu@apple.com>
17915
17916	* ChangeLog:
17917	* src/kwq/KWQKHTMLPart.mm:
17918
179192001-12-11  Chris Blumenberg  <cblu@apple.com>
17920
17921	* src/kwq/KWQKHTMLPart.mm:
17922
179232001-12-10  Kenneth Kocienda  <kocienda@apple.com>
17924
17925        Went back and did a better job of cleaning up the warnings
17926        that resulted from comparing signed and unsigned numbers.
17927
17928	* src/kwq/KWQString.mm: (QString::insert), (QString::remove),
17929	(QString::truncate):
17930
179312001-12-07  Richard Williamson  <richwill@richwill.com>
17932
17933        Fixed bug that was highlighted when we turned on warnings.
17934        
17935	* src/kwq/KWQFontMetrics.mm:
17936	* src/kwq/KWQMetrics.h:
17937
179382001-12-07  Kenneth Kocienda  <kocienda@apple.com>
17939
17940        Fixed small bug in a comparison that was making -Wall complain
17941
17942	* src/kwq/KWQString.mm:
17943
17944