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