Fix by David Kilzer, reviewed by Darin, landed by ap (with a tweak suggested...
[WebKit-https.git] / WebCore / ChangeLog
1 2006-02-05  David Kilzer  <ddkilzer@kilzer.net>
2
3         Reviewed by Darin, landed by ap (with a tweak suggested by Darin).
4
5         - Fixed --no-svg build on http://build.webkit.org/.
6
7         * kwq/KWQPainter.mm: Include "FloatRect.h".
8
9 2006-02-04  Maciej Stachowiak  <mjs@apple.com>
10
11         Reviewed by Darin.
12
13         - Just return bool from DOM child mutation methods instead of the node
14         http://bugzilla.opendarwin.org/show_bug.cgi?id=7076
15
16         * bindings/objc/DOM.mm:
17         (-[DOMNode insertBefore::]):
18         (-[DOMNode replaceChild::]):
19         (-[DOMNode removeChild:]):
20         (-[DOMNode appendChild:]):
21         * khtml/ecma/kjs_dom.cpp:
22         (KJS::DOMNodeProtoFunc::callAsFunction):
23         * khtml/html/HTMLOptGroupElementImpl.cpp:
24         (WebCore::HTMLOptGroupElementImpl::insertBefore):
25         (WebCore::HTMLOptGroupElementImpl::replaceChild):
26         (WebCore::HTMLOptGroupElementImpl::removeChild):
27         (WebCore::HTMLOptGroupElementImpl::appendChild):
28         * khtml/html/HTMLOptGroupElementImpl.h:
29         * khtml/html/HTMLSelectElementImpl.cpp:
30         (WebCore::HTMLSelectElementImpl::insertBefore):
31         (WebCore::HTMLSelectElementImpl::replaceChild):
32         (WebCore::HTMLSelectElementImpl::removeChild):
33         (WebCore::HTMLSelectElementImpl::appendChild):
34         * khtml/html/HTMLSelectElementImpl.h:
35         * khtml/html/HTMLTextAreaElementImpl.cpp:
36         (WebCore::HTMLTextAreaElementImpl::setDefaultValue):
37         * khtml/html/html_tableimpl.cpp:
38         (WebCore::HTMLTableElementImpl::createTFoot):
39         * khtml/xml/ContainerNodeImpl.cpp:
40         (WebCore::ContainerNodeImpl::insertBefore):
41         (WebCore::ContainerNodeImpl::replaceChild):
42         (WebCore::ContainerNodeImpl::removeChild):
43         (WebCore::ContainerNodeImpl::appendChild):
44         * khtml/xml/ContainerNodeImpl.h:
45         * khtml/xml/NodeImpl.cpp:
46         (WebCore::NodeImpl::insertBefore):
47         (WebCore::NodeImpl::replaceChild):
48         (WebCore::NodeImpl::removeChild):
49         (WebCore::NodeImpl::appendChild):
50         * khtml/xml/NodeImpl.h:
51         * khtml/xml/xml_tokenizer.cpp:
52         (WebCore::XMLTokenizer::insertErrorMessageBlock):
53
54 2006-02-04  Maciej Stachowiak  <mjs@apple.com>
55
56         - reverted CSS media queries patch, as it causes random crashes on the
57         layout tests with a debug build.
58         
59         * WebCore.xcodeproj/project.pbxproj:
60         * css/css_grammar.y:
61         * css/css_mediaqueryeval.cpp: Removed.
62         * css/css_mediaqueryeval.h: Removed.
63         * css/css_mediaqueryimpl.cpp: Removed.
64         * css/css_mediaqueryimpl.h: Removed.
65         * css/css_stylesheetimpl.cpp:
66         (MediaListImpl::MediaListImpl):
67         (MediaListImpl::contains):
68         (MediaListImpl::deleteMedium):
69         (MediaListImpl::mediaText):
70         (MediaListImpl::setMediaText):
71         * css/css_stylesheetimpl.h:
72         (DOM::MediaListImpl::length):
73         (DOM::MediaListImpl::item):
74         (DOM::MediaListImpl::appendMedium):
75         * css/css_valueimpl.h:
76         * css/csshelper.h:
77         * css/cssmediafeatures.in: Removed.
78         * css/cssparser.cpp:
79         * css/cssparser.h:
80         * css/cssstyleselector.cpp:
81         (WebCore::CSSStyleSelector::CSSStyleSelector):
82         (WebCore::CSSStyleSelector::init):
83         (WebCore::CSSStyleSelector::~CSSStyleSelector):
84         (WebCore::CSSStyleSelector::loadDefaultStyle):
85         (WebCore::CSSStyleSelector::styleForElement):
86         (WebCore::CSSStyleSelector::styleRulesForElement):
87         (WebCore::CSSRuleSet::addRulesFromSheet):
88         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
89         * css/cssstyleselector.h:
90         * css/makemediafeatures: Removed.
91         * css/maketokenizer:
92         * css/tokenizer.flex:
93         * khtml/html/html_headimpl.cpp:
94         (WebCore::HTMLLinkElementImpl::process):
95         (WebCore::HTMLLinkElementImpl::setStyleSheet):
96         (WebCore::HTMLStyleElementImpl::childrenChanged):
97         * platform/Screen.h:
98         * platform/mac/Screen.mm:
99
100 2006-02-04  Andrew Wellington  <proton@wiretapped.net>
101
102         Reviewed and tweaked by Darin.
103
104         - fixed regressions caused by fix for bug 5776 earlier today
105
106         * rendering/render_list.h: Remove m_value from RenderListMarker, add it to RenderListItem.
107         A few other tweaks, including getting rid of "friend" relationship.
108         * rendering/render_list.cpp:
109         (RenderListItem::RenderListItem): Initialize m_value.
110         (RenderListItem::setStyle): Restore old behavior of making no marker for LNONE case.
111         (RenderListItem::calcValue): Work on m_value, not m_marker->m_value.
112         (RenderListItem::resetValue): Reset m_value, even if there's no marker.
113         (RenderListMarker::RenderListMarker): Remove code to set up m_value.
114         (RenderListMarker::calcMinMaxWidth): Get marker value from list item.
115
116         * rendering/RenderContainer.cpp: (updateListMarkerNumbers): Call resetValue by its new name.
117
118 2006-02-04  Maciej Stachowiak  <mjs@apple.com>
119
120         Reviewed by Hyatt.
121
122         - change JavaScript collector statistics calls to use HashCountedSet instead
123         of CFSet; other misc cleanup
124         http://bugzilla.opendarwin.org/show_bug.cgi?id=7072
125
126         * kwq/WebCoreJavaScript.h:
127         * kwq/WebCoreJavaScript.mm:
128         (+[WebCoreJavaScript protectedObjectCount]): Renamed from referencedObjectCounts
129         (+[WebCoreJavaScript rootObjectTypeCounts]): Renamed from rootObjectClasses,
130         changed from NSSet to NSCountedSet.
131
132 2006-02-04  Maciej Stachowiak  <mjs@apple.com>
133
134         Reviewed by Darin.
135
136         - refactor and simplify code using ChildFrame in preparation for removing it
137         http://bugzilla.opendarwin.org/show_bug.cgi?id=7065
138
139         * WebCore.xcodeproj/project.pbxproj: reordered slightly.
140         * bridge/mac/MacFrame.h:
141         * bridge/mac/MacFrame.mm:
142         (WebCore::MacFrame::createFrame): Don't take isObject parameter, just check tag name
143         * khtml/html/HTMLFormElementImpl.cpp:
144         (WebCore::HTMLFormElementImpl::prepareSubmit): remove obsolete hasOnlyLocalReferences check
145         * khtml/html/html_baseimpl.cpp:
146         (WebCore::HTMLFrameElementImpl::isURLAllowed): remove obsolete hasOnlyLocalReferences check
147         * loader/DocLoader.cpp:
148         (khtml::DocLoader::requestImage): remove obsolete hasOnlyLocalReferences check
149         (khtml::DocLoader::requestStyleSheet): remove obsolete hasOnlyLocalReferences check
150         (khtml::DocLoader::requestScript): remove obsolete hasOnlyLocalReferences check
151         (khtml::DocLoader::requestXSLStyleSheet): remove obsolete hasOnlyLocalReferences check
152         * page/Frame.cpp:
153         (WebCore::Frame::requestFrame): refactored and simplified
154         (WebCore::Frame::requestObject): ditto
155         (WebCore::Frame::shouldUsePlugin): ditto
156         (WebCore::Frame::loadPlugin): ditto
157         (WebCore::Frame::loadSubframe): ditto
158         (WebCore::Frame::frameNames): remove obsolete m_bPreloaded check
159         (WebCore::Frame::frames): ditto
160         (WebCore::Frame::connectChild): check isFrame, not child type
161         (WebCore::Frame::disconnectChild): ditto
162         (WebCore::Frame::handleFallbackContent): greatly simplify using onwerElement
163         (WebCore::Frame::updateBaseURLForEmptyDocument): use ownerElement, notChildFrame
164         (WebCore::Frame::onlyLocalReferences): removed
165         (WebCore::Frame::setOnlyLocalReferences): removed
166         * page/Frame.h:
167         * page/FramePrivate.h:
168         (WebCore::ChildFrame::ChildFrame): remove most fields.
169         * rendering/render_frames.cpp:
170         (WebCore::RenderPartObject::updateWidget): Remove redundant setting of base URL for child document
171         of iframe, Frame itself takes care of this already
172
173 2006-02-03  Andrew Wellington  <proton@wiretapped.net>
174
175         Reviewed and tweaked by Darin.
176         
177         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5776
178           Generated numbers of ordered lists (OL) are not calculated right
179   
180         Uses the DOM tree to calculate previous nodes and nest correctly
181
182         Tests:
183         * fast/lists/olstart.html
184         * fast/lists/ol-display-types.html
185
186         * khtml/html/html_listimpl.cpp:
187         (DOM::HTMLLIElementImpl::attach): remove calculation of start node value
188         * rendering/render_list.cpp:
189         (RenderListItem::setStyle): set up an m_marker even if the style is to
190         not display the marker, to get the numbering right
191         (enclosingList): gets the list enclosing the given node
192         (previousListItemElement): gets the previous element in the list
193         (RenderListItem::calcListValue): calculate the value correctly
194
195 2006-02-03  Geoffrey Garen  <ggaren@apple.com>
196
197         Reviewed by beth.
198
199         - Fixed <rdar://problem/4394868> window.open fails to parse 
200         "width=200px"
201
202         Cause: QString::toInt() is too aggressive; it parses letters as numbers.
203         The fix is to switch to DOMString. It's all the rage these days,
204         and its toInt() behavior matches what we want.
205
206         * manual-tests/window-open-features-parsing.html: Added "px" case to
207         giant evil string.
208
209         * khtml/ecma/kjs_window.cpp:
210         (KJS::setWindowFeature):
211         (KJS::parseWindowFeatures):
212         (KJS::WindowFunc::callAsFunction):
213
214 2006-02-03  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
215
216         Reviewed by Dave Hyatt and Tim H.
217
218         Bug 4127: WebCore doesn't support Media Queries (CSS3 module)
219         http://bugzilla.opendarwin.org/show_bug.cgi?id=4127
220
221         http://www.w3.org/TR/css3-mediaqueries/
222
223         * WebCore.xcodeproj/project.pbxproj:
224         * css/css_grammar.y:
225         * css/css_mediaqueryeval.cpp: Added.
226         (MediaQueryEvaluator):
227         (MediaQueryEvaluator::~MediaQueryEvaluator):
228         (MediaQueryEvaluator::mediaTypeMatch):
229         (applyRestrictor):
230         (MediaQueryEvaluator::eval):
231         (parseAspectRatio):
232         * css/css_mediaqueryeval.h: Added.
233         * css/css_mediaqueryimpl.cpp: Added.
234         (MediaQueryExpImpl::MediaQueryExpImpl):
235         (MediaQueryExpImpl::~MediaQueryExpImpl):
236         (MediaQueryExpImpl::mediaFeature):
237         (MediaQueryExpImpl::value):
238         (MediaQueryImpl::MediaQueryImpl):
239         (MediaQueryImpl::~MediaQueryImpl):
240         (MediaQueryImpl::restrictor):
241         (MediaQueryImpl::expressions):
242         (MediaQueryImpl::mediaType):
243         (MediaQueryImpl::operator==):
244         * css/css_mediaqueryimpl.h: Added.
245         (DOM::MediaQueryExpImpl::operator==):
246         (DOM::MediaQueryExpListImpl::MediaQueryExpListImpl):
247         (DOM::MediaQueryExpListImpl::append):
248         (DOM::MediaQueryExpListImpl::list):
249         (DOM::MediaQueryImpl::):
250         * css/css_stylesheetimpl.cpp:
251         (MediaListImpl::MediaListImpl):
252         (MediaListImpl::deleteMedium):
253         (mediaQueryAsDOMString):
254         (MediaListImpl::mediaText):
255         (MediaListImpl::setMediaText):
256         (MediaListImpl::item):
257         (MediaListImpl::appendMedium):
258         (MediaListImpl::appendMediaQuery):
259         * css/css_stylesheetimpl.h:
260         (DOM::MediaListImpl::length):
261         (DOM::MediaListImpl::mediaQueries):
262         * css/css_valueimpl.h:
263         * css/csshelper.h:
264         * css/cssmediafeatures.in: Added.
265         * css/cssparser.cpp:
266         (CSSParser::parseMediaQuery):
267         * css/cssparser.h:
268         * css/cssstyleselector.cpp:
269         (WebCore::CSSStyleSelector::CSSStyleSelector):
270         (WebCore::CSSStyleSelector::init):
271         (WebCore::CSSStyleSelector::~CSSStyleSelector):
272         (WebCore::CSSStyleSelector::loadDefaultStyle):
273         (WebCore::CSSStyleSelector::styleForElement):
274         (WebCore::CSSStyleSelector::styleRulesForElement):
275         (WebCore::CSSRuleSet::addRulesFromSheet):
276         (WebCore::CSSStyleSelector::defaultStyleForRoot):
277         * css/cssstyleselector.h:
278         * css/makemediafeatures: Added.
279         * css/maketokenizer:
280         * css/tokenizer.flex:
281         * khtml/html/html_headimpl.cpp:
282         (WebCore::HTMLLinkElementImpl::process):
283         (WebCore::HTMLLinkElementImpl::setStyleSheet):
284         (WebCore::HTMLStyleElementImpl::childrenChanged):
285         * platform/Screen.h:
286         * platform/mac/Screen.mm:
287         (WebCore::screenDepthPerComponent):
288         (WebCore::screenIsMonochrome):
289
290 2006-02-03  Timothy Hatcher  <timothy@apple.com>
291
292         Reviewed by Justin.
293
294         Renamed configuration names to Debug, Release and Production.
295
296         * WebCore.xcodeproj/project.pbxproj:
297
298 2006-02-03  Beth Dakin  <bdakin@apple.com>
299
300         Reviewed by Hyatt.
301
302         No test cases added because this is an unreproducible crash.
303
304         This is a speculative fix for <rdar://problem/4048026> 
305         CrashTracer: [BOUNCE BACK] 1219 crashes in Safari at 
306         com.apple.WebCore: KHTMLParser::popOneBlock + 36
307
308         It seems possible that current could be nil when this function is 
309         called, so the speculative fix is to add a nil check.
310
311         * khtml/html/htmlparser.cpp:
312         (HTMLParser::popOneBlock): Added nil check.
313
314 2006-02-03  David Hyatt  <hyatt@apple.com>
315
316         Refactoring of the image classes to make them even more
317         portable.
318
319         Reviewed by mjs
320
321         * WebCore.xcodeproj/project.pbxproj:
322         * platform/Image.cpp:
323         (WebCore::m_animationObserver):
324         (WebCore::Image::Image):
325         (WebCore::Image::~Image):
326         (WebCore::Image::resetAnimation):
327         (WebCore::Image::setData):
328         (WebCore::Image::isNull):
329         (WebCore::Image::size):
330         (WebCore::Image::rect):
331         (WebCore::Image::width):
332         (WebCore::Image::height):
333         (WebCore::):
334         (WebCore::Image::compositeOperatorFromString):
335         * platform/ImageData.cpp: Added.
336         (WebCore::FrameData::clear):
337         (WebCore::ImageData::ImageData):
338         (WebCore::ImageData::~ImageData):
339         (WebCore::ImageData::invalidateData):
340         (WebCore::ImageData::cacheFrame):
341         (WebCore::ImageData::isNull):
342         (WebCore::ImageData::size):
343         (WebCore::ImageData::setData):
344         (WebCore::ImageData::setNativeData):
345         (WebCore::ImageData::frameCount):
346         (WebCore::ImageData::isSizeAvailable):
347         (WebCore::ImageData::frameAtIndex):
348         (WebCore::ImageData::frameDurationAtIndex):
349         (WebCore::ImageData::shouldAnimate):
350         (WebCore::ImageData::startAnimation):
351         (WebCore::ImageData::stopAnimation):
352         (WebCore::ImageData::resetAnimation):
353         (WebCore::ImageData::advanceAnimation):
354         * platform/ImageData.h: Added.
355         (KXMLCore::):
356         (WebCore::FrameData::m_duration):
357         (WebCore::FrameData::~FrameData):
358         (WebCore::ImageData::setIsPDF):
359         (WebCore::ImageData::currentFrame):
360         * platform/ImageDecoder.h:
361         * platform/mac/Image.mm:
362         (WebCore::Image::loadResource):
363         (WebCore::Image::supportsType):
364         (WebCore::Image::getCGImageRef):
365         (WebCore::Image::getNSImage):
366         (WebCore::Image::getTIFFRepresentation):
367         (WebCore::graphicsContext):
368         (WebCore::setCompositingOperation):
369         (WebCore::fillSolidColorInRect):
370         (WebCore::Image::drawInRect):
371         (WebCore::drawPattern):
372         (WebCore::Image::tileInRect):
373         (WebCore::Image::scaleAndTileInRect):
374         * platform/mac/ImageData.mm: Added.
375         (WebCore::setCompositingOperation):
376         (WebCore::ImageData::invalidateAppleSpecificData):
377         (WebCore::ImageData::checkForSolidColor):
378         (WebCore::ImageData::getTIFFRepresentation):
379         (WebCore::ImageData::getNSImage):
380         * platform/mac/PDFDocumentImage.h: Added.
381         * platform/mac/PDFDocumentImage.mm: Added.
382         (WebCore::releasePDFDocumentData):
383         (WebCore::PDFDocumentImage::PDFDocumentImage):
384         (WebCore::PDFDocumentImage::~PDFDocumentImage):
385         (WebCore::PDFDocumentImage::documentRef):
386         (WebCore::PDFDocumentImage::mediaBox):
387         (WebCore::PDFDocumentImage::bounds):
388         (WebCore::PDFDocumentImage::adjustCTM):
389         (WebCore::PDFDocumentImage::setCurrentPage):
390         (WebCore::PDFDocumentImage::currentPage):
391         (WebCore::PDFDocumentImage::pageCount):
392         (WebCore::PDFDocumentImage::draw):
393
394 2006-02-03  David Hyatt  <hyatt@apple.com>
395
396         Make a new class called ImageDecoder that wraps a CGImageSource.
397         This paves the way for ImageData to become portable as well.
398
399         Reviewed by mjs
400
401         * WebCore.xcodeproj/project.pbxproj:
402         * platform/ImageDecoder.h: Added.
403         * platform/mac/Image.mm:
404         (WebCore::ImageData::~ImageData):
405         (WebCore::ImageData::invalidateData):
406         (WebCore::ImageData::cacheFrame):
407         (WebCore::ImageData::size):
408         (WebCore::ImageData::setCFData):
409         (WebCore::ImageData::frameCount):
410         (WebCore::ImageData::isSizeAvailable):
411         (WebCore::ImageData::drawInRect):
412         * platform/mac/ImageDecoder.cpp: Added.
413         (WebCore::ImageDecoder::ImageDecoder):
414         (WebCore::ImageDecoder::~ImageDecoder):
415         (WebCore::imageSourceOptions):
416         (WebCore::ImageDecoder::initialized):
417         (WebCore::ImageDecoder::setData):
418         (WebCore::ImageDecoder::isSizeAvailable):
419         (WebCore::ImageDecoder::size):
420         (WebCore::ImageDecoder::repetitionCount):
421         (WebCore::ImageDecoder::frameCount):
422         (WebCore::ImageDecoder::createFrameAtIndex):
423         (WebCore::ImageDecoder::frameDurationAtIndex):
424
425 2006-02-02  David Hyatt  <hyatt@apple.com>
426
427         Move ImageAnimationObserver into its own file.
428
429         Reviewed by mjs
430
431         * WebCore.xcodeproj/project.pbxproj:
432         * loader/CachedImage.h:
433         * platform/Image.h:
434         * platform/ImageAnimationObserver.h: Added.
435         (WebCore::ImageAnimationObserver::~ImageAnimationObserver):
436         * platform/mac/Image.mm:
437
438 2006-02-02  Maciej Stachowiak  <mjs@apple.com>
439
440         Reviewed by Adele.
441
442         - remove all use of the ChildFrame from outside Frame.cpp, in preparation for removing it
443
444         * bridge/mac/MacFrame.h:
445         * bridge/mac/MacFrame.mm:
446         (WebCore::MacFrame::frameDetached): Factor out the ChildFrame manipulations into a base
447         class method.
448         (WebCore::MacFrame::objectContentType): factored out from createPart, calls the bridge to
449         determine contents for an Object tag.
450         (WebCore::MacFrame::createPlugin): factor out code from createPart that makes a Plugin.
451         (WebCore::MacFrame::createFrame): ditto for code that makes a Frame.
452         (WebCore::MacFrame::createEmptyDocument): factored out part into the superclass
453         * khtml/xml/DocumentImpl.cpp:
454         (WebCore::DocumentImpl::ownerElement): Call new ownerElement method on Frame
455         instead of mucking at Frame internals.
456         * page/Frame.cpp:
457         (WebCore::Frame::createPart): Moved here from MacFrame, but some of the guts were
458         factored out.
459         (WebCore::Frame::ownerElement): New method, logic moved from DocumentImpl.
460         (WebCore::Frame::frameDetached): New virtual method, the part of this that
461         pokes at ChildFrame structures.
462         (WebCore::Frame::updateBaseURLForEmptyDocument): Helper that looks at the ChildFrame
463         array for the benefit of createEmptyDocument.
464         * page/Frame.h:
465         * page/Page.h: Fix up modeline.
466         * page/Plugin.h: Added.
467         (WebCore::Plugin::Plugin): Moved here from MacFrame.mm, since it is now used by Frame.
468         (WebCore::Plugin::view): ditto
469
470 2006-02-02  David Hyatt  <hyatt@apple.com>
471
472         Avoid extra copies of all the decoded image bytes.
473
474         Reviewed by mjs
475
476         * platform/mac/Image.mm:
477         (WebCore::ImageData::setData):
478
479 2006-02-02  Justin Garcia  <justin.garcia@apple.com>
480
481         Reviewed by darin, harrison
482         
483         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6586>
484         REGRESSION: visible_text.cpp assertion failure in Mail.app
485
486         Calling range() on a WordIterator destroyed its RangeImpl, use
487         RefPtr instead of PassRefPtr.
488         Turned on continuous spell checking to test the fix, found
489         a crasher caused by invalid positions created in
490         previousBoundary.
491
492         Added layout test:
493         * editing/selection/end-of-document.html
494
495         * khtml/editing/visible_text.h:
496         * khtml/editing/visible_units.cpp:
497         (khtml::previousBoundary):
498
499 2006-02-02  David Hyatt  <hyatt@apple.com>
500
501         Vectorize Image.  Optimize so that we no longer throw away
502         all CGImageRefs.  Now we just throw away the last frame.
503
504         Reviewed by mjs
505
506         * platform/mac/Image.mm:
507         (WebCore::FrameData::m_duration):
508         (WebCore::FrameData::~FrameData):
509         (WebCore::FrameData::clear):
510         (WebCore::ImageData::invalidateData):
511         (WebCore::ImageData::cacheFrame):
512         (WebCore::ImageData::frameAtIndex):
513         (WebCore::ImageData::frameDurationAtIndex):
514
515 2006-01-31  Geoffrey Garen  <ggaren@apple.com>
516
517         Reviewed by mjs.
518
519         Cleaned up some stuff I came across when working with JS enabled/
520         disabled code:
521
522         (1) Renamed initScript to initScriptIfNeeded, because that's what it
523             does
524         (2) Removed dead or otherwise irrelevent code
525         (3) Fixed up comments
526         (4) Removed NULL checks for interpreter() since it never returns NULL,
527             replaced with single assert().
528
529         No test case because there's no change in behavior.
530
531         * khtml/ecma/kjs_proxy.cpp:
532         (WebCore::KJSProxyImpl::evaluate): 1
533         (WebCore::KJSProxyImpl::createHTMLEventHandler): 1
534         (WebCore::KJSProxyImpl::createSVGEventHandler): 1
535         (WebCore::KJSProxyImpl::interpreter): 4
536         (WebCore::KJSProxyImpl::initScriptIfNeeded): 1
537         * khtml/ecma/kjs_proxy.h: 1
538         * page/Frame.cpp:
539         (Frame::didOpenURL): 2, 3
540         (Frame::stopLoading): 2
541         (Frame::jScriptEnabled): 2
542         (Frame::jScript): changed method call to data member access to match
543                           style of rest of class
544         (Frame::javaEnabled): 2
545         (Frame::pluginsEnabled): 2
546         (Frame::begin): 3
547         (Frame::userGestureHint): 4
548         (Frame::pauseTimeouts): collapsed a line
549         (Frame::resumeTimeouts): ditto
550         (Frame::saveInterpreterBuiltins): 4
551         (Frame::restoreInterpreterBuiltins): 4
552         * page/Frame.h: 2
553         * page/FramePrivate.h: 2
554         (FramePrivate::FramePrivate): 2
555
556 2006-02-02  David Hyatt  <hyatt@apple.com>
557
558         Fix for PLT performance regression.  Make sure that the document's load event timer
559         isn't started again if it's already active.
560
561         Reviewed by mjs
562
563         * khtml/xml/DocumentImpl.cpp:
564         (WebCore::DocumentImpl::dispatchImageLoadEventSoon):
565
566 2006-02-02  Darin Adler  <darin@apple.com>
567
568         Reviewed by Maciej.
569
570         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7000
571           REGRESSION: Scrolling is triggering onunload in TOT
572
573         Tests:
574         - fast/events/onunload-body-property.html
575         - fast/events/onunload-window-property.html
576
577         * khtml/ecma/kjs_dom.cpp:
578         (KJS::DOMNode::getValueProperty): Change onunload case to use unloadEvent, not scrollEvent.
579         (KJS::DOMNode::putValueProperty): Ditto.
580         * khtml/ecma/kjs_window.cpp:
581         (KJS::Window::getValueProperty): Ditto.
582         (KJS::Window::putValueProperty): Ditto.
583
584 2006-02-02  Darin Adler  <darin@apple.com>
585
586         Reviewed by Hyatt.
587
588         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6998
589           setTimeout(0) tight loop uses almost all CPU (need 10ms minimum for timeout?)
590
591         * khtml/ecma/kjs_window.cpp: (KJS::WindowQObject::installTimeout): When converting
592         the timeout number from an integer ms to a double seconds, use a 10 ms minimum.
593
594 2006-02-02  Darin Adler  <darin@apple.com>
595
596         - added a FIXME about an incorrect change made to FloatRect
597           to fix the Win32 compile
598
599         * platform/FloatRect.cpp: (WebCore::enclosingIntRect): Added FIXME
600         because this should do a ceil operation, not a round operation.
601
602 2006-02-02  David Hyatt  <hyatt@apple.com>
603
604        Fix for bug 6957, rewrite image rendering in C++ and move it to
605        WebCore.  Animation now stops lazily and just uses the CachedObject
606        notification system to push updates so that rects no longer need to
607        be cached (or sets of animating renderers in specific views).
608        
609        Reviewed by darin
610
611         * WebCore.exp:
612         * bindings/objc/DOM.mm:
613         (-[DOMElement _image]):
614         (-[DOMElement _imageTIFFRepresentation]):
615         * bindings/objc/DOMPrivate.h:
616         * bridge/mac/MacFrame.mm:
617         (WebCore::MacFrame::khtmlMouseMoveEvent):
618         (WebCore::MacFrame::fileWrapperForElement):
619         * bridge/mac/WebCoreFrameBridge.h:
620         * bridge/mac/WebCoreFrameBridge.mm:
621         (-[WebCoreFrameBridge elementAtPoint:]):
622         * kcanvas/RenderSVGImage.cpp:
623         (RenderSVGImage::imageChanged):
624         * kcanvas/RenderSVGImage.h:
625         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
626         (KCanvasFEImageQuartz::getCIFilter):
627         * khtml/ecma/kjs_html.cpp:
628         (KJS::drawPattern):
629         * kwq/KWQClipboard.h:
630         (WebCore::KWQClipboard::setDragHasStarted):
631         * kwq/KWQClipboard.mm:
632         (WebCore::KWQClipboard::dragNSImage):
633         * kwq/KWQCursor.mm:
634         (WebCore::createCustomCursor):
635         * kwq/KWQPainter.h:
636         (WebCore::QPainter::):
637         * kwq/KWQPainter.mm:
638         (WebCore::QPainter::drawFloatImage):
639         (WebCore::QPainter::drawTiledImage):
640         (WebCore::QPainter::drawScaledAndTiledImage):
641         * kwq/KWQScrollView.h:
642         * kwq/KWQScrollView.mm:
643         (QScrollView::inWindow):
644         * kwq/WebCoreImageRendererFactory.h:
645         * kwq/WebCoreImageRendererFactory.m:
646         * loader/CachedImage.cpp:
647         (WebCore::CachedImage::ref):
648         (WebCore::CachedImage::imageRect):
649         (WebCore::CachedImage::notifyObservers):
650         (WebCore::CachedImage::data):
651         (WebCore::CachedImage::error):
652         (WebCore::CachedImage::shouldStopAnimation):
653         (WebCore::CachedImage::animationAdvanced):
654         * loader/CachedImage.h:
655         (WebCore::CachedImage::canRender):
656         * loader/CachedObjectClient.h:
657         (WebCore::CachedObjectClient::imageChanged):
658         (WebCore::CachedObjectClient::willRenderImage):
659         * platform/Image.h:
660         (WebCore::ImageAnimationObserver::~ImageAnimationObserver):
661         (WebCore::Image::animationObserver):
662         (WebCore::Image::):
663         * platform/mac/Image.mm:
664         (WebCore::releasePDFDocumentData):
665         (WebCore::PDFDocumentImage::PDFDocumentImage):
666         (WebCore::PDFDocumentImage::~PDFDocumentImage):
667         (WebCore::PDFDocumentImage::documentRef):
668         (WebCore::PDFDocumentImage::mediaBox):
669         (WebCore::PDFDocumentImage::bounds):
670         (WebCore::PDFDocumentImage::adjustCTM):
671         (WebCore::PDFDocumentImage::setCurrentPage):
672         (WebCore::PDFDocumentImage::currentPage):
673         (WebCore::PDFDocumentImage::pageCount):
674         (WebCore::PDFDocumentImage::draw):
675         (WebCore::ImageData::setIsPDF):
676         (WebCore::ImageData::currentFrame):
677         (WebCore::m_PDFDoc):
678         (WebCore::ImageData::~ImageData):
679         (WebCore::ImageData::invalidateData):
680         (WebCore::ImageData::cacheFrame):
681         (WebCore::ImageData::checkForSolidColor):
682         (WebCore::ImageData::isNull):
683         (WebCore::ImageData::size):
684         (WebCore::ImageData::setData):
685         (WebCore::ImageData::setCFData):
686         (WebCore::ImageData::imageSourceOptions):
687         (WebCore::ImageData::frameCount):
688         (WebCore::ImageData::isSizeAvailable):
689         (WebCore::ImageData::frameAtIndex):
690         (WebCore::ImageData::getTIFFRepresentation):
691         (WebCore::ImageData::getNSImage):
692         (WebCore::ImageData::frameDurationAtIndex):
693         (WebCore::ImageData::shouldAnimate):
694         (WebCore::ImageData::startAnimation):
695         (WebCore::ImageData::stopAnimation):
696         (WebCore::ImageData::resetAnimation):
697         (WebCore::ImageData::advanceAnimation):
698         (WebCore::ImageData::setCompositingOperation):
699         (WebCore::ImageData::fillSolidColorInRect):
700         (WebCore::ImageData::drawInRect):
701         (WebCore::drawPattern):
702         (WebCore::):
703         (WebCore::ImageData::tileInRect):
704         (WebCore::ImageData::scaleAndTileInRect):
705         (WebCore::Image::loadResource):
706         (WebCore::Image::supportsType):
707         (WebCore::m_animationObserver):
708         (WebCore::Image::Image):
709         (WebCore::Image::~Image):
710         (WebCore::Image::getCGImageRef):
711         (WebCore::Image::getNSImage):
712         (WebCore::Image::getTIFFRepresentation):
713         (WebCore::Image::resetAnimation):
714         (WebCore::Image::setData):
715         (WebCore::Image::isNull):
716         (WebCore::Image::size):
717         (WebCore::Image::rect):
718         (WebCore::graphicsContext):
719         (WebCore::Image::drawInRect):
720         (WebCore::Image::tileInRect):
721         (WebCore::Image::scaleAndTileInRect):
722         * rendering/render_box.cpp:
723         (WebCore::RenderBox::paintBackgroundExtended):
724         * rendering/render_image.cpp:
725         (WebCore::RenderImage::setCachedImage):
726         (WebCore::RenderImage::imageChanged):
727         * rendering/render_image.h:
728         * rendering/render_line.cpp:
729         (WebCore::InlineFlowBox::paintBackground):
730         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
731         * rendering/render_list.cpp:
732         (RenderListMarker::imageChanged):
733         * rendering/render_list.h:
734         * rendering/render_object.cpp:
735         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
736         (WebCore::RenderObject::paintBorderImage):
737         (WebCore::RenderObject::paintBorder):
738         (WebCore::RenderObject::imageChanged):
739         (WebCore::RenderObject::willRenderImage):
740         * rendering/render_object.h:
741
742 2006-02-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
743
744         Test: fast/block/positioning/height-change.html
745
746         Reviewed by Hyatt.
747
748         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6881
749           Block with position:absolute bottom:0 doesn't always move when height
750           of containing block changes (affects Safari RSS)
751
752         * rendering/RenderBlock.cpp:
753         (WebCore::RenderBlock::layoutBlock): Relayout positioned children if the
754         block's height changed during layout.
755         * rendering/render_flexbox.cpp:
756         (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
757
758 2006-02-02  Maciej Stachowiak  <mjs@apple.com>
759
760         Reviewed by Darin.
761
762         - Move name and parent from Frame to FrameTreeNode
763         http://bugzilla.opendarwin.org/show_bug.cgi?id=6994
764
765         * bridge/mac/BrowserExtensionMac.mm:
766         (WebCore::BrowserExtensionMac::createNewWindow):
767         * bridge/mac/MacFrame.h:
768         * bridge/mac/MacFrame.mm:
769         (WebCore::MacFrame::generateFrameName):
770         (WebCore::MacFrame::submitForm):
771         (WebCore::Frame::frameDetached):
772         (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
773         (WebCore::MacFrame::createEmptyDocument):
774         * bridge/mac/WebCoreFrameBridge.mm:
775         (-[WebCoreFrameBridge setParent:]):
776         (-[WebCoreFrameBridge parent]):
777         (-[WebCoreFrameBridge setName:]):
778         (-[WebCoreFrameBridge name]):
779         * khtml/ecma/kjs_window.cpp:
780         (KJS::Window::getValueProperty):
781         (KJS::Window::put):
782         (KJS::Window::isSafeScript):
783         (KJS::WindowFunc::callAsFunction):
784         * khtml/html/html_baseimpl.cpp:
785         (WebCore::HTMLFrameElementImpl::isURLAllowed):
786         * khtml/html/html_headimpl.cpp:
787         (WebCore::HTMLLinkElementImpl::process):
788         * khtml/xml/DocumentImpl.cpp:
789         (WebCore::DocumentImpl::ownerElement):
790         (WebCore::DocumentImpl::parentDocument):
791         * page/Frame.cpp:
792         (WebCore::Frame::checkCompleted):
793         (WebCore::Frame::redirectionTimerFired):
794         (WebCore::Frame::requestFrameName):
795         (WebCore::Frame::slotChildCompleted):
796         (WebCore::Frame::incrementFrameCount):
797         (WebCore::Frame::decrementFrameCount):
798         (WebCore::Frame::topLevelFrameCount):
799         (WebCore::Frame::selectFrameElementInParentIfFullySelected):
800         (WebCore::Frame::handleFallbackContent):
801         (WebCore::Frame::userGestureHint):
802         (WebCore::Frame::canCachePage):
803         (WebCore::Frame::updatePolicyBaseURL):
804         * page/Frame.h:
805         * page/FramePrivate.h:
806         (WebCore::FramePrivate::FramePrivate):
807         * page/FrameTreeNode.cpp:
808         (WebCore::FrameTreeNode::setName):
809         (WebCore::FrameTreeNode::appendChild):
810         (WebCore::FrameTreeNode::removeChild):
811         * page/FrameTreeNode.h:
812         (WebCore::FrameTreeNode::FrameTreeNode):
813         (WebCore::FrameTreeNode::name):
814         (WebCore::FrameTreeNode::parent):
815         (WebCore::FrameTreeNode::setParent):
816         * rendering/render_frames.cpp:
817         (WebCore::isURLAllowed):
818
819 2006-02-01  Darin Adler  <darin@apple.com>
820
821         Checking in without review because I *just* broke this with my last check-in.
822
823         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7018
824           REGRESSION: clearTimeout no longer works
825
826         Test: fast/dom/Window/clear-timeout.html
827
828         * khtml/ecma/kjs_window.cpp: (WindowQObject::clearTimeout): Fixed a
829         != that should have been a ==.
830
831 2006-02-01  Darin Adler  <darin@apple.com>
832
833         Reviewed by Hyatt.
834
835         - use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent
836
837         * ForwardingHeaders/kxmlcore/Noncopyable.h: Added.
838         * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Added.
839         * ForwardingHeaders/kxmlcore/OwnPtr.h: Added.
840         * ForwardingHeaders/qtimer.h: Removed.
841         * kwq/KWQTimer.cpp: Removed.
842         * kwq/KWQTimer.h: Removed.
843
844         * kwq/KWQObject.h:
845         * kwq/KWQObject.cpp: Remove timer-related features.
846
847         * kwq/KWQEvent.h: Remove QTimerEvent.
848
849         * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
850         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
851
852         * platform/Timer.h: Change to use nextFireInterval rather than nextFireTime.
853         More convenient and also no need to define what the epoch is. Change TimerBase
854         to use a virtual function rather than a function pointer. Added setDeferringTimers
855         function to ensure timers don't fire while handling an event.
856         * platform/mac/Timer.cpp:
857         (WebCore::timerFired): Added deferral support.
858         (WebCore::fireDeferred): Added.
859         (WebCore::TimerBase::TimerBase): Simplify to remove function pointer.
860         (WebCore::TimerBase::~TimerBase): Put in here, no longer inline.
861         (WebCore::TimerBase::start): Change to use interval.
862         (WebCore::TimerBase::startRepeating): Change since we use interval now.
863         (WebCore::TimerBase::startOneShot): Ditto.
864         (WebCore::TimerBase::stop): Added deferral support.
865         (WebCore::TimerBase::nextFireInterval): Added.
866         (WebCore::TimerBase::fire): Added.
867         (WebCore::isDeferringTimers): Added.
868         (WebCore::setDeferringTimers): Added.
869
870         * bridge/mac/MacFrame.mm:
871         (WebCore::MacFrame::startRedirectionTimer): Update for change to Timer class.
872         (WebCore::MacFrame::passMouseDownEventToWidget): Update to use setDeferringTimers
873         instead of QObject::setDefersTimers.
874
875         * khtml/ecma/kjs_window.h:
876         * khtml/ecma/kjs_window.cpp:
877         (KJS::DOMWindowTimer): Added. Class for JavaScript "timeout".
878         (KJS::WindowQObject::parentDestroyed): Update to use DOMWindowTimer.
879         (KJS::WindowQObject::installTimeout): Ditto.
880         (KJS::WindowQObject::pauseTimeouts): Ditto.
881         (KJS::WindowQObject::resumeTimeouts): Ditto.
882         (KJS::WindowQObject::clearTimeout): Ditto.
883         (KJS::WindowQObject::timerFired): Ditto.
884         (KJS::DOMWindowTimer::fired): Added.
885
886         * khtml/html/htmltokenizer.h:
887         * khtml/html/htmltokenizer.cpp:
888         (WebCore::HTMLTokenizer::HTMLTokenizer): Use Timer instead of timer ID.
889         (WebCore::HTMLTokenizer::reset): Ditto.
890         (WebCore::HTMLTokenizer::continueProcessing): Ditto.
891         (WebCore::HTMLTokenizer::write): Ditto.
892         (WebCore::HTMLTokenizer::stopParsing): Ditto.
893         (WebCore::HTMLTokenizer::processingData): Ditto.
894         (WebCore::HTMLTokenizer::timerFired): Ditto.
895         (WebCore::HTMLTokenizer::end): Ditto.
896         (WebCore::HTMLTokenizer::finish): Ditto.
897
898         * khtml/xml/DocumentImpl.h:
899         * khtml/xml/DocumentImpl.cpp:
900         (WebCore::DocumentImpl::DocumentImpl): Updated for changes to use RefPtr
901         more cases, and not use it for m_svgExtensions.
902         (WebCore::DocumentImpl::~DocumentImpl): Delete m_svgExtensions instead of
903         just deref'ing it since it's no longer shared.
904         (WebCore::DocumentImpl::implementation): Update for RefPtr.
905         (WebCore::DocumentImpl::elementSheet): Ditto.
906         (WebCore::DocumentImpl::styleSheets): Ditto.
907         (WebCore::DocumentImpl::recalcStyleSelector): Ditto.
908         (WebCore::DocumentImpl::dispatchImageLoadEventSoon): Update to use new style timer.
909         (WebCore::DocumentImpl::removeImage): Ditto.
910         (WebCore::DocumentImpl::dispatchImageLoadEventsNow): Ditto.
911         (WebCore::DocumentImpl::imageLoadEventTimerFired): Ditto.
912         (WebCore::DocumentImpl::svgExtensions): Update for RefPtr.
913         (WebCore::DocumentImpl::accessSVGExtensions): Ditto.
914
915         * ksvg2/misc/KSVGTimeScheduler.h:
916         (WebCore::TimeScheduler::document):
917         * ksvg2/misc/KSVGTimeScheduler.cpp:
918         (WebCore::SVGTimer::downcast):
919         (WebCore::SVGTimer::SVGTimer):
920         (WebCore::SVGTimer::start):
921         (WebCore::SVGTimer::calculateTimePercentage):
922         (WebCore::SVGTimer::notifyAll):
923         (WebCore::SVGTimer::addNotify):
924         (WebCore::SVGTimer::removeNotify):
925         (WebCore::TimeScheduler::TimeScheduler):
926         (WebCore::TimeScheduler::~TimeScheduler):
927         (WebCore::TimeScheduler::addTimer):
928         (WebCore::TimeScheduler::connectIntervalTimer):
929         (WebCore::TimeScheduler::disconnectIntervalTimer):
930         (WebCore::TimeScheduler::startAnimations):
931         (WebCore::TimeScheduler::toggleAnimations):
932         (WebCore::TimeScheduler::timerFired):
933         Rework to use new timer.
934
935         * ksvg2/misc/SVGDocumentExtensions.h:
936         * ksvg2/misc/SVGDocumentExtensions.cpp:
937         Make SVGDocumentExtensions no longer be shared, be solely owned by the document.
938
939         * ksvg2/svg/SVGDocumentImpl.cpp:
940         (WebCore::SVGDocumentImpl::createStyleSelector): Update for RefPtr use.
941
942         * kwq/KWQSlot.cpp: Remove endLifeSupport and timerNotify slots.
943
944         * page/Frame.h:
945         * page/Frame.cpp:
946         (WebCore::Frame::selectionLayoutChanged): Update to use new style timer.
947         (WebCore::Frame::caretBlinkTimerFired): Ditto.
948         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Ditto.
949
950         * page/FrameView.h:
951         * page/FrameView.cpp:
952         (WebCore::FrameViewPrivate::FrameViewPrivate): Update to use new style timer.
953         (WebCore::FrameView::clear): Ditto.
954         (WebCore::FrameView::layout): Ditto.
955         (WebCore::FrameView::layoutTimerFired): Ditto.
956         (WebCore::FrameView::scheduleRelayout): Ditto.
957         (WebCore::FrameView::layoutPending): Ditto.
958         (WebCore::FrameView::haveDelayedLayoutScheduled): Ditto.
959         (WebCore::FrameView::unscheduleRelayout): Ditto.
960
961         * page/ObjectContents.h: Remove unneeded includes.
962
963         * rendering/render_frames.cpp: Removed include of <qtimer.h>.
964
965         * rendering/render_layer.h:
966         * rendering/render_layer.cpp:
967         (WebCore::Marquee::Marquee): Use new style timers.
968         (WebCore::Marquee::start): Ditto.
969         (WebCore::Marquee::suspend): Ditto.
970         (WebCore::Marquee::stop): Ditto.
971         (WebCore::Marquee::updateMarqueeStyle): Ditto.
972         (WebCore::Marquee::timerFired): Ditto.
973
974 2006-02-01  Darin Adler  <darin@apple.com>
975
976         Reviewed by Beth.
977
978         Fix for <rdar://problem/4424126> REGRESSION(412-420+): yellow 
979         highlight fails to follow cursor when mousing over star rating
980         (6232)
981
982         Event coordinates cannot be calculated until there is a target. 
983         This patch restructures the code so that the coordinates are 
984         initialized when the mouse event is created but are not calculated
985         until the target is set.
986
987         * khtml/xml/dom2_eventsimpl.cpp:
988         (WebCore::EventImpl::setTarget): Now calls receivedTarget() if the
989         target is not nil.
990         (WebCore::EventImpl::receivedTarget): virtual receivedTarget()
991         (WebCore::MouseRelatedEventImpl::MouseRelatedEventImpl): Call 
992         initCoordinates()
993         (WebCore::MouseRelatedEventImpl::initCoordinates): Formerly called 
994         computePositions(), this now only initializes the coordinates and 
995         lets receivedTarget() take care of the computations. 
996         (WebCore::MouseRelatedEventImpl::receivedTarget): Takes care of 
997         computing the coordinates.
998         (WebCore::MouseEventImpl::initMouseEvent): Call initCoordinates()
999         * khtml/xml/dom2_eventsimpl.h:
1000         (WebCore::EventImpl::target): Fix spacing.
1001         (WebCore::EventImpl::currentTarget): Same.
1002         (WebCore::EventImpl::setCurrentTarget): Same.
1003
1004 2006-01-31  Maciej Stachowiak  <mjs@apple.com>
1005
1006         Reviewed by Darin.
1007
1008         - fixed REGRESSION: assertion failure mousing over DHTML menus at www.worldofwarcraft.com
1009         http://bugzilla.opendarwin.org/show_bug.cgi?id=6931
1010
1011         * rendering/render_layer.cpp:
1012         (WebCore::RenderLayer::hitTestLayer): Iterate vectors in a way that won't break on empty ones.
1013
1014 2006-01-31  Adele Peterson  <adele@apple.com>
1015
1016         Reviewed by Darin.
1017
1018         http://bugzilla.opendarwin.org/show_bug.cgi?id=6862
1019         Input's value doesn't get updated after typing in new text field
1020
1021         Added test:
1022         fast/forms/input-changing-value.html
1023
1024         Added an event listener for a DOMCharacterDataModifiedEvent on the inner div.
1025         When we get the event, then we update the input element's value field.
1026
1027         There may be performance problems with this approach that we will have to
1028         address before flipping the switch to use these new text fields.
1029
1030         * rendering/RenderTextField.cpp:
1031         (WebCore::InputMutationListener::handleEvent): calls subtreeHasChanged
1032         (WebCore::m_mutationListener):
1033         (WebCore::RenderTextField::~RenderTextField): remove the event listener.
1034         (WebCore::RenderTextField::setStyle): Remove unnecessary setStyle on text node.  
1035          It should inherit style from the div already.
1036         (WebCore::RenderTextField::updateFromElement): add the event listener.
1037         (WebCore::RenderTextField::subtreeHasChanged): updates the input element's value.
1038         * rendering/RenderTextField.h:
1039         (WebCore::InputMutationListener::InputMutationListener): Added.
1040         (WebCore::InputMutationListener::renderTextField): Added.
1041         (WebCore::InputMutationListener::setInputElement): Added.
1042
1043 2006-01-31  Antti Koivisto <koivisto@iki.fi>
1044
1045         Reviewed by Dave Hyatt.
1046         Landed by Timothy Hatcher.
1047
1048         http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
1049         Bug 4959: inline style not terminated properly after <form>
1050
1051         * khtml/html/htmlparser.cpp:
1052         (HTMLParser::isResidualStyleTag): add <span> as residual style tag
1053         (HTMLParser::isAffectedByResidualStyle): add <form> as tag affected by residual style
1054
1055 2006-01-31  Vicki Murley <vicki@apple.com>
1056
1057         Reviewed by Geoff.
1058
1059         - fix <rdar://problem/4426668> REGRESSION: sometimes URLs with named anchors in a
1060         page don't jump to proper location in document (6916). Added test cases for this
1061         fix and past link jumping bug fixes.
1062
1063         * khtml/xml/ContainerNodeImpl.cpp:
1064         (WebCore::ContainerNodeImpl::getUpperLeftCorner): Traverse up the parent node chain
1065         until you find one that has a sibling.
1066         * manual-tests/linkjump-1.html: Added a note here - the bug for this test case is
1067         still broken in TOT.
1068         * manual-tests/linkjump-2.html: Added. Renamed scrollToAnchor.html, to group it with the
1069         rest of the link jumping tests.
1070         * manual-tests/linkjump-3.html: Added. Test case for this bug, <rdar://problem/4426668>.
1071         * manual-tests/linkjump-4.html: Added. Test case for past fix, <rdar://problem/4247537>.
1072         * manual-tests/linkjump-5.html: Added. Test case for past fix, <rdar://problem/4256060>.
1073         * manual-tests/scrollToAnchor.html: Removed.
1074
1075 2006-01-31  David Harrison  <harrison@apple.com>
1076
1077         Reviewed by John.
1078         <rdar://problem/4423922> TOT REGRESSION (r12358): first iframe in pair fails to copy
1079
1080         Layout test added:
1081         * editing/pasteboard/paste-empty-startcontainer.html
1082         
1083         * khtml/xml/dom2_rangeimpl.cpp:
1084         (DOM::RangeImpl::startNode):
1085         - use empty non-textual m_startContainer itself if m_startOffset is 0, rather then nextSibling()
1086
1087 2006-01-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1088
1089         Test: fast/forms/selected-index-assert.html.
1090
1091         Reviewed by Adele.
1092         
1093         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6942
1094           Assertion failure in HTMLSelectElementImpl::selectedIndex (m_multiple)
1095
1096         * khtml/html/HTMLSelectElementImpl.cpp:
1097         (WebCore::HTMLSelectElementImpl::selectedIndex): Removed bogus assert.
1098         -1 is the correct value to return if no option is selected.
1099
1100 2006-01-31  Beth Dakin  <bdakin@apple.com>
1101
1102         Reviewed by Adele.
1103
1104         Fixing build bustage. Removing include of khtml_factory.h since it 
1105         has been removed.
1106
1107         * rendering/font.cpp: No longer include khtml_factory.h
1108
1109 2006-01-31  David Kilzer  <ddkilzer@kilzer.net>
1110
1111         Reviewed by Hyatt.
1112
1113         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6584
1114           REGRESSION: button after unclosed button gives trouble
1115
1116         * khtml/html/htmlparser.cpp: (HTMLParser::getNode):
1117         Add buttonTag to error handling table to take care of unclosed tags.
1118
1119 2006-01-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1120
1121         Test: fast/parser/script-after-frameset-assert.html
1122
1123         Reviewed by Darin.
1124         
1125         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6959
1126           REGRESSION: Assertion failure in HTMLTokenizer::parseTag (!scriptNode) on page with ignored scripts
1127
1128         * khtml/html/htmltokenizer.cpp:
1129         (WebCore::HTMLTokenizer::scriptHandler): Reset scriptNode to 0 if the
1130         script is being skipped.
1131
1132 2006-01-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1133
1134         Reviewed by Darin.
1135
1136         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6960
1137           REGRESSION: Assertion failure in table_layout.cpp:216 calcWidthArray()
1138
1139         * rendering/table_layout.cpp: (WebCore::FixedTableLayout::calcWidthArray):
1140         Remove the assertion.
1141
1142 2006-01-31  Anders Carlsson  <andersca@mac.com>
1143
1144         Reviewed by John.
1145
1146         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6964
1147         ImagePatterns are always rendered mirrored
1148         
1149         * khtml/ecma/kjs_html.cpp:
1150         (KJS::ImagePattern::createPattern):
1151         Don't mirror the x coordinate when creating the pattern.
1152
1153 2006-01-31  Darin Adler  <darin@apple.com>
1154
1155         Reviewed by Hyatt.
1156
1157         - added a Timer class
1158         - used the Timer class for the redirection timer
1159         - moved Frame, FrameView, MacFrame, and FrameNodeTree into WebCore namespace
1160         - removed more KWQ
1161
1162         * ForwardingHeaders/khtml_factory.h: Removed.
1163         * kwq/KWQKHTMLFactory.cpp: Removed.
1164         * kwq/KWQKHTMLFactory.h: Removed.
1165
1166         * platform/Timer.h: Added.
1167         * platform/mac/Timer.cpp: Added.
1168
1169         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for added and removed files.
1170         * WebCore.xcodeproj/project.pbxproj: Ditto.
1171
1172         * page/Frame.h:
1173         * page/Frame.cpp:
1174         (WebCore::Frame::init): Remove code to set up slotRedirect.
1175         (WebCore::Frame::checkCompleted): Call start/stopRedirectionTimer instead of using
1176         the redirection timer directly.
1177         (WebCore::Frame::scheduleRedirection): Ditto.
1178         (WebCore::Frame::scheduleLocationChange): Ditto.
1179         (WebCore::Frame::scheduleHistoryNavigation): Ditto.
1180         (WebCore::Frame::cancelRedirection): Ditto.
1181         (WebCore::Frame::redirectionTimerFired): Renamed from slotRedirect.
1182         (WebCore::Frame::slotParentCompleted): More startRedirectionTimer.
1183         (WebCore::Frame::startRedirectionTimer): Added. Virtual bottleneck to start the
1184         redirection timer.
1185         (WebCore::Frame::stopRedirectionTimer): Added. Virtual bottleneck to stop the
1186         redirection timer.
1187
1188         * page/FramePrivate.h: Changed m_redirectionTimer from a QTimer to a Timer.
1189
1190         * bridge/mac/MacFrame.mm:
1191         (WebCore::MacFrame::startRedirectionTimer): Added. Avoids the need for the QTimer
1192         "monitor" feature that I had added a while back to implement the client-redirected
1193         callback.
1194         (WebCore::MacFrame::stopRedirectionTimer): Ditto.
1195
1196         * kwq/KWQSlot.cpp: Removed slotRedirected.
1197
1198         * ForwardingHeaders/ksvg2/KSVGPart.h: Removed using to put Frame into various
1199         namespaces (all of which are WebCore now anyway).
1200
1201         * bindings/objc/DOMInternal.mm:
1202         * bridge/mac/BrowserExtensionMac.h:
1203         * bridge/mac/KWQKHTMLView.cpp:
1204         * bridge/mac/MacFrame.h:
1205         * bridge/mac/WebCoreFrameBridge.h:
1206         * bridge/mac/WebCoreFrameBridge.mm:
1207         * bridge/mac/WebCorePageBridge.h:
1208         * bridge/mac/WebCorePageBridge.mm:
1209         * css/cssstyleselector.cpp:
1210         * css/cssstyleselector.h:
1211         * khtml/ecma/kjs_binding.cpp:
1212         * khtml/ecma/kjs_binding.h:
1213         * khtml/ecma/kjs_navigator.cpp:
1214         * khtml/ecma/kjs_navigator.h:
1215         * khtml/ecma/kjs_proxy.h:
1216         * khtml/ecma/kjs_window.h:
1217         * khtml/editing/SelectionController.h:
1218         * khtml/editing/jsediting.h:
1219         * khtml/html/html_baseimpl.h:
1220         * khtml/html/html_documentimpl.cpp:
1221         * khtml/html/html_documentimpl.h:
1222         * khtml/html/html_headimpl.h:
1223         * khtml/html/htmlparser.h:
1224         * khtml/html/htmltokenizer.h:
1225         * khtml/xml/DOMImplementationImpl.h:
1226         * khtml/xml/DocumentImpl.h:
1227         * khtml/xml/dom2_eventsimpl.h:
1228         * khtml/xml/xml_tokenizer.h:
1229         * khtml/xsl/xslt_processorimpl.h:
1230         * ksvg2/svg/SVGDocumentImpl.cpp:
1231         * kwq/KWQClipboard.h:
1232         * kwq/KWQComboBox.mm:
1233         * kwq/KWQFileButton.h:
1234         * kwq/KWQFrame.mm:
1235         * kwq/KWQKJavaAppletWidget.h:
1236         * kwq/KWQListBox.mm:
1237         * kwq/KWQSignalStubs.cpp:
1238         * kwq/KWQSlider.mm:
1239         * kwq/KWQTextField.mm:
1240         * kwq/KWQWidget.mm:
1241         * kwq/WebCoreSettings.mm:
1242         * kwq/WebCoreTextRendererFactory.mm:
1243         * loader/DocLoader.h:
1244         * page/FrameTreeNode.cpp:
1245         * page/FrameTreeNode.h:
1246         * page/FrameView.cpp:
1247         * page/FrameView.h:
1248         * page/Page.cpp:
1249         * page/Page.h:
1250         * rendering/InlineTextBox.h:
1251         * rendering/font.cpp:
1252         * rendering/render_canvas.h:
1253         * rendering/render_frames.h:
1254         * rendering/render_object.h:
1255         * rendering/render_replaced.h:
1256         Updated for namespace and header changes.
1257
1258 2006-01-31  Anders Carlsson  <andersca@mac.com>
1259
1260         Reviewed by Darin.
1261
1262         The WebCore part of http://bugzilla.opendarwin.org/show_bug.cgi?id=6907
1263         REGRESSION: United.com menus messed up due to document.all/MSIE sniff
1264         
1265         * khtml/ecma/kjs_html.h:
1266         (KJS::HTMLAllCollection::masqueradeAsUndefined):
1267         Update for name change.
1268         
1269 2006-01-30  Geoffrey Garen  <ggaren@apple.com>
1270
1271         Reviewed by mjs.
1272
1273         - Speculative fix for <rdar://problem/4135845> Crash executing 
1274         cross-frame script on timeout in KJS::ScheduledAction::execute
1275
1276         If we ever get a reproducible case of 4135845, I'll add a test for it.
1277
1278         This is a re-working of Maciej's fix for 3157014 (circa 2003!). Since
1279         you can't reliably predict what the state of the page will be when
1280         a timer fires, I've made the timer responsbile for making sure that
1281         everything is OK to execute.
1282
1283         I tested @ http://www.javascriptkit.com/script/cut3.shtml with various
1284         combinations of reload, back, and regular navigations with JS enabled/
1285         disabled to ensure that the previous crash didn't return. I also ran a 
1286         leaks test and discovered some, but none unique to this patch. (See 
1287         <rdar://problem/4427420> TOT REGRESSION: Leaks seen on page with 
1288         JavaScript timer.)
1289
1290         * khtml/ecma/kjs_window.cpp:
1291         (KJS::ScheduledAction::execute): Return early if there's no window
1292         object. (This happens when JavaScript is disabled.)
1293         (KJS::Window::retrieveWindow): Reversed a backwards ASSERT, increased
1294         prettiness. (The assert fired while I was testing. Not sure why we
1295         haven't seen it before.)
1296         * page/Frame.cpp:
1297         (Frame::didOpenURL): Returned setting of JavaScript enabled/disabled
1298         preference to its rightful place. This introduces a new behavior: now,
1299         the unload event does not fire after you've disabled JavaScript. That 
1300         seems like a good thing. (See <rdar://problem/4426506> Disabling 
1301         JavaScript should immediately end JavaScript execution.)
1302         (Frame::begin): Ditto.
1303
1304 2006-01-30  Geoffrey Garen  <ggaren@apple.com>
1305
1306         Reviewed by Dave Harrison.
1307
1308         - Fixed <rdar://problem/4378159> crash in KWQKHTMLPart::userGestureHint
1309         from javascript enabled/disabled inconsistency when pasting webpage 
1310         into email or blot
1311
1312         * page/Frame.cpp:
1313         (Frame::userGestureHint): Check root frame's jScript() for NULL instead
1314         of checking inner frame's jScript().
1315         
1316         After init() has been called on a frame, but before begin() has been 
1317         called, the frame can have JavaScript enabled when its parent doesn't.
1318         (That seems wrong, so I've filed <rdar://problem/4426499> Child frame 
1319         momentarily has JavaScript enabled even though parent frame doesn't.)
1320         
1321         Regardless, it's better programming practice to NULL check the actual 
1322         pointer you're going to use, so that's what I've done here.
1323
1324         * manual-tests/paste-crash.html: Added.
1325         (No automated test because the crash depends on JavaScript being
1326         disabled.)
1327
1328 2006-01-30  Beth Dakin  <bdakin@apple.com>
1329
1330         Reviewed by Geoff
1331
1332         Fix for <rdar://problem/4298052> Crash in KWQCheckIfReloading at 
1333         http://www.inquisitorx.com/beta/
1334
1335         It is possible for the DocLoader's frame to be nil when the 
1336         DocLoader is not nil, so we need nil checks.
1337
1338         * kwq/KWQLoader.mm:
1339         (KWQServeRequest): Nil check.
1340         (KWQServeSynchronousRequest): Same.
1341         (KWQCheckIfReloading): Same.
1342         (KWQCheckCacheObjectStatus): Same.
1343         (KWQCacheObjectExpiresTime): Same.
1344         * kwq/KWQPageState.mm: Same.
1345
1346 2006-01-30  Eric Seidel  <eseidel@apple.com>
1347
1348         Add #import "KWQFontMetrics.h" to fix no-svg build.
1349
1350         * kwq/KWQPainter.mm:
1351
1352 2006-01-30  Darin Adler  <darin@apple.com>
1353
1354         Reviewed by Eric.
1355
1356         - cleanup of Int/Float-Size/Point/Rect classes
1357
1358         I did this as part of a redo of QMatrix, but I decided I should
1359         land this part separately.
1360
1361         Eliminated the concept of a null rect or point, which used to be
1362         indicated by negative width and height.
1363
1364         Changed right and bottom to to be, e.g., 2 for a rect at (0,0) 2x2.
1365         The old code followed Qt's system that says right is 1 in those cases,
1366         which is inappropriate for floating point, and old fashioned because
1367         modern graphics systems use coordinates for lines between pixels, not
1368         the pixels themselves.
1369
1370         Other API improvements to the point, size, and rect classes. For example,
1371         functions named with verbs now always modify the object itself.
1372
1373         * rendering/render_theme_mac.mm: (RenderThemeMac::paintButton): Fixed
1374         a bug where it said x() where it should say y().
1375
1376         * bridge/mac/MacFrame.h:
1377         * bridge/mac/MacFrame.mm:
1378         * bridge/mac/WebCoreFrameBridge.mm:
1379         * kcanvas/KCanvasContainer.cpp:
1380         * kcanvas/KCanvasItem.cpp:
1381         * kcanvas/RenderSVGImage.cpp:
1382         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1383         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1384         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1385         * khtml/ecma/kjs_dom.cpp:
1386         * khtml/ecma/kjs_window.cpp:
1387         * khtml/editing/SelectionController.cpp:
1388         * khtml/html/html_inlineimpl.cpp:
1389         * khtml/html/html_objectimpl.cpp:
1390         * khtml/html/html_objectimpl.h:
1391         * khtml/misc/khtmllayout.h:
1392         * ksvg2/svg/SVGSVGElementImpl.cpp:
1393         * kwq/KWQAccObject.mm:
1394         * kwq/KWQComboBox.mm:
1395         * kwq/KWQFileButton.mm:
1396         * kwq/KWQFontMetrics.mm:
1397         * kwq/KWQPainter.h:
1398         * kwq/KWQPainter.mm:
1399         * kwq/KWQRegion.cpp:
1400         * kwq/KWQRenderTreeDebug.cpp:
1401         * kwq/KWQScrollView.mm:
1402         * kwq/KWQWMatrix.cpp:
1403         * kwq/KWQWidget.h:
1404         * kwq/KWQWidget.mm:
1405         * kwq/KWQWindowWidget.mm:
1406         * loader/CachedImage.cpp:
1407         * page/Frame.cpp:
1408         * page/FrameView.cpp:
1409         * platform/FloatPoint.cpp:
1410         * platform/FloatPoint.h:
1411         * platform/FloatRect.cpp:
1412         * platform/FloatRect.h:
1413         * platform/FloatSize.cpp:
1414         * platform/FloatSize.h:
1415         * platform/Image.h:
1416         * platform/IntPoint.cpp:
1417         * platform/IntPoint.h:
1418         * platform/IntPointArray.cpp:
1419         * platform/IntPointArray.h:
1420         * platform/IntRect.cpp:
1421         * platform/IntRect.h:
1422         * platform/IntSize.cpp:
1423         * platform/IntSize.h:
1424         * platform/mac/FloatPoint.mm:
1425         * platform/mac/FloatRect.mm:
1426         * platform/mac/FloatSize.mm:
1427         * platform/mac/Image.mm:
1428         * platform/mac/IntPoint.mm:
1429         * platform/mac/IntRect.mm:
1430         * platform/mac/IntSize.mm:
1431         * platform/mac/Screen.mm:
1432         * rendering/InlineTextBox.cpp:
1433         * rendering/RenderBlock.cpp:
1434         * rendering/RenderBlock.h:
1435         * rendering/RenderTable.cpp:
1436         * rendering/RenderTableCell.cpp:
1437         * rendering/RenderText.cpp:
1438         * rendering/render_box.cpp:
1439         * rendering/render_canvas.cpp:
1440         * rendering/render_canvasimage.cpp:
1441         * rendering/render_flow.cpp:
1442         * rendering/render_form.cpp:
1443         * rendering/render_frames.cpp:
1444         * rendering/render_layer.cpp:
1445         * rendering/render_line.cpp:
1446         * rendering/render_list.cpp:
1447         * rendering/render_object.cpp:
1448         * rendering/render_object.h:
1449         * rendering/render_replaced.cpp:
1450
1451 2006-01-29  Maciej Stachowiak  <mjs@apple.com>
1452
1453         Reviewed by Darin.
1454
1455         - Remove QSortedList and QPtrList sorting support
1456         http://bugzilla.opendarwin.org/show_bug.cgi?id=6929
1457
1458         * WebCore.xcodeproj/project.pbxproj:
1459         * kcanvas/device/KRenderingPaintServerGradient.cpp:
1460         (operator<<): Implement for Vector<KCGradientStop>
1461         (KRenderingPaintServerGradient::gradientStops): Use a Vector, not a subclass of
1462         QPtrList that sorts on every insert
1463         (compareStopOffset): Comparison function for sorting.
1464         (KRenderingPaintServerGradient::setGradientStops): Add a version that takes a Vector which sorts,
1465         and another which knows how to copy from another gradient paint server.
1466         * kcanvas/device/KRenderingPaintServerGradient.h:
1467         (makeGradientStop): Make a gradient stop pair.
1468         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1469         (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): use delete
1470         on stops cache
1471         (KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache): adapt to Vector
1472         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
1473         * khtml/editing/visible_text.cpp:
1474         (khtml::compareBoxStart): Comparison function for sorting.
1475         (khtml::TextIterator::handleTextNode): Use Vector and std::sort instead of QSortedList
1476         for sorting. Keep current position as an index.
1477         (khtml::TextIterator::handleTextBox): Adapt for Vector use.
1478         * khtml/editing/visible_text.h:
1479         * ksvg2/svg/SVGGradientElementImpl.cpp:
1480         (SVGGradientElementImpl::rebuildStops): Use a Vector. Instead of modifying the existing one,
1481         make a fresh one and assign it.
1482         * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
1483         (SVGLinearGradientElementImpl::buildGradient): don't copy item by item, just assign directly.
1484         * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
1485         (SVGRadialGradientElementImpl::buildGradient): ditto
1486         * ksvg2/svg/SVGStopElementImpl.h:
1487         * kwq/KWQListImpl.cpp:
1488         * kwq/KWQPtrList.h:
1489         (QPtrList::sort): Removed.
1490         * kwq/KWQSortedList.h: Removed.
1491         * rendering/InlineTextBox.h: Remove now unneeded operator< and operator=
1492
1493 2006-01-29  Darin Adler  <darin@apple.com>
1494
1495         Reviewed by Maciej.
1496
1497         - killed more KWQ, KWinModule and QVariant
1498
1499         * ForwardingHeaders/kwinmodule.h: Removed.
1500         * ForwardingHeaders/qvariant.h: Removed.
1501
1502         * kwq/KWQKWinModule.h: Removed.
1503         * kwq/KWQKWinModule.mm: Removed.
1504         * kwq/KWQVariant.cpp: Removed.
1505         * kwq/KWQVariant.h: Removed.
1506
1507         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removal.
1508         * WebCore.xcodeproj/project.pbxproj: Ditto.
1509
1510         * khtml/ecma/kjs_binding.h:
1511         * khtml/ecma/kjs_binding.cpp: Remove QVariant stuff.
1512
1513         * bridge/mac/WebCoreFrameBridge.mm:
1514         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1515         * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
1516         * khtml/ecma/kjs_proxy.h:
1517         * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
1518         * page/Frame.h:
1519         * page/Frame.cpp:
1520         (getString):
1521         (Frame::replaceContentsWithScriptResult):
1522         (Frame::executeScript):
1523         (Frame::executeScheduledScript):
1524         (Frame::changeLocation):
1525         (Frame::urlSelected):
1526         (Frame::submitForm):
1527         Changed to use JSValue instead of QVariant for result of executing JavaScript.
1528
1529         * kwq/KWQObject.h: Removed a bunch of unneeded includes and forward declarations.
1530
1531         * bridge/mac/MacFrame.mm:
1532         * khtml/ecma/kjs_window.h:
1533         * khtml/ecma/kjs_window.cpp:
1534         * khtml/html/html_inlineimpl.cpp:
1535         * khtml/html/htmltokenizer.cpp:
1536         * khtml/xml/DocumentImpl.cpp:
1537         * khtml/xml/NodeImpl.cpp:
1538         * khtml/xml/dom2_eventsimpl.cpp:
1539         * khtml/xml/xml_tokenizer.cpp:
1540         * kwq/KWQComboBox.mm:
1541         * kwq/KWQFileButton.mm:
1542         * kwq/KWQListBox.mm:
1543         * kwq/KWQObject.cpp:
1544         * kwq/KWQSlider.mm:
1545         * kwq/KWQTextArea.mm:
1546         * kwq/KWQTextField.mm:
1547         * loader/CachedImage.h:
1548         * page/FrameView.h:
1549         * page/FrameView.cpp:
1550         * rendering/render_form.cpp:
1551         Updated includes, since KWQObject.h now includes less.
1552         Also updated callers to executeScript since one overload was removed.
1553
1554 2006-01-29  Eric Seidel <eseidel@apple.com>
1555
1556         Reviewed by darin.
1557
1558         Added back #include <qvaluelist.h> to fix WIN32 build.
1559
1560         * rendering/render_style.h:
1561
1562 2006-01-29  Darin Adler  <darin@apple.com>
1563
1564         Reviewed by Hyatt (drag image fix) and Maciej (the rest).
1565
1566         - fixed just-introduced crash dragging images
1567
1568         I don't know how to make a layout test for this.
1569
1570         * kwq/KWQClipboard.mm: (WebCore::KWQClipboard::dragImage): Fixed crash on
1571         dragging by initializing m_dragImage to 0.
1572
1573         - http://bugzilla.opendarwin.org/show_bug.cgi?id=6923
1574           remove more of KWQ, including the screen functions from QDesktopWidget
1575
1576         * kwq/KWQApplication.h: Removed.
1577         * kwq/KWQApplication.mm: Removed.
1578         * kwq/KWQGlobal.cpp: Removed.
1579         * kwq/KWQKPartsEvent.cpp: Removed.
1580         * kwq/KWQKPartsEvent.h: Removed.
1581         * kwq/KWQPair.h: Removed.
1582         * kwq/KWQStyle.cpp: Removed.
1583         * kwq/KWQStyle.h: Removed.
1584
1585         * ForwardingHeaders/kparts/event.h: Removed.
1586         * ForwardingHeaders/qapplication.h: Removed.
1587         * ForwardingHeaders/qstyle.h: Removed.
1588
1589         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
1590         * WebCore.xcodeproj/project.pbxproj: Ditto.
1591
1592         * platform/Screen.h: Added. Replaces the desktop widget stuff in KWQApplication.mm.
1593         * platform/mac/Screen.mm: Added.
1594
1595         * kwq/KWQDef.h: Removed everything except for kMin and kMax from here.
1596         We should port to std::min and std::max, and then we can get rid of this
1597         header altogether.
1598
1599         * kwq/KWQKCursor.h: Removed setAutoHideCursor.
1600         * kwq/KWQKCursor.mm: Ditto.
1601
1602         * kwq/KWQWidget.h: Removed style() and setStyle() functions.
1603         * kwq/KWQWidget.mm: Ditto.
1604
1605         * khtml/ecma/kjs_window.h:
1606         * khtml/ecma/kjs_window.cpp:
1607         (KJS::Screen::Screen): Store a pointer to the Frame.
1608         (KJS::Screen::getValueProperty): Port to use the new Screen.h functions.
1609         (KJS::showModalDialog): Ditto.
1610         (KJS::Window::getValueProperty): Ditto.
1611         (KJS::WindowFunc::callAsFunction): Ditto.
1612
1613         * khtml/khtml_events.h:
1614         * khtml/khtml_events.cpp: Removed much of the code here.
1615         This can be cut down even more.
1616
1617         * khtml/misc/khtmllayout.h: Removed unused stuff and updated for KWQ changes.
1618
1619         * kwq/KWQCString.cpp:
1620         * kwq/KWQKURL.mm:
1621         * kwq/KWQPainter.mm:
1622         * kwq/KWQRegExp.cpp:
1623         * kwq/KWQRenderTreeDebug.cpp:
1624         * kwq/KWQString.h:
1625         * kwq/KWQString.mm:
1626         * kwq/KWQTextCodec.cpp:
1627         * WebCore+SVG/KDOMSettings.cpp:
1628         * bridge/mac/MacFrame.mm:
1629         * bridge/mac/WebCoreFrameBridge.mm:
1630         * css/cssparser.cpp:
1631         * kcanvas/KCanvasItem.cpp:
1632         * khtml/ecma/kjs_navigator.cpp:
1633         * khtml/html/HTMLSelectElementImpl.cpp:
1634         * khtml/html/html_tableimpl.h:
1635         * khtml/html/htmltokenizer.cpp:
1636         * khtml/misc/decoder.cpp:
1637         * ksvg2/css/KSVGCSSParser.cpp:
1638         * ksvg2/css/SVGRenderStyle.h:
1639         * page/Frame.h:
1640         * page/Frame.cpp:
1641         * page/FrameView.cpp:
1642         * platform/IntPointArray.cpp:
1643         * rendering/RenderBlock.cpp:
1644         * rendering/RenderTable.cpp:
1645         * rendering/bidi.cpp:
1646         * rendering/bidi.h:
1647         * rendering/render_form.cpp:
1648         * rendering/render_object.cpp:
1649         * rendering/render_object.h:
1650         * rendering/render_replaced.cpp:
1651         * rendering/render_style.h:
1652         * rendering/table_layout.cpp:
1653         Updated for above KWQ changes. Changed tabs to spaces.
1654
1655 2006-01-29  Eric Seidel <eseidel@apple.com>
1656
1657         Reviewed by hyatt.
1658
1659         Fix build for Win32.
1660
1661         * WebCore.vcproj/WebCore/WebCore.vcproj:
1662
1663 2006-01-29  David Hyatt  <hyatt@apple.com>
1664
1665         Fix for bug 6910, don't let Image be assignable or copiable.  It will soon represent  the actual
1666         original Image (including the data) and as such must remain unique.
1667
1668         Reviewed by darin
1669
1670         * kcanvas/KCanvasFilters.cpp:
1671         (KCanvasFEImage::~KCanvasFEImage):
1672         (KCanvasFEImage::setCachedImage):
1673         * kcanvas/KCanvasFilters.h:
1674         (KCanvasFEImage::KCanvasFEImage):
1675         (KCanvasFEImage::cachedImage):
1676         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1677         (KCanvasFEImageQuartz::getCIFilter):
1678         * khtml/ecma/kjs_events.cpp:
1679         (KJS::ClipboardProtoFunc::callAsFunction):
1680         * khtml/ecma/kjs_html.cpp:
1681         (KJS::KJS::Context2DFunction::callAsFunction):
1682         (KJS::drawPattern):
1683         (KJS::_rh):
1684         (KJS::ImagePattern::~ImagePattern):
1685         (KJS::ImagePattern::createPattern):
1686         * khtml/ecma/kjs_html.h:
1687         (KJS::ImagePattern::cachedImage):
1688         * khtml/html/html_imageimpl.h:
1689         (WebCore::HTMLImageElementImpl::cachedImage):
1690         * khtml/xml/dom2_eventsimpl.h:
1691         * ksvg2/svg/SVGCursorElementImpl.cpp:
1692         (SVGCursorElementImpl::~SVGCursorElementImpl):
1693         (SVGCursorElementImpl::parseMappedAttribute):
1694         * ksvg2/svg/SVGCursorElementImpl.h:
1695         (KSVG::SVGCursorElementImpl::cachedImage):
1696         * ksvg2/svg/SVGFEImageElementImpl.cpp:
1697         (SVGFEImageElementImpl::~SVGFEImageElementImpl):
1698         (SVGFEImageElementImpl::parseMappedAttribute):
1699         (SVGFEImageElementImpl::notifyFinished):
1700         * kwq/KWQClipboard.h:
1701         * kwq/KWQClipboard.mm:
1702         (WebCore::KWQClipboard::dragImage):
1703         (WebCore::KWQClipboard::setDragImage):
1704         (WebCore::KWQClipboard::setDragImageElement):
1705         (WebCore::KWQClipboard::imageChanged):
1706         (WebCore::KWQClipboard::dragNSImage):
1707         * platform/Image.h:
1708
1709 2006-01-29  Darin Adler  <darin@apple.com>
1710
1711         Reviewed by Hyatt.
1712
1713         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6914
1714           REGRESSION: fast/block/basic/014.html crashes Safari
1715
1716         * rendering/render_image.h:
1717         (WebCore::RenderImage::image): Return a null image when m_cachedImage is 0.
1718         (WebCore::RenderImage::errorOccurred): Return false when m_cachedImage is 0.
1719         * rendering/render_image.cpp: (WebCore::RenderImage::nullImage): Added.
1720         Returns a global null image for use when we have no cached image.
1721
1722         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6919
1723           REGRESSION: Background images don't paint when they are finished loading
1724
1725         * rendering/render_object.h: Renamed the old setImage to imageChanged, the
1726         new name for the same function.
1727         * rendering/render_object.cpp: (WebCore::RenderObject::imageChanged): Ditto.
1728         * rendering/render_list.cpp: (RenderListMarker::imageChanged): Changed the
1729         call to parent to call the new imageChanged instead of the old setImage.
1730
1731         - fixed something else that was causing some layout test crashes
1732
1733         * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation): Rearrange so we won't
1734         ever dereference a null pointer here.
1735
1736 2006-01-29  Maciej Stachowiak  <mjs@apple.com>
1737
1738         Reviewed by Darin.
1739
1740         - replace QValueVector and QPtrVector use with Vector, and remove them.
1741         http://bugzilla.opendarwin.org/show_bug.cgi?id=6909
1742
1743         * ForwardingHeaders/q3valuevector.h: Removed.
1744         * ForwardingHeaders/qptrvector.h: Removed.
1745         * ForwardingHeaders/qvector.h: Removed.
1746         * WebCore+SVG/KDOMSettings.cpp:
1747         (KDOMSettings::init):
1748         (KDOMSettings::isAdFiltered):
1749         * WebCore.xcodeproj/project.pbxproj:
1750         * bridge/mac/WebCoreFrameBridge.mm:
1751         (-[WebCoreFrameBridge elementWithName:inForm:]):
1752         (-[WebCoreFrameBridge controlsInForm:]):
1753         * css/cssstyleselector.h:
1754         * khtml/html/HTMLCollectionImpl.cpp:
1755         (WebCore::HTMLCollectionImpl::updateNameCache):
1756         (WebCore::HTMLCollectionImpl::namedItems):
1757         * khtml/html/HTMLCollectionImpl.h:
1758         * khtml/html/HTMLFormCollectionImpl.cpp:
1759         (WebCore::HTMLFormCollectionImpl::HTMLFormCollectionImpl):
1760         (WebCore::HTMLFormCollectionImpl::calcLength):
1761         (WebCore::HTMLFormCollectionImpl::item):
1762         (WebCore::HTMLFormCollectionImpl::getNamedFormItem):
1763         (WebCore::HTMLFormCollectionImpl::updateNameCache):
1764         * khtml/html/HTMLFormElementImpl.cpp:
1765         (WebCore::HTMLFormElementImpl::~HTMLFormElementImpl):
1766         (WebCore::HTMLFormElementImpl::length):
1767         (WebCore::HTMLFormElementImpl::submitClick):
1768         (WebCore::HTMLFormElementImpl::formData):
1769         (WebCore::HTMLFormElementImpl::submit):
1770         (WebCore::HTMLFormElementImpl::reset):
1771         (WebCore::insertIntoVector):
1772         (WebCore::removeFromVector):
1773         (WebCore::HTMLFormElementImpl::formElementIndex):
1774         (WebCore::HTMLFormElementImpl::registerImgElement):
1775         * khtml/html/HTMLFormElementImpl.h:
1776         * ksvg2/svg/SVGTextElementImpl.cpp:
1777         * kwq/KWQComboBox.h:
1778         * kwq/KWQListBox.h:
1779         * kwq/KWQPtrVector.h: Removed.
1780         * kwq/KWQRenderTreeDebug.cpp:
1781         (writeLayers):
1782         * kwq/KWQValueVector.h: Removed.
1783         * kwq/KWQVectorImpl.cpp: Removed.
1784         * kwq/KWQVectorImpl.h: Removed.
1785         * loader/loader.cpp:
1786         (WebCore::Loader::cancelRequests):
1787         * rendering/render_layer.cpp:
1788         (WebCore::RenderLayer::paintLayer):
1789         (WebCore::RenderLayer::hitTestLayer):
1790         (WebCore::compareZIndex):
1791         (WebCore::RenderLayer::updateZOrderLists):
1792         (WebCore::RenderLayer::collectLayers):
1793         * rendering/render_layer.h:
1794         (khtml::RenderLayer::posZOrderList):
1795         (khtml::RenderLayer::negZOrderList):
1796
1797 2006-01-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1798
1799         Test: fast/table/border-collapsing/rtl-border-collapsing.html
1800
1801         Reviewed by Darin.
1802
1803         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6888
1804           Collapsed borders appear on the wrong side or on the wrong cell in RTL tables
1805
1806         * rendering/RenderTable.cpp:
1807         (WebCore::RenderTable::cellBefore): Renamed cellLeft to this.
1808         (WebCore::RenderTable::cellAfter): Renamed cellRight to this.
1809         * rendering/RenderTable.h:
1810         * rendering/RenderTableCell.cpp:
1811         (WebCore::RenderTableCell::collapsedLeftBorder): Added the RTL case.
1812         (WebCore::RenderTableCell::collapsedRightBorder): Ditto.
1813         (WebCore::RenderTableCell::borderLeft):
1814         (WebCore::RenderTableCell::borderRight):
1815         (WebCore::RenderTableCell::collectBorders):
1816         (WebCore::RenderTableCell::paintCollapsedBorder):
1817         * rendering/RenderTableCell.h:
1818
1819 2006-01-29  Darin Adler  <darin@apple.com>
1820
1821         Reviewed by Maciej.
1822
1823         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6550
1824           REGRESSION: window.open('myurl', '_self') fails to load myurl in current window
1825
1826         Tests:
1827         * fast/dom/Window/window-open-parent-no-parent.html: Added.
1828         * fast/dom/Window/window-open-parent.html: Added.
1829         * fast/dom/Window/window-open-self.html: Added.
1830         * fast/dom/Window/window-open-top.html: Added.
1831
1832         * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):
1833         Fix check for special frame names. These special frame names are supposed
1834         to always be unaffected by pop-up blocking. But the code instead was
1835         saying that the special frame names are always blocked. Oops!
1836
1837 2006-01-29  Darin Adler  <darin@apple.com>
1838
1839         Suggested by Alexey.
1840
1841         - fixed something Alexey noticed in the new exception names
1842
1843         Test: fast/dom/Range/range-exceptions.html
1844
1845         * khtml/ecma/kjs_binding.cpp: Added 0 to fix an off-by-one error for the
1846         names of the two DOM range exceptions.
1847
1848 2006-01-29  David Harrison  <harrison@apple.com>
1849
1850         Reviewed by John.
1851
1852         Fix two problems with editing around empty list items:
1853         1) Arrowing up or down to an empty list item skipped the list item
1854         2) Deleting the content of a list item made it so you could never get the cursor inside the empty item
1855
1856         Added tests:
1857         * selection/move-by-line-002.html
1858         * deleting/delete-listitem-002.html
1859         
1860         * khtml/editing/composite_edit_command.cpp:
1861         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
1862         - special check for empty list item because list marker assures non-zero height()
1863         
1864         * khtml/xml/dom_position.cpp:
1865         (DOM::Position::inRenderedContent):
1866         - fix check wrt BRs because text box is not required
1867         
1868         * rendering/bidi.cpp:
1869         (khtml::RenderBlock::constructLine):
1870         - make sure that br by itself in a list item gets a text-style box
1871         
1872         (khtml::RenderBlock::findNextLineBreak):
1873         - make sure that br by itself in a list item gets a box at all
1874
1875 2006-01-29  Eric Seidel  <eseidel@apple.com>
1876
1877         Reviewed by hyatt & darin.
1878
1879         There are a few small, but intertwined fixes in this patch:
1880
1881         Remaining fixes for SVGTetris:
1882         http://bugzilla.opendarwin.org/show_bug.cgi?id=6889
1883
1884         Testing blocked by: http://bugzilla.opendarwin.org/show_bug.cgi?id=6905
1885
1886         Fix for CDF support:
1887         http://bugzilla.opendarwin.org/show_bug.cgi?id=6025
1888
1889         Updated test: svg/custom/simpleCDF.xml
1890
1891         Fix for filter updating:
1892         http://bugzilla.opendarwin.org/show_bug.cgi?id=6849
1893
1894         Testing blocked by: http://bugzilla.opendarwin.org/show_bug.cgi?id=6904
1895
1896         Also, as a side effect of 6849, fixed double-apply of filters, improving:
1897         http://bugzilla.opendarwin.org/show_bug.cgi?id=6713
1898
1899         Results updated for most tests, pixel results improved for filter tests.
1900
1901         * kcanvas/KCanvasFilters.cpp:
1902         (KCanvasFilter::filterBBoxForItemBBox): moved into baseclass
1903         * kcanvas/KCanvasFilters.h:
1904         * kcanvas/RenderSVGImage.cpp:
1905         (RenderSVGImage::paint): use relativeBBox
1906         (RenderSVGImage::relativeBBox): added
1907         (RenderSVGImage::imageChanged): added
1908         (RenderSVGImage::getAbsoluteRepaintRect): fixed
1909         * kcanvas/RenderSVGImage.h:
1910         (KSVG::RenderSVGImage::imageChanged): added.
1911         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
1912         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1913         (KCanvasFilterQuartz::applyFilter): use new baseclass method
1914         (KCanvasFEFloodQuartz::getCIFilter): fixed.
1915         * kcanvas/device/quartz/KCanvasItemQuartz.h:
1916         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1917         (KCanvasItemQuartz::layout): update width/height
1918         (KCanvasItemQuartz::getAbsoluteRepaintRect): fixed.
1919         (KCanvasItemQuartz::requiresLayer): moved to .cpp
1920         (KCanvasItemQuartz::lineHeight): added.
1921         (KCanvasItemQuartz::baselinePosition): added.
1922         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
1923         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1924         (KCanvasContainerQuartz::canHaveChildren): moved to .cpp
1925         (KCanvasContainerQuartz::requiresLayer): moved to .cpp
1926         (KCanvasContainerQuartz::lineHeight): added.
1927         (KCanvasContainerQuartz::baselinePosition): added.
1928         (KCanvasContainerQuartz::paint): fixed.
1929         (KCanvasContainerQuartz::viewportTransform): fixed.
1930         (KCanvasContainerQuartz::getAbsoluteRepaintRect): fixed.
1931         (KCanvasContainerQuartz::absoluteTransform): fixed.
1932         * rendering/render_object.cpp:
1933         (WebCore::RenderObject::absoluteTransform): fixed apply order.
1934
1935 2006-01-29  Eric Seidel  <eseidel@apple.com>
1936
1937         Reviewed by hyatt.
1938
1939         First set of fixes for SVG Tetris:
1940         http://bugzilla.opendarwin.org/show_bug.cgi?id=6889
1941
1942         Tests:
1943         * svg/custom/viewport-update.svg
1944         Key press test not yet possible:
1945         http://bugzilla.opendarwin.org/show_bug.cgi?id=6906
1946
1947         * bridge/mac/MacFrame.mm:
1948         (MacFrame::keyEvent): pass key events to things other than HTML
1949         * ksvg2/svg/SVGSVGElementImpl.cpp:
1950         (WebCore::SVGSVGElementImpl::parseMappedAttribute): update viewport
1951
1952 2006-01-29  Eric Seidel  <eseidel@apple.com>
1953
1954         Reviewed by mjs.
1955
1956         Fix SVG layout tests crash due to Vector change.
1957
1958         * kcanvas/device/KRenderingDevice.cpp:
1959         (KRenderingDevice::currentContext): check isEmpty, return 0
1960
1961 2006-01-28  Eric Seidel  <eseidel@apple.com>
1962
1963         Reviewed by mjs.
1964
1965         Remove bogus IntRect operator.
1966
1967         * platform/FloatRect.h:
1968
1969 2006-01-28  David Hyatt  <hyatt@apple.com>
1970
1971         Cleanup of RenderImage.  Eliminate unneeded members and methods.
1972
1973         Reviewed by darin
1974
1975         * bridge/mac/WebCoreFrameBridge.mm:
1976         (-[WebCoreFrameBridge elementAtPoint:]):
1977         * khtml/ecma/kjs_html.cpp:
1978         (KJS::KJS::Context2DFunction::callAsFunction):
1979         (KJS::drawPattern):
1980         * khtml/html/HTMLInputElementImpl.cpp:
1981         (WebCore::HTMLInputElementImpl::attach):
1982         * khtml/html/html_imageimpl.cpp:
1983         (WebCore::HTMLImageLoader::notifyFinished):
1984         (WebCore::HTMLImageElementImpl::attach):
1985         * khtml/html/html_imageimpl.h:
1986         (WebCore::HTMLImageElementImpl::compositeOperator):
1987         * khtml/html/html_objectimpl.cpp:
1988         (WebCore::HTMLObjectElementImpl::attach):
1989         * ksvg2/svg/SVGImageElementImpl.cpp:
1990         (SVGImageElementImpl::attach):
1991         * kwq/KWQPainter.h:
1992         * kwq/KWQPainter.mm:
1993         (WebCore::QPainter::drawImageAtPoint):
1994         (WebCore::QPainter::drawImageInRect):
1995         (WebCore::QPainter::drawImage):
1996         (WebCore::QPainter::drawFloatImage):
1997         (WebCore::QPainter::drawTiledImage):
1998         (WebCore::QPainter::drawScaledAndTiledImage):
1999         * kwq/WebCoreImageRenderer.h:
2000         * loader/CachedImage.cpp:
2001         (WebCore::CachedImage::ref):
2002         (WebCore::CachedImage::notifyObservers):
2003         (WebCore::CachedImage::data):
2004         (WebCore::CachedImage::error):
2005         * loader/CachedImage.h:
2006         * loader/CachedObjectClient.h:
2007         (WebCore::CachedObjectClient::imageChanged):
2008         * platform/Image.h:
2009         (WebCore::Image::):
2010         * platform/mac/Image.mm:
2011         (WebCore::Image::Image):
2012         (WebCore::Image::resetAnimation):
2013         (WebCore::Image::operator=):
2014         (WebCore::Image::stopAnimations):
2015         (WebCore::):
2016         (WebCore::Image::compositeOperatorFromString):
2017         * rendering/render_box.cpp:
2018         (WebCore::RenderBox::paintBackgroundExtended):
2019         * rendering/render_canvasimage.cpp:
2020         (WebCore::RenderCanvasImage::paint):
2021         * rendering/render_image.cpp:
2022         (WebCore::RenderImage::RenderImage):
2023         (WebCore::RenderImage::~RenderImage):
2024         (WebCore::RenderImage::setContentObject):
2025         (WebCore::RenderImage::setCachedImage):
2026         (WebCore::RenderImage::imageChanged):
2027         (WebCore::RenderImage::resetAnimation):
2028         (WebCore::RenderImage::paint):
2029         (WebCore::RenderImage::layout):
2030         (WebCore::RenderImage::updateAltText):
2031         (WebCore::RenderImage::calcReplacedWidth):
2032         (WebCore::RenderImage::calcReplacedHeight):
2033         * rendering/render_image.h:
2034         (WebCore::RenderImage::cachedImage):
2035         (WebCore::RenderImage::image):
2036         (WebCore::RenderImage::errorOccurred):
2037         * rendering/render_list.cpp:
2038         (RenderListMarker::paint):
2039         (RenderListMarker::imageChanged):
2040         * rendering/render_list.h:
2041         * rendering/render_object.cpp:
2042         (WebCore::RenderObject::paintBorderImage):
2043         (WebCore::RenderObject::setImage):
2044         * rendering/render_object.h:
2045
2046 2006-01-28  Darin Adler  <darin@apple.com>
2047
2048         Reviewed by Eric.
2049
2050         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6711
2051           crash if an event is dispatched to a listener that uses handleEvent
2052
2053         Test: fast/events/dispatch-to-handle-event.html
2054
2055         * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
2056         Remove boolean that is always false, and correct the one place that was
2057         checking it to check the correct pointer instead.
2058
2059 2006-01-28  Maciej Stachowiak  <mjs@apple.com>
2060
2061         Reviewed by Darin.
2062
2063         - remove QPtrStack, replace with Vector or traverseNextNode as appropriate
2064
2065         * WebCore.xcodeproj/project.pbxproj:
2066         * kcanvas/device/KRenderingDevice.cpp:
2067         (KRenderingDevice::currentContext):
2068         (KRenderingDevice::popContext):
2069         (KRenderingDevice::pushContext):
2070         * kcanvas/device/KRenderingDevice.h:
2071         * khtml/html/html_documentimpl.cpp:
2072         * khtml/xml/DocumentImpl.cpp:
2073         * khtml/xml/xml_tokenizer.cpp:
2074         (WebCore::XMLTokenizer::XMLTokenizer):
2075         * kwq/KWQAccObject.mm:
2076         (-[KWQAccObject addChildrenToArray:]):
2077         * kwq/KWQPainter.mm:
2078         (WebCore::QPainter::save):
2079         (WebCore::QPainter::restore):
2080         * kwq/KWQPtrStack.h: Removed.
2081         * ForwardingHeaders/qptrstack.h: Removed.
2082         * ForwardingHeaders/q3ptrstack.h: Removed.
2083
2084 2006-01-28  Maciej Stachowiak  <mjs@apple.com>
2085
2086         - added missing forwarding header to fix build.
2087         
2088         * ForwardingHeaders/kxmlcore/Vector.h: Added.
2089
2090 2006-01-28  Darin Adler  <darin@apple.com>
2091
2092         * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Removed extra parameter
2093         to fix the build.
2094
2095 2006-01-28  Maciej Stachowiak  <mjs@apple.com>
2096
2097         Reviewed by Darin.
2098
2099         - converted KWQKURL to use Vector
2100         http://bugzilla.opendarwin.org/show_bug.cgi?id=6900
2101
2102         Use Vector in place of Array, and in place of the custom stack
2103         buffers with overflow.
2104         
2105         * kwq/KWQKURL.mm:
2106         (KURL::KURL):
2107         (KURL::decode_string):
2108         (KURL::parse):
2109         (KURL::encode_string):
2110         (findHostnamesInMailToURL):
2111         (encodeHostnames):
2112
2113 2006-01-28  Darin Adler  <darin@apple.com>
2114
2115         Reviewed by Maciej.
2116
2117         - http://bugzilla.opendarwin.org/show_bug.cgi?id=6895
2118           include exception names in JavaScript form of DOM exception
2119
2120         * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Include the name of the
2121         exception in the error message.
2122
2123 2006-01-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2124
2125         Test: fast/table/add-before-anonymous-child.html
2126
2127         Reviewed by Darin.
2128
2129         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5868
2130           Crash on HP.com with ToT and Safari 2.0.2 in khtml::RenderContainer::detach()
2131
2132         * rendering/RenderTableRow.cpp:
2133         (WebCore::RenderTableRow::addChild): If beforeChild is inside an anonymous
2134         cell, insert into the cell.
2135         * rendering/RenderTableSection.cpp:
2136         (WebCore::RenderTableSection::addChild): Changed comment.
2137
2138 2006-01-28  David Hyatt  <hyatt@apple.com>
2139
2140         Eliminate the mask() method on Image.  It's unused.
2141
2142         * platform/Image.h:
2143         * platform/mac/Image.mm:
2144
2145 2006-01-28  David Hyatt  <hyatt@apple.com>
2146
2147         Clean up the Image class.  Eliminate the MIME type member variable.
2148         Eliminate an unused constructor.  Fix the constructor to take
2149         a QString rather than an NSString so that it's portable.  Rename
2150         the receivedData method to decode.  Move canRenderImageType into
2151         the Image class as a static method.
2152
2153         Reviewed by mjs
2154
2155         * khtml/html/html_objectimpl.cpp:
2156         (WebCore::HTMLObjectElementImpl::isImageType):
2157         * kwq/KWQLoader.h:
2158         * kwq/KWQLoader.mm:
2159         (KWQResponseMIMEType):
2160         * loader/CachedImage.cpp:
2161         (WebCore::CachedImage::data):
2162         * platform/Image.h:
2163         * platform/mac/Image.mm:
2164         (WebCore::Image::supportsType):
2165         (WebCore::Image::Image):
2166         (WebCore::Image::~Image):
2167         (WebCore::Image::decode):
2168         (WebCore::Image::operator=):
2169
2170 2006-01-28  Alexander Kellett  <lypanov@kde.org>
2171
2172         Reviewed by eseidel.
2173
2174         SourceAlpha does not display until window is redrawn (resized)
2175         http://bugzilla.opendarwin.org/show_bug.cgi?id=6375
2176
2177         Test: svg/custom/filter-source-alpha.svg
2178
2179         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2180         (KCanvasFilterQuartz::inputImage):
2181
2182 2006-01-28  David Hyatt  <hyatt@apple.com>
2183
2184         Fix CachedImage.h/.cpp up.  Lots of cleanup.  Eliminated
2185         unused code and cleaned up method and member names.
2186
2187         Reviewed by darin
2188
2189         * WebCore.xcodeproj/project.pbxproj:
2190         * khtml/html/html_imageimpl.cpp:
2191         (WebCore::HTMLImageElementImpl::width):
2192         (WebCore::HTMLImageElementImpl::height):
2193         * loader/CachedImage.cpp:
2194         (WebCore::CachedImage::CachedImage):
2195         (WebCore::CachedImage::ref):
2196         (WebCore::CachedImage::deref):
2197         (WebCore::CachedImage::image):
2198         (WebCore::CachedImage::imageSize):
2199         (WebCore::CachedImage::decodedRect):
2200         (WebCore::CachedImage::notifyObservers):
2201         (WebCore::CachedImage::clear):
2202         (WebCore::CachedImage::data):
2203         (WebCore::CachedImage::error):
2204         (WebCore::CachedImage::checkNotify):
2205         * loader/CachedImage.h:
2206         (WebCore::CachedImage::isDecoded):
2207         (WebCore::CachedImage::isErrorImage):
2208         (WebCore::CachedImage::schedule):
2209         (WebCore::CachedImage::isImage):
2210         * loader/CachedImageCallback.cpp: Removed.
2211         * loader/CachedImageCallback.h: Removed.
2212         * loader/loader.cpp:
2213         (WebCore::Loader::servePendingRequests):
2214         (WebCore::Loader::slotFinished):
2215         * platform/Image.h:
2216         * platform/mac/Image.mm:
2217         (WebCore::Image::receivedData):
2218         * rendering/render_box.cpp:
2219         (WebCore::RenderBox::paintBackgroundExtended):
2220         * rendering/render_image.cpp:
2221         (WebCore::RenderImage::setImage):
2222         (WebCore::RenderImage::paint):
2223         * rendering/render_line.cpp:
2224         (WebCore::InlineFlowBox::paintBackground):
2225         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
2226         * rendering/render_list.cpp:
2227         (RenderListMarker::setImage):
2228         * rendering/render_object.cpp:
2229         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
2230         (WebCore::RenderObject::paintBorder):
2231         (WebCore::RenderObject::setImage):
2232
2233 2006-01-27  Maciej Stachowiak  <mjs@apple.com>
2234
2235         Reviewed by Geoff.
2236
2237         - GC after destroying the very last frame to avoid node leak false positives
2238         http://bugzilla.opendarwin.org/show_bug.cgi?id=6884
2239
2240         * ForwardingHeaders/JSLock.h: added
2241         * page/Page.cpp:
2242         (Page::~Page): In debug mode, when destroying the last page,
2243         0 out m_mainFrame to destroy the very last frame and then garbage collect,
2244         so a GC happens at a time when the stack won't have references into the JS
2245         heap for the conservative GC to catch.
2246
2247 2006-01-27  Maciej Stachowiak  <mjs@apple.com>
2248
2249         Reviewed by Eric.
2250
2251         - remove nearly all the substance of ObjectContents and put it on Frame
2252         http://bugzilla.opendarwin.org/show_bug.cgi?id=6885
2253
2254         * ForwardingHeaders/kjs/JSLock.h: Added.
2255         * bridge/mac/MacFrame.mm:
2256         (Plugin::Plugin): renamed from KWQPluginPart, make it able to store a view.
2257         (Plugin::view): And return the QWidget* view.
2258         (MacFrame::createPart): Use Plugin instead of KWQPluginPart, avoid setWidget.
2259         (MacFrame::setView): Don't use m_url directly so much, and use through d-> if
2260         needed.
2261         (MacFrame::userAgent): ditto
2262         (MacFrame::openURLFromPageCache): ditto
2263         * kwq/KWQObject.cpp:
2264         (QObject::inherits): Removed case for ObjectContents, which is not long for this
2265         world.
2266         * kwq/KWQObject.h:
2267         * page/Frame.cpp:
2268         (Frame::init): Don't pass parent() to FramePrivate, we can't possibly have one
2269         yet.
2270         (Frame::restoreURL): d->m_url, not m_url
2271         (Frame::didOpenURL): ditto
2272         (Frame::executeScript): ditto
2273         (Frame::receivedFirstData): ditto
2274         (Frame::begin): ditto
2275         (Frame::gotoAnchor): ditto
2276         (Frame::requestObject): ditto, plus only use Frame methods when we really have a Frame.
2277         (Frame::processObjectRequest): ditto, also get view() not widget().
2278         (Frame::childFrame): remove excess spaces and pointless assert.
2279         (Frame::parentFrame): just call parent() (could probably remove this).
2280         (Frame::reparseConfiguration): d->m_url not m_url
2281         (Frame::canCachePage): ditto
2282         (Frame::updatePolicyBaseURL): ditto
2283         (Frame::scrollToAnchor): ditto
2284         (Frame::setName): set in FramePrivate
2285         (Frame::name): get from FramePrivate
2286         (Frame::setParent): similarly
2287         (Frame::parent): similarly
2288         (Frame::url): similarly
2289         * page/Frame.h:
2290         * page/FramePrivate.h:
2291         (FramePrivate::FramePrivate): Added m_parent, m_name and m_url.
2292         * page/FrameView.cpp:
2293         (FrameView::viewportMousePressEvent): Call frame directly instead of
2294         sending through QApplication.
2295         (FrameView::viewportMouseDoubleClickEvent): ditto
2296         (FrameView::viewportMouseMoveEvent): ditto
2297         (FrameView::viewportMouseReleaseEvent): ditto
2298         * page/ObjectContents.h:
2299         (ObjectContents::ObjectContents): Removed url, setParent, parent, name,
2300         setName, openURL, closeURL, widget, setWidget, event and customEvent methods,
2301         and corresponding fields. Add pure virtual view() method.
2302
2303 2006-01-27  Darin Adler  <darin@apple.com>
2304
2305         Reviewed by Adele.
2306
2307         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6075
2308           REGRESSION: event.relatedTarget not working, breaks menus at www.ati.com
2309
2310         Test: fast/events/related-target.html
2311
2312         * khtml/xml/NodeImpl.h:
2313         * khtml/xml/NodeImpl.cpp: (WebCore::NodeImpl::dispatchMouseEvent): Added a
2314         relatedTarget parameter to a couple overloads.
2315
2316         * page/FrameView.cpp:
2317         (FrameView::viewportMouseMoveEvent): Moved code to set prevMouseX/Y out of here
2318         and into dispatchMouseEvent, because it now handles mouseout and mouseover events,
2319         and that's what these globals are used for. This fixes DumpRenderTree to work
2320         properly with mouseout and mouseover (because it delivers only mouse down and up,
2321         no mouse move events).
2322         (FrameView::dispatchMouseEvent): Passed in the "other" node as the related target
2323         for mouseout and mouseover events. Also set prevMouseX/Y.
2324
2325 2006-01-27  David Hyatt  <hyatt@apple.com>
2326
2327         Fix for 6867.  Rename QPixmap to Image and move it to platform/.
2328         Eliminate QPaintDevice and QPaintDeviceMetrics completely, since
2329         they aren't necessary.
2330
2331         Reviewed by anders
2332
2333         * ForwardingHeaders/q3paintdevicemetrics.h: Removed.
2334         * ForwardingHeaders/qpaintdevice.h: Removed.
2335         * ForwardingHeaders/qpaintdevicemetrics.h: Removed.
2336         * ForwardingHeaders/qpixmap.h: Removed.
2337         * WebCore.xcodeproj/project.pbxproj:
2338         * bridge/mac/MacFrame.mm:
2339         (MacFrame::fileWrapperForElement):
2340         * bridge/mac/WebCoreFrameBridge.mm:
2341         (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
2342         (nowPrinting):
2343         (-[WebCoreFrameBridge elementAtPoint:]):
2344         * css/css_valueimpl.cpp:
2345         (WebCore::CSSPrimitiveValueImpl::computeLength):
2346         (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
2347         * css/css_valueimpl.h:
2348         * css/csshelper.cpp:
2349         * css/cssstyleselector.cpp:
2350         (WebCore::CSSStyleSelector::CSSStyleSelector):
2351         (WebCore::CSSStyleSelector::init):
2352         (WebCore::CSSStyleSelector::initForStyleResolve):
2353         (WebCore::CSSStyleSelector::styleForElement):
2354         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2355         (WebCore::convertToLength):
2356         (WebCore::CSSStyleSelector::applyProperty):
2357         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
2358         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
2359         * css/cssstyleselector.h:
2360         * kcanvas/KCanvasFilters.h:
2361         (KCanvasFEImage::image):
2362         (KCanvasFEImage::setImage):
2363         * kcanvas/KCanvasImage.h:
2364         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2365         (KCanvasFEImageQuartz::getCIFilter):
2366         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
2367         (KCanvasImageQuartz::init):
2368         * khtml/ecma/kjs_events.cpp:
2369         (KJS::ClipboardProtoFunc::callAsFunction):
2370         * khtml/ecma/kjs_html.cpp:
2371         (KJS::KJS::Context2DFunction::callAsFunction):
2372         (KJS::drawPattern):
2373         (KJS::_rh):
2374         (KJS::ImagePattern::createPattern):
2375         * khtml/ecma/kjs_html.h:
2376         (KJS::ImagePattern::image):
2377         * khtml/ecma/kjs_window.cpp:
2378         (KJS::Screen::getValueProperty):
2379         * khtml/editing/SelectionController.h:
2380         * khtml/html/html_imageimpl.h:
2381         (WebCore::HTMLImageElementImpl::image):
2382         * khtml/misc/helper.h:
2383         * khtml/xml/DocumentImpl.cpp:
2384         (WebCore::DocumentImpl::DocumentImpl):
2385         (WebCore::DocumentImpl::~DocumentImpl):
2386         (WebCore::DocumentImpl::recalcStyle):
2387         (WebCore::DocumentImpl::attach):
2388         (WebCore::DocumentImpl::detach):
2389         * khtml/xml/DocumentImpl.h:
2390         (WebCore::DocumentImpl::printing):
2391         (WebCore::DocumentImpl::setPrinting):
2392         * khtml/xml/dom2_eventsimpl.h:
2393         * ksvg2/css/SVGCSSStyleSelector.cpp:
2394         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2395         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
2396         (WebCore::KSVGPainterFactory::strokePainter):
2397         * ksvg2/svg/SVGCursorElementImpl.cpp:
2398         (SVGCursorElementImpl::notifyFinished):
2399         * ksvg2/svg/SVGCursorElementImpl.h:
2400         (KSVG::SVGCursorElementImpl::image):
2401         * ksvg2/svg/SVGDocumentImpl.cpp:
2402         (SVGDocumentImpl::SVGDocumentImpl):
2403         * ksvg2/svg/SVGFEImageElementImpl.cpp:
2404         (SVGFEImageElementImpl::notifyFinished):
2405         * ksvg2/svg/SVGMaskElementImpl.cpp:
2406         (KSVG::SVGMaskElementImpl::drawMaskerContent):
2407         * ksvg2/svg/SVGSVGElementImpl.cpp:
2408         * kwq/KWQApplication.h:
2409         * kwq/KWQApplication.mm:
2410         (QDesktopWidget::screenDepth):
2411         * kwq/KWQClipboard.h:
2412         * kwq/KWQClipboard.mm:
2413         (WebCore::KWQClipboard::dragImage):
2414         (WebCore::KWQClipboard::setDragImage):
2415         (WebCore::KWQClipboard::setDragImageElement):
2416         * kwq/KWQComboBox.mm:
2417         * kwq/KWQCursor.h:
2418         * kwq/KWQCursor.mm:
2419         (WebCore::createCustomCursor):
2420         (WebCore::QCursor::QCursor):
2421         * kwq/KWQKPartsEvent.h:
2422         * kwq/KWQObject.h:
2423         * kwq/KWQPaintDevice.h: Removed.
2424         * kwq/KWQPaintDeviceMetrics.h: Removed.
2425         * kwq/KWQPaintDeviceMetrics.mm: Removed.
2426         * kwq/KWQPainter.h:
2427         (WebCore::QPainter::printing):
2428         * kwq/KWQPainter.mm:
2429         (WebCore::QPainter::drawImage):
2430         (WebCore::QPainter::drawFloatImage):
2431         (WebCore::QPainter::drawTiledImage):
2432         (WebCore::QPainter::drawScaledAndTiledImage):
2433         * kwq/KWQPixmap.h: Removed.
2434         * kwq/KWQPixmap.mm: Removed.
2435         * kwq/KWQPrinter.h:
2436         (QPrinter::QPrinter):
2437         * kwq/KWQWidget.h:
2438         * loader/Cache.cpp:
2439         (khtml::Cache::init):
2440         (khtml::Cache::clear):
2441         (khtml::Cache::requestImage):
2442         (khtml::Cache::getStatistics):
2443         * loader/Cache.h:
2444         * loader/CachedImage.cpp:
2445         (WebCore::CachedImage::CachedImage):
2446         (WebCore::CachedImage::ref):
2447         (WebCore::CachedImage::tiled_image):
2448         (WebCore::CachedImage::image):
2449         (WebCore::CachedImage::image_size):
2450         (WebCore::CachedImage::do_notify):
2451         (WebCore::CachedImage::data):
2452         (WebCore::CachedImage::error):
2453         * loader/CachedImage.h:
2454         * loader/CachedImageCallback.cpp:
2455         (WebCore::CachedImageCallback::notifyUpdate):
2456         (WebCore::CachedImageCallback::notifyFinished):
2457         (WebCore::CachedImageCallback::handleError):
2458         * loader/CachedObject.h:
2459         (WebCore::CachedObject::):
2460         * loader/CachedObjectClient.h:
2461         (WebCore::CachedObjectClient::setImage):
2462         * loader/DocLoader.cpp:
2463         (khtml::DocLoader::setAutoloadImages):
2464         (khtml::DocLoader::setShowAnimations):
2465         * loader/loader.cpp:
2466         (WebCore::Loader::servePendingRequests):
2467         (WebCore::Loader::slotFinished):
2468         * page/Frame.cpp:
2469         (Frame::paint):
2470         * page/Frame.h:
2471         * page/FrameView.cpp:
2472         (selectCursor):
2473         * page/FrameView.h:
2474         * platform/Image.h: Added.
2475         * platform/mac/Image.mm: Added.
2476         (WebCore::Image::loadResource):
2477         (WebCore::Image::Image):
2478         (WebCore::Image::~Image):
2479         (WebCore::Image::imageRef):
2480         (WebCore::Image::resetAnimation):
2481         (WebCore::Image::setAnimationRect):
2482         (-[WebImageCallback initWithCallback:WebCore::]):
2483         (WebCore::Image::shouldUseThreadedDecoding):
2484         (WebCore::Image::receivedData):
2485         (WebCore::Image::mask):
2486         (WebCore::Image::isNull):
2487         (WebCore::Image::size):
2488         (WebCore::Image::rect):
2489         (WebCore::Image::width):
2490         (WebCore::Image::height):
2491         (WebCore::Image::resize):
2492         (WebCore::Image::operator=):
2493         (WebCore::Image::increaseUseCount):
2494         (WebCore::Image::decreaseUseCount):
2495         (WebCore::Image::stopAnimations):
2496         (WebCore::Image::flushRasterCache):
2497         * rendering/InlineTextBox.cpp:
2498         (khtml::InlineTextBox::paint):
2499         * rendering/InlineTextBox.h:
2500         * rendering/RenderBlock.cpp:
2501         (WebCore::RenderBlock::paintChildren):
2502         (WebCore::RenderBlock::paintObject):
2503         * rendering/RenderText.h:
2504         * rendering/font.cpp:
2505         (khtml::Font::update):
2506         * rendering/font.h:
2507         * rendering/render_box.cpp:
2508         (WebCore::RenderBox::paintBackgroundExtended):
2509         * rendering/render_canvasimage.cpp:
2510         (WebCore::RenderCanvasImage::paint):
2511         * rendering/render_flow.cpp:
2512         (RenderFlow::paintLines):
2513         * rendering/render_image.cpp:
2514         (WebCore::RenderImage::RenderImage):
2515         (WebCore::RenderImage::~RenderImage):
2516         (WebCore::RenderImage::setContentObject):
2517         (WebCore::RenderImage::setImage):
2518         (WebCore::RenderImage::paint):
2519         (WebCore::RenderImage::layout):
2520         (WebCore::RenderImage::calcReplacedWidth):
2521         (WebCore::RenderImage::calcReplacedHeight):
2522         * rendering/render_image.h:
2523         (WebCore::RenderImage::image):
2524         (WebCore::RenderImage::getImage):
2525         * rendering/render_line.cpp:
2526         (WebCore::InlineFlowBox::paintBackground):
2527         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
2528         * rendering/render_list.cpp:
2529         (RenderListItem::getAbsoluteRepaintRect):
2530         (RenderListMarker::paint):
2531         (RenderListMarker::setImage):
2532         (RenderListMarker::calcMinMaxWidth):
2533         * rendering/render_list.h:
2534         * rendering/render_object.cpp:
2535         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
2536         (WebCore::RenderObject::paintBorderImage):
2537         (WebCore::RenderObject::paintBorder):
2538         (WebCore::RenderObject::setImage):
2539         * rendering/render_object.h:
2540         * rendering/render_replaced.cpp:
2541         (WebCore::RenderWidget::paint):
2542         * rendering/render_replaced.h:
2543         * rendering/render_theme_mac.mm:
2544         (khtml::RenderThemeMac::setFontFromControlSize):
2545
2546 2006-01-27  Darin Adler  <darin@apple.com>
2547
2548         Reviewed by Maciej.
2549
2550         - fix another part of http://bugzilla.opendarwin.org/show_bug.cgi?id=6731
2551           REGRESSION: change event fires at load time for checked items
2552
2553         Revised test: fast/forms/radio-button-no-change-event.html
2554
2555         * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked):
2556         Don't send a change event for a radio button getting unchecked (matches Gecko at least).
2557
2558 2006-01-26  Eric Seidel  <eseidel@apple.com>
2559
2560         Reviewed by mjs.
2561
2562         Leak fixes in SVG code.
2563         http://bugzilla.opendarwin.org/show_bug.cgi?id=6588
2564
2565         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2566         (teardownShadingWithStyle): delete image and context when through.
2567         (KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz): zero out cached mask
2568         (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): destroy cached mask image.
2569         (KRenderingPaintServerLinearGradientQuartz::setup): delete mask before making new
2570         (KRenderingPaintServerRadialGradientQuartz::setup): delete mask before making new
2571         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2572         (WebCore::sharedSolidPaintServer): forgot "static" keyword
2573         * ksvg2/svg/SVGPolyElementImpl.cpp:
2574         (SVGPolyElementImpl::notifyAttributeChange): use RefPtr
2575
2576 2006-01-26  Maciej Stachowiak  <mjs@apple.com>
2577
2578         Reviewed by Eric.
2579
2580         - various leaks on "fast" LayoutTests
2581         
2582         http://bugzilla.opendarwin.org/show_bug.cgi?id=6819
2583         http://bugzilla.opendarwin.org/show_bug.cgi?id=6823
2584         http://bugzilla.opendarwin.org/show_bug.cgi?id=6824
2585         
2586         It turns out these all had the same cause.
2587         
2588         * page/Frame.cpp:
2589         (Frame::clear): If we have a document, make sure to cancel parsing,
2590         in case it has a tokenizer and parser that are keeping it alive. Use
2591         cancelParsing to avoid possibly accidentally firing the onload handler.
2592         * khtml/xml/DocumentImpl.cpp:
2593         (WebCore::DocumentImpl::cancelParsing): Factored out of implicitOpen.
2594         (WebCore::DocumentImpl::implicitOpen): Call cancelParsing now.
2595         * khtml/xml/DocumentImpl.h:
2596
2597 2006-01-26  Beth Dakin  <bdakin@apple.com>
2598
2599         Reviewed by Hyatt.
2600
2601         Fix for <rdar://problem/4256504> khtml::RenderBlock::skipWhitespace 
2602         crashes upon interaction with radio buttons.
2603
2604         The old code held an assumption that positioned elements would 
2605         always have line boxes. This is not necessarily the case, so this 
2606         patch makes sure that the lines are dirtied appropriately.
2607
2608         * rendering/RenderContainer.cpp:
2609         (WebCore::RenderContainer::removeChildNode): Call 
2610         dirtyLinesFromChangedChild() if oldChild is positioned and has
2611         inline children.
2612         (WebCore::RenderContainer::insertChildNode): Only check the the 
2613         child is not floating; it can be positioned.
2614
2615 2006-01-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2616
2617         Test: fast/dom/HTMLImageElement/image-without-renderer-width.html
2618
2619         Reviewed and landed by Anders.
2620
2621         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6841
2622           REGRESSION: WebKit (Thursday, January 26, 2006) crash in HTMLImageElementImpl::width()
2623
2624         * khtml/html/html_imageimpl.cpp:
2625         (WebCore::HTMLImageElementImpl::width): Return the image's dimensions only if it isn't
2626         null, but even if it hasn't finished loading.
2627         (WebCore::HTMLImageElementImpl::height): Ditto.
2628
2629 2006-01-26  Adele Peterson  <adele@apple.com>
2630
2631         Reviewed by Hyatt and Vicki.
2632
2633         Fix for broken layout tests.
2634
2635         * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::focus): 
2636
2637 2006-01-26  Anders Carlsson  <andersca@mac.com>
2638
2639         Reviewed by Eric.
2640
2641         - http://bugzilla.opendarwin.org/show_bug.cgi?id=6845
2642         Autogenerate more classes
2643         
2644         This makes DocumentType and DOMImplementation autogenerated.
2645         
2646         * JSCore.cpp: Added.
2647         
2648         * WebCore.xcodeproj/project.pbxproj:
2649         Add JSCore.cpp
2650         
2651         * bindings/scripts/CodeGeneratorJS.pm:
2652         Add attributes for controlling how null values should be converted
2653         to and from DOMString objects.
2654         
2655         * bindings/scripts/IDLParser.pm:
2656         * bindings/scripts/IDLStructure.pm:
2657         Remove the extended attributes hash on attribute objects and
2658         use the one on the signature.
2659
2660         * khtml/ecma/kjs_dom.cpp:
2661         (KJS::DOMNodeProtoFunc::callAsFunction):
2662         For isSupported, just convert the version argument to an empty string if
2663         null is passed in. The reason for this change is that the autogenerated
2664         binding for DOMImplementation::hasFeature does the same thing. This also makes
2665         us behave like Mozilla and Opera.
2666         
2667         (KJS::toDocumentType):
2668         (KJS::getDOMNode):
2669         Use JSDocumentType.
2670         
2671         (KJS::getDOMDOMImplementation):
2672         Use JSDOMImplementation.
2673         
2674         * khtml/ecma/kjs_dom.h:
2675         Remove DOMDOMImplementation and DOMDocumentType
2676         
2677         * khtml/xml/DOMImplementation.idl: Added.
2678         * khtml/xml/DocumentType.idl: Added.
2679
2680 2006-01-26  Alexander Kellett  <lypanov@kde.org>
2681
2682         Reviewed by eseidel.  Landed by eseidel.
2683
2684         <text> elements with a scale on a parent <g> breaks nodeAtPoint
2685         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6843
2686         
2687         Test: svg/custom/text-hit-test.svg
2688
2689         * kcanvas/RenderSVGText.cpp:
2690         (RenderSVGText::nodeAtPoint):
2691
2692 2006-01-26  Maciej Stachowiak  <mjs@apple.com>
2693
2694         Reviewed by Geoff.
2695
2696         - fixed a couple hundred node leaks on the traversal layout tests
2697         http://bugzilla.opendarwin.org/show_bug.cgi?id=6828
2698
2699         There were three basic problems here, any one of which was enough
2700         to cause the leak.
2701         
2702         1) If the filter function for a NodeFilter, NodeIterator or TreeWalker
2703         had that object in scope, it would cause a GC reference cycle. I fixed
2704         this by making these JS functions get marked by the corresponding JS object,
2705         as for XMLHttpRequest.
2706         
2707         2) The TraversalImpl class that's a base class for NodeIteratorImpl and 
2708         TreeWalkerImpl did not have a virtual destructor, leading the Shared
2709         template to call the base class destructor on deref.
2710         
2711         3) ref/deref on the document were mismatched, I fixed all that sort of nonsense
2712         by using RefPtr instead of manual ref/deref.
2713         
2714         * khtml/dom/dom2_traversal.h:
2715         (DOM::NodeFilterCondition::mark): Add no-op virtual mark method, JS subclass
2716         will do something useful here.
2717         * khtml/ecma/kjs_traversal.cpp:
2718         (KJS::DOMNodeIterator::mark): Mark the DOM-level filter.
2719         (KJS::DOMNodeFilter::mark): ditto
2720         (KJS::DOMTreeWalker::mark): ditto
2721         (KJS::JSNodeFilterCondition::JSNodeFilterCondition): reformatted.
2722         (KJS::JSNodeFilterCondition::mark): Mark the filter function.
2723         * khtml/ecma/kjs_traversal.h:
2724         * khtml/xml/dom2_traversalimpl.cpp:
2725         (DOM::NodeFilterImpl::NodeFilterImpl): diligently applied RefPtr
2726         (DOM::TraversalImpl::TraversalImpl): ditto
2727         (DOM::TraversalImpl::~TraversalImpl): ditto
2728         (DOM::NodeIteratorImpl::NodeIteratorImpl): ditto
2729         (DOM::NodeIteratorImpl::~NodeIteratorImpl): ditto
2730         (DOM::NodeIteratorImpl::setReferenceNode): ditto
2731         (DOM::TreeWalkerImpl::TreeWalkerImpl): ditto
2732         (DOM::TreeWalkerImpl::setCurrentNode): ditto
2733         * khtml/xml/dom2_traversalimpl.h:
2734         (DOM::NodeFilterImpl::mark): call mark() on the codition
2735         (DOM::TraversalImpl::root): Use .get()
2736         (DOM::TraversalImpl::filter): ditto
2737         (DOM::NodeIteratorImpl::referenceNode): ditto
2738         (DOM::NodeIteratorImpl::document): ditto
2739         (DOM::TreeWalkerImpl::currentNode): ditto
2740
2741 2006-01-26  Maciej Stachowiak  <mjs@apple.com>
2742
2743         Reviewed by Geoff.
2744
2745         - fixed ~40 DOM nodes leaked when running any two of the outerHTML DOM tests (actually just a false positive)
2746         http://bugzilla.opendarwin.org/show_bug.cgi?id=6822
2747
2748         * kwq/KWQPageState.mm:
2749         (-[KWQPageState clear]): Garbage collect after deleting a bunch of
2750         stuff that holds onto JS objects. This should avoid false positive leaks
2751         and is good in any case since page state deallocation is already deferred.
2752
2753 2006-01-26  Adele Peterson  <adele@apple.com>
2754
2755         Reviewed by Vicki.
2756
2757         - fix for <rdar://problem/4422624> REGRESSION: crash loading webmail.mac.com
2758
2759         Test added:
2760         fast/forms/input-no-renderer.html
2761
2762         * khtml/html/HTMLInputElementImpl.cpp:
2763         (WebCore::HTMLInputElementImpl::focus): Nil check for renderer.
2764
2765 2006-01-26  David Harrison  <harrison@apple.com>
2766
2767         Reviewed by Timothy.
2768
2769         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6835
2770           REGRESSION: WebKit crashes when loading a script on Wikipedia
2771
2772         Test added:
2773         editing/deleting/delete-listitem-001.html
2774         
2775         * rendering/render_list.cpp:
2776         (RenderListItem::setStyle):
2777         (RenderListItem::resetMarkerValue):
2778         (RenderListItem::getAbsoluteRepaintRect):
2779         (RenderListMarker::paint):
2780
2781 2006-01-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2782
2783         Reviewed by Darin, landed by ap.
2784         
2785         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6388
2786           REGRESSION: Incomplete repaint when dragging the map on Google maps
2787
2788         * manual-tests/bugzilla-6388.html: Added.
2789         * rendering/render_layer.cpp:
2790         (WebCore::RenderLayer::computeRepaintRects): Cache the object's absolute position
2791         before update.
2792         (WebCore::RenderLayer::updateLayerPositions): Use the cached position to determine if
2793         the object moved. If it did, do a full repaint.
2794         * rendering/render_layer.h:
2795
2796 2006-01-26  Eric Seidel  <eseidel@apple.com>
2797
2798         Fixes xcode project to better notice when generated files change.
2799         Also fixes failing test cases on build slaves.
2800
2801         * WebCore.xcodeproj/project.pbxproj:
2802
2803 2006-01-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2804
2805         Reviewed by Darin, committed by ap.
2806         
2807         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6278
2808           REGRESSION: Incomplete repaint when table cell width changes during layout
2809
2810         * manual-tests/bugzilla-6278.html: Added.
2811         * rendering/RenderTableSection.cpp:
2812         (WebCore::RenderTableSection::setCellWidths): If during layout a cell changes from
2813         not needing layout to needing layout, call repaintObjectsBeforeLayout on it.
2814
2815 2006-01-26  Eric Seidel  <eseidel@apple.com>
2816
2817         Reviewed by mjs.
2818
2819         SVG shows up blank in WebKit+SVG
2820         http://bugzilla.opendarwin.org/show_bug.cgi?id=6620
2821         
2822         Test: svg/custom/viewport-no-width-height.svg
2823
2824         * css/svg.css: default to width/height 100% for <svg>
2825
2826 2006-01-26  Anders Carlsson  <andersca@mac.com>
2827
2828         Reviewed by Darin.
2829
2830         http://bugzilla.opendarwin.org/show_bug.cgi?id=6805
2831         Support constants in IDL files
2832
2833         * bindings/scripts/CodeGeneratorJS.pm:
2834         If an interface has constants, generate a constructor
2835         object and add the constants as properties. Also add a
2836         getConstructor method to the interface object.
2837         
2838         * bindings/scripts/CodeGenerator.pm:
2839         * bindings/scripts/generate-bindings.pl:
2840         Add a --force-generation flag to force regeneration of files
2841         even though nothing has changed.
2842         
2843         * khtml/ecma/kjs_events.cpp:
2844         * khtml/ecma/kjs_events.h:
2845         Remove MutationEventConstructor and DOMMutationEvent,
2846         those are autogenerated now.
2847         
2848         * bindings/js/JSEvents.cpp:
2849         Include JSMutationEvent.cpp
2850
2851         * khtml/ecma/kjs_window.cpp:        
2852         (KJS::Window::getValueProperty):
2853         * khtml/ecma/kjs_window.h:
2854         (KJS::Window::):
2855         Add MutationEvent property.
2856         
2857         * khtml/xml/MutationEvent.idl: Added.
2858
2859 2006-01-25  Alexander Kellett  <lypanov@kde.org>
2860
2861         Reviewed by eseidel.  Landed by eseidel
2862
2863         Percentage values for width, height are not rendered correctly.
2864         http://bugzilla.opendarwin.org/show_bug.cgi?id=5331
2865         
2866         Tests:
2867         * svg/custom/percentage-rect.svg
2868         * svg/custom/percentage-rect2.svg
2869
2870         Create items for even empty paths to prevent an empty render tree.
2871         Calculate the viewport element on the fly rather than caching it,
2872         unless there is no context from which to calculate it. Call 
2873         notifyAttributeChange() on layout to fix usage of viewport
2874         percentages for lengths. Remove portion of code which appears to 
2875         do nothing but worsen the situation.
2876
2877         * kcanvas/device/quartz/KCanvasItemQuartz.h:
2878         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2879         (KCanvasItemQuartz::layout):
2880         * ksvg2/svg/SVGLengthImpl.cpp:
2881         (SVGLengthImpl::value):
2882         * ksvg2/svg/SVGStyledElementImpl.cpp:
2883         (SVGStyledElementImpl::createRenderer):
2884
2885 2006-01-26  Eric Seidel  <eseidel@apple.com>
2886
2887         Reviewed by hyatt.
2888
2889         Disable <animateTransform> to stop layout test crashes.
2890         http://bugzilla.opendarwin.org/show_bug.cgi?id=6780
2891
2892         * ksvg2/misc/KSVGTimeScheduler.cpp: hack out animateTransform.
2893
2894 2006-01-26  Eric Seidel  <eseidel@apple.com>
2895
2896         Reviewed by mjs.
2897
2898         Deploy RefPtr throughout more of WebCore
2899         http://bugzilla.opendarwin.org/show_bug.cgi?id=6754
2900
2901         * bridge/mac/MacFrame.mm:
2902         (MacFrame::shouldClose): no need to call .get()
2903         * khtml/html/HTMLElementImpl.cpp:
2904         (WebCore::HTMLElementImpl::createContextualFragment):
2905         * khtml/html/HTMLSelectElementImpl.cpp:
2906         (WebCore::HTMLSelectElementImpl::remove):
2907         * khtml/html/HTMLTextAreaElementImpl.cpp:
2908         (WebCore::HTMLTextAreaElementImpl::setDefaultValue):
2909         * khtml/html/html_baseimpl.cpp:
2910         (WebCore::HTMLBodyElementImpl::HTMLBodyElementImpl):
2911         (WebCore::HTMLBodyElementImpl::~HTMLBodyElementImpl):
2912         (WebCore::HTMLBodyElementImpl::createLinkDecl):
2913         (WebCore::HTMLBodyElementImpl::parseMappedAttribute):
2914         * khtml/html/html_baseimpl.h:
2915         * khtml/html/html_headimpl.cpp:
2916         (WebCore::HTMLLinkElementImpl::HTMLLinkElementImpl):
2917         (WebCore::HTMLLinkElementImpl::~HTMLLinkElementImpl):
2918         (WebCore::HTMLLinkElementImpl::process):
2919         (WebCore::HTMLLinkElementImpl::setStyleSheet):
2920         (WebCore::HTMLLinkElementImpl::isLoading):
2921         (WebCore::HTMLStyleElementImpl::HTMLStyleElementImpl):
2922         (WebCore::HTMLStyleElementImpl::childrenChanged):
2923         (WebCore::HTMLStyleElementImpl::isLoading):
2924         * khtml/html/html_headimpl.h:
2925         (DOM::HTMLLinkElementImpl::sheet):
2926         (DOM::HTMLStyleElementImpl::sheet):
2927         * khtml/html/html_tableimpl.cpp:
2928         (WebCore::HTMLTableElementImpl::parseMappedAttribute):
2929         (WebCore::HTMLTableSectionElementImpl::insertRow):
2930         (WebCore::HTMLTableSectionElementImpl::deleteRow):
2931         (WebCore::HTMLTableRowElementImpl::deleteCell):
2932         * khtml/xml/NodeImpl.cpp:
2933         (WebCore::NodeImpl::dispatchEvent):
2934         (WebCore::NodeImpl::dispatchGenericEvent):
2935         (WebCore::NodeImpl::dispatchWindowEvent):
2936         (WebCore::NodeImpl::dispatchMouseEvent):
2937         (WebCore::NodeImpl::dispatchKeyEvent):
2938         (WebCore::NodeImpl::createRendererIfNeeded):
2939         * khtml/xml/NodeImpl.h:
2940         * khtml/xml/dom_elementimpl.cpp:
2941         (WebCore::MappedAttributeImpl::clone):
2942         (WebCore::StyledElementImpl::StyledElementImpl):
2943         (WebCore::StyledElementImpl::createInlineStyleDecl):
2944         (WebCore::StyledElementImpl::destroyInlineStyleDecl):
2945         (WebCore::StyledElementImpl::getInlineStyleDecl):
2946         * khtml/xml/dom_elementimpl.h:
2947         (DOM::MappedAttributeImpl::MappedAttributeImpl):
2948         (DOM::MappedAttributeImpl::style):
2949         (DOM::MappedAttributeImpl::decl):
2950         (DOM::MappedAttributeImpl::setDecl):
2951         (DOM::StyledElementImpl::inlineStyleDecl):
2952         * khtml/xml/dom_position.cpp:
2953         (DOM::Position::Position):
2954         (DOM::Position::clear):
2955         * khtml/xml/dom_position.h:
2956         (DOM::Position::node):
2957
2958 2006-01-25  Maciej Stachowiak  <mjs@apple.com>
2959
2960         Reviewed by Dave Hyatt.
2961         
2962         - garbage collect a bit later when destroying Frame (fixes node leak false positives)
2963         http://bugzilla.opendarwin.org/show_bug.cgi?id=6818       
2964
2965         * khtml/ecma/kjs_proxy.cpp:
2966         (WebCore::KJSProxyImpl::~KJSProxyImpl): Garbage collect after destroying
2967         the script interpreter.
2968         * page/Frame.cpp:
2969         (Frame::clear): Add a boolean parameter to indicate whether properties
2970         of the window object should also be cleared (defaults to true).
2971         (Frame::~Frame): Call clear(false) instead of clear()
2972         * page/Frame.h:
2973
2974 2006-01-25  Maciej Stachowiak  <mjs@apple.com>
2975
2976         Reviewed by Darin.
2977
2978         - Turn on NodeImpl leak counter for debug builds
2979         http://bugzilla.opendarwin.org/show_bug.cgi?id=6808
2980
2981         * khtml/xml/NodeImpl.cpp:
2982         (WebCore::NodeImplCounter::~NodeImplCounter): Uncomment node
2983         counter now tit won't give a lot of false positives.
2984
2985 2006-01-25  Maciej Stachowiak  <mjs@apple.com>
2986
2987         Reviewed by Dave Hyatt.
2988         
2989         - fixed "Whole DOM tree can leak if Document is hover/active/focus node on quit"
2990         http://bugzilla.opendarwin.org/show_bug.cgi?id=6809
2991         
2992         This fixes 175 reproducible node leaks in the editing layout tests.
2993         
2994         * khtml/xml/DocumentImpl.cpp:
2995         (WebCore::DocumentImpl::detach): Clear hover, focus and active nodes. It doesn't
2996         make sense to have these without a view anyway, and if any of them is the document
2997         it can cause a leak of the whole DOM.
2998
2999 2006-01-25  Adele Peterson  <adele@apple.com>
3000
3001         Reviewed by Maciej.
3002
3003         http://bugzilla.opendarwin.org/show_bug.cgi?id=6816
3004         Crash in dispatchMouseEvent - Missing nil check
3005
3006         No test added because I was not able to reproduce the crash reliably. 
3007
3008         * page/FrameView.cpp: (FrameView::dispatchMouseEvent):
3009
3010 2006-01-25  Justin Garcia  <justin.garcia@apple.com>
3011
3012         Reviewed by mjs
3013         
3014         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6644>
3015         TinyMCE: Undo operation crashes Safari
3016         <rdar://problem/4343068>
3017         Some shouldChangeSelection calls are nonsensical
3018
3019         Notify the SelectionController of node removals,
3020         and blow away the selection when end points are removed.
3021
3022         Tests added:
3023         * editing/selection/remove-node-1.html
3024         * editing/selection/remove-node-2.html
3025         
3026         * khtml/editing/SelectionController.cpp:
3027         (WebCore::MutationListener::handleEvent):
3028         (WebCore::SelectionController::SelectionController):
3029         (WebCore::SelectionController::~SelectionController):
3030         (WebCore::SelectionController::operator=):
3031         (WebCore::SelectionController::moveTo):
3032         (WebCore::SelectionController::setSelection):
3033         (WebCore::SelectionController::nodeWillBeRemoved):
3034         (WebCore::SelectionController::clear):
3035         (WebCore::SelectionController::setBase):
3036         (WebCore::SelectionController::setExtent):
3037         * khtml/editing/SelectionController.h:
3038         (WebCore::MutationListener::MutationListener):
3039         (WebCore::MutationListener::selectionController):
3040         (WebCore::MutationListener::setSelectionController):
3041         * rendering/RenderContainer.cpp:
3042         (WebCore::RenderContainer::removeChildNode):
3043         * rendering/render_flow.cpp:
3044         (RenderFlow::destroy):
3045
3046 2006-01-25  Adele Peterson  <adele@apple.com>
3047
3048         Reviewed by Hyatt.
3049
3050         This change lets us display an aqua appearance for the new text fields.
3051
3052         Updated results for:
3053         * fast/forms/input-appearance-focus.html
3054
3055         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): 
3056           remove styling of the div, since RenderTheme handles that now.
3057         * rendering/render_theme.cpp:
3058         (khtml::RenderTheme::adjustStyle): call adjustTextFieldStyle.
3059         (khtml::RenderTheme::paint): call paintTextField.
3060         (khtml::RenderTheme::adjustTextFieldStyle): added FIXME to turn off appearance later.
3061         * rendering/render_theme.h: added adjustTextFieldStyle, paintTextField
3062         * rendering/render_theme_mac.h: added paintTextField, setTextFieldState, and NSTextFieldCell.
3063         * rendering/render_theme_mac.mm:
3064         (khtml::): Added static textFieldMargins.
3065         (khtml::RenderThemeMac::adjustRepaintRect): update text field state and size.
3066         (khtml::RenderThemeMac::paintTextField): Added. Paints the NSTextFieldCell
3067         (khtml::RenderThemeMac::setTextFieldCellState): Initialize NSTextFieldCell, and update enabled state.
3068
3069 2006-01-25  David Hyatt  <hyatt@apple.com>
3070
3071         Rename QBrush to Brush and move it to platform/.  Remove unused QPoint/Size/RectF forwarding
3072         headers.
3073
3074         * ForwardingHeaders/QPointF: Removed.
3075         * ForwardingHeaders/QRectF: Removed.
3076         * ForwardingHeaders/QSizeF: Removed.
3077         * WebCore.xcodeproj/project.pbxproj:
3078         * khtml/editing/SelectionController.cpp:
3079         (WebCore::SelectionController::paintCaret):
3080         * kwq/KWQBrush.h: Removed.
3081         * kwq/KWQNamespace.h:
3082         * kwq/KWQObject.h:
3083         * kwq/KWQPainter.h:
3084         * kwq/KWQPainter.mm:
3085         (QPainter::setBrush):
3086         (QPainter::brush):
3087         (QPainter::drawRect):
3088         (QPainter::drawEllipse):
3089         (QPainter::drawConvexPolygon):
3090         (QPainter::fillRect):
3091         * kwq/KWQPalette.h:
3092         (QColorGroup::brush):
3093         * platform/Brush.h: Added.
3094         (WebCore::Brush::):
3095         (WebCore::Brush::Brush::Brush):
3096         (WebCore::Brush::operator==):
3097         (WebCore::Brush::operator!=):
3098         * rendering/RenderBlock.cpp:
3099         (WebCore::RenderBlock::fillHorizontalSelectionGap):
3100         (WebCore::RenderBlock::fillVerticalSelectionGap):
3101         (WebCore::RenderBlock::fillLeftSelectionGap):
3102         (WebCore::RenderBlock::fillRightSelectionGap):
3103         * rendering/render_box.cpp:
3104         (WebCore::RenderBox::outlineBox):
3105         * rendering/render_canvasimage.cpp:
3106         (WebCore::RenderCanvasImage::paint):
3107         * rendering/render_image.cpp:
3108         (WebCore::RenderImage::paint):
3109         * rendering/render_list.cpp:
3110         (RenderListMarker::paint):
3111         * rendering/render_replaced.cpp:
3112         (WebCore::RenderWidget::paint):
3113
3114 2006-01-25  Anders Carlsson  <andersca@mac.com>
3115
3116         Reviewed by Timothy Hatcher.
3117
3118         http://bugzilla.opendarwin.org/show_bug.cgi?id=6807
3119         generate-bindings.pl should not use find command
3120         
3121         * bindings/scripts/generate-bindings.pl:
3122         Use opendir and readdir instead of find.
3123
3124 2006-01-25  David Hyatt <hyatt@apple.com
3125
3126         Fix Win32 build bustage. Make the autogeneration from .idl work
3127         just like it does on Mac.  Also update the project to account for
3128         the move of QPen.
3129
3130         * WebCore.vcproj/WebCore/WebCore.vcproj:
3131         * WebCore.vcproj/WebCore/build-generated-files.sh:
3132         * bindings/scripts/generate-bindings.pl:
3133
3134 2006-01-25  David Hyatt  <hyatt@apple.com>
3135
3136         Rename QPen to Pen and move it to the platform/ directory.
3137
3138         * ForwardingHeaders/qpen.h: Removed.
3139         * WebCore.xcodeproj/project.pbxproj:
3140         * kwq/KWQNamespace.h:
3141         (Qt::):
3142         * kwq/KWQPainter.h:
3143         * kwq/KWQPainter.mm:
3144         (QPainter::pen):
3145         (QPainter::setPen):
3146         (QPainter::drawRect):
3147         (QPainter::drawLine):
3148         (QPainter::drawEllipse):
3149         (QPainter::drawArc):
3150         (QPainter::drawConvexPolygon):
3151         * kwq/KWQPen.cpp: Removed.
3152         * kwq/KWQPen.h: Removed.
3153         * platform/Pen.cpp: Added.
3154         (WebCore::Pen::Pen):
3155         (WebCore::Pen::color):
3156         (WebCore::Pen::width):
3157         (WebCore::Pen::style):
3158         (WebCore::Pen::setColor):
3159         (WebCore::Pen::setWidth):
3160         (WebCore::Pen::setStyle):
3161         (WebCore::Pen::operator==):
3162         (WebCore::Pen::operator!=):
3163         * platform/Pen.h: Added.
3164         (WebCore::Pen::):
3165         * rendering/InlineTextBox.cpp:
3166         (khtml::InlineTextBox::paintMarkedTextUnderline):
3167         * rendering/RenderTableCell.cpp:
3168         (WebCore::outlineBox):
3169         * rendering/RenderText.cpp:
3170         * rendering/render_box.cpp:
3171         (WebCore::RenderBox::outlineBox):
3172         * rendering/render_frames.cpp:
3173         (WebCore::RenderFrameSet::userResize):
3174         * rendering/render_image.cpp:
3175         * rendering/render_line.cpp:
3176         * rendering/render_list.cpp:
3177         * rendering/render_object.cpp:
3178         (WebCore::RenderObject::drawBorder):
3179
3180 2006-01-25  Timothy Hatcher  <timothy@apple.com>
3181
3182         Move off of -[NSFont widthOfString:] since it is now deprecated.
3183         Use the NSStringDrawing -[NSString sizeWithAttributes:] API.
3184
3185         * bridge/mac/MacFrame.mm:
3186         (MacFrame::attributedString):
3187         * kwq/KWQTextArea.mm:
3188         (-[KWQTextAreaTextView sizeWithColumns:rows:]):
3189
3190 2006-01-24  Tim Omernick  <timo@apple.com>
3191
3192         Reviewed by Dave Harrison.
3193
3194         <rdar://problem/4339024>
3195         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6785> "Fix for possible leak of applet, object, or embed
3196         (and plugin view)"
3197         
3198         No test cases added.  This is a fix for a leak which is difficult to trigger under normal page load
3199         circumstances, because it requires that the host application modify an <embed> using the Objective C
3200         API.
3201
3202         * khtml/html/html_objectimpl.cpp:
3203         (WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl):
3204         Assert that appletInstance has been deleted by detach().
3205         (WebCore::HTMLAppletElementImpl::detach):
3206         Delete appletInstance, because it references the widget owned by the renderer we're about to destroy.
3207         It is assumed elsewhere (getRuntimeObject(), kjs_dom.cpp) that the instance is owned by the applet
3208         element.  Therefore, it is required that the element destroy the instance in its tear-down phase.
3209         (WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl):
3210         Assert that embedInstance has been deleted by detach().
3211         (WebCore::HTMLEmbedElementImpl::detach):
3212         Delete embedInstance, same reason.  This is the one that fixes <rdar://problem/4339024>.
3213         (WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl):
3214         Assert that objectInstance has been deleted by detach().
3215         (WebCore::HTMLObjectElementImpl::detach):
3216         Delete embedInstance, same reason.
3217         * khtml/html/html_objectimpl.h:
3218         Declared HTMLAppletElementImpl::detach() and HTMLEmbedElementImpl::detach().
3219
3220 2006-01-24  Anders Carlsson  <andersca@mac.com>
3221
3222         Reviewed by Darin.
3223
3224         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5975
3225         WebCore needs to use KDOM-like DOM binding autogeneration
3226         
3227         This is a first cut at an autogeneration framework based on 
3228         what KDOM uses, but with some changes to be able to move
3229         gradually to using autogenerated files. Currently only Javascript
3230         is supported, but ObjC support could be added by writing a new code
3231         generator package.
3232         
3233         * WebCore.xcodeproj/project.pbxproj:
3234         Call generate-bindings.pl
3235
3236         * bindings/js/JSEvents.cpp: Added.
3237         New file which #includes all generated files in the event module
3238         (Just JSWheelEvent.cpp for now)
3239         
3240         * khtml/xml/WheelEvent.idl: Added.
3241         
3242         * bindings/scripts: Added.
3243         * bindings/scripts/CodeGenerator.pm: Added.
3244         * bindings/scripts/CodeGeneratorJS.pm: Added.
3245         * bindings/scripts/IDLParser.pm: Added.
3246         * bindings/scripts/IDLStructure.pm: Added.
3247         * bindings/scripts/generate-bindings.pl: Added.
3248         
3249         * khtml/ecma/kjs_events.cpp:
3250         Remove DOMWheelEvent class.
3251         
3252         (KJS::getDOMEvent):
3253         Use JSWheelEvent here.
3254         
3255         * khtml/ecma/kjs_events.h:
3256         Remove DOMWheelEvent class.
3257
3258 2006-01-25  David Harrison  <harrison@apple.com>
3259
3260         Reviewed by Justin.
3261
3262         <rdar://problem/3907635> copy/paste of list item text moves list item up one <LI>
3263         <rdar://problem/3907647> Enhance list editing: return inserts <li></li>
3264         <rdar://problem/4060158> deleting selection within table deletes more than intended
3265         <rdar://problem/4061232> Deleting a list can delete unselected content
3266         <rdar://problem/4062212> after pasting in contents of web.apple.com, typing before start adds to table instead of before table
3267         <rdar://problem/4064437> After copy/paste from bugweb cannot go back to entering text at left side of page
3268         <rdar://problem/4259845> Table editing in design mode is broken
3269         <rdar://problem/4287667> Insertion point goes before table instead of inside first cell
3270         <rdar://problem/4345749> Editing HTML - Enter at end of <LI> inserts uneditable blank <LI>
3271         <rdar://problem/4345794> HTML editing: Enter at end of last <LI> does not add new <LI>
3272         <rdar://problem/4345825> HTML Editing: editing first <LI> element removes first <LI> and more
3273         <rdar://problem/4345835> HTML editing: editing last <LI> removes everything within <BODY>
3274         <rdar://problem/4345879> HTML editing: editing first <TD> moves data out of table
3275
3276         ...also added showTree() static functions because switch to gcc 4.0 makes calling instance methods unreliable
3277
3278         - numerous small changes to handle empty list items
3279         - fix numeric list marker updating when adding/deleting list items
3280         - start to decompose "special element" handling, replacing it with appropriate handling of the different
3281           kinds of special elements in various situations, rather than giving a blanket treatment.  I will do more
3282           of this in subsequent checkins.
3283         - numerous small editing/selection changes to handle VisiblePosition at table offset childNodeCount()
3284         - simplify and fix equivalentRangeCompliantPosition, rename it to rangeCompliantEquivalent and make it static
3285         - some minor reformatting to current standards
3286         - the comments in the list below are for changes not covered by the above comments
3287         
3288         * khtml/editing/Selection.cpp:
3289         (WebCore::Selection::toRange):
3290         (WebCore::Selection::validate):
3291         * khtml/editing/SelectionController.cpp:
3292         (WebCore::SelectionController::modifyExtendingLeftBackward):
3293         - character selection backward from after table selects the table
3294         (WebCore::showTree):
3295         * khtml/editing/composite_edit_command.cpp:
3296         (WebCore::CompositeEditCommand::removeFullySelectedNode):
3297         - make sure empty cell has some height
3298         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
3299         - check for !isTabSpanTextNode() to make calling this function easier
3300         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
3301         * khtml/editing/delete_selection_command.cpp:
3302         (WebCore::positionBeforePossibleContainingSpecialElement):
3303         (WebCore::positionAfterPossibleContainingSpecialElement):
3304         (WebCore::DeleteSelectionCommand::initializeStartEnd):
3305         - new.  more consistent handling of special element boundaries.
3306         (WebCore::DeleteSelectionCommand::initializePositionData):
3307         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3308         - handle childless block (e.g. empty table cell)
3309         - allow merging across list items
3310         (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
3311         - use new isEmpty() method for renderers, to handle empty list items
3312         * khtml/editing/delete_selection_command.h:
3313         * khtml/editing/htmlediting.cpp:
3314         (WebCore::isAtomicNode):
3315         (WebCore::editingIgnoresContent):
3316         - new.  smarter check than isReplaced()
3317         (WebCore::rangeCompliantEquivalent):
3318         (WebCore::maxDeepOffset):
3319         (WebCore::isFirstVisiblePositionInSpecialElement):
3320         (WebCore::positionBeforeContainingSpecialElement):
3321         (WebCore::isLastVisiblePositionInSpecialElement):
3322         (WebCore::positionAfterContainingSpecialElement):
3323         (WebCore::positionOutsideContainingSpecialElement):
3324         (WebCore::positionBeforeNode):
3325         (WebCore::positionAfterNode):
3326         (WebCore::isListElement):
3327         (WebCore::isTableElement):
3328         (WebCore::isFirstVisiblePositionAfterTableElement):
3329         (WebCore::positionBeforePrecedingTableElement):
3330         (WebCore::positionAvoidingSpecialElementBoundary):
3331         * khtml/editing/htmlediting.h:
3332         * khtml/editing/insert_line_break_command.cpp:
3333         (khtml::InsertLineBreakCommand::doApply):
3334         * khtml/editing/insert_paragraph_separator_command.cpp:
3335         (khtml::InsertParagraphSeparatorCommand::doApply):
3336         * khtml/editing/insert_text_command.cpp:
3337         (khtml::InsertTextCommand::prepareForTextInsertion):
3338         (khtml::InsertTextCommand::input):
3339         * khtml/editing/replace_selection_command.cpp:
3340         (WebCore::isMailPasteAsQuotationNode):
3341         (WebCore::ReplacementFragment::countRenderedBlocks):
3342         (WebCore::ReplaceSelectionCommand::doApply):
3343         - allow for fact that fragments have no VisiblePositions
3344         * khtml/editing/visible_position.cpp:
3345         (khtml::VisiblePosition::isCandidate):
3346         (khtml::showTree):
3347         (khtml::makeRange):
3348         (khtml::setStart):
3349         (khtml::setEnd):
3350         * khtml/editing/visible_position.h:
3351         * khtml/editing/visible_units.cpp:
3352         (khtml::previousBoundary):
3353         (khtml::nextBoundary):
3354         (khtml::startOfLine):
3355         - allow for fact that renderers for list markers and other generated content
3356           have no corresponding NodeImpl.
3357         (khtml::endOfLine):
3358         - ditto
3359         (khtml::nextLinePosition):
3360         (khtml::startOfParagraph):
3361         (khtml::endOfParagraph):
3362         * khtml/xml/ContainerNodeImpl.cpp:
3363         (WebCore::ContainerNodeImpl::getUpperLeftCorner):
3364         (WebCore::ContainerNodeImpl::childNode):
3365         * khtml/xml/ContainerNodeImpl.h:
3366         * khtml/xml/NodeImpl.cpp:
3367         (WebCore::NodeImpl::childNode):
3368         (WebCore::NodeImpl::traversePreviousNode):
3369         (WebCore::NodeImpl::nextEditable):
3370         (WebCore::showTree):
3371         * khtml/xml/NodeImpl.h:
3372         * khtml/xml/dom_position.cpp:
3373         (DOM::Position::upstream):
3374         (DOM::Position::downstream):
3375         (DOM::Position::inRenderedContent):
3376         (DOM::showTree):
3377         * khtml/xml/dom_position.h:
3378         * rendering/render_canvas.cpp:
3379         (RenderCanvas::selectionRect):
3380         * rendering/render_list.cpp:
3381         (RenderListItem::calcListValue):
3382         (RenderListItem::isEmpty):
3383         (getParentOfFirstLineBox):
3384         (RenderListItem::resetMarkerValue):
3385         (RenderListItem::updateMarkerLocation):
3386         * rendering/render_list.h:
3387         (khtml::RenderListMarker::isListMarker):
3388         * rendering/render_object.cpp:
3389         (WebCore::RenderObject::nextRenderer):
3390         (WebCore::RenderObject::previousRenderer):
3391         (WebCore::showTree):
3392         * rendering/render_object.h:
3393         (WebCore::RenderObject::getBaselineOfLastLineBox):
3394         (WebCore::RenderObject::isEmpty):
3395
3396 2006-01-25  Timothy Hatcher  <timothy@apple.com>
3397
3398         Build fix, -[NSFont defaultLineHeightForFont] is deprecated.
3399         We need to use -[NSLayoutManager defaultLineHeightForFont:] instead.
3400
3401         * kwq/KWQLineEdit.mm:
3402         (QLineEdit::sizeForCharacterWidth):
3403         (QLineEdit::baselinePosition):
3404
3405 2006-01-24  Darin Adler  <darin@apple.com>
3406
3407         Reviewed by Adele.
3408
3409         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6731
3410           REGRESSION: change event fires at load time for checked items
3411
3412         Test: fast/forms/radio-button-no-change-event.html
3413
3414         * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked):
3415         One of many possible fixes: Don't send the event if the element is not yet in
3416         a document (as in when parsing the initial attributes).
3417
3418 2006-01-24  Adele Peterson  <adele@apple.com>
3419
3420         Reviewed by Hyatt.
3421
3422         This change will allow the new text field elements to get focus, and to respond to the focus and blur events.
3423
3424         Added: fast/forms/input-appearance-focus.html
3425
3426         * khtml/html/HTMLElementImpl.cpp: (WebCore::HTMLElementImpl::isFocusable): 
3427           Removed recently added code that allowed editable elements with no parent to be focusable.  
3428           We don't need to do this now that we try to focus the input element, instead of the inner div.
3429         * khtml/html/HTMLGenericFormElementImpl.cpp: (WebCore::HTMLGenericFormElementImpl::isMouseFocusable): Added case to for text fields.
3430         * khtml/html/HTMLInputElementImpl.cpp:
3431         (WebCore::HTMLInputElementImpl::focus): Added. Selects contents of text field.
3432         (WebCore::HTMLInputElementImpl::setSelectionStart): Added break; in switch statement.
3433         (WebCore::HTMLInputElementImpl::setSelectionEnd): ditto.
3434         (WebCore::HTMLInputElementImpl::select): ditto.
3435         (WebCore::HTMLInputElementImpl::setSelectionRange): ditto.
3436         * khtml/html/HTMLInputElementImpl.h: Added focus()
3437         * khtml/xml/dom_elementimpl.h: Made focus() virtual.
3438         * page/Frame.cpp: (Frame::setFocusNodeIfNeeded):
3439           Walk up the Render Tree instead of the DOM tree when trying to find a node to focus.  
3440           This will let us choose the input node instead of one of the nodes in the shadow tree.
3441         * page/FrameView.cpp: (FrameView::dispatchMouseEvent): ditto.
3442         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::destroyLeftoverChildren): Corrected misspelling. 
3443         * rendering/RenderTextField.cpp:
3444         (WebCore::RenderTextField::select): Implemented.  Select contents of inner div.
3445         * rendering/RenderTextField.h:
3446         (WebCore::RenderTextField::renderName): Changed order.
3447         (WebCore::RenderTextField::removeLeftoverAnonymousBoxes): ditto.
3448
3449 2006-01-24  Darin Adler  <darin@apple.com>
3450
3451         Reviewed by Eric.
3452
3453         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6782
3454           REGRESSION: replaceChild broken when node to replace is first (TinyMCE test app broken)
3455
3456         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6784
3457           REGRESSION: 25 layout tests failing (basic DOM operations)
3458
3459         Test: fast/dom/replace-first-child.html
3460
3461         * khtml/xml/ContainerNodeImpl.cpp:
3462         (WebCore::ContainerNodeImpl::insertBefore): Change one place that hands off ownership of
3463         as PassRefPtr that causes us to almost always return 0. Fix test that would screw up when
3464         both "prev" and "refChild->previousSibling()" were 0.
3465         (WebCore::ContainerNodeImpl::appendChild): Changed a nearly-identical place handing off
3466         ownership as above.
3467
3468 2006-01-24  Maciej Stachowiak  <mjs@apple.com>
3469
3470         Reviewed by Dave Hyatt.
3471         
3472         - fixed crash if a node is removed from the DOM before being reparented due to residual style
3473         http://bugzilla.opendarwin.org/show_bug.cgi?id=6778
3474
3475         * khtml/html/htmlparser.cpp:
3476         (HTMLParser::handleResidualStyleCloseTagAcrossBlocks): If the
3477         block has been removed from the document, then do not remove it
3478         from its parent or add it to its new location. This prevents the
3479         crash and matches Mozilla.
3480
3481 2006-01-24  Darin Adler  <darin@apple.com>
3482
3483         Reviewed by John Sullivan.
3484
3485         - http://bugzilla.opendarwin.org/show_bug.cgi?id=6750
3486           replace QDateTime with a simpler platform abstraction
3487
3488         * ForwardingHeaders/qdatetime.h: Removed.
3489         * kwq/KWQDateTime.cpp: Removed.
3490         * kwq/KWQDateTime.h: Removed.
3491
3492         * platform/SystemTime.h: Added.
3493         * platform/mac/SystemTime.cpp: (WebCore::currentTime): Added.
3494         * platform/win: Added.
3495         * platform/win/SystemTime.cpp: (WebCore::currentTime): Added.
3496
3497         * WebCore.vcproj/WebCore/WebCore.vcproj: Added new files, removed old.
3498         * WebCore.xcodeproj/project.pbxproj: Ditto.
3499
3500         * css/css_base.h: Removed include of <qdatetime.h>.
3501         * css/cssstyleselector.cpp: Ditto.
3502
3503         * khtml/html/htmltokenizer.h:
3504         * khtml/html/htmltokenizer.cpp: Convert tabs to spaces.
3505         (WebCore::HTMLTokenizer::continueProcessing): Change parameter from QTime to double.
3506         Use currentTime() instead of QTime::elapsed().
3507         (WebCore::HTMLTokenizer::write): Use currentTime() instead of QTime::elapsed().
3508
3509         * config.h: Added HAVE_FUNC_USLEEP for now, not sure this is really a
3510         good way to handle this.
3511         * khtml/xml/ContainerNodeImpl.cpp: (WebCore::ContainerNodeImpl::setActive):
3512         Use currentTime() instead of QTime::elapsed(). Use HAVE_FUNC_USLEEP for the if.
3513
3514         * khtml/xml/DocumentImpl.h:
3515         * khtml/xml/DocumentImpl.cpp:
3516         (WebCore::DocumentImpl::DocumentImpl): Use currentTime() instead of QTime::elapsed().
3517         (WebCore::DocumentImpl::implicitClose): Ditto.
3518         (WebCore::DocumentImpl::minimumLayoutDelay): Ditto.
3519         (WebCore::DocumentImpl::elapsedTime): Ditto.
3520
3521         * khtml/xml/dom2_eventsimpl.cpp: (WebCore::EventImpl::EventImpl): Use currentTime()
3522         instead of local function called currentTimeStamp().
3523
3524         * khtml/xml/xml_tokenizer.h: Removed declaration of class QTime.
3525
3526         * ksvg2/misc/KSVGTimeScheduler.h:
3527         * ksvg2/misc/KSVGTimeScheduler.cpp:
3528         (KSVG::TimeScheduler::TimeScheduler): Use currentTime instead of QTime::elapsed.
3529         (KSVG::TimeScheduler::startAnimations): Ditto.
3530         (KSVG::TimeScheduler::toggleAnimations): Ditto.
3531         (KSVG::TimeScheduler::elapsed): Ditto.
3532
3533         * page/Frame.cpp: (Frame::clear): Removed unused m_parsetime.
3534         * page/FramePrivate.h: Ditto.
3535
3536 2006-01-24  David Hyatt  <hyatt@apple.com>
3537
3538         Fix for bug 6781, convert QColor to Color (and QRgb to RGBA32).  r=maciej.
3539
3540         * ForwardingHeaders/qcolor.h: Removed.
3541         * WebCore+SVG/KDOMSettings.h:
3542         * WebCore+SVG/RGBColorImpl.cpp:
3543         (RGBColorImpl::RGBColorImpl):
3544         (RGBColorImpl::red):
3545         (RGBColorImpl::green):
3546         (RGBColorImpl::blue):
3547         * WebCore+SVG/RGBColorImpl.h:
3548         * WebCore.xcodeproj/project.pbxproj:
3549         * bindings/objc/DOMCSS.mm:
3550         (getWrapperForRGB):
3551         (setWrapperForRGB):
3552         (removeWrapperForRGB):
3553         (-[DOMRGBColor dealloc]):
3554         (-[DOMRGBColor finalize]):
3555         (-[DOMRGBColor red]):
3556         (-[DOMRGBColor green]):
3557         (-[DOMRGBColor blue]):
3558         (-[DOMRGBColor _initWithRGB:]):
3559         (+[DOMRGBColor _RGBColorWithRGB:]):
3560         (-[DOMRGBColor alpha]):
3561         (-[DOMRGBColor _color]):
3562         * bridge/mac/MacFrame.mm:
3563         (MacFrame::attributedString):
3564         (MacFrame::fontAttributesForSelectionStart):
3565         (MacFrame::bodyBackgroundColor):
3566         (convertAttributesToUnderlines):
3567         * css/css_valueimpl.cpp:
3568         (WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
3569         (WebCore::CSSPrimitiveValueImpl::cssText):
3570         * css/csshelper.h:
3571         * css/cssparser.cpp: