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