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