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