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