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