7a34adcd5696d124f4d8957a21d9e67003458797
[WebKit-https.git] / WebCore / ChangeLog
1 2006-04-04  Justin Garcia  <justin.garcia@apple.com>
2
3         Reviewed by darin
4         
5         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6608>
6         REGRESSION: Line disappears when deleting
7         
8         Rewrote moveNodesAfterNode to address these problems:
9         It moved nodes without preserving their style. 
10         It traversed over siblings looking for a br to know when
11         to stop merging.  If the br was burried inside a span, it 
12         wouldn't find it.  If the text is whitespace:pre, it wouldn't
13         stop.
14         In theory it would crash if the "enclosingInlineElements" of the start of the
15         selection to delete and the end of the selection to delete were the
16         same.  We think that this will fix these:
17         <rdar://problems/3950559&4498113>
18         CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
19         CrashTracer: 1569 crashes in Mail at com.apple.WebCore: khtml::DeleteSelectionCommand::moveNodesAfterNode + 340
20         But we haven't been able to construct a reproducible case.
21         
22         * editing/CompositeEditCommand.cpp:
23         (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Moved from ReplaceSelectionCommand.
24         (WebCore::CompositeEditCommand::prune): Ditto.
25         * editing/CompositeEditCommand.h:
26         * editing/DeleteSelectionCommand.cpp:
27         (WebCore::DeleteSelectionCommand::mergeParagraphs):
28         (WebCore::DeleteSelectionCommand::doApply):
29         * editing/DeleteSelectionCommand.h:
30         * editing/ReplaceSelectionCommand.cpp:
31         (WebCore::ReplaceSelectionCommand::doApply):
32         * editing/ReplaceSelectionCommand.h:
33         (WebCore::):
34         * editing/markup.cpp:
35         (WebCore::createMarkup): 
36         Was crashing when passed a collapsed range.  I early return an empty string instead.
37
38 2006-04-04  John Sullivan  <sullivan@apple.com>
39
40         Reviewed by Adele Peterson.
41         
42         - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
43
44         * bridge/mac/WebCoreSettings.h:
45         * bridge/mac/WebCoreSettings.mm:
46         (-[WebCoreSettings setPrivateBrowsingEnabled:]):
47         (-[WebCoreSettings privateBrowsingEnabled]):
48         Teach WebCoreSettings about private browsing (WebKit knew, but WebCore didn't)
49         
50         * kwq/KWQKHTMLSettings.h:
51         (KHTMLSettings::privateBrowsingEnabled):
52         (KHTMLSettings::setPrivateBrowsingEnabled):
53         Teach KHTMLSettings about private browsing
54         
55         * kwq/KWQLineEdit.mm:
56         Fix wrong class in a category method declaration; the compiler didn't seem to mind.
57         
58         * kwq/WebCoreTextField.mm:
59         (-[KWQSearchFieldCell _addStringToRecentSearches:]):
60         Override this method to bail out if private browsing is enabled.
61
62 2006-04-04  Trey Matteson  <trey@usa.net>
63
64         Reviewed by Hyatt.
65
66         http://bugzilla.opendarwin.org/show_bug.cgi?id=7951
67         REGRESSION: Safari crashes when printing a google map w/directions
68
69         Tests: none, because I believe it only happens when printing, due to the relayouts
70
71         * rendering/RenderTable.cpp:
72         (WebCore::RenderTable::recalcSectionsIfNeeded): Add new utility to let the cells
73         ensure the sections' grid data is up to date.
74         * rendering/RenderTable.h:
75         * rendering/RenderTableCell.cpp:
76         (WebCore::RenderTableCell::calcMinMaxWidth):  Call above method.
77
78 2006-04-03  Justin Haygood <jhaygood@spsu.edu>
79
80         Reviewed by eseidel.  Landed by eseidel.
81         
82         - WIN32: maximumScroll() is the maximum scroll delta, not the maximum scroll position. Update to use
83           the real maximum scroll position.
84         http://bugzilla.opendarwin.org/show_bug.cgi?id=8160
85
86         * platform/win/ScrollViewWin.cpp:
87         (WebCore::ScrollView::updateScrollBars):
88
89 2006-04-04  Eric Seidel  <eseidel@apple.com>
90
91         Reviewed by andersca.
92
93         Work-around spaces-in-pathnames issue in gnumake on win32.
94         http://bugzilla.opendarwin.org/show_bug.cgi?id=8173
95
96         * WebCore.vcproj/WebCore/build-generated-files.sh:
97
98 2006-04-03  Darin Adler  <darin@apple.com>
99
100         - tried to fix build again
101
102         * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files.
103         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
104
105 2006-04-03  Darin Adler  <darin@apple.com>
106
107         - fixed properties on a bunch of files
108           (removed allow-tabs and svn:executable from many)
109
110         * css/css_base.cpp:
111         * html/html_headimpl.cpp:
112         * khtml/ecma/kjs_traversal.cpp:
113         * kwq/DeprecatedPtrListImpl.cpp:
114         * kwq/DeprecatedValueListImpl.cpp:
115         * loader/CachedScript.h:
116         * platform/ArrayImpl.cpp:
117         * platform/StringImpl.cpp:
118         * rendering/DataRef.h:
119         * rendering/RenderContainer.cpp:
120         * rendering/RenderTableCell.cpp:
121         * rendering/bidi.h:
122         * rendering/render_list.cpp:
123         * rendering/render_style.cpp:
124         * rendering/table_layout.h:
125         Converted tabs to spaces.
126
127 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
128
129         Reviewed by Darin.
130
131         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7118
132           Property values with extra items do not get treated as invalid (they should)
133
134         Tests: fast/css/invalidation-errors.html
135                fast/css/invalidation-errors-2.html
136                fast/css/invalidation-errors-3.html
137
138         * css/CSSGrammar.y: Rollback the properties added by parseValue() when it returns false.
139         * css/cssparser.h: Moved shorthand counting to ShorthandScope, a new class in cssparser.cpp.
140         * css/cssparser.cpp:
141         (WebCore::CSSParser::rollbackLastProperties): Added.
142         (WebCore::CSSParser::parseValue): Return false if there are too many properties in the list.
143         (WebCore::CSSParser::parseBackgroundShorthand): Use ShorthandScope.
144         (WebCore::CSSParser::parseShorthand): Ditto.
145         (WebCore::CSSParser::parse4Values): Ditto.
146
147 2006-04-03  Darin Adler  <darin@apple.com>
148
149         - changed StyleSheet back to hand-generated since the generated toJS
150           function was not making the right type of wrapper for CSS style sheets
151           (fixes failing layout tests)
152
153         * DerivedSources.make: Removed JSStyleSheet.h.
154         * css/StyleSheet.idl: Removed.
155         * khtml/ecma/kjs_css.cpp: Added DOMStyleSheet back in.
156         * khtml/ecma/kjs_css.h: Ditto.
157
158 2006-04-03  Darin Adler  <darin@apple.com>
159
160         - fixed Macintosh build
161
162         * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute
163         paths from my machine.
164
165 2006-04-03  Darin Adler  <darin@apple.com>
166
167         - try to fix Windows build
168
169         * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files.
170
171 2006-04-03  Darin Adler  <darin@apple.com>
172
173         Reviewed by Maciej.
174
175         - get RTL right for bug http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
176           REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
177
178         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
179         Scroll to the right if RTL.
180
181 2006-04-03  Darin Adler  <darin@apple.com>
182
183         Reviewed by Maciej.
184
185         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8147
186           convert derived sources script to a Makefile
187
188         * DerivedSources.make: Added.
189         * css/CSSPrimitiveValue.idl: Added.
190         * css/Counter.idl: Added.
191         * css/StyleSheet.idl: Added.
192
193         * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile.
194         * bindings/scripts/CodeGeneratorJS.pm:
195
196         * generate-derived-sources: Added license header. Removed most of the script, except for
197         a single invocation of make.
198
199         * khtml/ecma/kjs_css.h: Removed DOMStyleSheet, DOMCSSPrimitiveValue,
200         CSSPrimitiveValueConstructor, and DOMCounter.
201         * khtml/ecma/kjs_css.cpp:
202         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): Changed to use JSStyleSheet as the base class.
203         (KJS::DOMCSSStyleSheet::getOwnPropertySlot): Ditto.
204         (KJS::DOMCSSValueProtoFunc::callAsFunction): Added.
205         (KJS::toJS): Changed to use JSCSSPrimitiveValue.
206         (KJS::DOMRGBColor::getValueProperty): Changed to call toJS instead of making a
207         DOMCSSPrimitiveValue directly.
208
209 2006-04-03  Justin Garcia  <justin.garcia@apple.com>
210
211         Reviewed by harrison
212         
213         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8117>
214         REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page
215         
216         The frame's selection is only set after all sub-commands have been 
217         performed.  When we send the khtmlBeforeTextInsertedEvent to the root 
218         editable element we were using frame->selection(), which may no longer 
219         be in the document.
220         
221         Had to move the construction of the ReplacementFragment to when the
222         replace operation is applied, because endingSelection isn't the 
223         endingSelection of the last operation when the replace operation
224         is constructed.
225
226         * editing/ReplaceSelectionCommand.cpp:
227         (WebCore::ReplacementFragment::ReplacementFragment):
228         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
229         (WebCore::ReplaceSelectionCommand::doApply):
230         * editing/ReplaceSelectionCommand.h:
231
232 2006-04-03  Beth Dakin  <bdakin@apple.com>
233
234         Reviewed by Hyatt.
235
236         Fix for <rdar://problem/4495644> crash when mousing over links at 
237         nationalrealestateinvestors.com in 
238         WebCore::RenderBlock::findNextLineBreak
239
240         This is a fix for a repro crasher where a rootLineBox had a stale 
241         pointer to a render object.
242
243         * rendering/RenderFlow.cpp:
244         (WebCore::RenderFlow::dirtyLinesFromChangedChild): Only break from 
245         the function because of selfNeedsLayout() if we are not an inline 
246         flow, because if we are, we will not re-layout before bad things 
247         can happen.
248
249 2006-04-03  Timothy Hatcher  <timothy@apple.com>
250
251         Reviewed by Maciej.
252
253         Removing idl files and some scripts from the WebCore target to prevent
254         them from being copied into the Resources.
255
256         * WebCore.xcodeproj/project.pbxproj:
257
258 2006-04-03  Dave Hyatt
259
260         Implement basic theme support on Win32.  Still much to do, but
261         the backgrounds of buttons, textfields, checkboxes and radio
262         controls now draw correctly.  Still work to do for the Classic look
263         and to get the foreground defaults of the controls correct.
264
265         Reviewed by anders
266
267         * dom/Node.h:
268         (WebCore::Node::isReadOnly):
269         * html/HTMLInputElement.h:
270         (WebCore::HTMLInputElement::isReadOnly):
271         * platform/win/IntRectWin.cpp:
272         (WebCore::IntRect::operator RECT):
273         * rendering/RenderTheme.cpp:
274         (WebCore::RenderTheme::isControlStyled):
275         (WebCore::RenderTheme::stateChanged):
276         (WebCore::RenderTheme::isReadOnly):
277         (WebCore::RenderTheme::isHovered):
278         * rendering/RenderTheme.h:
279         (WebCore::RenderTheme::supportsHover):
280         * rendering/RenderThemeMac.h:
281         * rendering/RenderThemeMac.mm:
282         (WebCore::RenderThemeMac::isControlStyled):
283         * rendering/RenderThemeWin.cpp:
284         (WebCore::m_textFieldTheme):
285         (WebCore::RenderThemeWin::~RenderThemeWin):
286         (WebCore::RenderThemeWin::close):
287         (WebCore::RenderThemeWin::supportsFocus):
288         (WebCore::RenderThemeWin::determineState):
289         (WebCore::RenderThemeWin::getThemeData):
290         (WebCore::RenderThemeWin::paintButton):
291         (WebCore::RenderThemeWin::setCheckboxSize):
292         (WebCore::RenderThemeWin::setRadioSize):
293         (WebCore::RenderThemeWin::paintTextField):
294         * rendering/RenderThemeWin.h:
295         (WebCore::ThemeData::m_state):
296         (WebCore::RenderThemeWin::supportsHover):
297         (WebCore::RenderThemeWin::paintCheckbox):
298         (WebCore::RenderThemeWin::paintRadio):
299
300 2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
301
302         Reviewed by Beth.
303
304         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8085
305           REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us
306
307         Test: fast/dom/Element/offsetTop-table-cell.html
308
309         * rendering/RenderObject.cpp:
310         (WebCore::RenderObject::offsetTop): Skip table rows when adding up
311         the offsets, since a table cell's yPos() is relative to the table
312         section, not the row.
313
314 2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
315
316         Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html
317
318         Reviewed by Darin.
319
320         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7943
321           Layer outline does not repaint
322
323         * rendering/RenderLayer.cpp:
324         (WebCore::RenderLayer::paintLayer): Use the outlineRect for the
325         outline phase and do it only if the outlineRect isn't empty.
326         (WebCore::RenderLayer::calculateRects): Actually add the outline width to the
327         outline rect.
328
329 2006-04-03  Adele Peterson  <adele@apple.com>
330
331         Reviewed by Justin.
332
333         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8104
334         REGRESSION (NativeTextField): New text fields should not allow pasting newlines
335
336         Test: fast/forms/input-truncate-newline.html
337
338         * html/HTMLInputElement.cpp:
339         (WebCore::minPosition): Added helper function.
340         (WebCore::HTMLInputElement::defaultEventHandler): Searches for /r or /n and 
341          truncates the text to be inserted to the earliest newline.
342
343 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
344
345         Fixed a comment (forgot to save the file before the previous commit).
346
347         * xml/xmlhttprequest.cpp:
348         (WebCore::XMLHttpRequest::open):
349
350 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
351
352         Reviewed by Darin.
353
354         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8099
355           REGRESSION: XMLHttpRequest lowercase post requests broken
356
357         Test: http/tests/xmlhttprequest/methods-lower-case.html
358
359         * xml/xmlhttprequest.cpp:
360         (WebCore::XMLHttpRequest::open): Uppercase some HTTP method names, to match a Firefox quirk.
361         (WebCore::XMLHttpRequest::send): Account for the above change.
362
363 2006-04-02  Graham Dennis  <Graham.Dennis@gmail.com>
364
365         Reviewed by Darin.
366
367         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8032
368           REGRESSION: Focus ring not completely redrawn after a Delete changes its size
369
370         * rendering/RenderObject.cpp:
371         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): When an element changes size, the
372         delta rectangles that need to be invalidated must be inflated by the outline size to ensure
373         that the previous outline is erased, and the space where the new outline is to be drawn is
374         also invalidated. This behaviour is identical to the behaviour of borders that was fixed in
375         bug 6301.
376         * manual-tests/outline-repaint-glitch.html: Added. Manual testcase.
377         This is just an outline version of border-repaint-glitch.html
378
379 2006-04-02  Trey Matteson  <trey@usa.net>
380
381         Reviewed by Maciej.
382
383         Support for fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
384         REGRESSION: 404s are not displayed
385
386         * bridge/mac/WebCoreFrameBridge.mm:
387         (-[WebCoreFrameBridge currentForm]): Nuke redundant nil check.
388         (-[WebCoreFrameBridge frameElement]): Tweak to not rely on our document, which
389         gives a correct result even at the start of our loading process.
390         * bindings/objc/DOM.mm:
391         (-[DOMDocument _ownerElement]): Nuke redundant nil check.
392
393 2006-04-02  David Kilzer  <ddkilzer@kilzer.net>
394
395         Reviewed by Maciej.
396
397         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8079
398         REGRESSION: Redraw from page cache does not show visited links
399
400         * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back
401         updateStyleSelector call that was removed as part of the patch for bug 7907.
402
403 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
404
405         Reviewed by Hyatt.
406
407         - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
408         - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
409         (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
410         - fixed tab and shift tab don't select the right things
411         http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
412
413         * bridge/mac/FrameMac.mm:
414         (WebCore::FrameMac::nextKeyViewInFrame):
415         * bridge/mac/WebCoreFrameBridge.h:
416
417 2006-04-02  Darin Adler  <darin@apple.com>
418
419         - add a few stubs to get Windows closer to building
420
421         * platform/win/TemporaryLinkStubs.cpp:
422         (WebCore::focusRingColor):
423         (WebCore::setFocusRingColorChangeFunction):
424         (Frame::setNeedsReapplyStyles):
425
426 2006-04-02  Darin Adler  <darin@apple.com>
427
428         - fix the build
429
430         * WebCore.xcodeproj/project.pbxproj: Removed a bunch of files that should not have been
431         mentioned at all, and a bunch of others that should be in the project but not in the target.
432
433 2006-04-02  Darin Adler  <darin@apple.com>
434
435         Reviewed by Adele.
436
437         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8123
438           focus ring on new text field doesn't look like the old one
439
440         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7685
441           Focus ring color should change to match graphite when system theme is graphite
442
443         - some cleanup to how we parse user agent style sheets
444
445         * css/CSSValueKeywords.in: Added -webkit-focus-ring-color.
446
447         * css/cssstyleselector.cpp:
448         (WebCore::parseUASheet): Parse an array of chars instead of UTF-16.
449         Cuts the size of the style sheet in half.
450         (WebCore::CSSStyleSelector::applyProperty): Allow negative value for
451         outline-offset. Changed shadow parsing to use getColorFromPrimitiveValue
452         instead of repeating the same logic.
453         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Added a case
454         for the focus ring color.
455         * rendering/render_style.h: (WebCore::RenderStyle::setOutlineOffset):
456         Changed to allow negative values.
457
458         * css/html4.css: Removed a lot of excess spaces. Changed color of focus
459         to -webkit-focus-ring-color. Changed width of focus to 5px.
460         Added an outline-offset for <input type=text> of -2px.
461
462         * css/cssparser.cpp:
463         (WebCore::CSSParser::parseValue): Added focus ring color as an outline color all
464         the time, and as any other color when not in strict mode. I'm confused about what's
465         best for this whole strict mode policy, and I may need advice on Hyatt to perfect
466         this one later.
467         (WebCore::CSSParser::parseColorFromValue): Removed code to pin r, g, and b because
468         the functions in platform already take care of that. Kept the pinning of a, though
469         because that's done in floating point before converting to an integer.
470         (WebCore::CSSParser::parseShadow): Allow focus ring color when not in strict mode.
471
472         * bridge/mac/FrameMac.h: Eliminated the virtual detachFromView function.
473         * bridge/mac/FrameMac.mm:
474         (WebCore::FrameMac::FrameMac): Eliminated code to maintain the frame instances list.
475         (WebCore::FrameMac::~FrameMac): Ditto.
476         (WebCore::Frame::setNeedsReapplyStyles): Added.
477
478         * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings _updateAllViews]):
479         * platform/mac/WebCoreTextRendererFactory.mm:
480         (-[WebCoreTextRendererFactory clearCaches]):
481         Changed to call the new Page::setNeedsReapplyStylesForSettingsChange instead of using the
482         obsolete Frame::instances.
483
484         * page/Frame.h: Removed instances, mutableInstances, and detachFromView.
485         * page/Frame.cpp: Ditto.
486
487         * page/FrameTree.cpp:
488         (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView().
489         (WebCore::FrameTree::removeChild): Ditto.
490
491         * page/Page.h:
492         * page/Page.cpp:
493         (WebCore::Page::init): Added a set of pages instead of a page count. Also
494         register a function for when the focus ring color changes the first time this
495         is called.
496         (WebCore::Page::~Page): Call setView(0) instead of detachFromView. Also update
497         to manager the set of pages.
498         (WebCore::Page::setNeedsReapplyStyles): Call setNeedsReapplyStyles on all frames.
499         (WebCore::Page::setNeedsReapplyStylesForSettingsChange): Call setNeedsReapplyStyles
500         on all frames with the passed-in settings.
501
502         * css/make-css-file-arrays.pl: Changed to run the C preprocessor on the
503         input files and to generate an array of char instead of unsigned short.
504
505         * platform/PlatformString.h: Added a constructor that takes a char* and
506         a length.
507         * platform/String.cpp: (WebCore::String::String): Ditto.
508
509         * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like
510         the user agent style sheets.
511
512         * platform/Color.h: Removed all use of DeprecatedString. Cleaned up a bit.
513         Added focusRingColor and setFocusRingColorChangeFunction.
514         * platform/Color.cpp:
515         (WebCore::makeRGB): Rewrote using max and min.
516         (WebCore::makeRGBA): Ditto.
517         (WebCore::parseHexColor): Cleaned up a bit; changed partway to String instead of
518         DeprecatedString.
519         (WebCore::Color::Color): Changed to use String and to call setNamedColor to save code.
520         (WebCore::Color::setNamedColor): Changed to use String in the interface.
521
522         * platform/mac/ColorMac.mm:
523         (WebCore::observeTheme): Added. Function used to start up the observer.
524         (WebCore::setFocusRingColorChangeFunction): Added. Used to get a call back so we can
525         update all the views when the color changes (including recomputing style to get the
526         color change in).
527         (WebCore::setFocusRingColorChangeFunction): Added. Returns one of the two focus
528         ring colors. Both of these match what AppKit uses -- neither matches what we used
529         to have in the html4.css file.
530         (+[WebCoreControlTintObserver controlTintDidChange]): Added. Used to update when
531         the appearance is changed from blue to graphite and back. We keep a global so we
532         don't have to call over to AppKit every time; that's probably overkill but we need
533         the obsever for the color change function anyway.
534
535 2006-04-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
536
537         Test: fast/inline-block/overflow-clip.html
538
539         Reviewed by Darin.
540
541         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8118
542           REGRESSION (r13595): Inline block's clipped overflow increases table row height
543
544         * rendering/render_line.cpp:
545         (WebCore::InlineFlowBox::placeBoxesVertically): Don't look at interior overflow
546         when calculating the contribution to the inline's vertical overflows.
547
548 2006-04-02  Eric Seidel  <eseidel@apple.com>
549
550         Reviewed by andersca.
551
552         Make WebCore safe against KJS::Node in JavaScriptCore private headers.
553
554         * editing/ReplaceSelectionCommand.h:
555         * khtml/ecma/JSXMLSerializer.cpp:
556         (KJS::XMLSerializerProtoFunc::callAsFunction):
557         * khtml/ecma/JSXSLTProcessor.cpp:
558         (KJS::XSLTProcessorProtoFunc::callAsFunction):
559         * khtml/ecma/kjs_binding.cpp:
560         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
561         (KJS::ScriptInterpreter::putDOMNodeForDocument):
562         * khtml/ecma/kjs_dom.cpp:
563         (KJS::DOMNode::DOMNode):
564         (KJS::DOMNode::mark):
565         (KJS::DOMNode::getValueProperty):
566         (KJS::DOMNode::putValueProperty):
567         (KJS::DOMNodeProtoFunc::callAsFunction):
568         (KJS::toNode):
569         (KJS::DOMEventTargetNode::DOMEventTargetNode):
570         (KJS::DOMDocumentProtoFunc::callAsFunction):
571         (KJS::DOMElement::putValueProperty):
572         (KJS::DOMElementProtoFunc::callAsFunction):
573         (KJS::checkNodeSecurity):
574         (KJS::toJS):
575         (KJS::getRuntimeObject):
576         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
577         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
578         * khtml/ecma/kjs_events.cpp:
579         (KJS::JSLazyEventListener::JSLazyEventListener):
580         (KJS::ClipboardProtoFunc::callAsFunction):
581         * khtml/ecma/kjs_html.cpp:
582         (KJS::JSHTMLDocument::namedItemGetter):
583         (KJS::JSHTMLElement::framesetNameGetter):
584         (KJS::JSHTMLElement::getOwnPropertySlot):
585         (KJS::JSHTMLElement::pushEventHandlerScope):
586         (KJS::JSHTMLCollection::callAsFunction):
587         (KJS::JSHTMLCollection::getNamedItems):
588         (KJS::JSHTMLSelectCollection::put):
589         * khtml/ecma/kjs_traversal.cpp:
590         (KJS::JSNodeFilterCondition::acceptNode):
591         * khtml/ecma/kjs_window.cpp:
592         (KJS::Window::put):
593         * kwq/KWQPageState.mm:
594         (-[KWQPageState WebCore::]):
595
596 2006-04-01  Darin Adler  <darin@apple.com>
597
598         Reviewed by Eric.
599
600         - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers
601
602         * ForwardingHeaders/kcanvas: Removed.
603         * ForwardingHeaders/kcanvas/KCanvas.h: Removed.
604         * ForwardingHeaders/kdom: Removed.
605         * ForwardingHeaders/kdom/DOMString.h: Removed.
606         * ForwardingHeaders/kdom/Helper.h: Removed.
607         * ForwardingHeaders/kdom/KDOMSettings.h: Removed.
608         * ForwardingHeaders/kdom/Namespace.h: Removed.
609         * ForwardingHeaders/kdom/cache: Removed.
610         * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: Removed.
611         * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: Removed.
612         * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h: Removed.
613         * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: Removed.
614         * ForwardingHeaders/kdom/cache/KDOMLoader.h: Removed.
615         * ForwardingHeaders/kdom/core: Removed.
616         * ForwardingHeaders/kdom/core/DOMConfiguration.h: Removed.
617         * ForwardingHeaders/kdom/core/DOMException.h: Removed.
618         * ForwardingHeaders/kdom/core/DOMList.h: Removed.
619         * ForwardingHeaders/kdom/core/DOMString.h: Removed.
620         * ForwardingHeaders/kdom/core/NamedAttrMap.h: Removed.
621         * ForwardingHeaders/kdom/core/ProcessingInstruction.h: Removed.
622         * ForwardingHeaders/kdom/core/domattrs.h: Removed.
623         * ForwardingHeaders/kdom/ecma: Removed.
624         * ForwardingHeaders/kdom/ecma/GlobalObject.h: Removed.
625         * ForwardingHeaders/kdom/events: Removed.
626         * ForwardingHeaders/kdom/events/Event.h: Removed.
627         * ForwardingHeaders/kdom/events/EventListener.h: Removed.
628         * ForwardingHeaders/kdom/events/EventTarget.h: Removed.
629         * ForwardingHeaders/kdom/events/KeyboardEvent.h: Removed.
630         * ForwardingHeaders/kdom/events/MouseEvent.h: Removed.
631         * ForwardingHeaders/kdom/events/UIEvent.h: Removed.
632         * ForwardingHeaders/kdom/events/kdomevents.h: Removed.
633         * ForwardingHeaders/kdom/kdom.h: Removed.
634         * ForwardingHeaders/kdom/parser: Removed.
635         * ForwardingHeaders/kdom/parser/KDOMParser.h: Removed.
636         * ForwardingHeaders/ksvg2: Removed.
637         * ForwardingHeaders/ksvg2/KSVGPart.h: Removed.
638         * ForwardingHeaders/ksvg2/KSVGView.h: Removed.
639         * ForwardingHeaders/ksvg2/css: Removed.
640         * ForwardingHeaders/ksvg2/css/CSSPropertyNames.h: Removed.
641         * ForwardingHeaders/ksvg2/css/CSSValueKeywords.h: Removed.
642         * WebCore+SVG/KDOMHeaders.h: Removed.
643         * WebCore+SVG/Namespace.h: Removed.
644         * WebCore+SVG/kdom.h: Removed.
645
646         * WebCore.xcodeproj/project.pbxproj: Removed headers.
647
648         * kcanvas/KCanvasCreator.cpp:
649         * kcanvas/KCanvasResources.cpp:
650         * kcanvas/KCanvasTreeDebug.cpp:
651         * kcanvas/RenderPath.cpp:
652         * kcanvas/RenderSVGImage.cpp:
653         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
654         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
655         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
656         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
657         * ksvg2/css/SVGCSSStyleSelector.cpp:
658         * ksvg2/events/SVGZoomEvent.h:
659         * ksvg2/misc/KCanvasRenderingStyle.cpp:
660         * ksvg2/misc/KSVGTimeScheduler.cpp:
661         * ksvg2/misc/SVGImageLoader.cpp:
662         * ksvg2/svg/SVGAElement.cpp:
663         * ksvg2/svg/SVGAnimationElement.cpp:
664         * ksvg2/svg/SVGCircleElement.cpp:
665         * ksvg2/svg/SVGClipPathElement.cpp:
666         * ksvg2/svg/SVGCursorElement.cpp:
667         * ksvg2/svg/SVGCursorElement.h:
668         * ksvg2/svg/SVGDOMImplementation.cpp:
669         * ksvg2/svg/SVGDocument.cpp:
670         * ksvg2/svg/SVGDocument.h:
671         * ksvg2/svg/SVGElement.cpp:
672         * ksvg2/svg/SVGEllipseElement.cpp:
673         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
674         * ksvg2/svg/SVGExternalResourcesRequired.h:
675         * ksvg2/svg/SVGFEBlendElement.cpp:
676         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
677         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
678         * ksvg2/svg/SVGFECompositeElement.cpp:
679         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
680         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
681         * ksvg2/svg/SVGFEFloodElement.cpp:
682         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
683         * ksvg2/svg/SVGFEImageElement.cpp:
684         * ksvg2/svg/SVGFEImageElement.h:
685         * ksvg2/svg/SVGFELightElement.cpp:
686         * ksvg2/svg/SVGFEMergeElement.cpp:
687         * ksvg2/svg/SVGFEOffsetElement.cpp:
688         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
689         * ksvg2/svg/SVGFETileElement.cpp:
690         * ksvg2/svg/SVGFETurbulenceElement.cpp:
691         * ksvg2/svg/SVGFilterElement.cpp:
692         * ksvg2/svg/SVGGradientElement.cpp:
693         * ksvg2/svg/SVGHelper.cpp:
694         * ksvg2/svg/SVGImageElement.cpp:
695         * ksvg2/svg/SVGLangSpace.cpp:
696         * ksvg2/svg/SVGLength.cpp:
697         * ksvg2/svg/SVGLineElement.cpp:
698         * ksvg2/svg/SVGLinearGradientElement.cpp:
699         * ksvg2/svg/SVGList.h:
700         * ksvg2/svg/SVGLocatable.cpp:
701         * ksvg2/svg/SVGMarkerElement.cpp:
702         * ksvg2/svg/SVGMarkerElement.h:
703         * ksvg2/svg/SVGMaskElement.cpp:
704         * ksvg2/svg/SVGPathElement.cpp:
705         * ksvg2/svg/SVGPatternElement.cpp:
706         * ksvg2/svg/SVGPolyElement.cpp:
707         * ksvg2/svg/SVGPolygonElement.cpp:
708         * ksvg2/svg/SVGPolylineElement.cpp:
709         * ksvg2/svg/SVGRadialGradientElement.cpp:
710         * ksvg2/svg/SVGRectElement.cpp:
711         * ksvg2/svg/SVGSVGElement.cpp:
712         * ksvg2/svg/SVGStopElement.cpp:
713         * ksvg2/svg/SVGStyleElement.cpp:
714         * ksvg2/svg/SVGStyledElement.cpp:
715         * ksvg2/svg/SVGStyledLocatableElement.cpp:
716         * ksvg2/svg/SVGStyledTransformableElement.cpp:
717         * ksvg2/svg/SVGTextElement.cpp:
718         * ksvg2/svg/SVGTransformable.cpp:
719         * ksvg2/svg/SVGUseElement.cpp:
720         * ksvg2/svg/SVGViewElement.cpp:
721         Updated includes.
722
723 2006-04-01  Darin Adler  <darin@apple.com>
724
725         Reviewed by Maciej.
726
727         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8089
728           REGRESSION: Caret position is off in native text field with text-align:right
729
730         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8082
731           REGRESSION: Empty RTL text fields place the caret on the left side
732
733         Need a way to make a test for this. No obvious way at the moment.
734
735         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect):
736         Consider border, padding, and the width of the caret properly in the
737         calculation of the caret's X position.
738
739         * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect):
740         Fixed some similar issues and rewrote this function for clarity.
741         However, I suspect this function was and remains broken and is almost
742         never called.
743
744 2006-04-01  Darin Adler  <darin@apple.com>
745
746         Reviewed by Justin.
747
748         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
749           REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
750
751         Test: fast/forms/input-text-scroll-left-on-blur.html
752
753         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Pass blur events
754         through to the RenderTextField, as well as mouse, drag, and wheel events.
755         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): Scroll all the way to
756         the left on a blur.
757
758         - unrelated small changes
759
760         * html/HTMLTextFieldInnerElement.cpp: Removed excess includes.
761         (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.
762
763         * dom/Element.cpp:
764         (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call.
765         (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
766
767         * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.
768
769 2006-03-31  Maciej Stachowiak  <mjs@apple.com>
770
771         Reviewed by Adele.
772         
773         <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)
774
775         * editing/ReplaceSelectionCommand.cpp:
776         (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into
777         an empty editable subtree.
778
779 2006-04-01  Darin Adler  <darin@apple.com>
780
781         Reviewed by Maciej.
782
783         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8063
784           REGRESSION: double clicking in new text fields won't select whole words
785
786         Test: fast/forms/input-text-double-click.html
787
788         * editing/visible_units.cpp: (WebCore::nextBoundary): Set the end of the range by
789         calling selectNodeContents rather than by calling setEndAfter. The problem with
790         setEndAfter is that it doesn't do anything when the parent of the node is 0, and
791         also it's not really what we want, since the boundary node is one with editable
792         contents -- we want to stay inside the boundary node.
793
794         * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch
795         I noticed at the same time.
796
797 2006-03-31  John Sullivan  <sullivan@apple.com>
798
799         Reviewed by Tim Hatcher.
800         
801         - fixed <rdar://problem/4372842> 10.4.4 Regression: control-clicking on a misspelled word 
802         doesn't select it or offer corrections (first click only)
803
804         * bridge/mac/FrameMac.mm:
805         (WebCore::FrameMac::sendContextMenuEvent):
806         Rolled in this one-line change that Hyatt wrote ages ago.
807
808 2006-03-31  Beth Dakin  <bdakin@apple.com>
809
810         Reviewed by John.
811
812         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8108
813         REGRESSION (r13590-r13593): Floating table's cells don't paint 
814         their background
815
816         This is a regression from my painting patch yesterday. Just a silly 
817         error I didn't catch.
818
819         * rendering/RenderTable.cpp:
820         (WebCore::RenderTable::paint): Change the phase of our new 
821         PaintInfo, not our old one.
822
823 2006-03-31  Tim Omernick  <timo@apple.com>
824
825         Reviewed by Adele.
826
827         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7858>
828         <rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute
829         
830         * rendering/RenderTextField.cpp:
831         (WebCore::RenderTextField::createDivStyle):
832         Set user modify based on the form element's readOnly().
833         (WebCore::RenderTextField::updateFromElement):
834         ditto
835
836 2006-03-31  Adele Peterson  <adele@apple.com>
837
838         Reviewed by Tim Omernick.
839
840         Updating shadowAncestorNode so it doesn't check for rootEditableElement.  Now we just walk
841         up the tree to look for a shadowNode, and then we find the shadowParent.
842
843         * dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
844         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange):
845          Updated assertion to check for shadowAncestorNode instead of rootEditableElement.
846
847 2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
848
849         Reviewed by John Sullivan.
850         
851         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8101
852           REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail
853
854         * rendering/render_line.cpp:
855         (WebCore::InlineFlowBox::placeBoxesVertically): Change top and bottom positions
856         only if childAffectsTopBottomPos is true.
857         * rendering/RenderFlow.cpp:
858         (WebCore::RenderFlow::paintLines): Redo a part of the patch for bug 7031 that
859         wasn't committed with the rest of the patch.
860
861 2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
862
863         Reviewed by Darin, landed by Beth.
864
865         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8081
866         REGRESSION: Drop-down menu has gap at top
867
868         * rendering/RenderBox.cpp:
869         (WebCore::RenderBox::calcAbsoluteVerticalValues): When calculating 
870         the hypothetical vertical position in normal flow, skip table rows 
871         in the ancestor chain, since a table cell's Y position is relative 
872         to the table section, not the row.
873
874 2006-03-31  Dave Hyatt <hyatt@apple.com>
875
876         Fix the border drawing for themes on Win32.
877
878         Reviewed by adele
879
880         * rendering/RenderBox.cpp:
881         (WebCore::RenderBox::paintBoxDecorations):
882         * rendering/RenderTheme.cpp:
883         (WebCore::RenderTheme::paintBorderOnly):
884         * rendering/RenderTheme.h:
885
886 2006-03-30  Darin Adler  <darin@apple.com>
887
888         Reviewed by John Sullivan.
889
890         * khtml/ecma/kjs_binding.cpp: Added names for VALIDATION_ERR and
891         TYPE_MISMATCH_ERR; new DOM Level 3 errors that need to be listed in
892         the mapping from error code to error name.
893
894         * dom/Element.idl: Removed comment from bad old days where we had to
895         touch these files to make them rebuild.
896
897 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
898
899         - fixed Windows build breakage from previous change
900
901         * platform/ScrollView.h:
902         * platform/win/FontWin.cpp:
903         (WebCore::Font::drawLineForText):
904         * platform/win/ScrollViewWin.cpp:
905         (WebCore::ScrollView::scrollOffset):
906         (WebCore::ScrollView::scrollBy):
907
908 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
909
910         Reviewed by Eric.
911         
912         - various Point / Size related cleanup
913         
914         First, I clarified the semantics of some operations to keep a
915         better distinction between IntPoint and IntSize:
916         
917         * platform/IntPoint.h:
918         (WebCore::IntPoint::move): new convenience to move a point by separate
919         x and y deltas.
920         (WebCore::operator+=): You can't add a point to a point, you can only add
921         a size to a point.
922         (WebCore::operator+): ditto
923         (WebCore::operator-): point - point = size; point - size = point
924         (WebCore::operator-=): only allow subtracting a size for the mutating version
925         * platform/IntRect.h:
926         (WebCore::IntRect::move): tweaked to use IntPoint::move, also, move by an IntSize,
927         not an IntPoint.
928         * platform/IntSize.h:
929         (WebCore::IntSize::shrunkTo): analog to expandedTo
930         (WebCore::IntSize::clampNegativeToZero): a handy helper
931         (WebCore::operator-): Added unary minus operator
932
933         Made the same changes for FloatPoint:
934         
935         * platform/FloatPoint.h:
936         (WebCore::FloatPoint::move):
937         (WebCore::operator+=):
938         (WebCore::operator-=):
939         (WebCore::operator+):
940         (WebCore::operator-):
941         * platform/FloatRect.h:
942         (WebCore::FloatRect::move):
943         * platform/FloatSize.h:
944         (WebCore::operator-):
945
946         Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
947         coordinates. The main one was:
948         
949         * platform/ScrollView.h:
950         * platform/mac/ScrollViewMac.mm:
951         (WebCore::ScrollView::scrollOffset): new method, return an IntSize
952         (WebCore::ScrollView::contentsToViewport): take and return an IntPoint
953         (WebCore::ScrollView::viewportToContents): take and return an IntPoint
954         * platform/win/ScrollViewWin.cpp:
955         (WebCore::ScrollView::updateContents): handle things in terms of scrollOffset,
956         not scrollPoint
957         (WebCore::ScrollView::visibleContentRect):
958         (WebCore::ScrollView::contentsX):
959         (WebCore::ScrollView::contentsY):
960         (WebCore::ScrollView::viewportToContents):
961         (WebCore::ScrollView::contentsToViewport):
962         (WebCore::scrollOffset):
963         (WebCore::ScrollView::maximumScroll):
964         (WebCore::ScrollView::scrollBy):
965         (WebCore::ScrollView::updateScrollBars):
966
967         The rest is mainly updates for these changes.
968
969         * bridge/mac/FrameMac.h:
970         * bridge/mac/FrameMac.mm:
971         (WebCore::FrameMac::eventMayStartDrag):
972         (WebCore::FrameMac::dragHysteresisExceeded):
973         (WebCore::FrameMac::handleMouseMoveEvent):
974         (WebCore::FrameMac::mouseDown):
975         (WebCore::FrameMac::shouldDragAutoNode):
976         (WebCore::FrameMac::sendContextMenuEvent):
977         * bridge/mac/WebCoreFrameBridge.mm:
978         (-[WebCoreFrameBridge isPointInsideSelection:]):
979         * dom/EventTargetNode.cpp:
980         (WebCore::EventTargetNode::dispatchMouseEvent):
981         (WebCore::EventTargetNode::dispatchWheelEvent):
982         * khtml/ecma/kjs_window.cpp:
983         (KJS::WindowFunc::callAsFunction):
984         * page/Frame.cpp:
985         (WebCore::Frame::shouldDragAutoNode):
986         (WebCore::Frame::isPointInsideSelection):
987         (WebCore::Frame::selectClosestWordFromMouseEvent):
988         (WebCore::Frame::handleMousePressEventDoubleClick):
989         (WebCore::Frame::handleMousePressEventTripleClick):
990         (WebCore::Frame::handleMousePressEventSingleClick):
991         (WebCore::Frame::handleMouseMoveEventPart2):
992         (WebCore::Frame::handleMouseReleaseEvent):
993         * page/Frame.h:
994         * page/FrameView.cpp:
995         (WebCore::FrameView::dispatchDragEvent):
996         (WebCore::FrameView::prepareMouseEvent):
997         (WebCore::FrameView::handleWheelEvent):
998         * rendering/RenderLayer.cpp:
999         (WebCore::RenderLayer::scrollRectToVisible):
1000         * rendering/RenderObject.cpp:
1001         (WebCore::RenderObject::draggableNode):
1002         * rendering/RenderObject.h:
1003         (WebCore::RenderObject::positionForPoint):
1004         * rendering/render_list.cpp:
1005         (WebCore::RenderListMarker::paint):
1006
1007 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
1008
1009         - fixed windows build
1010
1011         * platform/win/TemporaryLinkStubs.cpp:
1012         (Widget::unlockDrawingFocus):
1013
1014 2006-03-31  Eric Seidel  <eseidel@apple.com>
1015
1016         Reviewed by mjs.
1017
1018         A bit more code cleanup.
1019
1020         * bridge/mac/WebCoreScriptDebugger.mm:
1021         (-[WebCoreScriptCallFrame evaluateWebScript:]):
1022         * html/HTMLFormElement.cpp:
1023         (WebCore::HTMLFormElement::submit):
1024         * html/HTMLInputElement.cpp:
1025         (WebCore::HTMLInputElement::setValue):
1026         * kwq/WebCoreTextField.mm:
1027         (-[KWQTextFieldController textView:shouldHandleEvent:]):
1028         (-[KWQSecureTextField selectText:]):
1029         * page/Frame.cpp:
1030         (WebCore::Frame::submitForm):
1031         * platform/Widget.h:
1032         * platform/mac/WidgetMac.mm:
1033         * rendering/render_frames.cpp:
1034         (WebCore::RenderFrameSet::userResize):
1035
1036 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
1037
1038         Reviewed by Eric.
1039
1040         * bridge/mac/FrameMac.mm:
1041         (WebCore::FrameMac::wheelEvent):
1042         (WebCore::FrameMac::eventMayStartDrag):
1043         (WebCore::FrameMac::handleMouseMoveEvent):
1044         (WebCore::FrameMac::sendContextMenuEvent):
1045         * bridge/mac/WebCoreFrameBridge.mm:
1046         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
1047         * dom/Document.cpp:
1048         (WebCore::Document::elementFromPoint):
1049         (WebCore::Document::prepareMouseEvent):
1050         * dom/Document.h:
1051         * kwq/WebCoreAXObject.mm:
1052         (-[WebCoreAXObject doAXTextMarkerForPosition:]):
1053         (-[WebCoreAXObject accessibilityHitTest:]):
1054         * manual-tests/frame-hover.html: Added.
1055         * manual-tests/resources/hover-subframe-1.html: Added.
1056         * manual-tests/resources/hover-subframe-2.html: Added.
1057         * page/Frame.cpp:
1058         (WebCore::Frame::isPointInsideSelection):
1059         * page/FrameView.cpp:
1060         (WebCore::FrameView::prepareMouseEvent):
1061         (WebCore::FrameView::handleWheelEvent):
1062         * platform/IntRect.h:
1063         (WebCore::IntRect::contains):
1064         * rendering/RenderLayer.cpp:
1065         (WebCore::isSubframeCanvas):
1066         (WebCore::frameVisibleRect):
1067         (WebCore::RenderLayer::hitTest):
1068         (WebCore::shouldApplyImplicitCapture):
1069         (WebCore::RenderLayer::hitTestLayer):
1070         * rendering/RenderLayer.h:
1071
1072 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1073
1074         Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html
1075
1076         Reviewed by Darin.
1077         
1078         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8056
1079           Flexible boxes do not repaint their top, left and children's overflows
1080
1081         * rendering/RenderBlock.cpp:
1082         (WebCore::RenderBlock::layoutBlockChildren):
1083         * rendering/RenderFlexibleBox.cpp:
1084         (WebCore::FlexBoxIterator::next):
1085         (WebCore::RenderFlexibleBox::layoutHorizontalBox): Update top overflow when
1086         determining vertical positions. Update horizontal overflows after horizontal
1087         positions are determined.
1088         (WebCore::RenderFlexibleBox::layoutVerticalBox):  Update left overflow when
1089         determining horizontal positions. Update vertical overflows after vertical
1090         positions are determined.
1091         (WebCore::RenderFlexibleBox::allowedChildFlex):
1092
1093 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1094
1095         Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html
1096
1097         Reviewed by Darin.
1098
1099         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7301
1100           Text shadow does not repaint correctly
1101
1102         * rendering/InlineTextBox.cpp:
1103         (WebCore::InlineTextBox::paint): Paint the text box if it is within the maximum
1104         possible horizontal shadow overflow of the damage rect.
1105         * rendering/InlineTextBox.h: Removed unused function checkVerticalPoint().
1106         * rendering/RenderFlow.cpp:
1107         (WebCore::RenderFlow::paintLines): Use the vertical overflows instead of the
1108         selection vertical bounds.
1109         (WebCore::RenderFlow::hitTestLines):
1110         * rendering/render_line.cpp:
1111         (WebCore::InlineFlowBox::placeBoxesHorizontally): Include overflow due to text shadow
1112         in leftPosition and rightPosition and keep track of the maximum horizontal shadow
1113         on the inline.
1114         (WebCore::InlineFlowBox::verticallyAlignBoxes):
1115         (WebCore::InlineFlowBox::placeBoxesVertically): Include overflow due to shadow and
1116         inline-blocks' overflow in topPosition and bottomPosition but not in the selection
1117         vertical bounds.
1118         (WebCore::RootInlineBox::selectionTop):
1119         * rendering/render_line.h:
1120         (WebCore::InlineFlowBox:::InlineRunBox):
1121         (WebCore::InlineFlowBox::setVerticalSelectionPositions):
1122         (WebCore::InlineFlowBox::maxHorizontalShadow):
1123         (WebCore::RootInlineBox::setVerticalSelectionPositions):
1124         (WebCore::RootInlineBox::selectionBottom):
1125         (WebCore::RootInlineBox::selectionHeight):
1126
1127 2006-03-30  Beth Dakin  <bdakin@apple.com>
1128
1129         Reviewed by Hyatt.
1130
1131         Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring 
1132         around link in overflow:auto div isn't clipped to div
1133
1134         Focus rings around the children off overflow:auto divs were not 
1135         being appropriately clipped because they were being painted with 
1136         the div's outlineRect, when they should be painted separately. This 
1137         patch adds two new PaintPhases -- PaintPhaseSelfOutline and 
1138         PaintPhaseChildOutlines -- to address this problem.
1139
1140         This patch also changes the name of PaintAction back to PaintPhase. 
1141         Because Hyatt said so.
1142
1143         * kcanvas/KCanvasResources.cpp:
1144         (WebCore::KCanvasMarker::draw):
1145         * kcanvas/RenderPath.cpp:
1146         (WebCore::RenderPath::paint):
1147         * kcanvas/RenderSVGImage.cpp:
1148         (WebCore::RenderSVGImage::paint):
1149         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1150         (WebCore::KCanvasContainerQuartz::paint):
1151         * ksvg2/svg/SVGMaskElement.cpp:
1152         (WebCore::SVGMaskElement::drawMaskerContent):
1153         * ksvg2/svg/SVGPatternElement.cpp:
1154         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
1155         * rendering/InlineTextBox.cpp:
1156         (WebCore::InlineTextBox::paint):
1157         * rendering/RenderBlock.cpp:
1158         (WebCore::RenderBlock::paint):
1159         (WebCore::RenderBlock::paintChildren):
1160         (WebCore::RenderBlock::paintObject):
1161         (WebCore::RenderBlock::paintFloats):
1162         (WebCore::RenderBlock::paintEllipsisBoxes):
1163         (WebCore::RenderBlock::paintSelection):
1164         * rendering/RenderBox.cpp:
1165         (WebCore::RenderBox::setStyle):
1166         * rendering/RenderCanvas.cpp:
1167         (WebCore::RenderCanvas::paint):
1168         * rendering/RenderFlow.cpp:
1169         (WebCore::RenderFlow::paintLines):
1170         * rendering/RenderHTMLCanvas.cpp:
1171         (WebCore::RenderHTMLCanvas::paint):
1172         * rendering/RenderImage.cpp:
1173         (WebCore::RenderImage::paint):
1174         * rendering/RenderLayer.cpp:
1175         (WebCore::RenderLayer::paintLayer):
1176         * rendering/RenderObject.cpp:
1177         (WebCore::RenderObject::maximalOutlineSize):
1178         * rendering/RenderObject.h:
1179         (WebCore::):
1180         (WebCore::RenderObject::PaintInfo::PaintInfo):
1181         * rendering/RenderTable.cpp:
1182         (WebCore::RenderTable::paint):
1183         * rendering/RenderTableCell.cpp:
1184         (WebCore::RenderTableCell::paint):
1185         * rendering/RenderTableRow.cpp:
1186         (WebCore::RenderTableRow::paint):
1187         * rendering/RenderTableSection.cpp:
1188         (WebCore::RenderTableSection::paint):
1189         * rendering/render_button.cpp:
1190         (WebCore::RenderButton::paintObject):
1191         * rendering/render_line.cpp:
1192         (WebCore::InlineBox::paint):
1193         (WebCore::InlineFlowBox::paint):
1194         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
1195         (WebCore::RootInlineBox::paintEllipsisBox):
1196         * rendering/render_list.cpp:
1197         (WebCore::RenderListMarker::paint):
1198         * rendering/render_replaced.cpp:
1199         (WebCore::RenderReplaced::shouldPaint):
1200         (WebCore::RenderWidget::paint):
1201
1202 2006-03-30  Tim Omernick  <timo@apple.com>
1203
1204         Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
1205         JavaScript type for Java Strings is function, not object
1206
1207         * manual-tests/java-string-object-type.html: Added.
1208         * manual-tests/resources/StringTypeTest.class: Added.
1209         * manual-tests/resources/StringTypeTest.java: Added.
1210
1211 2006-03-30  Eric Seidel  <eseidel@apple.com>
1212
1213         Reviewed by hyatt.
1214
1215         Fix text form controls, and add basic submit support!
1216
1217         * bridge/win/FrameWin.cpp:
1218         (WebCore::FrameWin::submitForm):
1219         * bridge/win/FrameWin.h:
1220         * platform/win/KeyEventWin.cpp:
1221         (WebCore::keyIdentifierForWindowsKeyCode):
1222         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1223         * platform/win/TemporaryLinkStubs.cpp:
1224         (FrameWin::incomingReferrer):
1225         * platform/win/TransferJobWin.cpp:
1226         (WebCore::TransferJob::start):
1227
1228 2006-03-30  Adele Peterson  <adele@apple.com>
1229
1230         Reviewed by Justin.
1231
1232         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8083
1233         REGRESSION: Repro crash when dragging to select over a new text field
1234
1235         * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent):
1236         When searching for non-editable content, if the end of the selection is in a 
1237         shadow tree, then we need to jump out of that first.
1238
1239 2006-03-30  Justin Garcia  <justin.garcia@apple.com>
1240
1241         Reviewed by darin
1242         
1243         http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
1244         REGRESSION: Plain-text mode needed for contenteditable area used in new text field
1245
1246         * bridge/mac/WebCoreFrameBridge.h:
1247         * bridge/mac/WebCoreFrameBridge.mm:
1248         (-[WebCoreFrameBridge isSelectionEditable]):
1249         (-[WebCoreFrameBridge isSelectionRichlyEditable]):
1250         * css/CSSComputedStyleDeclaration.cpp:
1251         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1252         * css/CSSValueKeywords.in:
1253         * css/cssparser.cpp:
1254         (WebCore::CSSParser::parseValue):
1255         * dom/Node.cpp:
1256         (WebCore::Node::isContentRichlyEditable):
1257         * dom/Node.h:
1258         * editing/EditCommand.cpp:
1259         (WebCore::EditCommand::apply):
1260         * editing/JSEditor.cpp:
1261         * editing/ReplaceSelectionCommand.cpp:
1262         (WebCore::ReplacementFragment::ReplacementFragment):
1263         (WebCore::ReplaceSelectionCommand::doApply):
1264         * editing/Selection.h:
1265         (WebCore::Selection::rootEditableElement):
1266         (WebCore::Selection::isContentEditable):
1267         (WebCore::Selection::isContentRichlyEditable):
1268         * editing/SelectionController.h:
1269         (WebCore::SelectionController::rootEditableElement):
1270         (WebCore::SelectionController::isContentEditable):
1271         (WebCore::SelectionController::isContentRichlyEditable):
1272         * html/HTMLElement.cpp:
1273         (WebCore::HTMLElement::isContentEditable):
1274         (WebCore::HTMLElement::contentEditable):
1275         (WebCore::HTMLElement::setContentEditable):
1276         * rendering/RenderTextField.cpp:
1277         (WebCore::RenderTextField::createDivStyle):
1278         * rendering/render_style.h:
1279         (WebCore::):
1280         
1281 2006-03-30  David Harrison  <harrison@apple.com>
1282
1283         Reviewed by Justin.
1284
1285         <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"
1286
1287         * editing/DeleteSelectionCommand.cpp:
1288         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1289         Formatting.
1290         (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
1291         Generalize check that preserves nesting when deleting to the beginning of an ancestor block.
1292
1293         * editing/deleting/delete-block-merge-contents-022.html: Added.
1294         * editing/deleting/delete-block-merge-contents-023.html: Added.
1295         * editing/deleting/delete-block-merge-contents-024.html: Added.
1296
1297 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1298
1299         Reviewed by Darin.
1300
1301         - Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8076
1302           REGRESSION: native text fields are reversed on "visual Hebrew" pages
1303
1304         * fast/forms/visual-hebrew-text-field-expected.checksum: Added.
1305         * fast/forms/visual-hebrew-text-field-expected.png: Added.
1306         * fast/forms/visual-hebrew-text-field-expected.txt: Added.
1307         * fast/forms/visual-hebrew-text-field.html: Added.
1308
1309 2006-03-30  Alexey Proskuryakov  <ap@nypop.com>
1310
1311         Reviewed by John Sullivan.
1312
1313         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8051
1314           Empty forms are submitted incorrectly
1315
1316         Test: fast/forms/empty-get.html
1317
1318         * platform/KURL.cpp:
1319         (KURL::setQuery): Add a question mark for empty query strings, too.
1320
1321 2006-03-30  Dave Hyatt <hyatt@apple.com>
1322
1323         Roll out the fix to 7102 and reopen it to get Spinneret working
1324         again.
1325
1326         Reviewed by justin
1327
1328         * page/Frame.cpp:
1329         (WebCore::Frame::didOpenURL):
1330         (WebCore::Frame::receivedFirstData):
1331         (WebCore::Frame::begin):
1332
1333 2006-03-30  Dave Hyatt <hyatt@apple.com>
1334
1335         Land support for JPEG image decoding on Win32.
1336
1337         * WebCore.vcproj/WebCore/WebCore.vcproj:
1338         * platform/cairo/ImageSourceCairo.cpp:
1339         (WebCore::createDecoder):
1340         (WebCore::ImageSource::frameHasAlphaAtIndex):
1341         * platform/image-decoders/ImageDecoder.h:
1342         (WebCore::RGBA32Buffer::setRGBA):
1343         (WebCore::ImageDecoder::supportsAlpha):
1344         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1345         (WebCore::GIFImageDecoder::haveDecodedRow):
1346         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1347         (WebCore::JPEGImageReader::JPEGImageReader):
1348         (WebCore::JPEGImageReader::close):
1349         (WebCore::JPEGImageReader::skipBytes):
1350         (WebCore::JPEGImageReader::decode):
1351         (WebCore::JPEGImageReader::info):
1352         (WebCore::JPEGImageReader::samples):
1353         (WebCore::JPEGImageReader::decoder):
1354         (WebCore::error_exit):
1355         (WebCore::init_source):
1356         (WebCore::skip_input_data):
1357         (WebCore::fill_input_buffer):
1358         (WebCore::term_source):
1359         (WebCore::JPEGImageDecoder::decode):
1360         (WebCore::JPEGImageDecoder::outputScanlines):
1361         (WebCore::JPEGImageDecoder::jpegComplete):
1362         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1363         (WebCore::JPEGImageDecoder::supportsAlpha):
1364         (WebCore::JPEGImageDecoder::setSize):
1365         * platform/image-decoders/png/PNGImageDecoder.cpp:
1366         (WebCore::PNGImageDecoder::rowAvailable):
1367
1368 2006-03-29  Justin Garcia  <justin.garcia@apple.com>
1369
1370         Reviewed by darin
1371         
1372         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8067>
1373         REGRESSION: selectionRect includes next/previous replaced elements
1374         Also fixes: <rdar://problems/4402375&4474871&4492934>
1375         
1376         In the case where a selection starts at the end or ends at the start
1377         of o, o->selectionState() != SelectionNone, but o isn't really selected.  
1378         Constraining the selection with upstream and downstream eliminates these
1379         types of endpoints, but constraining endpoints that occur at the 
1380         start or end of a paragraph creates positions inside containers - some 
1381         of which the selection painting code isn't equipped to handle.
1382
1383         * dom/Document.cpp:
1384         (WebCore::Document::updateSelection):
1385         * rendering/render_replaced.cpp:
1386         (WebCore::RenderReplaced::shouldPaint):
1387         (WebCore::RenderReplaced::selectionRect):
1388         (WebCore::RenderReplaced::setSelectionState):
1389         (WebCore::RenderWidget::setSelectionState):
1390
1391 2006-03-29  Adele Peterson  <adele@apple.com>
1392
1393         Reviewed by Hyatt.
1394
1395         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6986
1396         Switch to use new text field implementation for <input type="text">
1397
1398         * css/html4.css: Added default style info for new text fields.
1399         * rendering/RenderTextField.cpp:
1400         (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla.
1401         (WebCore::RenderTextField::updateFromElement): Removed some outdated comments.  Cleaned up the way we add text nodes to the div.
1402         (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior.
1403         (WebCore::RenderTextField::setSelectionEnd): ditto.
1404         (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange.
1405         (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred.
1406         (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character.
1407         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from 
1408          the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance.
1409         * rendering/RenderThemeMac.mm:
1410         (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border.
1411         (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css. 
1412          We also add intrinsic margins here if the font size is large enough.
1413         * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
1414          No longer check for appearance. All text fields with m_type == TEXT will use the new implementation.
1415         * html/HTMLInputElement.cpp:
1416         (WebCore::HTMLInputElement::isKeyboardFocusable): ditto.
1417         (WebCore::HTMLInputElement::focus): ditto.
1418         (WebCore::HTMLInputElement::selectionStart): ditto.
1419         (WebCore::HTMLInputElement::selectionEnd): ditto.
1420         (WebCore::HTMLInputElement::setSelectionStart): ditto.
1421         (WebCore::HTMLInputElement::setSelectionEnd): ditto.
1422         (WebCore::HTMLInputElement::select): ditto.
1423         (WebCore::HTMLInputElement::setSelectionRange): ditto.
1424         (WebCore::HTMLInputElement::createRenderer): ditto.
1425         (WebCore::HTMLInputElement::defaultEventHandler): ditto.
1426         (WebCore::HTMLInputElement::isMouseFocusable): Added.  Old text fields relied on the widget to provide a focus policy.  
1427          A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class.
1428         * html/HTMLInputElement.h: Added isMouseFocusable.
1429         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable):
1430          Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable.
1431         * dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused.
1432
1433 2006-03-29  Darin Adler  <darin@apple.com>
1434
1435         Reviewed by Eric.
1436
1437         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8026
1438           A particular animated SVG crashes in filter code
1439           <rdar://problem/4494775> A particular animated SVG crashes in filter code
1440
1441         - fix some code that is not handling references correctly for GC
1442
1443         Test: svg/custom/empty-merge.svg
1444
1445         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1446         (WebCore::KCanvasFilterQuartz::KCanvasFilterQuartz): Use KWQRetainNSRelease to
1447         properly retain a reference to an Objective-C object in a C++ class.
1448         (WebCore::KCanvasFilterQuartz::~KCanvasFilterQuartz): Use KWQRelease instead of
1449         release.
1450         (WebCore::KCanvasFilterQuartz::prepareFilter): Use KWQRetain instead of retain.
1451         (WebCore::KCanvasFilterQuartz::applyFilter): Use KWQRelease instead of release.
1452         (WebCore::KCanvasFilterQuartz::imageForName): Use objectForKey: instead of
1453         valueForKey: on the dictionary to sidestep a bug in valueForKey: on empty strings
1454         and because what we're doing with a dictionary here has nothing to do with
1455         key value encoding.
1456
1457         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1458         (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
1459         Use KWQRelease instead of release.
1460         (WebCore::KRenderingDeviceContextQuartz::nsGraphicsContext): Use KWQRetain
1461         instead of retain to properly retain a reference to an Objective-C object
1462         in a C++ class.
1463
1464         * platform/mac/ImageMac.mm:
1465         (WebCore::Image::invalidateNativeData): Use CFRelease instead of release.
1466         (WebCore::Image::getNSImage): Use KWQRetainNSRelease to properly retain
1467         a reference to an Objective-C object in a C++ class.
1468
1469 2006-03-29  Geoffrey Garen  <ggaren@apple.com>
1470
1471         Reviewed by Darin.
1472
1473         - WebCore side of fix for <rdar://problem/4308243> 8F36 Regression: 
1474         crash in malloc_consolidate if you use a .PAC file
1475
1476         (1) To ensure thread-safe deallocation, set the "unsafe to destroy on 
1477         non-main threads" bit in the DOMObject constructor.
1478
1479         (2) Made all binding objects inherit from DOMObject, because the
1480         WebCore data structures they wrap are not thread-safe. "DOMObject" is
1481         a slightly awkward name for things like the Window object, but the 
1482         DOM spec is considering adding a Window object, and creating a whole
1483         new base class for this purpose seemed like overkill.
1484
1485         * khtml/ecma/JSDOMParser.h:
1486         * khtml/ecma/JSXMLHttpRequest.h:
1487         * khtml/ecma/JSXMLSerializer.cpp:
1488         (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
1489         * khtml/ecma/JSXMLSerializer.h:
1490         * khtml/ecma/JSXSLTProcessor.h:
1491         * khtml/ecma/kjs_binding.h:
1492         (KJS::DOMObject::DOMObject): Unset the "safe to collect on non-main
1493         threads bit" to ensure thread-safe deallocation.
1494         * khtml/ecma/kjs_html.h:
1495         * khtml/ecma/kjs_navigator.cpp:
1496         (KJS::Navigator::Navigator):
1497         (KJS::PluginBase::PluginBase):
1498         * khtml/ecma/kjs_navigator.h:
1499         * khtml/ecma/kjs_proxy.cpp:
1500         * khtml/ecma/kjs_window.cpp:
1501         (KJS::History::History):
1502         (KJS::FrameArray::FrameArray):
1503         (KJS::Screen::Screen):
1504         (KJS::Window::Window):
1505         (KJS::BarInfo::BarInfo):
1506         * khtml/ecma/kjs_window.h:
1507
1508 2006-03-29  Geoffrey Garen  <ggaren@apple.com>
1509
1510         Reviewed by Darin.
1511
1512         - Fixed <rdar://problem/4477126> TOT REGRESSION: with release
1513         build, maps.google.com zoom slider always zooms fully out
1514
1515         There were 2 problems: (1) A syntax error in the UIEvent IDL file
1516         prevented some things from showing up in the bindings; (2)
1517         MouseEvent had a duplicate isSimulated property that shadowed
1518         MouseRelatedEvent's isSimulated property, and MouseEvent failed to
1519         initialize MouseRelatedEvent's isSimulated property.
1520
1521         * dom/UIEvent.idl:
1522         * dom/dom2_eventsimpl.cpp:
1523         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1524         (WebCore::MouseEvent::MouseEvent):
1525         * dom/dom2_eventsimpl.h:
1526
1527 2006-03-29  Tim Omernick  <timo@apple.com>
1528
1529         Reviewed by Darin.
1530
1531         * html/HTMLInputElement.cpp:
1532         (WebCore::HTMLInputElement::setInputType):
1533         If the input type is dynamically changed, reevaluate whether the element maintains its state
1534         (this decision is based on the input's type).  Fixes an assertion error when leaving a page
1535         with a text field that had been dynamically changed to a password field.
1536
1537 2006-03-29  Alexey Proskuryakov  <ap@nypop.com>
1538
1539         Reviewed by Darin.
1540
1541         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8055
1542           Fix most CSS grammar conflicts.
1543
1544         Gets the number of shift/reduce and reduce/reduce conflicts down from 37+4 to 7+0.
1545
1546         I have fixed the reduce/reduce conflicts, then noticed that two of the fixes
1547         were already made in KDE tree (the other two are different because declaration
1548         blocks are described in quite different ways). Shift/reduce fixes are just
1549         merged from KDE, r332845 by Michael Matz.
1550
1551         * css/CSSGrammar.y:
1552
1553 2006-03-29  Alexey Proskuryakov  <ap@nypop.com>
1554
1555         Reviewed by Darin.
1556
1557         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7157
1558           An asterisk in a CSS property name breaks CSS handling 
1559           (Many layout problems at letras.terra.com.br)
1560
1561         Test: fast/css/error-in-last-decl.html
1562
1563         * css/CSSGrammar.y: Added a rule for the case when the last CSS rule 
1564           has a syntax error, and doesn't end with a semicolon.
1565
1566 2006-03-29  Darin Adler  <darin@apple.com>
1567
1568         Reviewed by Anders.
1569
1570         - another cut at fixing the buildbot
1571
1572         * generate-derived-sources: Fix if statement that was always following
1573         the Windows case. I believe this is the main problem.
1574
1575         * WebCore.xcodeproj/project.pbxproj: Added CharsetData.h and added CharsetData.cpp
1576         to the target.
1577         * WebCore.vcproj/WebCore/WebCore.vcproj: Similar changes.
1578
1579         * platform/CharsetData.h: Added.
1580         * platform/CharsetNames.cpp: Moved the actual character set data out into a
1581         separate source file instead of include a .cpp file.
1582
1583         * platform/make-charset-table.pl: Changed to generate a file that can stand alone.
1584
1585 2006-03-29  Darin Adler  <darin@apple.com>
1586
1587         - an attempt to fix the buildbot
1588
1589         * platform/mac/mac-encodings.txt: Touched this file so the character encodings
1590         files will be regenerated.
1591
1592 2006-03-29  Darin Adler  <darin@apple.com>
1593
1594         - a quick cut at fixing the windows build
1595
1596         * WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files.
1597
1598 2006-03-29  Maciej Stachowiak  <mjs@apple.com>
1599
1600         Reviewed by Anders.
1601         
1602         - fixed  <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
1603         
1604         Also fixed other issues with contains. The problem that caused the bug was:
1605         - contains should return true for the element itself, unlike isAncestor
1606         
1607         Other problems I fixed:
1608         - contains shouldn't be present on non-Element nodes
1609         - contains should return false when passed a non-Element node
1610         - contains should return false when passed a non-Node
1611
1612         * bindings/scripts/CodeGeneratorJS.pm: Handle Element as a parameter.
1613         * dom/Element.cpp:
1614         (WebCore::Element::contains): Added new implementation.
1615         * dom/Element.h: Added prototype for contains.
1616         * dom/Element.idl: Added IDL declaration for contains.
1617         * khtml/ecma/kjs_dom.cpp:
1618         (KJS::DOMNodeProtoFunc::callAsFunction): Added old wrong contains().
1619
1620 2006-03-28  Beth Dakin  <bdakin@apple.com>
1621
1622         Reviewed by Maciej
1623
1624         Fix for <rdar://problem/4493218> repro crash in 
1625         khtml::RenderBlock::repaintFloatingDescendants with giant 
1626         cellspacing value
1627
1628         Some callers of CSSPrimitiveValue::computeLength() expect an int, 
1629         and others a short. This patch splits computeLength() into 
1630         computeIntLength() and computeShortLength() so that the appropriate 
1631         bounds can be checked. 
1632
1633         * css/css_valueimpl.cpp:
1634         (WebCore::CSSPrimitiveValue::computeIntLength): Return 0 if not 
1635         within int bounds.
1636         (WebCore::CSSPrimitiveValue::computeShortLength): Return 0 if not 
1637         within short bounds.
1638         * css/css_valueimpl.h:
1639         * css/cssstyleselector.cpp:
1640         (WebCore::convertToLength): Switch to appropriate computeLength() 
1641         call.
1642         (WebCore::CSSStyleSelector::applyProperty): Same.
1643         (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same.
1644         (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same.
1645         * rendering/RenderBlock.cpp:
1646         (WebCore::RenderBlock::repaintFloatingDescendants): Nil check 
1647         m_floatingObjects and add an assertion. This is not necessary for 
1648         the fix, it is just because we are not sure that it is safe not to 
1649         nil-check, and we want to prevent potential problems in release 
1650         builds, and catch them with the assertion in debug builds.
1651         (WebCore::RenderBlock::addOverhangingFloats): Same as above.
1652
1653 2006-03-28  Alexey Proskuryakov  <ap@nypop.com>
1654
1655         Reviewed by Maciej.
1656
1657         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4616
1658           Setting nodeValue on a textnode with collapsed whitespace only has no visual effect
1659
1660         Test: fast/dom/space-to-text.html
1661
1662         * dom/CharacterData.cpp:
1663         (WebCore::CharacterData::setData): Create a renderer if it's needed, but missing.
1664         (WebCore::CharacterData::appendData): Ditto.
1665         (WebCore::CharacterData::insertData): Ditto.
1666         (WebCore::CharacterData::replaceData): Ditto.
1667
1668 2006-03-28  Tim Omernick  <timo@apple.com>
1669
1670         Reviewed by Maciej.
1671
1672         <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
1673         to another page while selecting inside textarea inside iframe
1674
1675         * kwq/WebCoreTextArea.mm:
1676         (-[WebCoreTextArea mouseDown:]):
1677         Guard super's -mouseDown: with calls to Widget::beforeMouseDown() and Widget::afterMouseDown().
1678         Other widgets do this to protect against being removed from the page and deallocated while handling
1679         mouse down events.
1680         (-[WebCoreTextView mouseDown:]):
1681         ditto
1682
1683         * manual-tests/textarea-iframe-navigation.html: Added.
1684         * manual-tests/textarea-iframe-navigation2.html: Added.
1685         Manual test case for this fix.
1686
1687 2006-03-28  Eric Seidel  <eseidel@apple.com>
1688
1689         Reviewed by darin.
1690
1691         <rdar://problem/4402170> CrashTracer: 499 crashes in Safari at com.apple.WebCore: DOM::DocumentImpl::open + 16
1692
1693         * dom/Document.cpp:
1694         (WebCore::Document::write): Fix unreproducible infinite recursion.
1695
1696 2006-03-28  Eric Seidel  <eseidel@apple.com>
1697
1698         Reviewed by darin.
1699
1700         Remove global initializers.
1701
1702         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1703         * ksvg2/svg/SVGAngle.cpp:
1704         * ksvg2/svg/SVGColor.cpp:
1705         * ksvg2/svg/SVGLength.cpp:
1706
1707 2006-03-28  Eric Seidel  <eseidel@apple.com>
1708
1709         Reviewed by darin.
1710
1711         Switch UIEvent, MouseEvent and KeyboardEvent over to
1712         be new auto-generated bindings.
1713         http://bugzilla.opendarwin.org/show_bug.cgi?id=7928
1714
1715         Updated test: fast/dom/prototype-chain.html
1716
1717         * WebCore.xcodeproj/project.pbxproj:
1718         * bindings/objc/DOMEvents.mm:
1719         (-[DOMEvent ::]):
1720         (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
1721         * bindings/scripts/CodeGeneratorJS.pm:
1722         * dom/EventTargetNode.cpp:
1723         (WebCore::EventTargetNode::dispatchMouseEvent):
1724         * dom/KeyboardEvent.idl: Added.
1725         * dom/MouseEvent.idl: Added.
1726         * dom/UIEvent.idl: Added.
1727         * dom/WheelEvent.idl:
1728         * dom/dom2_eventsimpl.cpp:
1729         (WebCore::MouseEvent::MouseEvent):
1730         (WebCore::MouseEvent::initMouseEvent):
1731         * dom/dom2_eventsimpl.h:
1732         (WebCore::MouseEvent::relatedTarget):
1733         (WebCore::MouseEvent::clipboard):
1734         * generate-derived-sources:
1735         * khtml/ecma/kjs_dom.cpp:
1736         (KJS::toEventTargetNode):
1737         * khtml/ecma/kjs_dom.h:
1738         * khtml/ecma/kjs_events.cpp:
1739         (KJS::toJS):
1740         * khtml/ecma/kjs_events.h:
1741
1742 2006-03-28  Darin Adler  <darin@apple.com>
1743
1744         Reviewed by Eric.
1745
1746         - replace getDocument with document in a few places that Geoff missed
1747
1748         * WebCore.xcodeproj/project.pbxproj:
1749         * dom/Attr.cpp:
1750         (WebCore::Attr::createTextChild):
1751         (WebCore::Attr::setValue):
1752         (WebCore::Attr::cloneNode):
1753         * dom/Attribute.cpp:
1754         (WebCore::Attribute::createAttrIfNeeded):
1755         * dom/Element.cpp:
1756         (WebCore::Element::cloneNode):
1757         (WebCore::inHTMLDocument):
1758         (WebCore::Element::setAttribute):
1759         (WebCore::Element::setAttributeMap):
1760         (WebCore::Element::createStyleForRenderer):
1761         (WebCore::Element::createRenderer):
1762         (WebCore::Element::recalcStyle):
1763         (WebCore::Element::dispatchAttrRemovalEvent):
1764         (WebCore::Element::dispatchAttrAdditionEvent):
1765         (WebCore::Element::updateId):
1766         (WebCore::Element::removeAttributeNode):
1767         (WebCore::Element::focus):
1768         (WebCore::Element::blur):
1769         * dom/NamedAttrMap.cpp:
1770         (WebCore::inHTMLDocument):
1771         (WebCore::NamedAttrMap::setNamedItem):
1772         * dom/NamedMappedAttrMap.cpp:
1773         (WebCore::NamedMappedAttrMap::parseClassAttribute):
1774         * dom/StyledElement.cpp:
1775         (WebCore::StyledElement::createInlineStyleDecl):
1776         (WebCore::StyledElement::parseMappedAttribute):
1777         (WebCore::StyledElement::createMappedDecl):
1778
1779         - added missing include that seems to be breaking the Windows build
1780
1781         * platform/String.cpp: Include <stdarg.h>.
1782
1783 2006-03-28  Geoffrey Garen  <ggaren@apple.com>
1784
1785         Reviewed by Beth.
1786
1787         - Global replace of getDocument() with document(). Darin suggested this
1788         in his review of my EventTargetNode patch. It matches the style of
1789         methods like ownerDocument().
1790
1791         - Changed getDocument() to document(); changed data member document to
1792         m_document; changed stack variable document to doc.
1793
1794         * bindings/objc/DOM.mm:
1795         (-[DOMNode ownerDocument]):
1796         (-[DOMNode KJS::Bindings::]):
1797         (-[DOMElement _getURLAttribute:]):
1798         * bindings/objc/DOMHTML.mm:
1799         (-[DOMHTMLElement titleDisplayString]):
1800         (-[DOMHTMLInputElement altDisplayString]):
1801         (-[DOMHTMLAnchorElement blur]):
1802         (-[DOMHTMLAnchorElement focus]):
1803         (-[DOMHTMLImageElement altDisplayString]):
1804         (-[DOMHTMLAppletElement altDisplayString]):
1805         (-[DOMHTMLAreaElement altDisplayString]):
1806         * bindings/objc/DOMInternal.mm:
1807         (-[WebScriptObject _initializeScriptDOMNodeImp]):
1808         * bridge/mac/FrameMac.mm:
1809         (WebCore::FrameMac::attributedString):
1810         * bridge/mac/FrameViewMac.mm:
1811         (WebCore::FrameView::updateDashboardRegions):
1812         * bridge/mac/WebCoreFrameBridge.mm:
1813         (-[WebCoreFrameBridge initSubframeWithRenderer:]):
1814         (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
1815         (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
1816         * css/CSSComputedStyleDeclaration.cpp:
1817         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1818         * css/css_base.cpp:
1819         (WebCore::StyleBase::baseURL):
1820         * css/css_stylesheetimpl.cpp:
1821         (WebCore::CSSStyleSheet::CSSStyleSheet):
1822         * css/cssstyleselector.cpp:
1823         (WebCore::CSSStyleSelector::initForStyleResolve):
1824         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1825         (WebCore::CSSStyleSelector::locateSharedStyle):
1826         (WebCore::CSSStyleSelector::createStyleForElement):
1827         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
1828         (WebCore::CSSStyleSelector::adjustRenderStyle):
1829         (WebCore::CSSStyleSelector::styleRulesForElement):
1830         (WebCore::CSSStyleSelector::checkOneSelector):
1831         (WebCore::CSSStyleSelector::applyProperty):
1832         (WebCore::CSSStyleSelector::mapBackgroundImage):
1833         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1834         * dom/AbstractView.cpp:
1835         (WebCore::AbstractView::AbstractView):
1836         * dom/CDATASection.cpp:
1837         (WebCore::CDATASection::cloneNode):
1838         (WebCore::CDATASection::createNew):
1839         * dom/CharacterData.cpp:
1840         (WebCore::CharacterData::setData):
1841         (WebCore::CharacterData::insertData):
1842         (WebCore::CharacterData::deleteData):
1843         (WebCore::CharacterData::replaceData):
1844         (WebCore::CharacterData::dispatchModifiedEvent):
1845         * dom/Comment.cpp:
1846         (WebCore::Comment::cloneNode):
1847         * dom/ContainerNode.cpp:
1848         (WebCore::ContainerNode::insertBefore):
1849         (WebCore::ContainerNode::replaceChild):
1850         (WebCore::ContainerNode::removeChild):
1851         (WebCore::ContainerNode::appendChild):
1852         (WebCore::ContainerNode::addChild):
1853         (WebCore::ContainerNode::getUpperLeftCorner):
1854         (WebCore::dispatchChildInsertionEvents):
1855         (WebCore::dispatchChildRemovalEvents):
1856         * dom/DOMImplementation.cpp:
1857         (WebCore::DOMImplementation::createDocument):
1858         * dom/Document.cpp:
1859         (WebCore::Document::Document):
1860         (WebCore::Document::~Document):
1861         (WebCore::Document::createDocumentFragment):
1862         (WebCore::Document::adoptNode):
1863         (WebCore::Document::createElementNS):
1864         (WebCore::Document::nodeAbsIndex):
1865         (WebCore::Document::setFocusNode):
1866         (WebCore::Document::topDocument):
1867         * dom/DocumentFragment.cpp:
1868         (WebCore::DocumentFragment::cloneNode):
1869         * dom/EventTargetNode.cpp:
1870         (WebCore::EventTargetNode::~EventTargetNode):
1871         (WebCore::EventTargetNode::insertedIntoDocument):
1872         (WebCore::EventTargetNode::removedFromDocument):
1873         (WebCore::EventTargetNode::addEventListener):
1874         (WebCore::EventTargetNode::removeEventListener):
1875         (WebCore::EventTargetNode::dispatchGenericEvent):
1876         (WebCore::EventTargetNode::dispatchEvent):
1877         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
1878         (WebCore::EventTargetNode::dispatchWindowEvent):
1879         (WebCore::EventTargetNode::dispatchUIEvent):
1880         (WebCore::EventTargetNode::dispatchKeyEvent):
1881         (WebCore::EventTargetNode::dispatchMouseEvent):
1882         (WebCore::EventTargetNode::dispatchWheelEvent):
1883         (WebCore::EventTargetNode::removeHTMLEventListener):
1884         * dom/Node.cpp:
1885         (WebCore::Node::Node):
1886         (WebCore::Node::setDocument):
1887         (WebCore::Node::setChanged):
1888         (WebCore::Node::checkSetPrefix):
1889         (WebCore::Node::checkAddChild):
1890         (WebCore::Node::attach):
1891         (WebCore::Node::detach):
1892         (WebCore::Node::createRendererIfNeeded):
1893         (WebCore::Node::rendererIsNeeded):
1894         (WebCore::Node::getElementsByTagNameNS):
1895         (WebCore::Node::ownerDocument):
1896         (WebCore::Node::setTextContent):
1897         * dom/Node.h:
1898         (WebCore::Node::document):
1899         (WebCore::Node::inDocument):
1900         * dom/NodeList.cpp:
1901         (WebCore::NodeList::itemById):
1902         * dom/Position.cpp:
1903         (WebCore::Position::documentElement):
1904         * dom/Range.cpp:
1905         (WebCore::Range::commonAncestorContainer):
1906         (WebCore::Range::setStart):
1907         (WebCore::Range::setEnd):
1908         (WebCore::Range::compareBoundaryPoints):
1909         (WebCore::Range::insertNode):
1910         (WebCore::Range::text):
1911         (WebCore::Range::setStartAfter):
1912         (WebCore::Range::setEndBefore):
1913         (WebCore::Range::setEndAfter):
1914         (WebCore::Range::surroundContents):
1915         (WebCore::Range::setStartBefore):
1916         (WebCore::rangeOfContents):
1917         * dom/Text.cpp:
1918         (WebCore::Text::cloneNode):
1919         (WebCore::Text::createNew):
1920         * dom/dom2_eventsimpl.cpp:
1921         (WebCore::MouseRelatedEvent::receivedTarget):
1922         * dom/dom2_traversalimpl.cpp:
1923         (WebCore::NodeIterator::NodeIterator):
1924         * dom/dom_elementimpl.cpp:
1925         (WebCore::Attribute::createAttrIfNeeded):
1926         (WebCore::Attr::createTextChild):
1927         (WebCore::Attr::setValue):
1928         (WebCore::Attr::cloneNode):
1929         (WebCore::Element::cloneNode):
1930         (WebCore::inHTMLDocument):
1931         (WebCore::Element::setAttribute):
1932         (WebCore::Element::setAttributeMap):
1933         (WebCore::Element::createStyleForRenderer):
1934         (WebCore::Element::createRenderer):
1935         (WebCore::Element::recalcStyle):
1936         (WebCore::Element::dispatchAttrRemovalEvent):
1937         (WebCore::Element::dispatchAttrAdditionEvent):
1938         (WebCore::Element::updateId):
1939         (WebCore::Element::removeAttributeNode):
1940         (WebCore::Element::focus):
1941         (WebCore::Element::blur):
1942         (WebCore::NamedAttrMap::setNamedItem):
1943         (WebCore::NamedMappedAttrMap::parseClassAttribute):
1944         (WebCore::StyledElement::createInlineStyleDecl):
1945         (WebCore::StyledElement::parseMappedAttribute):
1946         (WebCore::StyledElement::createMappedDecl):
1947         * dom/dom_xmlimpl.cpp:
1948         (WebCore::EntityReference::cloneNode):
1949         (WebCore::ProcessingInstruction::cloneNode):
1950         (WebCore::ProcessingInstruction::checkStyleSheet):
1951         (WebCore::ProcessingInstruction::sheetLoaded):
1952         (WebCore::ProcessingInstruction::setStyleSheet):
1953         * dom/xml_tokenizer.cpp:
1954         (WebCore::XMLTokenizer::XMLTokenizer):
1955         * editing/ReplaceSelectionCommand.cpp:
1956         (WebCore::ReplacementFragment::ReplacementFragment):
1957         (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
1958         (WebCore::styleForNode):
1959         * editing/Selection.cpp:
1960         (WebCore::Selection::toRange):
1961         * editing/SelectionController.cpp:
1962         (WebCore::SelectionController::~SelectionController):
1963         (WebCore::SelectionController::setSelection):
1964         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
1965         (WebCore::SelectionController::frame):
1966         (WebCore::SelectionController::layout):
1967         (WebCore::SelectionController::needsCaretRepaint):
1968         * editing/TextIterator.cpp:
1969         (WebCore::TextIterator::range):
1970         (WebCore::SimplifiedBackwardsTextIterator::range):
1971         * editing/VisiblePosition.cpp:
1972         (WebCore::VisiblePosition::init):
1973         (WebCore::makeRange):
1974         * editing/markup.cpp:
1975         (WebCore::startMarkup):
1976         (WebCore::shouldSelfClose):
1977         (WebCore::markup):
1978         (WebCore::createMarkup):
1979         * editing/visible_units.cpp:
1980         (WebCore::previousBoundary):
1981         (WebCore::nextBoundary):
1982         (WebCore::previousLinePosition):
1983         (WebCore::nextLinePosition):
1984         (WebCore::inSameDocument):
1985         * html/HTMLCollection.cpp:
1986         (WebCore::HTMLCollection::HTMLCollection):
1987         (WebCore::HTMLCollection::resetCollectionInfo):
1988         * html/HTMLElement.cpp:
1989         (WebCore::HTMLElement::nodeName):
1990         (WebCore::HTMLElement::cloneNode):
1991         (WebCore::HTMLElement::innerText):
1992         (WebCore::HTMLElement::createContextualFragment):
1993         (WebCore::HTMLElement::setInnerText):
1994         (WebCore::HTMLElement::setOuterText):
1995         (WebCore::HTMLElement::isContentEditable):
1996         (WebCore::HTMLElement::contentEditable):
1997         (WebCore::HTMLElement::toString):
1998         (WebCore::HTMLElement::childAllowed):
1999         (WebCore::HTMLElement::setHTMLEventListener):
2000         * html/HTMLFormElement.cpp:
2001         (WebCore::HTMLFormElement::formWouldHaveSecureSubmission):
2002         (WebCore::HTMLFormElement::attach):
2003         (WebCore::HTMLFormElement::insertedIntoDocument):
2004         (WebCore::HTMLFormElement::removedFromDocument):
2005         (WebCore::HTMLFormElement::formData):
2006         (WebCore::HTMLFormElement::prepareSubmit):
2007         (WebCore::HTMLFormElement::submit):
2008         (WebCore::HTMLFormElement::reset):
2009         (WebCore::HTMLFormElement::parseMappedAttribute):
2010         (WebCore::HTMLFormElement::registerFormElement):
2011         (WebCore::HTMLFormElement::removeFormElement):
2012         * html/HTMLGenericFormElement.cpp:
2013         (WebCore::HTMLGenericFormElement::attach):
2014         (WebCore::HTMLGenericFormElement::insertedIntoTree):
2015         (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
2016         * html/HTMLInputElement.cpp:
2017         (WebCore::HTMLInputElement::~HTMLInputElement):
2018         (WebCore::HTMLInputElement::isKeyboardFocusable):
2019         (WebCore::HTMLInputElement::focus):
2020         (WebCore::HTMLInputElement::setInputType):
2021         (WebCore::HTMLInputElement::parseMappedAttribute):
2022         (WebCore::HTMLInputElement::attach):
2023         (WebCore::HTMLInputElement::setChecked):
2024         (WebCore::HTMLInputElement::preDispatchEventHandler):
2025         (WebCore::HTMLInputElement::defaultEventHandler):
2026         (WebCore::HTMLInputElement::src):
2027         * html/HTMLKeygenElement.cpp:
2028         (WebCore::HTMLKeygenElement::appendFormData):
2029         * html/HTMLLabelElement.cpp:
2030         (WebCore::HTMLLabelElement::formElement):
2031         * html/HTMLOptionElement.cpp:
2032         (WebCore::HTMLOptionElement::text):
2033         (WebCore::HTMLOptionElement::setText):
2034         * html/HTMLParser.cpp:
2035         (WebCore::HTMLParser::HTMLParser):
2036         * html/HTMLSelectElement.cpp:
2037         (WebCore::HTMLSelectElement::~HTMLSelectElement):
2038         * html/HTMLTextAreaElement.cpp:
2039         (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement):
2040         (WebCore::HTMLTextAreaElement::setDefaultValue):
2041         * html/HTMLTokenizer.cpp:
2042         (WebCore::HTMLTokenizer::HTMLTokenizer):
2043         * html/html_baseimpl.cpp:
2044         (WebCore::HTMLBodyElement::createLinkDecl):
2045         (WebCore::HTMLBodyElement::mapToEntry):
2046         (WebCore::HTMLBodyElement::parseMappedAttribute):
2047         (WebCore::HTMLBodyElement::insertedIntoDocument):
2048         (WebCore::HTMLFrameElement::isURLAllowed):
2049         (WebCore::HTMLFrameElement::openURL):
2050         (WebCore::HTMLFrameElement::attach):
2051         (WebCore::HTMLFrameElement::close):
2052         (WebCore::HTMLFrameElement::contentFrame):
2053         (WebCore::HTMLFrameElement::frameWidth):
2054         (WebCore::HTMLFrameElement::frameHeight):
2055         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2056         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2057         (WebCore::HTMLIFrameElement::insertedIntoDocument):
2058         (WebCore::HTMLIFrameElement::removedFromDocument):
2059         (WebCore::HTMLIFrameElement::attach):
2060         (WebCore::HTMLIFrameElement::src):
2061         * html/html_blockimpl.cpp:
2062         (WebCore::HTMLParagraphElement::checkDTD):
2063         * html/html_headimpl.cpp:
2064         (WebCore::HTMLBaseElement::removedFromDocument):
2065         (WebCore::HTMLBaseElement::process):
2066         (WebCore::HTMLLinkElement::setDisabledState):
2067         (WebCore::HTMLLinkElement::parseMappedAttribute):
2068         (WebCore::HTMLLinkElement::process):
2069         (WebCore::HTMLLinkElement::setStyleSheet):
2070         (WebCore::HTMLLinkElement::sheetLoaded):
2071         (WebCore::HTMLLinkElement::href):
2072         (WebCore::HTMLMetaElement::process):
2073         (WebCore::HTMLScriptElement::childrenChanged):
2074         (WebCore::HTMLScriptElement::parseMappedAttribute):
2075         (WebCore::HTMLScriptElement::insertedIntoDocument):
2076         (WebCore::HTMLScriptElement::evaluateScript):
2077         (WebCore::HTMLScriptElement::setText):
2078         (WebCore::HTMLScriptElement::src):
2079         (WebCore::HTMLStyleElement::insertedIntoDocument):
2080         (WebCore::HTMLStyleElement::removedFromDocument):
2081         (WebCore::HTMLStyleElement::childrenChanged):
2082         (WebCore::HTMLStyleElement::sheetLoaded):
2083         (WebCore::HTMLTitleElement::insertedIntoDocument):
2084         (WebCore::HTMLTitleElement::removedFromDocument):
2085         (WebCore::HTMLTitleElement::childrenChanged):
2086         (WebCore::HTMLTitleElement::setText):
2087         * html/html_imageimpl.cpp:
2088         (WebCore::HTMLImageLoader::~HTMLImageLoader):
2089         (WebCore::HTMLImageLoader::updateFromElement):
2090         (WebCore::HTMLImageLoader::notifyFinished):
2091         (WebCore::HTMLImageElement::parseMappedAttribute):
2092         (WebCore::HTMLImageElement::insertedIntoDocument):
2093         (WebCore::HTMLImageElement::removedFromDocument):
2094         (WebCore::HTMLImageElement::width):
2095         (WebCore::HTMLImageElement::height):
2096         (WebCore::HTMLImageElement::src):
2097         (WebCore::HTMLMapElement::~HTMLMapElement):
2098         (WebCore::HTMLMapElement::parseMappedAttribute):
2099         (WebCore::HTMLAreaElement::href):
2100         * html/html_inlineimpl.cpp:
2101         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
2102         (WebCore::HTMLAnchorElement::defaultEventHandler):
2103         (WebCore::HTMLAnchorElement::href):
2104         (WebCore::HTMLAnchorElement::blur):
2105         (WebCore::HTMLAnchorElement::focus):
2106         * html/html_objectimpl.cpp:
2107         (WebCore::HTMLAppletElement::parseMappedAttribute):
2108         (WebCore::HTMLAppletElement::insertedIntoDocument):
2109         (WebCore::HTMLAppletElement::removedFromDocument):
2110         (WebCore::HTMLAppletElement::createRenderer):
2111         (WebCore::HTMLAppletElement::getAppletInstance):
2112         (WebCore::HTMLEmbedElement::getEmbedInstance):
2113         (WebCore::HTMLEmbedElement::parseMappedAttribute):
2114         (WebCore::HTMLEmbedElement::rendererIsNeeded):
2115         (WebCore::HTMLEmbedElement::insertedIntoDocument):
2116         (WebCore::HTMLEmbedElement::removedFromDocument):
2117         (WebCore::HTMLObjectElement::getObjectInstance):
2118         (WebCore::HTMLObjectElement::parseMappedAttribute):
2119         (WebCore::HTMLObjectElement::rendererIsNeeded):
2120         (WebCore::HTMLObjectElement::insertedIntoDocument):
2121         (WebCore::HTMLObjectElement::removedFromDocument):
2122         (WebCore::HTMLObjectElement::updateDocNamedItem):
2123         (WebCore::HTMLParamElement::parseMappedAttribute):
2124         * html/html_tableimpl.cpp:
2125         (WebCore::HTMLTableElement::createTHead):
2126         (WebCore::HTMLTableElement::createTFoot):
2127         (WebCore::HTMLTableElement::createCaption):
2128         (WebCore::HTMLTableElement::insertRow):
2129         (WebCore::HTMLTableElement::addChild):
2130         (WebCore::HTMLTableElement::mapToEntry):
2131         (WebCore::HTMLTableElement::parseMappedAttribute):
2132         (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
2133         (WebCore::HTMLTableElement::getSharedCellDecl):
2134         (WebCore::HTMLTablePartElement::mapToEntry):
2135         (WebCore::HTMLTablePartElement::parseMappedAttribute):
2136         (WebCore::HTMLTableSectionElement::insertRow):
2137         (WebCore::HTMLTableRowElement::insertCell):
2138         * khtml/ecma/kjs_dom.cpp:
2139         (KJS::DOMNode::~DOMNode):
2140         (KJS::DOMNode::mark):
2141         (KJS::DOMElement::getValueProperty):
2142         (KJS::DOMElementProtoFunc::callAsFunction):
2143         (KJS::checkNodeSecurity):
2144         (KJS::toJS):
2145         * khtml/ecma/kjs_html.cpp:
2146         (KJS::JSHTMLElement::implementsCall):
2147         (KJS::JSHTMLElement::bodyGetter):
2148         (KJS::JSHTMLElement::anchorGetter):
2149         (KJS::JSHTMLElement::getValueProperty):
2150         (KJS::JSHTMLElement::bodySetter):
2151         * khtml/ecma/kjs_traversal.cpp:
2152         (KJS::JSNodeFilterCondition::acceptNode):
2153         * khtml/ecma/kjs_views.cpp:
2154         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
2155         * khtml/xbl/xbl_binding.cpp:
2156         (XBL::XBLBindingChain::failed):
2157         (XBL::m_nextBinding):
2158         (XBL::XBLBinding::setXBLDocument):
2159         * khtml/xbl/xbl_protobinding.cpp:
2160         (XBL::XBLPrototypeBinding::document):
2161         * khtml/xsl/XSLStyleSheet.cpp:
2162         (WebCore::XSLStyleSheet::XSLStyleSheet):
2163         * khtml/xsl/XSLTProcessor.cpp:
2164         (WebCore::XSLTProcessor::createDocumentFromSource):
2165         (WebCore::xmlDocPtrFromNode):
2166         (WebCore::XSLTProcessor::transformToString):
2167         * ksvg2/svg/SVGAElement.cpp:
2168         (SVGAElement::defaultEventHandler):
2169         * ksvg2/svg/SVGAnimateColorElement.cpp:
2170         (SVGAnimateColorElement::handleTimerEvent):
2171         * ksvg2/svg/SVGAnimateElement.cpp:
2172         (SVGAnimateElement::handleTimerEvent):
2173         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2174         (SVGAnimateTransformElement::handleTimerEvent):
2175         * ksvg2/svg/SVGAnimationElement.cpp:
2176         (SVGAnimationElement::closeRenderer):
2177         * ksvg2/svg/SVGClipPathElement.cpp:
2178         (SVGClipPathElement::canvasResource):
2179         * ksvg2/svg/SVGElement.cpp:
2180         (WebCore::SVGElement::addSVGEventListener):
2181         * ksvg2/svg/SVGGradientElement.cpp:
2182         (SVGGradientElement::rebuildStops):
2183         * ksvg2/svg/SVGHelper.cpp:
2184         (SVGHelper::PercentageOfViewport):
2185         * ksvg2/svg/SVGLinearGradientElement.cpp:
2186         (SVGLinearGradientElement::buildGradient):
2187         * ksvg2/svg/SVGPatternElement.cpp:
2188         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2189         * ksvg2/svg/SVGRadialGradientElement.cpp:
2190         (WebCore::SVGRadialGradientElement::buildGradient):
2191         * ksvg2/svg/SVGSVGElement.cpp:
2192         (WebCore::SVGSVGElement::setCurrentScale):
2193         (WebCore::SVGSVGElement::addSVGWindowEventListner):
2194         * ksvg2/svg/SVGSetElement.cpp:
2195         (SVGSetElement::handleTimerEvent):
2196         * ksvg2/svg/SVGStyleElement.cpp:
2197         (SVGStyleElement::childrenChanged):
2198         * ksvg2/svg/SVGStyledElement.cpp:
2199         (WebCore::SVGStyledElement::canvas):
2200         * ksvg2/svg/SVGTitleElement.cpp:
2201         (WebCore::SVGTitleElement::closeRenderer):
2202         (WebCore::SVGTitleElement::insertedIntoDocument):
2203         (WebCore::SVGTitleElement::removedFromDocument):
2204         (WebCore::SVGTitleElement::childrenChanged):
2205         * ksvg2/svg/SVGUseElement.cpp:
2206         (SVGUseElement::closeRenderer):
2207         * kwq/WebCoreAXObject.mm:
2208         (-[WebCoreAXObject accessibilityPerformAction:]):
2209         (-[WebCoreAXObject accessibilityAttributeValue:]):
2210         * page/Frame.cpp:
2211         (WebCore::parentFromOwnerRenderer):
2212         (WebCore::Frame::frameForNode):
2213         (WebCore::Frame::clearDocumentFocus):
2214         * page/FrameView.cpp:
2215         (WebCore::FrameView::dispatchMouseEvent):
2216         * rendering/RenderBox.cpp:
2217         (WebCore::RenderBox::setStyle):
2218         * rendering/RenderCanvas.cpp:
2219         (WebCore::RenderCanvas::RenderCanvas):
2220         (WebCore::RenderCanvas::paintBoxDecorations):
2221         (WebCore::RenderCanvas::repaintViewRectangle):
2222         * rendering/RenderImage.cpp:
2223         (WebCore::RenderImage::imageMap):
2224         * rendering/RenderLayer.cpp:
2225         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2226         (WebCore::RenderLayer::setHasVerticalScrollbar):
2227         * rendering/RenderObject.cpp:
2228         (WebCore::RenderObject::createObject):
2229         (WebCore::RenderObject::RenderObject):
2230         (WebCore::RenderObject::isRoot):
2231         (WebCore::RenderObject::backslashAsCurrencySymbol):
2232         * rendering/RenderObject.h:
2233         (WebCore::RenderObject::document):
2234         * rendering/RenderTheme.cpp:
2235         (WebCore::RenderTheme::isFocused):
2236         * rendering/render_applet.cpp:
2237         (WebCore::RenderApplet::createWidgetIfNecessary):
2238         * rendering/render_replaced.cpp:
2239         (WebCore::RenderWidget::RenderWidget):
2240         (WebCore::RenderWidget::focusIn):
2241         (WebCore::RenderWidget::focusOut):
2242
2243 2006-03-28  Darin Adler  <darin@apple.com>
2244
2245         Reviewed by Geoff.
2246
2247         - added a build step that checks for init routines
2248
2249         * WebCore.xcodeproj/project.pbxproj: Deleted now-unused custom build rule that
2250         was replaced by the generate-derived-sources script a while back. Added a custom
2251         build phase that invokes the check-for-global-initializers script.
2252
2253 2006-03-28  Timothy Hatcher  <timothy@apple.com>
2254
2255         Reviewed by Maciej.
2256
2257         Moved the derived sources script to an agregate target. Fixes internal builds.
2258
2259         * WebCore.xcodeproj/project.pbxproj:
2260         * generate-derived-sources: was missing a use of $CREATE_HASH_TABLE
2261
2262 2006-03-28  Eric Seidel  <eseidel@apple.com>
2263
2264         Reviewed by hyatt.
2265         
2266         Build fix.
2267
2268         * dom/xml_tokenizer.cpp:
2269         (WebCore::XMLTokenizer::error):
2270
2271 2006-03-28  Michael Emmel  <mike.emmel@gmail.com>
2272
2273         Reviewed, tweaked, landed by Darin.
2274
2275         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8023
2276           Attribute.h missing class predeclaration
2277
2278         * dom/Attribute.h: Add declarations for classes so that the friend
2279         declaration is not the only one. There's an issue with either an earlier
2280         or later version of gcc, which is why we see this only on certain platforms.
2281
2282         * dom/Attr.cpp:
2283         (WebCore::Attr::Attr):
2284         (WebCore::Attr::~Attr):
2285         * dom/NamedAttrMap.cpp:
2286         (WebCore::NamedAttrMap::clearAttributes):
2287         (WebCore::NamedAttrMap::addAttribute):
2288         (WebCore::NamedAttrMap::removeAttribute):
2289         Change places where practical to use attr() instead of m_impl in the vain
2290         hope of removing the need for the friend declarations.
2291
2292 2006-03-27  Eric Seidel  <eseidel@apple.com>
2293
2294         Reviewed by darin.
2295
2296         Replace more DeprecatedString with String.
2297         Add String::sprintf() and String::number()
2298         http://bugzilla.opendarwin.org/show_bug.cgi?id=8009
2299
2300         * bindings/objc/DOMHTML.mm:
2301         (-[DOMHTMLTextAreaElement setCols:]):
2302         (-[DOMHTMLTextAreaElement setRows:]):
2303         (-[DOMHTMLOListElement setStart:]):
2304         (-[DOMHTMLPreElement setWidth:]):
2305         (-[DOMHTMLImageElement setHeight:]):
2306         (-[DOMHTMLImageElement setHspace:]):
2307         (-[DOMHTMLImageElement setVspace:]):
2308         (-[DOMHTMLImageElement setWidth:]):
2309         (-[DOMHTMLObjectElement setHspace:]):
2310         (-[DOMHTMLObjectElement setTabIndex:]):
2311         (-[DOMHTMLObjectElement setVspace:]):
2312         (-[DOMHTMLAppletElement setHspace:]):
2313         (-[DOMHTMLAppletElement setVspace:]):
2314         (-[DOMHTMLAreaElement setTabIndex:]):
2315         (-[DOMHTMLTableColElement setSpan:]):
2316         (-[DOMHTMLTableCellElement setColSpan:]):
2317         (-[DOMHTMLTableCellElement setRowSpan:]):
2318         (-[DOMHTMLEmbedElement setHeight:]):
2319         (-[DOMHTMLEmbedElement setWidth:]):
2320         * bindings/objc/DOMInternal.mm:
2321         (String::String):
2322         * css/CSSComputedStyleDeclaration.cpp:
2323         (WebCore::numberAsString):
2324         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2325         * css/css_valueimpl.cpp:
2326         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2327         (WebCore::CSSPrimitiveValue::cssText):
2328         * dom/Position.cpp:
2329         (WebCore::Position::formatForDebugger):
2330         * dom/Range.cpp:
2331         (WebCore::Range::formatForDebugger):
2332         * dom/StyledElement.cpp:
2333         (WebCore::StyledElement::addCSSColor):
2334         * dom/xml_tokenizer.cpp:
2335         (WebCore::XMLTokenizer::error):
2336         * editing/ApplyStyleCommand.cpp:
2337         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2338         * html/HTMLGenericFormElement.cpp:
2339         (WebCore::HTMLGenericFormElement::findMatchingState):
2340         (WebCore::HTMLGenericFormElement::setTabIndex):
2341         * html/HTMLInputElement.cpp:
2342         (WebCore::HTMLInputElement::setMaxLength):
2343         (WebCore::HTMLInputElement::setSize):
2344         * html/HTMLSelectElement.cpp:
2345         (WebCore::HTMLSelectElement::setSize):
2346         * html/HTMLTextAreaElement.cpp:
2347         (WebCore::HTMLTextAreaElement::setCols):
2348         (WebCore::HTMLTextAreaElement::setRows):
2349         * html/html_baseimpl.cpp:
2350         (WebCore::HTMLBodyElement::insertedIntoDocument):
2351         * html/html_blockimpl.cpp:
2352         (WebCore::HTMLHRElement::parseMappedAttribute):
2353         (WebCore::HTMLPreElement::setWidth):
2354         * html/html_imageimpl.cpp:
2355         (WebCore::HTMLImageElement::width):
2356         (WebCore::HTMLImageElement::height):
2357         (WebCore::HTMLImageElement::setBorder):
2358         (WebCore::HTMLImageElement::setHeight):
2359         (WebCore::HTMLImageElement::setHspace):
2360         (WebCore::HTMLImageElement::setVspace):
2361         (WebCore::HTMLImageElement::setWidth):
2362         (WebCore::HTMLAreaElement::setTabIndex):
2363         * html/html_inlineimpl.cpp:
2364         (WebCore::HTMLAnchorElement::setTabIndex):
2365         * html/html_listimpl.cpp:
2366         (WebCore::HTMLOListElement::setStart):
2367         (WebCore::HTMLLIElement::setValue):
2368         * html/html_objectimpl.cpp:
2369         (WebCore::HTMLObjectElement::setTabIndex):
2370         * html/html_tableimpl.cpp:
2371         (WebCore::HTMLTableElement::parseMappedAttribute):
2372         (WebCore::HTMLTableCellElement::setColSpan):
2373         (WebCore::HTMLTableCellElement::setRowSpan):
2374         (WebCore::HTMLTableColElement::setSpan):
2375         * khtml/ecma/kjs_window.cpp:
2376         (KJS::Window::isSafeScript):
2377         (KJS::Location::getValueProperty):
2378         * ksvg2/css/SVGCSSParser.cpp:
2379         (WebCore::CSSParser::parseSVGPaint):
2380         (WebCore::CSSParser::parseSVGColor):
2381         * ksvg2/svg/SVGAngle.cpp:
2382         (SVGAngle::setValueAsString):
2383         (SVGAngle::valueAsString):
2384         * ksvg2/svg/SVGAngle.h:
2385         * ksvg2/svg/SVGLength.cpp:
2386         (SVGLength::setValueAsString):
2387         (SVGLength::valueAsString):
2388         * ksvg2/svg/SVGLength.h:
2389         * ksvg2/svg/SVGPathSeg.h:
2390         (WebCore::SVGPathSeg::pathSegTypeAsLetter):
2391         (WebCore::SVGPathSeg::toString):
2392         * ksvg2/svg/SVGPathSegArc.h:
2393         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
2394         (WebCore::SVGPathSegArcAbs::toString):
2395         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
2396         (WebCore::SVGPathSegArcRel::toString):
2397         * ksvg2/svg/SVGPathSegClosePath.h:
2398         (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
2399         (WebCore::SVGPathSegClosePath::toString):
2400         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2401         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
2402         (WebCore::SVGPathSegCurvetoCubicAbs::toString):
2403         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
2404         (WebCore::SVGPathSegCurvetoCubicRel::toString):
2405         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2406         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
2407         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
2408         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
2409         (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
2410         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2411         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
2412         (WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
2413         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
2414         (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
2415         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2416         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
2417         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
2418         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
2419         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
2420         * ksvg2/svg/SVGPathSegLineto.h:
2421         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
2422         (WebCore::SVGPathSegLinetoAbs::toString):
2423         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
2424         (WebCore::SVGPathSegLinetoRel::toString):
2425         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2426         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
2427         (WebCore::SVGPathSegLinetoHorizontalAbs::toString):
2428         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
2429         (WebCore::SVGPathSegLinetoHorizontalRel::toString):
2430         * ksvg2/svg/SVGPathSegLinetoVertical.h:
2431         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
2432         (WebCore::SVGPathSegLinetoVerticalAbs::toString):
2433         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
2434         (WebCore::SVGPathSegLinetoVerticalRel::toString):
2435         * ksvg2/svg/SVGPathSegMoveto.h:
2436         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
2437         (WebCore::SVGPathSegMovetoAbs::toString):
2438         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
2439         (WebCore::SVGPathSegMovetoRel::toString):
2440         * ksvg2/svg/SVGPolyElement.cpp:
2441         (SVGPolyElement::notifyAttributeChange):
2442         * ksvg2/svg/SVGStopElement.cpp:
2443         (SVGStopElement::parseMappedAttribute):
2444         * ksvg2/svg/SVGUseElement.cpp:
2445         (SVGUseElement::closeRenderer):
2446         * platform/AtomicString.h:
2447         (WebCore::AtomicString::toInt):
2448         * platform/Color.cpp:
2449         (WebCore::Color::name):
2450         * platform/Color.h:
2451         * platform/PlatformString.h:
2452         * platform/String.cpp:
2453         (WebCore::String::sprintf):
2454         (WebCore::String::number):
2455         * platform/StringImpl.cpp:
2456         (WebCore::StringImpl::StringImpl):
2457         (WebCore::StringImpl::initWithChar):
2458         (WebCore::StringImpl::initWithQChar):
2459         (WebCore::StringImpl::containsOnlyWhitespace):
2460         * platform/mac/KeyEventMac.mm:
2461         (WebCore::keyIdentifierForKeyEvent):
2462         * rendering/render_form.cpp:
2463         (WebCore::RenderSlider::updateFromElement):
2464         (WebCore::RenderSlider::valueChanged):
2465
2466 2006-03-28  Justin Garcia  <justin.garcia@apple.com>
2467
2468         Reviewed by mjs
2469         
2470         <http://bugzilla.opendarwin.org/attachment.cgi?id=7322>
2471         REGRESSION: Select All does not highlight table if it's last in the document
2472         
2473         * rendering/RenderCanvas.cpp:
2474         (WebCore::rendererAfterPosition): 
2475         Added, returns the render object that a pre-order traversal over a range 
2476         of render objects ending at the input position should stop at.
2477         (WebCore::RenderCanvas::selectionRect): 
2478         Stop at rendererAfterPosition(m_selectionEnd, m_selectionEndPos), moved code 
2479         for traversal to nextInPreOrder. Also, the travesal doesn't need to fetch the
2480         next object before doing work, since the work it does will never change what 
2481         the next object in the traversal will be.
2482         (WebCore::RenderCanvas::setSelection): Ditto.
2483         * rendering/RenderObject.cpp:
2484         (WebCore::RenderObject::nextInPreOrder): Renamed from nextRenderer, cleaned up the logic a little.
2485         (WebCore::RenderObject::nextInPreOrderAfterChildren): Added.
2486         (WebCore::RenderObject::previousInPreOrder): Renamed from previousRenderer.
2487         (WebCore::RenderObject::childAt): Added.
2488         * rendering/RenderObject.h:
2489         * rendering/RenderText.cpp:
2490         (WebCore::RenderText::setText):
2491
2492 2006-03-28  Maciej Stachowiak  <mjs@apple.com>
2493
2494         Reviewed by Justin.
2495         
2496         - fixed <rdar://problem/4483851> REGRESSION: parse mode gets set to strict after going back from non-HTML content (7102)
2497
2498         Reshuffled things to arrange for m_doc to be cleared somewhat earlier than before.
2499         
2500         * page/Frame.cpp:
2501         (WebCore::Frame::didOpenURL):
2502         (WebCore::Frame::receivedFirstData):
2503         (WebCore::Frame::begin):
2504         (WebCore::Frame::endIfNotLoading): 
2505         * manual-tests/accidental-strict-mode.html: Added. I don't think an
2506         automated test is possible.
2507
2508 2006-03-28  Eric Seidel  <eseidel@apple.com>
2509
2510         Reviewed by mjs.
2511
2512         Convert a couple DeprecatedPtrList<T> to Vector<T*> and HashSet<T*>
2513
2514         * bridge/mac/FrameMac.h:
2515         * bridge/mac/FrameMac.mm:
2516         (WebCore::regExpForLabels):
2517         (WebCore::FrameMac::addPluginRootObject):
2518         (WebCore::FrameMac::cleanupPluginRootObjects):
2519         * loader/Cache.cpp:
2520         (WebCore::Cache::init):
2521         (WebCore::Cache::clear):
2522         (WebCore::Cache::remove):
2523         * loader/Cache.h:
2524         * loader/DocLoader.cpp:
2525         (WebCore::DocLoader::DocLoader):
2526         (WebCore::DocLoader::~DocLoader):
2527
2528 2006-03-27  Eric Seidel  <eseidel@apple.com>
2529
2530         Reviewed by mjs.
2531
2532         Give StringImpl a little privacy.
2533         http://bugzilla.opendarwin.org/show_bug.cgi?id=8022
2534
2535         * dom/CharacterData.cpp:
2536         (WebCore::CharacterData::length):
2537         (WebCore::CharacterData::appendData):
2538         (WebCore::CharacterData::replaceData):
2539         (WebCore::CharacterData::checkCharDataOperation):
2540         (WebCore::CharacterData::rendererIsNeeded):
2541         * dom/Range.cpp:
2542         (WebCore::Range::compareBoundaryPoints):
2543         * dom/Text.cpp:
2544         (WebCore::Text::splitText):
2545         * html/HTMLTokenizer.cpp:
2546         (WebCore::HTMLTokenizer::processToken):
2547         * platform/AtomicString.cpp:
2548         (WebCore::operator==):
2549         * platform/String.cpp:
2550         (WebCore::String::operator[]):
2551         (WebCore::String::length):
2552         (WebCore::String::percentage):
2553         (WebCore::String::unicode):
2554         (WebCore::String::deprecatedString):
2555         (WebCore::String::isEmpty):
2556         * platform/StringImpl.cpp:
2557         (WebCore::equal):
2558         (WebCore::equalIgnoringCase):
2559         * platform/StringImpl.h:
2560         * rendering/InlineTextBox.cpp:
2561         (WebCore::InlineTextBox::selectionRect):
2562         (WebCore::InlineTextBox::paint):
2563         (WebCore::InlineTextBox::paintSelection):
2564         (WebCore::InlineTextBox::paintMarkedTextBackground):
2565         (WebCore::InlineTextBox::paintTextMatchMarker):
2566         (WebCore::InlineTextBox::offsetForPosition):
2567         (WebCore::InlineTextBox::positionForOffset):
2568         * rendering/RenderText.cpp:
2569         (WebCore::RenderText::widthFromCache):
2570         (WebCore::RenderText::calcMinMaxWidth):
2571         (WebCore::RenderText::width):
2572
2573 2006-03-27  Maciej Stachowiak  <mjs@apple.com>
2574
2575         Reviewed by Beth.
2576
2577         - fixed <rdar://problem/4279765> REGRESSION: "More..." links on flickr groups pages have hover issues (flickr.com)
2578
2579         * rendering/RenderBlock.cpp:
2580         (WebCore::RenderBlock::floatRect): Rewrote in terms of rects, and made it consider child floatRects
2581         as well as their overflowRects.
2582         * platform/IntRect.h:
2583         (WebCore::unionRect): useful helper
2584         * platform/FloatRect.h:
2585         (WebCore::unionRect): added same for FloatRect just because
2586
2587 2006-03-27  Darin Adler  <darin@apple.com>
2588
2589         Based on a patch by Michael Emmel <mike.emmel@gmail.com>.
2590
2591         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8012
2592           TransferJob.cpp includes non-existent "String.h" (capital S)
2593
2594         * platform/TransferJob.cpp: Remove unneeded include of "String.h".
2595
2596 2006-03-27  David Harrison  <harrison@apple.com>
2597
2598         Reviewed by Darin.
2599
2600         <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)
2601
2602         Better fix than previous checkin, since maxDeepOffset is really an editing hack.
2603
2604         * editing/selection/selectNodeContents-textNode.html: Added.
2605
2606         * dom/Range.cpp:
2607         (WebCore::Range::selectNodeContents):
2608         Use maxOffset if offsetInCharacters, otherwise use childNodeCount.
2609
2610 2006-03-27  Darin Adler  <darin@apple.com>
2611
2612         Based on a patch by Michael Emmel <mike.emmel@gmail.com>.
2613
2614         - fix compilation for Linux
2615           http://bugzilla.opendarwin.org/show_bug.cgi?id=8013
2616
2617         * rendering/render_style.h: Add declaration of CSSStyleSelector. Also tweaked
2618         formatting a bit and removed some extraneous WebCore:: prefixes.
2619
2620 2006-03-27  John Sullivan  <sullivan@apple.com>
2621
2622         Reviewed by Darin Adler and Tim Omernick
2623         
2624         - fixed <rdar://problem/4406505> REGRESSION: (japanese text) Clauses is unexpectedly 
2625         confirmed while typing on Safari.
2626
2627         * bindings/objc/DOMHTML.mm:
2628         (-[DOMHTMLInputElement _displayedValue]):
2629         Avoid calling stringValue on the focused NSTextField. This will soon be obsolete, but
2630         for now it fixes this regression.
2631
2632 2006-03-27  Alexander Kellett  <lypanov@kde.org>
2633
2634         Reviewed by darin
2635
2636         Implement the IE extension insertAdjacentElement
2637         http://bugzilla.opendarwin.org/show_bug.cgi?id=6520
2638
2639         * bindings/scripts/CodeGeneratorJS.pm:
2640         * dom/Element.cpp:
2641         (WebCore::ElementImpl::insertAdjacentElement):
2642         * dom/Element.h:
2643         * dom/Element.idl:
2644
2645 2006-03-27  David Harrison  <harrison@apple.com>
2646
2647         Reviewed by Tim Hatcher.
2648
2649         <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)
2650
2651         Range::selectNodeContents() was erroneously using childNodeCount, which is always 0 for text
2652         nodes.  Turns out that [WebCoreAXObject textUnderElement] is the only code that ends up calling
2653         selectNodeContents on a text node.
2654
2655         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
2656         is not possible.  See following bug...
2657             <rdar://problem/4256882> Need automated testing support for accessibility APIs
2658
2659         * dom/Range.cpp:
2660         (WebCore::Range::selectNodeContents):
2661         Use maxDeepOffset instead of childNodeCount, so that text node content is selected.
2662
2663 2006-03-27  Graham Dennis  <Graham.Dennis@gmail.com>
2664
2665         Reviewed by darin
2666         
2667         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7868>
2668         REGRESSION: Extraneous focus ring drawn at the end of the page
2669         
2670         * platform/GraphicsContext.cpp:
2671         (WebCore::GraphicsContext::addFocusRingRect): Don't add a focus ring for an empty rect.
2672
2673 2006-03-27  Maciej Stachowiak  <mjs@apple.com>
2674
2675         Reviewed by Anders.
2676         
2677         - fixed <rdar://problem/4489745> REGRESSION: Safari crashes at to display http://www.lgphilips-lcd.com/
2678
2679         * manual-tests/empty-script-crash.html: Added.
2680
2681 2006-03-27  Maciej Stachowiak  <mjs@apple.com>
2682
2683         Build fix:
2684         
2685         - reverted fix for <rdar://problem/4362396> capturing listeners do not fire on the target node
2686         It turns out that the behavior we had was standards-compliant and
2687         Moz will be changing to match.
2688         
2689         Also added a note so this doesn't get reverted again.
2690
2691         * dom/EventTargetNode.cpp:
2692         (WebCore::EventTargetNode::dispatchGenericEvent):
2693
2694 2006-03-26  Justin Garcia  <justin.garcia@apple.com>
2695
2696         Reviewed by darn
2697         
2698         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
2699         Add EditActions and WebUndoActions for CreateLink and Unlink
2700
2701         * bridge/mac/WebCoreFrameBridge.h:
2702         * editing/CreateLinkCommand.h:
2703         (WebCore::CreateLinkCommand::editingAction):
2704         * editing/EditAction.h:
2705         * editing/UnlinkCommand.h:
2706         (WebCore::UnlinkCommand::editingAction):
2707
2708 2006-03-26  Eric Seidel  <eseidel@apple.com>
2709
2710         Reviewed by mjs.
2711
2712         Fix win32 build.
2713
2714         * WebCore.vcproj/WebCore/WebCore.vcproj:
2715         * editing/CompositeEditCommand.cpp:
2716         * editing/InsertTextCommand.cpp:
2717         * generate-derived-sources:
2718
2719 2006-03-26  Eric Seidel  <eseidel@apple.com>
2720
2721         * dom/Element.cpp: fix include case, fixing build.
2722
2723 2006-03-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2724
2725         Reviewed by darin.  Landed by eseidel.
2726
2727         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7916
2728           Box repaint rect does not include the left overflow
2729
2730         * manual-tests/left-overflow-repaint.html: Added.
2731         * rendering/RenderBlock.cpp:
2732         (WebCore::RenderBlock::overflowRect): Changed m_overflowWidth and m_overflowHeight
2733         to overflowWidth() and overflowHeight() since RenderTable overrides the latter.
2734         * rendering/RenderBox.cpp:
2735         (WebCore::RenderBox::getAbsoluteRepaintRect): Include top and left overflows.
2736         * rendering/RenderFlow.cpp:
2737         (WebCore::RenderFlow::getAbsoluteRepaintRect): Removed redundant code.
2738         * rendering/RenderTableCell.cpp: Removed subclass implementation of
2739         getAbsoluteRepaintRect().
2740         * rendering/RenderTableCell.h:
2741         * rendering/bidi.cpp:
2742         (WebCore::RenderBlock::layoutInlineChildren): Include left overflow in repaint rect.
2743
2744 2006-03-25  Eric Seidel  <eseidel@apple.com>
2745
2746         Reviewed by andersca.
2747
2748         Build fix.
2749
2750         * bindings/scripts/CodeGeneratorJS.pm: include Element.h
2751
2752 2006-03-25  Eric Seidel  <eseidel@apple.com>
2753
2754         Reviewed by andersca.
2755
2756         Split dom_elementimpl.* into multiple files (one per class).
2757         http://bugzilla.opendarwin.org/show_bug.cgi?id=7978
2758
2759         * ForwardingHeaders/kdom/core/Attr.h: Removed.
2760         * ForwardingHeaders/kdom/core/Element.h: Removed.
2761         * ForwardingHeaders/kdom/core/XMLElement.h: Removed.
2762         * WebCore.xcodeproj/project.pbxproj:
2763         * bindings/objc/DOM.mm:
2764         * bindings/objc/DOMHTML.mm:
2765         * bindings/scripts/CodeGeneratorJS.pm:
2766         * dom/AbstractView.cpp:
2767         * dom/Attr.cpp: Added.
2768         * dom/Attr.h: Added.
2769         * dom/Attribute.cpp: Added.
2770         * dom/Attribute.h: Added.
2771         * dom/CSSMappedAttributeDeclaration.cpp: Added.
2772         * dom/CSSMappedAttributeDeclaration.h: Added.
2773         * dom/DOMImplementation.cpp:
2774         * dom/Document.h:
2775         * dom/DocumentType.cpp:
2776         * dom/Element.cpp: Added.
2777         (WebCore::Element::Element):
2778         (WebCore::Element::~Element):
2779         * dom/Element.h: Added.
2780         * dom/EventNames.cpp:
2781         * dom/EventTargetNode.cpp:
2782         * dom/MappedAttribute.cpp: Added.
2783         * dom/MappedAttribute.h: Added.
2784         * dom/MappedAttributeEntry.h: Added.
2785         (WebCore::):
2786         * dom/NameNodeList.cpp:
2787         (WebCore::NameNodeList::NameNodeList):
2788         (WebCore::NameNodeList::item):
2789         (WebCore::NameNodeList::nodeMatches):
2790         * dom/NamedAttrMap.cpp: Added.
2791         * dom/NamedAttrMap.h: Added.
2792         * dom/NamedMappedAttrMap.cpp: Added.
2793         (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
2794         * dom/NamedMappedAttrMap.h: Added.
2795         * dom/Node.cpp:
2796         * dom/NodeList.cpp:
2797         * dom/Position.cpp:
2798         * dom/StyledElement.cpp: Added.
2799         * dom/StyledElement.h: Added.
2800         * dom/dom_elementimpl.cpp: Removed.
2801         * dom/dom_elementimpl.h: Removed.
2802         * editing/BreakBlockquoteCommand.cpp:
2803         * editing/CompositeEditCommand.cpp:
2804         * editing/DeleteFromTextNodeCommand.cpp:
2805         * editing/DeleteSelectionCommand.cpp:
2806         * editing/InsertLineBreakCommand.cpp:
2807         * editing/InsertParagraphSeparatorCommand.cpp:
2808         * editing/InsertTextCommand.cpp:
2809         * editing/MergeIdenticalElementsCommand.cpp:
2810         * editing/ModifySelectionListLevelCommand.cpp:
2811         * editing/MoveSelectionCommand.cpp:
2812         * editing/RemoveCSSPropertyCommand.cpp:
2813         * editing/RemoveNodeAttributeCommand.cpp:
2814         * editing/Selection.cpp:
2815         * editing/SelectionController.cpp:
2816         * editing/SetNodeAttributeCommand.cpp:
2817         * editing/SplitElementCommand.cpp:
2818         * editing/SplitTextNodeContainingElementCommand.cpp:
2819         * editing/TextIterator.cpp:
2820         * editing/TypingCommand.cpp:
2821         * editing/VisiblePosition.cpp:
2822         * editing/visible_units.cpp:
2823         * html/HTMLElement.h:
2824         * html/HTMLTokenizer.h:
2825         * html/html_baseimpl.cpp:
2826         * kcanvas/RenderSVGImage.cpp:
2827         * khtml/ecma/kjs_views.cpp:
2828         * khtml/ecma/kjs_window.cpp:
2829         (KJS::Window::getValueProperty):
2830         * khtml/xbl/xbl_binding_manager.cpp:
2831         * khtml/xbl/xbl_tokenizer.cpp:
2832         * ksvg2/misc/SVGImageLoader.cpp:
2833         * ksvg2/svg/SVGAElement.cpp:
2834         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2835         * ksvg2/svg/SVGAnimationElement.cpp:
2836         * ksvg2/svg/SVGCircleElement.cpp:
2837         * ksvg2/svg/SVGClipPathElement.cpp:
2838         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2839         * ksvg2/svg/SVGCursorElement.cpp:
2840         * ksvg2/svg/SVGElement.cpp:
2841         (WebCore::SVGElement::SVGElement):
2842         * ksvg2/svg/SVGElement.h:
2843         * ksvg2/svg/SVGEllipseElement.cpp:
2844         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
2845         * ksvg2/svg/SVGFEBlendElement.cpp:
2846         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2847         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2848         * ksvg2/svg/SVGFECompositeElement.cpp:
2849         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2850         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2851         * ksvg2/svg/SVGFEFloodElement.cpp:
2852         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2853         * ksvg2/svg/SVGFEImageElement.cpp:
2854         * ksvg2/svg/SVGFELightElement.cpp:
2855         * ksvg2/svg/SVGFEMergeElement.cpp:
2856         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
2857         * ksvg2/svg/SVGFEOffsetElement.cpp:
2858         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2859         * ksvg2/svg/SVGFETileElement.cpp:
2860         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2861         * ksvg2/svg/SVGFilterElement.cpp:
2862         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
2863         * ksvg2/svg/SVGFitToViewBox.cpp:
2864         * ksvg2/svg/SVGGradientElement.cpp:
2865         * ksvg2/svg/SVGImageElement.cpp:
2866         * ksvg2/svg/SVGLangSpace.cpp:
2867         * ksvg2/svg/SVGLineElement.cpp:
2868         * ksvg2/svg/SVGLinearGradientElement.cpp:
2869         * ksvg2/svg/SVGMarkerElement.cpp:
2870         * ksvg2/svg/SVGMaskElement.cpp:
2871         * ksvg2/svg/SVGPathElement.cpp:
2872         * ksvg2/svg/SVGPatternElement.cpp:
2873         * ksvg2/svg/SVGPolyElement.cpp:
2874         * ksvg2/svg/SVGRadialGradientElement.cpp:
2875         * ksvg2/svg/SVGRectElement.cpp:
2876         * ksvg2/svg/SVGSVGElement.cpp:
2877         * ksvg2/svg/SVGScriptElement.cpp:
2878         * ksvg2/svg/SVGStopElement.cpp:
2879         * ksvg2/svg/SVGStyledElement.cpp:
2880         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2881         * ksvg2/svg/SVGSwitchElement.cpp:
2882         * ksvg2/svg/SVGTests.cpp:
2883         * ksvg2/svg/SVGTextContentElement.cpp:
2884         * ksvg2/svg/SVGTextPositioningElement.cpp:
2885         * ksvg2/svg/SVGTransformable.cpp:
2886         * ksvg2/svg/SVGURIReference.cpp:
2887         * ksvg2/svg/SVGUseElement.cpp:
2888         * ksvg2/svg/SVGViewElement.cpp:
2889         * ksvg2/svg/SVGZoomAndPan.cpp:
2890         * kwq/WebCoreTextArea.mm:
2891         * platform/Widget.h:
2892         * rendering/RenderBlock.cpp:
2893         * rendering/RenderCanvas.cpp:
2894         * rendering/RenderContainer.cpp:
2895         * rendering/RenderObject.cpp:
2896         * rendering/RenderTextField.cpp:
2897         * rendering/RenderThemeMac.mm:
2898         * rendering/bidi.cpp:
2899         * rendering/render_replaced.cpp:
2900
2901 2006-03-25  Eric Seidel  <eseidel@apple.com>
2902
2903         Reviewed by mjs.
2904
2905         Fix RenderStyle creation to avoid floating RenderStyle objects.
2906         This also fixes a bug, were SVG to ever start sharing RenderStyles
2907         between elements, code would have crashed as there were improperly
2908         paired style->deref() statements in SVG code.
2909         http://bugzilla.opendarwin.org/show_bug.cgi?id=7976
2910
2911         No test possible (no functionality change).
2912
2913         * css/cssstyleselector.cpp:
2914         (WebCore::CSSStyleSelector::createStyleForElement):
2915         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
2916         * css/cssstyleselector.h:
2917         * dom/Node.cpp:
2918         (WebCore::Node::createRendererIfNeeded):
2919         (WebCore::Node::createStyleForRenderer):
2920         * dom/Node.h:
2921         * dom/dom_elementimpl.cpp:
2922         (WebCore::Element::createStyleForRenderer):
2923         (WebCore::Element::recalcStyle):
2924         * dom/dom_elementimpl.h:
2925         * ksvg2/svg/SVGClipPathElement.cpp:
2926         (SVGClipPathElement::canvasResource):
2927         * ksvg2/svg/SVGFEFloodElement.cpp:
2928         (SVGFEFloodElement::filterEffect):
2929         * ksvg2/svg/SVGGradientElement.cpp:
2930         (SVGGradientElement::rebuildStops):
2931         * rendering/RenderObject.cpp:
2932         (WebCore::RenderObject::createObject):
2933         (WebCore::RenderObject::RenderObject):
2934         (WebCore::selectStartNode):
2935         (WebCore::RenderObject::draggableNode):
2936         (WebCore::RenderObject::getPseudoStyle):
2937
2938 2006-03-23  Eric Seidel  <eseidel@apple.com>
2939
2940         Reviewed by mjs.
2941
2942         Shave .2% on PLT by removing bogus strcmp.
2943         http://bugzilla.opendarwin.org/show_bug.cgi?id=7938
2944
2945         Test: fast/parser/tag-with-exclamation-point.html
2946
2947         * html/HTMLTokenizer.cpp:
2948         (WebCore::HTMLTokenizer::parseTag): remove bogus strcmp
2949
2950 2006-03-25  Justin Garcia  <justin.garcia@apple.com>
2951
2952         Reviewed by harrison
2953         
2954         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7683>
2955         TinyMCE: execCommand("Unlink") unimplemented
2956         
2957         Added code to push partially selected anchor elements down before 
2958         creating or removing links to create fully selected chunks that can be removed.
2959         Changed __create_link_command_h__ to CreateLinkCommand_h
2960         Gave styled element application/removal its own ApplyStyleCommand constructor.
2961         Still need to add new EditActions (7974).
2962         
2963         * WebCore.xcodeproj/project.pbxproj:
2964         * editing/ApplyStyleCommand.cpp:
2965         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
2966         (WebCore::ApplyStyleCommand::applyBlockStyle):
2967         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2968         * editing/ApplyStyleCommand.h:
2969         * editing/CompositeEditCommand.cpp:
2970         (WebCore::CompositeEditCommand::applyStyle):
2971         (WebCore::CompositeEditCommand::applyStyledElement):
2972         (WebCore::CompositeEditCommand::removeStyledElement):
2973         (WebCore::enclosingAnchorElement):
2974         (WebCore::CompositeEditCommand::pushAnchorElementDown):
2975         (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
2976         * editing/CompositeEditCommand.h:
2977         * editing/CreateLinkCommand.cpp:
2978         (WebCore::CreateLinkCommand::doApply):
2979         * editing/CreateLinkCommand.h:
2980         * editing/JSEditor.cpp:
2981         * editing/Selection.cpp:
2982         (WebCore::Selection::selectionFromContentsOfNode):
2983         * editing/Selection.h:
2984         * editing/UnlinkCommand.cpp: Added.
2985         (WebCore::UnlinkCommand::UnlinkCommand):
2986         (WebCore::UnlinkCommand::doApply):
2987         * editing/UnlinkCommand.h: Added.
2988         * page/Frame.cpp:
2989         (WebCore::Frame::selectContentsOfNode):
2990         (WebCore::Frame::computeAndSetTypingStyle):
2991         (WebCore::Frame::applyStyle):
2992         (WebCore::Frame::applyParagraphStyle):
2993
2994 2006-03-24  Justin Garcia  <justin.garcia@apple.com>
2995
2996         Reviewed by harrison
2997         
2998         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7955>
2999         REGRESSION: Content with an interchange newline lost when pasted at the end of the document
3000         
3001         There's no safe place in the document to keep the fragment while pasting, so I avoid
3002         isProbablyBlock by saving whether or not something was blockFlow during the test 
3003         insertion.
3004
3005         * editing/ReplaceSelectionCommand.cpp:
3006         (WebCore::ReplacementFragment::ReplacementFragment):
3007         (WebCore::ReplacementFragment::~ReplacementFragment):
3008         (WebCore::ReplacementFragment::firstChild):
3009         (WebCore::ReplacementFragment::lastChild):
3010         (WebCore::ReplacementFragment::mergeStartNode):
3011         (WebCore::ReplacementFragment::enclosingBlock):
3012         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3013         (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment):
3014         (WebCore::ReplacementFragment::isBlockFlow):
3015         (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
3016         (WebCore::styleForNode):
3017         (WebCore::ReplacementFragment::saveRenderingInfo):
3018         (WebCore::ReplacementFragment::removeUnrenderedNodes):
3019         (WebCore::ReplacementFragment::renderedBlocks):
3020         (WebCore::ReplacementFragment::removeStyleNodes):
3021         (WebCore::RenderingInfo::RenderingInfo):
3022         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3023         (WebCore::ReplaceSelectionCommand::doApply):
3024         * editing/ReplaceSelectionCommand.h:
3025         (WebCore::RenderingInfo::isBlockFlow):
3026         (WebCore::ReplacementFragment::renderingInfo):
3027         (WebCore::ReplacementFragment::nodes):
3028         
3029 2006-03-24  Eric Seidel  <eseidel@apple.com>
3030
3031         Reviewed by justing.
3032
3033         * generate-derived-sources: fix clean builds on mac.
3034         
3035 2006-03-24  Darin Adler  <darin@apple.com>
3036
3037         Reviewed by Dave Harrison.
3038
3039         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7942
3040           nightlies after r13387 break js createcontextualfragment
3041
3042         Test: fast/dom/Range/create-contextual-fragment.html
3043
3044         * dom/Range.idl: Add createContextualFragment.
3045
3046 2006-03-24  Eric Seidel  <eseidel@apple.com>
3047
3048         Reviewed by mjs.
3049
3050         Fix win32 build.
3051         Unify mac/win dependency handling.
3052         Fix class vs. struct linker problem for win32.
3053
3054         * WebCore.vcproj/WebCore/WebCore.vcproj: Add DerivedSources
3055         * WebCore.vcproj/WebCore/build-generated-files.sh:
3056         * bridge/win/BrowserExtensionWin.h:
3057         * bridge/win/FrameWin.h:
3058         * generate-derived-sources:
3059         * kwq/AccessibilityObjectCache.h:
3060         * platform/GraphicsContext.cpp:
3061         (WebCore::GraphicsContext::createGraphicsContextPrivate):
3062         (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
3063         * platform/GraphicsContext.h:
3064         * platform/cairo/GraphicsContextCairo.cpp:
3065         * platform/mac/GraphicsContextMac.mm:
3066         * platform/win/TemporaryLinkStubs.cpp:
3067         (QLineEdit::selectedText):
3068         (FrameWin::createPlugin):
3069         (BrowserExtensionWin::setTypedIconURL):
3070
3071 2006-03-23  Darin Adler  <darin@apple.com>
3072
3073         Reviewed by Adele.
3074
3075         - fix <rdar://problem/4484787> KWQAccObject dangles under GC
3076
3077         * kwq/AccessibilityObjectCache.h: Moved AccessibilityObjectCache into the WebCore
3078         namespace. Renamed accObject to get, removed setAccObject, renamed removeAccObject
3079         to remove, removed getAccObjectID, renamed removeAXObjectID to removeAXID, change
3080         from CF dictionaries to HashMap and HashSet.
3081         * kwq/AccessibilityObjectCache.mm:
3082         (WebCore::AccessibilityObjectCache::~AccessibilityObjectCache): Detach all objects
3083         and call CFRelease on all of them.
3084         (WebCore::AccessibilityObjectCache::get): Call CFRetain on objects before putting
3085         them in the HashMap, rather than assuming that retain == CFRetain. This is what
3086         fixes the GC issue.
3087         (WebCore::AccessibilityObjectCache::remove): Detach and call CFRelease when removing.
3088         (WebCore::AccessibilityObjectCache::getAXID): Change to use a single global variable
3089         for the AXIDs, which makes it so we won't reuse the same AXID as much as we did before.
3090         (WebCore::AccessibilityObjectCache::removeAXID): Updated to use HashSet.
3091         (WebCore::AccessibilityObjectCache::textMarkerForVisiblePosition): Updated for other changes.
3092         (WebCore::AccessibilityObjectCache::visiblePositionForTextMarker): Ditto.
3093         (WebCore::AccessibilityObjectCache::childrenChanged): Ditto.
3094         (WebCore::AccessibilityObjectCache::postNotificationToTopWebArea): Ditto.
3095         (WebCore::AccessibilityObjectCache::postNotification): Ditto.
3096
3097         * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge accessibilityTree]):
3098         Change to use functions by new names.
3099
3100         * dom/Document.h: AccessibilityObjectCache is now in the WebCore namespace.
3101         getAccObjectCache and ownerElement are const member functions, and m_accCache
3102         is a mutable data member.
3103         * dom/Document.cpp:
3104         (WebCore::Document::getAccObjectCache): Make const.
3105         (WebCore::Document::ownerElement): Make const.
3106
3107         * kwq/WebCoreAXObject.h: Changed WebCoreAXID to WebCore::AXID.
3108         * kwq/WebCoreAXObject.mm:
3109         (-[WebCoreAXObject anchorElement]): Update for function name change.
3110         (-[WebCoreAXObject firstChild]): Ditto.
3111         (-[WebCoreAXObject lastChild]): Ditto.
3112         (-[WebCoreAXObject previousSibling]): Ditto.
3113         (-[WebCoreAXObject nextSibling]): Ditto.
3114         (-[WebCoreAXObject parentObject]): Ditto.
3115         (-[WebCoreAXObject accessibilityAttributeValue:]): Ditto.
3116         (-[WebCoreAXObject doAXUIElementForTextMarker:]): Ditto.
3117         (AXLinkElementForNode): Ditto.
3118         (AXAttributedStringAppendReplaced): Ditto.
3119         (-[WebCoreAXObject accessibilityHitTest:]): Ditto.
3120         (-[WebCoreAXObject _accessibilityParentForSubview:]): Ditto.
3121         (-[WebCoreAXObject accessibilityFocusedUIElement]): Ditto.
3122         (-[WebCoreAXObject axObjectID]): Change field name to m_id.
3123         (-[WebCoreAXObject setAXObjectID:]): Ditto.
3124         (-[WebCoreAXObject removeAXObjectID]): Ditto.
3125
3126         * rendering/RenderContainer.cpp:
3127         (WebCore::RenderContainer::removeChildNode): Remove ifdefs.
3128         (WebCore::RenderContainer::appendChildNode): Ditto.
3129         (WebCore::RenderContainer::insertChildNode): Ditto.
3130         * rendering/RenderObject.cpp: (WebCore::RenderObject::remove): Ditto.
3131
3132 2006-03-23  Darin Adler  <darin@apple.com>
3133
3134         Reviewed by Maciej.
3135
3136         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7726
3137           REGRESSION: orbitz calendar fails (JavaScript function serialization/parsing)
3138
3139         Test: fast/js/function-names.html
3140
3141         * dom/Document.h: Add function name parameter to createHTMLEventListener.
3142         * dom/Document.cpp:
3143         (WebCore::Document::createHTMLEventListener): Pass function name when calling
3144         createHTMLEventHandler.
3145         (WebCore::Document::setHTMLWindowEventListener): Pass attribute name as function name
3146         when calling createHTMLEventListener.
3147
3148         * html/HTMLElement.cpp: (WebCore::HTMLElement::setHTMLEventListener): Pass attribute
3149         name as function name when calling createHTMLEventListener.
3150
3151         * khtml/ecma/kjs_events.h: Add a function name parameter to JSLazyEventListener.
3152         * khtml/ecma/kjs_events.cpp:
3153         (KJS::JSLazyEventListener::JSLazyEventListener): Take and store a function name.
3154         (KJS::JSLazyEventListener::parseCode): Pass function name when constructing the function.
3155
3156         * khtml/ecma/kjs_proxy.h: Add a function name parameter to createHTMLEventHandler and
3157         createSVGEventHandler.
3158         * khtml/ecma/kjs_proxy.cpp:
3159         (WebCore::KJSProxy::createHTMLEventHandler): Pass function name when creating
3160         a JSLazyEventListener.
3161         (WebCore::KJSProxy::createSVGEventHandler): Ditto.
3162
3163         * ksvg2/events/JSSVGLazyEventListener.h: Add a function name parameter to
3164         JSSVGLazyEventListener.
3165         * ksvg2/events/JSSVGLazyEventListener.cpp:
3166         (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): Pass the function name
3167         on to the base class constructor.
3168
3169         * ksvg2/misc/SVGDocumentExtensions.h: Add function name parameter to createSVGEventListener.
3170         * ksvg2/misc/SVGDocumentExtensions.cpp:
3171         (WebCore::SVGDocumentExtensions::createSVGEventListener): Pass function name when
3172         calling createSVGEventHandler.
3173
3174         * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::addSVGEventListener):
3175         * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::addSVGWindowEventListner):
3176         Pass attribute name as function name when calling createSVGEventListener.
3177
3178         * WebCore.xcodeproj/project.pbxproj: Moved generation script to the top.
3179
3180 2006-03-23  Tim Omernick  <timo@apple.com>
3181
3182         Reviewed by Darin.
3183
3184         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7691>
3185         REGRESSION: imdb.com search button looks wrong because "Submit" is drawn
3186
3187         * html/HTMLInputElement.cpp:
3188         (WebCore::HTMLInputElement::valueWithDefault):
3189         Only use the default button title if no title was specified; previously we'd use the default
3190         button title if the specified title was empty, which is not what Firefox does.
3191         
3192 2006-03-23  Darin Adler  <darin@apple.com>
3193
3194         Reviewed by Beth.
3195
3196         - fix <rdar://problem/4335038> REGRESSION: when max-height is none, height value is ignored
3197
3198         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
3199         For max-height of none, set it to Length(undefinedLength, Fixed), which
3200         is the correct value (same as the default). Also did some formatting fixes
3201         to the height section.
3202
3203 2006-03-23  Beth Dakin  <bdakin@apple.com>
3204
3205         Reviewed by Darin
3206
3207         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6431 
3208         REGRESSION: style change where :hover changes only an :after style 
3209         doesn't work
3210
3211         * dom/Node.cpp:
3212         (WebCore::Node::diff): Need to call diff() on the before and after 
3213         styles if we have them.
3214
3215 2006-03-23  Adele Peterson  <adele@apple.com>
3216
3217         Reviewed by Hyatt.
3218
3219         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7935
3220         <rdar://problem/4489010>
3221         Infinite recursion in table code when button or new text fields get display:table-row
3222
3223         Test:
3224         fast/forms/button-table-styles.html
3225
3226         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle):
3227         The theme should disallow table display styles form elements. 
3228
3229 2006-03-23  Darin Adler  <darin@apple.com>
3230
3231         * generate-derived-sources: Tweaked formatting a tiny bit and removed a stray
3232         touch that was left in here.
3233
3234 2006-03-23  Eric Seidel  <eseidel@apple.com>
3235
3236         Reviewed by mjs.
3237
3238         REGRESSION: Dashed borders paint with the wrong phase
3239         http://bugzilla.opendarwin.org/show_bug.cgi?id=7879
3240
3241         Test: Already covered by css1/box_properties/border_style.html
3242
3243         * platform/cairo/GraphicsContextCairo.cpp:
3244         (WebCore::GraphicsContext::drawLine):
3245         * platform/mac/GraphicsContextMac.mm:
3246         (WebCore::GraphicsContext::drawLine):
3247
3248 2006-03-22  Maciej Stachowiak  <mjs@apple.com>
3249
3250         Reviewed by Eric.
3251         
3252         * generate-derived-sources: Suppress warning.
3253
3254 2006-03-22  Maciej Stachowiak  <mjs@apple.com>
3255
3256         * generate-derived-sources: Added svn:executable property.
3257
3258 2006-03-22  Maciej Stachowiak  <mjs@apple.com>
3259
3260         Reviewed by Eric.
3261         
3262         Handle dependencies for derived sources properly.
3263
3264         - Made a new generate-derived-sources script that does all the dependency checking
3265         and source generation.
3266         - Put this script in a subtarget instead of a phase.
3267         - Made derived sources go in the build root, not a source root.
3268         - Added derived sources to the project.
3269         - Removed files whose sole purpose was to include and compile derived sources,
3270         just compile those directly now.
3271         - Tweaked the IDL code generator so it can handle one IDL at a time, to make
3272         it easier to get the dependencies right.
3273         
3274         * generate-derived-sources: Added.
3275         * WebCore.xcodeproj/project.pbxproj:
3276         * bindings/js/JSDOMCore.cpp: Removed.
3277         * bindings/js/JSDOMEvents.cpp: Removed.
3278         * bindings/js/JSDOMHTML.cpp: Removed.
3279         * bindings/scripts/CodeGenerator.pm:
3280         * bindings/scripts/CodeGeneratorJS.pm:
3281         * bindings/scripts/generate-bindings.pl:
3282         * css/UserAgentStyleSheets.cpp: Removed.
3283         * dom/Range.cpp:
3284         (WebCore::Range::~Range):
3285         * dom/Range.h:
3286         * khtml/ecma/kjs_css.cpp:
3287         (KJS::DOMStyleSheet::DOMStyleSheet):
3288         (KJS::DOMStyleSheetList::DOMStyleSheetList):
3289         (KJS::DOMCSSRuleList::DOMCSSRuleList):
3290         (KJS::DOMCSSRule::DOMCSSRule):
3291         * khtml/ecma/kjs_css.h:
3292
3293 2006-03-22  Justin Garcia  <justin.garcia@apple.com>
3294
3295         Reviewed by harrison
3296         
3297         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7904>
3298         Avoid a layout after test insertion and remove isProbablyBlock
3299
3300         * editing/ReplaceSelectionCommand.cpp:
3301         (WebCore::ReplacementFragment::ReplacementFragment):
3302         (WebCore::ReplacementFragment::~ReplacementFragment):
3303         (WebCore::ReplacementFragment::firstChild):
3304         (WebCore::ReplacementFragment::lastChild):
3305         (WebCore::ReplacementFragment::mergeStartNode):
3306         (WebCore::ReplacementFragment::enclosingBlock):
3307         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3308         (WebCore::ReplacementFragment::computeAndStoreNodeStyles):
3309         (WebCore::ReplacementFragment::removeUnrenderedNodes):
3310         (WebCore::ReplacementFragment::renderedBlocks):
3311         (WebCore::ReplacementFragment::removeStyleNodes):
3312         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3313         (WebCore::ReplaceSelectionCommand::doApply):
3314         * editing/ReplaceSelectionCommand.h:
3315         (WebCore::ReplacementFragment::root):
3316
3317 2006-03-22  Eric Seidel  <eseidel@apple.com>
3318
3319         Reviewed by hyatt.
3320
3321         Fix attribute mutation events to not fire for "style" attributes.
3322         We lazily update style attributes, so sending mutation events for them makes no sense anymore.
3323         <rdar://problem/4474910> repro assertion failure @ apple.com/store: !eventDispatchForbidden()
3324
3325         Test: fast/events/delayed-style-mutation-event-crash.html
3326
3327         * dom/dom_elementimpl.cpp:
3328         (WebCore::Element::dispatchAttrRemovalEvent): add assert
3329         (WebCore::Element::dispatchAttrAdditionEvent): add assert
3330         (WebCore::NamedAttrMap::addAttribute):
3331
3332 2006-03-22  Eric Seidel  <eseidel@apple.com>
3333
3334         Reviewed by darin.
3335
3336         Remove more DeprecatedString usage.
3337         http://bugzilla.opendarwin.org/show_bug.cgi?id=7882
3338
3339         * bridge/mac/FrameMac.mm:
3340         (WebCore::FrameMac::attributedString):
3341         (WebCore::FrameMac::fontForSelection):
3342         (WebCore::FrameMac::tokenizerProcessedData):
3343         (WebCore::FrameMac::registerCommandForUndoOrRedo):
3344         (WebCore::FrameMac::markMisspellings):
3345         (WebCore::FrameMac::respondToChangedSelection):
3346         (WebCore::FrameMac::dashboardRegionsDictionary):
3347         (WebCore::FrameMac::dragSourceMovedTo):
3348         * css/CSSGrammar.y:
3349         * css/css_valueimpl.h:
3350         * css/cssparser.cpp:
3351         (WebCore::CSSParser::CSSParser):
3352         (WebCore::CSSParser::parseValue):
3353         (WebCore::CSSParser::parseColor):
3354         (WebCore::CSSParser::parseDeclaration):
3355         (WebCore::CSSParser::validUnit):
3356         (WebCore::CSSParser::parseShorthand):
3357         (WebCore::CSSParser::parseContent):
3358         (WebCore::skipCommaInDashboardRegion):
3359         (WebCore::CSSParser::parseDashboardRegions):
3360         (WebCore::CSSParser::parseShape):
3361         (WebCore::CSSParser::parseFont):
3362         (WebCore::CSSParser::parseFontFamily):
3363         (WebCore::CSSParser::parseColorFromValue):
3364         (WebCore::yyerror):
3365         (WebCore::CSSParser::lex):
3366         (WebCore::CSSParser::text):
3367         * css/cssparser.h:
3368         (WebCore::deprecatedString):
3369         * css/cssstyleselector.cpp:
3370         (WebCore::CSSStyleSelector::applyProperty):
3371         * khtml/ecma/kjs_dom.cpp:
3372         (KJS::DOMDocument::getValueProperty):
3373         * ksvg2/css/SVGCSSParser.cpp:
3374         (WebCore::CSSParser::parseSVGPaint):
3375         (WebCore::CSSParser::parseSVGColor):
3376         * ksvg2/svg/SVGAnimationElement.cpp:
3377         (SVGAnimationElement::parseMappedAttribute):
3378         * rendering/RenderBlock.cpp:
3379         (WebCore::RenderBlock::layoutPositionedObjects):
3380         (WebCore::RenderBlock::positionNewFloats):
3381         (WebCore::RenderBlock::newLine):
3382         * rendering/RenderCanvas.cpp:
3383         (WebCore::RenderCanvas::absolutePosition):
3384         (WebCore::RenderCanvas::paint):
3385         * rendering/RenderFlexibleBox.cpp:
3386         (WebCore::RenderFlexibleBox::layoutBlock):
3387         * rendering/RenderObject.h:
3388         * rendering/bidi.cpp:
3389         (WebCore::RenderBlock::bidiReorderLine):
3390         (WebCore::RenderBlock::layoutInlineChildren):
3391         * rendering/render_form.cpp:
3392         (WebCore::RenderFieldset::paintBoxDecorations):
3393         * rendering/render_style.h:
3394         (WebCore::RenderStyle::setDashboardRegion):
3395         * rendering/table_layout.cpp:
3396         (WebCore::AutoTableLayout::calcEffectiveWidth):
3397         (WebCore::AutoTableLayout::insertSpanCell):
3398         (WebCore::AutoTableLayout::layout):
3399         (WebCore::AutoTableLayout::calcPercentages):
3400
3401 2006-03-22  Tim Omernick  <timo@apple.com>
3402
3403         Reviewed by Kevin Decker.
3404
3405         Part of <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to previous page fails at apple.com/retail/)
3406         This also fixes <rdar://problem/4477821> REGRESSION (10.4.5-TOT): meta tag specifying refresh is being added to history.
3407
3408         * bridge/mac/FrameMac.h:
3409         * bridge/mac/FrameMac.mm:
3410         Removed redirectionTimerFired().  This was added as attempt to fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=7058>.  The
3411         aim was to cause Safari and WebKit to update their loading status after a redirect.  Unfortunately, the fix had a bad side
3412         effect.  Calling -reportClientRedirectCancelled: on a successful redirect causes WebKit to forget that the redirect was supposed
3413         to lock history (i.e. reuse the current back/forward entry for the new page).  The end result was that intermediate "quick" redirects
3414         were creating back/forward entries when they should not have been.  See 4351664.  That fix was almost correct, in that we do need to
3415         notify the frame load delegate when a redirect ends, either because it succeeded or because it was cancelled.  However, this is the
3416         wrong place to do it.  WebCore's redirect notification logic did not need to change to fix 7058.  The never-ending spinning indicators
3417         problem was actually caused by a bug at the WebKit level.
3418
3419         * manual-tests/redirectHistory: Added.
3420         * manual-tests/redirectHistory/redir-1.html: Added.
3421         * manual-tests/redirectHistory/redir-2.html: Added.
3422         * manual-tests/redirectHistory/redir-3.html: Added.
3423         Manual test case.  I couldn't figure out how to create a layout test for this, because it involves navigation through history and
3424         it was unclear how/when to tell DumpRenderTree to dump its output.
3425
3426 2006-03-22  Eric Seidel  <eseidel@apple.com>
3427
3428         Reviewed by darin.
3429
3430         Replace more DeprecatedString with String.
3431         http://bugzilla.opendarwin.org/show_bug.cgi?id=7907
3432
3433         * WebCore+SVG/kdom.h:
3434         * bindings/objc/DOMHTML.mm:
3435         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
3436         * bridge/BrowserExtension.h:
3437         * bridge/mac/BrowserExtensionMac.h:
3438         * bridge/mac/BrowserExtensionMac.mm:
3439         (WebCore::BrowserExtensionMac::setTypedIconURL):
3440         * bridge/mac/FrameMac.h:
3441         * bridge/mac/FrameMac.mm:
3442         (WebCore::FrameMac::searchForLabelsBeforeElement):
3443         (WebCore::nsArray):
3444         (WebCore::FrameMac::createPlugin):
3445         (WebCore::FrameMac::bindingRootObject):
3446         (WebCore::FrameMac::windowScriptObject):
3447         (WebCore::FrameMac::windowScriptNPObject):
3448         (WebCore::FrameMac::partClearedInBegin):
3449         (WebCore::FrameMac::openURLFromPageCache):
3450         * bridge/mac/WebCoreFrameBridge.mm:
3451         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
3452         (-[WebCoreFrameBridge scrollToAnchor:]):
3453         (-[WebCoreFrameBridge URLWithAttributeString:]):
3454         (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
3455         * bridge/mac/WebCoreScriptDebugger.mm:
3456         (-[WebCoreScriptCallFrame evaluateWebScript:]):
3457         * bridge/mac/WebCoreSettings.mm:
3458         (-[WebCoreSettings _updateAllViews]):
3459         (-[WebCoreSettings setStandardFontFamily:]):
3460         (-[WebCoreSettings setMinimumFontSize:]):
3461         (-[WebCoreSettings setMinimumLogicalFontSize:]):
3462         (-[WebCoreSettings setDefaultFontSize:]):
3463         (-[WebCoreSettings setDefaultFixedFontSize:]):
3464         (-[WebCoreSettings setUserStyleSheetLocation:]):
3465         * css/CSSComputedStyleDeclaration.cpp:
3466         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3467         * css/CSSGrammar.y:
3468         * css/css_stylesheetimpl.cpp:
3469         (WebCore::MediaList::setMediaText):
3470         * css/css_valueimpl.cpp:
3471         (WebCore::quoteStringIfNeeded):
3472         * css/cssparser.cpp:
3473         (WebCore::CSSParser::parseColor):
3474         * css/cssstyleselector.cpp:
3475         (WebCore::CSSStyleSelector::CSSStyleSelector):
3476         * css/cssstyleselector.h:
3477         * dom/Document.cpp:
3478         (WebCore::Document::resetActiveLinkColor):
3479         (WebCore::Document::nextState):
3480         (WebCore::Document::setUserStyleSheet):
3481         (WebCore::Document::processHttpEquiv):
3482         (WebCore::Document::recalcStyleSelector):
3483         * dom/Document.h:
3484         (WebCore::Document::userStyleSheet):
3485         (WebCore::Document::setPrintStyleSheet):
3486         (WebCore::Document::printStyleSheet):
3487         * editing/markup.cpp:
3488         (WebCore::createMarkup):
3489         (WebCore::createFragmentFromMarkup):
3490         (WebCore::createFragmentFromText):
3491         * editing/markup.h:
3492         * html/CanvasRenderingContext2D.cpp:
3493         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
3494         * html/HTMLTokenizer.cpp:
3495         (WebCore::HTMLTokenizer::scriptHandler):
3496         * html/html_baseimpl.cpp:
3497         (WebCore::HTMLFrameElement::openURL):
3498         (WebCore::HTMLFrameElement::attach):
3499         * html/html_headimpl.cpp:
3500         (WebCore::HTMLLinkElement::process):
3501         (WebCore::HTMLLinkElement::setStyleSheet):
3502         * html/html_headimpl.h:
3503         * html/html_imageimpl.cpp:
3504         (WebCore::HTMLImageElement::parseMappedAttribute):
3505         * html/html_imageimpl.h:
3506         (WebCore::HTMLImageElement::compositeOperator):
3507         * html/html_objectimpl.cpp:
3508         (WebCore::HTMLAppletElement::createRenderer):
3509         * ksvg2/svg/SVGStringList.cpp:
3510         (SVGStringList::reset):
3511         * kwq/AccessibilityObjectCache.h:
3512         * kwq/AccessibilityObjectCache.mm:
3513         (AccessibilityObjectCache::textMarkerForVisiblePosition):
3514         (AccessibilityObjectCache::postNotificationToTopWebArea):
3515         (AccessibilityObjectCache::postNotification):
3516         * kwq/ClipboardMac.mm:
3517         (WebCore::cocoaTypeFromMIMEType):
3518         * kwq/KWQKHTMLSettings.h:
3519         (KHTMLSettings::userStyleSheetLocation):
3520         (KHTMLSettings::setUserStyleSheetLocation):
3521         * kwq/KWQLineEdit.h:
3522         * kwq/KWQLineEdit.mm:
3523         (QLineEdit::selectedText):
3524         * loader/CachedCSSStyleSheet.cpp:
3525         (WebCore::CachedCSSStyleSheet::ref):
3526         * page/Frame.cpp:
3527         (WebCore::UserStyleSheetLoader::setStyleSheet):
3528         (WebCore::Frame::jScriptEnabled):
3529         (WebCore::Frame::javaEnabled):
3530         (WebCore::Frame::pluginsEnabled):
3531         (WebCore::Frame::receivedFirstData):
3532         (WebCore::Frame::begin):
3533         (WebCore::Frame::setUserStyleSheet):
3534         (WebCore::Frame::requestObject):
3535         (WebCore::Frame::loadPlugin):
3536         (WebCore::Frame::referrer):
3537         (WebCore::Frame::lastModified):
3538         (WebCore::Frame::reparseConfiguration):
3539         (WebCore::Frame::handleMousePressEventSingleClick):
3540         (WebCore::Frame::appliedEditing):
3541         (WebCore::Frame::unappliedEditing):
3542         (WebCore::Frame::reappliedEditing):
3543         * page/Frame.h:
3544         * page/FramePrivate.h:
3545         (WebCore::FramePrivate::FramePrivate):
3546         * platform/AtomicString.h:
3547         (WebCore::AtomicString::AtomicString):
3548         * platform/DeprecatedString.cpp:
3549         (DeprecatedString::replace):
3550         * platform/GraphicsContext.h:
3551         * platform/Image.h:
3552         * platform/KURL.cpp:
3553         * platform/KURL.h:
3554         * platform/PlatformString.h:
3555         (WebCore::String::String):
3556         (WebCore::String::replace):
3557         * platform/String.cpp:
3558         (WebCore::operator+):
3559         * platform/StringImpl.cpp:
3560         (WebCore::StringImpl::remove):
3561         (WebCore::parseLength):
3562         (WebCore::StringImpl::replace):
3563         * platform/StringImpl.h:
3564         * platform/mac/GraphicsContextMac.mm:
3565         (WebCore::GraphicsContext::setCompositeOperation):
3566         * rendering/RenderHTMLCanvas.cpp:
3567         (WebCore::RenderHTMLCanvas::paint):
3568         * rendering/render_form.cpp:
3569         (WebCore::RenderSelect::updateFromElement):
3570         * rendering/render_frames.cpp:
3571         (WebCore::isURLAllowed):
3572         (WebCore::mapClassIdToServiceType):
3573         (WebCore::RenderPartObject::updateWidget):
3574         * rendering/render_style.h:
3575         (WebCore::RenderStyle::setDashboardRegion):
3576         * xml/xmlhttprequest.cpp:
3577         (WebCore::getCharset):
3578         (WebCore::XMLHttpRequest::send):
3579         (WebCore::XMLHttpRequest::overrideMIMEType):
3580
3581 2006-03-22  Beth Dakin  <bdakin@apple.com>
3582
3583         Reviewed by Hyatt
3584
3585         Fix for <rdar://problem/4471984> repro crash CSS position for html/
3586         table=relative causes crash when hiding table
3587
3588         * css/cssstyleselector.cpp:
3589         (WebCore::CSSStyleSelector::adjustRenderStyle): If an object is 
3590         positioned, relatively positioned, or transparent, it should always 
3591         have auto indexing. Auto z-index for the root should always be 0.
3592         * rendering/RenderLayer.cpp:
3593         (WebCore::RenderLayer::removeChild): This is not part of the bug 
3594         fix; just using a local variable that was created for the stacking 
3595         context instead of recalculating it.
3596
3597 2006-03-22  David Hyatt  <hyatt@apple.com>
3598
3599         Fix for residual style problem where form elements lose their connection
3600         to a degenerate table form because of a residual style fixup.  This is
3601         Radar bug #4330765.
3602
3603         Reviewed by eric
3604
3605         * khtml/html/HTMLFormElement.cpp:
3606         (WebCore::HTMLFormElement::HTMLFormElement):
3607         * khtml/html/HTMLFormElement.h:
3608         (WebCore::HTMLFormElement::setPreserveFormConnectionAcrossRemove):
3609         (WebCore::HTMLFormElement::preserveFormConnectionAcrossRemove):
3610         * khtml/html/HTMLGenericFormElement.cpp:
3611         (WebCore::HTMLGenericFormElement::removedFromTree):
3612         * khtml/html/htmlparser.cpp:
3613         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
3614
3615 2006-03-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3616
3617         Reviewed by Adele.
3618
3619         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7747
3620           REGRESSION: Background tab/window auto-refresh in GMail will take focus.
3621
3622         * manual-tests/named-window-blank-target.html: Added.
3623         * manual-tests/resources/named-window-blank-target-step2.html: Added.
3624         * manual-tests/resources/named-window-blank-target-step3.html: Added.
3625         * manual-tests/resources/named-window-blank-target-step4.html: Added.
3626         * page/FrameTree.cpp:
3627         (WebCore::FrameTree::find): If the given name is empty, just return our frame,
3628         even if it has a name.
3629
3630 2006-03-22  Darin Adler  <darin@apple.com>
3631
3632         Reviewed by Adele.
3633
3634         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7143
3635           <rdar://problem/4483856> REGRESSION (417.8-TOT): onclick handler cannot call a function named OnClick (7143)
3636
3637         Test: fast/dom/Element/onclick-case.html
3638
3639         We discussed this with Maciej. In the long run we may need to remove the "all attributes
3640         show up as properties in JavaScript" feature entirely. Gecko does not do it, and it's
3641         not really the same thing IE does either.
3642
3643         * khtml/ecma/kjs_dom.cpp:
3644         (KJS::DOMElement::attributeGetter): Use getAttributeNS so we're case sensitive.
3645         (KJS::DOMElement::getOwnPropertySlot): Ditto.
3646
3647 2006-03-22  Eric Seidel  <eseidel@apple.com>
3648
3649         Reviewed by beth.
3650
3651         <rdar://problem/4486417> REGRESSION: Mail linked against TOT WebKit crashes when composing a message
3652
3653         No test possible.
3654
3655         * bridge/mac/WebCoreSettings.mm:
3656         (-[WebCoreSettings init]): call AtomicString::init()
3657
3658 2006-03-21  Darin Adler  <darin@apple.com>
3659
3660         - fix buildbot (and everyone else)
3661
3662         * bindings/js/JSDOMCore.cpp: Touch, because Adele's change adds a virtual function,
3663         and Xcode doesn't know this needs recompiling.
3664         * bindings/js/JSDOMEvents.cpp: Ditto.
3665         * bindings/js/JSDOMHTML.cpp: Ditto.
3666
3667 2006-03-21  Justin Haygood and Bjoern Graf  <jhaygood@spsu.edu> <bjoern.graf@gmail.com>
3668
3669         Reviewed by Eric and Darin.
3670
3671         - get Windows building again
3672
3673         * WebCore.vcproj/WebCore/WebCore.vcproj:
3674         * bridge/win/FrameWin.cpp:
3675         (WebCore::FrameWin::userAgent):
3676         * bridge/win/FrameWin.h:
3677         * platform/GraphicsContext.h:
3678         * platform/cairo/ImageCairo.cpp:
3679         (WebCore::Image::supportsType):
3680         * platform/win/TemporaryLinkStubs.cpp:
3681         (FrameWin::mimeTypeForFileName):
3682         (FrameWin::objectContentType):
3683         (FrameWin::createPlugin):
3684         (FrameWin::overrideMediaType):
3685         (FrameWin::passSubframeEventToSubframe):
3686         (FrameWin::createFrame):
3687         (FrameWin::incomingReferrer):
3688
3689 2006-03-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3690
3691         Reviewed by Darin.
3692
3693         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7884
3694           REGRESSION: Selecting a custom style sheet crashes 20/3 nightly
3695
3696         * page/Frame.cpp:
3697         (WebCore::UserStyleSheetLoader::setStyleSheet): This was calling the function
3698         that sets the stylesheet URL, passing it the actual stylesheet.
3699         (WebCore::Frame::begin):
3700         (WebCore::Frame::setUserStyleSheetLocation): Renamed the version of
3701         setUserStyleSheet() that takes a URL to this.
3702         (WebCore::Frame::reparseConfiguration):
3703         * page/Frame.h:
3704
3705 2006-03-21  Adele Peterson  <adele@apple.com>
3706
3707         Reviewed by Darin.
3708
3709         - Fix for
3710         http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
3711         elementAtPoint needs to return input element when clicking on new text field
3712         http://bugzilla.opendarwin.org/show_bug.cgi?id=7799
3713         New text fields don't respect the disabled attribute
3714
3715         - Tests:
3716         fast/forms/input-appearance-disabled.html
3717         fast/forms/input-appearance-elementFromPoint.html
3718         fast/forms/input-appearance-preventDefault.html
3719
3720         * bridge/mac/WebCoreFrameBridge.h: Added allowShadowContent parameter to getInnerNonSharedNode so new elementAtPoint method in WebKit can call this.
3721         * bridge/mac/WebCoreFrameBridge.mm:
3722         (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]): Passes allowShadowContent parameter to nodeInfoAtPoint.
3723         (-[WebCoreFrameBridge _visiblePositionForPoint:]): Updated to call nodeInfoAtPoint allowing shadow content.
3724         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]): Added allowShadowContent parameter.
3725
3726         * dom/Node.h:
3727         (WebCore::Node::isShadowNode): Added.
3728         (WebCore::Node::shadowParentNode): Added.
3729         * dom/Node.cpp: (WebCore::Node::shadowAncestorNode): Added.  If an ancestor is a shadow node, return its shadow parent node.
3730         * html/HTMLTextFieldInnerElement.h: (WebCore::HTMLTextFieldInnerElement::isShadowNode): Added.
3731
3732         * dom/Document.cpp: (WebCore::Document::elementFromPoint): Gets the shadowAncestorNode (so we get the input element, and not the inner div).
3733         * html/HTMLInputElement.cpp:
3734         (WebCore::HTMLInputElement::isKeyboardFocusable): If text fields are focusable, then they should be keyboard focusable.  This works for the
3735         old text fields because HTMLGenericFormElement::isKeyboardFocusable does the right thing for RenderWidgets.  That's not needed for the new form
3736         elements.
3737         (WebCore::HTMLInputElement::defaultEventHandler): let the renderer forward drag, mouse, and wheel events.
3738
3739         * page/FrameView.cpp:
3740         (WebCore::FrameView::updateDragAndDrop): Send drag events to the shadowAncestorNode.
3741         (WebCore::FrameView::dispatchMouseEvent): Send mouse events to the shadowAncestorNode.
3742         (WebCore::FrameView::handleWheelEvent): Send wheel events to the shadowAncestorNode.
3743
3744         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): forwards events to the inner div element.
3745         * rendering/RenderTextField.h: Added forwardEvent method.
3746
3747         * kwq/WebCoreAXObject.mm:
3748         (-[WebCoreAXObject accessibilityHitTest:]): Gets the  shadowAncestorNode (so we get the input element, and not the inner div).
3749         (-[WebCoreAXObject role]): Gets the right role for text fields, since we no longer get that from AppKit.
3750         (-[WebCoreAXObject roleDescription]): Gets the right description for text fields.
3751
3752 2006-03-21  Darin Adler  <darin@apple.com>
3753
3754         Reviewed by Tim O.
3755
3756         - fixed <rdar://problem/4251515> REGRESSION: listing tag broken in TOT
3757
3758         Test: fast/html/listing.html
3759
3760         * html/HTMLNames.h: Add listing tag.
3761
3762         * bindings/objc/DOM.mm: (+[DOMNode _nodeWith:]):
3763         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString):
3764         * css/html4.css:
3765         * editing/ReplaceSelectionCommand.cpp: (WebCore::isProbablyBlock):
3766         * editing/TextIterator.cpp:
3767         (WebCore::TextIterator::handleNonTextNode):
3768         (WebCore::TextIterator::exitNode):
3769         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
3770         * editing/markup.cpp:
3771         (WebCore::startMarkup):
3772         (WebCore::createMarkup):
3773         * html/HTMLElement.cpp: (WebCore::blockTagList):
3774         * html/HTMLElementFactory.cpp:
3775         (WebCore::addTag):
3776         (WebCore::createFunctionMap):
3777         (WebCore::HTMLElementFactory::createHTMLElement):
3778         * html/HTMLParser.cpp: (WebCore::HTMLParser::isAffectedByResidualStyle):
3779         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
3780         * khtml/ecma/kjs_html.cpp:
3781         (KJS::JSHTMLElement::classInfo):
3782         (KJS::JSHTMLElement::accessors):
3783         Add listing tags everywhere pre tags are listed.
3784
3785 2006-03-21  Maciej Stachowiak  <mjs@apple.com>
3786
3787         Reviewed by Darin.
3788         
3789         - fix horrible build fallout from my attr fix
3790
3791         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
3792         * bindings/js/JSDOMCore.cpp:
3793         * bindings/js/JSDOMEvents.cpp:
3794         * bindings/js/JSDOMHTML.cpp:
3795         * bindings/scripts/CodeGeneratorJS.pm:
3796
3797 2006-03-21  Beth Dakin  <bdakin@apple.com>
3798
3799         Reviewed by Maciej
3800
3801         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7223 
3802         Reproducible crash when tabbing to a frame that has not been loaded
3803
3804         * bridge/mac/FrameMac.mm:
3805         (WebCore::FrameMac::nextKeyViewInFrame): When a renderer doesn't 
3806         have a widget, skip it in the focus loop.
3807
3808 2006-03-20  Eric Seidel  <eseidel@apple.com>
3809
3810         Reviewed by mjs.
3811
3812         Fix a unsafe static cast causing intermittent crashes.
3813         <rdar://problem/4411663> crash at KXMLCore::RefPtr<WebCore::DOMStringImpl>::get() const + 20 (RefPtr.h:45)
3814
3815         Test: fast/dom/NodeList/item-by-id-with-no-document.html
3816
3817         * dom/NodeList.cpp:
3818         (WebCore::NodeList::itemById): fix unsafe static cast.
3819
3820 2006-03-20  Maciej Stachowiak  <mjs@apple.com>
3821
3822         - touch this file in hopes of fixing build
3823
3824         * bindings/js/JSDOMCore.cpp:
3825
3826 2006-03-20  Maciej Stachowiak  <mjs@apple.com>
3827
3828         Reviewed by Anders.
3829         
3830         - fixed <rdar://problem/4446749> 10.4.4: safari crash in DOM::NamedAttrMapImpl::setNamedItem
3831
3832         * bindings/scripts/CodeGeneratorJS.pm: Add a framework for typechecking method
3833         arguments. For now only use it for parameters of type Attr.
3834         * dom/Element.idl: Arbitrary change to make it regenerate.
3835         * dom/dom_elementimpl.cpp:
3836         (WebCore::Element::setAttributeNode): ASSERT that attr is not null
3837         * khtml/ecma/kjs_dom.cpp:
3838         (KJS::toAttr): add bool ok parameter
3839         * khtml/ecma/kjs_dom.h:
3840
3841 2006-03-20  Eric Seidel  <eseidel@apple.com>
3842
3843         * ksvg2/css/SVGCSSParser.h: Removed unused file.
3844
3845 2006-03-20  Eric Seidel  <eseidel@apple.com>
3846
3847         Reviewed by mjs.
3848
3849         Fix tokenizer crash when document.open() is called from an external script:
3850         <rdar://problem/4483882> REGRESSION (417.8-TOT): crash at yourmovies.com.au in WebCore::HTMLTokenizer::reset() + 92 (7818)
3851
3852         * dom/Document.cpp:
3853         (WebCore::Document::open): Check to make sure the current tokenizer isn't executing a script
3854         * dom/xml_tokenizer.h:
3855         (WebCore::Tokenizer::executingScript): Add a way for others to know if scripts are executing.
3856         * html/HTMLTokenizer.cpp:
3857         (WebCore::HTMLTokenizer::scriptExecution): Wire into existing m_executingScript member var.
3858         * html/HTMLTokenizer.h:
3859         (WebCore::HTMLTokenizer::executingScript):
3860         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3861         (WebCore::KCanvasFilterQuartz::prepareFilter): Unrelated code cleanup.
3862
3863 2006-03-20  Justin Garcia  <justin.garcia@apple.com>
3864
3865         Reviewed by darin
3866         
3867         <rdar://problem/3997958> 
3868         REGRESSION (Mail): Mail takes half of forever to paste >1500 lines - replaceSelectionWithNode
3869
3870         * dom/Position.cpp:
3871         (WebCore::Position::upstream): Avoid calling previous() when we know that 
3872         it will 1) end the search and 2) be expensive to compute.
3873         (WebCore::Position::downstream): Removed some dead code.
3874         (WebCore::Position::inRenderedText): Return false for offsets inside composed characters.
3875         * dom/Position.h:
3876         * editing/VisiblePosition.cpp:
3877         (WebCore::VisiblePosition::init): If there are two visually equivalent candidates, we choose
3878         the one that occurs first in document order.  Using upstream() to find the one that occurs first is
3879         much faster than the old code.
3880
3881 2006-03-20  Eric Seidel  <eseidel@apple.com>
3882
3883         Reviewed by adele & ggaren.
3884
3885         Added new cachePluginDataIfNecessary function to update
3886         plugins and mimes arrays.  Made sure to call this in
3887         constructor as well as refresh.  The crash was caused by
3888         a refresh rendering a "plugins" object invalid.
3889         Changed existing test case to depend on this new correct behavior.
3890         
3891         <rdar://problem/4480571> Safari crashed at exit at KXMLCore::deleteAllValues + 24
3892
3893         * khtml/ecma/kjs_navigator.cpp:
3894         (KJS::PluginBase::cachePluginDataIfNecessary):
3895         (KJS::PluginBase::PluginBase):
3896         (KJS::PluginBase::~PluginBase):
3897         (KJS::PluginBase::refresh):
3898
3899 2006-03-20  Adele Peterson  <adele@apple.com>
3900
3901         Reviewed by Justin.
3902
3903         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
3904         When calculating the VisiblePosition for the first position in the text field, it
3905         makes more sense for the position to have a downstream affinity.
3906
3907 2006-03-20  Maciej Stachowiak  <mjs@apple.com>
3908
3909         Reviewed by Adele.
3910         
3911         <rdar://problem/4362396> REGRESSION: (417-420) stopPropagation is not working for click event listener (onclick works fine)
3912
3913         * dom/EventTargetNode.cpp:
3914         (WebCore::EventTargetNode::dispatchGenericEvent): make sure to fire capturing listeners
3915         as well as bubbling ones on the target.
3916
3917 2006-03-20  Maciej Stachowiak  <mjs@apple.com>
3918
3919         Reviewed by Darin.
3920         
3921         <rdar://problem/4458568> WebCore should not disclose https referrers
3922
3923         * bridge/mac/WebCoreFrameBridge.mm:
3924         (-[WebCoreFrameBridge canLoadURL:fromReferrer:hideReferrer:]):
3925         Don't send https URLs as referrers to non-secure http sites.
3926
3927 2006-03-20  Darin Adler  <darin@apple.com>
3928
3929         Reviewed by Geoff.
3930
3931         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7867
3932           get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
3933
3934         * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
3935         and qstring().
3936
3937         * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the
3938         namespace for SVG names.
3939         * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into
3940         recompiling, since they are in a different namespace now.
3941
3942         * ForwardingHeaders/kjs/identifier.h: Added.
3943
3944         * dom/PlatformWheelEvent.idl: Removed.
3945         * dom/WheelEvent.idl: Added. This file was renamed by accident.
3946
3947         * bindings/js/JSDOMCore.cpp:
3948         * bindings/js/JSDOMEvents.cpp:
3949         * bindings/js/JSDOMHTML.cpp:
3950         * dom/Attr.idl:
3951         * dom/CharacterData.idl:
3952         * dom/DOMImplementation.idl:
3953         * dom/DocumentType.idl:
3954         * dom/Element.idl:
3955         * dom/Entity.idl:
3956         * dom/MutationEvent.idl:
3957         * dom/Notation.idl:
3958         * dom/ProcessingInstruction.idl:
3959         * dom/Text.idl:
3960         * html/CanvasGradient.idl:
3961         * html/CanvasPattern.idl:
3962         * html/CanvasRenderingContext2D.idl:
3963         Touched, to get CodeGeneratorJS.pm changes to take effect.
3964  
3965         * css/CSSGrammar.y:
3966         * css/css_valueimpl.cpp: (WebCore::propertyID):
3967         Changed calls to get CSS property values to use an explicit SVG:: namespace,
3968         to match what the script writes out.
3969
3970         * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.
3971
3972         * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
3973           props: Made this compile with warnings and strict turned on.
3974         Really just a trick to get properties to recompile, which turned out to be unneeded.
3975         * ksvg2/scripts/cssmakevalues: Ditto.
3976
3977         * ksvg2/svg/SVGAElement.cpp:
3978         (SVGAElement::parseMappedAttribute):
3979         (SVGAElement::defaultEventHandler):
3980         * ksvg2/svg/SVGAnimateTransformElement.cpp:
3981         (SVGAnimateTransformElement::parseMappedAttribute):
3982         * ksvg2/svg/SVGAnimationElement.cpp:
3983         (SVGAnimationElement::parseMappedAttribute):
3984         * ksvg2/svg/SVGClipPathElement.cpp:
3985         (SVGClipPathElement::parseMappedAttribute):
3986         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
3987         (SVGComponentTransferFunctionElement::parseMappedAttribute):
3988         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
3989         (SVGExternalResourcesRequired::parseMappedAttribute):
3990         * ksvg2/svg/SVGFEBlendElement.cpp:
3991         (SVGFEBlendElement::parseMappedAttribute):
3992         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
3993         (SVGFEColorMatrixElement::parseMappedAttribute):
3994         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
3995         (SVGFEComponentTransferElement::parseMappedAttribute):
3996         * ksvg2/svg/SVGFECompositeElement.cpp:
3997         (SVGFECompositeElement::parseMappedAttribute):
3998         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
3999         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
4000         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
4001         (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
4002         (SVGFEDisplacementMapElement::stringToChannel):
4003         (SVGFEDisplacementMapElement::parseMappedAttribute):
4004         (SVGFEDisplacementMapElement::filterEffect):
4005         * ksvg2/svg/SVGFEDisplacementMapElement.h:
4006         * ksvg2/svg/SVGFEFloodElement.cpp:
4007         (SVGFEFloodElement::parseMappedAttribute):
4008         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
4009         (SVGFEGaussianBlurElement::parseMappedAttribute):
4010         * ksvg2/svg/SVGFEImageElement.cpp:
4011         (SVGFEImageElement::parseMappedAttribute):
4012         * ksvg2/svg/SVGFELightElement.cpp:
4013         (SVGFELightElement::parseMappedAttribute):
4014         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
4015         (SVGFEMergeNodeElement::parseMappedAttribute):
4016         * ksvg2/svg/SVGFEOffsetElement.cpp:
4017         (SVGFEOffsetElement::parseMappedAttribute):
4018         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
4019         (SVGFESpecularLightingElement::parseMappedAttribute):
4020         * ksvg2/svg/SVGFETileElement.cpp:
4021         (SVGFETileElement::parseMappedAttribute):
4022         * ksvg2/svg/SVGFETurbulenceElement.cpp:
4023         (SVGFETurbulenceElement::parseMappedAttribute):
4024         * ksvg2/svg/SVGFilterElement.cpp:
4025         (SVGFilterElement::parseMappedAttribute):
4026         * ksvg2/svg/SVGGradientElement.cpp:
4027         (SVGGradientElement::parseMappedAttribute):
4028         * ksvg2/svg/SVGMaskElement.cpp:
4029         (WebCore::SVGMaskElement::parseMappedAttribute):
4030         * ksvg2/svg/SVGPolyElement.cpp:
4031         (SVGPolyElement::parseMappedAttribute):
4032         * ksvg2/svg/SVGStopElement.cpp:
4033         (SVGStopElement::parseMappedAttribute):
4034         * ksvg2/svg/SVGStyledElement.cpp:
4035         (WebCore::SVGStyledElement::parseMappedAttribute):
4036         * ksvg2/svg/SVGTests.cpp:
4037         (WebCore::SVGTests::parseMappedAttribute):
4038         * ksvg2/svg/SVGTextContentElement.cpp:
4039         (SVGTextContentElement::parseMappedAttribute):
4040         * ksvg2/svg/SVGTextPositioningElement.cpp:
4041         (SVGTextPositioningElement::parseMappedAttribute):
4042         * ksvg2/svg/SVGViewElement.cpp:
4043         (SVGViewElement::parseMappedAttribute):
4044         * ksvg2/svg/SVGZoomAndPan.cpp:
4045         (SVGZoomAndPan::parseMappedAttribute):
4046         Changed code that converts an AtomicString to a String to do it in a
4047         more-efficient fashion that works even with all the new conversions.
4048
4049         * page/Frame.cpp:
4050         (WebCore::getString): Removed unneeded .deprecatedString().
4051         (WebCore::Frame::begin): Removed the only use of QSTRING_NULL.
4052
4053         * platform/AtomicString.h: Added conversion to and from KJS::Identifier
4054         and KJS::UString.
4055         * platform/AtomicString.cpp:
4056         (WebCore::AtomicString::add): Added overloads for Identifier and UString.
4057         (WebCore::AtomicString::operator Identifier): Added.
4058         (WebCore::AtomicString::operator UString): Added.
4059
4060         * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
4061         and KJS::UString.
4062         * platform/DeprecatedString.cpp:
4063         (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
4064         (DeprecatedString::operator Identifier): Added.
4065         (DeprecatedString::operator UString): Added.
4066
4067         * platform/PlatformString.h: Added conversion to and from KJS::Identifier
4068         and KJS::UString.
4069         * platform/String.cpp:
4070         (WebCore::String::String): Added overloads for Identifier and UString.
4071         (WebCore::String::operator Identifier): Added.
4072         (WebCore::String::operator UString): Added.
4073
4074         * platform/StringImpl.h: Added constructors that take KJS::Identifier
4075         and KJS::UString
4076         * platform/StringImpl.cpp:
4077         (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar
4078         instead because of ambiguity with KJS::UChar.
4079         (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String.
4080
4081         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
4082         (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
4083         (WebCore::toHTMLCanvasStyle):
4084         * bindings/scripts/CodeGeneratorJS.pm:
4085         * bridge/mac/WebCoreFrameBridge.mm:
4086         (aeDescFromJSValue):
4087         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
4088         * dom/QualifiedName.cpp:
4089         (WebCore::QualifiedName::toString):
4090         * khtml/ecma/JSDOMParser.cpp:
4091         (KJS::DOMParserProtoFunc::callAsFunction):
4092         * khtml/ecma/JSXMLHttpRequest.cpp:
4093         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
4094         * khtml/ecma/JSXSLTProcessor.cpp:
4095         (KJS::XSLTProcessorProtoFunc::callAsFunction):
4096         * khtml/ecma/kjs_binding.cpp:
4097         (KJS::valueToStringWithNullCheck):
4098         * khtml/ecma/kjs_css.cpp:
4099         (KJS::cssPropertyName):
4100         (KJS::DOMCSSStyleDeclaration::put):
4101         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
4102         (KJS::DOMStyleSheetList::nameGetter):
4103         (KJS::DOMStyleSheetList::getOwnPropertySlot):
4104         (KJS::DOMMediaList::put):
4105         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
4106         (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
4107         (KJS::DOMCSSRule::putValueProperty):
4108         (KJS::DOMCSSRuleFunc::callAsFunction):
4109         (KJS::DOMCSSValue::put):
4110         (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
4111         * khtml/ecma/kjs_dom.cpp:
4112         (KJS::DOMNode::putValueProperty):
4113         (KJS::DOMNode::toString):
4114         (KJS::DOMNodeProtoFunc::callAsFunction):
4115         (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
4116         (KJS::DOMNodeList::nameGetter):
4117         (KJS::DOMNodeList::getOwnPropertySlot):
4118         (KJS::DOMDocument::putValueProperty):
4119         (KJS::DOMDocumentProtoFunc::callAsFunction):
4120         (KJS::DOMElement::attributeGetter):
4121         (KJS::DOMElement::getOwnPropertySlot):
4122         (KJS::DOMNamedNodeMap::nameGetter):
4123         (KJS::DOMNamedNodeMap::getOwnPropertySlot):
4124         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
4125         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
4126         * khtml/ecma/kjs_events.cpp:
4127         (KJS::JSAbstractEventListener::handleEvent):
4128         (KJS::DOMEvent::getValueProperty):
4129         (KJS::DOMEventProtoFunc::callAsFunction):
4130         (KJS::DOMUIEventProtoFunc::callAsFunction):
4131         (KJS::DOMMouseEventProtoFunc::callAsFunction):
4132         (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
4133         (KJS::Clipboard::putValueProperty):
4134         (KJS::ClipboardProtoFunc::callAsFunction):
4135         * khtml/ecma/kjs_html.cpp:
4136         (KJS::HTMLDocFunction::callAsFunction):
4137         (KJS::JSHTMLDocument::namedItemGetter):
4138         (KJS::JSHTMLDocument::getOwnPropertySlot):
4139         (KJS::JSHTMLDocument::putValueProperty):
4140         (KJS::JSHTMLElement::framesetNameGetter):
4141         (KJS::JSHTMLElement::getOwnPropertySlot):
4142         (KJS::HTMLElementFunction::callAsFunction):
4143         (KJS::JSHTMLElement::putValueProperty):
4144         (KJS::JSHTMLCollection::callAsFunction):
4145         (KJS::JSHTMLCollection::getNamedItems):
4146         (KJS::HTMLCollectionProtoFunc::callAsFunction):
4147         (KJS::OptionConstructorImp::construct):
4148         * khtml/ecma/kjs_navigator.cpp:
4149         (KJS::Plugins::nameGetter):
4150         (KJS::Plugins::getOwnPropertySlot):
4151         (KJS::MimeTypes::nameGetter):
4152         (KJS::MimeTypes::getOwnPropertySlot):
4153         (KJS::Plugin::nameGetter):
4154         (KJS::Plugin::getOwnPropertySlot):
4155         * khtml/ecma/kjs_proxy.cpp:
4156         (WebCore::KJSProxy::evaluate):
4157         * khtml/ecma/kjs_range.cpp:
4158         (KJS::DOMRangeProtoFunc::callAsFunction):
4159         * khtml/ecma/kjs_views.cpp:
4160         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
4161         * khtml/ecma/kjs_window.cpp:
4162         (KJS::parseModalDialogFeatures):
4163         (KJS::showModalDialog):
4164         (KJS::Window::childFrameGetter):
4165         (KJS::Window::namedFrameGetter):
4166         (KJS::Window::namedItemGetter):
4167         (KJS::Window::getOwnPropertySlot):
4168         (KJS::Window::put):
4169         (KJS::WindowFunc::callAsFunction):
4170         (KJS::ScheduledAction::execute):