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