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