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