3dbb360131a6f7ec56c2366a351730a4be01866f
[WebKit-https.git] / WebCore / ChangeLog
1 2006-07-07  Darin Adler  <darin@apple.com>
2
3         Reviewed by Maciej.
4
5         - fixed a storage leak noticed by the buildbot
6
7         * dom/Document.cpp: (WebCore::Document::removedLastRef):
8         Call delete on the markers before clearing the map containing them.
9
10 2006-07-08  Anders Carlsson  <acarlsson@apple.com>
11
12         Reviewed by Brady.
13
14         http://bugzilla.opendarwin.org/show_bug.cgi?id=9777
15         Reproducible crash in Loading/Frames in ToT.
16         
17         The problem was that the renderpart destructor resets the frame's 
18         owner element. For iframes, this should only be done when the element is 
19         going to be removed from the document.
20         
21         * html/HTMLIFrameElement.cpp:
22         (WebCore::HTMLIFrameElement::~HTMLIFrameElement):
23         (WebCore::HTMLIFrameElement::willRemove):
24         (WebCore::HTMLIFrameElement::removedFromDocument):
25         (WebCore::HTMLIFrameElement::detach):        
26         * html/HTMLIFrameElement.h:
27         Remove the frame in willRemove instead.
28         
29         * rendering/RenderPart.cpp:
30         (WebCore::RenderPart::RenderPart):
31         (WebCore::RenderPart::~RenderPart):
32         * rendering/RenderPart.h:
33         Don't call setFrame(0) in the destructor when the element is an iframe element.
34
35 2006-07-07  Darin Adler  <darin@apple.com>
36
37         Reviewed by Anders.
38
39         - fixed a storage leak noticed by the buildbot
40
41         * page/FrameView.cpp: (WebCore::FrameViewPrivate::~FrameViewPrivate):
42         Delete m_scheduledEvents.
43
44 2006-07-07  Darin Adler  <darin@apple.com>
45
46         Reviewed by Adele.
47
48         - fixed a couple of storage leaks noticed by the buildbot
49
50         * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach):
51         Call deref on the style after calling setRenderStyle, since styleForRenderer
52         returns us a "ref'd" RenderStyle object.
53         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): Ditto.
54
55 2006-07-07  Darin Adler  <darin@apple.com>
56
57         Reviewed by Adele.
58
59         - fix some license mistakes
60
61         * LICENSE-APPLE: Added more years of publication to the copyright here.
62
63         * html/CanvasGradient.idl: Corrected license on this file. It had the wrong one.
64         * html/CanvasPattern.idl: Ditto.
65         * html/CanvasRenderingContext2D.idl: Ditto.
66         * html/HTMLCanvasElement.idl: Ditto.
67
68 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
69
70         Reviewed by justin
71
72         Improved table editing: pressing delete directly before or after a table will now select
73         the table first, then delete it, instead of just deleting it. Useful for when the table's
74         existence is non-obvious.
75
76         * bridge/mac/FrameMac.h: Added shouldDeleteSelection, which allows WebCore to trigger
77         deletion editing deligates
78         * bridge/mac/FrameMac.mm: ditto
79         (WebCore::FrameMac::shouldDeleteSelection):
80         * bridge/mac/WebCoreFrameBridge.h: ditto
81         * editing/TypingCommand.cpp: Implemented check for a caret position next to a table, and
82         subsequent selection (as opposed to removal)
83         (WebCore::TypingCommand::deleteKeyPressed):
84         (WebCore::TypingCommand::forwardDeleteKeyPressed):
85         * page/Frame.cpp: shouldDeleteSelection added
86         (WebCore::Frame::shouldDeleteSelection):
87         * page/Frame.h: ditto
88
89 2006-07-07  Sam Weinig  <sam.weinig@gmail.com>
90
91         Reviewed by Eric.
92
93         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9768
94           Split XSLImportRule out of XSLStyleSheet.* into separate 
95           files (one class per file).
96
97         * WebCore.xcodeproj/project.pbxproj:
98         * xml/XSLImportRule.cpp: Added.
99         (WebCore::XSLImportRule::XSLImportRule):
100         (WebCore::XSLImportRule::parentStyleSheet):
101         (WebCore::XSLImportRule::loadSheet):
102         * xml/XSLImportRule.h: Added.
103         * xml/XSLStyleSheet.cpp:
104         * xml/XSLStyleSheet.h:
105
106 2006-07-07  Anders Carlsson  <acarlsson@apple.com>
107
108         Reviewed by Darin.
109
110         http://bugzilla.opendarwin.org/show_bug.cgi?id=8300
111         REGRESSION: First mouse click is randomly ignored when clicking on checkbox and radio buttons
112         
113         * css/html4.css:
114         Set "-webkit-user-select: ignore" on radio buttons and check boxes .
115         
116 2006-07-07  Maciej Stachowiak  <mjs@apple.com>
117
118         Reviewed by Tim Hatcher.
119
120         - fix 20 Node leaks on fast/events tests - these should be the last ones
121
122         * bindings/objc/DOMEvents.mm:
123         (-[DOMEvent dealloc]): implement - deref the event!
124         (-[DOMEvent finalize]): ditto
125
126 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
127
128         Reviewed by Tim Hatcher.
129
130         - fix 26 Node leaks on fast/dom tests
131
132         * dom/Document.cpp:
133         (WebCore::Document::removedLastRef): delete tokenizer - if we are still parsing at this point, we don't
134         want nodes held by the parser to keep the document alive.
135         * html/HTMLParser.cpp:
136         (WebCore::RefNonDocNodePtr::RefNonDocNodePtr): Smart pointer that acts like RefPtr for Node,
137         but avoids refing document nodes to avoid cycles.
138         (WebCore::RefNonDocNodePtr::~RefNonDocNodePtr):
139         (WebCore::RefNonDocNodePtr::get):
140         (WebCore::RefNonDocNodePtr::operator*):
141         (WebCore::RefNonDocNodePtr::operator->):
142         (WebCore::RefNonDocNodePtr::operator!):
143         (WebCore::RefNonDocNodePtr::operator UnspecifiedBoolType):
144         (WebCore::RefNonDocNodePtr::operator=):
145         (WebCore::operator==):
146         (WebCore::operator!=):
147         (WebCore::HTMLStackElem): Use a RefNonDocNodePtr instead of RefPtr<Node>
148         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Use a RefPtr here to avoid crashing
149
150 2006-07-06  Adele Peterson  <adele@apple.com>
151
152         Reviewed by Maciej.
153
154         Fixed new popup control to open up when the spacebar and the up and down arrows are pressed.
155
156         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9762
157         [Native pop up] Highlighted item text is black instead of white
158
159         * html/HTMLSelectElement.cpp:
160         (WebCore::HTMLSelectElement::isKeyboardFocusable): Added.
161         (WebCore::HTMLSelectElement::isMouseFocusable): Added.
162         (WebCore::HTMLSelectElement::defaultEventHandler): Updated to showPopup for up and down arrow keys and spacebar.
163         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Made this const.
164         * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate): Added FIXME.
165         * rendering/RenderPopupMenuMac.mm:
166         (WebCore::RenderPopupMenuMac::showPopup): Updated to save the NSEvent that triggers the popup, so we can send
167         fake mouseUp and keyUp events when the NSMenu returns.
168         (WebCore::RenderPopupMenuMac::addGroupLabel): Only set the NSForegroundColorAttributeName attribute if the text isn't black.
169         Follow-up bug about other colors: http://bugzilla.opendarwin.org/show_bug.cgi?id=9769
170         (WebCore::RenderPopupMenuMac::addOption): ditto.
171         * bridge/mac/FrameMac.h: (WebCore::FrameMac::currentEvent): Returns the current NSEvent.
172
173 2006-07-06  Justin Garcia  <justin.garcia@apple.com>
174
175         Reviewed by levi
176         
177         <rdar://problem/4609184>
178         Mail crashes at WebCore::Selection::adjustForEditableContent
179         <rdar://problem/4609140>
180         Crash at WebCore::Range::compareBoundaryPoints
181         
182         * editing/Selection.cpp:
183         (WebCore::Selection::adjustForEditableContent):
184         * editing/VisiblePosition.cpp:
185         (WebCore::VisiblePosition::next): Moved code into a helper function.
186         (WebCore::VisiblePosition::previous): Ditto.
187         * editing/htmlediting.cpp:
188         (WebCore::comparePositions): Moved from Selection.cpp.
189         (WebCore::lowestEditableAncestor): Added.  Returns rootEditableElement
190         for a node in editable content and the rootEditableElement for the first
191         ancestor that's editable for a node in non-editable content.
192         (WebCore::firstEditablePositionAfterPositionInRoot): 
193         (WebCore::lastEditablePositionBeforePositionInRoot):
194         * editing/htmlediting.h:
195
196 2006-07-06  Anders Carlsson  <acarlsson@apple.com>
197
198         Reviewed by Adele.
199
200         http://bugzilla.opendarwin.org/show_bug.cgi?id=9528
201         REGRESSION: arrow key skips '>' in Bugzilla replies due to '\n' in text nodes
202         
203         Patch by Darin, tweaked by Anders.
204         
205         * html/HTMLElement.cpp:
206         (WebCore::HTMLElement::setInnerText):
207         Convert newline characters to <br> elements. I've verified that what's done here is what WinIE does when setting innerText.
208         
209         (WebCore::HTMLElement::setOuterText):
210         Fix comment.
211
212         * rendering/RenderTextField.cpp:
213         (WebCore::RenderTextField::textWithHardLineBreaks):
214         Remove assert. m_div->firstChild() can be null now because setInnerText doesn't create
215         text nodes for empty strings anymore.
216
217 2006-07-06  Adele Peterson  <adele@apple.com>
218
219         Reviewed by Tim Hatcher.
220
221         - Speculative fix for <rdar://problem/4605532> unrepro crash at cnn.com after upgrading to 10.4.7 (but happening with 10.4.6 too)
222
223         * page/FrameView.cpp: (WebCore::FrameView::layout): Ref's the view during layout, since a recalcStyle could cause the view to be deleted.
224         If we get back from recalcStyle, and there's only one ref, return early since the the view will be deleted when we exit layout.
225         * page/FrameView.h: (WebCore::FrameView::hasOneRef): Added.
226
227 2006-07-06  Anders Carlsson  <acarlsson@apple.com>
228
229         Reviewed by Maciej.
230
231         <rdar://problem/4610891> Support overflow events
232         
233         * DerivedSources.make:
234         Add generated sources.
235         
236         * WebCore.xcodeproj/project.pbxproj:
237         Add new files.
238         
239         * bindings/js/kjs_events.cpp:
240         (KJS::toJS):
241         Support creating wrappers for overflow events..
242         
243         * bindings/objc/DOMEvents.h:
244         * bindings/objc/DOMEvents.mm:
245         (+[DOMEvent _eventWith:]):
246         (-[DOMOverflowEvent _overflowEvent]):
247         (-[DOMOverflowEvent orient]):
248         (-[DOMOverflowEvent horizontalOverflow]):
249         (-[DOMOverflowEvent verticalOverflow]):
250         Add Objective-C wrapper for overflow events.
251         
252         * dom/Event.cpp:
253         (WebCore::Event::isOverflowEvent):        
254         * dom/Event.h:
255         * dom/EventNames.h:
256         * dom/OverflowEvent.cpp: Added.
257         (WebCore::OverflowEvent::OverflowEvent):
258         (WebCore::OverflowEvent::isOverflowEvent):
259         * dom/OverflowEvent.h: Added.
260         (WebCore::OverflowEvent::):
261         (WebCore::OverflowEvent::orient):
262         (WebCore::OverflowEvent::horizontalOverflow):
263         (WebCore::OverflowEvent::verticalOverflow):
264         * dom/OverflowEvent.idl: Added.
265         Add overflow events.
266         
267         * page/FrameView.cpp:
268         (WebCore::FrameViewPrivate::FrameViewPrivate):
269         (WebCore::FrameView::applyOverflowToViewport):        
270         (WebCore::FrameView::layout):
271         Dispatch any scheduled events when layout is done.
272         
273         (WebCore::FrameView::scheduleEvent):
274         New function which schedules an event.
275         
276         (WebCore::FrameView::updateOverflowStatus):
277         Update overflow status for the viewport.
278         
279         (WebCore::FrameView::dispatchScheduledEvents):
280         New function which dispatches all scheduled events.
281         
282         * page/FrameView.h:
283         Add declarations.
284         
285         * rendering/RenderLayer.cpp:
286         (WebCore::RenderLayer::RenderLayer):
287         (WebCore::RenderLayer::updateOverflowStatus):
288         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
289         * rendering/RenderLayer.h:
290         Schedule overflow events when overflow status changes.
291
292 2006-07-06  Timothy Hatcher  <timothy@apple.com>
293
294         Reviewed by Geoff.
295
296         <rdar://problem/4610881> Expose scroll-related JS properties to ObjC DOM interface
297         <rdar://problem/4519675> offsetLeft, offsetTop, offsetHeight, and offsetWidth
298         properties are not exposed to ObjC
299
300         * bindings/objc/DOMPrivate.h:
301         * bindings/objc/DOMHTML.mm:
302         (-[DOMHTMLElement offsetLeft]):
303         (-[DOMHTMLElement offsetTop]):
304         (-[DOMHTMLElement offsetWidth]):
305         (-[DOMHTMLElement offsetHeight]):
306         (-[DOMHTMLElement offsetParent]):
307         (-[DOMHTMLElement clientWidth]):
308         (-[DOMHTMLElement clientHeight]):
309         (-[DOMHTMLElement scrollLeft]):
310         (-[DOMHTMLElement setScrollLeft:]):
311         (-[DOMHTMLElement scrollTop]):
312         (-[DOMHTMLElement setScrollTop:]):
313         (-[DOMHTMLElement scrollWidth]):
314         (-[DOMHTMLElement scrollHeight]):
315
316 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
317
318         Reviewed by Adele.
319
320         - fix 435 more layout tests Node leaks
321
322         * editing/CompositeEditCommand.cpp:
323         (WebCore::CompositeEditCommand::moveParagraphs): fix more instances of leaked DOM ranges
324
325 2006-07-06  David Harrison  <harrison@apple.com>
326
327         Reviewed by Geoff
328
329         <rdar://problem/4565031> innerHTML of XMP tag returns special characters like '&gt;' instead of '>'
330  
331         Test: fast/innerHTML/006.html
332        
333         * editing/markup.cpp:
334         (WebCore::startMarkup):
335         (WebCore::createMarkup):
336         Do not special quote content of XMP nodes.
337
338 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
339
340         Not reviewed - build fix.
341
342         - back out earlier leak fix, as it caused a crash on one of the fast/invalid layout tests
343
344         * dom/Document.cpp:
345         (WebCore::Document::removedLastRef):
346         * html/HTMLParser.cpp:
347         (WebCore::HTMLStackElem::HTMLStackElem):
348         (WebCore::HTMLParser::popNestedHeaderTag):
349         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
350         (WebCore::HTMLParser::reopenResidualStyleTags):
351         (WebCore::HTMLParser::popBlock):
352         (WebCore::HTMLParser::popOneBlock):
353
354 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
355
356         Reviewed by Anders.
357
358         - fix ~3000 Node leaks on the editing tests
359
360         * editing/CompositeEditCommand.cpp:
361         (WebCore::CompositeEditCommand::moveParagraphs): put a newly created Range in a RefPtr
362         to avoid leaking it, as this leaks the whole document.
363
364 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
365
366         Reviewed by Anders.
367
368         - fix 26 Node leaks on various fast/dom tests
369
370         * dom/Document.cpp:
371         (WebCore::Document::removedLastRef): Delete the tokenizer here, since if we are in mid-parse,
372         the parser might hold refs on some of our children that have self-only refs.
373         * html/HTMLParser.cpp:
374         (WebCore::HTMLStackElem::HTMLStackElem): don't ref the node if it is a document to avoid ref cycles
375         (WebCore::HTMLStackElem::~HTMLStackElem): ditto
376         (WebCore::HTMLStackElem::node): changed interface a bit to support the above
377         (WebCore::HTMLStackElem::setNode): ditto
378         (WebCore::HTMLParser::popNestedHeaderTag): use new interface to HTMLStackElem
379         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): ditto
380         (WebCore::HTMLParser::reopenResidualStyleTags): ditto
381         (WebCore::HTMLParser::popBlock): ditto
382         (WebCore::HTMLParser::popOneBlock): ditto
383
384 2006-07-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
385
386         Reviewed by Adele.
387         
388         * rendering/RenderMenuList.h:
389         (WebCore::RenderMenuList::createsAnonymousWrapper): This method replaces
390         allowsReusingAnonymousChild() and has the opposite meaning.
391         
392 2006-07-05  Adele Peterson  <adele@apple.com>
393
394         Build fixes.
395
396         * WebCore.vcproj/WebCore/WebCore.vcproj:
397         * platform/win/TemporaryLinkStubs.cpp:
398         * rendering/RenderMenuList.cpp:
399         (WebCore::RenderMenuList::calcMinMaxWidth):
400         * rendering/RenderPopupMenuWin.h:
401         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
402         * rendering/RenderThemeWin.cpp:
403
404 2006-07-05  Maciej Stachowiak  <mjs@apple.com>
405
406         Reviewed by Adele.
407
408         - fix 308 Node leaks on the editing layout tests
409
410         * dom/Document.cpp: (WebCore::Document::removedLastRef): Clear the markers once there
411         are no real refs on the document, otherwise a self-only reference cycle w/ the document
412         can occur.
413
414 2006-07-05  Adele Peterson  <adele@apple.com>
415
416         Reviewed by Maciej and Hyatt.
417
418         Initial implementation of popup menu control.  This can be turned on by setting -webkit-appearance: menulist on a select element.
419
420         * WebCore.xcodeproj/project.pbxproj: Added RenderMenuList.h, RenderMenuList.cpp, RenderPopupMenu.h, RenderPopupMenu.cpp, 
421         RenderPopupMenuWin.h, RenderPopupMenuMac.h, RenderPopupMenuMac.mm, 
422     
423         * dom/Node.cpp:
424         (WebCore::Node::renderStyle): Added. Returns the renderer's style.  If there's no renderer, returns's a RenderStyle that's kept by the node.
425         This is important for HTMLOptGroupElement and HTMLOptionElement, which don't have renderers.
426         (WebCore::Node::setRenderStyle): Added.
427         * dom/Node.h:
428         * dom/Element.cpp: (WebCore::Element::recalcStyle): Updated to use renderStyle so recalcStyle will work for HTMLOptionElements and HTMLOptGroupElements.
429            
430         * css/cssstyleselector.cpp: Updated to call renderStyle method on the node, so resolving style works on elements w/o renderers that cache style. 
431         (WebCore::CSSStyleSelector::initForStyleResolve):
432         (WebCore::CSSStyleSelector::locateCousinList):
433         (WebCore::CSSStyleSelector::canShareStyleWithElement):
434         (WebCore::CSSStyleSelector::locateSharedStyle):
435         (WebCore::CSSStyleSelector::checkOneSelector):
436
437         * css/html4.css: Removed display:none from options and optgroups, since we're now caching style for these elements.
438         Added font-weight styles for option and optgroup.
439         
440         * html/HTMLOptGroupElement.h: Added m_style to keep track of a RenderStyle for the element, even though we aren't creating a renderer.
441         This will allow us to honor style for optgroups and options for popup menus (and eventually list boxes too).
442         (WebCore::HTMLOptGroupElement::rendererIsNeeded): Added.
443         (WebCore::HTMLOptGroupElement::renderStyle): Added.
444         * html/HTMLOptionElement.h: ditto.
445         (WebCore::HTMLOptionElement::rendererIsNeeded): Added.
446         (WebCore::HTMLOptionElement::renderStyle): Added.
447         
448         * html/HTMLOptGroupElement.cpp:
449         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Initialize m_style.
450         (WebCore::HTMLOptGroupElement::attach): Set the renderStyle.
451         (WebCore::HTMLOptGroupElement::detach): Clear m_style.
452         (WebCore::HTMLOptGroupElement::setRenderStyle): Added.
453         (WebCore::HTMLOptGroupElement::groupLabelText): Added.
454         * html/HTMLOptionElement.cpp: ditto.
455         (WebCore::HTMLOptionElement::HTMLOptionElement):
456         (WebCore::HTMLOptionElement::attach):
457         (WebCore::HTMLOptionElement::detach):
458         (WebCore::HTMLOptionElement::setRenderStyle):
459         (WebCore::HTMLOptionElement::optionText):
460
461         * html/HTMLSelectElement.cpp: Added code to use the new RenderMenuList if the appearance is set to MenuListAppearance, 
462         and if we're not creating a list box renderer.
463         (WebCore::HTMLSelectElement::recalcStyle):
464         (WebCore::HTMLSelectElement::createRenderer):
465         (WebCore::HTMLSelectElement::setRecalcListItems):
466         (WebCore::HTMLSelectElement::reset):
467         (WebCore::HTMLSelectElement::notifyOptionSelected):
468         (WebCore::HTMLSelectElement::defaultEventHandler):
469         * html/HTMLSelectElement.h:
470
471         * WebCore.exp: Added _wkPopupMenu.
472         * platform/mac/WebCoreSystemInterface.h: Added wkPopupMenu to get the NSMenu to pop up.
473         * platform/mac/WebCoreSystemInterface.mm:
474
475         * platform/win/TemporaryLinkStubs.cpp: Added stubs for RenderPopupMenuWin.
476         (RenderPopupMenuWin::RenderPopupMenuWin):
477         (RenderPopupMenuWin::~RenderPopupMenuWin):
478         (RenderPopupMenuWin::clear):
479         (RenderPopupMenuWin::populate):
480         (RenderPopupMenuWin::showPopup):
481         (RenderPopupMenuWin::addSeparator):
482         (RenderPopupMenuWin::addGroupLabel):
483         (RenderPopupMenuWin::addOption):
484         * rendering/RenderPopupMenuWin.h: Added.
485
486         * rendering/RenderPopupMenu.cpp: Added.
487         (WebCore::RenderPopupMenu::RenderPopupMenu):
488         (WebCore::RenderPopupMenu::~RenderPopupMenu):
489         (WebCore::RenderPopupMenu::clear):
490         (WebCore::RenderPopupMenu::populate): Walks the DOM tree, and adds separators, options, and group labels to the RenderPopupMenu.
491         (WebCore::RenderPopupMenu::showPopup):
492         (WebCore::RenderPopupMenu::addSeparator):
493         (WebCore::RenderPopupMenu::addGroupLabel):
494         (WebCore::RenderPopupMenu::addOption):
495         * rendering/RenderPopupMenu.h: Added.
496         (WebCore::RenderPopupMenu::renderName):
497         (WebCore::RenderPopupMenu::getRenderMenuList):
498         * rendering/RenderPopupMenuMac.h: Added.
499         * rendering/RenderPopupMenuMac.mm: Added.
500         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
501         (WebCore::RenderPopupMenuMac::~RenderPopupMenuMac):
502         (WebCore::RenderPopupMenuMac::clear): Removes all items from the menu.
503         (WebCore::RenderPopupMenuMac::populate): Disables menuChangedMessages before populating the menu.
504         (WebCore::RenderPopupMenuMac::showPopup): Calculates the right position, and calls wkPopupMenu.
505         (WebCore::RenderPopupMenuMac::addSeparator):
506         (WebCore::RenderPopupMenuMac::addGroupLabel):
507         (WebCore::RenderPopupMenuMac::addOption):
508         
509         * rendering/RenderMenuList.cpp: Added.
510         (WebCore::RenderMenuList::RenderMenuList):
511         (WebCore::RenderMenuList::addChild):
512         (WebCore::RenderMenuList::removeChild):
513         (WebCore::RenderMenuList::setStyle):
514         (WebCore::RenderMenuList::updateFromElement): If the options have changed, iterate through the children to find the menu item with the widest text.
515         Set the button text to the selected item's text.
516         (WebCore::RenderMenuList::setText):
517         (WebCore::RenderMenuList::paintObject):
518         (WebCore::RenderMenuList::baselinePosition):
519         (WebCore::RenderMenuList::calcMinMaxWidth):
520         (WebCore::RenderMenuList::showPopup):
521         (WebCore::RenderMenuList::layout):
522         (WebCore::RenderMenuList::updateSelection):
523         (WebCore::RenderMenuList::valueChanged):
524         * rendering/RenderMenuList.h: Added.
525         (WebCore::RenderMenuList::removeLeftoverAnonymousBoxes):
526         (WebCore::RenderMenuList::allowsReusingAnonymousChild):
527         (WebCore::RenderMenuList::canHaveChildren):
528         (WebCore::RenderMenuList::renderName):
529         (WebCore::RenderMenuList::setOptionsChanged):
530         (WebCore::RenderMenuList::selectionChanged):
531         (WebCore::RenderMenuList::setSelectionChanged):
532         (WebCore::RenderMenuList::hasPopupMenu):
533
534         * rendering/RenderTheme.cpp: Added cases for MenuListAppearance.
535         (WebCore::RenderTheme::adjustStyle):
536         (WebCore::RenderTheme::paint):
537         (WebCore::RenderTheme::paintBorderOnly):
538         (WebCore::RenderTheme::isControlStyled):
539         (WebCore::RenderTheme::adjustMenuListStyle):
540         (WebCore::RenderTheme::createPopupMenu): creates platform-specific RenderPopupMenu.
541         * rendering/RenderTheme.h:
542         (WebCore::RenderTheme::sizeOfArrowControl): Added. 
543         (WebCore::RenderTheme::paintMenuList): Added.
544         * rendering/RenderThemeMac.h:
545         * rendering/RenderThemeMac.mm:
546         (WebCore::RenderThemeMac::adjustRepaintRect):
547         (WebCore::RenderThemeMac::paintMenuList):
548         (WebCore::RenderThemeMac::adjustMenuListStyle):
549         (WebCore::RenderThemeMac::setPopupButtonCellState):
550         (WebCore::RenderThemeMac::createPopupMenu):
551         (WebCore::RenderThemeMac::sizeOfArrowControl):
552         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::createPopupMenu):
553         * rendering/RenderThemeWin.h:
554
555 2006-07-05  Brady Eidson  <beidson@apple.com>
556
557         Reviewed by Tim Omernick.
558
559         IconDatabase now respects private browsing via the use of in memory, temporary tables
560
561         * bridge/mac/WebCoreIconDatabaseBridge.mm:
562         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
563         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): Renamed WebCore::IconDatabase methods, changes reflected here
564
565         * icon/IconDatabase.cpp:
566         (WebCore::IconDatabase::clearDatabase):
567         (WebCore::IconDatabase::deletePrivateTables):
568         (WebCore::IconDatabase::imageDataForIconID):
569         (WebCore::IconDatabase::imageDataForIconURL):
570         (WebCore::IconDatabase::imageDataForPageURL):
571         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
572         (WebCore::IconDatabase::iconForPageURL):
573         (WebCore::IconDatabase::iconURLForPageURL):
574         (WebCore::IconDatabase::setIconDataForIconURL):
575         (WebCore::IconDatabase::performSetIconDataForIconID):
576         (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
577         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
578         (WebCore::IconDatabase::setHaveNoIconForIconURL):
579         (WebCore::IconDatabase::setIconURLForPageURL):
580         (WebCore::IconDatabase::performSetIconURLForPageURL):
581         (WebCore::IconDatabase::hasIconForIconURL):
582         -Some style/comment cleanups, but mainly putting private browsing handling in place
583
584         * icon/IconDatabase.h:  Some methods added, others renamed, some comments added
585
586         * icon/SQLStatement.cpp:
587         (WebCore::SQLStatement::getColumnName):
588         (WebCore::SQLStatement::getColumnName16):
589         (WebCore::SQLStatement::getColumnText):
590         (WebCore::SQLStatement::getColumnText16):
591         -The above 4 had changes to return String() for empty results instead of "" as it's less expensive;
592
593 2006-07-05  John Sullivan  <sullivan@apple.com>
594
595         Reviewed by Darin and Adele.
596         
597         - fixed <rdar://problem/4609162> REGRESSION: When tabbing between links on a page, 
598         the window doesn't scroll to link that's not in view
599
600         * html/HTMLAnchorElement.cpp:
601         * html/HTMLAnchorElement.h:
602         removed HTMLAnchorElement::focus and HTMLAnchorElement::blur. 
603         
604         HTMLAnchorElement::focus just called document()->setFocusNode(). The scroll-to-reveal
605         code used to be inside document()->setFocusNode(), but now it's in Element::focus, and this override
606         was preventing that code from running.
607         
608         HTMLAnchorElement::blur was exactly the same implementation as Element::blur (and there aren't any
609         other implementations of ::blur in the class hierarchy in between). This change has no practical
610         effect, other than removing duplicate code.
611         
612         Adele and I think that it was an oversight not to remove these two methods on 12/20/05
613         these methods were removed from HTMLButtonElementImpl and HTMLInputElementImpl.
614
615 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
616
617         * bridge/win/FrameWin.cpp:
618         (WebCore::FrameWin::FrameWin):
619         * bridge/win/FrameWin.h:
620         * platform/win/TemporaryLinkStubs.cpp:
621         (FrameWin::createFrame):
622         Fix Win32 build.
623
624 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
625
626         * WebCore.xcodeproj/project.pbxproj:
627         Revert accidental change of debug format to DWARF.
628
629 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
630
631         Reviewed by Maciej.
632
633         http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
634         iFrames set to display:none are Missing from frames array
635
636         * bridge/mac/FrameMac.h:
637         * bridge/mac/FrameMac.mm:
638         (WebCore::FrameMac::FrameMac):
639         (WebCore::FrameMac::createFrame):
640         * bridge/mac/WebCoreFrameBridge.h:
641         * bridge/mac/WebCoreFrameBridge.mm:
642         (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
643         (-[WebCoreFrameBridge installInFrame:]):
644         Modify to pass the owner element instead of the owner renderer.        
645
646         * dom/ContainerNode.cpp:
647         (WebCore::ContainerNode::insertBefore):
648         (WebCore::ContainerNode::replaceChild):
649         (WebCore::ContainerNode::appendChild):
650         Dispatch the node inserted events before attaching the nodes. This is what the
651         tokenizer does.
652         
653         * html/HTMLFrameElement.cpp:
654         (WebCore::HTMLFrameElement::openURL):
655         (WebCore::HTMLFrameElement::attach):
656         Pass the element to requestFrame.
657         
658         (WebCore::HTMLFrameElement::setLocation):
659         Don't call attach/detach on an iframe.
660
661         * html/HTMLIFrameElement.cpp:
662         (WebCore::HTMLIFrameElement::insertedIntoDocument):
663         Load the frame here (using openURL).
664         
665         (WebCore::HTMLIFrameElement::removedFromDocument):
666         Call frameDetached.
667         
668         (WebCore::HTMLIFrameElement::attach):
669         If there's a renderer, attach the content frame to it.
670         
671         (WebCore::HTMLIFrameElement::detach):
672         Reset the renderer's frame.
673         
674         (WebCore::HTMLIFrameElement::openURL):
675         Modify to request the frame.
676         
677         * html/HTMLIFrameElement.h:
678         Add detach.
679         
680         * page/Frame.cpp:
681         (WebCore::parentFromOwnerElement):
682         (WebCore::Frame::Frame):
683         (WebCore::Frame::~Frame):
684         (WebCore::Frame::requestFrame):
685         (WebCore::Frame::requestObject):
686         (WebCore::Frame::loadSubframe):
687         (WebCore::Frame::ownerElement):
688         (WebCore::Frame::ownerRenderer):
689         (WebCore::Frame::disconnectOwnerElement):
690         * page/Frame.h:
691         * page/FramePrivate.h:
692         (WebCore::FramePrivate::FramePrivate):        
693         * rendering/RenderPart.cpp:
694         (WebCore::RenderPart::setFrame):
695         Modify to keep an owner element around instead of the renderer. 
696         
697         * rendering/RenderPartObject.cpp:
698         (WebCore::RenderPartObject::updateWidget):
699         Don't do anything for iframes.
700
701 2006-07-04  Kevin Ollivier  <kevino@theolliviers.com>
702
703         Reviewed by Maciej, reworked a bit by Darin.
704
705         Compile fixes for wx port / gcc 4.0.2
706         
707         * platform/PlatformString.h:
708         * platform/StringImpl.h:
709         Include CoreFoundation for CF-specific code.
710         
711         * dom/DocPtr.h:
712         * doc/EventTargetNode.h:
713         Silence warnings about 'extra tokens' after #endif on gcc 4.0.2.
714         (Not an error but warnings appear frequently.)
715         
716         * WebCoreSources.bkl:
717         * webcore-base.bkl:
718         Synching ports sources file with TOT. Also, making sure SRCDIR variable
719         overrides any previous values.
720         
721         * loader/ImageDocument.cpp:
722         Use PLATFORM(MAC) for the parts that are specific to the Macintosh version,
723         and move the Objective-C parts to another file.
724
725         * loader/mac/ImageDocumentMac.h: Added.
726         * loader/mac/ImageDocumentMac.mm: Added.
727
728 2006-07-04  Sam Weinig  <sam.weinig@gmail.com>
729
730         Build fix.
731
732         * platform/Color.cpp:
733         (WebCore::makeRGBAFromHSLA):
734
735 2006-07-02  David Carson  <dacarson@gmail.com>
736
737         Reviewed by Darin.
738   
739         - Added HSL color support as specified in CSS3 spec.
740         http://bugzilla.opendarwin.org/show_bug.cgi?id=9506
741         Added parsing support of hsl(h,s,l) and hsla(h,s,l,a)
742         Added converting code to convert HSL to RGB
743
744         * css/cssparser.cpp:
745         (WebCore::CSSParser::parseColorParameters):
746         Moved common code to parse RGB/RGBA values into it's
747         own function. This code was duplicated in the parseColorFromValue()
748         method.
749         (WebCore::CSSParser::parseHSLParameters):
750         Common code to parse HSL/HSLA values.
751         (WebCore::CSSParser::parseColorFromValue):
752         Moved RGB/RGBA parsing out to seperate function as the code was
753         duplicated. 
754         Added parsing support for hsl( and hsla(
755         * css/cssparser.h:
756         Added two new functions parseColorParameters() and 
757         parseHSLParameters().
758         * platform/Color.cpp:
759         (WebCore::calcHue):
760         Added Hue parameter to RGB color.
761         (WebCore::makeRGBAFromHSLA):
762         New function to convert HSLA to RGBA.
763         * platform/Color.h:
764         Added new functions makeRGBAFromHSLA() and calcHue().
765
766 2006-07-02  Mike Emmel  <mike.emmel@gmail.com>
767
768         Reviewed and landed by ggaren.
769
770         * platform/gdk/TransferJobManager.cpp
771         Fixed broken dowload logic
772         * platform/gdk/ScrollViewGdk.cpp 
773         Add comment that scrollbarSize is a temporary variable
774         * Projects/gdk/webcore-gdk.bkl
775         Defined NDEBUG build executable is miscompiled otherwise
776         * WebCoreSources.bkl
777         added icon/SiteIcon.cpp editing/IndentOutdentCommand.cpp 
778         html/HTMLViewSourceDocument.cpp
779
780 2006-07-02  Shawn Stricker  <kb1ibt@gmail.com>
781
782         Reviewed by Timothy Hatcher.  Build fix for Linux.
783
784         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9684
785           [GDK] multiple little fixes and a few new things for Templinkstubs
786
787         * platform/gdk/ScrollViewGdk.cpp:
788         (WebCore::ScrollView::setDrawable): Changed SCROLLBAR_SIZE to scrollbarSize.
789         * platform/gdk/TemporaryLinkStubs.cpp:
790         (Image::drawTiled): Added missing parameter to argument list.
791         * platform/gdk/TransferJobManager.cpp:
792         (WebCore::writeCallback): Added missing parenthesis to static_cast.
793
794 2006-07-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
795
796         Reviewed by Darin.
797
798         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9674
799           REGRESSION (r15075): Blank or incomplete pages on digg.com
800
801         Replaced the requestingScript state bit added in the fix for bug 9317
802         with a m_requestingScript bool that is set before and restored
803         after calling ref() on a CachedScript.
804         
805         Test: fast/tokenizer/nested-cached-scripts.html
806
807         * html/HTMLTokenizer.cpp:
808         (WebCore::HTMLTokenizer::HTMLTokenizer):
809         (WebCore::HTMLTokenizer::begin):
810         (WebCore::HTMLTokenizer::scriptHandler):
811         (WebCore::HTMLTokenizer::notifyFinished):
812         * html/HTMLTokenizer.h:
813         (WebCore::HTMLTokenizer::State::):
814
815 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
816
817         Reviewed by NOBODY (build fix).
818
819         * platform/gdk/TransferJobManager.cpp:
820         (WebCore::writeCallback): Changed 'static_cat' to 'static_cast'.
821
822 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
823
824         Reviewed and worked over a lot by Darin.
825
826         - check in first set of GDK-specific sources
827
828         * platform/gdk/BrowserExtensionGdk.h: Added.
829         * platform/gdk/CookieJarGdk.cpp: Added.
830         * platform/gdk/CursorGdk.cpp: Added.
831         * platform/gdk/FontCacheGdk.cpp: Added.
832         * platform/gdk/FontDataGdk.cpp: Added.
833         * platform/gdk/FontGdk.cpp: Added.
834         * platform/gdk/FontPlatformData.h: Added.
835         * platform/gdk/FontPlatformDataGdk.cpp: Added.
836         * platform/gdk/FrameGdk.cpp: Added.
837         * platform/gdk/FrameGdk.h: Added.
838         * platform/gdk/GlyphMapGdk.cpp: Added.
839         * platform/gdk/KeyEventGdk.cpp: Added.
840         * platform/gdk/KeyboardCodes.h: Added.
841         * platform/gdk/MouseEventGdk.cpp: Added.
842         * platform/gdk/PageGdk.cpp: Added.
843         * platform/gdk/RenderThemeGdk.cpp: Added.
844         * platform/gdk/RenderThemeGdk.h: Added.
845         * platform/gdk/ScreenGdk.cpp: Added.
846         * platform/gdk/ScrollViewGdk.cpp: Added.
847         * platform/gdk/SharedTimerLinux.cpp: Added.
848         * platform/gdk/SystemTimeLinux.cpp: Added.
849         * platform/gdk/TemporaryLinkStubs.cpp: Added.
850         * platform/gdk/TransferJobCurl.cpp: Added.
851         * platform/gdk/TransferJobManager.cpp: Added.
852         * platform/gdk/TransferJobManager.h: Added.
853         * platform/gdk/WheelEventGdk.cpp: Added.
854         * platform/gdk/WidgetGdk.cpp: Added.
855         * platform/gdk/gdk-encodings.txt: Added.
856
857 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
858
859         Reviewed by Darin.
860
861         * WebCoreSources.bkl: Updated for recent file changes.
862
863 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
864
865         Reviewed and enhanced by Darin.
866
867         Compilation fixes for Linux/Gdk.
868
869         * WebCore/platform/FontData.h: Added forward declaration of a class.
870         * WebCore/platform/cairo/GraphicsContextCairo.cpp: Fixed case on include.
871         * WebCore/bindings/js/kjs_html.cpp: Added <math.h> include.
872
873         * WebCore/css/maketokenizer: Fixed incorrect check for Linux that was
874         already true even on Mac OS X. Added some additional includes and
875         defines to the Linux extra generated code.
876
877 2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
878
879         Reviewed by Hyatt.
880
881         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7204
882           float inserted in fixed height block via DOM not repainted
883
884         Test: fast/repaint/float-move-during-layout.html
885
886         * rendering/RenderBlock.cpp:
887         (WebCore::RenderBlock::layoutBlockChildren):
888         (WebCore::RenderBlock::repaintOverhangingFloats): Renamed repaintFloatingDescendants()
889         to this and limited it to repainting overhanging floats. Added a boolean parameter that forces
890         all descendant overhanging floats (that don't have their own layer) to paint.
891         * rendering/RenderBlock.h:
892         * rendering/RenderBox.cpp:
893         (WebCore::RenderBox::repaintDuringLayoutIfMoved): Changed to paint all descendant
894         floats.
895         * rendering/RenderObject.cpp:
896         (WebCore::RenderObject::repaintOverhangingFloats):
897         * rendering/RenderObject.h:
898
899 2006-06-30  Levi Weintraub  <lweintraub@apple.com>
900
901         Reviewed by justin
902
903         * editing/VisiblePosition.cpp: Removed is[Not]EqualIgnoringAffinity and made operator== use the logic that ignores affinity.
904         * editing/VisiblePosition.h: Ditto.
905         (WebCore::operator==):
906         * editing/visible_units.cpp:
907         (WebCore::isStartOfParagraph): Changed to compare VisiblePositions using ==.
908         (WebCore::isEndOfParagraph): Ditto.
909         (WebCore::isStartOfBlock): Ditto.
910         (WebCore::isEndOfBlock): Ditto.
911
912 === Safari-521.14 ===
913
914 2006-06-30  Justin Garcia  <justin.garcia@apple.com>
915
916         Reviewed by levi
917
918         * editing/htmlediting.cpp:
919         (WebCore::canHaveChildrenForEditing): Don't insert children into
920         object tags while editing.
921
922 2006-06-30  Justin Garcia  <justin.garcia@apple.com>
923
924         Reviewed by harrison
925         
926         <rdar://problem/4598309
927         Caret gets stuck when it hits non editable content within an editable body
928         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9510>
929         Caret will jump out of an editable region
930         
931         * dom/Position.cpp:
932         (WebCore::Position::upstream): Don't move into a new editable region so that 
933         candidates that that straddle an editable/non-editable boundary will 
934         correspond to different VisiblePositions.
935         (WebCore::Position::downstream): Ditto.
936         * editing/SelectionController.cpp:
937         (WebCore::SelectionController::modifyMovingRightForward): Use VisiblePosition::next(true)
938         (WebCore::SelectionController::modifyMovingLeftBackward): Use VisiblePosition::previous(true)
939         * editing/VisiblePosition.cpp:
940         (WebCore::VisiblePosition::next): Added code to jump to the next editable region as long
941         as it has the same highest editable root.
942         (WebCore::VisiblePosition::previous): Ditto.
943         * editing/VisiblePosition.h:
944         * editing/htmlediting.cpp:
945         (WebCore::highestEditableRoot): Added, returns the highest editable root of a node if that
946         node is in editable content, otherwise 0.
947         * editing/htmlediting.h:
948
949 2006-06-30  David Kilzer  <ddkilzer@kilzer.net>
950
951         Reviewed by Darin.
952
953         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9358
954           REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer
955           (value == constrainValue(value)) when deleting all text
956
957         Test: editing/deleting/delete-all-text-in-text-field-assertion.html
958
959         Bug 9661 filed to fix the follow-up issue:
960         http://bugzilla.opendarwin.org/show_bug.cgi?id=9661
961         textContent returns "\n" for a <br> even if it is collapsed
962
963         * html/HTMLInputElement.cpp:
964         (WebCore::HTMLInputElement::setValueFromRenderer): Work around "\n" value
965         when all characters are deleted from a text field.
966
967 2006-06-30  David Harrison  <harrison@apple.com>
968
969         Reviewed by Tim Omernick
970
971         <rdar://problem/4609481> Crash calling -[WebScriptObject valueForKey:] when JS disabled
972         
973         * bridge/mac/FrameMac.mm:
974         (WebCore::FrameMac::executionContextForDOM):
975         Early return if JS is not enabled.
976
977 2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
978
979         Reviewed by Tim H.
980
981         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9664
982           REGRESSION (r15106): Crash in fast/events/mouseover-mouseout2.html
983
984         * page/FrameView.cpp:
985         (WebCore::FrameView::handleMouseMoveEvent): Added a check that oldSubframe is
986         still a subframe of the view's frame before passing the event to it.
987
988 2006-06-29  Timothy Hatcher  <timothy@apple.com>
989
990         Reviewed by Darin.
991
992         <rdar://problem/3694163> -[KWQPageState finalize] is incorrect; design change needed
993         <rdar://problem/3694165> -[WebCoreFrameBridge finalize] is incorrect; design change needed
994
995         Added close methods that need to be called before these
996         objects can be released. This ensures proper tear-down under GC.
997
998         * WebCore.xcodeproj/project.pbxproj:
999         * bridge/mac/WebCoreFrameBridge.h:
1000         * bridge/mac/WebCoreFrameBridge.mm:
1001         (-[WebCoreFrameBridge dealloc]):
1002         (-[WebCoreFrameBridge finalize]):
1003         (-[WebCoreFrameBridge close]):
1004         * bridge/mac/WebCorePageBridge.h:
1005         * bridge/mac/WebCorePageBridge.mm:
1006         (-[WebCorePageBridge setMainFrame:]):
1007         (-[WebCorePageBridge dealloc]):
1008         (-[WebCorePageBridge finalize]):
1009         (-[WebCorePageBridge close]):
1010         (-[WebCorePageBridge mainFrame]):
1011         (-[WebCorePageBridge setGroupName:]):
1012         (-[WebCorePageBridge groupName]):
1013         * kwq/KWQPageState.h:
1014         * kwq/KWQPageState.mm:
1015         (-[KWQPageState dealloc]):
1016         (-[KWQPageState finalize]):
1017         (-[KWQPageState close]):
1018
1019 2006-06-29  Sam Weinig  <sam.weinig@gmail.com>
1020
1021         Reviewed by Hyatt.
1022
1023         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=4874
1024         Table with absolute bottom positioning is positioned incorrectly
1025
1026         Note: patch originally from Mitz, spruced up by Weinig.
1027
1028         * rendering/RenderBox.cpp:
1029         (WebCore::RenderBox::calcAbsoluteVerticalValues):
1030         * rendering/RenderTable.cpp:
1031         (WebCore::RenderTable::layout):
1032
1033 2006-06-29  Graham Dennis  <Graham.Dennis@gmail.com>
1034
1035         Reviewed by Justin.
1036
1037         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9505
1038           moveParagraphContentsToNewBlockIfNecessary creates a new block outside the current position
1039
1040         * editing/CompositeEditCommand.cpp:
1041         Added sanity checking to prevent modifying nodes outside of 
1042         where we should be
1043         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1044
1045 2006-06-29  Brady Eidson  <beidson@apple.com>
1046
1047         Reviewed by Levi.
1048
1049         In addition to a few small details, logging changes, and style cleanups, this is a stop-gap hack
1050         for a problem in SQLite's blob handling.  Querying for a blob in a void* form is reproducibly
1051         returning a corrupt buffer.  The temporary solution is to query for the blob as "quoted text" and
1052         manually convert the return string into a character buffer.
1053
1054         * icon/IconDatabase.cpp:
1055         (WebCore::IconDatabase::recreateDatabase):
1056         (WebCore::IconDatabase::createPrivateTables):
1057
1058         (WebCore::hexToUnsignedChar): These two functions are the text-to-character-data converters for the time being
1059         (WebCore::hexStringToVector):
1060
1061         (WebCore::IconDatabase::imageDataForIconID):
1062         (WebCore::IconDatabase::imageDataForIconURL):
1063         (WebCore::IconDatabase::imageDataForPageURL):
1064         (WebCore::IconDatabase::iconForPageURL):
1065         (WebCore::IconDatabase::hasIconForIconURL):
1066         * icon/IconDatabase.h:  changes the icon data accessors to return a Vector<unsigned char> instead of void*
1067
1068         * icon/SQLStatement.cpp:
1069         (WebCore::SQLStatement::columnCount):
1070         (WebCore::SQLStatement::getColumnBlob):
1071         * icon/SiteIcon.cpp:
1072         (SiteIcon::getImage):
1073
1074 2006-06-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1075
1076         Reviewed by Darin.
1077
1078         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9652
1079           Assertion failure when changing an RTL table cell to display:none
1080
1081         Test: fast/table/rtl-cell-display-none-assert.html
1082
1083         * rendering/RenderTableSection.cpp:
1084         (WebCore::RenderTableSection::layoutRows): Corrected the index used as
1085         the last index in the columnPos vector.
1086
1087 2006-06-29  Darin Adler  <darin@apple.com>
1088
1089         Reviewed by Anders.
1090
1091         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9622
1092           showModalDialog returnValue ignored, function result is always "undefined"
1093
1094         * manual-tests/modal-dialog.html: Added.
1095         * manual-tests/show-modal-dialog-test.html: Added.
1096
1097         * page/Frame.cpp: (WebCore::Frame::clear): Call KJSProxy::clear with the
1098         clearWindowProperties parameter instead of not calling it at all when
1099         clearWindowProperties is false.
1100
1101         * bindings/js/kjs_proxy.h: Add boolean clearWindowProperties parameter.
1102         * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Pass clearWindowProperties
1103         variable through to Window::clear instead of not calling it at all.
1104
1105         * bindings/js/kjs_window.h: Add boolean clearWindowProperties parameter.
1106         * bindings/js/kjs_window.cpp: (KJS::Window::clear): If clearWindowProperties
1107         is false, do only the returnValue work, not the rest of the work.
1108
1109         * manual-tests/modal-dialog.html: Added.
1110         * manual-tests/show-modal-dialog-test.html: Added.
1111
1112 2006-06-29  Beth Dakin  <bdakin@apple.com>
1113
1114         Reviewed by Hyatt.
1115
1116         Fix for <rdar://problem/4450615> Add composite mode to background 
1117         styles
1118
1119         -webkit-background-composite will set a composite mode on a 
1120         background image.
1121
1122         * css/CSSComputedStyleDeclaration.cpp:
1123         (WebCore::):
1124         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1125         * css/CSSPropertyNames.in: Add -webkit-background-composite
1126         * css/CSSValueKeywords.in: Add all possible values (clear, copy, 
1127         source-over, source-in, source-out, source-atop, destination-over, 
1128         destination-in, destination-out, destination-atop, xor, plus-
1129         darker, highlight, and plus-lighter)
1130         * css/cssparser.cpp:
1131         (WebCore::CSSParser::parseValue):
1132         (WebCore::CSSParser::parseBackgroundProperty):
1133         * css/cssstyleselector.cpp:
1134         (WebCore::CSSStyleSelector::applyProperty):
1135         (WebCore::CSSStyleSelector::mapBackgroundComposite):
1136         * css/cssstyleselector.h:
1137         * platform/GraphicsContext.cpp:
1138         (WebCore::GraphicsContext::drawTiledImage):
1139         * platform/GraphicsContext.h: drawTiledImage() now takes a 
1140         composite operator.
1141         * platform/Image.h: drawTiled() now takes a composite operator.
1142         * platform/cairo/ImageCairo.cpp:
1143         (WebCore::Image::drawTiled): Set the composite operator.
1144         * platform/mac/ImageMac.mm:
1145         (WebCore::Image::drawTiled): Set the composite operator.
1146         * platform/win/TemporaryLinkStubs.cpp:
1147         (Image::drawTiled):
1148         * rendering/RenderBox.cpp:
1149         (WebCore::RenderBox::paintBackgroundExtended): Send the composite 
1150         operator in the render style over to the graphics context.
1151         * rendering/render_style.cpp:
1152         (WebCore::BackgroundLayer::BackgroundLayer):
1153         (WebCore::BackgroundLayer::operator=):
1154         (WebCore::BackgroundLayer::operator==):
1155         (WebCore::BackgroundLayer::fillUnsetProperties):
1156         (WebCore::BackgroundLayer::cullEmptyLayers):
1157         * rendering/render_style.h:
1158         (WebCore::BackgroundLayer::backgroundComposite):
1159         (WebCore::BackgroundLayer::isBackgroundCompositeSet):
1160         (WebCore::BackgroundLayer::setBackgroundComposite):
1161         (WebCore::BackgroundLayer::clearBackgroundComposite):
1162         (WebCore::RenderStyle::backgroundComposite):
1163         (WebCore::RenderStyle::initialBackgroundComposite):
1164
1165 2006-06-29  David Kilzer  <ddkilzer@kilzer.net>
1166
1167         Reviewed by Darin.
1168
1169         http://bugzilla.opendarwin.org/show_bug.cgi?id=9649
1170         The no-svg build broke after r15091
1171
1172         * bindings/objc/DOMInternal.h: Added #if XPATH_SUPPORT/#endif.
1173         * bindings/objc/DOMInternal.mm: Ditto.
1174         (raiseDOMException):
1175         * bindings/objc/DOMXPath.h: Ditto.
1176         * bindings/objc/DOMXPath.mm: Ditto.
1177         * bindings/objc/DOMXPathInternal.h: Ditto.
1178
1179 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
1180
1181         Reviewed by Tim O.
1182
1183         <rdar://problem/4599760> Objective-C XPath support
1184         
1185         * WebCore.xcodeproj/project.pbxproj:
1186         Add files.
1187         
1188         * bindings/objc/DOMInternal.h:
1189         * bindings/objc/DOMInternal.mm:
1190         (raiseDOMException):
1191         Handle XPath exceptions
1192         
1193         * bindings/objc/DOMXPath.h: Added.
1194         (-[DOMXPathNSResolver lookupNamespaceURI:]):
1195         * bindings/objc/DOMXPath.mm: Added.
1196         (-[DOMNativeXPathNSResolver dealloc]):
1197         (-[DOMNativeXPathNSResolver finalize]):
1198         (-[DOMNativeXPathNSResolver _xpathNSResolver]):
1199         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:]):
1200         (+[DOMNativeXPathNSResolver _xpathNSResolverWith:]):
1201         (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
1202         (-[DOMXPathResult dealloc]):
1203         (-[DOMXPathResult finalize]):
1204         (-[DOMXPathResult resultType]):
1205         (-[DOMXPathResult numberValue]):
1206         (-[DOMXPathResult stringValue]):
1207         (-[DOMXPathResult booleanValue]):
1208         (-[DOMXPathResult singleNodeValue]):
1209         (-[DOMXPathResult invalidIteratorState]):
1210         (-[DOMXPathResult snapshotLength]):
1211         (-[DOMXPathResult iterateNext]):
1212         (-[DOMXPathResult snapshotItem:]):
1213         (-[DOMXPathResult _xpathResult]):
1214         (-[DOMXPathResult _initWithXPathResult:]):
1215         (+[DOMXPathResult _xpathResultWith:]):
1216         (-[DOMXPathExpression evaluate:::]):
1217         (-[DOMXPathExpression _xpathExpression]):
1218         (-[DOMXPathExpression _initWithXPathExpression:]):
1219         (+[DOMXPathExpression _xpathExpressionWith:]):
1220         (-[DOMDocument createExpression::]):
1221         (-[DOMDocument createNSResolver:]):
1222         (-[DOMDocument evaluate:::::]):
1223         * bindings/objc/DOMXPathInternal.h: Added.
1224         Add Objective-C XPath API.
1225
1226 2006-06-28  David Hyatt  <hyatt@apple.com>
1227
1228         Add support for custom highlighting to paint at the root line box level
1229         (and to inflate the box it uses so that it can go outside the bounds of
1230         the line if necessary).
1231
1232         Reviewed by harrison
1233
1234         * bridge/mac/FrameMac.h:
1235         * bridge/mac/FrameMac.mm:
1236         (WebCore::FrameMac::customHighlightLineRect):
1237         (WebCore::FrameMac::paintCustomHighlight):
1238         * bridge/mac/WebCoreFrameBridge.h:
1239         * rendering/InlineTextBox.cpp:
1240         (WebCore::InlineTextBox::paintCustomHighlight):
1241         * rendering/RootInlineBox.cpp:
1242         (WebCore::RootInlineBox::paintCustomHighlight):
1243         (WebCore::RootInlineBox::paint):
1244         * rendering/RootInlineBox.h:
1245
1246 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
1247
1248         Reviewed by justin
1249
1250         <rdar://problem/4592005> FormatBlock inserts in the wrong place, disregarding editable content
1251         <rdar://problem/4590763> FormatBlock for paragraph style doesn't work
1252
1253         * dom/Node.cpp:
1254         (WebCore::Node::rootEditableElement): Return inline nodes
1255         * editing/FormatBlockCommand.cpp:
1256         (WebCore::FormatBlockCommand::doApply): Keep from inserting before editable content
1257         * editing/JSEditor.cpp: Support html braces (<>) around tag names
1258
1259 2006-06-28  Justin Garcia  <justin.garcia@apple.com>
1260
1261         Reviewed by levi
1262         
1263         svg/custom/text-hit-test.svg was failing
1264
1265         * rendering/RenderContainer.cpp:
1266         (WebCore::RenderContainer::positionForCoordinates): Don't skip child
1267         renderers that have a height of 0 when looking for the closest child
1268         renderer, they may contain content that overflows.
1269         * rendering/RenderText.cpp:
1270         (WebCore::RenderText::positionForCoordinates): Fixed typos.
1271
1272 2006-06-28  David Hyatt  <hyatt@apple.com>
1273
1274         Make the view source document properly handle <script>.  We don't syntax
1275         highlight the JS yet, but it shows up properly now.
1276
1277         Reviewed by john
1278
1279         * WebCore.xcodeproj/project.pbxproj:
1280         * html/HTMLTokenizer.cpp:
1281         (WebCore::HTMLTokenizer::scriptHandler):
1282
1283 2006-06-28  Timothy Hatcher  <timothy@apple.com>
1284
1285         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
1286
1287         * WebCore.xcodeproj/project.pbxproj:
1288
1289 2006-06-28  Justin Garcia  <justin.garcia@apple.com>
1290
1291         Reviewed by levi
1292         
1293         Fixed EditActions for InsertHorizontalRule and RemoveFormat.
1294         
1295         * editing/JSEditor.cpp:
1296         * editing/ReplaceSelectionCommand.cpp:
1297         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
1298         (WebCore::ReplaceSelectionCommand::editingAction):
1299         * editing/ReplaceSelectionCommand.h:
1300
1301 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
1302
1303          Build Fix. Reviewed by NOBODY
1304
1305         * editing/IndentOutdentCommand.cpp:
1306         (WebCore::IndentOutdentCommand::indentRegion):
1307
1308 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
1309
1310         Reviewed by justin
1311
1312         http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
1313         Bug 7568: Implement Indent/Outdent
1314
1315         * WebCore.vcproj/WebCore/WebCore.vcproj: Added IndentOutdentCommand.h/cpp
1316         * WebCore.xcodeproj/project.pbxproj: Ditto.
1317         * editing/IndentOutdentCommand.cpp: Added.
1318         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
1319         (WebCore::enclosingListOrBlockquote):
1320         (WebCore::IndentOutdentCommand::splitTreeToNode): Splits the DOM tree from a
1321         descendent node to an ending ancestor, duplicating nodes when necessary. Returns
1322         the last node split. Used to insert blockquotes at the topmost level.
1323         (WebCore::IndentOutdentCommand::indentRegion):
1324         (WebCore::IndentOutdentCommand::outdentParagraph):
1325         (WebCore::IndentOutdentCommand::outdentRegion):
1326         (WebCore::IndentOutdentCommand::doApply):
1327         * editing/IndentOutdentCommand.h: Added.
1328         (WebCore::IndentOutdentCommand::):
1329         * editing/JSEditor.cpp: Added the execCommands Indent and Outdent
1330         * editing/htmlediting.cpp:
1331         (WebCore::enclosingNodeWithTag): Finds the enclosing node with any specified tag.
1332         (WebCore::enclosingListChild): Added checks for nill and editable boundaries.
1333         (WebCore::outermostEnclosingListChild): Returns the highest ancestor list child.
1334         (WebCore::highestAncestor): Added.
1335         (WebCore::createElement): Changed the passed in string to a const reference.
1336         * editing/htmlediting.h:
1337
1338 2006-06-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1339
1340         Reviewed by Darin and Hyatt.
1341
1342         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9561
1343           REGRESSION: Content property on :before of button causes hang on click or hover
1344
1345         Test: fast/forms/button-generated-content.html
1346
1347         * rendering/RenderBlock.cpp:
1348         (WebCore::RenderBlock::setStyle):
1349         * rendering/RenderButton.cpp:
1350         (WebCore::RenderButton::updatePseudoChild): Added. Calls updatePseudoChildForObject()
1351         on the button itself or on its inner div, if it has one.
1352         * rendering/RenderButton.h:
1353         (WebCore::RenderButton::createsAnonymousWrapper): Added. Returns true.
1354         * rendering/RenderContainer.cpp:
1355         (WebCore::RenderContainer::pseudoChild): Added. Returns the child containing
1356         generated content of the requested type if there is one, or otherwise the
1357         child before/after which such generated content should come.
1358         (WebCore::RenderContainer::updatePseudoChild): Removed the child parameter and moved the guts
1359         of this method into updatePseudoChildForObject, which this method calls unless the object
1360         is an anonymous wrapper.
1361         (WebCore::RenderContainer::updatePseudoChildForObject): Added. Does the what
1362         updatePseudoChildForObject did previously, but fetches the pseudo style from
1363         the styledObject parameter.
1364         * rendering/RenderContainer.h:
1365         * rendering/RenderInline.cpp:
1366         (WebCore::RenderInline::setStyle):
1367         (WebCore::RenderInline::addChildToFlow):
1368         (WebCore::RenderInline::splitInlines):
1369         (WebCore::RenderInline::splitFlow):
1370         * rendering/RenderObject.h:
1371         (WebCore::RenderObject::createsAnonymousWrapper): Added. This method replaces
1372         allowsReusingAnonymousChild and returns the opposite of what that method used to
1373         return. Returns true if the object creates an anonymous child to contain all its
1374         other children.
1375
1376 2006-06-27  Brady Eidson  <beidson@apple.com>
1377
1378         Reviewed by Maciej
1379
1380         Hookup the new semi-functional SQLite icon database.
1381         For now, it is living side-by-side with the old DB so one can compare the
1382         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
1383         compile with ICONDEBUG #defined.
1384
1385         * WebCore.xcodeproj/project.pbxproj:  Added file SiteIcon.cpp
1386
1387         * bridge/mac/WebCoreIconDatabaseBridge.h:
1388         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1389         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
1390         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
1391         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
1392         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
1393
1394         * icon/IconDatabase.cpp:
1395         (WebCore::IconDatabase::isValidDatabase):
1396         (WebCore::IconDatabase::recreateDatabase):
1397         (WebCore::IconDatabase::createPrivateTables):
1398         (WebCore::IconDatabase::deletePrivateTables):
1399         (WebCore::IconDatabase::imageDataForIconID):
1400         (WebCore::IconDatabase::imageDataForIconURL):
1401         (WebCore::IconDatabase::imageDataForPageURL):
1402         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
1403         (WebCore::IconDatabase::iconForPageURL):
1404         (WebCore::IconDatabase::iconURLForURL):
1405         (WebCore::IconDatabase::setIconDataForIconURL):
1406         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
1407         (WebCore::IconDatabase::setHaveNoIconForIconURL):
1408         (WebCore::IconDatabase::setIconURLForPageURL):
1409         (WebCore::IconDatabase::hasIconForIconURL):
1410         * icon/IconDatabase.h:
1411         (WebCore::SiteIcon::getIconURL):
1412         (WebCore::IconDatabase::getPrivateBrowsingEnabled):
1413         
1414         * icon/SiteIcon.cpp: Added.
1415         (SiteIcon::SiteIcon):
1416         (SiteIcon::~SiteIcon):
1417         (SiteIcon::getImage):
1418         (SiteIcon::resetExpiration):
1419         (SiteIcon::getExpiration):
1420
1421 2006-06-27  Rob Buis  <buis@kde.org>
1422
1423         Reviewed by Darin.
1424
1425         http://bugzilla.opendarwin.org/show_bug.cgi?id=9605
1426         REGRESSION: pageX and pageY are both 0 for events created with initMouseEvent
1427
1428         Calculate pageX/pageY and clientX/clientY values when using initMouseEvent.
1429
1430         * dom/MouseEvent.cpp:
1431         (WebCore::MouseEvent::initMouseEvent):
1432         * dom/MouseRelatedEvent.cpp:
1433         (WebCore::MouseRelatedEvent::initCoordinates):
1434         * dom/MouseRelatedEvent.h:
1435
1436 2006-06-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1437
1438         Reviewed by Maciej and Darin.
1439
1440         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9317
1441           REGRESSION: crash in HTML tokenizer at Japanese Apple support page
1442
1443         Test: fast/tokenizer/write-unclosed-script.html
1444
1445         * html/HTMLTokenizer.cpp:
1446         (WebCore::HTMLTokenizer::scriptHandler): Changed to reset the inScript flag
1447         and scriptCodeSize before possible script execution, but not afterwards.
1448         This way, if script execution write()s a <script> tag without closing it,
1449         the tokenizer is left in inScript state. Added code to set the requestingScript
1450         flag around the request for the cached script, to let notifiyFinished() know
1451         that it's being called under scriptHandler().
1452         (WebCore::HTMLTokenizer::scriptExecution): Removed code that saved and restored
1453         the inScript flag. This function is always entered now with inScript being false.
1454         (WebCore::HTMLTokenizer::notifyFinished): Changed to use the new requestingScript
1455         state flag instead of the inScript flag, which is always false now when entering
1456         this function.
1457         * html/HTMLTokenizer.h:
1458         Added the requestingScript state bit, used to tell notifyFinished() that it
1459         is being called under scriptHandler() (which happens when the script is already
1460         in cache).
1461
1462 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
1463
1464         Reviewed by levi
1465
1466         * editing/JSEditor.cpp: Added RemoveFormat.
1467
1468 2006-06-27  Kevin Decker    <kdecker@apple.com>
1469
1470         Reviewed by brady.
1471
1472         Fixed: <rdar://problem/4597679> TOT REGRESSION: popup blocker DOA
1473         
1474         Need to add window.open() support to DumpRenderTree before landing an actual layout test.
1475
1476         * bindings/js/kjs_window.cpp: 
1477         (KJS::WindowFunc::callAsFunction): Because FrameTree::find() returns true for empty strings, 
1478         we must check for empty framenames. Otherwise, illegitimate window.open() calls with no name
1479         will pass right through the popup blocker.
1480
1481 2006-06-28  Anders Carlsson  <acarlsson@apple.com>
1482
1483         Reviewed by Darin.
1484
1485         * css/CSSComputedStyleDeclaration.cpp:
1486         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1487         Move FIXME comment here.
1488         
1489         * page/DOMWindow.cpp:
1490         (WebCore::DOMWindow::getComputedStyle):
1491         Don't do a null check on the renderer here. Everything's handled by 
1492         CSSComputedStyleDeclaration anyway.
1493
1494 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
1495
1496         Reviewed by darin
1497
1498         * rendering/RenderContainer.cpp: Fixed #include formatting.
1499
1500 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
1501
1502         Reviewed by levi
1503         
1504         <rdar://problem/4599735> Clicking out of a table at the extremes of an editable document doesn't appear to work
1505
1506         * rendering/RenderBlock.cpp:
1507         (WebCore::RenderBlock::positionForCoordinates): In the fall through case,
1508         where we can't find a child block that contains (x, y), pass to RenderFlow
1509         instead of the last visible child block.
1510         * rendering/RenderContainer.cpp:
1511         (WebCore::RenderContainer::positionForCoordinates): Don't pass to the closest 
1512         child renderer if this is a table and (x, y) is outside the table.  Return
1513         a VisiblePosition before or after the table.
1514         Fixed the code that finds the closest child renderer.
1515
1516 2006-06-27  David Hyatt  <hyatt@apple.com>
1517
1518         Preserve entity text in view source mode.  This patch doesn't highlight the
1519         the entities yet, but it at least prevents their resolution and removal.
1520
1521         Reviewed by darin
1522
1523         * WebCore.xcodeproj/project.pbxproj:
1524         * html/HTMLTokenizer.cpp:
1525         (WebCore::HTMLTokenizer::parseEntity):
1526
1527 2006-06-27  Anders Carlsson  <acarlsson@apple.com>
1528
1529         Reviewed by Geoff.
1530
1531         http://bugzilla.opendarwin.org/show_bug.cgi?id=9623
1532         REGRESSION: getComputedStyle should do a relayout
1533         
1534         * page/DOMWindow.cpp:
1535         (WebCore::DOMWindow::getComputedStyle):
1536         Do a relayout.
1537
1538 2006-06-27  Maciej Stachowiak  <mjs@apple.com>
1539
1540         Reviewed by Adele
1541
1542         - fixed <rdar://problem/4550473> Reproducible hang on www.digg.com
1543         
1544         * dom/NodeList.cpp:
1545         (WebCore::NodeList::recursiveItem): Make NodeList caching also
1546         work for backwards iteration - if the requested index is before
1547         the last cached, but closer to it than to the start of the list,
1548         then search backwards from there.
1549         (WebCore::NodeList::itemForwardsFromCurrent): Split this out as a
1550         helper method.
1551         (WebCore::NodeList::itemBackwardsFromCurrent): New helper, similar
1552         to the above.
1553         * dom/NodeList.h:
1554
1555 2006-06-27  Brady Eidson  <beidson@apple.com>
1556
1557         Reviewed by Levi
1558
1559         Some SQLDatabase cleanup (style stuff) and enhancements
1560
1561         * icon/SQLDatabase.cpp:
1562         (SQLDatabase::open):
1563         (SQLDatabase::executeCommand):
1564         (SQLDatabase::returnsAtLeastOneResult):  Accessor to see if this query returns results
1565         (SQLDatabase::lastInsertRowID):  Accessor for the rowid of the last insert
1566         * icon/SQLDatabase.h:
1567         (WebCore::SQLStatement::prepareAndStep):
1568         * icon/SQLStatement.cpp:
1569         (WebCore::SQLStatement::bindInt64):
1570         -All of the following used to require the user to manually prepare and step a statement
1571         before asking for the result.  Now it will prepare and step itself so you can use a temporary
1572         object to get a quick result
1573         (WebCore::SQLStatement::getColumnName):
1574         (WebCore::SQLStatement::getColumnName16):
1575         (WebCore::SQLStatement::getColumnText):
1576         (WebCore::SQLStatement::getColumnText16):
1577         (WebCore::SQLStatement::getColumnDouble):
1578         (WebCore::SQLStatement::getColumnInt):
1579         (WebCore::SQLStatement::getColumnInt64):
1580         (WebCore::SQLStatement::getColumnBlobAsVector):
1581         (WebCore::SQLStatement::getColumnBlob):
1582
1583 2006-06-27  Ada Chan <adachan@apple.com>
1584
1585         Reviewed by sfalken.
1586
1587         Fixed build.
1588
1589         * WebCore.vcproj/WebCore/WebCore.vcproj:
1590
1591 2006-06-27  Beth Dakin  <bdakin@apple.com>
1592
1593         Reviewed by Hyatt.
1594
1595         Fix for <rdar://problem/4602635> Media queries must be extended to 
1596         address CSS pixel scaling factor
1597
1598         * css/MediaFeatureNames.h: Add -webkit-device-pixel-ratio, -webkit-
1599         min-device-pixel-ratio, and -webkit-max-device-pixel-ratio to the 
1600         list of feature names.
1601         * css/MediaQueryEvaluator.cpp:
1602         (WebCore::cmpvalue): Added a version of cmpvalue that compares 
1603         floats.
1604         (WebCore::device_pixel_ratioMediaFeatureEval):
1605         (WebCore::min_device_pixel_ratioMediaFeatureEval):
1606         (WebCore::max_device_pixel_ratioMediaFeatureEval):
1607
1608 2006-06-27  Darin Adler  <darin@apple.com>
1609
1610         Reviewed by Geoff.
1611
1612         - finish with http://bugzilla.opendarwin.org/show_bug.cgi?id=9606
1613           REGRESSION: some callers are still using clientX/Y to get pageX/Y
1614
1615         * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize):
1616         Change to use pageX/Y, but this really doesn't matter since framesets
1617         can't be scrolled -- it's the frames that are scrolled. So this change
1618         has no user-visible effect, but it's still better this way.
1619
1620 2006-06-27  Darin Adler  <darin@apple.com>
1621
1622         Reviewed by Geoff.
1623
1624         - fix 2/3 of http://bugzilla.opendarwin.org/show_bug.cgi?id=9606
1625           REGRESSION: some callers are still using clientX/Y to get pageX/Y
1626
1627         Test: fast/events/anchor-image-scrolled-x-y.html
1628         Test: fast/events/input-image-scrolled-x-y.html
1629
1630         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): Use pageX/Y.
1631         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
1632
1633 2006-06-27  Brady Eidson  <beidson@apple.com>
1634
1635         Reviewed by Maciej
1636
1637         Added functionality to WebCore::Image to get multiple representations/sizes into TIFF data
1638
1639         * platform/mac/ImageMac.mm:
1640         (WebCore::Image::getTIFFRepresentation):
1641
1642 2006-06-26  David Hyatt  <hyatt@apple.com>
1643
1644         Fix for 9538, support syntax highlighted HTML source.  Lots of loose
1645         ends still (script/style/comments/doctype/entities/accurate whitespace).
1646
1647         Reviewed by darin
1648
1649         * DerivedSources.make:
1650         * WebCore.xcodeproj/project.pbxproj:
1651         * bridge/mac/WebCoreFrameBridge.h:
1652         * bridge/mac/WebCoreFrameBridge.mm:
1653         (-[WebCoreFrameBridge setInViewSourceMode:]):
1654         (-[WebCoreFrameBridge inViewSourceMode]):
1655         * css/cssstyleselector.cpp:
1656         (WebCore::CSSStyleSelector::loadDefaultStyle):
1657         (WebCore::CSSStyleSelector::matchUARules):
1658         * css/cssstyleselector.h:
1659         * css/view-source.css: Added.
1660         * dom/Document.cpp:
1661         (WebCore::Document::implicitClose):
1662         * dom/xml_tokenizer.h:
1663         (WebCore::Tokenizer::Tokenizer):
1664         (WebCore::Tokenizer::~Tokenizer):
1665         (WebCore::Tokenizer::inViewSourceMode):
1666         (WebCore::Tokenizer::setInViewSourceMode):
1667         * html/HTMLAttributeNames.in:
1668         * html/HTMLFrameElement.cpp:
1669         (WebCore::HTMLFrameElement::init):
1670         (WebCore::HTMLFrameElement::parseMappedAttribute):
1671         (WebCore::HTMLFrameElement::attach):
1672         * html/HTMLFrameElement.h:
1673         (WebCore::HTMLFrameElement::viewSourceMode):
1674         * html/HTMLTokenizer.cpp:
1675         (WebCore::HTMLTokenizer::HTMLTokenizer):
1676         (WebCore::HTMLTokenizer::scriptHandler):
1677         (WebCore::HTMLTokenizer::scriptExecution):
1678         (WebCore::HTMLTokenizer::parseTag):
1679         (WebCore::HTMLTokenizer::continueProcessing):
1680         (WebCore::HTMLTokenizer::write):
1681         (WebCore::HTMLTokenizer::timerFired):
1682         (WebCore::HTMLTokenizer::end):
1683         (WebCore::HTMLTokenizer::processToken):
1684         (WebCore::HTMLTokenizer::notifyFinished):
1685         * html/HTMLTokenizer.h:
1686         * html/HTMLViewSourceDocument.cpp: Added.
1687         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
1688         (WebCore::HTMLViewSourceDocument::createTokenizer):
1689         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
1690         (WebCore::HTMLViewSourceDocument::addViewSourceAttribute):
1691         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
1692         * html/HTMLViewSourceDocument.h: Added.
1693         * page/Frame.cpp:
1694         (WebCore::Frame::begin):
1695         (WebCore::Frame::inViewSourceMode):
1696         (WebCore::Frame::setInViewSourceMode):
1697         * page/Frame.h:
1698         * page/FramePrivate.h:
1699         (WebCore::FramePrivate::FramePrivate):
1700         * rendering/RenderPartObject.cpp:
1701         (WebCore::RenderPartObject::updateWidget):
1702
1703 2006-06-26  Anders Carlsson  <acarlsson@apple.com>
1704
1705         Reviewed by Darin.
1706
1707         http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
1708         REGRESSION: Crash when closing tabs on newegg.com
1709         
1710         * page/Frame.cpp:
1711         (WebCore::Frame::pageDestroyed):        
1712         * page/Frame.h:
1713         Add new method which is invoked when the frame's page has been destroyed.
1714         Currently this function disassociates the JS Window object with the frame, 
1715         stopping any running JS timers.
1716         
1717         * page/Page.cpp:
1718         (WebCore::Page::~Page):
1719         Call pageDestroyed on all frames.
1720
1721 2006-06-26  Rob Buis  <buis@kde.org>
1722
1723         Reviewed and reworked by Darin.
1724
1725         Code cleanup, calculate clientX/clientY in one central place.
1726
1727         * dom/EventTargetNode.h:
1728         * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent):
1729         Renamed parameters to pageX/Y since they aren't clientX/Y values.
1730         Removed code to compute clientX/Y (was a bit confused in naming before),
1731         because that's now done inside MouseEvent.
1732
1733         * dom/MouseEvent.h:
1734         * dom/MouseEvent.cpp:
1735         (WebCore::MouseEvent::MouseEvent): Removed clientX/Y parameters.
1736         (WebCore::MouseEvent::initMouseEvent): Added comments about problems I noticed.
1737         (WebCore::MouseEvent::which): Fixed comment that confusingly mentioned KHTML,
1738         when it was talking about the DOM standard.
1739
1740         * dom/MouseRelatedEvent.h:
1741         * dom/MouseRelatedEvent.cpp:
1742         (WebCore::contentsX): Added helper function.
1743         (WebCore::contentsY): Ditto.
1744         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Removed clientX/Y parameter,
1745         and added code to compute clientX/Y based on pageX/Y.
1746         (WebCore::MouseRelatedEvent::receivedTarget): Fixed comments.
1747
1748         * dom/WheelEvent.h:
1749         * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): Removed clientX/Y
1750         parameter.
1751
1752         * page/FrameView.cpp: (WebCore::FrameView::dispatchDragEvent): Removed the code
1753         to compute coordinates, and renamed the confusingly named clientPos (which was
1754         a page-relative position) to contentsPos.
1755
1756 2006-06-25  David Carson  <dacarson@gmail.com>
1757
1758         Reviewed and tweaked by Darin.
1759
1760         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9185
1761         REGRESSION: UserID field appears with an incorrect height 
1762         on americanexpresslogin page
1763         - Height and Width attribute only applies to IMAGE and HIDDEN
1764         types.
1765
1766         * dom/NamedMappedAttrMap.h:
1767         (WebCore::NamedMappedAttrMap::getAttributeItem):
1768         Added to static_cast method.
1769
1770         * html/HTMLInputElement.cpp:
1771         (WebCore::HTMLInputElement::setInputType):
1772         Update the style decl if input type has changed.
1773         (WebCore::HTMLInputElement::mapToEntry):
1774         Only Cache height and width if it is an IMAGE or HIDDEN
1775         (WebCore::HTMLInputElement::parseMappedAttribute):
1776         Check type before adding height and width style.
1777         (WebCore::HTMLInputElement::attach):
1778         Remove code for discarding width.
1779
1780         * html/HTMLInputElement.h:
1781         (WebCore::HTMLInputElement::respectHeightAndWidthAttrs):
1782         New method added to report if this input type uses height & width.
1783
1784 2006-06-25  David Kilzer  <ddkilzer@kilzer.net>
1785
1786         Reviewed by Darin.
1787
1788         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9537
1789           REGRESSION: Reproducible crash in WebCore::RenderTextField::textWithHardLineBreaks()
1790
1791         Test: fast/forms/textarea-hard-linewrap-empty.html
1792
1793         * rendering/RenderTextField.cpp:
1794         (WebCore::RenderTextField::textWithHardLineBreaks): Added null check for
1795         m_div->firstChild()->renderer().
1796
1797 2006-06-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1798
1799         Reviewed by Darin.
1800
1801         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9388
1802           REGRESSION: outlines don't get erased when removed in some cases
1803
1804         Test: fast/repaint/outline-shrinking.html
1805
1806         * rendering/RenderObject.cpp:
1807         (WebCore::RenderObject::setStyle): Always repaint with the old style if the outline is
1808         becoming narrower, even if we are going to relayout.
1809
1810 2006-06-25  Rob Buis  <buis@kde.org>
1811
1812         Reviewed by Darin.
1813
1814         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8707:
1815         event.clientX and event.clientY should be relative to the viewport, not the canvas
1816
1817         Make sure clientX and clientY take into account the scroll offsets
1818         of the view.
1819
1820         * dom/EventTargetNode.cpp:
1821         (WebCore::EventTargetNode::dispatchMouseEvent):
1822         * dom/MouseEvent.cpp:
1823         (WebCore::MouseEvent::MouseEvent):
1824         * dom/MouseEvent.h:
1825         * dom/MouseRelatedEvent.cpp:
1826         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1827         (WebCore::MouseRelatedEvent::initCoordinates):
1828         * dom/MouseRelatedEvent.h:
1829         * dom/WheelEvent.cpp:
1830         (WebCore::WheelEvent::WheelEvent):
1831         * page/FrameView.cpp:
1832         (WebCore::FrameView::dispatchDragEvent):
1833
1834 2006-06-25  Timothy Hatcher  <timothy@apple.com>
1835
1836         Reviewed by Darin.
1837
1838         Bug 9574: Drosera should show inline scripts within the original HTML
1839         http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
1840
1841         * Pass the starting line number and error message to the debugger.
1842         * Call parsedSource even if there was a script parse error so the
1843           debugger can show the parse error.
1844         * Pass NSURL objects to the ObjC delegate for the script URLs.
1845
1846         * bridge/mac/WebCoreScriptDebugger.h:
1847         * bridge/mac/WebCoreScriptDebugger.mm:
1848         (toNSURL):
1849         (WebCoreScriptDebuggerImp::sourceParsed):
1850
1851 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
1852
1853         Build fix.  Reviewed by NOBODY.
1854
1855         - Backed out patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=8707
1856           event.clientX and event.clientY should be relative to the viewport, not the canvas
1857
1858         * dom/EventTargetNode.cpp:
1859         (WebCore::EventTargetNode::dispatchMouseEvent):
1860         * dom/MouseEvent.cpp:
1861         (WebCore::MouseEvent::MouseEvent):
1862         * dom/MouseEvent.h:
1863         * dom/MouseRelatedEvent.cpp:
1864         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1865         (WebCore::MouseRelatedEvent::initCoordinates):
1866         * dom/MouseRelatedEvent.h:
1867         * dom/WheelEvent.cpp:
1868         (WebCore::WheelEvent::WheelEvent):
1869
1870 2006-06-24  Rob Buis  <buis@kde.org>
1871
1872         Reviewed by Darin.
1873
1874         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8707:
1875         event.clientX and event.clientY should be relative to the viewport, not the canvas
1876
1877         Make sure clientX and clientY take into account the scroll offsets
1878         of the view.
1879
1880         Test: fast/dom/window-xy-properties.html
1881
1882         * dom/EventTargetNode.cpp:
1883         (WebCore::EventTargetNode::dispatchMouseEvent):
1884         * dom/MouseEvent.cpp:
1885         (WebCore::MouseEvent::MouseEvent):
1886         * dom/MouseEvent.h:
1887         * dom/MouseRelatedEvent.cpp:
1888         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1889         (WebCore::MouseRelatedEvent::initCoordinates):
1890         * dom/MouseRelatedEvent.h:
1891         * dom/WheelEvent.cpp:
1892         (WebCore::WheelEvent::WheelEvent):
1893
1894 2006-06-24  Rob Buis  <buis@kde.org>
1895
1896         Reviewed by Darin.
1897
1898         http://bugzilla.opendarwin.org/show_bug.cgi?id=9352
1899         Webkit doesn't respect stroke-width in SVG for smaller <circle>s
1900
1901         Make sure the stroke path is set before applying gradient transforms.
1902
1903         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1904         (WebCore::KRenderingPaintServerGradientQuartz::setup):
1905         (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
1906
1907 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
1908
1909         Rubber-stamped by Eric.
1910
1911         Add a -h (do not follow symlinks) option to ln in derived sources build script (without it,
1912         a symlink was created inside the source directory on second build).
1913
1914         * WebCore.xcodeproj/project.pbxproj:
1915
1916 2006-06-24  James G. Speth  <speth@end.com>
1917
1918         Reviewed by Darin.  Copyrights tweaked by ddkilzer.
1919         
1920         Bug 8331: DOMNodeLists returned to Objective-C are not properly wrapped
1921         http://bugzilla.opendarwin.org/show_bug.cgi?id=8331
1922         
1923         DOMNodes were the only objects handled by createObjcInstanceForValue.
1924         now it handles all of these: DOMNode, DOMNodeList, DOMNamedNodeMap, DOMStyleSheetList,
1925         DOMStyleSheet, DOMMediaList, DOMCSSRuleList, DOMCSSRule, DOMCSSStyleDeclaration, and DOMCSSValue
1926         
1927         * WebCore.xcodeproj/project.pbxproj: added file DOMCSSInternal.h to project
1928         * bindings/js/kjs_css.cpp:
1929         (KJS::): changed ClassInfo for DOMCSSStyleSheet to have DOMStyleSheet as its parent class
1930         * bindings/objc/DOM.mm:
1931         (-[DOMDocumentType :]):  moved DOMNamedNodeMap (WebCoreInternal) interface to DOMInternal.h
1932         * bindings/objc/DOMCSS.mm: moved WebCoreInternal interfaces to DOMCSSInternal.h
1933         * bindings/objc/DOMCSSInternal.h: Added file, contains WebCoreInternal interface for CSS classes
1934         * bindings/objc/DOMInternal.h: added DOMNamedNodeMap (WebCoreInternal) interface
1935         * bindings/objc/DOMUtility.mm:
1936         (KJS::ScriptInterpreter::createObjcInstanceForValue): support for more classes
1937
1938 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
1939
1940         Reviewed by Timothy.
1941
1942         * Info.plist: Fixed copyright to include 2003-2006.
1943         * manual-tests/NPN_Invoke/Info.plist: Added copyright statement.
1944
1945 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1946
1947         Reviewed by Darin, landed by ap.
1948
1949         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9547
1950           Resize corner does not track the mouse accurately
1951
1952         Test: fast/css/resize-corner-tracking.html
1953
1954         * page/FrameView.cpp:
1955         (WebCore::FrameView::handleMousePressEvent): Store the offset from the layer's
1956         resizing corner where dragging has started.
1957         (WebCore::FrameView::handleMouseMoveEvent): Pass the stored offset to the
1958         layer's resize method.
1959         * rendering/RenderLayer.cpp:
1960         (WebCore::RenderLayer::resize): Added an offset parameter, which is added to
1961         the mouse location.
1962         For objects that may have intrinsic margins applied to them,
1963         added code to lift the margins into the object's style in order to keep them
1964         constant.
1965         Changed to take the content size as the base size if the box-sizing property
1966         is content-box.
1967         (WebCore::RenderLayer::offsetFromResizeCorner): Added. Returns the offset of the
1968         given point from the corner that tracks the mouse when resizing.
1969         * rendering/RenderLayer.h:
1970
1971 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1972
1973         Reviewed by Darin, landed by ap.
1974
1975         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9316
1976           REGRESSION: text field width shrinks on first keystroke
1977
1978         Test: fast/forms/floating-textfield-relayout.html
1979
1980         * page/FrameView.cpp:
1981         (WebCore::FrameView::layoutRoot): Added. During subtree relayout, returns
1982         the subtree root. Otherwise returns 0.
1983         (WebCore::FrameView::layoutPending): Made const.
1984         * page/FrameView.h:
1985         * rendering/RenderBox.cpp:
1986         (WebCore::RenderBox::calcWidth): Added early return if this is the root
1987         of a subtree being laid out. 
1988
1989 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1990
1991         Reviewed by Hyatt.
1992
1993         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9531
1994           Pages that need only a horizontal scroll bar get a vertical one as well
1995
1996         The change affects many existing tests.
1997
1998         * page/FrameView.cpp:
1999         (WebCore::FrameView::layout): Mark the body renderer as needing layout if
2000         the view's height has changed and the body stretches to the view's height.
2001         * rendering/RenderBox.cpp:
2002         (WebCore::RenderBox::calcHeight):
2003         * rendering/RenderBox.h:
2004         (WebCore::RenderBox::stretchesToViewHeight): Added. Moved the logic for when
2005         the HTML block needs to stretch to the view's height from calcHeight() here.
2006
2007 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
2008
2009         Reviewed by Darin.
2010
2011         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7461
2012           Always encode the path part of an URI as UTF-8
2013
2014         Test: http/tests/uri/utf8-path.html
2015
2016         * platform/KURL.cpp:
2017         (encodeRelativeString): Always set pathEncoding to UTF-8.
2018
2019 2006-06-24  Graham Dennis  <Graham.Dennis@gmail.com>
2020
2021         Reviewed by Darin, landed by ap.
2022         
2023         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9467
2024           TreeWalker/NodeIterator do not restrict the traversal
2025         
2026         Test: traversal/stay-within-root.html
2027
2028         * dom/Node.cpp:
2029         (WebCore::Node::traversePreviousNode):
2030         * dom/Node.h:
2031         Add a stayWithin argument to traversePreviousNode just like the other
2032         traversal functions
2033         * dom/NodeIterator.cpp:
2034         (WebCore::NodeIterator::findNextNode):
2035         (WebCore::NodeIterator::findPreviousNode):
2036         Ensure that when moving forward or backward that the root node is not
2037         exited
2038         * dom/TreeWalker.cpp:
2039         (WebCore::TreeWalker::previousNode):
2040         (WebCore::TreeWalker::nextNode):
2041         Ditto
2042         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2043
2044 2006-06-24  Jonas Witt <jonas.witt@gmail.com>
2045
2046         Reviewed by ggaren, landed by ap.
2047
2048         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9181
2049           Complete DOMUIEvent Obj-C API to reflect UIEvent
2050
2051         * WebCore.exp: add new classes DOMKeyboardEvent and DOMWheelEvent to the exported 
2052           symbols list of WebCore.framework
2053
2054         Updated DOMUIEvent to include all DOM Level 2 properties
2055         Added DOMKeyboardEvent (DOM Level 3)
2056         Added two non-W3C accessors (keyCode, charCode) of DOMKeyboardEvent to a separate file (DOMEventsNonstandard)
2057         Added DOMWheelEvent (non-W3C) in separate file (DOMEventsNonstandard)
2058         Added this file (DOMEventsNonstandard) to the build process
2059
2060         * WebCore.xcodeproj/project.pbxproj:
2061         * bindings/objc/DOM.h:
2062         * bindings/objc/DOMEvents.h:
2063         * bindings/objc/DOMEvents.mm:
2064         (+[DOMEvent _eventWith:]):
2065         (-[DOMUIEvent _UIEvent]):
2066         (-[DOMUIEvent view]):
2067         (-[DOMUIEvent detail]):
2068         (-[DOMUIEvent initUIEvent:::::]):
2069         (-[DOMKeyboardEvent _keyboardEvent]):
2070         (-[DOMKeyboardEvent keyIdentifier]):
2071         (-[DOMKeyboardEvent keyLocation]):
2072         (-[DOMKeyboardEvent ctrlKey]):
2073         (-[DOMKeyboardEvent shiftKey]):
2074         (-[DOMKeyboardEvent altKey]):
2075         (-[DOMKeyboardEvent metaKey]):
2076         (-[DOMKeyboardEvent getModifierState:]):
2077         (-[DOMMouseEvent button]):
2078         * bindings/objc/DOMEventsNonstandard.mm: Added.
2079         (-[DOMWheelEvent _wheelEvent]):
2080         (-[DOMWheelEvent screenX]):
2081         (-[DOMWheelEvent screenY]):
2082         (-[DOMWheelEvent clientX]):
2083         (-[DOMWheelEvent clientY]):
2084         (-[DOMWheelEvent ctrlKey]):
2085         (-[DOMWheelEvent shiftKey]):
2086         (-[DOMWheelEvent altKey]):
2087         (-[DOMWheelEvent metaKey]):
2088         (-[DOMWheelEvent isHorizontal]):
2089         (-[DOMWheelEvent wheelDelta]):
2090         (-[DOMKeyboardEvent _keyboardEvent]):
2091         (-[DOMKeyboardEvent keyCode]):
2092         (-[DOMKeyboardEvent charCode]):
2093         * bindings/objc/DOMPrivate.h:
2094
2095 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2096
2097         Reviewed and landed by ap.
2098
2099         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9563
2100           Remove unused layoutSuppressed field and inLayout() method
2101
2102         No test added because there is no change in functionality.
2103
2104         * page/FrameView.cpp:
2105         (WebCore::FrameViewPrivate::reset):
2106         (WebCore::FrameView::layout):
2107         * page/FrameView.h:
2108         * rendering/RenderView.cpp:
2109         (WebCore::RenderView::layout):
2110
2111 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
2112
2113         Reviewed by Darin.
2114
2115         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8177
2116         Javascript search incredibly slow
2117
2118         No change in functionality, thus no test.
2119
2120         Use info sharing for named collections, too. Moved shared HTMLCollection infos from HTMLDocument 
2121         to Document.  Renamed collection types to use the preferred WebKit style. Replaced direct
2122         HTMLCollection creation with using accessors from Document in a few places.
2123
2124         * bindings/objc/DOMHTML.mm:
2125         (-[DOMHTMLElement children]):
2126         (-[DOMHTMLDocument images]):
2127         (-[DOMHTMLDocument applets]):
2128         (-[DOMHTMLDocument links]):
2129         (-[DOMHTMLDocument forms]):
2130         (-[DOMHTMLDocument anchors]):
2131         (-[DOMHTMLMapElement areas]):
2132         (-[DOMHTMLTableSectionElement rows]):
2133         (-[DOMHTMLTableElement rows]):
2134         (-[DOMHTMLTableElement tBodies]):
2135         (-[DOMHTMLTableRowElement cells]):
2136         * dom/Document.cpp:
2137         (WebCore::Document::images):
2138         (WebCore::Document::applets):
2139         (WebCore::Document::embeds):
2140         (WebCore::Document::objects):
2141         (WebCore::Document::scripts):
2142         (WebCore::Document::links):
2143         (WebCore::Document::forms):
2144         (WebCore::Document::anchors):
2145         (WebCore::Document::all):
2146         (WebCore::Document::windowNamedItems):
2147         (WebCore::Document::documentNamedItems):
2148         (WebCore::Document::nameCollectionInfo):
2149         * dom/Document.h:
2150         (WebCore::Document::collectionInfo):
2151         * html/HTMLCollection.cpp:
2152         (WebCore::HTMLCollection::HTMLCollection):
2153         (WebCore::HTMLCollection::traverseNextItem):
2154         (WebCore::HTMLCollection::checkForNameMatch):
2155         (WebCore::HTMLCollection::updateNameCache):
2156         * html/HTMLCollection.h:
2157         (WebCore::HTMLCollection::):
2158         * html/HTMLDocument.h:
2159         * html/HTMLElement.cpp:
2160         (WebCore::HTMLElement::children):
2161         * html/HTMLMapElement.cpp:
2162         (WebCore::HTMLMapElement::areas):
2163         * html/HTMLNameCollection.h:
2164         * html/HTMLNameCollection.cpp:
2165         (WebCore::HTMLNameCollection::HTMLNameCollection):
2166         (WebCore::HTMLNameCollection::traverseNextItem):
2167         * html/HTMLFormCollection.cpp:
2168         * html/HTMLOptionsCollection.cpp:
2169         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
2170         * html/HTMLSelectElement.h:
2171         (WebCore::HTMLSelectElement::collectionInfo):
2172         * html/HTMLTableElement.cpp:
2173         (WebCore::HTMLTableElement::rows):
2174         (WebCore::HTMLTableElement::tBodies):
2175         * html/HTMLTableRowElement.cpp:
2176         (WebCore::HTMLTableRowElement::cells):
2177         * html/HTMLTableSectionElement.cpp:
2178         (WebCore::HTMLTableSectionElement::rows):
2179         * kwq/WebCoreAXObject.mm:
2180         (-[WebCoreAXObject accessibilityAttributeValue:]):
2181         * page/Frame.cpp:
2182         (WebCore::Frame::gotoAnchor):
2183
2184 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
2185
2186         Reviewed by Darin.
2187
2188         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
2189         WebKit will not build when Space exists in path
2190
2191         * WebCore.xcodeproj/project.pbxproj: Enclose search paths in quotes; create symlinks to 
2192         avoid passing paths with spaces to make.
2193
2194 2006-06-23  Tim Omernick  <timo@apple.com>
2195
2196         Reviewed by Tim Hatcher.
2197
2198         <rdar://problem/4560947> Leopard REGRESSION: Dragging to TileGame Widget is broken
2199
2200         * page/FrameView.cpp:
2201         (WebCore::FrameView::updateDragAndDrop):
2202         Use the passed mouse event, instead of the "current" event.  There is no such thing as
2203         a "drag event".  Asking for the current event during a drag returns a weird system-
2204         internal event with an invalid mouse location.
2205
2206 2006-06-23  Timothy Hatcher  <timothy@apple.com>
2207
2208         Reviewed by Eric.
2209
2210         Manual test added: cursor.html
2211
2212         Bug 9560: should support new CSS3 cursor types to get more resizing directions
2213         http://bugzilla.opendarwin.org/show_bug.cgi?id=9560
2214
2215         Adds support for ew-resize, ns-resize, nesw-resize, nwse-resize,
2216         col-resize and row-resize CSS3 cursor values.
2217
2218         Also converted some of the cursor images to grayscale tiffs,
2219         some were RGB but had no color data.
2220
2221         * Resources/eastResizeCursor.tiff:
2222         * Resources/eastWestResizeCursor.tiff: Added.
2223         * Resources/helpCursor.tiff:
2224         * Resources/moveCursor.tiff:
2225         * Resources/northEastResizeCursor.tiff:
2226         * Resources/northEastSouthWestResizeCursor.tiff: Added.
2227         * Resources/northResizeCursor.tiff:
2228         * Resources/northSouthResizeCursor.tiff: Added.
2229         * Resources/northWestResizeCursor.tiff:
2230         * Resources/northWestSouthEastResizeCursor.tiff: Added.
2231         * Resources/southEastResizeCursor.tiff:
2232         * Resources/southResizeCursor.tiff:
2233         * Resources/southWestResizeCursor.tiff:
2234         * Resources/textAreaResizeCorner.tiff:
2235         * Resources/waitCursor.tiff:
2236         * Resources/westResizeCursor.tiff:
2237         * WebCore.xcodeproj/project.pbxproj:
2238         * css/CSSComputedStyleDeclaration.cpp:
2239         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2240         * css/CSSValueKeywords.in:
2241         * css/cssparser.cpp:
2242         (WebCore::CSSParser::parseValue):
2243         * manual-tests/cursor.html: Added.
2244         * page/FrameView.cpp:
2245         (WebCore::selectCursor):
2246         * platform/Cursor.h:
2247         * platform/mac/CursorMac.mm:
2248         (WebCore::northSouthResizeCursor):
2249         (WebCore::eastWestResizeCursor):
2250         (WebCore::northEastSouthWestResizeCursor):
2251         (WebCore::northWestSouthEastResizeCursor):
2252         (WebCore::columnResizeCursor):
2253         (WebCore::rowResizeCursor):
2254         * platform/win/CursorWin.cpp:
2255         (WebCore::northSouthResizeCursor):
2256         (WebCore::eastWestResizeCursor):
2257         (WebCore::northEastSouthWestResizeCursor):
2258         (WebCore::northWestSouthEastResizeCursor):
2259         (WebCore::columnResizeCursor):
2260         (WebCore::rowResizeCursor):
2261         * rendering/render_style.h: cursor needs 5 bits now
2262
2263 2006-06-23  John Sullivan  <sullivan@apple.com>
2264
2265         Reviewed by Tim Omernick
2266         
2267         - fixed <rdar://problem/4597685> stale rects for document markers can be left behind in certain cases
2268
2269         * dom/Document.h:
2270         * dom/Document.cpp:
2271         (WebCore::Document::setRenderedRectForMarker):
2272         changed parameter from IntRect to const IntRect& at Darin's request
2273         (WebCore::Document::invalidateRenderedRectsForMarkersInRect):
2274         new method, tests whether the rendered rect for each marker intersects the
2275         passed rect. If so, sets the rendered rect back to the placeholder rect that
2276         means that the rect for this marker isn't known.
2277         
2278         * page/Frame.cpp:
2279         (WebCore::Frame::paint):
2280         call invalidateRenderedRectsForMarkersInRect on the rect we're about to paint.
2281         This ensures that old stale rects won't be preserved if the associated marker
2282         has moved such that it is out of the painted area.
2283
2284 2006-06-23  Justin Garcia  <justin.garcia@apple.com>
2285
2286         Reviewed by levi
2287
2288         <rdar://problem/4527702>
2289         REGRESSION: Quote bars go away on first paragraph when I delete reply text
2290
2291         * editing/DeleteSelectionCommand.cpp:
2292         (WebCore::DeleteSelectionCommand::mergeParagraphs):
2293         Add a rule for when to merge into empty blocks.
2294
2295 === WebCore-521.13 ===
2296
2297 2006-06-23  Patrick Beard  <beard@apple.com>
2298
2299         Reviewed by Tim Hatcher.
2300
2301         <rdar://problem/4223619> Safari crashed in -[NSFont __isSystemFont]
2302         CFRetain and CFRelease NSFont's when FontPlatformData has a reference.
2303         We only do this when GC is enabled for performance reasons.
2304         No tests possible.
2305
2306         * platform/mac/FontPlatformData.h:
2307         (WebCore::FontPlatformData::FontPlatformData):
2308         (WebCore::FontPlatformData::~FontPlatformData):
2309
2310 2006-06-23  Justin Garcia  <justin.garcia@apple.com>
2311
2312         Reviewed by levi
2313         
2314         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8074>
2315         Caret before/after block tables is too small
2316         <rdar://problem/4598331>
2317         right arrow out of a table shows cursor in a weird place
2318
2319         * rendering/RenderBox.cpp:
2320         (WebCore::RenderBox::caretRect): Don't propagate to children, 
2321         VisiblePositions inside containers don't refer to children.
2322         Don't use the font height for tables.
2323
2324 2006-06-23  Brady Eidson  <beidson@apple.com>
2325
2326         Reviewed by Kevin.
2327
2328         Added 64-bit String::number() functions
2329
2330         * platform/PlatformString.h:
2331         * platform/String.cpp:
2332         (WebCore::String::number):
2333
2334 2006-06-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2335
2336         Reviewed by Hyatt.
2337
2338         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9497
2339           REGRESSION: Incomplete repainting when scrolling thumbnails on Flickr
2340
2341         Test: fast/repaint/clipped-relative.html
2342
2343         * page/FrameView.cpp:
2344         (WebCore::FrameView::layout):
2345         * rendering/RenderBlock.cpp:
2346         (WebCore::RenderBlock::removePositionedObjects): Removed call to computeRepaintRects().
2347         Previously, it was needed to update the cached rects before RenderBox::setStyle()
2348         called updateLayerPositions().
2349         * rendering/RenderBox.cpp:
2350         (WebCore::RenderBox::setStyle): Changed to call updateLayerPositions() for a newly-
2351         created layer only if it does not need layout. Otherwise,  updateLayerPositions() will
2352         be called after layout. This saves a repaint in some cases.
2353         * rendering/RenderLayer.cpp:
2354         (WebCore::RenderLayer::checkForRepaintOnResize): Renamed computeRepaintRects() to
2355         this and deleted the code that cached the absolute position and repaint rects.
2356         (WebCore::RenderLayer::updateLayerPositions): Added code to cache the absolute
2357         position and repaint rects right after updating the layer's position.
2358         * rendering/RenderLayer.h:
2359
2360 2006-06-22  Beth Dakin  <bdakin@apple.com>
2361
2362         Reviewed by Maciej.
2363
2364         Fix for <rdar://problem/4599015> REGRESSION: Hand on clock widget 
2365         don't appear at all
2366
2367         This regression was caused by <rdar://problem/4567520> HIDPI: pixel 
2368         cracks in weather widget at 1.83 scaling
2369
2370         * html/CanvasRenderingContext2D.cpp:
2371         (WebCore::CanvasRenderingContext2D::drawImage): Do the contains 
2372         check before rounding to integral device pixels.
2373
2374 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
2375
2376         Reviewed by John.
2377
2378         <rdar://problem/4529334> REGRESSION: Can't configure RadarInMotion widget for U.S. locations on Leopard (Javascript errors)
2379         
2380         * dom/Document.cpp:
2381         (WebCore::Document::completeURL):
2382         Check if both the URL and base URL are empty instead of using URL() which returns "about:blank" if the URL is empty.
2383         
2384 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
2385
2386         Reviewed by Maciej.
2387
2388         <rdar://problem/4499675> Package Tracker widget always crashes in WebCore::Frame::jScriptEnabled() const + 0
2389
2390         * html/HTMLParser.cpp:
2391         (WebCore::HTMLParser::noscriptCreateErrorCheck):
2392         (WebCore::HTMLParser::canvasCreateErrorCheck):
2393         (WebCore::HTMLParser::isInline):
2394         Add null-checks for document->frame() since it can be 0 for documents created using createHTMLDocument.
2395
2396 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
2397
2398         Reviewed by Maciej.
2399
2400         <rdar://problem/4524840> Entities contained in DOCTYPE referenced DTD in XSLT source document are unknown
2401         
2402         * dom/xml_tokenizer.cpp:
2403         (WebCore::shouldAllowExternalLoad):
2404         Use correct path for the catalog.
2405         
2406         (WebCore::errorFunc):
2407         Add error function to keep parser errors from going to the console.
2408         
2409         (WebCore::XMLTokenizer::write):
2410         Remove if (0 &&)
2411         
2412         (WebCore::XMLTokenizer::end):
2413         Pass DocLoader to xmlDocPtrForString.
2414         
2415         (WebCore::xmlDocPtrForString):        
2416         * dom/xml_tokenizer.h:
2417         Add DocLoader argument to xmlDocPtrForString so external DTDs and entities can be loaded.
2418         
2419         * xml/XSLTProcessor.cpp:
2420         (WebCore::xmlDocPtrFromNode):
2421         Pass DocLoader to xmlDocPtrForString
2422         
2423 2006-06-21  David Hyatt  <hyatt@apple.com>
2424
2425         Back out -webkit-overlay and just rename it back to overlay.
2426
2427         Reviewed by darin
2428
2429         * css/CSSComputedStyleDeclaration.cpp:
2430         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2431         * css/CSSValueKeywords.in:
2432         * css/cssparser.cpp:
2433         (WebCore::CSSParser::parseValue):
2434         * css/cssstyleselector.cpp:
2435         (WebCore::CSSStyleSelector::applyProperty):
2436
2437 2006-06-21  Justin Garcia  <justin.garcia@apple.com>
2438
2439         Reviewed by levi
2440
2441         * editing/DeleteSelectionCommand.cpp:
2442         (WebCore::DeleteSelectionCommand::initializePositionData): Fix a bug in the code
2443         to stop merges across table cells.
2444         (WebCore::DeleteSelectionCommand::mergeParagraphs): Move the code to stop merges
2445         across table cells to initializePositionData so that its changes to 
2446         m_mergeBlocksAfterDelete can take effect on the endingPosition.
2447         * editing/InsertParagraphSeparatorCommand.cpp:
2448         (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreak
2449         instead of splitting/cloning a table cell.
2450
2451 2006-06-21  Beth Dakin  <bdakin@apple.com>
2452
2453         Reviewed by John.
2454
2455         Fix for <rdar://problem/3914965> Misspelled text underline doesn't 
2456         look right at non-standard scale factors
2457
2458         * platform/mac/GraphicsContextMac.mm:
2459         (WebCore::GraphicsContext::drawLineForMisspelling): We need to call  
2460         into our previously-created SPI for pattern-drawing so that the 
2461         phase is right at all scale factors.
2462
2463 2006-06-21  David Hyatt  <hyatt@apple.com>
2464
2465         Fix for 7362, implement the CSS3 overflow-x and overflow-y properties.
2466
2467         Reviewed by adele
2468
2469         * WebCore.xcodeproj/project.pbxproj:
2470         * css/CSSComputedStyleDeclaration.cpp:
2471         (WebCore::):
2472         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2473         * css/CSSPropertyNames.in:
2474         * css/cssparser.cpp:
2475         (WebCore::CSSParser::parseValue):
2476         * css/cssstyleselector.cpp:
2477         (WebCore::CSSStyleSelector::adjustRenderStyle):
2478         (WebCore::CSSStyleSelector::applyProperty):
2479         * page/FrameView.cpp:
2480         (WebCore::FrameView::applyOverflowToViewport):
2481         (WebCore::FrameView::layout):
2482         * rendering/RenderBlock.cpp:
2483         (WebCore::RenderBlock::layoutBlock):
2484         (WebCore::RenderBlock::determineHorizontalPosition):
2485         (WebCore::RenderBlock::layoutBlockChildren):
2486         (WebCore::RenderBlock::rightOffset):
2487         (WebCore::RenderBlock::rightmostPosition):
2488         (WebCore::RenderBlock::calcMinMaxWidth):
2489         * rendering/RenderBox.cpp:
2490         (WebCore::RenderBox::setStyle):
2491         (WebCore::RenderBox::contentWidth):
2492         (WebCore::RenderBox::contentHeight):
2493         (WebCore::RenderBox::sizesToIntrinsicWidth):
2494         (WebCore::RenderBox::calcHeight):
2495         (WebCore::RenderBox::calcPercentageHeight):
2496         * rendering/RenderFlexibleBox.cpp:
2497         (WebCore::RenderFlexibleBox::layoutBlock):
2498         * rendering/RenderLayer.cpp:
2499         (WebCore::RenderLayer::scrollToOffset):
2500         (WebCore::RenderLayer::shouldAutoscroll):
2501         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2502         (WebCore::RenderLayer::styleChanged):
2503         * rendering/RenderLayer.h:
2504         * rendering/RenderObject.cpp:
2505         (WebCore::RenderObject::clientWidth):
2506         (WebCore::RenderObject::clientHeight):
2507         * rendering/RenderObject.h:
2508         (WebCore::RenderObject::hasAutoVerticalScrollbar):
2509         (WebCore::RenderObject::hasAutoHorizontalScrollbar):
2510         (WebCore::RenderObject::scrollsOverflow):
2511         (WebCore::RenderObject::scrollsOverflowX):
2512         (WebCore::RenderObject::scrollsOverflowY):
2513         (WebCore::RenderObject::includeVerticalScrollbarSize):
2514         (WebCore::RenderObject::includeHorizontalScrollbarSize):
2515         * rendering/RenderTextArea.cpp:
2516         (WebCore::RenderTextArea::setStyle):
2517         * rendering/RenderTextField.cpp:
2518         (WebCore::RenderTextField::createDivStyle):
2519         (WebCore::RenderTextField::calcHeight):
2520         (WebCore::RenderTextField::calcMinMaxWidth):
2521         * rendering/bidi.cpp:
2522         (WebCore::RenderBlock::layoutInlineChildren):
2523         * rendering/render_style.cpp:
2524         (WebCore::RenderStyle::diff):
2525         * rendering/render_style.h:
2526         (WebCore::):
2527         (WebCore::RenderStyle::NonInheritedFlags::operator==):
2528         (WebCore::RenderStyle::setBitDefaults):
2529         (WebCore::RenderStyle::overflowX):
2530         (WebCore::RenderStyle::overflowY):
2531         (WebCore::RenderStyle::setOverflowX):
2532         (WebCore::RenderStyle::setOverflowY):
2533         (WebCore::RenderStyle::initialOverflowX):
2534         (WebCore::RenderStyle::initialOverflowY):
2535
2536 2006-06-21  Justin Garcia  <justin.garcia@apple.com>
2537
2538         Reviewed by levi
2539         
2540         <rdar://problem/4590366>
2541         REGRESSION: Selection incorrectly paints gaps on TOT
2542
2543         * dom/Document.cpp:
2544         (WebCore::Document::updateSelection): Use the leftmost candidate for the end of the
2545         selection and the rightmost candidate for the start of the selection.
2546         * dom/Position.cpp:
2547         (WebCore::Position::upstream): Cross line wraps so that we can use upstream/downstream
2548         to get to candidates before/after linewraps.
2549         (WebCore::Position::downstream):
2550         (WebCore::Position::inRenderedContent):
2551         * editing/DeleteSelectionCommand.cpp:
2552         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2553         (WebCore::DeleteSelectionCommand::mergeParagraphs):
2554         * editing/InsertParagraphSeparatorCommand.cpp:
2555         (WebCore::InsertParagraphSeparatorCommand::doApply): 
2556         Ensure that the leftmost candidate is used.  We should sample the style from that one.
2557         When the block to insert is after a br, a br should be inserted even in strict mode.
2558         * editing/InsertTextCommand.cpp:
2559         (WebCore::InsertTextCommand::input): 
2560         Insert at the leftmost candidate, get rid of a use of trailingWhitespacePosition.
2561         Don't apply a style if its unnecessary.
2562         * editing/ReplaceSelectionCommand.cpp:
2563         (WebCore::ReplaceSelectionCommand::doApply): "pos" can be invalidated, don't use it.
2564         * editing/VisiblePosition.cpp:
2565         Renamed initDeepPosition and made it return the canonical position.
2566         (WebCore::VisiblePosition::init):
2567         (WebCore::VisiblePosition::canonicalPosition):
2568         * editing/VisiblePosition.h: 
2569         (WebCore::VisiblePosition::characterBefore): Added.
2570         * editing/visible_units.cpp:
2571         (WebCore::startOfParagraph):
2572         * rendering/InlineTextBox.cpp:
2573         (WebCore::InlineTextBox::selectionState): When a selection ends at a line wrap, it shouldn't extend
2574         onto the next line.
2575
2576 2006-06-21  David Hyatt  <hyatt@apple.com>
2577
2578         Reviewed and committed by Beth.
2579
2580         Fix for <rdar://problem/4595337> Resizing a containing block 
2581         strictly vertically does not cause contained height:100% element to 
2582         also be resized.
2583
2584         * rendering/RenderBlock.cpp:
2585         (WebCore::RenderBlock::layoutBlockChildren): Also layout if the 
2586         child's min or max height is a percent.
2587
2588 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
2589
2590         Reviewed by Geoff.
2591
2592         http://bugzilla.opendarwin.org/show_bug.cgi?id=6058
2593         XMLTokenizer runs all <script> tags at once instead of as they're encountered
2594         
2595         * dom/xml_tokenizer.cpp:
2596         (WebCore::XMLTokenizer::XMLTokenizer):
2597         Initialize new members.
2598         
2599         (WebCore::XMLTokenizer::endElementNs):
2600         If we've encountered a script tag, execute the script here. If the script
2601         tag refers to an external resource, pause the parser while loading it.
2602         
2603         (WebCore::XMLTokenizer::end):
2604         Move code from finish() to here
2605         
2606         (WebCore::XMLTokenizer::finish):
2607         Only call end() if the parser isn't paused.
2608         
2609         (WebCore::XMLTokenizer::notifyFinished):
2610         Evaluate the script here and resume the parser.
2611         
2612         (WebCore::XMLTokenizer::resumeParsing):
2613         If finish() was called, call end() after writing all data.
2614
2615 2006-06-21  Steve Falkenburg  <sfalken@apple.com>
2616
2617         Fix build break
2618
2619         * platform/win/TemporaryLinkStubs.cpp:
2620         (FrameWin::shouldInterruptJavaScript):
2621
2622 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
2623
2624         Move FrameWin::shouldInterruptJavaScript to TemporaryLinkStubs.cpp
2625         
2626         * bridge/win/FrameWin.cpp:
2627         * platform/win/TemporaryLinkStubs.cpp:
2628         (FrameWin::shouldInterruptJavaScript):
2629
2630 2006-06-21  Ben Goodger <bengoodger@gmail.com>
2631
2632         Reviewed by Maciej. 
2633
2634         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=9523
2635         More Win32 build bustage.
2636  
2637         * WebCore.vcproj/WebCore/WebCore.vcproj:
2638         * bridge/win/FrameWin.cpp:
2639         (WebCore::FrameWin::shouldInterruptJavaScript):
2640         * bridge/win/FrameWin.h:
2641
2642 2006-06-20  Adele Peterson  <adele@apple.com>
2643
2644         Reviewed by Anders.
2645
2646         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
2647         Switch to use new text field implementation for <textarea>
2648
2649         * css/html4.css:
2650         * html/HTMLTextAreaElement.cpp:
2651         (WebCore::HTMLTextAreaElement::selectionStart):
2652         (WebCore::HTMLTextAreaElement::selectionEnd):
2653         (WebCore::HTMLTextAreaElement::setSelectionStart):
2654         (WebCore::HTMLTextAreaElement::setSelectionEnd):
2655         (WebCore::HTMLTextAreaElement::select):
2656         (WebCore::HTMLTextAreaElement::setSelectionRange):
2657         (WebCore::HTMLTextAreaElement::createRenderer):
2658         (WebCore::HTMLTextAreaElement::appendFormData):
2659         (WebCore::HTMLTextAreaElement::isKeyboardFocusable):
2660         (WebCore::HTMLTextAreaElement::isMouseFocusable):
2661         (WebCore::HTMLTextAreaElement::focus):
2662         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2663         (WebCore::HTMLTextAreaElement::updateValue):
2664         (WebCore::HTMLTextAreaElement::setValue):
2665
2666 2006-06-20  Brady Eidson  <beidson@apple.com>
2667
2668         Reviewed by Maciej
2669
2670         Fixed capitalization mistake that I made, someone else fixed, then I accidentally made it go back to the old way
2671
2672         * icon/SQLStatement.cpp:
2673
2674 2006-06-20  Brady Eidson  <beidson@apple.com>
2675
2676         Reviewed by Maciej.
2677
2678         More changes/additions setting the stage for the major IconDatabase hookup.
2679
2680         * WebCore.xcodeproj/project.pbxproj:  Added SQLTransaction.cpp
2681
2682         * bridge/mac/WebCoreIconDatabaseBridge.h: Added call-throughs and translations to pass WebKit DB to WebCore DB
2683         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2684         (+[WebCoreIconDatabaseBridge sharedBridgeInstance]):
2685         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
2686         (-[WebCoreIconDatabaseBridge iconForURL:withSize:]):
2687         (-[WebCoreIconDatabaseBridge iconURLForURL:]):
2688         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
2689         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
2690         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
2691         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
2692         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
2693         (-[WebCoreIconDatabaseBridge _setIconURL:forURL:]):
2694         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
2695
2696         * bridge/mac/WebCorePageBridge.mm: Added WebCore's IconDatabase logging channel to the user-prefs check
2697         (initializeLoggingChannelsIfNecessary):
2698
2699         * icon/IconDatabase.cpp:  Added stubs and basic SQL usage to create the sqlite DB and respond to WebKit calls
2700         (WebCore::IconDatabase::IconDatabase):
2701         (WebCore::IconDatabase::open):
2702         (WebCore::IconDatabase::close):
2703         (WebCore::IconDatabase::isValidDatabase):
2704         (WebCore::IconDatabase::recreateDatabase):
2705         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
2706         (WebCore::IconDatabase::iconForURL):
2707         (WebCore::IconDatabase::iconURLForURL):
2708         (WebCore::IconDatabase::defaultIcon):
2709         (WebCore::IconDatabase::retainIconForURL):
2710         (WebCore::IconDatabase::releaseIconForURL):
2711         (WebCore::IconDatabase::setIconForIconURL):
2712         (WebCore::IconDatabase::setHaveNoIconForIconURL):
2713         (WebCore::IconDatabase::setIconURLForPageURL):
2714         (WebCore::IconDatabase::hasIconForIconURL):
2715
2716         * icon/IconDatabase.h:  WebIcon will be an internal class used in IconDatabase but is not complete yet
2717         (WebCore::WebIcon::getExpiration):
2718         (WebCore::WebIcon::getTouch):
2719
2720         * icon/SQLDatabase.cpp:  Added more SQLite convenience methods
2721         (SQLDatabase::setFullsync):
2722         (SQLDatabase::setBusyTimeout):
2723         (SQLDatabase::setBusyHandler):
2724         * icon/SQLDatabase.h:
2725         * icon/SQLStatement.cpp:
2726         (WebCore::SQLStatement::returnsAtLeastOneResult):
2727
2728         * icon/SQLTransaction.cpp: Added basic commit/rollback support with this simple class
2729         (SQLTransaction::SQLTransaction):
2730         (SQLTransaction::~SQLTransaction):
2731         (SQLTransaction::begin):
2732         (SQLTransaction::commit):
2733         (SQLTransaction::rollback):
2734
2735 2006-06-20  Adele Peterson  <adele@apple.com>
2736
2737         Reviewed by Maciej.
2738
2739         Fixes for:
2740         http://bugzilla.opendarwin.org/show_bug.cgi?id=8724
2741         REGRESSION: onSelect handler doesn't work for text fields
2742
2743         http://bugzilla.opendarwin.org/show_bug.cgi?id=7676
2744         REGRESSION: Selection methods on new text fields don't work if text field is hidden
2745
2746         http://bugzilla.opendarwin.org/show_bug.cgi?id=8867
2747         REGRESSION: selectionStart/End return 0 for input element once it no longer has focus
2748
2749         Implemented onSelect for new text fields and textareas.  Also fixed selection restore
2750         behavior to better match other browsers and Safari 2.0 behavior.
2751
2752         Tests:
2753         * fast/forms/input-selection-restore.html
2754         * fast/forms/input-selection-hidden.html
2755         * fast/forms/onselect-textarea.html
2756         * fast/forms/onselect-textfield.html
2757
2758         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::cacheSelection): Added.
2759         * html/HTMLInputElement.cpp:
2760         (WebCore::HTMLInputElement::init): Initializes cached selection.
2761         (WebCore::HTMLInputElement::selectionStart): If this element doesn't have focus, return the cached selection value.
2762         (WebCore::HTMLInputElement::selectionEnd): ditto.
2763         (WebCore::HTMLInputElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
2764
2765         * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::cacheSelection): Added.
2766         * html/HTMLTextAreaElement.cpp:
2767         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Initializes cached selection.
2768         (WebCore::HTMLTextAreaElement::selectionStart): If this element doesn't have focus, return the cached selection value.
2769         (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
2770         (WebCore::HTMLTextAreaElement::focus): If this is the first focus, set a caret at the end of the text.  Otherwise,
2771         restore the cached selection.  This matches other browsers' behavior.
2772         (WebCore::HTMLTextAreaElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
2773
2774         * page/Frame.h: Added notifyRendererOfSelectionChange method. 
2775         * page/Frame.cpp:
2776         (WebCore::Frame::notifyRendererOfSelectionChange): Added.  Calls selectionChanged for text fields and textareas.  Forwards a userTriggered
2777         argument so selectionChanged knows whether or not to fire onSelect.
2778         (WebCore::Frame::setSelection): Calls notifyRendererOfSelectionChange(false).  This gets called for all selection changes, so the renderer
2779         can always update its cached selection values.
2780         (WebCore::Frame::handleMouseReleaseEvent): Calls notifyRendererOfSelectionChange(true) so onSelect will get fired when the user is done
2781         making a selection with the mouse.
2782         * bridge/mac/WebCoreFrameBridge.mm:
2783         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): Calls notifyRendererOfSelectionChange(true) so onSelect gets
2784         fired when the user makes a selection with the keyboard.
2785         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): ditto.
2786
2787         * rendering/RenderTextField.h: Add userTriggered parameter to selectionChanged.
2788         * rendering/RenderTextField.cpp:
2789         (WebCore::RenderTextField::setSelectionRange): For visibility:hidden, cache the selection and 
2790         return early since we won't be able to actually set the selection.
2791         (WebCore::RenderTextField::selectionChanged): Caches the selection.  
2792         If the selection is a range, and its triggered by user action, then fire the onSelect event.
2793
2794 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
2795
2796         * bridge/win/FrameWin.cpp:
2797         (WebCore::shouldInterruptJavaScript):
2798         * bridge/win/FrameWin.h:
2799         Try fixing the Windows build.
2800
2801 2006-06-20  Adele Peterson  <adele@apple.com>
2802
2803         RS by Tim Hatcher.
2804
2805         Renamed RenderSelect to DeprecatedRenderSelect to prepare for new popup menu and list menu implementations.
2806        
2807         * WebCore.xcodeproj/project.pbxproj:
2808         * html/HTMLOptionElement.h:
2809         * html/HTMLSelectElement.cpp:
2810         (WebCore::HTMLSelectElement::recalcStyle):
2811         (WebCore::HTMLSelectElement::createRenderer):
2812         (WebCore::HTMLSelectElement::setRecalcListItems):
2813         (WebCore::HTMLSelectElement::reset):
2814         (WebCore::HTMLSelectElement::notifyOptionSelected):
2815         * html/HTMLSelectElement.h:
2816         * rendering/DeprecatedRenderSelect.cpp: Added.
2817         (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
2818         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
2819         (WebCore::DeprecatedRenderSelect::setStyle):
2820         (WebCore::DeprecatedRenderSelect::updateFromElement):
2821         (WebCore::DeprecatedRenderSelect::baselinePosition):
2822         (WebCore::DeprecatedRenderSelect::calcMinMaxWidth):
2823         (WebCore::DeprecatedRenderSelect::layout):
2824         (WebCore::DeprecatedRenderSelect::valueChanged):
2825         (WebCore::DeprecatedRenderSelect::selectionChanged):
2826         (WebCore::DeprecatedRenderSelect::setOptionsChanged):
2827         (WebCore::DeprecatedRenderSelect::createListBox):
2828         (WebCore::DeprecatedRenderSelect::updateSelection):
2829         * rendering/DeprecatedRenderSelect.h: Added.
2830         (WebCore::DeprecatedRenderSelect::renderName):
2831         * rendering/RenderSelect.cpp: Removed.
2832         * rendering/RenderSelect.h: Removed.
2833
2834 2006-06-20  Anders Carlsson  <acarlsson@apple.com>
2835
2836         Reviewed by Geoff.
2837
2838         http://bugzilla.opendarwin.org/show_bug.cgi?id=9509
2839         Would like a way to pause/resume XML parsing
2840
2841         * dom/xml_tokenizer.cpp:
2842         (WebCore::PendingCallbacks::PendingCallbacks):
2843         (WebCore::PendingCallbacks::appendStartElementNSCallback):
2844         (WebCore::PendingCallbacks::appendEndElementNSCallback):
2845         (WebCore::PendingCallbacks::appendCharactersCallback):
2846         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
2847         (WebCore::PendingCallbacks::appendCDATABlockCallback):
2848         (WebCore::PendingCallbacks::appendCommentCallback):
2849         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
2850         (WebCore::PendingCallbacks::appendErrorCallback):
2851         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
2852         (WebCore::PendingCallbacks::isEmpty):
2853         (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
2854         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
2855         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
2856         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
2857         (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
2858         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
2859         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
2860         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
2861         (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
2862         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
2863         (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
2864         (WebCore::PendingCallbacks::PendingCommentCallback::call):
2865         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
2866         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
2867         (WebCore::PendingCallbacks::):
2868         New classes which manage a list of pending SAX callbacks that have not yet
2869         been sent to the tokenizer.
2870         
2871         (WebCore::XMLTokenizer::XMLTokenizer):
2872         Initialize new member variables.
2873         
2874         (WebCore::XMLTokenizer::~XMLTokenizer):
2875         Delete PendingCallbacks object.
2876         
2877         (WebCore::XMLTokenizer::write):
2878         If the parser is paused, queue the data to be written.
2879         
2880         (WebCore::XMLTokenizer::startElementNs):
2881         (WebCore::XMLTokenizer::endElementNs):
2882         (WebCore::XMLTokenizer::characters):
2883         (WebCore::XMLTokenizer::error):
2884         (WebCore::XMLTokenizer::processingInstruction):
2885         (WebCore::XMLTokenizer::cdataBlock):
2886         (WebCore::XMLTokenizer::comment):
2887         (WebCore::XMLTokenizer::internalSubset):
2888         If the parser has been paused, queue the callbacks instead.
2889
2890         (WebCore::XMLTokenizer::handleError):
2891         New function, called by both ::error and :PendingCallbacks::callAndRemoveFirstCallback
2892         
2893         (WebCore::XMLTokenizer::finish):
2894         (WebCore::XMLTokenizer::pauseParsing):
2895          Set m_parserPaused to true.
2896         
2897         (WebCore::XMLTokenizer::resumeParsing):
2898         Call the pending callbacks and then parse the pending source.
2899         
2900 2006-06-20  David Hyatt  <hyatt@apple.com>
2901
2902         Don't send the custom highlighter callback when painting is disabled.
2903
2904         Reviewed by harrison
2905
2906         * WebCore.xcodeproj/project.pbxproj:
2907         * rendering/InlineTextBox.cpp:
2908         (WebCore::InlineTextBox::paint):
2909
2910 2006-06-20  Anders Carlsson  <acarlsson@apple.com>
2911
2912         Reviewed by John
2913
2914         <rdar://problem/4592244> REGRESSION (417.9.3 - 420+): (some?) plain text files have all lines concatenated into one line
2915         
2916         * loader/TextDocument.cpp:
2917         (WebCore::TextTokenizer::checkBuffer):
2918         (WebCore::TextTokenizer::TextTokenizer):
2919         (WebCore::TextTokenizer::write):        
2920         (WebCore::TextTokenizer::finish):
2921         Add a text buffer which is used for translation of CR and CRLF to plain LF, 
2922         like the HTML tokenizer does.
2923
2924 2006-06-20  Maciej Stachowiak  <mjs@apple.com>
2925
2926         Reviewed by Eric.
2927
2928         - fix crasher on one of the layout tests caused by my recent checkin
2929
2930         * kcanvas/RenderSVGText.cpp:
2931         (WebCore::RenderSVGText::paint):
2932
2933 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
2934
2935         Reviewed by Darin.
2936
2937         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
2938         Page reload does not send any cache control headers
2939
2940         Test: http/tests/misc/refresh-headers.php
2941
2942         * bindings/js/kjs_window.cpp:
2943         (KJS::LocationFunc::callAsFunction): Call scheduleRefresh() for Location::Reload.
2944
2945         * page/Frame.h: Add scheduleRefresh(). Don't derive from TransferJob or implement its methods - that was
2946         used only for storing response HTTP headers, which was an overkill.
2947
2948         * page/FramePrivate.h: Replace TransferJob with a HashMap for storing response headers.
2949
2950         * page/Frame.cpp:
2951         (WebCore::Frame::didOpenURL): Don't needlessly change d->m_cachePolicy. Don't create a TransferJob.
2952         (WebCore::Frame::stopLoading): Directly access the metadata map, instead of going through a TransferJob.
2953         (WebCore::Frame::receivedFirstData): Ditto.
2954         (WebCore::Frame::addMetaData): Ditto.
2955         (WebCore::Frame::scheduleRefresh): A new function that schedules a refresh, similarly to what
2956         scheduleRedirection() does.
2957         (WebCore::Frame::changeLocation): Set request.reload attribute based on the current cache policy.
2958
2959 2006-06-19  Ben Goodger  <bengoodger@gmail.com>
2960
2961         Reviewed by Darin.
2962
2963         http://bugzilla.opendarwin.org/show_bug.cgi?id=9501
2964         Windows build fails with link error CharsetTable not defined
2965
2966         * platform/make-charset-table.pl:
2967         (process_iana_charsets): Move test for equality to alias "None" until after
2968         normalization steps to ensure escape characters in the input data don't
2969         interfere with processing.  Convert nearby tabs to 4 spaces in this function.
2970
2971 2006-06-18  Maciej Stachowiak  <mjs@apple.com>
2972
2973         Reviewed by Darin.
2974
2975         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9488
2976         "Animated GIFs do not respect transforms in SVG"
2977         
2978         http://bugzilla.opendarwin.org/show_bug.cgi?id=6946
2979         "SVG shows invalidation issues in WebKit"
2980         
2981         http://www.treebuilder.de/default.asp?file=441875.xml
2982         "Invalidation issues with "SVG 3d" demo"
2983         
2984         http://code.google.com/webstats/2005-12/pages.html
2985         "SVG text doesn't repaint correctly"
2986
2987         * kcanvas/KCanvasContainer.cpp:
2988         (WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply
2989         appropriate transforms, so damage rects in transformed SVG content get propagated up properly.
2990         (WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method
2991         seems wrong.
2992         * kcanvas/KCanvasContainer.h: Prototype new method.
2993
2994         * css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer
2995         so it paints twice.
2996         * kcanvas/RenderForeignObject.cpp:
2997         (WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content,
2998         so everything paints that is supposed to. Also handle opacity here since we won't get layers.
2999         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
3000         appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly.
3001         (WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer.
3002         (WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout
3003         changes, as by transform.
3004         * kcanvas/RenderForeignObject.h:
3005
3006         * kcanvas/RenderSVGImage.cpp:
3007         (WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity 
3008         here since we won't get layers.
3009         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
3010         appropriate transforms, so damage rects in SVG images  get propagated up properly.
3011         (WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below.
3012         (WebCore::RenderSVGImage::translateForAttributes): Use above.
3013         (WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer.
3014         (WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting
3015         for transforms.
3016         (WebCore::RenderSVGImage::relativeBBox): Correct bbox computation.
3017         * kcanvas/RenderSVGImage.h:
3018
3019         * kcanvas/RenderSVGText.cpp:
3020         (WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we
3021         won't get a layer.
3022         (WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms.
3023         (WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer.
3024         (WebCore::RenderSVGText::layout): Make sure to dirty the old bounds.
3025
3026         * platform/cg/GraphicsContextCG.cpp:
3027         (WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space
3028         and back to user space, do this for the origin and lower right corner of the rect. Otherwise the
3029         rect will get inflated if user space is rotated or skewed.
3030
3031         * kcanvas/RenderPath.cpp:
3032         (WebCore::RenderPath::layout): Make sure to dirty the old bounds.
3033         (WebCore::RenderPath::paint): Hhandle opacity here.
3034         
3035         Bonus fix:
3036         
3037         * kcanvas/RenderSVGImage.cpp:
3038         (WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y
3039         attribute transform.
3040
3041 2006-06-19  Sam Weinig  <sam.weinig@gmail.com>
3042
3043         Reviewed by Darin.
3044
3045         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9500
3046           Split dom2_eventsimpl.* into separate files (one class per file).
3047
3048         * WebCore.xcodeproj/project.pbxproj:
3049         * bindings/js/kjs_binding.cpp:
3050         * bindings/js/kjs_dom.cpp:
3051         * bindings/js/kjs_events.cpp:
3052         * bindings/js/kjs_html.cpp:
3053         * bindings/js/kjs_window.cpp:
3054         * bindings/objc/DOM.mm:
3055         * bindings/objc/DOMEvents.mm:
3056         * bindings/objc/DOMInternal.mm:
3057         * bindings/scripts/CodeGeneratorJS.pm:
3058         * bridge/mac/FrameMac.mm:
3059         * dom/BeforeTextInsertedEvent.h:
3060         * dom/BeforeUnloadEvent.cpp: Added.
3061         * dom/BeforeUnloadEvent.h: Added.
3062         (WebCore::BeforeUnloadEvent::result):
3063         * dom/CharacterData.cpp:
3064         * dom/Clipboard.h: Added.
3065         (WebCore::Clipboard::~Clipboard):
3066         * dom/ClipboardEvent.cpp: Added.
3067         (WebCore::ClipboardEvent::ClipboardEvent):
3068         * dom/ClipboardEvent.h: Added.
3069         (WebCore::ClipboardEvent::clipboard):
3070         * dom/ContainerNode.cpp:
3071         * dom/Document.cpp:
3072         * dom/Event.cpp: Added.
3073         (WebCore::Event::Event):
3074         (WebCore::Event::initEvent):
3075         * dom/Event.h: Added.
3076         (WebCore::):
3077         (WebCore::Event::):
3078         (WebCore::Event::type):
3079         (WebCore::Event::target):
3080         (WebCore::Event::currentTarget):
3081         (WebCore::Event::setCurrentTarget):
3082         (WebCore::Event::eventPhase):
3083         (WebCore::Event::setEventPhase):
3084         (WebCore::Event::bubbles):
3085         (WebCore::Event::cancelable):
3086         (WebCore::Event::timeStamp):
3087         (WebCore::Event::stopPropagation):
3088         (WebCore::Event::propagationStopped):
3089         (WebCore::Event::defaultPrevented):
3090         (WebCore::Event::setDefaultHandled):
3091         (WebCore::Event::defaultHandled):
3092         (WebCore::Event::preventDefault):
3093         (WebCore::Event::setDefaultPrevented):
3094         (WebCore::Event::setCancelBubble):
3095         (WebCore::Event::getCancelBubble):
3096         (WebCore::Event::dispatched):
3097         * dom/EventTargetNode.cpp:
3098         * dom/KeyboardEvent.cpp: Added.
3099         (WebCore::KeyboardEvent::KeyboardEvent):
3100         (WebCore::KeyboardEvent::initKeyboardEvent):
3101         * dom/KeyboardEvent.h: Added.
3102         (WebCore::KeyboardEvent::):
3103         (WebCore::KeyboardEvent::keyIdentifier):
3104         (WebCore::KeyboardEvent::keyLocation):
3105         (WebCore::KeyboardEvent::altGraphKey):
3106         (WebCore::KeyboardEvent::keyEvent):
3107         * dom/MouseEvent.cpp: Added.
3108         (WebCore::MouseEvent::MouseEvent):
3109         (WebCore::MouseEvent::initMouseEvent):
3110         (WebCore::MouseEvent::isDragEvent):
3111         (WebCore::MouseEvent::toElement):
3112         (WebCore::MouseEvent::fromElement):
3113         * dom/MouseEvent.h: Added.
3114         (WebCore::MouseEvent::button):
3115         (WebCore::MouseEvent::relatedTarget):
3116         (WebCore::MouseEvent::clipboard):
3117         * dom/MouseRelatedEvent.cpp: Added.
3118         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3119         * dom/MouseRelatedEvent.h: Added.
3120         (WebCore::MouseRelatedEvent::screenX):
3121         (WebCore::MouseRelatedEvent::screenY):
3122         (WebCore::MouseRelatedEvent::clientX):
3123         (WebCore::MouseRelatedEvent::clientY):
3124         (WebCore::MouseRelatedEvent::layerX):
3125         (WebCore::MouseRelatedEvent::layerY):
3126         (WebCore::MouseRelatedEvent::offsetX):
3127         (WebCore::MouseRelatedEvent::offsetY):
3128         (WebCore::MouseRelatedEvent::isSimulated):
3129         * dom/MutationEvent.cpp: Added.
3130         (WebCore::MutationEvent::MutationEvent):
3131         (WebCore::MutationEvent::initMutationEvent):
3132         * dom/MutationEvent.h: Added.
3133         (WebCore::MutationEvent::):
3134         (WebCore::MutationEvent::relatedNode):
3135         (WebCore::MutationEvent::prevValue):
3136         (WebCore::MutationEvent::newValue):
3137         (WebCore::MutationEvent::attrName):
3138         (WebCore::MutationEvent::attrChange):
3139         * dom/RegisteredEventListener.cpp: Added.
3140         (WebCore::RegisteredEventListener::RegisteredEventListener):
3141         (WebCore::operator==):
3142         * dom/RegisteredEventListener.h: Added.
3143         (WebCore::RegisteredEventListener::eventType):
3144         (WebCore::RegisteredEventListener::listener):
3145         (WebCore::RegisteredEventListener::useCapture):
3146         (WebCore::RegisteredEventListener::removed):
3147         (WebCore::RegisteredEventListener::setRemoved):
3148         (WebCore::operator!=):
3149         * dom/UIEvent.cpp: Added.
3150         (WebCore::UIEvent::UIEvent):
3151         (WebCore::UIEvent::initUIEvent):
3152         * dom/UIEvent.h: Added.
3153         (WebCore::UIEvent::view):
3154         (WebCore::UIEvent::detail):
3155         * dom/UIEventWithKeyState.h: Added.
3156         (WebCore::UIEventWithKeyState::UIEventWithKeyState):
3157         (WebCore::UIEventWithKeyState::ctrlKey):
3158         (WebCore::UIEventWithKeyState::shiftKey):
3159         (WebCore::UIEventWithKeyState::altKey):
3160         (WebCore::UIEventWithKeyState::metaKey):
3161         * dom/WheelEvent.cpp: Added.
3162         (WebCore::WheelEvent::WheelEvent):
3163         * dom/WheelEvent.h: Added.
3164         (WebCore::WheelEvent::isHorizontal):
3165         (WebCore::WheelEvent::wheelDelta):
3166         * dom/dom2_eventsimpl.cpp: Removed.
3167         * dom/dom2_eventsimpl.h: Removed.
3168         * editing/EditCommand.cpp:
3169         * editing/SelectionController.cpp:
3170         * html/HTMLAnchorElement.cpp:
3171         * html/HTMLButtonElement.cpp:
3172         * html/HTMLDocument.cpp:
3173         * html/HTMLElement.cpp:
3174         * html/HTMLFrameSetElement.cpp:
3175         * html/HTMLInputElement.cpp:
3176         * html/HTMLSelectElement.cpp:
3177         * html/HTMLTextAreaElement.cpp:
3178         * ksvg2/events/SVGZoomEvent.h:
3179         * ksvg2/svg/SVGAElement.cpp:
3180         * page/Frame.cpp:
3181         * page/FrameView.cpp:
3182         * platform/PlatformKeyboardEvent.h:
3183         * platform/PlatformMouseEvent.h:
3184         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3185         * platform/PlatformWheelEvent.h:
3186         * platform/mac/ClipboardMac.h:
3187         * rendering/RenderFrameSet.cpp:
3188         * rendering/RenderLayer.cpp:
3189         * rendering/RenderObject.cpp:
3190         * rendering/RenderTextField.cpp:
3191         * xml/xmlhttprequest.cpp:
3192
3193 2006-06-19  Darin Adler  <darin@apple.com>
3194
3195         Reviewed by Brady.
3196
3197         - removed a few empty/unused files Brady found by tracking down the nm error message
3198
3199         * editing/VisibleRange.cpp: Removed.
3200         * editing/VisibleRange.h: Removed.
3201         * kcanvas/KCanvasImage.cpp: Removed.
3202
3203         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed VisibleRange.cpp/h.
3204         * WebCore.xcodeproj/project.pbxproj: Removed VisibleRange.cpp/h and KCanvasImage.cpp.
3205         * WebCoreSources.bkl: Removed VisibleRange.cpp.
3206
3207 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
3208
3209         Reviewed by Darin.
3210
3211         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9492
3212         Fix or remove window.debug.
3213
3214         It was only available in newly created windows, and became undefined after changing the URL
3215         or reloading. Let's try removing it; hopefully, no-one will notice.
3216
3217         * bindings/js/kjs_proxy.cpp:
3218         (WebCore::KJSProxy::initScriptIfNeeded): Don't add window.debug.
3219
3220 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
3221
3222         Reviewed by Darin.
3223
3224         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8972
3225         REGRESSION: invalid UTF-8 sequences are not displayed
3226
3227         Test: LayoutTests/fast/encoding/invalid-UTF-8.html
3228
3229         * dom/xml_tokenizer.cpp:
3230         (WebCore::getXHTMLEntity): Properly null-terminate the result. This didn't matter
3231         before, because the garbage at the end was guaranteed to be invalid UTF-8, and was 
3232         omitted in appendOmittingUnwanted();
3233
3234         * platform/StreamingTextDecoder.cpp:
3235         (WebCore::StreamingTextDecoder::appendOmittingBOM): Only omit BOM characters.
3236         Renamed back from appendOmittingUnwanted();
3237
3238         (WebCore::StreamingTextDecoder::convertUsingICU):
3239         * platform/StreamingTextDecoder.h:
3240         Update for the above function renaming.
3241
3242 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
3243
3244         Reviewed by darin.
3245
3246         http://bugzilla.opendarwin.org/show_bug.cgi?id=9498
3247         Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)
3248
3249         * bindings/js/kjs_html.cpp:
3250         (KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.
3251
3252 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
3253
3254         Reviewed by ggaren.
3255
3256         * manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.
3257
3258 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
3259
3260         Reviewed by ggaren.
3261
3262         - Update a manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9150
3263           DumpRenderTree should be able to keep URL history during runs
3264
3265         * manual-tests/redraw-page-cache-visited-links.html: Added note about window.history hack.
3266         Fixed coordinates for mouse events.  Added call to keepWebHistory().
3267         * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added note about
3268         window.history hack.
3269
3270 2006-06-17  Anders Carlsson  <acarlsson@apple.com>
3271
3272         Reviewed by Geoff.
3273
3274         * bindings/js/kjs_binding.cpp:
3275         (KJS::ScriptInterpreter::ScriptInterpreter):
3276         Set the default script timeout.
3277         
3278         (KJS::ScriptInterpreter::shouldInterruptScript):
3279         New function which asks the frame if the script should be interrupted.
3280         
3281         * bindings/js/kjs_binding.h:
3282                 
3283         * bindings/js/kjs_events.cpp:
3284         (KJS::JSAbstractEventListener::handleEvent):
3285         * bindings/js/kjs_proxy.cpp:
3286         (WebCore::KJSProxy::evaluate):
3287         Add calls to startTimeoutCheck/stopTimeoutCheck
3288         
3289         * bindings/js/kjs_window.cpp:
3290         (KJS::WindowFunc::callAsFunction):
3291         Add calls to pauseTimeoutCheck/unpauseTimeoutCheck 
3292         
3293         (KJS::ScheduledAction::execute):
3294         Add calls to startTimeoutCheck/stopTimeoutCheck
3295         
3296         * bridge/mac/FrameMac.h:
3297         * bridge/mac/FrameMac.mm:
3298         (WebCore::FrameMac::shouldInterruptJavaScript):
3299         New function which asks the bridge if the script should be interrupted.
3300         
3301         * bridge/mac/WebCoreFrameBridge.h:
3302         * page/Frame.h:
3303         Add function declarations.
3304         
3305 2006-06-17  Alexey Proskuryakov  <ap@nypop.com>
3306
3307         Reviewed by ggaren.
3308
3309         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8131
3310         Some properties and methods of window and document objects cannot be converted to a string
3311
3312         Most of the properties were already fixed, this just adds adds a prototype to window.debug.
3313
3314         Test: fast/dom/everything-to-string.html
3315
3316         * bindings/js/kjs_proxy.cpp:
3317         (WebCore::TestFunctionImp::TestFunctionImp): 
3318         (WebCore::KJSProxy::initScriptIfNeeded):
3319
3320 2006-06-17  David Kilzer  <ddkilzer@kilzer.net>
3321
3322         Reviewed by Maciej.
3323
3324         - Fix capitalization issue for case-sensitive filesystems.
3325
3326         * icon/SQLStatement.cpp: Change assertions.h to Assertions.h.
3327
3328 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3329
3330         Reviewed by Hyatt.
3331
3332         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7395
3333           Table not properly re-flowed when floated div removed from layout
3334
3335         Test: fast/block/float/table-relayout.html
3336
3337         * rendering/RenderBlock.cpp:
3338         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
3339         of children that use lineWidth.
3340         * rendering/RenderBlock.h: Added a FIXME.
3341
3342 2006-06-17  Rob Buis  <buis@kde.org>
3343
3344         Reviewed by Darin.
3345
3346         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6282:
3347         Adding new Option with new Option(text, value, defaultSelected, selected) fails to update selectedIndex
3348
3349         Update selectedIndex when a new option is added using javascript.
3350
3351         * bindings/js/kjs_html.cpp:
3352         (KJS::JSHTMLSelectCollection::put):
3353         * html/HTMLSelectElement.cpp:
3354         (WebCore::HTMLSelectElement::setSelectedIndex):
3355         (WebCore::HTMLSelectElement::setOption):
3356         (WebCore::HTMLSelectElement::setLength):
3357         * html/HTMLSelectElement.h:
3358
3359 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3360
3361         Reviewed by Darin.
3362
3363         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
3364           Assertion failure when dragging an image from the document into Safari's address bar
3365
3366         * manual-tests/reset-initiatedDrag.html: Added.
3367
3368 2006-06-16  David Kilzer  <ddkilzer@kilzer.net>
3369
3370         Reviewed by darin.
3371
3372         http://bugzilla.opendarwin.org/show_bug.cgi?id=9463
3373         REGRESSION (r14879): Assertion failure in CSSParser::sinkFloatingSelector()
3374         (m_floatingSelectors.contains(selector)) in some CSS tests
3375
3376         * css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
3377         instead of the bare constructor.
3378
3379 2006-06-16  David Harrison  <harrison@apple.com>
3380
3381         Reviewed by Hatcher.
3382
3383         <rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window
3384
3385         Problem was that revision lost a check to not draw the markers
3386         when paintingDisabled().   This led the markers to be drawn when
3387         the window deactivated, at which time the view happens to be flipped.
3388
3389         It is similar but not the same as the Mail ToDo highlighting
3390         issue, which is due to the custom highlight method
3391         drawing when the focusView is nil.  Mail team knows this
3392         and has tested the fix.
3393
3394         * platform/mac/GraphicsContextMac.mm:
3395         (WebCore::GraphicsContext::drawLineForMisspelling):
3396         Early return if paintingDisabled().
3397
3398 2006-06-16  Adele Peterson  <adele@apple.com>
3399
3400         Reviewed by Hyatt.
3401
3402         Adjust padding of inner div so text lines up with text fields.
3403         Adjust height of textarea so it only leaves room for the horizontal
3404         scrollbar if overflow is set to scroll, or if overflow is set to
3405         auto and there's no word wrap.
3406
3407         These changes will be tested by current layout tests when the
3408         new textarea implementation takes effect.
3409
3410         * rendering/RenderTextField.cpp:
3411         (WebCore::RenderTextField::createDivStyle):
3412         (WebCore::RenderTextField::calcHeight):
3413
3414 2006-06-16  John Sullivan  <sullivan@apple.com>
3415
3416         Reviewed by Darin
3417         
3418         - fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net
3419
3420         * dom/Document.cpp:
3421         (WebCore::Document::addMarker):
3422         Store [it - markers.begin()] in a local variable before modifying markers, since modifying markers can
3423         change value of [it - markers.begin()].
3424
3425 2006-06-16  Adele Peterson  <adele@apple.com>
3426
3427         Reviewed by Alice.
3428
3429         Added code to draw Cocoa-like border for textareas instead of just using CSS.
3430
3431         * WebCore.exp:
3432         * css/html4.css: Sets a 1px solid border.
3433         * platform/mac/WebCoreSystemInterface.h:
3434         * platform/mac/WebCoreSystemInterface.mm:
3435         * rendering/RenderThemeMac.h: Formatting changes.
3436         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextArea):
3437         Uses new wkDrawBezeledTextArea to draw border.
3438
3439 2006-06-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3440
3441         Reviewed by hyatt.
3442
3443         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9432
3444           REGRESSION: crash in capitalization code due to empty-string generated content
3445
3446         Test: fast/text/capitalize-empty-generated-string.html
3447
3448         * rendering/RenderText.cpp:
3449         (WebCore::RenderText::setText): Skip empty-string text renderers when
3450         looking for the previous character.
3451
3452 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
3453
3454         Reviewed by levi
3455
3456         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8637>
3457         REGRESSION (11-16-05): Selection gaps left behind after delete
3458
3459         * editing/SelectionController.cpp:
3460         (WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that 
3461         selection gaps are invalidated.
3462
3463 2006-06-15  Timothy Hatcher  <timothy@apple.com>
3464
3465         Reviewed by Geoff and Darin.
3466         
3467         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
3468
3469         * WebCore.xcodeproj/project.pbxproj:
3470
3471 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
3472
3473         Reviewed by harrison
3474         
3475         * editing/CompositeEditCommand.cpp:
3476         (WebCore::hasARenderedDescendant):
3477         (WebCore::CompositeEditCommand::prune): Ascend using the DOM
3478         (WebCore::CompositeEditCommand::moveParagraphs): Placeholder insertion
3479         during deletion is fixed, removing the fall back.
3480
3481 2006-06-15  Nicholas Shanks  <contact@nickshanks.com>
3482
3483         Reviewed by Hyatt, landed by Joost de Valk.
3484
3485         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3233
3486
3487         Add support for the :lang pseudo-class.
3488
3489         * css/CSSGrammar.y:
3490         * css/CSSSelector.cpp:
3491         (WebCore::CSSSelector::operator == ):
3492         * css/CSSSelector.h:
3493         (WebCore::CSSSelector::CSSSelector):
3494         * css/cssparser.cpp:
3495         (WebCore::CSSParser::lex):
3496         * css/cssstyleselector.cpp:
3497         (WebCore::CSSStyleSelector::checkOneSelector):
3498         * css/tokenizer.flex:
3499
3500 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
3501
3502         Reviewed by harrison
3503         
3504         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9456>
3505         REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
3506         
3507         * page/Frame.cpp:
3508         (WebCore::Frame::findString): When comparing the found range with
3509         what's currently selected a) build a selection with the found
3510         range to remove collapsed whitespace and b) compare ranges 
3511         instead of selection objects to ignore the way that the 
3512         current selection was made (to ignore the base and extent).
3513
3514 2006-06-15  David Kilzer  <ddkilzer@kilzer.net>
3515
3516         Reviewed by mjs.
3517
3518         http://bugzilla.opendarwin.org/show_bug.cgi?id=9382
3519         IDL files missing copyright/license headers
3520
3521         Add Apple BSD license and copyright to IDL files.
3522
3523         * ksvg2/bindings/idl/svg/GetSVGDocument.idl:
3524         * ksvg2/bindings/idl/svg/SVGAElement.idl:
3525         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl:
3526         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl:
3527         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl:
3528         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl:
3529         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl:
3530         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl:
3531         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl:
3532         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl:
3533         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl:
3534         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl:
3535         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl:
3536         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl:
3537         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl:
3538         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl:
3539         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl:
3540         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl:
3541         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl:
3542         * ksvg2/bindings/idl/svg/SVGCircleElement.idl:
3543         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl:
3544         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl:
3545         * ksvg2/bindings/idl/svg/SVGCursorElement.idl:
3546         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl:
3547         * ksvg2/bindings/idl/svg/SVGDefsElement.idl:
3548         * ksvg2/bindings/idl/svg/SVGDescElement.idl:
3549         * ksvg2/bindings/idl/svg/SVGElementInstance.idl:
3550         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl:
3551         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl:
3552         * ksvg2/bindings/idl/svg/SVGEvent.idl:
3553         * ksvg2/bindings/idl/svg/SVGException.idl:
3554         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl:
3555         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl:
3556         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl:
3557         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl:
3558         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl:
3559         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl:
3560         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl:
3561         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl:
3562         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl:
3563         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl:
3564         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl:
3565         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl:
3566         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl:
3567         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl:
3568         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl:
3569         * ksvg2/bindings/idl/svg/SVGFETileElement.idl:
3570         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl:
3571         * ksvg2/bindings/idl/svg/SVGFilterElement.idl:
3572         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl:
3573         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl:
3574         * ksvg2/bindings/idl/svg/SVGGElement.idl:
3575         * ksvg2/bindings/idl/svg/SVGGradientElement.idl:
3576         * ksvg2/bindings/idl/svg/SVGICCColor.idl:
3577         * ksvg2/bindings/idl/svg/SVGImageElement.idl:
3578         * ksvg2/bindings/idl/svg/SVGLangSpace.idl:
3579         * ksvg2/bindings/idl/svg/SVGLengthList.idl:
3580         * ksvg2/bindings/idl/svg/SVGLineElement.idl:
3581         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl:
3582         * ksvg2/bindings/idl/svg/SVGLocatable.idl:
3583         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl:
3584         * ksvg2/bindings/idl/svg/SVGNumberList.idl:
3585         * ksvg2/bindings/idl/svg/SVGPaint.idl:
3586         * ksvg2/bindings/idl/svg/SVGPathElement.idl:
3587         * ksvg2/bindings/idl/svg/SVGPathSeg.idl:
3588         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl:
3589         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl:
3590         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl:
3591         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl:
3592         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl:
3593         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl:
3594         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl:
3595         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl:
3596         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl:
3597         * ksvg2/bindings/idl/svg/SVGPathSegList.idl:
3598         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl:
3599         * ksvg2/bindings/idl/svg/SVGPatternElement.idl:
3600         * ksvg2/bindings/idl/svg/SVGPointList.idl:
3601         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl:
3602         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl:
3603         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl:
3604         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl:
3605         * ksvg2/bindings/idl/svg/SVGRectElement.idl:
3606         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl:
3607         * ksvg2/bindings/idl/svg/SVGScriptElement.idl:
3608         * ksvg2/bindings/idl/svg/SVGSetElement.idl:
3609         * ksvg2/bindings/idl/svg/SVGStopElement.idl:
3610         * ksvg2/bindings/idl/svg/SVGStringList.idl:
3611         * ksvg2/bindings/idl/svg/SVGStylable.idl:
3612         * ksvg2/bindings/idl/svg/SVGStyleElement.idl:
3613         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl:
3614         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl:
3615         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl:
3616         * ksvg2/bindings/idl/svg/SVGTests.idl:
3617         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl:
3618         * ksvg2/bindings/idl/svg/SVGTextElement.idl:
3619         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl:
3620         * ksvg2/bindings/idl/svg/SVGTitleElement.idl:
3621         * ksvg2/bindings/idl/svg/SVGTransformList.idl:
3622         * ksvg2/bindings/idl/svg/SVGTransformable.idl:
3623         * ksvg2/bindings/idl/svg/SVGURIReference.idl:
3624         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl:
3625         * ksvg2/bindings/idl/svg/SVGUseElement.idl:
3626         * ksvg2/bindings/idl/svg/SVGViewElement.idl:
3627         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl:
3628         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl:
3629         * ksvg2/svg/SVGAnimatedLength.idl:
3630
3631 2006-06-14  Justin Garcia  <justin.garcia@apple.com>
3632
3633         Reviewed by levi
3634
3635         <rdar://problem/4439248>
3636         REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)
3637
3638         * editing/markup.cpp:
3639         (WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.
3640
3641 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
3642
3643         Reviewed by justin
3644
3645         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
3646         TinyMCE: Implement execCommand(formatBlock, ...)
3647
3648         * WebCore.xcodeproj/project.pbxproj: Added FormatBlock.{h,cpp} to the project.
3649         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
3650         * bridge/mac/WebCoreFrameBridge.h: Added WebUndoActions
3651         * editing/CompositeEditCommand.cpp:
3652         (WebCore::CompositeEditCommand::moveParagraph): Added a preserveStyle bool.
3653         (WebCore::CompositeEditCommand::moveParagraphs): Ditto.  downstream() the start
3654         or else we'll move collapsed whitespace and uncollapse it.
3655         * editing/CompositeEditCommand.h:
3656         * editing/DeleteSelectionCommand.cpp:
3657         (WebCore::DeleteSelectionCommand::initializePositionData):
3658         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Don't update m_endingPosition
3659         because that's removeNode's responsibility.
3660         (WebCore::updatePositionForNodeRemoval): Added.
3661         (WebCore::DeleteSelectionCommand::removeNode): Turned removeFullySelectedNode into a virtual
3662         overload of removeNode so that we can update positions as we remove nodes.
3663         (WebCore::updatePositionForTextRemoval): Added.
3664         (WebCore::DeleteSelectionCommand::deleteTextFromNode):
3665         (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
3666         (WebCore::DeleteSelectionCommand::fixupWhitespace): Got rid of m_trailingWhitespaceValid
3667         since m_trailingWhitespace is always valid (we update it as we remove nodes).
3668         (WebCore::DeleteSelectionCommand::mergeParagraphs):
3669         (WebCore::DeleteSelectionCommand::doApply): Leading and trailing spaces should
3670         be fixed if they have collapsed before merging paragraphs.
3671         * editing/DeleteSelectionCommand.h:
3672         * editing/EditAction.h:
3673         (WebCore::):
3674         * editing/FormatBlockCommand.cpp: Added.
3675         (WebCore::FormatBlockCommand::FormatBlockCommand):
3676         (WebCore::FormatBlockCommand::modifyRange): Similar to InsertListCommand::modifyRange().
3677         (WebCore::FormatBlockCommand::doApply):
3678         * editing/FormatBlockCommand.h: Added.
3679         (WebCore::FormatBlockCommand::editingAction):
3680         * editing/InsertListCommand.h:
3681         (WebCore::InsertListCommand::editingAction):
3682         * editing/JSEditor.cpp:
3683         * editing/MergeIdenticalElementsCommand.cpp:
3684         (WebCore::MergeIdenticalElementsCommand::doApply):
3685         * editing/htmlediting.cpp:
3686         (WebCore::validBlockTag):
3687         (WebCore::createElement):
3688         * editing/htmlediting.h:
3689
3690 2006-06-14  Maciej Stachowiak  <mjs@apple.com>
3691
3692         Reviewed by Anders.
3693
3694         - fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work
3695
3696         * dom/EventTargetNode.cpp:
3697         (WebCore::EventTargetNode::dispatchWindowEvent):
3698
3699 2006-06-14  David Hyatt  <hyatt@apple.com>
3700
3701         Rename RenderSlider to DeprecatedSlider, so that I can start work on
3702         the new NSView-less slider.
3703
3704         Reviewed by john
3705
3706         * WebCore.vcproj/WebCore/WebCore.vcproj:
3707         * WebCore.xcodeproj/project.pbxproj:
3708         * html/HTMLInputElement.cpp:
3709         (WebCore::HTMLInputElement::createRenderer):
3710         * rendering/DeprecatedSlider.cpp: Added.
3711         (WebCore::DeprecatedSlider::DeprecatedSlider):
3712         (WebCore::DeprecatedSlider::calcMinMaxWidth):
3713         (WebCore::DeprecatedSlider::updateFromElement):
3714         (WebCore::DeprecatedSlider::valueChanged):
3715         * rendering/DeprecatedSlider.h: Added.
3716         (WebCore::DeprecatedSlider::renderName):
3717         * rendering/RenderSlider.cpp: Removed.
3718         * rendering/RenderSlider.h: Removed.
3719
3720 2006-06-13  Geoffrey Garen  <ggaren@apple.com>
3721
3722         Reviewed by Maciej.
3723         
3724         - Fixed <rdar://problem/4562192> Creating a new DOMHTMLDocument 
3725         appears challenging.
3726         
3727         - Added createHTMLDocument to Objc bindings, fixed up implementation
3728         to comply with the DOM 2 Candidate Recommendation in which is was defined.
3729         (It never made the final spec.) Also removed use of deprecatedString,
3730         to avoid unnecessary killing of puppies.
3731
3732         * WebCore.xcodeproj/project.pbxproj:
3733         * bindings/objc/DOM.mm:
3734         (-[DOMImplementation createHTMLDocument:]):
3735         * bindings/objc/DOMPrivate.h:
3736         * dom/DOMImplementation.cpp:
3737         (WebCore::DOMImplementation::createDocument):
3738         (WebCore::DOMImplementation::createHTMLDocument):
3739
3740 2006-06-13  Alice Liu  <alice.liu@apple.com>
3741
3742         Reviewed by Adele.
3743
3744         fixed <rdar://problem/4457902> HTMLSelectElement.remove() can't handle an option obj being passed to it, results in hang on http://www.ibc-solar.de/www_ibc/fst_solarmonitoring.jsp
3745
3746         * bindings/js/kjs_html.cpp:
3747         (KJS::HTMLElementFunction::callAsFunction):
3748         support this by converting the argument to an options object
3749         before passing to remove()
3750
3751 2006-06-13  Darin Adler  <darin@apple.com>
3752
3753         Reviewed by Geoff.
3754
3755         - fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page
3756
3757         This patch fixes a bug where the event listener cache does not distinguish
3758         HTML and non-HTML listeners. Incorrect behavior where stopPropagation also
3759         prevented default masked a case of this bug on the yahoo.com home page until
3760         we fixed bug 5180 on 2005-10-03.
3761
3762         Test: fast/events/event-listener-html-non-html-confusion.html
3763
3764         * bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.
3765
3766         * bindings/js/kjs_window.cpp:
3767         (KJS::Window::~Window): Go through the additional maps when clearing the window object
3768         pointer in event listeners.
3769         (KJS::Window::getJSEventListener): Look in the HTML or non-HTML map depending on the
3770         argument passed.
3771         (KJS::Window::getJSUnprotectedEventListener): Ditto.
3772
3773         * bindings/js/kjs_events.cpp:
3774         (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Add to either the HTML
3775         or non-HTML map depending on the argument passed.
3776         (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Remove from either the
3777         HTML or non-HTML map depending on whether the HTML flag is set.
3778         (KJS::JSEventListener::JSEventListener): More of the same.
3779         (KJS::JSEventListener::~JSEventListener): Ditto.
3780         (KJS::JSLazyEventListener::parseCode): Same thing here. In a lazy event listener there
3781         is not a listener at construction time, thus the code here to put the listener into a
3782         map needs the HTML vs. non-HTML logic.
3783
3784 2006-06-13  Maciej Stachowiak  <mjs@apple.com>
3785
3786         Reviewed by Darin.
3787         
3788         <rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com
3789
3790         * dom/EventTargetNode.cpp:
3791         (WebCore::EventTargetNode::dispatchGenericEvent): Don't allow
3792         "load" events to propagate up to the window. We need this quirk to
3793         avoid site hangs, because they depend on an old Mozilla bug.
3794
3795 2006-06-13  Antti Koivisto  <koivisto@iki.fi>
3796
3797         Reviewed by Hyatt.
3798
3799         http://bugzilla.opendarwin.org/show_bug.cgi?id=9314
3800         Relative positioned block size doesnt update root layer size
3801
3802         - take relative positioning into account in leftmost/rightmost/lowestPosition()
3803         - ignore zero width/height boxes in leftmost/rightmost/lowestPosition()
3804         - split relativePositionOffset() to x and y functions
3805         
3806         * rendering/RenderBox.cpp:
3807         (WebCore::RenderBox::absolutePosition):
3808         (WebCore::RenderBox::relativePositionOffsetX):
3809         (WebCore::RenderBox::relativePositionOffsetY):
3810         (WebCore::RenderBox::lowestPosition):
3811         (WebCore::RenderBox::rightmostPosition):
3812         (WebCore::RenderBox::leftmostPosition):
3813         * rendering/RenderBox.h:
3814         * rendering/RenderFlow.cpp:
3815         (WebCore::RenderFlow::lowestPosition):
3816         (WebCore::RenderFlow::rightmostPosition):
3817         (WebCore::RenderFlow::leftmostPosition):
3818         * rendering/RenderLayer.cpp:
3819         (WebCore::RenderLayer::updateLayerPosition):
3820         * rendering/RenderObject.cpp:
3821         (WebCore::RenderObject::offsetLeft):
3822         (WebCore::RenderObject::offsetTop):
3823
3824 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
3825
3826         Reviewed by Dave Hyatt.
3827
3828         http://bugzilla.opendarwin.org/show_bug.cgi?id=9427
3829         xml-stylesheet processing instructions outside of the prolog should have no effect.
3830
3831         * dom/ProcessingInstruction.cpp:
3832         (WebCore::ProcessingInstruction::checkStyleSheet):
3833         Remove todo comment.
3834         
3835         * dom/xml_tokenizer.cpp:
3836         (WebCore::XMLTokenizer::processingInstruction):
3837         Only check for style sheet if the root element hasn't yet been encountered.
3838
3839 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
3840
3841         Reviewed by Geoff.
3842
3843         http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
3844         REGRESSION: fix for bug 9390 broke two layout tests
3845         
3846         * loader/PluginDocument.cpp:
3847         (WebCore::PluginTokenizer::writeRawData):
3848         Call finished() after setting up the document structure so we'll emit onload events.
3849
3850 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
3851
3852         build fix -- forgot to svn add this file
3853         
3854         * ForwardingHeaders/kjs/SavedBuiltins.h: Added.
3855
3856 2006-06-12  Brady Eidson  <beidson@apple.com>
3857
3858         Reviewed by Maciej.
3859
3860         Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!
3861
3862         * platform/String.cpp:
3863         (WebCore::String::append):
3864
3865 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
3866
3867         Reviewed by TimO, Maciej.
3868
3869         - WebCore part of merging InterpreterImp into Interpreter. No test
3870         because there's no behavior change.
3871         
3872         A substantive change here is that ScriptInterpreter::mark must now chain to
3873         Interpreter::mark, since Interpreter needs to mark the things that
3874         InterpreterImp used to mark.
3875         
3876         * WebCore.xcodeproj/project.pbxproj:
3877         * bindings/js/kjs_binding.cpp:
3878         * bindings/js/kjs_window.cpp:
3879         (KJS::Window::put):
3880         * bridge/mac/WebCoreFrameBridge.mm:
3881         * bridge/mac/WebCoreScriptDebugger.mm:
3882         (-[WebCoreScriptCallFrame evaluateWebScript:]):
3883         * kwq/KWQPageState.mm:
3884
3885 2006-06-12  Brady Eidson <beidson@apple.com>
3886
3887         Reviewed by Maciej.
3888
3889         Changed String::ascii() to return a Vector<char> instead of const char*
3890         This allows us to use it "regularly" as the returned vector will destruct
3891         and not leak memory like the previous approach.
3892         We can now do a String.ascii().data() to get a char* buffer instead of 
3893         String.deprecatedString().ascii().  It doesn't improve the style much but
3894         dumping the memory-leak issue is a plus.
3895
3896         * icon/IconDatabase.cpp:
3897         (WebCore::IconDatabase::open):
3898         (WebCore::IconDatabase::clearDatabase):
3899         * icon/SQLDatabase.cpp:
3900         (SQLDatabase::open):
3901         * icon/SQLStatement.cpp:
3902         (WebCore::SQLStatement::prepare):
3903         (WebCore::SQLStatement::step):
3904         (WebCore::SQLStatement::returnTextResults):
3905         (WebCore::SQLStatement::returnTextResults16):
3906         (WebCore::SQLStatement::returnIntResults):
3907         (WebCore::SQLStatement::returnInt64Results):
3908         (WebCore::SQLStatement::returnDoubleResults):
3909         In addition to the changes to the string classes, changed my database code over to the new
3910         preferred method.
3911
3912         * platform/PlatformString.h:
3913         * platform/String.cpp:
3914         (WebCore::String::ascii):
3915         * platform/StringImpl.cpp:
3916         (WebCore::StringImpl::ascii):
3917         * platform/StringImpl.h:
3918
3919 2006-06-12  Dave Hyatt <hyatt@apple.com>
3920
3921         Add the notion of a selection foreground color to the engine for
3922         Win32.  Rename existing selectionColor methods to be
3923         selectionBackgroundColor instead.
3924
3925         Change the 60% alpha blend rule for transparent selection to
3926         instead be a range from 60-80%, with less transparency being
3927         used as needed to ensure the transformed color more closely
3928         approximates the original operating system color when blended
3929         with a white background.
3930
3931         Reviewed by mjs
3932
3933         * platform/Color.cpp:
3934         (WebCore::blend):
3935         (WebCore::Color::blendWithWhite):
3936         * platform/Color.h:
3937         * rendering/InlineTextBox.cpp:
3938         (WebCore::InlineTextBox::paint):
3939         (WebCore::InlineTextBox::paintSelection):
3940         * rendering/RenderBlock.cpp:
3941         (WebCore::RenderBlock::fillHorizontalSelectionGap):
3942         (WebCore::RenderBlock::fillVerticalSelectionGap):
3943         (WebCore::RenderBlock::fillLeftSelectionGap):
3944         (WebCore::RenderBlock::fillRightSelectionGap):
3945         * rendering/RenderHTMLCanvas.cpp:
3946         (WebCore::RenderHTMLCanvas::paint):
3947         * rendering/RenderImage.cpp:
3948         (WebCore::RenderImage::paint):
3949         * rendering/RenderListMarker.cpp:
3950         (WebCore::RenderListMarker::paint):
3951         * rendering/RenderObject.cpp:
3952         (WebCore::RenderObject::selectionBackgroundColor):
3953         (WebCore::RenderObject::selectionForegroundColor):
3954         * rendering/RenderObject.h:
3955         * rendering/RenderTheme.cpp:
3956         (WebCore::RenderTheme::activeSelectionBackgroundColor):
3957         (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
3958         (WebCore::RenderTheme::platformActiveSelectionBackgroundColor):
3959         (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
3960         (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
3961         (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
3962         * rendering/RenderTheme.h:
3963         * rendering/RenderThemeMac.h:
3964         * rendering/RenderThemeMac.mm:
3965         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
3966         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
3967         * rendering/RenderThemeWin.cpp:
3968         (WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor):
3969         (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
3970         (WebCore::RenderThemeWin::platformActiveSelectionForegroundColor):
3971         (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
3972         * rendering/RenderThemeWin.h:
3973         * rendering/RenderWidget.cpp:
3974         (WebCore::RenderWidget::paint):
3975
3976 2006-06-12  John Sullivan  <sullivan@apple.com>
3977
3978         Reviewed by Darin Adler.
3979         
3980         * page/Frame.cpp:
3981         (WebCore::Frame::markAllMatchesForText):
3982         Do a "fake" paint here so that the rectangles for the text matches will have been
3983         computed by the time this method returns.
3984
3985 2006-06-12  Brady Eidson  <beidson@apple.com>
3986
3987         Reviewed by Levi and Tim Omernick.
3988
3989         -Added a skeleton sqlite3 icon database file to IconDatabase
3990         -Added functionality to validate and recreate this icon.db file
3991         -Fixed some buggys in SQLDatabase.cpp
3992
3993         * icon/IconDatabase.cpp:
3994         (WebCore::IconDatabase::open):
3995         (WebCore::IconDatabase::isValidDatabase):
3996         (WebCore::IconDatabase::clearDatabase):
3997         (WebCore::IconDatabase::recreateDatabase):
3998         * icon/IconDatabase.h:
3999
4000         * icon/SQLStatement.cpp:
4001         (WebCore::SQLStatement::columnCount):
4002         (WebCore::SQLStatement::getColumnName):
4003         (WebCore::SQLStatement::getColumnName16):
4004         (WebCore::SQLStatement::getColumnText):
4005         (WebCore::SQLStatement::getColumnText16):
4006         (WebCore::SQLStatement::getColumnDouble):
4007         (WebCore::SQLStatement::getColumnInt):
4008         (WebCore::SQLStatement::getColumnInt64):
4009         (WebCore::SQLStatement::getColumnBlob):
4010         -Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
4011         function calls weren't as error-tolerant as documentation advertised
4012         (maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)
4013
4014 2006-06-12  Brady Eidson  <beidson@apple.com>
4015
4016         Reviewed by Levi.
4017
4018         -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.  
4019         -Changed the base IconDatabase over to this new framework.
4020
4021         * WebCore.xcodeproj/project.pbxproj:
4022         * bridge/mac/WebCoreIconDatabaseBridge.mm:
4023         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
4024             -By popular request, removed an annoying log message I'd accidentally left in
4025
4026         * icon/IconDatabase.cpp:
4027         (WebCore::IconDatabase::IconDatabase):
4028         (WebCore::IconDatabase::open):
4029         (WebCore::IconDatabase::close):
4030         (WebCore::IconDatabase::~IconDatabase):
4031         * icon/IconDatabase.h:
4032         (WebCore::IconDatabase::isOpen):
4033             -Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls
4034
4035         * icon/SQLDatabase.cpp: Added.
4036         (SQLDatabase::SQLDatabase):
4037         (SQLDatabase::open):
4038         (SQLDatabase::close):
4039         (SQLDatabase::executeCommand):
4040         (SQLDatabase::tableExists):
4041         * icon/SQLDatabase.h: Added.
4042         (WebCore::SQLDatabase::isOpen):
4043         (WebCore::SQLDatabase::getPath):
4044         (WebCore::SQLDatabase::lastError):
4045         (WebCore::SQLDatabase::lastErrorMsg):
4046         (WebCore::SQLStatement::isPrepared):
4047         (WebCore::SQLStatement::lastError):
4048         (WebCore::SQLStatement::lastErrorMsg):
4049         * icon/SQLStatement.cpp: Added.
4050         (WebCore::SQLStatement::SQLStatement):
4051         (WebCore::SQLStatement::~SQLStatement):
4052         (WebCore::SQLStatement::prepare):
4053         (WebCore::SQLStatement::step):
4054         (WebCore::SQLStatement::finalize):
4055         (WebCore::SQLStatement::reset):
4056         (WebCore::SQLStatement::executeCommand):
4057         (WebCore::SQLStatement::bindBlob):
4058         (WebCore::SQLStatement::bindText):
4059         (WebCore::SQLStatement::columnCount):
4060         (WebCore::SQLStatement::getColumnName):
4061         (WebCore::SQLStatement::getColumnName16):
4062         (WebCore::SQLStatement::getColumnText):
4063         (WebCore::SQLStatement::getColumnText16):
4064         (WebCore::SQLStatement::getColumnDouble):
4065         (WebCore::SQLStatement::getColumnInt):
4066         (WebCore::SQLStatement::getColumnInt64):
4067         (WebCore::SQLStatement::getColumnBlob):
4068         (WebCore::SQLStatement::returnTextResults):
4069         (WebCore::SQLStatement::returnTextResults16):
4070         (WebCore::SQLStatement::returnIntResults):
4071         (WebCore::SQLStatement::returnInt64Results):
4072         (WebCore::SQLStatement::returnDoubleResults):
4073             -Initial checking of SQLDatabase framework
4074
4075         * platform/PlatformString.h:
4076         * platform/String.cpp:
4077         (WebCore::String::String):
4078             -Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on 
4079             null-terminated UTF16 which we didn't yet support.
4080
4081 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
4082
4083         Reviewed by Maciej.
4084
4085         http://bugzilla.opendarwin.org/show_bug.cgi?id=9408
4086         Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"
4087
4088         * DerivedSources.make: Fix clean builds.
4089
4090 2006-06-11  Darin Adler  <darin@apple.com>
4091
4092         - another try at fixing Windows
4093
4094         * loader/CachedResource.h:
4095         * platform/cairo/GraphicsContextCairo.cpp:
4096         * platform/image-decoders/ImageDecoder.h:
4097         (WebCore::ImageDecoder::setData):
4098         * platform/image-decoders/gif/GIFImageDecoder.cpp:
4099         (WebCore::GIFImageDecoderPrivate::decode):
4100         (WebCore::GIFImageDecoder::setData):
4101         * platform/image-decoders/gif/GIFImageDecoder.h:
4102         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
4103         (WebCore::JPEGImageReader::decode):
4104         (WebCore::JPEGImageDecoder::setData):
4105         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
4106         * platform/image-decoders/png/PNGImageDecoder.cpp:
4107         (WebCore::PNGImageReader::decode):
4108         (WebCore::PNGImageDecoder::setData):
4109         * platform/image-decoders/png/PNGImageDecoder.h:
4110         s/DeprecatedByteArray/Vector<char>/
4111
4112 2006-06-11  Darin Adler  <darin@apple.com>
4113
4114         - try to fix Windows build
4115
4116         * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
4117         Use Vector<char> instead of DeprecatedByteArray.
4118
4119         * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
4120         Don't try to return 0 from a function that returns a Vector<char>.
4121
4122 2006-06-11  Sam Weinig  <sam.weinig@gmail.com>
4123
4124         Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
4125
4126         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039
4127           Remove use of DeprecatedArray in favor of new Vector class
4128
4129         This removes most of the uses of DeprecatedArray and 
4130         DeprecatedByteArray, with the exception of DeprecatedCString.
4131
4132         No test cases added because there is no change in
4133         functionality.
4134
4135         * loader/CachedCSSStyleSheet.cpp:
4136         (WebCore::CachedCSSStyleSheet::data):
4137         * loader/CachedCSSStyleSheet.h:
4138         * loader/CachedImage.cpp:
4139         (WebCore::CachedImage::bufferData):
4140         (WebCore::CachedImage::data):
4141         (WebCore::CachedImage::checkNotify):
4142         (WebCore::CachedImage::shouldStopAnimation):
4143         * loader/CachedImage.h:
4144         * loader/CachedObject.cpp:
4145         (WebCore::CachedObject::bufferData):
4146         (WebCore::CachedObject::setExpireDate):
4147         * loader/CachedObject.h:
4148         (WebCore::CachedObject::setCharset):
4149         * loader/CachedScript.cpp:
4150         (WebCore::CachedScript::data):
4151         * loader/CachedScript.h:
4152         * loader/CachedXBLDocument.cpp:
4153         (WebCore::CachedXBLDocument::data):
4154         (WebCore::CachedXBLDocument::checkNotify):
4155         * loader/CachedXBLDocument.h:
4156         * loader/CachedXSLStyleSheet.cpp:
4157         (WebCore::CachedXSLStyleSheet::data):
4158         * loader/CachedXSLStyleSheet.h:
4159         * loader/Request.cpp:
4160         (WebCore::Request::Request):
4161         (WebCore::Request::~Request):
4162         * loader/Request.h:
4163         (WebCore::Request::buffer):
4164         (WebCore::Request::cachedObject):
4165         (WebCore::Request::docLoader):
4166         (WebCore::Request::isIncremental):
4167         (WebCore::Request::setIsIncremental):
4168         (WebCore::Request::isMultipart):
4169         (WebCore::Request::setIsMultipart):
4170         * loader/loader.cpp:
4171         (WebCore::crossDomain):
4172         (WebCore::Loader::Loader):
4173         (WebCore::Loader::load):
4174         (WebCore::Loader::servePendingRequests):
4175         (WebCore::Loader::receivedAllData):
4176         (WebCore::Loader::receivedResponse):
4177         (WebCore::Loader::receivedData):
4178         (WebCore::Loader::numRequests):
4179         (WebCore::Loader::cancelRequests):
4180         (WebCore::Loader::removeBackgroundDecodingRequest):
4181         (WebCore::Loader::jobForRequest):
4182         * platform/Image.cpp:
4183         (WebCore::Image::setData):
4184         * platform/Image.h:
4185         (WebCore::Image::dataBuffer):
4186
4187         * css/cssstyleselector.cpp:
4188         (WebCore::CSSStyleSelector::init):
4189         (WebCore::CSSStyleSelector::matchRules):
4190         (WebCore::CSSStyleSelector::matchRulesForList):
4191         (WebCore::CSSStyleSelector::sortMatchedRules):
4192         (WebCore::CSSStyleSelector::initForStyleResolve):
4193         (WebCore::CSSStyleSelector::createStyleForElement):
4194         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
4195