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