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