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