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