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