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