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