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