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