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