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