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