2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
2
3         Reviewed and landed by ap.
4
5         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
6         Provide stub implementation of RenderPopupMenuQt.
7
8         * CMakeLists.txt:
9         * platform/qt/RenderPopupMenuQt.cpp: Added.
10         (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
11         (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
12         (WebCore::RenderPopupMenuQt::clear):
13         (WebCore::RenderPopupMenuQt::populate):
14         (WebCore::RenderPopupMenuQt::showPopup):
15         (WebCore::RenderPopupMenuQt::hidePopup):
16         (WebCore::RenderPopupMenuQt::addSeparator):
17         (WebCore::RenderPopupMenuQt::addGroupLabel):
18         (WebCore::RenderPopupMenuQt::addOption):
19         * platform/qt/RenderPopupMenuQt.h: Added.
20         * platform/qt/RenderThemeQt.cpp:
21         (WebCore::RenderThemeQt::systemFont):
22         (WebCore::RenderThemeQt::createPopupMenu):
23
24 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
25
26         Reviewed and landed by ap.
27
28         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
29         Offer QString -> DeprecatedString conversion.
30
31         * platform/DeprecatedString.h:
32         * platform/qt/StringQt.cpp:
33         (WebCore::DeprecatedString::DeprecatedString):
34
35 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
36
37         Reviewed by Tim Hatcher.
38         
39         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
40
41         * platform/qt/RenderThemeQt.cpp:
42         (WebCore::RenderThemeQt::systemFont):
43         Remove annoying notImplemented() usage in systemFont()
44
45 2006-08-28  David Harrison  <harrison@apple.com>
46
47         Reviewed by Darin.
48
49         <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
50
51         * bridge/mac/WebCoreAXObject.mm:
52         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
53         Add AXStyleTextMarkerRangeForTextMarker.
54         
55         (startOfStyleRange):
56         (endOfStyleRange):
57         Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.
58
59         (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
60         Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
61         
62         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
63         Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
64
65 2006-08-28  David Harrison  <harrison@apple.com>
66
67         Reviewed by Darin.
68
69         <rdar://problem/4517383> Hide all images used for spacing purpose in AX
70
71         * bridge/mac/WebCoreAXObject.mm:
72         (-[WebCoreAXObject accessibilityIsIgnored]):
73         Check for one-dimensional image
74         Check whether rendered image was stretched from one-dimensional file image
75
76 2006-08-27  Brady Eidson  <beidson@apple.com>
77
78         Reviewed by Maciej
79
80         Rewrote StringImpl::replace(UChar, StringImpl*)
81
82         * platform/StringImpl.cpp:
83         (WebCore::StringImpl::replace):
84
85 2006-08-27  Sam Weinig  <sam.weinig@gmail.com>
86
87         Reviewed by Tim H.
88
89         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=4624
90           WebCore needs autogenerated Obj-C DOM bindings
91
92           First round of auto-generated Objective C DOM bindings, starting
93           with the DOM Core.
94
95         * DerivedSources.make:
96         * WebCore.xcodeproj/project.pbxproj:
97         * bindings/objc/DOM.mm:
98         (-[DOMNode description]):
99         (-[DOMNode KJS::Bindings::]):
100         (-[DOMNode dispatchEvent:]):
101         (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
102         (+[DOMNamedNodeMap _namedNodeMapWith:]):
103         (-[DOMNodeList _initWithNodeList:]):
104         (+[DOMNodeList _nodeListWith:]):
105         (-[DOMImplementation _initWithDOMImplementation:]):
106         (+[DOMImplementation _DOMImplementationWith:]):
107         (-[DOMImplementation _DOMImplementation]):
108         (+[DOMDocumentFragment _documentFragmentWith:]):
109         (-[DOMDocumentFragment _fragment]):
110         (-[DOMDocument createCSSStyleDeclaration]):
111         (+[DOMDocument _documentWith:]):
112         (-[DOMDocument _document]):
113         (-[DOMDocument _ownerElement]):
114         (+[DOMAttr _attrWith:]):
115         (-[DOMAttr _attr]):
116         (+[DOMDocumentType _documentTypeWith:WebCore::]):
117         (-[DOMDocumentType WebCore::]):
118         (+[DOMText _textWith:WebCore::]):
119         (+[DOMComment _commentWith:WebCore::]):
120         (+[DOMCDATASection _CDATASectionWith:WebCore::]):
121         (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
122         (+[DOMEntityReference _entityReferenceWith:WebCore::]):
123         * bindings/objc/DOMCSS.h:
124         * bindings/objc/DOMCSS.mm:
125         * bindings/objc/DOMCore.h:
126         * bindings/objc/DOMEvents.h:
127         * bindings/objc/DOMEvents.mm:
128         * bindings/objc/DOMExtensions.h:
129         * bindings/objc/DOMHTML.mm:
130         (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
131         * bindings/objc/DOMHTMLInternal.h:
132         * bindings/objc/DOMImplementationFront.h:
133         * bindings/objc/DOMInternal.h:
134         * bindings/objc/DOMNode.h: Added.
135         * bindings/objc/DOMNode.mm: Added.
136         (-[DOMNode dealloc]):
137         (-[DOMNode finalize]):
138         (-[DOMNode nodeName]):
139         (-[DOMNode nodeValue]):
140         (-[DOMNode setNodeValue:]):
141         (-[DOMNode nodeType]):
142         (-[DOMNode parentNode]):
143         (-[DOMNode childNodes]):
144         (-[DOMNode firstChild]):
145         (-[DOMNode lastChild]):
146         (-[DOMNode previousSibling]):
147         (-[DOMNode nextSibling]):
148         (-[DOMNode attributes]):
149         (-[DOMNode ownerDocument]):
150         (-[DOMNode insertBefore::]):
151         (-[DOMNode replaceChild::]):
152         (-[DOMNode removeChild:]):
153         (-[DOMNode appendChild:]):
154         (-[DOMNode hasChildNodes]):
155         (-[DOMNode cloneNode:]):
156         (-[DOMNode normalize]):
157         (-[DOMNode isSupported::]):
158         (-[DOMNode namespaceURI]):
159         (-[DOMNode prefix]):
160         (-[DOMNode setPrefix:]):
161         (-[DOMNode localName]):
162         (-[DOMNode hasAttributes]):
163         (-[DOMNode isSameNode:]):
164         (-[DOMNode isEqualNode:]):
165         (-[DOMNode isDefaultNamespace:]):
166         (-[DOMNode lookupPrefix:]):
167         (-[DOMNode lookupNamespaceURI:]):
168         (-[DOMNode textContent]):
169         (-[DOMNode setTextContent:]):
170         (-[DOMNode boundingBox]):
171         (-[DOMNode lineBoxRects]):
172         * bindings/objc/DOMObject.h: Added.
173         * bindings/objc/DOMObject.mm: Added.
174         (-[DOMObject init]):
175         (-[DOMObject dealloc]):
176         (-[DOMObject finalize]):
177         (-[DOMObject copyWithZone:]):
178         (-[DOMObject sheet]):
179         * bindings/objc/DOMPrivate.h:
180         * bindings/objc/DOMRange.h:
181         * bindings/objc/DOMStylesheets.h:
182         * bindings/objc/DOMTraversal.h:
183         * bindings/objc/DOMViews.h:
184         * bindings/objc/DOMViews.mm:
185         * bindings/objc/DOMXPath.h:
186         * bindings/objc/DOMXPath.mm:
187         * bindings/scripts/CodeGenerator.pm:
188         * bindings/scripts/CodeGeneratorJS.pm:
189         * bindings/scripts/CodeGeneratorObjC.pm: Added.
190         * dom/Attr.idl:
191         * dom/CDATASection.idl: Added.
192         * dom/Comment.idl: Added.
193         * dom/DOMImplementation.idl:
194         * dom/Document.idl:
195         * dom/Element.idl:
196         * dom/EntityReference.idl: Added.
197         * dom/NamedNodeMap.idl: Added.
198         * dom/NodeList.idl: Added.
199         * dom/ProcessingInstruction.idl:
200
201 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
202
203         Reviewed by Tim H.
204
205         Fix crash in LayoutTests/css1/font_properties/font.html,
206         by implementing FontData::smallCapsFontData.
207
208         * platform/qt/FontDataQt.cpp:
209         (WebCore::FontData::platformDestroy):
210         (WebCore::FontData::smallCapsFontData):
211
212 2006-08-27  Brady Eidson  <beidson@apple.com>
213
214         Reviewed by Maciej
215
216         Plugged a leak in StringImpl::replace()
217
218         * platform/StringImpl.cpp:
219         (WebCore::StringImpl::replace):
220
221 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
222
223         Reviewed and landed by Anders.
224
225         Remove most annoying notImplemented() usages and
226         implement some missing ScrollViewQt functions.
227         Much nicer output when invoking run-webkit-tests.
228
229         * platform/qt/FrameQt.cpp:
230         (WebCore::FrameQt::saveDocumentState):
231         (WebCore::FrameQt::restoreDocumentState):
232         (WebCore::FrameQt::clearUndoRedoOperations):
233         (WebCore::FrameQt::partClearedInBegin):
234         * platform/qt/ResourceLoaderManager.cpp:
235         (WebCore::headerCallback):
236         (WebCore::ResourceLoaderManager::downloadTimerCallback):
237         * platform/qt/ScrollViewQt.cpp:
238         (WebCore::ScrollView::updateContents):
239         (WebCore::ScrollView::suppressScrollBars):
240         (WebCore::ScrollView::setStaticBackground):
241         (WebCore::ScrollView::addChild):
242         (WebCore::ScrollView::removeChild):
243         * platform/qt/TemporaryLinkStubs.cpp:
244         (WebCore::historyContains):
245         (WebCore::CheckCacheObjectStatus):
246         (WebCore::CheckIfReloading):
247         (loadResourceIntoArray):
248         (WebCore::PlugInInfoStore::supportsMIMEType):
249
250 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
251
252         Reviewed and landed by Anders.
253
254         Fix Qt build (add SVGMetaDataElement.cpp to build system)
255
256         * CMakeLists.txt:
257
258 2006-08-27  Eric Seidel  <eric@eseidel.com>
259
260         Reviewed by andersca.
261
262         No logic changes.  Just cleanup.
263
264         * ksvg2/svg/SVGAngle.cpp:
265         (SVGAngle::SVGAngle):
266         (SVGAngle::unitType):
267         (SVGAngle::valueAsString):
268         (SVGAngle::newValueSpecifiedUnits):
269         (SVGAngle::convertToSpecifiedUnits):
270         * ksvg2/svg/SVGAngle.h:
271         * ksvg2/svg/SVGLength.cpp:
272         (WebCore::SVGLength::unitType):
273         (WebCore::SVGLength::newValueSpecifiedUnits):
274         (WebCore::SVGLength::convertToSpecifiedUnits):
275         (WebCore::SVGLength::updateValue):
276         (WebCore::SVGLength::updateValueInSpecifiedUnits):
277         * ksvg2/svg/SVGLength.h:
278         * platform/BitmapImage.cpp: Removed.
279         * platform/BitmapImage.h: Removed.
280
281 2006-08-27  Brady Eidson  <beidson@apple.com>
282
283         Reviewed by Anders
284
285         -Changed all of the commonly used queries to keep around pre-prepared statements and bind
286         their arguments instead of constructing a new, messy, string appended statement each time
287         -Changed some code in pruneUnretainedIconsOnStartup regarding transactions
288
289         * loader/icon/IconDatabase.cpp:
290         (WebCore::IconDatabase::IconDatabase): Initializers
291         (WebCore::IconDatabase::close): Wipe all the preprepared statements
292         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
293         (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
294         (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
295         (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
296         (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
297         (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
298         (WebCore::IconDatabase::forgetPageURLQuery): ditto
299         (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
300         (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
301         (WebCore::IconDatabase::addIconForIconURLQuery): ditto
302         (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
303         * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
304         * loader/icon/SQLStatement.h:
305         (WebCore::SQLStatement::database): Added
306
307 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
308
309         Reviewed by Eric.
310
311         Fix switch logic.
312
313         * platform/qt/ScrollViewQt.cpp:
314         (WebCore::ScrollView::setHScrollBarMode):
315         (WebCore::ScrollView::setVScrollBarMode):
316
317 2006-08-27  Rob Buis  <buis@kde.org>
318
319         Reviewed by Eric.
320
321         http://bugzilla.opendarwin.org/show_bug.cgi?id=10557
322         KCanvasPath should be replace by platform/Path
323
324         Refactoring out the KCanvasPath class.
325
326         * CMakeLists.txt:
327         * WebCore.xcodeproj/project.pbxproj:
328         * kcanvas/KCanvasCreator.cpp:
329         (WebCore::KCanvasCreator::createRoundedRectangle):
330         (WebCore::KCanvasCreator::createRectangle):
331         (WebCore::KCanvasCreator::createEllipse):
332         (WebCore::KCanvasCreator::createCircle):
333         (WebCore::KCanvasCreator::createLine):
334         * kcanvas/KCanvasCreator.h:
335         * kcanvas/KCanvasPath.cpp: Removed.
336         * kcanvas/KCanvasPath.h: Removed.
337         * kcanvas/KCanvasResources.cpp:
338         (WebCore::operator<<):
339         (WebCore::KCanvasResource::clients):
340         (WebCore::KCanvasResource::invalidate):
341         (WebCore::KCanvasClipper::addClipData):
342         * kcanvas/KCanvasResources.h:
343         (WebCore::KCClipData::windRule):
344         (WebCore::KCClipDataList::KCClipDataList):
345         (WebCore::KCClipDataList::addPath):
346         * kcanvas/KCanvasTreeDebug.cpp:
347         (WebCore::operator<<):
348         * kcanvas/RenderPath.cpp:
349         (WebCore::RenderPath::fillContains):
350         (WebCore::RenderPath::relativeBBox):
351         (WebCore::RenderPath::setPath):
352         (WebCore::RenderPath::path):
353         (WebCore::RenderPath::paint):
354         (WebCore::RenderPath::nodeAtPoint):
355         * kcanvas/RenderPath.h:
356         * kcanvas/device/KRenderingDevice.h:
357         * kcanvas/device/KRenderingFillPainter.cpp:
358         (WebCore::KRenderingFillPainter::fillRule):
359         (WebCore::KRenderingFillPainter::setFillRule):
360         * kcanvas/device/KRenderingFillPainter.h:
361         * kcanvas/device/qt/KCanvasClipperQt.cpp:
362         (WebCore::KCanvasClipperQt::applyClip):
363         * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
364         * kcanvas/device/qt/KCanvasPathQt.h: Removed.
365         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
366         (WebCore::KRenderingDeviceContextQt::addPath):
367         (WebCore::KRenderingDeviceContextQt::setFillRule):
368         (WebCore::KRenderingDeviceQt::createItem):
369         * kcanvas/device/qt/KRenderingDeviceQt.h:
370         * kcanvas/device/qt/RenderPathQt.cpp:
371         (WebCore::RenderPathQt::drawMarkersIfNeeded):
372         (WebCore::RenderPathQt::strokeContains):
373         (WebCore::getPathStroke):
374         (WebCore::RenderPathQt::strokeBBox):
375         * kcanvas/device/qt/RenderPathQt.h:
376         * kcanvas/device/quartz/KCanvasItemQuartz.h:
377         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
378         (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
379         (WebCore::KCanvasItemQuartz::strokeBBox):
380         (WebCore::KCanvasItemQuartz::strokeContains):
381         * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
382         * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
383         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
384         (WebCore::KCanvasClipperQuartz::applyClip):
385         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
386         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
387         (WebCore::KRenderingDeviceContextQuartz::addPath):
388         (WebCore::KRenderingDeviceQuartz::createItem):
389         * kcanvas/device/quartz/QuartzSupport.h:
390         * kcanvas/device/quartz/QuartzSupport.mm:
391         (WebCore::scratchContext):
392         (WebCore::strokeBoundingBox):
393         (WebCore::pathContainsPoint):
394         * ksvg2/css/SVGCSSParser.cpp:
395         (WebCore::CSSParser::parseSVGValue):
396         * ksvg2/css/SVGCSSStyleSelector.cpp:
397         (WebCore::CSSStyleSelector::applySVGProperty):
398         * ksvg2/css/SVGRenderStyle.h:
399         (WebCore::SVGRenderStyle::InheritedFlags::):
400         * ksvg2/css/SVGRenderStyleDefs.h:
401         * ksvg2/misc/KCanvasRenderingStyle.cpp:
402         (WebCore::KSVGPainterFactory::fillPainter):
403         * ksvg2/svg/SVGCircleElement.cpp:
404         (SVGCircleElement::toPathData):
405         * ksvg2/svg/SVGCircleElement.h:
406         * ksvg2/svg/SVGClipPathElement.cpp:
407         (SVGClipPathElement::canvasResource):
408         * ksvg2/svg/SVGEllipseElement.cpp:
409         (WebCore::SVGEllipseElement::toPathData):
410         * ksvg2/svg/SVGEllipseElement.h:
411         * ksvg2/svg/SVGGradientElement.cpp:
412         (SVGGradientElement::notifyAttributeChange):
413         * ksvg2/svg/SVGImageElement.cpp:
414         * ksvg2/svg/SVGLineElement.cpp:
415         (SVGLineElement::toPathData):
416         * ksvg2/svg/SVGLineElement.h:
417         * ksvg2/svg/SVGMaskElement.cpp:
418         * ksvg2/svg/SVGPathElement.cpp:
419         (WebCore::SVGPathElement::toPathData):
420         * ksvg2/svg/SVGPathElement.h:
421         * ksvg2/svg/SVGPatternElement.cpp:
422         (WebCore::SVGPatternElement::notifyClientsToRepaint):
423         * ksvg2/svg/SVGPolygonElement.cpp:
424         (SVGPolygonElement::toPathData):
425         * ksvg2/svg/SVGPolygonElement.h:
426         * ksvg2/svg/SVGPolylineElement.cpp:
427         (SVGPolylineElement::toPathData):
428         * ksvg2/svg/SVGPolylineElement.h:
429         * ksvg2/svg/SVGRectElement.cpp:
430         (WebCore::SVGRectElement::toPathData):
431         * ksvg2/svg/SVGRectElement.h:
432         * ksvg2/svg/SVGStyledElement.cpp:
433         (WebCore::SVGStyledElement::createRenderer):
434         * ksvg2/svg/SVGStyledElement.h:
435         (WebCore::SVGStyledElement::toPathData):
436         * ksvg2/svg/SVGTextContentElement.cpp:
437         * ksvg2/svg/SVGTextElement.cpp:
438         * platform/Path.h:
439         (WebCore::):
440         (WebCore::Path::setWindingRule):
441         (WebCore::Path::windingRule):
442         * platform/cg/PathCG.cpp:
443         (WebCore::Path::contains):
444         (WebCore::Path::isEmpty):
445         (WebCore::CGPathToCFStringApplierFunction):
446         (WebCore::CFStringFromCGPath):
447         (WebCore::Path::debugString):
448         * platform/qt/FrameQt.cpp:
449         (WebCore::FrameQt::openURL):
450         * platform/qt/PathQt.cpp:
451         (WebCore::Path::contains):
452         (WebCore::Path::isEmpty):
453         (WebCore::Path::debugString):
454
455 2006-08-26  Eric Seidel  <eric@eseidel.com>
456
457         Reviewed by hyatt.
458
459         pointer-events attribute does not work.
460         http://bugzilla.opendarwin.org/show_bug.cgi?id=10415
461
462         * kcanvas/RenderPath.cpp:
463         (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
464         (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
465         * kcanvas/RenderPath.h:
466         (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
467         * ksvg2/css/SVGCSSParser.cpp:
468         (WebCore::CSSParser::parseSVGValue):
469         * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
470         (WebCore::SVGPaint::SVGPaint):
471         (WebCore::SVGPaint::paintType):
472         (WebCore::SVGPaint::uri):
473         (WebCore::SVGPaint::setUri):
474         (WebCore::SVGPaint::setPaint):
475         * ksvg2/svg/SVGPaint.h:
476
477 2006-08-27  Rob Buis  <buis@kde.org>
478
479         Reviewed by Eric.
480
481         http://bugzilla.opendarwin.org/show_bug.cgi?id=10558
482         SVG should have support for <metadata> element
483
484         Add support for metadata tag.
485
486         * DerivedSources.make:
487         * WebCore.xcodeproj/project.pbxproj:
488         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
489         * ksvg2/svg/SVGMetadataElement.cpp: Added.
490         (SVGMetadataElement::SVGMetadataElement):
491         (SVGMetadataElement::~SVGMetadataElement):
492         * ksvg2/svg/SVGMetadataElement.h: Added.
493         * ksvg2/svg/SVGMetadataElement.idl: Added.
494         * ksvg2/svg/svgtags.in:
495
496 2006-08-26  Nikolas Zimmermann  <zimmermann@kde.org>
497
498         Reviewed by Eric.
499
500         Daily Qt build fixes :-)
501
502         * platform/qt/GraphicsContextQt.cpp:
503         (WebCore::GraphicsContext::drawConvexPolygon):
504         * platform/qt/ImageQt.cpp:
505         (WebCore::Image::initPlatformData):
506         (WebCore::Image::invalidatePlatformData):
507         (WebCore::Image::loadPlatformResource):
508
509 2006-08-26  David Hyatt  <hyatt@apple.com>
510
511         Fix the ifdef in Path.h to be CG.
512
513         * platform/Path.h:
514
515 2006-08-26  David Hyatt  <hyatt@apple.com>
516
517         Fix Mac build bustage (lots of float/int confusion).  I am not sure
518         whether rounding was desired or not... this is just a band-aid to get
519         the build working again.
520
521         * rendering/RenderThemeMac.mm:
522         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
523         (WebCore::RenderThemeMac::paintMenuListButton):
524         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
525
526 2006-08-25  David Hyatt  <hyatt@apple.com>
527
528         More refactoring of image to disentangle graphics (e.g., Cairo) from
529         platform (e.g., Windows).
530
531         * WebCore.vcproj/WebCore/WebCore.vcproj:
532         Add ImageWin to project.
533
534         * loader/Cache.cpp:
535         (WebCore::Cache::init):
536         * loader/icon/IconDataCache.cpp:
537         (WebCore::IconDataCache::loadImageFromResource):
538         Renamed loadResource to loadPlatformResource to try to make it more clear
539         that this call is implemented on each OS (and not by graphics libraries).
540
541         * platform/Image.cpp:
542         (WebCore::Image::Image):
543         (WebCore::Image::~Image):
544         (WebCore::Image::invalidateData):
545         (WebCore::Image::size):
546         (WebCore::Image::setData):
547         (WebCore::Image::setNativeData):
548         Fix up the PDF code to not be considered platform data any more, since
549         PDF rendering is not for a specific OS.
550
551         Renamed the methods that set OS-specific data (like NSImage) to PlatformData
552         instead of NativeData.
553
554         * platform/Image.h:
555         Shifted the PDF members into CG defines.  Made CGImageRef a CG define.
556         Renamed methods to reflect that they are OS-specific and not
557         graphics-library-specific.
558        
559         * platform/cairo/ImageCairo.cpp:
560         Removed the platform data methods.  Other platforms besides Windows that
561         use Cairo will need to account for this change by adding these methods
562         to their OS Image***.cpp file.
563
564         * platform/cg/ImageCG.cpp:
565         (WebCore::Image::drawTiled):
566         Add FIXMEs to the wkpattern stuff.
567
568         * platform/cg/PDFDocumentImage.cpp:
569         Shouldn't have #imports in .cpp.
570
571         * platform/mac/ImageMac.mm:
572         (WebCore::Image::initPlatformData):
573         (WebCore::Image::invalidatePlatformData):
574         (WebCore::Image::loadPlatformResource):
575         (WebCore::Image::getTIFFRepresentation):
576         Add the platform data initializers to the Mac Image file.   Move the
577         TIFF representation there as well, since this is only used by Mac code.
578
579         * platform/win/ImageWin.cpp: Added.
580         (WebCore::Image::initPlatformData):
581         (WebCore::Image::invalidatePlatformData):
582         (WebCore::Image::loadPlatformResource):
583         (WebCore::Image::supportsType):
584         Similar work for Windows.  Add stubs for possible future HBITMAP returns
585         in the platform data methods.
586
587         * rendering/RenderLayer.cpp:
588         (WebCore::RenderLayer::paintResizeControl):
589         * rendering/RenderThemeMac.mm:
590         (WebCore::RenderThemeMac::paintResizeControl):
591         loadResource -> loadPlatformResource
592
593 2006-08-26  Adam Roben  <aroben@apple.com>
594
595         Rubber-stamped by Adele.
596
597         Fixed build.
598
599         * platform/cairo/GraphicsContextCairo.cpp:
600         (WebCore::GraphicsContext::drawConvexPolygon):
601
602 2006-08-25  Adele Peterson  <adele@apple.com>
603
604         Patch by Francisco, Reviewed by me.
605
606         Preparation for switch to new text field implementation of password field.
607
608         Added -webkit-text-security property.
609
610         Tests: updated fast/css/computed-style-expected.txt
611
612         * css/CSSPropertyNames.in: Added -webkit-text-security.
613         * css/CSSComputedStyleDeclaration.cpp:
614         (WebCore::):
615         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
616         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
617         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
618         * css/html4.css: Added style for password field to use -webkit-text-security.
619
620         * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
621         (WebCore::HTMLInputElement::selectionStart):
622         (WebCore::HTMLInputElement::selectionEnd):
623         (WebCore::HTMLInputElement::setSelectionStart):
624         (WebCore::HTMLInputElement::setSelectionEnd):
625         (WebCore::HTMLInputElement::select):
626         (WebCore::HTMLInputElement::setSelectionRange):
627         (WebCore::HTMLInputElement::createRenderer):
628         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.
629
630         * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace 
631          characters with one character, like a bullet.
632         * platform/StringImpl.h:
633
634         * rendering/RenderStyle.cpp:
635         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
636         (WebCore::RenderStyle::diff): Added case for textSecurity.
637         * rendering/RenderStyle.h:
638         (WebCore::):
639         (WebCore::RenderStyle::textSecurity): Added.
640         (WebCore::RenderStyle::setTextSecurity): Added.
641         (WebCore::RenderStyle::initialTextSecurity): Added.
642         * rendering/RenderText.cpp:
643         (WebCore::RenderText::setStyle): Added case for textSecurity.
644         (WebCore::RenderText::setText): ditto.
645
646 2006-08-25  Adele Peterson  <adele@apple.com>
647
648         Reviewed by Hyatt.
649
650         Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
651
652         Tests:   fast/forms/select-baseline.html
653                  fast/borders/borderRadiusInvalidColor.html
654         updated: fast/forms/select-style-expected.txt and more...
655
656         * css/html4.css: Added style rules for styled select elements.
657
658         * platform/GraphicsContext.h: Added argument for antialiasing.
659         * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
660         * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
661
662         * rendering/RenderObject.cpp:
663         (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
664         (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code 
665          (any callers that set this to true were already ensuring that their color was valid).
666          Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
667         (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
668         (WebCore::RenderObject::paintOutline): ditto.
669         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
670         * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
671
672         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
673           Added case for when there's no children to check for hasLineIfEmpty.
674         * rendering/RenderBlock.h:
675         * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
676         * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
677         * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
678         * rendering/RenderFlexibleBox.cpp:
679         (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
680         (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
681
682         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
683         * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
684          immediately after painting the background.
685
686         * rendering/RenderTheme.cpp:
687         (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
688         For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
689         to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
690         (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, 
691          so the arrow control will draw at the right time (after the background).
692         (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
693         (WebCore::RenderTheme::paintBorderOnly): ditto.
694         (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
695         (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
696         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
697
698         * rendering/RenderThemeMac.h:
699         * rendering/RenderThemeMac.mm:
700         (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
701         (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
702         (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
703         (WebCore::TopGradientInterpolate): Added.
704         (WebCore::BottomGradientInterpolate): Added.
705         (WebCore::MainGradientInterpolate): Added.
706         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added.  Draws gradients for styled popup menu button appearance.
707         (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
708         (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
709
710 2006-08-25  Brady Eidson  <beidson@apple.com>
711
712         Reviewed by Adam
713
714         Changed some time()-related code to be more platform independent
715
716         * loader/icon/IconDatabase.cpp:
717         (WebCore::IconDatabase::isIconExpiredForIconURL):
718         (WebCore::IconDatabase::getOrCreateIconDataCache):
719         (WebCore::IconDatabase::setIconDataForIconURL):
720
721 2006-08-25  David Harrison  <harrison@apple.com>
722
723         Reviewed by Geoff.
724
725         <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
726
727         * bridge/mac/WebCoreAXObject.mm:
728         (labelForElement):
729         New. Returns the HTMLLabelElement, if any, for the specified Element.
730         
731         (-[WebCoreAXObject title]):
732         For input elements, return the innerHTML() of the labelForElement().
733
734 2006-08-25  Brady Eidson  <beidson@apple.com>
735
736         Reviewed by Tim Hatcher
737
738         Changed some debugging-only code to be more platform independent
739
740         * WebCore.xcodeproj/project.pbxproj:
741         * loader/icon/IconDatabase.cpp:
742         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
743         (WebCore::IconDatabase::syncDatabase):
744
745 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
746
747         Reviewed/landed by Adam.
748
749         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10561
750         Qt platform build fixes.
751
752         * platform/qt/FrameQt.h:
753         * platform/qt/ScreenQt.cpp:
754         (WebCore::qwidgetForPage):
755         (WebCore::screenRect):
756         (WebCore::screenDepth):
757         (WebCore::usableScreenRect):
758         * platform/qt/TemporaryLinkStubs.cpp:
759         (WebCore::screenDepthPerComponent):
760         (WebCore::screenIsMonochrome):
761         * platform/qt/WidgetQt.cpp:
762
763 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
764
765         Reviewed/landed by Adam.
766
767         Finally fix font caching. WebKit+Qt now works
768         out of the box without any further patches :-)
769
770         * platform/qt/FontDataQt.cpp:
771         (WebCore::FontData::platformDestroy):
772         * platform/qt/FontPlatformData.h:
773         * platform/qt/FontPlatformDataQt.cpp:
774         (WebCore::FontPlatformData::FontPlatformData):
775         (WebCore::FontPlatformData::isFixedPitch):
776         (WebCore::FontPlatformData::font):
777         (WebCore::FontPlatformData::fontPtr):
778         (WebCore::FontPlatformData::hash):
779         (WebCore::FontPlatformData::operator==):
780
781 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
782
783         Reviewed/landed by Adam.
784
785         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10559
786         Confirm to WebKit style guide - last fixes :-)
787
788         * platform/ResourceLoaderClient.h:
789         * platform/qt/ComboBoxQt.cpp:
790         * platform/qt/FrameQt.cpp:
791         (WebCore::doScroll):
792         (WebCore::FrameQt::FrameQt):
793         (WebCore::FrameQt::openURL):
794         (WebCore::FrameQt::submitForm):
795         (WebCore::FrameQt::setTitle):
796         (WebCore::FrameQt::passSubframeEventToSubframe):
797         (WebCore::FrameQt::registerCommandForUndo):
798         (WebCore::FrameQt::registerCommandForRedo):
799         (WebCore::FrameQt::keyEvent):
800         (WebCore::FrameQt::setFrameGeometry):
801         * platform/qt/GlyphMapQt.cpp:
802         (WebCore::GlyphMap::fillPage):
803         * platform/qt/GraphicsContextQt.cpp:
804         (WebCore::toQtCompositionMode):
805         (WebCore::toQtLineCap):
806         (WebCore::toQtLineJoin):
807         (WebCore::TextShadow::TextShadow):
808         (WebCore::GraphicsContextPlatformPrivate::p):
809         * platform/qt/ImageQt.cpp:
810         (WebCore::FrameData::clear):
811         (WebCore::Image::supportsType):
812         * platform/qt/IntSizeQt.cpp:
813         * platform/qt/LineEditQt.cpp:
814         * platform/qt/ListBoxQt.cpp:
815         * platform/qt/PageQt.cpp:
816         (WebCore::Page::windowRect):
817         * platform/qt/PathQt.cpp:
818         (WebCore::Path::~Path):
819         * platform/qt/ResourceLoaderCurl.cpp:
820         (WebCore::ResourceLoader::assembleResponseHeaders):
821         (WebCore::ResourceLoader::retrieveCharset):
822         (WebCore::ResourceLoader::receivedResponse):
823         * platform/qt/ResourceLoaderManager.cpp:
824         (WebCore::headerCallback):
825         (WebCore::ResourceLoaderManager::downloadTimerCallback):
826         (WebCore::ResourceLoaderManager::add):
827         * platform/qt/ScreenQt.cpp:
828         (WebCore::screenRect):
829         (WebCore::usableScreenRect):
830         * platform/qt/ScrollViewQt.cpp:
831         (WebCore::ScrollView::ScrollView):
832         (WebCore::ScrollView::~ScrollView):
833         (WebCore::ScrollView::setParentWidget):
834         (WebCore::ScrollView::addChild):
835         * platform/qt/SharedTimerQt.cpp:
836         (WebCore::setSharedTimerFiredFunction):
837         * platform/qt/SharedTimerQt.h:
838         (WebCore::SharedTimerQt::SharedTimerQt):
839         (WebCore::SharedTimerQt::fire):
840         * platform/qt/SystemTimeQt.cpp:
841         (WebCore::currentTime):
842         * platform/qt/TextEditQt.cpp:
843         (WebCore::PlatformTextEdit::setParentWidget):
844         (WebCore::PlatformTextEdit::text):
845         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
846
847 2006-08-24  David Harrison  <harrison@apple.com>
848
849         Reviewed by Justin.
850
851         Follow up for...
852         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
853
854         Fix bug I introduced in r15959.
855         
856         * bridge/mac/WebCoreAXObject.mm:
857         (-[WebCoreAXObject accessibilityAttributeValue:]):
858         Use topDocument in case we are in a subframe (we want the start/end of the overall page).
859
860 2006-08-24  Brady Eidson  <beidson@apple.com>
861
862         Reviewed by Alice
863
864         Fixed my previous checkin, which was pruning the users entire icon db on startup everytime
865
866         * loader/icon/IconDatabase.cpp:
867         (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings
868           are indexed to 1, not 0
869
870 2006-08-24  Geoffrey Garen  <ggaren@apple.com>
871
872         Reviewed by Darin.
873
874         Frame refactoring: changed FrameView clients so they no longer assume that
875         FrameViews are Widgets that can tell you things about the platform, in 
876         preparation for divorcing FrameViews from heavy-weight Widgets altogether.
877
878         This patch makes Page, rather than Widget, responsible for answering
879         questions about the screen (scale factor, color depth, etc.). Refactoring 
880         aside, I think this makes more sense, since (a) the screen has nothing to do 
881         with any particular widget and (b) Page was already half-responsible for
882         answering those questions, anyway.
883
884         Plus some random Windows build fix goodness.
885
886         Layout tests still pass.
887
888 2006-08-24  Timothy Hatcher  <timothy@apple.com>
889
890         Reviewed by Hyatt.
891
892         Allow changing the background color WebCore draws under transparent page backgrounds.
893         No automated way to test. All tests pass, no performance regression.
894
895         * bridge/mac/WebCoreFrameBridge.h:
896         * bridge/mac/WebCoreFrameBridge.mm:
897         (-[WebCoreFrameBridge setBaseBackgroundColor:]):
898         * page/FrameView.cpp:
899         (WebCore::FrameViewPrivate::FrameViewPrivate):
900         (WebCore::FrameView::baseBackgroundColor):
901         (WebCore::FrameView::setBaseBackgroundColor):
902         * page/FrameView.h:
903         * rendering/RenderBox.cpp:
904         (WebCore::RenderBox::paintBackgroundExtended):
905         * rendering/RenderView.cpp:
906         (WebCore::RenderView::paintBoxDecorations):
907
908 2006-08-24  Darin Adler  <darin@apple.com>
909
910         Reviewed by Justin.
911
912         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10169
913           REGRESSION: NativeTextArea: Text dragged from <input type=text> to textarea disappears
914         - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead
915         - other editing-related cleanup
916
917         Test: fast/forms/drag-into-textarea.html
918
919         * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr<EditCommand> instead.
920         * bridge/win/FrameWin.h: Ditto.
921         * bridge/mac/FrameMac.mm:
922         (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto.
923         (WebCore::FrameMac::registerCommandForUndo): Ditto.
924         (WebCore::FrameMac::registerCommandForRedo): Ditto.
925
926         * bridge/mac/WebCoreFrameBridge.mm:
927         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
928         Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter.
929         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto.
930         (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto.
931
932         * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child
933         parameter to be a PassRefPtr. Reversed order of child and parent parameters.
934         * editing/AppendNodeCommand.cpp:
935         (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
936         (WebCore::AppendNodeCommand::doApply): Ditto.
937         (WebCore::AppendNodeCommand::doUnapply): Ditto.
938
939         * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
940         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.
941
942         * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h.
943         * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here.
944         (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly
945         since setEndingSelection is no longer overloaded for Position.
946
947         * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from
948         a DeprecatedValueList<EditCommandPtr> to a Vector<RefPtr<EditCommand>> and renamed it
949         m_commands and made both doUnapply and doReapply private.
950         * editing/CompositeEditCommand.cpp:
951         (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands.
952         (WebCore::CompositeEditCommand::doReapply): Ditto.
953         (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up
954         starting and ending selection -- now done inside setParent. Rewrote to use m_commands.
955         (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr.
956         (WebCore::CompositeEditCommand::applyStyledElement): Ditto.
957         (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
958         (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto.
959         (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
960         (WebCore::CompositeEditCommand::appendNode): Ditto.
961         (WebCore::CompositeEditCommand::removeNode): Ditto.
962         (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
963         (WebCore::CompositeEditCommand::splitTextNode): Ditto.
964         (WebCore::CompositeEditCommand::splitElement): Ditto.
965         (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
966         (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
967         (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
968         (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
969         (WebCore::CompositeEditCommand::inputText): Ditto.
970         (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
971         (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
972         (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
973         (WebCore::CompositeEditCommand::deleteSelection): Ditto.
974         (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
975         (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code
976         would not remove an empty attribute -- will not come up in practice, but wrong in theory.
977         (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr.
978         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
979         (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop.
980         (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr.
981         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a
982         Selection explicitly since setEndingSelection is no longer overloaded for Position.
983         (WebCore::createBlockPlaceholderElement): Collapsed this code so that the
984         block placeholder class string is no longer spread across multiple functions.
985         Perhaps we can get rid of this altogether at some point.
986
987         * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor.
988         Also removed unneeded destructor.
989         * editing/DeleteFromTextNodeCommand.cpp:
990         (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto.
991
992         * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
993         * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
994
995         * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(),
996         and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected
997         and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected.
998         Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(),
999         endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which
1000         are needed so we can determine which editable elements an editing operation affects. Changed setParent()
1001         and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added
1002         applyCommand() function that's convenient to use on a newly-created command.
1003         * editing/EditCommand.cpp:
1004         (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting
1005         and ending root editable elements.
1006         (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed
1007         code to assert and set m_start. Eliminated use of EditCommandPtr.
1008         (WebCore::EditCommand::unapply): Ditto.
1009         (WebCore::EditCommand::reapply): Ditto.
1010         (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this
1011         not change the starting selection of the parent unless this is the first command in the parent -- didn't
1012         make sense the way it was.
1013         (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too.
1014         (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child
1015         based on the ending selection of the parent, formerly done by callers.
1016         (WebCore::applyCommand): Added.
1017
1018         * editing/FormatBlockCommand.h: Tweaked formatting.
1019         * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto.
1020         * editing/InsertLineBreakCommand.h: Ditto.
1021         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
1022
1023         * editing/IndentOutdentCommand.cpp:
1024         (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr.
1025         (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum.
1026         (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr.
1027
1028         * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
1029         * editing/InsertIntoTextNodeCommand.cpp:
1030         (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.
1031
1032         * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off
1033         the constants.
1034         * editing/InsertListCommand.cpp:
1035         (WebCore::InsertListCommand::InsertListCommand): Ditto.
1036         (WebCore::InsertListCommand::doApply): Ditto.
1037
1038         * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor
1039         and changed the parameter of the node to insert to a PassRefPtr.
1040         * editing/InsertNodeBeforeCommand.cpp:
1041         (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto.
1042
1043         * editing/InsertParagraphSeparatorCommand.cpp:
1044         (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.
1045
1046         * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
1047         * editing/InsertTextCommand.cpp:
1048         (WebCore::InsertTextCommand::input): Ditto.
1049         (WebCore::InsertTextCommand::insertTab): Ditto.
1050
1051         * editing/JSEditor.h: Tweaked formatting and names.
1052         * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.
1053
1054         * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer
1055         * editing/JoinTextNodesCommand.cpp:
1056         (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto.
1057         * editing/MergeIdenticalElementsCommand.h: Ditto.
1058         * editing/MergeIdenticalElementsCommand.cpp:
1059         (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto.
1060
1061         * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of
1062         IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr<Node>.
1063         * editing/ModifySelectionListLevel.cpp:
1064         (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers.
1065         (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
1066         Changed to use Type instead of EListType.
1067         (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers.
1068         (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel.
1069         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto.
1070         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
1071         Changed to not use EditCommandPtr.
1072         (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers.
1073         (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel.
1074         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto.
1075         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use
1076         EditCommandPtr.
1077
1078         * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment
1079         parameter to be a PassRefPtr.
1080         * editing/MoveSelectionCommand.cpp:
1081         (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto.
1082         (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr.
1083
1084         * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter.
1085         * editing/RebalanceWhitespaceCommand.cpp:
1086         (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto.
1087         (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr.
1088
1089         * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.
1090
1091         * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
1092         * editing/RemoveNodeAttributeCommand.cpp:
1093         (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.
1094
1095         * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
1096         * editing/RemoveNodeCommand.cpp:
1097         (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.
1098
1099         * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
1100         * editing/RemoveNodePreservingChildrenCommand.cpp:
1101         (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.
1102
1103         * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr.
1104         * editing/ReplaceSelectionCommand.cpp:
1105         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
1106         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto.
1107         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1108         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
1109
1110         * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than
1111         a macro. Added constructors that take visible positions. Changed setBase and
1112         setExtent to take const Position& for better efficiency.
1113         * editing/Selection.cpp:
1114         (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state
1115         and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors.
1116
1117         * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
1118         * editing/SetNodeAttributeCommand.cpp:
1119         (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.
1120
1121         * editing/SplitElementCommand.h: Removed unnneeded document parameter.
1122         * editing/SplitElementCommand.cpp:
1123         (WebCore::SplitElementCommand::SplitElementCommand): Ditto.
1124
1125         * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
1126         * editing/SplitTextNodeCommand.cpp:
1127         (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.
1128
1129         * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
1130         * editing/SplitTextNodeContainingElementCommand.cpp:
1131         (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.
1132
1133         * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*.
1134         Renamed openForMoveTyping() with isOpenForMoreTyping().
1135         * editing/TypingCommand.cpp:
1136         (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr.
1137         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
1138         (WebCore::TypingCommand::insertText): Ditto.
1139         (WebCore::TypingCommand::insertLineBreak): Ditto.
1140         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto.
1141         (WebCore::TypingCommand::insertParagraphSeparator): Ditto.
1142         (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto.
1143         (WebCore::TypingCommand::closeTyping): Ditto.
1144         (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto.
1145         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto.
1146
1147         * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
1148         * editing/WrapContentsInDummySpanCommand.cpp:
1149         (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.
1150
1151         * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
1152         unsigned short.
1153
1154         * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed
1155         appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(),
1156         and registerCommandForRedo() to take PassRefPtr<EditCommand>.
1157         * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr<EditCommand>.
1158         * page/Frame.cpp:
1159         (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand.
1160         (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function
1161         from Selection to simplify the code.
1162         (WebCore::Frame::selectAll): Ditto.
1163         (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand.
1164         (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to
1165         both of the root editable elements involved in a change -- the start selection
1166         might be in a different element than the end selection.
1167         (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents,
1168         and to do it before setting the ending selection. Also update to use PassRefPtr instead
1169         of EditCommandPtr and change the order of setting m_lastEditCommand since passing it
1170         to registerCommandForUndo will take ownership and set it to 0.
1171         (WebCore::Frame::unappliedEditing): Ditto.
1172         (WebCore::Frame::reappliedEditing): Ditto.
1173         (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr.
1174         (WebCore::Frame::applyStyle): Ditto.
1175         (WebCore::Frame::applyParagraphStyle): Ditto.
1176
1177         * platform/gdk/FrameGdk.h: Updated for above changes.
1178         * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes.
1179         * platform/win/TemporaryLinkStubs.cpp: Updated for above changes.
1180
1181 2006-08-24  Brady Eidson  <beidson@apple.com>
1182
1183         Reviewed by Alice
1184
1185         <rdar://problem/4697973> - Unacceptable delay on startup
1186         <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup
1187
1188         This patch was started by me and finished by Mark Rowe - we now special case all retains during
1189         startup into one huge sql transaction.  Also we track PageURL retains instead of IconURLs so pruning works right.
1190         Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile.  Testing with a huge set of 
1191         bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also 
1192         has a noticeable delay.
1193
1194         * loader/icon/IconDatabase.cpp:
1195         (WebCore::IconDatabase::IconDatabase):
1196         (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement
1197         (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff
1198         (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table
1199         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
1200         (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup
1201         (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup
1202         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly
1203         (WebCore::IconDatabase::syncDatabase): Change the timing log message
1204         * loader/icon/IconDatabase.h:
1205         * loader/icon/SQLStatement.cpp:
1206         (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters.
1207         * loader/icon/SQLStatement.h:
1208
1209 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
1210
1211         Reviewed/landed by Adam.
1212
1213         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1214         WebKit should have Qt platform support
1215
1216         * CMakeLists.txt:
1217             Remove KCanvasMatrix.cpp because it no longer exists
1218             Remove platform/qt/test
1219         * platform/FloatSize.h:
1220         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1221         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1222         * platform/image-decoders/gif/GIFImageReader.cpp:
1223         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1224         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1225         * platform/image-decoders/png/PNGImageDecoder.cpp:
1226         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
1227             Added PLATFORM(QT) hooks in the image-decoders/, as they also need
1228             to work for Qt, not only for Cairo.
1229         * platform/qt/qt-encodings.txt: Added (required for build).
1230
1231 2006-08-24  Adam Roben  <aroben@apple.com>
1232
1233         Fixing a typo from last patch.
1234
1235         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
1236         (WebCore::KRenderingPaintServerQt::setPenProperties):
1237
1238 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
1239
1240         Reviewed/landed by Adam.
1241
1242         Final cleanup to conform to WebKit coding style!
1243
1244         * kcanvas/device/qt/KCanvasClipperQt.cpp:
1245         (WebCore::KCanvasClipperQt::applyClip):
1246         * kcanvas/device/qt/KCanvasClipperQt.h:
1247         * kcanvas/device/qt/KCanvasPathQt.cpp:
1248         * kcanvas/device/qt/KCanvasPathQt.h:
1249         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1250         * kcanvas/device/qt/KRenderingDeviceQt.h:
1251         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
1252         (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt):
1253         (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt):
1254         * kcanvas/device/qt/KRenderingPaintServerGradientQt.h:
1255         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
1256         (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt):
1257         * kcanvas/device/qt/KRenderingPaintServerPatternQt.h:
1258         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
1259         (WebCore::KRenderingPaintServerQt::setPenProperties):
1260         * kcanvas/device/qt/KRenderingPaintServerQt.h:
1261         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
1262         (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt):
1263         (WebCore::KRenderingPaintServerSolidQt::renderPath):
1264         * kcanvas/device/qt/KRenderingPaintServerSolidQt.h:
1265         * kcanvas/device/qt/RenderPathQt.cpp:
1266         * kcanvas/device/qt/RenderPathQt.h:
1267         * platform/qt/AffineTransformQt.cpp:
1268         * platform/qt/BrowserExtensionQt.cpp:
1269         * platform/qt/BrowserExtensionQt.h:
1270         * platform/qt/ColorQt.cpp:
1271         (WebCore::Color::Color):
1272         * platform/qt/ComboBoxQt.cpp:
1273         (WebCore::PlatformComboBox::PlatformComboBox):
1274         (WebCore::PlatformComboBox::~PlatformComboBox):
1275         (WebCore::PlatformComboBox::setParentWidget):
1276         (WebCore::PlatformComboBox::appendGroupLabel):
1277         * platform/qt/CookieJarQt.cpp:
1278         * platform/qt/CursorQt.cpp:
1279         (WebCore::Cursors::Cursors::self):
1280         * platform/qt/FloatPointQt.cpp:
1281         * platform/qt/FloatRectQt.cpp:
1282         * platform/qt/FontCacheQt.cpp:
1283         (WebCore::FontCache::getSimilarFontPlatformData):
1284         (WebCore::FontCache::createFontPlatformData):
1285         * platform/qt/FontDataQt.cpp:
1286         * platform/qt/FontPlatformData.h:
1287         * platform/qt/FontPlatformDataQt.cpp:
1288         * platform/qt/FontQt.cpp:
1289         (WebCore::Font::operator QFont):
1290         (WebCore::Font::drawComplexText):
1291         (WebCore::Font::floatWidthForComplexText):
1292         * platform/qt/FrameQt.cpp:
1293         (WebCore::FrameQt::openURL):
1294         (WebCore::FrameQt::submitForm):
1295         (WebCore::FrameQt::urlSelected):
1296         (WebCore::FrameQt::keyEvent):
1297         * platform/qt/FrameQt.h:
1298         * platform/qt/GlyphMapQt.cpp:
1299         * platform/qt/GraphicsContextQt.cpp:
1300         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1301         (WebCore::GraphicsContext::GraphicsContext):
1302         (WebCore::GraphicsContext::drawConvexPolygon):
1303         (WebCore::GraphicsContext::setFocusRingClip):
1304         (WebCore::GraphicsContext::clip):
1305         * platform/qt/ImageQt.cpp:
1306         (WebCore::Image::draw):
1307         (WebCore::Image::drawTiled):
1308         * platform/qt/ImageSourceQt.cpp:
1309         * platform/qt/IntPointQt.cpp:
1310         * platform/qt/IntRectQt.cpp:
1311         * platform/qt/IntSizeQt.cpp:
1312         * platform/qt/LineEditQt.cpp:
1313         (WebCore::PlatformLineEdit::PlatformLineEdit):
1314         (WebCore::PlatformLineEdit::~PlatformLineEdit):
1315         (WebCore::PlatformLineEdit::setParentWidget):
1316         (WebCore::PlatformLineEdit::addSearchResult):
1317         * platform/qt/ListBoxQt.cpp:
1318         (WebCore::ListBox::ListBox):
1319         (WebCore::ListBox::~ListBox):
1320         (WebCore::ListBox::setParentWidget):
1321         * platform/qt/PageQt.cpp:
1322         (WebCore::Page::windowRect):
1323         (WebCore::Page::setWindowRect):
1324         * platform/qt/PathQt.cpp:
1325         (WebCore::Path::addArc):
1326         * platform/qt/PlatformKeyboardEventQt.cpp:
1327         (WebCore::windowsKeyCodeForKeyEvent):
1328         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1329         * platform/qt/PlatformMouseEventQt.cpp:
1330         * platform/qt/RenderThemeQt.cpp:
1331         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
1332         (WebCore::RenderThemeQt::applyTheme):
1333         (WebCore::RenderThemeQt::paintButton):
1334         (WebCore::RenderThemeQt::paintTextField):
1335         * platform/qt/ResourceLoaderCurl.cpp:
1336         (WebCore::ResourceLoader::assembleResponseHeaders):
1337         (WebCore::ResourceLoader::retrieveCharset):
1338         (WebCore::ResourceLoader::receivedResponse):
1339         * platform/qt/ResourceLoaderManager.cpp:
1340         (WebCore::ResourceLoaderManager::add):
1341         * platform/qt/ResourceLoaderManager.h:
1342         * platform/qt/ScreenQt.cpp:
1343         * platform/qt/ScrollViewCanvasQt.cpp:
1344         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
1345         * platform/qt/ScrollViewCanvasQt.h:
1346         * platform/qt/ScrollViewQt.cpp:
1347         * platform/qt/SharedTimerQt.cpp:
1348         * platform/qt/SharedTimerQt.h:
1349         (WebCore::SharedTimerQt::inst):
1350         * platform/qt/StringQt.cpp:
1351         * platform/qt/SystemTimeQt.cpp:
1352         * platform/qt/TemporaryLinkStubs.cpp:
1353         * platform/qt/TextEditQt.cpp:
1354         (WebCore::PlatformTextEdit::PlatformTextEdit):
1355         (WebCore::PlatformTextEdit::~PlatformTextEdit):
1356         (WebCore::PlatformTextEdit::setParentWidget):
1357         * platform/qt/WidgetQt.cpp:
1358         (WebCore::Widget::setQWidget):
1359
1360 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
1361
1362         Reviewed and landed by Anders.
1363
1364         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1365         WebKit should have Qt platform support
1366
1367         * CMakeLists.txt:
1368         * platform/qt/FrameQt.cpp: Added.
1369         (WebCore::doScroll):
1370         (WebCore::FrameView::isFrameView):
1371         (WebCore::FrameQt::FrameQt):
1372         (WebCore::FrameQt::init):
1373         (WebCore::FrameQt::~FrameQt):
1374         (WebCore::FrameQt::openURL):
1375         (WebCore::FrameQt::submitForm):
1376         (WebCore::FrameQt::urlSelected):
1377         (WebCore::FrameQt::userAgent):
1378         (WebCore::FrameQt::runJavaScriptAlert):
1379         (WebCore::FrameQt::runJavaScriptConfirm):
1380         (WebCore::FrameQt::locationbarVisible):
1381         (WebCore::FrameQt::setTitle):
1382         (WebCore::FrameQt::createFrame):
1383         (WebCore::FrameQt::passWheelEventToChildWidget):
1384         (WebCore::FrameQt::passSubframeEventToSubframe):
1385         (WebCore::FrameQt::objectContentType):
1386         (WebCore::FrameQt::createPlugin):
1387         (WebCore::FrameQt::passMouseDownEventToWidget):
1388         (WebCore::FrameQt::menubarVisible):
1389         (WebCore::FrameQt::personalbarVisible):
1390         (WebCore::FrameQt::statusbarVisible):
1391         (WebCore::FrameQt::toolbarVisible):
1392         (WebCore::FrameQt::createEmptyDocument):
1393         (WebCore::FrameQt::markedTextRange):
1394         (WebCore::FrameQt::incomingReferrer):
1395         (WebCore::FrameQt::mimeTypeForFileName):
1396         (WebCore::FrameQt::markMisspellingsInAdjacentWords):
1397         (WebCore::FrameQt::markMisspellings):
1398         (WebCore::FrameQt::lastEventIsMouseUp):
1399         (WebCore::FrameQt::saveDocumentState):
1400         (WebCore::FrameQt::restoreDocumentState):
1401         (WebCore::FrameQt::openURLRequest):
1402         (WebCore::FrameQt::scheduleClose):
1403         (WebCore::FrameQt::unfocusWindow):
1404         (WebCore::FrameQt::focusWindow):
1405         (WebCore::FrameQt::overrideMediaType):
1406         (WebCore::FrameQt::addMessageToConsole):
1407         (WebCore::FrameQt::runJavaScriptPrompt):
1408         (WebCore::FrameQt::getEmbedInstanceForWidget):
1409         (WebCore::FrameQt::getObjectInstanceForWidget):
1410         (WebCore::FrameQt::getAppletInstanceForWidget):
1411         (WebCore::FrameQt::registerCommandForUndo):
1412         (WebCore::FrameQt::registerCommandForRedo):
1413         (WebCore::FrameQt::clearUndoRedoOperations):
1414         (WebCore::FrameQt::issueUndoCommand):
1415         (WebCore::FrameQt::issueRedoCommand):
1416         (WebCore::FrameQt::issueCutCommand):
1417         (WebCore::FrameQt::issueCopyCommand):
1418         (WebCore::FrameQt::issuePasteCommand):
1419         (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
1420         (WebCore::FrameQt::issueTransposeCommand):
1421         (WebCore::FrameQt::respondToChangedSelection):
1422         (WebCore::FrameQt::respondToChangedContents):
1423         (WebCore::FrameQt::shouldChangeSelection):
1424         (WebCore::FrameQt::partClearedInBegin):
1425         (WebCore::FrameQt::canGoBackOrForward):
1426         (WebCore::FrameQt::handledOnloadEvents):
1427         (WebCore::FrameQt::canPaste):
1428         (WebCore::FrameQt::canRedo):
1429         (WebCore::FrameQt::canUndo):
1430         (WebCore::FrameQt::print):
1431         (WebCore::FrameQt::shouldInterruptJavaScript):
1432         (WebCore::FrameQt::keyEvent):
1433         (WebCore::FrameQt::receivedResponse):
1434         (WebCore::FrameQt::receivedData):
1435         (WebCore::FrameQt::receivedAllData):
1436         (WebCore::FrameQt::setFrameGeometry):
1437         * platform/qt/FrameQt.h: Added.
1438         * platform/qt/ScrollViewCanvasQt.cpp: Added.
1439         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
1440         (WebCore::ScrollViewCanvasQt::paintEvent):
1441         (WebCore::ScrollViewCanvasQt::sizeHint):
1442         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
1443         (WebCore::ScrollViewCanvasQt::mousePressEvent):
1444         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
1445         (WebCore::ScrollViewCanvasQt::keyPressEvent):
1446         (WebCore::ScrollViewCanvasQt::keyReleaseEvent):
1447         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
1448         * platform/qt/ScrollViewCanvasQt.h: Added.
1449         * platform/qt/ScrollViewQt.cpp:
1450         (WebCore::ScrollView::setParentWidget):
1451
1452 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
1453
1454         Reviewed by ap.
1455
1456         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1457         WebKit should have Qt platform support
1458
1459         * platform/qt/FontCacheQt.cpp: Added.
1460         (WebCore::FontCache::platformInit):
1461         (WebCore::FontCache::getFontDataForCharacters):
1462         (WebCore::FontCache::getSimilarFontPlatformData):
1463         (WebCore::FontCache::getLastResortFallbackFont):
1464         (WebCore::FontCache::createFontPlatformData):
1465         * platform/qt/FontDataQt.cpp: Added.
1466         (WebCore::FontData::platformInit):
1467         (WebCore::FontData::platformDestroy):
1468         (WebCore::FontData::smallCapsFontData):
1469         (WebCore::FontData::containsCharacters):
1470         (WebCore::FontData::determinePitch):
1471         (WebCore::FontData::platformWidthForGlyph):
1472         * platform/qt/FontPlatformData.h: Added.
1473         * platform/qt/FontPlatformDataQt.cpp: Added.
1474         (WebCore::FontPlatformData::FontPlatformData):
1475         (WebCore::FontPlatformData::operator=):
1476         (WebCore::FontPlatformData::~FontPlatformData):
1477         (WebCore::FontPlatformData::isFixedPitch):
1478         (WebCore::FontPlatformData::setFont):
1479         (WebCore::FontPlatformData::font):
1480         (WebCore::FontPlatformData::hash):
1481         (WebCore::FontPlatformData::operator==):
1482         * platform/qt/FontQt.cpp: Added.
1483         (WebCore::Font::operator QFont):
1484         (WebCore::Font::drawGlyphs):
1485         (WebCore::Font::drawComplexText):
1486         (WebCore::Font::floatWidthForComplexText):
1487         * platform/qt/GlyphMapQt.cpp: Added.
1488         (WebCore::GlyphMap::fillPage):
1489
1490 2006-08-24  David Harrison  <harrison@apple.com>
1491
1492         Reinstate r15966 because layout test changes are correct.
1493
1494         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
1495
1496         * editing/TextIterator.cpp:
1497         (WebCore::TextIterator::advance):
1498
1499 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
1500
1501         Reviewed by ap.
1502
1503         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1504         WebKit should have Qt platform support (Part II)
1505
1506         Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
1507         Use AffineTransform everywhere instead.
1508
1509         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1510         (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
1511         (WebCore::KRenderingDeviceContextQt::concatCTM):
1512         (WebCore::KRenderingDeviceContextQt::ctm):
1513         * kcanvas/device/qt/KRenderingDeviceQt.h:
1514         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
1515         (WebCore::KRenderingPaintServerLinearGradientQt::setup):
1516         (WebCore::KRenderingPaintServerRadialGradientQt::setup):
1517
1518 2006-08-24  Rob Buis  <buis@kde.org>
1519
1520         Reviewed by Darin.
1521
1522         http://bugzilla.opendarwin.org/show_bug.cgi?id=10524
1523         svg transform: comma delimiting breaks display
1524
1525         Properly parse transforms which use ',' as seperators.
1526
1527         * ksvg2/svg/SVGTransformable.cpp:
1528         (SVGTransformable::parseTransformAttribute):
1529
1530 2006-08-23  Darin Adler  <darin@apple.com>
1531
1532         Reviewed by Maciej.
1533
1534         - added an assert to make it slightly easier to debug the common case of
1535           calling document() on a node of 0
1536
1537         * dom/Node.h: (WebCore::Node::document): ASSERT(this).
1538
1539 2006-08-23  David Hyatt  <hyatt@apple.com>
1540
1541         Refactor Cairo and CoreGraphics to use platform ifdefs.  This patch
1542         separates the graphics engines from their respective platforms and replaces
1543         #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
1544
1545         Reviewed by darin
1546
1547         * WebCore.xcodeproj/project.pbxproj:
1548         * platform/AffineTransform.h:
1549         * platform/Color.h:
1550         * platform/Cursor.h:
1551         * platform/FloatPoint.h:
1552         * platform/FloatRect.h:
1553         * platform/FloatSize.h:
1554         * platform/Font.h:
1555         * platform/FontData.h:
1556         * platform/GlyphBuffer.h:
1557         (WebCore::GlyphBuffer::glyphAt):
1558         (WebCore::GlyphBuffer::advanceAt):
1559         (WebCore::GlyphBuffer::add):
1560         * platform/GraphicsContext.h:
1561         * platform/Image.h:
1562         * platform/ImageSource.h:
1563         * platform/IntPoint.h:
1564         * platform/IntRect.h:
1565         * platform/IntSize.h:
1566         * platform/ResourceLoader.h:
1567         * platform/ResourceLoaderClient.h:
1568         * platform/Widget.h:
1569         * platform/cairo/GraphicsContextCairo.cpp:
1570         * platform/cairo/ImageCairo.cpp:
1571         * platform/cairo/ImageSourceCairo.cpp:
1572         * platform/cg/AffineTransformCG.cpp:
1573         * platform/cg/FloatPointCG.cpp: Added.
1574         * platform/cg/FloatRectCG.cpp: Added.
1575         * platform/cg/FloatSizeCG.cpp: Added.
1576         * platform/cg/GraphicsContextCG.cpp:
1577         (WebCore::GraphicsContext::GraphicsContext):
1578         (WebCore::GraphicsContext::~GraphicsContext):
1579         (WebCore::GraphicsContext::setFocusRingClip):
1580         (WebCore::GraphicsContext::clearFocusRingClip):
1581         (WebCore::GraphicsContext::platformContext):
1582         (WebCore::GraphicsContext::drawRect):
1583         (WebCore::GraphicsContext::drawLine):
1584         * platform/cg/GraphicsContextPlatformPrivate.h: Added.
1585         (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
1586         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1587         * platform/cg/ImageCG.cpp: Added.
1588         (WebCore::Image::drawTiled):
1589         * platform/cg/ImageSourceCG.cpp: Added.
1590         * platform/cg/IntPointCG.cpp: Added.
1591         * platform/cg/IntRectCG.cpp: Added.
1592         * platform/cg/IntSizeCG.cpp: Added.
1593         * platform/cg/PDFDocumentImage.cpp: Added.
1594         (WebCore::PDFDocumentImage::adjustCTM):
1595         * platform/cg/PDFDocumentImage.h: Added.
1596         * platform/cg/PathCG.cpp:
1597         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1598         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1599         * platform/image-decoders/gif/GIFImageReader.cpp:
1600         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1601         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1602         * platform/image-decoders/png/PNGImageDecoder.cpp:
1603         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
1604         * platform/mac/FloatPointMac.mm:
1605         * platform/mac/FloatRectMac.mm:
1606         * platform/mac/FloatSizeMac.mm:
1607         * platform/mac/GraphicsContextMac.mm:
1608         * platform/mac/ImageMac.mm:
1609         * platform/mac/ImageSourceMac.cpp: Removed.
1610         * platform/mac/IntPointMac.mm:
1611         * platform/mac/IntRectMac.mm:
1612         * platform/mac/IntSizeMac.mm:
1613         * platform/mac/PDFDocumentImage.h: Removed.
1614         * platform/mac/PDFDocumentImage.mm: Removed.
1615
1616 2006-08-23  David Hyatt  <hyatt@apple.com>
1617
1618         Remove the ifdef for platform scrollbars vs. engine scrollbars until
1619         engine scrollbars actually exist.
1620
1621         * platform/ScrollBar.h:
1622         (WebCore::ScrollBar::hasPlatformScrollBars):
1623
1624 2006-08-23  Justin Garcia  <justin.garcia@apple.com>
1625
1626         Reviewed by harrison
1627         
1628         Removed the poorly named next/previousVisiblePosition
1629         and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
1630         Removed the unused VisiblePosition::maxOffset()
1631
1632         * editing/VisiblePosition.cpp:
1633         (WebCore::VisiblePosition::next):
1634         (WebCore::VisiblePosition::previous):
1635         (WebCore::VisiblePosition::canonicalPosition):
1636         * editing/VisiblePosition.h: 
1637
1638 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
1639
1640         Reviewed by Alexey. Landed by rwlbuis.
1641
1642         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1643         WebKit should have Qt platform support (Part II)
1644
1645         * platform/qt/GraphicsContextQt.cpp: Added.
1646         (WebCore::toQtCompositionMode):
1647         (WebCore::toQtLineCap):
1648         (WebCore::toQtLineJoin):
1649         (WebCore::TransparencyLayer::TransparencyLayer):
1650         (WebCore::TransparencyLayer::cleanup):
1651         (WebCore::TextShadow::TextShadow):
1652         (WebCore::TextShadow::isNull):
1653         (WebCore::GraphicsContextPlatformPrivate::p):
1654         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1655         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1656         (WebCore::GraphicsContext::GraphicsContext):
1657         (WebCore::GraphicsContext::~GraphicsContext):
1658         (WebCore::GraphicsContext::platformContext):
1659         (WebCore::GraphicsContext::savePlatformState):
1660         (WebCore::GraphicsContext::restorePlatformState):
1661         (WebCore::GraphicsContext::drawRect):
1662         (WebCore::adjustLineToPixelBounderies):
1663         (WebCore::GraphicsContext::drawLine):
1664         (WebCore::GraphicsContext::drawEllipse):
1665         (WebCore::GraphicsContext::drawArc):
1666         (WebCore::GraphicsContext::drawConvexPolygon):
1667         (WebCore::GraphicsContext::fillRect):
1668         (WebCore::GraphicsContext::addClip):
1669         (WebCore::GraphicsContext::drawFocusRing):
1670         (WebCore::GraphicsContext::setFocusRingClip):
1671         (WebCore::GraphicsContext::clearFocusRingClip):
1672         (WebCore::GraphicsContext::drawLineForText):
1673         (WebCore::GraphicsContext::drawLineForMisspelling):
1674         (WebCore::GraphicsContext::roundToDevicePixels):
1675         (WebCore::GraphicsContext::setShadow):
1676         (WebCore::GraphicsContext::clearShadow):
1677         (WebCore::GraphicsContext::beginTransparencyLayer):
1678         (WebCore::GraphicsContext::endTransparencyLayer):
1679         (WebCore::GraphicsContext::clearRect):
1680         (WebCore::GraphicsContext::strokeRect):
1681         (WebCore::GraphicsContext::setLineWidth):
1682         (WebCore::GraphicsContext::setLineCap):
1683         (WebCore::GraphicsContext::setLineJoin):
1684         (WebCore::GraphicsContext::setMiterLimit):
1685         (WebCore::GraphicsContext::setAlpha):
1686         (WebCore::GraphicsContext::setCompositeOperation):
1687         (WebCore::GraphicsContext::clip):
1688         (WebCore::GraphicsContext::translate):
1689         (WebCore::GraphicsContext::rotate):
1690         (WebCore::GraphicsContext::scale):
1691         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1692         (WebCore::GraphicsContext::addRoundedRectClip):
1693         (WebCore::GraphicsContext::createRenderingDeviceContext):
1694         * platform/qt/ImageQt.cpp: Added.
1695         (WebCore::FrameData::clear):
1696         (WebCore::Image::initNativeData):
1697         (WebCore::Image::destroyNativeData):
1698         (WebCore::Image::invalidateNativeData):
1699         (WebCore::Image::loadResource):
1700         (WebCore::Image::supportsType):
1701         (WebCore::Image::draw):
1702         (WebCore::Image::drawTiled):
1703         (WebCore::Image::checkForSolidColor):
1704         * platform/qt/ImageSourceQt.cpp: Added.
1705         (WebCore::createDecoder):
1706         (WebCore::ImageSource::ImageSource):
1707         (WebCore::ImageSource::~ImageSource):
1708         (WebCore::ImageSource::initialized):
1709         (WebCore::ImageSource::setData):
1710         (WebCore::ImageSource::isSizeAvailable):
1711         (WebCore::ImageSource::size):
1712         (WebCore::ImageSource::repetitionCount):
1713         (WebCore::ImageSource::frameCount):
1714         (WebCore::ImageSource::createFrameAtIndex):
1715         (WebCore::ImageSource::frameDurationAtIndex):
1716         (WebCore::ImageSource::frameHasAlphaAtIndex):
1717
1718 2006-08-23  Brady Eidson  <beidson@apple.com>
1719
1720         Reviewed by Adele
1721
1722         Moved default URL icon from WebKit to WebCore
1723
1724         * Resources/urlIcon.tiff: Added.
1725         * WebCore.xcodeproj/project.pbxproj:
1726         * loader/icon/IconDataCache.cpp:
1727         (WebCore::IconDataCache::loadImageFromResource):
1728         * loader/icon/IconDataCache.h:
1729         * loader/icon/IconDatabase.cpp:
1730         (WebCore::IconDatabase::IconDatabase):
1731         (WebCore::IconDatabase::defaultIcon):
1732         * loader/icon/IconDatabase.h:
1733
1734 2006-08-23  Adam Roben  <aroben@apple.com>
1735
1736         Reviewed by Darin, Adele.
1737
1738         Some popup refactoring/cleanup.
1739
1740         * html/HTMLSelectElement.cpp:
1741         (WebCore::HTMLSelectElement::defaultEventHandler):
1742         * rendering/RenderMenuList.cpp:
1743         (WebCore::RenderMenuList::RenderMenuList):
1744         (WebCore::RenderMenuList::~RenderMenuList):
1745         (WebCore::RenderMenuList::showPopup):
1746         (WebCore::RenderMenuList::hidePopup):
1747         * rendering/RenderMenuList.h:
1748         (WebCore::RenderMenuList::popup):
1749         (WebCore::RenderMenuList::popupIsVisible):
1750         * rendering/RenderPopupMenu.h:
1751         * rendering/RenderPopupMenuMac.h:
1752         (WebCore::RenderPopupMenuMac::hidePopup):
1753
1754 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
1755
1756         Reviewed by Anders. Landed by rwlbuis.
1757
1758         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1759         WebKit should have Qt platform support
1760
1761         * platform/qt/ResourceLoaderCurl.cpp: Added.
1762         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
1763         (WebCore::ResourceLoader::~ResourceLoader):
1764         (WebCore::ResourceLoader::start):
1765         (WebCore::ResourceLoader::cancel):
1766         (WebCore::ResourceLoader::assembleResponseHeaders):
1767         (WebCore::ResourceLoader::retrieveCharset):
1768         (WebCore::ResourceLoader::receivedResponse):
1769         * platform/qt/ResourceLoaderManager.cpp: Added.
1770         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
1771         (WebCore::ResourceLoaderManager::get):
1772         (WebCore::ResourceLoaderManager::useSimpleTransfer):
1773         (WebCore::writeCallback):
1774         (WebCore::headerCallback):
1775         (WebCore::ResourceLoaderManager::downloadTimerCallback):
1776         (WebCore::ResourceLoaderManager::remove):
1777         (WebCore::ResourceLoaderManager::add):
1778         (WebCore::ResourceLoaderManager::cancel):
1779         * platform/qt/ResourceLoaderManager.h: Added.
1780         * platform/qt/StringQt.cpp: Added.
1781         (WebCore::String::String):
1782         (WebCore::String::operator QString):
1783         (WebCore::DeprecatedString::operator QString):
1784
1785 2006-08-23  Brady Eidson  <beidson@apple.com>
1786
1787         Reviewed by Maciej
1788
1789         Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
1790
1791         * WebCore.xcodeproj/project.pbxproj: Reordered some files
1792         * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
1793         (WebCore::IconDataCache::writeToDatabase):
1794         * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
1795         (WebCore::IconDatabase::retainIconURL):
1796         (WebCore::IconDatabase::releaseIconURL):
1797         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
1798         (WebCore::IconDatabase::establishIconIDForIconURL):
1799         (WebCore::imageDataForIconURLQuery):
1800         (WebCore::timeStampForIconURLQuery):
1801         (WebCore::iconURLForPageURLQuery):
1802         (WebCore::forgetPageURLQuery):
1803         (WebCore::setIconIDForPageURLQuery):
1804         (WebCore::getIconIDForIconURLQuery):
1805         (WebCore::addIconForIconURLQuery):
1806         (WebCore::hasIconForIconURLQuery):
1807         * loader/icon/SQLDatabase.h:
1808         (WebCore::escapeSQLString): Added
1809
1810 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
1811
1812         Reviewed by Brady.
1813
1814         - assorted style cleanup of icon loader code:
1815         
1816         - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
1817         - split headers to be one per class, to match impl files
1818         - made files that are purely local in IconDatabase.cpp static
1819         - make each impl file include config.h as first header (and no config.h includes in other headers)
1820         - avoid multiple copies of Vector<unsigned char> for image data
1821
1822         * WebCore.xcodeproj/project.pbxproj:
1823         * loader/icon/IconDataCache.cpp:
1824         * loader/icon/IconDataCache.h: Added.
1825         (WebCore::):
1826         (WebCore::IconDataCache::getTimestamp):
1827         (WebCore::IconDataCache::setTimestamp):
1828         (WebCore::IconDataCache::getIconURL):
1829         * loader/icon/IconDatabase.cpp:
1830         (WebCore::IconDatabase::imageDataForIconURL):
1831         (WebCore::IconDatabase::iconForPageURL):
1832         (WebCore::pageURLTableIsEmptyQuery):
1833         (WebCore::imageDataForIconURLQuery):
1834         (WebCore::timeStampForIconURLQuery):
1835         (WebCore::iconURLForPageURLQuery):
1836         (WebCore::forgetPageURLQuery):
1837         (WebCore::setIconIDForPageURLQuery):
1838         (WebCore::getIconIDForIconURLQuery):
1839         (WebCore::addIconForIconURLQuery):
1840         (WebCore::hasIconForIconURLQuery):
1841         * loader/icon/IconDatabase.h:
1842         * loader/icon/SQLDatabase.cpp:
1843         * loader/icon/SQLDatabase.h:
1844         * loader/icon/SQLStatement.cpp:
1845         (WebCore::SQLStatement::getColumnBlobAsVector):
1846         * loader/icon/SQLStatement.h: Added.
1847         (WebCore::SQLStatement::isPrepared):
1848         (WebCore::SQLStatement::prepareAndStep):
1849         (WebCore::SQLStatement::lastError):
1850         (WebCore::SQLStatement::lastErrorMsg):
1851         * loader/icon/SQLTransaction.cpp:
1852         * loader/icon/SQLTransaction.h: Added.
1853
1854 2006-08-22  Brady Eidson  <beidson@apple.com>
1855
1856         Reviewed by Maciej
1857
1858         The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
1859         As such, I'm renaming it to IconDataCache.
1860         Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the 
1861         TimeStamp when an icon is created or the data is changed.
1862         IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
1863         IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
1864         The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.
1865
1866         * WebCore.xcodeproj/project.pbxproj: Renamed a file
1867         * loader/icon/IconDataCache.cpp: Added.
1868         (IconDataCache::IconDataCache):
1869         (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
1870         (IconDataCache::manuallySetImageData): Delete the old image and create the new one
1871         (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
1872         (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
1873         * loader/icon/IconDatabase.cpp:
1874         (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
1875         (WebCore::IconDatabase::iconForPageURL): 
1876         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
1877         (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
1878         (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
1879         (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
1880         * loader/icon/IconDatabase.h:
1881         (WebCore::IconDataCache::getTimestamp):
1882         (WebCore::IconDataCache::setTimestamp):
1883         * loader/icon/SiteIcon.cpp: Removed.
1884
1885
1886 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
1887
1888         Reviewed by harrison
1889         
1890         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
1891         REGRESSION(r15918): drag-into-marker.html failing
1892
1893         * editing/ReplaceSelectionCommand.cpp:
1894         (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
1895         in a list item.
1896
1897 2006-08-22  Brady Eidson  <beidson@apple.com>
1898
1899         Reviewed by Kevin
1900
1901         Added a check in getTIFFRepresentation to not proceed if the frame count is zero
1902         This is an error condition that was handled gracefully before - in certain circumstances
1903         the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
1904         or invalid data.  This small change bails out before that call if that call will definitely fail
1905
1906         * platform/mac/ImageMac.mm:
1907         (WebCore::Image::getTIFFRepresentation):
1908
1909 2006-08-22  David Harrison  <harrison@apple.com>
1910
1911         Backed out my last change (r15966) because it broke lots of layout tests.
1912
1913         * editing/TextIterator.cpp:
1914         (WebCore::TextIterator::advance):
1915
1916 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
1917
1918         Reviewed by Anders.
1919
1920         - added some SPI indirections to support the following in WebKit/Loader:
1921             - pull more WebDataSource code into WebFrameLoader
1922             - make WebMainResourceLoader not depend on WebKit or on SPI
1923
1924         * WebCore.exp:
1925         * WebCore.xcodeproj/project.pbxproj:
1926         * platform/mac/WebCoreSystemInterface.h:
1927         * platform/mac/WebCoreSystemInterface.mm:
1928
1929 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
1930
1931         Reviewed by harrison
1932
1933         <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
1934         
1935         * editing/ReplaceSelectionCommand.cpp:
1936         (WebCore::isInterchangeNewlineNode):
1937         (WebCore::isInterchangeConvertedSpaceSpan):
1938         (WebCore::ReplacementFragment::ReplacementFragment):
1939         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
1940         remove them and remove style nodes and style spans which were only contributing redundant styles.
1941         (WebCore::ReplaceSelectionCommand::doApply):
1942         * editing/ReplaceSelectionCommand.h:
1943
1944 2006-08-22  David Harrison  <harrison@apple.com>
1945
1946         Reviewed by Darin.
1947
1948         <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
1949
1950         This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
1951
1952         Test case added:
1953         * manual-tests/inline-input-marking.html: Added.
1954         Check that underlining of the inline input hole does not obscure the glyphs.
1955         
1956         * rendering/InlineTextBox.cpp:
1957         (WebCore::InlineTextBox::paintMarkedTextUnderline):
1958         Position underline at bottom of text box.
1959         Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.
1960
1961 2006-08-22  Rob Buis  <buis@kde.org>
1962
1963         Reviewed by Eric.
1964
1965         http://bugzilla.opendarwin.org/show_bug.cgi?id=10402
1966         REPRO: SVG crashes inside gradient code
1967
1968         Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
1969
1970         * ksvg2/svg/SVGGradientElement.cpp:
1971         (SVGGradientElement::notifyAttributeChange):
1972         (SVGGradientElement::resourceNotification):
1973
1974 2006-08-22  David Harrison  <harrison@apple.com>
1975
1976         Reviewed by John.
1977
1978         <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
1979
1980         * bridge/mac/WebCoreAXObject.mm:
1981         (headingLevel):
1982         (-[WebCoreAXObject headingLevel]):
1983         (-[WebCoreAXObject isHeading]):
1984         New. Heading level is per the tag (h1 == 1, h2 == 2, etc.)
1985         
1986         (-[WebCoreAXObject role]):
1987         (-[WebCoreAXObject roleDescription]):
1988         Add role and roleDescription for headings.
1989         
1990         (-[WebCoreAXObject value]):
1991         Value is the headingLevel.
1992         
1993         (AXAttributeStringSetHeadingLevel):
1994         (AXAttributedStringAppendText):
1995         Put text's heading level (if applicable) in the attributes.
1996         
1997 2006-08-22  David Harrison  <harrison@apple.com>
1998
1999         Reviewed by John.
2000
2001         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
2002
2003         Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
2004         
2005         * editing/TextIterator.cpp:
2006         (WebCore::TextIterator::advance):
2007         Include controls.
2008
2009 2006-08-22  David Harrison  <harrison@apple.com>
2010
2011         Reviewed by Maciej.
2012
2013         <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker
2014
2015         * bridge/mac/WebCoreAXObject.mm:
2016         (-[WebCoreAXObject textMarkerRange]):
2017         Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset().
2018         Check for VisiblePositions being equal.  If so, adjust end one to its next().
2019         That happens with, e.g., buttons.
2020
2021 2006-08-22  Rob Buis  <buis@kde.org>
2022
2023         Reviewed by Eric.
2024
2025         http://bugzilla.opendarwin.org/show_bug.cgi?id=10491
2026         KCanvasMatrix removal
2027
2028         Remove KCanvasMatrix from project, using AffineTransform instead.
2029
2030         * WebCore.xcodeproj/project.pbxproj:
2031         * kcanvas/KCanvasMatrix.cpp: Removed.
2032         * kcanvas/KCanvasMatrix.h: Removed.
2033         * kcanvas/KCanvasResources.cpp:
2034         (WebCore::KCanvasMarker::draw):
2035         * kcanvas/KCanvasResources.h:
2036         * kcanvas/RenderForeignObject.cpp:
2037         * kcanvas/RenderPath.h:
2038         * kcanvas/RenderSVGContainer.cpp:
2039         (WebCore::RenderSVGContainer::viewportTransform):
2040         (WebCore::RenderSVGContainer::getAspectRatio):
2041         * kcanvas/RenderSVGContainer.h:
2042         * kcanvas/RenderSVGText.cpp:
2043         * kcanvas/device/KRenderingDevice.h:
2044         * kcanvas/device/KRenderingPaintServerGradient.cpp:
2045         (WebCore::KRenderingPaintServerGradient::gradientTransform):
2046         (WebCore::KRenderingPaintServerGradient::setGradientTransform):
2047         (WebCore::KRenderingPaintServerGradient::externalRepresentation):
2048         * kcanvas/device/KRenderingPaintServerGradient.h:
2049         * kcanvas/device/KRenderingPaintServerPattern.cpp:
2050         (WebCore::KRenderingPaintServerPattern::patternTransform):
2051         (WebCore::KRenderingPaintServerPattern::setPatternTransform):
2052         (WebCore::KRenderingPaintServerPattern::externalRepresentation):
2053         * kcanvas/device/KRenderingPaintServerPattern.h:
2054         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2055         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2056         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2057         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2058         (WebCore::KRenderingDeviceContextQuartz::concatCTM):
2059         (WebCore::KRenderingDeviceContextQuartz::ctm):
2060         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2061         (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
2062         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2063         (WebCore::KRenderingPaintServerPatternQuartz::setup):
2064         * kcanvas/device/quartz/QuartzSupport.mm:
2065         * ksvg2/misc/KCanvasRenderingStyle.h:
2066         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2067         * ksvg2/svg/SVGAnimateTransformElement.h:
2068         * ksvg2/svg/SVGLinearGradientElement.cpp:
2069         (SVGLinearGradientElement::buildGradient):
2070         * ksvg2/svg/SVGPatternElement.cpp:
2071         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2072         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2073         (WebCore::SVGPatternElement::notifyAttributeChange):
2074         * ksvg2/svg/SVGPatternElement.h:
2075         * ksvg2/svg/SVGRadialGradientElement.cpp:
2076         (WebCore::SVGRadialGradientElement::buildGradient):
2077
2078 2006-08-22  Rob Buis  <buis@kde.org>
2079
2080         Reviewed by Eric.
2081
2082         http://bugzilla.opendarwin.org/show_bug.cgi?id=10405
2083         REPRO: SVG Maze crashes in RenderPath code
2084
2085         Do not render a path when it is empty so maze15.svg does not crash anymore.
2086         Also get rid of a runtime warning issued by CGContextGetPathBoundingBox.
2087
2088         * kcanvas/RenderPath.cpp:
2089         (WebCore::RenderPath::paint):
2090         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
2091         (WebCore::KCanvasPathQuartz::strokeBoundingBox):
2092
2093 2006-08-21  Brady Eidson  <beidson@apple.com>
2094
2095         Reviewed by Maciej
2096
2097         <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
2098
2099         Added a flag to track whether or not the initial pruning has taken place on startup
2100         If that flag is not set, IconURL retain counts will be tracked in a temporary db table
2101         in addition to the in-memory hash.  Then when the timer fires after initial retains
2102         are complete, we prune those icons not in the retain table, prune dangling PageURL
2103         references, delete the temporary table, and set the flag - and carry on as normal
2104
2105         * loader/icon/IconDatabase.cpp:
2106         (WebCore::IconDatabase::IconDatabase): initialize the flag
2107         (WebCore::IconDatabase::open): changed the schema of the temporary table
2108         (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
2109         (WebCore::IconDatabase::releaseIconURL): ditto
2110         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
2111           wipe all the PageURLs who no longer point to a valid IconURL
2112         * loader/icon/IconDatabase.h:
2113
2114 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
2115
2116         Reviewed by Eric.
2117
2118         http://bugzilla.opendarwin.org/show_bug.cgi?id=10419
2119         XSLTProcessor transformToFragment fails because of an XML declaration
2120
2121         Test: fast/xsl/transformToFragment-XML-declaration.html
2122
2123         * xml/XSLTProcessor.cpp:
2124         (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
2125
2126 2006-08-21  David Harrison  <harrison@apple.com>
2127
2128         Reviewed by Justin.
2129
2130         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
2131
2132         Added support for the NSAccessibilityMisspelledTextAttribute.
2133         
2134         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
2135         is not possible.  See following bug...
2136             <rdar://problem/4256882> Need automated testing support for accessibility APIs
2137
2138         * bridge/mac/WebCoreAXObject.mm:
2139         Lots of trivial formatting in many methods.
2140         
2141         (-[WebCoreAXObject accessibilityAttributeValue:]):
2142         Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
2143         of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
2144         attribute.
2145
2146         (WebCore::AXAttributeStringSetSpelling): 
2147         New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
2148
2149         (-[WebCoreAXObject AXAttributedStringAppendText:]):
2150         Added call to AXAttributeStringSetSpelling.
2151         
2152         * editing/visible_units.cpp:
2153         (WebCore::startOfDocument):
2154         (WebCore::endOfDocument):
2155         Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
2156         so a previously existing VisiblePosition is not required.
2157         
2158         * editing/visible_units.h:
2159         Declare new forms of startOfDocument and endOfDocument.
2160
2161 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
2162
2163         Reviewed by Eric.
2164
2165         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2166         WebKit should have Qt platform support
2167
2168         * platform/qt/TemporaryLinkStubs.cpp: Added.
2169         (JavaAppletWidget::JavaAppletWidget):
2170         (Font::selectionRectForComplexText):
2171         (Font::offsetForPositionForComplexText):
2172         (WebCore::refreshPlugins):
2173         (WebCore::focusRingColor):
2174         (Image::drawTiled):
2175         (WebCore::TextField::selectAll):
2176         (WebCore::TextField::addSearchResult):
2177         (WebCore::TextField::selectionStart):
2178         (WebCore::TextField::hasSelectedText):
2179         (WebCore::TextField::selectedText):
2180         (WebCore::TextField::setAutoSaveName):
2181         (WebCore::TextField::checksDescendantsForFocus):
2182         (WebCore::TextField::setSelection):
2183         (WebCore::TextField::setMaxResults):
2184         (WebCore::TextField::edited):
2185         (WebCore::TextField::focusPolicy):
2186         (WebCore::TextField::TextField):
2187         (WebCore::TextField::~TextField):
2188         (WebCore::TextField::setFont):
2189         (WebCore::TextField::setAlignment):
2190         (WebCore::TextField::setWritingDirection):
2191         (WebCore::TextField::maxLength):
2192         (WebCore::TextField::setMaxLength):
2193         (WebCore::TextField::text):
2194         (WebCore::TextField::setText):
2195         (WebCore::TextField::cursorPosition):
2196         (WebCore::TextField::setCursorPosition):
2197         (WebCore::TextField::setEdited):
2198         (WebCore::TextField::setReadOnly):
2199         (WebCore::TextField::setPlaceholderString):
2200         (WebCore::TextField::setColors):
2201         (WebCore::TextField::sizeForCharacterWidth):
2202         (WebCore::TextField::baselinePosition):
2203         (WebCore::TextField::setLiveSearch):
2204         (WebCore::Slider::Slider):
2205         (WebCore::Slider::sizeHint):
2206         (WebCore::Slider::~Slider):
2207         (WebCore::Slider::setValue):
2208         (WebCore::Slider::setMaxValue):
2209         (WebCore::Slider::setMinValue):
2210         (WebCore::Slider::setFont):
2211         (WebCore::Slider::value):
2212         (WebCore::Slider::focusPolicy):
2213         (WebCore::ScrollBar::ScrollBar):
2214         (WebCore::ScrollBar::setSteps):
2215         (WebCore::ScrollBar::scroll):
2216         (WebCore::ScrollBar::setValue):
2217         (WebCore::ScrollBar::setKnobProportion):
2218         (WebCore::PlatformScrollBar::PlatformScrollBar):
2219         (WebCore::PlatformScrollBar::~PlatformScrollBar):
2220         (WebCore::PlatformScrollBar::width):
2221         (WebCore::PlatformScrollBar::height):
2222         (WebCore::PlatformScrollBar::setEnabled):
2223         (WebCore::PlatformScrollBar::paint):
2224         (WebCore::PlatformScrollBar::setScrollBarValue):
2225         (WebCore::PlatformScrollBar::setKnobProportion):
2226         (WebCore::PlatformScrollBar::setRect):
2227         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2228         (WebCore::CheckCacheObjectStatus):
2229         (WebCore::CheckIfReloading):
2230         (WebCore::ServeSynchronousRequest):
2231         (WebCore::historyContains):
2232         (WebCore::submitButtonDefaultLabel):
2233         (WebCore::inputElementAltText):
2234         (WebCore::resetButtonDefaultLabel):
2235         (WebCore::defaultLanguage):
2236         (WebCore::findNextSentenceFromIndex):
2237         (WebCore::findSentenceBoundary):
2238         (WebCore::findNextWordFromIndex):
2239         (WebCore::findWordBoundary):
2240         (Frame::setNeedsReapplyStyles):
2241         (WebCore::screenDepthPerComponent):
2242         (WebCore::screenIsMonochrome):
2243         (WebCore::searchableIndexIntroduction):
2244         (WebCore::setFocusRingColorChangeFunction):
2245         (FrameView::updateBorder):
2246         (loadResourceIntoArray):
2247         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
2248         (PlugInInfoStore::pluginCount):
2249         (WebCore::PlugInInfoStore::supportsMIMEType):
2250         (FileButton::FileButton):
2251         (FileButton::click):
2252         (FileButton::sizeForCharacterWidth):
2253         (FileButton::focusPolicy):
2254         (FileButton::frameGeometry):
2255         (FileButton::setFilename):
2256         (FileButton::baselinePosition):
2257         (FileButton::setFrameGeometry):
2258         (FileButton::setDisabled):
2259         (WebCore::supportedKeySizes):
2260         (WebCore::signedPublicKeyAndChallengeString):
2261
2262 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
2263
2264         Reviewed by Maciej.
2265
2266         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2267         WebKit should have Qt platform support
2268
2269         * platform/qt/CursorQt.cpp: Added.
2270         (WebCore::Cursor::Cursor):
2271         (WebCore::Cursor::~Cursor):
2272         (WebCore::Cursor::operator=):
2273         (WebCore::Cursors::Cursors::self):
2274         (WebCore::moveCursor):
2275         (WebCore::crossCursor):
2276         (WebCore::handCursor):
2277         (WebCore::iBeamCursor):
2278         (WebCore::waitCursor):
2279         (WebCore::helpCursor):
2280         (WebCore::eastResizeCursor):
2281         (WebCore::northResizeCursor):
2282         (WebCore::northEastResizeCursor):
2283         (WebCore::northWestResizeCursor):
2284         (WebCore::southResizeCursor):
2285         (WebCore::southEastResizeCursor):
2286         (WebCore::southWestResizeCursor):
2287         (WebCore::westResizeCursor):
2288         (WebCore::northSouthResizeCursor):
2289         (WebCore::eastWestResizeCursor):
2290         (WebCore::northEastSouthWestResizeCursor):
2291         (WebCore::northWestSouthEastResizeCursor):
2292         (WebCore::columnResizeCursor):
2293         (WebCore::rowResizeCursor):
2294         * platform/qt/RenderThemeQt.cpp: Added.
2295         (WebCore::RenderThemeQt::RenderThemeQt):
2296         (WebCore::RenderThemeQt::supportsHover):
2297         (WebCore::RenderThemeQt::paintCheckbox):
2298         (WebCore::RenderThemeQt::paintRadio):
2299         (WebCore::theme):
2300         (WebCore::RenderThemeQt::isControlStyled):
2301         (WebCore::RenderThemeQt::controlSupportsTints):
2302         (WebCore::RenderThemeQt::systemFont):
2303         (WebCore::RenderThemeQt::createPopupMenu):
2304         (WebCore::RenderThemeQt::addIntrinsicMargins):
2305         (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
2306         (WebCore::RenderThemeQt::setCheckboxSize):
2307         (WebCore::RenderThemeQt::setRadioSize):
2308         (WebCore::RenderThemeQt::supportsFocus):
2309         (WebCore::RenderThemeQt::applyTheme):
2310         (WebCore::RenderThemeQt::adjustButtonStyle):
2311         (WebCore::RenderThemeQt::paintButton):
2312         (WebCore::RenderThemeQt::adjustTextFieldStyle):
2313         (WebCore::RenderThemeQt::paintTextField):
2314
2315 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
2316
2317         Reviewed by Maciej.
2318
2319         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2320         WebKit should have Qt platform support
2321
2322         * platform/qt/SharedTimerQt.cpp: Added.
2323         (WebCore:setSharedTimerFiredFunction):
2324         (WebCore::setSharedTimerFireTime):
2325         (WebCore::stopSharedTimer):
2326         * platform/qt/SharedTimerQt.h: Added.
2327         (WebCore::SharedTimerQt::SharedTimerQt):
2328         (WebCore::SharedTimerQt::~SharedTimerQt):
2329         (WebCore::SharedTimerQt::inst):
2330         (WebCore::SharedTimerQt::fire):
2331         * platform/qt/SystemTimeQt.cpp: Added.
2332         (WebCore::currentTime):
2333
2334 2006-08-21  Brady Eidson  <beidson@apple.com>
2335
2336         Reviewed by John
2337
2338         -Defers writing to the database via a timer and handles starting the timer
2339          intelligently
2340
2341         * loader/icon/IconDatabase.cpp:
2342         (WebCore::IconDatabase::IconDatabase):
2343         (WebCore::IconDatabase::open): Don't start the update timer by default
2344         (WebCore::IconDatabase::close): Call syncDatabase()
2345         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase()
2346         (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call
2347         (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB
2348         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
2349         (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase()
2350         (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer
2351         * loader/icon/IconDatabase.h:
2352
2353 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
2354
2355         Reviewed by Eric.
2356
2357         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10429
2358           XSLTProcessor.transformToFragment crashes if the owner document is empty
2359
2360         Test: fast/js/xslt-fragment-in-empty-doc.html
2361
2362         * dom/XMLTokenizer.cpp:
2363         (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.
2364
2365 2006-08-21  Brady Eidson  <beidson@apple.com>
2366
2367         Reviewed by Anders
2368
2369         -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
2370          In the near future, we'll also have timer-based deferred *addition* of database records
2371         -Keep retain/release counts in a hash instead of a DB table
2372         -Keep only one hash record for the SiteIcons
2373         -Renamed some methods for clarity
2374
2375         * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
2376         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
2377         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
2378         * loader/icon/IconDatabase.cpp:
2379         (WebCore::IconDatabase::IconDatabase):
2380         (WebCore::IconDatabase::open): Added new timer setup
2381         (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
2382         (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
2383         (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
2384         (WebCore::IconDatabase::retainIconURL): Added
2385         (WebCore::IconDatabase::releaseIconURL): Added
2386         (WebCore::IconDatabase::forgetPageURL):  Added
2387         (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
2388         (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
2389         (WebCore::IconDatabase::setIconURLForPageURL):
2390         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
2391         (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
2392         (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
2393         * loader/icon/IconDatabase.h: Added multiple stuffs
2394
2395 2006-08-21  Brady Eidson  <beidson@apple.com>
2396
2397         Reviewed by Maciej's rubberstamp
2398
2399         Removed stale file references from the Xcode.proj
2400
2401         * WebCore.xcodeproj/project.pbxproj:
2402
2403 2006-08-20  Nikolas Zimmermann  <zimmermann@kde.org>
2404
2405         Reviewed by Maciej. Landed by rwlbuis.
2406
2407         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10463
2408         WebKit should have Qt platform support
2409
2410         Removing HelperQt.h usage by creating appropriate operators
2411         constructor in some of the platform classes, as suggested by Darin.
2412
2413         * CMakeLists.txt:
2414         * platform/DeprecatedString.h:
2415         * platform/Font.h:
2416         * platform/PlatformString.h:
2417         * platform/qt/ComboBoxQt.cpp:
2418         (WebCore::PlatformComboBox::appendItem):
2419         (WebCore::PlatformComboBox::appendGroupLabel):
2420         (WebCore::PlatformComboBox::setFont):
2421         * platform/qt/LineEditQt.cpp:
2422         (WebCore::PlatformLineEdit::setFont):
2423         (WebCore::PlatformLineEdit::setText):
2424         (WebCore::PlatformLineEdit::text):
2425         (WebCore::PlatformLineEdit::selectedText):
2426         * platform/qt/ListBoxQt.cpp:
2427         (WebCore::ListBox::setFont):
2428         (WebCore::ListBox::appendItem):
2429         * platform/qt/PlatformKeyboardEventQt.cpp:
2430         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2431         * platform/qt/ScrollViewQt.cpp:
2432         * platform/qt/StringQt.cpp: Added.
2433         (WebCore::String::String):
2434         (WebCore::String::operator QString):
2435         (WebCore::DeprecatedString::operator QString):
2436         * platform/qt/TextEditQt.cpp:
2437         * platform/qt/WidgetQt.cpp:
2438         (WebCore::Widget::setFont):
2439
2440 2006-08-18  Steve Falkenburg  <sfalken@apple.com>
2441
2442         Rubber stamped by adele.
2443         
2444         Fix call to WebFormDelegate's textFieldDidBeginEditing.
2445
2446         * rendering/RenderTextControl.cpp:
2447         (WebCore::RenderTextControl::subtreeHasChanged):
2448
2449 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
2450
2451         Reviewed by Eric. Landed by rwlbuis.
2452
2453         Next chunk of the implementation for:
2454         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2455
2456         WebKit should have Qt platform support
2457
2458         * platform/qt/KeyboardCodes.h: Added.
2459         * platform/qt/PlatformKeyboardEventQt.cpp: Added.
2460         (WebCore::keyIdentifierForQtKeyCode):
2461         (WebCore::windowsKeyCodeForKeyEvent):
2462         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2463         * platform/qt/PlatformMouseEventQt.cpp: Added.
2464         (WebCore::):
2465         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2466
2467 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
2468
2469         Reviewed by Eric. Landed by rwlbuis.
2470
2471         Next chunk of the implementation for:
2472         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2473
2474         WebKit should have Qt platform support
2475
2476         * platform/qt/AffineTransformQt.cpp: Added.
2477         (WebCore::AffineTransform::AffineTransform):
2478         (WebCore::AffineTransform::setMatrix):
2479         (WebCore::AffineTransform::map):
2480         (WebCore::AffineTransform::mapRect):
2481         (WebCore::AffineTransform::isIdentity):
2482         (WebCore::AffineTransform::m11):
2483         (WebCore::AffineTransform::m12):
2484         (WebCore::AffineTransform::m21):
2485         (WebCore::AffineTransform::m22):
2486         (WebCore::AffineTransform::dx):
2487         (WebCore::AffineTransform::dy):
2488         (WebCore::AffineTransform::reset):
2489         (WebCore::AffineTransform::scale):
2490         (WebCore::AffineTransform::rotate):
2491         (WebCore::AffineTransform::translate):
2492         (WebCore::AffineTransform::shear):
2493         (WebCore::AffineTransform::det):
2494         (WebCore::AffineTransform::invert):
2495         (WebCore::AffineTransform::operator QMatrix):
2496         (WebCore::AffineTransform::operator==):
2497         (WebCore::AffineTransform::operator*=):
2498         (WebCore::AffineTransform::operator*):
2499         * platform/qt/BrowserExtensionQt.cpp: Added.
2500         (WebCore::BrowserExtensionQt::BrowserExtensionQt):
2501         (WebCore::BrowserExtensionQt::canRunModal):
2502         (WebCore::BrowserExtensionQt::createNewWindow):
2503         (WebCore::BrowserExtensionQt::canRunModalNow):
2504         (WebCore::BrowserExtensionQt::runModal):
2505         (WebCore::BrowserExtensionQt::goBackOrForward):
2506         (WebCore::BrowserExtensionQt::historyURL):
2507         (WebCore::BrowserExtensionQt::setTypedIconURL):
2508         (WebCore::BrowserExtensionQt::setIconURL):
2509         (WebCore::BrowserExtensionQt::getHistoryLength):
2510         * platform/qt/BrowserExtensionQt.h: Added.
2511         * platform/qt/CookieJarQt.cpp: Added.
2512         (WebCore::setCookies):
2513         (WebCore::cookies):
2514         (WebCore::cookiesEnabled):
2515         * platform/qt/PageQt.cpp: Added.
2516         (WebCore::rootWindowForFrame):
2517         (WebCore::Page::windowRect):
2518         (WebCore::Page::setWindowRect):
2519         * platform/qt/PathQt.cpp: Added.
2520         (WebCore::Path::Path):
2521         (WebCore::Path::~Path):
2522         (WebCore::Path::operator=):
2523         (WebCore::Path::contains):
2524         (WebCore::Path::translate):
2525         (WebCore::Path::boundingRect):
2526         (WebCore::Path::moveTo):
2527         (WebCore::Path::addLineTo):
2528         (WebCore::Path::addQuadCurveTo):
2529         (WebCore::Path::addBezierCurveTo):
2530         (WebCore::Path::addArcTo):
2531         (WebCore::Path::closeSubpath):
2532         (WebCore::Path::addArc):
2533         (WebCore::Path::addRect):
2534         (WebCore::Path::addEllipse):
2535         (WebCore::Path::clear):
2536         * platform/qt/ScreenQt.cpp: Added.
2537         (WebCore::screenRect):
2538         (WebCore::screenDepth):
2539         (WebCore::usableScreenRect):
2540
2541
2542 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
2543
2544         Reviewed by Eric. Landed by rwlbuis.
2545
2546         First chunk of the implementation for:
2547         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2548
2549         WebKit should have Qt platform support
2550
2551         * platform/qt/ComboBoxQt.cpp: Added.
2552         (WebCore::PlatformComboBox::PlatformComboBox):
2553         (WebCore::PlatformComboBox::~PlatformComboBox):
2554         (WebCore::PlatformComboBox::setParentWidget):
2555         (WebCore::PlatformComboBox::clear):
2556         (WebCore::PlatformComboBox::appendItem):
2557         (WebCore::PlatformComboBox::appendGroupLabel):
2558         (WebCore::PlatformComboBox::appendSeparator):
2559         (WebCore::PlatformComboBox::setCurrentItem):
2560         (WebCore::PlatformComboBox::sizeHint):
2561         (WebCore::PlatformComboBox::frameGeometry):
2562         (WebCore::PlatformComboBox::setFrameGeometry):
2563         (WebCore::PlatformComboBox::baselinePosition):
2564         (WebCore::PlatformComboBox::setFont):
2565         (WebCore::PlatformComboBox::focusPolicy):
2566         (WebCore::PlatformComboBox::itemSelected):
2567         (WebCore::PlatformComboBox::setWritingDirection):
2568         (WebCore::PlatformComboBox::populate):
2569         (WebCore::PlatformComboBox::populateMenu):
2570         * platform/qt/LineEditQt.cpp: Added.
2571         (WebCore::PlatformLineEdit::PlatformLineEdit):
2572         (WebCore::PlatformLineEdit::~PlatformLineEdit):
2573         (WebCore::PlatformLineEdit::setParentWidget):
2574         (WebCore::PlatformLineEdit::setColors):
2575         (WebCore::PlatformLineEdit::setAlignment):
2576         (WebCore::PlatformLineEdit::setCursorPosition):
2577         (WebCore::PlatformLineEdit::cursorPosition):
2578         (WebCore::PlatformLineEdit::setEdited):
2579         (WebCore::PlatformLineEdit::edited):
2580         (WebCore::PlatformLineEdit::setFont):
2581         (WebCore::PlatformLineEdit::setMaxLength):
2582         (WebCore::PlatformLineEdit::maxLength):
2583         (WebCore::PlatformLineEdit::setReadOnly):
2584         (WebCore::PlatformLineEdit::isReadOnly):
2585         (WebCore::PlatformLineEdit::setText):
2586         (WebCore::PlatformLineEdit::text):
2587         (WebCore::PlatformLineEdit::setWritingDirection):
2588         (WebCore::PlatformLineEdit::selectAll):
2589         (WebCore::PlatformLineEdit::hasSelectedText):
2590         (WebCore::PlatformLineEdit::selectionStart):
2591         (WebCore::PlatformLineEdit::selectedText):
2592         (WebCore::PlatformLineEdit::setSelection):
2593         (WebCore::PlatformLineEdit::sizeForCharacterWidth):
2594         (WebCore::PlatformLineEdit::baselinePosition):
2595         (WebCore::PlatformLineEdit::focusPolicy):
2596         (WebCore::PlatformLineEdit::checksDescendantsForFocus):
2597         (WebCore::PlatformLineEdit::setLiveSearch):
2598         (WebCore::PlatformLineEdit::setAutoSaveName):
2599         (WebCore::PlatformLineEdit::setMaxResults):
2600         (WebCore::PlatformLineEdit::setPlaceholderString):
2601         (WebCore::PlatformLineEdit::addSearchResult):
2602         * platform/qt/ListBoxQt.cpp: Added.
2603         (WebCore::ListBox::ListBox):
2604         (WebCore::ListBox::~ListBox):
2605         (WebCore::ListBox::setParentWidget):
2606         (WebCore::ListBox::sizeForNumberOfLines):
2607         (WebCore::ListBox::setSelectionMode):
2608         (WebCore::ListBox::clear):
2609         (WebCore::ListBox::doneAppendingItems):
2610         (WebCore::ListBox::setSelected):
2611         (WebCore::ListBox::isSelected):
2612         (WebCore::ListBox::setEnabled):
2613         (WebCore::ListBox::isEnabled):
2614         (WebCore::ListBox::setWritingDirection):
2615         (WebCore::ListBox::focusPolicy):
2616         (WebCore::ListBox::checksDescendantsForFocus):
2617         (WebCore::ListBox::clearCachedTextRenderers):
2618         (WebCore::ListBox::setFont):
2619         (WebCore::ListBox::appendItem):
2620         * platform/qt/ScrollViewQt.cpp: Added.
2621         (WebCore::ScrollView::ScrollView):
2622         (WebCore::ScrollView::~ScrollView):
2623         (WebCore::ScrollView::setParentWidget):
2624         (WebCore::ScrollView::updateContents):
2625         (WebCore::ScrollView::visibleWidth):
2626         (WebCore::ScrollView::visibleHeight):
2627         (WebCore::ScrollView::visibleContentRect):
2628         (WebCore::ScrollView::setContentsPos):
2629         (WebCore::ScrollView::resizeContents):
2630         (WebCore::ScrollView::contentsX):
2631         (WebCore::ScrollView::contentsY):
2632         (WebCore::ScrollView::contentsWidth):
2633         (WebCore::ScrollView::contentsHeight):
2634         (WebCore::ScrollView::viewportToContents):
2635         (WebCore::ScrollView::contentsToViewport):
2636         (WebCore::ScrollView::scrollOffset):
2637         (WebCore::ScrollView::scrollBy):
2638         (WebCore::ScrollView::hScrollBarMode):
2639         (WebCore::ScrollView::vScrollBarMode):
2640         (WebCore::ScrollView::suppressScrollBars):
2641         (WebCore::ScrollView::setHScrollBarMode):
2642         (WebCore::ScrollView::setVScrollBarMode):
2643         (WebCore::ScrollView::setScrollBarsMode):
2644         (WebCore::ScrollView::setStaticBackground):
2645         (WebCore::ScrollView::addChild):
2646         (WebCore::ScrollView::removeChild):
2647         (WebCore::ScrollView::scrollPointRecursively):
2648         (WebCore::ScrollView::inWindow):
2649         * platform/qt/TextEditQt.cpp: Added.
2650         (WebCore::PlatformTextEdit::PlatformTextEdit):
2651         (WebCore::PlatformTextEdit::~PlatformTextEdit):
2652         (WebCore::PlatformTextEdit::setParentWidget):
2653         (WebCore::PlatformTextEdit::setColors):
2654         (WebCore::PlatformTextEdit::setAlignment):
2655         (WebCore::PlatformTextEdit::setLineHeight):
2656         (WebCore::PlatformTextEdit::setCursorPosition):
2657         (WebCore::PlatformTextEdit::getCursorPosition):
2658         (WebCore::PlatformTextEdit::setFont):
2659         (WebCore::PlatformTextEdit::setReadOnly):
2660         (WebCore::PlatformTextEdit::isReadOnly):
2661         (WebCore::PlatformTextEdit::setDisabled):
2662         (WebCore::PlatformTextEdit::isDisabled):
2663         (WebCore::PlatformTextEdit::hasSelectedText):
2664         (WebCore::PlatformTextEdit::setText):
2665         (WebCore::PlatformTextEdit::text):
2666         (WebCore::PlatformTextEdit::textWithHardLineBreaks):
2667         (WebCore::PlatformTextEdit::focusPolicy):
2668         (WebCore::PlatformTextEdit::setWordWrap):
2669         (WebCore::PlatformTextEdit::wordWrap):
2670         (WebCore::PlatformTextEdit::setScrollBarModes):
2671         (WebCore::PlatformTextEdit::setWritingDirection):
2672         (WebCore::PlatformTextEdit::selectionStart):
2673         (WebCore::PlatformTextEdit::selectionEnd):
2674         (WebCore::PlatformTextEdit::setSelectionStart):
2675         (WebCore::PlatformTextEdit::setSelectionEnd):
2676         (WebCore::PlatformTextEdit::selectAll):
2677         (WebCore::PlatformTextEdit::setSelectionRange):
2678         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
2679         (WebCore::PlatformTextEdit::checksDescendantsForFocus):
2680         * platform/qt/WidgetQt.cpp: Added.
2681         (WebCore::WidgetPrivate::WidgetPrivate):
2682         (WebCore::WidgetPrivate::~WidgetPrivate):
2683         (WebCore::Widget::Widget):
2684         (WebCore::Widget::~Widget):
2685         (WebCore::Widget::setClient):
2686         (WebCore::Widget::client):
2687         (WebCore::Widget::frameGeometry):
2688         (WebCore::Widget::hasFocus):
2689         (WebCore::Widget::setFocus):
2690         (WebCore::Widget::clearFocus):
2691         (WebCore::Widget::font):
2692         (WebCore::Widget::setFont):
2693         (WebCore::Widget::setCursor):
2694         (WebCore::Widget::show):
2695         (WebCore::Widget::hide):
2696         (WebCore::Widget::setQWidget):
2697         (WebCore::Widget::qwidget):
2698         (WebCore::Widget::setParentWidget):
2699         (WebCore::Widget::parentWidget):
2700         (WebCore::Widget::setFrameGeometry):
2701         (WebCore::Widget::mapFromGlobal):
2702         (WebCore::Widget::scaleFactor):
2703         (WebCore::Widget::lockDrawingFocus):
2704         (WebCore::Widget::unlockDrawingFocus):
2705         (WebCore::Widget::paint):
2706         (WebCore::Widget::enableFlushDrawing):
2707         (WebCore::Widget::isEnabled):
2708         (WebCore::Widget::setIsSelected):
2709         (WebCore::Widget::disableFlushDrawing):
2710         (WebCore::Widget::setEnabled):
2711         (WebCore::Widget::focusPolicy):
2712
2713 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
2714
2715         Reviewed by Eric. Landed by rwlbuis.
2716
2717         First chunk of the implementation for:
2718         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2719
2720         WebKit should have Qt platform support
2721
2722         * platform/qt/ColorQt.cpp: Added.
2723         (WebCore::Color::Color):
2724         (WebCore::Color::operator QColor):
2725         * platform/qt/FloatPointQt.cpp: Added.
2726         (WebCore::FloatPoint::FloatPoint):
2727         (WebCore::FloatPoint::operator QPointF):
2728         * platform/qt/FloatRectQt.cpp: Added.
2729         (WebCore::FloatRect::FloatRect):
2730         (WebCore::FloatRect::operator QRectF):
2731         * platform/qt/IntPointQt.cpp: Added.
2732         (WebCore::IntPoint::IntPoint):
2733         (WebCore::IntPoint::operator QPoint):
2734         * platform/qt/IntRectQt.cpp: Added.
2735         (WebCore::IntRect::IntRect):
2736         (WebCore::IntRect::operator QRect):
2737         * platform/qt/IntSizeQt.cpp: Added.
2738         (WebCore::IntSize::IntSize):
2739         (WebCore::IntSize::operator QSize):
2740
2741  2006-08-18  Nikolas Zimmermann  <zimmermann@kde.org>
2742  
2743          Reviewed by Eric. Landed by rwlbuis.
2744  
2745          Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10470
2746          The Qt platform needs a KCanvas device.
2747  
2748          * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
2749          (WebCore::KCanvasClipperQt::applyClip):
2750          * kcanvas/device/qt/KCanvasClipperQt.h: Added.
2751          (WebCore::KCanvasClipperQt::KCanvasClipperQt):
2752          * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
2753          (WebCore::KCanvasPathQt::KCanvasPathQt):
2754          (WebCore::KCanvasPathQt::~KCanvasPathQt):
2755          (WebCore::KCanvasPathQt::isEmpty):
2756          (WebCore::KCanvasPathQt::moveTo):
2757          (WebCore::KCanvasPathQt::lineTo):
2758          (WebCore::KCanvasPathQt::curveTo):
2759          (WebCore::KCanvasPathQt::closeSubpath):
2760          (WebCore::KCanvasPathQt::boundingBox):
2761          (WebCore::KCanvasPathQt::strokeBoundingBox):
2762          (WebCore::KCanvasPathQt::strokeContainsPoint):
2763          (WebCore::KCanvasPathQt::containsPoint):
2764          * kcanvas/device/qt/KCanvasPathQt.h: Added.
2765          (WebCore::KCanvasPathQt::qtPath):
2766          * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
2767          (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
2768          (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
2769          (WebCore::KRenderingDeviceContextQt::concatCTM):
2770          (WebCore::KRenderingDeviceContextQt::ctm):
2771          (WebCore::KRenderingDeviceContextQt::mapFromVisual):
2772          (WebCore::KRenderingDeviceContextQt::mapToVisual):
2773          (WebCore::KRenderingDeviceContextQt::clearPath):
2774          (WebCore::KRenderingDeviceContextQt::addPath):
2775          (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
2776          (WebCore::KRenderingDeviceContextQt::painter):
2777          (WebCore::KRenderingDeviceContextQt::pathBBox):
2778          (WebCore::KRenderingDeviceContextQt::setFillRule):
2779          (WebCore::KRenderingDeviceContextQt::fillPath):
2780          (WebCore::KRenderingDeviceContextQt::strokePath):
2781          (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
2782          (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
2783          (WebCore::KRenderingDeviceQt::popContext):
2784          (WebCore::KRenderingDeviceQt::pushContext):
2785          (WebCore::KRenderingDeviceQt::qtContext):
2786          (WebCore::KRenderingDeviceQt::contextForImage):
2787          (WebCore::KRenderingDeviceQt::stringForPath):
2788          (WebCore::KRenderingDeviceQt::createResource):
2789          (WebCore::KRenderingDeviceQt::createPaintServer):
2790          (WebCore::KRenderingDeviceQt::createFilterEffect):
2791
2792 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
2793
2794         Reviewed by Eric. Landed by rwlbuis.
2795
2796         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10466
2797         WebKit should have Qt platform support.
2798
2799         * platform/Color.h:
2800         * platform/Cursor.h:
2801         (WebCore::Cursor::Cursor):
2802         * platform/FloatPoint.h:
2803         * platform/FloatRect.h:
2804         * platform/GlyphBuffer.h:
2805         (WebCore::GlyphBuffer::glyphAt):
2806         (WebCore::GlyphBuffer::advanceAt):
2807         (WebCore::GlyphBuffer::add):
2808         * platform/GraphicsContext.h:
2809         * platform/ImageSource.h:
2810         * platform/IntPoint.h:
2811         * platform/IntRect.h:
2812         * platform/IntSize.h:
2813         * platform/ListBox.h:
2814         * platform/Path.h:
2815         * platform/PlatformKeyboardEvent.h:
2816         * platform/PlatformMouseEvent.h:
2817         * platform/ResourceLoader.h:
2818         * platform/ResourceLoaderClient.h:
2819         * platform/ResourceLoaderInternal.h:
2820         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2821         * platform/ScrollView.h:
2822         * platform/Widget.h:
2823
2824 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
2825
2826         Reviewed by Eric. Landed by rwlbuis.
2827
2828         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10465
2829         General WebKit Linux build fixes.
2830
2831         * kcanvas/KCanvasFilters.cpp:
2832         (WebCore::operator<<):
2833         * kcanvas/RenderSVGImage.cpp:
2834         * ksvg2/css/SVGCSSStyleSelector.cpp:
2835         * ksvg2/svg/SVGAnimateColorElement.cpp:
2836         * ksvg2/svg/SVGMaskElement.cpp:
2837         * ksvg2/svg/SVGPatternElement.cpp:
2838         * page/Frame.h:
2839         * rendering/RenderStyle.h:
2840         (WebCore::RenderStyle::deleteBindingURIs):
2841         * xml/DOMParser.cpp:
2842
2843 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
2844
2845         Reviewed by Eric. Landed by rwlbuis.
2846
2847         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10464
2848         Offer a cmake build system for Qt platform.
2849
2850         * CMakeLists.txt: Added.
2851
2852 2006-08-17  David Harrison  <harrison@apple.com>
2853
2854         Reviewed by John Sullivan.
2855
2856         <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
2857
2858         Accessorized RenderMenuList objects.
2859         
2860         * bridge/mac/WebCoreAXObject.mm:
2861         (-[WebCoreAXObject mouseButtonListener]):
2862         Trivial formatting.
2863         
2864         (-[WebCoreAXObject actionElement]):
2865         Return the HTMLSelectElement.
2866         
2867         (-[WebCoreAXObject firstChild]):
2868         (-[WebCoreAXObject lastChild]):
2869         (-[WebCoreAXObject previousSibling]):
2870         (-[WebCoreAXObject nextSibling]):
2871         (-[WebCoreAXObject parentObject]):
2872         (-[WebCoreAXObject parentObjectUnignored]):
2873         (-[WebCoreAXObject isAttachment]):
2874         (-[WebCoreAXObject attachmentView]):
2875         Trivial formatting.
2876
2877         (-[WebCoreAXObject role]):
2878         Return NSAccessibilityPopUpButtonRole.
2879
2880         (-[WebCoreAXObject subrole]):
2881         Trivial formatting.
2882         
2883         (-[WebCoreAXObject roleDescription]):
2884         Return NSAccessibilityPopUpButtonRole.
2885         
2886         (-[WebCoreAXObject textUnderElement]):
2887         Trivial formatting.
2888
2889         (-[WebCoreAXObject value]):
2890         Return the RenderMenuList::text().
2891         
2892         (-[WebCoreAXObject position]):
2893          Trivial formatting.
2894
2895         (-[WebCoreAXObject accessibilityIsIgnored]):
2896         - Ignore popup menu items because AppKit does.
2897         - Remove redundant check for buttonTag (earlier isControl() check suffices).
2898         
2899         (-[WebCoreAXObject accessibilityAttributeNames]):
2900         (-[WebCoreAXObject accessibilityActionNames]):
2901         (-[WebCoreAXObject accessibilityAttributeValue:]):
2902         Trivial formatting.
2903         
2904         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
2905         Removed old debugging code that is no longer needed.
2906         Trivial formatting.
2907         
2908         (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
2909         (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
2910         (-[WebCoreAXObject removeAXObjectID]):
2911         Trivial formatting.
2912         
2913         * html/HTMLSelectElement.cpp:
2914         (WebCore::HTMLSelectElement::accessKeyAction):
2915         Call click() instead of focus().
2916         
2917         * rendering/RenderMenuList.cpp:
2918         (WebCore::RenderMenuList::text):
2919         Added for easy access to popup's current text.
2920         
2921         * rendering/RenderMenuList.h:
2922         (WebCore::RenderMenuList::isMenuList):
2923         * rendering/RenderObject.h:
2924         (WebCore::RenderObject::isMenuList):
2925         Added so popups can be identified.
2926
2927 2006-08-17  David Harrison  <harrison@apple.com>
2928
2929         Reviewed by Maciej.
2930
2931         <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
2932
2933         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
2934         is not possible.  See following bug...
2935             <rdar://problem/4256882> Need automated testing support for accessibility APIs
2936
2937         * bridge/mac/AXObjectCacheMac.mm:
2938         (WebCore::AXObjectCache::visiblePositionForTextMarker):
2939         Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
2940
2941 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
2942
2943         Reviewed by Anders.
2944
2945         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10447
2946         AffineTransform should be multi-platform compatible
2947
2948         * platform/AffineTransform.h:
2949         * platform/cg/AffineTransformCG.cpp:
2950         (WebCore::AffineTransform::m11):
2951         (WebCore::AffineTransform::m12):
2952         (WebCore::AffineTransform::m21):
2953         (WebCore::AffineTransform::m22):
2954         (WebCore::AffineTransform::dx):
2955         (WebCore::AffineTransform::dy):
2956
2957 2006-08-16  David Hyatt  <hyatt@apple.com>
2958
2959         Fix an issue with CSS2 system fonts where they did not respect text
2960         zoom.  This was most visible with the new control fonts used for form
2961         controls (they stopped swapping between small/mini/regular as you zoomed).
2962
2963         Reviewed by beth
2964
2965         * css/cssstyleselector.cpp:
2966         (WebCore::CSSStyleSelector::applyProperty):
2967
2968 2006-08-15  Justin Garcia  <justin.garcia@apple.com>
2969
2970         Reviewed by thatcher
2971         
2972         First part of fix for:
2973         <rdar://problem/4384589>
2974         Mail hung on paste text
2975         
2976         Fixes:
2977         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8592>
2978         Extra line left after deleting whitespace:pre text
2979         <rdar://problem/4128080> Paste as HTML does not yield equivalent style
2980         <rdar://problem/4046469> Box styles on first element aren't copied/pasted
2981         Copy/paste of arstechnica.com
2982         
2983         Here's how we avoid adding redundant style information on paste: insert 
2984         the fragment and do a test rendering, save away style information for 
2985         every node in the fragment, remove all style information from the fragment, 
2986         remove the fragment, insert it into the appropriate place in the document, 
2987         then restore only those styles gathered during the test insertion that aren't
2988         redundant.  Restoring the styles in this way results in an ApplyStyleCommand 
2989         and a layout for nearly every inserted node.  
2990         Instead we want to insert the fragment into the document without removing the 
2991         style information, then mark style nodes and inline style declarations for 
2992         removal if they are redundant, and sweep to remove them.  This means that we 
2993         can't rely on ReplacementFragment::wasBlock anymore, because blocks will now 
2994         have style spans around them.  This patch removes the use of wasBlock in 
2995         ReplaceSelectionCommand.
2996         
2997         * editing/CompositeEditCommand.cpp:
2998         (WebCore::CompositeEditCommand::moveParagraphs): Added code
2999         to remove the line placeholder left after a move from preserveNewline text.
3000         * editing/DeleteSelectionCommand.cpp:
3001         (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if 
3002         we're deleting a paragraph in preserveNewline text.
3003         * editing/JSEditor.cpp: Pass true to prevent nesting.
3004         * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
3005         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
3006         (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
3007         (WebCore::RenderingInfo::RenderingInfo): Ditto.
3008         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3009         (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
3010         merging rules into one method.
3011         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
3012         (WebCore::ReplaceSelectionCommand::shouldMerge):
3013         (WebCore::ReplaceSelectionCommand::doApply): 
3014         Don't do nesting prevention when pasting into an empty paragraph, this
3015         fixes 4046469, the common cause of paste fidelity bugs, but needs
3016         to be tweaked a little because this can lead to margin/border build-up
3017         on repeated copy/pastes.
3018         Don't track startPos in addition to insertionPos.  It was never used.
3019         Fixed a bug where a fragment starting with an interchange newline would
3020         cause content to be put outside of an editable region when pasting at the 
3021         very end of it.
3022         Adjust insertionPos before insertion (not during) and do not consult wasBlock
3023         to decide whether or not to do so.
3024         Changed the way we do the start merge: insert the fragment, then stich 
3025         paragraphs together, in the same way that we do the end merge.  This 
3026         doesn't require wasBlock and fixes bugs.
3027         Replaced some uses of insertionPos with endOfInsertedContent.
3028         Fixed a bug in the expansion of the last incoming br (a "collapsed" br
3029         is one where !isStartOfParagraph([br,0])).
3030         Removed the special case code that did the end merge for the preserveNewline 
3031         case, since this patch fixes the moveParagraph bug in the preserveNewline case.
3032         Removed some unused variables.
3033         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was 
3034         holding a line open should always be displaced by inserted content, unless 
3035         the inserted content ends with a br.
3036         (WebCore::ReplaceSelectionCommand::updateNodesInserted):
3037         * editing/ReplaceSelectionCommand.h:
3038         (WebCore::RenderingInfo::style):
3039         * editing/markup.cpp:
3040         (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
3041         annotate is true (when we're creating markup for the pasteboard).
3042
3043 2006-08-16  John Sullivan  <sullivan@apple.com>
3044
3045         Reviewed by Brady Eidson
3046         
3047         - fixed <rdar://problem/4637156> underlines appearing in white selection text
3048
3049         * rendering/InlineFlowBox.cpp:
3050         (WebCore::InlineFlowBox::paintDecorations):
3051         bail out if phase is PaintPhaseSelection and forceWhiteText is true
3052
3053 2006-08-16  Brady Eidson  <beidson@apple.com>
3054
3055         Reviewed by John
3056
3057         Updated the DB version number and added a helpful comment explaining its meaning
3058
3059         * loader/icon/IconDatabase.cpp:
3060
3061 2006-08-16  Brady Eidson  <beidson@apple.com>
3062
3063         Reviewed by Maciej
3064
3065         Major refactoring of new iconDB:
3066         -Instead of private browsing being handled by in-memory tables, it's now handled
3067          by a separate in-memory database with the same table names.  This allows us to 
3068          re-use the same SQL on either the main or private-browsing database
3069         -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
3070          "Query" that take a database as the method's argument so the same language can run on
3071          both private and main tables
3072         -Now that we have two DBs, moved the retain/release count to the m_mainDB
3073         -While I was at it, updated the schema to combine the Icon and IconResource table - cuts 
3074          down on some high-usage, low value queries which were too expensive
3075         -Ditched the _url -> url convention for escaping urls for SQL.  Now its url and escapedURL
3076         -Pruned tons of unused methods from previous revisions
3077
3078      * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used 
3079         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
3080         * loader/icon/IconDatabase.cpp:
3081         (WebCore::IconDatabase::IconDatabase): Updated initializer list
3082         (WebCore::IconDatabase::open): Sets up both databases
3083         (WebCore::IconDatabase::close): Closes both databases
3084         (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
3085         (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
3086         (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
3087         (WebCore::IconDatabase::createDatabaseTables): Ditto
3088         (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
3089         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
3090         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
3091         (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
3092         (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes 
3093         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
3094         (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
3095         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
3096         (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
3097         (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
3098         (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
3099         (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
3100         (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
3101         (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
3102         (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
3103         (WebCore::IconDatabase::~IconDatabase):
3104         (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
3105         (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
3106         (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
3107         (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
3108         (WebCore::forgetPageURLQuery): Self-explanatory SQL query
3109         (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
3110         (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
3111         (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
3112         (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
3113      * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
3114         (WebCore::IconDatabase::isOpen):  Changed our meaning of "isOpen" to reflect the 2 databases
3115
3116 2006-08-15  Jonas Witt <jonas.witt@gmail.com>
3117
3118         Reviewed by Darin.
3119
3120         - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
3121           http://bugzilla.opendarwin.org/show_bug.cgi?id=9736
3122
3123         * bindings/objc/DOMEvents.mm:
3124         (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
3125         * bindings/objc/DOMEventsNonstandard.mm:
3126         (-[DOMWheelEvent initWheelEvent:::::::::::]):
3127         * bindings/objc/DOMPrivate.h:
3128
3129         - added an initializer for the WheelEvent
3130
3131         * dom/WheelEvent.cpp:
3132         (WebCore::WheelEvent::initWheelEvent):
3133         * dom/WheelEvent.h:
3134
3135 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
3136
3137         Reviewed by Tim H.
3138
3139         Build fix:  DWARF and -gfull are incompatible with symbol separation.
3140
3141         * WebCore.xcodeproj/project.pbxproj:
3142
3143 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
3144
3145         Reviewed by Tim H.
3146
3147         http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
3148         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
3149
3150         * WebCore.xcodeproj/project.pbxproj:
3151
3152 2006-08-15  Geoffrey Garen  <ggaren@apple.com>
3153
3154         Reviewed by Darin.
3155         
3156         - This patch reworks a previous fix for <rdar://problem/3524912> repro 
3157         crash in KHTMLParser::parseToken, due to parser's current element being 
3158         destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
3159         leaks.
3160         
3161         The previous solutions caused a ~2% performance regression on iBench HTML,
3162         due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
3163         for a total win of ~3% vs current TOT.
3164         
3165         We can merge this fix to the branch to fix <rdar://problem/4661982> 
3166         (crash in KHTMLParser::popBlock).
3167         
3168         The solution here is:
3169         (1) Don't let the parser ref document nodes -- that causes leaks.
3170         (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when 
3171         moving a node between stacks or to/from 'current', rather than deref'ing
3172         and then ref'ing again, simply move the node, along with its refcount, to
3173         its new location, and overwrite its old location.
3174  
3175         * WebCore.xcodeproj/project.pbxproj:
3176         * html/HTMLParser.cpp:
3177         (WebCore::HTMLStackElem::HTMLStackElem):
3178         (WebCore::HTMLStackElem::derefNode):
3179         (WebCore::HTMLParser::HTMLParser):
3180         (WebCore::HTMLParser::setCurrent):
3181         (WebCore::HTMLParser::insertNode):
3182         (WebCore::HTMLParser::popNestedHeaderTag):
3183         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
3184         (WebCore::HTMLParser::reopenResidualStyleTags):
3185         (WebCore::HTMLParser::pushBlock):
3186         (WebCore::HTMLParser::popBlock):
3187         (WebCore::HTMLParser::popOneBlockCommon):
3188         (WebCore::HTMLParser::popOneBlock):
3189         (WebCore::HTMLParser::moveOneBlockToStack):
3190         * html/HTMLParser.h:
3191
3192 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
3193
3194         Reviewed by Tim H.
3195
3196         http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
3197         Bug 10384: Switch to DWARF for Release configuration
3198
3199         * WebCore.xcodeproj/project.pbxproj:
3200
3201 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
3202
3203         Reviewed by Hyatt.
3204         Tweaked and landed by Darin.
3205
3206         http://bugzilla.opendarwin.org/show_bug.cgi?id=10399
3207         Bug 10399: RenderTextArea is unused
3208
3209         * WebCore.vcproj/WebCore/WebCore.vcproj:
3210         * WebCore.xcodeproj/project.pbxproj:
3211         * WebCoreSources.bkl:
3212         Removed RenderTextArea source files.
3213
3214         * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
3215         * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
3216
3217         * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
3218
3219         * platform/TextBox.h: Removed.
3220         * platform/mac/TextBoxMac.mm: Removed.
3221         * platform/mac/WebCoreTextArea.h: Removed.
3222         * platform/mac/WebCoreTextArea.mm: Removed.
3223         * rendering/RenderTextArea.cpp: Removed.
3224         * rendering/RenderTextArea.h: Removed.
3225
3226 2006-08-15  Brady Eidson  <beidson@apple.com>
3227
3228         Reviewed by THE OTHER Maciej...
3229
3230         Two small fixes -
3231         1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
3232         2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
3233         null dereference later
3234
3235         * bridge/mac/WebCoreIconDatabaseBridge.mm:
3236         (-[WebCoreIconDatabaseBridge retainIconForURL:]):  Changed IconDatabase method name
3237         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):  ditto
3238         * loader/icon/IconDatabase.cpp:
3239         (WebCore::IconDatabase::retainIconForPageURL):  Name change
3240         (WebCore::IconDatabase::releaseIconForPageURL):  ditto
3241         (WebCore::IconDatabase::setIconURLForPageURL):  Added the null site-icon check when changing a PageURL's iconURL
3242         * loader/icon/IconDatabase.h:  Some renames
3243
3244 2006-08-14  Eric Seidel  <eric@eseidel.com>
3245
3246         Reviewed by mjs.
3247
3248         <mask>, <marker>, <pattern> inside <defs> do not work
3249         http://bugzilla.opendarwin.org/show_bug.cgi?id=6548
3250
3251         * ksvg2/svg/SVGDefsElement.cpp:
3252         (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
3253         (WebCore::SVGDefsElement::isValid): moved to .cpp file
3254         (WebCore::SVGDefsElement::rendererIsNeeded): Added.
3255         (WebCore::SVGDefsElement::createRenderer): Added.
3256         * ksvg2/svg/SVGDefsElement.h:
3257         * ksvg2/svg/SVGGElement.cpp:
3258         (WebCore::SVGGElement::SVGGElement): adjusted spacing
3259         (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
3260         (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing
3261
3262 2006-08-14  Eric Seidel  <eric@eseidel.com>
3263
3264         Reviewed by darin and mjs.
3265         
3266         Add better SVGLoad event support.
3267         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
3268         There will still need to be additional support added for <link> and <script> elements.
3269         Not all of the error -> loaded -> error transition cases work yet.
3270
3271         * dom/EventTargetNode.cpp:
3272         (WebCore::EventTargetNode::dispatchGenericEvent):
3273         * html/HTMLImageLoader.cpp:
3274         (WebCore::HTMLImageLoader::dispatchLoadEvent):
3275         * html/HTMLImageLoader.h:
3276         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
3277         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
3278         * ksvg2/misc/SVGImageLoader.cpp:
3279         (WebCore::SVGImageLoader::SVGImageLoader):
3280         (WebCore::SVGImageLoader::dispatchLoadEvent):
3281         * ksvg2/misc/SVGImageLoader.h:
3282         * ksvg2/svg/SVGAElement.cpp:
3283         (WebCore::SVGAElement::parseMappedAttribute):
3284         * ksvg2/svg/SVGAnimatedBoolean.h:
3285         * ksvg2/svg/SVGElement.cpp:
3286         (WebCore::SVGElement::SVGElement):
3287         (WebCore::SVGElement::parseMappedAttribute):
3288         (WebCore::SVGElement::haveLoadedRequiredResources):
3289         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
3290         (WebCore::SVGElement::closeRenderer):
3291         * ksvg2/svg/SVGElement.h:
3292         (WebCore::SVGElement::rendererIsNeeded):
3293         (WebCore::svg_dynamic_cast):
3294         * ksvg2/svg/SVGExternalResourcesRequired.h:
3295         * ksvg2/svg/SVGImageElement.cpp:
3296         (SVGImageElement::SVGImageElement):
3297         (SVGImageElement::haveLoadedRequiredResources):
3298         * ksvg2/svg/SVGImageElement.h:
3299         * ksvg2/svg/SVGSVGElement.cpp:
3300         (WebCore::SVGSVGElement::parseMappedAttribute):
3301         * ksvg2/svg/SVGScriptElement.cpp:
3302         (WebCore::SVGScriptElement::SVGScriptElement):
3303         (WebCore::SVGScriptElement::parseMappedAttribute):
3304         (WebCore::SVGScriptElement::executeScript):
3305         * xml/xmlhttprequest.cpp:
3306         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
3307
3308 2006-08-14  Anders Carlsson  <acarlsson@apple.com>
3309
3310         Reviewed by Maciej.
3311
3312         http://bugzilla.opendarwin.org/show_bug.cgi?id=10393
3313         Autogenerate NodeIterator and TreeWalker.
3314         
3315         * DerivedSources.make:
3316         * WebCore.xcodeproj/project.pbxproj:
3317         Add new files.
3318         
3319         * bindings/js/JSNodeIteratorCustom.cpp: Added.
3320         (WebCore::JSNodeIterator::mark):
3321         * bindings/js/JSTreeWalkerCustom.cpp: Added.
3322         (WebCore::JSTreeWalker::mark):
3323         
3324         * bindings/js/kjs_traversal.cpp:
3325         * bindings/js/kjs_traversal.h:
3326         Remove implementations of DOMNodeIterator and DOMTreeWalker.
3327
3328         * bindings/scripts/CodeGeneratorJS.pm:
3329         Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
3330         
3331         * bindings/objc/DOM.mm:
3332         (-[DOMNodeIterator detach]):
3333         * dom/NodeIterator.cpp:
3334         (WebCore::NodeIterator::detach):
3335         * dom/NodeIterator.h:
3336         Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
3337         * dom/NodeIterator.idl: Added.
3338         * dom/TreeWalker.idl: Added.
3339
3340 2006-08-14  Brady Eidson  <beidson@apple.com>
3341
3342         Reviewed by John
3343
3344         The changes are plentiful, but small, mostly to improve performance
3345         1) Add a bool flag to SiteIcon to stop it from querying the database over and over
3346         2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
3347         3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
3348         4) Added isIconURLRetained() to optimize the retain count check
3349         5) Prune old, unused code
3350
3351         * loader/icon/IconDatabase.cpp:
3352         (WebCore::IconDatabase::imageDataForIconID): Removed unused code
3353         (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
3354         (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
3355         (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
3356         (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
3357         (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
3358         (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
3359         (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
3360           for an icon so much as whether or not it is retained
3361         (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
3362           SQLite code
3363         * loader/icon/IconDatabase.h:  Added new methods/variables
3364         * loader/icon/SiteIcon.cpp:
3365         (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
3366         (SiteIcon::getImage): Ditto
3367
3368 2006-08-14  David Hyatt  <hyatt@apple.com>
3369
3370         Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.
3371
3372         Reviewed by ggaren
3373
3374         Added fast/parser/bad-xml-slash.html
3375
3376         * html/HTMLTokenizer.cpp:
3377         (WebCore::HTMLTokenizer::parseTag):
3378
3379 2006-08-14  Darin Adler  <darin@apple.com>
3380
3381         Reviewed by John Sullivan.
3382
3383         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10204
3384           REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages
3385
3386         Test: fast/parser/title-error-test.html
3387
3388         * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Fixed an error
3389         handling case that was skipping until a </style> tag in code that was shared
3390         between both <title> and <style>. Also rearranged the code a tiny bit.
3391
3392 2006-08-14  Darin Adler  <darin@apple.com>
3393
3394         Reviewed by Hyatt.
3395
3396         - fixed some storage leaks
3397           (part of http://bugzilla.opendarwin.org/show_bug.cgi?id=10259)
3398
3399         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
3400         Rearrange code so that "delete this" is called any time the function returns
3401         false -- ownership was inconsistent before.
3402
3403         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode):
3404         Call deleteLineBoxWrapper even when documentBeingDestroyed() is true, because
3405         some of what it does has to be done during destruction. A little awkward since
3406         I preserved the order of operations. Perhaps we could structure this better later.
3407
3408 2006-08-14  David Harrison  <harrison@apple.com>
3409
3410         Reviewed by John Sullivan and Geoff Garen.
3411
3412         <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute
3413
3414         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
3415         is not possible.  See following bug...
3416             <rdar://problem/4256882> Need automated testing support for accessibility APIs
3417
3418         * bridge/mac/WebCoreAXObject.mm:
3419         (-[WebCoreAXObject accessibilityDescription]):
3420         For a web area, return the name of the owning frame or iframe.
3421         
3422         (-[WebCoreAXObject accessibilityAttributeNames]):
3423         Advertize NSAccessibilityDescriptionAttribute.
3424         
3425         (-[WebCoreAXObject rendererForView:]):
3426         Clean up some old naming.
3427
3428 2006-08-11  Anders Carlsson  <acarlsson@apple.com>
3429
3430         Reviewed by Darin.
3431
3432         http://bugzilla.opendarwin.org/show_bug.cgi?id=10353
3433         XMLSerializer and DOMParser should have real implementations
3434         
3435         Make real implementation files for DOMParser and XMLSerializer and wrap them
3436         using our bindings generation.
3437         
3438         * DerivedSources.make:
3439         * WebCore.xcodeproj/project.pbxproj:
3440         * bindings/js/JSDOMParser.cpp: Removed.
3441         * bindings/js/JSDOMParser.h: Removed.
3442         * bindings/js/JSXMLSerializer.cpp: Removed.
3443         * bindings/js/JSXMLSerializer.h: Removed.
3444         * bindings/js/kjs_window.cpp:
3445         (KJS::Window::getValueProperty):
3446         * bindings/js/kjs_window.h:
3447         (KJS::Window::):
3448         * page/DOMWindow.idl:
3449         * xml/DOMParser.cpp: Added.
3450         (WebCore::DOMParser::parseFromString):
3451         * xml/DOMParser.h: Added.
3452         * xml/DOMParser.idl: Added.
3453         * xml/XMLSerializer.cpp: Added.
3454         (WebCore::XMLSerializer::serializeToString):
3455         * xml/XMLSerializer.h: Added.
3456         * xml/XMLSerializer.idl: Added.
3457
3458 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
3459
3460         Reviewed by Brady.
3461
3462         - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
3463
3464         * WebCore.exp: export new functions
3465         * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
3466         * platform/mac/WebCoreSystemInterface.mm: ditto
3467
3468 2006-08-13  Maks Orlovich  <maksim@kde.org>
3469
3470         Reviewed (and tweaked a little) by Maciej.
3471         
3472         - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
3473         in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
3474
3475         The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
3476         
3477         * bindings/js/kjs_events.cpp:
3478         (KJS::JSLazyEventListener::parseCode):
3479
3480 2006-08-12  Eric Seidel  <eric@eseidel.com>
3481
3482         Reviewed by hyatt and mjs.
3483
3484         Fix two missing null checks causing layout test crashes.
3485
3486         * css/cssstyleselector.cpp:
3487         (WebCore::CSSStyleSelector::adjustRenderStyle): check e for null (null for pseudo styles)
3488         * kcanvas/RenderSVGContainer.cpp:
3489         (WebCore::RenderSVGContainer::requiresLayer): check parent()->element() for null
3490
3491
3492 2006-08-11  Eric Seidel  <eric@eseidel.com>
3493
3494         Reviewed by andersca.
3495
3496         The outermost <svg> element needs to clip itself
3497         http://bugzilla.opendarwin.org/show_bug.cgi?id=5358
3498
3499         * css/cssstyleselector.cpp:
3500         (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
3501         * kcanvas/RenderSVGContainer.cpp:
3502         (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
3503         (WebCore::RenderSVGContainer::paint):
3504         * kcanvas/device/KRenderingDevice.h:
3505         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
3506         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
3507         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
3508         * ksvg2/svg/SVGPaint.cpp: spacing changes
3509         (WebCore::SVGPaint::SVGPaint): spacing cleanup
3510         * ksvg2/svg/SVGSVGElement.cpp:
3511         (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
3512         * platform/GraphicsContext.h: Added concatCTM
3513         * platform/cg/GraphicsContextCG.cpp:
3514         (WebCore::GraphicsContext::concatCTM): Added.
3515
3516 2006-08-11  Brady Eidson  <beidson@apple.com>
3517
3518         Reviewed by Maciej
3519
3520         Renamed a method/parameter for clarity and consistency, as well as some style
3521         cleanups and removing some ridiculously verbose log messages.
3522         Also added an _isEmpty method to the database and bridge for WebKit's use.
3523         Finally, added a central way for both WebKit and WebCore to get the icon database filename
3524
3525         * bridge/mac/WebCoreIconDatabaseBridge.h:  Added _isEmpty and defaultDatabaseFilename
3526         * bridge/mac/WebCoreIconDatabaseBridge.mm:  Removed an unnecessary semicolon off most of these methods