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