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