8eb98609fd796e2fd88014b5bff4b83ef4d48cd9
[WebKit-https.git] / WebCore / ChangeLog
1 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
2
3         Reviewed by darin.
4
5         http://bugzilla.opendarwin.org/show_bug.cgi?id=9498
6         Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)
7
8         * bindings/js/kjs_html.cpp:
9         (KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.
10
11 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
12
13         Reviewed by ggaren.
14
15         * manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.
16
17 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
18
19         Reviewed by ggaren.
20
21         - Update a manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9150
22           DumpRenderTree should be able to keep URL history during runs
23
24         * manual-tests/redraw-page-cache-visited-links.html: Added note about window.history hack.
25         Fixed coordinates for mouse events.  Added call to keepWebHistory().
26         * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added note about
27         window.history hack.
28
29 2006-06-17  Anders Carlsson  <acarlsson@apple.com>
30
31         Reviewed by Geoff.
32
33         * bindings/js/kjs_binding.cpp:
34         (KJS::ScriptInterpreter::ScriptInterpreter):
35         Set the default script timeout.
36         
37         (KJS::ScriptInterpreter::shouldInterruptScript):
38         New function which asks the frame if the script should be interrupted.
39         
40         * bindings/js/kjs_binding.h:
41                 
42         * bindings/js/kjs_events.cpp:
43         (KJS::JSAbstractEventListener::handleEvent):
44         * bindings/js/kjs_proxy.cpp:
45         (WebCore::KJSProxy::evaluate):
46         Add calls to startTimeoutCheck/stopTimeoutCheck
47         
48         * bindings/js/kjs_window.cpp:
49         (KJS::WindowFunc::callAsFunction):
50         Add calls to pauseTimeoutCheck/unpauseTimeoutCheck 
51         
52         (KJS::ScheduledAction::execute):
53         Add calls to startTimeoutCheck/stopTimeoutCheck
54         
55         * bridge/mac/FrameMac.h:
56         * bridge/mac/FrameMac.mm:
57         (WebCore::FrameMac::shouldInterruptJavaScript):
58         New function which asks the bridge if the script should be interrupted.
59         
60         * bridge/mac/WebCoreFrameBridge.h:
61         * page/Frame.h:
62         Add function declarations.
63         
64 2006-06-17  Alexey Proskuryakov  <ap@nypop.com>
65
66         Reviewed by ggaren.
67
68         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8131
69         Some properties and methods of window and document objects cannot be converted to a string
70
71         Most of the properties were already fixed, this just adds adds a prototype to window.debug.
72
73         Test: fast/dom/everything-to-string.html
74
75         * bindings/js/kjs_proxy.cpp:
76         (WebCore::TestFunctionImp::TestFunctionImp): 
77         (WebCore::KJSProxy::initScriptIfNeeded):
78
79 2006-06-17  David Kilzer  <ddkilzer@kilzer.net>
80
81         Reviewed by Maciej.
82
83         - Fix capitalization issue for case-sensitive filesystems.
84
85         * icon/SQLStatement.cpp: Change assertions.h to Assertions.h.
86
87 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
88
89         Reviewed by Hyatt.
90
91         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7395
92           Table not properly re-flowed when floated div removed from layout
93
94         Test: fast/block/float/table-relayout.html
95
96         * rendering/RenderBlock.cpp:
97         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
98         of children that use lineWidth.
99         * rendering/RenderBlock.h: Added a FIXME.
100
101 2006-06-17  Rob Buis  <buis@kde.org>
102
103         Reviewed by Darin.
104
105         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6282:
106         Adding new Option with new Option(text, value, defaultSelected, selected) fails to update selectedIndex
107
108         Update selectedIndex when a new option is added using javascript.
109
110         * bindings/js/kjs_html.cpp:
111         (KJS::JSHTMLSelectCollection::put):
112         * html/HTMLSelectElement.cpp:
113         (WebCore::HTMLSelectElement::setSelectedIndex):
114         (WebCore::HTMLSelectElement::setOption):
115         (WebCore::HTMLSelectElement::setLength):
116         * html/HTMLSelectElement.h:
117
118 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
119
120         Reviewed by Darin.
121
122         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
123           Assertion failure when dragging an image from the document into Safari's address bar
124
125         * manual-tests/reset-initiatedDrag.html: Added.
126
127 2006-06-16  David Kilzer  <ddkilzer@kilzer.net>
128
129         Reviewed by darin.
130
131         http://bugzilla.opendarwin.org/show_bug.cgi?id=9463
132         REGRESSION (r14879): Assertion failure in CSSParser::sinkFloatingSelector()
133         (m_floatingSelectors.contains(selector)) in some CSS tests
134
135         * css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
136         instead of the bare constructor.
137
138 2006-06-16  David Harrison  <harrison@apple.com>
139
140         Reviewed by Hatcher.
141
142         <rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window
143
144         Problem was that revision lost a check to not draw the markers
145         when paintingDisabled().   This led the markers to be drawn when
146         the window deactivated, at which time the view happens to be flipped.
147
148         It is similar but not the same as the Mail ToDo highlighting
149         issue, which is due to the custom highlight method
150         drawing when the focusView is nil.  Mail team knows this
151         and has tested the fix.
152
153         * platform/mac/GraphicsContextMac.mm:
154         (WebCore::GraphicsContext::drawLineForMisspelling):
155         Early return if paintingDisabled().
156
157 2006-06-16  Adele Peterson  <adele@apple.com>
158
159         Reviewed by Hyatt.
160
161         Adjust padding of inner div so text lines up with text fields.
162         Adjust height of textarea so it only leaves room for the horizontal
163         scrollbar if overflow is set to scroll, or if overflow is set to
164         auto and there's no word wrap.
165
166         These changes will be tested by current layout tests when the
167         new textarea implementation takes effect.
168
169         * rendering/RenderTextField.cpp:
170         (WebCore::RenderTextField::createDivStyle):
171         (WebCore::RenderTextField::calcHeight):
172
173 2006-06-16  John Sullivan  <sullivan@apple.com>
174
175         Reviewed by Darin
176         
177         - fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net
178
179         * dom/Document.cpp:
180         (WebCore::Document::addMarker):
181         Store [it - markers.begin()] in a local variable before modifying markers, since modifying markers can
182         change value of [it - markers.begin()].
183
184 2006-06-16  Adele Peterson  <adele@apple.com>
185
186         Reviewed by Alice.
187
188         Added code to draw Cocoa-like border for textareas instead of just using CSS.
189
190         * WebCore.exp:
191         * css/html4.css: Sets a 1px solid border.
192         * platform/mac/WebCoreSystemInterface.h:
193         * platform/mac/WebCoreSystemInterface.mm:
194         * rendering/RenderThemeMac.h: Formatting changes.
195         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextArea):
196         Uses new wkDrawBezeledTextArea to draw border.
197
198 2006-06-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
199
200         Reviewed by hyatt.
201
202         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9432
203           REGRESSION: crash in capitalization code due to empty-string generated content
204
205         Test: fast/text/capitalize-empty-generated-string.html
206
207         * rendering/RenderText.cpp:
208         (WebCore::RenderText::setText): Skip empty-string text renderers when
209         looking for the previous character.
210
211 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
212
213         Reviewed by levi
214
215         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8637>
216         REGRESSION (11-16-05): Selection gaps left behind after delete
217
218         * editing/SelectionController.cpp:
219         (WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that 
220         selection gaps are invalidated.
221
222 2006-06-15  Timothy Hatcher  <timothy@apple.com>
223
224         Reviewed by Geoff and Darin.
225         
226         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
227
228         * WebCore.xcodeproj/project.pbxproj:
229
230 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
231
232         Reviewed by harrison
233         
234         * editing/CompositeEditCommand.cpp:
235         (WebCore::hasARenderedDescendant):
236         (WebCore::CompositeEditCommand::prune): Ascend using the DOM
237         (WebCore::CompositeEditCommand::moveParagraphs): Placeholder insertion
238         during deletion is fixed, removing the fall back.
239
240 2006-06-15  Nicholas Shanks  <contact@nickshanks.com>
241
242         Reviewed by Hyatt, landed by Joost de Valk.
243
244         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3233
245
246         Add support for the :lang pseudo-class.
247
248         * css/CSSGrammar.y:
249         * css/CSSSelector.cpp:
250         (WebCore::CSSSelector::operator == ):
251         * css/CSSSelector.h:
252         (WebCore::CSSSelector::CSSSelector):
253         * css/cssparser.cpp:
254         (WebCore::CSSParser::lex):
255         * css/cssstyleselector.cpp:
256         (WebCore::CSSStyleSelector::checkOneSelector):
257         * css/tokenizer.flex:
258
259 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
260
261         Reviewed by harrison
262         
263         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9456>
264         REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
265         
266         * page/Frame.cpp:
267         (WebCore::Frame::findString): When comparing the found range with
268         what's currently selected a) build a selection with the found
269         range to remove collapsed whitespace and b) compare ranges 
270         instead of selection objects to ignore the way that the 
271         current selection was made (to ignore the base and extent).
272
273 2006-06-15  David Kilzer  <ddkilzer@kilzer.net>
274
275         Reviewed by mjs.
276
277         http://bugzilla.opendarwin.org/show_bug.cgi?id=9382
278         IDL files missing copyright/license headers
279
280         Add Apple BSD license and copyright to IDL files.
281
282         * ksvg2/bindings/idl/svg/GetSVGDocument.idl:
283         * ksvg2/bindings/idl/svg/SVGAElement.idl:
284         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl:
285         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl:
286         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl:
287         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl:
288         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl:
289         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl:
290         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl:
291         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl:
292         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl:
293         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl:
294         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl:
295         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl:
296         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl:
297         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl:
298         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl:
299         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl:
300         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl:
301         * ksvg2/bindings/idl/svg/SVGCircleElement.idl:
302         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl:
303         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl:
304         * ksvg2/bindings/idl/svg/SVGCursorElement.idl:
305         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl:
306         * ksvg2/bindings/idl/svg/SVGDefsElement.idl:
307         * ksvg2/bindings/idl/svg/SVGDescElement.idl:
308         * ksvg2/bindings/idl/svg/SVGElementInstance.idl:
309         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl:
310         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl:
311         * ksvg2/bindings/idl/svg/SVGEvent.idl:
312         * ksvg2/bindings/idl/svg/SVGException.idl:
313         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl:
314         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl:
315         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl:
316         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl:
317         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl:
318         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl:
319         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl:
320         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl:
321         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl:
322         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl:
323         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl:
324         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl:
325         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl:
326         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl:
327         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl:
328         * ksvg2/bindings/idl/svg/SVGFETileElement.idl:
329         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl:
330         * ksvg2/bindings/idl/svg/SVGFilterElement.idl:
331         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl:
332         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl:
333         * ksvg2/bindings/idl/svg/SVGGElement.idl:
334         * ksvg2/bindings/idl/svg/SVGGradientElement.idl:
335         * ksvg2/bindings/idl/svg/SVGICCColor.idl:
336         * ksvg2/bindings/idl/svg/SVGImageElement.idl:
337         * ksvg2/bindings/idl/svg/SVGLangSpace.idl:
338         * ksvg2/bindings/idl/svg/SVGLengthList.idl:
339         * ksvg2/bindings/idl/svg/SVGLineElement.idl:
340         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl:
341         * ksvg2/bindings/idl/svg/SVGLocatable.idl:
342         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl:
343         * ksvg2/bindings/idl/svg/SVGNumberList.idl:
344         * ksvg2/bindings/idl/svg/SVGPaint.idl:
345         * ksvg2/bindings/idl/svg/SVGPathElement.idl:
346         * ksvg2/bindings/idl/svg/SVGPathSeg.idl:
347         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl:
348         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl:
349         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl:
350         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl:
351         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl:
352         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl:
353         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl:
354         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl:
355         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl:
356         * ksvg2/bindings/idl/svg/SVGPathSegList.idl:
357         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl:
358         * ksvg2/bindings/idl/svg/SVGPatternElement.idl:
359         * ksvg2/bindings/idl/svg/SVGPointList.idl:
360         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl:
361         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl:
362         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl:
363         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl:
364         * ksvg2/bindings/idl/svg/SVGRectElement.idl:
365         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl:
366         * ksvg2/bindings/idl/svg/SVGScriptElement.idl:
367         * ksvg2/bindings/idl/svg/SVGSetElement.idl:
368         * ksvg2/bindings/idl/svg/SVGStopElement.idl:
369         * ksvg2/bindings/idl/svg/SVGStringList.idl:
370         * ksvg2/bindings/idl/svg/SVGStylable.idl:
371         * ksvg2/bindings/idl/svg/SVGStyleElement.idl:
372         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl:
373         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl:
374         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl:
375         * ksvg2/bindings/idl/svg/SVGTests.idl:
376         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl:
377         * ksvg2/bindings/idl/svg/SVGTextElement.idl:
378         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl:
379         * ksvg2/bindings/idl/svg/SVGTitleElement.idl:
380         * ksvg2/bindings/idl/svg/SVGTransformList.idl:
381         * ksvg2/bindings/idl/svg/SVGTransformable.idl:
382         * ksvg2/bindings/idl/svg/SVGURIReference.idl:
383         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl:
384         * ksvg2/bindings/idl/svg/SVGUseElement.idl:
385         * ksvg2/bindings/idl/svg/SVGViewElement.idl:
386         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl:
387         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl:
388         * ksvg2/svg/SVGAnimatedLength.idl:
389
390 2006-06-14  Justin Garcia  <justin.garcia@apple.com>
391
392         Reviewed by levi
393
394         <rdar://problem/4439248>
395         REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)
396
397         * editing/markup.cpp:
398         (WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.
399
400 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
401
402         Reviewed by justin
403
404         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
405         TinyMCE: Implement execCommand(formatBlock, ...)
406
407         * WebCore.xcodeproj/project.pbxproj: Added FormatBlock.{h,cpp} to the project.
408         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
409         * bridge/mac/WebCoreFrameBridge.h: Added WebUndoActions
410         * editing/CompositeEditCommand.cpp:
411         (WebCore::CompositeEditCommand::moveParagraph): Added a preserveStyle bool.
412         (WebCore::CompositeEditCommand::moveParagraphs): Ditto.  downstream() the start
413         or else we'll move collapsed whitespace and uncollapse it.
414         * editing/CompositeEditCommand.h:
415         * editing/DeleteSelectionCommand.cpp:
416         (WebCore::DeleteSelectionCommand::initializePositionData):
417         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Don't update m_endingPosition
418         because that's removeNode's responsibility.
419         (WebCore::updatePositionForNodeRemoval): Added.
420         (WebCore::DeleteSelectionCommand::removeNode): Turned removeFullySelectedNode into a virtual
421         overload of removeNode so that we can update positions as we remove nodes.
422         (WebCore::updatePositionForTextRemoval): Added.
423         (WebCore::DeleteSelectionCommand::deleteTextFromNode):
424         (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
425         (WebCore::DeleteSelectionCommand::fixupWhitespace): Got rid of m_trailingWhitespaceValid
426         since m_trailingWhitespace is always valid (we update it as we remove nodes).
427         (WebCore::DeleteSelectionCommand::mergeParagraphs):
428         (WebCore::DeleteSelectionCommand::doApply): Leading and trailing spaces should
429         be fixed if they have collapsed before merging paragraphs.
430         * editing/DeleteSelectionCommand.h:
431         * editing/EditAction.h:
432         (WebCore::):
433         * editing/FormatBlockCommand.cpp: Added.
434         (WebCore::FormatBlockCommand::FormatBlockCommand):
435         (WebCore::FormatBlockCommand::modifyRange): Similar to InsertListCommand::modifyRange().
436         (WebCore::FormatBlockCommand::doApply):
437         * editing/FormatBlockCommand.h: Added.
438         (WebCore::FormatBlockCommand::editingAction):
439         * editing/InsertListCommand.h:
440         (WebCore::InsertListCommand::editingAction):
441         * editing/JSEditor.cpp:
442         * editing/MergeIdenticalElementsCommand.cpp:
443         (WebCore::MergeIdenticalElementsCommand::doApply):
444         * editing/htmlediting.cpp:
445         (WebCore::validBlockTag):
446         (WebCore::createElement):
447         * editing/htmlediting.h:
448
449 2006-06-14  Maciej Stachowiak  <mjs@apple.com>
450
451         Reviewed by Anders.
452
453         - fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work
454
455         * dom/EventTargetNode.cpp:
456         (WebCore::EventTargetNode::dispatchWindowEvent):
457
458 2006-06-14  David Hyatt  <hyatt@apple.com>
459
460         Rename RenderSlider to DeprecatedSlider, so that I can start work on
461         the new NSView-less slider.
462
463         Reviewed by john
464
465         * WebCore.vcproj/WebCore/WebCore.vcproj:
466         * WebCore.xcodeproj/project.pbxproj:
467         * html/HTMLInputElement.cpp:
468         (WebCore::HTMLInputElement::createRenderer):
469         * rendering/DeprecatedSlider.cpp: Added.
470         (WebCore::DeprecatedSlider::DeprecatedSlider):
471         (WebCore::DeprecatedSlider::calcMinMaxWidth):
472         (WebCore::DeprecatedSlider::updateFromElement):
473         (WebCore::DeprecatedSlider::valueChanged):
474         * rendering/DeprecatedSlider.h: Added.
475         (WebCore::DeprecatedSlider::renderName):
476         * rendering/RenderSlider.cpp: Removed.
477         * rendering/RenderSlider.h: Removed.
478
479 2006-06-13  Geoffrey Garen  <ggaren@apple.com>
480
481         Reviewed by Maciej.
482         
483         - Fixed <rdar://problem/4562192> Creating a new DOMHTMLDocument 
484         appears challenging.
485         
486         - Added createHTMLDocument to Objc bindings, fixed up implementation
487         to comply with the DOM 2 Candidate Recommendation in which is was defined.
488         (It never made the final spec.) Also removed use of deprecatedString,
489         to avoid unnecessary killing of puppies.
490
491         * WebCore.xcodeproj/project.pbxproj:
492         * bindings/objc/DOM.mm:
493         (-[DOMImplementation createHTMLDocument:]):
494         * bindings/objc/DOMPrivate.h:
495         * dom/DOMImplementation.cpp:
496         (WebCore::DOMImplementation::createDocument):
497         (WebCore::DOMImplementation::createHTMLDocument):
498
499 2006-06-13  Alice Liu  <alice.liu@apple.com>
500
501         Reviewed by Adele.
502
503         fixed <rdar://problem/4457902> HTMLSelectElement.remove() can't handle an option obj being passed to it, results in hang on http://www.ibc-solar.de/www_ibc/fst_solarmonitoring.jsp
504
505         * bindings/js/kjs_html.cpp:
506         (KJS::HTMLElementFunction::callAsFunction):
507         support this by converting the argument to an options object
508         before passing to remove()
509
510 2006-06-13  Darin Adler  <darin@apple.com>
511
512         Reviewed by Geoff.
513
514         - fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page
515
516         This patch fixes a bug where the event listener cache does not distinguish
517         HTML and non-HTML listeners. Incorrect behavior where stopPropagation also
518         prevented default masked a case of this bug on the yahoo.com home page until
519         we fixed bug 5180 on 2005-10-03.
520
521         Test: fast/events/event-listener-html-non-html-confusion.html
522
523         * bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.
524
525         * bindings/js/kjs_window.cpp:
526         (KJS::Window::~Window): Go through the additional maps when clearing the window object
527         pointer in event listeners.
528         (KJS::Window::getJSEventListener): Look in the HTML or non-HTML map depending on the
529         argument passed.
530         (KJS::Window::getJSUnprotectedEventListener): Ditto.
531
532         * bindings/js/kjs_events.cpp:
533         (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Add to either the HTML
534         or non-HTML map depending on the argument passed.
535         (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Remove from either the
536         HTML or non-HTML map depending on whether the HTML flag is set.
537         (KJS::JSEventListener::JSEventListener): More of the same.
538         (KJS::JSEventListener::~JSEventListener): Ditto.
539         (KJS::JSLazyEventListener::parseCode): Same thing here. In a lazy event listener there
540         is not a listener at construction time, thus the code here to put the listener into a
541         map needs the HTML vs. non-HTML logic.
542
543 2006-06-13  Maciej Stachowiak  <mjs@apple.com>
544
545         Reviewed by Darin.
546         
547         <rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com
548
549         * dom/EventTargetNode.cpp:
550         (WebCore::EventTargetNode::dispatchGenericEvent): Don't allow
551         "load" events to propagate up to the window. We need this quirk to
552         avoid site hangs, because they depend on an old Mozilla bug.
553
554 2006-06-13  Antti Koivisto  <koivisto@iki.fi>
555
556         Reviewed by Hyatt.
557
558         http://bugzilla.opendarwin.org/show_bug.cgi?id=9314
559         Relative positioned block size doesnt update root layer size
560
561         - take relative positioning into account in leftmost/rightmost/lowestPosition()
562         - ignore zero width/height boxes in leftmost/rightmost/lowestPosition()
563         - split relativePositionOffset() to x and y functions
564         
565         * rendering/RenderBox.cpp:
566         (WebCore::RenderBox::absolutePosition):
567         (WebCore::RenderBox::relativePositionOffsetX):
568         (WebCore::RenderBox::relativePositionOffsetY):
569         (WebCore::RenderBox::lowestPosition):
570         (WebCore::RenderBox::rightmostPosition):
571         (WebCore::RenderBox::leftmostPosition):
572         * rendering/RenderBox.h:
573         * rendering/RenderFlow.cpp:
574         (WebCore::RenderFlow::lowestPosition):
575         (WebCore::RenderFlow::rightmostPosition):
576         (WebCore::RenderFlow::leftmostPosition):
577         * rendering/RenderLayer.cpp:
578         (WebCore::RenderLayer::updateLayerPosition):
579         * rendering/RenderObject.cpp:
580         (WebCore::RenderObject::offsetLeft):
581         (WebCore::RenderObject::offsetTop):
582
583 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
584
585         Reviewed by Dave Hyatt.
586
587         http://bugzilla.opendarwin.org/show_bug.cgi?id=9427
588         xml-stylesheet processing instructions outside of the prolog should have no effect.
589
590         * dom/ProcessingInstruction.cpp:
591         (WebCore::ProcessingInstruction::checkStyleSheet):
592         Remove todo comment.
593         
594         * dom/xml_tokenizer.cpp:
595         (WebCore::XMLTokenizer::processingInstruction):
596         Only check for style sheet if the root element hasn't yet been encountered.
597
598 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
599
600         Reviewed by Geoff.
601
602         http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
603         REGRESSION: fix for bug 9390 broke two layout tests
604         
605         * loader/PluginDocument.cpp:
606         (WebCore::PluginTokenizer::writeRawData):
607         Call finished() after setting up the document structure so we'll emit onload events.
608
609 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
610
611         build fix -- forgot to svn add this file
612         
613         * ForwardingHeaders/kjs/SavedBuiltins.h: Added.
614
615 2006-06-12  Brady Eidson  <beidson@apple.com>
616
617         Reviewed by Maciej.
618
619         Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!
620
621         * platform/String.cpp:
622         (WebCore::String::append):
623
624 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
625
626         Reviewed by TimO, Maciej.
627
628         - WebCore part of merging InterpreterImp into Interpreter. No test
629         because there's no behavior change.
630         
631         A substantive change here is that ScriptInterpreter::mark must now chain to
632         Interpreter::mark, since Interpreter needs to mark the things that
633         InterpreterImp used to mark.
634         
635         * WebCore.xcodeproj/project.pbxproj:
636         * bindings/js/kjs_binding.cpp:
637         * bindings/js/kjs_window.cpp:
638         (KJS::Window::put):
639         * bridge/mac/WebCoreFrameBridge.mm:
640         * bridge/mac/WebCoreScriptDebugger.mm:
641         (-[WebCoreScriptCallFrame evaluateWebScript:]):
642         * kwq/KWQPageState.mm:
643
644 2006-06-12  Brady Eidson <beidson@apple.com>
645
646         Reviewed by Maciej.
647
648         Changed String::ascii() to return a Vector<char> instead of const char*
649         This allows us to use it "regularly" as the returned vector will destruct
650         and not leak memory like the previous approach.
651         We can now do a String.ascii().data() to get a char* buffer instead of 
652         String.deprecatedString().ascii().  It doesn't improve the style much but
653         dumping the memory-leak issue is a plus.
654
655         * icon/IconDatabase.cpp:
656         (WebCore::IconDatabase::open):
657         (WebCore::IconDatabase::clearDatabase):
658         * icon/SQLDatabase.cpp:
659         (SQLDatabase::open):
660         * icon/SQLStatement.cpp:
661         (WebCore::SQLStatement::prepare):
662         (WebCore::SQLStatement::step):
663         (WebCore::SQLStatement::returnTextResults):
664         (WebCore::SQLStatement::returnTextResults16):
665         (WebCore::SQLStatement::returnIntResults):
666         (WebCore::SQLStatement::returnInt64Results):
667         (WebCore::SQLStatement::returnDoubleResults):
668         In addition to the changes to the string classes, changed my database code over to the new
669         preferred method.
670
671         * platform/PlatformString.h:
672         * platform/String.cpp:
673         (WebCore::String::ascii):
674         * platform/StringImpl.cpp:
675         (WebCore::StringImpl::ascii):
676         * platform/StringImpl.h:
677
678 2006-06-12  Dave Hyatt <hyatt@apple.com>
679
680         Add the notion of a selection foreground color to the engine for
681         Win32.  Rename existing selectionColor methods to be
682         selectionBackgroundColor instead.
683
684         Change the 60% alpha blend rule for transparent selection to
685         instead be a range from 60-80%, with less transparency being
686         used as needed to ensure the transformed color more closely
687         approximates the original operating system color when blended
688         with a white background.
689
690         Reviewed by mjs
691
692         * platform/Color.cpp:
693         (WebCore::blend):
694         (WebCore::Color::blendWithWhite):
695         * platform/Color.h:
696         * rendering/InlineTextBox.cpp:
697         (WebCore::InlineTextBox::paint):
698         (WebCore::InlineTextBox::paintSelection):
699         * rendering/RenderBlock.cpp:
700         (WebCore::RenderBlock::fillHorizontalSelectionGap):
701         (WebCore::RenderBlock::fillVerticalSelectionGap):
702         (WebCore::RenderBlock::fillLeftSelectionGap):
703         (WebCore::RenderBlock::fillRightSelectionGap):
704         * rendering/RenderHTMLCanvas.cpp:
705         (WebCore::RenderHTMLCanvas::paint):
706         * rendering/RenderImage.cpp:
707         (WebCore::RenderImage::paint):
708         * rendering/RenderListMarker.cpp:
709         (WebCore::RenderListMarker::paint):
710         * rendering/RenderObject.cpp:
711         (WebCore::RenderObject::selectionBackgroundColor):
712         (WebCore::RenderObject::selectionForegroundColor):
713         * rendering/RenderObject.h:
714         * rendering/RenderTheme.cpp:
715         (WebCore::RenderTheme::activeSelectionBackgroundColor):
716         (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
717         (WebCore::RenderTheme::platformActiveSelectionBackgroundColor):
718         (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
719         (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
720         (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
721         * rendering/RenderTheme.h:
722         * rendering/RenderThemeMac.h:
723         * rendering/RenderThemeMac.mm:
724         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
725         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
726         * rendering/RenderThemeWin.cpp:
727         (WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor):
728         (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
729         (WebCore::RenderThemeWin::platformActiveSelectionForegroundColor):
730         (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
731         * rendering/RenderThemeWin.h:
732         * rendering/RenderWidget.cpp:
733         (WebCore::RenderWidget::paint):
734
735 2006-06-12  John Sullivan  <sullivan@apple.com>
736
737         Reviewed by Darin Adler.
738         
739         * page/Frame.cpp:
740         (WebCore::Frame::markAllMatchesForText):
741         Do a "fake" paint here so that the rectangles for the text matches will have been
742         computed by the time this method returns.
743
744 2006-06-12  Brady Eidson  <beidson@apple.com>
745
746         Reviewed by Levi and Tim Omernick.
747
748         -Added a skeleton sqlite3 icon database file to IconDatabase
749         -Added functionality to validate and recreate this icon.db file
750         -Fixed some buggys in SQLDatabase.cpp
751
752         * icon/IconDatabase.cpp:
753         (WebCore::IconDatabase::open):
754         (WebCore::IconDatabase::isValidDatabase):
755         (WebCore::IconDatabase::clearDatabase):
756         (WebCore::IconDatabase::recreateDatabase):
757         * icon/IconDatabase.h:
758
759         * icon/SQLStatement.cpp:
760         (WebCore::SQLStatement::columnCount):
761         (WebCore::SQLStatement::getColumnName):
762         (WebCore::SQLStatement::getColumnName16):
763         (WebCore::SQLStatement::getColumnText):
764         (WebCore::SQLStatement::getColumnText16):
765         (WebCore::SQLStatement::getColumnDouble):
766         (WebCore::SQLStatement::getColumnInt):
767         (WebCore::SQLStatement::getColumnInt64):
768         (WebCore::SQLStatement::getColumnBlob):
769         -Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
770         function calls weren't as error-tolerant as documentation advertised
771         (maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)
772
773 2006-06-12  Brady Eidson  <beidson@apple.com>
774
775         Reviewed by Levi.
776
777         -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.  
778         -Changed the base IconDatabase over to this new framework.
779
780         * WebCore.xcodeproj/project.pbxproj:
781         * bridge/mac/WebCoreIconDatabaseBridge.mm:
782         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
783             -By popular request, removed an annoying log message I'd accidentally left in
784
785         * icon/IconDatabase.cpp:
786         (WebCore::IconDatabase::IconDatabase):
787         (WebCore::IconDatabase::open):
788         (WebCore::IconDatabase::close):
789         (WebCore::IconDatabase::~IconDatabase):
790         * icon/IconDatabase.h:
791         (WebCore::IconDatabase::isOpen):
792             -Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls
793
794         * icon/SQLDatabase.cpp: Added.
795         (SQLDatabase::SQLDatabase):
796         (SQLDatabase::open):
797         (SQLDatabase::close):
798         (SQLDatabase::executeCommand):
799         (SQLDatabase::tableExists):
800         * icon/SQLDatabase.h: Added.
801         (WebCore::SQLDatabase::isOpen):
802         (WebCore::SQLDatabase::getPath):
803         (WebCore::SQLDatabase::lastError):
804         (WebCore::SQLDatabase::lastErrorMsg):
805         (WebCore::SQLStatement::isPrepared):
806         (WebCore::SQLStatement::lastError):
807         (WebCore::SQLStatement::lastErrorMsg):
808         * icon/SQLStatement.cpp: Added.
809         (WebCore::SQLStatement::SQLStatement):
810         (WebCore::SQLStatement::~SQLStatement):
811         (WebCore::SQLStatement::prepare):
812         (WebCore::SQLStatement::step):
813         (WebCore::SQLStatement::finalize):
814         (WebCore::SQLStatement::reset):
815         (WebCore::SQLStatement::executeCommand):
816         (WebCore::SQLStatement::bindBlob):
817         (WebCore::SQLStatement::bindText):
818         (WebCore::SQLStatement::columnCount):
819         (WebCore::SQLStatement::getColumnName):
820         (WebCore::SQLStatement::getColumnName16):
821         (WebCore::SQLStatement::getColumnText):
822         (WebCore::SQLStatement::getColumnText16):
823         (WebCore::SQLStatement::getColumnDouble):
824         (WebCore::SQLStatement::getColumnInt):
825         (WebCore::SQLStatement::getColumnInt64):
826         (WebCore::SQLStatement::getColumnBlob):
827         (WebCore::SQLStatement::returnTextResults):
828         (WebCore::SQLStatement::returnTextResults16):
829         (WebCore::SQLStatement::returnIntResults):
830         (WebCore::SQLStatement::returnInt64Results):
831         (WebCore::SQLStatement::returnDoubleResults):
832             -Initial checking of SQLDatabase framework
833
834         * platform/PlatformString.h:
835         * platform/String.cpp:
836         (WebCore::String::String):
837             -Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on 
838             null-terminated UTF16 which we didn't yet support.
839
840 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
841
842         Reviewed by Maciej.
843
844         http://bugzilla.opendarwin.org/show_bug.cgi?id=9408
845         Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"
846
847         * DerivedSources.make: Fix clean builds.
848
849 2006-06-11  Darin Adler  <darin@apple.com>
850
851         - another try at fixing Windows
852
853         * loader/CachedResource.h:
854         * platform/cairo/GraphicsContextCairo.cpp:
855         * platform/image-decoders/ImageDecoder.h:
856         (WebCore::ImageDecoder::setData):
857         * platform/image-decoders/gif/GIFImageDecoder.cpp:
858         (WebCore::GIFImageDecoderPrivate::decode):
859         (WebCore::GIFImageDecoder::setData):
860         * platform/image-decoders/gif/GIFImageDecoder.h:
861         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
862         (WebCore::JPEGImageReader::decode):
863         (WebCore::JPEGImageDecoder::setData):
864         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
865         * platform/image-decoders/png/PNGImageDecoder.cpp:
866         (WebCore::PNGImageReader::decode):
867         (WebCore::PNGImageDecoder::setData):
868         * platform/image-decoders/png/PNGImageDecoder.h:
869         s/DeprecatedByteArray/Vector<char>/
870
871 2006-06-11  Darin Adler  <darin@apple.com>
872
873         - try to fix Windows build
874
875         * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
876         Use Vector<char> instead of DeprecatedByteArray.
877
878         * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
879         Don't try to return 0 from a function that returns a Vector<char>.
880
881 2006-06-11  Sam Weinig  <sam.weinig@gmail.com>
882
883         Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
884
885         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039
886           Remove use of DeprecatedArray in favor of new Vector class
887
888         This removes most of the uses of DeprecatedArray and 
889         DeprecatedByteArray, with the exception of DeprecatedCString.
890
891         No test cases added because there is no change in
892         functionality.
893
894         * loader/CachedCSSStyleSheet.cpp:
895         (WebCore::CachedCSSStyleSheet::data):
896         * loader/CachedCSSStyleSheet.h:
897         * loader/CachedImage.cpp:
898         (WebCore::CachedImage::bufferData):
899         (WebCore::CachedImage::data):
900         (WebCore::CachedImage::checkNotify):
901         (WebCore::CachedImage::shouldStopAnimation):
902         * loader/CachedImage.h:
903         * loader/CachedObject.cpp:
904         (WebCore::CachedObject::bufferData):
905         (WebCore::CachedObject::setExpireDate):
906         * loader/CachedObject.h:
907         (WebCore::CachedObject::setCharset):
908         * loader/CachedScript.cpp:
909         (WebCore::CachedScript::data):
910         * loader/CachedScript.h:
911         * loader/CachedXBLDocument.cpp:
912         (WebCore::CachedXBLDocument::data):
913         (WebCore::CachedXBLDocument::checkNotify):
914         * loader/CachedXBLDocument.h:
915         * loader/CachedXSLStyleSheet.cpp:
916         (WebCore::CachedXSLStyleSheet::data):
917         * loader/CachedXSLStyleSheet.h:
918         * loader/Request.cpp:
919         (WebCore::Request::Request):
920         (WebCore::Request::~Request):
921         * loader/Request.h:
922         (WebCore::Request::buffer):
923         (WebCore::Request::cachedObject):
924         (WebCore::Request::docLoader):
925         (WebCore::Request::isIncremental):
926         (WebCore::Request::setIsIncremental):
927         (WebCore::Request::isMultipart):
928         (WebCore::Request::setIsMultipart):
929         * loader/loader.cpp:
930         (WebCore::crossDomain):
931         (WebCore::Loader::Loader):
932         (WebCore::Loader::load):
933         (WebCore::Loader::servePendingRequests):
934         (WebCore::Loader::receivedAllData):
935         (WebCore::Loader::receivedResponse):
936         (WebCore::Loader::receivedData):
937         (WebCore::Loader::numRequests):
938         (WebCore::Loader::cancelRequests):
939         (WebCore::Loader::removeBackgroundDecodingRequest):
940         (WebCore::Loader::jobForRequest):
941         * platform/Image.cpp:
942         (WebCore::Image::setData):
943         * platform/Image.h:
944         (WebCore::Image::dataBuffer):
945
946         * css/cssstyleselector.cpp:
947         (WebCore::CSSStyleSelector::init):
948         (WebCore::CSSStyleSelector::matchRules):
949         (WebCore::CSSStyleSelector::matchRulesForList):
950         (WebCore::CSSStyleSelector::sortMatchedRules):
951         (WebCore::CSSStyleSelector::initForStyleResolve):
952         (WebCore::CSSStyleSelector::createStyleForElement):
953         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
954         * css/cssstyleselector.h:
955         (WebCore::CSSStyleSelector::addMatchedRule):
956         (WebCore::CSSStyleSelector::addMatchedDeclaration):
957         * dom/xml_tokenizer.cpp:
958         (WebCore::OffsetBuffer::OffsetBuffer):
959         (WebCore::openFunc):
960         * html/HTMLOptionElement.cpp:
961         (WebCore::HTMLOptionElement::index):
962         * html/HTMLSelectElement.cpp:
963         (WebCore::HTMLSelectElement::selectedIndex):
964         (WebCore::HTMLSelectElement::setSelectedIndex):
965         (WebCore::HTMLSelectElement::length):
966         (WebCore::HTMLSelectElement::remove):
967         (WebCore::HTMLSelectElement::value):
968         (WebCore::HTMLSelectElement::setValue):
969         (WebCore::HTMLSelectElement::state):
970         (WebCore::HTMLSelectElement::restoreState):
971         (WebCore::HTMLSelectElement::appendFormData):
972         (WebCore::HTMLSelectElement::optionToListIndex):
973         (WebCore::HTMLSelectElement::listToOptionIndex):
974         (WebCore::HTMLSelectElement::recalcListItems):
975         (WebCore::HTMLSelectElement::reset):
976         (WebCore::HTMLSelectElement::notifyOptionSelected):
977         * html/HTMLSelectElement.h:
978         (WebCore::HTMLSelectElement::listItems):
979         * kwq/KWQLoader.h:
980         * kwq/KWQLoader.mm:
981         (KWQServeSynchronousRequest):
982         * kwq/KWQTextStream.cpp:
983         (QTextStream::operator<<):
984         * kwq/KWQTextStream.h:
985         * loader/FormData.cpp:
986         (WebCore::FormData::flatten):
987         (WebCore::FormData::flattenToString):
988         * loader/FormData.h:
989         (WebCore::FormDataElement::FormDataElement):
990         * platform/DeprecatedString.cpp:
991         * platform/DeprecatedString.h:
992         * platform/IntPointArray.cpp: Removed.
993         * platform/IntPointArray.h: Removed.
994         * platform/TextEncoding.cpp:
995         (WebCore::TextEncoding::toUnicode):
996         * platform/TextEncoding.h:
997         * platform/cairo/pixman/src/pixregion.c:
998         * platform/cg/PathCG.cpp:
999         (WebCore::Path::Path):
1000         * rendering/RenderObject.cpp:
1001         (WebCore::RenderObject::drawBorder):
1002         * rendering/RenderTable.h:
1003         (WebCore::RenderTable::colToEffCol):
1004         (WebCore::RenderTable::effColToCol):
1005         * rendering/RenderTableSection.cpp:
1006         (WebCore::RenderTableSection::ensureRows):
1007         (WebCore::RenderTableSection::addCell):
1008         (WebCore::RenderTableSection::setCellWidths):
1009         * rendering/RenderTableSection.h:
1010         * rendering/bidi.cpp:
1011         (WebCore::addMidpoint):
1012         (WebCore::RenderBlock::layoutInlineChildren):
1013         * rendering/render_form.cpp:
1014         (WebCore::RenderSelect::updateFromElement):
1015         (WebCore::RenderSelect::layout):
1016         (WebCore::RenderSelect::valueChanged):
1017         (WebCore::RenderSelect::selectionChanged):
1018         (WebCore::RenderSelect::updateSelection):
1019         * rendering/table_layout.cpp:
1020         (WebCore::FixedTableLayout::layout):
1021         * rendering/table_layout.h:
1022         * xml/XSLTProcessor.cpp:
1023         (WebCore::docLoaderFunc):
1024         * xml/xmlhttprequest.cpp:
1025         (WebCore::XMLHttpRequest::send):
1026         (WebCore::XMLHttpRequest::processSyncLoadResults):
1027         * xml/xmlhttprequest.h:
1028
1029 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
1030
1031         Reviewed by darin.
1032
1033         http://bugzilla.opendarwin.org/show_bug.cgi?id=9394
1034         Fix no-SVG build
1035
1036         * DerivedSources.make: Removed tabs. Create empty SVGElementFactory.cpp on no-svg build.
1037         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Added #if SVG_SUPPORT/#endif.
1038         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Ditto.
1039         * ksvg2/bindings/idl/svg/SVGAElement.idl: Add "Conditional=SVG" to all interfaces.
1040         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Ditto.
1041         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Ditto.
1042         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Ditto.
1043         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Ditto.
1044         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Ditto.
1045         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Ditto.
1046         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Ditto.
1047         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Ditto.
1048         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Ditto.
1049         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Ditto.
1050         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Ditto.
1051         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Ditto.
1052         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Ditto.
1053         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Ditto.
1054         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Ditto.
1055         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Ditto.
1056         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Ditto.
1057         * ksvg2/bindings/idl/svg/SVGCircleElement.idl: Ditto.
1058         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Ditto.
1059         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Ditto.
1060         * ksvg2/bindings/idl/svg/SVGCursorElement.idl: Ditto.
1061         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Ditto.
1062         * ksvg2/bindings/idl/svg/SVGDefsElement.idl: Ditto.
1063         * ksvg2/bindings/idl/svg/SVGDescElement.idl: Ditto.
1064         * ksvg2/bindings/idl/svg/SVGElementInstance.idl: Ditto.
1065         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Ditto.
1066         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Ditto.
1067         * ksvg2/bindings/idl/svg/SVGEvent.idl: Ditto.
1068         * ksvg2/bindings/idl/svg/SVGException.idl: Ditto.
1069         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Ditto.
1070         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Ditto.
1071         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Ditto.
1072         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Ditto.
1073         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Ditto.
1074         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Ditto.
1075         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Ditto.
1076         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Ditto.
1077         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Ditto.
1078         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Ditto.
1079         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Ditto.
1080         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Ditto.
1081         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Ditto.
1082         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Ditto.
1083         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Ditto.
1084         * ksvg2/bindings/idl/svg/SVGFETileElement.idl: Ditto.
1085         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Ditto.
1086         * ksvg2/bindings/idl/svg/SVGFilterElement.idl: Ditto.
1087         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Ditto.
1088         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Ditto.
1089         * ksvg2/bindings/idl/svg/SVGGElement.idl: Ditto.
1090         * ksvg2/bindings/idl/svg/SVGGradientElement.idl: Ditto.
1091         * ksvg2/bindings/idl/svg/SVGICCColor.idl: Ditto.
1092         * ksvg2/bindings/idl/svg/SVGImageElement.idl: Ditto.
1093         * ksvg2/bindings/idl/svg/SVGLangSpace.idl: Ditto.
1094         * ksvg2/bindings/idl/svg/SVGLengthList.idl: Ditto.
1095         * ksvg2/bindings/idl/svg/SVGLineElement.idl: Ditto.
1096         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Ditto.
1097         * ksvg2/bindings/idl/svg/SVGLocatable.idl: Ditto.
1098         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Ditto.
1099         * ksvg2/bindings/idl/svg/SVGNumberList.idl: Ditto.
1100         * ksvg2/bindings/idl/svg/SVGPaint.idl: Ditto.
1101         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Ditto.
1102         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Ditto.
1103         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Ditto.
1104         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Ditto.
1105         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Ditto.
1106         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Ditto.
1107         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Ditto.
1108         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Ditto.
1109         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Ditto.
1110         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Ditto.
1111         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Ditto.
1112         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Ditto.
1113         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Ditto.
1114         * ksvg2/bindings/idl/svg/SVGPatternElement.idl: Ditto.
1115         * ksvg2/bindings/idl/svg/SVGPointList.idl: Ditto.
1116         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Ditto.
1117         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Ditto.
1118         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Ditto.
1119         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Ditto.
1120         * ksvg2/bindings/idl/svg/SVGRectElement.idl: Ditto.
1121         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Ditto.
1122         * ksvg2/bindings/idl/svg/SVGScriptElement.idl: Ditto.
1123         * ksvg2/bindings/idl/svg/SVGSetElement.idl: Ditto.
1124         * ksvg2/bindings/idl/svg/SVGStopElement.idl: Ditto.
1125         * ksvg2/bindings/idl/svg/SVGStringList.idl: Ditto.
1126         * ksvg2/bindings/idl/svg/SVGStylable.idl: Ditto.
1127         * ksvg2/bindings/idl/svg/SVGStyleElement.idl: Ditto.
1128         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Ditto.
1129         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Ditto.
1130         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Ditto.
1131         * ksvg2/bindings/idl/svg/SVGTests.idl: Ditto.
1132         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Ditto.
1133         * ksvg2/bindings/idl/svg/SVGTextElement.idl: Ditto.
1134         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Ditto.
1135         * ksvg2/bindings/idl/svg/SVGTitleElement.idl: Ditto.
1136         * ksvg2/bindings/idl/svg/SVGTransformList.idl: Ditto.
1137         * ksvg2/bindings/idl/svg/SVGTransformable.idl: Ditto.
1138         * ksvg2/bindings/idl/svg/SVGURIReference.idl: Ditto.
1139         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Ditto.
1140         * ksvg2/bindings/idl/svg/SVGUseElement.idl: Ditto.
1141         * ksvg2/bindings/idl/svg/SVGViewElement.idl: Ditto.
1142         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Ditto.
1143         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Ditto.
1144         * ksvg2/svg/SVGAngle.idl: Ditto.
1145         * ksvg2/svg/SVGAnimatedLength.idl: Ditto.
1146         * ksvg2/svg/SVGColor.idl: Ditto.
1147         * ksvg2/svg/SVGDocument.idl: Ditto.
1148         * ksvg2/svg/SVGElement.idl: Ditto.
1149         * ksvg2/svg/SVGEvent.idl: Ditto.
1150         * ksvg2/svg/SVGLength.idl: Ditto.
1151         * ksvg2/svg/SVGMatrix.idl: Ditto.
1152         * ksvg2/svg/SVGNumber.idl: Ditto.
1153         * ksvg2/svg/SVGPoint.idl: Ditto.
1154         * ksvg2/svg/SVGRect.idl: Ditto.
1155         * ksvg2/svg/SVGSVGElement.idl: Ditto.
1156         * ksvg2/svg/SVGTransform.idl: Ditto.
1157
1158 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
1159
1160         Reviewed by Geoff.
1161
1162         http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
1163         Move full-frame plugins to WebCore
1164         
1165         * WebCore.vcproj/WebCore/WebCore.vcproj:
1166         * WebCore.xcodeproj/project.pbxproj:
1167         Add PluginDocument
1168         
1169         * bridge/mac/FrameMac.h:
1170         * bridge/mac/FrameMac.mm:
1171         (WebCore::FrameMac::redirectDataToPlugin):
1172         Call the bridge.
1173         
1174         * bridge/mac/WebCoreFrameBridge.h:
1175         * bridge/mac/WebCoreFrameBridge.mm:
1176         Add redirectDataToPlugin which is used to redirect incoming data
1177         to a plugin.
1178         
1179         * bridge/mac/WebCoreViewFactory.h:
1180         Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
1181         
1182         * dom/DOMImplementation.cpp:
1183         * dom/DOMImplementation.h:
1184         Get rid of createTextDocument and just create a text document explicitly when needed.
1185         
1186         * dom/Document.h:
1187         (WebCore::Document::isPluginDocument):
1188         * loader/PluginDocument.cpp: Added.
1189         (WebCore::PluginTokenizer::PluginTokenizer):
1190         (WebCore::PluginTokenizer::wantsRawData):
1191         (WebCore::PluginTokenizer::write):
1192         (WebCore::PluginTokenizer::createDocumentStructure):
1193         (WebCore::PluginTokenizer::writeRawData):
1194         (WebCore::PluginTokenizer::stopParsing):
1195         (WebCore::PluginTokenizer::finish):
1196         (WebCore::PluginTokenizer::isWaitingForScripts):
1197         (WebCore::PluginDocument::PluginDocument):
1198         (WebCore::PluginDocument::createTokenizer):
1199         * loader/PluginDocument.h: Added.
1200         (WebCore::PluginDocument::isPluginDocument):
1201         Add PluginDocument.
1202         
1203         * page/Frame.cpp:
1204         (WebCore::Frame::begin):
1205         Possibly create a plugin document.
1206         
1207         * page/Frame.h:
1208         (WebCore::Frame::redirectDataToPlugin):
1209         Add declaration.
1210         
1211         * platform/PlugInInfoStore.h:
1212         * platform/mac/PlugInInfoStoreMac.mm:
1213         (WebCore::PlugInInfoStore::supportsMIMEType):
1214         Ask WebCoreViewFactory if the MIME type is supported.
1215
1216 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1217
1218         Reviewed by hyatt.
1219
1220         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9334
1221           Incomplete repaint when changing block from non-positioned to positioned
1222
1223         Test: fast/repaint/static-to-positioned.html
1224
1225         * rendering/RenderObject.cpp:
1226         (WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
1227         as static.
1228
1229 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1230
1231         Reviewed by hyatt.
1232
1233         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9193
1234           REGRESSION: setting an opacity on an element with an outline causes the outline to disappear completely
1235
1236         Test: fast/layers/opacity-outline.html
1237
1238         - fix repainting of layer children's outlines that extend beyond the layer
1239
1240         Test: fast/repaint/layer-child-outline.html
1241
1242         * rendering/RenderLayer.cpp:
1243         (WebCore::RenderLayer::intersectsDamageRect): Account for outlines.
1244         (WebCore::RenderLayer::absoluteBoundingBox): Ditto.
1245         * rendering/RenderObject.cpp:
1246         (WebCore::RenderObject::maximalOutlineSize): Changed to return the view's maximal
1247         outline size rather than 0 for PaintPhaseChildOutlines.
1248
1249 2006-06-10  Steve Falkenburg  <sfalken@apple.com>
1250
1251         Fix build break
1252
1253         * platform/cairo/GraphicsContextCairo.cpp:
1254         * platform/win/TemporaryLinkStubs.cpp:
1255         (GraphicsContext::scale):
1256
1257 2006-06-10  Geoffrey Garen  <ggaren@apple.com>
1258
1259         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8515
1260         Linux porting compile bug
1261         
1262         Fix by Mike Emmel, Reviewed by Darin.
1263
1264         * Projects/gdk/webcore-gdk.bkl:
1265         * WebCoreSources.bkl:
1266         * css/maketokenizer:
1267         * html/HTMLCanvasElement.cpp:
1268         * html/HTMLImageElement.h:
1269         * icon/IconDatabase.cpp:
1270         * make-generated-sources.sh:
1271         * page/Frame.h:
1272         * page/FramePrivate.h:
1273         * platform/Cursor.h:
1274         * platform/FontData.h:
1275         (WebCore::FontData::getGlyphIndex):
1276         * platform/GlyphBuffer.h:
1277         (WebCore::GlyphBuffer::glyphAt):
1278         (WebCore::GlyphBuffer::advanceAt):
1279         (WebCore::GlyphBuffer::add):
1280         * platform/GraphicsContext.h:
1281         * platform/PlatformKeyboardEvent.h:
1282         * platform/PlatformMouseEvent.h:
1283         * platform/PlatformWheelEvent.h:
1284         * platform/ScrollView.h:
1285         * platform/TransferJob.h:
1286         (WebCore::TransferJob::getInternal):
1287         * platform/TransferJobInternal.h:
1288         (WebCore::TransferJobInternal::TransferJobInternal):
1289         * platform/Widget.h:
1290         * platform/cairo/GraphicsContextCairo.cpp:
1291         (WebCore::GraphicsContext::GraphicsContext):
1292         (WebCore::GraphicsContext::roundToDevicePixels):
1293         * webcore-base.bkl:
1294         * xpath/impl/XPathValue.cpp:
1295
1296 2006-06-09  John Sullivan  <sullivan@apple.com>
1297
1298         Reviewed by Tim Omernick and Dave Hyatt.
1299
1300         WebCore support for computing but not highlighting rects for text matches.
1301
1302         * dom/Document.h:
1303         added setRenderedRectForMarker() and renderedRectsForMarkers(), and redefined
1304         MarkerMap to be a hashtable of node -> (pair of vectors), one vector of markers
1305         and one vector of rects
1306         
1307         * dom/Document.cpp:
1308         (placeholderRectForMarker()):
1309         new function, returns a recognizable degenerate rect used until a real rect has been set
1310         (WebCore::Document::addMarker):
1311         Reworked for new MarkerMap data structure; now adds parallel placeholder rect
1312         along with marker
1313         (WebCore::Document::copyMarkers):
1314         Reworked for new MarkerMap data structure
1315         (WebCore::Document::removeMarkers):
1316         Reworked for new MarkerMap data structure; now removed corresponding rect along
1317         with marker
1318         (WebCore::Document::markersForNode):
1319         Reworked for new MarkerMap data structure
1320         (WebCore::Document::renderedRectsForMarkers):
1321         New method, returns an array of all non-placeholder rects for the given marker type
1322         (WebCore::Document::repaintMarkers):
1323         Reworked for new MarkerMap data structure
1324         (WebCore::Document::setRenderedRectForMarker):
1325         New method, sets the rendered rect for a given marker
1326         (WebCore::Document::shiftMarkers):
1327         Reworked for new MarkerMap data structure; resets rendered rects to placeholders.
1328         
1329         * rendering/InlineTextBox.cpp:
1330         (WebCore::InlineTextBox::paint):
1331         removed markedTextMatchesAreHighlighted guard; we always want to call paintTextMatchMarker
1332         now, but sometimes we will end up only computing the rect, not actually highlighting it.
1333         (Maybe some names should be improved here?)
1334         (WebCore::InlineTextBox::paintTextMatchMarker):
1335         Reorganized to move all the code that actually draws into a block that's guarded by
1336         markedTextMatchesAreHighlighted. The rest of the code computes where the highlight will
1337         go, and now we always use that computation in order to call setRenderedRectForMarker.
1338
1339         * bridge/mac/WebCoreFrameBridge.h:
1340         * bridge/mac/WebCoreFrameBridge.mm:
1341         (-[WebCoreFrameBridge rectsForTextMatches]):
1342         New method, returns an array of NSValues representing NSRects. Gets them
1343         from Document::renderedRectsForMarkers
1344         
1345 2006-06-10  Anders Carlsson  <acarlsson@apple.com>
1346
1347         Reviewed by Eric.
1348
1349         * bindings/js/kjs_html.cpp:
1350         (KJS::JSHTMLElement::put):
1351         Call WebCore::JSHTMLElement::put so that autogenerated setters will work 
1352         for HTMLElement.
1353
1354 2006-06-09  Geoffrey Garen  <ggaren@apple.com>
1355
1356         - Build fix after last JSC check-in (oops!)
1357         
1358         * bridge/mac/WebCoreScriptDebugger.mm:
1359         (-[WebCoreScriptCallFrame scopeChain]):
1360         (-[WebCoreScriptCallFrame functionName]):
1361         (-[WebCoreScriptCallFrame evaluateWebScript:]):
1362
1363 2006-06-09  David Hyatt  <hyatt@apple.com>
1364
1365         Rename m_isFocused on the frame to m_isActive, since it isn't really
1366         about focus but is instead about whether or not the top-level window is
1367         active.
1368
1369         Pull code that was incorrectly factored into Mac-only code out of FrameMac
1370         and back up into Frame.
1371
1372         Reviewed by andersca
1373
1374         * bridge/mac/FrameMac.h:
1375         * bridge/mac/FrameMac.mm:
1376         * page/Frame.cpp:
1377         (WebCore::Frame::setFocusNodeIfNeeded):
1378         (WebCore::Frame::isActive):
1379         (WebCore::Frame::setIsActive):
1380         * page/FramePrivate.h:
1381         (WebCore::FramePrivate::FramePrivate):
1382
1383 2006-06-09  David Hyatt  <hyatt@apple.com>
1384
1385         Rework selection coloring.  Rename displaysWithFocusAttributes
1386         to isActive.  Move the white-blending code onto the Color API to make
1387         it more convenient to mutate colors for selection blending.  Eliminate all
1388         the selection state from the GraphicsContext and move it to the RenderTheme.
1389         Implement both Win32 and Mac theme selection colors.
1390
1391         Reviewed by sfalken
1392
1393         * bridge/mac/FrameMac.h:
1394         * bridge/mac/FrameMac.mm:
1395         (WebCore::FrameMac::setIsActive):
1396         * bridge/mac/WebCoreFrameBridge.h:
1397         * bridge/mac/WebCoreFrameBridge.mm:
1398         (-[WebCoreFrameBridge drawRect:]):
1399         (-[WebCoreFrameBridge setIsActive:]):
1400         (-[WebCoreFrameBridge selectionColor]):
1401         * css/cssstyleselector.cpp:
1402         (WebCore::CSSStyleSelector::checkOneSelector):
1403         * page/Frame.cpp:
1404         (WebCore::Frame::isActive):
1405         (WebCore::Frame::setIsActive):
1406         * page/Frame.h:
1407         * platform/Color.cpp:
1408         (WebCore::blend):
1409         (WebCore::Color::blendWithWhite):
1410         * platform/Color.h:
1411         (WebCore::Color::hasAlpha):
1412         * platform/GraphicsContext.cpp:
1413         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
1414         * platform/GraphicsContext.h:
1415         * platform/mac/GraphicsContextMac.mm:
1416         * platform/win/TemporaryLinkStubs.cpp:
1417         (GraphicsContext::endTransparencyLayer):
1418         * rendering/InlineTextBox.cpp:
1419         (WebCore::InlineTextBox::paintSelection):
1420         * rendering/RenderBlock.cpp:
1421         (WebCore::RenderBlock::fillHorizontalSelectionGap):
1422         (WebCore::RenderBlock::fillVerticalSelectionGap):
1423         (WebCore::RenderBlock::fillLeftSelectionGap):
1424         (WebCore::RenderBlock::fillRightSelectionGap):
1425         * rendering/RenderHTMLCanvas.cpp:
1426         (WebCore::RenderHTMLCanvas::paint):
1427         * rendering/RenderImage.cpp:
1428         (WebCore::RenderImage::paint):
1429         * rendering/RenderListMarker.cpp:
1430         (WebCore::RenderListMarker::paint):
1431         * rendering/RenderListMarker.h:
1432         * rendering/RenderObject.cpp:
1433         (WebCore::RenderObject::selectionColor):
1434         * rendering/RenderObject.h:
1435         * rendering/RenderReplaced.cpp:
1436         * rendering/RenderReplaced.h:
1437         * rendering/RenderTheme.cpp:
1438         (WebCore::RenderTheme::activeSelectionColor):
1439         (WebCore::RenderTheme::inactiveSelectionColor):
1440         (WebCore::RenderTheme::platformActiveSelectionColor):
1441         (WebCore::RenderTheme::platformInactiveSelectionColor):
1442         * rendering/RenderTheme.h:
1443         * rendering/RenderThemeMac.h:
1444         * rendering/RenderThemeMac.mm:
1445         (WebCore::RenderThemeMac::platformActiveSelectionColor):
1446         (WebCore::RenderThemeMac::platformInactiveSelectionColor):
1447         * rendering/RenderThemeWin.cpp:
1448         (WebCore::RenderThemeWin::platformActiveSelectionColor):
1449         (WebCore::RenderThemeWin::platformInactiveSelectionColor):
1450         * rendering/RenderThemeWin.h:
1451         * rendering/RenderWidget.cpp:
1452         (WebCore::RenderWidget::paint):
1453
1454 2006-06-09  Justin Garcia  <justin.garcia@apple.com>
1455
1456         Reviewed by levi
1457         
1458         <rdar://problem/4549980>
1459         REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
1460
1461         * bridge/mac/FrameMac.h: Moved findString to Frame.
1462         * bridge/mac/FrameMac.mm: Ditto.
1463         * bridge/mac/WebCoreFrameBridge.mm:
1464         (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]): 
1465         Convert the NSString to a String.
1466         * editing/JSEditor.cpp: Added execCommand(FindString, ...)
1467         * editing/Selection.cpp: Added a constructor for Ranges
1468         (WebCore::Selection::Selection): 
1469         * editing/Selection.h:
1470         * page/Frame.cpp:
1471         (WebCore::Frame::findString): Moved from FrameMac.  Compare a selection created 
1472         using the found range with the current selection in case the current selection is
1473         the found range minus some collapsed whitespace on the edges.
1474         * page/Frame.h:
1475
1476 2006-06-09  Steve Falkenburg  <sfalken@apple.com>
1477
1478         Fix build break
1479
1480         * WebCore.vcproj/WebCore/WebCore.vcproj:
1481         * css/MediaQueryEvaluator.cpp:
1482         * platform/win/TemporaryLinkStubs.cpp:
1483         (GraphicsContext::addRoundedRectClip):
1484         (GraphicsContext::addInnerRoundedRectClip):
1485         (WebCore::screenDepthPerComponent):
1486         (WebCore::screenIsMonochrome):
1487
1488 2006-06-09  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
1489
1490         Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth. 
1491         Landed by Beth.
1492
1493         CSS3 Media Queries implementation.
1494         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4127>
1495
1496         * WebCore.xcodeproj/project.pbxproj:
1497         * bindings/js/kjs_css.cpp:
1498         (KJS::DOMMediaList::put):
1499         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
1500         * bindings/objc/DOMCSS.mm:
1501         (-[DOMMediaList setMediaText:]):
1502         (-[DOMMediaList deleteMedium:]):
1503         (-[DOMMediaList appendMedium:]):
1504         * css/CSSGrammar.y:
1505         * css/MediaFeatureNames.cpp: Added.
1506         (WebCore::MediaFeatureNames::init):
1507         * css/MediaFeatureNames.h: Added.
1508         * css/MediaList.cpp:
1509         (WebCore::MediaList::MediaList):
1510         (WebCore::MediaList::~MediaList):
1511         (WebCore::parseMediaDescriptor):
1512         (WebCore::MediaList::deleteMedium):
1513         (WebCore::MediaList::mediaText):
1514         (WebCore::MediaList::setMediaText):
1515         (WebCore::MediaList::item):
1516         (WebCore::MediaList::appendMedium):
1517         (WebCore::MediaList::appendMediaQuery):
1518         * css/MediaList.h:
1519         (WebCore::MediaList::MediaList):
1520         (WebCore::MediaList::length):
1521         (WebCore::MediaList::mediaQueries):
1522         * css/MediaQuery.cpp: Added.
1523         (WebCore::MediaQuery::MediaQuery):
1524         (WebCore::MediaQuery::~MediaQuery):
1525         (WebCore::MediaQuery::operator==):
1526         (WebCore::MediaQuery::cssText):
1527         * css/MediaQuery.h: Added.
1528         (WebCore::MediaQuery::):
1529         (WebCore::MediaQuery::restrictor):
1530         (WebCore::MediaQuery::expressions):
1531         (WebCore::MediaQuery::mediaType):
1532         (WebCore::MediaQuery::append):
1533         * css/MediaQueryEvaluator.cpp: Added.
1534         (WebCore::):
1535         (WebCore::MediaQueryEvaluator):
1536         (WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
1537         (WebCore::MediaQueryEvaluator::mediaTypeMatch):
1538         (WebCore::applyRestrictor):
1539         (WebCore::MediaQueryEvaluator::eval):
1540         (WebCore::parseAspectRatio):
1541         (WebCore::cmpvalue):
1542         (WebCore::numberValue):
1543         (WebCore::colorMediaFeatureEval):
1544         (WebCore::monochromeMediaFeatureEval):
1545         (WebCore::device_aspect_ratioMediaFeatureEval):
1546         (WebCore::gridMediaFeatureEval):
1547         (WebCore::device_heightMediaFeatureEval):
1548         (WebCore::device_widthMediaFeatureEval):
1549         (WebCore::heightMediaFeatureEval):
1550         (WebCore::widthMediaFeatureEval):
1551         (WebCore::min_colorMediaFeatureEval):
1552         (WebCore::max_colorMediaFeatureEval):
1553         (WebCore::min_monochromeMediaFeatureEval):
1554         (WebCore::max_monochromeMediaFeatureEval):
1555         (WebCore::min_device_aspect_ratioMediaFeatureEval):
1556         (WebCore::max_device_aspect_ratioMediaFeatureEval):
1557         (WebCore::min_heightMediaFeatureEval):
1558         (WebCore::max_heightMediaFeatureEval):
1559         (WebCore::min_widthMediaFeatureEval):
1560         (WebCore::max_widthMediaFeatureEval):
1561         (WebCore::min_device_heightMediaFeatureEval):
1562         (WebCore::max_device_heightMediaFeatureEval):
1563         (WebCore::min_device_widthMediaFeatureEval):
1564         (WebCore::max_device_widthMediaFeatureEval):
1565         (WebCore::createFunctionMap):
1566         * css/MediaQueryEvaluator.h: Added.
1567         * css/MediaQueryExp.cpp: Added.
1568         (WebCore::MediaQueryExp::MediaQueryExp):
1569         (WebCore::MediaQueryExp::~MediaQueryExp):
1570         * css/MediaQueryExp.h: Added.
1571         (WebCore::MediaQueryExp::mediaFeature):
1572         (WebCore::MediaQueryExp::value):
1573         (WebCore::MediaQueryExp::operator==):
1574         * css/StyleSheet.cpp:
1575         (WebCore::StyleSheet::setMedia):
1576         * css/cssparser.cpp:
1577         (WebCore::CSSParser::CSSParser):
1578         (WebCore::CSSParser::~CSSParser):
1579         (WebCore::CSSParser::setupParser):
1580         (WebCore::CSSParser::parseMediaQuery):
1581         (WebCore::CSSParser::createFloatingMediaQueryExp):
1582         (WebCore::CSSParser::sinkFloatingMediaQueryExp):
1583         (WebCore::CSSParser::createFloatingMediaQueryExpList):
1584         (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
1585         (WebCore::CSSParser::createFloatingMediaQuery):
1586         (WebCore::CSSParser::sinkFloatingMediaQuery):
1587         * css/cssparser.h:
1588         * css/cssstyleselector.cpp:
1589         (WebCore::CSSStyleSelector::CSSStyleSelector):
1590         (WebCore::CSSStyleSelector::init):
1591         (WebCore::CSSStyleSelector::~CSSStyleSelector):
1592         (WebCore::CSSStyleSelector::loadDefaultStyle):
1593         (WebCore::CSSStyleSelector::matchUARules):
1594         (WebCore::CSSStyleSelector::styleForElement):
1595         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1596         (WebCore::CSSStyleSelector::updateFont):
1597         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
1598         (WebCore::CSSStyleSelector::styleRulesForElement):
1599         (WebCore::CSSRuleSet::addRulesFromSheet):
1600         * css/cssstyleselector.h:
1601         * css/maketokenizer:
1602         * css/tokenizer.flex:
1603         * dom/DOMImplementation.cpp:
1604         (WebCore::DOMImplementation::createCSSStyleSheet):
1605         * html/HTMLLinkElement.cpp:
1606         (WebCore::HTMLLinkElement::process):
1607         (WebCore::HTMLLinkElement::setStyleSheet):
1608         * html/HTMLStyleElement.cpp:
1609         (WebCore::HTMLStyleElement::childrenChanged):
1610         * ksvg2/svg/SVGDOMImplementation.cpp:
1611         (SVGDOMImplementation::createCSSStyleSheet):
1612         * ksvg2/svg/SVGStyleElement.cpp:
1613         (WebCore::SVGStyleElement::childrenChanged):
1614         * page/Frame.cpp:
1615         (WebCore::Frame::Frame):
1616         * platform/Screen.h:
1617         * platform/mac/ScreenMac.mm:
1618         (WebCore::screenDepthPerComponent):
1619         (WebCore::screenIsMonochrome):
1620
1621 2006-06-08  Levi Weintraub  <lweintraub@apple.com>
1622
1623         Reviewed by justin
1624         
1625         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
1626         Implement execCommand(Insert{Un}OrderedList)
1627
1628         * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
1629         * dom/Position.cpp:
1630         (WebCore::hasRenderedNonAnonymousDescendantsWithHeight): 
1631         Added. A block with height is only a candidate if this is false.  This should fix the problems
1632         getting carets into empty blocks.
1633         (WebCore::Position::inRenderedContent):
1634         * editing/AppendNodeCommand.cpp:
1635         (WebCore::AppendNodeCommand::doApply):
1636         * editing/CompositeEditCommand.cpp:
1637         (WebCore::hasARenderedDescendant):
1638         (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
1639         have a renderer with no descendants.  Fixed the pruning rule to avoid removing a node like this.
1640         (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
1641         each other if they aren't already, as a convenience.
1642         (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
1643         (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 
1644         * editing/CompositeEditCommand.h:
1645         * editing/DeleteSelectionCommand.cpp:
1646         (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
1647         continue to happen until it is no longer possible.
1648         (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
1649         wouldn't always avoid removing the start block.
1650         * editing/InsertListCommand.cpp: Added.
1651         (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
1652         into a list.
1653         (WebCore::InsertListCommand::InsertListCommand):
1654         (WebCore::InsertListCommand::modifyRange):
1655         (WebCore::InsertListCommand::doApply):
1656         * editing/InsertListCommand.h: Added.
1657         (WebCore::InsertListCommand::):
1658         * editing/InsertNodeBeforeCommand.cpp:
1659         (WebCore::InsertNodeBeforeCommand::doApply):
1660         * editing/InsertParagraphSeparatorCommand.cpp:
1661         * editing/JSEditor.cpp:
1662         * editing/TextIterator.cpp:
1663         (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the 
1664         iterator ends at the start of that node.
1665         * editing/VisiblePosition.cpp:
1666         (WebCore::VisiblePosition::next):
1667         (WebCore::VisiblePosition::previous):
1668         * editing/VisiblePosition.h: 
1669         Added a parameter to next/previous that can prevent them from leaving the current editable region.
1670         * editing/htmlediting.cpp:
1671         (WebCore::highestAncestor):
1672         (WebCore::enclosingList):
1673         (WebCore::enclosingListChild):
1674         (WebCore::outermostEnclosingList):
1675         (WebCore::createListItemElement):
1676         * editing/htmlediting.h:
1677         * page/Frame.cpp:
1678         (WebCore::Frame::selectionListState): Added.
1679         * page/Frame.h:
1680
1681 2006-06-08  David Harrison  <harrison@apple.com>
1682
1683         Reviewed by Geoff and John.
1684
1685         <rdar://problem/4558879> -[DOMCSSPrimitiveValue setStringValue:] throws an exception (12)
1686         
1687         Problem was the primitive value was getting reset to a generic state before the parameter
1688         check that relies on that state.
1689
1690         Test: fast/dom/setPrimitiveValue.html
1691
1692         * css/CSSPrimitiveValue.cpp:
1693         (WebCore::CSSPrimitiveValue::setFloatValue):
1694         (WebCore::CSSPrimitiveValue::setStringValue):
1695         Move parameter checks ahead of call to cleanup().
1696
1697 2006-06-08  Alice Liu  <alice.liu@apple.com>
1698
1699         Reviewed by justin.
1700
1701         - fixed <rdar://problem/4578115> support Range.isPointInRange
1702         - fixed <rdar://problem/4578123> support Range.comparePoint
1703
1704         * dom/Range.cpp:
1705         (WebCore::Range::isPointInRange):
1706         added implementation
1707         (WebCore::Range::comparePoint):
1708         added implementation
1709         * dom/Range.h:
1710         added prototypes
1711         * dom/Range.idl:
1712         added bindings
1713
1714 2006-06-08  Darin Adler  <darin@apple.com>
1715
1716         Reviewed by justin.
1717
1718         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
1719           REGRESSION: TinyMCE: Crash on Undo
1720
1721         * bridge/mac/WebCoreFrameBridge.mm:
1722         (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
1723         Changed to call nodeInfoAtPoint directly.
1724         (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
1725         Also added code to convert coordinates so it works for points that are in nodes in subframes.
1726
1727         * page/Frame.cpp:
1728         (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
1729         endpoints in another document.
1730         (WebCore::Frame::setSelection): Ditto.
1731
1732 2006-06-07  Justin Garcia  <justin.garcia@apple.com>
1733
1734         Reviewed by levi
1735         
1736         Fixed some comments and removed an unused variable.
1737
1738         * editing/CompositeEditCommand.cpp:
1739         (WebCore::CompositeEditCommand::removeBlockPlaceholder):
1740         Don't remove a br if it isn't at the start of a block, since
1741         it isn't really a "block placeholder".
1742         * editing/DeleteSelectionCommand.cpp:
1743         (WebCore::DeleteSelectionCommand::initializePositionData):
1744         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1745         (WebCore::DeleteSelectionCommand::doApply):
1746         * editing/InsertLineBreakCommand.cpp:
1747         (WebCore::InsertLineBreakCommand::doApply):
1748         * editing/ReplaceSelectionCommand.cpp:
1749         (WebCore::ReplaceSelectionCommand::doApply):
1750         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
1751         * editing/htmlediting.cpp:
1752
1753 2006-06-07  David Hyatt  <hyatt@apple.com>
1754
1755         Add support for custom highlighting.  This is all ifdefed to be Mac-only.
1756
1757         Reviewed by justin
1758
1759         * WebCore.xcodeproj/project.pbxproj:
1760         * bridge/mac/FrameMac.h:
1761         * bridge/mac/FrameMac.mm:
1762         (WebCore::FrameMac::paintCustomHighlight):
1763         * bridge/mac/WebCoreFrameBridge.h:
1764         * platform/mac/ClipboardMac.h:
1765         * rendering/InlineTextBox.cpp:
1766         (WebCore::InlineTextBox::paint):
1767         (WebCore::InlineTextBox::paintCustomHighlight):
1768         * rendering/InlineTextBox.h:
1769
1770 2006-06-07  Adele Peterson  <adele@apple.com>
1771
1772         Reviewed by Hyatt 
1773
1774         Added support for cross-platform resize property.
1775
1776         * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
1777         already cache this info when we handle mouse down and mouse up.
1778         * platform/mac/MouseEventMac.mm: ditto.
1779         * platform/win/TemporaryLinkStubs.cpp: ditto.
1780
1781         * page/Frame.cpp:
1782         (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
1783         * page/FrameView.cpp:
1784         (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
1785         (WebCore::FrameView::mousePressed): Added.
1786         * page/FrameView.h: Added mousePressed.
1787
1788         * rendering/RenderTheme.h: Removed paintResizeControl.
1789         Since its not dependent on the theme, the layer can just paint this.
1790         * rendering/RenderTheme.cpp: ditto.
1791         * rendering/RenderLayer.cpp:
1792         (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
1793         (WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
1794         (WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
1795         (WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
1796         * rendering/RenderLayer.h: Added m_resizeCornerImage.  Important to have one per-layer for when we allow
1797         more customization.
1798
1799         * platform/cairo/ImageCairo.cpp:
1800         (WebCore::Image::loadResource): Loads image resources.
1801
1802 2006-06-07  David Hyatt  <hyatt@apple.com>
1803
1804         Add support for a new property for custom highlighting.  This patch just
1805         adds support for the parsing of the property.  It doesn't do anything yet.
1806
1807         Reviewed by beth
1808
1809         * css/CSSComputedStyleDeclaration.cpp:
1810         (WebCore::):
1811         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1812         * css/CSSPropertyNames.in:
1813         * css/cssparser.cpp:
1814         (WebCore::CSSParser::parseValue):
1815         * css/cssstyleselector.cpp:
1816         (WebCore::CSSStyleSelector::applyProperty):
1817         * rendering/render_style.cpp:
1818         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
1819         (WebCore::StyleCSS3InheritedData::operator==):
1820         (WebCore::RenderStyle::diff):
1821         * rendering/render_style.h:
1822         (WebCore::RenderStyle::highlight):
1823         (WebCore::RenderStyle::setHighlight):
1824         (WebCore::RenderStyle::initialHighlight):
1825
1826 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1827
1828         Fix suggested by Rob Buis. Reviewed by Darin.
1829
1830         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9341
1831           REGRESSION: Repro crash caused by style="font:bold"
1832
1833         Test: fast/css/font-shorthand-weight-only.html
1834
1835         * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
1836         made to fix bug 5564.
1837
1838 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1839
1840         Reviewed by Hyatt.
1841
1842         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9122
1843           REGRESSION: Incorrect vertical position for text fields in a "display: table" block
1844
1845         Test: fast/table/text-field-baseline.html
1846
1847         * rendering/RenderTableCell.cpp:
1848         (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
1849         use their baseline.
1850
1851 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1852
1853         Reviewed by Hyatt (concept) and Darin (some coding details).
1854
1855         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4334
1856           REGRESSION: Flickering when css-hover should change opacity on floating elements
1857
1858         Pixel test: fast/block/float/nopaint-after-layer-destruction.html
1859
1860         * rendering/RenderBlock.cpp:
1861         (WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
1862         in the block's FloatingObject for the given float and calls setChildNeedsLayout.
1863         * rendering/RenderBlock.h:
1864         * rendering/RenderBox.cpp:
1865         (WebCore::blockThatPaintsFloat): Added this helper function.
1866         (WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
1867         gains or loses its layer.
1868
1869 2006-06-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1870
1871         Reviewed by Hyatt.
1872
1873         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9121
1874           REGRESSION: [Incremental Repaint] DHTML movement test failures
1875
1876         Test (repaint): fast/repaint/containing-block-position-change.html
1877
1878         * manual-tests/containing-block-position-chage.html: Added.
1879         * rendering/RenderBlock.cpp:
1880         (WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
1881         the RenderCanvas to RenderView rename.
1882         (WebCore::RenderBlock::removePositionedObject): Added a return immediately
1883         after removing the object.
1884         (WebCore::RenderBlock::removePositionedObjects): Added.
1885         * rendering/RenderBlock.h:
1886         * rendering/RenderObject.cpp:
1887         (WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
1888         descendants from the positioned objects list of their current containing block
1889         when they are going to have a new one as a result of this block's position
1890         property changing. 
1891         * rendering/RenderObject.h:
1892         (WebCore::RenderObject::removePositionedObjects):
1893
1894 2006-06-06  Justin Garcia  <justin.garcia@apple.com>
1895
1896         Reviewed by levi
1897
1898         * dom/Node.cpp:
1899         (WebCore::Node::firstDescendant): Added.
1900         * dom/Node.h:
1901         * dom/Range.cpp: Added a constructor that takes in Positions.
1902         (WebCore::Range::Range):
1903         * dom/Range.h:
1904         * editing/CompositeEditCommand.cpp:
1905         (WebCore::CompositeEditCommand::insertNodeAt): 
1906         Let this function insert children into empty containers.  
1907         Calls canHaveChildrenForEditing.
1908         (WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
1909         (WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the 
1910         replacement so that moveParagraph's callers have a valid destination after the move.
1911         * editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
1912         made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
1913         * editing/DeleteSelectionCommand.cpp:
1914         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 
1915         Removed m_startNode, used a local variable.
1916         (WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
1917         (WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
1918         front and keep track of it as nodes and text are removed.
1919         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
1920         (WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
1921         Update m_endingPosition as we remove nodes.
1922         (WebCore::DeleteSelectionCommand::deleteTextFromNode): 
1923         Update m_endingPosition as we delete text.
1924         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block.  Cleaned up.
1925         (WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
1926         clobbers the old one.
1927         (WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after 
1928         deletion. Make the placeholder decision before we do special element expansion.
1929         * editing/DeleteSelectionCommand.h:
1930         * editing/InsertLineBreakCommand.cpp:
1931         (WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned 
1932         up the code.
1933         * editing/InsertParagraphSeparatorCommand.cpp:
1934         (WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
1935         a merge (added a testcase).
1936         * editing/RebalanceWhitespaceCommand.cpp:
1937         (WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
1938         * editing/ReplaceSelectionCommand.cpp:
1939         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1940         Merge even when the incoming fragment has interchange newlines (added a testcase).
1941         Merge when the selection being pasted into starts at the start of a block because not
1942         doing so would leave one or more hanging empty blocks.
1943         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
1944         Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
1945         a selection, and a selection can't be created until whitespace has been rebalanced.
1946         * editing/htmlediting.cpp:
1947         (WebCore::canHaveChildrenForEditing): Added.
1948         * editing/htmlediting.h:
1949
1950 2006-06-06  Beth Dakin  <bdakin@apple.com>
1951
1952         Reviewed by Maciej.
1953
1954         Fix for <rdar://problem/4570475> Dashboard regions do not scale for 
1955         non-1.0 scale factors.
1956
1957         No test cases added since this only affects non-1.0 resolution 
1958         scale factors.
1959
1960         * platform/FloatRect.cpp:
1961         (WebCore::FloatRect::scale): Added new function that scales a 
1962         rect's origin and size by a given factor.
1963         * platform/FloatRect.h:
1964         * platform/IntRect.cpp:
1965         (WebCore::IntRect::scale): Same as above.
1966         * platform/IntRect.h:
1967         * rendering/RenderObject.cpp:
1968         (WebCore::RenderObject::addDashboardRegions): After the bounds and 
1969         clip rects on the Dashboard region have been calculated, get the 
1970         user space scale factor, and if it is not 1.0, scale the rects.
1971
1972 2006-06-06  John Sullivan  <sullivan@apple.com>
1973
1974         Reviewed by Darin Adler.
1975         
1976         - fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at 
1977         http://www.apple.com/ (RenderObject::repaint(bool))
1978         
1979         This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
1980         it to the surface.
1981
1982         * dom/Document.h:
1983         Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
1984
1985         * dom/Document.cpp:
1986         (WebCore::Document::removeMarkers):
1987         Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
1988         removed.
1989         (WebCore::Document::repaintMarkers):
1990         Add a .get() to compensate for using RefPtr.
1991
1992 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
1993
1994         Reviewed by Darin.
1995
1996         http://bugzilla.opendarwin.org/show_bug.cgi?id=9325
1997         clientWidth/clientHeight on document element in strict mode should return visible frame size
1998         
1999         * dom/Element.cpp:
2000         (WebCore::Element::clientWidth):
2001         (WebCore::Element::clientHeight):
2002         If we're the document element, and in strict mode, return the visible size of the frame.
2003         
2004 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
2005
2006         Reviewed by John.
2007
2008         * bridge/mac/WebCoreFrameBridge.h:
2009         * bridge/mac/WebCoreFrameBridge.mm:
2010         (-[WebCoreFrameBridge containsPlugins]):
2011         * page/Frame.cpp:
2012         (WebCore::Frame::containsPlugins):
2013         * page/Frame.h:
2014         Add containsPlugins function which returns whether a frame contains plugins
2015         or not.
2016
2017 2006-06-05  Rob Buis  <buis@kde.org>
2018
2019         Reviewed by mjs.
2020
2021         http://bugzilla.opendarwin.org/show_bug.cgi?id=5564
2022         'font' shorthand parsing should be more tolerant in quirks mode
2023
2024         When not in strict mode accept font property specifications
2025         lacking a font family part, like WinIE does.
2026
2027         * css/cssparser.cpp:
2028         (WebCore::CSSParser::parseFont):
2029
2030 2006-06-05  Beth Dakin  <bdakin@apple.com>
2031
2032         Reviewed by Darin.
2033
2034         Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 
2035         1.83 scaling
2036
2037         To prevent pixel cracks at non-integral scaling factors, before we 
2038         call into CG to draw an image, we have to convert the rect to 
2039         device space, round the origin and size to integers in device 
2040         space, and convert back to user space. 
2041         
2042         No test cases added since this only affects non-1.0 resolution 
2043         scale factors.
2044
2045         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2046         (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now 
2047         takes FloatRects.
2048         * html/CanvasPattern.cpp:
2049         (WebCore::patternCallback): Call roundToDevicePixels()
2050         * html/CanvasRenderingContext2D.cpp:
2051         (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now 
2052         takes FloatRects and call roundToDevicePixels()
2053         * html/CanvasRenderingContext2D.h: drawImage() now takes 
2054         FloatRects.
2055         * html/HTMLCanvasElement.cpp:
2056         (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
2057         * kcanvas/device/quartz/QuartzSupport.mm:
2058         (WebCore::debugDumpCGImageToFile): Same as above.
2059         * platform/GraphicsContext.h:
2060         * platform/cg/GraphicsContextCG.cpp:
2061         (WebCore::GraphicsContext::roundToDevicePixels): Takes care of 
2062         converting between coordinate spaces and rounding.
2063         (WebCore::GraphicsContext::drawLineForText):
2064         * platform/mac/ImageMac.mm: Call roundToDevicePixels()
2065         (WebCore::Image::draw): Same as above.
2066         (WebCore::drawPattern): Same as above.
2067
2068 2006-06-05  Geoffrey Garen  <ggaren@apple.com>
2069
2070         Reviewed by Darin.
2071
2072         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9310
2073         Add missing DOM prototypes and other DOM cleanup
2074
2075         - Added the built-in object prototype to DOM objects that were missing it
2076         so that primitive operations like == work on them.
2077         
2078         - Removed dead EventConstructor class (it's autogenerated now)
2079         
2080         - Changed HTML collections to describe themselves as "[object Collection]",
2081         to match IE.
2082         
2083         - Made DOMCSSRule constructor private because JSCSSRule is the class
2084         to use.
2085         
2086         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2087         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2088         * bindings/js/kjs_css.cpp:
2089         (KJS::DOMStyleSheet::DOMStyleSheet):
2090         (KJS::DOMStyleSheetList::DOMStyleSheetList):
2091         (KJS::DOMCSSRule::DOMCSSRule):
2092         (KJS::DOMCSSValue::DOMCSSValue):
2093         (KJS::toJS):
2094         (KJS::DOMRGBColor::DOMRGBColor):
2095         (KJS::getDOMRGBColor):
2096         (KJS::DOMRect::DOMRect):
2097         * bindings/js/kjs_css.h:
2098         * bindings/js/kjs_dom.cpp:
2099         (KJS::DOMNodeList::DOMNodeList):
2100         (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
2101         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
2102         (KJS::):
2103         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
2104         * bindings/js/kjs_dom.h:
2105         (KJS::DOMNamedNodesCollection::classInfo):
2106         * bindings/js/kjs_events.h:
2107         * bindings/js/kjs_html.cpp:
2108         (KJS::):
2109
2110 2006-06-04  Darin Adler  <darin@apple.com>
2111
2112         Reviewed by Maciej.
2113
2114         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
2115           REGRESSION: Crash when closing tabs on newegg.com
2116         - removed a no-longer-needed Win32-specific workaround (not reviewed)
2117
2118         * bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
2119         (WebCore::floatFeature): Remove WIN32 ifdef around isnan.
2120         (WebCore::toJS): Add null checks.
2121
2122 2006-06-04  Darin Adler  <darin@apple.com>
2123
2124         Reviewed by Maciej.
2125
2126         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9176
2127           REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
2128
2129         Test: fast/loader/link-no-URL.html
2130
2131         * loader/Cache.h:
2132         * loader/Cache.cpp:
2133         (WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
2134         from the cached object itself. Callers were passing in the wrong URL. When it was a
2135         null string, it caused the crash mentioned above. But in other cases it may have
2136         caused some other minor problems as well. Added an assert to catch cases where the
2137         URL is null (should never happen).
2138         (WebCore::Cache::requestImage): Changed call site to not pass URL.
2139         (WebCore::Cache::requestStyleSheet): Ditto.
2140         (WebCore::Cache::requestScript): Ditto.
2141         (WebCore::Cache::requestXSLStyleSheet): Ditto.
2142         (WebCore::Cache::requestXBLDocument): Ditto.
2143
2144 2006-06-04  Darin Adler  <darin@apple.com>
2145
2146         Reviewed by Adele.
2147
2148         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7291
2149           REGRESSION: delete key does not work in isIndex fields
2150
2151         * platform/mac/WebCoreTextField.mm:
2152         (inputElement): Added. Helper function to get the Objective-C wrapper for an
2153         input element associated with a QTextEdit. Returns nil if the element is not
2154         an input element. The bug was caused by passing a non-input element to the
2155         delegate methods.
2156         (-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
2157         and don't make the delegate call at all if there is none. This happens only
2158         with isindex elements; it's not important to have auto-fill work with those.
2159         (-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
2160         (-[KWQTextFieldController controlTextDidChange:]): Ditto.
2161         (-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
2162         (-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
2163         (-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.
2164
2165 2006-06-04  Darin Adler  <darin@apple.com>
2166
2167         Reviewed by Anders.
2168
2169         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8995
2170           memory leak in XPath code -- seen in layout tests
2171         - fixed malloc error on exit due to SVGDOMImplementation destructor
2172         - attempted to fix the no-XPATH_SUPPORT build by adding an #if
2173         - changed around includes and header-file formatting in XPath code
2174
2175         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
2176         generating the bindings for XPathNSResolver.
2177
2178         * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
2179         SVGDOMImplementation.
2180         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
2181
2182         * ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
2183         * ksvg2/svg/SVGDOMImplementation.cpp:
2184         (SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
2185         (SVGDOMImplementation::createDocument): Remove a reference to KDOMView.
2186
2187         * xpath/XPathExpression.cpp:
2188         (WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
2189         reference count churn.
2190         (WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
2191         relies on it being 0 when the function succeeds.
2192
2193         * xpath/XPathResult.cpp:
2194         (WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
2195         unneeded target node data member.
2196         (WebCore::XPathResult::XPathResult): Updated for enum name changes and
2197         InvalidatingEventListener name change. Added an assertion.
2198
2199         * xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
2200         for createFunction to be a String instead of char*.
2201         * xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
2202         used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
2203         the Interval functions inline.
2204         (WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
2205         (WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
2206         Use equalIgnoringCase() instead of calling lower() on two strings.
2207         (WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
2208         this function. Also removed a duplicate entry for the "last" function.
2209         (WebCore::XPath::createFunction): Changed from a member function to a separate function.
2210         Also changed so that if the args are not used in the function they are deleted.
2211         This was one of the sources of the storage leaks.
2212
2213         * xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
2214         specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
2215         tokens that were declared as <str> but weren't actually using the string to be
2216         declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
2217         unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
2218         call delete functions instead that both unregister and delete. Change call sites for
2219         createFunction to just use the String, removing the deprecatedString().latin1() call
2220         that is no longer needed. Added a call to unregisterParseNode that was missing in the
2221         "FilterExpr DescendantOrSelf RelativeLocationPath" production.
2222
2223         * xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
2224         and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
2225         part of the Parser class last. Moved a number of private things inside the cpp file.
2226         * xpath/impl/XPathParser.cpp:
2227         (WebCore::XPath::charCat): Made this a separate function, instead of a static member.
2228         (WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
2229         allowing use of a map instead of a map pointer.
2230         (WebCore::XPath::isNodeTypeName): Ditto.
2231         (WebCore::XPath::Parser::isOperatorContext): Made this const.
2232         (WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
2233         By using the actual types, we can safely use overload instead.
2234         (WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
2235         (WebCore::XPath::Parser::lexNumber): Ditto.
2236         (WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
2237         Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
2238         confusing and is also a bit more explicit.
2239         (WebCore::XPath::Parser::lexQName): Ditto.
2240         (WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
2241         to remove some unneeded else statements.
2242         (WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
2243         to decide what the type is. This matches what the grammar expects, and removes the need
2244         for the token object to track which part of the value is good and the need to reserve 0
2245         to have a special meaning.
2246         (WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
2247         expressions in the predicate and expression vectors. Before, we were only deleting
2248         the vectors. This was one of the sources of the storage leaks.
2249         (WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
2250         the vector. However this does not delete the predicates in the vector.
2251         (WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
2252         the vector. However this does not delete the expressions in the vector.
2253         (WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.
2254
2255         * xpath/impl/XPathPredicate.h:
2256         * xpath/impl/XPathPredicate.cpp:
2257         (WebCore::XPath::NumericOp::NumericOp): Changed opcode from an int to an enum, and
2258         renamed to "opcode" instead of "opCode".
2259         (WebCore::XPath::NumericOp::doEvaluate): More of the same.
2260         (WebCore::XPath::EqTestOp::EqTestOp): Ditto.
2261         (WebCore::XPath::EqTestOp::doEvaluate): Ditto.
2262         (WebCore::XPath::LogicalOp::LogicalOp): Ditto.
2263         (WebCore::XPath::LogicalOp::shortCircuitOn): Ditto.
2264         (WebCore::XPath::Predicate::evaluate): Removed an unneeded "new".
2265
2266         * xpath/impl/XPathStep.h:
2267         * xpath/impl/XPathStep.cpp: Renamed AxisType to Axis. Removed unused axisAsString
2268         function and default constructor.
2269
2270         * xpath/impl/XPathValue.h: Renamed the type constants to have a Value suffix,
2271         instead of the underscore suffix used before on NodeVector and String.
2272         * xpath/impl/XPathValue.cpp: Updated for name change. Added asserts.
2273
2274         * xpath/impl/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::doEvaluate):
2275         Use a reference instead of a pointer.
2276
2277         * xpath/XPathEvaluator.cpp:
2278         * xpath/XPathEvaluator.h:
2279         * xpath/XPathExpression.h:
2280         * xpath/XPathNSResolver.cpp:
2281         * xpath/XPathNSResolver.h:
2282         * xpath/XPathNamespace.cpp:
2283         * xpath/XPathNamespace.h:
2284         * xpath/XPathResult.h:
2285         * xpath/impl/XPathExpressionNode.cpp:
2286         * xpath/impl/XPathExpressionNode.h:
2287         * xpath/impl/XPathPath.cpp:
2288         * xpath/impl/XPathPath.h:
2289         * xpath/impl/XPathUtil.cpp:
2290         * xpath/impl/XPathUtil.h:
2291         * xpath/impl/XPathVariableReference.h:
2292         Reformatted and changed includes around; no substantive changes.
2293
2294 2006-06-04  Sam Weinig  <sam.weinig@gmail.com>
2295
2296         Reviewed by hyatt.
2297
2298         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9213
2299           Absolutely positioned objects with relatively positioned inline 
2300           containing blocks are rendered incorrectly
2301
2302         * rendering/RenderBox.cpp:
2303         (WebCore::RenderBox::containingBlockWidthForPositioned):
2304         (WebCore::RenderBox::containingBlockHeightForPositioned):
2305         (WebCore::RenderBox::calcAbsoluteHorizontal):
2306         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
2307         (WebCore::RenderBox::calcAbsoluteVertical):
2308         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
2309         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
2310         * rendering/RenderBox.h:
2311
2312 2006-06-04  Anders Carlsson  <acarlsson@apple.com>
2313
2314         Reviewed by Darin.
2315
2316         http://bugzilla.opendarwin.org/show_bug.cgi?id=9035
2317         document.evaluate and createNSResolver miss on namespaced elements
2318         
2319         * xpath/XPathExpression.cpp:
2320         (WebCore::XPathExpression::createExpression):
2321         Pass the resolver to the parser.
2322         
2323         * xpath/XPathResult.cpp:
2324         (WebCore::XPathResult::iterateNext):
2325         Fix off-by-one error.
2326         
2327         * xpath/impl/XPathExpressionNode.h:
2328         (WebCore::XPath::EvaluationContext::EvaluationContext):
2329         Get rid of the resolver in the evaluation context.
2330         
2331         * xpath/impl/XPathGrammar.y:
2332         Fetch the resolver from the parser. Only return the local name.
2333         
2334         * xpath/impl/XPathParser.cpp:        
2335         (WebCore::XPath::Parser::parseStatement):
2336         * xpath/impl/XPathParser.h:
2337         (WebCore::XPath::Parser::resolver):
2338         Update to hold the resolver.
2339         
2340         * xpath/impl/XPathStep.cpp:
2341         (WebCore::XPath::Step::Step):
2342         If the parser has stored a namespace URI, set it.
2343         
2344         (WebCore::XPath::Step::nodeTestMatches):
2345         Check namespace URIs.
2346         
2347         * xpath/impl/XPathStep.h:
2348         Add m_namespaceURI.
2349
2350 2006-06-03  Rob Buis  <buis@kde.org>
2351
2352         Reviewed by mjs.  Tweaked and landed by ddkilzer.
2353
2354         http://bugzilla.opendarwin.org/show_bug.cgi?id=7281
2355         With java disabled wrong information is displayed.
2356
2357         Test: fast/replaced/applet-rendering-java-disabled.html
2358
2359         Match WinIE, render applet content inline when java is
2360         disabled. 
2361
2362         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RenderEmptyApplet.cpp and RenderEmptyApplet.h.
2363         * WebCore.xcodeproj/project.pbxproj: Ditto.
2364         * WebCoreSources.bkl: Ditto.
2365         * html/HTMLAppletElement.cpp:
2366         (WebCore::HTMLAppletElement::createRenderer):
2367         * rendering/RenderEmptyApplet.cpp: Removed.
2368         * rendering/RenderEmptyApplet.h: Removed.
2369
2370 2006-06-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2371
2372         Reviewed by Hyatt.
2373
2374         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9252
2375           REGRESSION: Very odd roll-over issues (content disappearing)
2376
2377         Test: fast/dom/HTMLLinkElement/pending-stylesheet-count.html
2378
2379         * html/HTMLLinkElement.cpp:
2380         (WebCore::HTMLLinkElement::~HTMLLinkElement): If the stylesheet was being
2381         loaded, call stylesheetLoaded() on the document, to keep the pending stylesheet
2382         count correct.
2383
2384 2006-06-03  Darin Adler  <darin@apple.com>
2385
2386         - fix Windows build
2387
2388         * platform/Widget.h: Moved scaleFactor function out of Apple-specific
2389         section of the header into the common part.
2390
2391 2006-06-03  Beth Dakin  <bdakin@apple.com>
2392
2393         Reviewed by Darin.
2394
2395         Fix for <rdar://problem/4537274> HiDPI: <canvas> needs to apply a 
2396         scale. <canvas> needs to scale itself along with whatever scale 
2397         factor is set on the window.
2398
2399         * html/HTMLCanvasElement.cpp:
2400         (WebCore::HTMLCanvasElement::createDrawingContext): Get the scale 
2401         factor and use it to create a larger buffer and to scale the 
2402         CGContext.
2403         * platform/Widget.h: Provide a new function that returns the user 
2404         space scale factor.
2405         * platform/mac/WidgetMac.mm:
2406         (WebCore::Widget::scaleFactor): Get the scale factor from the 
2407         window and return it.
2408         * platform/win/WidgetWin.cpp:
2409         (WebCore::Widget::scaleFactor): Just return 1.0f for now.
2410
2411 2006-06-03  Steve Falkenburg  <sfalken@apple.com>
2412
2413         Reviewed by hyatt.
2414
2415         Don't send empty referrers.  Fixes image load fail on Spinneret default content.
2416
2417         * platform/win/TransferJobWin.cpp:
2418         (WebCore::TransferJob::start):
2419
2420 2006-06-02  Adele Peterson  <adele@apple.com>
2421
2422         Reviewed by Darin. 
2423
2424         Windows theme for textareas.  Also made some formatting changes. 
2425
2426         * rendering/RenderThemeWin.cpp:
2427         (WebCore::RenderThemeWin::supportsFocus):
2428         (WebCore::RenderThemeWin::getThemeData):
2429         (WebCore::RenderThemeWin::adjustButtonStyle):
2430         (WebCore::RenderThemeWin::adjustTextFieldStyle):
2431         (WebCore::RenderThemeWin::adjustTextAreaStyle):
2432         (WebCore::RenderThemeWin::paintTextArea):
2433         * rendering/RenderThemeWin.h:
2434         (WebCore::RenderThemeWin::supportsHover):
2435
2436 2006-06-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
2437
2438         Reviewed by Hyatt, checked in by Tim H.
2439
2440         Explicitly run perl on *.pl files instead of relying
2441         on Windows shell figuring out which program to run for
2442         this extention.
2443
2444         * DerivedSources.make:
2445
2446 2006-06-02  David Carson  <dacarson@gmail.com>
2447
2448         Reviewed by Hyatt, checked in by Tim H.
2449
2450         fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9115
2451         Changed RenderLayer to only render layers that are not
2452         totally transparent.
2453
2454         * rendering/RenderLayer.cpp
2455         (RenderLayer::paintLayer):
2456         Changed function to also check if the layer is totally transparent
2457         and if it is, don't bother painting it.
2458
2459 2006-06-02  Rob Buis  <buis@kde.org>
2460
2461         Reviewed by Hyatt, checked in by Tim H.
2462
2463         http://bugzilla.opendarwin.org/show_bug.cgi?id=8223
2464         WebKit fails to update style on element via DOM
2465
2466         Handle !important by detecting it and using a different code
2467         path from normal priority.
2468
2469         * bindings/js/kjs_css.cpp:
2470         (KJS::DOMCSSStyleDeclaration::put):
2471         * css/CSSStyleDeclaration.cpp:
2472         (WebCore::CSSStyleDeclaration::setProperty):
2473         * css/CSSStyleDeclaration.h:
2474
2475 2006-06-02  Darin Adler  <darin@apple.com>
2476         
2477         Reviewed by Geoff, checked in by Maciej.
2478         
2479         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9236
2480         REGRESSION: focus method does not work on some elements before they are laid out
2481         
2482         * dom/Element.cpp: (WebCore::Element::focus): Do the updateLayout call before
2483         calling isFocusable, since isFocusable looks at the size of the renderer.
2484         
2485 2006-06-02  Steve Falkenburg  <sfalken@apple.com>
2486
2487         Reviewed by darin.
2488
2489         Platform hookup fixes
2490
2491         * bridge/win/FrameWin.cpp:
2492         (WebCore::FrameWin::urlSelected):
2493         (WebCore::FrameWin::setTitle):
2494         (WebCore::FrameWin::setStatusBarText):
2495         * bridge/win/FrameWin.h:
2496         * platform/win/TemporaryLinkStubs.cpp:
2497         (FrameWin::overrideMediaType):
2498         * platform/win/TransferJobWin.cpp:
2499         (WebCore::TransferJobWndProc):
2500         (WebCore::TransferJob::start):
2501         (WebCore::TransferJob::fileLoadTimer):
2502         (WebCore::TransferJob::cancel):
2503
2504 2006-06-02  RĂ©mi Zara  <remi_zara@mac.com>
2505
2506         Reviewed by Hyatt.
2507
2508         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3379
2509           attr(X) does not work
2510
2511         Test: fast/css-generated-content/016.html
2512
2513         * css/cssstyleselector.cpp:
2514         (WebCore::CSSStyleSelector::canShareStyleWithElement): Don't share style
2515         if the unique bit is set.
2516         (WebCore::CSSStyleSelector::applyProperty): When applying the "attr" property,
2517         set the unique bit and add to m_selectorAttrs.
2518
2519         * rendering/render_style.cpp: Did a lot of reformatting, and this one real change.
2520         (WebCore::RenderStyle::RenderStyle): Initialize m_unique to false.
2521
2522         * rendering/render_style.h:
2523         (WebCore::RenderStyle::unique): Added. Returns value of m_unique.
2524         (WebCore::RenderStyle::setUnique): Added. Sets m_unique.
2525
2526 2006-06-02  David Kilzer  <ddkilzer@kilzer.net>
2527
2528         Reviewed by mjs.
2529
2530         http://bugzilla.opendarwin.org/show_bug.cgi?id=9183
2531         Finish renaming of RenderCanvas to RenderView
2532
2533         * rendering/RenderView.h: Changed renderName from "RenderCanvas" to "RenderView".
2534
2535 2006-06-01  Darin Adler  <darin@apple.com>
2536
2537         - try to fix Windows build
2538
2539         * bridge/win/FrameWin.cpp: Added include of Decoder.h.
2540
2541 2006-06-01  Darin Adler  <darin@apple.com>
2542
2543         Reviewed by Maciej.
2544
2545         - WebCore doesn't need to load WebKit images any more; removed code for that
2546
2547         * WebCore.exp: Removed WebCoreImageRendererFactory.
2548         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRendererFactory.h/mm.
2549         * bridge/mac/WebCoreFrameBridge.mm: Removed include of WebCoreImageRendererFactory.h.
2550         * platform/mac/ImageMac.mm: Removed include of WebCoreImageRendererFactory.h.
2551         * platform/mac/WebCoreImageRendererFactory.h: Removed.
2552         * platform/mac/WebCoreImageRendererFactory.m: Removed.
2553
2554 2006-06-01  Sam Weinig  <sam.weinig@gmail.com>
2555
2556         Reviewed by Geoff, tweaked a bit by Darin.
2557
2558         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9064
2559           Split dom2_traversalimpl.* into separate files (one class per file).
2560
2561         * WebCore.xcodeproj/project.pbxproj: Updated for new files.
2562         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
2563
2564         * bindings/js/kjs_traversal.h:
2565         * bindings/scripts/CodeGeneratorJS.pm:
2566         * bindings/objc/DOM.mm:
2567         * dom/Document.cpp:
2568         * dom/Document.h:
2569         Updated includes.
2570
2571         * dom/NodeFilter.cpp: Added.
2572         * dom/NodeFilter.h: Added.
2573         * dom/NodeFilterCondition.cpp: Added.
2574         * dom/NodeFilterCondition.h: Added.
2575         * dom/NodeIterator.cpp: Added.
2576         * dom/NodeIterator.h: Added.
2577         * dom/Traversal.cpp: Added.
2578         * dom/Traversal.h: Added.
2579         * dom/TreeWalker.cpp: Added.
2580         * dom/TreeWalker.h: Added.
2581
2582         * dom/dom2_traversalimpl.cpp: Removed.
2583         * dom/dom2_traversalimpl.h: Removed.
2584
2585 2006-06-01  David Carson  <dacarson@gmail.com>
2586
2587         Reviewed by Maciej and Adele
2588
2589         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8398
2590         REGRESSION: LABEL in OPTION element is clobbering display #TEXT
2591         Patch provided by Darin.
2592         
2593         * rendering/RenderSelect.cpp
2594         (RenderSelect::updateFromElement): 
2595         Changed to use the containing text by default, and not the label text
2596
2597 2006-06-01  David Carson  <dacarson@gmail.com>
2598
2599         Reviewed by Hyatt.
2600
2601         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8646
2602         Correcting the value returned for window.screen.pixelDepth and
2603         window.screen.colorDepth
2604         
2605         * platform/mac/ScreenMac.mm
2606         (screenDepth): 
2607         Changed to return the BitsPerPixelFromDepth rather than the WindowDepth
2608
2609 2006-06-01  Adele Peterson  <adele@apple.com>
2610
2611         Reviewed by Maciej.
2612
2613         Missed an initialization in my last checkin which caused too many
2614         resizers to be drawn.
2615
2616         * rendering/render_style.cpp: (WebCore::resize):
2617         Initialize resize to RESIZE_NONE.
2618
2619 2006-06-01  Dave Hyatt <hyatt@apple.com>
2620
2621         Implement form POST using WinINet.  This code is crazy... CRAZY!
2622
2623         * platform/TransferJobInternal.h:
2624         (WebCore::TransferJobInternal::TransferJobInternal):
2625         * platform/win/CookieJarWin.cpp:
2626         (WebCore::setCookies):
2627         (WebCore::cookies):
2628         * platform/win/TransferJobWin.cpp:
2629         (WebCore::TransferJobWndProc):
2630         (WebCore::TransferJob::start):
2631
2632 2006-06-01  Adele Peterson  <adele@apple.com>
2633
2634         Reviewed by Hyatt.
2635
2636         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9216
2637         Implement CSS3 resize property
2638
2639         * css/html4.css: Sets resize:both for textareas. This won't affect old-style textareas.
2640
2641         * css/CSSPropertyNames.in: Added resize property.
2642         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Added case for CSS_PROP_RESIZE.
2643         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
2644         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): ditto.
2645
2646         * rendering/render_style.cpp: (WebCore::StyleCSS3InheritedData): Initialize resize.
2647         * rendering/render_style.h:
2648         (WebCore::): Added EResize enum.
2649         (WebCore::RenderStyle::resize):
2650         (WebCore::RenderStyle::setResize):
2651         (WebCore::RenderStyle::initialResize):
2652
2653         * page/FrameView.cpp:
2654         (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_resizeLayer to keep track of a layer that has begun resizing.
2655         (WebCore::FrameViewPrivate::reset): Reset m_resizeLayer.
2656         (WebCore::FrameView::handleMousePressEvent): If the mouse was pressed in a layer's resize control, then put the layer into resize mode.
2657         (WebCore::selectCursor): Updated so we get a pointer cursor for the resize control.
2658         (WebCore::FrameView::handleMouseMoveEvent): If there's a layer currently resizing, then tell the layer to continue resizing.
2659         (WebCore::FrameView::handleMouseReleaseEvent): If there's a layer currently resizing, then pull it out of resize mode.
2660
2661         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isPointInScrollbar): Updated so the resize control isn't considered part of the scrollbar.
2662         * rendering/RenderLayer.cpp:
2663         (WebCore::RenderLayer::RenderLayer): Initialize m_inResizeMode
2664         (WebCore::RenderLayer::updateLayerPositions): Calls positionResizeControl.
2665         (WebCore::RenderLayer::resize): Added. Sets a new width and height based on the current mouse point.
2666         (WebCore::RenderLayer::isPointInResizeControl): Added.
2667         (WebCore::RenderLayer::positionResizeControl): Added.
2668         (WebCore::RenderLayer::positionScrollbars): Calls positionResizeControl.
2669         (WebCore::RenderLayer::paintScrollbars): Calls positionResizeControl.
2670         (WebCore::RenderLayer::paintResizeControl): Added.
2671         (WebCore::RenderLayer::paintLayer): Calls paintResizeControl.
2672         * rendering/RenderLayer.h: Added m_inResizeMode.
2673         (WebCore::RenderLayer::resizeControlRect):
2674         (WebCore::RenderLayer::setResizeControlRect):
2675         (WebCore::RenderLayer::inResizeMode): Added.
2676         (WebCore::RenderLayer::setInResizeMode): Added. 
2677
2678         * platform/mac/ImageMac.mm: (WebCore::Image::loadResource): Moved code from WebImageRendererFactory.  Now loads images from WebCore's resources.
2679         WebImageRendererFactory is no longer used and should be removed.
2680         * Resources/missingImage.tiff: Added. Copied from WebKit.
2681         * WebCore.xcodeproj/project.pbxproj: Added missingImage.tiff
2682         * loader/Cache.cpp: (WebCore::Cache::init): Updated name from missing_image to missingImage.
2683
2684         * rendering/RenderTheme.h:
2685         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paintResizeControl): Added.
2686         * rendering/RenderThemeMac.h:
2687         * rendering/RenderThemeMac.mm:
2688         (WebCore::RenderThemeMac::RenderThemeMac): Initialize resizeCornerImage.
2689         (WebCore::RenderThemeMac::paintResizeControl): Paints resizeCornerImage.
2690
2691 2006-06-01  Brady Eidson  <beidson@apple.com>
2692
2693         Reviewed by Maciej.
2694
2695         Added the beginnings of sqlite-based code in a WebCore
2696         based version of the Icon Database.  Right now the code
2697         is very loosely hooked up through a Bridge and only
2698         creates an sqlite3 database.
2699
2700         There are also changes to our String classes to allow appending
2701         a single character to a String without creating a temporary object.
2702
2703         * WebCore.exp:
2704         -Added a symbol export
2705
2706         * WebCore.xcodeproj/project.pbxproj:
2707         * bridge/mac/WebCoreIconDatabaseBridge.h: Added.
2708         * bridge/mac/WebCoreIconDatabaseBridge.mm: Added.
2709         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
2710         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
2711         (-[WebCoreIconDatabaseBridge isOpen]):
2712         -This class will eventually shadow WebIconDatabase but for now
2713         is a minimal interface to make the sql code live
2714
2715         * icon: Added.
2716         * icon/IconDatabase.cpp: Added.
2717         -This class will eventually resemble WebIconDatabase but for now
2718         is minimal just to make the sql code live
2719         (WebCore::IconDatabase::sharedIconDatabase):
2720         (WebCore::IconDatabase::IconDatabase):
2721         (WebCore::IconDatabase::open):
2722         -This method calls a mkdir to make sure the target directory
2723         exists
2724         (WebCore::IconDatabase::close):
2725         (WebCore::IconDatabase::~IconDatabase):
2726
2727         * icon/IconDatabase.h: Added.
2728         (WebCore::IconDatabase::isOpen):
2729         * platform/Logging.cpp:
2730         * platform/Logging.h:
2731         -Added an IconDatabase logging channel
2732
2733         * platform/PlatformString.h:
2734         * platform/String.cpp:
2735         (WebCore::String::append):
2736         * platform/StringImpl.cpp:
2737         (WebCore::StringImpl::append):
2738         * platform/StringImpl.h:
2739         -Added append(char) and append(UChar) to allow appending a
2740         single character without creating a temporary object.  Required
2741         to facilitate manually adding a null character to a unicode 16
2742         string
2743
2744 2006-06-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2745
2746         Reviewed and landed by Anders.
2747
2748         - fixed all places in the Canvas to RenderView rename patch where
2749           view() should have been changed to frameView().
2750
2751         * kwq/WebCoreAXObject.mm:
2752         (-[WebCoreAXObject position]):
2753         (-[WebCoreAXObject accessibilityAttributeValue:]):
2754         * rendering/RenderBlock.cpp:
2755         (WebCore::RenderBlock::layoutBlock):
2756         * rendering/RenderBox.cpp:
2757         (WebCore::RenderBox::paintBackgroundExtended):
2758         * rendering/RenderTreeAsText.cpp:
2759         (externalRepresentation):
2760
2761 2006-06-01  Geoffrey Garen  <ggaren@apple.com>
2762
2763         Fix by Mitz. Reviewed, tweaked, tested, landed by me.
2764
2765         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9113
2766         REGRESSION (14581): XMLHttpRequest never calls onreadystatechange with 
2767         a readystate == 4
2768         
2769         An XMLHttpRequest must be added to the DOMObject cache so that its
2770         DOM implementation object can protect it, and by extension, its event
2771         listeners.
2772         
2773         This design seems slightly backwards to me -- the bindings should know
2774         about the DOM, not the other way around -- but I'm restoring it for
2775         now to fix the regression.
2776         
2777         * bindings/js/JSXMLHttpRequest.cpp:
2778         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
2779         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
2780
2781 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2782
2783         * platform/KURL.cpp:
2784         (equalIgnoringRef):
2785         Whoops. Fix build.
2786         
2787 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2788
2789         Reviewed by Darin.
2790
2791         http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
2792         multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
2793         
2794         * bindings/js/kjs_window.cpp:
2795         (KJS::Location::put):
2796         Handle the case where the hash starts with a "#". Also, don't do anything if the previous and new hashes
2797         are equal.
2798         
2799         * bridge/BrowserExtension.h:
2800         * bridge/mac/BrowserExtensionMac.h:
2801         * bridge/mac/BrowserExtensionMac.mm:        
2802         (WebCore::BrowserExtensionMac::historyURL):
2803         * bridge/mac/WebCoreFrameBridge.h:
2804         * bridge/mac/WebCoreFrameBridge.mm:
2805         New function historyURL which returns the complete URL for a given item in the history.
2806         
2807         * page/Frame.cpp:
2808         (WebCore::Frame::scheduleLocationChange):        
2809         (WebCore::Frame::scheduleHistoryNavigation):
2810         If the URL of the new location only differs in the hash, don't schedule the load. Instead, load it
2811         directly.
2812         
2813         * platform/KURL.cpp:
2814         * platform/KURL.h:
2815         Add equalsIgnoringRef which returns whether two URLs are equal, ignoring the ref.
2816
2817 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2818
2819         Reviewed by Maciej.
2820
2821         http://bugzilla.opendarwin.org/show_bug.cgi?id=9212
2822         dispatchEvent13.html crashes under GuardMalloc
2823
2824         * dom/EventTargetNode.cpp:
2825         (WebCore::EventTargetNode::addEventListener):
2826         (WebCore::EventTargetNode::removeEventListener):        
2827         (WebCore::EventTargetNode::handleLocalEvents):
2828         
2829         (WebCore::EventTargetNode::removeHTMLEventListener):
2830         (WebCore::EventTargetNode::getHTMLEventListener):
2831         * dom/EventTargetNode.h:
2832         Make the list of registered event listeners refcount the listeners
2833         by using a value list of RefPtr objects.
2834         
2835         Set removed flag to true in removeEventListener
2836         Only invoke event listeners if they don't have the removed flag.
2837         
2838         * dom/dom2_eventsimpl.cpp:
2839         (WebCore::RegisteredEventListener::RegisteredEventListener):
2840         * dom/dom2_eventsimpl.h:
2841         Make RegisteredEventListener refcounted.
2842         
2843         (WebCore::RegisteredEventListener::removed):
2844         (WebCore::RegisteredEventListener::setRemoved):
2845         Add removed flag and getter and setter
2846
2847 2006-06-01  Justin Garcia  <justin.garcia@apple.com>
2848
2849         Reviewed by harrison
2850         
2851         <rdar://problem/4567752> When forwarding a message, pressing TAB key to place caret in body actually selects the entire message instead
2852
2853         * dom/Element.cpp:
2854         (WebCore::Element::focus):
2855
2856 2006-06-01  David Kilzer  <ddkilzer@kilzer.net>
2857
2858         Reviewed by darin.
2859
2860         http://bugzilla.opendarwin.org/show_bug.cgi?id=9144
2861         Test for Bug 8079 (REGRESSION: Redraw from page cache does not show visited links)
2862
2863         * manual-tests/redraw-page-cache-visited-links.html: Added.
2864         * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added.
2865
2866 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2867
2868         Reviewed by Hyatt.
2869
2870         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9124
2871           Drop shadow obscures "add more stuff" bubble at live.com
2872
2873         Test: fast/css/find-next-layer.html
2874
2875         * rendering/RenderObject.cpp:
2876         (WebCore::RenderObject::findNextLayer): Fixed a bug where this function could reach
2877         two levels down in the layer tree and return 0.
2878
2879 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2880
2881         Reviewed by Geoff.
2882
2883         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9109
2884           Remove bogus assertion in RenderBlock::tabWidth
2885
2886         Changed the uninitialized value of m_tabWidth to -1 and removed the
2887         assertion that it cannot be 0.
2888
2889         * rendering/RenderBlock.cpp:
2890         (WebCore:::RenderBlock::RenderBlock):
2891         (WebCore::RenderBlock::setStyle):
2892         * rendering/bidi.cpp:
2893         (WebCore::RenderBlock::tabWidth):
2894
2895 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
2896
2897         Reviewed by Hyatt.
2898
2899         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9100
2900           Absolutely positioned replaced elements with all non-auto
2901           values are rendered incorrectly
2902
2903         * rendering/RenderBox.cpp:
2904         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Add support for case when all values are specified.
2905         (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto
2906
2907 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2908
2909         Reviewed by Hyatt.
2910
2911         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9012
2912           Row height not updated when cell heights change
2913
2914         Test: fast/table/row-height-recalc.html
2915
2916         * rendering/RenderTableCell.cpp:
2917         (WebCore::RenderTableCell::setStyle): Mark the section as needing recalculation
2918         if the height property changed.
2919         * rendering/RenderTableRow.cpp:
2920         (WebCore::RenderTableRow::setStyle): Ditto.
2921         * rendering/RenderTableSection.cpp:
2922         (WebCore::RenderTableSection::recalcCells): Initialize the grid row height
2923         to the height of the row element (like addChild() does).
2924
2925 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2926
2927         Reviewed by Hyatt.
2928
2929         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8969
2930           REGRESSION: typing in textfield repaints whole web page at gamefaqs.com
2931
2932         No test possible (no functionality change)
2933
2934         * dom/Document.cpp:
2935         (WebCore::Document::updateLayout): Changed to ensure that pending subtree
2936         layouts are performed too.
2937         * page/Frame.cpp:
2938         (WebCore::Frame::forceLayout): Force a full layout.
2939         * page/FrameView.cpp:
2940         (WebCore::FrameViewPrivate::reset):
2941         (WebCore::FrameView::layout): Changed to relayout only the subtree rooted
2942         at d->layoutRoot if it's non-zero and allowSubtree is true.
2943         (WebCore::FrameView::scheduleRelayout): Change pending subtree relayout into
2944         normal relayout by clearing d->layoutRoot and propagating needsLayout to the
2945         root. 
2946         (WebCore::FrameView::scheduleRelayoutOfSubtree): Added.
2947         * page/FrameView.h:
2948         * rendering/RenderObject.cpp:
2949         (WebCore::RenderObject::markContainingBlocksForLayout): Added scheduleRelayout
2950         parameter. FrameView passes false to force marking all the way to the root
2951         when turning a pending subtree relayout into a full relayout. Otherwise,
2952         marking stops at the first textField (or at the root) and
2953         relayout of the last object reached is scheduled.
2954         (WebCore::RenderObject::scheduleRelayout):
2955         * rendering/RenderObject.h:
2956
2957 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
2958
2959         Reviewed by Darin.
2960
2961         patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8910>
2962         Bug 8910: Various code cleanups in RenderBox
2963         
2964         Clean up with some slight optimizations.
2965
2966         * rendering/RenderBox.cpp:
2967         (WebCore::RenderBox::contentWidth):
2968         (WebCore::RenderBox::contentHeight):
2969         (WebCore::RenderBox::setPos):
2970         (WebCore::RenderBox::calcWidth):
2971         (WebCore::RenderBox::calcWidthUsing):
2972         * rendering/RenderBox.h:
2973
2974 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
2975
2976         Reviewed by Hyatt.
2977
2978         patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8899>
2979         Bug 8899: Removes some unneeded code from RenderBox
2980         
2981         Removes the use of WidthType where not needed to simplify
2982         the code a little.
2983         
2984         * rendering/RenderBox.cpp:
2985         (WebCore::RenderBox::calcWidthUsing):
2986         (WebCore::RenderBox::sizesToIntrinsicWidth):
2987         (WebCore::RenderBox::calcReplacedWidth):
2988         (WebCore::RenderBox::calcReplacedWidthUsing):
2989         (WebCore::RenderBox::calcReplacedHeight):
2990         (WebCore::RenderBox::calcReplacedHeightUsing):
2991         * rendering/RenderBox.h:
2992         (WebCore::):
2993         (WebCore::RenderBox::renderName):
2994         * rendering/RenderImage.cpp:
2995         (WebCore::RenderImage::calcReplacedWidth):
2996         (WebCore::RenderImage::calcReplacedHeight):
2997
2998 2006-05-31  Rob Buis  <buis@kde.org>
2999
3000         Reviewed by Geoff.
3001
3002         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8455
3003         selectedIndex for a select after a Form reset() has wrong value
3004
3005         Make sure the list items are reset properly by selecting
3006         the first option in case no options have the selected attribute
3007         set.
3008
3009         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::reset):
3010
3011 2006-05-31  Rob Buis  <buis@kde.org>
3012
3013         Reviewed by Geoff.
3014
3015         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8024
3016         "Go" button (search) doesn't work at fifa.com (document.all.FormName)
3017
3018         Allow input elements with name attributes as possible named
3019         items for document.all.
3020
3021         * html/HTMLCollection.cpp:
3022         (WebCore::HTMLCollection::checkForNameMatch):
3023         (WebCore::HTMLCollection::updateNameCache):
3024
3025 2006-05-31  Dave Hyatt <hyatt@apple.com>
3026
3027         Adding stubs for BMP/ICO/XBM image decoders.  They don't
3028         do anything yet though.
3029
3030         * WebCore.vcproj/WebCore/WebCore.vcproj:
3031         * platform/cairo/ImageSourceCairo.cpp:
3032         (WebCore::createDecoder):
3033         * platform/image-decoders/bmp: Added.
3034         * platform/image-decoders/bmp/BMPImageDecoder.cpp: Added.
3035         (WebCore::BMPImageDecoder::isSizeAvailable):
3036         (WebCore::BMPImageDecoder::frameBufferAtIndex):
3037         * platform/image-decoders/bmp/BMPImageDecoder.h: Added.
3038         * platform/image-decoders/ico: Added.
3039         * platform/image-decoders/ico/ICOImageDecoder.cpp: Added.
3040         (WebCore::ICOImageDecoder::isSizeAvailable):
3041         (WebCore::ICOImageDecoder::frameBufferAtIndex):
3042         * platform/image-decoders/ico/ICOImageDecoder.h: Added.
3043         * platform/image-decoders/xbm: Added.
3044         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Added.
3045         (WebCore::XBMImageDecoder::isSizeAvailable):
3046         (WebCore::XBMImageDecoder::frameBufferAtIndex):
3047         * platform/image-decoders/xbm/XBMImageDecoder.h: Added.
3048
3049 2006-05-31  David Hyatt  <hyatt@apple.com>
3050
3051         Fix for the gmail tab-focus-stealing bug.
3052
3053         Reviewed by darin
3054
3055         * bindings/js/kjs_window.cpp:
3056         (KJS::WindowFunc::callAsFunction):
3057         * bridge/mac/BrowserExtensionMac.mm:
3058         (WebCore::BrowserExtensionMac::createNewWindow):
3059         * bridge/mac/FrameMac.h:
3060         * bridge/mac/FrameMac.mm:
3061         (WebCore::FrameMac::focusWindow):
3062         (WebCore::FrameMac::unfocusWindow):
3063         * bridge/mac/WebCoreFrameBridge.h:
3064         * page/Frame.h:
3065         * platform/Widget.h:
3066         * platform/mac/WidgetMac.mm:
3067         * platform/win/TemporaryLinkStubs.cpp:
3068         (FrameWin::focusWindow):
3069         * platform/win/WidgetWin.cpp:
3070
3071 2006-05-31  Beth Dakin  <bdakin@apple.com>
3072
3073         Reviewed by Hyatt.
3074
3075         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6755 CSS3: 
3076         Borders rounded with border-radius don't draw the roundings
3077
3078         This patch does not draw all of the different border styles 
3079         perfectly, so I have filed a few followup bugs that I will 
3080         reference from this Bugzilla.
3081
3082         * platform/GraphicsContext.h:
3083         * platform/cairo/GraphicsContextCairo.cpp:
3084         (WebCore::GraphicsContext::drawArc): drawArc() has different 
3085         parameters now, but mostly this needs to be implemented to match 
3086         the Mac side later.
3087         (WebCore::GraphicsContext::addRoundedRectClip): Just a stub. 
3088         Implement this later.
3089         (WebCore::GraphicsContext::addInnerRoundedRectClip): Just a stub. 
3090         Implement this later.
3091         * platform/cg/GraphicsContextCG.cpp:
3092         (WebCore::GraphicsContext::drawArc): drawArc() now handles drawing 
3093         elliptical arcs as well as circular arcs, it also takes a thickness 
3094         parameter to draw an arc of a given thickness and draws with the 
3095         appropriate pen style.
3096         (WebCore::GraphicsContext::addInnerRoundedRectClip): Adds a clip to 
3097         the inside of an arc instead of to the outside which is already 
3098         done by addRoundedClipRect()
3099         * rendering/RenderObject.cpp:
3100         (WebCore::RenderObject::drawBorderArc): Draws the border arcs in 
3101         the appropriate styles.
3102         (WebCore::RenderObject::paintBorder): Calls drawBorderArc() when 
3103         border arcs are needed.
3104         * rendering/RenderObject.h:
3105
3106 2006-05-30  Eric Seidel  <eric@eseidel.com>
3107
3108         Reviewed by andersca.
3109
3110         Add first-cut SVG JS bindings autogeneration.
3111         SVGSVGElement and various other support classes are generated.
3112         Various small style fixes.
3113         http://bugzilla.opendarwin.org/show_bug.cgi?id=4249
3114
3115         * DerivedSources.make:
3116         * WebCore+SVG/RGBColor.cpp: Removed.
3117         * WebCore+SVG/RGBColor.h: Removed.
3118         * WebCore.xcodeproj/project.pbxproj:
3119         * bindings/js/JSHTMLElementWrapperFactory.cpp:
3120         (WebCore::createJSHTMLWrapper): renamed from createJSWrapper
3121         * bindings/js/JSHTMLElementWrapperFactory.h:
3122         * bindings/js/kjs_dom.cpp:
3123         (KJS::DOMNode::DOMNode):
3124         (KJS::DOMNode::toBoolean):
3125         (KJS::DOMNode::getOwnPropertySlot):
3126         (KJS::DOMNode::getValueProperty):
3127         (KJS::DOMNode::put):
3128         (KJS::DOMNode::putValueProperty):
3129         (KJS::DOMNode::toPrimitive):
3130         (KJS::DOMNode::toString):
3131         (KJS::DOMNodeProtoFunc::callAsFunction):
3132         (KJS::toEventTargetNode):
3133         (KJS::DOMEventTargetNode::getOwnPropertySlot):
3134         (KJS::DOMEventTargetNode::getValueProperty):
3135         (KJS::DOMEventTargetNode::put):
3136         (KJS::DOMEventTargetNode::putValueProperty):
3137         (KJS::DOMEventTargetNode::setListener):
3138         (KJS::DOMEventTargetNode::getListener):
3139         (KJS::DOMEventTargetNode::pushEventHandlerScope):
3140         (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
3141         (KJS::DOMNodeList::toPrimitive):
3142         (KJS::DOMNodeList::getValueProperty):
3143         (KJS::DOMNodeList::indexGetter):
3144         (KJS::DOMNodeList::nameGetter):
3145         (KJS::DOMNodeList::getOwnPropertySlot):
3146         (KJS::DOMNodeList::callAsFunction):
3147         (KJS::DOMNodeListFunc::callAsFunction):
3148         (KJS::toElement):
3149         (KJS::toDocumentType):
3150         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
3151         (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
3152         (KJS::DOMNamedNodeMap::lengthGetter):
3153         (KJS::DOMNamedNodeMap::indexGetter):
3154         (KJS::DOMNamedNodeMap::nameGetter):
3155         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
3156         (KJS::toJS):
3157         (KJS::checkNodeSecurity):
3158         (KJS::getRuntimeObject):
3159         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
3160         (KJS::DOMExceptionConstructor::getValueProperty):
3161         (KJS::getDOMExceptionConstructor):
3162         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
3163         (KJS::DOMNamedNodesCollection::lengthGetter):
3164         (KJS::DOMNamedNodesCollection::indexGetter):
3165         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
3166         * bindings/scripts/CodeGenerator.pm:
3167         * bindings/scripts/CodeGeneratorJS.pm:
3168         * dom/Document.cpp:
3169         (WebCore::Document::implicitClose):
3170         * dom/Element.h:
3171         * dom/StyledElement.h:
3172         * ksvg2/bindings/idl/svg/SVGAngle.idl: Removed.
3173         * ksvg2/bindings/idl/svg/SVGAnimatedLength.idl: Removed.
3174         * ksvg2/bindings/idl/svg/SVGColor.idl: Removed.
3175         * ksvg2/bindings/idl/svg/SVGDocument.idl: Removed.
3176         * ksvg2/bindings/idl/svg/SVGElement.idl: Removed.
3177         * ksvg2/bindings/idl/svg/SVGLength.idl: Removed.
3178         * ksvg2/bindings/idl/svg/SVGMatrix.idl: Removed.
3179         * ksvg2/bindings/idl/svg/SVGNumber.idl: Removed.
3180         * ksvg2/bindings/idl/svg/SVGPoint.idl: Removed.
3181         * ksvg2/bindings/idl/svg/SVGRect.idl: Removed.
3182         * ksvg2/bindings/idl/svg/SVGSVGElement.idl: Removed.
3183         * ksvg2/bindings/idl/svg/SVGTransform.idl: Removed.
3184         * ksvg2/bindings/idl/svg/kdomdefs.idl: Removed.
3185         * ksvg2/bindings/js: Added.
3186         * ksvg2/bindings/js/JSSVGNumber.cpp: Added.
3187         (WebCore::):
3188         (WebCore::JSSVGNumber::~JSSVGNumber):
3189         (WebCore::JSSVGNumber::getOwnPropertySlot):
3190         (WebCore::JSSVGNumber::getValue):
3191         (WebCore::getJSSVGNumber):
3192         * ksvg2/bindings/js/JSSVGNumber.h: Added.
3193         (WebCore::JSSVGNumber::JSSVGNumber):
3194         (WebCore::JSSVGNumber::classInfo):
3195         * ksvg2/bindings/js/JSSVGPoint.cpp: Added.
3196         (WebCore::):
3197         (WebCore::JSSVGPoint::~JSSVGPoint):
3198         (WebCore::JSSVGPoint::getOwnPropertySlot):
3199         (WebCore::JSSVGPoint::getValueProperty):
3200         (WebCore::getJSSVGPoint):
3201         (WebCore::toFloatPoint):
3202         * ksvg2/bindings/js/JSSVGPoint.h: Added.
3203         (WebCore::JSSVGPoint::JSSVGPoint):
3204         (WebCore::JSSVGPoint::classInfo):
3205         (WebCore::JSSVGPoint::):
3206         (WebCore::JSSVGPoint::impl):
3207         * ksvg2/bindings/js/JSSVGRect.cpp: Added.
3208         (WebCore::):
3209         (WebCore::JSSVGRect::~JSSVGRect):
3210         (WebCore::JSSVGRect::getOwnPropertySlot):
3211         (WebCore::JSSVGRect::getValueProperty):
3212         (WebCore::getJSSVGRect):
3213         (WebCore::toFloatRect):
3214         * ksvg2/bindings/js/JSSVGRect.h: Added.
3215         (WebCore::JSSVGRect::JSSVGRect):
3216         (WebCore::JSSVGRect::classInfo):
3217         (WebCore::JSSVGRect::):
3218         (WebCore::JSSVGRect::impl):
3219         * ksvg2/css/SVGCSSParser.cpp:
3220         (WebCore::CSSParser::parseSVGValue):
3221         * ksvg2/css/SVGCSSStyleSelector.cpp:
3222         (WebCore::CSSStyleSelector::applySVGProperty):
3223         * ksvg2/events/SVGZoomEvent.cpp:
3224         (SVGZoomEvent::SVGZoomEvent):
3225         (SVGZoomEvent::zoomRectScreen):
3226         (SVGZoomEvent::previousTranslate):
3227         (SVGZoomEvent::newTranslate):
3228         * ksvg2/events/SVGZoomEvent.h:
3229         * ksvg2/ksvg.h:
3230         (WebCore::):
3231         * ksvg2/misc/SVGDocumentExtensions.cpp:
3232         (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
3233         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
3234         (WebCore::SVGDocumentExtensions::addTimeContainer):
3235         (WebCore::SVGDocumentExtensions::removeTimeContainer):
3236         (WebCore::SVGDocumentExtensions::startAnimations):
3237         (WebCore::SVGDocumentExtensions::pauseAnimations):
3238         (WebCore::SVGDocumentExtensions::unpauseAnimations):
3239         * ksvg2/misc/SVGDocumentExtensions.h:
3240         * ksvg2/svg/SVGAElement.h:
3241         * ksvg2/svg/SVGAngle.h:
3242         (WebCore::SVGAngle::):
3243         * ksvg2/svg/SVGAngle.idl: Added.
3244         * ksvg2/svg/SVGAnimateColorElement.cpp:
3245         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
3246         (WebCore::SVGAnimateColorElement::handleTimerEvent):
3247         (WebCore::SVGAnimateColorElement::clampColor):
3248         * ksvg2/svg/SVGAnimateColorElement.h:
3249         * ksvg2/svg/SVGAnimateElement.cpp:
3250         (SVGAnimateElement::SVGAnimateElement):
3251         (SVGAnimateElement::handleTimerEvent):
3252         * ksvg2/svg/SVGAnimateElement.h:
3253         * ksvg2/svg/SVGAnimateTransformElement.cpp:
3254         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
3255         (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
3256         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
3257         (WebCore::SVGAnimateTransformElement::parseTransformValue):
3258         (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
3259         (WebCore::SVGAnimateTransformElement::initialMatrix):
3260         * ksvg2/svg/SVGAnimateTransformElement.h:
3261         * ksvg2/svg/SVGAnimatedLength.idl: Added.
3262         * ksvg2/svg/SVGAnimationElement.cpp:
3263         (SVGAnimationElement::closeRenderer):
3264         * ksvg2/svg/SVGAnimationElement.h:
3265         * ksvg2/svg/SVGCircleElement.h:
3266         * ksvg2/svg/SVGClipPathElement.h:
3267         * ksvg2/svg/SVGColor.cpp:
3268         (WebCore::SVGColor::SVGColor):
3269         (WebCore::SVGColor::rgbColor):
3270         (WebCore::SVGColor::setRGBColor):
3271         (WebCore::SVGColor::setRGBColorICCColor):
3272         (WebCore::SVGColor::setColor):
3273         (WebCore::SVGColor::color):
3274         * ksvg2/svg/SVGColor.h:
3275         (WebCore::SVGColor::):
3276         (WebCore::SVGColor::setRGBColor):
3277         * ksvg2/svg/SVGColor.idl: Added.
3278         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
3279         * ksvg2/svg/SVGCursorElement.h:
3280         * ksvg2/svg/SVGDefsElement.h:
3281         * ksvg2/svg/SVGDescElement.h:
3282         * ksvg2/svg/SVGDocument.idl: Added.
3283         * ksvg2/svg/SVGElement.cpp:
3284         (WebCore::SVGElement::SVGElement):
3285         (WebCore::SVGElement::isSupported):
3286         (WebCore::SVGElement::id):
3287         (WebCore::SVGElement::setId):
3288         (WebCore::SVGElement::xmlbase):
3289         (WebCore::SVGElement::setXmlbase):
3290         (WebCore::SVGElement::ownerSVGElement):
3291         (WebCore::SVGElement::viewportElement):
3292         (WebCore::SVGElement::tryGetAttribute):
3293         (WebCore::SVGElement::tryGetAttributeNS):
3294         (WebCore::SVGElement::childShouldCreateRenderer):
3295         * ksvg2/svg/SVGElement.h:
3296         * ksvg2/svg/SVGElement.idl: Added.
3297         * ksvg2/svg/SVGEllipseElement.h:
3298         * ksvg2/svg/SVGEvent.idl: Added.
3299         * ksvg2/svg/SVGFEBlendElement.h:
3300         * ksvg2/svg/SVGFEColorMatrixElement.h:
3301         * ksvg2/svg/SVGFEComponentTransferElement.h:
3302         * ksvg2/svg/SVGFECompositeElement.h:
3303         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
3304         * ksvg2/svg/SVGFEDistantLightElement.h:
3305         * ksvg2/svg/SVGFEFloodElement.h:
3306         * ksvg2/svg/SVGFEFuncAElement.h:
3307         * ksvg2/svg/SVGFEFuncBElement.h:
3308         * ksvg2/svg/SVGFEFuncGElement.h:
3309         * ksvg2/svg/SVGFEFuncRElement.h:
3310         * ksvg2/svg/SVGFEGaussianBlurElement.h:
3311         * ksvg2/svg/SVGFEImageElement.h:
3312         * ksvg2/svg/SVGFELightElement.h:
3313         * ksvg2/svg/SVGFEMergeElement.h:
3314         * ksvg2/svg/SVGFEMergeNodeElement.h:
3315         * ksvg2/svg/SVGFEOffsetElement.h:
3316         * ksvg2/svg/SVGFEPointLightElement.h:
3317         * ksvg2/svg/SVGFESpecularLightingElement.h:
3318         * ksvg2/svg/SVGFESpotLightElement.h:
3319         * ksvg2/svg/SVGFETileElement.h:
3320         * ksvg2/svg/SVGFETurbulenceElement.h:
3321         * ksvg2/svg/SVGFilterElement.h:
3322         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
3323         * ksvg2/svg/SVGForeignObjectElement.h:
3324         * ksvg2/svg/SVGGElement.h:
3325         * ksvg2/svg/SVGGradientElement.h:
3326         * ksvg2/svg/SVGHelper.cpp:
3327         (WebCore::SVGHelper::PercentageOfViewport):
3328         (WebCore::SVGHelper::ParseSeperatedList):
3329         * ksvg2/svg/SVGImageElement.h:
3330         * ksvg2/svg/SVGLength.h:
3331         (WebCore::SVGLength::):
3332         * ksvg2/svg/SVGLength.idl: Added.
3333         * ksvg2/svg/SVGLineElement.h:
3334         * ksvg2/svg/SVGLinearGradientElement.h:
3335         * ksvg2/svg/SVGLocatable.cpp:
3336         (SVGLocatable::getBBox):
3337         * ksvg2/svg/SVGLocatable.h:
3338         * ksvg2/svg/SVGMarkerElement.h:
3339         * ksvg2/svg/SVGMaskElement.h:
3340         * ksvg2/svg/SVGMatrix.cpp:
3341         (SVGMatrix::inverse):
3342         (SVGMatrix::rotateFromVector):
3343         * ksvg2/svg/SVGMatrix.h:
3344         * ksvg2/svg/SVGMatrix.idl: Added.
3345         * ksvg2/svg/SVGNumber.idl: Added.
3346         * ksvg2/svg/SVGPathElement.cpp:
3347         (WebCore::SVGPathElement::getPointAtLength):
3348         * ksvg2/svg/SVGPathElement.h:
3349         * ksvg2/svg/SVGPatternElement.cpp:
3350         (WebCore::SVGPatternElement::x):
3351         (WebCore::SVGPatternElement::y):
3352         (WebCore::SVGPatternElement::width):
3353         (WebCore::SVGPatternElement::height):
3354         (WebCore::SVGPatternElement::pushAttributeContext):
3355         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
3356         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
3357         (WebCore::SVGPatternElement::notifyClientsToRepaint):
3358         (WebCore::SVGPatternElement::notifyAttributeChange):
3359         (WebCore::SVGPatternElement::canvasResource):
3360         (WebCore::SVGPatternElement::getCTM):
3361         * ksvg2/svg/SVGPatternElement.h:
3362         * ksvg2/svg/SVGPoint.idl: Added.
3363         * ksvg2/svg/SVGPolyElement.h:
3364         * ksvg2/svg/SVGPolygonElement.h:
3365         * ksvg2/svg/SVGPolylineElement.h:
3366         * ksvg2/svg/SVGRadialGradientElement.h:
3367         * ksvg2/svg/SVGRect.idl: Added.
3368         * ksvg2/svg/SVGRectElement.h:
3369         * ksvg2/svg/SVGSVGElement.cpp:
3370         (WebCore::SVGSVGElement::SVGSVGElement):
3371         (WebCore::SVGSVGElement::~SVGSVGElement):
3372         (WebCore::SVGSVGElement::viewport):
3373         (WebCore::SVGSVGElement::currentTranslate):
3374         (WebCore::SVGSVGElement::unsuspendRedraw):
3375         (WebCore::SVGSVGElement::getIntersectionList):
3376         (WebCore::SVGSVGElement::getEnclosureList):
3377         (WebCore::SVGSVGElement::checkIntersection):
3378         (WebCore::SVGSVGElement::checkEnclosure):
3379         (WebCore::SVGSVGElement::createSVGNumber):
3380         (WebCore::SVGSVGElement::createSVGPoint):
3381         (WebCore::SVGSVGElement::createSVGRect):
3382         (WebCore::SVGSVGElement::pauseAnimations):
3383         (WebCore::SVGSVGElement::unpauseAnimations):
3384         (WebCore::SVGSVGElement::animationsPaused):
3385         (WebCore::SVGSVGElement::getCurrentTime):
3386         (WebCore::SVGSVGElement::setCurrentTime):
3387         * ksvg2/svg/SVGSVGElement.h:
3388         (WebCore::SVGSVGElement::timeScheduler):
3389         * ksvg2/svg/SVGSVGElement.idl: Added.
3390         * ksvg2/svg/SVGScriptElement.h:
3391         * ksvg2/svg/SVGSetElement.cpp:
3392         (WebCore::SVGSetElement::SVGSetElement):
3393         (WebCore::SVGSetElement::handleTimerEvent):
3394         * ksvg2/svg/SVGSetElement.h:
3395         * ksvg2/svg/SVGStopElement.h:
3396         * ksvg2/svg/SVGStyleElement.h:
3397         * ksvg2/svg/SVGStyledElement.h:
3398         * ksvg2/svg/SVGStyledLocatableElement.cpp:
3399         (SVGStyledLocatableElement::getBBox):
3400         * ksvg2/svg/SVGStyledLocatableElement.h:
3401         * ksvg2/svg/SVGStyledTransformableElement.cpp:
3402         (SVGStyledTransformableElement::getBBox):
3403         * ksvg2/svg/SVGStyledTransformableElement.h:
3404         * ksvg2/svg/SVGSwitchElement.h:
3405         * ksvg2/svg/SVGSymbolElement.h:
3406         * ksvg2/svg/SVGTRefElement.h:
3407         * ksvg2/svg/SVGTSpanElement.h:
3408         * ksvg2/svg/SVGTextContentElement.cpp:
3409         (SVGTextContentElement::getStartPositionOfChar):
3410         (SVGTextContentElement::getEndPositionOfChar):
3411         (SVGTextContentElement::getExtentOfChar):
3412         (SVGTextContentElement::getCharNumAtPosition):
3413         (SVGTextContentElement::parseMappedAttribute):
3414         * ksvg2/svg/SVGTextContentElement.h:
3415         * ksvg2/svg/SVGTextElement.cpp:
3416         (WebCore::SVGTextElement::getBBox):
3417         * ksvg2/svg/SVGTextElement.h:
3418         * ksvg2/svg/SVGTextPositioningElement.h:
3419         * ksvg2/svg/SVGTitleElement.h:
3420         * ksvg2/svg/SVGTransform.h:
3421         (WebCore::SVGTransform::):
3422         * ksvg2/svg/SVGTransform.idl: Added.
3423         * ksvg2/svg/SVGUseElement.h:
3424         * ksvg2/svg/SVGViewElement.h:
3425         * page/Frame.cpp:
3426         (WebCore::Frame::Frame):
3427         (WebCore::Frame::pauseTimeouts):
3428         (WebCore::Frame::resumeTimeouts):
3429         * platform/Color.h:
3430         * rendering/RenderBR.h:
3431         * rendering/RenderBox.h:
3432         (WebCore::RenderBox::renderName):
3433         * rendering/RenderCanvas.h:
3434         (WebCore::RenderCanvas::view):
3435         * rendering/RenderContainer.h:
3436         * rendering/RenderFlexibleBox.h:
3437         * rendering/RenderFlow.h:
3438         (WebCore::RenderFlow::RenderFlow):
3439         * rendering/RenderInline.h:
3440         * rendering/RenderTableSection.h:
3441         * rendering/RenderTextFragment.h:
3442         (WebCore::RenderTextFragment::contentString):
3443         * xml/xmlattrs.in: Added.
3444
3445 2006-05-30  Geoffrey Garen  <ggaren@apple.com>
3446
3447         Reviewed by Maciej.
3448
3449         - Fixed <rdar://problem/4559720> window sizing: make javascript window 
3450         and screen sizing methods and properties work @ HIDPI
3451         
3452         The general approach here is to change some ints to floats, make 
3453         a few key functions that scale between WebView and window/screen 
3454         coordinates, and change other functions that work with screen 
3455         coordinates to use the scaling functions for their underlying 
3456         implementations.
3457
3458         * manual-tests/window-open-features.html: Removed.
3459         * manual-tests/window-sizing.html: Added. More test coverage.
3460
3461         * bindings/js/kjs_window.cpp: Changed ints to floats and IntRects to
3462         FloatRects, because window coordinates can be fractional when scaled 
3463         to WebView/DOM coordinates.
3464         (KJS::floatFeature):
3465         (KJS::showModalDialog):
3466         (KJS::Window::getValueProperty):
3467         (KJS::constrainToVisible):
3468         (KJS::WindowFunc::callAsFunction):
3469         * bridge/BrowserExtension.h:
3470         * bridge/mac/BrowserExtensionMac.mm:
3471         (WebCore::BrowserExtensionMac::createNewWindow): Removed custom scaling
3472         code and replaced with calls to Page::windowRect and 
3473         Page::setWindowRect. Renamed 'page' and 'bridge' to 'pageBridge' and
3474         'frameBridge,' respectively.
3475         * bridge/mac/PageMac.mm:
3476         (WebCore::Page::windowRect): Changed to use scaling
3477         (WebCore::Page::setWindowRect): ditto
3478         * bridge/mac/WebCoreFrameBridge.mm:
3479         (globalPoint):
3480         * page/Page.h:
3481         * platform/IntRect.h:
3482         * platform/Screen.h:
3483         * platform/mac/MouseEventMac.mm:
3484         (WebCore::globalPositionForEvent): Changed to use flipScreenPoint
3485         * platform/mac/ScreenMac.mm:
3486         (WebCore::flipScreenRect): New key function
3487         (WebCore::flipScreenPoint): New key function
3488         (WebCore::scaleScreenRectToView): New key function
3489         (WebCore::scaleViewRectToScreen): New key function
3490         (WebCore::screenRect): Changed to use scaling
3491         (WebCore::usableScreenRect): ditto
3492
3493         Feeble attempt to preserve Windows build:
3494         
3495         * platform/win/ScreenWin.cpp:
3496         (WebCore::scaleScreenRectToWidget): stub -- doesn't actually scale
3497         (WebCore::scaleWidgetRectToScreen): ditto
3498         * bridge/win/PageWin.cpp:
3499         (WebCore::Page::Page):
3500         (WebCore::Page::widget):
3501
3502 2006-05-30  David Hyatt  <hyatt@apple.com>
3503
3504         Rename RenderCanvas to RenderView. Rename canvas(), isCanvas()
3505         to view(), isView().  Rename the frame view accessor on the old canvas
3506         from view() to frameView() (to avoid view()->view(), since that just looks
3507         stupid). :)
3508
3509         Reviewed by andersca
3510
3511         * WebCore.vcproj/WebCore/WebCore.vcproj:
3512         * WebCore.xcodeproj/project.pbxproj:
3513         * bindings/js/kjs_dom.cpp:
3514         * bindings/js/kjs_window.cpp:
3515         * bridge/mac/FrameMac.mm:
3516         * bridge/mac/WebCoreFrameBridge.mm:
3517         (-[WebCoreFrameBridge _setupRootForPrinting:]):
3518         (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
3519         (-[WebCoreFrameBridge selectionColor]):
3520         (-[WebCoreFrameBridge accessibilityTree]):
3521         * dom/Document.cpp:
3522         (WebCore::Document::attach):
3523         (WebCore::Document::updateSelection):
3524         (WebCore::Document::prepareMouseEvent):
3525         * editing/SelectionController.cpp:
3526         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
3527         * ksvg2/svg/SVGClipPathElement.cpp:
3528         (SVGClipPathElement::canvasResource):
3529         * ksvg2/svg/SVGFEFloodElement.cpp:
3530         (SVGFEFloodElement::filterEffect):
3531         * ksvg2/svg/SVGGradientElement.cpp:
3532         (SVGGradientElement::rebuildStops):
3533         * ksvg2/svg/SVGHelper.cpp:
3534         (SVGHelper::PercentageOfViewport):
3535         * ksvg2/svg/SVGPathElement.cpp:
3536         (WebCore::SVGPathElement::getPointAtLength):
3537         * ksvg2/svg/SVGSVGElement.cpp:
3538         (WebCore::SVGSVGElement::currentTranslate):
3539         * ksvg2/svg/SVGStyledElement.cpp:
3540         (WebCore::SVGStyledElement::view):
3541         (WebCore::SVGStyledElement::pushAttributeContext):
3542         * ksvg2/svg/SVGStyledElement.h:
3543         * kwq/WebCoreAXObject.mm:
3544         (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
3545         (-[WebCoreAXObject role]):
3546         (-[WebCoreAXObject value]):
3547         (-[WebCoreAXObject position]):
3548         (-[WebCoreAXObject accessibilityIsIgnored]):
3549         (-[WebCoreAXObject accessibilityAttributeNames]):
3550         (-[WebCoreAXObject topView]):
3551         (-[WebCoreAXObject accessibilityAttributeValue:]):
3552         * page/Frame.cpp:
3553         (WebCore::Frame::selectionRect):
3554         (WebCore::Frame::paint):
3555         (WebCore::Frame::adjustPageHeight):
3556         (WebCore::Frame::forceLayoutWithPageWidthRange):
3557         * page/FrameView.cpp:
3558         (WebCore::FrameView::adjustViewSize):
3559         (WebCore::FrameView::layout):
3560         * page/FrameView.h:
3561         * rendering/AutoTableLayout.cpp:
3562         (WebCore::shouldScaleColumns):
3563         * rendering/RenderBlock.cpp:
3564         (WebCore::RenderBlock::MarginInfo::MarginInfo):
3565         (WebCore::RenderBlock::isSelfCollapsingBlock):
3566         (WebCore::RenderBlock::layoutBlock):
3567         (WebCore::RenderBlock::paintChildren):
3568         (WebCore::RenderBlock::setSelectionState):
3569         (WebCore::RenderBlock::isSelectionRoot):
3570         (WebCore::RenderBlock::fillInlineSelectionGaps):
3571         (WebCore::RenderBlock::lowestPosition):
3572         (WebCore::RenderBlock::rightmostPosition):
3573         (WebCore::RenderBlock::leftmostPosition):
3574         (WebCore::RenderBlock::clearFloats):
3575         (WebCore::RenderBlock::nodeAtPoint):
3576         (WebCore::RenderBlock::calcBlocminMaxWidth):
3577         (WebCore::RenderBlock::inRootBlockContext):
3578         * rendering/RenderBox.cpp:
3579         (WebCore::RenderBox::setStyle):
3580         (WebCore::RenderBox::paintRootBoxDecorations):
3581         (WebCore::RenderBox::paintBackgroundExtended):
3582         (WebCore::RenderBox::calcHeight):
3583         (WebCore::RenderBox::calcPercentageHeight):
3584         (WebCore::RenderBox::availableHeightUsing):
3585         * rendering/RenderCanvas.cpp: Removed.
3586         * rendering/RenderCanvas.h: Removed.
3587         * rendering/RenderContainer.cpp:
3588         (WebCore::RenderContainer::removeChildNode):
3589         * rendering/RenderFileButton.cpp:
3590         (WebCore::RenderFileButton::RenderFileButton):
3591         * rendering/RenderFlow.cpp:
3592         (WebCore::RenderFlow::destroy):
3593         (WebCore::RenderFlow::paintLines):
3594         * rendering/RenderFrameSet.cpp:
3595         (WebCore::RenderFrameSet::layout):
3596         (WebCore::RenderFrameSet::userResize):
3597         (WebCore::RenderFrameSet::setResizing):
3598         * rendering/RenderImage.cpp:
3599         (WebCore::RenderImage::paint):
3600         * rendering/RenderLayer.cpp:
3601         (WebCore::RenderLayer::updateLayerPositions):
3602         (WebCore::RenderLayer::updateLayerPosition):
3603         (WebCore::RenderLayer::stackingContext):
3604         (WebCore::RenderLayer::enclosingPositionedAncestor):
3605         (WebCore::RenderLayer::convertToLayerCoords):
3606         (WebCore::RenderLayer::scrollToOffset):
3607         (WebCore::isSubframeCanvas):
3608         (WebCore::RenderLayer::intersectsDamageRect):
3609         * rendering/RenderLayer.h:
3610         (WebCore::RenderLayer::isStackingContext):
3611         * rendering/RenderListMarker.cpp:
3612         (WebCore::RenderListMarker::paint):
3613         * rendering/RenderObject.cpp:
3614         (WebCore::RenderObject::scroll):
3615         (WebCore::RenderObject::containingBlock):
3616         (WebCore::RenderObject::repaint):
3617         (WebCore::RenderObject::repaintRectangle):
3618         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
3619         (WebCore::RenderObject::draggableNode):
3620         (WebCore::RenderObject::selectionStartEnd):
3621         (WebCore::RenderObject::setStyle):
3622         (WebCore::RenderObject::viewRect):
3623         (WebCore::RenderObject::view):
3624         (WebCore::RenderObject::container):
3625         (WebCore::RenderObject::removeFromObjectLists):
3626         (WebCore::RenderObject::scheduleRelayout):
3627         (WebCore::RenderObject::imageChanged):
3628         (WebCore::RenderObject::maximalOutlineSize):
3629         * rendering/RenderObject.h:
3630         (WebCore::RenderObject::isRenderView):
3631         * rendering/RenderTextArea.cpp:
3632         (WebCore::RenderTextArea::RenderTextArea):
3633         * rendering/RenderThemeMac.mm:
3634         (WebCore::RenderThemeMac::paintCheckbox):
3635         (WebCore::RenderThemeMac::paintRadio):
3636         (WebCore::RenderThemeMac::paintButton):
3637         * rendering/RenderTreeAsText.cpp:
3638         (externalRepresentation):
3639         * rendering/RenderView.cpp: Added.
3640         (WebCore::RenderView::RenderView):
3641         (WebCore::RenderView::~RenderView):
3642         (WebCore::RenderView::calcHeight):
3643         (WebCore::RenderView::calcWidth):
3644         (WebCore::RenderView::calcMinMaxWidth):
3645         (WebCore::RenderView::layout):
3646         (WebCore::RenderView::absolutePosition):
3647         (WebCore::RenderView::paint):
3648         (WebCore::RenderView::paintBoxDecorations):
3649         (WebCore::RenderView::repaintViewRectangle):
3650         (WebCore::RenderView::getAbsoluteRepaintRect):
3651         (WebCore::RenderView::computeAbsoluteRepaintRect):
3652         (WebCore::RenderView::absoluteRects):
3653         (WebCore::RenderView::selectionRect):
3654         (WebCore::RenderView::setSelection):
3655         (WebCore::RenderView::clearSelection):
3656         (WebCore::RenderView::selectionStartEnd):
3657         (WebCore::RenderView::updateWidgetPositions):
3658         (WebCore::RenderView::addWidget):
3659         (WebCore::RenderView::removeWidget):
3660         (WebCore::RenderView::viewRect):
3661         (WebCore::RenderView::docHeight):
3662         (WebCore::RenderView::docWidth):
3663         (WebCore::RenderView::setBestTruncatedAt):
3664         * rendering/RenderView.h: Added.
3665         (WebCore::RenderView::renderName):
3666         (WebCore::RenderView::isRenderView):
3667         (WebCore::RenderView::frameView):
3668         * rendering/RenderWidget.cpp:
3669         (WebCore::RenderWidget::RenderWidget):
3670         (WebCore::RenderWidget::destroy):
3671         (WebCore::RenderWidget::updateWidgetPosition):
3672         * rendering/RenderWidget.h:
3673         (WebCore::RenderWidget::widget):
3674         * rendering/bidi.cpp:
3675         (WebCore::RenderBlock::layoutInlineChildren):
3676
3677 2006-05-30  Tim Omernick  <timo@apple.com>
3678
3679         Reviewed by Geoff.
3680
3681         <rdar://problem/4567776> REGRESSION: window.open() links do not work at www.newarchery.com
3682
3683         * bindings/js/kjs_window.cpp:
3684         (KJS::WindowFunc::callAsFunction):
3685         Set the URL in the ResourceRequest; otherwise, it'll be uninitialized and createNewWindow() will
3686         not be able to load the URL into a pre-existing frame.
3687
3688 2006-05-30  Sam Weinig  <sam.weinig@gmail.com>
3689
3690         Reviewed by Maciej, landed by Beth.
3691
3692         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9137
3693           Children with percentage heights of absolutely positioned element 
3694           with height: auto and top and bottom non-auto does not lay out 
3695           correctly
3696
3697         Adds special case.
3698
3699         * rendering/RenderBox.cpp:
3700         (WebCore::RenderBox::calcPercentageHeight):
3701         (WebCore::RenderBox::calcReplacedHeightUsing):
3702
3703 2006-05-30  Sam Weinig  <sam.weinig@gmail.com>
3704
3705         Reviewed by Hyatt, landed by Beth.
3706
3707         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9085
3708           Absolutely positioned objects with 'height': auto and 'top': and
3709           'bottom': non-auto should not be content based
3710
3711         * rendering/RenderBox.cpp:
3712         (WebCore::RenderBox::calcAbsoluteVertical):
3713         (WebCore::RenderBox::calcAbsoluteVerticalValues):
3714         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3715         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
3716
3717 2006-05-30  Eric Seidel  <eric@eseidel.com>
3718
3719         Reviewed by andersca.
3720
3721         Small amount of svg-related code cleanup.
3722         No test case possible.
3723
3724         * ksvg2/svg/SVGColor.h:
3725         * ksvg2/svg/SVGLength.cpp:
3726         (SVGLength::SVGLength):
3727         (SVGLength::value):
3728         * ksvg2/svg/SVGMarkerElement.cpp:
3729         * ksvg2/svg/SVGMatrix.cpp:
3730         (SVGMatrix::SVGMatrix):
3731         (SVGMatrix::copy):
3732         (SVGMatrix::postMultiply):
3733         (SVGMatrix::inverse):
3734         (SVGMatrix::postTranslate):
3735         (SVGMatrix::postScale):
3736         (SVGMatrix::postScaleNonUniform):
3737         (SVGMatrix::postRotate):
3738         (SVGMatrix::postRotateFromVector):
3739         (SVGMatrix::postFlipX):
3740         (SVGMatrix::postFlipY):
3741         (SVGMatrix::postSkewX):
3742         (SVGMatrix::postSkewY):
3743         (SVGMatrix::multiply):
3744         (SVGMatrix::translate):
3745         (SVGMatrix::scale):
3746         (SVGMatrix::scaleNonUniform):
3747         (SVGMatrix::rotate):
3748         (SVGMatrix::rotateFromVector):
3749         (SVGMatrix::flipX):
3750         (SVGMatrix::flipY):
3751         (SVGMatrix::skewX):
3752         (SVGMatrix::skewY):
3753         (SVGMatrix::setMatrix):
3754         (SVGMatrix::qmatrix):
3755         (SVGMatrix::removeScale):
3756         * ksvg2/svg/SVGMatrix.h:
3757
3758 2006-05-30  Eric Seidel  <eric@eseidel.com>
3759
3760         Reviewed by andersca.
3761
3762         Small amount of bindings-related code cleanup.
3763         No test case possible.
3764
3765         * bindings/js/JSHTMLFormElementCustom.cpp:
3766         (WebCore::JSHTMLFormElement::nameGetter):
3767         * bindings/js/JSXMLSerializer.cpp:
3768         (WebCore::JSXMLSerializerConstructorImp::JSXMLSerializerConstructorImp):
3769         (WebCore::JSXMLSerializerConstructorImp::implementsConstruct):
3770         (WebCore::JSXMLSerializerConstructorImp::construct):
3771         (WebCore::):
3772         (WebCore::JSXMLSerializer::JSXMLSerializer):
3773         (WebCore::JSXMLSerializerProtoFunc::callAsFunction):
3774         * bindings/js/JSXMLSerializer.h:
3775         (WebCore::JSXMLSerializer::toBoolean):
3776         (WebCore::JSXMLSerializer::classInfo):
3777         (WebCore::JSXMLSerializer::):
3778         * bindings/js/kjs_window.cpp:
3779         (KJS::Window::getValueProperty):
3780
3781 2006-05-27  Anders Carlsson  <acarlsson@apple.com>
3782
3783         * bindings/js/JSHTMLElementWrapperFactory.cpp:
3784         Correct include file names.
3785
3786 2006-05-26  Justin Garcia  <justin.garcia@apple.com>
3787
3788         Reviewed by levi
3789         
3790         <rdar://problem/4564296> Mail crashes on Leopard9A184 when I attempt to compose a new message
3791
3792         * dom/Position.cpp:
3793         (WebCore::Position::inRenderedContent):
3794         Removed a candidate at [html, 0].
3795         * editing/CreateLinkCommand.cpp:
3796         (WebCore::CreateLinkCommand::doApply): Added early return when there is no selection.
3797         * editing/InsertLineBreakCommand.cpp:
3798         (WebCore::InsertLineBreakCommand::doApply): Ditto.
3799         * editing/InsertTextCommand.cpp:
3800         (WebCore::InsertTextCommand::input): Ditto.
3801         * editing/Selection.cpp:
3802         (WebCore::Selection::validate): If visible positions can't be created from the endpoints, 
3803         then create a null selection.  Not doing this was making editing code think there was
3804         a valid, editable selection even though there wasn't.
3805         * editing/UnlinkCommand.cpp:
3806         (WebCore::UnlinkCommand::doApply): Early return.
3807         * editing/VisiblePosition.cpp:
3808         (WebCore::VisiblePosition::initDeepPosition): Special case the html/body element boundary.
3809         It looks like a non-editable/editable boundary since rootEditableElement stops at the body
3810         even if the html element is editable.
3811
3812 2006-05-26  Adele Peterson  <adele@apple.com>
3813
3814         Reviewed by Justin.
3815
3816         Fixes a mistake in my last checkin.  Uses maxDeepOffset to get the end position for
3817         the textarea's inner div.
3818
3819         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::textWithHardLineBreaks):
3820
3821 2006-05-26  Adele Peterson  <adele@apple.com>
3822
3823         Reviewed by Hyatt.
3824
3825         Added support for wrap=hard for new textarea implementation.
3826
3827         Tests: fast/forms/textarea-appearance-wrap.html
3828
3829         * dom/Range.h: Added version of toString that will convert BRs to newlines.
3830         * dom/Range.cpp: (WebCore::Range::toString):
3831         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): 
3832           When in plain-text mode, and a white-space mode that doesn't collapse whitespace, create a fragment with one text node.
3833         * editing/visible_units.cpp:
3834         (WebCore::previousLinePosition): Subtract scroll offset so the absolute position for the containing block is correct.
3835         (WebCore::nextLinePosition): ditto.
3836         * rendering/RenderText.cpp:
3837         (WebCore::RenderText::positionForCoordinates): If the position is equal to the left edge of the box,
3838         make the affinity downstream so the position doesn't jump back to the previous line.
3839         (WebCore::RenderText::atLineWrap): The logic was reversed here in a recent change.
3840         If the box is not at a line break, then its at a line wrap.
3841         (WebCore::RenderText::caretRect): Only go to the next text box if its at a line wrap and the
3842          affinity is also downstream.  If its upstream, then the correct box is on the current line.
3843         (WebCore::RenderText::inlineBox): ditto.
3844         * rendering/RenderTextField.cpp:
3845         (WebCore::RenderTextField::updateFromElement): multi line controls don't need to check
3846          valueMatchesRenderer before updating the renderer.  For textareas, the renderer should always try to update.
3847          This matches our old textarea behavior.
3848         (WebCore::RenderTextField::text): Pass true to textContent so it converts BRs to newlines.
3849         (WebCore::RenderTextField::textWithHardLineBreaks): Iterate through the RootLineBoxes to find the soft wraps and replace them with newlines.
3850
3851 2006-05-26  Anders Carlsson  <acarlsson@apple.com>
3852
3853         Reviewed by Geoff.
3854
3855         http://bugzilla.opendarwin.org/show_bug.cgi?id=9127
3856         Invoke capturing event listeners when AT_TARGET
3857         
3858         * dom/EventTargetNode.cpp:
3859         (WebCore::EventTargetNode::handleLocalEvents):    
3860         Invoke capturing event listeners for the AT_TARGET phase. This violates the
3861         DOM spec but it's what Mozilla does.
3862         
3863 2006-05-26  David Harrison  <harrison@apple.com>
3864
3865         Reviewed by John Sullivan.
3866
3867         <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
3868         
3869         * WebCore.vcproj/WebCore/WebCore.vcproj:
3870         * WebCore.xcodeproj/project.pbxproj:
3871         - Renamed ModifySelectionListLevelCommand .cpp and .h to ModifySelectionListLevel .cpp and .h
3872         
3873         * bridge/mac/WebCoreFrameBridge.h:
3874         * bridge/mac/WebCoreFrameBridge.mm:
3875         (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
3876         (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
3877         (-[WebCoreFrameBridge increaseSelectionListLevel]):
3878         (-[WebCoreFrameBridge decreaseSelectionListLevel]):
3879         - Call functions in IncreaseSelectionListLevelCommand or DecreaseSelectionListLevelCommand instead
3880         of ModifySelectionListLevelCommand.
3881         
3882         (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
3883         (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
3884         - Added.
3885         
3886         * editing/ModifySelectionListLevel.cpp: Added.
3887         - Renamed from ModifySelectionListLevelCommand.cpp
3888         - Made ModifySelectionListLevelCommand class into a useful base class for new
3889         classes IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand.
3890         
3891         (WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand):
3892         (WebCore::getStartEndListChildren):
3893         (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
3894         (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
3895         - ModifySelectionListLevelCommand is base class for IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand
3896         
3897         (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
3898         (WebCore::IncreaseSelectionListLevelCommand::listElement):
3899         (WebCore::canIncreaseListLevel):
3900         (WebCore::IncreaseSelectionListLevelCommand::doApply):
3901         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
3902         (WebCore::increaseSelectionListLevelWithType):
3903         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
3904         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered):
3905         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered):
3906         - Now a subclass of ModifySelectionListLevelCommand
3907         - Added Ordered and Unordered increaser functions
3908         - Increaser functions return the list element that the items were moved into
3909         
3910         (WebCore::DecreaseSelectionListLevelCommand::DecreaseSelectionListLevelCommand):
3911         (WebCore::canDecreaseListLevel):
3912         (WebCore::DecreaseSelectionListLevelCommand::doApply):
3913         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
3914         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel):
3915         - No functional changes other than to become a subclass of ModifySelectionListLevelCommand
3916
3917         * editing/ModifySelectionListLevel.h: Added.
3918         (WebCore::):
3919          - Renamed from ModifySelectionListLevelCommand.cpp
3920        
3921         * editing/ModifySelectionListLevelCommand.cpp: Removed.
3922         - Renamed to ModifySelectionListLevel.cpp
3923         
3924         * editing/ModifySelectionListLevelCommand.h: Removed.
3925         - Renamed to ModifySelectionListLevel.h
3926
3927         * editing/htmlediting.cpp:
3928         (WebCore::createOrderedListElement):
3929         (WebCore::createUnorderedListElement):
3930         * editing/htmlediting.h:
3931
3932 2006-05-26  Steve Falkenburg  <sfalken@apple.com>
3933
3934         Reviewed by adele.
3935
3936         Build fixes/tweaks
3937
3938         * WebCore.vcproj/WebCore/WebCore.vcproj:
3939         * config.h:
3940         * ksvg2/scripts/make_names.pl:
3941
3942 2006-05-26  Steve Falkenburg  <sfalken@apple.com>
3943
3944         Reviewed by adele.
3945
3946         Fix build
3947
3948         * WebCore.vcproj/WebCore/WebCore.vcproj:
3949         * config.h:
3950
3951 2006-05-25  Dave Hyatt <hyatt@apple.com>
3952
3953         Change default font size for fixed pitch to 13 to match Safari
3954         on Mac (and every other browser on the planet too).
3955
3956         Reviewed by adele
3957
3958         * bridge/win/FrameWin.cpp:
3959         (WebCore::FrameWin::FrameWin):
3960         * platform/win/FontCacheWin.cpp:
3961         (WebCore::FontCache::getFontLinkInterface):
3962
3963 2006-05-25  Alice Liu  <alice.liu@apple.com>
3964
3965         Reviewed by Adele.
3966
3967         * bindings/js/kjs_html.cpp:
3968         added bindings
3969         (KJS::HTMLElementFunction::callAsFunction):
3970         added case to handle namedItem for select elements
3971         * bindings/js/kjs_html.h:
3972         added enum value for bindings
3973         (KJS::JSHTMLElement::):
3974         * html/HTMLSelectElement.cpp:
3975         (WebCore::HTMLSelectElement::namedItem):
3976         implemented namedItem method
3977         * html/HTMLSelectElement.h:
3978         added prototype for namedItem method
3979
3980 2006-05-25  Dave Hyatt <hyatt@apple.com>
3981
3982         Make soft hyphens work on Win32 by special casing them
3983         along with normal hyphens.
3984
3985         Reviewed by mjs
3986
3987         * rendering/break_lines.cpp:
3988         (WebCore::nextBreakablePosition):
3989
3990 2006-05-25  Dave Hyatt <hyatt@apple.com>
3991
3992         Implement the fallback method containsCharacters for
3993         checking if a font has the necessary glyphs to be
3994         selected as a fallback choide.
3995
3996         * platform/win/FontDataWin.cpp:
3997         (WebCore::FontData::containsCharacters):
3998
3999 2006-05-25  Dave Hyatt <hyatt@apple.com>
4000
4001         For now eliminate the logical scale factor from Cairo.
4002         This enables bitmap fonts like MS Sans Serif to work on
4003         Win32.
4004
4005         * platform/cairo/cairo/src/cairo-win32-font.c:
4006         (cairo_win32_scaled_font_select_font):
4007         * platform/cairo/cairo/src/cairo-win32-private.h:
4008         * platform/cairo/font-bug-patch.txt: Removed.
4009         * platform/cairo/scale-removal.txt: Added.
4010         * platform/win/FontCacheWin.cpp:
4011         (WebCore::FontCache::createFontPlatformData):
4012         * platform/win/FontDataWin.cpp:
4013         (WebCore::FontData::smallCapsFontData):
4014         (WebCore::FontData::platformWidthForGlyph):
4015         * platform/win/FontPlatformData.h:
4016         * platform/win/GlyphMapWin.cpp:
4017         (WebCore::GlyphMap::fillPage):
4018
4019 2006-05-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4020
4021         Reviewed by hyatt.  Landed by eseidel.
4022
4023         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8848
4024           TFOOT borders are copied to THEAD and TBODY
4025
4026         Test: fast/table/border-collapsing/border-collapsing-head-foot.html
4027
4028         * rendering/RenderTable.cpp:
4029         (WebCore::RenderTable::sectionAbove): Added.
4030         (WebCore::RenderTable::sectionBelow): Added.
4031         (WebCore::RenderTable::cellAbove): Changed to call sectionAbove.
4032         (WebCore::RenderTable::cellBelow): Changed to call sectionBelow.
4033         * rendering/RenderTable.h:
4034         * rendering/RenderTableCell.cpp:
4035         (WebCore::RenderTableCell::collapsedTopBorder): Changed to call sectionAbove.
4036         (WebCore::RenderTableCell::collapsedBottomBorder): Changed to call sectionBelow.
4037
4038 2006-05-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4039
4040         Reviewed by hyatt.  Landed by eseidel.
4041
4042         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3297
4043           height property is not honored on table rows
4044
4045         * rendering/RenderTableSection.cpp:
4046         (WebCore::RenderTableSection::addChild): Assign the row renderer to the
4047         grid row.
4048         (WebCore::RenderTableSection::calcRowHeight): Fix off-by-one index bug
4049         and add vertical spacing only for grid rows that have a renderer.
4050         (WebCore::RenderTableSection::recalcCells): Assign row renderers to
4051         grid rows.
4052
4053 2006-05-25  Rob Buis  <buis@kde.org>
4054
4055         Reviewed by darin.  Landed by eseidel.
4056
4057         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5978
4058         WebKIt+SVG should use SVGDocumentImpl for image/svg+xml
4059
4060         Make sure SVGDocument is created for standalone svg
4061         documents.
4062
4063         * ksvg2/svg/SVGDOMImplementation.cpp:
4064         (SVGDOMImplementation::instance):
4065         (SVGDOMImplementation::createDocument):
4066         * ksvg2/svg/SVGDOMImplementation.h:
4067         * ksvg2/svg/SVGDocument.cpp:
4068         (WebCore::SVGDocument::SVGDocument):
4069         (WebCore::SVGDocument::~SVGDocument):
4070         * ksvg2/svg/SVGDocument.h:
4071         * ksvg2/svg/SVGTests.cpp:
4072         (WebCore::SVGTests::isValid):
4073         * ksvg2/svg/SVGTitleElement.cpp:
4074         * ksvg2/svg/SVGTitleElement.h:
4075         * page/Frame.cpp:
4076         (WebCore::Frame::begin):
4077
4078 2006-05-25  Rob Buis  <buis@kde.org>
4079
4080         Reviewed by darin.  Landed by eseidel.
4081
4082         http://bugzilla.opendarwin.org/show_bug.cgi?id=5889
4083         HTMLNames.* should be generated using make_names.pl
4084
4085         Use a patched make_names.pl to autogenerate HTMLNames.*
4086
4087         * DerivedSources.make:
4088         * WebCore.xcodeproj/project.pbxproj:
4089         * html/HTMLNames.cpp: Removed.
4090         * html/HTMLNames.h: Removed.
4091         * html/HTMLTagNames.in: Added.
4092         * html/HTMLAttributeNames.in: Added.
4093         * ksvg2/scripts/make_names.pl:
4094
4095 2006-05-25  Eric Seidel  <eric@eseidel.com>
4096
4097         Reviewed by andersca.
4098
4099         Add "HasIndexGetter" support to bindings autogen system.
4100         http://bugzilla.opendarwin.org/show_bug.cgi?id=9057
4101
4102         * DerivedSources.make:
4103         * WebCore.xcodeproj/project.pbxproj:
4104         * bindings/js/JSHTMLInputElementBase.cpp:
4105         * bindings/js/kjs_css.cpp:
4106         (KJS::toJS):
4107         * bindings/js/kjs_css.h:
4108         * bindings/js/kjs_dom.cpp:
4109         (KJS::DOMNamedNodeMap::getOwnPropertySlot):
4110         * bindings/scripts/CodeGeneratorJS.pm:
4111         * css/CSSValueList.idl: Added.
4112
4113 2006-05-24  David Hyatt  <hyatt@apple.com>
4114
4115         Implement font aliasing of family names for Courier/Courier New,
4116         Arial/Helvetica, and Times/Times New Roman.  This behavior matches
4117         WinIE and Firefox.
4118
4119         Reviewed by maciej
4120
4121         Test cases not really possible, since they would have to rely on people
4122         not having the fonts installed (so not having installed Office).
4123
4124         * platform/FontCache.cpp:
4125         (WebCore::alternateFamilyName):
4126         (WebCore::FontCache::getCachedFontPlatformData):
4127         * platform/FontCache.h:
4128         * rendering/RenderContainer.cpp:
4129         (WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
4130
4131 === WebCore-521.11 ===
4132
4133 2006-05-24  Justin Garcia  <justin.garcia@apple.com>
4134
4135         Reviewed by levi
4136         
4137         <rdar://problem/4549610> REGRESSION: No initial cursor in Mail reply or Blot document
4138         <rdar://problem/4560698> Mail is very crashy in Leopard9A182, WebCore::Range::compareBoundaryPoints(WebCore::Node*, int, WebCore::Node*, int)
4139
4140         * page/Frame.cpp:
4141         (WebCore::Frame::setSelectionFromNone): Find the body and stick a caret 
4142         in it.
4143
4144 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
4145
4146         Rubber stamped by Anders.
4147         
4148         Removed meaningless 'dom::' prefix in IDL files.
4149
4150         * dom/Range.idl:
4151         * html/CanvasRenderingContext2D.idl:
4152         * html/HTMLOptionElement.idl:
4153
4154 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
4155
4156         Reviewed by andersca.
4157         
4158         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9095
4159         regression: can't select by setting option.selected to true
4160         
4161         'text' and 'selected' were erroneously marked read-only for option elements.
4162         
4163         * html/HTMLOptionElement.idl:
4164
4165 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
4166
4167         Reviewed by mjs.
4168
4169         - WebCore half of fix for <rdar://problem/4557926> TOT REGRESSION: Crash
4170         occurs when attempting to view&nb