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