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