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