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