Makes setting shouldRefreshChildren on a TreeElement perform the refresh
[WebKit-https.git] / WebCore / ChangeLog
1 2008-04-04  Timothy Hatcher  <timothy@apple.com>
2
3         Makes setting shouldRefreshChildren on a TreeElement perform the refresh
4         immediately if the element is already expanded.
5
6         Reviewed by Adam Roben.
7
8         * page/inspector/treeoutline.js:
9         (TreeElement.prototype.get shouldRefreshChildren): Return this._shouldRefreshChildren.
10         (TreeElement.prototype.set shouldRefreshChildren): If changing to true, and
11         already expanded,
12         call expand again to trigger the refresh. Sets this._shouldRefreshChildren.
13         (TreeElement.prototype._attach): Check for this._shouldRefreshChildren.
14         (TreeElement.prototype.expand): Ditto.
15
16 2008-04-04  Jon Honeycutt  <jhoneycutt@apple.com>
17
18         Reviewed by Beth.
19
20         Some clean up of AccessibilityObject:
21         - Use existing isImage() in more places.
22         - Use existing isTextControl() in more places.
23         - Added isRenderImage(). Check this before casting to RenderImage,
24           since other, non-RenderImage derived RenderObjects (e.g.
25           RenderListMarker) can return true for isImage().
26         - Fix two copy/paste errors with improper semicolons.
27
28         * page/AccessibilityObject.cpp:
29         (WebCore::AccessibilityObject::isImageButton): Use isImage().
30         (WebCore::AccessibilityObject::isRenderImage): Added.
31         (WebCore::AccessibilityObject::isAnchor): Use isImage().
32         (WebCore::AccessibilityObject::isAttachment): Same.
33         (WebCore::AccessibilityObject::accessibilityDescription): Same.
34         (WebCore::AccessibilityObject::accessibilityIsIgnored): Use
35         isRenderImage() instead of isImage().
36         (WebCore::AccessibilityObject::url): Use isImage().
37         (WebCore::AccessibilityObject::textControl): Remove improper semicolon, 
38         and use isTextControl().
39         (WebCore::AccessibilityObject::textMarkerForIndex): Same.
40         (WebCore::AccessibilityObject::indexForTextMarker): Use isTextControl().
41         (WebCore::AccessibilityObject::doAXRangeForLine): Same.
42         (WebCore::AccessibilityObject::doAXRangeForIndex): Same
43         (WebCore::AccessibilityObject::doAXStringForRange): Same.
44         (WebCore::AccessibilityObject::roleValue):  Use isImage().
45         (WebCore::AccessibilityObject::addChildren): Use isRenderImage().
46         * page/AccessibilityObject.h:
47
48 2008-04-04  Timothy Hatcher  <timothy@apple.com>
49
50         Fixes a null exception when hovering in some areas of the DOM tree.
51
52         Reviewed by Adam Roben.
53
54         * page/inspector/treeoutline.js:
55         (TreeOutline.prototype.treeElementFromPoint): Check listNode for null/undefined
56         before accessing any properties. Return null if listNode is null.
57
58 2008-04-04  Timothy Hatcher  <timothy@apple.com>
59
60         Changing WebInspector.currentFocusElement to/from an input element
61         does not change the actual focus of that input element. You see this
62         in the search field.
63
64         Reviewed by Adam Roben.
65
66         * page/inspector/inspector.js:
67         (WebInspector.set currentFocusElement): Call blur and focus if the
68         node implements them.
69
70 2008-04-04  David Hyatt  <hyatt@apple.com>
71
72         Improve the background size heuristic for SVGs used as background images with no intrinsic size specified.
73         Treat them as having a background-size of 100%.  This means their maximal size will be the box established
74         by background-origin.
75
76         Reviewed by Beth
77
78         * rendering/RenderBox.cpp:
79         (WebCore::RenderBox::calculateBackgroundSize):
80
81 2008-04-04  Timothy Hatcher  <timothy@apple.com>
82
83         Correctly show DOCTYPE in the breadcrumbs and match the CSS rules
84         from view-source.css for the DOCTYPE in the DOM tree.
85
86         Reviewed by Adam Roben.
87
88         * css/view-source.css: Add and correct comments about keeping
89         in-sync with inspector.css.
90         * page/inspector/ElementsPanel.js:
91         (WebInspector.DocumentPanel.prototype.updateBreadcrumb):
92         Add a case for Node.DOCUMENT_TYPE_NODE.
93         * page/inspector/inspector.css: Add a rule for .webkit-html-doctype.
94         * page/inspector/utilities.js:
95         (nodeTitleInfo): Use the webkit-html-doctype class for nodes
96         with Node.DOCUMENT_TYPE_NODE.
97
98 2008-04-04  Dan Bernstein  <mitz@apple.com>
99
100         - try to fix the Tiger build
101
102         * icu/unicode/uscript.h: Copied from WebKit/mac/icu/unicode/uscript.h.
103
104 2008-04-04  Adam Roben  <aroben@apple.com>
105
106         Copy icu/ to PrivateHeaders for WebKit's benefit
107
108         Rubberstamped by Tim Hatcher.
109
110         * WebCore.xcodeproj/project.pbxproj: Renamed the Copy Forwarding
111         Headers build phase to Copy Forwarding and ICU Headers, and added the
112         icu/ directory to it.
113
114 2008-04-04  Adam Roben  <aroben@apple.com>
115
116         Fix <rdar://problem/5804776> Would like to use WebCore's
117         ForwardingHeaders in WebKit without manually creating copies
118
119         Patch by Tim Hatcher, typed by me.
120
121         * WebCore.xcodeproj/project.pbxproj: Added a new build phase, Copy
122         Forwarding Headers, that copies the ForwardingHeaders directory to
123         WebCore's PrivateHeaders directory.
124
125 2008-04-04  Ada Chan  <adachan@apple.com>
126
127         Changed the signature of imageTitleForFilename so we can pass in the width
128         and height as integers.
129
130         Reviewed by Dan.
131
132         * page/mac/WebCoreViewFactory.h:
133         * platform/mac/LocalizedStringsMac.mm:
134         (WebCore::imageTitle):
135
136 2008-04-03  Dan Bernstein  <mitz@apple.com>
137
138         - Windows build fix
139
140         * platform/graphics/win/FontCacheWin.cpp:
141         (WebCore::matchImprovingEnumProc):
142
143 2008-04-03  Kevin Ollivier  <kevino@theolliviers.com>
144
145         Fix PlatformGradient so that it's a pointer on all platforms.
146
147         * platform/graphics/Gradient.h:
148
149 2008-04-03  Dan Bernstein  <mitz@apple.com>
150
151         - 64-bit build fix
152
153         * platform/mac/WebFontCache.mm:
154         (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
155
156 2008-04-03  Kevin Ollivier  <kevino@theolliviers.com>
157
158         wx build fix. Add stubs for gradient class platform functions.
159
160         * platform/graphics/wx/GradientWx.cpp: Added.
161         (WebCore::Gradient::platformDestroy):
162         (WebCore::Gradient::platformGradient):
163
164 2008-04-03  Kevin Ollivier  <kevino@theolliviers.com>
165
166         Reviewed by Dan Bernstein.
167
168         Refactor Gradient.h to have the same API on platforms 
169         without a gradient class.
170
171         * platform/graphics/Gradient.h:
172
173 2008-04-03  Dan Bernstein  <mitz@apple.com>
174
175         - Qt build fix
176
177         * platform/graphics/qt/FontQt.cpp:
178         (WebCore::Font::Font):
179
180 2008-04-03  Dan Bernstein  <mitz@apple.com>
181
182         - Tiger build fix
183
184         * platform/mac/WebFontCache.mm:
185         * rendering/RenderThemeMac.mm:
186
187 2008-04-03  Dan Bernstein  <mitz@apple.com>
188
189         - Gtk build fix
190
191         * platform/graphics/gtk/FontPlatformData.h:
192         (WebCore::FontPlatformData::size):
193         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
194         (WebCore::FontPlatformData::FontPlatformData):
195         * platform/graphics/gtk/FontPlatformDataPango.cpp:
196         (WebCore::FontPlatformData::FontPlatformData):
197
198 2008-04-03  Dan Bernstein  <mitz@apple.com>
199
200         - project file updates in preparation for build fixes
201
202         * GNUmakefile.am:
203         * WebCore.pro:
204         * WebCoreSources.bkl:
205
206 2008-04-03  Nicholas Shanks  <webkit@nickshanks.com>
207
208         Updated by Dan Bernstein. Reviewed by Dave Hyatt.
209
210         - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
211           font-weight does not properly support graded weights
212
213         Tests to come: <http://bugs.webkit.org/show_bug.cgi?id=18306>
214
215         Build fixes for platforms other than Mac and Windows to come.
216
217         * WebCore.vcproj/WebCore.vcproj: Added FontDescription.cpp.
218
219         * WebCore.xcodeproj/project.pbxproj: Ditto.
220
221         * css/CSSComputedStyleDeclaration.cpp:
222         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to
223         return additional weight value keywords 100, 200, 300, 500, 600, 800
224         and 900.
225
226         * css/CSSFontSelector.cpp:
227         (WebCore::hashForFont): Changed the bold parameter into a weight
228         parameter and added the weight to the string to be hashed.
229         (WebCore::CSSFontSelector::addFontFaceRule): Changed to apply all CSS
230         weight values to the font description.
231         (WebCore::CSSFontSelector::getFontData): Updated the fallback logic to
232         go through all weights equal or lighter from the desired weight. For
233         SVG, to also consider heavier weights.
234
235         * css/CSSParser.cpp:
236         (WebCore::CSSParser::parseValue): Cleaned up parsing of the font-weight
237         property.
238
239         * css/CSSStyleSelector.cpp:
240         (WebCore::CSSStyleSelector::applyProperty): Changed to apply all CSS
241         weight values to the font description.
242
243         * platform/graphics/Font.h:
244         (WebCore::Font::weight): Updated for the change to
245         FontDescription::weight().
246
247         * platform/graphics/FontCache.cpp:
248         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Replaced
249         the bold component of the key with a weight component.
250         (WebCore::FontPlatformDataCacheKey::operator==): Updated for the above.
251         (WebCore::computeHash): Ditto.
252         (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): Removed
253         unnecessary parameters.
254         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): Ditto.
255         (WebCore::FontCache::getCachedFontPlatformData): Updated for the change
256         in FontPlatformDataCacheKey.
257
258         * platform/graphics/FontDescription.cpp: Added.
259         (WebCore::FontDescription::lighterWeight): Added. Returns a lighter CSS
260         font-weight value if there is one, or the lightest value.
261         (WebCore::FontDescription::bolderWeight): Added. Returns a heavier CSS
262         font-weight value if there is one, or the heaviest value.
263
264         * platform/graphics/FontDescription.h:
265         (WebCore::FontWeight): Added this enumeration.
266         (WebCore::FontDescription::FontDescription):
267         (WebCore::FontDescription::bold): Removed.
268         (WebCore::FontDescription::weight): Changed to return a FontWeight.
269         (WebCore::FontDescription::setBold): Removed.
270         (WebCore::FontDescription::setWeight): Changed to take a FontWeight.
271
272         * platform/graphics/mac/FontCacheMac.mm:
273         (WebCore::toAppKitFontWeight): Added. Maps a FontWeight to the AppKit
274         font weight scale of 0-15.
275         (WebCore::isAppKitFontWeightBold): Added.
276         (WebCore::FontCache::getFontDataForCharacters): Changed to use a weight
277         instead of the bold trait for custom fonts, and to decide whether to
278         synthesize bold based on the weights rather than the bold trait.
279         (WebCore::FontCache::fontExists): Updated for the change in
280         WebFontCache .
281         (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to
282         decide whether to synthesize bold based on the weights rather than on
283         the bold trait.
284
285         * platform/graphics/win/FontCacheWin.cpp:
286         (WebCore::toGDIFontWeight): Added. Maps a FontWeight to a GDI font
287         weight constant.
288         (WebCore::isGDIFontWeightBold): Added.
289         (WebCore::adjustedGDIFontWeight): Added.
290         (WebCore::MatchImprovingProcData::MatchImprovingProcData): Added this
291         data structure for use by the following callback.
292         (WebCore::matchImprovingEnumProc): Added. The logic of this method is a
293         simplification of the betterChoice() predicate in WebFontCache.mm, which
294         considers only the italic trait and the weight.
295         (WebCore::createGDIFont): Added. Similarly to
296         +[WebFontCache fontWithFamily:traits:weight:size:], this function
297         finds the closest match in the family for the desired italic bit and
298         weight.
299         (WebCore::FontCache::fontExists): Changed to call createGDIFont().
300         (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to
301         compute the synthetic bold and synthetic italic flags based on weights
302         and italic bits and pass them to the FontPlatformData constructor.
303
304         * platform/graphics/win/FontPlatformDataWin.cpp:
305         (WebCore::FontPlatformData::FontPlatformData): Changed the bold and
306         oblique parameters to mean whether these should be synthesized and
307         removed the font enumeration code that used to decide that.
308
309         * platform/graphics/win/SimpleFontDataWin.cpp:
310         (WebCore::SimpleFontData::smallCapsFontData): Changed to pass the
311         synthetic bold and oblique flags from the full-size FontPlatformData to
312         the FontPlatformData constructor for the small caps font.
313
314         * platform/mac/WebCoreTextRenderer.h:
315         * platform/mac/WebCoreTextRenderer.mm:
316         (WebCoreFindFont): Added a weight parameter, which is passed to
317         +[WebFontCache fontWithFamily:traits:weight:size:].
318
319         * platform/mac/WebFontCache.h:
320         * platform/mac/WebFontCache.mm:
321         (acceptableChoice):
322         (betterChoice): Changed to ignore the bold trait. Changed the logic for
323         deciding based on weights to prefer the font whose weight is closer to
324         the desired one, or, if both candidates' weights are the same distance
325         from the desired weight, the one that is more "off-center". 
326         (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to
327         check for weight when matching by full name. Changed to pass
328         the actual desired weight instead of the constant 5 to
329         acceptableChoice() and betterChoice(). Changed to use weights to decide
330         whether to synthesize bold.
331         (+[WebFontCache fontWithFamily:traits:weight:size:]): Added a weight
332         parameter, which is passed to the internal method.
333
334         * platform/win/PopupMenuWin.cpp:
335         (WebCore::PopupMenu::paint): Updated for the change to FontDescription.
336
337         * rendering/RenderListBox.cpp:
338         (WebCore::RenderListBox::updateFromElement): Ditto.
339         (WebCore::RenderListBox::paintItemForeground): Ditto.
340
341         * rendering/RenderThemeMac.mm:
342         (WebCore::toFontWeight): Added. Maps the AppKit font weight range of
343         0-15 to the FontWeight range.
344         (WebCore::RenderThemeMac::systemFont): Updated for the change to
345         FontDescription.
346
347         * rendering/RenderThemeSafari.cpp:
348         (WebCore::RenderThemeSafari::systemFont): Ditto.
349
350 2008-04-03  Dan Bernstein  <mitz@apple.com>
351
352         - another Gtk build fix attempt
353
354         * platform/graphics/cairo/GradientCairo.cpp:
355         (WebCore::Gradient::platformDestroy):
356
357 2008-04-03  Dan Bernstein  <mitz@apple.com>
358
359         - attempted Gtk build fix
360
361         * GNUmakefile.am:
362
363 2008-04-03  Dan Bernstein  <mitz@apple.com>
364
365         - attempted Qt build fix
366
367         * platform/graphics/qt/GradientQt.cpp:
368         (WebCore::Gradient::platformDestroy):
369
370 2008-04-03  Dan Bernstein  <mitz@apple.com>
371
372         - attempted Gtk build fix
373
374         * html/CanvasRenderingContext2D.cpp:
375         (WebCore::CanvasRenderingContext2D::stroke):
376
377 2008-04-03  Dan Bernstein  <mitz@apple.com>
378
379         - attempted Qt build fix
380
381         * html/CanvasRenderingContext2D.cpp:
382         (WebCore::CanvasRenderingContext2D::stroke):
383
384 2008-04-03  Beth Dakin  <bdakin@apple.com>
385
386         Reviewed by Alice.
387
388         Build fix for non-Macs.
389
390         * page/AXObjectCache.h:
391         (WebCore::AXObjectCache::isIDinUse):
392
393 2008-04-03  Brent Fulgham  <bfulgham@gmail.com>
394
395         Reviewed by Darin.
396
397         Correct build error due to incomplete merging of changes to project
398         files from Issue 17985.  This small project file patch corrects
399         the build issue (see http://bugs.webkit.org/show_bug.cgi?id=18195).
400
401         * WebCore.vcproj/WebCore.vcproj:
402
403 2008-04-02  Beth Dakin  <bdakin@apple.com>
404
405         Reviewed by Hyatt.
406
407         This patch eliminates AccessibilityObjectMac. All of the platform-
408         specific code is now in AccessibilityObjectWrapper.
409
410         * WebCore.xcodeproj/project.pbxproj:
411         * dom/Element.h:
412         (WebCore::Element::isPasswordField):
413         * html/HTMLInputElement.h:
414         (WebCore::HTMLInputElement::isPasswordField):
415         * page/AXObjectCache.h:
416         (WebCore::AXObjectCache::isIDinUse):
417         * page/AccessibilityObject.cpp:
418         (WebCore::AccessibilityObject::isPasswordField):
419         (WebCore::AccessibilityObject::press):
420         (WebCore::AccessibilityObject::widgetForAttachmentView):
421         (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
422         (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
423         * page/AccessibilityObject.h:
424         (WebCore::AccessibilityObject::areaElement):
425         (WebCore::AccessibilityObject::setWrapper):
426         * page/mac/AXObjectCacheMac.mm:
427         * page/mac/AccessibilityObjectMac.mm: Removed.
428         * page/mac/AccessibilityObjectWrapper.h:
429         * page/mac/AccessibilityObjectWrapper.mm:
430         (-[AccessibilityObjectWrapper attachmentView]):
431         (textMarkerForVisiblePosition):
432         (visiblePositionForTextMarker):
433         (visiblePositionForStartOfTextMarkerRange):
434         (visiblePositionForEndOfTextMarkerRange):
435         (textMarkerRangeFromMarkers):
436         (AXAttributeStringSetFont):
437         (CreateCGColorIfDifferent):
438         (AXAttributeStringSetColor):
439         (AXAttributeStringSetNumber):
440         (AXAttributeStringSetStyle):
441         (blockquoteLevel):
442         (AXAttributeStringSetBlockquoteLevel):
443         (AXAttributeStringSetSpelling):
444         (AXAttributeStringSetHeadingLevel):
445         (AXLinkElementForNode):
446         (AXAttributeStringSetElement):
447         (AXAttributedStringAppendText):
448         (nsStringForReplacedNode):
449         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
450         (textMarkerRangeFromVisiblePositions):
451         (-[AccessibilityObjectWrapper accessibilityActionNames]):
452         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
453         (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
454         (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
455         (-[AccessibilityObjectWrapper position]):
456         (createAccessibilityRoleMap):
457         (RoleEntry::):
458         (roleValueToNSString):
459         (-[AccessibilityObjectWrapper role]):
460         (-[AccessibilityObjectWrapper subrole]):
461         (-[AccessibilityObjectWrapper roleDescription]):
462         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
463         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
464         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
465         (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
466         (-[AccessibilityObjectWrapper doAXRTFForRange:]):
467         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
468         (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
469         * platform/ScrollView.h:
470         * platform/mac/ScrollViewMac.mm:
471         (WebCore::ScrollView::viewRectToScreen):
472         (WebCore::ScrollView::absolutePointToView):
473
474 2008-04-03  David Hyatt  <hyatt@apple.com>
475
476         Create a new cross-platform Gradient abstraction and make CanvasGradient wrap it.  This first
477         step just cleans up CanvasGradient.  The code that calls it remains ifdef'd however.
478
479         Reviewed by olliej
480
481         * WebCore.pro:
482         * WebCore.vcproj/WebCore.vcproj:
483         * WebCore.xcodeproj/project.pbxproj:
484         * WebCoreSources.bkl:
485         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
486         (WebCore::toJS):
487         * html/CanvasGradient.cpp:
488         (WebCore::CanvasGradient::CanvasGradient):
489         * html/CanvasGradient.h:
490         (WebCore::CanvasGradient::gradient):
491         (WebCore::CanvasGradient::addColorStop):
492         (WebCore::CanvasGradient::getColor):
493         * html/CanvasRenderingContext2D.cpp:
494         (WebCore::CanvasRenderingContext2D::fill):
495         (WebCore::CanvasRenderingContext2D::stroke):
496         (WebCore::CanvasRenderingContext2D::fillRect):
497         * html/CanvasStyle.h:
498         (WebCore::CanvasStyle::canvasGradient):
499         * platform/graphics/Gradient.cpp: Added.
500         (WebCore::Gradient::Gradient):
501         (WebCore::Gradient::~Gradient):
502         (WebCore::Gradient::addColorStop):
503         (WebCore::compareStops):
504         (WebCore::Gradient::getColor):
505         (WebCore::Gradient::findStop):
506         * platform/graphics/Gradient.h: Added.
507         (WebCore::Gradient::ColorStop::ColorStop):
508         (WebCore::Gradient::platformInit):
509         * platform/graphics/cairo/GradientCairo.cpp: Added.
510         (WebCore::Gradient::platformDestroy):
511         (WebCore::Gradient::platformGradient):
512         * platform/graphics/cg/GradientCG.cpp: Added.
513         (WebCore::Gradient::platformDestroy):
514         (WebCore::gradientCallback):
515         (WebCore::Gradient::platformGradient):
516         * platform/graphics/qt/GradientQt.cpp: Added.
517         (WebCore::Gradient::platformDestroy):
518         (WebCore::Gradient::platformGradient):
519
520 2008-04-03  Simon Hausmann  <hausmann@webkit.org>
521
522         Reviewed by Mark Rowe.
523
524         Roll out r31599 and r31605 again after discussion with Mark Rowe.
525
526         * history/HistoryItem.cpp:
527         * loader/FrameLoader.cpp:
528         (WebCore::FrameLoader::startIconLoader):
529         * loader/icon/IconDatabase.cpp:
530         (WebCore::IconDatabase::iconForPageURL):
531         (WebCore::IconDatabase::readIconForPageURLFromDisk):
532         * loader/icon/IconDatabase.h:
533         * loader/icon/IconDatabaseNone.cpp:
534
535 2008-04-03  David Hyatt  <hyatt@apple.com>
536
537         Fix for bug 18194, resizable text fields get messed up when resizing in the presence of zoom.
538
539         Reviewed by adele
540
541         * rendering/RenderLayer.cpp:
542         (WebCore::RenderLayer::resize):
543
544 2008-04-03  Oliver Hunt  <oliver@apple.com>
545
546         Reviewed by NOBODY (Rollout).
547
548         Rollout r31566 as there were a few issues i missed during review (thanks to antti for pointing them out)
549
550         * dom/Element.h:
551         * dom/NamedAttrMap.h:
552         * rendering/SVGRootInlineBox.cpp:
553         (WebCore::SVGRootInlineBox::buildLayoutInformation):
554         (WebCore::SVGRootInlineBox::buildTextChunks):
555         * svg/SVGAElement.h:
556         (WebCore::SVGAElement::contextElement):
557         * svg/SVGAltGlyphElement.h:
558         (WebCore::SVGAltGlyphElement::contextElement):
559         * svg/SVGAnimateColorElement.h:
560         * svg/SVGAnimateElement.h:
561         * svg/SVGAnimateMotionElement.h:
562         * svg/SVGAnimateTransformElement.h:
563         * svg/SVGAnimatedTemplate.h:
564         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
565         (WebCore::lookupOrCreateWrapper):
566         * svg/SVGAnimationElement.h:
567         * svg/SVGCircleElement.h:
568         (WebCore::SVGCircleElement::contextElement):
569         * svg/SVGClipPathElement.h:
570         (WebCore::SVGClipPathElement::contextElement):
571         * svg/SVGComponentTransferFunctionElement.cpp:
572         * svg/SVGComponentTransferFunctionElement.h:
573         * svg/SVGCursorElement.cpp:
574         (WebCore::SVGCursorElement::SVGCursorElement):
575         * svg/SVGCursorElement.h:
576         (WebCore::SVGCursorElement::contextElement):
577         * svg/SVGDefsElement.h:
578         (WebCore::SVGDefsElement::contextElement):
579         * svg/SVGElement.cpp:
580         * svg/SVGElement.h:
581         (WebCore::SVGElement::svgAttributeChanged):
582         * svg/SVGEllipseElement.cpp:
583         (WebCore::SVGEllipseElement::SVGEllipseElement):
584         * svg/SVGEllipseElement.h:
585         (WebCore::SVGEllipseElement::contextElement):
586         * svg/SVGExternalResourcesRequired.h:
587         * svg/SVGFEBlendElement.h:
588         * svg/SVGFEColorMatrixElement.cpp:
589         * svg/SVGFEColorMatrixElement.h:
590         * svg/SVGFEComponentTransferElement.h:
591         * svg/SVGFECompositeElement.h:
592         * svg/SVGFEDiffuseLightingElement.h:
593         * svg/SVGFEDisplacementMapElement.h:
594         * svg/SVGFEFloodElement.h:
595         * svg/SVGFEGaussianBlurElement.h:
596         * svg/SVGFEImageElement.cpp:
597         * svg/SVGFEImageElement.h:
598         (WebCore::SVGFEImageElement::contextElement):
599         * svg/SVGFELightElement.h:
600         * svg/SVGFEMergeElement.h:
601         * svg/SVGFEMergeNodeElement.h:
602         * svg/SVGFEOffsetElement.h:
603         * svg/SVGFESpecularLightingElement.h:
604         * svg/SVGFETileElement.h:
605         * svg/SVGFETurbulenceElement.h:
606         * svg/SVGFilterElement.cpp:
607         (WebCore::SVGFilterElement::SVGFilterElement):
608         * svg/SVGFilterElement.h:
609         (WebCore::SVGFilterElement::contextElement):
610         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
611         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
612         * svg/SVGFilterPrimitiveStandardAttributes.h:
613         * svg/SVGFitToViewBox.cpp:
614         * svg/SVGFitToViewBox.h:
615         * svg/SVGFontElement.h:
616         * svg/SVGForeignObjectElement.cpp:
617         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
618         * svg/SVGForeignObjectElement.h:
619         (WebCore::SVGForeignObjectElement::contextElement):
620         * svg/SVGGElement.h:
621         (WebCore::SVGGElement::contextElement):
622         * svg/SVGGradientElement.cpp:
623         * svg/SVGGradientElement.h:
624         * svg/SVGImageElement.cpp:
625         (WebCore::SVGImageElement::SVGImageElement):
626         * svg/SVGImageElement.h:
627         (WebCore::SVGImageElement::contextElement):
628         * svg/SVGLength.cpp:
629         * svg/SVGLength.h:
630         * svg/SVGLengthList.cpp:
631         * svg/SVGLengthList.h:
632         * svg/SVGLineElement.cpp:
633         (WebCore::SVGLineElement::SVGLineElement):
634         * svg/SVGLineElement.h:
635         (WebCore::SVGLineElement::contextElement):
636         * svg/SVGLinearGradientElement.cpp:
637         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
638         (WebCore::SVGLinearGradientElement::collectGradientProperties):
639         * svg/SVGLinearGradientElement.h:
640         * svg/SVGMPathElement.h:
641         * svg/SVGMarkerElement.cpp:
642         (WebCore::SVGMarkerElement::SVGMarkerElement):
643         * svg/SVGMarkerElement.h:
644         (WebCore::SVGMarkerElement::contextElement):
645         * svg/SVGMaskElement.cpp:
646         (WebCore::SVGMaskElement::SVGMaskElement):
647         * svg/SVGMaskElement.h:
648         * svg/SVGNumberList.cpp:
649         * svg/SVGNumberList.h:
650         * svg/SVGPathElement.h:
651         (WebCore::SVGPathElement::contextElement):
652         * svg/SVGPatternElement.cpp:
653         (WebCore::SVGPatternElement::SVGPatternElement):
654         (WebCore::SVGPatternElement::collectPatternProperties):
655         * svg/SVGPatternElement.h:
656         * svg/SVGPolyElement.h:
657         (WebCore::SVGPolyElement::contextElement):
658         * svg/SVGPreserveAspectRatio.cpp:
659         * svg/SVGPreserveAspectRatio.h:
660         * svg/SVGRadialGradientElement.cpp:
661         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
662         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
663         (WebCore::SVGRadialGradientElement::collectGradientProperties):
664         * svg/SVGRadialGradientElement.h:
665         * svg/SVGRectElement.cpp:
666         (WebCore::SVGRectElement::SVGRectElement):
667         * svg/SVGRectElement.h:
668         (WebCore::SVGRectElement::contextElement):
669         * svg/SVGSVGElement.cpp:
670         (WebCore::SVGSVGElement::SVGSVGElement):
671         (WebCore::SVGSVGElement::currentView):
672         * svg/SVGSVGElement.h:
673         * svg/SVGScriptElement.h:
674         (WebCore::SVGScriptElement::contextElement):
675         * svg/SVGSetElement.h:
676         * svg/SVGStyledElement.h:
677         * svg/SVGStyledTransformableElement.cpp:
678         * svg/SVGStyledTransformableElement.h:
679         * svg/SVGSwitchElement.h:
680         (WebCore::SVGSwitchElement::contextElement):
681         * svg/SVGSymbolElement.h:
682         (WebCore::SVGSymbolElement::contextElement):
683         * svg/SVGTRefElement.h:
684         (WebCore::SVGTRefElement::contextElement):
685         * svg/SVGTSpanElement.h:
686         * svg/SVGTextContentElement.cpp:
687         (WebCore::SVGTextContentElement::SVGTextContentElement):
688         * svg/SVGTextContentElement.h:
689         * svg/SVGTextElement.cpp:
690         * svg/SVGTextElement.h:
691         (WebCore::SVGTextElement::contextElement):
692         * svg/SVGTextPathElement.cpp:
693         (WebCore::SVGTextPathElement::SVGTextPathElement):
694         * svg/SVGTextPathElement.h:
695         (WebCore::SVGTextPathElement::contextElement):
696         * svg/SVGTextPositioningElement.cpp:
697         * svg/SVGTextPositioningElement.h:
698         * svg/SVGTransformList.cpp:
699         * svg/SVGTransformList.h:
700         * svg/SVGURIReference.h:
701         * svg/SVGUseElement.cpp:
702         (WebCore::SVGUseElement::SVGUseElement):
703         * svg/SVGUseElement.h:
704         (WebCore::SVGUseElement::contextElement):
705         * svg/SVGViewElement.h:
706         (WebCore::SVGViewElement::contextElement):
707         * svg/SVGViewSpec.cpp:
708         * svg/SVGViewSpec.h:
709
710 2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
711
712         Reviewed by Simon.
713
714         * Change IconDatabase::iconForPageURL to return more information. E.g. if
715         an image has been found, or if the loading of an image has been scheduled.
716         * Update FrameLoader to use another method to trigger reading from disk
717         * Update the QWebFrame and QWebSettings
718
719         * history/HistoryItem.cpp:
720         * loader/FrameLoader.cpp:
721         * loader/icon/IconDatabase.cpp:
722         (WebCore::IconDatabase::iconForPageURL):
723         (WebCore::IconDatabase::readIconForPageURLFromDisk):
724         (WebCore::IconDatabase::iconURLForPageURL):
725         (WebCore::IconDatabase::defaultIcon):
726         * loader/icon/IconDatabase.h:
727         (WebCore::):
728
729 2008-04-03  Dan Bernstein  <mitz@apple.com>
730
731         - Mac build fix
732
733         * WebCore.base.exp:
734
735 2008-04-03  Simon Hausmann  <hausmann@webkit.org>
736
737         Fix the build when building without icondatabase.
738
739         * loader/icon/IconDatabaseNone.cpp: Fix the function signature, no
740         bool cache anymore.
741
742 2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
743
744         Reviewed by Simon.
745
746         * Remove the unused 'cache' parameter
747
748         * loader/icon/IconDatabase.cpp:
749         (WebCore::IconDatabase::iconForPageURL):
750         * loader/icon/IconDatabase.h:
751
752 2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
753
754         Reviewed by Simon.
755
756         * Add WebCore/loader/icon to the DEPENDPATH as well
757
758         * WebCore.pro:
759
760 2008-04-02  Brady Eidson  <beidson@apple.com>
761
762         Reviewed by Mitz Pettel
763
764         <rdar://problem/5838347> and http://bugs.webkit.org/show_bug.cgi?id=11839
765         Webarchive fails to save CSS files in @import statements
766
767         * css/CSSStyleSheet.cpp:
768         (WebCore::CSSStyleSheet::addSubresourceURLStrings): Recursively add the URL each @import rule under the current style sheet.
769         * css/CSSStyleSheet.h:
770         * css/StyleSheet.h:
771         (WebCore::StyleSheet::addSubresourceURLStrings):
772
773         * html/HTMLLinkElement.cpp:
774         (WebCore::HTMLLinkElement::getSubresourceAttributeStrings): Add the linked URL as well as all @import
775           rules rooted at the linked stylesheet.
776
777         * html/HTMLStyleElement.cpp:
778         (WebCore::HTMLStyleElement::getSubresourceAttributeStrings): Walk all @import rules rooted at this
779           stylesheet to add to the list.
780         * html/HTMLStyleElement.h:
781
782 2008-04-02  Mark Rowe  <mrowe@apple.com>
783
784         Reviewed by Oliver Hunt.
785
786         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
787
788         * Configurations/Base.xcconfig:
789
790 2008-04-02  Christian Persch  <chpe@gnome.org>
791
792         Reviewed by Alp Toker.
793
794         GTK+/Pango font backend build fix.
795
796         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
797         (WebCore::FontCustomPlatformData::fontPlatformData):
798
799 2008-04-02  Eric Seidel  <eric@webkit.org>
800
801         No review, build fix only.
802
803         Speculative build fix for no-svg build.
804         Use #if ENABLE(SVG) instead of #if ENABLE_SVG
805
806         * css/CSSMutableStyleDeclaration.cpp:
807         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
808
809 2008-04-02  Adam Roben  <aroben@apple.com>
810
811         Rename instances of ExecState from "state" to "exec" in
812         JavaScriptDebugServer
813
814         Rename requested by Darin Adler.
815
816         * page/JavaScriptDebugServer.cpp:
817
818 2008-04-02  Adam Roben  <aroben@apple.com>
819
820         Make it possible for JavaScriptDebugListeners to listen to specific Pages
821
822         JavaScriptDebugServer now has overloads of its
823         addListener/removeListener methods that take a Page* to indicate for
824         which Page the JavaScriptDebugListener wishes to receive messages.
825
826         Reviewed by Darin.
827
828         * page/JavaScriptDebugServer.cpp:
829         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all
830         ListenerSets being held in m_pageListenersMap.
831         (WebCore::JavaScriptDebugServer::addListener): Changed to call
832         hasListeners().
833         (WebCore::JavaScriptDebugServer::removeListener): Ditto.
834         (WebCore::JavaScriptDebugServer::addListener): Added. This overload
835         takes a Page* and puts the listener in the appropriate ListenerSet
836         within m_pageListenersMap. The ListenerSet is allocated and added to
837         m_pageListenersMap when its first listener is added.
838         (WebCore::JavaScriptDebugServer::removeListener): Added. This overload
839         takes a Page* and removes the listener from the appropriate
840         ListenerSet in m_pageListenersMap. The ListenerSet is deleted and
841         removed from m_pageListenersMap when its last listener is removed.
842         (WebCore::toPage): Added. Retrieves the parent Page from an ExecState.
843         (WebCore::JavaScriptDebugServer::sourceParsed): Changed to call
844         dispatchDidParseSource/dispatchDidFailToParseSource for both the
845         global listeners and the Page listeners.
846         (WebCore::dispatchFunctionToListeners): Added. This code was extracted
847         from the JavaScriptDebugServer method of the same name.
848         (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Call
849         dispatchFunctionToListeners for both the global listeners and the Page
850         listeners.
851         * page/JavaScriptDebugServer.h:
852           - Added declarations for new methods.
853           - Made JavaScriptExecutionCallback typedef public so that it could
854             be used by a helper method.
855           - Added new m_pageListenersMap member.
856 2008-04-02  Simon Hausmann  <hausmann@webkit.org>
857
858         Fix compilation on case-sensitive file systems.
859
860         * svg/SVGGradientElement.h: Include SVGTransformList.h instead of
861         SVGTRansformlist.h
862
863 2008-04-02  Nikolas Zimmermann  <zimmermann@kde.org>
864
865         Reviewed by Oliver.
866
867         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
868
869         SVG Errata states: "All SVG DOM objects that directly correspond to an
870         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
871         means that any changes made to the attribute are immediately reflected in the
872         corresponding SVG DOM object." (see linked URL on bug report)
873
874         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
875         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
876
877         Add a new synchronization layer to handle SVG DOM -> XML changes.
878
879         Added Test: svg/custom/svg-xml-dom-sync.html
880
881         * dom/Element.h:
882         * dom/NamedAttrMap.h:
883         * rendering/SVGRootInlineBox.cpp:
884         (WebCore::nodeToTextContentElement):
885         (WebCore::nodeToTextPositioningElement):
886         (WebCore::SVGRootInlineBox::buildLayoutInformation):
887         (WebCore::SVGRootInlineBox::buildTextChunks):
888         * svg/SVGAElement.h:
889         (WebCore::SVGAElement::contextElement):
890         * svg/SVGAltGlyphElement.h:
891         (WebCore::SVGAltGlyphElement::contextElement):
892         * svg/SVGAnimateColorElement.h:
893         (WebCore::SVGAnimateColorElement::contextElement):
894         * svg/SVGAnimateElement.h:
895         (WebCore::SVGAnimateElement::contextElement):
896         * svg/SVGAnimateMotionElement.h:
897         (WebCore::SVGAnimateMotionElement::contextElement):
898         * svg/SVGAnimateTransformElement.h:
899         (WebCore::SVGAnimateTransformElement::contextElement):
900         * svg/SVGAnimatedTemplate.h:
901         (WebCore::SVGAnimatedTemplate::toString):
902         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
903         (WebCore::lookupOrCreateWrapper):
904         (WebCore::SVGAnimatedAngle::SVGAnimatedAngle):
905         (WebCore::SVGAnimatedAngle::toString):
906         (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
907         (WebCore::SVGAnimatedBoolean::toString):
908         (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
909         (WebCore::SVGAnimatedEnumeration::toString):
910         (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
911         (WebCore::SVGAnimatedInteger::toString):
912         (WebCore::SVGAnimatedLength::SVGAnimatedLength):
913         (WebCore::SVGAnimatedLength::toString):
914         (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
915         (WebCore::SVGAnimatedLengthList::toString):
916         (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
917         (WebCore::SVGAnimatedNumber::toString):
918         (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
919         (WebCore::SVGAnimatedNumberList::toString):
920         (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
921         (WebCore::SVGAnimatedPreserveAspectRatio::toString):
922         (WebCore::SVGAnimatedRect::SVGAnimatedRect):
923         (WebCore::SVGAnimatedRect::toString):
924         (WebCore::SVGAnimatedString::SVGAnimatedString):
925         (WebCore::SVGAnimatedString::toString):
926         (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
927         (WebCore::SVGAnimatedTransformList::toString):
928         (WebCore::SVGAnimatedType::SVGAnimatedType):
929         * svg/SVGAnimationElement.h:
930         * svg/SVGCircleElement.h:
931         (WebCore::SVGCircleElement::contextElement):
932         * svg/SVGClipPathElement.h:
933         (WebCore::SVGClipPathElement::contextElement):
934         * svg/SVGComponentTransferFunctionElement.cpp:
935         * svg/SVGComponentTransferFunctionElement.h:
936         * svg/SVGCursorElement.cpp:
937         (WebCore::SVGCursorElement::SVGCursorElement):
938         * svg/SVGCursorElement.h:
939         (WebCore::SVGCursorElement::contextElement):
940         * svg/SVGDefsElement.h:
941         (WebCore::SVGDefsElement::contextElement):
942         * svg/SVGElement.cpp:
943         (WebCore::SVGElement::getAttribute):
944         * svg/SVGElement.h:
945         (LazilyUpdatedType::LazilyUpdatedType):
946         (LazilyUpdatedType::operator=):
947         (LazilyUpdatedType::operator==):
948         (LazilyUpdatedType::operator!=):
949         (LazilyUpdatedType::operator StoredType):
950         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
951         (WebCore::SVGElement::addSVGPropertySynchronizer):
952         * svg/SVGEllipseElement.cpp:
953         (WebCore::SVGEllipseElement::SVGEllipseElement):
954         * svg/SVGEllipseElement.h:
955         (WebCore::SVGEllipseElement::contextElement):
956         * svg/SVGExternalResourcesRequired.h:
957         * svg/SVGFEBlendElement.h:
958         (WebCore::SVGFEBlendElement::contextElement):
959         * svg/SVGFEColorMatrixElement.cpp:
960         * svg/SVGFEColorMatrixElement.h:
961         (WebCore::SVGFEColorMatrixElement::contextElement):
962         * svg/SVGFEComponentTransferElement.h:
963         (WebCore::SVGFEComponentTransferElement::contextElement):
964         * svg/SVGFECompositeElement.h:
965         (WebCore::SVGFECompositeElement::contextElement):
966         * svg/SVGFEDiffuseLightingElement.h:
967         (WebCore::SVGFEDiffuseLightingElement::contextElement):
968         * svg/SVGFEDisplacementMapElement.h:
969         (WebCore::SVGFEDisplacementMapElement::contextElement):
970         * svg/SVGFEFloodElement.h:
971         (WebCore::SVGFEFloodElement::contextElement):
972         * svg/SVGFEGaussianBlurElement.h:
973         (WebCore::SVGFEGaussianBlurElement::contextElement):
974         * svg/SVGFEImageElement.cpp:
975         * svg/SVGFEImageElement.h:
976         (WebCore::SVGFEImageElement::contextElement):
977         * svg/SVGFELightElement.h:
978         * svg/SVGFEMergeElement.h:
979         (WebCore::SVGFEMergeElement::contextElement):
980         * svg/SVGFEMergeNodeElement.h:
981         (WebCore::SVGFEMergeNodeElement::contextElement):
982         * svg/SVGFEOffsetElement.h:
983         (WebCore::SVGFEOffsetElement::contextElement):
984         * svg/SVGFESpecularLightingElement.h:
985         (WebCore::SVGFESpecularLightingElement::contextElement):
986         * svg/SVGFETileElement.h:
987         (WebCore::SVGFETileElement::contextElement):
988         * svg/SVGFETurbulenceElement.h:
989         (WebCore::SVGFETurbulenceElement::contextElement):
990         * svg/SVGFilterElement.cpp:
991         (WebCore::SVGFilterElement::SVGFilterElement):
992         * svg/SVGFilterElement.h:
993         (WebCore::SVGFilterElement::contextElement):
994         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
995         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
996         * svg/SVGFilterPrimitiveStandardAttributes.h:
997         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
998         * svg/SVGFitToViewBox.cpp:
999         * svg/SVGFitToViewBox.h:
1000         * svg/SVGFontElement.h:
1001         (WebCore::SVGFontElement::contextElement):
1002         * svg/SVGForeignObjectElement.cpp:
1003         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1004         * svg/SVGForeignObjectElement.h:
1005         (WebCore::SVGForeignObjectElement::contextElement):
1006         * svg/SVGGElement.h:
1007         (WebCore::SVGGElement::contextElement):
1008         * svg/SVGGradientElement.cpp:
1009         * svg/SVGGradientElement.h:
1010         * svg/SVGImageElement.cpp:
1011         (WebCore::SVGImageElement::SVGImageElement):
1012         * svg/SVGImageElement.h:
1013         (WebCore::SVGImageElement::contextElement):
1014         * svg/SVGLength.cpp:
1015         (WebCore::SVGLength::SVGLength):
1016         (WebCore::SVGLength::operator=):
1017         (WebCore::SVGLength::operator==):
1018         (WebCore::SVGLength::operator!=):
1019         * svg/SVGLength.h:
1020         * svg/SVGLengthList.cpp:
1021         (WebCore::SVGLengthList::valueAsString):
1022         * svg/SVGLengthList.h:
1023         * svg/SVGLineElement.cpp:
1024         (WebCore::SVGLineElement::SVGLineElement):
1025         * svg/SVGLineElement.h:
1026         (WebCore::SVGLineElement::contextElement):
1027         * svg/SVGLinearGradientElement.cpp:
1028         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1029         (WebCore::SVGLinearGradientElement::collectGradientProperties):
1030         * svg/SVGLinearGradientElement.h:
1031         (WebCore::SVGLinearGradientElement::contextElement):
1032         * svg/SVGMPathElement.h:
1033         (WebCore::SVGMPathElement::contextElement):
1034         * svg/SVGMarkerElement.cpp:
1035         (WebCore::SVGMarkerElement::SVGMarkerElement):
1036         * svg/SVGMarkerElement.h:
1037         (WebCore::SVGMarkerElement::contextElement):
1038         * svg/SVGMaskElement.cpp:
1039         (WebCore::SVGMaskElement::SVGMaskElement):
1040         * svg/SVGMaskElement.h:
1041         (WebCore::SVGMaskElement::contextElement):
1042         * svg/SVGNumberList.cpp:
1043         (WebCore::SVGNumberList::valueAsString):
1044         * svg/SVGNumberList.h:
1045         * svg/SVGPathElement.h:
1046         (WebCore::SVGPathElement::contextElement):
1047         * svg/SVGPatternElement.cpp:
1048         (WebCore::SVGPatternElement::SVGPatternElement):
1049         (WebCore::SVGPatternElement::collectPatternProperties):
1050         * svg/SVGPatternElement.h:
1051         (WebCore::SVGPatternElement::contextElement):
1052         * svg/SVGPolyElement.h:
1053         (WebCore::SVGPolyElement::contextElement):
1054         * svg/SVGPreserveAspectRatio.cpp:
1055         (WebCore::SVGPreserveAspectRatio::valueAsString):
1056         * svg/SVGPreserveAspectRatio.h:
1057         * svg/SVGRadialGradientElement.cpp:
1058         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1059         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
1060         (WebCore::SVGRadialGradientElement::collectGradientProperties):
1061         * svg/SVGRadialGradientElement.h:
1062         (WebCore::SVGRadialGradientElement::contextElement):
1063         * svg/SVGRectElement.cpp:
1064         (WebCore::SVGRectElement::SVGRectElement):
1065         * svg/SVGRectElement.h:
1066         (WebCore::SVGRectElement::contextElement):
1067         * svg/SVGSVGElement.cpp:
1068         (WebCore::SVGSVGElement::SVGSVGElement):
1069         (WebCore::SVGSVGElement::currentView):
1070         * svg/SVGSVGElement.h:
1071         (WebCore::SVGSVGElement::contextElement):
1072         * svg/SVGScriptElement.h:
1073         (WebCore::SVGScriptElement::contextElement):
1074         * svg/SVGSetElement.h:
1075         (WebCore::SVGSetElement::contextElement):
1076         * svg/SVGStyledElement.h:
1077         * svg/SVGStyledTransformableElement.cpp:
1078         * svg/SVGStyledTransformableElement.h:
1079         * svg/SVGSwitchElement.h:
1080         (WebCore::SVGSwitchElement::contextElement):
1081         * svg/SVGSymbolElement.h:
1082         (WebCore::SVGSymbolElement::contextElement):
1083         * svg/SVGTRefElement.h:
1084         (WebCore::SVGTRefElement::contextElement):
1085         * svg/SVGTSpanElement.h:
1086         (WebCore::SVGTSpanElement::contextElement):
1087         * svg/SVGTextContentElement.cpp:
1088         (WebCore::SVGTextContentElement::SVGTextContentElement):
1089         * svg/SVGTextContentElement.h:
1090         * svg/SVGTextElement.cpp:
1091         * svg/SVGTextElement.h:
1092         (WebCore::SVGTextElement::contextElement):
1093         * svg/SVGTextPathElement.cpp:
1094         (WebCore::SVGTextPathElement::SVGTextPathElement):
1095         * svg/SVGTextPathElement.h:
1096         (WebCore::SVGTextPathElement::contextElement):
1097         * svg/SVGTextPositioningElement.cpp:
1098         * svg/SVGTextPositioningElement.h:
1099         * svg/SVGTransformList.cpp:
1100         (SVGTransformList::valueAsString):
1101         * svg/SVGTransformList.h:
1102         * svg/SVGURIReference.h:
1103         * svg/SVGUseElement.cpp:
1104         (WebCore::SVGUseElement::SVGUseElement):
1105         * svg/SVGUseElement.h:
1106         (WebCore::SVGUseElement::contextElement):
1107         * svg/SVGViewElement.h:
1108         (WebCore::SVGViewElement::contextElement):
1109         * svg/SVGViewSpec.cpp:
1110         (WebCore::SVGViewSpec::SVGViewSpec):
1111         (WebCore::SVGViewSpec::contextElement):
1112         * svg/SVGViewSpec.h:
1113
1114 2008-04-02  Darin Adler  <darin@apple.com>
1115
1116         Reviewed by Alexey.
1117
1118         - fix storage leak seen on buildbot
1119
1120         * platform/graphics/cg/ImageBufferCG.cpp:
1121         (WebCore::utiFromMIMEType): Put the result of createCFString() into a RetainPtr. Changed
1122         result to be a RetainPtr.
1123         (WebCore::ImageBuffer::toDataURL): Tweak a little bit, removing one local variable and
1124         some unneeded explicit conversions.
1125
1126 2008-04-01  Darin Adler  <darin@apple.com>
1127
1128         * WebCore.vcproj/WebCore.vcproj: Added RangeBoundaryPoint.h -- not required, but convenient.
1129
1130 2008-04-01  Darin Adler  <darin@apple.com>
1131
1132         Reviewed by Sam and Antti.
1133
1134         - fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes
1135
1136         Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of
1137         the offset is now stored as a node pointer, and the offset is computed as and when needed.
1138         This allows us to efficiently update when the DOM tree is changed -- computation of the
1139         node offsets is deferred until the Range is used later.
1140
1141         * WebCore.base.exp: Export nodeIndex().
1142
1143         * WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h
1144         and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting.
1145
1146         * dom/ContainerNode.cpp:
1147         (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document.
1148
1149         * dom/Document.cpp:
1150         (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range.
1151         (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for
1152         the index.
1153         * dom/Document.h: Take fewer arguments.
1154
1155         * dom/NodeWithIndexAfter.h: Removed.
1156         * dom/NodeWithIndexBefore.h: Removed.
1157
1158         * dom/Range.cpp:
1159         (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor.
1160         (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position.
1161         (WebCore::Range::~Range): Ditto.
1162         (WebCore::Range::startContainer): Ditto.
1163         (WebCore::Range::startOffset): Ditto.
1164         (WebCore::Range::endContainer): Ditto.
1165         (WebCore::Range::endOffset): Ditto.
1166         (WebCore::Range::commonAncestorContainer): Ditto.
1167         (WebCore::Range::collapsed): Ditto.
1168         (WebCore::Range::setStart): Ditto.
1169         (WebCore::Range::setEnd): Ditto.
1170         (WebCore::Range::collapse): Ditto.
1171         (WebCore::Range::isPointInRange): Ditto.
1172         (WebCore::Range::comparePoint): Ditto.
1173         (WebCore::Range::compareNode): Ditto.
1174         (WebCore::Range::compareBoundaryPoints): Ditto.
1175         (WebCore::Range::boundaryPointsValid): Ditto.
1176         (WebCore::Range::intersectsNode): Ditto.
1177         (WebCore::Range::processContents): Ditto.
1178         (WebCore::Range::cloneContents): Ditto.
1179         (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code
1180         at the end that updates the range -- not all of it is needed now since most of the fixup
1181         is done automatically by the range document mutation machinery. The one bit that remains
1182         is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification
1183         that it is indeed a bug (and then Acid3 will probably have to change).
1184         (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position.
1185         (WebCore::Range::text): Ditto.
1186         (WebCore::Range::createContextualFragment): Ditto.
1187         (WebCore::Range::detach): Ditto.
1188         (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to
1189         be more efficient by using childNode instead of childNodeCount, and also return the node
1190         before which is needed to set the value of a RangeBoundaryPoint.
1191         (WebCore::Range::cloneRange): Ditto.
1192         (WebCore::Range::setStartAfter): Ditto.
1193         (WebCore::Range::setEndBefore): Ditto.
1194         (WebCore::Range::setEndAfter): Ditto.
1195         (WebCore::Range::selectNode): Ditto.
1196         (WebCore::Range::selectNodeContents): Ditto.
1197         (WebCore::Range::surroundContents): Ditto.
1198         (WebCore::Range::setStartBefore): Ditto.
1199         (WebCore::Range::checkDeleteExtract): Ditto.
1200         (WebCore::Range::containedByReadOnly): Ditto.
1201         (WebCore::Range::firstNode): Ditto.
1202         (WebCore::Range::editingStartPosition): Ditto.
1203         (WebCore::Range::pastLastNode): Ditto.
1204         (WebCore::Range::addLineBoxRects): Ditto.
1205         (WebCore::Range::formatForDebugger): Ditto.
1206         (WebCore::Range::maxStartOffset): Ditto.
1207         (WebCore::Range::maxEndOffset): Ditto.
1208         (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of
1209         Position. Also changed name and changed to just call invalidateOffset.
1210         (WebCore::Range::nodeChildrenChanged): Changed to take just a container node.
1211         (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of
1212         Position. Also changed name and changed to update childBefore.
1213         (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*.
1214         (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of
1215         Position. Also changed name.
1216         (WebCore::Range::textInserted): Ditto.
1217         (WebCore::boundaryTextRemoved): Ditto.
1218         (WebCore::Range::textRemoved): Ditto.
1219         (WebCore::boundaryTextNodesMerged): Ditto.
1220         (WebCore::Range::textNodesMerged): Ditto.
1221         (WebCore::boundaryTextNodesSplit): Ditto.
1222         (WebCore::Range::textNodeSplit): Ditto.
1223
1224         * dom/Range.h: Updated to use RangeBoundaryPoint instead of Position.
1225
1226         * dom/RangeBoundaryPoint.h: Added.
1227
1228 2008-04-01  Anders Carlsson  <andersca@apple.com>
1229
1230         Reviewed by Sam.
1231
1232         Get rid of old "bindings" forwarding headers.
1233
1234         * ForwardingHeaders/bindings: Removed.
1235         * ForwardingHeaders/bindings/NP_jsobject.h: Removed.
1236         * ForwardingHeaders/bindings/npruntime.h: Removed.
1237         * ForwardingHeaders/bindings/npruntime_impl.h: Removed.
1238         * ForwardingHeaders/bindings/npruntime_internal.h: Removed.
1239         * ForwardingHeaders/bindings/runtime.h: Removed.
1240         * ForwardingHeaders/bindings/runtime_object.h: Removed.
1241         * ForwardingHeaders/bindings/runtime_root.h: Removed.
1242
1243 2008-04-01  Timothy Hatcher  <timothy@apple.com>
1244
1245         Rename DatabasePanel.js to DatabasesPanel.js to facilitate the up-coming UI refresh changes.
1246
1247         http://bugs.webkit.org/show_bug.cgi?id=17773
1248
1249         Rubber-stamped by Brady Eidson.
1250
1251         * WebCore.vcproj/WebCore.vcproj: Reference DatabasesPanel.js.
1252         * page/inspector/DatabasePanel.js: Removed.
1253         * page/inspector/DatabasesPanel.js: Copied from page/inspector/DatabasePanel.js.
1254         * page/inspector/WebKit.qrc: Reference DatabasesPanel.js.
1255         * page/inspector/inspector.html: Reference DatabasesPanel.js.
1256
1257 2008-04-01  Brady Eidson  <beidson@apple.com>
1258
1259         Touch a file to get Windows to rebuild WebCore
1260
1261         * platform/ContextMenu.cpp: Alphabetize headers
1262
1263 2008-04-01  Brady Eidson  <beidson@apple.com>
1264
1265         Reviewed by Adam Roben
1266
1267         Export loader/archive and loader/archive/cf headers for WebKitWin to use
1268
1269         * WebCore.vcproj/WebCore.vcproj:
1270
1271 2008-04-01  Brady Eidson  <beidson@apple.com>
1272
1273         Reviewed by Darin
1274
1275         WebArchives need to load on Windows the same way as on Mac, and this change in the 
1276         finished-loading code path was a big part of that
1277
1278         * loader/FrameLoader.cpp:
1279         (WebCore::FrameLoader::finishedLoadingDocument): Only call the client's finishedLoading()
1280           for non-archive loads
1281
1282 2008-04-01  Dan Bernstein  <mitz@apple.com>
1283
1284         - Mac build fix
1285
1286         * WebCore.xcodeproj/project.pbxproj: Made FontRenderingMode.h private.
1287
1288 2008-04-01  Dan Bernstein  <mitz@apple.com>
1289
1290         Reviewed by Darin Adler.
1291
1292         - move the FontRenderingMode enumeration into its own header file
1293
1294         * WebCore.vcproj/WebCore.vcproj:
1295         * WebCore.xcodeproj/project.pbxproj:
1296         * loader/CachedFont.h:
1297         * platform/graphics/FontDescription.h:
1298         * platform/graphics/FontRenderingMode.h: Added.
1299         (WebCore::):
1300         * platform/graphics/gtk/FontCustomPlatformData.h:
1301         * platform/graphics/mac/FontCustomPlatformData.h:
1302         * platform/graphics/qt/FontCustomPlatformData.h:
1303         * platform/graphics/win/FontCustomPlatformData.h:
1304
1305 2008-04-01  Darin Adler  <darin@apple.com>
1306
1307         Reviewed by Mitz.
1308
1309         - fix <rdar://problem/5833351> REGRESSION: Leak in JSCustomXPathNSResolver::create
1310         - fix <rdar://problem/5833216> REGRESSION: Leak in CSSStyleSelector::addViewportDependentMediaQueryResult
1311
1312         * bindings/js/JSCustomXPathNSResolver.cpp:
1313         (WebCore::JSCustomXPathNSResolver::create): Added a missing adoptRef.
1314         * css/CSSStyleSelector.cpp:
1315         (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a missing call to deleteAllValues.
1316
1317 2008-04-01  Darin Adler  <darin@apple.com>
1318
1319         Reviewed by Sam.
1320
1321         - speed up hasChildNodes, which does not need to be virtual
1322
1323         * dom/ContainerNode.cpp: Removed hasChildNodes.
1324         * dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
1325         * dom/Node.cpp: Removed hasChildNodes.
1326         * dom/Node.h: Added non-vritual inline hasChildNodes.
1327
1328 2008-04-01  Simon Hausmann  <hausmann@webkit.org>
1329
1330         Fix the non-mac build.
1331
1332         * page/AXObjectCache.h: Don't reference AccessibilityObjects when
1333         building without accessibility.
1334         * page/AccessibilityObject.h: Don't include RetainPtr.h for non-mac
1335         builds.
1336
1337 2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1338
1339         Reviewed by Simon.
1340
1341         * Do not store the QWebFrame associated with a ScrollView/FrameView
1342         in the WebCore::Widget.
1343         * Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core
1344         and QWebFramePrivate::kit function to convert from and to QWebFrame.
1345
1346         * platform/Widget.h:
1347         * platform/qt/WidgetQt.cpp:
1348         (WebCore::WidgetPrivate::WidgetPrivate):
1349         (WebCore::Widget::containingWindow):
1350
1351 2008-04-01  Alice Liu  <alice.liu@apple.com>
1352         Patch by Beth Dakin <bdakin@apple.com> and Alice Liu
1353
1354         Reviewed by Darin.
1355
1356         Refactored WebCore Accessibility code.  Prior to this patch, WebCore
1357         accessibility was implemented in an ObjC class named WebCoreAXObject,
1358         with much of the "guts" in C++.  This patch the next natural step of
1359         factoring out the C++ code into a class named AccessibilityObject, and 
1360         in order to maintain the required ObjC object ties, also implements an
1361         ObjC class named AccessibilityObjectWrapper as a thin wrapper around the
1362         C++ object.  Internally within WebCore we operate on the C++ object as
1363         much as possible, and the ObjC object gets used mostly when we need to
1364         return something to AppKit or call something implemented on NSObject.
1365         The AXObjectCache still keeps one HashMap, now of RenderObjects to
1366         AccessibilityObjects instead of WebCoreAXObjects, and the
1367         AccessibilityObject keeps track of its ObjC wrapper.
1368
1369         * WebCore.xcodeproj/project.pbxproj:
1370         * page/AXObjectCache.h:
1371         (WebCore::AXObjectCache::get):
1372         (WebCore::AXObjectCache::removeAXID):
1373         * page/AccessibilityObject.cpp: Added.
1374         (WebCore::AccessibilityObject::AccessibilityObject):
1375         (WebCore::AccessibilityObject::~AccessibilityObject):
1376         (WebCore::AccessibilityObject::create):
1377         (WebCore::AccessibilityObject::detach):
1378         (WebCore::AccessibilityObject::firstChild):
1379         (WebCore::AccessibilityObject::lastChild):
1380         (WebCore::AccessibilityObject::previousSibling):
1381         (WebCore::AccessibilityObject::nextSibling):
1382         (WebCore::AccessibilityObject::parentObject):
1383         (WebCore::AccessibilityObject::parentObjectUnignored):
1384         (WebCore::AccessibilityObject::isWebArea):
1385         (WebCore::AccessibilityObject::isImageButton):
1386         (WebCore::AccessibilityObject::isAnchor):
1387         (WebCore::AccessibilityObject::isTextControl):
1388         (WebCore::AccessibilityObject::isImage):
1389         (WebCore::AccessibilityObject::isAttachment):
1390         (WebCore::isPasswordFieldElement):
1391         (WebCore::AccessibilityObject::isPasswordField):
1392         (WebCore::AccessibilityObject::headingLevel):
1393         (WebCore::AccessibilityObject::isHeading):
1394         (WebCore::AccessibilityObject::anchorElement):
1395         (WebCore::isCheckboxOrRadio):
1396         (WebCore::AccessibilityObject::actionElement):
1397         (WebCore::AccessibilityObject::mouseButtonListener):
1398         (WebCore::AccessibilityObject::helpText):
1399         (WebCore::AccessibilityObject::textUnderElement):
1400         (WebCore::AccessibilityObject::hasIntValue):
1401         (WebCore::AccessibilityObject::intValue):
1402         (WebCore::AccessibilityObject::stringValue):
1403         (WebCore::labelForElement):
1404         (WebCore::AccessibilityObject::title):
1405         (WebCore::AccessibilityObject::accessibilityDescription):
1406         (WebCore::AccessibilityObject::boundingBoxRect):
1407         (WebCore::AccessibilityObject::size):
1408         (WebCore::AccessibilityObject::linkedUIElement):
1409         (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
1410         (WebCore::AccessibilityObject::accessibilityIsIgnored):
1411         (WebCore::AccessibilityObject::loaded):
1412         (WebCore::AccessibilityObject::layoutCount):
1413         (WebCore::AccessibilityObject::textLength):
1414         (WebCore::AccessibilityObject::selectedText):
1415         (WebCore::AccessibilityObject::selection):
1416         (WebCore::AccessibilityObject::selectedTextRange):
1417         (WebCore::AccessibilityObject::setSelectedText):
1418         (WebCore::AccessibilityObject::setSelectedTextRange):
1419         (WebCore::AccessibilityObject::makeRangeVisible):
1420         (WebCore::AccessibilityObject::url):
1421         (WebCore::AccessibilityObject::isVisited):
1422         (WebCore::AccessibilityObject::isFocused):
1423         (WebCore::AccessibilityObject::setFocused):
1424         (WebCore::AccessibilityObject::setValue):
1425         (WebCore::AccessibilityObject::isEnabled):
1426         (WebCore::AccessibilityObject::press):
1427         (WebCore::AccessibilityObject::topRenderer):
1428         (WebCore::AccessibilityObject::textControl):
1429         (WebCore::AccessibilityObject::widget):
1430         (WebCore::AccessibilityObject::axObjectCache):
1431         (WebCore::AccessibilityObject::documentLinks):
1432         (WebCore::AccessibilityObject::documentFrameView):
1433         (WebCore::AccessibilityObject::frameViewIfRenderView):
1434         (WebCore::AccessibilityObject::visiblePositionRange):
1435         (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
1436         (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers):
1437         (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker):
1438         (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker):
1439         (WebCore::updateAXLineStartForVisiblePosition):
1440         (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker):
1441         (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker):
1442         (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker):
1443         (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker):
1444         (WebCore::startOfStyleRange):
1445         (WebCore::endOfStyleRange):
1446         (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker):
1447         (WebCore::AccessibilityObject::textMarkerRangeForRange):
1448         (WebCore::AccessibilityObject::stringForReplacedNode):
1449         (WebCore::AccessibilityObject::doAXStringForTextMarkerRange):
1450         (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
1451         (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange):
1452         (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
1453         (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
1454         (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker):
1455         (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker):
1456         (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker):
1457         (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker):
1458         (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker):
1459         (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker):
1460         (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker):
1461         (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker):
1462         (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker):
1463         (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker):
1464         (WebCore::AccessibilityObject::textMarkerForIndex):
1465         (WebCore::AccessibilityObject::doAXUIElementForTextMarker):
1466         (WebCore::AccessibilityObject::doAXLineForTextMarker):
1467         (WebCore::AccessibilityObject::rangeForTextMarkerRange):
1468         (WebCore::AccessibilityObject::indexForTextMarker):
1469         (WebCore::AccessibilityObject::doAXRangeForLine):
1470         (WebCore::AccessibilityObject::doAXRangeForPosition):
1471         (WebCore::AccessibilityObject::doAXRangeForIndex):
1472         (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
1473         (WebCore::AccessibilityObject::doAXStringForRange):
1474         (WebCore::AccessibilityObject::doAXBoundsForRange):
1475         (WebCore::AccessibilityObject::doAXLineForIndex):
1476         (WebCore::AccessibilityObject::doAccessibilityHitTest):
1477         (WebCore::AccessibilityObject::focusedUIElement):
1478         (WebCore::AccessibilityObject::observableObject):
1479         (WebCore::AccessibilityObject::roleValue):
1480         (WebCore::AccessibilityObject::canSetFocusAttribute):
1481         (WebCore::AccessibilityObject::canSetValueAttribute):
1482         (WebCore::AccessibilityObject::canSetTextRangeAttributes):
1483         (WebCore::AccessibilityObject::childrenChanged):
1484         (WebCore::AccessibilityObject::clearChildren):
1485         (WebCore::AccessibilityObject::hasChildren):
1486         (WebCore::AccessibilityObject::addChildren):
1487         (WebCore::AccessibilityObject::axObjectID):
1488         (WebCore::AccessibilityObject::setAXObjectID):
1489         (WebCore::AccessibilityObject::removeAXObjectID):
1490         * page/AccessibilityObject.h: Added.
1491         (WebCore::):
1492         (WebCore::VisiblePositionRange::VisiblePositionRange):
1493         (WebCore::VisiblePositionRange::isNull):
1494         (WebCore::AccessibilityObject::detached):
1495         (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange):
1496         (WebCore::AccessibilityObject::PlainTextRange::isNull):
1497         (WebCore::AccessibilityObject::renderer):
1498         (WebCore::AccessibilityObject::children):
1499         (WebCore::AccessibilityObject::wrapper):
1500         (WebCore::AccessibilityObject::setWrapper):
1501         * page/mac/AXObjectCacheMac.mm:
1502         (WebCore::AXObjectCache::~AXObjectCache):
1503         (WebCore::AXObjectCache::get):
1504         (WebCore::AXObjectCache::remove):
1505         (WebCore::AXObjectCache::getAXID):
1506         (WebCore::AXObjectCache::removeAXID):
1507         (WebCore::AXObjectCache::textMarkerForVisiblePosition):
1508         (WebCore::AXObjectCache::childrenChanged):
1509         (WebCore::AXObjectCache::postNotification):
1510         (WebCore::AXObjectCache::postNotificationToElement):
1511         * page/mac/AccessibilityObjectMac.mm: Added.
1512         (createAccessibilityRoleMap):
1513         (RoleEntry::):
1514         (roleValueToNSString):
1515         (AccessibilityObject::attachmentView):
1516         (AccessibilityObject::performPressActionForAttachment):
1517         (AccessibilityObject::textMarkerRange):
1518         (AccessibilityObject::textMarkerForVisiblePosition):
1519         (AccessibilityObject::startTextMarker):
1520         (AccessibilityObject::visiblePositionForTextMarker):
1521         (AccessibilityObject::visiblePositionForStartOfTextMarkerRange):
1522         (AccessibilityObject::visiblePositionForEndOfTextMarkerRange):
1523         (AccessibilityObject::textMarkerRangeFromVisiblePositions):
1524         (AccessibilityObject::textMarkerRangeForSelection):
1525         (AccessibilityObject::textMarkerRangeFromMarkers):
1526         (AccessibilityObject::convertViewRectToScreenCoords):
1527         (AccessibilityObject::convertAbsolutePointToViewCoords):
1528         (AccessibilityObject::convertWidgetChildrenToNSArray):
1529         (AccessibilityObject::position):
1530         (AccessibilityObject::role):
1531         (AccessibilityObject::subrole):
1532         (AccessibilityObject::roleDescription):
1533         (blockquoteLevel):
1534         (AccessibilityObject::AXAttributeStringSetElement):
1535         (AXAttributeStringSetBlockquoteLevel):
1536         (CreateCGColorIfDifferent):
1537         (AXAttributeStringSetColor):
1538         (AXAttributeStringSetNumber):
1539         (AXAttributeStringSetFont):
1540         (AXAttributeStringSetStyle):
1541         (AccessibilityObject::AXAttributeStringSetHeadingLevel):
1542         (AccessibilityObject::AXLinkElementForNode):
1543         (AXAttributeStringSetSpelling):
1544         (AccessibilityObject::AXAttributedStringAppendText):
1545         (nsStringForReplacedNode):
1546         (AccessibilityObject::doAXAttributedStringForTextMarkerRange):
1547         (AccessibilityObject::doAXAttributedStringForRange):
1548         (AccessibilityObject::doAXRTFForRange):
1549         * page/mac/AccessibilityObjectWrapper.h: Added.
1550         * page/mac/AccessibilityObjectWrapper.mm: Added.
1551         (-[AccessibilityObjectWrapper initWithAccessibilityObject:]):
1552         (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
1553         (-[AccessibilityObjectWrapper detach]):
1554         (-[AccessibilityObjectWrapper accessibilityObject]):
1555         (-[AccessibilityObjectWrapper accessibilityActionNames]):
1556         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1557         (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
1558         (-[AccessibilityObjectWrapper renderWidgetChildren]):
1559         (convertToNSArray):
1560         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1561         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
1562         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
1563         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1564         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
1565         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1566         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
1567         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1568         (rendererForView):
1569         (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
1570         (-[AccessibilityObjectWrapper accessibilityActionDescription:]):
1571         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1572         (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
1573         * page/mac/WebCoreAXObject.h: Removed.
1574         * page/mac/WebCoreAXObject.mm: Removed.
1575         * rendering/RenderMenuList.cpp:
1576         (WebCore::RenderMenuList::selectElement):
1577         * rendering/RenderMenuList.h:
1578
1579 2008-03-31  Dan Bernstein  <mitz@apple.com>
1580
1581         - fix previous attempted fixes
1582
1583         * platform/qt/TemporaryLinkStubs.cpp:
1584         (PluginDatabase::getPluginPathsInDirectories):
1585         * platform/wx/TemporaryLinkStubs.cpp:
1586         (PluginDatabase::getPluginPathsInDirectories):
1587
1588 2008-03-31  Dan Bernstein  <mitz@apple.com>
1589
1590         - fix Qt link stubs
1591
1592         * platform/qt/TemporaryLinkStubs.cpp:
1593         (PluginDatabase::getPluginPathsInDirectories):
1594         (PluginDatabase::isPreferredPluginDirectory):
1595
1596 2008-03-31  Dan Bernstein  <mitz@apple.com>
1597
1598         - try to fix the Wx build
1599
1600         * platform/wx/TemporaryLinkStubs.cpp:
1601         (PluginDatabase::getPluginPathsInDirectories):
1602         (PluginDatabase::isPreferredPluginDirectory):
1603
1604 2008-03-31  Dan Bernstein  <mitz@apple.com>
1605
1606         - Gtk and Qt build fixes
1607
1608         * platform/graphics/gtk/FontCustomPlatformData.cpp:
1609         (WebCore::FontCustomPlatformData::fontPlatformData):
1610         * platform/graphics/gtk/FontCustomPlatformData.h:
1611         * platform/graphics/qt/FontCustomPlatformData.cpp:
1612         (WebCore::FontCustomPlatformData::fontPlatformData):
1613         * platform/graphics/qt/FontCustomPlatformData.h:
1614
1615 2008-03-31  Dan Bernstein  <mitz@apple.com>
1616
1617         - Mac build fix
1618
1619         * platform/graphics/mac/FontCustomPlatformData.cpp:
1620         (WebCore::FontCustomPlatformData::fontPlatformData):
1621         * platform/graphics/mac/FontCustomPlatformData.h:
1622
1623 2008-03-31  Dan Bernstein  <mitz@apple.com>
1624
1625         Reviewed by Darin Adler.
1626
1627         - fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text
1628
1629         * WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp}
1630
1631         * css/CSSFontFaceSource.cpp:
1632         (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering
1633         mode to CachedFont::platformDataFromCustomData().
1634
1635         * loader/CachedFont.cpp:
1636         (WebCore::CachedFont::platformDataFromCustomData): Added a rendering
1637         mode parameter which is passed down to
1638         FontCustomPlatformData::fontPlatformData().
1639
1640         * loader/CachedFont.h:
1641
1642         * platform/graphics/win/FontCacheWin.cpp:
1643         (WebCore::FontCache::fontExists): Changed the number 5 to the named
1644         constant CLEARTYPE_QUALITY.
1645
1646         * platform/graphics/win/FontCustomPlatformData.cpp:
1647         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code
1648         to delete the embedded font reference.
1649         (WebCore::FontCustomPlatformData::fontPlatformData): Added code to
1650         create an HFONT from the embedded font reference and pass it along with
1651         the CGFontRef to the FontPlatformData constructor. Added a rendering
1652         mode parameter which is passed down to the FontPlatformData constructor.
1653         (WebCore::EOTStream::EOTStream): Added this helper class used to feed
1654         data to TTLoadEmbeddedFont().
1655         (WebCore::EOTStream::read): Added.
1656         (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback.
1657         (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived
1658         font name. 
1659         (WebCore::createFontCustomPlatformData): Added code to make the font
1660         accessible to GDI by creating an Embedded OpenType stream and
1661         activating it in the process under a globally-unique name.
1662
1663         * platform/graphics/win/FontCustomPlatformData.h:
1664         Added a font reference data member which holds the embedded font.
1665         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
1666         rendering mode parameter.
1667
1668         * platform/graphics/win/FontPlatformData.h:
1669         (WebCore::FontPlatformData::FontPlatformData): Made this class always
1670         own the CGFontRef and the HFONT by turning these data members into a
1671         RetainPtr and a RefPtr around a RefCountedHFONT.
1672         Added an HFONT parameter to the CGFontRef-based constructor.
1673         Made platformDataInit() private.
1674         (WebCore::FontPlatformData::hfont):
1675         (WebCore::FontPlatformData::cgFont):
1676         (WebCore::FontPlatformData::hash):
1677         (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added.
1678         (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
1679         (WebCore::FontPlatformData::RefCountedHFONT::hfont):
1680         (WebCore::FontPlatformData::RefCountedHFONT::hash):
1681
1682         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1683         (WebCore::FontPlatformData::platformDataInit): Changed to take
1684         ownership of the CGFontRef created here.
1685         (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter
1686         and a useGDI flag.
1687
1688         * platform/graphics/win/FontPlatformDataWin.cpp:
1689         (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership
1690         of the HFONT.
1691
1692         * platform/graphics/win/GetEOTHeader.cpp: Added.
1693         (WebCore::BigEndianUShort::operator unsigned short):
1694         (WebCore::BigEndianULong::operator unsigned):
1695         (WebCore::appendBigEndianStringToEOTHeader):
1696         (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot)
1697         header for the given font data, making it suitable as input for
1698         TTLoadEmbeddedFont.
1699
1700         * platform/graphics/win/GetEOTHeader.h: Added.
1701
1702         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1703         (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts
1704         of the FontPlatformData, since they are now always owned and managed
1705         by the FontPlatformData.
1706
1707 2008-03-31  Darin Adler  <darin@apple.com>
1708
1709         Reviewed by Anders.
1710
1711         - fix crash seen on buildbot (regression from a recent speedup)
1712
1713         * html/HTMLDocument.cpp:
1714         (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since
1715         that takes care of the null string case.
1716
1717 2008-03-31  Dan Bernstein  <mitz@apple.com>
1718
1719         Reviewed by John Sullivan.
1720
1721         - fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up
1722
1723         * platform/win/CursorWin.cpp:
1724         (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors
1725         to fully opaque. The mask is ignored and the alpha values from the
1726         32-bit image are used except in the case of a fully-transparent image,
1727         in which the fully-opaque 1-bit mask is required to get transparency.
1728
1729 2008-03-31  Brady Eidson  <beidson@apple.com>
1730
1731         Reviewed by Jon Honeycutt
1732
1733         Move a WebArchive loading check into WebCore
1734         
1735         * loader/FrameLoader.cpp:
1736         (WebCore::FrameLoader::committedLoad): Don't call the client method if currently loading a WebArchive
1737
1738 2008-03-31  Brady Eidson  <beidson@apple.com>
1739
1740         Reviewed by Oliver Hunt
1741
1742         "Turn on" WebArchives for Windows
1743         
1744         Thought I'd done this already, but I hadn't!
1745
1746         * platform/MIMETypeRegistry.cpp:
1747         (WebCore::initializeSupportedNonImageMimeTypes): Apply known ArchiveFactory MIME types
1748
1749 2008-03-31  Dan Bernstein  <mitz@apple.com>
1750
1751         Reviewed by Dave Hyatt.
1752
1753         - fix http://bugs.webkit.org/show_bug.cgi?id=18076
1754           Box disappears after CSS Transition completes
1755
1756         * page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR
1757         macro to not blend two invalid colors.
1758         * rendering/RenderStyle.cpp:
1759         (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing
1760         copying of the m_color data member.
1761
1762 2008-03-31  Julien Chaffraix  <jchaffraix@webkit.org>
1763
1764         Reviewed by Darin.
1765
1766         Bug 18177: m_encoding is used twice in XMLHttpRequest
1767         http://bugs.webkit.org/show_bug.cgi?id=18177
1768
1769         - Change XMLHttpRequest variable m_encoding to m_responseEncoding.
1770
1771         - Change send local variable m_encoding to encoding.
1772
1773         No test case (no functionnal change).
1774
1775         * platform/network/ResourceResponseBase.h: Removed unused variable.
1776         * xml/XMLHttpRequest.cpp:
1777         (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding.
1778         (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding.
1779         (WebCore::XMLHttpRequest::didReceiveData): Ditto.
1780         * xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate
1781         the name as it is only used for response.
1782
1783 2008-03-27  Adam Roben  <aroben@apple.com>
1784
1785         Pass the right ExecStates to toJS when creating JS wrappers for
1786         objects from the inspected page
1787
1788         We now use an ExecState from the inspected page to create the JS
1789         wrappers for objects from the inspected page, rather than use an
1790         ExecState from the Inspector.
1791
1792         Reviewed by Tim Hatcher.
1793
1794         * page/InspectorController.cpp:
1795         (WebCore::getResourceDocumentNode):
1796         (WebCore::InspectorController::focusNode):
1797         (WebCore::InspectorController::addDatabaseScriptResource):
1798
1799 2008-03-31  Adam Roben  <aroben@apple.com>
1800
1801         Stop relying on functions added to prototypes in the Inspector being
1802         callable on objects from the inspected window
1803
1804         Reviewed by Tim Hatcher.
1805
1806         * page/inspector/Console.js:
1807         (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node)
1808         instead of node.titleInfo().
1809         * page/inspector/StylesSidebarPane.js: Changed uses of
1810         getShorthandValue, getShorthandPriority, getLonghandProperties, and
1811         getUniqueStyleProperties to call them as functions instead of as
1812         methods on the CSSStyleDeclaration objects.
1813         * page/inspector/utilities.js: Removed Node.prototype.titleInfo, and
1814         changed our CSSStyleDeclaration methods to just be standalone
1815         functions.
1816
1817 2008-03-26  Adam Roben  <aroben@apple.com>
1818
1819         Fix an exception while adding a message to the console
1820
1821         Reviewed by Mark Rowe.
1822
1823         * page/inspector/ConsolePanel.js: Don't call addMessageToSource if the
1824         panel has no such method. This can happen if we get a message for,
1825         e.g., a Database.
1826
1827 2008-03-31  Brady Eidson  <beidson@apple.com>
1828
1829         Reviewed by Darin and Mitz's rubber stamp
1830
1831         Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
1832
1833         * page/EditorClient.h:
1834         * svg/graphics/SVGImageEmptyClients.h:
1835
1836         * platform/mac/PasteboardMac.mm:
1837         (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly
1838
1839 2008-03-31  Brady Eidson  <beidson@apple.com>
1840
1841         Reviewed by Mitz Pettel
1842
1843         Fix for http://bugs.webkit.org/show_bug.cgi?id=18183
1844
1845         Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and 
1846         therefore don't know how to make a layout test for it.
1847
1848         * loader/archive/ArchiveResource.cpp:
1849         (WebCore::ArchiveResource::response): Fix potential null dereference
1850
1851 2008-03-29  Adam Roben  <aroben@apple.com>
1852
1853         Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on
1854         Windows
1855
1856         <http://bugs.webkit.org/show_bug.cgi?id=18208>
1857
1858         We now keep track of all the plugin paths found each time refresh() is
1859         called. We'll only instantiate PluginPackages if there are new paths
1860         or paths with changed timestamps since the last time refresh() was
1861         called.
1862
1863         Reviewed by Darin Adler and Anders Carlsson.
1864
1865         * plugins/PluginDatabase.cpp:
1866         (WebCore::PluginDatabase::refresh):
1867           - Only instantiate PluginPackages if there is a new path or a path
1868             with a changed timestamp since we last ran refresh().
1869           - Cache the set of plugin paths found and their timestamps for the
1870             next call to refresh().
1871           - Only re-register MIME types if our set of plugins changed.
1872         * plugins/PluginDatabase.h: Added a new member to cache plugin paths
1873         and their timestamps.
1874
1875 2008-03-29  Adam Roben  <aroben@apple.com>
1876
1877         Separate filesystem crawling from PluginPackage instantiation
1878
1879         Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing
1880         on Windows
1881         <http://bugs.webkit.org/show_bug.cgi?id=18208>
1882
1883         refresh() is now the only place where PluginPackages are instantiated.
1884         refresh() now asks for a set of plugins that no longer exist on disk,
1885         and the set of all plugin files in our plugin directories. Using these
1886         two sets we can update our instantiated plugins without copying any
1887         HashSets. The code in refresh() and in the platform-specific methods
1888         to crawl the filesystem is now quite a bit simpler.
1889
1890         PluginDatabase now stores both a PluginSet and a HashMap that maps
1891         plugin paths to PluginPackages. This allows us to quickly determine
1892         whether we already have a PluginPackage instantiated for a particular
1893         path. The new add/remove methods handle the modification of these two
1894         collections.
1895
1896         A nice side effect of all this is that refresh() no longer copies any
1897         HashSets.
1898
1899         Reviewed by Mitz Pettel.
1900
1901         * plugins/PluginDatabase.cpp:
1902         (WebCore::PluginDatabase::refresh): Unload any plugins that have been
1903         deleted from disk, and add any plugins that either weren't installed
1904         last time, or have changed since last time.
1905         (WebCore::PluginDatabase::getDeletedPlugins): Added.
1906         (WebCore::PluginDatabase::add): Added. Returns whether or not the
1907         PluginPackage was actually added to the database (duplicates won't be
1908         added).
1909         (WebCore::PluginDatabase::remove): Added.
1910         * plugins/PluginDatabase.h:
1911         * plugins/PluginPackage.h:
1912         (WebCore::PluginPackage::path): Added.
1913         (WebCore::PluginPackage::lastModified): Added.
1914         * plugins/gtk/PluginDatabaseGtk.cpp:
1915         (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from
1916         getPluginsInDirectories. Now fills a HashSet of Strings instead of
1917         instantiated PluginPackages.
1918         * plugins/win/PluginDatabaseWin.cpp:
1919         (WebCore::addPluginPathsFromRegistry): Ditto.
1920         (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto.
1921
1922 2008-03-29  Adam Roben  <aroben@apple.com>
1923
1924         Change getPluginsInDirectories to use an out parameter
1925
1926         This avoids copying a HashSet.
1927
1928         Reviewed by Mitz Pettel.
1929
1930         * plugins/PluginDatabase.cpp:
1931         (WebCore::PluginDatabase::refresh):
1932         * plugins/PluginDatabase.h:
1933         * plugins/gtk/PluginDatabaseGtk.cpp:
1934         (WebCore::PluginDatabase::getPluginsInDirectories):
1935         * plugins/win/PluginDatabaseWin.cpp:
1936         (WebCore::PluginDatabase::getPluginsInDirectories):
1937
1938 2008-03-29  Adam Roben  <aroben@apple.com>
1939
1940         Make some PluginPackage methods return const String&
1941
1942         Reviewed by Mitz Pettel.
1943
1944         * plugins/PluginPackage.h:
1945
1946 2008-03-29  Adam Roben  <aroben@apple.com>
1947
1948         Rename PluginDatabase's "PluginPaths" to "PluginDirectories"
1949
1950         The code expects these paths to all be directories, so it seems good
1951         to refer to them as such.
1952
1953         This patch just changes "Paths" to "Directories" and "Path" to
1954         "Directory".
1955
1956         Reviewed by Mitz Pettel.
1957
1958         * platform/qt/TemporaryLinkStubs.cpp:
1959         * platform/wx/TemporaryLinkStubs.cpp:
1960         * plugins/PluginDatabase.cpp:
1961         (WebCore::PluginDatabase::installedPlugins):
1962         (WebCore::PluginDatabase::refresh):
1963         * plugins/PluginDatabase.h:
1964         (WebCore::PluginDatabase::setPluginDirectories):
1965         * plugins/gtk/PluginDatabaseGtk.cpp:
1966         (WebCore::PluginDatabase::getPluginsInDirectories):
1967         * plugins/win/PluginDatabaseWin.cpp:
1968         (WebCore::PluginDatabase::getPluginsInDirectories):
1969         (WebCore::safariPluginsDirectory):
1970         (WebCore::PluginDatabase::defaultPluginDirectories):
1971         (WebCore::PluginDatabase::isPreferredPluginDirectory):
1972         * plugins/win/PluginPackageWin.cpp:
1973         (WebCore::PluginPackage::compare):
1974
1975 2008-03-29  Adam Roben  <aroben@apple.com>
1976
1977         Remove PlatformFileTime
1978
1979         This typedef is time_t on all platforms, so we can just get rid of the
1980         typedef.
1981
1982         Reviewed by Mitz Pettel.
1983
1984         * platform/FileSystem.h:
1985         * plugins/PluginPackage.cpp:
1986         * plugins/PluginPackage.h:
1987
1988 2008-03-29  Adam Roben  <aroben@apple.com>
1989
1990         Change PlatformFileTime on Windows to be time_t
1991
1992         This matches other platforms and our existing functions in
1993         FileSystem.h. It will also let us get rid of PlatformFileTime
1994         altogether.
1995
1996         Reviewed by Mitz Pettel.
1997
1998         * platform/FileSystem.h: Change PlatformFileTime to time_t on Windows.
1999         * plugins/win/PluginDatabaseWin.cpp:
2000         (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get
2001         the modification time to pass to PluginPackage::create.
2002         (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
2003         * plugins/win/PluginPackageWin.cpp:
2004         (WebCore::PluginPackage::hash): Updated to use m_lastModified as a
2005         time_t.
2006         (WebCore::PluginPackage::equal): Ditto.
2007
2008 2008-03-29  Adam Roben  <aroben@apple.com>
2009
2010         Make PluginPackage work like our other RefCounted classes
2011
2012         PluginPackage now starts with a ref count of 1, and its createPackage
2013         method now returns a PassRefPtr instead of a raw pointer.
2014
2015         Reviewed by Darin Adler.
2016
2017         * plugins/PluginPackage.cpp:
2018         (WebCore::PluginPackage::PluginPackage): Removed explicit call to the
2019         RefCounted constructor so that we'll start with a ref count of 1.
2020         (WebCore::PluginPackage::createPackage): Changed to return a
2021         PassRefPtr.
2022         * plugins/PluginPackage.h:
2023         * plugins/gtk/PluginDatabaseGtk.cpp:
2024         (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the
2025         newly-created PluginPackage in a RefPtr.
2026         * plugins/win/PluginDatabaseWin.cpp:
2027         (WebCore::addPluginsFromRegistry): Ditto.
2028         (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
2029
2030 2008-03-29  Adam Roben  <aroben@apple.com>
2031
2032         Fix Bug 18214: WebKit will sometimes load duplicate plugins
2033
2034         <http://bugs.webkit.org/show_bug.cgi?id=18214>
2035
2036         We now compare 3 things to determine if two PluginPackages are equal:
2037           1) Name
2038           2) Description
2039           3) Supported MIME types
2040
2041         This matches Gecko's equality logic for plugins (implemented in
2042         nsPluginTag::Equals).
2043
2044         Reviewed by Darin Adler.
2045
2046         * plugins/win/PluginPackageWin.cpp:
2047         (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to
2048         calculate the hash.
2049         (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to
2050         determine equality.
2051
2052 2008-03-31  Simon Hausmann  <hausmann@webkit.org>
2053
2054         Fix the Qt build.
2055
2056         ResourceHandleInternal.h references ResourceHandle::fireFailure, so include
2057         ResourceHandle.h.
2058
2059         * platform/network/ResourceHandleInternal.h:
2060
2061 2008-03-31  Rob Buis  <buis@kde.org>
2062
2063         Reviewed by Darin.
2064
2065         http://bugs.webkit.org/show_bug.cgi?id=15595
2066         marker property doesn't show up correctly as "shorthand" in inspector
2067
2068         Make sure parsing the marker property sets the individual
2069         marker properties as implicit with marker as shorthand.
2070         Also let CSSStyleDecleration::getPropertyValue return
2071         the correct value for the marker property.
2072
2073         * css/CSSMutableStyleDeclaration.cpp:
2074         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2075         * css/CSSParser.cpp:
2076         * css/CSSParser.h:
2077         (WebCore::ShorthandScope::ShorthandScope):
2078         (WebCore::ShorthandScope::~ShorthandScope):
2079         * css/SVGCSSParser.cpp:
2080         (WebCore::CSSParser::parseSVGValue):
2081
2082 2008-03-30  Eric Seidel  <eric@webkit.org>
2083
2084         Reviewed by Oliver.
2085
2086         Make AMatthews life easier -- fix the SVG_FILTERS build
2087
2088         Build fix only, no tests.
2089
2090         * svg/SVGComponentTransferFunctionElement.cpp:
2091         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2092         * svg/SVGFEColorMatrixElement.cpp:
2093         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2094         * svg/SVGFEDiffuseLightingElement.cpp:
2095         * svg/SVGFEGaussianBlurElement.cpp:
2096         * svg/SVGFEImageElement.cpp:
2097         (WebCore::SVGFEImageElement::SVGFEImageElement):
2098         * svg/SVGFESpecularLightingElement.cpp:
2099         * svg/SVGFETurbulenceElement.cpp:
2100         * svg/SVGFilterElement.cpp:
2101         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2102         * svg/graphics/filters/SVGFEBlend.cpp:
2103         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
2104         * svg/graphics/filters/SVGFEComposite.cpp:
2105         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2106         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2107         * svg/graphics/filters/SVGFEImage.cpp:
2108         * svg/graphics/filters/SVGFEMerge.cpp:
2109         * svg/graphics/filters/SVGFEMorphology.cpp:
2110         * svg/graphics/filters/SVGFEOffset.cpp:
2111         * svg/graphics/filters/SVGFESpecularLighting.cpp:
2112         * svg/graphics/filters/SVGFETurbulence.cpp:
2113
2114 2008-03-30  Dan Bernstein  <mitz@apple.com>
2115
2116         Reviewed by Sam Weinig.
2117
2118         - fix http://bugs.webkit.org/show_bug.cgi?id=18115
2119           REGRESSION (r31250): Incomplete repaint of GoogleReader sidebar while reading unread posts
2120
2121         Test: fast/repaint/lines-with-layout-delta.html
2122
2123         * rendering/RenderObject.cpp:
2124         (WebCore::RenderObject::repaintRectangle): Made this method take layout
2125         delta into account.
2126
2127 2008-03-30  Dan Bernstein  <mitz@apple.com>
2128
2129         Reviewed by Maciej Stachowiak.
2130
2131         - fix assertion failure in CSSParser.cpp's equalIgnoringCase() when
2132           parsing certain transforms.
2133
2134         Test: fast/css/transform-function-lowercase-assert.html
2135
2136         * css/CSSParser.cpp:
2137         (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to
2138         always pass a lowercase string as the second argument of
2139         equalIgnoringCase().
2140
2141 2008-03-30  Mark Rowe  <mrowe@apple.com>
2142
2143         ARM build fix.
2144
2145         * platform/text/AtomicString.cpp:
2146         (WebCore::equal): Use correct variable name.
2147
2148 2008-03-30  Hiroyuki Ikezoe  <poincare@ikezoe.net>
2149
2150         Reviewed by Alp Toker.
2151
2152         http://bugs.webkit.org/show_bug.cgi?id=18036
2153         Rendering invalid japanese characters with pango backend.
2154
2155         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2156         (FontPlatformData::FontPlatformData): Set PangoFontDescription for
2157         PangoContext explicitly to use proper font.
2158
2159 2008-03-30  Rob Buis  <buis@kde.org>
2160
2161         Reviewed by Oliver.
2162
2163         http://bugs.webkit.org/show_bug.cgi?id=17633
2164         SVG: modifying x & y attribute of text element from JS fails
2165
2166         Make SVG text relayout when x, y attribute is changed from js.
2167
2168         * svg/SVGTextContentElement.cpp:
2169         (WebCore::SVGTextContentElement::isKnownAttribute):
2170         * svg/SVGTextContentElement.h:
2171         * svg/SVGTextElement.cpp:
2172         (WebCore::SVGTextElement::svgAttributeChanged):
2173         * svg/SVGTextElement.h:
2174         * svg/SVGTextPositioningElement.cpp:
2175         (WebCore::SVGTextPositioningElement::isKnownAttribute):
2176         * svg/SVGTextPositioningElement.h:
2177
2178 2008-03-28  Maciej Stachowiak  <mjs@apple.com>
2179
2180         Reviewed by Oliver.
2181
2182         - yet still more bindings speedup
2183         
2184         Make AtomicString straight from UString in handcoded bindings
2185
2186         * bindings/js/JSElementCustom.cpp:
2187         (WebCore::JSElement::setAttribute):
2188         (WebCore::JSElement::setAttributeNS):
2189         * dom/Document.cpp:
2190         (WebCore::Document::createElement):
2191         * dom/Document.h:
2192         * html/HTMLDocument.cpp:
2193         (WebCore::HTMLDocument::createElement):
2194         * html/HTMLDocument.h:
2195
2196 2008-03-29  Sam Weinig  <sam@webkit.org>
2197
2198         Reviewed by Darin Adler.
2199
2200         Fix for <rdar://problem/5828873>
2201
2202         Since NSURL is allowing invalid urls to be loaded, we need to
2203         check the URL validity at the ResourceHandle level and fire off
2204         a cannotShowURL error.
2205
2206         * loader/FrameLoader.cpp:
2207         (WebCore::FrameLoader::cannotShowURLError):
2208         * loader/FrameLoader.h:
2209         * loader/ResourceLoader.cpp:
2210         (WebCore::ResourceLoader::cannotShowURLError):
2211         (WebCore::ResourceLoader::wasBlocked):
2212         (WebCore::ResourceLoader::cannotShowURL):
2213         * loader/ResourceLoader.h:
2214         * platform/KURL.h:
2215         (WebCore::KURL::isValid):
2216         * platform/network/ResourceHandle.cpp:
2217         (WebCore::ResourceHandle::create):
2218         (WebCore::ResourceHandle::scheduleFailure):
2219         (WebCore::ResourceHandle::fireFailure):
2220         (WebCore::portAllowed):
2221         * platform/network/ResourceHandle.h:
2222         (WebCore::ResourceHandle::):
2223         * platform/network/ResourceHandleClient.h:
2224         (WebCore::ResourceHandleClient::cannotShowURL):
2225         * platform/network/ResourceHandleInternal.h:
2226         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2227
2228 2008-03-29  Darin Adler  <darin@apple.com>
2229
2230         Reviewed by Mitz.
2231
2232         - more bindings speedup
2233
2234         When I changed the temporary variables to be UString that means that the
2235         valueToString functions also need to return UString to avoid converting
2236         from UString to String twice.
2237
2238         * bindings/js/kjs_binding.cpp:
2239         (WebCore::valueToStringWithNullCheck): Changed return value to UString.
2240         (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
2241         * bindings/js/kjs_binding.h: Ditto.
2242
2243 2008-03-29  Darin Adler  <darin@apple.com>
2244
2245         Reviewed by Sam.
2246
2247         * DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.
2248
2249 2008-03-29  Darin Adler  <darin@apple.com>
2250
2251         Reviewed by Sam.
2252
2253         - tweak handling of the class attribute to speed up code that
2254           sets it but never needs to parse it
2255
2256         6% speedup of Acid3 test 26
2257
2258         * css/CSSStyleSelector.cpp:
2259         (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual
2260         classNames function since the hasClass bit can only be set for a
2261         StyledElement.
2262         (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also
2263         streamlined the code a bit for the tag matching as well.
2264
2265         * dom/ClassNames.cpp:
2266         (WebCore::hasNonASCIIOrUpper): Added. This function does what other
2267         callers seem to want isLower() to do. We should merge this with
2268         isLower() in a subsequent cleanup pass.
2269         (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute.
2270         Turns the string into a vector.
2271         (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.
2272
2273         * dom/ClassNames.h: Added a separate ClassNameData class so we could hold
2274         the string and case folding flag as well as the vector. Changed ClassNames
2275         to have a set function rather than a parseClassAttribute function. Removed
2276         the "static" from isClassWhitespace. There's no reason to ask for internal linkage.
2277
2278         * dom/ClassNodeList.cpp:
2279         (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the
2280         parseClassAttribute function.
2281         (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode
2282         check, since hasClass will only be true for StyledElement nodes. Use the new
2283         containsAll function in ClassNames instead of having a loop here.
2284
2285         * dom/ClassNodeList.h: Removed unneeded forward declaration.
2286
2287         * dom/Document.cpp: Removed unneeded include.
2288
2289         * dom/Element.cpp:
2290         (WebCore::Element::cloneNode): Changed code to copy attributes to use a
2291         function call instead of the assignment operator. This paves the way to
2292         making the function more efficient, using a virtual function.
2293         (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change
2294         (element -> m_element).
2295         (WebCore::Element::createAttributeMap): Changed to use create function instead of
2296         calling the constructor directly.
2297         * dom/Element.h: Removed unneeded virtual getClassNames function.
2298         Changed the argument to setAttributeMap to be a PassRefPtr.
2299
2300         * dom/NamedAttrMap.cpp:
2301         (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element).
2302         (WebCore::NamedAttrMap::getNamedItem): Ditto.
2303         (WebCore::NamedAttrMap::removeNamedItem): Ditto.
2304         (WebCore::NamedAttrMap::setNamedItem): Ditto.
2305         (WebCore::NamedAttrMap::item): Ditto.
2306         (WebCore::NamedAttrMap::detachFromElement): Ditto.
2307         (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator.
2308         (WebCore::NamedAttrMap::addAttribute): Ditto.
2309         (WebCore::NamedAttrMap::removeAttribute): Ditto.
2310         (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
2311         * dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added
2312         a new function, setAttributes, possibly to be made virtual in the future. Made
2313         isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected
2314         and added a create function.
2315
2316         * dom/NamedMappedAttrMap.cpp:
2317         (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to
2318         take a StyledElement.
2319         (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.
2320
2321         * dom/NamedMappedAttrMap.h: Made constructor private and added a create function.
2322         Replaced theparseClassAttribute function with clearClass and setClass functions.
2323         Replaced the getClassNames function with a classNames function returning a reference
2324         instead of a pointer.
2325
2326         * dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded
2327         virtual function isReadOnlyNode.
2328
2329         * dom/StyledElement.cpp:
2330         (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to
2331         use new function names and took out uneeded special case for null attribute.
2332         (WebCore::StyledElement::createAttributeMap): Changed to use create function instead
2333         of a direct call to new.
2334
2335         * dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual
2336         inline classNames function.
2337
2338         * html/HTMLElement.cpp:
2339         (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a
2340         function call instead of the assignment operator.
2341
2342         * html/HTMLTokenizer.cpp:
2343         (WebCore::Token::addAttribute): Use create function instead of a a direct call
2344         to new.
2345
2346         * html/HTMLViewSourceDocument.cpp:
2347         (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new
2348         create function.
2349         (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto.
2350         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
2351         (WebCore::HTMLViewSourceDocument::addLine): Ditto.
2352         (WebCore::HTMLViewSourceDocument::addText): Ditto.
2353         (WebCore::HTMLViewSourceDocument::addLink): Ditto.
2354         * html/HTMLViewSourceDocument.h: Ditto.
2355
2356         * svg/SVGUseElement.cpp:
2357         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy
2358         attributes to use a function call instead of the assignment operator.
2359         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.
2360
2361 2008-03-29  Sam Weinig  <sam@webkit.org>
2362
2363         Reviewed by Brady Eidson.
2364
2365         Fix crash when canceling a resource load while port blocked failure
2366         timer is going.
2367
2368         Test: fast/loader/cancel-load-during-port-block-timer.html
2369
2370         * platform/network/ResourceHandle.cpp:
2371         (WebCore::ResourceHandle::scheduleBlockedFailure):
2372         (WebCore::ResourceHandle::fireBlockedFailure):
2373         * platform/network/ResourceHandleInternal.h:
2374         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2375         Make the Timer a member variable of ResourceHandleInternal so
2376         that it can be canceled if the ResourceHandle is destroyed.
2377
2378 2008-03-28  Stephanie  <slewis@apple.com>
2379
2380         Fix 64bit build
2381
2382         * WebCore.LP64.exp:
2383         * loader/archive/cf/LegacyWebArchiveMac.mm:
2384         (WebCore::createResourceResponseFromMacArchivedData):
2385
2386 2008-03-28  Steve Falkenburg  <sfalken@apple.com>
2387
2388         Enabled LTCG on files within "page".
2389
2390         Rubber stamped by Oliver.
2391
2392         * WebCore.vcproj/WebCore.vcproj:
2393
2394 2008-03-28  Dan Bernstein  <mitz@apple.com>
2395
2396         Reviewed by Dave Hyatt.
2397
2398         - fix a percentage background position regression from r31389
2399
2400         Test: fast/backgrounds/background-position-1.html
2401
2402         * rendering/Length.h:
2403         (WebCore::Length::calcValue): Divide by 100.
2404         (WebCore::Length::calcMinValue): Ditto.
2405
2406 2008-03-28  David Hyatt  <hyatt@apple.com>
2407
2408         Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text
2409         to match the reference rendering on Acid 3.
2410
2411         * platform/graphics/SimpleFontData.h:
2412         * platform/graphics/mac/FontMac.mm:
2413         (WebCore::Font::drawGlyphs):
2414         * platform/graphics/mac/SimpleFontDataMac.mm:
2415         (WebCore::SimpleFontData::platformInit):
2416         * platform/graphics/win/FontCGWin.cpp:
2417         (WebCore::Font::drawGlyphs):
2418         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2419         (WebCore::SimpleFontData::platformInit):
2420         * rendering/RenderBlock.cpp:
2421         (WebCore::RenderBlock::positionNewFloats):
2422
2423 2008-03-28  Brady Eidson  <beidson@apple.com>
2424
2425         Reviewed by Darin Adler
2426
2427         More Kit->Core WebArchive changes.
2428
2429         Create an archive from the current selection in a frame
2430
2431         * WebCore.base.exp:
2432
2433         * loader/archive/cf/LegacyWebArchive.cpp:
2434         (WebCore::LegacyWebArchive::createFromSelection):
2435         * loader/archive/cf/LegacyWebArchive.h:
2436
2437 2008-03-28  Kevin McCullough  <kmccullough@apple.com>
2438
2439         - Somehow managed to duplicate code :(
2440
2441         * xml/XMLHttpRequest.cpp:
2442         (WebCore::XMLHttpRequest::didFinishLoading):
2443
2444 2008-03-28  Kevin McCullough  <kmccullough@apple.com>
2445
2446         - Missed some changes in previous checkin.
2447
2448         * xml/XMLHttpRequest.cpp:
2449         (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader.
2450         (WebCore::XMLHttpRequest::didFinishLoading):
2451
2452 2008-03-28  Kevin McCullough  <kmccullough@apple.com>
2453
2454         Reviewed by Adam.
2455
2456         -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
2457         -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
2458         -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)
2459         - Send the XMLHttpRequest data to the Inspector Controller.
2460
2461         * loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case.
2462         (WebCore::FrameLoader::loadResourceSynchronously):
2463         * loader/FrameLoader.h: Ditto.
2464         * page/InspectorController.cpp:
2465         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will
2466         be XHR and the encoding is not used (we decoded earlier).
2467         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing
2468         the KJS::UString::Rep.
2469         (WebCore::InspectorResource::setXMLHttpRequestProperties):
2470         (WebCore::InspectorResource::sourceString): Return the decoded source.
2471         (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource.
2472         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2473         * page/InspectorController.h: Pass a UString instead of copying to a WebCore::String.  In case we
2474         never ask for the string's contents this will save us an extra copy.
2475         * xml/XMLHttpRequest.cpp:
2476         (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier
2477         but we need it to find the InspectorResource in order to tell it that it was loaded via XHR.
2478         (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded
2479         via XHR.
2480         * xml/XMLHttpRequest.h: Ditto.
2481
2482 2008-03-28  Brady Eidson  <beidson@apple.com>
2483
2484         Reviewed by Sam Weinig
2485
2486         WebArchive saga continues - Can now make archives from ranges in WebCore
2487
2488         Again, previous layout test coverage exercised this code
2489
2490         * WebCore.base.exp:
2491
2492         * editing/markup.cpp:
2493         (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation
2494         * editing/markup.h:
2495
2496         * loader/archive/cf/LegacyWebArchive.cpp:
2497         (WebCore::LegacyWebArchive::create):
2498         * loader/archive/cf/LegacyWebArchive.h:
2499
2500 2008-03-28  Stephanie Lewis  <slewis@apple.com>
2501
2502         windows build fix.
2503
2504         * platform/win/MainThreadWin.cpp:
2505         (WebCore::initializeThreadingAndMainThread):
2506
2507 2008-03-28  Brady Eidson  <beidson@apple.com>
2508
2509         Reviewed by Sam Weinig
2510
2511         More Kit->Core webarchive code movement
2512
2513         * WebCore.base.exp:
2514         * editing/markup.cpp:
2515         (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including 
2516           the document type string, which the WebKit implementation did indirectly
2517         * editing/markup.h:
2518
2519 2008-03-28  Darin Adler  <darin@apple.com>
2520
2521         Reviewed by Maciej.
2522
2523         - cut down on copying and refcount churn a little by using references a bit more for
2524           KURL and String
2525
2526         * bindings/js/JSXMLHttpRequest.cpp:
2527         (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL.
2528         * css/StyleSheet.h:
2529         (WebCore::StyleSheet::href): Return const String& instead of String.
2530         (WebCore::StyleSheet::title): Ditto.
2531         * dom/Document.cpp:
2532         (WebCore::Document::completeURL): Use const KURL* for a local variable instead of
2533         KURL to avoid copying the KURL.
2534         * dom/Element.cpp:
2535         (WebCore::Element::baseURI): Use const KURL& instead of KURL.
2536         * html/HTMLAnchorElement.cpp:
2537         (WebCore::HTMLAnchorElement::hostname): Ditto.
2538         * html/HTMLFrameElementBase.cpp:
2539         (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto.
2540         * html/HTMLKeygenElement.cpp: Removed unneeded include of KURL.
2541         * page/ContextMenuController.cpp:
2542         (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary
2543         KURL.
2544         * platform/SecurityOrigin.cpp:
2545         (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL.
2546
2547 2008-03-28  Alexey Proskuryakov  <ap@webkit.org>
2548
2549         Reviewed by Sam Weinig.
2550
2551         Fix a dtoa thread safety issue.
2552
2553         * ForwardingHeaders/kjs/InitializeThreading.h: Added.
2554         * platform/MainThread.cpp:
2555         * platform/MainThread.h:
2556         (WebCore::initializeThreadingAndMainThread): Call KJS::initializeThreading instead of its
2557         WTF counterpart.
2558
2559 2008-03-28  Brent Fulgham  <bfulgham@gmail.com>
2560
2561         Reviewed by Maciej, landed by Brady
2562
2563         Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148)
2564
2565         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2566         (WebCore::GraphicsContext::getWindowsContext):
2567         (WebCore::GraphicsContext::releaseWindowsContext):
2568
2569 2008-03-28  Brady Eidson  <beidson@apple.com>
2570
2571         Reviewed by Darin
2572
2573         "Yet another transitional step" to empty out WebKit-based code for archiving.
2574
2575         With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
2576         entirely within WebCore, and opens the door to saving WebArchives on Windows.
2577
2578         This is another "zero behavior change" patch, and current editing/ and webarchive/ layout tests
2579         covered the relevant code
2580
2581         * WebCore.base.exp:
2582         * loader/archive/cf/LegacyWebArchive.cpp:
2583         (WebCore::LegacyWebArchive::create):
2584         * loader/archive/cf/LegacyWebArchive.h:
2585
2586 2008-03-28  Jasper Bryant-Greene  <jasper@unix.geek.nz>
2587
2588         Reviewed by Alp Toker.
2589
2590         http://bugs.webkit.org/show_bug.cgi?id=18061
2591         PlatformScrollBarGtk attempts to allocate negative width and/or height for widgets
2592
2593         Missing clampNegativeToZero() call meant that we tried to allocate widgets with negative width and/or height.
2594
2595         * platform/gtk/PlatformScrollBarGtk.cpp:
2596         (PlatformScrollbar::geometryChanged):
2597
2598 2008-03-28  Brady Eidson  <beidson@apple.com>
2599
2600         Reviewed by Darin
2601
2602         Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer
2603         created from a String.
2604
2605         * ForwardingHeaders/wtf/unicode/UTF8.h: Added.
2606         * platform/text/PlatformString.h:
2607         * platform/text/String.cpp:
2608         (WebCore::utf8Buffer):
2609
2610 2008-03-28  Darin Adler  <darin@apple.com>
2611
2612         Reviewed by Adam.
2613
2614         - eliminate a tiny bit of unnecessary refcount churn
2615
2616         * bindings/js/JSEventTargetBase.cpp:
2617         (WebCore::eventNameForPropertyToken): Return const AtomicString&.
2618         * bindings/js/JSEventTargetBase.h:
2619         (WebCore::JSEventTargetBase::getValueProperty): Update for above change.
2620         (WebCore::JSEventTargetBase::putValueProperty): Ditto.
2621
2622 2008-03-28  Simon Hausmann  <hausmann@webkit.org>
2623
2624         Fix the Qt build.
2625
2626         * rendering/Length.h: Include wtf/MathExtras.h for round().
2627
2628 2008-03-28  David Hyatt  <hyatt@apple.com>
2629
2630         Fix a bug where background-position truncates instead of rounding when it evaluates to fractional
2631         pixel values.  This matches other browsers.
2632
2633         Reviewed by maciej
2634
2635         Added fast/backgrounds/background-position-rounding.html
2636
2637         * rendering/Length.h:
2638         (WebCore::Length::calcValue):
2639         (WebCore::Length::calcMinValue):
2640         * rendering/RenderBox.cpp:
2641         (WebCore::RenderBox::calculateBackgroundImageGeometry):
2642
2643 2008-03-27  Kevin Ollivier  <kevino@theolliviers.com>
2644
2645         wx build fix. Return a default value for operator == 
2646         when !USE(WXGC) (not implemented in that case).
2647
2648         * platform/graphics/wx/AffineTransformWx.cpp:
2649         (WebCore::AffineTransform::operator== ):
2650
2651 2008-03-27  Maciej Stachowiak  <mjs@apple.com>
2652
2653         - fix build
2654
2655         * svg/SVGGlyphMap.h:
2656         (WebCore::GlyphMapNode::create):
2657
2658 2008-03-27  Brady Eidson  <beidson@apple.com>
2659
2660         Forgot a small requested change before committing
2661
2662         * loader/DocumentLoader.cpp:
2663         (WebCore::DocumentLoader::mainResource):
2664
2665 2008-03-27  Brady Eidson  <beidson@apple.com>
2666
2667         Reviewed by Adam Roben
2668
2669         Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
2670         as the push to core-ify WebArchives continues.
2671
2672         This patch also introduces a behavior change.  WebCore allows ArchiveResources with null or empty data.  
2673         WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.  
2674         Since WebResource is API, I decided to leave it be to avoid a behavior change.  But internally created resources 
2675         (as in "while archiving a page") are accepting of null or empty data.
2676
2677         This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.
2678
2679         * WebCore.base.exp:
2680         * loader/DocumentLoader.cpp:
2681         (WebCore::DocumentLoader::archiveResourceForURL): Make this const
2682         (WebCore::DocumentLoader::mainResource):
2683         (WebCore::DocumentLoader::subresource): Make this const and relocate
2684         (WebCore::DocumentLoader::getSubresources):
2685         * loader/DocumentLoader.h:
2686
2687 2008-03-27  Maciej Stachowiak  <mjs@apple.com>
2688
2689         Reviewed by Darin.
2690
2691         - fixed many buildbot leaks in glyph map code
2692
2693         * svg/SVGGlyphMap.h:
2694         (WebCore::GlyphMapNode::create): Use explicit create pattern, to avoid overreffing and therefore leaking
2695         these objects.
2696         (WebCore::SVGGlyphMap::add): Call create instead of using new.
2697
2698 2008-03-27  Maciej Stachowiak  <mjs@apple.com>
2699
2700         Rubber stamped by Oliver.
2701
2702         - re-fix Acid3, some code was incorrectly moved when fixing the Qt build
2703
2704         * rendering/SVGRootInlineBox.cpp:
2705         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2706
2707 2008-03-27  Simon Hausmann  <hausmann@webkit.org>
2708
2709         Fix compilation against Qt 4.4 and one missing SVG_FONTS #ifdef.
2710
2711         * platform/graphics/qt/FontQt.cpp:
2712         (WebCore::Font::floatWidth): Forgot to adjust this signture for Qt 4.4.
2713         * bindings/js/JSSVGElementWrapperFactory.cpp: Added a missing #ifdef
2714         for SVG_FONTS
2715
2716 2008-03-27  Simon Hausmann  <hausmann@webkit.org>
2717
2718         Reviewed by Eric Seidel.
2719
2720         Fix the Qt build and the build without ENABLE(SVG_FONTS)
2721
2722         * WebCore.pro: Removed ElementTimeControl.idl as it's ObjC only and
2723         removed some SVG_FONTS specific idl files from IDL_BINDINGS for now
2724         * bindings/js/JSSVGElementWrapperFactory.cpp: altGlyph is
2725         ENABLE(SVG_FONTS) only
2726         * platform/graphics/qt/FontQt.cpp:
2727         (WebCore::Font::floatWidth): Adjust the function signature to Font.h
2728         * rendering/SVGRootInlineBox.cpp:
2729         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Fix
2730         compilation without SVG_FONTS
2731         * svg/SVGAltGlyphElement.cpp: Compile only if ENABLE(SVG_FONTS)
2732         * svg/SVGAltGlyphElement.h: Ditto
2733         * svg/svgtags.in: hkern and altGlyph are SVG_FONTS only.
2734         * svg/SVGTSpanElement.cpp:
2735         (WebCore::SVGTSpanElement::childShouldCreateRenderer): Compile without
2736         SVG_FONTS
2737         * svg/SVGTextElement.cpp:
2738         (WebCore::SVGTextElement::childShouldCreateRenderer): Ditto
2739         * svg/SVGTextPathElement.cpp:
2740         (WebCore::SVGTextPathElement::childShouldCreateRenderer):
2741
2742 2008-03-26  Timothy Hatcher  <timothy@apple.com>
2743
2744         Rename some Inspector files to facilitate the up-coming UI refresh changes.
2745
2746         http://bugs.webkit.org/show_bug.cgi?id=17773
2747
2748         Rubber-stamped by Adam Roben.
2749
2750         * WebCore.vcproj/WebCore.vcproj:
2751         * page/inspector/Console.js: Copied from page/inspector/ConsolePanel.js.
2752         * page/inspector/ConsolePanel.js: Removed.
2753         * page/inspector/DocumentPanel.js: Removed.
2754         * page/inspector/ElementsPanel.js: Copied from page/inspector/DocumentPanel.js.
2755         * page/inspector/FontPanel.js: Removed.
2756         * page/inspector/FontView.js: Copied from page/inspector/FontPanel.js.
2757         * page/inspector/ImagePanel.js: Removed.
2758         * page/inspector/ImageView.js: Copied from page/inspector/ImagePanel.js.
2759         * page/inspector/NetworkPanel.js: Removed.
2760         * page/inspector/ResourcePanel.js: Removed.
2761         * page/inspector/ResourceView.js: Copied from page/inspector/ResourcePanel.js.
2762         * page/inspector/ResourcesPanel.js: Copied from page/inspector/NetworkPanel.js.
2763         * page/inspector/SourcePanel.js: Removed.
2764         * page/inspector/SourceView.js: Copied from page/inspector/SourcePanel.js.
2765         * page/inspector/WebKit.qrc:
2766         * page/inspector/inspector.html:
2767
2768 2008-03-26  Steve Falkenburg  <sfalken@apple.com>
2769
2770         Enable LTCG on css, dom files in WebCore
2771
2772         Reviewed by Stephanie.
2773
2774         * WebCore.vcproj/WebCore.vcproj:
2775
2776 2008-03-26  Stephanie Lewis  <slewis@apple.com>
2777
2778         Fix Windows Build
2779
2780         * WebCore.vcproj/WebCore.vcproj:
2781
2782 2008-03-26  Mark Rowe  <mrowe@apple.com>
2783
2784         Speculative GTK build fix.
2785
2786         * GNUmakefile.am:
2787
2788 2008-03-26  Mark Rowe  <mrowe@apple.com>
2789
2790         Mac build fix.
2791
2792         * WebCore.base.exp:  Remove nonexistent symbol from the export file.
2793
2794 2008-03-26  Sam Weinig  <sam@webkit.org>
2795
2796         Try and fix Gtk+ again.
2797
2798         * GNUmakefile.am:
2799
2800 2008-03-26  Dan Bernstein  <mitz@apple.com>
2801
2802         Reviewed by Dave Hyatt.
2803
2804         - fix <rdar://problem/5816522> REGRESSION (r30111-30112): Tahoe web cam website has some text in Chinese or japanese
2805
2806         * html/HTMLParser.cpp:
2807         (WebCore::HTMLParser::insertNode): Added call to beginParsingChildren()
2808         on the new node.
2809         (WebCore::HTMLParser::handleError): Ditto.
2810         (WebCore::HTMLParser::reopenResidualStyleTags): Ditto.
2811         (WebCore::HTMLParser::pushBlock): Removed incorrect call to
2812         beginParsingChildren() on the current node.
2813         * manual-tests/applet-finish-parsing-children.html: Added.
2814         * manual-tests/resources/DrawMessage.class: Added.
2815
2816 2008-03-26  Brady Eidson  <beidson@apple.com>
2817
2818         Reviewed by Darin
2819
2820         When we create a WebArchive, we walk every node from some starting point, asking each node
2821         along the way "What are your subresource URLs?"
2822
2823         That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
2824         WebCore::Node
2825
2826         * WebCore.base.exp:
2827         
2828         * dom/Node.cpp:
2829         (WebCore::Node::getSubresourceURLs):
2830         (WebCore::Node::getSubresourceAttributeStrings):  Virtual and empty.  Subclasses of Node that have 
2831           subresources will override it.
2832
2833         * dom/ProcessingInstruction.cpp:
2834         (WebCore::ProcessingInstruction::getSubresourceAttributeStrings):
2835         * dom/ProcessingInstruction.h:
2836         * html/HTMLBodyElement.cpp:
2837         (WebCore::HTMLBodyElement::getSubresourceAttributeStrings):
2838         * html/HTMLBodyElement.h:
2839         * html/HTMLEmbedElement.cpp:
2840         (WebCore::HTMLEmbedElement::getSubresourceAttributeStrings):
2841         * html/HTMLEmbedElement.h:
2842         * html/HTMLImageElement.cpp:
2843         (WebCore::HTMLImageElement::getSubresourceAttributeStrings):
2844         * html/HTMLImageElement.h:
2845         * html/HTMLInputElement.cpp:
2846         (WebCore::HTMLInputElement::getSubresourceAttributeStrings):
2847         * html/HTMLInputElement.h:
2848         * html/HTMLLinkElement.cpp:
2849         (WebCore::HTMLLinkElement::getSubresourceAttributeStrings):
2850         * html/HTMLLinkElement.h:
2851         * html/HTMLObjectElement.cpp:
2852         (WebCore::HTMLObjectElement::getSubresourceAttributeStrings):
2853         * html/HTMLObjectElement.h:
2854         * html/HTMLParamElement.cpp:
2855         (WebCore::HTMLParamElement::getSubresourceAttributeStrings):
2856         * html/HTMLParamElement.h:
2857         * html/HTMLScriptElement.cpp:
2858         (WebCore::HTMLScriptElement::getSubresourceAttributeStrings):
2859         * html/HTMLScriptElement.h:
2860         * html/HTMLTableCellElement.cpp:
2861         (WebCore::HTMLTableCellElement::getSubresourceAttributeStrings):
2862         * html/HTMLTableCellElement.h:
2863         * html/HTMLTableElement.cpp:
2864         (WebCore::HTMLTableElement::getSubresourceAttributeStrings):
2865         * html/HTMLTableElement.h:
2866         * svg/SVGCursorElement.cpp:
2867         (WebCore::SVGCursorElement::getSubresourceAttributeStrings):
2868         * svg/SVGCursorElement.h:
2869         * svg/SVGFEImageElement.cpp:
2870         (WebCore::SVGFEImageElement::getSubresourceAttributeStrings):
2871         * svg/SVGFEImageElement.h:
2872         * svg/SVGImageElement.cpp:
2873         (WebCore::SVGImageElement::getSubresourceAttributeStrings):
2874         * svg/SVGImageElement.h:
2875         * svg/SVGScriptElement.cpp:
2876         (WebCore::SVGScriptElement::getSubresourceAttributeStrings):
2877         * svg/SVGScriptElement.h:
2878
2879 2008-03-26  Dan Bernstein  <mitz@apple.com>
2880
2881         Reviewed by Dave Hyatt.
2882
2883         - maintain subpixel-antialiasing when drawing text with a simple shadow
2884
2885         * platform/graphics/mac/FontMac.mm:
2886         (WebCore::Font::drawComplexText): If the shadow has a zero blur radius,
2887         draw the shadow by drawing the text at an offset instead of relying on
2888         Core Graphics shadows.
2889         (WebCore::Font::drawGlyphs): Ditto.
2890         * platform/graphics/win/FontCGWin.cpp:
2891         (WebCore::Font::drawGlyphs): Ditto.
2892
2893 2008-03-26  Brady Eidson  <beidson@apple.com>
2894
2895         Reviewed by Mark Rowe
2896
2897         Part of the continued push to move WebArchive-related code down to WebCore, this
2898         moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
2899
2900         * WebCore.base.exp:
2901         * loader/DocumentLoader.cpp:
2902         (WebCore::DocumentLoader::subresource): Create an ArchiveResource from a CachedResource if it exists
2903           Otherwise, fallback to an ArchiveResource from the current Archive if any.  Otherwise, return null
2904         * loader/DocumentLoader.h:
2905
2906         * loader/archive/ArchiveResource.cpp:
2907         (WebCore::ArchiveResource::create):
2908         (WebCore::ArchiveResource::ArchiveResource):
2909         * loader/archive/ArchiveResource.h:
2910
2911 2008-03-26  Sam Weinig  <sam@webkit.org>
2912
2913         Fix Gtk+ build.
2914
2915         * GNUmakefile.am:
2916
2917 2008-03-26  Mark Rowe  <mrowe@apple.com>
2918
2919         Rubber-stamped by Brady Eidson.
2920
2921         Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
2922
2923         * Configurations/WebCore.xcconfig:
2924
2925 2008-03-26  Brent Fulgham  <bfulgham@gmail.com>
2926
2927         Reviewed by Adam Roben.
2928
2929         Add necessary files and build commands to vcproj files to
2930         build a Curl-based Windows WebKit.  For details, see
2931         http://bugs.webkit.org/show_bug.cgi?id=17985
2932
2933         * WebCore.vcproj/WebCore.vcproj:
2934
2935 2008-03-26  Adam Roben  <aroben@apple.com>
2936
2937         Record JS exceptions triggered by the Inspector's use of JSC
2938
2939         We now dump all exceptions returned from JavaScriptCore into the
2940         Inspector's console.
2941
2942         The HANDLE_EXCEPTION macro records the line on which the exception was
2943         returned. It calls a new private handleException method on
2944         InspectorController.
2945
2946         Reviewed by Kevin McCullough.
2947
2948         * page/InspectorController.cpp:
2949         (WebCore::InspectorController::callSimpleFunction): Made this be a
2950         member of InspectorController so that it can call handleException.
2951         (WebCore::addSourceToFrame): Pass the exception pointer on to inner
2952         JSC calls, and check it after those calls return.
2953         (WebCore::getResourceDocumentNode): Ditto.
2954         (WebCore::search): Ditto. Also changed the name/type of an existing
2955         exception variable to ExceptionCode ec.
2956         (WebCore::databaseTableNames): Ditto.
2957         (WebCore::moveByUnrestricted): Ditto.
2958         (WebCore::InspectorController::~InspectorController): Check for and
2959         record exceptions as we call JSC.
2960         (WebCore::InspectorController::focusNode): Ditto.
2961         (WebCore::InspectorController::scriptObjectReady): Ditto.
2962         (WebCore::addHeaders): Added an exception parameter.
2963         (WebCore::scriptObjectForRequest): Ditto.
2964         (WebCore::scriptObjectForResponse): Ditto.
2965         (WebCore::InspectorController::addScriptResource): Check for and
2966         record exceptions as we call JSC.
2967         (WebCore::InspectorController::addAndUpdateScriptResource): Ditto.
2968         (WebCore::InspectorController::removeScriptResource): Ditto. Also
2969         moved the call to setScriptObject to before the JSC calls so that it
2970         will always be called even if we return early if JSC throws an
2971         exception.
2972         (WebCore::InspectorController::updateScriptResourceRequest): Check for
2973         and record exceptions as we call JSC.
2974         (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
2975         (WebCore::InspectorController::updateScriptResource): Ditto.
2976         (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
2977         (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
2978         Also moved the call to setScriptObject to before the JSC calls so that
2979         it will always be called even if we return early if JSC throws an
2980         exception.
2981         (WebCore::InspectorController::addScriptConsoleMessage): Check for and
2982         record exceptions as we call JSC.
2983         (WebCore::InspectorController::handleException): Added.
2984         * page/InspectorController.h:
2985
2986 2008-03-26  Darin Adler  <darin@apple.com>
2987
2988         Rubber stamped by Maciej.
2989
2990         - removed a couple log messages in error cases that are handled internally
2991
2992         * platform/text/TextCodecICU.cpp:
2993         (WebCore::TextCodecICU::decode): Removed the LOG_ERROR.
2994         * platform/text/mac/TextCodecMac.cpp:
2995         (WebCore::TextCodecMac::decode): Ditto.
2996
2997 2008-03-26  Sam Weinig  <sam@webkit.org>
2998
2999         Reviewed by Adam Roben.
3000
3001         * page/Location.idl: Don't enumerate toString.
3002
3003 2008-03-26  Mark Rowe  <mrowe@apple.com>
3004
3005         Release build fix.
3006
3007         * rendering/SVGRootInlineBox.cpp:
3008         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Initialize svgFont to zero.
3009
3010 2008-03-26  Maciej Stachowiak  <mjs@apple.com>
3011
3012         Reviewed by Hyatt and Adam.
3013
3014         Coded by me and Darin.
3015         
3016         - SVG kerning support (horizontal kerning only for now since we don't do vertical text layout right yet) 
3017         
3018         Acid3 100/100
3019
3020         * DerivedSources.make:
3021         * WebCore.vcproj/WebCore.vcproj:
3022         * WebCore.xcodeproj/project.pbxproj:
3023         * platform/graphics/Font.cpp:
3024         (WebCore::Font::floatWidth):
3025         (WebCore::Font::isSVGFont):
3026         * platform/graphics/Font.h:
3027         * rendering/SVGInlineTextBox.cpp:
3028         (WebCore::SVGInlineTextBox::calculateGlyphWidth):
3029         (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
3030         * rendering/SVGInlineTextBox.h:
3031         * rendering/SVGRootInlineBox.cpp:
3032         (WebCore::cummulatedWidthOrHeightOfTextChunk):
3033         (WebCore::SVGRootInlineBox::buildLayoutInformation):
3034         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
3035         * rendering/SVGRootInlineBox.h:
3036         (WebCore::LastGlyphInfo::LastGlyphInfo):
3037         * svg/SVGFont.cpp:
3038         (WebCore::SVGTextRunWalker::walk):
3039         (WebCore::Font::svgFont):
3040         (WebCore::floatWidthOfSubStringUsingSVGFont):
3041         (WebCore::Font::floatWidthUsingSVGFont):
3042         (WebCore::Font::drawTextUsingSVGFont):
3043         (WebCore::Font::selectionRectForTextUsingSVGFont):
3044         * svg/SVGFontElement.cpp:
3045         (WebCore::SVGFontElement::invalidateGlyphCache):
3046         (WebCore::SVGFontElement::ensureGlyphCache):
3047         (WebCore::parseUnicodeRange):
3048         (WebCore::parseUnicodeRangeList):
3049         (WebCore::stringMatchesUnicodeRange):
3050         (WebCore::matches):
3051         (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
3052         * svg/SVGFontElement.h:
3053         * svg/SVGGlyphElement.cpp:
3054         (WebCore::SVGGlyphElement::insertedIntoDocument):
3055         (WebCore::SVGGlyphElement::removedFromDocument):
3056         * svg/SVGHKernElement.cpp: Added.
3057         (WebCore::SVGHKernElement::SVGHKernElement):
3058         (WebCore::SVGHKernElement::~SVGHKernElement):
3059         (WebCore::SVGHKernElement::insertedIntoDocument):
3060         (WebCore::SVGHKernElement::removedFromDocument):
3061         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
3062         * svg/SVGHKernElement.h: Added.
3063         (WebCore::SVGHorizontalKerningPair::SVGHorizontalKerningPair):
3064         (WebCore::SVGHKernElement::rendererIsNeeded):
3065         * svg/SVGHKernElement.idl: Added.
3066         * svg/SVGTextContentElement.cpp:
3067         (WebCore::cummulatedCharacterRangeLength):
3068         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
3069         * svg/svgtags.in:
3070
3071 2008-03-26  Sam Weinig  <sam@webkit.org>
3072
3073         Reviewed by Adam Roben.
3074
3075         Autogenerate JSLocation.
3076
3077         * GNUmakefile.am:
3078         * WebCore.pro:
3079         * WebCore.vcproj/WebCore.vcproj:
3080         * WebCore.xcodeproj/project.pbxproj:
3081         * WebCoreSources.bkl:
3082         Add files.
3083
3084         * DerivedSources.make: Add Location, remove JSLocation.lut.h
3085         * bindings/js/JSDOMWindowBase.cpp:
3086         (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
3087         (WebCore::JSDOMWindowBase::getValueProperty):
3088         (WebCore::JSDOMWindowBase::put):
3089         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
3090         (WebCore::JSDOMWindowBase::disconnectFrame):
3091         * bindings/js/JSDOMWindowBase.h:
3092         Remove manuel management of the Location object.
3093
3094         * bindings/js/JSDOMWindowCustom.cpp:
3095         (WebCore::JSDOMWindow::mark): Add marking of JSLocation.
3096         (WebCore::JSDOMWindow::setLocation): Add custom setLocation as we only want to do this when
3097         safe and we need to keep Dashboard quirks.
3098
3099         * bindings/js/JSDocumentCustom.cpp:
3100         (WebCore::JSDocument::location):
3101         Fetch the location object using the normal toJS route.
3102
3103         * bindings/js/JSLocation.cpp: Removed.
3104         * bindings/js/JSLocation.h: Removed.
3105         * bindings/js/JSLocationCustom.cpp: Added.
3106         (WebCore::JSLocation::customGetOwnPropertySlot):
3107         (WebCore::JSLocation::customPut):
3108         (WebCore::JSLocation::deleteProperty):
3109         (WebCore::JSLocation::customGetPropertyNames):
3110         (WebCore::navigateIfAllowed):
3111         (WebCore::JSLocation::setHref):
3112         (WebCore::JSLocation::setProtocol):
3113         (WebCore::JSLocation::setHost):
3114         (WebCore::JSLocation::setHostname):
3115         (WebCore::JSLocation::setPort):
3116         (WebCore::JSLocation::setPathname):
3117         (WebCore::JSLocation::setSearch):
3118         (WebCore::JSLocation::setHash):
3119         (WebCore::JSLocation::replace):
3120         (WebCore::JSLocation::reload):
3121         (WebCore::JSLocation::assign):
3122         (WebCore::JSLocation::toString):
3123         Setter and Functions need custom implementations as they rely on the dynamic
3124         global object for determining the behavior of the navigation.
3125
3126         * history/CachedPage.cpp:
3127         (WebCore::CachedPage::CachedPage):
3128         (WebCore::CachedPage::restore):
3129         (WebCore::CachedPage::clear):
3130         * history/CachedPage.h:
3131         Removed all the special casing for location as it should be treated like all
3132         the other objects hanging off the window.
3133
3134         * page/DOMWindow.cpp:
3135         (WebCore::DOMWindow::clear):
3136         (WebCore::DOMWindow::location):
3137         * page/DOMWindow.h:
3138         (WebCore::DOMWindow::optionalLocation):
3139         * page/DOMWindow.idl:
3140         Add Location accessor and pointer getter for marking.
3141
3142         * page/Location.cpp: Added.
3143         (WebCore::Location::Location):
3144         (WebCore::Location::disconnectFrame):
3145         (WebCore::Location::url):
3146         (WebCore::Location::href):
3147         (WebCore::Location::protocol):
3148         (WebCore::Location::host):
3149         (WebCore::Location::hostname):
3150         (WebCore::Location::port):
3151         (WebCore::Location::pathname):
3152         (WebCore::Location::search):
3153         (WebCore::Location::hash):
3154         (WebCore::Location::toString):
3155         * page/Location.h: Added.
3156         (WebCore::Location::create):
3157         (WebCore::Location::frame):
3158         * page/Location.idl: Added.
3159
3160 2008-03-26  David Hyatt  <hyatt@apple.com>
3161
3162         Add support for the rendering and measurement of the <altGlyph> element in SVG.  This patch brings
3163         is half of what's needed to reach 100/100 on Acid3 and pass the test.  Maciej has coded up the other half. :)
3164
3165         Reviewed by mjs
3166
3167         Added svg/custom/altGlyph.svg
3168
3169         * svg/SVGAltGlyphElement.cpp:
3170         (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
3171         (WebCore::SVGAltGlyphElement::glyphElement):
3172         * svg/SVGAltGlyphElement.h:
3173         * svg/SVGFont.cpp:
3174         (WebCore::SVGTextRunWalker::walk):
3175         * svg/SVGFontFaceElement.cpp:
3176         (WebCore::SVGFontFaceElement::insertedIntoDocument):
3177         * svg/SVGGlyphElement.cpp:
3178         (WebCore::SVGGlyphElement::insertedIntoDocument):
3179         (WebCore::SVGGlyphElement::removedFromDocument):
3180
3181 2008-03-26  Adam Roben  <aroben@apple.com>
3182
3183         Turn on SVG animation on Windows
3184
3185         Also touched some files to force things to rebuild/regenerate.
3186
3187         * WebCore.vcproj/WebCore.vcproj: Added ENABLE_SVG_ANIMATION.
3188         * WebCore.vcproj/build-generated-files.sh: Ditto.
3189         * bindings/scripts/CodeGenerator.pm: Touched.
3190         * config.h: Touched.
3191         * svg/svgtags.in: Touched.
3192
3193 2008-03-26  Justin Garcia  <justin.garcia@apple.com>
3194
3195         Reviewed by Harrison.
3196
3197         <rdar://problem/5820749> REGRESSION (Safari 3.1): Mail's plain text reply omits blank line following the attribution
3198
3199         * editing/markup.cpp:
3200         (WebCore::createFragmentFromText): When asked to create a fragment from "Attribution:\n"
3201         with a context from [html, 0] to [html, 0], we'd return "<html>Attribution</html><br>".
3202         Don't enclose paragraphs in clones of the context's enclosing block if that block is the
3203         html or body element.  Currently no way to test [DOMHTMLElement createFragmentFromText:].
3204
3205 2008-03-26  Antti Koivisto  <antti@apple.com>
3206
3207         Reviewed by Anders.
3208
3209         http://bugs.webkit.org/show_bug.cgi?id=17077
3210         Bug 17077: SVG SMIL animation is currently broken (and turned off) (affects Acid3 tests 75 and 76)
3211
3212         - enable SVG animation support.
3213         - basic implementation of beginElement()/endElement().
3214         
3215         Animation definitely will need more work than this, but it is a start!
3216
3217         * Configurations/WebCore.xcconfig:
3218         * svg/SVGAnimationElement.cpp:
3219         (WebCore::SVGAnimationElement::SVGAnimationElement):
3220         (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
3221         (WebCore::SVGAnimationElement::beginElement):
3222         (WebCore::SVGAnimationElement::beginElementAt):
3223         (WebCore::SVGAnimationElement::endElement):
3224         (WebCore::SVGAnimationElement::endElementAt):
3225         * svg/SVGAnimationElement.h:
3226
3227 2008-03-26  Mark Rowe  <mrowe@apple.com>
3228
3229         Reviewed by David Hyatt.
3230
3231         Make the Ahem font antialias correctly on Acid3 on Tiger.
3232
3233         * WebCore.Tiger.exp:
3234         * platform/graphics/mac/SimpleFontDataMac.mm:
3235         (WebCore::SimpleFontData::platformInit):
3236         * platform/mac/WebCoreSystemInterface.h:
3237         * platform/mac/WebCoreSystemInterface.mm:
3238
3239 2008-03-26  Simon Hausmann  <hausmann@webkit.org>
3240
3241         Attempt to fix the Qt build.
3242
3243         * platform/text/qt/TextCodecQt.cpp: Adjust function signature.
3244         (WebCore::TextCodecQt::decode):
3245         * platform/text/qt/TextCodecQt.h: Ditto.
3246
3247 2008-03-26  Dan Bernstein  <mitz@apple.com>
3248
3249         Reviewed by Anders Carlsson.
3250
3251         - fix http://bugs.webkit.org/show_bug.cgi?id=18104
3252           REGRESSION: LEAK: 2 InlineBox in editing/inserting/12882.html
3253
3254         * rendering/bidi.cpp:
3255         (WebCore::RenderBlock::layoutInlineChildren): When deciding to ditch
3256         old clean lines (due to changed or newly-added floats), keep the
3257         reference to those lines so they can be properly deleted in the end,
3258         and use a separate flag to signal that no matching should be attempted.
3259
3260 2008-03-26  Mark Rowe  <mrowe@apple.com>
3261
3262         Speculative Windows build fix.
3263
3264         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3265
3266 2008-03-25  Steve Falkenburg  <sfalken@apple.com>
3267
3268         Turn on link-time-codegen in html and rendering related files.
3269
3270         Reviewed by Oliver.
3271
3272         * WebCore.vcproj/WebCore.vcproj:
3273
3274 2008-03-26  Maciej Stachowiak  <mjs@apple.com>
3275
3276         Reviewed by Darin.
3277
3278         - fixed "SVG multichar glyph matching matches longest instead of first (affects Acid3 test 79)"
3279         http://bugs.webkit.org/show_bug.cgi?id=18118
3280
3281         * svg/SVGFont.cpp:
3282         (WebCore::SVGTextRunWalker::walk):
3283         * svg/SVGFontElement.cpp:
3284         (WebCore::SVGFontElement::SVGFontElement):
3285         (WebCore::SVGFontElement::addGlyphToCache):
3286         (WebCore::SVGFontElement::removeGlyphFromCache):
3287         (WebCore::SVGFontElement::ensureGlyphCache):
3288         (WebCore::SVGFontElement::getGlyphIdentifiersForString):
3289         * svg/SVGFontElement.h:
3290         * svg/SVGGlyphElement.h:
3291         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
3292         * svg/SVGGlyphMap.h: Added. New radix tree based glyph map.
3293         (WebCore::GlyphMapNode::GlyphMapNode):
3294         (WebCore::SVGGlyphMap::SVGGlyphMap):
3295         (WebCore::SVGGlyphMap::add):
3296         (WebCore::SVGGlyphMap::compareGlyphPriority):
3297         (WebCore::SVGGlyphMap::get):
3298         (WebCore::SVGGlyphMap::clear):
3299
3300 2008-03-26  David Hyatt  <hyatt@apple.com>
3301
3302         Fix build bustage on Tiger.  Tiger will not have the bug fix.
3303
3304         * platform/graphics/mac/SimpleFontDataMac.mm:
3305         (WebCore::SimpleFontData::platformInit):
3306         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3307         (WebCore::SimpleFontData::platformInit):
3308
3309 2008-03-26  David Hyatt  <hyatt@apple.com>
3310
3311         Make the Ahem font antialias correctly on Acid3.
3312
3313         Reviewed by Dan
3314
3315         * platform/graphics/SimpleFontData.h:
3316         * platform/graphics/mac/FontMac.mm:
3317         (WebCore::Font::drawGlyphs):
3318         * platform/graphics/mac/SimpleFontDataMac.mm:
3319         (WebCore::SimpleFontData::platformInit):
3320         * platform/graphics/win/FontCGWin.cpp:
3321         (WebCore::Font::drawGlyphs):
3322         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3323         (WebCore::SimpleFontData::platformInit):
3324
3325 2008-03-26  Mark Rowe  <mrowe@apple.com>
3326
3327         Fix the Mac build.
3328
3329         * WebCore.xcodeproj/project.pbxproj:  Copy the newly generated header into the right place.
3330
3331 2008-03-26  Adam Roben  <aroben@apple.com>
3332
3333         Fix Bug 17768: REGRESSION (r30146): Inspector no longer shows elements
3334         properties
3335
3336         <http://bugs.webkit.org/show_bug.cgi?id=17768>
3337
3338         We were throwing an exception from Object.describe because of some
3339         undefined variables.
3340
3341         Reviewed by Tim Hatcher.
3342
3343         * page/inspector/utilities.js:
3344         (Object.describe): Reinstate the type1 and type2 variables that were
3345         removed in r30146. They're still used when formatting a function.
3346
3347 2008-03-26  Eric Seidel  <eric@webkit.org>
3348
3349         Reviewed by darin.
3350
3351         Forgot to add braces darin asked for during review.
3352
3353         * dom/XMLTokenizer.cpp:
3354         (WebCore::XMLTokenizer::write):
3355
3356 2008-03-26  Eric Seidel  <eric@webkit.org>
3357
3358         Reviewed by darin.
3359
3360         Fix, makes us pass Test 70
3361         XML documents should be strict about encoding checks
3362         http://bugs.webkit.org/show_bug.cgi?id=17079
3363
3364         Test: fast/encoding/invalid-xml.html
3365
3366         * WebCore.base.exp:
3367         * dom/XMLTokenizer.cpp:
3368         (WebCore::XMLTokenizer::write):
3369         * loader/CachedFont.cpp:
3370         (WebCore::CachedFont::ensureSVGFontData):
3371         * loader/TextResourceDecoder.cpp:
3372         (WebCore::TextResourceDecoder::TextResourceDecoder):
3373         (WebCore::TextResourceDecoder::decode):
3374         * loader/TextResourceDecoder.h:
3375         * platform/text/TextCodec.h:
3376         (WebCore::TextCodec::decode):
3377         * platform/text/TextCodecICU.cpp:
3378         (WebCore::TextCodecICU::decodeToBuffer):
3379         (WebCore::ErrorCallbackSetter::ErrorCallbackSetter):
3380         (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
3381         (WebCore::TextCodecICU::decode):
3382         * platform/text/TextCodecICU.h:
3383         * platform/text/TextCodecLatin1.cpp:
3384         * platform/text/TextCodecLatin1.h:
3385         * platform/text/TextCodecUTF16.cpp:
3386         * platform/text/TextCodecUTF16.h:
3387         * platform/text/TextCodecUserDefined.cpp:
3388         * platform/text/TextCodecUserDefined.h:
3389         * platform/text/TextDecoder.cpp:
3390         (WebCore::TextDecoder::checkForBOM):
3391         * platform/text/TextDecoder.h:
3392         (WebCore::TextDecoder::decode):
3393         * platform/text/TextEncoding.cpp:
3394         (WebCore::TextEncoding::decode):
3395         * platform/text/TextEncoding.h:
3396         (WebCore::TextEncoding::decode):
3397         * platform/text/mac/TextCodecMac.cpp:
3398         (WebCore::TextCodecMac::decode):
3399         * platform/text/mac/TextCodecMac.h:
3400
3401 2008-03-26  Antti Koivisto  <antti@apple.com>
3402
3403         Reviewed by Adam.
3404
3405         Add ElementTimeControl interface to SVGAnimationElement.
3406         Passes Acid3 test 75.
3407
3408         * DerivedSources.make:
3409         * WebCore.pro:
3410         * WebCore.vcproj/WebCore.vcproj:
3411         * WebCore.xcodeproj/project.pbxproj:
3412         * bindings/scripts/CodeGeneratorObjC.pm:
3413         * svg/ElementTimeControl.h: Added.
3414         (WebCore::ElementTimeControl::~ElementTimeControl):
3415         * svg/ElementTimeControl.idl: Added.
3416         * svg/SVGAnimationElement.cpp:
3417         (WebCore::SVGAnimationElement::beginElement):
3418         (WebCore::SVGAnimationElement::beginElementAt):
3419         (WebCore::SVGAnimationElement::endElement):
3420         (WebCore::SVGAnimationElement::endElementAt):
3421         * svg/SVGAnimationElement.h:
3422         * svg/SVGAnimationElement.idl:
3423
3424 2008-03-26  Kevin McCullough  <kmccullough@apple.com>
3425
3426         - LayoutTest fix.  Null check.
3427
3428         * xml/XMLHttpRequest.cpp:
3429         (WebCore::XMLHttpRequest::send):
3430
3431 2008-03-26  Dan Bernstein  <mitz@apple.com>
3432
3433         Reviewed by Darin Adler.
3434
3435         - fix http://bugs.webkit.org/show_bug.cgi?id=17994
3436           REGRESSION (523-525+) View not updated when changing CSS size via JavaScript
3437         - fix http://bugs.webkit.org/show_bug.cgi?id=18063
3438           REGRESSION (r31250): Small bug that just cropped up in WebKit r31275
3439
3440         Tests: fast/repaint/subtree-root-clip.html
3441                fast/repaint/subtree-root-clip-2.html
3442                fast/repaint/subtree-root-clip-3.html
3443
3444         * rendering/LayoutState.cpp:
3445         (WebCore::LayoutState::LayoutState): Changed to not set an initial clip.
3446         Since the root is clipping, there is no need to set a clip, and setting
3447         the clip based on the container was wrong because often the root was
3448         not included in the container's overflow rect because it had its own
3449         layer.
3450         * rendering/RenderBox.cpp:
3451         (WebCore::RenderBox::absolutePosition): Removed code that added table
3452         cell's extra top offset only in the slow (recursive) code path.
3453         * rendering/RenderTableCell.cpp:
3454         (WebCore::RenderTableCell::absolutePosition): Added code to add the
3455         extra top offset in both code paths.
3456
3457 2008-03-26  Simon Hausmann  <hausmann@webkit.org>
3458
3459         Fix the Qt build.
3460
3461         * platform/graphics/qt/FontQt.cpp:
3462         (WebCore::Font::floatWidth):
3463
3464 2008-03-24  Maciej Stachowiak  <mjs@apple.com>
3465
3466         Reviewed by Eric.
3467
3468         - fixed "SVGTextElement.getStartPositionOfChar does not correctly account for multichar glyphs"
3469         http://bugs.webkit.org/show_bug.cgi?id=18046
3470
3471         * platform/graphics/Font.cpp:
3472         (WebCore::Font::floatWidth): Allow expressing a run that has extra "context" characters beyond the end,
3473         and reporting of how many characters were actually consumed, to support multichar glyphs in SVG fonts.
3474         * platform/graphics/Font.h:
3475         * rendering/SVGInlineTextBox.cpp:
3476         (WebCore::SVGInlineTextBox::calculateGlyphWidth): Pass along extra chars in argument and chars consumed out
3477         argument.
3478         (WebCore::SVGInlineTextBox::calculateGlyphHeight): Pass along extra chars in argument.
3479         (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Add boilerplate; may not handle multichar glyphs
3480         right but I don't know what effects this would have.
3481         * rendering/SVGInlineTextBox.h:
3482         * rendering/SVGRootInlineBox.cpp:
3483         (WebCore::cummulatedWidthOrHeightOfTextChunk): Add boilerplate; may not handle multichar glyphs right
3484         but again I am not sure what effect this would have.
3485         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Account for multichar glyphs - let glyph
3486         selection consider extra chars, and account for the fact that a glyph may have consumed multiple chars.
3487         * rendering/SVGRootInlineBox.h:
3488         * svg/SVGFont.cpp:
3489         (WebCore::SVGTextRunWalker::walk): This is the place where glyph selection happens, so this is where
3490         we accout for multichar glyphs (both looking at extra chars past the end of the run, and reporting how
3491         many chars were consumed).
3492         (WebCore::floatWidthOfSubStringUsingSVGFont): Pass aforementioned info through the layers.
3493         (WebCore::Font::floatWidthUsingSVGFont): ditto
3494         (WebCore::Font::drawTextUsingSVGFont): ditto
3495         (WebCore::Font::selectionRectForTextUsingSVGFont): ditto
3496         * svg/SVGTextContentElement.cpp:
3497         (WebCore::cummulatedCharacterRangeLength): ditto
3498         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): ditto
3499
3500 2008-03-25  Beth Dakin  <bdakin@apple.com>
3501
3502         Reviewed by Oliver.
3503
3504         Fix for <rdar://problem/5811826> CSSValueList::item() does not 
3505         range-check index
3506
3507         Check bounds before accessing the item to avoid a crash. 
3508         itemWithoutBoundsCheck() is still inlined and not bounds-checked to 
3509         avoid slowing down our internal callers of item().
3510         * css/CSSValueList.cpp:
3511         (WebCore::CSSValueList::item):
3512         * css/CSSValueList.h:
3513         (WebCore::CSSValueList::itemWithoutBoundsCheck):
3514
3515         Call itemWithoutBoundsCheck() to avoid slowing down these internal 
3516         callers.
3517         * css/CSSFontSelector.cpp:
3518         (WebCore::CSSFontSelector::addFontFaceRule):
3519         * css/CSSMutableStyleDeclaration.cpp:
3520         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
3521         * css/CSSStyleSelector.cpp:
3522         (WebCore::applyCounterList):
3523         (WebCore::CSSStyleSelector::applyProperty):
3524         * css/MediaQueryEvaluator.cpp:
3525         (WebCore::parseAspectRatio):
3526         * svg/SVGFontFaceElement.cpp:
3527         (WebCore::SVGFontFaceElement::rebuildFontFace):
3528         * svg/graphics/SVGPaintServer.cpp:
3529         (WebCore::dashArrayFromRenderingStyle):
3530
3531 2008-03-25  Antti Koivisto  <antti@apple.com>
3532
3533         Reviewed by Oliver.
3534
3535         Fix http://bugs.webkit.org/show_bug.cgi?id=18082
3536         REGRESSION (r31287): GMail does not work if user stylesheet is set
3537         
3538         Oops, my cache refactoring patch was missing these rather essential lines for
3539         user stylesheets. They would get reloaded repeatedly.
3540
3541         * loader/Cache.cpp:
3542         (WebCore::Cache::requestUserCSSStyleSheet):
3543
3544 2008-03-25  Matt Lilek  <webkit@mattlilek.com>
3545
3546         Rubber stamped by Adam
3547
3548         Roll out r31300 since it causes assertion failures on page load.
3549         See http://bugs.webkit.org/show_bug.cgi?id=18093
3550
3551         * page/InspectorController.cpp:
3552         (WebCore::InspectorController::didFinishLoading):
3553         (WebCore::InspectorController::didFailLoading):
3554
3555 2008-03-25  Darin Adler  <darin@apple.com>
3556
3557         Reviewed by Anders.
3558
3559         - fix http://bugs.webkit.org/show_bug.cgi?id=17252
3560           Acid3 test removing Nodes during NodeIterator walk fails (affects Acid3 test 2)
3561
3562         Test: traversal/acid3-test-2.html
3563
3564         * bindings/js/JSNodeIteratorCustom.cpp:
3565         (WebCore::JSNodeIterator::nextNode): Update since result is PassRefPtr.
3566         (WebCore::JSNodeIterator::previousNode): Ditto.
3567         * dom/NodeIterator.cpp:
3568         (WebCore::NodeIterator::nextNode): Changed result to PassRefPtr. Added code to
3569         track both the current candidate (which needs to move along to the next node
3570         if current node is deleted) and the current provisional result (passed to acceptNode,
3571         and needs to be returned even if it's deleted).
3572         (WebCore::NodeIterator::previousNode): Ditto.
3573         (WebCore::NodeIterator::nodeWillBeRemoved): Call updateForNodeRemoval for
3574         m_candidateNode as well as m_referenceNode.
3575         * dom/NodeIterator.h: Use PassRefPtr for return values.
3576
3577 2008-03-25  Brady Eidson  <beidson@apple.com>
3578
3579         Reviewed by Anders
3580
3581         Add the ability to transform a CString into a SharedBuffer to avoid copying data
3582         This is valuable to avoid copying a block of data for an upcoming patch
3583
3584         * platform/SharedBuffer.cpp:
3585         (WebCore::SharedBuffer::adoptVector):