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