Reviewed by ap.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2
3         Reviewed by ap.
4
5         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
6         WebKit should have Qt platform support
7
8         * platform/qt/FontCacheQt.cpp: Added.
9         (WebCore::FontCache::platformInit):
10         (WebCore::FontCache::getFontDataForCharacters):
11         (WebCore::FontCache::getSimilarFontPlatformData):
12         (WebCore::FontCache::getLastResortFallbackFont):
13         (WebCore::FontCache::createFontPlatformData):
14         * platform/qt/FontDataQt.cpp: Added.
15         (WebCore::FontData::platformInit):
16         (WebCore::FontData::platformDestroy):
17         (WebCore::FontData::smallCapsFontData):
18         (WebCore::FontData::containsCharacters):
19         (WebCore::FontData::determinePitch):
20         (WebCore::FontData::platformWidthForGlyph):
21         * platform/qt/FontPlatformData.h: Added.
22         * platform/qt/FontPlatformDataQt.cpp: Added.
23         (WebCore::FontPlatformData::FontPlatformData):
24         (WebCore::FontPlatformData::operator=):
25         (WebCore::FontPlatformData::~FontPlatformData):
26         (WebCore::FontPlatformData::isFixedPitch):
27         (WebCore::FontPlatformData::setFont):
28         (WebCore::FontPlatformData::font):
29         (WebCore::FontPlatformData::hash):
30         (WebCore::FontPlatformData::operator==):
31         * platform/qt/FontQt.cpp: Added.
32         (WebCore::Font::operator QFont):
33         (WebCore::Font::drawGlyphs):
34         (WebCore::Font::drawComplexText):
35         (WebCore::Font::floatWidthForComplexText):
36         * platform/qt/GlyphMapQt.cpp: Added.
37         (WebCore::GlyphMap::fillPage):
38
39 2006-08-24  David Harrison  <harrison@apple.com>
40
41         Reinstate r15966 because layout test changes are correct.
42
43         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
44
45         * editing/TextIterator.cpp:
46         (WebCore::TextIterator::advance):
47
48 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
49
50         Reviewed by ap.
51
52         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
53         WebKit should have Qt platform support (Part II)
54
55         Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
56         Use AffineTransform everywhere instead.
57
58         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
59         (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
60         (WebCore::KRenderingDeviceContextQt::concatCTM):
61         (WebCore::KRenderingDeviceContextQt::ctm):
62         * kcanvas/device/qt/KRenderingDeviceQt.h:
63         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
64         (WebCore::KRenderingPaintServerLinearGradientQt::setup):
65         (WebCore::KRenderingPaintServerRadialGradientQt::setup):
66
67 2006-08-24  Rob Buis  <buis@kde.org>
68
69         Reviewed by Darin.
70
71         http://bugzilla.opendarwin.org/show_bug.cgi?id=10524
72         svg transform: comma delimiting breaks display
73
74         Properly parse transforms which use ',' as seperators.
75
76         * ksvg2/svg/SVGTransformable.cpp:
77         (SVGTransformable::parseTransformAttribute):
78
79 2006-08-23  Darin Adler  <darin@apple.com>
80
81         Reviewed by Maciej.
82
83         - added an assert to make it slightly easier to debug the common case of
84           calling document() on a node of 0
85
86         * dom/Node.h: (WebCore::Node::document): ASSERT(this).
87
88 2006-08-23  David Hyatt  <hyatt@apple.com>
89
90         Refactor Cairo and CoreGraphics to use platform ifdefs.  This patch
91         separates the graphics engines from their respective platforms and replaces
92         #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
93
94         Reviewed by darin
95
96         * WebCore.xcodeproj/project.pbxproj:
97         * platform/AffineTransform.h:
98         * platform/Color.h:
99         * platform/Cursor.h:
100         * platform/FloatPoint.h:
101         * platform/FloatRect.h:
102         * platform/FloatSize.h:
103         * platform/Font.h:
104         * platform/FontData.h:
105         * platform/GlyphBuffer.h:
106         (WebCore::GlyphBuffer::glyphAt):
107         (WebCore::GlyphBuffer::advanceAt):
108         (WebCore::GlyphBuffer::add):
109         * platform/GraphicsContext.h:
110         * platform/Image.h:
111         * platform/ImageSource.h:
112         * platform/IntPoint.h:
113         * platform/IntRect.h:
114         * platform/IntSize.h:
115         * platform/ResourceLoader.h:
116         * platform/ResourceLoaderClient.h:
117         * platform/Widget.h:
118         * platform/cairo/GraphicsContextCairo.cpp:
119         * platform/cairo/ImageCairo.cpp:
120         * platform/cairo/ImageSourceCairo.cpp:
121         * platform/cg/AffineTransformCG.cpp:
122         * platform/cg/FloatPointCG.cpp: Added.
123         * platform/cg/FloatRectCG.cpp: Added.
124         * platform/cg/FloatSizeCG.cpp: Added.
125         * platform/cg/GraphicsContextCG.cpp:
126         (WebCore::GraphicsContext::GraphicsContext):
127         (WebCore::GraphicsContext::~GraphicsContext):
128         (WebCore::GraphicsContext::setFocusRingClip):
129         (WebCore::GraphicsContext::clearFocusRingClip):
130         (WebCore::GraphicsContext::platformContext):
131         (WebCore::GraphicsContext::drawRect):
132         (WebCore::GraphicsContext::drawLine):
133         * platform/cg/GraphicsContextPlatformPrivate.h: Added.
134         (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
135         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
136         * platform/cg/ImageCG.cpp: Added.
137         (WebCore::Image::drawTiled):
138         * platform/cg/ImageSourceCG.cpp: Added.
139         * platform/cg/IntPointCG.cpp: Added.
140         * platform/cg/IntRectCG.cpp: Added.
141         * platform/cg/IntSizeCG.cpp: Added.
142         * platform/cg/PDFDocumentImage.cpp: Added.
143         (WebCore::PDFDocumentImage::adjustCTM):
144         * platform/cg/PDFDocumentImage.h: Added.
145         * platform/cg/PathCG.cpp:
146         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
147         * platform/image-decoders/gif/GIFImageDecoder.cpp:
148         * platform/image-decoders/gif/GIFImageReader.cpp:
149         * platform/image-decoders/ico/ICOImageDecoder.cpp:
150         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
151         * platform/image-decoders/png/PNGImageDecoder.cpp:
152         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
153         * platform/mac/FloatPointMac.mm:
154         * platform/mac/FloatRectMac.mm:
155         * platform/mac/FloatSizeMac.mm:
156         * platform/mac/GraphicsContextMac.mm:
157         * platform/mac/ImageMac.mm:
158         * platform/mac/ImageSourceMac.cpp: Removed.
159         * platform/mac/IntPointMac.mm:
160         * platform/mac/IntRectMac.mm:
161         * platform/mac/IntSizeMac.mm:
162         * platform/mac/PDFDocumentImage.h: Removed.
163         * platform/mac/PDFDocumentImage.mm: Removed.
164
165 2006-08-23  David Hyatt  <hyatt@apple.com>
166
167         Remove the ifdef for platform scrollbars vs. engine scrollbars until
168         engine scrollbars actually exist.
169
170         * platform/ScrollBar.h:
171         (WebCore::ScrollBar::hasPlatformScrollBars):
172
173 2006-08-23  Justin Garcia  <justin.garcia@apple.com>
174
175         Reviewed by harrison
176         
177         Removed the poorly named next/previousVisiblePosition
178         and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
179         Removed the unused VisiblePosition::maxOffset()
180
181         * editing/VisiblePosition.cpp:
182         (WebCore::VisiblePosition::next):
183         (WebCore::VisiblePosition::previous):
184         (WebCore::VisiblePosition::canonicalPosition):
185         * editing/VisiblePosition.h: 
186
187 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
188
189         Reviewed by Alexey. Landed by rwlbuis.
190
191         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
192         WebKit should have Qt platform support (Part II)
193
194         * platform/qt/GraphicsContextQt.cpp: Added.
195         (WebCore::toQtCompositionMode):
196         (WebCore::toQtLineCap):
197         (WebCore::toQtLineJoin):
198         (WebCore::TransparencyLayer::TransparencyLayer):
199         (WebCore::TransparencyLayer::cleanup):
200         (WebCore::TextShadow::TextShadow):
201         (WebCore::TextShadow::isNull):
202         (WebCore::GraphicsContextPlatformPrivate::p):
203         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
204         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
205         (WebCore::GraphicsContext::GraphicsContext):
206         (WebCore::GraphicsContext::~GraphicsContext):
207         (WebCore::GraphicsContext::platformContext):
208         (WebCore::GraphicsContext::savePlatformState):
209         (WebCore::GraphicsContext::restorePlatformState):
210         (WebCore::GraphicsContext::drawRect):
211         (WebCore::adjustLineToPixelBounderies):
212         (WebCore::GraphicsContext::drawLine):
213         (WebCore::GraphicsContext::drawEllipse):
214         (WebCore::GraphicsContext::drawArc):
215         (WebCore::GraphicsContext::drawConvexPolygon):
216         (WebCore::GraphicsContext::fillRect):
217         (WebCore::GraphicsContext::addClip):
218         (WebCore::GraphicsContext::drawFocusRing):
219         (WebCore::GraphicsContext::setFocusRingClip):
220         (WebCore::GraphicsContext::clearFocusRingClip):
221         (WebCore::GraphicsContext::drawLineForText):
222         (WebCore::GraphicsContext::drawLineForMisspelling):
223         (WebCore::GraphicsContext::roundToDevicePixels):
224         (WebCore::GraphicsContext::setShadow):
225         (WebCore::GraphicsContext::clearShadow):
226         (WebCore::GraphicsContext::beginTransparencyLayer):
227         (WebCore::GraphicsContext::endTransparencyLayer):
228         (WebCore::GraphicsContext::clearRect):
229         (WebCore::GraphicsContext::strokeRect):
230         (WebCore::GraphicsContext::setLineWidth):
231         (WebCore::GraphicsContext::setLineCap):
232         (WebCore::GraphicsContext::setLineJoin):
233         (WebCore::GraphicsContext::setMiterLimit):
234         (WebCore::GraphicsContext::setAlpha):
235         (WebCore::GraphicsContext::setCompositeOperation):
236         (WebCore::GraphicsContext::clip):
237         (WebCore::GraphicsContext::translate):
238         (WebCore::GraphicsContext::rotate):
239         (WebCore::GraphicsContext::scale):
240         (WebCore::GraphicsContext::addInnerRoundedRectClip):
241         (WebCore::GraphicsContext::addRoundedRectClip):
242         (WebCore::GraphicsContext::createRenderingDeviceContext):
243         * platform/qt/ImageQt.cpp: Added.
244         (WebCore::FrameData::clear):
245         (WebCore::Image::initNativeData):
246         (WebCore::Image::destroyNativeData):
247         (WebCore::Image::invalidateNativeData):
248         (WebCore::Image::loadResource):
249         (WebCore::Image::supportsType):
250         (WebCore::Image::draw):
251         (WebCore::Image::drawTiled):
252         (WebCore::Image::checkForSolidColor):
253         * platform/qt/ImageSourceQt.cpp: Added.
254         (WebCore::createDecoder):
255         (WebCore::ImageSource::ImageSource):
256         (WebCore::ImageSource::~ImageSource):
257         (WebCore::ImageSource::initialized):
258         (WebCore::ImageSource::setData):
259         (WebCore::ImageSource::isSizeAvailable):
260         (WebCore::ImageSource::size):
261         (WebCore::ImageSource::repetitionCount):
262         (WebCore::ImageSource::frameCount):
263         (WebCore::ImageSource::createFrameAtIndex):
264         (WebCore::ImageSource::frameDurationAtIndex):
265         (WebCore::ImageSource::frameHasAlphaAtIndex):
266
267 2006-08-23  Brady Eidson  <beidson@apple.com>
268
269         Reviewed by Adele
270
271         Moved default URL icon from WebKit to WebCore
272
273         * Resources/urlIcon.tiff: Added.
274         * WebCore.xcodeproj/project.pbxproj:
275         * loader/icon/IconDataCache.cpp:
276         (WebCore::IconDataCache::loadImageFromResource):
277         * loader/icon/IconDataCache.h:
278         * loader/icon/IconDatabase.cpp:
279         (WebCore::IconDatabase::IconDatabase):
280         (WebCore::IconDatabase::defaultIcon):
281         * loader/icon/IconDatabase.h:
282
283 2006-08-23  Adam Roben  <aroben@apple.com>
284
285         Reviewed by Darin, Adele.
286
287         Some popup refactoring/cleanup.
288
289         * html/HTMLSelectElement.cpp:
290         (WebCore::HTMLSelectElement::defaultEventHandler):
291         * rendering/RenderMenuList.cpp:
292         (WebCore::RenderMenuList::RenderMenuList):
293         (WebCore::RenderMenuList::~RenderMenuList):
294         (WebCore::RenderMenuList::showPopup):
295         (WebCore::RenderMenuList::hidePopup):
296         * rendering/RenderMenuList.h:
297         (WebCore::RenderMenuList::popup):
298         (WebCore::RenderMenuList::popupIsVisible):
299         * rendering/RenderPopupMenu.h:
300         * rendering/RenderPopupMenuMac.h:
301         (WebCore::RenderPopupMenuMac::hidePopup):
302
303 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
304
305         Reviewed by Anders. Landed by rwlbuis.
306
307         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
308         WebKit should have Qt platform support
309
310         * platform/qt/ResourceLoaderCurl.cpp: Added.
311         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
312         (WebCore::ResourceLoader::~ResourceLoader):
313         (WebCore::ResourceLoader::start):
314         (WebCore::ResourceLoader::cancel):
315         (WebCore::ResourceLoader::assembleResponseHeaders):
316         (WebCore::ResourceLoader::retrieveCharset):
317         (WebCore::ResourceLoader::receivedResponse):
318         * platform/qt/ResourceLoaderManager.cpp: Added.
319         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
320         (WebCore::ResourceLoaderManager::get):
321         (WebCore::ResourceLoaderManager::useSimpleTransfer):
322         (WebCore::writeCallback):
323         (WebCore::headerCallback):
324         (WebCore::ResourceLoaderManager::downloadTimerCallback):
325         (WebCore::ResourceLoaderManager::remove):
326         (WebCore::ResourceLoaderManager::add):
327         (WebCore::ResourceLoaderManager::cancel):
328         * platform/qt/ResourceLoaderManager.h: Added.
329         * platform/qt/StringQt.cpp: Added.
330         (WebCore::String::String):
331         (WebCore::String::operator QString):
332         (WebCore::DeprecatedString::operator QString):
333
334 2006-08-23  Brady Eidson  <beidson@apple.com>
335
336         Reviewed by Maciej
337
338         Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
339
340         * WebCore.xcodeproj/project.pbxproj: Reordered some files
341         * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
342         (WebCore::IconDataCache::writeToDatabase):
343         * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
344         (WebCore::IconDatabase::retainIconURL):
345         (WebCore::IconDatabase::releaseIconURL):
346         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
347         (WebCore::IconDatabase::establishIconIDForIconURL):
348         (WebCore::imageDataForIconURLQuery):
349         (WebCore::timeStampForIconURLQuery):
350         (WebCore::iconURLForPageURLQuery):
351         (WebCore::forgetPageURLQuery):
352         (WebCore::setIconIDForPageURLQuery):
353         (WebCore::getIconIDForIconURLQuery):
354         (WebCore::addIconForIconURLQuery):
355         (WebCore::hasIconForIconURLQuery):
356         * loader/icon/SQLDatabase.h:
357         (WebCore::escapeSQLString): Added
358
359 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
360
361         Reviewed by Brady.
362
363         - assorted style cleanup of icon loader code:
364         
365         - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
366         - split headers to be one per class, to match impl files
367         - made files that are purely local in IconDatabase.cpp static
368         - make each impl file include config.h as first header (and no config.h includes in other headers)
369         - avoid multiple copies of Vector<unsigned char> for image data
370
371         * WebCore.xcodeproj/project.pbxproj:
372         * loader/icon/IconDataCache.cpp:
373         * loader/icon/IconDataCache.h: Added.
374         (WebCore::):
375         (WebCore::IconDataCache::getTimestamp):
376         (WebCore::IconDataCache::setTimestamp):
377         (WebCore::IconDataCache::getIconURL):
378         * loader/icon/IconDatabase.cpp:
379         (WebCore::IconDatabase::imageDataForIconURL):
380         (WebCore::IconDatabase::iconForPageURL):
381         (WebCore::pageURLTableIsEmptyQuery):
382         (WebCore::imageDataForIconURLQuery):
383         (WebCore::timeStampForIconURLQuery):
384         (WebCore::iconURLForPageURLQuery):
385         (WebCore::forgetPageURLQuery):
386         (WebCore::setIconIDForPageURLQuery):
387         (WebCore::getIconIDForIconURLQuery):
388         (WebCore::addIconForIconURLQuery):
389         (WebCore::hasIconForIconURLQuery):
390         * loader/icon/IconDatabase.h:
391         * loader/icon/SQLDatabase.cpp:
392         * loader/icon/SQLDatabase.h:
393         * loader/icon/SQLStatement.cpp:
394         (WebCore::SQLStatement::getColumnBlobAsVector):
395         * loader/icon/SQLStatement.h: Added.
396         (WebCore::SQLStatement::isPrepared):
397         (WebCore::SQLStatement::prepareAndStep):
398         (WebCore::SQLStatement::lastError):
399         (WebCore::SQLStatement::lastErrorMsg):
400         * loader/icon/SQLTransaction.cpp:
401         * loader/icon/SQLTransaction.h: Added.
402
403 2006-08-22  Brady Eidson  <beidson@apple.com>
404
405         Reviewed by Maciej
406
407         The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
408         As such, I'm renaming it to IconDataCache.
409         Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the 
410         TimeStamp when an icon is created or the data is changed.
411         IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
412         IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
413         The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.
414
415         * WebCore.xcodeproj/project.pbxproj: Renamed a file
416         * loader/icon/IconDataCache.cpp: Added.
417         (IconDataCache::IconDataCache):
418         (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
419         (IconDataCache::manuallySetImageData): Delete the old image and create the new one
420         (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
421         (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
422         * loader/icon/IconDatabase.cpp:
423         (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
424         (WebCore::IconDatabase::iconForPageURL): 
425         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
426         (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
427         (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
428         (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
429         * loader/icon/IconDatabase.h:
430         (WebCore::IconDataCache::getTimestamp):
431         (WebCore::IconDataCache::setTimestamp):
432         * loader/icon/SiteIcon.cpp: Removed.
433
434
435 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
436
437         Reviewed by harrison
438         
439         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
440         REGRESSION(r15918): drag-into-marker.html failing
441
442         * editing/ReplaceSelectionCommand.cpp:
443         (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
444         in a list item.
445
446 2006-08-22  Brady Eidson  <beidson@apple.com>
447
448         Reviewed by Kevin
449
450         Added a check in getTIFFRepresentation to not proceed if the frame count is zero
451         This is an error condition that was handled gracefully before - in certain circumstances
452         the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
453         or invalid data.  This small change bails out before that call if that call will definitely fail
454
455         * platform/mac/ImageMac.mm:
456         (WebCore::Image::getTIFFRepresentation):
457
458 2006-08-22  David Harrison  <harrison@apple.com>
459
460         Backed out my last change (r15966) because it broke lots of layout tests.
461
462         * editing/TextIterator.cpp:
463         (WebCore::TextIterator::advance):
464
465 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
466
467         Reviewed by Anders.
468
469         - added some SPI indirections to support the following in WebKit/Loader:
470             - pull more WebDataSource code into WebFrameLoader
471             - make WebMainResourceLoader not depend on WebKit or on SPI
472
473         * WebCore.exp:
474         * WebCore.xcodeproj/project.pbxproj:
475         * platform/mac/WebCoreSystemInterface.h:
476         * platform/mac/WebCoreSystemInterface.mm:
477
478 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
479
480         Reviewed by harrison
481
482         <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
483         
484         * editing/ReplaceSelectionCommand.cpp:
485         (WebCore::isInterchangeNewlineNode):
486         (WebCore::isInterchangeConvertedSpaceSpan):
487         (WebCore::ReplacementFragment::ReplacementFragment):
488         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
489         remove them and remove style nodes and style spans which were only contributing redundant styles.
490         (WebCore::ReplaceSelectionCommand::doApply):
491         * editing/ReplaceSelectionCommand.h:
492
493 2006-08-22  David Harrison  <harrison@apple.com>
494
495         Reviewed by Darin.
496
497         <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
498
499         This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
500
501         Test case added:
502         * manual-tests/inline-input-marking.html: Added.
503         Check that underlining of the inline input hole does not obscure the glyphs.
504         
505         * rendering/InlineTextBox.cpp:
506         (WebCore::InlineTextBox::paintMarkedTextUnderline):
507         Position underline at bottom of text box.
508         Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.
509
510 2006-08-22  Rob Buis  <buis@kde.org>
511
512         Reviewed by Eric.
513
514         http://bugzilla.opendarwin.org/show_bug.cgi?id=10402
515         REPRO: SVG crashes inside gradient code
516
517         Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
518
519         * ksvg2/svg/SVGGradientElement.cpp:
520         (SVGGradientElement::notifyAttributeChange):
521         (SVGGradientElement::resourceNotification):
522
523 2006-08-22  David Harrison  <harrison@apple.com>
524
525         Reviewed by John.
526
527         <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
528
529         * bridge/mac/WebCoreAXObject.mm:
530         (headingLevel):
531         (-[WebCoreAXObject headingLevel]):
532         (-[WebCoreAXObject isHeading]):
533         New. Heading level is per the tag (h1 == 1, h2 == 2, etc.)
534         
535         (-[WebCoreAXObject role]):
536         (-[WebCoreAXObject roleDescription]):
537         Add role and roleDescription for headings.
538         
539         (-[WebCoreAXObject value]):
540         Value is the headingLevel.
541         
542         (AXAttributeStringSetHeadingLevel):
543         (AXAttributedStringAppendText):
544         Put text's heading level (if applicable) in the attributes.
545         
546 2006-08-22  David Harrison  <harrison@apple.com>
547
548         Reviewed by John.
549
550         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
551
552         Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
553         
554         * editing/TextIterator.cpp:
555         (WebCore::TextIterator::advance):
556         Include controls.
557
558 2006-08-22  David Harrison  <harrison@apple.com>
559
560         Reviewed by Maciej.
561
562         <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker
563
564         * bridge/mac/WebCoreAXObject.mm:
565         (-[WebCoreAXObject textMarkerRange]):
566         Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset().
567         Check for VisiblePositions being equal.  If so, adjust end one to its next().
568         That happens with, e.g., buttons.
569
570 2006-08-22  Rob Buis  <buis@kde.org>
571
572         Reviewed by Eric.
573
574         http://bugzilla.opendarwin.org/show_bug.cgi?id=10491
575         KCanvasMatrix removal
576
577         Remove KCanvasMatrix from project, using AffineTransform instead.
578
579         * WebCore.xcodeproj/project.pbxproj:
580         * kcanvas/KCanvasMatrix.cpp: Removed.
581         * kcanvas/KCanvasMatrix.h: Removed.
582         * kcanvas/KCanvasResources.cpp:
583         (WebCore::KCanvasMarker::draw):
584         * kcanvas/KCanvasResources.h:
585         * kcanvas/RenderForeignObject.cpp:
586         * kcanvas/RenderPath.h:
587         * kcanvas/RenderSVGContainer.cpp:
588         (WebCore::RenderSVGContainer::viewportTransform):
589         (WebCore::RenderSVGContainer::getAspectRatio):
590         * kcanvas/RenderSVGContainer.h:
591         * kcanvas/RenderSVGText.cpp:
592         * kcanvas/device/KRenderingDevice.h:
593         * kcanvas/device/KRenderingPaintServerGradient.cpp:
594         (WebCore::KRenderingPaintServerGradient::gradientTransform):
595         (WebCore::KRenderingPaintServerGradient::setGradientTransform):
596         (WebCore::KRenderingPaintServerGradient::externalRepresentation):
597         * kcanvas/device/KRenderingPaintServerGradient.h:
598         * kcanvas/device/KRenderingPaintServerPattern.cpp:
599         (WebCore::KRenderingPaintServerPattern::patternTransform):
600         (WebCore::KRenderingPaintServerPattern::setPatternTransform):
601         (WebCore::KRenderingPaintServerPattern::externalRepresentation):
602         * kcanvas/device/KRenderingPaintServerPattern.h:
603         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
604         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
605         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
606         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
607         (WebCore::KRenderingDeviceContextQuartz::concatCTM):
608         (WebCore::KRenderingDeviceContextQuartz::ctm):
609         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
610         (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
611         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
612         (WebCore::KRenderingPaintServerPatternQuartz::setup):
613         * kcanvas/device/quartz/QuartzSupport.mm:
614         * ksvg2/misc/KCanvasRenderingStyle.h:
615         * ksvg2/svg/SVGAnimateTransformElement.cpp:
616         * ksvg2/svg/SVGAnimateTransformElement.h:
617         * ksvg2/svg/SVGLinearGradientElement.cpp:
618         (SVGLinearGradientElement::buildGradient):
619         * ksvg2/svg/SVGPatternElement.cpp:
620         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
621         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
622         (WebCore::SVGPatternElement::notifyAttributeChange):
623         * ksvg2/svg/SVGPatternElement.h:
624         * ksvg2/svg/SVGRadialGradientElement.cpp:
625         (WebCore::SVGRadialGradientElement::buildGradient):
626
627 2006-08-22  Rob Buis  <buis@kde.org>
628
629         Reviewed by Eric.
630
631         http://bugzilla.opendarwin.org/show_bug.cgi?id=10405
632         REPRO: SVG Maze crashes in RenderPath code
633
634         Do not render a path when it is empty so maze15.svg does not crash anymore.
635         Also get rid of a runtime warning issued by CGContextGetPathBoundingBox.
636
637         * kcanvas/RenderPath.cpp:
638         (WebCore::RenderPath::paint):
639         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
640         (WebCore::KCanvasPathQuartz::strokeBoundingBox):
641
642 2006-08-21  Brady Eidson  <beidson@apple.com>
643
644         Reviewed by Maciej
645
646         <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
647
648         Added a flag to track whether or not the initial pruning has taken place on startup
649         If that flag is not set, IconURL retain counts will be tracked in a temporary db table
650         in addition to the in-memory hash.  Then when the timer fires after initial retains
651         are complete, we prune those icons not in the retain table, prune dangling PageURL
652         references, delete the temporary table, and set the flag - and carry on as normal
653
654         * loader/icon/IconDatabase.cpp:
655         (WebCore::IconDatabase::IconDatabase): initialize the flag
656         (WebCore::IconDatabase::open): changed the schema of the temporary table
657         (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
658         (WebCore::IconDatabase::releaseIconURL): ditto
659         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
660           wipe all the PageURLs who no longer point to a valid IconURL
661         * loader/icon/IconDatabase.h:
662
663 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
664
665         Reviewed by Eric.
666
667         http://bugzilla.opendarwin.org/show_bug.cgi?id=10419
668         XSLTProcessor transformToFragment fails because of an XML declaration
669
670         Test: fast/xsl/transformToFragment-XML-declaration.html
671
672         * xml/XSLTProcessor.cpp:
673         (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
674
675 2006-08-21  David Harrison  <harrison@apple.com>
676
677         Reviewed by Justin.
678
679         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
680
681         Added support for the NSAccessibilityMisspelledTextAttribute.
682         
683         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
684         is not possible.  See following bug...
685             <rdar://problem/4256882> Need automated testing support for accessibility APIs
686
687         * bridge/mac/WebCoreAXObject.mm:
688         Lots of trivial formatting in many methods.
689         
690         (-[WebCoreAXObject accessibilityAttributeValue:]):
691         Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
692         of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
693         attribute.
694
695         (WebCore::AXAttributeStringSetSpelling): 
696         New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
697
698         (-[WebCoreAXObject AXAttributedStringAppendText:]):
699         Added call to AXAttributeStringSetSpelling.
700         
701         * editing/visible_units.cpp:
702         (WebCore::startOfDocument):
703         (WebCore::endOfDocument):
704         Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
705         so a previously existing VisiblePosition is not required.
706         
707         * editing/visible_units.h:
708         Declare new forms of startOfDocument and endOfDocument.
709
710 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
711
712         Reviewed by Eric.
713
714         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
715         WebKit should have Qt platform support
716
717         * platform/qt/TemporaryLinkStubs.cpp: Added.
718         (JavaAppletWidget::JavaAppletWidget):
719         (Font::selectionRectForComplexText):
720         (Font::offsetForPositionForComplexText):
721         (WebCore::refreshPlugins):
722         (WebCore::focusRingColor):
723         (Image::drawTiled):
724         (WebCore::TextField::selectAll):
725         (WebCore::TextField::addSearchResult):
726         (WebCore::TextField::selectionStart):
727         (WebCore::TextField::hasSelectedText):
728         (WebCore::TextField::selectedText):
729         (WebCore::TextField::setAutoSaveName):
730         (WebCore::TextField::checksDescendantsForFocus):
731         (WebCore::TextField::setSelection):
732         (WebCore::TextField::setMaxResults):
733         (WebCore::TextField::edited):
734         (WebCore::TextField::focusPolicy):
735         (WebCore::TextField::TextField):
736         (WebCore::TextField::~TextField):
737         (WebCore::TextField::setFont):
738         (WebCore::TextField::setAlignment):
739         (WebCore::TextField::setWritingDirection):
740         (WebCore::TextField::maxLength):
741         (WebCore::TextField::setMaxLength):
742         (WebCore::TextField::text):
743         (WebCore::TextField::setText):
744         (WebCore::TextField::cursorPosition):
745         (WebCore::TextField::setCursorPosition):
746         (WebCore::TextField::setEdited):
747         (WebCore::TextField::setReadOnly):
748         (WebCore::TextField::setPlaceholderString):
749         (WebCore::TextField::setColors):
750         (WebCore::TextField::sizeForCharacterWidth):
751         (WebCore::TextField::baselinePosition):
752         (WebCore::TextField::setLiveSearch):
753         (WebCore::Slider::Slider):
754         (WebCore::Slider::sizeHint):
755         (WebCore::Slider::~Slider):
756         (WebCore::Slider::setValue):
757         (WebCore::Slider::setMaxValue):
758         (WebCore::Slider::setMinValue):
759         (WebCore::Slider::setFont):
760         (WebCore::Slider::value):
761         (WebCore::Slider::focusPolicy):
762         (WebCore::ScrollBar::ScrollBar):
763         (WebCore::ScrollBar::setSteps):
764         (WebCore::ScrollBar::scroll):
765         (WebCore::ScrollBar::setValue):
766         (WebCore::ScrollBar::setKnobProportion):
767         (WebCore::PlatformScrollBar::PlatformScrollBar):
768         (WebCore::PlatformScrollBar::~PlatformScrollBar):
769         (WebCore::PlatformScrollBar::width):
770         (WebCore::PlatformScrollBar::height):
771         (WebCore::PlatformScrollBar::setEnabled):
772         (WebCore::PlatformScrollBar::paint):
773         (WebCore::PlatformScrollBar::setScrollBarValue):
774         (WebCore::PlatformScrollBar::setKnobProportion):
775         (WebCore::PlatformScrollBar::setRect):
776         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
777         (WebCore::CheckCacheObjectStatus):
778         (WebCore::CheckIfReloading):
779         (WebCore::ServeSynchronousRequest):
780         (WebCore::historyContains):
781         (WebCore::submitButtonDefaultLabel):
782         (WebCore::inputElementAltText):
783         (WebCore::resetButtonDefaultLabel):
784         (WebCore::defaultLanguage):
785         (WebCore::findNextSentenceFromIndex):
786         (WebCore::findSentenceBoundary):
787         (WebCore::findNextWordFromIndex):
788         (WebCore::findWordBoundary):
789         (Frame::setNeedsReapplyStyles):
790         (WebCore::screenDepthPerComponent):
791         (WebCore::screenIsMonochrome):
792         (WebCore::searchableIndexIntroduction):
793         (WebCore::setFocusRingColorChangeFunction):
794         (FrameView::updateBorder):
795         (loadResourceIntoArray):
796         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
797         (PlugInInfoStore::pluginCount):
798         (WebCore::PlugInInfoStore::supportsMIMEType):
799         (FileButton::FileButton):
800         (FileButton::click):
801         (FileButton::sizeForCharacterWidth):
802         (FileButton::focusPolicy):
803         (FileButton::frameGeometry):
804         (FileButton::setFilename):
805         (FileButton::baselinePosition):
806         (FileButton::setFrameGeometry):
807         (FileButton::setDisabled):
808         (WebCore::supportedKeySizes):
809         (WebCore::signedPublicKeyAndChallengeString):
810
811 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
812
813         Reviewed by Maciej.
814
815         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
816         WebKit should have Qt platform support
817
818         * platform/qt/CursorQt.cpp: Added.
819         (WebCore::Cursor::Cursor):
820         (WebCore::Cursor::~Cursor):
821         (WebCore::Cursor::operator=):
822         (WebCore::Cursors::Cursors::self):
823         (WebCore::moveCursor):
824         (WebCore::crossCursor):
825         (WebCore::handCursor):
826         (WebCore::iBeamCursor):
827         (WebCore::waitCursor):
828         (WebCore::helpCursor):
829         (WebCore::eastResizeCursor):
830         (WebCore::northResizeCursor):
831         (WebCore::northEastResizeCursor):
832         (WebCore::northWestResizeCursor):
833         (WebCore::southResizeCursor):
834         (WebCore::southEastResizeCursor):
835         (WebCore::southWestResizeCursor):
836         (WebCore::westResizeCursor):
837         (WebCore::northSouthResizeCursor):
838         (WebCore::eastWestResizeCursor):
839         (WebCore::northEastSouthWestResizeCursor):
840         (WebCore::northWestSouthEastResizeCursor):
841         (WebCore::columnResizeCursor):
842         (WebCore::rowResizeCursor):
843         * platform/qt/RenderThemeQt.cpp: Added.
844         (WebCore::RenderThemeQt::RenderThemeQt):
845         (WebCore::RenderThemeQt::supportsHover):
846         (WebCore::RenderThemeQt::paintCheckbox):
847         (WebCore::RenderThemeQt::paintRadio):
848         (WebCore::theme):
849         (WebCore::RenderThemeQt::isControlStyled):
850         (WebCore::RenderThemeQt::controlSupportsTints):
851         (WebCore::RenderThemeQt::systemFont):
852         (WebCore::RenderThemeQt::createPopupMenu):
853         (WebCore::RenderThemeQt::addIntrinsicMargins):
854         (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
855         (WebCore::RenderThemeQt::setCheckboxSize):
856         (WebCore::RenderThemeQt::setRadioSize):
857         (WebCore::RenderThemeQt::supportsFocus):
858         (WebCore::RenderThemeQt::applyTheme):
859         (WebCore::RenderThemeQt::adjustButtonStyle):
860         (WebCore::RenderThemeQt::paintButton):
861         (WebCore::RenderThemeQt::adjustTextFieldStyle):
862         (WebCore::RenderThemeQt::paintTextField):
863
864 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
865
866         Reviewed by Maciej.
867
868         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
869         WebKit should have Qt platform support
870
871         * platform/qt/SharedTimerQt.cpp: Added.
872         (WebCore:setSharedTimerFiredFunction):
873         (WebCore::setSharedTimerFireTime):
874         (WebCore::stopSharedTimer):
875         * platform/qt/SharedTimerQt.h: Added.
876         (WebCore::SharedTimerQt::SharedTimerQt):
877         (WebCore::SharedTimerQt::~SharedTimerQt):
878         (WebCore::SharedTimerQt::inst):
879         (WebCore::SharedTimerQt::fire):
880         * platform/qt/SystemTimeQt.cpp: Added.
881         (WebCore::currentTime):
882
883 2006-08-21  Brady Eidson  <beidson@apple.com>
884
885         Reviewed by John
886
887         -Defers writing to the database via a timer and handles starting the timer
888          intelligently
889
890         * loader/icon/IconDatabase.cpp:
891         (WebCore::IconDatabase::IconDatabase):
892         (WebCore::IconDatabase::open): Don't start the update timer by default
893         (WebCore::IconDatabase::close): Call syncDatabase()
894         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase()
895         (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call
896         (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB
897         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
898         (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase()
899         (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer
900         * loader/icon/IconDatabase.h:
901
902 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
903
904         Reviewed by Eric.
905
906         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10429
907           XSLTProcessor.transformToFragment crashes if the owner document is empty
908
909         Test: fast/js/xslt-fragment-in-empty-doc.html
910
911         * dom/XMLTokenizer.cpp:
912         (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.
913
914 2006-08-21  Brady Eidson  <beidson@apple.com>
915
916         Reviewed by Anders
917
918         -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
919          In the near future, we'll also have timer-based deferred *addition* of database records
920         -Keep retain/release counts in a hash instead of a DB table
921         -Keep only one hash record for the SiteIcons
922         -Renamed some methods for clarity
923
924         * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
925         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
926         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
927         * loader/icon/IconDatabase.cpp:
928         (WebCore::IconDatabase::IconDatabase):
929         (WebCore::IconDatabase::open): Added new timer setup
930         (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
931         (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
932         (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
933         (WebCore::IconDatabase::retainIconURL): Added
934         (WebCore::IconDatabase::releaseIconURL): Added
935         (WebCore::IconDatabase::forgetPageURL):  Added
936         (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
937         (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
938         (WebCore::IconDatabase::setIconURLForPageURL):
939         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
940         (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
941         (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
942         * loader/icon/IconDatabase.h: Added multiple stuffs
943
944 2006-08-21  Brady Eidson  <beidson@apple.com>
945
946         Reviewed by Maciej's rubberstamp
947
948         Removed stale file references from the Xcode.proj
949
950         * WebCore.xcodeproj/project.pbxproj:
951
952 2006-08-20  Nikolas Zimmermann  <zimmermann@kde.org>
953
954         Reviewed by Maciej. Landed by rwlbuis.
955
956         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10463
957         WebKit should have Qt platform support
958
959         Removing HelperQt.h usage by creating appropriate operators
960         constructor in some of the platform classes, as suggested by Darin.
961
962         * CMakeLists.txt:
963         * platform/DeprecatedString.h:
964         * platform/Font.h:
965         * platform/PlatformString.h:
966         * platform/qt/ComboBoxQt.cpp:
967         (WebCore::PlatformComboBox::appendItem):
968         (WebCore::PlatformComboBox::appendGroupLabel):
969         (WebCore::PlatformComboBox::setFont):
970         * platform/qt/LineEditQt.cpp:
971         (WebCore::PlatformLineEdit::setFont):
972         (WebCore::PlatformLineEdit::setText):
973         (WebCore::PlatformLineEdit::text):
974         (WebCore::PlatformLineEdit::selectedText):
975         * platform/qt/ListBoxQt.cpp:
976         (WebCore::ListBox::setFont):
977         (WebCore::ListBox::appendItem):
978         * platform/qt/PlatformKeyboardEventQt.cpp:
979         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
980         * platform/qt/ScrollViewQt.cpp:
981         * platform/qt/StringQt.cpp: Added.
982         (WebCore::String::String):
983         (WebCore::String::operator QString):
984         (WebCore::DeprecatedString::operator QString):
985         * platform/qt/TextEditQt.cpp:
986         * platform/qt/WidgetQt.cpp:
987         (WebCore::Widget::setFont):
988
989 2006-08-18  Steve Falkenburg  <sfalken@apple.com>
990
991         Rubber stamped by adele.
992         
993         Fix call to WebFormDelegate's textFieldDidBeginEditing.
994
995         * rendering/RenderTextControl.cpp:
996         (WebCore::RenderTextControl::subtreeHasChanged):
997
998 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
999
1000         Reviewed by Eric. Landed by rwlbuis.
1001
1002         Next chunk of the implementation for:
1003         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1004
1005         WebKit should have Qt platform support
1006
1007         * platform/qt/KeyboardCodes.h: Added.
1008         * platform/qt/PlatformKeyboardEventQt.cpp: Added.
1009         (WebCore::keyIdentifierForQtKeyCode):
1010         (WebCore::windowsKeyCodeForKeyEvent):
1011         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1012         * platform/qt/PlatformMouseEventQt.cpp: Added.
1013         (WebCore::):
1014         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1015
1016 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
1017
1018         Reviewed by Eric. Landed by rwlbuis.
1019
1020         Next chunk of the implementation for:
1021         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1022
1023         WebKit should have Qt platform support
1024
1025         * platform/qt/AffineTransformQt.cpp: Added.
1026         (WebCore::AffineTransform::AffineTransform):
1027         (WebCore::AffineTransform::setMatrix):
1028         (WebCore::AffineTransform::map):
1029         (WebCore::AffineTransform::mapRect):
1030         (WebCore::AffineTransform::isIdentity):
1031         (WebCore::AffineTransform::m11):
1032         (WebCore::AffineTransform::m12):
1033         (WebCore::AffineTransform::m21):
1034         (WebCore::AffineTransform::m22):
1035         (WebCore::AffineTransform::dx):
1036         (WebCore::AffineTransform::dy):
1037         (WebCore::AffineTransform::reset):
1038         (WebCore::AffineTransform::scale):
1039         (WebCore::AffineTransform::rotate):
1040         (WebCore::AffineTransform::translate):
1041         (WebCore::AffineTransform::shear):
1042         (WebCore::AffineTransform::det):
1043         (WebCore::AffineTransform::invert):
1044         (WebCore::AffineTransform::operator QMatrix):
1045         (WebCore::AffineTransform::operator==):
1046         (WebCore::AffineTransform::operator*=):
1047         (WebCore::AffineTransform::operator*):
1048         * platform/qt/BrowserExtensionQt.cpp: Added.
1049         (WebCore::BrowserExtensionQt::BrowserExtensionQt):
1050         (WebCore::BrowserExtensionQt::canRunModal):
1051         (WebCore::BrowserExtensionQt::createNewWindow):
1052         (WebCore::BrowserExtensionQt::canRunModalNow):
1053         (WebCore::BrowserExtensionQt::runModal):
1054         (WebCore::BrowserExtensionQt::goBackOrForward):
1055         (WebCore::BrowserExtensionQt::historyURL):
1056         (WebCore::BrowserExtensionQt::setTypedIconURL):
1057         (WebCore::BrowserExtensionQt::setIconURL):
1058         (WebCore::BrowserExtensionQt::getHistoryLength):
1059         * platform/qt/BrowserExtensionQt.h: Added.
1060         * platform/qt/CookieJarQt.cpp: Added.
1061         (WebCore::setCookies):
1062         (WebCore::cookies):
1063         (WebCore::cookiesEnabled):
1064         * platform/qt/PageQt.cpp: Added.
1065         (WebCore::rootWindowForFrame):
1066         (WebCore::Page::windowRect):
1067         (WebCore::Page::setWindowRect):
1068         * platform/qt/PathQt.cpp: Added.
1069         (WebCore::Path::Path):
1070         (WebCore::Path::~Path):
1071         (WebCore::Path::operator=):
1072         (WebCore::Path::contains):
1073         (WebCore::Path::translate):
1074         (WebCore::Path::boundingRect):
1075         (WebCore::Path::moveTo):
1076         (WebCore::Path::addLineTo):
1077         (WebCore::Path::addQuadCurveTo):
1078         (WebCore::Path::addBezierCurveTo):
1079         (WebCore::Path::addArcTo):
1080         (WebCore::Path::closeSubpath):
1081         (WebCore::Path::addArc):
1082         (WebCore::Path::addRect):
1083         (WebCore::Path::addEllipse):
1084         (WebCore::Path::clear):
1085         * platform/qt/ScreenQt.cpp: Added.
1086         (WebCore::screenRect):
1087         (WebCore::screenDepth):
1088         (WebCore::usableScreenRect):
1089
1090
1091 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
1092
1093         Reviewed by Eric. Landed by rwlbuis.
1094
1095         First chunk of the implementation for:
1096         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1097
1098         WebKit should have Qt platform support
1099
1100         * platform/qt/ComboBoxQt.cpp: Added.
1101         (WebCore::PlatformComboBox::PlatformComboBox):
1102         (WebCore::PlatformComboBox::~PlatformComboBox):
1103         (WebCore::PlatformComboBox::setParentWidget):
1104         (WebCore::PlatformComboBox::clear):
1105         (WebCore::PlatformComboBox::appendItem):
1106         (WebCore::PlatformComboBox::appendGroupLabel):
1107         (WebCore::PlatformComboBox::appendSeparator):
1108         (WebCore::PlatformComboBox::setCurrentItem):
1109         (WebCore::PlatformComboBox::sizeHint):
1110         (WebCore::PlatformComboBox::frameGeometry):
1111         (WebCore::PlatformComboBox::setFrameGeometry):
1112         (WebCore::PlatformComboBox::baselinePosition):
1113         (WebCore::PlatformComboBox::setFont):
1114         (WebCore::PlatformComboBox::focusPolicy):
1115         (WebCore::PlatformComboBox::itemSelected):
1116         (WebCore::PlatformComboBox::setWritingDirection):
1117         (WebCore::PlatformComboBox::populate):
1118         (WebCore::PlatformComboBox::populateMenu):
1119         * platform/qt/LineEditQt.cpp: Added.
1120         (WebCore::PlatformLineEdit::PlatformLineEdit):
1121         (WebCore::PlatformLineEdit::~PlatformLineEdit):
1122         (WebCore::PlatformLineEdit::setParentWidget):
1123         (WebCore::PlatformLineEdit::setColors):
1124         (WebCore::PlatformLineEdit::setAlignment):
1125         (WebCore::PlatformLineEdit::setCursorPosition):
1126         (WebCore::PlatformLineEdit::cursorPosition):
1127         (WebCore::PlatformLineEdit::setEdited):
1128         (WebCore::PlatformLineEdit::edited):
1129         (WebCore::PlatformLineEdit::setFont):
1130         (WebCore::PlatformLineEdit::setMaxLength):
1131         (WebCore::PlatformLineEdit::maxLength):
1132         (WebCore::PlatformLineEdit::setReadOnly):
1133         (WebCore::PlatformLineEdit::isReadOnly):
1134         (WebCore::PlatformLineEdit::setText):
1135         (WebCore::PlatformLineEdit::text):
1136         (WebCore::PlatformLineEdit::setWritingDirection):
1137         (WebCore::PlatformLineEdit::selectAll):
1138         (WebCore::PlatformLineEdit::hasSelectedText):
1139         (WebCore::PlatformLineEdit::selectionStart):
1140         (WebCore::PlatformLineEdit::selectedText):
1141         (WebCore::PlatformLineEdit::setSelection):
1142         (WebCore::PlatformLineEdit::sizeForCharacterWidth):
1143         (WebCore::PlatformLineEdit::baselinePosition):
1144         (WebCore::PlatformLineEdit::focusPolicy):
1145         (WebCore::PlatformLineEdit::checksDescendantsForFocus):
1146         (WebCore::PlatformLineEdit::setLiveSearch):
1147         (WebCore::PlatformLineEdit::setAutoSaveName):
1148         (WebCore::PlatformLineEdit::setMaxResults):
1149         (WebCore::PlatformLineEdit::setPlaceholderString):
1150         (WebCore::PlatformLineEdit::addSearchResult):
1151         * platform/qt/ListBoxQt.cpp: Added.
1152         (WebCore::ListBox::ListBox):
1153         (WebCore::ListBox::~ListBox):
1154         (WebCore::ListBox::setParentWidget):
1155         (WebCore::ListBox::sizeForNumberOfLines):
1156         (WebCore::ListBox::setSelectionMode):
1157         (WebCore::ListBox::clear):
1158         (WebCore::ListBox::doneAppendingItems):
1159         (WebCore::ListBox::setSelected):
1160         (WebCore::ListBox::isSelected):
1161         (WebCore::ListBox::setEnabled):
1162         (WebCore::ListBox::isEnabled):
1163         (WebCore::ListBox::setWritingDirection):
1164         (WebCore::ListBox::focusPolicy):
1165         (WebCore::ListBox::checksDescendantsForFocus):
1166         (WebCore::ListBox::clearCachedTextRenderers):
1167         (WebCore::ListBox::setFont):
1168         (WebCore::ListBox::appendItem):
1169         * platform/qt/ScrollViewQt.cpp: Added.
1170         (WebCore::ScrollView::ScrollView):
1171         (WebCore::ScrollView::~ScrollView):
1172         (WebCore::ScrollView::setParentWidget):
1173         (WebCore::ScrollView::updateContents):
1174         (WebCore::ScrollView::visibleWidth):
1175         (WebCore::ScrollView::visibleHeight):
1176         (WebCore::ScrollView::visibleContentRect):
1177         (WebCore::ScrollView::setContentsPos):
1178         (WebCore::ScrollView::resizeContents):
1179         (WebCore::ScrollView::contentsX):
1180         (WebCore::ScrollView::contentsY):
1181         (WebCore::ScrollView::contentsWidth):
1182         (WebCore::ScrollView::contentsHeight):
1183         (WebCore::ScrollView::viewportToContents):
1184         (WebCore::ScrollView::contentsToViewport):
1185         (WebCore::ScrollView::scrollOffset):
1186         (WebCore::ScrollView::scrollBy):
1187         (WebCore::ScrollView::hScrollBarMode):
1188         (WebCore::ScrollView::vScrollBarMode):
1189         (WebCore::ScrollView::suppressScrollBars):
1190         (WebCore::ScrollView::setHScrollBarMode):
1191         (WebCore::ScrollView::setVScrollBarMode):
1192         (WebCore::ScrollView::setScrollBarsMode):
1193         (WebCore::ScrollView::setStaticBackground):
1194         (WebCore::ScrollView::addChild):
1195         (WebCore::ScrollView::removeChild):
1196         (WebCore::ScrollView::scrollPointRecursively):
1197         (WebCore::ScrollView::inWindow):
1198         * platform/qt/TextEditQt.cpp: Added.
1199         (WebCore::PlatformTextEdit::PlatformTextEdit):
1200         (WebCore::PlatformTextEdit::~PlatformTextEdit):
1201         (WebCore::PlatformTextEdit::setParentWidget):
1202         (WebCore::PlatformTextEdit::setColors):
1203         (WebCore::PlatformTextEdit::setAlignment):
1204         (WebCore::PlatformTextEdit::setLineHeight):
1205         (WebCore::PlatformTextEdit::setCursorPosition):
1206         (WebCore::PlatformTextEdit::getCursorPosition):
1207         (WebCore::PlatformTextEdit::setFont):
1208         (WebCore::PlatformTextEdit::setReadOnly):
1209         (WebCore::PlatformTextEdit::isReadOnly):
1210         (WebCore::PlatformTextEdit::setDisabled):
1211         (WebCore::PlatformTextEdit::isDisabled):
1212         (WebCore::PlatformTextEdit::hasSelectedText):
1213         (WebCore::PlatformTextEdit::setText):
1214         (WebCore::PlatformTextEdit::text):
1215         (WebCore::PlatformTextEdit::textWithHardLineBreaks):
1216         (WebCore::PlatformTextEdit::focusPolicy):
1217         (WebCore::PlatformTextEdit::setWordWrap):
1218         (WebCore::PlatformTextEdit::wordWrap):
1219         (WebCore::PlatformTextEdit::setScrollBarModes):
1220         (WebCore::PlatformTextEdit::setWritingDirection):
1221         (WebCore::PlatformTextEdit::selectionStart):
1222         (WebCore::PlatformTextEdit::selectionEnd):
1223         (WebCore::PlatformTextEdit::setSelectionStart):
1224         (WebCore::PlatformTextEdit::setSelectionEnd):
1225         (WebCore::PlatformTextEdit::selectAll):
1226         (WebCore::PlatformTextEdit::setSelectionRange):
1227         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
1228         (WebCore::PlatformTextEdit::checksDescendantsForFocus):
1229         * platform/qt/WidgetQt.cpp: Added.
1230         (WebCore::WidgetPrivate::WidgetPrivate):
1231         (WebCore::WidgetPrivate::~WidgetPrivate):
1232         (WebCore::Widget::Widget):
1233         (WebCore::Widget::~Widget):
1234         (WebCore::Widget::setClient):
1235         (WebCore::Widget::client):
1236         (WebCore::Widget::frameGeometry):
1237         (WebCore::Widget::hasFocus):
1238         (WebCore::Widget::setFocus):
1239         (WebCore::Widget::clearFocus):
1240         (WebCore::Widget::font):
1241         (WebCore::Widget::setFont):
1242         (WebCore::Widget::setCursor):
1243         (WebCore::Widget::show):
1244         (WebCore::Widget::hide):
1245         (WebCore::Widget::setQWidget):
1246         (WebCore::Widget::qwidget):
1247         (WebCore::Widget::setParentWidget):
1248         (WebCore::Widget::parentWidget):
1249         (WebCore::Widget::setFrameGeometry):
1250         (WebCore::Widget::mapFromGlobal):
1251         (WebCore::Widget::scaleFactor):
1252         (WebCore::Widget::lockDrawingFocus):
1253         (WebCore::Widget::unlockDrawingFocus):
1254         (WebCore::Widget::paint):
1255         (WebCore::Widget::enableFlushDrawing):
1256         (WebCore::Widget::isEnabled):
1257         (WebCore::Widget::setIsSelected):
1258         (WebCore::Widget::disableFlushDrawing):
1259         (WebCore::Widget::setEnabled):
1260         (WebCore::Widget::focusPolicy):
1261
1262 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
1263
1264         Reviewed by Eric. Landed by rwlbuis.
1265
1266         First chunk of the implementation for:
1267         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1268
1269         WebKit should have Qt platform support
1270
1271         * platform/qt/ColorQt.cpp: Added.
1272         (WebCore::Color::Color):
1273         (WebCore::Color::operator QColor):
1274         * platform/qt/FloatPointQt.cpp: Added.
1275         (WebCore::FloatPoint::FloatPoint):
1276         (WebCore::FloatPoint::operator QPointF):
1277         * platform/qt/FloatRectQt.cpp: Added.
1278         (WebCore::FloatRect::FloatRect):
1279         (WebCore::FloatRect::operator QRectF):
1280         * platform/qt/IntPointQt.cpp: Added.
1281         (WebCore::IntPoint::IntPoint):
1282         (WebCore::IntPoint::operator QPoint):
1283         * platform/qt/IntRectQt.cpp: Added.
1284         (WebCore::IntRect::IntRect):
1285         (WebCore::IntRect::operator QRect):
1286         * platform/qt/IntSizeQt.cpp: Added.
1287         (WebCore::IntSize::IntSize):
1288         (WebCore::IntSize::operator QSize):
1289
1290  2006-08-18  Nikolas Zimmermann  <zimmermann@kde.org>
1291  
1292          Reviewed by Eric. Landed by rwlbuis.
1293  
1294          Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10470
1295          The Qt platform needs a KCanvas device.
1296  
1297          * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
1298          (WebCore::KCanvasClipperQt::applyClip):
1299          * kcanvas/device/qt/KCanvasClipperQt.h: Added.
1300          (WebCore::KCanvasClipperQt::KCanvasClipperQt):
1301          * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
1302          (WebCore::KCanvasPathQt::KCanvasPathQt):
1303          (WebCore::KCanvasPathQt::~KCanvasPathQt):
1304          (WebCore::KCanvasPathQt::isEmpty):
1305          (WebCore::KCanvasPathQt::moveTo):
1306          (WebCore::KCanvasPathQt::lineTo):
1307          (WebCore::KCanvasPathQt::curveTo):
1308          (WebCore::KCanvasPathQt::closeSubpath):
1309          (WebCore::KCanvasPathQt::boundingBox):
1310          (WebCore::KCanvasPathQt::strokeBoundingBox):
1311          (WebCore::KCanvasPathQt::strokeContainsPoint):
1312          (WebCore::KCanvasPathQt::containsPoint):
1313          * kcanvas/device/qt/KCanvasPathQt.h: Added.
1314          (WebCore::KCanvasPathQt::qtPath):
1315          * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
1316          (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
1317          (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
1318          (WebCore::KRenderingDeviceContextQt::concatCTM):
1319          (WebCore::KRenderingDeviceContextQt::ctm):
1320          (WebCore::KRenderingDeviceContextQt::mapFromVisual):
1321          (WebCore::KRenderingDeviceContextQt::mapToVisual):
1322          (WebCore::KRenderingDeviceContextQt::clearPath):
1323          (WebCore::KRenderingDeviceContextQt::addPath):
1324          (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
1325          (WebCore::KRenderingDeviceContextQt::painter):
1326          (WebCore::KRenderingDeviceContextQt::pathBBox):
1327          (WebCore::KRenderingDeviceContextQt::setFillRule):
1328          (WebCore::KRenderingDeviceContextQt::fillPath):
1329          (WebCore::KRenderingDeviceContextQt::strokePath):
1330          (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
1331          (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
1332          (WebCore::KRenderingDeviceQt::popContext):
1333          (WebCore::KRenderingDeviceQt::pushContext):
1334          (WebCore::KRenderingDeviceQt::qtContext):
1335          (WebCore::KRenderingDeviceQt::contextForImage):
1336          (WebCore::KRenderingDeviceQt::stringForPath):
1337          (WebCore::KRenderingDeviceQt::createResource):
1338          (WebCore::KRenderingDeviceQt::createPaintServer):
1339          (WebCore::KRenderingDeviceQt::createFilterEffect):
1340
1341 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
1342
1343         Reviewed by Eric. Landed by rwlbuis.
1344
1345         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10466
1346         WebKit should have Qt platform support.
1347
1348         * platform/Color.h:
1349         * platform/Cursor.h:
1350         (WebCore::Cursor::Cursor):
1351         * platform/FloatPoint.h:
1352         * platform/FloatRect.h:
1353         * platform/GlyphBuffer.h:
1354         (WebCore::GlyphBuffer::glyphAt):
1355         (WebCore::GlyphBuffer::advanceAt):
1356         (WebCore::GlyphBuffer::add):
1357         * platform/GraphicsContext.h:
1358         * platform/ImageSource.h:
1359         * platform/IntPoint.h:
1360         * platform/IntRect.h:
1361         * platform/IntSize.h:
1362         * platform/ListBox.h:
1363         * platform/Path.h:
1364         * platform/PlatformKeyboardEvent.h:
1365         * platform/PlatformMouseEvent.h:
1366         * platform/ResourceLoader.h:
1367         * platform/ResourceLoaderClient.h:
1368         * platform/ResourceLoaderInternal.h:
1369         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
1370         * platform/ScrollView.h:
1371         * platform/Widget.h:
1372
1373 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
1374
1375         Reviewed by Eric. Landed by rwlbuis.
1376
1377         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10465
1378         General WebKit Linux build fixes.
1379
1380         * kcanvas/KCanvasFilters.cpp:
1381         (WebCore::operator<<):
1382         * kcanvas/RenderSVGImage.cpp:
1383         * ksvg2/css/SVGCSSStyleSelector.cpp:
1384         * ksvg2/svg/SVGAnimateColorElement.cpp:
1385         * ksvg2/svg/SVGMaskElement.cpp:
1386         * ksvg2/svg/SVGPatternElement.cpp:
1387         * page/Frame.h:
1388         * rendering/RenderStyle.h:
1389         (WebCore::RenderStyle::deleteBindingURIs):
1390         * xml/DOMParser.cpp:
1391
1392 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
1393
1394         Reviewed by Eric. Landed by rwlbuis.
1395
1396         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10464
1397         Offer a cmake build system for Qt platform.
1398
1399         * CMakeLists.txt: Added.
1400
1401 2006-08-17  David Harrison  <harrison@apple.com>
1402
1403         Reviewed by John Sullivan.
1404
1405         <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
1406
1407         Accessorized RenderMenuList objects.
1408         
1409         * bridge/mac/WebCoreAXObject.mm:
1410         (-[WebCoreAXObject mouseButtonListener]):
1411         Trivial formatting.
1412         
1413         (-[WebCoreAXObject actionElement]):
1414         Return the HTMLSelectElement.
1415         
1416         (-[WebCoreAXObject firstChild]):
1417         (-[WebCoreAXObject lastChild]):
1418         (-[WebCoreAXObject previousSibling]):
1419         (-[WebCoreAXObject nextSibling]):
1420         (-[WebCoreAXObject parentObject]):
1421         (-[WebCoreAXObject parentObjectUnignored]):
1422         (-[WebCoreAXObject isAttachment]):
1423         (-[WebCoreAXObject attachmentView]):
1424         Trivial formatting.
1425
1426         (-[WebCoreAXObject role]):
1427         Return NSAccessibilityPopUpButtonRole.
1428
1429         (-[WebCoreAXObject subrole]):
1430         Trivial formatting.
1431         
1432         (-[WebCoreAXObject roleDescription]):
1433         Return NSAccessibilityPopUpButtonRole.
1434         
1435         (-[WebCoreAXObject textUnderElement]):
1436         Trivial formatting.
1437
1438         (-[WebCoreAXObject value]):
1439         Return the RenderMenuList::text().
1440         
1441         (-[WebCoreAXObject position]):
1442          Trivial formatting.
1443
1444         (-[WebCoreAXObject accessibilityIsIgnored]):
1445         - Ignore popup menu items because AppKit does.
1446         - Remove redundant check for buttonTag (earlier isControl() check suffices).
1447         
1448         (-[WebCoreAXObject accessibilityAttributeNames]):
1449         (-[WebCoreAXObject accessibilityActionNames]):
1450         (-[WebCoreAXObject accessibilityAttributeValue:]):
1451         Trivial formatting.
1452         
1453         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
1454         Removed old debugging code that is no longer needed.
1455         Trivial formatting.
1456         
1457         (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
1458         (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
1459         (-[WebCoreAXObject removeAXObjectID]):
1460         Trivial formatting.
1461         
1462         * html/HTMLSelectElement.cpp:
1463         (WebCore::HTMLSelectElement::accessKeyAction):
1464         Call click() instead of focus().
1465         
1466         * rendering/RenderMenuList.cpp:
1467         (WebCore::RenderMenuList::text):
1468         Added for easy access to popup's current text.
1469         
1470         * rendering/RenderMenuList.h:
1471         (WebCore::RenderMenuList::isMenuList):
1472         * rendering/RenderObject.h:
1473         (WebCore::RenderObject::isMenuList):
1474         Added so popups can be identified.
1475
1476 2006-08-17  David Harrison  <harrison@apple.com>
1477
1478         Reviewed by Maciej.
1479
1480         <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
1481
1482         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
1483         is not possible.  See following bug...
1484             <rdar://problem/4256882> Need automated testing support for accessibility APIs
1485
1486         * bridge/mac/AXObjectCacheMac.mm:
1487         (WebCore::AXObjectCache::visiblePositionForTextMarker):
1488         Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
1489
1490 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
1491
1492         Reviewed by Anders.
1493
1494         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10447
1495         AffineTransform should be multi-platform compatible
1496
1497         * platform/AffineTransform.h:
1498         * platform/cg/AffineTransformCG.cpp:
1499         (WebCore::AffineTransform::m11):
1500         (WebCore::AffineTransform::m12):
1501         (WebCore::AffineTransform::m21):
1502         (WebCore::AffineTransform::m22):
1503         (WebCore::AffineTransform::dx):
1504         (WebCore::AffineTransform::dy):
1505
1506 2006-08-16  David Hyatt  <hyatt@apple.com>
1507
1508         Fix an issue with CSS2 system fonts where they did not respect text
1509         zoom.  This was most visible with the new control fonts used for form
1510         controls (they stopped swapping between small/mini/regular as you zoomed).
1511
1512         Reviewed by beth
1513
1514         * css/cssstyleselector.cpp:
1515         (WebCore::CSSStyleSelector::applyProperty):
1516
1517 2006-08-15  Justin Garcia  <justin.garcia@apple.com>
1518
1519         Reviewed by thatcher
1520         
1521         First part of fix for:
1522         <rdar://problem/4384589>
1523         Mail hung on paste text
1524         
1525         Fixes:
1526         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8592>
1527         Extra line left after deleting whitespace:pre text
1528         <rdar://problem/4128080> Paste as HTML does not yield equivalent style
1529         <rdar://problem/4046469> Box styles on first element aren't copied/pasted
1530         Copy/paste of arstechnica.com
1531         
1532         Here's how we avoid adding redundant style information on paste: insert 
1533         the fragment and do a test rendering, save away style information for 
1534         every node in the fragment, remove all style information from the fragment, 
1535         remove the fragment, insert it into the appropriate place in the document, 
1536         then restore only those styles gathered during the test insertion that aren't
1537         redundant.  Restoring the styles in this way results in an ApplyStyleCommand 
1538         and a layout for nearly every inserted node.  
1539         Instead we want to insert the fragment into the document without removing the 
1540         style information, then mark style nodes and inline style declarations for 
1541         removal if they are redundant, and sweep to remove them.  This means that we 
1542         can't rely on ReplacementFragment::wasBlock anymore, because blocks will now 
1543         have style spans around them.  This patch removes the use of wasBlock in 
1544         ReplaceSelectionCommand.
1545         
1546         * editing/CompositeEditCommand.cpp:
1547         (WebCore::CompositeEditCommand::moveParagraphs): Added code
1548         to remove the line placeholder left after a move from preserveNewline text.
1549         * editing/DeleteSelectionCommand.cpp:
1550         (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if 
1551         we're deleting a paragraph in preserveNewline text.
1552         * editing/JSEditor.cpp: Pass true to prevent nesting.
1553         * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
1554         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
1555         (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
1556         (WebCore::RenderingInfo::RenderingInfo): Ditto.
1557         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
1558         (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
1559         merging rules into one method.
1560         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
1561         (WebCore::ReplaceSelectionCommand::shouldMerge):
1562         (WebCore::ReplaceSelectionCommand::doApply): 
1563         Don't do nesting prevention when pasting into an empty paragraph, this
1564         fixes 4046469, the common cause of paste fidelity bugs, but needs
1565         to be tweaked a little because this can lead to margin/border build-up
1566         on repeated copy/pastes.
1567         Don't track startPos in addition to insertionPos.  It was never used.
1568         Fixed a bug where a fragment starting with an interchange newline would
1569         cause content to be put outside of an editable region when pasting at the 
1570         very end of it.
1571         Adjust insertionPos before insertion (not during) and do not consult wasBlock
1572         to decide whether or not to do so.
1573         Changed the way we do the start merge: insert the fragment, then stich 
1574         paragraphs together, in the same way that we do the end merge.  This 
1575         doesn't require wasBlock and fixes bugs.
1576         Replaced some uses of insertionPos with endOfInsertedContent.
1577         Fixed a bug in the expansion of the last incoming br (a "collapsed" br
1578         is one where !isStartOfParagraph([br,0])).
1579         Removed the special case code that did the end merge for the preserveNewline 
1580         case, since this patch fixes the moveParagraph bug in the preserveNewline case.
1581         Removed some unused variables.
1582         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was 
1583         holding a line open should always be displaced by inserted content, unless 
1584         the inserted content ends with a br.
1585         (WebCore::ReplaceSelectionCommand::updateNodesInserted):
1586         * editing/ReplaceSelectionCommand.h:
1587         (WebCore::RenderingInfo::style):
1588         * editing/markup.cpp:
1589         (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
1590         annotate is true (when we're creating markup for the pasteboard).
1591
1592 2006-08-16  John Sullivan  <sullivan@apple.com>
1593
1594         Reviewed by Brady Eidson
1595         
1596         - fixed <rdar://problem/4637156> underlines appearing in white selection text
1597
1598         * rendering/InlineFlowBox.cpp:
1599         (WebCore::InlineFlowBox::paintDecorations):
1600         bail out if phase is PaintPhaseSelection and forceWhiteText is true
1601
1602 2006-08-16  Brady Eidson  <beidson@apple.com>
1603
1604         Reviewed by John
1605
1606         Updated the DB version number and added a helpful comment explaining its meaning
1607
1608         * loader/icon/IconDatabase.cpp:
1609
1610 2006-08-16  Brady Eidson  <beidson@apple.com>
1611
1612         Reviewed by Maciej
1613
1614         Major refactoring of new iconDB:
1615         -Instead of private browsing being handled by in-memory tables, it's now handled
1616          by a separate in-memory database with the same table names.  This allows us to 
1617          re-use the same SQL on either the main or private-browsing database
1618         -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
1619          "Query" that take a database as the method's argument so the same language can run on
1620          both private and main tables
1621         -Now that we have two DBs, moved the retain/release count to the m_mainDB
1622         -While I was at it, updated the schema to combine the Icon and IconResource table - cuts 
1623          down on some high-usage, low value queries which were too expensive
1624         -Ditched the _url -> url convention for escaping urls for SQL.  Now its url and escapedURL
1625         -Pruned tons of unused methods from previous revisions
1626
1627      * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used 
1628         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
1629         * loader/icon/IconDatabase.cpp:
1630         (WebCore::IconDatabase::IconDatabase): Updated initializer list
1631         (WebCore::IconDatabase::open): Sets up both databases
1632         (WebCore::IconDatabase::close): Closes both databases
1633         (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
1634         (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
1635         (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
1636         (WebCore::IconDatabase::createDatabaseTables): Ditto
1637         (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
1638         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
1639         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
1640         (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
1641         (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes 
1642         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
1643         (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
1644         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
1645         (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
1646         (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
1647         (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
1648         (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
1649         (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
1650         (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
1651         (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
1652         (WebCore::IconDatabase::~IconDatabase):
1653         (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
1654         (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
1655         (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
1656         (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
1657         (WebCore::forgetPageURLQuery): Self-explanatory SQL query
1658         (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
1659         (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
1660         (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
1661         (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
1662      * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
1663         (WebCore::IconDatabase::isOpen):  Changed our meaning of "isOpen" to reflect the 2 databases
1664
1665 2006-08-15  Jonas Witt <jonas.witt@gmail.com>
1666
1667         Reviewed by Darin.
1668
1669         - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
1670           http://bugzilla.opendarwin.org/show_bug.cgi?id=9736
1671
1672         * bindings/objc/DOMEvents.mm:
1673         (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
1674         * bindings/objc/DOMEventsNonstandard.mm:
1675         (-[DOMWheelEvent initWheelEvent:::::::::::]):
1676         * bindings/objc/DOMPrivate.h:
1677
1678         - added an initializer for the WheelEvent
1679
1680         * dom/WheelEvent.cpp:
1681         (WebCore::WheelEvent::initWheelEvent):
1682         * dom/WheelEvent.h:
1683
1684 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1685
1686         Reviewed by Tim H.
1687
1688         Build fix:  DWARF and -gfull are incompatible with symbol separation.
1689
1690         * WebCore.xcodeproj/project.pbxproj:
1691
1692 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1693
1694         Reviewed by Tim H.
1695
1696         http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
1697         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
1698
1699         * WebCore.xcodeproj/project.pbxproj:
1700
1701 2006-08-15  Geoffrey Garen  <ggaren@apple.com>
1702
1703         Reviewed by Darin.
1704         
1705         - This patch reworks a previous fix for <rdar://problem/3524912> repro 
1706         crash in KHTMLParser::parseToken, due to parser's current element being 
1707         destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
1708         leaks.
1709         
1710         The previous solutions caused a ~2% performance regression on iBench HTML,
1711         due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
1712         for a total win of ~3% vs current TOT.
1713         
1714         We can merge this fix to the branch to fix <rdar://problem/4661982> 
1715         (crash in KHTMLParser::popBlock).
1716         
1717         The solution here is:
1718         (1) Don't let the parser ref document nodes -- that causes leaks.
1719         (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when 
1720         moving a node between stacks or to/from 'current', rather than deref'ing
1721         and then ref'ing again, simply move the node, along with its refcount, to
1722         its new location, and overwrite its old location.
1723  
1724         * WebCore.xcodeproj/project.pbxproj:
1725         * html/HTMLParser.cpp:
1726         (WebCore::HTMLStackElem::HTMLStackElem):
1727         (WebCore::HTMLStackElem::derefNode):
1728         (WebCore::HTMLParser::HTMLParser):
1729         (WebCore::HTMLParser::setCurrent):
1730         (WebCore::HTMLParser::insertNode):
1731         (WebCore::HTMLParser::popNestedHeaderTag):
1732         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
1733         (WebCore::HTMLParser::reopenResidualStyleTags):
1734         (WebCore::HTMLParser::pushBlock):
1735         (WebCore::HTMLParser::popBlock):
1736         (WebCore::HTMLParser::popOneBlockCommon):
1737         (WebCore::HTMLParser::popOneBlock):
1738         (WebCore::HTMLParser::moveOneBlockToStack):
1739         * html/HTMLParser.h:
1740
1741 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1742
1743         Reviewed by Tim H.
1744
1745         http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
1746         Bug 10384: Switch to DWARF for Release configuration
1747
1748         * WebCore.xcodeproj/project.pbxproj:
1749
1750 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1751
1752         Reviewed by Hyatt.
1753         Tweaked and landed by Darin.
1754
1755         http://bugzilla.opendarwin.org/show_bug.cgi?id=10399
1756         Bug 10399: RenderTextArea is unused
1757
1758         * WebCore.vcproj/WebCore/WebCore.vcproj:
1759         * WebCore.xcodeproj/project.pbxproj:
1760         * WebCoreSources.bkl:
1761         Removed RenderTextArea source files.
1762
1763         * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
1764         * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
1765
1766         * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
1767
1768         * platform/TextBox.h: Removed.
1769         * platform/mac/TextBoxMac.mm: Removed.
1770         * platform/mac/WebCoreTextArea.h: Removed.
1771         * platform/mac/WebCoreTextArea.mm: Removed.
1772         * rendering/RenderTextArea.cpp: Removed.
1773         * rendering/RenderTextArea.h: Removed.
1774
1775 2006-08-15  Brady Eidson  <beidson@apple.com>
1776
1777         Reviewed by THE OTHER Maciej...
1778
1779         Two small fixes -
1780         1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
1781         2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
1782         null dereference later
1783
1784         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1785         (-[WebCoreIconDatabaseBridge retainIconForURL:]):  Changed IconDatabase method name
1786         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):  ditto
1787         * loader/icon/IconDatabase.cpp:
1788         (WebCore::IconDatabase::retainIconForPageURL):  Name change
1789         (WebCore::IconDatabase::releaseIconForPageURL):  ditto
1790         (WebCore::IconDatabase::setIconURLForPageURL):  Added the null site-icon check when changing a PageURL's iconURL
1791         * loader/icon/IconDatabase.h:  Some renames
1792
1793 2006-08-14  Eric Seidel  <eric@eseidel.com>
1794
1795         Reviewed by mjs.
1796
1797         <mask>, <marker>, <pattern> inside <defs> do not work
1798         http://bugzilla.opendarwin.org/show_bug.cgi?id=6548
1799
1800         * ksvg2/svg/SVGDefsElement.cpp:
1801         (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
1802         (WebCore::SVGDefsElement::isValid): moved to .cpp file
1803         (WebCore::SVGDefsElement::rendererIsNeeded): Added.
1804         (WebCore::SVGDefsElement::createRenderer): Added.
1805         * ksvg2/svg/SVGDefsElement.h:
1806         * ksvg2/svg/SVGGElement.cpp:
1807         (WebCore::SVGGElement::SVGGElement): adjusted spacing
1808         (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
1809         (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing
1810
1811 2006-08-14  Eric Seidel  <eric@eseidel.com>
1812
1813         Reviewed by darin and mjs.
1814         
1815         Add better SVGLoad event support.
1816         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
1817         There will still need to be additional support added for <link> and <script> elements.
1818         Not all of the error -> loaded -> error transition cases work yet.
1819
1820         * dom/EventTargetNode.cpp:
1821         (WebCore::EventTargetNode::dispatchGenericEvent):
1822         * html/HTMLImageLoader.cpp:
1823         (WebCore::HTMLImageLoader::dispatchLoadEvent):
1824         * html/HTMLImageLoader.h:
1825         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
1826         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
1827         * ksvg2/misc/SVGImageLoader.cpp:
1828         (WebCore::SVGImageLoader::SVGImageLoader):
1829         (WebCore::SVGImageLoader::dispatchLoadEvent):
1830         * ksvg2/misc/SVGImageLoader.h:
1831         * ksvg2/svg/SVGAElement.cpp:
1832         (WebCore::SVGAElement::parseMappedAttribute):
1833         * ksvg2/svg/SVGAnimatedBoolean.h:
1834         * ksvg2/svg/SVGElement.cpp:
1835         (WebCore::SVGElement::SVGElement):
1836         (WebCore::SVGElement::parseMappedAttribute):
1837         (WebCore::SVGElement::haveLoadedRequiredResources):
1838         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
1839         (WebCore::SVGElement::closeRenderer):
1840         * ksvg2/svg/SVGElement.h:
1841         (WebCore::SVGElement::rendererIsNeeded):
1842         (WebCore::svg_dynamic_cast):
1843         * ksvg2/svg/SVGExternalResourcesRequired.h:
1844         * ksvg2/svg/SVGImageElement.cpp:
1845         (SVGImageElement::SVGImageElement):
1846         (SVGImageElement::haveLoadedRequiredResources):
1847         * ksvg2/svg/SVGImageElement.h:
1848         * ksvg2/svg/SVGSVGElement.cpp:
1849         (WebCore::SVGSVGElement::parseMappedAttribute):
1850         * ksvg2/svg/SVGScriptElement.cpp:
1851         (WebCore::SVGScriptElement::SVGScriptElement):
1852         (WebCore::SVGScriptElement::parseMappedAttribute):
1853         (WebCore::SVGScriptElement::executeScript):
1854         * xml/xmlhttprequest.cpp:
1855         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
1856
1857 2006-08-14  Anders Carlsson  <acarlsson@apple.com>
1858
1859         Reviewed by Maciej.
1860
1861         http://bugzilla.opendarwin.org/show_bug.cgi?id=10393
1862         Autogenerate NodeIterator and TreeWalker.
1863         
1864         * DerivedSources.make:
1865         * WebCore.xcodeproj/project.pbxproj:
1866         Add new files.
1867         
1868         * bindings/js/JSNodeIteratorCustom.cpp: Added.
1869         (WebCore::JSNodeIterator::mark):
1870         * bindings/js/JSTreeWalkerCustom.cpp: Added.
1871         (WebCore::JSTreeWalker::mark):
1872         
1873         * bindings/js/kjs_traversal.cpp:
1874         * bindings/js/kjs_traversal.h:
1875         Remove implementations of DOMNodeIterator and DOMTreeWalker.
1876
1877         * bindings/scripts/CodeGeneratorJS.pm:
1878         Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
1879         
1880         * bindings/objc/DOM.mm:
1881         (-[DOMNodeIterator detach]):
1882         * dom/NodeIterator.cpp:
1883         (WebCore::NodeIterator::detach):
1884         * dom/NodeIterator.h:
1885         Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
1886         * dom/NodeIterator.idl: Added.
1887         * dom/TreeWalker.idl: Added.
1888
1889 2006-08-14  Brady Eidson  <beidson@apple.com>
1890
1891         Reviewed by John
1892
1893         The changes are plentiful, but small, mostly to improve performance
1894         1) Add a bool flag to SiteIcon to stop it from querying the database over and over
1895         2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
1896         3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
1897         4) Added isIconURLRetained() to optimize the retain count check
1898         5) Prune old, unused code
1899
1900         * loader/icon/IconDatabase.cpp:
1901         (WebCore::IconDatabase::imageDataForIconID): Removed unused code
1902         (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
1903         (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
1904         (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
1905         (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
1906         (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
1907         (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
1908         (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
1909           for an icon so much as whether or not it is retained
1910         (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
1911           SQLite code
1912         * loader/icon/IconDatabase.h:  Added new methods/variables
1913         * loader/icon/SiteIcon.cpp:
1914         (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
1915         (SiteIcon::getImage): Ditto
1916
1917 2006-08-14  David Hyatt  <hyatt@apple.com>
1918
1919         Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.
1920
1921         Reviewed by ggaren
1922
1923         Added fast/parser/bad-xml-slash.html
1924
1925         * html/HTMLTokenizer.cpp:
1926         (WebCore::HTMLTokenizer::parseTag):
1927
1928 2006-08-14  Darin Adler  <darin@apple.com>
1929
1930         Reviewed by John Sullivan.
1931
1932         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10204
1933           REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages
1934
1935         Test: fast/parser/title-error-test.html
1936
1937         * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Fixed an error
1938         handling case that was skipping until a </style> tag in code that was shared
1939         between both <title> and <style>. Also rearranged the code a tiny bit.
1940
1941 2006-08-14  Darin Adler  <darin@apple.com>
1942
1943         Reviewed by Hyatt.
1944
1945         - fixed some storage leaks
1946           (part of http://bugzilla.opendarwin.org/show_bug.cgi?id=10259)
1947
1948         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
1949         Rearrange code so that "delete this" is called any time the function returns
1950         false -- ownership was inconsistent before.
1951
1952         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode):
1953         Call deleteLineBoxWrapper even when documentBeingDestroyed() is true, because
1954         some of what it does has to be done during destruction. A little awkward since
1955         I preserved the order of operations. Perhaps we could structure this better later.
1956
1957 2006-08-14  David Harrison  <harrison@apple.com>
1958
1959         Reviewed by John Sullivan and Geoff Garen.
1960
1961         <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute
1962
1963         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
1964         is not possible.  See following bug...
1965             <rdar://problem/4256882> Need automated testing support for accessibility APIs
1966
1967         * bridge/mac/WebCoreAXObject.mm:
1968         (-[WebCoreAXObject accessibilityDescription]):
1969         For a web area, return the name of the owning frame or iframe.
1970         
1971         (-[WebCoreAXObject accessibilityAttributeNames]):
1972         Advertize NSAccessibilityDescriptionAttribute.
1973         
1974         (-[WebCoreAXObject rendererForView:]):
1975         Clean up some old naming.
1976
1977 2006-08-11  Anders Carlsson  <acarlsson@apple.com>
1978
1979         Reviewed by Darin.
1980
1981         http://bugzilla.opendarwin.org/show_bug.cgi?id=10353
1982         XMLSerializer and DOMParser should have real implementations
1983         
1984         Make real implementation files for DOMParser and XMLSerializer and wrap them
1985         using our bindings generation.
1986         
1987         * DerivedSources.make:
1988         * WebCore.xcodeproj/project.pbxproj:
1989         * bindings/js/JSDOMParser.cpp: Removed.
1990         * bindings/js/JSDOMParser.h: Removed.
1991         * bindings/js/JSXMLSerializer.cpp: Removed.
1992         * bindings/js/JSXMLSerializer.h: Removed.
1993         * bindings/js/kjs_window.cpp:
1994         (KJS::Window::getValueProperty):
1995         * bindings/js/kjs_window.h:
1996         (KJS::Window::):
1997         * page/DOMWindow.idl:
1998         * xml/DOMParser.cpp: Added.
1999         (WebCore::DOMParser::parseFromString):
2000         * xml/DOMParser.h: Added.
2001         * xml/DOMParser.idl: Added.
2002         * xml/XMLSerializer.cpp: Added.
2003         (WebCore::XMLSerializer::serializeToString):
2004         * xml/XMLSerializer.h: Added.
2005         * xml/XMLSerializer.idl: Added.
2006
2007 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
2008
2009         Reviewed by Brady.
2010
2011         - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
2012
2013         * WebCore.exp: export new functions
2014         * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
2015         * platform/mac/WebCoreSystemInterface.mm: ditto
2016
2017 2006-08-13  Maks Orlovich  <maksim@kde.org>
2018
2019         Reviewed (and tweaked a little) by Maciej.
2020         
2021         - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
2022         in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
2023
2024         The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
2025         
2026         * bindings/js/kjs_events.cpp:
2027         (KJS::JSLazyEventListener::parseCode):
2028
2029 2006-08-12  Eric Seidel  <eric@eseidel.com>
2030
2031         Reviewed by hyatt and mjs.
2032
2033         Fix two missing null checks causing layout test crashes.
2034
2035         * css/cssstyleselector.cpp:
2036         (WebCore::CSSStyleSelector::adjustRenderStyle): check e for null (null for pseudo styles)
2037         * kcanvas/RenderSVGContainer.cpp:
2038         (WebCore::RenderSVGContainer::requiresLayer): check parent()->element() for null
2039
2040
2041 2006-08-11  Eric Seidel  <eric@eseidel.com>
2042
2043         Reviewed by andersca.
2044
2045         The outermost <svg> element needs to clip itself
2046         http://bugzilla.opendarwin.org/show_bug.cgi?id=5358
2047
2048         * css/cssstyleselector.cpp:
2049         (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
2050         * kcanvas/RenderSVGContainer.cpp:
2051         (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
2052         (WebCore::RenderSVGContainer::paint):
2053         * kcanvas/device/KRenderingDevice.h:
2054         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
2055         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
2056         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
2057         * ksvg2/svg/SVGPaint.cpp: spacing changes
2058         (WebCore::SVGPaint::SVGPaint): spacing cleanup
2059         * ksvg2/svg/SVGSVGElement.cpp:
2060         (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
2061         * platform/GraphicsContext.h: Added concatCTM
2062         * platform/cg/GraphicsContextCG.cpp:
2063         (WebCore::GraphicsContext::concatCTM): Added.
2064
2065 2006-08-11  Brady Eidson  <beidson@apple.com>
2066
2067         Reviewed by Maciej
2068
2069         Renamed a method/parameter for clarity and consistency, as well as some style
2070         cleanups and removing some ridiculously verbose log messages.
2071         Also added an _isEmpty method to the database and bridge for WebKit's use.
2072         Finally, added a central way for both WebKit and WebCore to get the icon database filename
2073
2074         * bridge/mac/WebCoreIconDatabaseBridge.h:  Added _isEmpty and defaultDatabaseFilename
2075         * bridge/mac/WebCoreIconDatabaseBridge.mm:  Removed an unnecessary semicolon off most of these methods
2076         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
2077         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
2078         (-[WebCoreIconDatabaseBridge isOpen]):
2079         (-[WebCoreIconDatabaseBridge _isEmpty]):  Added
2080         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
2081         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
2082         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
2083         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
2084         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
2085         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
2086         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
2087         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
2088         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
2089         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
2090         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
2091         (-[WebCoreIconDatabaseBridge defaultDatabaseFilename]):  Added
2092
2093         * loader/icon/IconDatabase.cpp:
2094         (WebCore::IconDatabase::defaultDatabaseFilename):  Added
2095         (WebCore::IconDatabase::open):  
2096         (WebCore::IconDatabase::isEmpty):  Added
2097         (WebCore::IconDatabase::retainIconForURL):  Removed log message
2098         (WebCore::IconDatabase::releaseIconForURL):  Removed log message
2099         * loader/icon/IconDatabase.h: 
2100
2101 2006-08-11  David Hyatt  <hyatt@apple.com>
2102
2103         Eliminate RenderImageButton.
2104
2105         Reviewed by darin
2106
2107         * WebCore.xcodeproj/project.pbxproj:
2108         * bridge/mac/WebCoreAXObject.mm:
2109         (-[WebCoreAXObject isImageButton]):
2110         * html/HTMLInputElement.cpp:
2111         (WebCore::HTMLInputElement::createRenderer):
2112         * rendering/RenderImage.h:
2113         (WebCore::RenderImage::isImage):
2114
2115 2006-08-11  Adele Peterson  <adele@apple.com>
2116
2117         Reviewed by Brady.
2118
2119         - Fix for <rdar://problem/4656274> 
2120         REGRESSION: option elements are selected when added regardless of "selected" property
2121
2122         Test: fast/forms/option-constructor-selected.html
2123
2124         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setOption):
2125         When adding an option element, check that the option element is selected before calling setSelectedIndex.
2126
2127 2006-08-11  David Hyatt  <hyatt@apple.com>
2128
2129         Fix for bug 10349, make sure to call setChanged when an anchor changes
2130         from not being a link to being a link (and vice versa).
2131
2132         Test is in fast/dynamic/link-href-change.html
2133
2134         Reviewed by darin
2135
2136         * html/HTMLAnchorElement.cpp:
2137         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
2138         (WebCore::HTMLAnchorElement::parseMappedAttribute):
2139         * html/HTMLAnchorElement.h:
2140         * html/HTMLAreaElement.cpp:
2141         (WebCore::HTMLAreaElement::parseMappedAttribute):
2142
2143 2006-08-09  Rob Buis  <buis@kde.org>
2144
2145         Reviewed by Darin.
2146
2147         Revert an over-optimization step that messed up the HashSet lookup.
2148
2149         * dom/DOMImplementation.cpp:
2150
2151 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
2152
2153         Rubber stamped by tim
2154
2155         Removed commented out code
2156
2157         * kcanvas/RenderSVGImage.cpp:
2158         (WebCore::RenderSVGImage::paint):
2159
2160 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
2161
2162         Reviewed by geoff
2163
2164         Fixed regression in SVG image layout
2165         (see bug #10346)
2166
2167         * kcanvas/RenderSVGImage.cpp:
2168         (WebCore::RenderSVGImage::paint):
2169
2170 2006-08-10  Anders Carlsson  <acarlsson@apple.com>
2171
2172         Rubber-stamped by Maciej.
2173
2174         Move xpath to xml.
2175         
2176         * DerivedSources.make:
2177         * WebCore.vcproj/WebCore/WebCore.vcproj:
2178         * WebCore.xcodeproj/project.pbxproj:
2179         * xpath/XPathEvaluator.cpp: Removed.
2180         * xpath/XPathEvaluator.h: Removed.
2181         * xpath/XPathEvaluator.idl: Removed.
2182         * xpath/XPathExpression.cpp: Removed.
2183         * xpath/XPathExpression.h: Removed.
2184         * xpath/XPathExpression.idl: Removed.
2185         * xpath/XPathNSResolver.cpp: Removed.
2186         * xpath/XPathNSResolver.h: Removed.
2187         * xpath/XPathNSResolver.idl: Removed.
2188         * xpath/XPathNamespace.cpp: Removed.
2189         * xpath/XPathNamespace.h: Removed.
2190         * xpath/XPathResult.cpp: Removed.
2191         * xpath/XPathResult.h: Removed.
2192         * xpath/XPathResult.idl: Removed.
2193         * xpath/impl/XPathExpressionNode.cpp: Removed.
2194         * xpath/impl/XPathExpressionNode.h: Removed.
2195         * xpath/impl/XPathFunctions.cpp: Removed.
2196         * xpath/impl/XPathFunctions.h: Removed.
2197         * xpath/impl/XPathGrammar.y: Removed.
2198         * xpath/impl/XPathParser.cpp: Removed.
2199         * xpath/impl/XPathParser.h: Removed.
2200         * xpath/impl/XPathPath.cpp: Removed.
2201         * xpath/impl/XPathPath.h: Removed.
2202         * xpath/impl/XPathPredicate.cpp: Removed.
2203         * xpath/impl/XPathPredicate.h: Removed.
2204         * xpath/impl/XPathStep.cpp: Removed.
2205         * xpath/impl/XPathStep.h: Removed.
2206         * xpath/impl/XPathUtil.cpp: Removed.
2207         * xpath/impl/XPathUtil.h: Removed.
2208         * xpath/impl/XPathValue.cpp: Removed.
2209         * xpath/impl/XPathValue.h: Removed.
2210         * xpath/impl/XPathVariableReference.cpp: Removed.
2211         * xpath/impl/XPathVariableReference.h: Removed.
2212
2213 2006-08-10  David Harrison  <harrison@apple.com>
2214
2215         Reviewed by John Sullivan.
2216
2217         <rdar://problem/4600112> REGRESSION: VO no longer able to review text within an edit field on web pages
2218
2219         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
2220         is not possible.  See following bug...
2221             <rdar://problem/4256882> Need automated testing support for accessibility APIs
2222
2223         * bridge/mac/WebCoreAXObject.mm:
2224         (-[WebCoreAXObject value]):
2225         Add handling for text input fields.
2226
2227 2006-08-09  Graham Dennis  <graham.dennis@gmail.com>
2228
2229         Reviewed by Darin.
2230
2231         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10247
2232         REGRESSION: Unable to build webkit without SVG/XPATH
2233
2234         * bindings/js/kjs_binding.cpp:
2235         (KJS::setDOMException):
2236         * bindings/js/kjs_dom.cpp:
2237         (KJS::toJS):
2238         * bindings/js/kjs_html.cpp:
2239         (KJS::HTMLElementFunction::callAsFunction):
2240         * bindings/js/kjs_proxy.cpp:
2241         * bindings/js/kjs_proxy.h:
2242         * bindings/objc/DOMInternal.h:
2243         * bindings/objc/DOMInternal.mm:
2244         (raiseDOMException):
2245         * bindings/objc/DOMXPath.mm:
2246         * bindings/objc/DOMXPathInternal.h:
2247         * bindings/scripts/CodeGeneratorJS.pm:
2248         * bridge/mac/WebCoreFrameBridge.mm:
2249         (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
2250         * css/CSSGrammar.y:
2251         * css/CSSStyleDeclaration.cpp:
2252         (WebCore::propertyID):
2253         * css/cssparser.cpp:
2254         (WebCore::CSSParser::parseValue):
2255         * css/cssparser.h:
2256         * css/cssstyleselector.cpp:
2257         (WebCore::CSSStyleSelector::loadDefaultStyle):
2258         (WebCore::CSSStyleSelector::applyProperty):
2259         * css/cssstyleselector.h:
2260         * dom/Document.cpp:
2261         (WebCore::Document::Document):
2262         (WebCore::Document::~Document):
2263         (WebCore::Document::createElementNS):
2264         (WebCore::Document::implicitClose):
2265         (WebCore::Document::recalcStyleSelector):
2266         (WebCore::Document::createEvent):
2267         * dom/Document.h:
2268         * dom/Document.idl:
2269         * dom/Node.cpp:
2270         (WebCore::Node::createRendererIfNeeded):
2271         * dom/Node.h:
2272         * dom/XMLTokenizer.cpp:
2273         (WebCore::XMLTokenizer::endElementNs):
2274         (WebCore::XMLTokenizer::insertErrorMessageBlock):
2275         * html/HTMLEmbedElement.cpp:
2276         * html/HTMLEmbedElement.h:
2277         * html/HTMLObjectElement.cpp:
2278         * html/HTMLObjectElement.h:
2279         * kcanvas/KCanvasCreator.cpp:
2280         * kcanvas/KCanvasCreator.h:
2281         * kcanvas/KCanvasFilters.cpp:
2282         * kcanvas/KCanvasFilters.h:
2283         * kcanvas/KCanvasImage.h:
2284         * kcanvas/KCanvasMatrix.cpp:
2285         * kcanvas/KCanvasMatrix.h:
2286         * kcanvas/KCanvasPath.cpp:
2287         * kcanvas/KCanvasPath.h:
2288         * kcanvas/KCanvasResourceListener.h:
2289         * kcanvas/KCanvasResources.cpp:
2290         * kcanvas/KCanvasResources.h:
2291         * kcanvas/KCanvasTreeDebug.cpp:
2292         * kcanvas/RenderForeignObject.cpp:
2293         * kcanvas/RenderForeignObject.h:
2294         * kcanvas/RenderPath.cpp:
2295         * kcanvas/RenderPath.h:
2296         * kcanvas/RenderSVGContainer.cpp:
2297         * kcanvas/RenderSVGContainer.h:
2298         * kcanvas/RenderSVGImage.cpp:
2299         * kcanvas/RenderSVGImage.h:
2300         * kcanvas/RenderSVGText.cpp:
2301         * kcanvas/RenderSVGText.h:
2302         * kcanvas/device/KRenderingDevice.cpp:
2303         * kcanvas/device/KRenderingDevice.h:
2304         * kcanvas/device/KRenderingFillPainter.cpp:
2305         * kcanvas/device/KRenderingFillPainter.h:
2306         * kcanvas/device/KRenderingPaintServer.h:
2307         * kcanvas/device/KRenderingPaintServerGradient.cpp:
2308         * kcanvas/device/KRenderingPaintServerGradient.h:
2309         * kcanvas/device/KRenderingPaintServerPattern.cpp:
2310         * kcanvas/device/KRenderingPaintServerPattern.h:
2311         * kcanvas/device/KRenderingPaintServerSolid.cpp:
2312         * kcanvas/device/KRenderingPaintServerSolid.h:
2313         * kcanvas/device/KRenderingStrokePainter.cpp:
2314         * kcanvas/device/KRenderingStrokePainter.h:
2315         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2316         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2317         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2318         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
2319         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
2320         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
2321         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2322         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2323         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2324         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2325         * kcanvas/device/quartz/QuartzSupport.h:
2326         * kcanvas/device/quartz/QuartzSupport.mm:
2327         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
2328         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h:
2329         * ksvg2/css/SVGCSSParser.cpp:
2330         * ksvg2/css/SVGCSSStyleSelector.cpp:
2331         * ksvg2/css/SVGRenderStyle.cpp:
2332         * ksvg2/css/SVGRenderStyle.h:
2333         * ksvg2/css/SVGRenderStyleDefs.cpp:
2334         * ksvg2/css/SVGRenderStyleDefs.h:
2335         * ksvg2/ecma/GlobalObject.cpp:
2336         * ksvg2/ecma/GlobalObject.h:
2337         * ksvg2/events/JSSVGLazyEventListener.cpp:
2338         * ksvg2/events/JSSVGLazyEventListener.h:
2339         * ksvg2/events/SVGZoomEvent.cpp:
2340         * ksvg2/events/SVGZoomEvent.h:
2341         * ksvg2/ksvg.h:
2342         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2343         * ksvg2/misc/KCanvasRenderingStyle.h:
2344         * ksvg2/misc/KSVGTimeScheduler.cpp:
2345         * ksvg2/misc/KSVGTimeScheduler.h:
2346         * ksvg2/misc/SVGDocumentExtensions.cpp:
2347         * ksvg2/misc/SVGDocumentExtensions.h:
2348         * ksvg2/misc/SVGImageLoader.cpp:
2349         * ksvg2/misc/SVGImageLoader.h:
2350         * ksvg2/svg/DOMList.h:
2351         * ksvg2/svg/SVGAElement.cpp:
2352         * ksvg2/svg/SVGAElement.h:
2353         * ksvg2/svg/SVGAngle.cpp:
2354         * ksvg2/svg/SVGAngle.h:
2355         * ksvg2/svg/SVGAnimateColorElement.cpp:
2356         * ksvg2/svg/SVGAnimateColorElement.h:
2357         * ksvg2/svg/SVGAnimateElement.cpp:
2358         * ksvg2/svg/SVGAnimateElement.h:
2359         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2360         * ksvg2/svg/SVGAnimateTransformElement.h:
2361         * ksvg2/svg/SVGAnimatedAngle.cpp:
2362         * ksvg2/svg/SVGAnimatedAngle.h:
2363         * ksvg2/svg/SVGAnimatedBoolean.cpp:
2364         * ksvg2/svg/SVGAnimatedBoolean.h:
2365         * ksvg2/svg/SVGAnimatedColor.cpp:
2366         * ksvg2/svg/SVGAnimatedColor.h:
2367         * ksvg2/svg/SVGAnimatedEnumeration.cpp:
2368         * ksvg2/svg/SVGAnimatedEnumeration.h:
2369         * ksvg2/svg/SVGAnimatedInteger.cpp:
2370         * ksvg2/svg/SVGAnimatedInteger.h:
2371         * ksvg2/svg/SVGAnimatedLength.cpp:
2372         * ksvg2/svg/SVGAnimatedLength.h:
2373         * ksvg2/svg/SVGAnimatedLengthList.cpp:
2374         * ksvg2/svg/SVGAnimatedLengthList.h:
2375         * ksvg2/svg/SVGAnimatedNumber.cpp:
2376         * ksvg2/svg/SVGAnimatedNumber.h:
2377         * ksvg2/svg/SVGAnimatedNumberList.cpp:
2378         * ksvg2/svg/SVGAnimatedNumberList.h:
2379         * ksvg2/svg/SVGAnimatedPathData.cpp:
2380         * ksvg2/svg/SVGAnimatedPathData.h:
2381         * ksvg2/svg/SVGAnimatedPoints.cpp:
2382         * ksvg2/svg/SVGAnimatedPoints.h:
2383         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp:
2384         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
2385         * ksvg2/svg/SVGAnimatedRect.cpp:
2386         * ksvg2/svg/SVGAnimatedRect.h:
2387         * ksvg2/svg/SVGAnimatedString.cpp:
2388         * ksvg2/svg/SVGAnimatedString.h:
2389         * ksvg2/svg/SVGAnimatedTemplate.h:
2390         * ksvg2/svg/SVGAnimatedTransformList.cpp:
2391         * ksvg2/svg/SVGAnimatedTransformList.h:
2392         * ksvg2/svg/SVGAnimationElement.cpp:
2393         * ksvg2/svg/SVGAnimationElement.h:
2394         * ksvg2/svg/SVGCircleElement.cpp:
2395         * ksvg2/svg/SVGCircleElement.h:
2396         * ksvg2/svg/SVGClipPathElement.cpp:
2397         * ksvg2/svg/SVGClipPathElement.h:
2398         * ksvg2/svg/SVGColor.cpp:
2399         * ksvg2/svg/SVGColor.h:
2400         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2401         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
2402         * ksvg2/svg/SVGCursorElement.cpp:
2403         * ksvg2/svg/SVGCursorElement.h:
2404         * ksvg2/svg/SVGDOMImplementation.cpp:
2405         * ksvg2/svg/SVGDOMImplementation.h:
2406         * ksvg2/svg/SVGDefsElement.cpp:
2407         * ksvg2/svg/SVGDefsElement.h:
2408         * ksvg2/svg/SVGDescElement.cpp:
2409         * ksvg2/svg/SVGDescElement.h:
2410         * ksvg2/svg/SVGDocument.cpp:
2411         * ksvg2/svg/SVGDocument.h:
2412         * ksvg2/svg/SVGElement.cpp:
2413         * ksvg2/svg/SVGElement.h:
2414         * ksvg2/svg/SVGElementInstance.cpp:
2415         * ksvg2/svg/SVGElementInstance.h:
2416         * ksvg2/svg/SVGElementInstanceList.cpp:
2417         * ksvg2/svg/SVGElementInstanceList.h:
2418         * ksvg2/svg/SVGEllipseElement.cpp:
2419         * ksvg2/svg/SVGEllipseElement.h:
2420         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
2421         * ksvg2/svg/SVGExternalResourcesRequired.h:
2422         * ksvg2/svg/SVGFEBlendElement.cpp:
2423         * ksvg2/svg/SVGFEBlendElement.h:
2424         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2425         * ksvg2/svg/SVGFEColorMatrixElement.h:
2426         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2427         * ksvg2/svg/SVGFEComponentTransferElement.h:
2428         * ksvg2/svg/SVGFECompositeElement.cpp:
2429         * ksvg2/svg/SVGFECompositeElement.h:
2430         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2431         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
2432         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2433         * ksvg2/svg/SVGFEDisplacementMapElement.h:
2434         * ksvg2/svg/SVGFEDistantLightElement.cpp:
2435         * ksvg2/svg/SVGFEDistantLightElement.h:
2436         * ksvg2/svg/SVGFEFloodElement.cpp:
2437         * ksvg2/svg/SVGFEFloodElement.h:
2438         * ksvg2/svg/SVGFEFuncAElement.cpp:
2439         * ksvg2/svg/SVGFEFuncAElement.h:
2440         * ksvg2/svg/SVGFEFuncBElement.cpp:
2441         * ksvg2/svg/SVGFEFuncBElement.h:
2442         * ksvg2/svg/SVGFEFuncGElement.cpp:
2443         * ksvg2/svg/SVGFEFuncGElement.h:
2444         * ksvg2/svg/SVGFEFuncRElement.cpp:
2445         * ksvg2/svg/SVGFEFuncRElement.h:
2446         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2447         * ksvg2/svg/SVGFEGaussianBlurElement.h:
2448         * ksvg2/svg/SVGFEImageElement.cpp:
2449         * ksvg2/svg/SVGFEImageElement.h:
2450         * ksvg2/svg/SVGFELightElement.cpp:
2451         * ksvg2/svg/SVGFELightElement.h:
2452         * ksvg2/svg/SVGFEMergeElement.cpp:
2453         * ksvg2/svg/SVGFEMergeElement.h:
2454         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
2455         * ksvg2/svg/SVGFEMergeNodeElement.h:
2456         * ksvg2/svg/SVGFEOffsetElement.cpp:
2457         * ksvg2/svg/SVGFEOffsetElement.h:
2458         * ksvg2/svg/SVGFEPointLightElement.cpp:
2459         * ksvg2/svg/SVGFEPointLightElement.h:
2460         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2461         * ksvg2/svg/SVGFESpecularLightingElement.h:
2462         * ksvg2/svg/SVGFESpotLightElement.cpp:
2463         * ksvg2/svg/SVGFESpotLightElement.h:
2464         * ksvg2/svg/SVGFETileElement.cpp:
2465         * ksvg2/svg/SVGFETileElement.h:
2466         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2467         * ksvg2/svg/SVGFETurbulenceElement.h:
2468         * ksvg2/svg/SVGFilterElement.cpp:
2469         * ksvg2/svg/SVGFilterElement.h:
2470         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
2471         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2472         * ksvg2/svg/SVGFitToViewBox.cpp:
2473         * ksvg2/svg/SVGFitToViewBox.h:
2474         * ksvg2/svg/SVGForeignObjectElement.cpp:
2475         * ksvg2/svg/SVGForeignObjectElement.h:
2476         * ksvg2/svg/SVGGElement.cpp:
2477         * ksvg2/svg/SVGGElement.h:
2478         * ksvg2/svg/SVGGradientElement.cpp:
2479         * ksvg2/svg/SVGGradientElement.h:
2480         * ksvg2/svg/SVGHelper.cpp:
2481         * ksvg2/svg/SVGHelper.h:
2482         * ksvg2/svg/SVGImageElement.cpp:
2483         * ksvg2/svg/SVGImageElement.h:
2484         * ksvg2/svg/SVGLangSpace.cpp:
2485         * ksvg2/svg/SVGLangSpace.h:
2486         * ksvg2/svg/SVGLength.cpp:
2487         * ksvg2/svg/SVGLength.h:
2488         * ksvg2/svg/SVGLengthList.cpp:
2489         * ksvg2/svg/SVGLengthList.h:
2490         * ksvg2/svg/SVGLineElement.cpp:
2491         * ksvg2/svg/SVGLineElement.h:
2492         * ksvg2/svg/SVGLinearGradientElement.cpp:
2493         * ksvg2/svg/SVGLinearGradientElement.h:
2494         * ksvg2/svg/SVGList.h:
2495         * ksvg2/svg/SVGLocatable.cpp:
2496         * ksvg2/svg/SVGLocatable.h:
2497         * ksvg2/svg/SVGMarkerElement.cpp:
2498         * ksvg2/svg/SVGMarkerElement.h:
2499         * ksvg2/svg/SVGMaskElement.cpp:
2500         * ksvg2/svg/SVGMaskElement.h:
2501         * ksvg2/svg/SVGMatrix.cpp:
2502         * ksvg2/svg/SVGMatrix.h:
2503         * ksvg2/svg/SVGNumber.cpp:
2504         * ksvg2/svg/SVGNumber.h:
2505         * ksvg2/svg/SVGNumberList.cpp:
2506         * ksvg2/svg/SVGNumberList.h:
2507         * ksvg2/svg/SVGPaint.cpp:
2508         * ksvg2/svg/SVGPaint.h:
2509         * ksvg2/svg/SVGPathElement.cpp:
2510         * ksvg2/svg/SVGPathElement.h:
2511         * ksvg2/svg/SVGPathSeg.cpp:
2512         * ksvg2/svg/SVGPathSeg.h:
2513         * ksvg2/svg/SVGPathSegArc.cpp:
2514         * ksvg2/svg/SVGPathSegArc.h:
2515         * ksvg2/svg/SVGPathSegClosePath.cpp:
2516         * ksvg2/svg/SVGPathSegClosePath.h:
2517         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
2518         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2519         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
2520         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2521         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
2522         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2523         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
2524         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2525         * ksvg2/svg/SVGPathSegLineto.cpp:
2526         * ksvg2/svg/SVGPathSegLineto.h:
2527         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
2528         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2529         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
2530         * ksvg2/svg/SVGPathSegLinetoVertical.h:
2531         * ksvg2/svg/SVGPathSegList.cpp:
2532         * ksvg2/svg/SVGPathSegList.h:
2533         * ksvg2/svg/SVGPathSegMoveto.cpp:
2534         * ksvg2/svg/SVGPathSegMoveto.h:
2535         * ksvg2/svg/SVGPatternElement.cpp:
2536         * ksvg2/svg/SVGPatternElement.h:
2537         * ksvg2/svg/SVGPoint.cpp:
2538         * ksvg2/svg/SVGPoint.h:
2539         * ksvg2/svg/SVGPointList.cpp:
2540         * ksvg2/svg/SVGPointList.h:
2541         * ksvg2/svg/SVGPolyElement.cpp:
2542         * ksvg2/svg/SVGPolyElement.h:
2543         * ksvg2/svg/SVGPolygonElement.cpp:
2544         * ksvg2/svg/SVGPolygonElement.h:
2545         * ksvg2/svg/SVGPolylineElement.cpp:
2546         * ksvg2/svg/SVGPolylineElement.h:
2547         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
2548         * ksvg2/svg/SVGPreserveAspectRatio.h:
2549         * ksvg2/svg/SVGRadialGradientElement.cpp:
2550         * ksvg2/svg/SVGRadialGradientElement.h:
2551         * ksvg2/svg/SVGRect.cpp:
2552         * ksvg2/svg/SVGRect.h:
2553         * ksvg2/svg/SVGRectElement.cpp:
2554         * ksvg2/svg/SVGRectElement.h:
2555         * ksvg2/svg/SVGSVGElement.cpp:
2556         * ksvg2/svg/SVGSVGElement.h:
2557         * ksvg2/svg/SVGScriptElement.cpp:
2558         * ksvg2/svg/SVGScriptElement.h:
2559         * ksvg2/svg/SVGSetElement.cpp:
2560         * ksvg2/svg/SVGSetElement.h:
2561         * ksvg2/svg/SVGStopElement.cpp:
2562         * ksvg2/svg/SVGStopElement.h:
2563         * ksvg2/svg/SVGStringList.cpp:
2564         * ksvg2/svg/SVGStringList.h:
2565         * ksvg2/svg/SVGStylable.cpp:
2566         * ksvg2/svg/SVGStylable.h:
2567         * ksvg2/svg/SVGStyleElement.cpp:
2568         * ksvg2/svg/SVGStyleElement.h:
2569         * ksvg2/svg/SVGStyledElement.cpp:
2570         * ksvg2/svg/SVGStyledElement.h:
2571         * ksvg2/svg/SVGStyledLocatableElement.cpp:
2572         * ksvg2/svg/SVGStyledLocatableElement.h:
2573         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2574         * ksvg2/svg/SVGStyledTransformableElement.h:
2575         * ksvg2/svg/SVGSwitchElement.cpp:
2576         * ksvg2/svg/SVGSwitchElement.h:
2577         * ksvg2/svg/SVGSymbolElement.cpp:
2578         * ksvg2/svg/SVGSymbolElement.h:
2579         * ksvg2/svg/SVGTRefElement.cpp:
2580         * ksvg2/svg/SVGTRefElement.h:
2581         * ksvg2/svg/SVGTSpanElement.cpp:
2582         * ksvg2/svg/SVGTSpanElement.h:
2583         * ksvg2/svg/SVGTests.cpp:
2584         * ksvg2/svg/SVGTests.h:
2585         * ksvg2/svg/SVGTextContentElement.cpp:
2586         * ksvg2/svg/SVGTextContentElement.h:
2587         * ksvg2/svg/SVGTextElement.cpp:
2588         * ksvg2/svg/SVGTextElement.h:
2589         * ksvg2/svg/SVGTextPositioningElement.cpp:
2590         * ksvg2/svg/SVGTextPositioningElement.h:
2591         * ksvg2/svg/SVGTitleElement.cpp:
2592         * ksvg2/svg/SVGTitleElement.h:
2593         * ksvg2/svg/SVGTransform.cpp:
2594         * ksvg2/svg/SVGTransform.h:
2595         * ksvg2/svg/SVGTransformList.cpp:
2596         * ksvg2/svg/SVGTransformList.h:
2597         * ksvg2/svg/SVGTransformable.cpp:
2598         * ksvg2/svg/SVGTransformable.h:
2599         * ksvg2/svg/SVGURIReference.cpp:
2600         * ksvg2/svg/SVGURIReference.h:
2601         * ksvg2/svg/SVGUseElement.cpp:
2602         * ksvg2/svg/SVGUseElement.h:
2603         * ksvg2/svg/SVGViewElement.cpp:
2604         * ksvg2/svg/SVGViewElement.h:
2605         * ksvg2/svg/SVGZoomAndPan.cpp:
2606         * ksvg2/svg/SVGZoomAndPan.h:
2607         * ksvg2/svg/svgpathparser.cpp:
2608         * ksvg2/svg/svgpathparser.h:
2609         * page/DOMWindow.idl:
2610         * page/Frame.cpp:
2611         (WebCore::Frame::Frame):
2612         (WebCore::Frame::begin):
2613         (WebCore::Frame::pauseTimeouts):
2614         (WebCore::Frame::resumeTimeouts):
2615         * platform/GraphicsContext.h:
2616         * platform/cg/GraphicsContextCG.cpp:
2617         * rendering/RenderLayer.cpp:
2618         (WebCore::RenderLayer::isTransparent):
2619         * rendering/RenderObject.cpp:
2620         (WebCore::RenderObject::containingBlock):
2621         * rendering/RenderObject.h:
2622         * rendering/RenderStyle.cpp:
2623         (WebCore::RenderStyle::RenderStyle):
2624         (WebCore::RenderStyle::inheritFrom):
2625         (WebCore::RenderStyle::operator==):
2626         (WebCore::RenderStyle::inheritedNotEqual):
2627         (WebCore::RenderStyle::diff):
2628         * rendering/RenderStyle.h:
2629         * rendering/RenderTreeAsText.cpp:
2630         (WebCore::write):
2631         (WebCore::externalRepresentation):
2632         * xpath/XPathEvaluator.cpp:
2633         * xpath/XPathEvaluator.h:
2634         * xpath/XPathExpression.cpp:
2635         * xpath/XPathExpression.h:
2636         * xpath/XPathNSResolver.cpp:
2637         * xpath/XPathNSResolver.h:
2638         * xpath/XPathNamespace.cpp:
2639         * xpath/XPathNamespace.h:
2640         * xpath/XPathResult.cpp:
2641         * xpath/XPathResult.h:
2642         * xpath/impl/XPathExpressionNode.cpp:
2643         * xpath/impl/XPathExpressionNode.h:
2644         * xpath/impl/XPathFunctions.cpp:
2645         * xpath/impl/XPathFunctions.h:
2646         * xpath/impl/XPathGrammar.y:
2647         * xpath/impl/XPathParser.cpp:
2648         * xpath/impl/XPathParser.h:
2649         * xpath/impl/XPathPath.cpp:
2650         * xpath/impl/XPathPath.h:
2651         * xpath/impl/XPathPredicate.cpp:
2652         * xpath/impl/XPathPredicate.h:
2653         * xpath/impl/XPathStep.cpp:
2654         * xpath/impl/XPathStep.h:
2655         * xpath/impl/XPathUtil.cpp:
2656         * xpath/impl/XPathUtil.h:
2657         * xpath/impl/XPathValue.cpp:
2658         * xpath/impl/XPathValue.h:
2659         * xpath/impl/XPathVariableReference.cpp:
2660         * xpath/impl/XPathVariableReference.h:
2661
2662         Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and
2663         #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT
2664         (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT
2665         in RenderTreeAsText.cpp)
2666
2667 2006-08-08  Rob Buis  <buis@kde.org>
2668
2669         Reviewed by Darin.
2670
2671         http://bugzilla.opendarwin.org/show_bug.cgi?id=10230
2672         SVGDOMImplementation should die (and be rolled into DOMImplementation)
2673
2674         Delete SVGDOMImplementation and references to it. The
2675         svg specific functionality is now in DOMImplementation.
2676
2677         * WebCore.xcodeproj/project.pbxproj:
2678         * dom/DOMImplementation.cpp:
2679         (WebCore::svgFeatureSet):
2680         (WebCore::DOMImplementation::hasFeature):
2681         (WebCore::DOMImplementation::createDocument):
2682         (WebCore::DOMImplementation::createSVGDocument):
2683         * dom/DOMImplementation.h:
2684         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Removed.
2685         * ksvg2/misc/KSVGTimeScheduler.cpp:
2686         * ksvg2/svg/SVGColor.cpp:
2687         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2688         * ksvg2/svg/SVGDocument.cpp:
2689         (WebCore::SVGDocument::SVGDocument):
2690         * ksvg2/svg/SVGDocument.h:
2691         * ksvg2/svg/SVGElement.cpp:
2692         (WebCore::SVGElement::isSupported):
2693         * ksvg2/svg/SVGFEBlendElement.cpp:
2694         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2695         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2696         * ksvg2/svg/SVGFECompositeElement.cpp:
2697         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2698         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2699         * ksvg2/svg/SVGFEFloodElement.cpp:
2700         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2701         * ksvg2/svg/SVGFELightElement.cpp:
2702         * ksvg2/svg/SVGFEMergeElement.cpp:
2703         * ksvg2/svg/SVGFEOffsetElement.cpp:
2704         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2705         * ksvg2/svg/SVGFETileElement.cpp:
2706         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2707         * ksvg2/svg/SVGGradientElement.cpp:
2708         * ksvg2/svg/SVGPatternElement.cpp:
2709         * ksvg2/svg/SVGPolyElement.cpp:
2710         * ksvg2/svg/SVGStopElement.cpp:
2711         * ksvg2/svg/SVGStyledElement.cpp:
2712         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2713         * ksvg2/svg/SVGTests.cpp:
2714         (WebCore::SVGTests::isValid):
2715         * ksvg2/svg/SVGTransformable.cpp:
2716         * page/Frame.cpp:
2717         (WebCore::Frame::begin):
2718
2719 2006-08-07  Brady Eidson  <beidson@apple.com>
2720
2721         Reviewed by Anders and John
2722
2723         Icons can now refresh when new data is sent from WebKit, both on disk and in memory
2724
2725         * bridge/mac/WebCoreIconDatabaseBridge.h:
2726         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2727         (WebCore::IconDatabase::loadIconFromURL):  Allows WebCore/Kit to kick off a load
2728         outside of any greater context
2729         (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
2730         (-[WebCoreIconDatabaseBridge isIconExpiredForPageURL:]): Allows WebKit
2731         to get whether or not an icon has expired
2732
2733         * loader/icon/IconDatabase.cpp:
2734         (WebCore::IconDatabase::recreateDatabase): Changed database schema slightly
2735         (WebCore::IconDatabase::createPrivateTables): Changed database schema slightly
2736         (WebCore::IconDatabase::iconForPageURL): 
2737         (WebCore::IconDatabase::isIconExpiredForIconURL): Get if an icon has expired
2738         (WebCore::IconDatabase::isIconExpiredForPageURL): Get if an icon has expired
2739         (WebCore::IconDatabase::setIconDataForIconURL): Force a refresh of the in memory
2740         image when new icon data is loaded
2741         (WebCore::IconDatabase::setIconURLForPageURL): added a check for null iconID
2742
2743         * loader/icon/IconDatabase.h: added/changed some methods
2744         * loader/icon/SiteIcon.cpp:
2745         (SiteIcon::getImage): simplified/removed debugging code
2746         (SiteIcon::manuallySetImageData): allow the image data to be changed when new icon
2747         data is loaded
2748
2749 2006-08-05  Darin Adler  <darin@apple.com>
2750
2751         Reviewed by Eric Seidel.
2752
2753         - fix a storage leak
2754
2755         * rendering/RenderView.cpp: (WebCore::RenderView::setSelection):
2756         Delete the values if we are going to exit without using the maps.
2757         Otherwise all the values leak.
2758
2759 2006-08-05  Darin Adler  <darin@apple.com>
2760
2761         Reviewed by Hyatt.
2762
2763         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10213
2764           REGRESSION: Crash in WebCore::RenderLayer::isTransparent involving <iframe> and <select>
2765
2766         Test: fast/frames/iframe-option-crash.xhtml
2767
2768         * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
2769         Check for a nil renderer.
2770
2771 2006-08-04  David Hyatt  <hyatt@apple.com>
2772
2773         Fix for Radar bug #4644045, regression where dragging selection no longer
2774         works for floats contained inside layers.  I added an optimization to
2775         refine dirty rect checking for layers, and it incorrectly excluded floats
2776         from the paint bounds since PaintPhaseSelection was not considered when
2777         analyzing the floatRect().
2778
2779         Reviewed by beth
2780
2781         * rendering/RenderBlock.cpp:
2782         (WebCore::RenderBlock::paint):
2783
2784 2006-08-04  David Hyatt  <hyatt@apple.com>
2785
2786         Fix remove() so that it is equivalent to calling removeChild on the
2787         parent.  This involved moving three operations that remove did.
2788
2789         (1) Move the accessibility object cache removal into the destroy methods,
2790         since this really should just happen when a render object is going away.
2791
2792         (2) removeFromObjectLists shifted into removeChild, which means it will
2793         now be called more often (this is a correct change).  Note that there is
2794         also now a new guard on removeFromObjectLists so that it won't do any
2795         work unless the document is not being destroyed.
2796
2797         (3) The big one.  deleteLineBoxWrapper was not getting called to clean up
2798         the line box tree.  This moved right into RenderContainer's removeChildNode so
2799         that it is now done even in the lowest level RenderContainer removal primitive.
2800
2801         Reviewed by beth
2802
2803         * rendering/RenderContainer.cpp:
2804         (WebCore::RenderContainer::removeChildNode):
2805         (WebCore::RenderContainer::removeChild):
2806         * rendering/RenderObject.cpp:
2807         (WebCore::RenderObject::removeFromObjectLists):
2808         (WebCore::RenderObject::destroy):
2809         * rendering/RenderObject.h:
2810         (WebCore::RenderObject::remove):
2811         * rendering/RenderWidget.cpp:
2812         (WebCore::RenderWidget::destroy):
2813
2814 2006-08-04  David Hyatt  <hyatt@apple.com>
2815
2816         Back out the fix for list marker crashes.  The actual bug here is that
2817         there is a confusing mismatch between remove() and removeChild() in the
2818         render tree.  remove() does a little bit of extra work that removeChild
2819         should be doing instead (so that remove() can just be a shorthand for
2820         removeChild).
2821
2822         This conservative fix does not solve the remove/removeChild mismatch
2823         but instead just changes the list marker updating code to use remove
2824         instead.
2825
2826         Reviewed by beth
2827
2828         Test Case: fast/lists/dynamic-marker-crash.html
2829
2830         * rendering/ListMarkerBox.cpp:
2831         * rendering/ListMarkerBox.h:
2832         * rendering/RenderListItem.cpp:
2833         (WebCore::RenderListItem::updateMarkerLocation):
2834
2835 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
2836
2837         Reviewed by Darin.
2838
2839         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10192
2840           Make WebCore (and friends) compile with -Wshorten-64-to-32
2841
2842           * Adds -Wshorten-64-to-32 flag to Xcode project.
2843           * Adds 'f' to float literals where expecting a float.
2844           * Use cosf() instead of cos() when assigning to a float.
2845
2846         * WebCore.xcodeproj/project.pbxproj:
2847         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m:
2848         (+[WKDiffuseLightingFilter initialize]):
2849         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m:
2850         (-[WKDiscreteTransferFilter outputImage]):
2851         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m:
2852         (+[WKDisplacementMapFilter initialize]):
2853         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m:
2854         (+[WKSpecularLightingFilter initialize]):
2855         * kcanvas/device/quartz/filters/WKSpotLightFilter.m:
2856         (-[WKSpotLightFilter outputImage]):
2857         * kcanvas/device/quartz/filters/WKTableTransferFilter.m:
2858         (-[WKTableTransferFilter outputImage]):
2859
2860 2006-08-03  David Hyatt  <hyatt@apple.com>
2861
2862         Fix for bug 10229, don't bother trying to clear when no floats are
2863         present.  I suspect there's still a bug in the math that follows, but
2864         this fix is safer in that it just does the obvious thing (and doesn't
2865         compute any clearance if no floats are even around).
2866
2867         Reviewed by maciej
2868
2869         * ChangeLog:
2870         * rendering/RenderBlock.cpp:
2871         (WebCore::RenderBlock::getClearDelta):
2872
2873 2006-08-03  Justin Garcia  <justin.garcia@apple.com>
2874
2875         Reviewed by harrison
2876         
2877         <rdar://problem/4641033/4515463/4052426/4046570/4053718/4053724/4060115/4062858>
2878         Copy/Paste fidelity was bad.
2879
2880         * editing/ApplyStyleCommand.cpp:
2881         (WebCore::ApplyStyleCommand::applyInlineStyle):
2882         * editing/markup.cpp:
2883         (WebCore::startMarkup): We were not adding non-inheritable styles
2884         to the markup for an element unless they were in the elements inline
2885         style declaration.
2886
2887 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
2888
2889         Reviewed by Darin.
2890
2891         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
2892           Make WebCore compile with -Wundef
2893
2894           * Adds -Wundef flag to Xcode project
2895           * Converts #ifs to #ifdef and #ifndefs where needed.
2896           * Replaces #ifdef WIN32 with #if PLATFORM(WIN_OS) or PLATFORM(WIN)
2897             (and in one instance in config.h with #if !COMPILER(MSVC))
2898           * Added #define YYMAXDEPTH 10000 in XPathGrammar.y and CSSGrammar.y
2899             to fix a warning from within Bison.
2900           * Cleaned up style a little in surrounding code.
2901
2902         * WebCore.xcodeproj/project.pbxproj:
2903         * bridge/mac/WebCoreAXObject.mm:
2904         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
2905         * config.h:
2906         * css/CSSGrammar.y:
2907         * css/MediaFeatureNames.cpp:
2908         * css/MediaFeatureNames.h:
2909         * css/cssparser.cpp:
2910         * dom/ContainerNode.cpp:
2911         (WebCore::ContainerNode::setActive):
2912         * dom/Element.cpp:
2913         (WebCore::Element::attach):
2914         * dom/Element.h:
2915         * dom/EventNames.cpp:
2916         * dom/EventNames.h:
2917         * dom/NamedAttrMap.h:
2918         * dom/Position.cpp:
2919         * dom/QualifiedName.cpp:
2920         * dom/QualifiedName.h:
2921         * dom/Range.h:
2922         * dom/XMLTokenizer.cpp:
2923         (WebCore::XMLTokenizer::error):
2924         * html/HTMLTokenizer.cpp:
2925         (WebCore::HTMLTokenizer::scriptHandler):
2926         (WebCore::HTMLTokenizer::scriptExecution):
2927         (WebCore::HTMLTokenizer::parseTag):
2928         (WebCore::HTMLTokenizer::continueProcessing):
2929         (WebCore::HTMLTokenizer::write):
2930         (WebCore::HTMLTokenizer::timerFired):
2931         (WebCore::HTMLTokenizer::notifyFinished):
2932         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2933         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2934         * ksvg2/css/SVGRenderStyle.h:
2935         * ksvg2/css/SVGRenderStyleDefs.h:
2936         * ksvg2/scripts/make_names.pl:
2937         * loader/CachedResource.h:
2938         * loader/LoaderFunctions.h:
2939         * loader/loader.h:
2940         * page/Frame.cpp:
2941         * page/FrameTree.cpp:
2942         * page/FrameView.cpp:
2943         (WebCore::FrameView::clear):
2944         (WebCore::FrameView::layout):
2945         (WebCore::FrameView::layoutTimerFired):
2946         (WebCore::FrameView::scheduleRelayout):
2947         (WebCore::FrameView::unscheduleRelayout):
2948         * platform/AtomicString.cpp:
2949         * platform/AtomicString.h:
2950         * platform/Cursor.h:
2951         * platform/DeprecatedArray.h:
2952         * platform/DeprecatedString.cpp:
2953         (WebCore::allocateHandle):
2954         (WebCore::initializeHandleNodeBlock):
2955         (WebCore::freeHandle):
2956         * platform/FloatPoint.h:
2957         * platform/FloatRect.h:
2958         * platform/FloatSize.h:
2959         * platform/GraphicsContext.h:
2960         * platform/Image.h:
2961         * platform/IntPoint.h:
2962         * platform/IntRect.h:
2963         (WebCore::IntRect::inflateX):
2964         (WebCore::IntRect::inflateY):
2965         * platform/IntSize.h:
2966         * platform/PlatformKeyboardEvent.h:
2967         * platform/PlatformMouseEvent.h:
2968         * platform/PlatformString.h:
2969         * platform/ResourceLoader.h:
2970         * platform/ResourceLoaderInternal.h:
2971         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2972         * platform/ScrollView.h:
2973         * platform/StaticConstructors.h:
2974         * platform/StreamingTextDecoderICU.cpp:
2975         (WebCore::StreamingTextDecoderICU::convert):
2976         * platform/StringImpl.h:
2977         * platform/Widget.h:
2978         * platform/mac/BlockExceptions.mm:
2979         * platform/mac/ColorMac.mm:
2980         (+[WebCoreControlTintObserver WebCore]):
2981         * platform/mac/FloatPointMac.mm:
2982         * platform/mac/FloatRectMac.mm:
2983         * platform/mac/FloatSizeMac.mm:
2984         * platform/mac/FontMac.mm:
2985         * platform/mac/GraphicsContextMac.mm:
2986         (WebCore::GraphicsContext::drawFocusRing):
2987         * platform/mac/IntPointMac.mm:
2988         * platform/mac/IntRectMac.mm:
2989         * platform/mac/IntSizeMac.mm:
2990         * platform/mac/WebCoreSystemInterface.h:
2991         * rendering/RenderBlock.h:
2992         * rendering/RenderTableCell.h:
2993         * rendering/bidi.cpp:
2994         (WebCore::appendRun):
2995         (WebCore::RenderBlock::layoutInlineChildren):
2996         * xml/XSLTProcessor.cpp:
2997         (WebCore::parseErrorFunc):
2998         * xpath/impl/XPathGrammar.y:
2999
3000 2006-08-03  Adam Roben  <aroben@apple.com>
3001
3002         Reviewed by Maciej and Beth.
3003
3004         Fix use-after-dispose heap corruption bug.
3005
3006         * rendering/ListMarkerBox.cpp:
3007         (WebCore::ListMarkerBox::destroy): Only call removeChild if we're not
3008         destroying the document
3009
3010 2006-08-03  Adam Roben  <aroben@apple.com>
3011
3012         Reviewed by Anders.
3013
3014         - Fixed Windows build.
3015
3016         * platform/Color.cpp:
3017         (WebCore::makeRGBAFromHSLA): Whitespace change
3018         * platform/win/TemporaryLinkStubs.cpp: Add new method stubs
3019         (PlatformScrollBar::PlatformScrollBar):
3020         (PlatformScrollBar::~PlatformScrollBar):
3021         (PlatformScrollBar::width):
3022         (PlatformScrollBar::height):
3023         (PlatformScrollBar::setEnabled):
3024         (PlatformScrollBar::paint):
3025         (PlatformScrollBar::setScrollBarValue):
3026         (PlatformScrollBar::setKnobProportion):
3027         (PlatformScrollBar::setRect):
3028         (ScrollBar::ScrollBar):
3029         (ScrollBar::scroll):
3030         (ScrollBar::setValue):
3031
3032 2006-08-02  Justin Garcia  <justin.garcia@apple.com>
3033
3034         Reviewed by mjs
3035         
3036         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10225>
3037         GMail Editor: Change Hilite Color doesn't work
3038
3039         * editing/JSEditor.cpp: Added support for execCommand("HiliteColor", ...).
3040         It's what GMail uses to implement text hiliting.  It's just a synonym for BackColor.
3041         * editing/SelectionController.cpp:
3042         (WebCore::SelectionController::nodeWillBeRemoved): Moved a comment
3043         a more appropriate place.
3044
3045 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3046
3047         Reviewed by Adele and Darin.
3048
3049         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10177
3050           REGRESSION: Successfully dragging text into a disabled field
3051
3052         Test: fast/forms/textfield-drag-into-disabled.html
3053
3054         * rendering/RenderTextControl.cpp:
3055         (WebCore::RenderTextControl::createDivStyle): Changed to set -webkit-user-modify
3056         to read-only on the inner div if the control is disabled.       
3057         (WebCore::RenderTextControl::updateFromElement): Ditto.
3058
3059 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3060
3061         Reviewed by Darin.
3062
3063         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10198
3064           REGRESSION: WebKit r15750 crashes while loading anthem.com
3065
3066         Test: fast/overflow/generated-content-crash.html
3067
3068         * rendering/RenderLayer.cpp:
3069         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Added a null check for
3070         the renderer's element. Generated content does not have an element and
3071         therefore does not need to maintain overflow status.
3072
3073 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3074
3075         Reviewed by Anders.
3076
3077         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10202
3078           REGRESSION: Repro crash when loading an empty image document
3079
3080         Test: fast/tokenizer/image-empty-crash.html
3081
3082         * loader/ImageDocument.cpp:
3083         (WebCore::ImageTokenizer::stopParsing): Added null check for m_imageElement.
3084         (WebCore::ImageTokenizer::finish): Ditto.
3085
3086 2006-08-03  Darin Adler  <darin@apple.com>
3087
3088         Reviewed by Anders.
3089
3090         - clean up "flip"-related code a tiny bit
3091
3092         * platform/Screen.h: Removed redundant parameter names.
3093         * platform/mac/ScreenMac.mm:
3094         (WebCore::flipScreenRect): Changed to call flipScreenPoint so we only have one
3095         copy of the flipping code.
3096         (WebCore::flipScreenPoint): Fixed indentation.
3097
3098         * bridge/mac/WebCoreFrameBridge.mm: (globalPoint): Removed type casts and
3099         simplified a bit.
3100
3101         * platform/mac/PlatformMouseEventMac.mm: (WebCore::globalPositionForEvent):
3102         * platform/mac/WheelEventMac.mm: (WebCore::globalPositionForEvent):
3103         Removed unneeded local variable.
3104
3105 2006-08-02  David Hyatt  <hyatt@apple.com>
3106
3107         Abstract RenderLayer scrollbar creation and destruction so that there
3108         is a clean spot in which to drop in engine scrollbar stuff.
3109
3110         Reviewed by timo
3111
3112         * platform/ScrollBar.h:
3113         (WebCore::ScrollBar::hasPlatformScrollBars):
3114         * rendering/RenderLayer.cpp:
3115         (WebCore::RenderLayer::createScrollbar):
3116         (WebCore::RenderLayer::destroyScrollbar):
3117         (WebCore::RenderLayer::setHasHorizontalScrollbar):
3118         (WebCore::RenderLayer::setHasVerticalScrollbar):
3119         * rendering/RenderLayer.h:
3120
3121 2006-08-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3122
3123         Reviewed by Darin.
3124
3125         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3438
3126           incorrect display of transparent 1x1 PNGs
3127
3128         Test: fast/replaced/image-solid-color-with-alpha.html
3129
3130         * platform/mac/ImageMac.mm:
3131         (WebCore::Image::checkForSolidColor): Changed to divide each color component
3132         by the alpha component. You need to do that since the bitmap context has
3133         premultiplied alpha but m_solidColor should be non-premultiplied.
3134
3135 2006-08-02  Adam Roben  <aroben@apple.com>
3136
3137         Reviewed by Brady.
3138
3139         - Remove redundant #include
3140
3141         * loader/loader.cpp:
3142
3143 2006-07-31  Sam Weinig  <sam.weinig@gmail.com>
3144
3145         Reviewed by Darin.
3146
3147         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=9955
3148         Colors scaled from [0, 1] range to [0, 255] incorrectly
3149         
3150         Fixes scaling issue and fixes Color to follow style guidelines.
3151
3152         * css/cssstyleselector.cpp:
3153         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3154         * platform/Color.cpp:
3155         (WebCore::calcHue):
3156         (WebCore::makeRGBAFromHSLA):
3157         (WebCore::Color::Color):
3158         (WebCore::Color::name):
3159         (WebCore::Color::setNamedColor):
3160         (WebCore::Color::light):
3161         (WebCore::Color::dark):
3162         (WebCore::blend):
3163         * platform/Color.h:
3164         (WebCore::Color::Color):
3165         (WebCore::Color::isValid):
3166         (WebCore::Color::red):
3167         (WebCore::Color::green):
3168         (WebCore::Color::blue):
3169         (WebCore::Color::alpha):
3170         (WebCore::Color::rgb):
3171         (WebCore::Color::setRGB):
3172         (WebCore::operator==):
3173         (WebCore::operator!=):
3174         * rendering/RenderObject.cpp:
3175         (WebCore::RenderObject::drawBorder):
3176
3177 2006-07-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3178
3179         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10158
3180           REGRESSION: Selection highlight is dark and opaque when solid-color images are used
3181
3182         Reviewed by Darin.
3183
3184         Pixel test: fast/backgrounds/solid-color-context-restore.html
3185
3186         * platform/mac/ImageMac.mm:
3187         (WebCore::Image::draw): Added calls to preserve the graphics context
3188         around the painting of a solid color image.
3189         (WebCore::Image::drawTiled): Ditto.
3190
3191 2006-07-31  Maciej Stachowiak  <mjs@apple.com>
3192
3193         Rubber-stamped by Tim Hatcher.
3194
3195         - renamed TransferJob to ResourceLoader
3196
3197         * Projects/gdk/webcore-gdk.bkl:
3198         * WebCore.vcproj/WebCore/WebCore.vcproj:
3199         * WebCore.xcodeproj/project.pbxproj:
3200         * WebCoreSources.bkl:
3201         * bridge/mac/FrameMac.mm:
3202         * bridge/mac/WebCoreResourceLoaderImp.h:
3203         * bridge/mac/WebCoreResourceLoaderImp.mm:
3204         (-[WebCoreResourceLoaderImp redirectedToURL:]):
3205         (-[WebCoreResourceLoaderImp addData:]):
3206         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
3207         * bridge/win/FrameWin.cpp:
3208         * dom/XMLTokenizer.cpp:
3209         (WebCore::openFunc):
3210         * loader/Cache.cpp:
3211         * loader/LoaderFunctions.h:
3212         * loader/loader.cpp:
3213         (WebCore::Loader::servePendingRequests):
3214         (WebCore::Loader::receivedAllData):
3215         (WebCore::Loader::receivedResponse):
3216         (WebCore::Loader::receivedData):
3217         (WebCore::Loader::cancelRequests):
3218         (WebCore::Loader::jobForRequest):
3219         * loader/loader.h:
3220         * loader/mac/LoaderFunctionsMac.mm:
3221         (WebCore::ServeSynchronousRequest):
3222         * platform/ResourceLoader.cpp: Added.
3223         (WebCore::ResourceLoader::ResourceLoader):
3224         (WebCore::ResourceLoader::isErrorPage):
3225         (WebCore::ResourceLoader::error):
3226         (WebCore::ResourceLoader::setError):
3227         (WebCore::ResourceLoader::queryMetaData):
3228         (WebCore::ResourceLoader::addMetaData):
3229         (WebCore::ResourceLoader::kill):
3230         (WebCore::ResourceLoader::url):
3231         (WebCore::ResourceLoader::postData):
3232         (WebCore::ResourceLoader::method):
3233         (WebCore::ResourceLoader::client):
3234         * platform/ResourceLoader.h: Added.
3235         (WebCore::ResourceLoader::getInternal):
3236         * platform/ResourceLoaderClient.h: Added.
3237         (WebCore::ResourceLoaderClient::~ResourceLoaderClient):
3238         (WebCore::ResourceLoaderClient::receivedRedirect):
3239         (WebCore::ResourceLoaderClient::receivedResponse):
3240         (WebCore::ResourceLoaderClient::receivedData):
3241         (WebCore::ResourceLoaderClient::receivedAllData):
3242         * platform/ResourceLoaderInternal.h: Added.
3243         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
3244         * platform/TransferJob.cpp: Removed.
3245         * platform/TransferJob.h: Removed.
3246         * platform/TransferJobClient.h: Removed.
3247         * platform/TransferJobInternal.h: Removed.
3248         * platform/gdk/FrameGdk.cpp:
3249         (WebCore::FrameGdk::openURL):
3250         (WebCore::FrameGdk::urlSelected):
3251         (WebCore::FrameGdk::receivedData):
3252         (WebCore::FrameGdk::receivedAllData):
3253         * platform/gdk/FrameGdk.h:
3254         * platform/gdk/ResourceLoaderCurl.cpp: Added.
3255         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
3256         (WebCore::ResourceLoader::~ResourceLoader):
3257         (WebCore::ResourceLoader::start):
3258         (WebCore::ResourceLoader::cancel):
3259         * platform/gdk/ResourceLoaderManager.cpp: Added.
3260         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
3261         (WebCore::ResourceLoaderManager::get):
3262         (WebCore::ResourceLoaderManager::useSimpleTransfer):
3263         (WebCore::writeCallback):
3264         (WebCore::ResourceLoaderManager::downloadTimerCallback):
3265         (WebCore::ResourceLoaderManager::remove):
3266         (WebCore::ResourceLoaderManager::add):
3267         (WebCore::ResourceLoaderManager::cancel):
3268         * platform/gdk/ResourceLoaderManager.h: Added.
3269         * platform/gdk/TemporaryLinkStubs.cpp:
3270         (WebCore::ServeSynchronousRequest):
3271         (WebCore::ResourceLoader::assembleResponseHeaders):
3272         (WebCore::ResourceLoader::retrieveCharset):
3273         * platform/gdk/TransferJobCurl.cpp: Removed.
3274         * platform/gdk/TransferJobManager.cpp: Removed.
3275         * platform/gdk/TransferJobManager.h: Removed.
3276         * platform/mac/ResourceLoaderMac.mm: Added.
3277         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
3278         (WebCore::ResourceLoader::~ResourceLoader):
3279         (WebCore::ResourceLoader::start):
3280         (WebCore::ResourceLoader::assembleResponseHeaders):
3281         (WebCore::ResourceLoader::retrieveCharset):
3282         (WebCore::ResourceLoader::setLoader):
3283         (WebCore::ResourceLoader::receivedResponse):
3284         (WebCore::ResourceLoader::cancel):
3285         * platform/mac/TransferJobMac.mm: Removed.
3286         * platform/win/ResourceLoaderWin.cpp: Added.
3287         (WebCore::addToOutstandingJobs):
3288         (WebCore::lookupResourceLoader):
3289         (WebCore::ResourceLoaderWndProc):
3290         (WebCore::initializeOffScreenResourceLoaderWindow):
3291         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
3292         (WebCore::ResourceLoader::~ResourceLoader):
3293         (WebCore::ResourceLoader::start):
3294         (WebCore::ResourceLoader::fileLoadTimer):
3295         (WebCore::ResourceLoader::cancel):
3296         * platform/win/ResourceLoaderWin.h: Added.
3297         * platform/win/TemporaryLinkStubs.cpp:
3298         (WebCore::ServeSynchronousRequest):
3299         (WebCore::ResourceLoader::assembleResponseHeaders):
3300         (WebCore::ResourceLoader::retrieveCharset):
3301         * platform/win/TransferJobWin.cpp: Removed.
3302         * platform/win/TransferJobWin.h: Removed.
3303         * xml/XSLTProcessor.cpp:
3304         (WebCore::docLoaderFunc):
3305         * xml/xmlhttprequest.cpp:
3306         (WebCore::XMLHttpRequest::send):
3307         (WebCore::XMLHttpRequest::receivedAllData):
3308         (WebCore::XMLHttpRequest::receivedRedirect):
3309         (WebCore::XMLHttpRequest::receivedData):
3310         * xml/xmlhttprequest.h:
3311
3312 2006-07-31  Darin Adler  <darin@apple.com>
3313
3314         Reviewed by Hyatt.
3315
3316         - removed obsolete cell margin hack
3317
3318         * rendering/RenderBox.cpp: (WebCore::RenderBox::calcVerticalMargins):
3319         Set top and bottom margins to 0 for table cells instead of -16384.
3320         No effect on layout (including layout tests).
3321
3322         * css/CSSComputedStyleDeclaration.cpp:
3323         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3324         Added a few comments about differences between this class and the
3325         what the CSS specification says about computed style.
3326
3327 2006-07-31  Mark Rowe  <opendarwin.org@bdash.net.nz>
3328
3329         Reviewed by Maciej.
3330
3331         http://bugzilla.opendarwin.org/show_bug.cgi?id=9738
3332         Bug 9738: Unqualified :hover selector ignored in strict parsing mode
3333
3334         * css/cssstyleselector.cpp:
3335         (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
3336         exclusion based on onlyHoverActive to quirks mode.
3337
3338 2006-07-31  David Hyatt  <hyatt@apple.com>
3339
3340         Fix for bug 10179, digg.com scrolls slowly.  Improve fixed positioning
3341         and fixed backgrounds so that a count of them is kept on the FrameView.
3342         This allows us to switch slow scrolling on and off as these objects come
3343         and go.
3344
3345         * css/cssstyleselector.cpp:
3346         (WebCore::CSSStyleSelector::adjustRenderStyle):
3347         (WebCore::CSSStyleSelector::applyProperty):
3348         * page/FrameView.cpp:
3349         (WebCore::FrameViewPrivate::reset):
3350         (WebCore::FrameView::layout):
3351         (WebCore::FrameView::useSlowRepaints):
3352         (WebCore::FrameView::setUseSlowRepaints):
3353         (WebCore::FrameView::addSlowRepaintObject):
3354         (WebCore::FrameView::removeSlowRepaintObject):
3355         * page/FrameView.h:
3356         * rendering/RenderBox.cpp:
3357         (WebCore::RenderBox::paintBackgroundExtended):
3358         * rendering/RenderObject.cpp:
3359         (WebCore::RenderObject::setStyle):
3360         * rendering/RenderView.cpp:
3361         (WebCore::RenderView::paintBoxDecorations):
3362
3363 2006-07-31  David Hyatt  <hyatt@apple.com>
3364
3365         Begin disentangling of scrollbar logic in preparation for engine-implemented
3366         scrollbars.  Split ScrollBar into two classes, an abstract base (still named
3367         ScrollBar) and a new PlatformScrollBar subclass.  This subclass is used only
3368         by platforms that want to continue to use a platform scrollbar (rather than
3369         the engine one).
3370
3371         Reviewed by darin
3372
3373         * WebCore.xcodeproj/project.pbxproj:
3374         * html/HTMLCanvasElement.h:
3375         * page/Frame.cpp:
3376         * platform/PlatformScrollBar.h: Added.
3377         (WebCore::PlatformScrollBar::isWidget):
3378         * platform/ScrollBar.h:
3379         (WebCore::ScrollBarClient::~ScrollBarClient):
3380         (WebCore::ScrollBar::~ScrollBar):
3381         (WebCore::ScrollBar::orientation):
3382         (WebCore::ScrollBar::value):
3383         (WebCore::ScrollBar::client):
3384         * platform/mac/PlatformScrollBarMac.mm: Added.
3385         (-[WebCoreScrollBar initWithPlatformScrollBar:]):
3386         (-[WebCoreScrollBar detachPlatformScrollBar]):
3387         (-[WebCoreScrollBar scroll:]):
3388         (-[WebCoreScrollBar widget]):
3389         (-[WebCoreScrollBar mouseDown:]):
3390         (WebCore::PlatformScrollBar::PlatformScrollBar):
3391         (WebCore::PlatformScrollBar::~PlatformScrollBar):
3392         (WebCore::PlatformScrollBar::setScrollBarValue):
3393         (WebCore::PlatformScrollBar::setKnobProportion):
3394         (WebCore::PlatformScrollBar::scrollbarHit):
3395         (WebCore::PlatformScrollBar::width):
3396         (WebCore::PlatformScrollBar::height):
3397         (WebCore::PlatformScrollBar::setRect):
3398         (WebCore::PlatformScrollBar::setEnabled):
3399         (WebCore::PlatformScrollBar::paint):
3400         * platform/mac/ScrollBarMac.mm: Removed.
3401         * platform/mac/WebCoreTextArea.mm:
3402         * rendering/RenderBlock.cpp:
3403         (WebCore::RenderBlock::isPointInScrollbar):
3404         * rendering/RenderFormElement.cpp:
3405         * rendering/RenderLayer.cpp:
3406         (WebCore::RenderLayer::horizontalScrollbarWidget):
3407         (WebCore::RenderLayer::verticalScrollbarWidget):
3408         (WebCore::RenderLayer::valueChanged):
3409         (WebCore::RenderLayer::setHasHorizontalScrollbar):
3410         (WebCore::RenderLayer::setHasVerticalScrollbar):
3411         (WebCore::RenderLayer::positionScrollbars):
3412         * rendering/RenderLayer.h:
3413         * rendering/RenderWidget.h:
3414
3415 2006-07-31  Adele Peterson  <adele@apple.com>
3416
3417         Reviewed by John and Anders.
3418
3419         - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key
3420
3421         Test: fast/forms/onchange-enter-submit.html
3422
3423         Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
3424         This matches the sequence of events fired in WinIE.
3425
3426         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
3427         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):
3428
3429 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
3430
3431         Reviewed by Kevin.
3432
3433         Moved string debug function outside of the WebCore namespace so that it's
3434         easier to call in the debugger. I will never doubt Darin again (x100).
3435
3436         * platform/String.cpp:
3437         (string):
3438
3439 2006-07-31  David Hyatt  <hyatt@apple.com>
3440
3441         Partial fix for 5453.  Improve overflow so that when it changes
3442         dynamically from scroll/auto to hidden that we properly hide the
3443         scrollbars.  Also refine the dirty dashboard region updating so that
3444         it only happens if the scrollbars genuinely come and go.
3445
3446         Also eliminate the extra repaint of the entire block.  This should not be
3447         necessary, since the scrollbars repaint themselves already and children
3448         will repaint already if they move.
3449
3450         Reviewed by darin
3451
3452         Adding test case from bug into fast/overflow/dynamic-hidden.html
3453
3454         * rendering/RenderLayer.cpp:
3455         (WebCore::RenderLayer::setHasHorizontalScrollbar):
3456         (WebCore::RenderLayer::setHasVerticalScrollbar):
3457         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3458
3459 2006-07-31  Graham Dennis  <graham.dennis@gmail.com>
3460
3461         Reviewed by justin
3462         
3463         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9507>
3464         Empty style spans created in applyInlineStyle
3465         
3466         Improves paste fidelity because some of these empty font/style spans had a non-zero
3467         size and were messing up the layout of pasted content:
3468         <rdar://problem/4515463>
3469         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page   
3470
3471         * editing/ApplyStyleCommand.cpp:
3472         (WebCore::ApplyStyleCommand::applyInlineStyle): Use the adjusted start node instead 
3473         of start.node().  Don't do any application if the endpoints are swapped.  Adjust
3474         endNode if the start node is a descendant of it, so that the pre-order traversal will
3475         terminate properly.
3476
3477 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
3478
3479         Reviewed by Darin.
3480
3481         * platform/String.cpp:
3482         (WebCore::string): Added a debugging function to create a String from a
3483         const char*.
3484
3485 2006-07-31  Anders Carlsson  <acarlsson@apple.com>
3486
3487         * css/CSSPrimitiveValue.cpp:
3488         Fix windows build.
3489
3490 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
3491
3492         Reinstating my last change. Everything builds now.
3493         
3494 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
3495
3496         Backing out my last change because it causes a build failure in some
3497         configurations. This seems to be the cleanest way to get svn to cooperate.
3498
3499 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
3500
3501         Reviewed by Maciej.
3502
3503         Moved files around to make WebCore's structure clearer
3504         and easier to explain.
3505
3506         DerivedSources/JS* -> bindings/js/DerivedSources/ (so JS* files
3507         show up when you search inside bindings/js/, but are marked, at
3508         the same time, as files that you should not edit manually)
3509
3510         WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
3511         use DOMList.h)
3512
3513         icon -> loader/icon
3514
3515         I tested that everything still builds.
3516
3517 2006-07-30  Darin Adler  <darin@apple.com>
3518
3519         Reviewed by Tim Hatcher.
3520
3521         - some improvements for the benefit of the style pane of the inspector
3522
3523         * css/CSSComputedStyleDeclaration.cpp: Removed background-position
3524         and border-spacing from the list of properties that show up in
3525         computed style, because of background-position-x, background-position-y,
3526         -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
3527         (WebCore::valueForLength): Added handling for undefinedLength, intrinsic,
3528         and min-intrinsic.
3529         (WebCore::primitiveValueFromLength): Removed code that would add a
3530         space to the string for no good reason.
3531         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a
3532         special case for a line clamp of -1, which should come back as "none"
3533         rather than an actual "-1".
3534         (WebCore::CSSComputedStyleDeclaration::length): Return 0 if the
3535         declaration has no corresponding node or no renderer.
3536         (WebCore::CSSComputedStyleDeclaration::item): Check against length()
3537         so that the two stay consistent rather than using a constant.
3538
3539         * css/CSSPrimitiveValue.cpp:
3540         (WebCore::isCSSTokenizerIdentifier): Added.
3541         (WebCore::isCSSTokenizerURL): Added.
3542         (WebCore::quoteString): Added.
3543         (WebCore::quoteStringIfNeeded): Changed to quote strings in many more
3544         cases -- any cases where they would not parse in the CSS parser otherwise.
3545         The main case this affects is font names with spaces in them.
3546         (WebCore::quoteURLIfNeeded): Added.
3547         (WebCore::CSSPrimitiveValue::cssText): Use quoteURLIfNeeded in the case
3548         where we're making the text form of a URI.
3549
3550         * css/tokenizer.flex: Whitespace tweaks to line things up better.
3551
3552 2006-07-30  Eric Seidel  <eric@eseidel.com>
3553
3554         Reviewed by gramps!
3555
3556         Remove some unused SVG code.
3557
3558         * ksvg2/ecma/Ecma.cpp: Removed.
3559         * ksvg2/ecma/Ecma.h: Removed.
3560         * ksvg2/ecma/GlobalObject.cpp: remove a couple dead functions.