Reviewed by Geoff.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-07-10  Darin Adler  <darin@apple.com>
2
3         Reviewed by Geoff.
4
5         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9811
6           rdar://problem/4619572
7           OPTION text contained in OPTGROUP appears at the wrong size
8
9         * dom/Node.h:
10         * dom/Node.cpp: (WebCore::Node::renderStyle): Made a const member function.
11         The derived classes were overriding with const member functions, and I could
12         change either this or the derived -- decided to do this.
13
14 2006-07-10  Darin Adler  <darin@apple.com>
15
16         Reviewed by Geoff.
17
18         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9810
19           rdar://problem/4619534
20           OPTGROUP label text is using the default font instead of Lucida Grande
21
22         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize):
23         Code wants the family name, but was calling fontName, which is not the same thing.
24         Also removed the unneeded conversion to DeprecatedString.
25
26 === Safari-521.16 ===
27
28 2006-07-10  David Kilzer  <ddkilzer@kilzer.net>
29
30         Reviewed by Darin.
31
32         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9179
33           Implement select.options.add() method
34
35         Tests:
36         - fast/dom/select-selectedIndex-multiple.html
37         - fast/dom/select-selectedIndex.html
38         - fast/js/select-options-add.html
39
40         * DerivedSources.make: Added JSHTMLOptionsCollection.h.
41         * ForwardingHeaders/kjs/operations.h: Added.
42         * WebCore.xcodeproj/project.pbxproj: Added new source files.
43         * bindings/js/JSHTMLOptionsCollectionCustom.cpp: Added.
44         (WebCore::JSHTMLOptionsCollection::length):
45         (WebCore::JSHTMLOptionsCollection::setLength):
46         (WebCore::JSHTMLOptionsCollection::indexSetter):
47         * bindings/js/kjs_html.cpp: Removed JSHTMLOptionsCollection implementation.
48         Renamed classes and methods for consistency.
49         (KJS::JSHTMLElement::selectGetter):
50         (KJS::JSHTMLElement::put):
51         (KJS::JSHTMLElement::selectSetter):
52         (KJS::JSHTMLCollection::JSHTMLCollection):
53         (KJS::JSHTMLCollectionProtoFunc::callAsFunction):
54         (KJS::getHTMLOptionsCollection):
55         * bindings/js/kjs_html.h: Ditto.
56         * bindings/scripts/CodeGeneratorJS.pm: Added support for HasCustomIndexSetter class attribute.
57         Added support for Optional parameter attribute, which makes generated code assume overloaded
58         implementation methods are available for a JavaScript function with optional arguments.  Changed
59         local 'impl' variables to 'imp' so that impl() methods could be called without class designation.
60         * html/HTMLOptionElement.idl: Added GenerateNativeConverter attribute.
61         * html/HTMLOptionsCollection.cpp: Added methods used by generated JSHTMLOptionsCollection class.
62         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
63         (WebCore::HTMLOptionsCollection::add):
64         (WebCore::HTMLOptionsCollection::selectedIndex):
65         (WebCore::HTMLOptionsCollection::setSelectedIndex):
66         (WebCore::HTMLOptionsCollection::setLength):
67         * html/HTMLOptionsCollection.h: Ditto.
68         * html/HTMLOptionsCollection.idl: Added.
69
70 2006-07-10  David Harrison  <harrison@apple.com>
71
72         Reviewed by Dave Hyatt.
73
74         <rdar://problem/4602408> -webkit-highlight needs to support images and elements other than text
75
76         * rendering/RenderBox.cpp:
77         (WebCore::RenderBox::paintCustomHighlight):
78         * rendering/RenderBox.h:
79         Utility for subclasses.
80         
81         * rendering/RenderImage.cpp:
82         (WebCore::RenderImage::paint):
83         Custom highlight in front of images.
84         
85         * rendering/RenderListMarker.cpp:
86         (WebCore::RenderListMarker::paint):
87         Custom highlight in front of list markers.
88
89         * rendering/RenderWidget.cpp:
90         (WebCore::RenderWidget::paint):
91         Custom highlight in front of objects.
92
93 2006-07-10  David Hyatt  <hyatt@apple.com>
94
95         Better fix for repainting issue with positioned objects when height
96         changes.  Optimize when only a positioned child changes so that we don't
97         incorrectly do normal flow layout.
98
99         Reviewed by darin
100
101         * WebCore.xcodeproj/project.pbxproj:
102         * rendering/RenderBlock.cpp:
103         (WebCore::RenderBlock::layoutBlock):
104         * rendering/RenderFlexibleBox.cpp:
105         (WebCore::RenderFlexibleBox::layoutBlock):
106         * rendering/RenderTable.cpp:
107         (WebCore::RenderTable::layout):
108         * rendering/RenderView.cpp:
109         (WebCore::RenderView::layout):
110         * rendering/bidi.cpp:
111         (WebCore::RenderBlock::layoutInlineChildren):
112
113 2006-07-10  Adele Peterson  <adele@apple.com>
114
115         Reviewed by Beth.
116
117         - Fix for <rdar://problem/4621442> REGRESSION (NativePopup) : Popup menus aren't drawn correctly on page at orbitz.com; cheaptickets.com
118
119         Test: fast/forms/select-style.html
120
121         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
122         Don't let popups be style-able for now.  We'll allow it later, when we
123         have a good way to handle border & backgrounds and still having it look like a control.
124
125 2006-07-10  Justin Garcia  <justin.garcia@apple.com>
126
127         Reviewed by harrison
128         
129         <rdar://problem/4619260>
130         9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
131         <rdar://problem/4619841>
132         REGRESSION: Dragging selection over input field results in a crash (WebCore::maxDeepOffset(WebCore::Node const*)
133
134         * WebCore.xcodeproj/project.pbxproj:
135         * editing/Selection.cpp:
136         (WebCore::Selection::adjustForEditableContent): Iterate using next/previousVisuallyDistinctCandidate 
137         instead of traverseNext/Previous node because we were skipping positions.  Jump out of shadow trees.  
138         Migrate to isEditablePosition instead of isContentEditable.
139         
140
141 2006-07-10  Beth Dakin  <bdakin@apple.com>
142
143         Reviewed by Adele.
144
145         Shuffling comments around from my last check-in to make things read 
146         more clearly.
147
148         * page/DOMWindow.h:
149         * page/DOMWindow.idl:
150
151 2006-07-10  Beth Dakin  <bdakin@apple.com>
152
153         Reviewed by Darin.
154
155         Fix for <rdar://problem/4621095> The should be a way to 
156         access the user interface scale factor through the DOM
157
158         window.devicePixelRatio returns the user interface scale factor.
159
160         * page/DOMWindow.cpp:
161         (WebCore::DOMWindow::devicePixelRatio):
162         * page/DOMWindow.h:
163         * page/DOMWindow.idl:
164
165 2006-07-10  Brady Eidson  <beidson@apple.com>
166
167         Reviewed by Alexey
168
169         Resolved the console error messages people got from the new DB even if they didn't have it enabled
170
171         * icon/IconDatabase.cpp:
172         (WebCore::IconDatabase::pruneUnreferencedIcons):
173         (WebCore::IconDatabase::pruneUnretainedIcons):
174         Added quick check to bail if the DB isn't open
175
176 2006-07-10  David Harrison  <harrison@apple.com>
177
178         Reviewed by Tim Hatcher
179
180         Partial fix for...
181         <rdar://problem/4619260> 9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
182         
183         * editing/Selection.cpp:
184         (WebCore::Selection::adjustForEditableContent):
185         Allow for node being 0.  This is a bandaid fix to prevent the crash.  It will still assert in a debug build.  See bug for more info.
186
187 2006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
188
189         Reviewed by Darin.
190
191         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9808
192           REGRESSION: Incorrect layout (and ERROR) when forcing ATSU For All Text
193
194         * manual-tests/ATSU-bad-layout.html: Added.
195         * platform/mac/FontMac.mm:
196         (WebCore::Font::floatWidthForComplexText): Return 0 immediately for empty runs.
197
198 2006-07-10  Darin Adler  <darin@apple.com>
199
200         - try to fix the no-SVG build
201
202         * ksvg2/misc/SVGImageLoader.cpp: Move namespace brace inside the #if.
203
204 2006-07-10  Darin Adler  <darin@apple.com>
205
206         Reviewed by Anders.
207
208         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9833
209           REGRESSION: Reproducible crash: RenderMenuList.cpp:58: failed assertion `!m_first'
210
211         * manual-tests/empty-title-popup.html: Added.
212
213         * rendering/RenderMenuList.h: Add createInnerBlock.
214         * rendering/RenderMenuList.cpp:
215         (WebCore::RenderMenuList::createInnerBlock): Factored out of addChild.
216         (WebCore::RenderMenuList::addChild): Call createInnerBlock.
217         (WebCore::RenderMenuList::setText): Changed parameter type.
218         (WebCore::RenderMenuList::showPopup): Call createInnerBlock before calling
219         the parent class's addChild.
220
221 2006-07-10  Rob Buis  <buis@kde.org>
222
223         Reviewed by Maciej via IRC.
224
225         Make sure the attributes are calculated against viewport width value,
226         as defined in the spec.  http://paste.lisp.org/display/22342
227
228         * ksvg2/svg/SVGEllipseElement.cpp:
229         (WebCore::SVGEllipseElement::rx): Changed LM_HEIGHT to LM_WIDTH.
230         * ksvg2/svg/SVGLineElement.cpp:
231         (SVGLineElement::x2): Ditto.
232
233 2006-07-10  Beth Dakin  <bdakin@apple.com>
234
235         Reviewed by Maciej.
236
237         Fix for <rdar://problem/4610314> Support the CSS3 content property 
238         for images
239
240         This patch provides initial support for the CSS3 content property. 
241         It lacks support for any content other than images, and only allows 
242         content for elements that seemed safe for now.
243
244         * css/cssstyleselector.cpp:
245         (WebCore::CSSStyleSelector::applyProperty): Remove restrictions for 
246         just :before and :after
247         * html/HTMLBRElement.cpp:
248         (WebCore::HTMLBRElement::createRenderer):
249         * html/HTMLFrameSetElement.cpp:
250         (WebCore::HTMLFrameSetElement::createRenderer):
251         * html/HTMLImageElement.cpp:
252         (WebCore::HTMLImageElement::createRenderer):
253         * html/HTMLLegendElement.cpp:
254         (WebCore::HTMLLegendElement::createRenderer):
255         * rendering/RenderImage.cpp:
256         (WebCore::RenderImage::RenderImage):
257         (WebCore::RenderImage::setCachedImage): Don't allow the image to be 
258         set this way if it was already set with the content property.
259         * rendering/RenderImage.h:
260         (WebCore::RenderImage::setIsAnonymousImage): Anonymous images are 
261         those set through the content property.
262         (WebCore::RenderImage::isAnonymousImage):
263         * rendering/RenderObject.cpp:
264         (WebCore::RenderObject::createObject): If there is content 
265         specified, create a RenderImage with the content and initialize the 
266         cached image to whatever was specified in the CSS.
267
268 2006-07-10  Brady Eidson  <beidson@apple.com>
269
270         Reviewed by NOBODY (Build Fix!)
271
272         * icon/SiteIcon.cpp:
273         (SiteIcon::getImage):
274         Release build made an "unused variable" warning, which is, of course, an error.  fixed that.
275
276 2006-07-10  Brady Eidson  <beidson@apple.com>
277
278         Reviewed by Maciej
279
280         SQLite Icon DB now fully replicates functionality of the old DB, including pruning to keep unused
281         information out to keep down disk usage.  For now, it is still off by default, as the critical
282         feature of importing old icons into the new DB is still unrealized.
283         If you'd like to test, add #define ICONDEBUG to your WebKitPrefix.h
284
285         * icon/IconDatabase.cpp:
286         (WebCore::IconDatabase::IconDatabase):
287         (WebCore::IconDatabase::open):
288           -Sets up a timer for initial pruning
289         (WebCore::IconDatabase::iconForPageURL):
290           -Switched away from "dirty blob hack" as the problem is provisionally solved
291         (WebCore::IconDatabase::retainIconForURL):
292         (WebCore::IconDatabase::releaseIconForURL):
293           -Same as found in WebKit
294         (WebCore::IconDatabase::totalRetainCountForIconURL):
295           -Adds up all retainers of icon
296         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
297           -Wipes an Icon table entry out
298         (WebCore::IconDatabase::establishTemporaryIconIDForIconURL):
299         (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
300         (WebCore::IconDatabase::establishIconIDForIconURL):
301         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
302           -Added ability to get an iconID without creating a new one if a lookup is all
303            that is genuinely wanted
304         (WebCore::IconDatabase::pruneUnreferencedIcons):
305         (WebCore::IconDatabase::pruneUnretainedIcons):
306           -Called on a timer on DB startup to clean it out
307         * icon/IconDatabase.h:
308         * icon/SiteIcon.cpp:
309         (SiteIcon::SiteIcon):
310         (SiteIcon::~SiteIcon):
311           -Deletes the image on deletion
312         (SiteIcon::getImage):
313           -Cut down on no-longer-necessary debug info
314
315 2006-07-10  Anders Carlsson  <acarlsson@apple.com>
316
317         Reviewed by Adele.
318
319         http://bugzilla.opendarwin.org/show_bug.cgi?id=9245
320         Quirksmode: Incorrect handling of disabled BUTTON elements
321
322         * html/HTMLButtonElement.cpp:
323         (WebCore::HTMLButtonElement::defaultEventHandler):
324         Don't call prepareSubmit if the element is disabled.
325
326         * html/HTMLInputElement.cpp:
327         (WebCore::HTMLInputElement::defaultEventHandler):
328         Don't call prepareSubmit if the element is disabled.
329
330 2006-07-10  Darin Adler  <darin@apple.com>
331
332         - try to fix Windows build
333
334         * platform/win/TemporaryLinkStubs.cpp: Put a few functions in the WebCore namespace.
335         * platform/gdk/TemporaryLinkStubs.cpp: Ditto.
336
337 2006-07-10  Darin Adler  <darin@apple.com>
338
339         Reviewed by Geoff.
340
341         - fix failures seen in layout tests
342
343         * bindings/js/kjs_dom.cpp: (KJS::toJS): Restore one of the few WebCore:: prefixes
344         that really needed to be there -- because we have two classes named JSHTMLDocument
345         at the moment! (One in KJS and one in WebCore namespace.)
346
347 2006-07-10  Darin Adler  <darin@apple.com>
348
349         - try to fix Windows build
350
351         * rendering/RenderLayer.h: Correct a forward declaration of ScrollBar.
352
353 2006-07-09  Adele Peterson  <adele@apple.com>
354
355         Reviewed by Maciej.
356
357         Fix for <rdar://problem/4463835> Switch to use new popup menu implementation for <select>
358
359         * css/html4.css: Added style for new selects, and for list boxes.
360         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Removed check for appearance so new popups can be styled.
361    
362         * rendering/RenderMenuList.cpp:
363         (WebCore::RenderMenuList::setStyle): Removed padding.  This is now set by the theme.
364         (WebCore::RenderMenuList::calcMinMaxWidth): Now takes minimum text size into account.
365         * rendering/RenderMenuList.h: Removed baselinePosition since we're letting the theme calculate that.
366
367         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlContainer): Added menuList as a ControlContainer, 
368         so RenderThemeMac will compute its baseline.
369         * rendering/RenderTheme.h: (WebCore::RenderTheme::minimumTextSize): Added.
370         * rendering/RenderThemeMac.h: Added minimumTextSize, setPopupPaddingFromControlSize, popupButtonSizes, popupButtonMargins, popupButtonPadding.
371         Removed sizeOfArrowControl. 
372         * rendering/RenderThemeMac.mm:
373         (WebCore::): Added enum for padding.
374         (WebCore::RenderThemeMac::adjustRepaintRect): Now inflates rect to account for control shadow.
375         (WebCore::RenderThemeMac::baselinePosition): Now calculates baseline for menulist.
376         (WebCore::RenderThemeMac::popupButtonMargins): Tweaked values.
377         (WebCore::RenderThemeMac::popupButtonSizes): Added.
378         (WebCore::RenderThemeMac::popupButtonPadding): Added, so different padding can be set for different control sizes.
379         (WebCore::RenderThemeMac::setPopupPaddingFromControlSize): Added.
380         (WebCore::RenderThemeMac::paintMenuList): Now inflates rect to account for control shadow.
381         (WebCore::RenderThemeMac::adjustMenuListStyle): Resets border, sets padding, sets control size.
382         (WebCore::RenderThemeMac::setPopupButtonCellState): Removed unnecessary class name.
383         (WebCore::RenderThemeMac::minimumTextSize): Added.
384
385 2006-07-09  Darin Adler  <darin@apple.com>
386
387         - add back "unused code" for plain text fields, still used by <isindex>!
388
389         * platform/TextField.h:
390         * platform/mac/TextFieldMac.mm:
391         * platform/mac/WebCoreTextField.h:
392         * platform/mac/WebCoreTextField.mm:
393         * rendering/RenderLineEdit.cpp:
394
395 2006-07-09  Darin Adler  <darin@apple.com>
396
397         Reviewed by Tim Hatcher.
398
399         - put more into the WebCore namespace
400         - removed unused code for plain text fields
401
402         Put more classes, class templates, enums, functions, and constants into
403         the WebCore namespace, including all the headers in the platform directory.
404
405         Removed lots of unneeded "WebCore::" qualifiers and "using" directives.
406
407         Added some "WebCore::" qualifiers in a few places.
408
409         Removed "uses WebCore::" in headers that we said we'd remove "when
410         everything is in the WebCore namespace".
411
412         * bindings/js/JSDOMParser.cpp:
413         * bindings/js/JSHTMLElementWrapperFactory.cpp:
414         * bindings/js/JSXSLTProcessor.cpp:
415         * bindings/js/kjs_binding.cpp:
416         * bindings/js/kjs_css.cpp:
417         * bindings/js/kjs_dom.cpp:
418         * bindings/js/kjs_dom.h:
419         * bindings/js/kjs_events.cpp:
420         * bindings/js/kjs_proxy.h:
421         * bindings/js/kjs_window.h:
422         * bindings/objc/DOM.mm:
423         * bridge/History.h:
424         * bridge/JavaAppletWidget.h:
425         * bridge/mac/FormDataMac.h:
426         * bridge/mac/FormDataMac.mm:
427         * bridge/mac/WebCoreAXObject.mm:
428         * bridge/mac/WebCoreEncodings.mm:
429         * bridge/mac/WebCoreFrameBridge.h:
430         * bridge/mac/WebCoreIconDatabaseBridge.mm:
431         * bridge/mac/WebCorePageState.h:
432         * bridge/mac/WebCoreScriptDebugger.mm:
433         * bridge/mac/WebCoreSettings.h:
434         * css/CSSGrammar.y:
435         * css/CSSPageRule.cpp:
436         * css/CSSPageRule.h:
437         * css/MediaList.cpp:
438         * css/cssstyleselector.h:
439         * dom/Clipboard.h:
440         * dom/Document.cpp:
441         * dom/Document.h:
442         * dom/EventTargetNode.h:
443         * dom/Node.cpp:
444         * dom/Node.h:
445         * dom/Position.h:
446         * dom/Range.cpp:
447         * dom/XMLTokenizer.cpp:
448         * editing/AppendNodeCommand.h:
449         * editing/ApplyStyleCommand.cpp:
450         * editing/BreakBlockquoteCommand.cpp:
451         * editing/BreakBlockquoteCommand.h:
452         * editing/CompositeEditCommand.cpp:
453         * editing/CompositeEditCommand.h:
454         * editing/CreateLinkCommand.h:
455         * editing/DeleteFromTextNodeCommand.h:
456         * editing/DeleteSelectionCommand.h:
457         * editing/FormatBlockCommand.h:
458         * editing/HTMLInterchange.cpp:
459         * editing/HTMLInterchange.h:
460         * editing/IndentOutdentCommand.h:
461         * editing/InsertIntoTextNodeCommand.h:
462         * editing/InsertLineBreakCommand.h:
463         * editing/InsertListCommand.h:
464         * editing/InsertNodeBeforeCommand.h:
465         * editing/InsertTextCommand.cpp:
466         * editing/InsertTextCommand.h:
467         * editing/JSEditor.cpp:
468         * editing/JSEditor.h:
469         * editing/JoinTextNodesCommand.h:
470         * editing/MergeIdenticalElementsCommand.cpp:
471         * editing/MergeIdenticalElementsCommand.h:
472         * editing/ModifySelectionListLevel.h:
473         * editing/MoveSelectionCommand.h:
474         * editing/RebalanceWhitespaceCommand.h:
475         * editing/RemoveNodeAttributeCommand.h:
476         * editing/RemoveNodeCommand.h:
477         * editing/RemoveNodePreservingChildrenCommand.h:
478         * editing/ReplaceSelectionCommand.h:
479         * editing/SetNodeAttributeCommand.h:
480         * editing/SplitElementCommand.cpp:
481         * editing/SplitElementCommand.h:
482         * editing/SplitTextNodeCommand.cpp:
483         * editing/SplitTextNodeCommand.h:
484         * editing/SplitTextNodeContainingElementCommand.h:
485         * editing/TypingCommand.cpp:
486         * editing/TypingCommand.h:
487         * editing/UnlinkCommand.h:
488         * editing/VisiblePosition.cpp:
489         * editing/WrapContentsInDummySpanCommand.cpp:
490         * editing/WrapContentsInDummySpanCommand.h:
491         * editing/markup.cpp:
492         * editing/markup.h:
493         * html/HTMLAnchorElement.cpp:
494         * html/HTMLBodyElement.cpp:
495         * html/HTMLButtonElement.h:
496         * html/HTMLCollection.h:
497         * html/HTMLDocument.h:
498         * html/HTMLEmbedElement.cpp:
499         * html/HTMLFormElement.cpp:
500         * html/HTMLFormElement.h:
501         * html/HTMLFrameElement.cpp:
502         * html/HTMLFrameSetElement.cpp:
503         * html/HTMLKeygenElement.cpp:
504         * html/HTMLLabelElement.cpp:
505         * html/HTMLObjectElement.cpp:
506         * html/HTMLObjectElement.h:
507         * html/HTMLTableElement.cpp:
508         * html/HTMLTablePartElement.cpp:
509         * icon/IconDatabase.h:
510         * kcanvas/KCanvasPath.h:
511         * kcanvas/KCanvasResources.cpp:
512         * kcanvas/KCanvasResources.h:
513         * kcanvas/KCanvasTreeDebug.cpp:
514         * kcanvas/KCanvasTreeDebug.h:
515         * kcanvas/RenderSVGContainer.cpp:
516         * kcanvas/RenderSVGText.h:
517         * kcanvas/device/KRenderingPaintServer.h:
518         * kcanvas/device/KRenderingPaintServerGradient.h:
519         * kcanvas/device/KRenderingPaintServerSolid.cpp:
520         * ksvg2/misc/SVGImageLoader.cpp:
521         * ksvg2/svg/SVGElement.cpp:
522         * ksvg2/svg/SVGElement.h:
523         * ksvg2/svg/SVGForeignObjectElement.cpp:
524         * ksvg2/svg/SVGForeignObjectElement.h:
525         * ksvg2/svg/SVGImageElement.cpp:
526         * ksvg2/svg/SVGPoint.h:
527         * ksvg2/svg/SVGStylable.h:
528         * ksvg2/svg/SVGTRefElement.cpp:
529         * ksvg2/svg/SVGTRefElement.h:
530         * ksvg2/svg/SVGTSpanElement.cpp:
531         * ksvg2/svg/SVGTSpanElement.h:
532         * ksvg2/svg/SVGTextElement.h:
533         * ksvg2/svg/svgpathparser.cpp:
534         * ksvg2/svg/svgpathparser.h:
535         * loader/Cache.h:
536         * loader/DocLoader.h:
537         * loader/LoaderFunctions.h:
538         * loader/mac/LoaderFunctionsMac.mm:
539         * page/Frame.h:
540         * page/FrameView.h:
541         * page/Page.h:
542         * page/Settings.h:
543         * platform/AffineTransform.cpp:
544         * platform/AffineTransform.h:
545         * platform/Arena.cpp:
546         * platform/Arena.h:
547         * platform/CookieJar.h:
548         * platform/DeprecatedCString.cpp:
549         * platform/DeprecatedCString.h:
550         * platform/DeprecatedPtrList.h:
551         * platform/DeprecatedPtrListImpl.cpp:
552         * platform/DeprecatedPtrListImpl.h:
553         * platform/DeprecatedPtrQueue.h:
554         * platform/DeprecatedString.cpp:
555         * platform/DeprecatedString.h:
556         * platform/DeprecatedStringList.cpp:
557         * platform/DeprecatedStringList.h:
558         * platform/DeprecatedValueList.h:
559         * platform/DeprecatedValueListImpl.cpp:
560         * platform/DeprecatedValueListImpl.h:
561         * platform/FileButton.h:
562         * platform/FloatPoint.h:
563         * platform/FloatRect.h:
564         * platform/FloatSize.h:
565         * platform/FontData.h:
566         * platform/FontFallbackList.h:
567         * platform/GraphicsContext.h:
568         * platform/IntPoint.h:
569         * platform/IntRect.h:
570         * platform/IntSize.h:
571         * platform/KURL.cpp:
572         * platform/KURL.h:
573         * platform/ListBox.h:
574         * platform/Logging.cpp:
575         * platform/Logging.h:
576         * platform/Pen.h:
577         * platform/PopUpButton.h:
578         * platform/RegularExpression.cpp:
579         * platform/RegularExpression.h:
580         * platform/SSLKeyGenerator.h:
581         * platform/ScrollBar.h:
582         * platform/SegmentedString.h:
583         * platform/Shared.h:
584         * platform/Slider.h:
585         * platform/StringImpl.h:
586         * platform/TextBox.h:
587         * platform/TextField.h:
588         * platform/TextStream.cpp:
589         * platform/TextStream.h:
590         * platform/TransferJob.h:
591         * platform/TransferJobClient.h:
592         * platform/Widget.h:
593         * platform/cg/AffineTransformCG.cpp:
594         * platform/mac/ClipboardMac.h:
595         * platform/mac/ClipboardMac.mm:
596         * platform/mac/DeprecatedStringListMac.mm:
597         * platform/mac/FontCacheMac.mm:
598         * platform/mac/KURLMac.mm:
599         * platform/mac/ListBoxMac.mm:
600         * platform/mac/PopUpButtonMac.mm:
601         * platform/mac/SSLKeyGeneratorMac.mm:
602         * platform/mac/TextBoxMac.mm:
603         * platform/mac/TextFieldMac.mm:
604         * platform/mac/WebCoreTextArea.h:
605         * platform/mac/WebCoreTextArea.mm:
606         * platform/mac/WebCoreTextField.h:
607         * platform/mac/WebCoreTextField.mm:
608         * rendering/DeprecatedRenderSelect.h:
609         * rendering/RenderArena.cpp:
610         * rendering/RenderArena.h:
611         * rendering/RenderBlock.cpp:
612         * rendering/RenderBox.cpp:
613         * rendering/RenderContainer.cpp:
614         * rendering/RenderFlexibleBox.cpp:
615         * rendering/RenderFlow.cpp:
616         * rendering/RenderLayer.cpp:
617         * rendering/RenderLineEdit.cpp:
618         * rendering/RenderObject.h:
619         * rendering/RenderStyle.cpp:
620         * rendering/RenderStyle.h:
621         * rendering/RenderText.cpp:
622         * rendering/RenderTextFragment.cpp:
623         * rendering/RenderTheme.h:
624         * rendering/RenderTreeAsText.cpp:
625         * rendering/RenderTreeAsText.h:
626         * rendering/RenderView.h:
627         * rendering/bidi.h:
628         * xml/XSLStyleSheet.cpp:
629         * xml/XSLTProcessor.cpp:
630
631 2006-07-09  Geoffrey Garen  <ggaren@apple.com>
632
633         Reviewed by Beth.
634
635         * bindings/js/kjs_window.cpp:
636         (KJS::Window::clear): Garbage collect after reinitalizing the global
637         object, not before, since the reinitialization tends to create garbage.
638
639 2006-07-09  Timothy Hatcher  <timothy@apple.com>
640
641         Reviewed by Darin.
642
643         Bug 9820: Move new DOM API that has been through API review to public headers
644         http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
645
646         * bindings/objc/DOM.mm:
647         (-[DOMElement focus]):
648         (-[DOMElement blur]):
649         (-[DOMRange text]):
650         (-[DOMRange _text]):
651         * bindings/objc/DOMCSS.mm:
652         (-[DOMRGBColor color]):
653         (-[DOMRGBColor _color]):
654         * bindings/objc/DOMCore.h:
655         * bindings/objc/DOMEvents.h:
656         * bindings/objc/DOMExtensions.h:
657         * bindings/objc/DOMHTML.mm:
658         (-[DOMHTMLElement titleDisplayString]):
659         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
660         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
661         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
662         (-[DOMHTMLDocument _createDocumentFragmentWithText:]):
663         * bindings/objc/DOMPrivate.h:
664         * bindings/objc/DOMXPath.h:
665         * bindings/objc/DOMXPath.mm:
666
667 2006-07-09  Beth Dakin  <bdakin@apple.com>
668
669         Reviewed by Maciej.
670
671         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9749 A 
672         nested content editable div causes unnecessary screen redraws.
673         
674         We were repainting too much because we were deciding that we needed 
675         a full layout because we didn't have a first line box. Our code 
676         used to hold a lot of assumptions that positioned elements would 
677         always have line boxes, but I fixed a few bugs a while back that 
678         appeared because this assumption isn't true. This assumption was 
679         also causing the extra redraws because the check meant that we 
680         would decide to do a full layout for any positioned element that 
681         did not have any line boxes in the first place. Maciej and I talked 
682         about this, and we couldn't figure out why the check for line boxes 
683         was part of determining if we need a full layout in the first 
684         place. After hunting around the code, we decided to assume that 
685         this check is antiquated. Removing it fixes the bug and doesn't 
686         seem to break any layout tests. So, fingers crossed!
687
688         Will add layout test so soon.
689
690         * rendering/bidi.cpp:
691         (WebCore::RenderBlock::layoutInlineChildren): Remove firstLineBox 
692         check.
693
694 2006-07-09  David Harrison  <harrison@apple.com>
695
696         Reviewed by John Sullivan.
697
698         <rdar://problem/4598149> Deleting the contents of a DOMRange and then inserting a node into it crashes in WebCore::Font::canUseGlyphCache
699
700         Test: fast/dom/delete-contents.html
701         
702         * dom/Range.cpp:
703         (WebCore::Range::processContents):
704
705 2006-07-09  Darin Adler  <darin@apple.com>
706
707         - another round of renaming; and KWQ is dead
708
709         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove paths for kwq and khtml directories.
710         Move files to their new locations. Did rename.
711         * WebCore.xcodeproj/project.pbxproj: Move files to their new locations. Did rename.
712         * WebCoreSources.bkl: Did rename.
713         * webcore-base.bkl: Removed kwq.
714
715         * kwq/AccessibilityObjectCache.h: Removed.
716         * kwq/AccessibilityObjectCache.mm: Removed.
717         * kwq/FormDataMac.h: Removed.
718         * kwq/FormDataMac.mm: Removed.
719         * kwq/WebCoreAXObject.h: Removed.
720         * kwq/WebCoreAXObject.mm: Removed.
721         * kwq/WebCoreEditCommand.h: Removed.
722         * kwq/WebCoreEditCommand.mm: Removed.
723         * kwq/WebCorePageState.h: Removed.
724         * kwq/WebCorePageState.mm: Removed.
725         * kwq/WebCoreResourceLoaderImp.h: Removed.
726         * kwq/WebCoreResourceLoaderImp.mm: Removed.
727
728         * bridge/AXObjectCache.h: Added.
729         * bridge/mac/AXObjectCacheMac.mm: Added.
730         * bridge/mac/WebCoreAXObject.h: Added.
731         * bridge/mac/WebCoreAXObject.mm: Added.
732
733         * loader/CachedObject.cpp: Removed.
734         * loader/CachedObject.h: Removed.
735         * loader/CachedObjectClient.h: Removed.
736         * loader/CachedObjectClientWalker.cpp: Removed.
737         * loader/CachedObjectClientWalker.h: Removed.
738
739         * loader/CachedResource.cpp: Added.
740         * loader/CachedResource.h: Added.
741         * loader/CachedResourceClient.h: Added.
742         * loader/CachedResourceClientWalker.cpp: Added.
743         * loader/CachedResourceClientWalker.h: Added.
744
745         * bridge/mac/FrameMac.mm:
746         * bridge/mac/WebCoreFrameBridge.mm:
747         * css/CSSImageValue.h:
748         * css/CSSImportRule.h:
749         * dom/Document.cpp:
750         * dom/Document.h:
751         * dom/Notation.h:
752         * dom/ProcessingInstruction.h:
753         * dom/XMLTokenizer.cpp:
754         * html/CanvasPattern.h:
755         * html/HTMLDocument.h:
756         * html/HTMLImageLoader.cpp:
757         * html/HTMLImageLoader.h:
758         * html/HTMLLinkElement.h:
759         * html/HTMLScriptElement.cpp:
760         * html/HTMLScriptElement.h:
761         * html/HTMLTokenizer.cpp:
762         * html/HTMLTokenizer.h:
763         * kcanvas/KCanvasFilters.h:
764         * ksvg2/svg/SVGCursorElement.cpp:
765         * ksvg2/svg/SVGCursorElement.h:
766         * ksvg2/svg/SVGFEImageElement.cpp:
767         * ksvg2/svg/SVGFEImageElement.h:
768         * loader/Cache.cpp:
769         * loader/Cache.h:
770         * loader/CachedCSSStyleSheet.cpp:
771         * loader/CachedCSSStyleSheet.h:
772         * loader/CachedImage.cpp:
773         * loader/CachedImage.h:
774         * loader/CachedScript.cpp:
775         * loader/CachedScript.h:
776         * loader/CachedXBLDocument.cpp:
777         * loader/CachedXBLDocument.h:
778         * loader/CachedXSLStyleSheet.cpp:
779         * loader/CachedXSLStyleSheet.h:
780         * loader/DocLoader.cpp:
781         * loader/DocLoader.h:
782         * loader/LoaderFunctions.h:
783         * loader/Request.cpp:
784         * loader/Request.h:
785         * loader/loader.cpp:
786         * loader/loader.h:
787         * loader/mac/LoaderFunctionsMac.mm:
788         * page/Frame.cpp:
789         * page/FrameView.cpp:
790         * platform/gdk/TemporaryLinkStubs.cpp:
791         * platform/mac/ClipboardMac.h:
792         * platform/win/TemporaryLinkStubs.cpp:
793         * rendering/RenderBox.h:
794         * rendering/RenderContainer.cpp:
795         * rendering/RenderImage.cpp:
796         * rendering/RenderImage.h:
797         * rendering/RenderLayer.h:
798         * rendering/RenderObject.cpp:
799         * rendering/RenderObject.h:
800         * rendering/RenderStyle.cpp:
801         * rendering/RenderStyle.h:
802         * xml/XSLImportRule.h:
803         Did renaming.
804
805         * platform/mac/can-convert.mm: Removed.
806
807 2006-07-09  Anders Carlsson  <acarlsson@apple.com>
808
809         Reviewed by Tim O.
810
811         * WebCore.exp:
812         Add wkPathFromFont.
813         
814         * platform/mac/FontDataMac.mm:
815         (-[NSFont WebCore]):
816         Use wkPathFromFont.
817         
818         * platform/mac/WebCoreSystemInterface.h:
819         * platform/mac/WebCoreSystemInterface.mm:
820         Declare wkPathFromFont.
821
822 2006-07-09  Brady Eidson  <beidson@apple.com>
823
824         Reviewed by Maciej
825
826         Set the stage to remove the workaround for the SQLite BLOB corruption.  A few other small cleanups, and
827         preparation for pruning unreferenced and unretained icons.
828
829         * icon/IconDatabase.cpp:
830         (WebCore::IconDatabase::recreateDatabase):  Added another trigger to assist in icon removal
831         (WebCore::IconDatabase::deletePrivateTables):  Cleaned up logging messages
832         (WebCore::IconDatabase::imageDataForIconID):  #ifdefed the blobbing hack for impending removal, use the real blob by default
833         (WebCore::IconDatabase::imageDataForIconURL):  same
834         (WebCore::IconDatabase::imageDataForPageURL):  same
835         (WebCore::IconDatabase::pruneUnreferencedIcons):  Will delete any icons and their data that are not referenced
836           by any PageURL
837         * icon/IconDatabase.h:
838
839         * icon/SQLDatabase.h:  Changed BlobAsVector to be unsigned char as thats the most reasonable type for
840           a byte-buffer, and is what CFData expects
841         * icon/SQLStatement.cpp:
842         (WebCore::SQLStatement::getColumnBlobAsVector):
843
844 2006-07-09  Darin Adler  <darin@apple.com>
845
846         - move all but the last 12 files out of kwq directory
847         - removed a few unused source files I discovered
848
849         * WebCore.vcproj/WebCore/WebCore.vcproj: Update for new file locations.
850         * WebCore.xcodeproj/project.pbxproj: Ditto.
851
852         * bridge/mac/FrameMac.mm:
853         * dom/Element.h:
854         * html/HTMLImageLoader.cpp:
855         * loader/Cache.cpp:
856         * loader/Cache.h:
857         * loader/CachedCSSStyleSheet.cpp:
858         * loader/CachedCSSStyleSheet.h:
859         * loader/CachedImage.cpp:
860         * loader/CachedImage.h:
861         * loader/CachedObject.h:
862         * loader/CachedScript.cpp:
863         * loader/CachedScript.h:
864         * loader/CachedXBLDocument.cpp:
865         * loader/CachedXBLDocument.h:
866         * loader/CachedXSLStyleSheet.cpp:
867         * loader/CachedXSLStyleSheet.h:
868         * loader/DocLoader.cpp:
869         * loader/DocLoader.h:
870         * page/Frame.cpp:
871         * page/Frame.h:
872         * page/FramePrivate.h:
873         * platform/gdk/TemporaryLinkStubs.cpp:
874         * platform/win/TemporaryLinkStubs.cpp:
875         * rendering/DeprecatedSlider.cpp:
876         * rendering/RenderObject.h:
877         * xml/xmlhttprequest.cpp:
878         Updated includes as needed for file location changes. Changed
879         CachePolicy uses to match new filename and enum names.
880
881         * loader/CachedResource.cpp: Removed.
882         * loader/CachedResource.h: Removed.
883         * loader/CachedResourceClient.h: Removed.
884         * loader/CachedResourceClientWalker.cpp: Removed.
885         * loader/CachedResourceClientWalker.h: Removed.
886         The above files were checked in by accident a while back. The rename of
887         CachedObject to CachedResource is now reflected in do-webcore-rename,
888         and will be done soon.
889
890         * kwq/AffineTransform.cpp: Removed.
891         * kwq/AffineTransform.h: Removed.
892         * kwq/CacheControl.h: Removed.
893         * kwq/DeprecatedPtrQueue.h: Removed.
894         * kwq/FileButton.h: Removed.
895         * kwq/FileButton.mm: Removed.
896         * kwq/ListBox.h: Removed.
897         * kwq/ListBox.mm: Removed.
898         * kwq/LoaderFunctions.h: Removed.
899         * kwq/LoaderFunctions.mm: Removed.
900         * kwq/PopUpButton.h: Removed.
901         * kwq/PopUpButton.mm: Removed.
902         * kwq/SSLKeyGenerator.h: Removed.
903         * kwq/SSLKeyGenerator.mm: Removed.
904         * kwq/Settings.h: Removed.
905         * kwq/TextBox.h: Removed.
906         * kwq/TextBox.mm: Removed.
907         * kwq/TextField.h: Removed.
908         * kwq/TextField.mm: Removed.
909         * kwq/WebCoreScrollBar.h: Removed.
910         * kwq/WebCoreScrollBar.mm: Removed.
911         * kwq/WebCoreSlider.h: Removed.
912         * kwq/WebCoreSlider.mm: Removed.
913
914         * loader/CachePolicy.h: Added.
915         * loader/LoaderFunctions.h: Added.
916
917         * loader/mac/LoaderFunctionsMac.mm: Added.
918
919         * page/Settings.h: Added.
920
921         * platform/AffineTransform.cpp: Added.
922         * platform/AffineTransform.h: Added.
923         * platform/DeprecatedPtrQueue.h: Added.
924         * platform/FileButton.h: Added.
925         * platform/ListBox.h: Added.
926         * platform/PopUpButton.h: Added.
927         * platform/SSLKeyGenerator.h: Added.
928         * platform/ScrollBar.h: Added.
929         * platform/Slider.h: Added.
930         * platform/TextBox.h: Added.
931         * platform/TextField.h: Added.
932
933         * platform/cg/AffineTransformCG.cpp: Added.
934
935         * platform/mac/FileButtonMac.mm: Added.
936         * platform/mac/ListBoxMac.mm: Added.
937         * platform/mac/PopUpButtonMac.mm: Added.
938         * platform/mac/SSLKeyGeneratorMac.mm: Added.
939         * platform/mac/ScrollBarMac.mm: Added.
940         * platform/mac/ScrollBarMac.mm: Added.
941         * platform/mac/SliderMac.mm: Added.
942         * platform/mac/SliderMac.mm: Added.
943         * platform/mac/TextBoxMac.mm: Added.
944         * platform/mac/TextFieldMac.mm: Added.
945
946 2006-07-09  Darin Adler  <darin@apple.com>
947
948         - move 4 files out of kwq directory
949         - make some minor project adjustments for the WebCore project
950
951         * WebCore.xcodeproj/project.pbxproj: Link libsqlite3 the same way we do other
952         libraries, rather than using a custom linker option. Moved the files from their
953         old locations to the new ones. Removed "khtml" from the list of header search
954         paths since that directory doesn't exist any more. Eliminated STYLE_LDFLAGS
955         and just put -umbrella WebKit in OTHER_LDFLAGS in the Production configuration
956         (was a leftover from "build styles" in Xcode 1). Changed to use EXPORTED_SYMBOLS_FILE
957         instead of using -exported_symbols_list directly again now that Xcode has fixed the
958         "strip twice" bug. Removed unneeded explicit SECTORDER_FLAGS = "" settings.
959         Removed the explicit -Y,3 option now that Xcode does that by default.
960
961         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed some obsolete uneeded files,
962         many of which didn't exist any more. Moved the files from their old locations
963         to the new ones.
964
965         * WebCoreSources.bkl: Moved the files from their old locations to the new ones.
966
967         * kwq/DeprecatedCString.cpp: Removed.
968         * kwq/DeprecatedCString.h: Removed.
969         * kwq/TextStream.cpp: Removed.
970         * kwq/TextStream.h: Removed.
971         * platform/DeprecatedCString.cpp: Added.
972         * platform/DeprecatedCString.h: Added.
973         * platform/TextStream.cpp: Added.
974         * platform/TextStream.h: Added.
975
976 2006-07-09  Darin Adler  <darin@apple.com>
977
978         Rubber stamped by Maciej (kinda).
979
980         - did the next pass of renaming (used do-webcore-rename script)
981           this takes care of most of the remaining KWQ names (almost all)
982
983         * WebCore+SVG/DOMList.h:
984         * WebCore.vcproj/WebCore/WebCore.vcproj:
985         * WebCore.xcodeproj/project.pbxproj:
986         * WebCoreSources.bkl:
987         * bindings/js/kjs_dom.cpp:
988         * bindings/js/kjs_window.cpp:
989         * bindings/objc/DOMHTML.mm:
990         * bridge/mac/FrameMac.h:
991         * bridge/mac/FrameMac.mm:
992         * bridge/mac/WebCoreFrameBridge.mm:
993         * bridge/mac/WebCoreSettings.h:
994         * bridge/mac/WebCoreSettings.mm:
995         * bridge/win/FrameWin.cpp:
996         * css/CSSPrimitiveValue.cpp:
997         * css/CSSValueKeywords.in:
998         * css/MediaQueryEvaluator.cpp:
999         * css/cssparser.cpp:
1000         * css/cssstyleselector.cpp:
1001         * css/cssstyleselector.h:
1002         * dom/CharacterData.cpp:
1003         * dom/CharacterData.h:
1004         * dom/Document.cpp:
1005         * dom/Element.cpp:
1006         * dom/Element.h:
1007         * dom/EventTargetNode.cpp:
1008         * dom/EventTargetNode.h:
1009         * dom/Node.cpp:
1010         * dom/Node.h:
1011         * dom/Position.cpp:
1012         * dom/ProcessingInstruction.cpp:
1013         * dom/QualifiedName.cpp:
1014         * dom/QualifiedName.h:
1015         * dom/XMLTokenizer.cpp: Added.
1016         * dom/xml_tokenizer.cpp: Removed.
1017         * dom/xml_tokenizer.h: Removed.
1018         * editing/EditAction.h:
1019         * editing/HTMLInterchange.cpp:
1020         * editing/HTMLInterchange.h:
1021         * editing/Selection.h:
1022         * editing/SelectionController.h:
1023         * editing/TextAffinity.h:
1024         * editing/TextIterator.cpp:
1025         * editing/TextIterator.h:
1026         * editing/VisiblePosition.h:
1027         * editing/htmlediting.cpp:
1028         * editing/markup.cpp:
1029         * editing/markup.h:
1030         * editing/visible_units.cpp:
1031         * editing/visible_units.h:
1032         * html/HTMLDocument.cpp:
1033         * html/HTMLFontElement.cpp:
1034         * html/HTMLInputElement.cpp:
1035         * html/HTMLKeygenElement.cpp:
1036         * html/HTMLSelectElement.h:
1037         * html/HTMLTextAreaElement.cpp:
1038         * html/HTMLTextFieldInnerElement.cpp:
1039         * html/HTMLTokenizer.cpp:
1040         * html/HTMLTokenizer.h:
1041         * kcanvas/KCanvasContainer.cpp: Removed.
1042         * kcanvas/KCanvasContainer.h: Removed.
1043         * kcanvas/KCanvasCreator.cpp:
1044         * kcanvas/KCanvasFilters.cpp:
1045         * kcanvas/KCanvasFilters.h:
1046         * kcanvas/KCanvasMatrix.cpp:
1047         * kcanvas/KCanvasMatrix.h:
1048         * kcanvas/KCanvasPath.cpp:
1049         * kcanvas/KCanvasPath.h:
1050         * kcanvas/KCanvasResources.cpp:
1051         * kcanvas/KCanvasResources.h:
1052         * kcanvas/KCanvasTreeDebug.cpp:
1053         * kcanvas/KCanvasTreeDebug.h:
1054         * kcanvas/RenderForeignObject.cpp:
1055         * kcanvas/RenderForeignObject.h:
1056         * kcanvas/RenderPath.cpp:
1057         * kcanvas/RenderPath.h:
1058         * kcanvas/RenderSVGContainer.cpp: Added.
1059         * kcanvas/RenderSVGContainer.h: Added.
1060         * kcanvas/RenderSVGImage.cpp:
1061         * kcanvas/RenderSVGImage.h:
1062         * kcanvas/RenderSVGText.cpp:
1063         * kcanvas/RenderSVGText.h:
1064         * kcanvas/device/KRenderingPaintServer.h:
1065         * kcanvas/device/KRenderingPaintServerGradient.cpp:
1066         * kcanvas/device/KRenderingPaintServerGradient.h:
1067         * kcanvas/device/KRenderingPaintServerPattern.cpp:
1068         * kcanvas/device/KRenderingPaintServerPattern.h:
1069         * kcanvas/device/KRenderingPaintServerSolid.cpp:
1070         * kcanvas/device/KRenderingPaintServerSolid.h:
1071         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1072         * kcanvas/device/quartz/KCanvasItemQuartz.h:
1073         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
1074         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1075         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1076         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
1077         * ksvg2/css/CSSValueKeywords.in:
1078         * ksvg2/css/SVGRenderStyleDefs.cpp:
1079         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1080         * ksvg2/misc/KSVGTimeScheduler.cpp:
1081         * ksvg2/svg/SVGAElement.cpp:
1082         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1083         * ksvg2/svg/SVGAnimateTransformElement.h:
1084         * ksvg2/svg/SVGGElement.cpp:
1085         * ksvg2/svg/SVGHelper.cpp:
1086         * ksvg2/svg/SVGHelper.h:
1087         * ksvg2/svg/SVGImageElement.cpp:
1088         * ksvg2/svg/SVGLinearGradientElement.cpp:
1089         * ksvg2/svg/SVGMarkerElement.cpp:
1090         * ksvg2/svg/SVGMaskElement.cpp:
1091         * ksvg2/svg/SVGMatrix.cpp:
1092         * ksvg2/svg/SVGMatrix.h:
1093         * ksvg2/svg/SVGPatternElement.cpp:
1094         * ksvg2/svg/SVGRadialGradientElement.cpp:
1095         * ksvg2/svg/SVGSVGElement.cpp:
1096         * ksvg2/svg/SVGStyledElement.h:
1097         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1098         * ksvg2/svg/SVGStyledTransformableElement.h:
1099         * ksvg2/svg/SVGSwitchElement.cpp:
1100         * ksvg2/svg/SVGTextElement.cpp:
1101         * ksvg2/svg/SVGTransformable.h:
1102         * ksvg2/svg/SVGUseElement.cpp:
1103         * kwq/AffineTransform.cpp: Added.
1104         * kwq/AffineTransform.h: Added.
1105         * kwq/DeprecatedCString.cpp: Added.
1106         * kwq/DeprecatedCString.h: Added.
1107         * kwq/DeprecatedPtrQueue.h: Added.
1108         * kwq/FileButton.h: Added.
1109         * kwq/FileButton.mm: Added.
1110         * kwq/FormDataMac.mm: Added.
1111         * kwq/KWQCString.cpp: Removed.
1112         * kwq/KWQCString.h: Removed.
1113         * kwq/KWQComboBox.h: Removed.
1114         * kwq/KWQComboBox.mm: Removed.
1115         * kwq/KWQEditCommand.h: Removed.
1116         * kwq/KWQEditCommand.mm: Removed.
1117         * kwq/KWQFileButton.h: Removed.
1118         * kwq/KWQFileButton.mm: Removed.
1119         * kwq/KWQFormData.h: Removed.
1120         * kwq/KWQFormData.mm: Removed.
1121         * kwq/KWQKHTMLSettings.h: Removed.
1122         * kwq/KWQKIOGlobal.h: Removed.
1123         * kwq/KWQKSSLKeyGen.h: Removed.
1124         * kwq/KWQKSSLKeyGen.mm: Removed.
1125         * kwq/KWQLineEdit.h: Removed.
1126         * kwq/KWQLineEdit.mm: Removed.
1127         * kwq/KWQListBox.h: Removed.
1128         * kwq/KWQListBox.mm: Removed.
1129         * kwq/KWQLoader.h: Removed.
1130         * kwq/KWQLoader.mm: Removed.
1131         * kwq/KWQPageState.h: Removed.
1132         * kwq/KWQPageState.mm: Removed.
1133         * kwq/KWQPtrQueue.h: Removed.
1134         * kwq/KWQResourceLoader.h: Removed.
1135         * kwq/KWQResourceLoader.mm: Removed.
1136         * kwq/KWQScrollBar.h: Removed.
1137         * kwq/KWQScrollBar.mm: Removed.
1138         * kwq/KWQSlider.h: Removed.
1139         * kwq/KWQSlider.mm: Removed.
1140         * kwq/KWQTextEdit.h: Removed.
1141         * kwq/KWQTextEdit.mm: Removed.
1142         * kwq/KWQTextStream.cpp: Removed.
1143         * kwq/KWQTextStream.h: Removed.
1144         * kwq/KWQWMatrix.cpp: Removed.
1145         * kwq/KWQWMatrix.h: Removed.
1146         * kwq/ListBox.h: Added.
1147         * kwq/ListBox.mm: Added.
1148         * kwq/LoaderFunctions.h: Added.
1149         * kwq/LoaderFunctions.mm: Added.
1150         * kwq/PopUpButton.h: Added.
1151         * kwq/PopUpButton.mm: Added.
1152         * kwq/SSLKeyGenerator.h: Added.
1153         * kwq/SSLKeyGenerator.mm: Added.
1154         * kwq/Settings.h: Added.
1155         * kwq/TextBox.h: Added.
1156         * kwq/TextBox.mm: Added.
1157         * kwq/TextField.h: Added.
1158         * kwq/TextField.mm: Added.
1159         * kwq/TextStream.cpp: Added.
1160         * kwq/TextStream.h: Added.
1161         * kwq/WebCoreEditCommand.h: Added.
1162         * kwq/WebCoreEditCommand.mm: Added.
1163         * kwq/WebCorePageState.h: Added.
1164         * kwq/WebCorePageState.mm: Added.
1165         * kwq/WebCoreResourceLoaderImp.h: Added.
1166         * kwq/WebCoreResourceLoaderImp.mm: Added.
1167         * kwq/WebCoreScrollBar.h: Added.
1168         * kwq/WebCoreScrollBar.mm: Added.
1169         * kwq/WebCoreSlider.h: Added.
1170         * kwq/WebCoreSlider.mm: Added.
1171         * loader/Cache.h:
1172         * loader/CachedCSSStyleSheet.cpp:
1173         * loader/CachedImage.cpp:
1174         * loader/CachedObject.h:
1175         * loader/CachedObjectClientWalker.h:
1176         * loader/CachedResource.h:
1177         * loader/CachedResourceClientWalker.h:
1178         * loader/CachedScript.h:
1179         * loader/CachedXBLDocument.h:
1180         * loader/Decoder.h:
1181         * loader/DocLoader.cpp:
1182         * loader/DocLoader.h:
1183         * loader/FormData.h:
1184         * loader/ImageDocument.cpp:
1185         * loader/PluginDocument.cpp:
1186         * loader/TextDocument.cpp:
1187         * loader/loader.cpp:
1188         * loader/loader.h:
1189         * page/Frame.cpp:
1190         * page/Frame.h:
1191         * page/FramePrivate.h:
1192         * page/Page.cpp:
1193         * page/Page.h:
1194         * platform/DeprecatedPtrList.h:
1195         * platform/DeprecatedPtrListImpl.cpp:
1196         * platform/DeprecatedPtrListImpl.h:
1197         * platform/DeprecatedString.cpp:
1198         * platform/DeprecatedString.h:
1199         * platform/DeprecatedStringList.cpp:
1200         * platform/DeprecatedStringList.h:
1201         * platform/DeprecatedValueList.h:
1202         * platform/DeprecatedValueListImpl.cpp:
1203         * platform/DeprecatedValueListImpl.h:
1204         * platform/FloatSize.h:
1205         * platform/Font.cpp:
1206         * platform/KURL.cpp:
1207         * platform/RegularExpression.cpp:
1208         * platform/RegularExpression.h:
1209         * platform/SegmentedString.h:
1210         * platform/StreamingTextDecoder.cpp:
1211         * platform/String.cpp:
1212         * platform/StringImpl.cpp:
1213         * platform/TextEncoding.cpp:
1214         * platform/TransferJob.cpp:
1215         * platform/TransferJob.h:
1216         * platform/TransferJobInternal.h:
1217         * platform/gdk/FrameGdk.cpp:
1218         * platform/gdk/TemporaryLinkStubs.cpp:
1219         * platform/mac/ClipboardMac.h:
1220         * platform/mac/ClipboardMac.mm:
1221         * platform/mac/CursorMac.mm:
1222         * platform/mac/DeprecatedStringMac.mm: Added.
1223         * platform/mac/FontCacheMac.mm:
1224         * platform/mac/FontMac.mm:
1225         * platform/mac/FoundationExtras.h:
1226         * platform/mac/ImageMac.mm:
1227         * platform/mac/KURLMac.mm:
1228         * platform/mac/MouseEventMac.mm: Removed.
1229         * platform/mac/QStringListMac.mm: Removed.
1230         * platform/mac/QStringMac.mm: Removed.
1231         * platform/mac/TransferJobMac.mm:
1232         * platform/mac/WebCoreTextArea.h:
1233         * platform/mac/WebCoreTextArea.mm:
1234         * platform/mac/WebCoreTextField.h:
1235         * platform/mac/WebCoreTextField.mm:
1236         * platform/mac/WidgetMac.mm:
1237         * platform/win/TemporaryLinkStubs.cpp:
1238         * rendering/DataRef.h:
1239         * rendering/DeprecatedRenderSelect.cpp:
1240         * rendering/DeprecatedRenderSelect.h:
1241         * rendering/DeprecatedSlider.cpp:
1242         * rendering/InlineFlowBox.cpp:
1243         * rendering/RenderApplet.cpp:
1244         * rendering/RenderBlock.cpp:
1245         * rendering/RenderBlock.h:
1246         * rendering/RenderContainer.cpp:
1247         * rendering/RenderFileButton.cpp:
1248         * rendering/RenderFlexibleBox.cpp:
1249         * rendering/RenderFlow.cpp:
1250         * rendering/RenderFormElement.cpp:
1251         * rendering/RenderFrameSet.cpp:
1252         * rendering/RenderFrameSet.h:
1253         * rendering/RenderImage.cpp:
1254         * rendering/RenderInline.cpp:
1255         * rendering/RenderLayer.cpp:
1256         * rendering/RenderLayer.h:
1257         * rendering/RenderLineEdit.cpp:
1258         * rendering/RenderListItem.cpp:
1259         * rendering/RenderListMarker.cpp:
1260         * rendering/RenderObject.cpp:
1261         * rendering/RenderObject.h:
1262         * rendering/RenderPartObject.cpp:
1263         * rendering/RenderReplaced.cpp:
1264         * rendering/RenderStyle.cpp: Added.
1265         * rendering/RenderStyle.h: Added.
1266         * rendering/RenderTable.cpp:
1267         * rendering/RenderTable.h:
1268         * rendering/RenderTableCell.cpp:
1269         * rendering/RenderTableCell.h:
1270         * rendering/RenderTableCol.cpp:
1271         * rendering/RenderTableCol.h:
1272         * rendering/RenderTableRow.cpp:
1273         * rendering/RenderTableSection.cpp:
1274         * rendering/RenderTableSection.h:
1275         * rendering/RenderText.cpp:
1276         * rendering/RenderText.h:
1277         * rendering/RenderTextArea.cpp:
1278         * rendering/RenderTextControl.cpp: Added.
1279         * rendering/RenderTextControl.h: Added.
1280         * rendering/RenderTextField.cpp: Removed.
1281         * rendering/RenderTextField.h: Removed.
1282         * rendering/RenderTheme.cpp:
1283         * rendering/RenderThemeMac.mm:
1284         * rendering/RenderTreeAsText.cpp:
1285         * rendering/RenderTreeAsText.h:
1286         * rendering/RenderView.cpp:
1287         * rendering/RenderWidget.cpp:
1288         * rendering/bidi.cpp:
1289         * rendering/render_style.cpp: Removed.
1290         * rendering/render_style.h: Removed.
1291         * xml/XSLStyleSheet.cpp:
1292         * xml/XSLTProcessor.cpp:
1293         * xml/xmlhttprequest.cpp:
1294         * xpath/impl/XPathParser.cpp:
1295
1296 2006-07-09  Rob Buis  <buis@kde.org>
1297
1298         Reviewed by Darin.
1299
1300         http://bugzilla.opendarwin.org/show_bug.cgi?id=8251
1301         navigator.platform incorrect in WebKit.app on Intel Macs
1302
1303         For navigator.platform return "MacIntel" for Intel processors, "MacPPC"
1304         otherwise.
1305
1306         * bindings/js/kjs_navigator.cpp:
1307         (KJS::Navigator::getValueProperty):
1308
1309 2006-07-08  Timothy Hatcher  <timothy@apple.com>
1310
1311         Reviewed by Maciej.
1312
1313         Bug 5312: comments aren't available via DOM
1314         http://bugzilla.opendarwin.org/show_bug.cgi?id=5312
1315
1316         <rdar://problem/4564414> getting comments via DOM isn't working (5312)
1317         <rdar://problem/4545691> DOM_COMMENT node masking out real DOM elements
1318
1319         * dom/Document.cpp:
1320         (WebCore::Document::removedLastRef): set m_documentElement to 0
1321         (WebCore::Document::childrenChanged): invalidate the document element we have cached in case it was replaced
1322         (WebCore::Document::documentElement): cache the first element as the document node if m_documentElement is 0
1323         * dom/Document.h: added m_documentElement
1324         * html/HTMLDocument.cpp: removed documentElement(), HTML documents just use Document's documentElement()
1325         * html/HTMLDocument.h: ditto
1326         * html/HTMLParser.cpp:
1327         (WebCore::HTMLParser::handleError): make a new HTML node is the document's firstChild is NULL or
1328         the firstChild is not a HTML element (like a comment)
1329         * html/HTMLTokenizer.cpp:
1330         (WebCore::HTMLTokenizer::parseComment): removed the #ifdef to include comment nodes
1331
1332 2006-07-08  Anders Carlsson  <acarlsson@apple.com>
1333
1334         Reviewed by Darin, tweaked slightly and landed by Maciej.
1335
1336         http://bugzilla.opendarwin.org/show_bug.cgi?id=9787
1337         fast/frames tests failing (bad pointer to owner element) under MallocScribble
1338         
1339         * html/HTMLFrameElement.cpp:
1340         (WebCore::HTMLFrameElement::close):
1341         Disconnect the owner element of our frame.
1342         
1343         * html/HTMLIFrameElement.cpp:
1344         (WebCore::HTMLIFrameElement::attach):
1345         Don't call setFrame here.
1346         
1347         * html/HTMLPlugInElement.cpp:
1348         (WebCore::HTMLPlugInElement::detach):
1349         Disconnect the owner element of our frame.
1350
1351         * html/HTMLPlugInElement.h:
1352         (WebCore::HTMLPlugInElement::setFrameName):        
1353         New function.
1354         
1355         * page/Frame.cpp:
1356         (WebCore::Frame::Frame):
1357         Don't call setFrame.
1358         
1359         (WebCore::Frame::~Frame):
1360         Null out the owner element.
1361         
1362         (WebCore::Frame::requestObject):
1363         When an object creates a child frame, assign it a name so it can be
1364         accessed from HTMLPlugInElement.
1365         
1366         * rendering/RenderPart.cpp:
1367         (WebCore::RenderPart::RenderPart):
1368         (WebCore::RenderPart::~RenderPart):
1369         * rendering/RenderPart.h:
1370         Get rid of setFrame.
1371
1372 2006-07-08  Darin Adler  <darin@apple.com>
1373
1374         Reviewed by Geoff.
1375
1376         - better fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9622
1377           REGRESSION: showModalDialog returnValue ignored, function result is always "undefined"
1378
1379         * bindings/js/kjs_window.cpp:
1380         (KJS::showModalDialog): Set the return value after returning from the function if the
1381         window is not cleared; this is a better way to handle the case where the window does
1382         not get cleared before returning, and handles some new cases created by slight changes
1383         in the latest Safari properly too.
1384         (KJS::Window::clear): Changed logic slightly so we always store the result of getDirect
1385         into the return value slot -- the old code left the storage untouched if it was 0.
1386         Also made it only overwrite the return value slot if it's 0.
1387
1388         * bindings/js/kjs_proxy.h:
1389         * bindings/js/kjs_proxy.cpp:
1390         * bindings/js/kjs_window.h:
1391         * bindings/js/kjs_window.cpp:
1392         * page/Frame.cpp:
1393         Roll the previous fix out.
1394
1395 2006-07-08  Darin Adler  <darin@apple.com>
1396
1397         - try to fix Windows build
1398
1399         * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing source files.
1400
1401 === Safari-521.15 ===
1402
1403 2006-07-07  Justin Garcia  <justin.garcia@apple.com>
1404
1405         Reviewed by levi
1406         
1407         Fix Mail ToDo crashers.
1408
1409         * dom/Range.cpp:
1410         (WebCore::Range::compareBoundaryPoints): Added an ASSERT that both
1411         containers are non-null and an early return.
1412         * editing/Selection.cpp:
1413         (WebCore::Selection::validate): Fix a dangling start/end.
1414         (WebCore::Selection::adjustForEditableContent): Added an early return if
1415         m_start or m_end are null.
1416         (WebCore::Selection::isContentEditable): Use isRichlyEditablePosition.
1417         (WebCore::Selection::isContentRichlyEditable): Ditto.
1418         * editing/Selection.h:
1419         * editing/VisiblePosition.cpp:
1420         (WebCore::VisiblePosition::next): Use the new highestEditableRoot.
1421         (WebCore::VisiblePosition::previous): Ditto.
1422         * editing/htmlediting.cpp:
1423         (WebCore::highestEditableRoot): Takes in a position.
1424         (WebCore::isEditablePosition): Added.
1425         (WebCore::isRichlyEditablePosition): Added.
1426         (WebCore::rootEditableElement): Added.
1427         (WebCore::nextCandidate): Moved and split out from nextVisiblePosition.
1428         (WebCore::nextVisuallyDistinctCandidate): Ditto.
1429         (WebCore::previousCandidate): Moved and split out from previousVisiblePosition.
1430         (WebCore::previousVisuallyDistinctCandidate): Ditto.
1431         (WebCore::firstEditablePositionAfterPositionInRoot): Iterate over positions,
1432         using nextVisuallyDistinctCandidate, skipping atomic nodes that are non-editable.
1433         (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
1434         * editing/htmlediting.h:
1435         * editing/visible_units.cpp:
1436         (WebCore::startOfWord): Added a FIXME.
1437
1438 2006-07-07  Levi Weintraub  <lweintraub@apple.com>
1439
1440         Reviewed by justin
1441
1442         Allowed deletion typing commands to take in a granularity
1443
1444         * bridge/mac/WebCoreFrameBridge.h: Pass granularity across the bridge
1445         * bridge/mac/WebCoreFrameBridge.mm: Ditto
1446         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
1447         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
1448         * editing/TypingCommand.cpp: Constructors take in a granularity
1449         (WebCore::TypingCommand::TypingCommand):
1450         (WebCore::TypingCommand::deleteKeyPressed):
1451         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1452         * editing/TypingCommand.h: ditto
1453         * page/Frame.h: Fixed bug that shouldDeleteSelection wasn't virtual
1454
1455 2006-07-07  Brady Eidson  <beidson@apple.com>
1456
1457         Reviewed by Anders and Tim Hatcher
1458
1459         Added an accessor to a SQLite config option to change its disk-syncing behavior.
1460         Used this accessor to significantly speed up writes to the Icon DB.
1461
1462         * icon/IconDatabase.cpp:
1463         (WebCore::IconDatabase::open):  Disable full syncing to the SQLite db to speed up writes to the icondb
1464
1465         * icon/SQLDatabase.cpp:
1466         (SQLDatabase::setFullsync):
1467         (SQLDatabase::setSynchronous):
1468         * icon/SQLDatabase.h:
1469         (WebCore::SQLDatabase::):  Added accessor to the SQLite config pragma "synchronous"
1470
1471 2006-07-07  Darin Adler  <darin@apple.com>
1472
1473         Reviewed by Maciej.
1474
1475         - fixed a storage leak noticed by the buildbot
1476
1477         * dom/Document.cpp: (WebCore::Document::removedLastRef):
1478         Call delete on the markers before clearing the map containing them.
1479
1480 2006-07-08  Anders Carlsson  <acarlsson@apple.com>
1481
1482         Reviewed by Brady.
1483
1484         http://bugzilla.opendarwin.org/show_bug.cgi?id=9777
1485         Reproducible crash in Loading/Frames in ToT.
1486         
1487         The problem was that the renderpart destructor resets the frame's 
1488         owner element. For iframes, this should only be done when the element is 
1489         going to be removed from the document.
1490         
1491         * html/HTMLIFrameElement.cpp:
1492         (WebCore::HTMLIFrameElement::~HTMLIFrameElement):
1493         (WebCore::HTMLIFrameElement::willRemove):
1494         (WebCore::HTMLIFrameElement::removedFromDocument):
1495         (WebCore::HTMLIFrameElement::detach):        
1496         * html/HTMLIFrameElement.h:
1497         Remove the frame in willRemove instead.
1498         
1499         * rendering/RenderPart.cpp:
1500         (WebCore::RenderPart::RenderPart):
1501         (WebCore::RenderPart::~RenderPart):
1502         * rendering/RenderPart.h:
1503         Don't call setFrame(0) in the destructor when the element is an iframe element.
1504
1505 2006-07-07  Darin Adler  <darin@apple.com>
1506
1507         Reviewed by Anders.
1508
1509         - fixed a storage leak noticed by the buildbot
1510
1511         * page/FrameView.cpp: (WebCore::FrameViewPrivate::~FrameViewPrivate):
1512         Delete m_scheduledEvents.
1513
1514 2006-07-07  Darin Adler  <darin@apple.com>
1515
1516         Reviewed by Adele.
1517
1518         - fixed a couple of storage leaks noticed by the buildbot
1519
1520         * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach):
1521         Call deref on the style after calling setRenderStyle, since styleForRenderer
1522         returns us a "ref'd" RenderStyle object.
1523         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): Ditto.
1524
1525 2006-07-07  Darin Adler  <darin@apple.com>
1526
1527         Reviewed by Adele.
1528
1529         - fix some license mistakes
1530
1531         * LICENSE-APPLE: Added more years of publication to the copyright here.
1532
1533         * html/CanvasGradient.idl: Corrected license on this file. It had the wrong one.
1534         * html/CanvasPattern.idl: Ditto.
1535         * html/CanvasRenderingContext2D.idl: Ditto.
1536         * html/HTMLCanvasElement.idl: Ditto.
1537
1538 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
1539
1540         Reviewed by justin
1541
1542         Improved table editing: pressing delete directly before or after a table will now select
1543         the table first, then delete it, instead of just deleting it. Useful for when the table's
1544         existence is non-obvious.
1545
1546         * bridge/mac/FrameMac.h: Added shouldDeleteSelection, which allows WebCore to trigger
1547         deletion editing deligates
1548         * bridge/mac/FrameMac.mm: ditto
1549         (WebCore::FrameMac::shouldDeleteSelection):
1550         * bridge/mac/WebCoreFrameBridge.h: ditto
1551         * editing/TypingCommand.cpp: Implemented check for a caret position next to a table, and
1552         subsequent selection (as opposed to removal)
1553         (WebCore::TypingCommand::deleteKeyPressed):
1554         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1555         * page/Frame.cpp: shouldDeleteSelection added
1556         (WebCore::Frame::shouldDeleteSelection):
1557         * page/Frame.h: ditto
1558
1559 2006-07-07  Sam Weinig  <sam.weinig@gmail.com>
1560
1561         Reviewed by Eric.
1562
1563         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9768
1564           Split XSLImportRule out of XSLStyleSheet.* into separate 
1565           files (one class per file).
1566
1567         * WebCore.xcodeproj/project.pbxproj:
1568         * xml/XSLImportRule.cpp: Added.
1569         (WebCore::XSLImportRule::XSLImportRule):
1570         (WebCore::XSLImportRule::parentStyleSheet):
1571         (WebCore::XSLImportRule::loadSheet):
1572         * xml/XSLImportRule.h: Added.
1573         * xml/XSLStyleSheet.cpp:
1574         * xml/XSLStyleSheet.h:
1575
1576 2006-07-07  Anders Carlsson  <acarlsson@apple.com>
1577
1578         Reviewed by Darin.
1579
1580         http://bugzilla.opendarwin.org/show_bug.cgi?id=8300
1581         REGRESSION: First mouse click is randomly ignored when clicking on checkbox and radio buttons
1582         
1583         * css/html4.css:
1584         Set "-webkit-user-select: ignore" on radio buttons and check boxes .
1585         
1586 2006-07-07  Maciej Stachowiak  <mjs@apple.com>
1587
1588         Reviewed by Tim Hatcher.
1589
1590         - fix 20 Node leaks on fast/events tests - these should be the last ones
1591
1592         * bindings/objc/DOMEvents.mm:
1593         (-[DOMEvent dealloc]): implement - deref the event!
1594         (-[DOMEvent finalize]): ditto
1595
1596 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
1597
1598         Reviewed by Tim Hatcher.
1599
1600         - fix 26 Node leaks on fast/dom tests
1601
1602         * dom/Document.cpp:
1603         (WebCore::Document::removedLastRef): delete tokenizer - if we are still parsing at this point, we don't
1604         want nodes held by the parser to keep the document alive.
1605         * html/HTMLParser.cpp:
1606         (WebCore::RefNonDocNodePtr::RefNonDocNodePtr): Smart pointer that acts like RefPtr for Node,
1607         but avoids refing document nodes to avoid cycles.
1608         (WebCore::RefNonDocNodePtr::~RefNonDocNodePtr):
1609         (WebCore::RefNonDocNodePtr::get):
1610         (WebCore::RefNonDocNodePtr::operator*):
1611         (WebCore::RefNonDocNodePtr::operator->):
1612         (WebCore::RefNonDocNodePtr::operator!):
1613         (WebCore::RefNonDocNodePtr::operator UnspecifiedBoolType):
1614         (WebCore::RefNonDocNodePtr::operator=):
1615         (WebCore::operator==):
1616         (WebCore::operator!=):
1617         (WebCore::HTMLStackElem): Use a RefNonDocNodePtr instead of RefPtr<Node>
1618         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Use a RefPtr here to avoid crashing
1619
1620 2006-07-06  Adele Peterson  <adele@apple.com>
1621
1622         Reviewed by Maciej.
1623
1624         Fixed new popup control to open up when the spacebar and the up and down arrows are pressed.
1625
1626         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9762
1627         [Native pop up] Highlighted item text is black instead of white
1628
1629         * html/HTMLSelectElement.cpp:
1630         (WebCore::HTMLSelectElement::isKeyboardFocusable): Added.
1631         (WebCore::HTMLSelectElement::isMouseFocusable): Added.
1632         (WebCore::HTMLSelectElement::defaultEventHandler): Updated to showPopup for up and down arrow keys and spacebar.
1633         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Made this const.
1634         * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate): Added FIXME.
1635         * rendering/RenderPopupMenuMac.mm:
1636         (WebCore::RenderPopupMenuMac::showPopup): Updated to save the NSEvent that triggers the popup, so we can send
1637         fake mouseUp and keyUp events when the NSMenu returns.
1638         (WebCore::RenderPopupMenuMac::addGroupLabel): Only set the NSForegroundColorAttributeName attribute if the text isn't black.
1639         Follow-up bug about other colors: http://bugzilla.opendarwin.org/show_bug.cgi?id=9769
1640         (WebCore::RenderPopupMenuMac::addOption): ditto.
1641         * bridge/mac/FrameMac.h: (WebCore::FrameMac::currentEvent): Returns the current NSEvent.
1642
1643 2006-07-06  Justin Garcia  <justin.garcia@apple.com>
1644
1645         Reviewed by levi
1646         
1647         <rdar://problem/4609184>
1648         Mail crashes at WebCore::Selection::adjustForEditableContent
1649         <rdar://problem/4609140>
1650         Crash at WebCore::Range::compareBoundaryPoints
1651         
1652         * editing/Selection.cpp:
1653         (WebCore::Selection::adjustForEditableContent):
1654         * editing/VisiblePosition.cpp:
1655         (WebCore::VisiblePosition::next): Moved code into a helper function.
1656         (WebCore::VisiblePosition::previous): Ditto.
1657         * editing/htmlediting.cpp:
1658         (WebCore::comparePositions): Moved from Selection.cpp.
1659         (WebCore::lowestEditableAncestor): Added.  Returns rootEditableElement
1660         for a node in editable content and the rootEditableElement for the first
1661         ancestor that's editable for a node in non-editable content.
1662         (WebCore::firstEditablePositionAfterPositionInRoot): 
1663         (WebCore::lastEditablePositionBeforePositionInRoot):
1664         * editing/htmlediting.h:
1665
1666 2006-07-06  Anders Carlsson  <acarlsson@apple.com>
1667
1668         Reviewed by Adele.
1669
1670         http://bugzilla.opendarwin.org/show_bug.cgi?id=9528
1671         REGRESSION: arrow key skips '>' in Bugzilla replies due to '\n' in text nodes
1672         
1673         Patch by Darin, tweaked by Anders.
1674         
1675         * html/HTMLElement.cpp:
1676         (WebCore::HTMLElement::setInnerText):
1677         Convert newline characters to <br> elements. I've verified that what's done here is what WinIE does when setting innerText.
1678         
1679         (WebCore::HTMLElement::setOuterText):
1680         Fix comment.
1681
1682         * rendering/RenderTextField.cpp:
1683         (WebCore::RenderTextField::textWithHardLineBreaks):
1684         Remove assert. m_div->firstChild() can be null now because setInnerText doesn't create
1685         text nodes for empty strings anymore.
1686
1687 2006-07-06  Adele Peterson  <adele@apple.com>
1688
1689         Reviewed by Tim Hatcher.
1690
1691         - Speculative fix for <rdar://problem/4605532> unrepro crash at cnn.com after upgrading to 10.4.7 (but happening with 10.4.6 too)
1692
1693         * page/FrameView.cpp: (WebCore::FrameView::layout): Ref's the view during layout, since a recalcStyle could cause the view to be deleted.
1694         If we get back from recalcStyle, and there's only one ref, return early since the the view will be deleted when we exit layout.
1695         * page/FrameView.h: (WebCore::FrameView::hasOneRef): Added.
1696
1697 2006-07-06  Anders Carlsson  <acarlsson@apple.com>
1698
1699         Reviewed by Maciej.
1700
1701         <rdar://problem/4610891> Support overflow events
1702         
1703         * DerivedSources.make:
1704         Add generated sources.
1705         
1706         * WebCore.xcodeproj/project.pbxproj:
1707         Add new files.
1708         
1709         * bindings/js/kjs_events.cpp:
1710         (KJS::toJS):
1711         Support creating wrappers for overflow events..
1712         
1713         * bindings/objc/DOMEvents.h:
1714         * bindings/objc/DOMEvents.mm:
1715         (+[DOMEvent _eventWith:]):
1716         (-[DOMOverflowEvent _overflowEvent]):
1717         (-[DOMOverflowEvent orient]):
1718         (-[DOMOverflowEvent horizontalOverflow]):
1719         (-[DOMOverflowEvent verticalOverflow]):
1720         Add Objective-C wrapper for overflow events.
1721         
1722         * dom/Event.cpp:
1723         (WebCore::Event::isOverflowEvent):        
1724         * dom/Event.h:
1725         * dom/EventNames.h:
1726         * dom/OverflowEvent.cpp: Added.
1727         (WebCore::OverflowEvent::OverflowEvent):
1728         (WebCore::OverflowEvent::isOverflowEvent):
1729         * dom/OverflowEvent.h: Added.
1730         (WebCore::OverflowEvent::):
1731         (WebCore::OverflowEvent::orient):
1732         (WebCore::OverflowEvent::horizontalOverflow):
1733         (WebCore::OverflowEvent::verticalOverflow):
1734         * dom/OverflowEvent.idl: Added.
1735         Add overflow events.
1736         
1737         * page/FrameView.cpp:
1738         (WebCore::FrameViewPrivate::FrameViewPrivate):
1739         (WebCore::FrameView::applyOverflowToViewport):        
1740         (WebCore::FrameView::layout):
1741         Dispatch any scheduled events when layout is done.
1742         
1743         (WebCore::FrameView::scheduleEvent):
1744         New function which schedules an event.
1745         
1746         (WebCore::FrameView::updateOverflowStatus):
1747         Update overflow status for the viewport.
1748         
1749         (WebCore::FrameView::dispatchScheduledEvents):
1750         New function which dispatches all scheduled events.
1751         
1752         * page/FrameView.h:
1753         Add declarations.
1754         
1755         * rendering/RenderLayer.cpp:
1756         (WebCore::RenderLayer::RenderLayer):
1757         (WebCore::RenderLayer::updateOverflowStatus):
1758         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1759         * rendering/RenderLayer.h:
1760         Schedule overflow events when overflow status changes.
1761
1762 2006-07-06  Timothy Hatcher  <timothy@apple.com>
1763
1764         Reviewed by Geoff.
1765
1766         <rdar://problem/4610881> Expose scroll-related JS properties to ObjC DOM interface
1767         <rdar://problem/4519675> offsetLeft, offsetTop, offsetHeight, and offsetWidth
1768         properties are not exposed to ObjC
1769
1770         * bindings/objc/DOMPrivate.h:
1771         * bindings/objc/DOMHTML.mm:
1772         (-[DOMHTMLElement offsetLeft]):
1773         (-[DOMHTMLElement offsetTop]):
1774         (-[DOMHTMLElement offsetWidth]):
1775         (-[DOMHTMLElement offsetHeight]):
1776         (-[DOMHTMLElement offsetParent]):
1777         (-[DOMHTMLElement clientWidth]):
1778         (-[DOMHTMLElement clientHeight]):
1779         (-[DOMHTMLElement scrollLeft]):
1780         (-[DOMHTMLElement setScrollLeft:]):
1781         (-[DOMHTMLElement scrollTop]):
1782         (-[DOMHTMLElement setScrollTop:]):
1783         (-[DOMHTMLElement scrollWidth]):
1784         (-[DOMHTMLElement scrollHeight]):
1785
1786 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
1787
1788         Reviewed by Adele.
1789
1790         - fix 435 more layout tests Node leaks
1791
1792         * editing/CompositeEditCommand.cpp:
1793         (WebCore::CompositeEditCommand::moveParagraphs): fix more instances of leaked DOM ranges
1794
1795 2006-07-06  David Harrison  <harrison@apple.com>
1796
1797         Reviewed by Geoff
1798
1799         <rdar://problem/4565031> innerHTML of XMP tag returns special characters like '&gt;' instead of '>'
1800  
1801         Test: fast/innerHTML/006.html
1802        
1803         * editing/markup.cpp:
1804         (WebCore::startMarkup):
1805         (WebCore::createMarkup):
1806         Do not special quote content of XMP nodes.
1807
1808 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
1809
1810         Not reviewed - build fix.
1811
1812         - back out earlier leak fix, as it caused a crash on one of the fast/invalid layout tests
1813
1814         * dom/Document.cpp:
1815         (WebCore::Document::removedLastRef):
1816         * html/HTMLParser.cpp:
1817         (WebCore::HTMLStackElem::HTMLStackElem):
1818         (WebCore::HTMLParser::popNestedHeaderTag):
1819         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
1820         (WebCore::HTMLParser::reopenResidualStyleTags):
1821         (WebCore::HTMLParser::popBlock):
1822         (WebCore::HTMLParser::popOneBlock):
1823
1824 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
1825
1826         Reviewed by Anders.
1827
1828         - fix ~3000 Node leaks on the editing tests
1829
1830         * editing/CompositeEditCommand.cpp:
1831         (WebCore::CompositeEditCommand::moveParagraphs): put a newly created Range in a RefPtr
1832         to avoid leaking it, as this leaks the whole document.
1833
1834 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
1835
1836         Reviewed by Anders.
1837
1838         - fix 26 Node leaks on various fast/dom tests
1839
1840         * dom/Document.cpp:
1841         (WebCore::Document::removedLastRef): Delete the tokenizer here, since if we are in mid-parse,
1842         the parser might hold refs on some of our children that have self-only refs.
1843         * html/HTMLParser.cpp:
1844         (WebCore::HTMLStackElem::HTMLStackElem): don't ref the node if it is a document to avoid ref cycles
1845         (WebCore::HTMLStackElem::~HTMLStackElem): ditto
1846         (WebCore::HTMLStackElem::node): changed interface a bit to support the above
1847         (WebCore::HTMLStackElem::setNode): ditto
1848         (WebCore::HTMLParser::popNestedHeaderTag): use new interface to HTMLStackElem
1849         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): ditto
1850         (WebCore::HTMLParser::reopenResidualStyleTags): ditto
1851         (WebCore::HTMLParser::popBlock): ditto
1852         (WebCore::HTMLParser::popOneBlock): ditto
1853
1854 2006-07-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1855
1856         Reviewed by Adele.
1857         
1858         * rendering/RenderMenuList.h:
1859         (WebCore::RenderMenuList::createsAnonymousWrapper): This method replaces
1860         allowsReusingAnonymousChild() and has the opposite meaning.
1861         
1862 2006-07-05  Adele Peterson  <adele@apple.com>
1863
1864         Build fixes.
1865
1866         * WebCore.vcproj/WebCore/WebCore.vcproj:
1867         * platform/win/TemporaryLinkStubs.cpp:
1868         * rendering/RenderMenuList.cpp:
1869         (WebCore::RenderMenuList::calcMinMaxWidth):
1870         * rendering/RenderPopupMenuWin.h:
1871         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
1872         * rendering/RenderThemeWin.cpp:
1873
1874 2006-07-05  Maciej Stachowiak  <mjs@apple.com>
1875
1876         Reviewed by Adele.
1877
1878         - fix 308 Node leaks on the editing layout tests
1879
1880         * dom/Document.cpp: (WebCore::Document::removedLastRef): Clear the markers once there
1881         are no real refs on the document, otherwise a self-only reference cycle w/ the document
1882         can occur.
1883
1884 2006-07-05  Adele Peterson  <adele@apple.com>
1885
1886         Reviewed by Maciej and Hyatt.
1887
1888         Initial implementation of popup menu control.  This can be turned on by setting -webkit-appearance: menulist on a select element.
1889
1890         * WebCore.xcodeproj/project.pbxproj: Added RenderMenuList.h, RenderMenuList.cpp, RenderPopupMenu.h, RenderPopupMenu.cpp, 
1891         RenderPopupMenuWin.h, RenderPopupMenuMac.h, RenderPopupMenuMac.mm, 
1892     
1893         * dom/Node.cpp:
1894         (WebCore::Node::renderStyle): Added. Returns the renderer's style.  If there's no renderer, returns's a RenderStyle that's kept by the node.
1895         This is important for HTMLOptGroupElement and HTMLOptionElement, which don't have renderers.
1896         (WebCore::Node::setRenderStyle): Added.
1897         * dom/Node.h:
1898         * dom/Element.cpp: (WebCore::Element::recalcStyle): Updated to use renderStyle so recalcStyle will work for HTMLOptionElements and HTMLOptGroupElements.
1899            
1900         * css/cssstyleselector.cpp: Updated to call renderStyle method on the node, so resolving style works on elements w/o renderers that cache style. 
1901         (WebCore::CSSStyleSelector::initForStyleResolve):
1902         (WebCore::CSSStyleSelector::locateCousinList):
1903         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1904         (WebCore::CSSStyleSelector::locateSharedStyle):
1905         (WebCore::CSSStyleSelector::checkOneSelector):
1906
1907         * css/html4.css: Removed display:none from options and optgroups, since we're now caching style for these elements.
1908         Added font-weight styles for option and optgroup.
1909         
1910         * html/HTMLOptGroupElement.h: Added m_style to keep track of a RenderStyle for the element, even though we aren't creating a renderer.
1911         This will allow us to honor style for optgroups and options for popup menus (and eventually list boxes too).
1912         (WebCore::HTMLOptGroupElement::rendererIsNeeded): Added.
1913         (WebCore::HTMLOptGroupElement::renderStyle): Added.
1914         * html/HTMLOptionElement.h: ditto.
1915         (WebCore::HTMLOptionElement::rendererIsNeeded): Added.
1916         (WebCore::HTMLOptionElement::renderStyle): Added.
1917         
1918         * html/HTMLOptGroupElement.cpp:
1919         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Initialize m_style.
1920         (WebCore::HTMLOptGroupElement::attach): Set the renderStyle.
1921         (WebCore::HTMLOptGroupElement::detach): Clear m_style.
1922         (WebCore::HTMLOptGroupElement::setRenderStyle): Added.
1923         (WebCore::HTMLOptGroupElement::groupLabelText): Added.
1924         * html/HTMLOptionElement.cpp: ditto.
1925         (WebCore::HTMLOptionElement::HTMLOptionElement):
1926         (WebCore::HTMLOptionElement::attach):
1927         (WebCore::HTMLOptionElement::detach):
1928         (WebCore::HTMLOptionElement::setRenderStyle):
1929         (WebCore::HTMLOptionElement::optionText):
1930
1931         * html/HTMLSelectElement.cpp: Added code to use the new RenderMenuList if the appearance is set to MenuListAppearance, 
1932         and if we're not creating a list box renderer.
1933         (WebCore::HTMLSelectElement::recalcStyle):
1934         (WebCore::HTMLSelectElement::createRenderer):
1935         (WebCore::HTMLSelectElement::setRecalcListItems):
1936         (WebCore::HTMLSelectElement::reset):
1937         (WebCore::HTMLSelectElement::notifyOptionSelected):
1938         (WebCore::HTMLSelectElement::defaultEventHandler):
1939         * html/HTMLSelectElement.h:
1940
1941         * WebCore.exp: Added _wkPopupMenu.
1942         * platform/mac/WebCoreSystemInterface.h: Added wkPopupMenu to get the NSMenu to pop up.
1943         * platform/mac/WebCoreSystemInterface.mm:
1944
1945         * platform/win/TemporaryLinkStubs.cpp: Added stubs for RenderPopupMenuWin.
1946         (RenderPopupMenuWin::RenderPopupMenuWin):
1947         (RenderPopupMenuWin::~RenderPopupMenuWin):
1948         (RenderPopupMenuWin::clear):
1949         (RenderPopupMenuWin::populate):
1950         (RenderPopupMenuWin::showPopup):
1951         (RenderPopupMenuWin::addSeparator):
1952         (RenderPopupMenuWin::addGroupLabel):
1953         (RenderPopupMenuWin::addOption):
1954         * rendering/RenderPopupMenuWin.h: Added.
1955
1956         * rendering/RenderPopupMenu.cpp: Added.
1957         (WebCore::RenderPopupMenu::RenderPopupMenu):
1958         (WebCore::RenderPopupMenu::~RenderPopupMenu):
1959         (WebCore::RenderPopupMenu::clear):
1960         (WebCore::RenderPopupMenu::populate): Walks the DOM tree, and adds separators, options, and group labels to the RenderPopupMenu.
1961         (WebCore::RenderPopupMenu::showPopup):
1962         (WebCore::RenderPopupMenu::addSeparator):
1963         (WebCore::RenderPopupMenu::addGroupLabel):
1964         (WebCore::RenderPopupMenu::addOption):
1965         * rendering/RenderPopupMenu.h: Added.
1966         (WebCore::RenderPopupMenu::renderName):
1967         (WebCore::RenderPopupMenu::getRenderMenuList):
1968         * rendering/RenderPopupMenuMac.h: Added.
1969         * rendering/RenderPopupMenuMac.mm: Added.
1970         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
1971         (WebCore::RenderPopupMenuMac::~RenderPopupMenuMac):
1972         (WebCore::RenderPopupMenuMac::clear): Removes all items from the menu.
1973         (WebCore::RenderPopupMenuMac::populate): Disables menuChangedMessages before populating the menu.
1974         (WebCore::RenderPopupMenuMac::showPopup): Calculates the right position, and calls wkPopupMenu.
1975         (WebCore::RenderPopupMenuMac::addSeparator):
1976         (WebCore::RenderPopupMenuMac::addGroupLabel):
1977         (WebCore::RenderPopupMenuMac::addOption):
1978         
1979         * rendering/RenderMenuList.cpp: Added.
1980         (WebCore::RenderMenuList::RenderMenuList):
1981         (WebCore::RenderMenuList::addChild):
1982         (WebCore::RenderMenuList::removeChild):
1983         (WebCore::RenderMenuList::setStyle):
1984         (WebCore::RenderMenuList::updateFromElement): If the options have changed, iterate through the children to find the menu item with the widest text.
1985         Set the button text to the selected item's text.
1986         (WebCore::RenderMenuList::setText):
1987         (WebCore::RenderMenuList::paintObject):
1988         (WebCore::RenderMenuList::baselinePosition):
1989         (WebCore::RenderMenuList::calcMinMaxWidth):
1990         (WebCore::RenderMenuList::showPopup):
1991         (WebCore::RenderMenuList::layout):
1992         (WebCore::RenderMenuList::updateSelection):
1993         (WebCore::RenderMenuList::valueChanged):
1994         * rendering/RenderMenuList.h: Added.
1995         (WebCore::RenderMenuList::removeLeftoverAnonymousBoxes):
1996         (WebCore::RenderMenuList::allowsReusingAnonymousChild):
1997         (WebCore::RenderMenuList::canHaveChildren):
1998         (WebCore::RenderMenuList::renderName):
1999         (WebCore::RenderMenuList::setOptionsChanged):
2000         (WebCore::RenderMenuList::selectionChanged):
2001         (WebCore::RenderMenuList::setSelectionChanged):
2002         (WebCore::RenderMenuList::hasPopupMenu):
2003
2004         * rendering/RenderTheme.cpp: Added cases for MenuListAppearance.
2005         (WebCore::RenderTheme::adjustStyle):
2006         (WebCore::RenderTheme::paint):
2007         (WebCore::RenderTheme::paintBorderOnly):
2008         (WebCore::RenderTheme::isControlStyled):
2009         (WebCore::RenderTheme::adjustMenuListStyle):
2010         (WebCore::RenderTheme::createPopupMenu): creates platform-specific RenderPopupMenu.
2011         * rendering/RenderTheme.h:
2012         (WebCore::RenderTheme::sizeOfArrowControl): Added. 
2013         (WebCore::RenderTheme::paintMenuList): Added.
2014         * rendering/RenderThemeMac.h:
2015         * rendering/RenderThemeMac.mm:
2016         (WebCore::RenderThemeMac::adjustRepaintRect):
2017         (WebCore::RenderThemeMac::paintMenuList):
2018         (WebCore::RenderThemeMac::adjustMenuListStyle):
2019         (WebCore::RenderThemeMac::setPopupButtonCellState):
2020         (WebCore::RenderThemeMac::createPopupMenu):
2021         (WebCore::RenderThemeMac::sizeOfArrowControl):
2022         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::createPopupMenu):
2023         * rendering/RenderThemeWin.h:
2024
2025 2006-07-05  Brady Eidson  <beidson@apple.com>
2026
2027         Reviewed by Tim Omernick.
2028
2029         IconDatabase now respects private browsing via the use of in memory, temporary tables
2030
2031         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2032         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
2033         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): Renamed WebCore::IconDatabase methods, changes reflected here
2034
2035         * icon/IconDatabase.cpp:
2036         (WebCore::IconDatabase::clearDatabase):
2037         (WebCore::IconDatabase::deletePrivateTables):
2038         (WebCore::IconDatabase::imageDataForIconID):
2039         (WebCore::IconDatabase::imageDataForIconURL):
2040         (WebCore::IconDatabase::imageDataForPageURL):
2041         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
2042         (WebCore::IconDatabase::iconForPageURL):
2043         (WebCore::IconDatabase::iconURLForPageURL):
2044         (WebCore::IconDatabase::setIconDataForIconURL):
2045         (WebCore::IconDatabase::performSetIconDataForIconID):
2046         (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
2047         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
2048         (WebCore::IconDatabase::setHaveNoIconForIconURL):
2049         (WebCore::IconDatabase::setIconURLForPageURL):
2050         (WebCore::IconDatabase::performSetIconURLForPageURL):
2051         (WebCore::IconDatabase::hasIconForIconURL):
2052         -Some style/comment cleanups, but mainly putting private browsing handling in place
2053
2054         * icon/IconDatabase.h:  Some methods added, others renamed, some comments added
2055
2056         * icon/SQLStatement.cpp:
2057         (WebCore::SQLStatement::getColumnName):
2058         (WebCore::SQLStatement::getColumnName16):
2059         (WebCore::SQLStatement::getColumnText):
2060         (WebCore::SQLStatement::getColumnText16):
2061         -The above 4 had changes to return String() for empty results instead of "" as it's less expensive;
2062
2063 2006-07-05  John Sullivan  <sullivan@apple.com>
2064
2065         Reviewed by Darin and Adele.
2066         
2067         - fixed <rdar://problem/4609162> REGRESSION: When tabbing between links on a page, 
2068         the window doesn't scroll to link that's not in view
2069
2070         * html/HTMLAnchorElement.cpp:
2071         * html/HTMLAnchorElement.h:
2072         removed HTMLAnchorElement::focus and HTMLAnchorElement::blur. 
2073         
2074         HTMLAnchorElement::focus just called document()->setFocusNode(). The scroll-to-reveal
2075         code used to be inside document()->setFocusNode(), but now it's in Element::focus, and this override
2076         was preventing that code from running.
2077         
2078         HTMLAnchorElement::blur was exactly the same implementation as Element::blur (and there aren't any
2079         other implementations of ::blur in the class hierarchy in between). This change has no practical
2080         effect, other than removing duplicate code.
2081         
2082         Adele and I think that it was an oversight not to remove these two methods on 12/20/05
2083         these methods were removed from HTMLButtonElementImpl and HTMLInputElementImpl.
2084
2085 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
2086
2087         * bridge/win/FrameWin.cpp:
2088         (WebCore::FrameWin::FrameWin):
2089         * bridge/win/FrameWin.h:
2090         * platform/win/TemporaryLinkStubs.cpp:
2091         (FrameWin::createFrame):
2092         Fix Win32 build.
2093
2094 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
2095
2096         * WebCore.xcodeproj/project.pbxproj:
2097         Revert accidental change of debug format to DWARF.
2098
2099 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
2100
2101         Reviewed by Maciej.
2102
2103         http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
2104         iFrames set to display:none are Missing from frames array
2105
2106         * bridge/mac/FrameMac.h:
2107         * bridge/mac/FrameMac.mm:
2108         (WebCore::FrameMac::FrameMac):
2109         (WebCore::FrameMac::createFrame):
2110         * bridge/mac/WebCoreFrameBridge.h:
2111         * bridge/mac/WebCoreFrameBridge.mm:
2112         (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
2113         (-[WebCoreFrameBridge installInFrame:]):
2114         Modify to pass the owner element instead of the owner renderer.        
2115
2116         * dom/ContainerNode.cpp:
2117         (WebCore::ContainerNode::insertBefore):
2118         (WebCore::ContainerNode::replaceChild):
2119         (WebCore::ContainerNode::appendChild):
2120         Dispatch the node inserted events before attaching the nodes. This is what the
2121         tokenizer does.
2122         
2123         * html/HTMLFrameElement.cpp:
2124         (WebCore::HTMLFrameElement::openURL):
2125         (WebCore::HTMLFrameElement::attach):
2126         Pass the element to requestFrame.
2127         
2128         (WebCore::HTMLFrameElement::setLocation):
2129         Don't call attach/detach on an iframe.
2130
2131         * html/HTMLIFrameElement.cpp:
2132         (WebCore::HTMLIFrameElement::insertedIntoDocument):
2133         Load the frame here (using openURL).
2134         
2135         (WebCore::HTMLIFrameElement::removedFromDocument):
2136         Call frameDetached.
2137         
2138         (WebCore::HTMLIFrameElement::attach):
2139         If there's a renderer, attach the content frame to it.
2140         
2141         (WebCore::HTMLIFrameElement::detach):
2142         Reset the renderer's frame.
2143         
2144         (WebCore::HTMLIFrameElement::openURL):
2145         Modify to request the frame.
2146         
2147         * html/HTMLIFrameElement.h:
2148         Add detach.
2149         
2150         * page/Frame.cpp:
2151         (WebCore::parentFromOwnerElement):
2152         (WebCore::Frame::Frame):
2153         (WebCore::Frame::~Frame):
2154         (WebCore::Frame::requestFrame):
2155         (WebCore::Frame::requestObject):
2156         (WebCore::Frame::loadSubframe):
2157         (WebCore::Frame::ownerElement):
2158         (WebCore::Frame::ownerRenderer):
2159         (WebCore::Frame::disconnectOwnerElement):
2160         * page/Frame.h:
2161         * page/FramePrivate.h:
2162         (WebCore::FramePrivate::FramePrivate):        
2163         * rendering/RenderPart.cpp:
2164         (WebCore::RenderPart::setFrame):
2165         Modify to keep an owner element around instead of the renderer. 
2166         
2167         * rendering/RenderPartObject.cpp:
2168         (WebCore::RenderPartObject::updateWidget):
2169         Don't do anything for iframes.
2170
2171 2006-07-04  Kevin Ollivier  <kevino@theolliviers.com>
2172
2173         Reviewed by Maciej, reworked a bit by Darin.
2174
2175         Compile fixes for wx port / gcc 4.0.2
2176         
2177         * platform/PlatformString.h:
2178         * platform/StringImpl.h:
2179         Include CoreFoundation for CF-specific code.
2180         
2181         * dom/DocPtr.h:
2182         * doc/EventTargetNode.h:
2183         Silence warnings about 'extra tokens' after #endif on gcc 4.0.2.
2184         (Not an error but warnings appear frequently.)
2185         
2186         * WebCoreSources.bkl:
2187         * webcore-base.bkl:
2188         Synching ports sources file with TOT. Also, making sure SRCDIR variable
2189         overrides any previous values.
2190         
2191         * loader/ImageDocument.cpp:
2192         Use PLATFORM(MAC) for the parts that are specific to the Macintosh version,
2193         and move the Objective-C parts to another file.
2194
2195         * loader/mac/ImageDocumentMac.h: Added.
2196         * loader/mac/ImageDocumentMac.mm: Added.
2197
2198 2006-07-04  Sam Weinig  <sam.weinig@gmail.com>
2199
2200         Build fix.
2201
2202         * platform/Color.cpp:
2203         (WebCore::makeRGBAFromHSLA):
2204
2205 2006-07-02  David Carson  <dacarson@gmail.com>
2206
2207         Reviewed by Darin.
2208   
2209         - Added HSL color support as specified in CSS3 spec.
2210         http://bugzilla.opendarwin.org/show_bug.cgi?id=9506
2211         Added parsing support of hsl(h,s,l) and hsla(h,s,l,a)
2212         Added converting code to convert HSL to RGB
2213
2214         * css/cssparser.cpp:
2215         (WebCore::CSSParser::parseColorParameters):
2216         Moved common code to parse RGB/RGBA values into it's
2217         own function. This code was duplicated in the parseColorFromValue()
2218         method.
2219         (WebCore::CSSParser::parseHSLParameters):
2220         Common code to parse HSL/HSLA values.
2221         (WebCore::CSSParser::parseColorFromValue):
2222         Moved RGB/RGBA parsing out to seperate function as the code was
2223         duplicated. 
2224         Added parsing support for hsl( and hsla(
2225         * css/cssparser.h:
2226         Added two new functions parseColorParameters() and 
2227         parseHSLParameters().
2228         * platform/Color.cpp:
2229         (WebCore::calcHue):
2230         Added Hue parameter to RGB color.
2231         (WebCore::makeRGBAFromHSLA):
2232         New function to convert HSLA to RGBA.
2233         * platform/Color.h:
2234         Added new functions makeRGBAFromHSLA() and calcHue().
2235
2236 2006-07-02  Mike Emmel  <mike.emmel@gmail.com>
2237
2238         Reviewed and landed by ggaren.
2239
2240         * platform/gdk/TransferJobManager.cpp
2241         Fixed broken dowload logic
2242         * platform/gdk/ScrollViewGdk.cpp 
2243         Add comment that scrollbarSize is a temporary variable
2244         * Projects/gdk/webcore-gdk.bkl
2245         Defined NDEBUG build executable is miscompiled otherwise
2246         * WebCoreSources.bkl
2247         added icon/SiteIcon.cpp editing/IndentOutdentCommand.cpp 
2248         html/HTMLViewSourceDocument.cpp
2249
2250 2006-07-02  Shawn Stricker  <kb1ibt@gmail.com>
2251
2252         Reviewed by Timothy Hatcher.  Build fix for Linux.
2253
2254         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9684
2255           [GDK] multiple little fixes and a few new things for Templinkstubs
2256
2257         * platform/gdk/ScrollViewGdk.cpp:
2258         (WebCore::ScrollView::setDrawable): Changed SCROLLBAR_SIZE to scrollbarSize.
2259         * platform/gdk/TemporaryLinkStubs.cpp:
2260         (Image::drawTiled): Added missing parameter to argument list.
2261         * platform/gdk/TransferJobManager.cpp:
2262         (WebCore::writeCallback): Added missing parenthesis to static_cast.
2263
2264 2006-07-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2265
2266         Reviewed by Darin.
2267
2268         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9674
2269           REGRESSION (r15075): Blank or incomplete pages on digg.com
2270
2271         Replaced the requestingScript state bit added in the fix for bug 9317
2272         with a m_requestingScript bool that is set before and restored
2273         after calling ref() on a CachedScript.
2274         
2275         Test: fast/tokenizer/nested-cached-scripts.html
2276
2277         * html/HTMLTokenizer.cpp:
2278         (WebCore::HTMLTokenizer::HTMLTokenizer):
2279         (WebCore::HTMLTokenizer::begin):
2280         (WebCore::HTMLTokenizer::scriptHandler):
2281         (WebCore::HTMLTokenizer::notifyFinished):
2282         * html/HTMLTokenizer.h:
2283         (WebCore::HTMLTokenizer::State::):
2284
2285 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
2286
2287         Reviewed by NOBODY (build fix).
2288
2289         * platform/gdk/TransferJobManager.cpp:
2290         (WebCore::writeCallback): Changed 'static_cat' to 'static_cast'.
2291
2292 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
2293
2294         Reviewed and worked over a lot by Darin.
2295
2296         - check in first set of GDK-specific sources
2297
2298         * platform/gdk/BrowserExtensionGdk.h: Added.
2299         * platform/gdk/CookieJarGdk.cpp: Added.
2300         * platform/gdk/CursorGdk.cpp: Added.
2301         * platform/gdk/FontCacheGdk.cpp: Added.
2302         * platform/gdk/FontDataGdk.cpp: Added.
2303         * platform/gdk/FontGdk.cpp: Added.
2304         * platform/gdk/FontPlatformData.h: Added.
2305         * platform/gdk/FontPlatformDataGdk.cpp: Added.
2306         * platform/gdk/FrameGdk.cpp: Added.
2307         * platform/gdk/FrameGdk.h: Added.
2308         * platform/gdk/GlyphMapGdk.cpp: Added.
2309         * platform/gdk/KeyEventGdk.cpp: Added.
2310         * platform/gdk/KeyboardCodes.h: Added.
2311         * platform/gdk/MouseEventGdk.cpp: Added.
2312         * platform/gdk/PageGdk.cpp: Added.
2313         * platform/gdk/RenderThemeGdk.cpp: Added.
2314         * platform/gdk/RenderThemeGdk.h: Added.
2315         * platform/gdk/ScreenGdk.cpp: Added.
2316         * platform/gdk/ScrollViewGdk.cpp: Added.
2317         * platform/gdk/SharedTimerLinux.cpp: Added.
2318         * platform/gdk/SystemTimeLinux.cpp: Added.
2319         * platform/gdk/TemporaryLinkStubs.cpp: Added.
2320         * platform/gdk/TransferJobCurl.cpp: Added.
2321         * platform/gdk/TransferJobManager.cpp: Added.
2322         * platform/gdk/TransferJobManager.h: Added.
2323         * platform/gdk/WheelEventGdk.cpp: Added.
2324         * platform/gdk/WidgetGdk.cpp: Added.
2325         * platform/gdk/gdk-encodings.txt: Added.
2326
2327 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
2328
2329         Reviewed by Darin.
2330
2331         * WebCoreSources.bkl: Updated for recent file changes.
2332
2333 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
2334
2335         Reviewed and enhanced by Darin.
2336
2337         Compilation fixes for Linux/Gdk.
2338
2339         * WebCore/platform/FontData.h: Added forward declaration of a class.
2340         * WebCore/platform/cairo/GraphicsContextCairo.cpp: Fixed case on include.
2341         * WebCore/bindings/js/kjs_html.cpp: Added <math.h> include.
2342
2343         * WebCore/css/maketokenizer: Fixed incorrect check for Linux that was
2344         already true even on Mac OS X. Added some additional includes and
2345         defines to the Linux extra generated code.
2346
2347 2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2348
2349         Reviewed by Hyatt.
2350
2351         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7204
2352           float inserted in fixed height block via DOM not repainted
2353
2354         Test: fast/repaint/float-move-during-layout.html
2355
2356         * rendering/RenderBlock.cpp:
2357         (WebCore::RenderBlock::layoutBlockChildren):
2358         (WebCore::RenderBlock::repaintOverhangingFloats): Renamed repaintFloatingDescendants()
2359         to this and limited it to repainting overhanging floats. Added a boolean parameter that forces
2360         all descendant overhanging floats (that don't have their own layer) to paint.
2361         * rendering/RenderBlock.h:
2362         * rendering/RenderBox.cpp:
2363         (WebCore::RenderBox::repaintDuringLayoutIfMoved): Changed to paint all descendant
2364         floats.
2365         * rendering/RenderObject.cpp:
2366         (WebCore::RenderObject::repaintOverhangingFloats):
2367         * rendering/RenderObject.h:
2368
2369 2006-06-30  Levi Weintraub  <lweintraub@apple.com>
2370
2371         Reviewed by justin
2372
2373         * editing/VisiblePosition.cpp: Removed is[Not]EqualIgnoringAffinity and made operator== use the logic that ignores affinity.
2374         * editing/VisiblePosition.h: Ditto.
2375         (WebCore::operator==):
2376         * editing/visible_units.cpp:
2377         (WebCore::isStartOfParagraph): Changed to compare VisiblePositions using ==.
2378         (WebCore::isEndOfParagraph): Ditto.
2379         (WebCore::isStartOfBlock): Ditto.
2380         (WebCore::isEndOfBlock): Ditto.
2381
2382 === Safari-521.14 ===
2383
2384 2006-06-30  Justin Garcia  <justin.garcia@apple.com>
2385
2386         Reviewed by levi
2387
2388         * editing/htmlediting.cpp:
2389         (WebCore::canHaveChildrenForEditing): Don't insert children into
2390         object tags while editing.
2391
2392 2006-06-30  Justin Garcia  <justin.garcia@apple.com>
2393
2394         Reviewed by harrison
2395         
2396         <rdar://problem/4598309
2397         Caret gets stuck when it hits non editable content within an editable body
2398         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9510>
2399         Caret will jump out of an editable region
2400         
2401         * dom/Position.cpp:
2402         (WebCore::Position::upstream): Don't move into a new editable region so that 
2403         candidates that that straddle an editable/non-editable boundary will 
2404         correspond to different VisiblePositions.
2405         (WebCore::Position::downstream): Ditto.
2406         * editing/SelectionController.cpp:
2407         (WebCore::SelectionController::modifyMovingRightForward): Use VisiblePosition::next(true)
2408         (WebCore::SelectionController::modifyMovingLeftBackward): Use VisiblePosition::previous(true)
2409         * editing/VisiblePosition.cpp:
2410         (WebCore::VisiblePosition::next): Added code to jump to the next editable region as long
2411         as it has the same highest editable root.
2412         (WebCore::VisiblePosition::previous): Ditto.
2413         * editing/VisiblePosition.h:
2414         * editing/htmlediting.cpp:
2415         (WebCore::highestEditableRoot): Added, returns the highest editable root of a node if that
2416         node is in editable content, otherwise 0.
2417         * editing/htmlediting.h:
2418
2419 2006-06-30  David Kilzer  <ddkilzer@kilzer.net>
2420
2421         Reviewed by Darin.
2422
2423         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9358
2424           REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer
2425           (value == constrainValue(value)) when deleting all text
2426
2427         Test: editing/deleting/delete-all-text-in-text-field-assertion.html
2428
2429         Bug 9661 filed to fix the follow-up issue:
2430         http://bugzilla.opendarwin.org/show_bug.cgi?id=9661
2431         textContent returns "\n" for a <br> even if it is collapsed
2432
2433         * html/HTMLInputElement.cpp:
2434         (WebCore::HTMLInputElement::setValueFromRenderer): Work around "\n" value
2435         when all characters are deleted from a text field.
2436
2437 2006-06-30  David Harrison  <harrison@apple.com>
2438
2439         Reviewed by Tim Omernick
2440
2441         <rdar://problem/4609481> Crash calling -[WebScriptObject valueForKey:] when JS disabled
2442         
2443         * bridge/mac/FrameMac.mm:
2444         (WebCore::FrameMac::executionContextForDOM):
2445         Early return if JS is not enabled.
2446
2447 2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2448
2449         Reviewed by Tim H.
2450
2451         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9664
2452           REGRESSION (r15106): Crash in fast/events/mouseover-mouseout2.html
2453
2454         * page/FrameView.cpp:
2455         (WebCore::FrameView::handleMouseMoveEvent): Added a check that oldSubframe is
2456         still a subframe of the view's frame before passing the event to it.
2457
2458 2006-06-29  Timothy Hatcher  <timothy@apple.com>
2459
2460         Reviewed by Darin.
2461
2462         <rdar://problem/3694163> -[KWQPageState finalize] is incorrect; design change needed
2463         <rdar://problem/3694165> -[WebCoreFrameBridge finalize] is incorrect; design change needed
2464
2465         Added close methods that need to be called before these
2466         objects can be released. This ensures proper tear-down under GC.
2467
2468         * WebCore.xcodeproj/project.pbxproj:
2469         * bridge/mac/WebCoreFrameBridge.h:
2470         * bridge/mac/WebCoreFrameBridge.mm:
2471         (-[WebCoreFrameBridge dealloc]):
2472         (-[WebCoreFrameBridge finalize]):
2473         (-[WebCoreFrameBridge close]):
2474         * bridge/mac/WebCorePageBridge.h:
2475         * bridge/mac/WebCorePageBridge.mm:
2476         (-[WebCorePageBridge setMainFrame:]):
2477         (-[WebCorePageBridge dealloc]):
2478         (-[WebCorePageBridge finalize]):
2479         (-[WebCorePageBridge close]):
2480         (-[WebCorePageBridge mainFrame]):
2481         (-[WebCorePageBridge setGroupName:]):
2482         (-[WebCorePageBridge groupName]):
2483         * kwq/KWQPageState.h:
2484         * kwq/KWQPageState.mm:
2485         (-[KWQPageState dealloc]):
2486         (-[KWQPageState finalize]):
2487         (-[KWQPageState close]):
2488
2489 2006-06-29  Sam Weinig  <sam.weinig@gmail.com>
2490
2491         Reviewed by Hyatt.
2492
2493         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=4874
2494         Table with absolute bottom positioning is positioned incorrectly
2495
2496         Note: patch originally from Mitz, spruced up by Weinig.
2497
2498         * rendering/RenderBox.cpp:
2499         (WebCore::RenderBox::calcAbsoluteVerticalValues):
2500         * rendering/RenderTable.cpp:
2501         (WebCore::RenderTable::layout):
2502
2503 2006-06-29  Graham Dennis  <Graham.Dennis@gmail.com>
2504
2505         Reviewed by Justin.
2506
2507         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9505
2508           moveParagraphContentsToNewBlockIfNecessary creates a new block outside the current position
2509
2510         * editing/CompositeEditCommand.cpp:
2511         Added sanity checking to prevent modifying nodes outside of 
2512         where we should be
2513         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2514
2515 2006-06-29  Brady Eidson  <beidson@apple.com>
2516
2517         Reviewed by Levi.
2518
2519         In addition to a few small details, logging changes, and style cleanups, this is a stop-gap hack
2520         for a problem in SQLite's blob handling.  Querying for a blob in a void* form is reproducibly
2521         returning a corrupt buffer.  The temporary solution is to query for the blob as "quoted text" and
2522         manually convert the return string into a character buffer.
2523
2524         * icon/IconDatabase.cpp:
2525         (WebCore::IconDatabase::recreateDatabase):
2526         (WebCore::IconDatabase::createPrivateTables):
2527
2528         (WebCore::hexToUnsignedChar): These two functions are the text-to-character-data converters for the time being
2529         (WebCore::hexStringToVector):
2530
2531         (WebCore::IconDatabase::imageDataForIconID):
2532         (WebCore::IconDatabase::imageDataForIconURL):
2533         (WebCore::IconDatabase::imageDataForPageURL):
2534         (WebCore::IconDatabase::iconForPageURL):
2535         (WebCore::IconDatabase::hasIconForIconURL):
2536         * icon/IconDatabase.h:  changes the icon data accessors to return a Vector<unsigned char> instead of void*
2537
2538         * icon/SQLStatement.cpp:
2539         (WebCore::SQLStatement::columnCount):
2540         (WebCore::SQLStatement::getColumnBlob):
2541         * icon/SiteIcon.cpp:
2542         (SiteIcon::getImage):
2543
2544 2006-06-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2545
2546         Reviewed by Darin.
2547
2548         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9652
2549           Assertion failure when changing an RTL table cell to display:none
2550
2551         Test: fast/table/rtl-cell-display-none-assert.html
2552
2553         * rendering/RenderTableSection.cpp:
2554         (WebCore::RenderTableSection::layoutRows): Corrected the index used as
2555         the last index in the columnPos vector.
2556
2557 2006-06-29  Darin Adler  <darin@apple.com>
2558
2559         Reviewed by Anders.
2560
2561         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9622
2562           showModalDialog returnValue ignored, function result is always "undefined"
2563
2564         * manual-tests/modal-dialog.html: Added.
2565         * manual-tests/show-modal-dialog-test.html: Added.
2566
2567         * page/Frame.cpp: (WebCore::Frame::clear): Call KJSProxy::clear with the
2568         clearWindowProperties parameter instead of not calling it at all when
2569         clearWindowProperties is false.
2570
2571         * bindings/js/kjs_proxy.h: Add boolean clearWindowProperties parameter.
2572         * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Pass clearWindowProperties
2573         variable through to Window::clear instead of not calling it at all.
2574
2575         * bindings/js/kjs_window.h: Add boolean clearWindowProperties parameter.
2576         * bindings/js/kjs_window.cpp: (KJS::Window::clear): If clearWindowProperties
2577         is false, do only the returnValue work, not the rest of the work.
2578
2579         * manual-tests/modal-dialog.html: Added.
2580         * manual-tests/show-modal-dialog-test.html: Added.
2581
2582 2006-06-29  Beth Dakin  <bdakin@apple.com>
2583
2584         Reviewed by Hyatt.
2585
2586         Fix for <rdar://problem/4450615> Add composite mode to background 
2587         styles
2588
2589         -webkit-background-composite will set a composite mode on a 
2590         background image.
2591
2592         * css/CSSComputedStyleDeclaration.cpp:
2593         (WebCore::):
2594         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2595         * css/CSSPropertyNames.in: Add -webkit-background-composite
2596         * css/CSSValueKeywords.in: Add all possible values (clear, copy, 
2597         source-over, source-in, source-out, source-atop, destination-over, 
2598         destination-in, destination-out, destination-atop, xor, plus-
2599         darker, highlight, and plus-lighter)
2600         * css/cssparser.cpp:
2601         (WebCore::CSSParser::parseValue):
2602         (WebCore::CSSParser::parseBackgroundProperty):
2603         * css/cssstyleselector.cpp:
2604         (WebCore::CSSStyleSelector::applyProperty):
2605         (WebCore::CSSStyleSelector::mapBackgroundComposite):
2606         * css/cssstyleselector.h:
2607         * platform/GraphicsContext.cpp:
2608         (WebCore::GraphicsContext::drawTiledImage):
2609         * platform/GraphicsContext.h: drawTiledImage() now takes a 
2610         composite operator.
2611         * platform/Image.h: drawTiled() now takes a composite operator.
2612         * platform/cairo/ImageCairo.cpp:
2613         (WebCore::Image::drawTiled): Set the composite operator.
2614         * platform/mac/ImageMac.mm:
2615         (WebCore::Image::drawTiled): Set the composite operator.
2616         * platform/win/TemporaryLinkStubs.cpp:
2617         (Image::drawTiled):
2618         * rendering/RenderBox.cpp:
2619         (WebCore::RenderBox::paintBackgroundExtended): Send the composite 
2620         operator in the render style over to the graphics context.
2621         * rendering/render_style.cpp:
2622         (WebCore::BackgroundLayer::BackgroundLayer):
2623         (WebCore::BackgroundLayer::operator=):
2624         (WebCore::BackgroundLayer::operator==):
2625         (WebCore::BackgroundLayer::fillUnsetProperties):
2626         (WebCore::BackgroundLayer::cullEmptyLayers):
2627         * rendering/render_style.h:
2628         (WebCore::BackgroundLayer::backgroundComposite):
2629         (WebCore::BackgroundLayer::isBackgroundCompositeSet):
2630         (WebCore::BackgroundLayer::setBackgroundComposite):
2631         (WebCore::BackgroundLayer::clearBackgroundComposite):
2632         (WebCore::RenderStyle::backgroundComposite):
2633         (WebCore::RenderStyle::initialBackgroundComposite):
2634
2635 2006-06-29  David Kilzer  <ddkilzer@kilzer.net>
2636
2637         Reviewed by Darin.
2638
2639         http://bugzilla.opendarwin.org/show_bug.cgi?id=9649
2640         The no-svg build broke after r15091
2641
2642         * bindings/objc/DOMInternal.h: Added #if XPATH_SUPPORT/#endif.
2643         * bindings/objc/DOMInternal.mm: Ditto.
2644         (raiseDOMException):
2645         * bindings/objc/DOMXPath.h: Ditto.
2646         * bindings/objc/DOMXPath.mm: Ditto.
2647         * bindings/objc/DOMXPathInternal.h: Ditto.
2648
2649 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
2650
2651         Reviewed by Tim O.
2652
2653         <rdar://problem/4599760> Objective-C XPath support
2654         
2655         * WebCore.xcodeproj/project.pbxproj:
2656         Add files.
2657         
2658         * bindings/objc/DOMInternal.h:
2659         * bindings/objc/DOMInternal.mm:
2660         (raiseDOMException):
2661         Handle XPath exceptions
2662         
2663         * bindings/objc/DOMXPath.h: Added.
2664         (-[DOMXPathNSResolver lookupNamespaceURI:]):
2665         * bindings/objc/DOMXPath.mm: Added.
2666         (-[DOMNativeXPathNSResolver dealloc]):
2667         (-[DOMNativeXPathNSResolver finalize]):
2668         (-[DOMNativeXPathNSResolver _xpathNSResolver]):
2669         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:]):
2670         (+[DOMNativeXPathNSResolver _xpathNSResolverWith:]):
2671         (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
2672         (-[DOMXPathResult dealloc]):
2673         (-[DOMXPathResult finalize]):
2674         (-[DOMXPathResult resultType]):
2675         (-[DOMXPathResult numberValue]):
2676         (-[DOMXPathResult stringValue]):
2677         (-[DOMXPathResult booleanValue]):
2678         (-[DOMXPathResult singleNodeValue]):
2679         (-[DOMXPathResult invalidIteratorState]):
2680         (-[DOMXPathResult snapshotLength]):
2681         (-[DOMXPathResult iterateNext]):
2682         (-[DOMXPathResult snapshotItem:]):
2683         (-[DOMXPathResult _xpathResult]):
2684         (-[DOMXPathResult _initWithXPathResult:]):
2685         (+[DOMXPathResult _xpathResultWith:]):
2686         (-[DOMXPathExpression evaluate:::]):
2687         (-[DOMXPathExpression _xpathExpression]):
2688         (-[DOMXPathExpression _initWithXPathExpression:]):
2689         (+[DOMXPathExpression _xpathExpressionWith:]):
2690         (-[DOMDocument createExpression::]):
2691         (-[DOMDocument createNSResolver:]):
2692         (-[DOMDocument evaluate:::::]):
2693         * bindings/objc/DOMXPathInternal.h: Added.
2694         Add Objective-C XPath API.
2695
2696 2006-06-28  David Hyatt  <hyatt@apple.com>
2697
2698         Add support for custom highlighting to paint at the root line box level
2699         (and to inflate the box it uses so that it can go outside the bounds of
2700         the line if necessary).
2701
2702         Reviewed by harrison
2703
2704         * bridge/mac/FrameMac.h:
2705         * bridge/mac/FrameMac.mm:
2706         (WebCore::FrameMac::customHighlightLineRect):
2707         (WebCore::FrameMac::paintCustomHighlight):
2708         * bridge/mac/WebCoreFrameBridge.h:
2709         * rendering/InlineTextBox.cpp:
2710         (WebCore::InlineTextBox::paintCustomHighlight):
2711         * rendering/RootInlineBox.cpp:
2712         (WebCore::RootInlineBox::paintCustomHighlight):
2713         (WebCore::RootInlineBox::paint):
2714         * rendering/RootInlineBox.h:
2715
2716 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
2717
2718         Reviewed by justin
2719
2720         <rdar://problem/4592005> FormatBlock inserts in the wrong place, disregarding editable content
2721         <rdar://problem/4590763> FormatBlock for paragraph style doesn't work
2722
2723         * dom/Node.cpp:
2724         (WebCore::Node::rootEditableElement): Return inline nodes
2725         * editing/FormatBlockCommand.cpp:
2726         (WebCore::FormatBlockCommand::doApply): Keep from inserting before editable content
2727         * editing/JSEditor.cpp: Support html braces (<>) around tag names
2728
2729 2006-06-28  Justin Garcia  <justin.garcia@apple.com>
2730
2731         Reviewed by levi
2732         
2733         svg/custom/text-hit-test.svg was failing
2734
2735         * rendering/RenderContainer.cpp:
2736         (WebCore::RenderContainer::positionForCoordinates): Don't skip child
2737         renderers that have a height of 0 when looking for the closest child
2738         renderer, they may contain content that overflows.
2739         * rendering/RenderText.cpp:
2740         (WebCore::RenderText::positionForCoordinates): Fixed typos.
2741
2742 2006-06-28  David Hyatt  <hyatt@apple.com>
2743
2744         Make the view source document properly handle <script>.  We don't syntax
2745         highlight the JS yet, but it shows up properly now.
2746
2747         Reviewed by john
2748
2749         * WebCore.xcodeproj/project.pbxproj:
2750         * html/HTMLTokenizer.cpp:
2751         (WebCore::HTMLTokenizer::scriptHandler):
2752
2753 2006-06-28  Timothy Hatcher  <timothy@apple.com>
2754
2755         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
2756
2757         * WebCore.xcodeproj/project.pbxproj:
2758
2759 2006-06-28  Justin Garcia  <justin.garcia@apple.com>
2760
2761         Reviewed by levi
2762         
2763         Fixed EditActions for InsertHorizontalRule and RemoveFormat.
2764         
2765         * editing/JSEditor.cpp:
2766         * editing/ReplaceSelectionCommand.cpp:
2767         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
2768         (WebCore::ReplaceSelectionCommand::editingAction):
2769         * editing/ReplaceSelectionCommand.h:
2770
2771 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
2772
2773          Build Fix. Reviewed by NOBODY
2774
2775         * editing/IndentOutdentCommand.cpp:
2776         (WebCore::IndentOutdentCommand::indentRegion):
2777
2778 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
2779
2780         Reviewed by justin
2781
2782         http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
2783         Bug 7568: Implement Indent/Outdent
2784
2785         * WebCore.vcproj/WebCore/WebCore.vcproj: Added IndentOutdentCommand.h/cpp
2786         * WebCore.xcodeproj/project.pbxproj: Ditto.
2787         * editing/IndentOutdentCommand.cpp: Added.
2788         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
2789         (WebCore::enclosingListOrBlockquote):
2790         (WebCore::IndentOutdentCommand::splitTreeToNode): Splits the DOM tree from a
2791         descendent node to an ending ancestor, duplicating nodes when necessary. Returns
2792         the last node split. Used to insert blockquotes at the topmost level.
2793         (WebCore::IndentOutdentCommand::indentRegion):
2794         (WebCore::IndentOutdentCommand::outdentParagraph):
2795         (WebCore::IndentOutdentCommand::outdentRegion):
2796         (WebCore::IndentOutdentCommand::doApply):
2797         * editing/IndentOutdentCommand.h: Added.
2798         (WebCore::IndentOutdentCommand::):
2799         * editing/JSEditor.cpp: Added the execCommands Indent and Outdent
2800         * editing/htmlediting.cpp:
2801         (WebCore::enclosingNodeWithTag): Finds the enclosing node with any specified tag.
2802         (WebCore::enclosingListChild): Added checks for nill and editable boundaries.
2803         (WebCore::outermostEnclosingListChild): Returns the highest ancestor list child.
2804         (WebCore::highestAncestor): Added.
2805         (WebCore::createElement): Changed the passed in string to a const reference.
2806         * editing/htmlediting.h:
2807
2808 2006-06-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2809
2810         Reviewed by Darin and Hyatt.
2811
2812         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9561
2813           REGRESSION: Content property on :before of button causes hang on click or hover
2814
2815         Test: fast/forms/button-generated-content.html
2816
2817         * rendering/RenderBlock.cpp:
2818         (WebCore::RenderBlock::setStyle):
2819         * rendering/RenderButton.cpp:
2820         (WebCore::RenderButton::updatePseudoChild): Added. Calls updatePseudoChildForObject()
2821         on the button itself or on its inner div, if it has one.
2822         * rendering/RenderButton.h:
2823         (WebCore::RenderButton::createsAnonymousWrapper): Added. Returns true.
2824         * rendering/RenderContainer.cpp:
2825         (WebCore::RenderContainer::pseudoChild): Added. Returns the child containing
2826         generated content of the requested type if there is one, or otherwise the
2827         child before/after which such generated content should come.
2828         (WebCore::RenderContainer::updatePseudoChild): Removed the child parameter and moved the guts
2829         of this method into updatePseudoChildForObject, which this method calls unless the object
2830         is an anonymous wrapper.
2831         (WebCore::RenderContainer::updatePseudoChildForObject): Added. Does the what
2832         updatePseudoChildForObject did previously, but fetches the pseudo style from
2833         the styledObject parameter.
2834         * rendering/RenderContainer.h:
2835         * rendering/RenderInline.cpp:
2836         (WebCore::RenderInline::setStyle):
2837         (WebCore::RenderInline::addChildToFlow):
2838         (WebCore::RenderInline::splitInlines):
2839         (WebCore::RenderInline::splitFlow):
2840         * rendering/RenderObject.h:
2841         (WebCore::RenderObject::createsAnonymousWrapper): Added. This method replaces
2842         allowsReusingAnonymousChild and returns the opposite of what that method used to
2843         return. Returns true if the object creates an anonymous child to contain all its
2844         other children.
2845
2846 2006-06-27  Brady Eidson  <beidson@apple.com>
2847
2848         Reviewed by Maciej
2849
2850         Hookup the new semi-functional SQLite icon database.
2851         For now, it is living side-by-side with the old DB so one can compare the
2852         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
2853         compile with ICONDEBUG #defined.
2854
2855         * WebCore.xcodeproj/project.pbxproj:  Added file SiteIcon.cpp
2856
2857         * bridge/mac/WebCoreIconDatabaseBridge.h:
2858         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2859         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
2860         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
2861         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
2862         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
2863
2864         * icon/IconDatabase.cpp:
2865         (WebCore::IconDatabase::isValidDatabase):
2866         (WebCore::IconDatabase::recreateDatabase):
2867         (WebCore::IconDatabase::createPrivateTables):
2868         (WebCore::IconDatabase::deletePrivateTables):
2869         (WebCore::IconDatabase::imageDataForIconID):
2870         (WebCore::IconDatabase::imageDataForIconURL):
2871         (WebCore::IconDatabase::imageDataForPageURL):
2872         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
2873         (WebCore::IconDatabase::iconForPageURL):
2874         (WebCore::IconDatabase::iconURLForURL):
2875         (WebCore::IconDatabase::setIconDataForIconURL):
2876         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
2877         (WebCore::IconDatabase::setHaveNoIconForIconURL):
2878         (WebCore::IconDatabase::setIconURLForPageURL):
2879         (WebCore::IconDatabase::hasIconForIconURL):
2880         * icon/IconDatabase.h:
2881         (WebCore::SiteIcon::getIconURL):
2882         (WebCore::IconDatabase::getPrivateBrowsingEnabled):
2883         
2884         * icon/SiteIcon.cpp: Added.
2885         (SiteIcon::SiteIcon):
2886         (SiteIcon::~SiteIcon):
2887         (SiteIcon::getImage):
2888         (SiteIcon::resetExpiration):
2889         (SiteIcon::getExpiration):
2890
2891 2006-06-27  Rob Buis  <buis@kde.org>
2892
2893         Reviewed by Darin.
2894
2895         http://bugzilla.opendarwin.org/show_bug.cgi?id=9605
2896         REGRESSION: pageX and pageY are both 0 for events created with initMouseEvent
2897
2898         Calculate pageX/pageY and clientX/clientY values when using initMouseEvent.
2899
2900         * dom/MouseEvent.cpp:
2901         (WebCore::MouseEvent::initMouseEvent):
2902         * dom/MouseRelatedEvent.cpp:
2903         (WebCore::MouseRelatedEvent::initCoordinates):
2904         * dom/MouseRelatedEvent.h:
2905
2906 2006-06-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2907
2908         Reviewed by Maciej and Darin.
2909
2910         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9317
2911           REGRESSION: crash in HTML tokenizer at Japanese Apple support page
2912
2913         Test: fast/tokenizer/write-unclosed-script.html
2914
2915         * html/HTMLTokenizer.cpp:
2916         (WebCore::HTMLTokenizer::scriptHandler): Changed to reset the inScript flag
2917         and scriptCodeSize before possible script execution, but not afterwards.
2918         This way, if script execution write()s a <script> tag without closing it,
2919         the tokenizer is left in inScript state. Added code to set the requestingScript
2920         flag around the request for the cached script, to let notifiyFinished() know
2921         that it's being called under scriptHandler().
2922         (WebCore::HTMLTokenizer::scriptExecution): Removed code that saved and restored
2923         the inScript flag. This function is always entered now with inScript being false.
2924         (WebCore::HTMLTokenizer::notifyFinished): Changed to use the new requestingScript
2925         state flag instead of the inScript flag, which is always false now when entering
2926         this function.
2927         * html/HTMLTokenizer.h:
2928         Added the requestingScript state bit, used to tell notifyFinished() that it
2929         is being called under scriptHandler() (which happens when the script is already
2930         in cache).
2931
2932 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
2933
2934         Reviewed by levi
2935
2936         * editing/JSEditor.cpp: Added RemoveFormat.
2937
2938 2006-06-27  Kevin Decker    <kdecker@apple.com>
2939
2940         Reviewed by brady.
2941
2942         Fixed: <rdar://problem/4597679> TOT REGRESSION: popup blocker DOA
2943         
2944         Need to add window.open() support to DumpRenderTree before landing an actual layout test.
2945
2946         * bindings/js/kjs_window.cpp: 
2947         (KJS::WindowFunc::callAsFunction): Because FrameTree::find() returns true for empty strings, 
2948         we must check for empty framenames. Otherwise, illegitimate window.open() calls with no name
2949         will pass right through the popup blocker.
2950
2951 2006-06-28  Anders Carlsson  <acarlsson@apple.com>
2952
2953         Reviewed by Darin.
2954
2955         * css/CSSComputedStyleDeclaration.cpp:
2956         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2957         Move FIXME comment here.
2958         
2959         * page/DOMWindow.cpp:
2960         (WebCore::DOMWindow::getComputedStyle):
2961         Don't do a null check on the renderer here. Everything's handled by 
2962         CSSComputedStyleDeclaration anyway.
2963
2964 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
2965
2966         Reviewed by darin
2967
2968         * rendering/RenderContainer.cpp: Fixed #include formatting.
2969
2970 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
2971
2972         Reviewed by levi
2973         
2974         <rdar://problem/4599735> Clicking out of a table at the extremes of an editable document doesn't appear to work
2975
2976         * rendering/RenderBlock.cpp:
2977         (WebCore::RenderBlock::positionForCoordinates): In the fall through case,
2978         where we can't find a child block that contains (x, y), pass to RenderFlow
2979         instead of the last visible child block.
2980         * rendering/RenderContainer.cpp:
2981         (WebCore::RenderContainer::positionForCoordinates): Don't pass to the closest 
2982         child renderer if this is a table and (x, y) is outside the table.  Return
2983         a VisiblePosition before or after the table.
2984         Fixed the code that finds the closest child renderer.
2985
2986 2006-06-27  David Hyatt  <hyatt@apple.com>
2987
2988         Preserve entity text in view source mode.  This patch doesn't highlight the
2989         the entities yet, but it at least prevents their resolution and removal.
2990
2991         Reviewed by darin
2992
2993         * WebCore.xcodeproj/project.pbxproj:
2994         * html/HTMLTokenizer.cpp:
2995         (WebCore::HTMLTokenizer::parseEntity):
2996
2997 2006-06-27  Anders Carlsson  <acarlsson@apple.com>
2998
2999         Reviewed by Geoff.
3000
3001         http://bugzilla.opendarwin.org/show_bug.cgi?id=9623
3002         REGRESSION: getComputedStyle should do a relayout
3003         
3004         * page/DOMWindow.cpp:
3005         (WebCore::DOMWindow::getComputedStyle):
3006         Do a relayout.
3007
3008 2006-06-27  Maciej Stachowiak  <mjs@apple.com>
3009
3010         Reviewed by Adele
3011
3012         - fixed <rdar://problem/4550473> Reproducible hang on www.digg.com
3013         
3014         * dom/NodeList.cpp:
3015         (WebCore::NodeList::recursiveItem): Make NodeList caching also
3016         work for backwards iteration - if the requested index is before
3017         the last cached, but closer to it than to the start of the list,
3018         then search backwards from there.
3019         (WebCore::NodeList::itemForwardsFromCurrent): Split this out as a
3020         helper method.
3021         (WebCore::NodeList::itemBackwardsFromCurrent): New helper, similar
3022         to the above.
3023         * dom/NodeList.h:
3024
3025 2006-06-27  Brady Eidson  <beidson@apple.com>
3026
3027         Reviewed by Levi
3028
3029         Some SQLDatabase cleanup (style stuff) and enhancements
3030
3031         * icon/SQLDatabase.cpp:
3032         (SQLDatabase::open):
3033         (SQLDatabase::executeCommand):
3034         (SQLDatabase::returnsAtLeastOneResult):  Accessor to see if this query returns results
3035         (SQLDatabase::lastInsertRowID):  Accessor for the rowid of the last insert
3036         * icon/SQLDatabase.h:
3037         (WebCore::SQLStatement::prepareAndStep):
3038         * icon/SQLStatement.cpp:
3039         (WebCore::SQLStatement::bindInt64):
3040         -All of the following used to require the user to manually prepare and step a statement
3041         before asking for the result.  Now it will prepare and step itself so you can use a temporary
3042         object to get a quick result
3043         (WebCore::SQLStatement::getColumnName):
3044         (WebCore::SQLStatement::getColumnName16):
3045         (WebCore::SQLStatement::getColumnText):
3046         (WebCore::SQLStatement::getColumnText16):
3047         (WebCore::SQLStatement::getColumnDouble):
3048         (WebCore::SQLStatement::getColumnInt):
3049         (WebCore::SQLStatement::getColumnInt64):
3050         (WebCore::SQLStatement::getColumnBlobAsVector):
3051         (WebCore::SQLStatement::getColumnBlob):
3052
3053 2006-06-27  Ada Chan <adachan@apple.com>
3054
3055         Reviewed by sfalken.
3056
3057         Fixed build.
3058
3059         * WebCore.vcproj/WebCore/WebCore.vcproj:
3060
3061 2006-06-27  Beth Dakin  <bdakin@apple.com>
3062
3063         Reviewed by Hyatt.
3064
3065         Fix for <rdar://problem/4602635> Media queries must be extended to 
3066         address CSS pixel scaling factor
3067
3068         * css/MediaFeatureNames.h: Add -webkit-device-pixel-ratio, -webkit-
3069         min-device-pixel-ratio, and -webkit-max-device-pixel-ratio to the 
3070         list of feature names.
3071         * css/MediaQueryEvaluator.cpp:
3072         (WebCore::cmpvalue): Added a version of cmpvalue that compares 
3073         floats.
3074         (WebCore::device_pixel_ratioMediaFeatureEval):
3075         (WebCore::min_device_pixel_ratioMediaFeatureEval):
3076         (WebCore::max_device_pixel_ratioMediaFeatureEval):
3077
3078 2006-06-27  Darin Adler  <darin@apple.com>
3079
3080         Reviewed by Geoff.
3081
3082         - finish with http://bugzilla.opendarwin.org/show_bug.cgi?id=9606
3083           REGRESSION: some callers are still using clientX/Y to get pageX/Y
3084
3085         * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize):
3086         Change to use pageX/Y, but this really doesn't matter since framesets
3087         can't be scrolled -- it's the frames that are scrolled. So this change
3088         has no user-visible effect, but it's still better this way.
3089
3090 2006-06-27  Darin Adler  <darin@apple.com>
3091
3092         Reviewed by Geoff.
3093
3094         - fix 2/3 of http://bugzilla.opendarwin.org/show_bug.cgi?id=9606
3095           REGRESSION: some callers are still using clientX/Y to get pageX/Y
3096
3097         Test: fast/events/anchor-image-scrolled-x-y.html
3098         Test: fast/events/input-image-scrolled-x-y.html
3099
3100         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): Use pageX/Y.
3101         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
3102
3103 2006-06-27  Brady Eidson  <beidson@apple.com>
3104
3105         Reviewed by Maciej
3106
3107         Added functionality to WebCore::Image to get multiple representations/sizes into TIFF data
3108
3109         * platform/mac/ImageMac.mm:
3110         (WebCore::Image::getTIFFRepresentation):
3111
3112 2006-06-26  David Hyatt  <hyatt@apple.com>
3113
3114         Fix for 9538, support syntax highlighted HTML source.  Lots of loose
3115         ends still (script/style/comments/doctype/entities/accurate whitespace).
3116
3117         Reviewed by darin
3118
3119         * DerivedSources.make:
3120         * WebCore.xcodeproj/project.pbxproj:
3121         * bridge/mac/WebCoreFrameBridge.h:
3122         * bridge/mac/WebCoreFrameBridge.mm:
3123         (-[WebCoreFrameBridge setInViewSourceMode:]):
3124         (-[WebCoreFrameBridge inViewSourceMode]):
3125         * css/cssstyleselector.cpp:
3126         (WebCore::CSSStyleSelector::loadDefaultStyle):
3127         (WebCore::CSSStyleSelector::matchUARules):
3128         * css/cssstyleselector.h:
3129         * css/view-source.css: Added.
3130         * dom/Document.cpp:
3131         (WebCore::Document::implicitClose):
3132         * dom/xml_tokenizer.h:
3133         (WebCore::Tokenizer::Tokenizer):
3134         (WebCore::Tokenizer::~Tokenizer):
3135         (WebCore::Tokenizer::inViewSourceMode):
3136         (WebCore::Tokenizer::setInViewSourceMode):
3137         * html/HTMLAttributeNames.in:
3138         * html/HTMLFrameElement.cpp:
3139         (WebCore::HTMLFrameElement::init):
3140         (WebCore::HTMLFrameElement::parseMappedAttribute):
3141         (WebCore::HTMLFrameElement::attach):
3142         * html/HTMLFrameElement.h:
3143         (WebCore::HTMLFrameElement::viewSourceMode):
3144         * html/HTMLTokenizer.cpp:
3145         (WebCore::HTMLTokenizer::HTMLTokenizer):
3146         (WebCore::HTMLTokenizer::scriptHandler):
3147         (WebCore::HTMLTokenizer::scriptExecution):
3148         (WebCore::HTMLTokenizer::parseTag):
3149         (WebCore::HTMLTokenizer::continueProcessing):
3150         (WebCore::HTMLTokenizer::write):
3151         (WebCore::HTMLTokenizer::timerFired):
3152         (WebCore::HTMLTokenizer::end):
3153         (WebCore::HTMLTokenizer::processToken):
3154         (WebCore::HTMLTokenizer::notifyFinished):
3155         * html/HTMLTokenizer.h:
3156         * html/HTMLViewSourceDocument.cpp: Added.
3157         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
3158         (WebCore::HTMLViewSourceDocument::createTokenizer):
3159         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
3160         (WebCore::HTMLViewSourceDocument::addViewSourceAttribute):
3161         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
3162         * html/HTMLViewSourceDocument.h: Added.
3163         * page/Frame.cpp:
3164         (WebCore::Frame::begin):
3165         (WebCore::Frame::inViewSourceMode):
3166         (WebCore::Frame::setInViewSourceMode):
3167         * page/Frame.h:
3168         * page/FramePrivate.h:
3169         (WebCore::FramePrivate::FramePrivate):
3170         * rendering/RenderPartObject.cpp:
3171         (WebCore::RenderPartObject::updateWidget):
3172
3173 2006-06-26  Anders Carlsson  <acarlsson@apple.com>
3174
3175         Reviewed by Darin.
3176
3177         http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
3178         REGRESSION: Crash when closing tabs on newegg.com
3179         
3180         * page/Frame.cpp:
3181         (WebCore::Frame::pageDestroyed):        
3182         * page/Frame.h:
3183         Add new method which is invoked when the frame's page has been destroyed.
3184         Currently this function disassociates the JS Window object with the frame, 
3185         stopping any running JS timers.
3186         
3187         * page/Page.cpp:
3188         (WebCore::Page::~Page):
3189         Call pageDestroyed on all frames.
3190
3191 2006-06-26  Rob Buis  <buis@kde.org>
3192
3193         Reviewed and reworked by Darin.
3194
3195         Code cleanup, calculate clientX/clientY in one central place.
3196
3197         * dom/EventTargetNode.h:
3198         * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent):
3199         Renamed parameters to pageX/Y since they aren't clientX/Y values.
3200         Removed code to compute clientX/Y (was a bit confused in naming before),
3201         because that's now done inside MouseEvent.
3202
3203         * dom/MouseEvent.h:
3204         * dom/MouseEvent.cpp:
3205         (WebCore::MouseEvent::MouseEvent): Removed clientX/Y parameters.
3206         (WebCore::MouseEvent::initMouseEvent): Added comments about problems I noticed.
3207         (WebCore::MouseEvent::which): Fixed comment that confusingly mentioned KHTML,
3208         when it was talking about the DOM standard.
3209
3210         * dom/MouseRelatedEvent.h:
3211         * dom/MouseRelatedEvent.cpp:
3212         (WebCore::contentsX): Added helper function.
3213         (WebCore::contentsY): Ditto.
3214         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Removed clientX/Y parameter,
3215         and added code to compute clientX/Y based on pageX/Y.
3216         (WebCore::MouseRelatedEvent::receivedTarget): Fixed comments.
3217
3218         * dom/WheelEvent.h:
3219         * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): Removed clientX/Y
3220         parameter.
3221
3222         * page/FrameView.cpp: (WebCore::FrameView::dispatchDragEvent): Removed the code
3223         to compute coordinates, and renamed the confusingly named clientPos (which was
3224         a page-relative position) to contentsPos.
3225
3226 2006-06-25  David Carson  <dacarson@gmail.com>
3227
3228         Reviewed and tweaked by Darin.
3229
3230         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9185
3231         REGRESSION: UserID field appears with an incorrect height 
3232         on americanexpresslogin page
3233         - Height and Width attribute only applies to IMAGE and HIDDEN
3234         types.
3235
3236         * dom/NamedMappedAttrMap.h:
3237         (WebCore::NamedMappedAttrMap::getAttributeItem):
3238         Added to static_cast method.
3239
3240         * html/HTMLInputElement.cpp:
3241         (WebCore::HTMLInputElement::setInputType):
3242         Update the style decl if input type has changed.
3243         (WebCore::HTMLInputElement::mapToEntry):
3244         Only Cache height and width if it is an IMAGE or HIDDEN
3245         (WebCore::HTMLInputElement::parseMappedAttribute):
3246         Check type before adding height and width style.
3247         (WebCore::HTMLInputElement::attach):
3248         Remove code for discarding width.
3249
3250         * html/HTMLInputElement.h:
3251         (WebCore::HTMLInputElement::respectHeightAndWidthAttrs):
3252         New method added to report if this input type uses height & width.
3253
3254 2006-06-25  David Kilzer  <ddkilzer@kilzer.net>
3255
3256         Reviewed by Darin.
3257
3258         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9537
3259           REGRESSION: Reproducible crash in WebCore::RenderTextField::textWithHardLineBreaks()
3260
3261         Test: fast/forms/textarea-hard-linewrap-empty.html
3262
3263         * rendering/RenderTextField.cpp:
3264         (WebCore::RenderTextField::textWithHardLineBreaks): Added null check for
3265         m_div->firstChild()->renderer().
3266
3267 2006-06-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3268
3269         Reviewed by Darin.
3270
3271         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9388
3272           REGRESSION: outlines don't get erased when removed in some cases
3273
3274         Test: fast/repaint/outline-shrinking.html
3275
3276         * rendering/RenderObject.cpp:
3277         (WebCore::RenderObject::setStyle): Always repaint with the old style if the outline is
3278         becoming narrower, even if we are going to relayout.
3279
3280 2006-06-25  Rob Buis  <buis@kde.org>
3281
3282         Reviewed by Darin.
3283
3284         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8707:
3285         event.clientX and event.clientY should be relative to the viewport, not the canvas
3286
3287         Make sure clientX and clientY take into account the scroll offsets
3288         of the view.
3289
3290         * dom/EventTargetNode.cpp:
3291         (WebCore::EventTargetNode::dispatchMouseEvent):
3292         * dom/MouseEvent.cpp:
3293         (WebCore::MouseEvent::MouseEvent):
3294         * dom/MouseEvent.h:
3295         * dom/MouseRelatedEvent.cpp:
3296         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3297         (WebCore::MouseRelatedEvent::initCoordinates):
3298         * dom/MouseRelatedEvent.h:
3299         * dom/WheelEvent.cpp:
3300         (WebCore::WheelEvent::WheelEvent):
3301         * page/FrameView.cpp:
3302         (WebCore::FrameView::dispatchDragEvent):
3303
3304 2006-06-25  Timothy Hatcher  <timothy@apple.com>
3305
3306         Reviewed by Darin.
3307
3308         Bug 9574: Drosera should show inline scripts within the original HTML
3309         http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
3310
3311         * Pass the starting line number and error message to the debugger.
3312         * Call parsedSource even if there was a script parse error so the
3313           debugger can show the parse error.
3314         * Pass NSURL objects to the ObjC delegate for the script URLs.
3315
3316         * bridge/mac/WebCoreScriptDebugger.h:
3317         * bridge/mac/WebCoreScriptDebugger.mm:
3318         (toNSURL):
3319         (WebCoreScriptDebuggerImp::sourceParsed):
3320
3321 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
3322
3323         Build fix.  Reviewed by NOBODY.
3324
3325         - Backed out patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=8707
3326           event.clientX and event.clientY should be relative to the viewport, not the canvas
3327
3328         * dom/EventTargetNode.cpp:
3329         (WebCore::EventTargetNode::dispatchMouseEvent):
3330         * dom/MouseEvent.cpp:
3331         (WebCore::MouseEvent::MouseEvent):
3332         * dom/MouseEvent.h:
3333         * dom/MouseRelatedEvent.cpp:
3334         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3335         (WebCore::MouseRelatedEvent::initCoordinates):
3336         * dom/MouseRelatedEvent.h:
3337         * dom/WheelEvent.cpp:
3338         (WebCore::WheelEvent::WheelEvent):
3339
3340 2006-06-24  Rob Buis  <buis@kde.org>
3341
3342         Reviewed by Darin.
3343
3344         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8707:
3345         event.clientX and event.clientY should be relative to the viewport, not the canvas
3346
3347         Make sure clientX and clientY take into account the scroll offsets
3348         of the view.
3349
3350         Test: fast/dom/window-xy-properties.html
3351
3352         * dom/EventTargetNode.cpp:
3353         (WebCore::EventTargetNode::dispatchMouseEvent):
3354         * dom/MouseEvent.cpp:
3355         (WebCore::MouseEvent::MouseEvent):
3356         * dom/MouseEvent.h:
3357         * dom/MouseRelatedEvent.cpp:
3358         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3359         (WebCore::MouseRelatedEvent::initCoordinates):
3360         * dom/MouseRelatedEvent.h:
3361         * dom/WheelEvent.cpp:
3362         (WebCore::WheelEvent::WheelEvent):
3363
3364 2006-06-24  Rob Buis  <buis@kde.org>
3365
3366         Reviewed by Darin.
3367
3368         http://bugzilla.opendarwin.org/show_bug.cgi?id=9352
3369         Webkit doesn't respect stroke-width in SVG for smaller <circle>s
3370
3371         Make sure the stroke path is set before applying gradient transforms.
3372
3373         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
3374         (WebCore::KRenderingPaintServerGradientQuartz::setup):
3375         (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
3376
3377 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
3378
3379         Rubber-stamped by Eric.
3380
3381         Add a -h (do not follow symlinks) option to ln in derived sources build script (without it,
3382         a symlink was created inside the source directory on second build).
3383
3384         * WebCore.xcodeproj/project.pbxproj:
3385
3386 2006-06-24  James G. Speth  <speth@end.com>
3387
3388         Reviewed by Darin.  Copyrights tweaked by ddkilzer.
3389         
3390         Bug 8331: DOMNodeLists returned to Objective-C are not properly wrapped
3391         http://bugzilla.opendarwin.org/show_bug.cgi?id=8331
3392         
3393         DOMNodes were the only objects handled by createObjcInstanceForValue.
3394         now it handles all of these: DOMNode, DOMNodeList, DOMNamedNodeMap, DOMStyleSheetList,
3395         DOMStyleSheet, DOMMediaList, DOMCSSRuleList, DOMCSSRule, DOMCSSStyleDeclaration, and DOMCSSValue
3396         
3397         * WebCore.xcodeproj/project.pbxproj: added file DOMCSSInternal.h to project
3398         * bindings/js/kjs_css.cpp:
3399         (KJS::): changed ClassInfo for DOMCSSStyleSheet to have DOMStyleSheet as its parent class
3400         * bindings/objc/DOM.mm:
3401         (-[DOMDocumentType :]):  moved DOMNamedNodeMap (WebCoreInternal) interface to DOMInternal.h
3402         * bindings/objc/DOMCSS.mm: moved WebCoreInternal interfaces to DOMCSSInternal.h
3403         * bindings/objc/DOMCSSInternal.h: Added file, contains WebCoreInternal interface for CSS classes
3404         * bindings/objc/DOMInternal.h: added DOMNamedNodeMap (WebCoreInternal) interface
3405         * bindings/objc/DOMUtility.mm:
3406         (KJS::ScriptInterpreter::createObjcInstanceForValue): support for more classes
3407
3408 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
3409
3410         Reviewed by Timothy.
3411
3412         * Info.plist: Fixed copyright to include 2003-2006.
3413         * manual-tests/NPN_Invoke/Info.plist: Added copyright statement.
3414
3415 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3416
3417         Reviewed by Darin, landed by ap.
3418
3419         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9547
3420           Resize corner does not track the mouse accurately
3421
3422         Test: fast/css/resize-corner-tracking.html
3423
3424         * page/FrameView.cpp:
3425         (WebCore::FrameView::handleMousePressEvent): Store the offset from the layer's
3426         resizing corner where dragging has started.
3427         (WebCore::FrameView::handleMouseMoveEvent): Pass the stored offset to the
3428         layer's resize method.
3429         * rendering/RenderLayer.cpp:
3430         (WebCore::RenderLayer::resize): Added an offset parameter, which is added to
3431         the mouse location.
3432         For objects that may have intrinsic margins applied to them,
3433         added code to lift the margins into the object's style in order to keep them
3434         constant.
3435         Changed to take the content size as the base size if the box-sizing property
3436         is content-box.
3437         (WebCore::RenderLayer::offsetFromResizeCorner): Added. Returns the offset of the
3438         given point from the corner that tracks the mouse when resizing.
3439         * rendering/RenderLayer.h:
3440
3441 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3442
3443         Reviewed by Darin, landed by ap.
3444
3445         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9316
3446           REGRESSION: text field width shrinks on first keystroke
3447
3448         Test: fast/forms/floating-textfield-relayout.html
3449
3450         * page/FrameView.cpp:
3451         (WebCore::FrameView::layoutRoot): Added. During subtree relayout, returns
3452         the subtree root. Otherwise returns 0.
3453         (WebCore::FrameView::layoutPending): Made const.
3454         * page/FrameView.h:
3455         * rendering/RenderBox.cpp:
3456         (WebCore::RenderBox::calcWidth): Added early return if this is the root
3457         of a subtree being laid out. 
3458
3459 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3460
3461         Reviewed by Hyatt.
3462
3463         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9531
3464           Pages that need only a horizontal scroll bar get a vertical one as well
3465
3466         The change affects many existing tests.
3467
3468         * page/FrameView.cpp:
3469         (WebCore::FrameView::layout): Mark the body renderer as needing layout if
3470         the view's height has changed and the body stretches to the view's height.
3471         * rendering/RenderBox.cpp:
3472         (WebCore::RenderBox::calcHeight):
3473         * rendering/RenderBox.h:
3474         (WebCore::RenderBox::stretchesToViewHeight): Added. Moved the logic for when
3475         the HTML block needs to stretch to the view's height from calcHeight() here.
3476
3477 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
3478
3479         Reviewed by Darin.
3480
3481         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7461
3482           Always encode the path part of an URI as UTF-8
3483
3484         Test: http/tests/uri/utf8-path.html
3485
3486         * platform/KURL.cpp:
3487         (encodeRelativeString): Always set pathEncoding to UTF-8.
3488
3489 2006-06-24  Graham Dennis  <Graham.Dennis@gmail.com>
3490
3491         Reviewed by Darin, landed by ap.
3492         
3493         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9467
3494           TreeWalker/NodeIterator do not restrict the traversal
3495         
3496         Test: traversal/stay-within-root.html
3497
3498         * dom/Node.cpp:
3499         (WebCore::Node::traversePreviousNode):
3500         * dom/Node.h:
3501         Add a stayWithin argument to traversePreviousNode just like the other
3502         traversal functions
3503         * dom/NodeIterator.cpp:
3504         (WebCore::NodeIterator::findNextNode):
3505         (WebCore::NodeIterator::findPreviousNode):
3506         Ensure that when moving forward or backward that the root node is not
3507         exited
3508         * dom/TreeWalker.cpp:
3509         (WebCore::TreeWalker::previousNode):
3510         (WebCore::TreeWalker::nextNode):
3511         Ditto
3512         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
3513
3514 2006-06-24  Jonas Witt <jonas.witt@gmail.com>
3515
3516         Reviewed by ggaren, landed by ap.
3517
3518         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9181
3519           Complete DOMUIEvent Obj-C API to reflect UIEvent
3520
3521         * WebCore.exp: add new classes DOMKeyboardEvent and DOMWheelEvent to the exported 
3522           symbols list of WebCore.framework
3523
3524         Updated DOMUIEvent to include all DOM Level 2 properties
3525         Added DOMKeyboardEvent (DOM Level 3)
3526         Added two non-W3C accessors (keyCode, charCode) of DOMKeyboardEvent to a separate file (DOMEventsNonstandard)
3527         Added DOMWheelEvent (non-W3C) in separate file (DOMEventsNonstandard)
3528         Added this file (DOMEventsNonstandard) to the build process
3529
3530         * WebCore.xcodeproj/project.pbxproj:
3531         * bindings/objc/DOM.h:
3532         * bindings/objc/DOMEvents.h:
3533         * bindings/objc/DOMEvents.mm:
3534         (+[DOMEvent _eventWith:]):
3535         (-[DOMUIEvent _UIEvent]):
3536         (-[DOMUIEvent view]):
3537         (-[DOMUIEvent detail]):
3538         (-[DOMUIEvent initUIEvent:::::]):
3539         (-[DOMKeyboardEvent _keyboardEvent]):
3540         (-[DOMKeyboardEvent keyIdentifier]):
3541         (-[DOMKeyboardEvent keyLocation]):
3542         (-[DOMKeyboardEvent ctrlKey]):
3543         (-[DOMKeyboardEvent shiftKey]):
3544         (-[DOMKeyboardEvent altKey]):
3545         (-[DOMKeyboardEvent metaKey]):
3546         (-[DOMKeyboardEvent getModifierState:]):
3547         (-[DOMMouseEvent button]):
3548         * bindings/objc/DOMEventsNonstandard.mm: Added.
3549         (-[DOMWheelEvent _wheelEvent]):
3550         (-[DOMWheelEvent screenX]):
3551         (-[DOMWheelEvent screenY]):
3552         (-[DOMWheelEvent clientX]):
3553         (-[DOMWheelEvent clientY]):
3554         (-[DOMWheelEvent ctrlKey]):
3555         (-[DOMWheelEvent shiftKey]):
3556         (-[DOMWheelEvent altKey]):
3557         (-[DOMWheelEvent metaKey]):
3558         (-[DOMWheelEvent isHorizontal]):
3559         (-[DOMWheelEvent wheelDelta]):
3560         (-[DOMKeyboardEvent _keyboardEvent]):
3561         (-[DOMKeyboardEvent keyCode]):
3562         (-[DOMKeyboardEvent charCode]):
3563         * bindings/objc/DOMPrivate.h: