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