2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-09-23  Tor Arne Vestbø  <tavestbo@trolltech.com>
2
3         Reviewed by Simon.
4
5         Remove deprecated JS Qt bindings object call/construct code and fix autotests
6
7         * bridge/qt/qt_instance.cpp:
8         (JSC::Bindings::QtInstance::QtInstance):
9         * bridge/qt/qt_instance.h:
10
11 2008-09-23  Julien Chaffraix  <jchaffraix@pleyo.com>
12
13         Reviewed by Alp Toker. Landed by Jan Alonzo.
14
15         Bug 20883: [CURL] Add deferred loading
16         https://bugs.webkit.org/show_bug.cgi?id=20883
17
18         Implement deferred loading for the libcURL backend using curl_easy_pause.
19         As the method was introduced in version 7.18.0, all the code checks for libcURL
20         version.
21
22         * platform/network/curl/ResourceHandleCurl.cpp:
23         (WebCore::ResourceHandle::setDefersLoading):
24         * platform/network/curl/ResourceHandleManager.cpp:
25         (WebCore::writeCallback): Add an assertion that deferred loading is not
26         activated.
27         (WebCore::headerCallback): Ditto.
28         (WebCore::readCallback): Ditto.
29         (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
30         defersLoading to be false in order to avoid triggering an assertion.
31         (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
32         activated, pause the easy handle.
33
34 2008-09-23  Matt Lilek  <webkit@mattlilek.com>
35
36         Reviewed by Tim Hatcher.
37
38         Inspector search field style tweaks.
39
40         * page/inspector/inspector.css:
41
42 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
43
44         Reviewed by Eric.
45
46         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
47
48         Fix missing negation in EventTargetNode::insertedIntoDocument.
49         Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
50         Remove code, that wasn't supposed to go in in dispatchGenericEvent().
51
52         * dom/EventTargetNode.cpp:
53         (WebCore::EventTargetNode::insertedIntoDocument):
54         (WebCore::EventTargetNode::dispatchGenericEvent):
55         * dom/EventTargetNode.h:
56
57 2008-09-23  Timothy Hatcher  <timothy@apple.com>
58
59         Adds search support to the Profiles panel.
60
61         The Profiles panel supports a few types of queries:
62          * Standard string matching for function names and file URLs.
63          * Greater than and less than search for numeric columns.
64            So a query of ">24" will match all rows that have calls
65            greater than 24. Or "<=42" will match all 42 or less.
66          * Percent and time units. Adding a unit of "s", "ms" or "%"
67            is supported and will match only the Self and Total columns.
68            So a query of ">1.25s" will match all rows that took longer
69            than 1.25 seconds.
70
71         Reviewed by Oliver Hunt.
72
73         * page/inspector/ProfileView.js:
74         (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
75         it will start at the first result.
76         (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
77         (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
78         data grid nodes.
79         (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
80         (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
81         (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
82         (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
83         (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
84         (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
85         (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
86         (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
87         Expand all the ancestors first so the profile node will have a DataGridNode.
88         (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
89         (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
90         have search matches.
91         * page/inspector/ProfilesPanel.js:
92         (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
93         (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
94         (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
95         (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
96         (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView  to visibleView.
97         (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
98         (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
99         (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
100         (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
101         * page/inspector/inspector.css: New style rules for the cell highlight color.
102
103 2008-09-23  Timothy Hatcher  <timothy@apple.com>
104
105         Adds search support to the Resources and Scripts panels.
106
107         https://bugs.webkit.org/show_bug.cgi?id=21005
108
109         Reviewed by Oliver Hunt.
110
111         * page/inspector/Images/searchSmallBlue.png: Added.
112         * page/inspector/Images/searchSmallBrightBlue.png: Added.
113         * page/inspector/Images/searchSmallGray.png: Added.
114         * page/inspector/Images/searchSmallWhite.png: Added.
115         * page/inspector/ResourceView.js:
116         (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
117         or "script-resource-views" since one might not be created yet.
118         * page/inspector/ResourcesPanel.js:
119         (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
120         are not this panel's current visible view. This can happen when a ResourceView is
121         visible in the Scripts panel then switched to the this panel.
122         (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
123         visibleView first.
124         (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
125         that uses the current graph search function. So cycling through results will be in the order
126         things appear in the sidebar.
127         (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
128         resource's sidebar tree element.
129         (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
130         in the sidebar. Calls the Panel prototype's searchCanceled.
131         (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
132         in the sidebar. Calls the Panel prototype's performSearch.
133         (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
134         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
135         if there is a current search query.
136         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
137         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
138         (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
139         (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
140         (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
141         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
142         * page/inspector/ScriptView.js:
143         (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
144         (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
145         it will start at the first result.
146         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
147         highlighting complete".
148         (WebInspector.ScriptView.prototype): Share many methods with SourceView.
149         * page/inspector/ScriptsPanel.js:
150         (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
151         This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
152         (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
153         (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
154         (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
155         (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
156         * page/inspector/SourceFrame.js:
157         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
158         * page/inspector/SourceView.js:
159         (WebInspector.SourceView.prototype.hide):
160         (WebInspector.SourceView.prototype.detach):
161         (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
162         (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
163         (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
164         (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
165         store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
166         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
167         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
168         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
169         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
170         (WebInspector.SourceView.prototype.showingFirstSearchResult):
171         (WebInspector.SourceView.prototype.showingLastSearchResult):
172         (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
173         (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
174         (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
175         * page/inspector/inspector.css:
176
177 2008-09-23  Timothy Hatcher  <timothy@apple.com>
178
179         Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
180         so future code can be shared.
181
182         https://bugs.webkit.org/show_bug.cgi?id=21005
183
184         Reviewed by Oliver Hunt.
185
186         * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
187         And visibleResourceView to visibleView.
188         * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
189
190 2008-09-23  Timothy Hatcher  <timothy@apple.com>
191
192         Highlight all matched search results in the Elements panel DOM tree.
193
194         https://bugs.webkit.org/show_bug.cgi?id=21005
195
196         Reviewed by Oliver Hunt.
197
198         * page/inspector/ElementsPanel.js:
199         (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
200         on all previous search results.
201         (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
202         on all new search results.
203         * page/inspector/ElementsTreeOutline.js:
204         (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
205         (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
206         the highlighted class on the listItemElement.
207         (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
208         if needed. Calls _updateTitle.
209         (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
210         class so it can be styled when the highlighted class is present.
211         * page/inspector/inspector.css: New style rules for the hihglight.
212
213 2008-09-23  Timothy Hatcher  <timothy@apple.com>
214
215         Add search support to the Elements panel.
216
217         https://bugs.webkit.org/show_bug.cgi?id=21005
218
219         Reviewed by Oliver Hunt.
220
221         * page/inspector/ElementsPanel.js:
222         (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
223         with a 0 match count to rest. Reset the other search properties.
224         (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
225         query and a CSS selector on all the Documents in the page. Remembers the found nodes
226         and avoids duplicates. Focuses the first result.
227         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
228         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
229
230 2008-09-23  Timothy Hatcher  <timothy@apple.com>
231
232         Add support to Panel that allows easy searching of sub-views.
233
234         https://bugs.webkit.org/show_bug.cgi?id=21005
235
236         Reviewed by Oliver Hunt.
237
238         * page/inspector/Panel.js:
239         (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
240         views in the search results and delete the currentQuery property. Call
241         WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
242         other search properties.
243         (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
244         reset everything we need before doing a new search. Get an array of searchableViews
245         from the panel, implemented by sub-classes. Iterate over the views one-by-one
246         with an interval to prevent blocking the UI for large lists of searchableViews.
247         This keeps the interface really responsive. Pass a finishedCallback function to
248         the performSearch on each view so it can notify the panel of results.
249         (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
250         searchResults of the visibleView, so we know where in the results we are.
251         This is done every time incase the user manually navigates to a new view.
252         If the view is showing the last result, jump to the next view and show it's
253         first result. Otherwise jump to the next result in the current view.
254         (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
255
256 2008-09-23  Timothy Hatcher  <timothy@apple.com>
257
258         Add support for asking the current panel to perform a search, find next/previous and clear.
259         A search is performed on the new new current panel when switching between panels. The search
260         label/placeholder in the toolbar now includes the panel name to make it clear that panel will
261         be searched. The search field contents are selected when Command/Control-F or Enter/Return
262         is pressed, so the user can easily type an entirely new query. The search match count shows
263         up in the toolbar next to the search field.
264
265         Also changed:
266          * Rename lastQuery to currentQuery since it better matches the truth.
267          * Set the search field "results" attribute to zero since results arn't saved for
268            how we use the search field.
269          * Make repeated presses of the Return key jump to the next search result instead
270            of doing nothing.
271          * Increased the search field width.
272
273         https://bugs.webkit.org/show_bug.cgi?id=21005
274
275         Reviewed by Oliver Hunt.
276
277         * English.lproj/localizedStrings.js: New strings.
278         * page/inspector/inspector.css: New styles.
279         * page/inspector/inspector.html: Add the search-results-matches element. Add the
280         incremental attribute to the search field and set the results attribute to zero.
281         * page/inspector/inspector.js:
282         (WebInspector.set currentPanel): perform the search on the new panel.
283         (WebInspector.loaded): Change the event listeners and remove code that changes
284         the search label text.
285         (WebInspector.documentKeyDown): Add support for Command/Control-G and
286         Command/Control-Shift-G. To jump to the next and previous search results.
287         (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
288         This does different things depending on the attached state.
289         (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
290         This prevents a "search" event from firing for key down. We handle the Enter key
291         on key up in searchKeyUp. This stops performSearch from being called twice in a row.
292         (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
293         (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
294         on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
295         Call updateSearchMatchesCount to reset the matches count in the toolbar.
296         (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
297
298 2008-09-23  Timothy Hatcher  <timothy@apple.com>
299
300         Remove the previous Inspector search code to make room for the new stuff.
301
302         https://bugs.webkit.org/show_bug.cgi?id=21005
303
304         Reviewed by Oliver Hunt.
305
306         * page/inspector/inspector.css:
307         * page/inspector/inspector.html:
308         * page/inspector/inspector.js:
309         (WebInspector.get/set showingSearchResults): Removed.
310         (WebInspector.searchResultsKeyDown): Removed.
311         (WebInspector.searchResultsResizerDragStart): Removed.
312         (WebInspector.searchResultsResizerDragEnd): Removed.
313         (WebInspector.searchResultsResizerDrag): Removed.
314         (WebInspector.performSearch): Removed searching parts.
315
316 2008-09-23  Timothy Hatcher  <timothy@apple.com>
317
318         Use the Array.remove helper function in more places.
319
320         https://bugs.webkit.org/show_bug.cgi?id=21037
321
322         Reviewed by Kevin McCullough.
323
324         * page/inspector/ResourceCategory.js:
325         (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
326         * page/inspector/ResourcesPanel.js:
327         (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
328         * page/inspector/inspector.js:
329         (WebInspector.removeResource): Ditto.
330
331 2008-09-23  Timothy Hatcher  <timothy@apple.com>
332
333         Fixes a bug where inspecting a node after reloading the page
334         would not reveal the node in the DOM tree. The TreeOutline
335         was not being told to forget decendants of a removed child.
336         So old TreeElements would be found that are not in the tree.
337
338         https://bugs.webkit.org/show_bug.cgi?id=21036
339
340         Reviewed by Kevin McCullough.
341
342         * page/inspector/treeoutline.js:
343         (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
344         in addition to _forgetTreeElement.
345         (TreeOutline._removeChildren): Call _forgetChildrenRecursive
346         in addition to _forgetTreeElement.
347         (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
348         search for known elements.
349         (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
350         (TreeOutline._forgetChildrenRecursive): Recursively traverse the
351         descendants and call _forgetTreeElement.
352         * page/inspector/utilities.js:
353         (Array.prototype.remove): Speed up this function by using Array.indexOf
354         when onlyFirst is true.
355
356 2008-09-23  Timothy Hatcher  <timothy@apple.com>
357
358         Fixes a bug where inspecting some short text nodes does
359         not reveal them in the Elements panel DOM tree.
360
361         https://bugs.webkit.org/show_bug.cgi?id=21035
362
363         Reviewed by Oliver Hunt.
364
365         * page/inspector/ElementsTreeOutline.js:
366         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
367         The revealAndSelectNode() method might find a different element
368         if there is inlined text, and the select() call would change the
369         focusedDOMNode and reenter this setter. So to avoid calling
370         focusedNodeChanged() twice, first check if _focusedDOMNode is
371         the same node as the one passed in.
372         (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
373         this.treeOutline, since this is the TreeOutline.
374         (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
375         Provides default functions for isAncestor, getParet and equal.
376         Calls the base protoype's findTreeElement. If that returns null
377         and the node is a text node, try finding it's parent.
378         (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
379         Renamed to revealAndSelectNode.
380         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
381         Selects and reveals the node passed in. Use the simple findTreeElement.
382         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
383         Remove use of this.treeOutline, since this is the TreeOutline.
384
385 2008-09-23  Timothy Hatcher  <timothy@apple.com>
386
387         Fixes an exception that happened when removing a Resource
388         from the ResourcesPanel.
389
390         https://bugs.webkit.org/show_bug.cgi?id=21034
391
392         Reviewed by Kevin McCullough.
393
394         * page/inspector/ResourcesPanel.js:
395         (WebInspctor.ResourcesPanel.prototype.removeResource):
396         Remove the graphElement.
397
398 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
399
400         Fixed "Time" to "Tim"
401
402         * ChangeLog:
403
404 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
405
406         Reviewed by Oliver.
407
408         Move mapInstanceToElement/removeInstanceMapping/instancesForElement
409         from SVGDocumentExtensions to SVGElement. It's more useful to store
410         the list of SVGElementInstances per SVGElement, instead of using
411         a document-wide hash for this purpose.
412
413         * svg/SVGAnimateMotionElement.cpp:
414         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
415         * svg/SVGAnimateTransformElement.cpp:
416         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
417         * svg/SVGAnimationElement.cpp:
418         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
419         * svg/SVGDocumentExtensions.cpp:
420         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
421         * svg/SVGDocumentExtensions.h:
422         * svg/SVGElement.cpp:
423         (WebCore::SVGElement::mapInstanceToElement):
424         (WebCore::SVGElement::removeInstanceMapping):
425         (WebCore::SVGElement::instancesForElement):
426         * svg/SVGElement.h:
427         * svg/SVGElementInstance.cpp:
428         (WebCore::SVGElementInstance::SVGElementInstance):
429         (WebCore::SVGElementInstance::~SVGElementInstance):
430         (WebCore::SVGElementInstance::updateAllInstancesOfElement):
431         * svg/SVGElementInstance.h:
432         * svg/SVGStyledElement.cpp:
433         (WebCore::SVGStyledElement::svgAttributeChanged):
434         (WebCore::SVGStyledElement::childrenChanged):
435         * svg/SVGStyledElement.h:
436
437 2008-09-23  Kevin Ollivier  <kevino@theolliviers.com>
438
439         wx build fix.
440
441         * WebCoreSources.bkl:
442
443 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
444
445         Rubber stamped by Sam.
446
447         Move code from EventTarget to EventTargetNode.
448
449         I refactored most parts to live in EventTarget, a year ago,
450         though the implementation of EventTargetSVGElementInstance is
451         done in another way, that obsoletes this.
452
453         * dom/Document.cpp:
454         (WebCore::Document::addListenerTypeIfNeeded):
455         * dom/Document.h:
456         * dom/EventTarget.cpp:
457         * dom/EventTarget.h:
458         (WebCore::allowEventDispatch):
459         * dom/EventTargetNode.cpp:
460         (WebCore::EventTargetNode::insertedIntoDocument):
461         (WebCore::EventTargetNode::removedFromDocument):
462         (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
463         (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
464         (WebCore::EventTargetNode::addEventListener):
465         (WebCore::EventTargetNode::removeEventListener):
466         (WebCore::EventTargetNode::removeAllEventListeners):
467         (WebCore::EventTargetNode::handleLocalEvents):
468         (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
469         (WebCore::EventTargetNode::dispatchEvent):
470         (WebCore::EventTargetNode::dispatchGenericEvent):
471         (WebCore::EventTargetNode::dispatchWindowEvent):
472         (WebCore::EventTargetNode::removeEventListenerForType):
473         * dom/EventTargetNode.h:
474         * svg/EventTargetSVGElementInstance.cpp:
475         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
476         * svg/SVGElement.cpp:
477         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
478         * svg/SVGElement.h:
479         (WebCore::SVGElement::supplementalTransform):
480
481 2008-09-23  Dave Hyatt  <hyatt@apple.com>
482
483         Fix for bug 21012.  The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme.  Make
484         sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
485         
486         Reviewed by Sam Weinig
487
488         * platform/mac/ScrollbarThemeMac.mm:
489         (WebCore::ScrollbarThemeMac::trackRect):
490         * platform/win/ScrollbarThemeSafari.cpp:
491         (WebCore::ScrollbarTheme::nativeTheme):
492         (WebCore::ScrollbarThemeSafari::trackRect):
493
494 2008-09-23  Beth Dakin  <bdakin@apple.com>
495
496         Reviewed by Sam Weinig.
497
498         Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" 
499         link at gmail does not support AXPress action
500         and corresponding: <rdar://problem/6216178>
501
502         I fixed this bug by making AccessibilityObject::anchorElement 
503         support ARIA links.
504
505         * page/AccessibilityImageMapLink.cpp:
506         (WebCore::AccessibilityImageMapLink::anchorElement):
507         * page/AccessibilityImageMapLink.h:
508         * page/AccessibilityObject.cpp:
509         (WebCore::AccessibilityObject::anchorElement):
510         * page/AccessibilityObject.h:
511         (WebCore::AccessibilityObject::isNativeAnchor):
512         * page/AccessibilityRenderObject.cpp:
513         (WebCore::AccessibilityRenderObject::isNativeAnchor):
514         (WebCore::AccessibilityRenderObject::anchorElement):
515         (WebCore::AccessibilityRenderObject::internalLinkElement):
516         (WebCore::AccessibilityRenderObject::url):
517         * page/AccessibilityRenderObject.h:
518         * page/mac/AccessibilityObjectWrapper.mm:
519         (AXLinkElementForNode):
520
521 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
522
523         Reviewed by Tim and Oliver.
524
525         Bug 20949: Catch repeated messages in Inspector Controller to limit
526         memory usage
527         - Store the repeat count in the Console Message object, in the 
528         Inspector Controller and JS ConsoleMessage object.
529
530         * page/InspectorController.cpp:
531         (WebCore::ConsoleMessage::ConsoleMessage):
532         (WebCore::ConsoleMessage::operator==):
533         (WebCore::InspectorController::InspectorController):
534         (WebCore::InspectorController::addConsoleMessage):
535         (WebCore::InspectorController::addScriptConsoleMessage):
536         * page/InspectorController.h:
537         * page/inspector/Console.js:
538         * page/inspector/Resource.js:
539         * page/inspector/ResourcesPanel.js:
540         * page/inspector/SourceFrame.js:
541
542 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
543
544         Reviewed by Eric.
545
546         Working on proper EventTarget support for SVGElementInstance.
547
548         Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
549         Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
550
551         Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
552         implementation. Let it use TreeShared directly.
553
554         It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
555         The transition to EventTargetSVGElementInstance will be done in a few individual patches.
556
557         * GNUmakefile.am:
558         * WebCore.pro:
559         * WebCore.vcproj/WebCore.vcproj:
560         * WebCore.xcodeproj/project.pbxproj:
561         * bindings/js/JSEventTargetBase.cpp:
562         (WebCore::retrieveEventTargetAndCorrespondingNode):
563         (WebCore::toJS):
564         * bindings/js/JSEventTargetBase.h:
565         * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
566         (WebCore::):
567         (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
568         (WebCore::JSEventTargetSVGElementInstance::createPrototype):
569         (WebCore::JSEventTargetSVGElementInstance::setListener):
570         (WebCore::JSEventTargetSVGElementInstance::getListener):
571         (WebCore::toEventTargetSVGElementInstance):
572         * bindings/js/JSEventTargetSVGElementInstance.h: Added.
573         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
574         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
575         (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
576         (WebCore::JSEventTargetSVGElementInstance::put):
577         (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
578         * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
579         (WebCore::toJS):
580         * bindings/objc/DOM.mm:
581         (+[DOMNode _wrapEventTarget:WebCore::]):
582         (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
583         (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
584         (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
585         (-[DOMSVGElementInstance WebCore::]):
586         (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
587         (-[DOMSVGElementInstance addEventListener:::]):
588         (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
589         (-[DOMSVGElementInstance removeEventListener:::]):
590         (-[DOMSVGElementInstance dispatchEvent:]):
591         * bindings/objc/DOMEvents.h:
592         * bindings/scripts/CodeGeneratorJS.pm:
593         * bindings/scripts/CodeGeneratorObjC.pm:
594         * svg/EventTargetSVGElementInstance.cpp: Added.
595         (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
596         (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
597         (WebCore::EventTargetSVGElementInstance::addEventListener):
598         (WebCore::EventTargetSVGElementInstance::removeEventListener):
599         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
600         * svg/EventTargetSVGElementInstance.h: Added.
601         (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
602         (WebCore::EventTargetSVGElementInstance::toNode):
603         (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
604         (WebCore::EventTargetSVGElementInstance::refEventTarget):
605         (WebCore::EventTargetSVGElementInstance::derefEventTarget):
606         (WebCore::EventTargetSVGElementInstanceCast):
607         * svg/SVGElement.cpp:
608         (WebCore::SVGElement::dispatchEvent):
609         * svg/SVGElementInstance.cpp:
610         (WebCore::SVGElementInstance::SVGElementInstance):
611         (WebCore::SVGElementInstance::~SVGElementInstance):
612         * svg/SVGElementInstance.h:
613         (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
614         * svg/SVGElementInstance.idl:
615
616 2008-09-23  Dan Bernstein  <mitz@apple.com>
617
618         Reviewed by Dave Hyatt.
619
620         - https://bugs.webkit.org/show_bug.cgi?id=21040
621           Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
622
623         * platform/graphics/mac/SimpleFontDataMac.mm:
624         (WebCore::SimpleFontData::getCTFont):
625
626 2008-09-23  David Hyatt  <hyatt@apple.com>
627
628         https://bugs.webkit.org/show_bug.cgi?id=21039
629
630         Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
631
632         Reviewed by Sam Weinig
633
634         * platform/ScrollView.h:
635         * platform/Scrollbar.cpp:
636         (WebCore::Scrollbar::setFrameGeometry):
637         * platform/Scrollbar.h:
638         * platform/Widget.cpp:
639         (WebCore::Widget::convertFromContainingWindow):
640         * platform/Widget.h:
641         * platform/mac/ScrollViewMac.mm:
642         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
643         (WebCore::ScrollView::ScrollView):
644         (WebCore::ScrollView::~ScrollView):
645         (WebCore::ScrollView::windowResizerRect):
646         (WebCore::ScrollView::resizerOverlapsContent):
647         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
648         (WebCore::ScrollView::setParent):
649         * platform/mac/WidgetMac.mm:
650         (WebCore::Widget::convertFromContainingWindow):
651
652 2008-09-23  Dirk Schulze  <vbs85@gmx.de>
653
654         Reviewed by Darin Adler. Landed by Jan Alonzo.
655
656         Added support for getImageData() and putImageData()
657         to Cairo.
658
659         [CAIRO] needs getImageData and putImageData support
660         https://bugs.webkit.org/show_bug.cgi?id=20838
661
662         * platform/graphics/cairo/ImageBufferCairo.cpp:
663         (WebCore::ImageBuffer::ImageBuffer):
664         (WebCore::ImageBuffer::getImageData):
665         (WebCore::ImageBuffer::putImageData):
666
667 2008-09-23  Marco Barisione  <marco.barisione@collabora.co.uk>
668
669         Reviewed by Holger Freyther.
670
671         http://bugs.webkit.org/show_bug.cgi?id=18987
672         [GTK] Implement SharedBuffer::createWithContentsOfFile and
673         KURL::fileSystemPath
674
675         * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
676         * platform/gtk/KURLGtk.cpp: Added.
677         (WebCore::KURL::fileSystemPath): Implemented.
678         * platform/gtk/SharedBufferGtk.cpp: Added.
679         (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
680         * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
681
682 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
683
684         Reviewed by Oliver Hunt, okayed by Darin Adler.
685
686         <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
687
688         * rendering/InlineTextBox.cpp:
689         (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
690
691 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
692
693         Reviewed by Darin Adler.
694
695         https://bugs.webkit.org/show_bug.cgi?id=21023
696         Don't use TEC for encodings supported by ICU
697
698         * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
699         x-mac-greek, and x-mac-turkish.
700
701         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
702         Register aliases for these encodings that are not registered automatically; updated comments.
703
704 2008-09-23  Maciej Stachowiak  <mjs@apple.com>
705
706         Reviewed by Darin.
707
708         - speed up instanceof some more
709         https://bugs.webkit.org/show_bug.cgi?id=20818
710
711         ~2% speedup on EarleyBoyer
712
713         (WebCore updates.)
714         
715         * bindings/js/JSQuarantinedObjectWrapper.h:
716         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
717
718 2008-09-22  Darin Adler  <darin@apple.com>
719
720         Reviewed by Oliver Hunt.
721
722         - fix https://bugs.webkit.org/show_bug.cgi?id=21008
723           getting pixels by index from CanvasPixelArray is unnecessarily slow
724
725         * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
726         * WebCore.vcproj/WebCore.vcproj: Ditto.
727         * WebCore.xcodeproj/project.pbxproj: Ditto.
728
729         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
730           indexSetter. These are now both inlined, so in the header.
731         * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
732           function is what's used for HasCustomIndexGetter. Also moved the
733           indexSetter function here.
734
735         * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
736           to use a getByIndex member function rather than an indexGetter static
737           member function in a property slot. This lets us avoid the property
738           slot mechanism's rule where it turns numeric property names into
739           strings in the identifier table, which is good because that's slow.
740           Also added a new property CustomHeader that allows IDL files to
741           introduce headers to be included -- useful when we have functions
742           that we want to inline into the binding.
743
744         * html/CanvasPixelArray.idl: Added CustomHeader attribute.
745
746 2008-09-23  Eric Seidel  <eric@webkit.org>
747
748         No review, build fix only.
749
750         Another blind stab in the dark.
751
752         * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
753
754 2008-09-23  Eric Seidel  <eric@webkit.org>
755
756         No review, build fix only.
757         
758         Third time's the charm, eh?  My local build is sadly still not done...
759
760         * platform/graphics/AffineTransform.cpp: remove extra &
761         * platform/graphics/AffineTransform.h: remove extra &
762
763 2008-09-22  Eric Seidel  <eric@webkit.org>
764
765         No review, build fix only.
766
767         * platform/graphics/AffineTransform.cpp: remove extra ;
768
769 2008-09-22  Eric Seidel  <eric@webkit.org>
770
771         No review, build fix only.
772
773         Speculative fix for the build while I wait for my compile to finish.
774
775         * platform/graphics/AffineTransform.cpp:
776
777 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
778
779         Reviewed by eseidel.  Landed by eseidel.
780
781         Moved makeMapBetweenRects from SVG/CG to AffineTransform
782         Make SVGResourceClipper::applyClip more cross-platform
783
784         * platform/graphics/AffineTransform.cpp:
785         * platform/graphics/AffineTransform.h:
786         * svg/graphics/cg/CgSupport.cpp:
787         * svg/graphics/cg/CgSupport.h:
788         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
789         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
790         * svg/graphics/cg/SVGResourceClipperCg.cpp:
791         (WebCore::SVGResourceClipper::applyClip):
792
793 2008-09-22  Alp Toker  <alp@nuanti.com>
794
795         Reviewed by David Hyatt.
796
797         https://bugs.webkit.org/show_bug.cgi?id=16331
798         [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
799
800         Obey GTK+ focusing conventions for controls and anchor elements.
801
802         It could be interesting to push these decisions up to Settings or
803         ChromeClient some day but this gets things working.
804
805         Right and middle click events still need some work to match GTK+
806         conventions.
807
808         * html/HTMLAnchorElement.cpp:
809         (WebCore::HTMLAnchorElement::isMouseFocusable):
810         * html/HTMLFormControlElement.cpp:
811         (WebCore::HTMLFormControlElement::isMouseFocusable):
812         * page/EventHandler.cpp:
813         (WebCore::EventHandler::sendContextMenuEvent):
814
815 2008-09-22  Darin Adler  <darin@apple.com>
816
817         * page/mac/FrameMac.mm:
818         (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
819
820 2008-09-22  Sam Weinig  <sam@webkit.org>
821
822         Reviewed by Dan Bernstein.
823
824         Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
825         Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
826         and setSelectionRange.  This also allows us to remove the legacy JSHTMLInputElementBase
827         class!
828
829         - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
830           non-selectable input types, but return undefined when accessed.
831
832         * DerivedSources.make:
833         * GNUmakefile.am:
834         * WebCore.pro:
835         * WebCore.vcproj/WebCore.vcproj:
836         * WebCore.xcodeproj/project.pbxproj:
837         * WebCoreSources.bkl:
838         * bindings/js/JSHTMLInputElementBase.cpp: Removed.
839         * bindings/js/JSHTMLInputElementBase.h: Removed.
840         * bindings/js/JSHTMLInputElementCustom.cpp: Added.
841         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
842         (WebCore::JSHTMLInputElement::selectionStart):
843         (WebCore::JSHTMLInputElement::selectionEnd):
844         * bindings/js/JSHTMLInputElementCustom.h: Added.
845         * html/HTMLInputElement.idl:
846
847 2008-09-22  Dan Bernstein  <mitz@apple.com>
848
849         Reviewed by Sam Weinig.
850
851         - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
852
853         Not testable in DumpRenderTree or in Safari
854
855         * page/mac/FrameMac.mm:
856         (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
857         case that the selection start node is a block.
858
859 2008-09-22  David Hyatt  <hyatt@apple.com>
860
861         https://bugs.webkit.org/show_bug.cgi?id=21007
862
863         Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
864
865         Reviewed by Sam Weinig
866
867         * page/EventHandler.cpp:
868         (WebCore::EventHandler::handleMouseDoubleClickEvent):
869
870 2008-09-22  Eric Seidel  <eric@webkit.org>
871
872         No review, rollback only.
873
874         Roll out Peter's change (per his request)
875         http://trac.webkit.org/changeset/36069
876         https://bugs.webkit.org/show_bug.cgi?id=19663
877         This change has been the source of numerous regressions
878         (several of which were latent bugs revealed by this change,
879         others were bugs in this change)
880
881         * platform/graphics/BitmapImage.cpp:
882         (WebCore::BitmapImage::BitmapImage):
883         (WebCore::BitmapImage::startAnimation):
884         (WebCore::BitmapImage::advanceAnimation):
885         * platform/graphics/BitmapImage.h:
886         * platform/graphics/cairo/ImageCairo.cpp:
887         (WebCore::BitmapImage::draw):
888         * platform/graphics/cg/ImageCG.cpp:
889         (WebCore::BitmapImage::draw):
890         * platform/graphics/qt/ImageQt.cpp:
891         (WebCore::BitmapImage::draw):
892         * platform/graphics/wx/ImageWx.cpp:
893         (WebCore::BitmapImage::draw):
894
895 2008-09-22  Dan Bernstein  <mitz@apple.com>
896
897         Reviewed by Sam Weinig.
898
899         - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
900
901         Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
902                platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
903
904         * config.h: Use Core Text if not building for Leopard or Tiger.
905
906 2008-09-22  David Hyatt  <hyatt@apple.com>
907
908         https://bugs.webkit.org/show_bug.cgi?id=21006
909
910         Add code that paints an NSView-less scroller using HIThemeDrawTrack.  This scrollbar is still not
911         switched on.  There are still a few more refinements to make to the rendering and behavior.
912
913         Reviewed by Darin Adler
914
915         * platform/ScrollbarThemeComposite.cpp:
916         (WebCore::ScrollbarThemeComposite::paint):
917         * platform/ScrollbarThemeComposite.h:
918         (WebCore::ScrollbarThemeComposite::paintTrack):
919         (WebCore::ScrollbarThemeComposite::paintButton):
920         (WebCore::ScrollbarThemeComposite::paintThumb):
921         * platform/mac/ScrollbarThemeMac.h:
922         * platform/mac/ScrollbarThemeMac.mm:
923         (WebCore::ScrollbarThemeMac::backButtonRect):
924         (WebCore::ScrollbarThemeMac::forwardButtonRect):
925         (WebCore::scrollbarPartToHIPressedState):
926         (WebCore::ScrollbarThemeMac::paint):
927         * platform/mac/WidgetMac.mm:
928         (WebCore::Widget::invalidateRect):
929
930 2008-09-22  Chris Marrin  <cmarrin@apple.com>
931
932         Reviewed by Sam Weinig
933
934         transition end event when -webkit-transition-property: all puts wrong
935         propertyName in event
936         https://bugs.webkit.org/show_bug.cgi?id=20903
937         
938         * page/animation/ImplicitAnimation.cpp:
939         (WebCore::ImplicitAnimation::sendTransitionEvent):
940
941 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
942
943         Reviewed by Darin Adler.
944
945         <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
946
947         Test: accessibility/table-one-cell.html
948
949         * page/AccessibilityTable.cpp:
950         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
951
952 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
953
954         Reviewed by Darin Adler.
955
956         <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
957
958         Test: accessibility/textarea-selected-text-range.html
959
960         * page/AccessibilityRenderObject.cpp:
961         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
962
963 2008-09-22  David Hyatt  <hyatt@apple.com>
964
965         Clean up some parent relationships in the back end stylesheet code.  Make sure parentStyleSheet
966         properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
967         parent.  Also fix the doc() method so that it is properly set when the parent of the sheet is an import
968         rule.
969
970         Reviewed by Sam Weinig
971
972         Added fast/css/nested-rule-parent-sheet.html
973
974          * css/CSSImportRule.cpp:
975         (WebCore::CSSImportRule::insertedIntoParent):
976         * css/CSSRule.cpp:
977         (WebCore::CSSRule::parentStyleSheet):
978         (WebCore::CSSRule::parentRule):
979         * css/CSSStyleSheet.cpp:
980         (WebCore::CSSStyleSheet::CSSStyleSheet):
981         * css/CSSStyleSheet.h:
982
983 2008-09-22  Dan Bernstein  <mitz@apple.com>
984
985         Reviewed by Sam Weinig.
986
987         - fix https://bugs.webkit.org/show_bug.cgi?id=21002
988           Make the ATSUI code path respect spacingDisabled()
989
990         Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
991
992         * platform/graphics/mac/FontMacATSUI.mm:
993         (WebCore::overrideLayoutOperation):
994
995 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
996
997         Reviewed by Cameron Zwarich.
998
999         - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
1000
1001         Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
1002         
1003         2.2% speedup on EarleyBoyer benchmark.
1004
1005         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1006         * bindings/js/JSQuarantinedObjectWrapper.h:
1007         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
1008         * bindings/scripts/CodeGeneratorJS.pm:
1009
1010 2008-09-22  Adam Roben  <aroben@apple.com>
1011
1012         Windows build fix
1013
1014         * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
1015
1016 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
1017
1018         Reviewed by Dave Hyatt.
1019
1020         Based on initial work by Darin Adler.
1021         
1022         - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
1023         - use this to JIT inline code for eq_null and neq_null
1024         https://bugs.webkit.org/show_bug.cgi?id=20823
1025         
1026         * WebCore.xcodeproj/project.pbxproj:
1027         * WebCore.vcproj/WebCore.vcproj:
1028         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1029         (WebCore::JSCSSStyleDeclaration::nameGetter):
1030         * bindings/js/JSHTMLAllCollection.cpp: Added.
1031         (WebCore::):
1032         * bindings/js/JSHTMLAllCollection.h:
1033         (WebCore::JSHTMLAllCollection::createStructureID):
1034         (WebCore::JSHTMLAllCollection::toBoolean):
1035
1036 2008-09-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
1037
1038         Reviewed by Simon.
1039
1040         Fix the QtWebKit build
1041
1042         * bridge/qt/qt_instance.cpp:
1043         (JSC::Bindings::QtRuntimeObjectImp::construct):
1044         * bridge/qt/qt_runtime.cpp:
1045
1046 2008-09-22  Alp Toker  <alp@nuanti.com>
1047
1048         Suggested by David Hyatt.
1049
1050         Build fix: ScrollView::update() is still used by Document.cpp on !MAC
1051         so make it public.
1052
1053         * platform/ScrollView.h:
1054
1055 2008-09-22  David Hyatt  <hyatt@apple.com>
1056
1057         Fix a regression in Windows scrollbar painting.  (Also fix the same
1058         bug in my new viewless Mac scrollbar painting code).  The track rect
1059         was being improperly inflated when painting resulting in the scrollbar
1060         being too tall and painting in the border of overflow sections.
1061
1062         Reviewed by Oliver Hunt
1063
1064         * platform/mac/ScrollbarThemeMac.mm:
1065         (WebCore::ScrollbarThemeMac::trackRect):
1066         * platform/win/ScrollbarThemeSafari.cpp:
1067         (WebCore::ScrollbarThemeSafari::trackRect):
1068
1069 2008-09-22  David Hyatt  <hyatt@apple.com>
1070
1071         Fix a hit testing bug where events are mistakenly passed to subframes
1072         if the mouse is over the border or padding area of the frame.  Add
1073         a boolean flag, isOverWidget(), to hit test results so that EventHandler
1074         can check it to tell if the mouse is really over the content box of a
1075         RenderWidget and not just in the border/padding area.
1076
1077         This is not testable, since the old code properly recovered when it detected
1078         that the mouse was outside the bounds of the view, but this prevents
1079         the extra passdown from even occurring (and is basically a nice cleanup).
1080
1081         Reviewed by Oliver Hunt
1082
1083         * page/EventHandler.cpp:
1084         (WebCore::EventHandler::handleMousePressEvent):
1085         (WebCore::EventHandler::hitTestResultAtPoint):
1086         (WebCore::subframeForHitTestResult):
1087         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1088         (WebCore::EventHandler::handleMouseMoveEvent):
1089         (WebCore::EventHandler::handleMouseReleaseEvent):
1090         (WebCore::EventHandler::handleWheelEvent):
1091         * page/MouseEventWithHitTestResults.h:
1092         (WebCore::MouseEventWithHitTestResults::isOverWidget):
1093         * rendering/HitTestResult.cpp:
1094         (WebCore::HitTestResult::HitTestResult):
1095         (WebCore::HitTestResult::operator=):
1096         * rendering/HitTestResult.h:
1097         (WebCore::HitTestResult::isOverWidget):
1098         (WebCore::HitTestResult::setIsOverWidget):
1099         * rendering/RenderWidget.cpp:
1100         (WebCore::RenderWidget::nodeAtPoint):
1101         * rendering/RenderWidget.h:
1102
1103 2008-09-21  David Hyatt  <hyatt@apple.com>
1104
1105         Rename FrameView's repaintRectangle method to repaintContentRectangle.  Make
1106         both it and ScrollView's updateContents method be off-limits to everyone in
1107         WebCore except for RenderView.
1108
1109         Make repaintViewRectangle the only possible method for WebCore code to do
1110         an invalidation.  This ensures that all invalidates triggered by WebCore
1111         cross-platform code that cross ownerElement() boundaries are transform-aware.
1112
1113         Make sure that iframes/frames contained inside objects that have transforms
1114         or reflections are not allowed to blit (this was already true for transparency).
1115
1116         It is not possible to make a test for any of this, since iframe scrolling
1117         still doesn't work on Mac (since the invalidates are not being done
1118         through WebCore's cross-platform invalidation code but are instead going
1119         through NSScrollView's setNeedsDisplay still).
1120
1121         Reviewed by Oliver Hunt
1122
1123         * editing/SelectionController.cpp:
1124         (WebCore::SelectionController::recomputeCaretRect):
1125         (WebCore::SelectionController::invalidateCaretRect):
1126         (WebCore::SelectionController::focusedOrActiveStateChanged):
1127         * page/FrameView.cpp:
1128         (WebCore::FrameView::repaintContentRectangle):
1129         (WebCore::FrameView::endDeferredRepaints):
1130         * page/FrameView.h:
1131         * platform/ScrollView.h:
1132         * rendering/RenderBox.cpp:
1133         (WebCore::RenderBox::paintFillLayerExtended):
1134         * rendering/RenderLayer.cpp:
1135         (WebCore::RenderLayer::enclosingPositionedAncestor):
1136         (WebCore::RenderLayer::requiresSlowRepaints):
1137         * rendering/RenderLayer.h:
1138         (WebCore::RenderLayer::hasTransform):
1139         * rendering/RenderView.cpp:
1140         (WebCore::RenderView::paintBoxDecorations):
1141         (WebCore::RenderView::repaintViewRectangle):
1142         (WebCore::RenderView::setSelection):
1143
1144 2008-09-21  Maciej Stachowiak  <mjs@apple.com>
1145
1146         Reviewed by Darin.
1147
1148         - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
1149         https://bugs.webkit.org/show_bug.cgi?id=20981
1150         
1151         * bindings/js/JSAudioConstructor.cpp:
1152         (WebCore::JSAudioConstructor::JSAudioConstructor):
1153         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1154         (WebCore::JSCSSStyleDeclaration::nameGetter):
1155         * bindings/js/JSDOMBinding.cpp:
1156         (WebCore::createDOMStructure):
1157         * bindings/js/JSDOMBinding.h:
1158         (WebCore::getDOMStructure):
1159         * bindings/js/JSDOMWindowShell.cpp:
1160         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1161         (WebCore::JSDOMWindowShell::setWindow):
1162         * bindings/js/JSEventTargetNode.cpp:
1163         (WebCore::JSEventTargetNode::createPrototype):
1164         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1165         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
1166         * bindings/js/JSImageConstructor.cpp:
1167         (WebCore::JSImageConstructor::JSImageConstructor):
1168         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1169         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1170         * bindings/js/JSXSLTProcessorConstructor.cpp:
1171         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1172         * bindings/scripts/CodeGeneratorJS.pm:
1173
1174 2008-09-21  Darin Adler  <darin@apple.com>
1175
1176         Reviewed by Maciej Stachowiak.
1177
1178         - fix problem Maciej noticed where every JSNamedNodesCollection
1179           gets its own StructureID
1180
1181         * bindings/js/JSNamedNodesCollection.cpp:
1182         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
1183         getDOMStructure to get the structure.
1184         * bindings/js/JSNamedNodesCollection.h:
1185         (WebCore::JSNamedNodesCollection::createPrototype): Return the
1186         object prototype.
1187
1188 2008-09-20  David Hyatt  <hyatt@apple.com>
1189
1190         Make sure transformed scrollbars in overflow sections position
1191         properly.  This patch mimics the same behavior that works for
1192         iframes, namely making sure that the same code that dynamically
1193         adjusts iframe widget positions at paint time for fixed positioning
1194         and transforms also applies to scrollbars.  (This is as simple as passing
1195         in the current translation factor at paint time rather than crawling
1196         up the layer tree to compute a "false" absolute position.)
1197
1198         An existing transform test covers this (although only a pixel result
1199         reveals the correct rendering).
1200
1201         Reviewed by Darin Adler
1202
1203         * rendering/RenderLayer.cpp:
1204         (WebCore::RenderLayer::updateLayerPositions):
1205         (WebCore::RenderLayer::positionOverflowControls):
1206         (WebCore::RenderLayer::paintOverflowControls):
1207         (WebCore::RenderLayer::paintLayer):
1208         * rendering/RenderLayer.h:
1209
1210 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
1211
1212         Removed unnecessary nested timer check.
1213         
1214         Rubber-stamped by Dan Bernstein.
1215
1216         * platform/win/SharedTimerWin.cpp:
1217         (WebCore::TimerWindowWndProc):
1218
1219 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
1220
1221         Improve timer resolution on WinXP.
1222         https://bugs.webkit.org/show_bug.cgi?id=20979
1223         
1224         Removed last-chance timer. It should not be necessary.
1225         Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
1226         Remove Vista checks. We now run the same code on both XP and Vista.
1227         
1228         Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
1229         The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
1230         
1231         Reviewed by Maciej Stachowiak.
1232
1233         * platform/win/SharedTimerWin.cpp:
1234         (WebCore::):
1235         (WebCore::TimerWindowWndProc):
1236         (WebCore::setSharedTimerFireTime):
1237         * platform/win/SystemTimeWin.cpp:
1238         (WebCore::currentTime):
1239
1240 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
1241
1242         Reviewed by eseidel.  Landed by eseidel.
1243
1244         All platforms use the DashArray in the GraphicsContext.
1245
1246         * svg/graphics/SVGPaintServer.h:
1247         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
1248         (WebCore::SVGPaintServerGradient::setup):
1249         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
1250         (WebCore::SVGPaintServerPattern::setup):
1251         * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
1252         (WebCore::SVGPaintServerSolid::setup):
1253         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
1254         (WebCore::SVGPaintServerGradient::setup):
1255         * svg/graphics/qt/SVGPaintServerQt.cpp:
1256         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
1257         (WebCore::SVGPaintServerSolid::setup):
1258
1259 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
1260
1261         Reviewed by eseidel.  Landed by eseidel.
1262
1263         Moved DashArray to GraphicsContext.
1264
1265         * GNUmakefile.am:
1266         * WebCore.vcproj/WebCore.vcproj:
1267         * WebCore.xcodeproj/project.pbxproj:
1268         * platform/graphics/DashArray.h: Added.
1269         * platform/graphics/GraphicsContext.h:
1270         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1271         (WebCore::GraphicsContext::setLineDash):
1272         * platform/graphics/cg/GraphicsContextCG.cpp:
1273         (WebCore::GraphicsContext::setLineDash):
1274         * platform/graphics/qt/GraphicsContextQt.cpp:
1275         (WebCore::GraphicsContext::setLineDash):
1276         * svg/graphics/SVGPaintServer.cpp:
1277         (WebCore::applyStrokeStyleToContext):
1278         * svg/graphics/SVGPaintServer.h:
1279         * svg/graphics/cg/CgSupport.cpp:
1280         * svg/graphics/cg/CgSupport.h:
1281
1282 2008-09-21  Dan Bernstein  <mitz@apple.com>
1283
1284         Reviewed by Mark Rowe.
1285
1286         - fix linker warnings
1287
1288         * WebCore.base.exp:
1289
1290 2008-09-20  Darin Adler  <darin@apple.com>
1291
1292         - another try at fixing Qt
1293
1294         * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
1295
1296 2008-09-20  Darin Adler  <darin@apple.com>
1297
1298         - blind attempt to fix Qt build
1299
1300         * bridge/qt/qt_runtime.cpp:
1301         (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
1302         of regExpPrototype to make a RegExpObject. There should really be
1303         some sort of public helper function for this. Same thing for
1304         DateInstance and dateStructure. For JSObject, use constructEmptyObject.
1305         (JSC::Bindings::):
1306         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
1307         It is not correct to do this inside the constructor because it could
1308         cause a garbage collect while the QtRuntimeMethod object is half-
1309         allocated, which could lead to a crash; note that RuntimeMethod,
1310         QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
1311         * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
1312
1313 2008-09-20  Collin Jackson  <collinj@webkit.org>
1314
1315         Prefetch DNS for hyperlinks that the user mouses over.
1316
1317         https://bugs.webkit.org/show_bug.cgi?id=20931
1318
1319         Reviewed by Sam Weinig.
1320
1321         * page/Chrome.cpp:
1322         (WebCore::Chrome::mouseDidMoveOverElement):
1323
1324 2008-09-20  Darin Adler  <darin@apple.com>
1325
1326         Reviewed by Maciej Stachowiak.
1327
1328         - finish https://bugs.webkit.org/show_bug.cgi?id=20858
1329           make each distinct C++ class get a distinct JSC::Structure
1330
1331         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1332         (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
1333         ID. Note that this makes a new structure every time -- we could
1334         optimize this slightly be caching and reusing a single one.
1335
1336         * bridge/runtime_method.cpp:
1337         (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
1338         getDOMStructure.
1339         * bridge/runtime_method.h:
1340         (JSC::RuntimeMethod::createPrototype): Added createPrototype so
1341         getDOMStructure will work.
1342
1343         * bindings/js/JSDOMWindowShell.cpp:
1344         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
1345         0; needed in case garbage collection happens while creating the
1346         JSDOMWindow.
1347
1348 2008-09-20  Dan Bernstein  <mitz@apple.com>
1349
1350         Reviewed by Eric Seidel.
1351
1352         - fix https://bugs.webkit.org/show_bug.cgi?id=20950
1353           <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
1354
1355         * svg/SVGTextContentElement.cpp:
1356         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
1357         not include the first character in the extraCharsAvailable count.
1358
1359 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
1360
1361         Reviewed by Dan Bernstein.
1362
1363         Fix memory leak.
1364         
1365         https://bugs.webkit.org/show_bug.cgi?id=20505
1366
1367         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
1368         (GetTextExtent):
1369
1370 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
1371
1372         wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
1373
1374         * WebCoreSources.bkl:
1375         * platform/ScrollView.h:
1376         * platform/wx/PopupMenuWx.cpp:
1377         (WebCore::PopupMenu::show):
1378         * platform/wx/RenderThemeWx.cpp:
1379         (WebCore::RenderThemeWx::paintButton):
1380         (WebCore::RenderThemeWx::paintTextField):
1381         (WebCore::RenderThemeWx::paintMenuList):
1382         (WebCore::RenderThemeWx::paintMenuListButton):
1383         * platform/wx/ScrollViewWx.cpp:
1384         (WebCore::ScrollView::setPlatformWidget):
1385         (WebCore::ScrollView::updateContents):
1386         (WebCore::ScrollView::update):
1387         (WebCore::ScrollView::visibleWidth):
1388         (WebCore::ScrollView::visibleHeight):
1389         (WebCore::ScrollView::scrollBy):
1390         (WebCore::ScrollView::resizeContents):
1391         (WebCore::ScrollView::contentsWidth):
1392         (WebCore::ScrollView::contentsHeight):
1393         (WebCore::ScrollView::isScrollViewScrollbar):
1394         (WebCore::ScrollView::adjustScrollbars):
1395         (WebCore::ScrollView::inWindow):
1396         (WebCore::ScrollView::removeChild):
1397         * platform/wx/WidgetWx.cpp:
1398         * plugins/wx/PluginViewWx.cpp:
1399         (WebCore::PluginView::setParentVisible):
1400         (WebCore::PluginView::updatePluginWidget):
1401
1402 2008-09-20  Timothy Hatcher  <timothy@apple.com>
1403
1404         Fix the new Node Search button image to not be blurry.
1405
1406         * page/inspector/Images/nodeSearchButtons.png:
1407
1408 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
1409
1410         Reviewed by Tim Hatcher.
1411
1412         Cut down some of the inspector javascript -> InspectorController glue code
1413         with two new macros. Also rearrange the exposed function list to be grouped
1414         by implementation and to all explicitly use the WebCore namespace.
1415
1416         * page/InspectorController.cpp:
1417         (WebCore::InspectorController::windowScriptObjectAvailable):
1418
1419 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
1420
1421         Reviewed by Tim Hatcher.
1422
1423         Fix regression from my previous patch where the breadcrumbs bar was not displayed.
1424
1425         * page/inspector/inspector.css:
1426
1427 2008-09-20  Nikolas Zimmermann  <zimmermann@kde.org>
1428
1429         Reviewed by Eric.
1430
1431         Refactor HTMLImageLoader/SVGImageLoader code.
1432         Move html/HTMLImageLoader.* to loader/ImageLoader.*
1433
1434         Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
1435         SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
1436
1437         * GNUmakefile.am:
1438         * WebCore.pro:
1439         * WebCore.vcproj/WebCore.vcproj:
1440         * WebCore.xcodeproj/project.pbxproj:
1441         * WebCoreSources.bkl:
1442         * dom/Document.cpp:
1443         (WebCore::Document::dispatchImageLoadEventSoon):
1444         (WebCore::Document::removeImage):
1445         (WebCore::Document::dispatchImageLoadEventsNow):
1446         * dom/Document.h:
1447         * html/HTMLImageLoader.cpp:
1448         (WebCore::HTMLImageLoader::HTMLImageLoader):
1449         (WebCore::HTMLImageLoader::~HTMLImageLoader):
1450         (WebCore::HTMLImageLoader::sourceURI):
1451         (WebCore::HTMLImageLoader::notifyFinished):
1452         * html/HTMLImageLoader.h:
1453         * loader/DocLoader.h:
1454         * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
1455         (WebCore::ImageLoader::ImageLoader):
1456         (WebCore::ImageLoader::~ImageLoader):
1457         (WebCore::ImageLoader::setImage):
1458         (WebCore::ImageLoader::setLoadingImage):
1459         (WebCore::ImageLoader::updateFromElement):
1460         (WebCore::ImageLoader::notifyFinished):
1461         * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
1462         * svg/SVGImageElement.cpp:
1463         (WebCore::SVGImageElement::attach):
1464         (WebCore::SVGImageElement::insertedIntoDocument):
1465         (WebCore::SVGImageElement::imageSourceAttributeName):
1466         * svg/SVGImageElement.h:
1467         * svg/SVGImageLoader.cpp:
1468         (WebCore::SVGImageLoader::SVGImageLoader):
1469         (WebCore::SVGImageLoader::dispatchLoadEvent):
1470         (WebCore::SVGImageLoader::sourceURI):
1471         * svg/SVGImageLoader.h:
1472
1473 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
1474
1475         Build fix.
1476
1477         [qtwebkit] ScrollBar build fix after r36684.
1478         BackButtonPart was split into Start and End Part
1479         ForwardButtonPart was split into Start and End Part
1480
1481         * platform/qt/ScrollbarThemeQt.cpp:
1482         (WebCore::scPart):
1483         (WebCore::scrollbarPart):
1484         (WebCore::styleOptionSlider):
1485
1486 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
1487
1488         Build fix.
1489
1490         [qtwebkit] Make qt_instance.cpp compile.
1491         Revision of 36675 introduced getDOMStructure to give unique
1492         structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
1493         the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
1494
1495         * bridge/qt/qt_instance.cpp:
1496         (JSC::Bindings::QtInstance::getRuntimeObject):
1497
1498 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
1499
1500         Reviewed by Nikolas Zimmermann.
1501
1502         [svg] Change SVGLocatable to deal with a plain SVGElement
1503         There is no requirement in the code that we have to have a
1504         SVGStyledElement. Remove that artificial limitation and compile
1505         with SVGElement.
1506
1507         * svg/SVGLocatable.cpp:
1508         * svg/SVGLocatable.h:
1509
1510 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
1511
1512         Reviewed by Nikolas Zimmermann.
1513
1514         [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
1515         management.
1516
1517         * dom/Document.cpp:
1518         (WebCore::Document::~Document):
1519         (WebCore::Document::svgExtensions):
1520         (WebCore::Document::accessSVGExtensions):
1521         * dom/Document.h:
1522
1523 2008-09-19  David Hyatt  <hyatt@apple.com>
1524
1525         Fix for crash in updateTransitions.  Make sure to test for a style
1526         being null when comparing two RenderStyles.
1527
1528         Reviewed by Oliver Hunt
1529
1530         * page/animation/AnimationBase.cpp:
1531         (WebCore::PropertyWrapperGetter::equals):
1532
1533 2008-09-19  David Hyatt  <hyatt@apple.com>
1534
1535         https://bugs.webkit.org/show_bug.cgi?id=20954
1536
1537         Roll out r36628 since it has caused horrible regressions with
1538         animated GIF CPU usage.
1539
1540         * platform/graphics/BitmapImage.cpp:
1541         (WebCore::BitmapImage::cacheFrame):
1542         (WebCore::BitmapImage::startAnimation):
1543         * platform/graphics/BitmapImage.h:
1544         (WebCore::FrameData::FrameData):
1545         * platform/graphics/cairo/ImageCairo.cpp:
1546         (WebCore::FrameData::clear):
1547         * platform/graphics/cg/ImageCG.cpp:
1548         (WebCore::FrameData::clear):
1549         * platform/graphics/qt/ImageQt.cpp:
1550         (WebCore::FrameData::clear):
1551         * platform/graphics/wx/ImageWx.cpp:
1552         (WebCore::FrameData::clear):
1553
1554 2008-09-20  Alp Toker  <alp@nuanti.com>
1555
1556         Reviewed by Timothy Hatcher.
1557
1558         https://bugs.webkit.org/show_bug.cgi?id=20913
1559         Avoid redudant includes
1560
1561         Document.h is included excessively such that a modification to Document.h (or
1562         any of the header it includes itself) triggers a rebuild of many files
1563         including the whole of SVG and a lot of the JS bindings.
1564
1565         Some of these includes can be avoided by only including Document.h where
1566         necessary.
1567
1568         * bindings/js/JSAttrCustom.cpp:
1569         * bindings/js/JSElementCustom.cpp:
1570         * bindings/js/JSEventTargetBase.cpp:
1571         * bindings/js/JSEventTargetBase.h:
1572         * bindings/js/JSEventTargetNode.cpp:
1573         * bindings/js/JSHTMLFrameElementCustom.cpp:
1574         * bindings/js/JSHTMLIFrameElementCustom.cpp:
1575         * bindings/scripts/CodeGeneratorJS.pm:
1576         * css/CSSCursorImageValue.cpp:
1577         * css/SVGCSSStyleSelector.cpp:
1578         * dom/make_names.pl:
1579         * svg/SVGAnimateElement.h:
1580         * svg/SVGAnimatedProperty.h:
1581         (WebCore::::baseValue):
1582         (WebCore::::setBaseValue):
1583         (WebCore::::startAnimation):
1584         (WebCore::::stopAnimation):
1585         * svg/SVGElement.cpp:
1586         (WebCore::SVGElement::accessDocumentSVGExtensions):
1587         * svg/SVGElement.h:
1588         * svg/SVGElementInstance.cpp:
1589         * svg/SVGFitToViewBox.cpp:
1590         * svg/SVGFontElement.cpp:
1591         * svg/SVGFontFaceElement.cpp:
1592         * svg/SVGLinearGradientElement.cpp:
1593         * svg/SVGMPathElement.cpp:
1594         * svg/SVGViewSpec.cpp:
1595
1596 2008-09-19  Nikolas Zimmermann  <zimmermann@kde.org>
1597
1598         Reviewed by Antti & Eric.
1599
1600         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
1601
1602         Finish HTMLScriptElement / SVGScriptElement unification.
1603         SVG <script> support is complete now, full SVGLoad event
1604         respecting the influence of the externalResourcesRequired attribute
1605         as well as SVGError event support. All other features shared with HTML.
1606
1607         Tests: fast/dom/HTMLScriptElement/script-reexecution.html
1608                svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
1609                svg/dom/SVGScriptElement/script-load-and-error-events.svg
1610                svg/dom/SVGScriptElement/script-reexecution.svg
1611                svg/dom/SVGScriptElement/script-set-href.svg
1612
1613         * dom/ScriptElement.cpp:
1614         (WebCore::ScriptElementData::ScriptElementData):
1615         (WebCore::ScriptElementData::requestScript):
1616         * dom/ScriptElement.h:
1617         (WebCore::ScriptElementData::haveFiredLoadEvent):
1618         (WebCore::ScriptElementData::setHaveFiredLoadEvent):
1619         * dom/XMLTokenizer.cpp:
1620         (WebCore::XMLTokenizer::notifyFinished):
1621         * html/HTMLScriptElement.cpp:
1622         (WebCore::HTMLScriptElement::dispatchLoadEvent):
1623         * svg/SVGScriptElement.cpp:
1624         (WebCore::SVGScriptElement::setCreatedByParser):
1625         (WebCore::SVGScriptElement::parseMappedAttribute):
1626         (WebCore::SVGScriptElement::svgAttributeChanged):
1627         (WebCore::SVGScriptElement::insertedIntoDocument):
1628         (WebCore::SVGScriptElement::removedFromDocument):
1629         (WebCore::SVGScriptElement::childrenChanged):
1630         (WebCore::SVGScriptElement::isURLAttribute):
1631         (WebCore::SVGScriptElement::finishParsingChildren):
1632         (WebCore::SVGScriptElement::type):
1633         (WebCore::SVGScriptElement::setType):
1634         (WebCore::SVGScriptElement::haveLoadedRequiredResources):
1635         (WebCore::SVGScriptElement::dispatchLoadEvent):
1636         (WebCore::SVGScriptElement::dispatchErrorEvent):
1637         * svg/SVGScriptElement.h:
1638
1639 2008-09-19  Dan Bernstein  <mitz@apple.com>
1640
1641         Reviewed by John Sullivan.
1642
1643         - fix https://bugs.webkit.org/show_bug.cgi?id=20951
1644           Typo in Position::getInlineBoxAndOffset()
1645           and add an assertion
1646
1647         Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
1648
1649         * dom/Position.cpp:
1650         (WebCore::Position::getInlineBoxAndOffset):
1651         * rendering/InlineTextBox.cpp:
1652         (WebCore::InlineTextBox::positionForOffset):
1653
1654 2008-09-19  David Hyatt  <hyatt@apple.com>
1655
1656         Add support for hit testing of all five possible scrollbar button placements. 
1657
1658         Reviewed by Sam Weinig
1659
1660         * platform/ScrollbarThemeComposite.cpp:
1661         (WebCore::ScrollbarThemeComposite::paint):
1662         * platform/mac/ScrollbarThemeMac.mm:
1663         (WebCore::):
1664         (WebCore::ScrollbarThemeMac::backButtonRect):
1665         (WebCore::ScrollbarThemeMac::forwardButtonRect):
1666         (WebCore::ScrollbarThemeMac::trackRect):
1667         (WebCore::ScrollbarThemeMac::paintButton):
1668
1669 2008-09-19  Darin Adler  <darin@apple.com>
1670
1671         - try to fix Qt build
1672
1673         * bridge/qt/qt_instance.cpp:
1674         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
1675         (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
1676         * bridge/runtime_object.cpp:
1677         (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
1678         * bridge/runtime_object.h: Ditto.
1679
1680 2008-09-19  Chris Marrin  <cmarrin@apple.com>
1681
1682         Reviewed by Dave Hyatt.
1683
1684         Transition starts running when it shouldn't
1685         https://bugs.webkit.org/show_bug.cgi?id=20892
1686
1687         When there is a transition and an animation on the
1688         same element, make sure the animation wins.
1689
1690         The fix is to save the unanimated style when an animation is started.
1691         Then, when starting a transition, check to see if there is a current
1692         animation on the same prop. If so, use the unanimated style as the
1693         fromStyle rather than the current style.
1694
1695         Test: animations/transition-and-animation-1.html
1696
1697         * page/animation/CompositeAnimation.cpp:
1698         (WebCore::CompositeAnimation::updateTransitions):
1699         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1700         (WebCore::CompositeAnimation::animate):
1701         (WebCore::CompositeAnimation::getAnimationForProperty):
1702         * page/animation/CompositeAnimation.h:
1703         * page/animation/ImplicitAnimation.cpp:
1704         (WebCore::ImplicitAnimation::reset):
1705         * page/animation/ImplicitAnimation.h:
1706         * page/animation/KeyframeAnimation.cpp:
1707         (WebCore::KeyframeAnimation::hasAnimationForProperty):
1708         * page/animation/KeyframeAnimation.h:
1709         (WebCore::KeyframeAnimation::KeyframeAnimation):
1710         (WebCore::KeyframeAnimation::unanimatedStyle):
1711
1712 2008-09-19  David Hyatt  <hyatt@apple.com>
1713
1714         Add support for painting/hit testing of four possible scrollbar buttons.
1715         The Windows themes simply ignore the two parts that they will never
1716         show.  The Mac theme also ignores the other two buttons for now.
1717
1718         The cross-platform base for all three themes, ScrollbarThemeComposite,
1719         has all the proper support though.
1720
1721         Reviewed by Sam Weinig
1722
1723         * platform/ScrollbarThemeComposite.cpp:
1724         (WebCore::ScrollbarThemeComposite::hitTest):
1725         (WebCore::ScrollbarThemeComposite::invalidatePart):
1726         * platform/ScrollbarThemeComposite.h:
1727         * platform/mac/ScrollbarThemeMac.h:
1728         * platform/mac/ScrollbarThemeMac.mm:
1729         (WebCore::ScrollbarThemeMac::backButtonRect):
1730         (WebCore::ScrollbarThemeMac::forwardButtonRect):
1731         (WebCore::ScrollbarThemeMac::paintButton):
1732         * platform/win/ScrollbarThemeSafari.cpp:
1733         (WebCore::ScrollbarThemeSafari::backButtonRect):
1734         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
1735         (WebCore::ScrollbarThemeSafari::paintButton):
1736         * platform/win/ScrollbarThemeSafari.h:
1737         * platform/win/ScrollbarThemeWin.cpp:
1738         (WebCore::ScrollbarThemeWin::backButtonRect):
1739         (WebCore::ScrollbarThemeWin::forwardButtonRect):
1740         (WebCore::ScrollbarThemeWin::paintButton):
1741         * platform/win/ScrollbarThemeWin.h:
1742
1743 2008-09-19  Matt Lilek  <webkit@mattlilek.com>
1744
1745         Reviewed by Tim Hatcher.
1746
1747         Bug 17772: Inspector should support point-and-click to select a node to inspect
1748         https://bugs.webkit.org/show_bug.cgi?id=17772
1749         <rdar://problem/5792395>
1750
1751         * English.lproj/localizedStrings.js:
1752         * page/Chrome.cpp:
1753         (WebCore::Chrome::mouseDidMoveOverElement):
1754         * page/EventHandler.cpp:
1755         (WebCore::EventHandler::handleMousePressEvent):
1756         * page/InspectorController.cpp:
1757         (WebCore::toggleNodeSearch):
1758         (WebCore::searchingForNode):
1759         (WebCore::InspectorController::InspectorController):
1760         (WebCore::InspectorController::toggleSearchForNodeInPage):
1761         (WebCore::InspectorController::mouseDidMoveOverElement):
1762         (WebCore::InspectorController::handleMousePressOnNode):
1763         (WebCore::InspectorController::windowScriptObjectAvailable):
1764         * page/InspectorController.h:
1765         (WebCore::InspectorController::searchingForNodeInPage):
1766         * page/inspector/ElementsPanel.js:
1767         * page/inspector/Images/nodeSearchButtons.png: Added.
1768         * page/inspector/inspector.css:
1769
1770 2008-09-19  David Hyatt  <hyatt@apple.com>
1771
1772         Add new scrollbar parts to be able to represent back and forward buttons
1773         at either end of the scrollbar.  The current scrollbar still just draws
1774         a single button at either end, but the parts now exist.
1775
1776         Reviewed by Sam Weinig
1777
1778         * platform/ScrollTypes.h:
1779         (WebCore::):
1780         * platform/Scrollbar.cpp:
1781         (WebCore::Scrollbar::autoscrollTimerFired):
1782         (WebCore::Scrollbar::pressedPartScrollDirection):
1783         (WebCore::Scrollbar::pressedPartScrollGranularity):
1784         (WebCore::Scrollbar::handleMouseMoveEvent):
1785         * platform/ScrollbarTheme.h:
1786         (WebCore::ScrollbarTheme::buttonsPlacement):
1787         (WebCore::ScrollbarTheme::invalidateParts):
1788         * platform/ScrollbarThemeComposite.cpp:
1789         (WebCore::ScrollbarThemeComposite::paint):
1790         (WebCore::ScrollbarThemeComposite::hitTest):
1791         (WebCore::ScrollbarThemeComposite::invalidatePart):
1792         * platform/ScrollbarThemeComposite.h:
1793
1794 2008-09-19  Beth Dakin  <bdakin@apple.com>
1795
1796         Reviewed by Dave Hyatt.
1797
1798         Fix for <rdar://problem/6231308> crash in AutoTableLayout
1799
1800         The code assumes later on that a TableSection's grid's row vector 
1801         will never be empty. So make 1 the minimum number of columns.
1802
1803         * rendering/RenderTableSection.cpp:
1804         (WebCore::RenderTableSection::ensureRows):
1805
1806 2008-09-19  David Hyatt  <hyatt@apple.com>
1807
1808         Add a new ScrollbarButtonsPlacement type for specifying where
1809         the button arrows are in a scrollbar.
1810
1811         Read in the placement settings for Mac.  Nothing is done with the
1812         setting yet.
1813
1814         Add a new buttonsPlacement() method to ScrollbarTheme composite
1815         so that the arrow settings can be obtained.
1816
1817         Reviewed by Sam Weinig
1818
1819         * platform/ScrollTypes.h:
1820         (WebCore::):
1821         * platform/ScrollbarThemeComposite.h:
1822         (WebCore::ScrollbarThemeComposite::buttonsPlacement):
1823         * platform/mac/ScrollbarThemeMac.mm:
1824         (WebCore::updateArrowPlacement):
1825         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1826
1827 2008-09-19  Steve Falkenburg  <sfalken@apple.com>
1828
1829         Roll out r36626. It is causing variance in SunSpider numbers on XP.
1830         
1831         Rubber stamped by Mark Rowe.
1832
1833         * platform/win/SharedTimerWin.cpp:
1834         (WebCore::isRunningOnVistaOrLater):
1835         (WebCore::setSharedTimerFireTime):
1836
1837 2008-09-19  Kevin McCullough  <kmccullough@apple.com>
1838
1839         Reviewed by Tim.
1840
1841         https://bugs.webkit.org/show_bug.cgi?id=20942
1842         Bug 20942: Repeated messages in resources don't collapse
1843         - Now repeated messages in a resource's view are collapsed and a message
1844         says how many were repeated.
1845
1846         * English.lproj/localizedStrings.js:
1847         * manual-tests/inspector/multiple-console-messages.html:
1848         * page/inspector/Console.js: Send all the messages to the resource's
1849         view before possibly returning early if the message is a repeat.
1850         * page/inspector/SourceFrame.js: Add the text about the message being
1851         repeated, if it is, and increment it when necessary.
1852
1853 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
1854
1855         Removed unnecessary #if
1856
1857         * page/mac/AccessibilityObjectWrapper.mm:
1858
1859 2008-09-19  David Hyatt  <hyatt@apple.com>
1860
1861         Read in prefs for the scroll delay repeat values for buttons.  Also
1862         honor the option-click pref for jumping to the thumb when clicking in
1863         the track.
1864
1865         Reviewed by Sam Weinig
1866
1867         * platform/mac/ScrollbarThemeMac.h:
1868         * platform/mac/ScrollbarThemeMac.mm:
1869         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1870         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
1871         (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
1872         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
1873
1874 2008-09-19  David Hyatt  <hyatt@apple.com>
1875
1876         Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
1877         Set the initial button repeat delay to 0.5 for Mac.
1878
1879         Reviewed by Sam Weinig
1880
1881         * WebCore.xcodeproj/project.pbxproj:
1882         * platform/mac/ScrollbarThemeMac.cpp: Removed.
1883         * platform/mac/ScrollbarThemeMac.h:
1884         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
1885         * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
1886
1887 2008-09-19  Darin Adler  <darin@apple.com>
1888
1889         Reviewed by Sam Weinig.
1890
1891         - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
1892           make each distinct C++ class get a distinct JSC::Structure
1893
1894           + Fixed all cases where we were using a shared structure for multiple
1895             C++ classes in WebCore. This still has to be done in JavaScriptCore.
1896
1897           + Got rid of cacheGlobalObject.
1898
1899           + Improved use of PassRefPtr in bindings code.
1900
1901           + Removed a couple cases where we were potentially allocating prototypes
1902             inside a JSObject's construction process -- this can lead to trouble if
1903             we do a garbage collection while an object is only partly constructed.
1904
1905         * bindings/js/JSAudioConstructor.cpp:
1906         (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
1907         so we don't implicitly share the structure with other objects that use the object
1908         prototype.
1909
1910         * bindings/js/JSDOMBinding.cpp:
1911         (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
1912         don't need cacheGlobalObject any more.
1913         (WebCore::cacheDOMConstructor): Ditto.
1914
1915         * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
1916         Added functions and a function template for getting cached DOM constructors.
1917         Removed cacheGlobalObject function template.
1918
1919         * bindings/js/JSDOMWindowBase.cpp:
1920         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
1921         we're taking ownership.
1922         * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
1923         we're taking ownership. Added constructor map.
1924         * bindings/js/JSDOMWindowCustom.cpp:
1925         (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
1926
1927         * bindings/js/JSDOMWindowShell.cpp:
1928         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
1929         we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
1930         this is now done in only that one place.
1931         (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
1932         the passed-in DOMWindow. Code was moved here and changed to allocate unique
1933         structures for both the window prototype and the window.
1934         * bindings/js/JSDOMWindowShell.h: Ditto.
1935
1936         * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
1937         have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
1938         private/friend in JSEventTargetBase. Removed comments referring to defunct
1939         macros. Changed JSEventTargetBasePrototype to get the prototype with the new
1940         rather than its own copy of cacheGlobalObject (I missed this during pass 1).
1941         Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
1942
1943         * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
1944         for caching structures and prototypes.
1945         (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
1946         (WebCore::JSEventTargetNode::createPrototype): Added.
1947         * bindings/js/JSEventTargetNode.h: Updated for above changes.
1948
1949         * bindings/js/JSHTMLAllCollection.h:
1950         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
1951         * bindings/js/JSHTMLCollectionCustom.cpp:
1952         (WebCore::getNamedItems): Pass ExecState instead of prototype.
1953         * bindings/js/JSHTMLFormElementCustom.cpp:
1954         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
1955         * bindings/js/JSHTMLInputElementBase.cpp:
1956         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
1957         * bindings/js/JSHTMLInputElementBase.h: Ditto.
1958         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1959         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
1960         Create a unique structure instead of sharing.
1961         * bindings/js/JSImageConstructor.cpp:
1962         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
1963
1964         * bindings/js/JSInspectedObjectWrapper.cpp:
1965         (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
1966         a prototype rather than a structure. Made the use of inheritorID() here
1967         explicit.
1968         * bindings/js/JSInspectedObjectWrapper.h: Ditto.
1969         * bindings/js/JSInspectorCallbackWrapper.cpp:
1970         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
1971         * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
1972
1973         * bindings/js/JSNamedNodesCollection.cpp:
1974         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
1975         take an ExecState argument instead of a prototype. Create a unique
1976         StructureID instead of sharing.
1977         * bindings/js/JSNamedNodesCollection.h: Ditto.
1978
1979         * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
1980         constructor that takes a prototype instead of a structure.
1981         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
1982
1983         * bindings/js/JSRGBColor.cpp:
1984         (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
1985         prototype; create a unique structure.
1986         (WebCore::getJSRGBColor): Ditto.
1987         * bindings/js/JSRGBColor.h: Ditto.
1988
1989         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1990         (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
1991         of explicit coding the idiom for making a new object.
1992
1993         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1994         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1995         Create a unique structure instead of the shared one.
1996         * bindings/js/JSXSLTProcessorConstructor.cpp:
1997         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1998         Ditto.
1999
2000         * bindings/js/ScriptController.cpp:
2001         (WebCore::ScriptController::clearWindowShell): Let the window shell's
2002         setWindow function create the JSDOMWindow instead of doing it here.
2003
2004         * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
2005         the structure and the wrapped object when creating wrappers.
2006         Simplified some of the special cases for DOMWindow so they are
2007         different only in ways the need to be. Eliminated the
2008         JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
2009         functions. Moved responsibility for creating the structure and
2010         parent prototype out of the prototype constructor into the
2011         createPrototype function. Removed the unused "DoNotCache" flag for
2012         objects other than DOMWindow. Use getDOMConstructor instead of
2013         cacheGlobalObject for constructors. Make each constructor have
2014         a unique structure ID.
2015
2016         * bridge/objc/objc_runtime.h: Added createPrototype and changed the
2017         name of the info member to s_info so we can use the standard DOM
2018         binding macros to handl the prototype.
2019         * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
2020         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2021         Create a unique structure using getDOMStructure.
2022
2023         * bridge/runtime_array.cpp: Fixed namespacing a bit.
2024         (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
2025         getDOMStructure.
2026         * bridge/runtime_array.h: Added createPrototype so getDOMStructure
2027         will work.
2028
2029         * bridge/runtime_object.cpp:
2030         (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
2031         getDOMStructure.
2032         * bridge/runtime_object.h: Added createPrototype so getDOMStructure
2033         will work.
2034
2035         * history/CachedPage.cpp:
2036         (WebCore::CachedPage::restore): Let the window shell's
2037         setWindow function create the JSDOMWindow instead of doing it here.
2038
2039         * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
2040
2041 2008-09-19  Dan Bernstein  <mitz@apple.com>
2042
2043         Reviewed by Dave Hyatt.
2044
2045         This optimization was suggested by Daniel Fenwick
2046
2047         - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
2048
2049         Specifying LTR paragraph directionality when measuring runs of RTL text
2050         resulted in typically two CTRuns being generated for every run instead
2051         of one, due to the leading space being reordered to the left.
2052
2053         * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
2054         getCFStringAttributes() and changed m_CFStringAttributes from an array
2055         to a single value.
2056         * platform/graphics/mac/CoreTextController.cpp:
2057         (WebCore::CoreTextController::CoreTextController): Added a
2058         mayUseNaturalWritingDirection parameter.
2059         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
2060         to force the bidi embedding level whenever 
2061         m_mayUseNaturalWritingDirectrion is false. Since this is now a common
2062         case, made the typesetter options dictionaries static.
2063         * platform/graphics/mac/CoreTextController.h:
2064         * platform/graphics/mac/FontMacCoreText.cpp:
2065         (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
2066         (WebCore::Font::floatWidthForComplexText): Changed to allow the
2067         CoreTextController to not set the writing direction.
2068         * platform/graphics/mac/SimpleFontDataMac.mm:
2069         (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
2070         parameter and the paragraph style attribute.
2071
2072 2008-09-19  David Hyatt  <hyatt@apple.com>
2073
2074         Reviewed by Sam Weinig
2075
2076         https://bugs.webkit.org/show_bug.cgi?id=20941
2077
2078         Incorrect height calculation for replaced element inside nested
2079         positioned elements (where the inner has a percentage height and
2080         the outer implicitly has a fixed height because of explicit top/bottom
2081         values).
2082
2083         Added fast/block/positioning/replaced-inside-top-bottom.html
2084
2085         * rendering/RenderBox.cpp:
2086         (WebCore::RenderBox::availableHeightUsing):
2087
2088 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
2089
2090         Fix Tiger bustage
2091
2092         * page/mac/AccessibilityObjectWrapper.mm:
2093
2094 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
2095
2096         Reviewed by Darin Adler.
2097
2098         <rdar://problem/6211041> Expose legend tag in accessibility
2099
2100         Exposes the legend tag as the titleUIElement of a fieldset
2101
2102         Test: accessibility/legend.html
2103
2104         * page/AccessibilityObject.h:
2105         (WebCore::AccessibilityObject::isFieldset):
2106         * page/AccessibilityRenderObject.cpp:
2107         (WebCore::AccessibilityRenderObject::isFieldset):
2108         (WebCore::AccessibilityRenderObject::titleUIElement):
2109         * page/AccessibilityRenderObject.h:
2110         * rendering/RenderFieldset.h:
2111
2112 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
2113
2114         Reviewed by Darin Adler.
2115
2116         <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
2117
2118         Implement a few AX API methods that will be called by AppKit, which will 
2119         speed up access to accessibility objects
2120
2121         * page/mac/AccessibilityObjectWrapper.mm:
2122         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
2123         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
2124         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
2125
2126 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
2127
2128         Reviewed by Simon Hausmann.
2129
2130         [qtwebkit] Set the m_should* flags to their proper value on entry
2131         With plugins it was possible that we finished a job twice. This was
2132         some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
2133         setting the flag to (m_loadMode == LoadDeferred) they will always have
2134         the right value and we will not send responses twice.
2135
2136         * platform/network/qt/QNetworkReplyHandler.cpp:
2137
2138 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
2139
2140         Reviewed by Simon Hausmann.
2141
2142         [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
2143         Handle text decoding errors before instructing the parser to parse. We
2144         have converted the text to QString and all encoding errors are gone and
2145         the parser will not be able to detect them. So handle them before parsing.
2146
2147         * dom/XMLTokenizerQt.cpp:
2148         (WebCore::XMLTokenizer::doWrite):
2149
2150 2008-09-18  Darin Adler  <darin@apple.com>
2151
2152         Reviewed by Maciej Stachowiak.
2153
2154         - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
2155           make each distinct C++ class get a distinct JSC::Structure
2156
2157         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2158         (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
2159         instead of DOMExceptionTranslator.
2160
2161         * bindings/js/JSDOMBinding.cpp:
2162         (WebCore::getCachedDOMObjectWrapper): Updated function name.
2163         (WebCore::cacheDOMObjectWrapper): Ditto.
2164         (WebCore::forgetDOMObject): Ditto.
2165         (WebCore::getCachedDOMNodeWrapper): Ditto.
2166         (WebCore::forgetDOMNode): Ditto.
2167         (WebCore::cacheDOMNodeWrapper): Ditto.
2168         (WebCore::forgetAllDOMNodesForDocument): Ditto.
2169         (WebCore::markDOMNodesForDocument): Ditto.
2170         (WebCore::updateDOMNodeDocument): Ditto.
2171         (WebCore::getCachedDOMStructure): Added.
2172         (WebCore::createDOMStructure): Ditto.
2173
2174         * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
2175         class and replace the static member functions with non-member
2176         functions. Added many other functions for getting at structures,
2177         prototypes, wrappers, and creating them. Also moved the
2178         cacheGlobalObject function here from JavaScriptCore; eventually
2179         I'll remove that once I get rid of the remaining callers. Also
2180         removed the DOMExceptionTranslator class.
2181
2182         * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
2183         and put one of those maps in each window.
2184
2185         * bindings/js/JSDOMWindowCustom.cpp:
2186         (WebCore::markDOMObjectWrapper): Updated for function name change.
2187         (WebCore::JSDOMWindow::mark): Added code to mark all the structures
2188         in the structure map.
2189
2190         * bindings/js/JSEventTargetNode.cpp:
2191         (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
2192         a structure instead of a prototype.
2193         * bindings/js/JSEventTargetNode.h: Ditto.
2194         * bindings/js/JSHTMLAllCollection.h:
2195         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
2196
2197         * bindings/js/JSHTMLInputElementBase.cpp:
2198         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
2199         use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
2200         structure instead of a prototype.
2201         * bindings/js/JSHTMLInputElementBase.h: Removed use of the
2202         JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
2203         to take a structure instead of a prototype. Created a dummy prototype
2204         class that causes the HTMLInputElement prototype to have the
2205         HTMLElement prototype.
2206
2207         * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
2208         structures instead of prototypes. Changed the prototype self function
2209         to use the getDOMPrototype function -- later we can eliminate it and
2210         have callers invoke getDOMPrototype directly instead. Updated other
2211         functions that have name changes. Added code to generate the
2212         createPrototype member function. Changed use of cacheGlobalObject to
2213         get it from the WebCore namespace instead of the JSC namespace.
2214         Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
2215
2216         * dom/Document.cpp:
2217         (WebCore::Document::~Document): Updated for name change and also
2218         removed unnecessary JSLock use -- there's no need to lock around this.
2219         * dom/Node.cpp:
2220         (WebCore::Node::setDocument): Ditto.
2221
2222         * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
2223         instead of calling new directly.
2224
2225         * bindings/js/JSCSSRuleCustom.cpp:
2226         (WebCore::toJS): Updated for function name changes and used the
2227         CREATE_DOM_OBJECT_WRAPPER macro.
2228         * bindings/js/JSCSSValueCustom.cpp:
2229         (WebCore::toJS): Ditto.
2230         * bindings/js/JSCanvasPixelArrayCustom.cpp:
2231         (WebCore::toJS): Ditto.
2232         * bindings/js/JSDocumentCustom.cpp:
2233         (WebCore::JSDocument::mark): Ditto.
2234         (WebCore::toJS): Ditto.
2235         * bindings/js/JSElementCustom.cpp:
2236         (WebCore::toJSNewlyCreated): Ditto.
2237         * bindings/js/JSEventCustom.cpp:
2238         (WebCore::toJS): Ditto.
2239         * bindings/js/JSEventTargetBase.cpp:
2240         (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
2241         of DOMExceptionTranslator.
2242         (WebCore::toJS): Updated for function name changes and used the
2243         CREATE_DOM_OBJECT_WRAPPER macro.
2244         * bindings/js/JSHTMLCollectionCustom.cpp:
2245         (WebCore::toJS): Ditto.
2246         * bindings/js/JSNodeCustom.cpp:
2247         (WebCore::JSNode::mark): Ditto.
2248         (WebCore::createWrapper): Ditto.
2249         (WebCore::toJS): Ditto.
2250         * bindings/js/JSSVGPathSegCustom.cpp:
2251         (WebCore::toJS): Ditto.
2252         * bindings/js/JSStyleSheetCustom.cpp:
2253         (WebCore::toJS): Ditto.
2254         (WebCore::JSStyleSheet::mark): Ditto.
2255         * bindings/js/JSTextCustom.cpp:
2256         (WebCore::toJSNewlyCreated): Ditto.
2257         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2258         (WebCore::constructXMLHttpRequest): Ditto.
2259         * bindings/js/JSXMLHttpRequestCustom.cpp:
2260         (WebCore::JSXMLHttpRequest::mark): Ditto.
2261         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2262         (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
2263         * bindings/js/JSXSLTProcessorConstructor.cpp:
2264         (WebCore::constructXSLTProcessor): Ditto.
2265         * bindings/js/ScriptController.cpp:
2266         (WebCore::ScriptController::finishedWithEvent): Ditto.
2267         * xml/XMLHttpRequest.cpp:
2268         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
2269         (WebCore::XMLHttpRequest::dropProtection): Ditto.
2270
2271 2008-09-18  David Hyatt  <hyatt@apple.com>
2272
2273         This patch gets a viewless scrollbar working on Mac. It is turned off
2274         by default.  Hit testing works.  For now the scrollbar just paints ugly
2275         debug rects in the place of the buttons, track and thumb.  It does match
2276         Aqua metrics though.
2277
2278         Reviewed by Sam Weinig
2279
2280         * WebCore.xcodeproj/project.pbxproj:
2281         * page/mac/EventHandlerMac.mm:
2282         (WebCore::EventHandler::passMousePressEventToScrollbar):
2283         * platform/ScrollbarThemeComposite.cpp:
2284         (WebCore::ScrollbarThemeComposite::paint):
2285         (WebCore::ScrollbarThemeComposite::trackPosition):
2286         * platform/ScrollbarThemeComposite.h:
2287         * platform/mac/ScrollViewMac.mm:
2288         (WebCore::ScrollView::addChild):
2289         * platform/mac/ScrollbarThemeMac.cpp:
2290         (WebCore::):
2291         (WebCore::ScrollbarThemeMac::hasButtons):
2292         (WebCore::ScrollbarThemeMac::hasThumb):
2293         (WebCore::buttonRepaintRect):
2294         (WebCore::ScrollbarThemeMac::backButtonRect):
2295         (WebCore::ScrollbarThemeMac::forwardButtonRect):
2296         (WebCore::trackRepaintRect):
2297         (WebCore::ScrollbarThemeMac::trackRect):
2298         (WebCore::ScrollbarThemeMac::minimumThumbLength):
2299         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
2300         (WebCore::ScrollbarThemeMac::paintTrack):
2301         (WebCore::ScrollbarThemeMac::paintButton):
2302         (WebCore::ScrollbarThemeMac::paintThumb):
2303         * platform/mac/ScrollbarThemeMac.h:
2304         (WebCore::ScrollbarThemeMac::supportsControlTints):
2305         * platform/qt/ScrollbarThemeQt.cpp:
2306         (WebCore::ScrollbarThemeQt::trackPosition):
2307
2308 2008-09-18  Collin Jackson  <collinj@webkit.org>
2309
2310         Build fix; added missing header file to GNUmakefile.am
2311
2312         * GNUmakefile.am:
2313
2314 2008-09-18  Sam Weinig  <sam@webkit.org>
2315
2316         Reviewed by David "the Hair" Hyatt.
2317
2318         Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
2319
2320         * GNUmakefile.am:
2321         * WebCore.pro:
2322         * WebCore.vcproj/WebCore.vcproj:
2323         * WebCore.xcodeproj/project.pbxproj:
2324         * rendering/DataRef.h: Removed.
2325         * rendering/SVGRenderStyle.cpp: Removed.
2326         * rendering/SVGRenderStyle.h: Removed.
2327         * rendering/SVGRenderStyleDefs.cpp: Removed.
2328         * rendering/SVGRenderStyleDefs.h: Removed.
2329         * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
2330         * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
2331         * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
2332         * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
2333         * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
2334
2335 2008-09-18  Mark Rowe  <mrowe@apple.com>
2336
2337         Reviewed by Dan Bernstein.
2338
2339         Add a means of clearing a FrameTree's name.
2340
2341         * WebCore.base.exp:
2342         * page/FrameTree.cpp:
2343         (WebCore::FrameTree::clearName):
2344         * page/FrameTree.h:
2345
2346 2008-09-18  David Hyatt  <hyatt@apple.com>
2347
2348         Eliminate addToSuperview from Widget, since it was only called
2349         by ScrollViewMac's addChild method.  Just shift the original body
2350         of addToSuperView into addChild.
2351
2352         Reviewed by Sam Weinig
2353
2354         * platform/Widget.h:
2355         * platform/mac/ScrollViewMac.mm:
2356         (WebCore::ScrollView::addChild):
2357         * platform/mac/WidgetMac.mm:
2358
2359 2008-09-18  Collin Jackson  <collinj@webkit.org>
2360
2361         Reviewed by Antti Koivisto and Mark Rowe.
2362
2363         Test: http/tests/misc/dns-prefetch-control.html
2364
2365         https://bugs.webkit.org/show_bug.cgi?id=20690
2366
2367         Invoke WebCore::prefetchDNS() on host names that appear in
2368         in the href of hyperlinks and <link rel="dns-prefetch">. This 
2369         can be used to implement DNS prefetching.
2370
2371         * WebCore.vcproj/WebCore.vcproj:
2372         * WebCore.xcodeproj/project.pbxproj:
2373         * dom/Document.cpp:
2374         (WebCore::Document::Document):
2375         (WebCore::Document::processHttpEquiv):
2376         (WebCore::Document::setSecurityOrigin):
2377         (WebCore::Document::initDNSPrefetch):
2378         (WebCore::Document::parseDNSPrefetchControlHeader):
2379         * dom/Document.h:
2380         (WebCore::Document::isDNSPrefetchEnabled):
2381         * html/HTMLAnchorElement.cpp:
2382         (WebCore::HTMLAnchorElement::parseMappedAttribute):
2383         * html/HTMLLinkElement.cpp:
2384         (WebCore::HTMLLinkElement::HTMLLinkElement):
2385         (WebCore::HTMLLinkElement::parseMappedAttribute):
2386         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2387         (WebCore::HTMLLinkElement::process):
2388         * html/HTMLLinkElement.h:
2389         * html/PreloadScanner.cpp:
2390         (WebCore::PreloadScanner::processAttribute):
2391         * loader/FrameLoader.cpp:
2392         (WebCore::FrameLoader::begin):
2393         * platform/gtk/TemporaryLinkStubs.cpp:
2394         (WebCore::prefetchDNS):
2395         * platform/network/DNS.h: Added.
2396         * platform/network/cf/DNSCFNet.cpp: Added.
2397         (WebCore::prefetchDNS):
2398         * platform/qt/TemporaryLinkStubs.cpp:
2399         (WebCore::prefetchDNS):
2400         * platform/wx/TemporaryLinkStubs.cpp:
2401         (WebCore::prefetchDNS):
2402
2403 2008-09-18  David Hyatt  <hyatt@apple.com>
2404
2405         Eliminate the convertToScreenCoordinate method on Widget, since
2406         ScrollView has redundant methods that already do the same thing.
2407
2408         Reviewed by Sam Weinig
2409
2410         * editing/mac/SelectionControllerMac.mm:
2411         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2412         * platform/Widget.h:
2413         * platform/mac/WidgetMac.mm:
2414         (WebCore::Widget::containingWindow):
2415
2416 2008-09-18  David Hyatt  <hyatt@apple.com>
2417
2418         Move to only one constructor for Widgets.  Rename data to m_data and make
2419         it have an #ifdef only for platforms that have platform-specific data (Mac
2420         and Gtk).
2421
2422         Reviewed by Sam Weinig
2423
2424         * WebCore.base.exp:
2425         * platform/Widget.cpp:
2426         (WebCore::Widget::init):
2427         * platform/Widget.h:
2428         * platform/gtk/WidgetGtk.cpp:
2429         (WebCore::Widget::Widget):
2430         (WebCore::Widget::~Widget):
2431         (WebCore::Widget::cursor):
2432         (WebCore::Widget::setCursor):
2433         * platform/mac/WidgetMac.mm:
2434         (WebCore::Widget::Widget):
2435         (WebCore::Widget::~Widget):
2436         (WebCore::Widget::addToSuperview):
2437         (WebCore::Widget::removeFromSuperview):
2438         (WebCore::Widget::beforeMouseDown):
2439         (WebCore::Widget::afterMouseDown):
2440         * platform/qt/WidgetQt.cpp:
2441         (WebCore::Widget::Widget):
2442         * platform/win/WidgetWin.cpp:
2443         (WebCore::Widget::Widget):
2444         * platform/wx/WidgetWx.cpp:
2445         (WebCore::Widget::Widget):
2446
2447 2008-09-18  David Hyatt  <hyatt@apple.com>
2448
2449         Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
2450         was no reason for it to be on Widget.  This change eliminates Qt ifdefs
2451         from Widget.
2452
2453         Reviewed by Sam Weinig
2454
2455         * bindings/js/ScriptControllerQt.cpp:
2456         (WebCore::ScriptController::createScriptInstanceForWidget):
2457         * platform/qt/WidgetQt.cpp:
2458         (WebCore::WidgetPrivate::WidgetPrivate):
2459         (WebCore::WidgetPrivate::~WidgetPrivate):
2460         (WebCore::Widget::Widget):
2461         (WebCore::Widget::~Widget):
2462         * plugins/PluginView.cpp:
2463         (WebCore::PluginView::PluginView):
2464         * plugins/PluginView.h:
2465         (WebCore::PluginView::isNPAPIPlugin):
2466         (WebCore::PluginView::setIsNPAPIPlugin):
2467
2468 2008-09-18  David Hyatt  <hyatt@apple.com>
2469
2470         Make geometryChanged() cross-platform on Widget.  GTK and WIN platform
2471         ifdefs are now gone from Widget!
2472
2473         Reviewed by Sam Weinig
2474
2475         * platform/Widget.h:
2476         (WebCore::Widget::geometryChanged):
2477         * platform/gtk/WidgetGtk.cpp:
2478         * platform/qt/WidgetQt.cpp:
2479
2480 2008-09-18  David Hyatt  <hyatt@apple.com>
2481
2482         Consolidate convertTo/FromContainingWindow methods so that all platforms
2483         but Mac share the same code.
2484
2485         Move convertSelfToChild and convertChildToSelf to ScrollView, since
2486         Widget should know nothing about children.  Make the methods cross-platform
2487         on ScrollView.
2488
2489         Reviewed by Sam Weinig
2490
2491         * platform/ScrollView.h:
2492         (WebCore::ScrollView::convertChildToSelf):
2493         (WebCore::ScrollView::convertSelfToChild):
2494         * platform/Widget.cpp:
2495         (WebCore::Widget::convertToContainingWindow):
2496         (WebCore::Widget::convertFromContainingWindow):
2497         * platform/Widget.h:
2498         (WebCore::Widget::geometryChanged):
2499         * platform/gtk/ScrollViewGtk.cpp:
2500         (WebCore::ScrollView::isScrollViewScrollbar):
2501         * platform/gtk/WidgetGtk.cpp:
2502         * platform/mac/ScrollViewMac.mm:
2503         (WebCore::ScrollView::isScrollViewScrollbar):
2504         * platform/mac/WidgetMac.mm:
2505         * platform/qt/ScrollViewQt.cpp:
2506         (WebCore::ScrollView::isScrollViewScrollbar):
2507         * platform/qt/WidgetQt.cpp:
2508         * platform/win/ScrollViewWin.cpp:
2509         (WebCore::ScrollView::isScrollViewScrollbar):
2510         * platform/win/WidgetWin.cpp:
2511
2512 2008-09-18  David Hyatt  <hyatt@apple.com>
2513
2514         Make the conversion methods that go to and from some containingWindow
2515         cross-platform.  Implement them on Mac.
2516
2517         Reviewed by Sam Weinig
2518
2519         * platform/Widget.h:
2520         (WebCore::Widget::setContainingWindow):
2521         * platform/mac/WidgetMac.mm:
2522         (WebCore::Widget::convertFromContainingWindow):
2523         (WebCore::Widget::convertToContainingWindow):
2524
2525 2008-09-18  Sam Weinig  <sam@webkit.org>
2526
2527         Rubber-stamped by David "Yeah-yeah" Hyatt.
2528
2529         Cleanup RenderStyle.
2530
2531         * WebCore.xcodeproj/project.pbxproj:
2532         * rendering/style/CounterContent.h:
2533         * rendering/style/RenderStyle.cpp:
2534         * rendering/style/RenderStyle.h:
2535
2536 2008-09-18  Chris Marrin  <cmarrin@apple.com>
2537
2538         Reviewed by Sam Weinig
2539
2540         Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
2541         Now TransformOperations and AnimationList no longer
2542         inherit from Vector<> but rather have API to access.
2543
2544         * css/CSSComputedStyleDeclaration.cpp:
2545         (WebCore::computedTransform):
2546         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2547         * css/CSSStyleSelector.cpp:
2548         (WebCore::CSSStyleSelector::createTransformOperations):
2549         * page/animation/AnimationBase.cpp:
2550         (WebCore::blendFunc):
2551         * page/animation/CompositeAnimation.cpp:
2552         (WebCore::CompositeAnimation::updateTransitions):
2553         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2554         (WebCore::CompositeAnimation::animate):
2555         * page/animation/ImplicitAnimation.cpp:
2556         (WebCore::ImplicitAnimation::validateTransformFunctionList):
2557         * page/animation/KeyframeAnimation.cpp:
2558         (WebCore::KeyframeAnimation::validateTransformFunctionList):
2559         * rendering/RenderLayer.cpp:
2560         (WebCore::RenderLayer::updateReflectionStyle):
2561         * rendering/style/AnimationList.cpp:
2562         (WebCore::AnimationList::operator==):
2563         * rendering/style/AnimationList.h:
2564         (WebCore::AnimationList::operator!=):
2565         (WebCore::AnimationList::size):
2566         (WebCore::AnimationList::isEmpty):
2567         (WebCore::AnimationList::resize):
2568         (WebCore::AnimationList::remove):
2569         (WebCore::AnimationList::append):
2570         (WebCore::AnimationList::animation):
2571         * rendering/style/RenderStyle.cpp:
2572         (WebCore::StyleRareNonInheritedData::updateKeyframes):
2573         (WebCore::RenderStyle::applyTransform):
2574         (WebCore::RenderStyle::adjustAnimations):
2575         (WebCore::RenderStyle::adjustTransitions):
2576         (WebCore::RenderStyle::transitionForProperty):
2577         * rendering/style/RenderStyle.h:
2578         (WebCore::RenderStyle::hasTransform):
2579         * rendering/style/TransformOperations.cpp:
2580         (WebCore::TransformOperations::TransformOperations):
2581         (WebCore::TransformOperations::operator==):
2582         * rendering/style/TransformOperations.h:
2583         (WebCore::TransformOperations::apply):
2584         (WebCore::TransformOperations::operations):
2585
2586 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2587
2588         Build fix.
2589
2590         [qt] Build fixes after the Widget/ScrollView cleanup
2591         topLevel() is now root()
2592
2593
2594         * platform/qt/ScrollViewQt.cpp:
2595         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
2596         (WebCore::ScrollView::addChild):
2597         (WebCore::ScrollView::removeChild):
2598
2599 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2600
2601         Reviewed by Mark Rowe.
2602
2603         https://bugs.webkit.org/show_bug.cgi?id=20437
2604
2605         XMLTokenizer.cpp used to contain two different implementations. One was using
2606         libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
2607         separating the two implementations from each other.
2608         Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
2609         was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
2610         XMLTokenizerLibxml2.cpp. There should be no functional changes.
2611
2612         Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
2613         to work.
2614
2615         * GNUmakefile.am:
2616         * WebCore.pro:
2617         * WebCore.vcproj/WebCore.vcproj:
2618         * WebCore.xcodeproj/project.pbxproj:
2619         * WebCoreSources.bkl:
2620         * dom/XMLTokenizer.cpp:
2621         (WebCore::isScriptElement):
2622         (WebCore::castToScriptElement):
2623         (WebCore::XMLTokenizer::setCurrentNode):
2624         (WebCore::XMLTokenizer::write):
2625         (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
2626         (WebCore::XMLTokenizer::enterText):
2627         (WebCore::toString):
2628         (WebCore::XMLTokenizer::exitText):
2629         (WebCore::XMLTokenizer::end):
2630         (WebCore::XMLTokenizer::insertErrorMessageBlock):
2631         * dom/XMLTokenizer.h:
2632         (WebCore::XMLTokenizer::wellFormed):
2633         * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
2634         (WebCore::createMemoryParser):
2635         (WebCore::XMLTokenizer::XMLTokenizer):
2636         (WebCore::XMLTokenizer::~XMLTokenizer):
2637         (WebCore::XMLTokenizer::doWrite):
2638         (WebCore::ignorableWhitespaceHandler):
2639         (WebCore::XMLTokenizer::initializeParserContext):
2640         (WebCore::XMLTokenizer::doEnd):
2641         (WebCore::XMLTokenizer::lineNumber):
2642         (WebCore::XMLTokenizer::columnNumber):
2643         (WebCore::XMLTokenizer::stopParsing):
2644         (WebCore::XMLTokenizer::resumeParsing):
2645         (WebCore::parseXMLDocumentFragment):
2646         (WebCore::attributesStartElementNsHandler):
2647         (WebCore::parseAttributes):
2648         * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
2649         (WebCore::EntityResolver::resolveUndeclaredEntity):
2650         (WebCore::XMLTokenizer::XMLTokenizer):
2651         (WebCore::XMLTokenizer::~XMLTokenizer):
2652         (WebCore::XMLTokenizer::doWrite):
2653         (WebCore::XMLTokenizer::initializeParserContext):
2654         (WebCore::XMLTokenizer::doEnd):
2655         (WebCore::XMLTokenizer::lineNumber):
2656         (WebCore::XMLTokenizer::columnNumber):
2657         (WebCore::XMLTokenizer::stopParsing):
2658         (WebCore::XMLTokenizer::resumeParsing):
2659         (WebCore::parseXMLDocumentFragment):
2660         (WebCore::attributesStartElementNsHandler):
2661         (WebCore::parseAttributes):
2662         (WebCore::):
2663
2664 2008-09-18  Beth Dakin  <bdakin@apple.com>
2665
2666         Reviewed by Geoff Garen.
2667
2668         Build fix for non-Mac builds.
2669
2670         * css/CSSPrimitiveValue.cpp:
2671         (WebCore::CSSPrimitiveValue::cssText):
2672
2673 2008-09-18  Peter Kasting  <pkasting@google.com>
2674
2675         Reviewed by hyatt.  Landed by eseidel.
2676
2677         https://bugs.webkit.org/show_bug.cgi?id=20745
2678         Animated GIFs do not animate properly with (at least) CG.
2679
2680         * WebCore\platform\graphics\BitmapImage.cpp:
2681         * WebCore\platform\graphics\BitmapImage.h:
2682         * WebCore\platform\graphics\cairo\ImageCairo.cpp:
2683         * WebCore\platform\graphics\cg\ImageCG.cpp:
2684         * WebCore\platform\graphics\qt\ImageQt.cpp:
2685         * WebCore\platform\graphics\wx\ImageWx.cpp:
2686
2687 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
2688
2689         Reviewed by Beth Dakin
2690
2691         <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA 
2692         role specifies otherwise
2693
2694         If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
2695
2696         Test: accessibility/table-with-aria-role.html
2697
2698         * page/AccessibilityTable.cpp:
2699         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2700         (WebCore::AccessibilityTable::addChildren):
2701         (WebCore::AccessibilityTable::roleValue):
2702         (WebCore::AccessibilityTable::accessibilityIsIgnored):
2703         (WebCore::AccessibilityTable::title):
2704         * page/AccessibilityTableCell.cpp:
2705         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
2706         (WebCore::AccessibilityTableCell::isTableCell):
2707         (WebCore::AccessibilityTableCell::roleValue):
2708         * page/AccessibilityTableCell.h:
2709         * page/AccessibilityTableRow.cpp:
2710         (WebCore::AccessibilityTableRow::roleValue):
2711         (WebCore::AccessibilityTableRow::isTableRow):
2712         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
2713         * page/AccessibilityTableRow.h:
2714
2715 2008-09-18  Steve Falkenburg  <sfalken@apple.com>
2716
2717         Use higher-resolution timers on all variants of Windows.
2718         
2719         Reviewed by Darin Adler.
2720
2721         * platform/win/SharedTimerWin.cpp:
2722         (WebCore::setSharedTimerFireTime):
2723
2724
2725 2008-09-18  David Hyatt  <hyatt@apple.com>
2726
2727         Make containingWindow() and setContainingWindow() cross-platform.
2728         Add a root() function cross-platform so Qt doesn't have to
2729         define its own.
2730
2731         Reviewed by Darin Adler
2732
2733         * platform/Widget.cpp:
2734         (WebCore::Widget::root):
2735         * platform/Widget.h:
2736         (WebCore::Widget::setContainingWindow):
2737         * platform/gtk/WidgetGtk.cpp:
2738         (WebCore::Widget::Widget):
2739         (WebCore::Widget::containingWindow):
2740         * platform/mac/ScrollViewMac.mm:
2741         (WebCore::ScrollView::addChild):
2742         (WebCore::ScrollView::removeChild):
2743         * platform/mac/WidgetMac.mm:
2744         (WebCore::Widget::containingWindow):
2745         * platform/qt/WidgetQt.cpp:
2746         (WebCore::Widget::invalidateRect):
2747         (WebCore::Widget::containingWindow):
2748         * platform/win/WidgetWin.cpp:
2749         (WebCore::Widget::Widget):
2750         (WebCore::Widget::~Widget):
2751         (WebCore::Widget::containingWindow):
2752
2753 2008-09-18  Beth Dakin  <bdakin@apple.com>
2754
2755         Reviewed by Dave Hyatt.
2756
2757         Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon 
2758         parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
2759         dashboard-region=
2760         and corresponding: <rdar://problem/6174100>
2761
2762         This patch makes CSSParserValue::createCSSValue handle unknown 
2763         identifiers.
2764
2765         * css/CSSParserValues.cpp:
2766         (WebCore::CSSParserValue::createCSSValue): If we have an identifier 
2767         with no id (an unknown identifier) create a CSSPrimitiveValue of 
2768         type CSS_PARSER_IDENTIFIER
2769         * css/CSSPrimitiveValue.cpp:
2770         (WebCore::CSSPrimitiveValue::cssText):
2771         (WebCore::CSSPrimitiveValue::parserValue):
2772         * css/CSSPrimitiveValue.h:
2773         (WebCore::CSSPrimitiveValue::):
2774
2775 2008-09-18  Sam Weinig  <sam@webkit.org>
2776
2777         Rubber-stamped by David "I'd prefer not" Hyatt.
2778
2779         More the remaining class out of RenderStyle.h/cpp
2780
2781         * GNUmakefile.am:
2782         * WebCore.pro:
2783         * WebCore.vcproj/WebCore.vcproj:
2784         * WebCore.xcodeproj/project.pbxproj:
2785         * WebCoreSources.bkl:
2786         * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
2787         (WebCore::CursorData::CursorData):
2788         (WebCore::CursorData::operator==):
2789         (WebCore::CursorData::operator!=):
2790         * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
2791         (WebCore::CursorList::operator[]):
2792         (WebCore::CursorList::CursorList):
2793         * rendering/style/RenderStyle.cpp:
2794         * rendering/style/RenderStyle.h:
2795         (WebCore::RenderStyle::deref):
2796         (WebCore::RenderStyle::hasOneRef):
2797         (WebCore::RenderStyle::InheritedFlags::operator!=):
2798         (WebCore::RenderStyle::NonInheritedFlags::operator!=):
2799         (WebCore::RenderStyle::hasBackground):
2800         (WebCore::RenderStyle::outlineWidth):
2801         (WebCore::RenderStyle::autoWrap):
2802         (WebCore::RenderStyle::preserveNewline):
2803         (WebCore::RenderStyle::collapseWhiteSpace):
2804         (WebCore::RenderStyle::isCollapsibleWhiteSpace):
2805         (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
2806         (WebCore::RenderStyle::breakWords):
2807         (WebCore::RenderStyle::outlineOffset):
2808         (WebCore::RenderStyle::setLeft):
2809         (WebCore::RenderStyle::setRight):
2810         (WebCore::RenderStyle::setTop):
2811         (WebCore::RenderStyle::setBottom):
2812         (WebCore::RenderStyle::setDashboardRegion):
2813         (WebCore::RenderStyle::setBackgroundColor):
2814         (WebCore::RenderStyle::setBorderImage):
2815         (WebCore::RenderStyle::setBorderRadius):
2816         (WebCore::RenderStyle::setFontDescription):
2817         (WebCore::RenderStyle::adjustBackgroundLayers):
2818         (WebCore::RenderStyle::adjustMaskLayers):
2819         (WebCore::RenderStyle::deleteBindingURIs):
2820         (WebCore::RenderStyle::inheritBindingURIs):
2821         (WebCore::RenderStyle::isDisplayReplacedType):
2822         (WebCore::RenderStyle::isDisplayInlineType):
2823         (WebCore::RenderStyle::isOriginalDisplayInlineType):
2824         * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2825         * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
2826         (WebCore::StyleInheritedData::operator!=):
2827         * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2828         * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
2829         (WebCore::StyleRareInheritedData::operator!=):
2830         * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
2831         * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
2832         * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
2833
2834 2008-09-18  David Hyatt  <hyatt@apple.com>
2835
2836         Move the concept of suppression invalidation on Widgets to Scrollbar
2837         instead.  Since this is only used by Scrollbars, there is no need for
2838         it to be on Widget.
2839
2840         Reviewed by Sam Weinig
2841
2842         * platform/Scrollbar.cpp:
2843         (WebCore::Scrollbar::Scrollbar):
2844         (WebCore::Scrollbar::invalidateRect):
2845         * platform/Scrollbar.h:
2846         (WebCore::Scrollbar::suppressInvalidation):
2847         (WebCore::Scrollbar::setSuppressInvalidation):
2848         * platform/Widget.h:
2849         * platform/gtk/WidgetGtk.cpp:
2850         (WebCore::Widget::Widget):
2851         (WebCore::Widget::invalidateRect):
2852         * platform/qt/WidgetQt.cpp:
2853         (WebCore::WidgetPrivate::WidgetPrivate):
2854         (WebCore::Widget::invalidateRect):
2855         * platform/win/WidgetWin.cpp:
2856         (WebCore::Widget::Widget):
2857         (WebCore::Widget::invalidateRect):
2858
2859 2008-09-18  David Hyatt  <hyatt@apple.com>
2860
2861         Make invalidate() on Widget non-virtual and make it just call
2862         invalidateRect() on the boundsGeometry() of the Widget.
2863
2864         Reviewed by Dan Bernstein
2865
2866         * platform/Widget.h:
2867         (WebCore::Widget::boundsGeometry):
2868         (WebCore::Widget::invalidate):
2869         * platform/gtk/WidgetGtk.cpp:
2870         * platform/mac/WidgetMac.mm:
2871         * platform/qt/WidgetQt.cpp:
2872         * platform/win/WidgetWin.cpp:
2873         * platform/wx/WidgetWx.cpp:
2874
2875 2008-09-18  Sam Weinig  <sam@webkit.org>
2876
2877         Rubber-stamped in exile by David Hyatt.
2878
2879         Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
2880         KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
2881         RenderStyle.h/cpp
2882
2883         * GNUmakefile.am:
2884         * WebCore.pro:
2885         * WebCore.vcproj/WebCore.vcproj:
2886         * WebCore.xcodeproj/project.pbxproj:
2887         * WebCoreSources.bkl:
2888         * css/CSSStyleSelector.cpp:
2889         * css/CSSStyleSelector.h:
2890         * page/animation/CompositeAnimation.cpp:
2891         * page/animation/KeyframeAnimation.cpp:
2892         * page/animation/KeyframeAnimation.h:
2893         * rendering/RenderCounter.h:
2894         * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
2895         (WebCore::Animation::~Animation):
2896         (WebCore::Animation::animationsMatch):
2897         (WebCore::Animation::keyframeList):
2898         (WebCore::Animation::setAnimationKeyframe):
2899         * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
2900         * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
2901         * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
2902         * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
2903         * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
2904         (WebCore::BindingURI::operator!=):
2905         * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
2906         * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
2907         (WebCore::ContentData::ContentData):
2908         (WebCore::ContentData::~ContentData):
2909         * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
2910         (WebCore::CounterContent::CounterContent):
2911         * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
2912         * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
2913         (WebCore::CounterDirectives::CounterDirectives):
2914         * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
2915         (WebCore::KeyframeList::insert):
2916         * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
2917         (WebCore::KeyframeValue::KeyframeValue):
2918         (WebCore::KeyframeList::create):
2919         (WebCore::KeyframeList::KeyframeList):
2920         * rendering/style/RenderStyle.cpp:
2921         * rendering/style/RenderStyle.h:
2922         * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
2923         * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
2924         (WebCore::ShadowData::ShadowData):
2925         (WebCore::ShadowData::~ShadowData):
2926         (WebCore::ShadowData::operator!=):
2927         * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
2928         * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
2929         (WebCore::StyleFlexibleBoxData::operator!=):
2930         * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
2931         (WebCore::TimingFunction::TimingFunction):
2932         (WebCore::TimingFunction::operator==):
2933
2934 2008-09-18  Adele Peterson  <adele@apple.com>
2935
2936         Reviewed by Dan Bernstein.
2937
2938         Fix RenderStyle leaks.
2939
2940         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
2941
2942 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
2943
2944         Accidentally checked in code.
2945
2946         * html/HTMLElementFactory.cpp:
2947         (WebCore::frameConstructor):
2948         (WebCore::iframeConstructor):
2949
2950 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
2951
2952         Reviewed by Tim.
2953
2954         <rdar://problem/5722310> gracefully handle too many console messages
2955         (20904)
2956         - Keep track of the most previous message and then compare it to the 
2957         subsequent messages as they come in.  If there are multiple of the same
2958         message create a count that indicates the current number.
2959
2960         * manual-tests/inspector/multiple-console-messages.html: Added.
2961         * page/inspector/Console.js:
2962         * page/inspector/inspector.css:
2963
2964 2008-09-18  Jonathon Jongsma  <jonathon@quotidian.org>
2965
2966         Reviewed by Alp Toker
2967
2968         https://bugs.webkit.org/show_bug.cgi?id=20830
2969         [GTK] Don't use deprecated pango API
2970
2971         Replace deprecated pango functions with non-deprecated ones for newer
2972         versions of pango
2973
2974         * platform/graphics/gtk/FontGtk.cpp:
2975         (WebCore::getDefaultPangoLayout):
2976         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2977         (WebCore::FontPlatformData::FontPlatformData):
2978
2979 2008-09-18  Alp Toker  <alp@nuanti.com>
2980
2981         Build fix for r36587. Add new sources (and sort the lists).
2982
2983         * GNUmakefile.am:
2984
2985 2008-09-17  Sam Weinig  <sam@webkit.org>
2986
2987         Fix Windows build.
2988
2989         * WebCore.vcproj/WebCore.vcproj:
2990
2991 2008-09-17  David Hyatt  <hyatt@apple.com>
2992
2993         Switch back to having frameGeometry be virtual in order to keep Mac
2994         the way it used to be.
2995
2996         Reviewed by Sam Weinig
2997
2998         * WebCore.base.exp:
2999         * platform/Widget.cpp:
3000         (WebCore::Widget::setParent):
3001         * platform/Widget.h:
3002         * platform/gtk/WidgetGtk.cpp:
3003         (WebCore::Widget::frameGeometry):
3004         (WebCore::Widget::setFrameGeometry):
3005         * platform/mac/WidgetMac.mm:
3006         (WebCore::Widget::frameGeometry):
3007         (WebCore::Widget::setFrameGeometry):
3008         * platform/qt/WidgetQt.cpp:
3009         (WebCore::Widget::frameGeometry):
3010         (WebCore::Widget::setFrameGeometry):
3011         * platform/win/WidgetWin.cpp:
3012         (WebCore::Widget::frameGeometry):
3013         (WebCore::Widget::setFrameGeometry):
3014         * platform/wx/WidgetWx.cpp:
3015         (WebCore::Widget::frameGeometry):
3016         (WebCore::Widget::setFrameGeometry):
3017         * plugins/PluginView.cpp:
3018         (WebCore::PluginView::setFrameGeometry):
3019         (WebCore::PluginView::geometryChanged):
3020         * plugins/PluginView.h:
3021         * plugins/gtk/PluginViewGtk.cpp:
3022         (WebCore::PluginView::updatePluginWidget):
3023         * plugins/qt/PluginViewQt.cpp:
3024         (WebCore::PluginView::updatePluginWidget):
3025         * plugins/win/PluginViewWin.cpp:
3026         (WebCore::PluginView::updatePluginWidget):
3027
3028 2008-09-17  Sam Weinig  <sam@webkit.org>
3029
3030         Reviewed by Mark Rowe.
3031
3032         Fix assertion in DOMWindow::adjustWindowRect where we were passing
3033         in garbage values and were getting lucky that they were a not Nan.
3034
3035         * bindings/js/JSDOMWindowBase.cpp:
3036         (WebCore::windowProtoFuncOpen):
3037
3038 2008-09-17  Sam Weinig  <sam@webkit.org>
3039
3040         Fix gtk build.
3041
3042         * rendering/style/MatrixTransformOperation.cpp:
3043
3044 2008-09-17  Sam Weinig  <sam@webkit.org>
3045
3046         Rubber-stamped with love by David Hyatt.
3047
3048         Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, 
3049         ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
3050         TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
3051
3052         * GNUmakefile.am:
3053         * WebCore.pro:
3054         * WebCore.vcproj/WebCore.vcproj:
3055         * WebCore.xcodeproj/project.pbxproj:
3056         * WebCoreSources.bkl:
3057         * css/CSSStyleSelector.cpp:
3058         * page/animation/AnimationBase.cpp:
3059         (WebCore::solveEpsilon):
3060         * rendering/RenderLayer.cpp:
3061         * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
3062         * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
3063         * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
3064         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
3065         * rendering/style/RenderStyle.cpp:
3066         * rendering/style/RenderStyle.h:
3067         * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
3068         * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
3069         (WebCore::RotateTransformOperation::RotateTransformOperation):
3070         * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
3071         * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
3072         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
3073         * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
3074         * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
3075         (WebCore::SkewTransformOperation::SkewTransformOperation):
3076         * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
3077         * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
3078         (WebCore::StyleTransformData::operator!=):
3079         * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
3080         (WebCore::TransformOperation::):
3081         * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
3082         (WebCore::TransformOperations::TransformOperations):
3083         * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
3084         (WebCore::TransformOperations::operator!=):
3085         * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
3086         * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
3087         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
3088
3089 2008-09-17  Mark Rowe  <mrowe@apple.com>
3090
3091         Build fix.
3092
3093         * rendering/style/StyleDashboardRegion.h:  PlatformString.h rather than String.h.
3094
3095 2008-09-17  David Hyatt  <hyatt@apple.com>
3096
3097         (1) Inline a bunch of methods for accessing frame geometry.
3098         (2) Make sure frameGeometry() works even when you have no underlying
3099         native widget.
3100         (3) Cache a frame geometry rect cross-platform (even for widgets that
3101         have underlying native widgets.
3102         (4) PluginView's updateWindow call is now a virtual function on Widget.
3103
3104         Reviewed by Sam Weinig
3105
3106         * ChangeLog:
3107         * WebCore.base.exp:
3108         * platform/Widget.cpp:
3109         (WebCore::Widget::setFrameGeometry):
3110         * platform/Widget.h:
3111         (WebCore::Widget::x):
3112         (WebCore::Widget::y):
3113         (WebCore::Widget::width):
3114         (WebCore::Widget::height):
3115         (WebCore::Widget::size):
3116         (WebCore::Widget::pos):
3117         (WebCore::Widget::frameGeometry):
3118         (WebCore::Widget::resize):
3119         (WebCore::Widget::move):
3120         (WebCore::Widget::isFrameView):
3121         (WebCore::Widget::windowClipRect):
3122         * platform/mac/WidgetMac.mm:
3123         (WebCore::Widget::~Widget):
3124         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
3125         * platform/win/WidgetWin.cpp:
3126         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
3127         * plugins/PluginView.cpp:
3128         (WebCore::PluginView::setFrameGeometry):
3129         (WebCore::PluginView::geometryChanged):
3130         * plugins/PluginView.h:
3131         * plugins/gtk/PluginViewGtk.cpp:
3132         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
3133         * plugins/qt/PluginViewQt.cpp:
3134         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
3135         * plugins/win/PluginViewWin.cpp:
3136         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
3137         * plugins/wx/PluginViewWx.cpp:
3138
3139 2008-09-17  Sam Weinig  <sam@webkit.org>
3140
3141         Reviewed by David "Waterman" Hyatt.
3142
3143         Fix a leak of NSViews in WidgetMac.mm.
3144
3145         * platform/mac/WidgetMac.mm:
3146         (WebCore::Widget::~Widget):
3147
3148 2008-09-17  Sam Weinig  <sam@webkit.org>
3149
3150         Rubber-stamped by David Waterman Hyatt.
3151
3152         Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
3153         StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
3154
3155         * GNUmakefile.am:
3156         * WebCore.pro:
3157         * WebCore.vcproj/WebCore.vcproj:
3158         * WebCore.xcodeproj/project.pbxproj:
3159         * WebCoreSources.bkl:
3160         * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
3161         * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
3162         (WebCore::FillLayer::operator!=):
3163         (WebCore::FillLayer::hasImage):
3164         (WebCore::FillLayer::hasFixedImage):
3165         * rendering/style/RenderStyle.cpp:
3166         * rendering/style/RenderStyle.h:
3167         * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
3168         (WebCore::StyleBackgroundData::StyleBackgroundData):
3169         * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
3170         (WebCore::StyleBackgroundData::~StyleBackgroundData):
3171         (WebCore::StyleBackgroundData::operator!=):
3172         * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
3173         * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
3174         (WebCore::StyleBoxData::operator!=):
3175         * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
3176         (WebCore::StyleDashboardRegion::operator!=):
3177         * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
3178         * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
3179         (WebCore::StyleMarqueeData::operator!=):
3180         * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
3181         * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
3182         (WebCore::StyleMultiColData::operator!=):
3183         (WebCore::StyleMultiColData::ruleWidth):
3184         * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
3185         * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
3186         (WebCore::StyleVisualData::operator==):
3187
3188 2008-09-17  David Hyatt  <hyatt@apple.com>
3189
3190         Remove WidgetClient from Widget.
3191
3192         Reviewed by Sam Weinig
3193
3194         * WebCore.xcodeproj/project.pbxproj:
3195         * platform/Widget.h:
3196         (WebCore::Widget::setClient):
3197         (WebCore::Widget::client):
3198         * platform/WidgetClient.h: Removed.
3199         * platform/gtk/WidgetGtk.cpp:
3200         * platform/mac/WidgetMac.mm:
3201         (WebCore::Widget::Widget):
3202         (WebCore::Widget::show):
3203         (WebCore::Widget::hide):
3204         * platform/qt/WidgetQt.cpp:
3205         (WebCore::WidgetPrivate::WidgetPrivate):
3206         * platform/win/WidgetWin.cpp:
3207         (WebCore::Widget::Widget):
3208         * platform/wx/WidgetWx.cpp:
3209         (WebCore::Widget::Widget):
3210
3211 2008-09-17  David Hyatt  <hyatt@apple.com>
3212
3213         Remove isEnabled/setEnabled from Widget.  The concept of being enabled now
3214         only applies to Scrollbars so the method has been moved there and made
3215         cross-platform.  Scrollbar subclasses that have a corresponding native
3216         widget can subclass setEnabled to change the enabled state of the native
3217         widget.
3218
3219         Reviewed by Sam Weinig & Darin Adler
3220
3221         * WebCore.base.exp:
3222         * platform/Scrollbar.cpp:
3223         (WebCore::Scrollbar::Scrollbar):
3224         * platform/Scrollbar.h:
3225         (WebCore::Scrollbar::enabled):
3226         (WebCore::Scrollbar::setEnabled):
3227         * platform/Widget.h:
3228         * platform/gtk/ScrollbarGtk.cpp:
3229         (ScrollbarGtk::setEnabled):
3230         * platform/gtk/ScrollbarGtk.h:
3231         * platform/gtk/WidgetGtk.cpp:
3232         * platform/mac/ScrollbarMac.h:
3233         * platform/mac/ScrollbarMac.mm:
3234         (WebCore::ScrollbarMac::scrollbarHit):
3235         (WebCore::ScrollbarMac::setEnabled):
3236         * platform/mac/WidgetMac.mm:
3237         * platform/qt/WidgetQt.cpp:
3238         (WebCore::WidgetPrivate::WidgetPrivate):
3239         * platform/win/WidgetWin.cpp:
3240         (WebCore::Widget::Widget):
3241         * platform/wx/WidgetWx.cpp:
3242
3243 2008-09-17  Sam Weinig  <sam@webkit.org>
3244
3245         Rubber-stamped by David Hyatt.
3246
3247         Split all RenderStyle enums into their own file.
3248
3249         * GNUmakefile.am:
3250         * WebCore.vcproj/WebCore.vcproj:
3251         * WebCore.xcodeproj/project.pbxproj:
3252         * rendering/style/BorderValue.h:
3253         * rendering/style/CollapsedBorderValue.h:
3254         * rendering/style/RenderStyle.h:
3255         * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
3256         (WebCore::):
3257         * rendering/style/StyleCachedImage.h:
3258         * rendering/style/StyleGeneratedImage.h:
3259         * rendering/style/StyleImage.h:
3260
3261 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
3262
3263         Add back isFrameView check to fix failed assertion during scroll bar teardown.
3264         
3265         Reviewed by Dave Hyatt.
3266
3267         * platform/Scrollbar.cpp:
3268         (WebCore::Scrollbar::setParent):
3269
3270 2008-09-17  Brady Eidson  <beidson@apple.com>
3271
3272         Reviewed by Mac build fix
3273
3274         * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
3275
3276 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
3277
3278         Fix build.
3279
3280         * platform/win/ScrollViewWin.cpp:
3281         (WebCore::ScrollView::setParentVisible):
3282         * plugins/win/PluginViewWin.cpp:
3283         (WebCore::PluginView::init):
3284
3285 2008-09-17  Holger Hans Peter Freyther  <zecke@selfish.org>
3286
3287         Reviewed by Simon.
3288
3289         [QtWebKit] Implement error handling in TextCodecQt::decode
3290         Use the QTextCodec parsing state to set the sawError out variable. This
3291         is needed to pass Test 70 of acid3. The test case for this bug is
3292         fast/encoding/invalid-xml.html that is now partially passed. To pass
3293         it completely the Qt text codecs need to be adjusted to have proper
3294         error handling.
3295
3296         * platform/text/qt/TextCodecQt.cpp:
3297         (WebCore::TextCodecQt::decode):
3298
3299 2008-09-17  Sam Weinig  <sam@webkit.org>
3300
3301         Rubber-stamped by Dave Hyatt.
3302
3303         Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
3304         out of RenderStyle.h/cpp
3305
3306         * GNUmakefile.am:
3307         * WebCore.pro:
3308         * WebCore.vcproj/WebCore.vcproj:
3309         * WebCore.xcodeproj/project.pbxproj:
3310         * WebCoreSources.bkl:
3311         * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
3312         (WebCore::BorderData::hasBorderRadius):
3313         (WebCore::BorderData::borderLeftWidth):
3314         (WebCore::BorderData::borderRightWidth):
3315         (WebCore::BorderData::borderTopWidth):
3316         (WebCore::BorderData::borderBottomWidth):
3317         (WebCore::BorderData::operator!=):
3318         * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
3319         (WebCore::):
3320         (WebCore::BorderValue::BorderValue):
3321         (WebCore::BorderValue::nonZero):
3322         (WebCore::BorderValue::isTransparent):
3323         (WebCore::BorderValue::isVisible):
3324         * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
3325         (WebCore::):
3326         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
3327         (WebCore::CollapsedBorderValue::operator==):
3328         * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
3329         (WebCore::OutlineValue::OutlineValue):
3330         * rendering/style/RenderStyle.cpp:
3331         * rendering/style/RenderStyle.h:
3332         * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
3333         * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
3334         (WebCore::StyleSurroundData::operator!=):
3335
3336 2008-09-17  Beth Dakin  <bdakin@apple.com>
3337
3338         Reviewed by Darin Adler.
3339
3340         This is a better fix for: Invalid CSS code crashes Safari
3341         https://bugs.webkit.org/show_bug.cgi?id=20512
3342
3343         The spec indicates that the only valid input for a counter is a 
3344         number or an identifier. So that is exactly what we allow.
3345
3346         * css/CSSParser.cpp:
3347         (WebCore::CSSParser::parseCounterContent):
3348
3349 2008-09-17  Alp Toker  <alp@nuanti.com>
3350
3351         GTK+ build fix. Adapt to use PlatformWidget functions.
3352
3353         * platform/gtk/ScrollViewGtk.cpp:
3354         (WebCore::ScrollViewScrollbar::geometryChanged):
3355         (WebCore::ScrollView::addChild):
3356         (WebCore::ScrollView::removeChild):
3357         * platform/gtk/ScrollbarGtk.cpp:
3358         (ScrollbarGtk::ScrollbarGtk):
3359         (ScrollbarGtk::~ScrollbarGtk):
3360         (ScrollbarGtk::geometryChanged):
3361
3362 2008-09-17  Sam Weinig  <sam@webkit.org>
3363
3364         Reviewed by Adele Peterson.
3365
3366         Patch for <rdar://problem/6133884> 
3367         Calling window.resizeTo() on a subframe shouldn't change the window size
3368
3369         Test: fast/dom/Window/window-resize-and-move-sub-frame.html
3370
3371         * page/DOMWindow.cpp:
3372         (WebCore::DOMWindow::moveBy):
3373         (WebCore::DOMWindow::moveTo):
3374         (WebCore::DOMWindow::resizeBy):
3375         (WebCore::DOMWindow::resizeTo):
3376
3377 2008-09-17  Beth Dakin  <bdakin@apple.com>
3378
3379         Reviewed by Adam Roben.
3380
3381         Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS 
3382         code crashes Safari 
3383         and corresponding: <rdar://problem/6173832>
3384
3385         Reading through the spec, it seems like a function is not valid 
3386         input for a counter. So this patch checks for that and bails in the 
3387         case of invalid input. 
3388
3389         * css/CSSParser.cpp:
3390         (WebCore::CSSParser::parseCounterContent):
3391
3392 2008-09-17  Greg Bolsinga  <bolsinga@apple.com>
3393
3394         Reviewed by Antti Koivisto.
3395
3396         Fix <rdar://problem/6227089> 
3397         Crash in WebCore::Frame::setNeedsReapplyStyles()
3398         
3399         View is null checked elsewhere too.
3400
3401         * page/Frame.cpp:
3402         (WebCore::Frame::setNeedsReapplyStyles):
3403
3404 2008-09-17  David Hyatt  <hyatt@apple.com>
3405
3406         Make the notion of having a native widget backing a Widget cross-platform.
3407         The PlatformWidget abstraction (which already existed) is used for this.
3408              Windows = HWND
3409              Qt = QWidget
3410              Mac = NSView
3411              wx = wxWindow
3412              Gtk = GtkWidget
3413
3414         There are new cross-platform methods that replace all of the unique
3415         platform-specific methods.
3416              platformWidget()
3417              setPlatformWidget()
3418
3419         For plugins, on every platform except Qt on Windows, the plugin's native
3420         widget is now stored in the Widget base class.  Since Qt on Windows uses
3421         HWNDs for plugins instead of QWidget, it is the only platform to keep the
3422         m_window variable in PluginView.
3423
3424         Reviewed by Sam Weinig
3425
3426         * WebCore.base.exp:
3427         * bindings/js/ScriptControllerMac.mm:
3428         (WebCore::ScriptController::createScriptInstanceForWidget):
3429         * page/mac/AccessibilityObjectWrapper.mm:
3430         (-[AccessibilityObjectWrapper attachmentView]):
3431         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3432         * page/mac/EventHandlerMac.mm:
3433         (WebCore::EventHandler::passMouseDownEventToWidget):
3434         (WebCore::EventHandler::mouseDownViewIfStillGood):
3435         (WebCore::EventHandler::passWheelEventToWidget):
3436         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
3437         * platform/Widget.cpp:
3438         (WebCore::Widget::init):
3439         (WebCore::Widget::setParent):
3440         (WebCore::Widget::releasePlatformWidget):
3441         (WebCore::Widget::retainPlatformWidget):
3442         * platform/Widget.h:
3443         (WebCore::Widget::platformWidget):
3444         (WebCore::Widget::setPlatformWidget):
3445         * platform/gtk/WidgetGtk.cpp:
3446         (WebCore::Widget::Widget):
3447         (WebCore::Widget::setFocus):
3448         (WebCore::gdkDrawable):
3449         (WebCore::Widget::setCursor):
3450         (WebCore::Widget::show):
3451         (WebCore::Widget::hide):
3452         (WebCore::Widget::setEnabled):
3453         (WebCore::Widget::isEnabled):
3454         (WebCore::Widget::paint):
3455         * platform/mac/PlatformScreenMac.mm:
3456         (WebCore::screenRect):
3457         (WebCore::screenAvailableRect):
3458         * platform/mac/ScrollViewMac.mm:
3459         (WebCore::ScrollView::scrollView):
3460         (WebCore::ScrollView::update):
3461         (WebCore::ScrollView::inWindow):
3462         * platform/mac/ScrollbarMac.mm:
3463         (WebCore::ScrollbarMac::ScrollbarMac):
3464         (WebCore::ScrollbarMac::~ScrollbarMac):
3465         (WebCore::ScrollbarMac::updateThumbPosition):
3466         (WebCore::ScrollbarMac::updateThumbProportion):
3467         (WebCore::ScrollbarMac::scrollbarHit):
3468         * platform/mac/WidgetMac.mm:
3469         (WebCore::Widget::Widget):
3470         (WebCore::Widget::setEnabled):
3471         (WebCore::Widget::isEnabled):
3472         (WebCore::Widget::setFocus):
3473         (WebCore::Widget::getOuterView):
3474         (WebCore::Widget::paint):
3475         (WebCore::Widget::invalidate):
3476         (WebCore::Widget::invalidateRect):
3477         (WebCore::Widget::setIsSelected):
3478         (WebCore::Widget::releasePlatformWidget):
3479         (WebCore::Widget::retainPlatformWidget):
3480         * platform/qt/WidgetQt.cpp:
3481         (WebCore::WidgetPrivate::WidgetPrivate):
3482         (WebCore::Widget::Widget):
3483         (WebCore::Widget::setFrameGeometry):
3484         (WebCore::Widget::show):
3485         (WebCore::Widget::hide):
3486         (WebCore::Widget::isEnabled):
3487         (WebCore::Widget::setEnabled):
3488         (WebCore::Widget::invalidateRect):
3489         (WebCore::Widget::containingWindow):
3490         * platform/win/WidgetWin.cpp:
3491         (WebCore::Widget::Widget):
3492         * platform/wx/WidgetWx.cpp:
3493         (WebCore::Widget::Widget):
3494         (WebCore::Widget::frameGeometry):
3495         (WebCore::Widget::setFocus):
3496         (WebCore::Widget::setCursor):
3497         (WebCore::Widget::show):
3498         (WebCore::Widget::hide):
3499         (WebCore::Widget::setFrameGeometry):
3500         (WebCore::Widget::setEnabled):
3501         (WebCore::Widget::isEnabled):
3502         (WebCore::Widget::invalidate):
3503         (WebCore::Widget::invalidateRect):
3504         (WebCore::Widget::paint):
3505         * plugins/PluginView.cpp:
3506         (WebCore::PluginView::PluginView):
3507         * plugins/PluginView.h:
3508         (WebCore::PluginView::platformPluginWidget):
3509         * plugins/gtk/PluginViewGtk.cpp:
3510         (WebCore::PluginView::updateWindow):
3511         (WebCore::PluginView::setFocus):
3512         (WebCore::PluginView::show):
3513         (WebCore::PluginView::hide):
3514         (WebCore::PluginView::setParent):
3515         (WebCore::PluginView::setNPWindowRect):
3516         (WebCore::PluginView::setParentVisible):
3517         (WebCore::PluginView::getValue):
3518         (WebCore::PluginView::forceRedraw):
3519         (WebCore::PluginView::init):
3520         * plugins/qt/PluginViewQt.cpp:
3521         (WebCore::PluginView::updateWindow):
3522         (WebCore::PluginView::setFocus):
3523         (WebCore::PluginView::show):
3524         (WebCore::PluginView::hide):
3525         (WebCore::PluginView::setParent):
3526         (WebCore::PluginView::setNPWindowRect):
3527         (WebCore::PluginView::setParentVisible):
3528         (WebCore::PluginView::getValue):
3529         (WebCore::PluginView::~PluginView):
3530         (WebCore::PluginView::init):
3531         * plugins/win/PluginViewWin.cpp:
3532         (WebCore::PluginView::updateWindow):
3533         (WebCore::PluginView::setFocus):
3534         (WebCore::PluginView::show):
3535         (WebCore::PluginView::hide):
3536         (WebCore::PluginView::paint):
3537         (WebCore::PluginView::setParent):
3538         (WebCore::PluginView::setParentVisible):
3539         (WebCore::PluginView::setNPWindowRect):
3540         (WebCore::PluginView::stop):
3541         (WebCore::PluginView::invalidateRect):
3542         (WebCore::PluginView::forceRedraw):
3543         (WebCore::PluginView::~PluginView):
3544         (WebCore::PluginView::init):
3545
3546 2008-09-17  Sam Weinig  <sam@webkit.org>
3547
3548         Fix assert.
3549
3550         * platform/Widget.cpp:
3551         (WebCore::Widget::setParent):
3552
3553 2008-09-17  David Hyatt  <hyatt@apple.com>
3554
3555         Beginnings of Widget refactoring (in order to make the mixing of
3556         widgets with and without corresponding native widgets more cross-platform).
3557
3558         This first patch makes the concept of a parent ScrollView cross-platform.
3559
3560         Note the similarity of the show/hide methods on the three PluginViews.  This
3561         will be refactored better in a later patch so that they can all share
3562         a base class Widget show/hide method.  For now the changes were made
3563         simply to be able to bring WidgetWin's setParent method up into Widget.
3564
3565         Reviewed by Sam Weinig
3566
3567         * WebCore.base.exp:
3568         * platform/ScrollView.h:
3569         * platform/Widget.cpp:
3570         (WebCore::Widget::init):
3571         (WebCore::Widget::setParent):
3572         * platform/Widget.h:
3573         (WebCore::Widget::isSelfVisible):