Focus the DOM tree in the Web Inspector when a node is inspected.
[WebKit-https.git] / WebCore / ChangeLog
1 2008-09-30  Timothy Hatcher  <timothy@apple.com>
2
3         Focus the DOM tree in the Web Inspector when a node is inspected.
4         So when the search field has focus, the focus moves to the tree,
5         allowing the arrow keys work. This can happen when using the new
6         find in page feature.
7
8         https://bugs.webkit.org/show_bug.cgi?id=21251
9
10         Reviewed by Geoff Garen.
11
12         * page/inspector/ElementsPanel.js:
13         (WebInspector.ElementsPanel): Set currentFocusElement to
14         the main-panels element if the panel is visible.
15         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
16         Remove a set of currentFocusElement since this moved.
17         * page/inspector/inspector.js:
18         (WebInspector.set currentFocusElement): Always focus the element.
19         This ensures that when focus changes in the page and we don't
20         catch it, we will still focus the elements even if we think it
21         was already focused.
22
23 2008-09-30  Timothy Hatcher  <timothy@apple.com>
24
25         Make the Web Inspector's toolbar icons darker when the mouse is
26         pressed on them. This matches the standard NSToolbar look.
27
28         https://bugs.webkit.org/show_bug.cgi?id=21249
29         rdar://problem/6033752
30
31         Reviewed by Adam Roben.
32
33         * page/inspector/Images/databasesIcon.png:
34         * page/inspector/Images/elementsIcon.png:
35         * page/inspector/Images/profilesIcon.png:
36         * page/inspector/Images/resourcesIcon.png:
37         * page/inspector/Images/scriptsIcon.png:
38         * page/inspector/Panel.js:
39         * page/inspector/inspector.css:
40
41 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
42
43         Reviewed by Tim Hatcher.
44
45         Bug 21139: Profiler log message is wrong
46         - Correctly fix =(
47         Don't call _format twice.
48
49         * page/Page.h:
50         * page/inspector/Console.js:
51         * page/inspector/ProfilesPanel.js:
52         * page/inspector/inspector.js:
53
54 2008-09-30  Dave Hyatt  <hyatt@apple.com>
55
56         http://bugs.webkit.org/show_bug.cgi?id=21250
57         
58         Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
59         repaints up through the ChromeClient.
60
61         Reviewed by Darin Adler
62
63         * loader/EmptyClients.h:
64         (WebCore::EmptyChromeClient::repaint):
65         * page/Chrome.cpp:
66         (WebCore::Chrome::repaint):
67         * page/Chrome.h:
68         * page/ChromeClient.h:
69         * page/FrameView.cpp:
70         (WebCore::FrameView::hostWindow):
71         (WebCore::FrameView::repaintContentRectangle):
72         * page/FrameView.h:
73         * platform/HostWindow.h:
74         * platform/ScrollView.cpp:
75         (WebCore::ScrollView::repaintContentRectangle):
76         (WebCore::ScrollView::platformRepaintContentRectangle):
77         * platform/ScrollView.h:
78         * platform/gtk/ScrollViewGtk.cpp:
79         * platform/mac/ScrollViewMac.mm:
80         (WebCore::ScrollView::platformRepaintContentRectangle):
81         * platform/qt/ScrollViewQt.cpp:
82         * platform/win/ScrollViewWin.cpp:
83         * platform/wx/ScrollViewWx.cpp:
84         (WebCore::ScrollView::platformRepaintContentRectangle):
85
86 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
87
88         Non-Mac build fixes.
89
90         * GNUmakefile.am:
91         * WebCore.pro:
92         * WebCore.vcproj/WebCore.vcproj:
93         * WebCoreSources.bkl:
94         * webcore-base.bkl:
95         Added DOMProtect.{cpp,h}.
96
97 2008-09-39  Kevin Decker  <kdecker@apple.com>
98
99         Reviewed by John Sullivan.
100
101         * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
102         for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
103
104 2008-09-29  Julien Chaffraix  <jchaffraix@webkit.org>
105
106         Reviewed by Maciej Stachowiak.
107
108         Bug 21106: .in format discussed changes
109         https://bugs.webkit.org/show_bug.cgi?id=21106
110
111         - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
112         is the only namespace used.
113
114         - Removed "generateFactory" and "generateWrapperFactory" parameters and
115         re-introduced the command line options.
116
117         - Cleaned up the output of make_names.pl (removed unneeded new line).
118
119         * DerivedSources.make: Added factories command line options.
120         * GNUmakefile.am: Ditto.
121         * WebCore.pro: Ditto and removed some arguments that were migrated to
122         the .in files.
123
124         * dom/make_names.pl: Clean up (see above).
125
126         * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
127         and "generateWrapperFactory" occurences.
128         * html/HTMLTagNames.in: Ditto.
129         * svg/svgattrs.in: Ditto.
130         * svg/svgtags.in: Ditto.
131         * svg/xlinkattrs.in: Ditto.
132         * xml/xmlattrs.in: Ditto.
133
134 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
135
136         Reviewed by John Sullivan.
137
138         <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
139         Make sure that certain types of elements do not return children and, moreover, do not waste their
140         energy trying to return children
141
142         Test: accessibility/nochildren-elements.html
143
144         * page/AccessibilityObject.h:
145         (WebCore::AccessibilityObject::canHaveChildren):
146         * page/AccessibilityRenderObject.cpp:
147         (WebCore::AccessibilityRenderObject::canHaveChildren):
148         (WebCore::AccessibilityRenderObject::addChildren):
149         * page/AccessibilityRenderObject.h:
150
151 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
152
153         Reviewed by Sam Weinig.
154
155         https://bugs.webkit.org/show_bug.cgi?id=21213
156         MessagePort crash when GC collects an object with a pending close event
157
158         Test: fast/events/message-channel-gc-2.html
159               fast/events/message-channel-listener-circular-ownership.html
160
161         * bindings/DOMProtect.cpp: Added.
162         (WebCore::gcProtectDOMObject):
163         (WebCore::gcUnprotectDOMObject):
164         * bindings/DOMProtect.h: Added.
165         Added an abstraction for GC protection to avoid the need to call JS bindings code from
166         DOM objects directly.
167
168         * dom/MessagePort.cpp:
169         (WebCore::CloseMessagePortTimer::fired):
170         (WebCore::MessagePort::queueCloseEvent):
171         GC protect MessagePort wrapper while there is a pending close event.
172         This may be necessary for message events, too, but that case is not a crasher, and actually
173         behaves to the letter of the current HTML5 text, so I'll consider it later.
174
175         * xml/XMLHttpRequest.cpp:
176         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
177         (WebCore::XMLHttpRequest::dropProtection):
178         Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
179
180         * bindings/js/JSMessagePortCustom.cpp:
181         (WebCore::JSMessagePort::addEventListener):
182         (WebCore::JSMessagePort::removeEventListener):
183         (WebCore::JSMessagePort::setOnmessage):
184         (WebCore::JSMessagePort::setOnclose):
185         Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
186         know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
187
188         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
189         (WebCore::JSXMLHttpRequestUpload::mark):
190         While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
191         from XMLHttpRequest.
192
193 2008-09-30  Adam Roben  <aroben@apple.com>
194
195         Windows build fix
196
197         * DerivedSources.cpp: Add JSEventTargetNode.cpp.
198
199 2008-09-29  Sam Weinig  <sam@webkit.org>
200
201         Reviewed by Tim Hatcher.
202
203         Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
204         Autogenerate JS event listeners
205
206         - Generate EventTargetNode.
207
208         * DerivedSources.make:
209         * GNUmakefile.am:
210         * WebCore.pro:
211         * WebCore.vcproj/WebCore.vcproj:
212         * WebCore.xcodeproj/project.pbxproj:
213         * WebCoreSources.bkl:
214         * bindings/js/JSEventListener.cpp:
215         * bindings/js/JSEventTarget.cpp: Added.
216         (WebCore::toJS):
217         * bindings/js/JSEventTarget.h: Added.
218         * bindings/js/JSEventTargetBase.cpp: Removed.
219         * bindings/js/JSEventTargetBase.h:
220         * bindings/js/JSEventTargetNode.cpp: Removed.
221         * bindings/js/JSEventTargetNode.h: Removed.
222         * bindings/js/JSEventTargetNodeCustom.cpp: Added.
223         (WebCore::JSEventTargetNode::addEventListener):
224         (WebCore::JSEventTargetNode::removeEventListener):
225         (WebCore::JSEventTargetNode::dispatchEvent):
226         (WebCore::JSEventTargetNode::getListener):
227         (WebCore::JSEventTargetNode::setListener):
228         (WebCore::JSEventTargetNode::pushEventHandlerScope):
229         * bindings/js/JSEventTargetSVGElementInstance.cpp:
230         (WebCore::):
231         (WebCore::JSEventTargetSVGElementInstancePrototype::self):
232         (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
233         (jsEventTargetAddEventListener):
234         (jsEventTargetRemoveEventListener):
235         (jsEventTargetDispatchEvent):
236         * bindings/js/JSEventTargetSVGElementInstance.h:
237         (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
238         (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
239         * bindings/scripts/CodeGeneratorJS.pm:
240         * dom/EventTargetNode.idl: Added.
241
242 2008-09-29  Darin Adler  <darin@apple.com>
243
244         Reviewed by Sam Weinig.
245
246         - https://bugs.webkit.org/show_bug.cgi?id=21214
247           work on getting rid of ExecState
248
249         * bindings/js/JSDOMWindowBase.cpp:
250         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
251         for base class constructor.
252
253 2008-09-29  David Hyatt  <hyatt@apple.com>
254
255         Add the new HostWindow base class.  A HostWindow hosts a hierarchy of Widgets.  The Chrome object on Page
256         now subclasses from HostWindow.  The new class will allow objects in platform/ like Widgets, Scrollbars
257         and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
258         (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
259
260         Reviewed by Sam Weinig
261
262         * WebCore.xcodeproj/project.pbxproj:
263         * page/Chrome.h:
264         * platform/HostWindow.h: Added.
265         (WebCore::HostWindow::HostWindow):
266         (WebCore::HostWindow::~HostWindow):
267
268 2008-09-29  Kevin Decker  <kdecker@apple.com>
269
270         Reviewed by Anders Carlsson.
271
272         * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool,  NPNVsupportsCarbonBool are now in the 3000 range instead of 
273         2000. 
274
275 2008-09-29  Dan Bernstein  <mitz@apple.com>
276
277         Reviewed by Adam Roben.
278
279         - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
280
281         * rendering/RenderThemeWin.cpp:
282         (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
283         (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
284         unloaded, to avoid calling uxtheme.dll functions after that library has
285         been unloaded.
286         * rendering/RenderThemeWin.h:
287
288 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
289
290         Reviewed by John Sullivan
291
292         <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
293
294         Sends AXLoadComplete only when the top level web area is finished loading
295
296         * dom/Document.cpp:
297         (WebCore::Document::implicitClose):
298
299 2008-09-29  Timothy Hatcher  <timothy@apple.com>
300
301         Makes the node highlight always show up when hovering a node in
302         the Web Inspector now that the highlight does not scroll to reveal
303         the node. Also adds a hover effect in the inspector when hovering
304         causes a highlight in the page. This ties the user hovering action
305         to the highlight so it is clear what causes the highlight to appear.
306
307         Also the highlight now temporarily shows up for 2 seconds after
308         selecting a node in the DOM tree. So arrowing around in the tree
309         will show the node on the page, providing feedback to the user.
310
311         Plus fixes an issue where quickly moving away from hovering
312         a node would keep showing the page highlight. This was happening
313         in breadcrumbs and the DOM tree.
314
315         https://bugs.webkit.org/show_bug.cgi?id=21220
316
317         Reviewed by Kevin McCullough.
318
319         * page/inspector/Console.js:
320         (WebInspector.Console.prototype._mouseOverNode): Added. Used for
321         hovering DOM nodes in the console.
322         (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
323         (WebInspector.Console.prototype._formatnode): Use the new event
324         listeners and add a class name to the anchor element.
325         * page/inspector/ElementsPanel.js:
326         (WebInspector.ElementsPanel): Add new event listeners to the
327         crumbs element to do the node hovering highlight.
328         (WebInspector.ElementsPanel.prototype.hide):
329         (WebInspector.ElementsPanel.prototype.reset):
330         (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
331         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
332         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
333         * page/inspector/ElementsTreeOutline.js:
334         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
335         Show the node hishlight for 2 seconds then restore the highlight
336         to the current hovered node.
337         (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
338         hovered node and set the hovered state on the tree element.
339         (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
340         hovered node to null and removed the hovered state from the previous
341         hovered tree element.
342         (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
343         the hovered class to the list item.
344         (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
345         * page/inspector/inspector.css:
346         * page/inspector/inspector.js:
347         (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
348         based on the showingDOMNodeHighlight property of 50ms or 500ms. This
349         causes the highlight to change sooner if there is one already showing
350         and appear later if there isn't one showing. This is like tooltips,
351         hovering a node for 500ms will cause highlight then mousing between nodes
352         will keep the highlight and change to the new node.
353         (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
354         always reset the timeout so continuous mousing does not keep flasshing
355         the highlight on the screen.
356         (WebInspector._updateHoverHighlight): Removed the alt key check and added
357         the showingDOMNodeHighlight property.
358         (WebInspector.documentKeyDown): Removed the alt key check.
359         (WebInspector.documentKeyUp): Ditto.
360         (WebInspector.reset): Clear the hoveredDOMNode.
361
362 2008-09-29  Simon Fraser  <simon.fraser@apple.com>
363
364         Reviewed by Anders Carlsson
365
366         Fix RenderStyle leak in animation code, and assert that 
367         keyframe resolution in CSSStyleSelector is not going to clobber
368         m_style.
369
370         * css/CSSStyleSelector.cpp:
371         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
372         * page/animation/KeyframeAnimation.cpp:
373         (WebCore::KeyframeAnimation::~KeyframeAnimation):
374
375 2008-09-29  Chris Marrin  <cmarrin@apple.com>
376
377         Reviewed by Dave Hyatt
378
379         Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
380         Rewrite keyframe resolution to be like styleForElement()
381         
382         Test: animations/lineheight-animation.html
383
384         * css/CSSStyleSelector.cpp:
385         (WebCore::CSSStyleSelector::addKeyframeStyle):
386         (WebCore::CSSStyleSelector::~CSSStyleSelector):
387         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
388         (WebCore::CSSRuleSet::addRulesFromSheet):
389         (WebCore::CSSStyleSelector::mapAnimationName):
390         * css/CSSStyleSelector.h:
391         * page/animation/CompositeAnimation.cpp:
392         (WebCore::CompositeAnimation::updateKeyframeAnimations):
393         * page/animation/KeyframeAnimation.cpp:
394         (WebCore::KeyframeAnimation::KeyframeAnimation):
395         (WebCore::KeyframeAnimation::animate):
396         (WebCore::KeyframeAnimation::hasAnimationForProperty):
397         (WebCore::KeyframeAnimation::sendAnimationEvent):
398         (WebCore::KeyframeAnimation::overrideAnimations):
399         (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
400         (WebCore::KeyframeAnimation::affectsProperty):
401         (WebCore::KeyframeAnimation::validateTransformFunctionList):
402         * page/animation/KeyframeAnimation.h:
403         * rendering/style/Animation.cpp:
404         (WebCore::Animation::animationsMatch):
405         * rendering/style/Animation.h:
406         * rendering/style/KeyframeList.cpp:
407         (WebCore::KeyframeList::~KeyframeList):
408         (WebCore::KeyframeList::clear):
409         (WebCore::KeyframeList::insert):
410         * rendering/style/KeyframeList.h:
411         (WebCore::KeyframeValue::KeyframeValue):
412         (WebCore::KeyframeList::KeyframeList):
413         (WebCore::KeyframeList::operator!=):
414         (WebCore::KeyframeList::animationName):
415         (WebCore::KeyframeList::addProperty):
416         (WebCore::KeyframeList::containsProperty):
417         (WebCore::KeyframeList::beginProperties):
418         (WebCore::KeyframeList::endProperties):
419         (WebCore::KeyframeList::isEmpty):
420         (WebCore::KeyframeList::size):
421         (WebCore::KeyframeList::beginKeyframes):
422         (WebCore::KeyframeList::endKeyframes):
423         * rendering/style/RenderStyle.h:
424         * rendering/style/StyleRareNonInheritedData.cpp:
425         * rendering/style/StyleRareNonInheritedData.h:
426
427 2008-09-29  Chris Marrin  <cmarrin@apple.com>
428
429         Reviewed by Eric Seidel
430
431         Clean up fix in PropertyWrapperGetter::equals
432         https://bugs.webkit.org/show_bug.cgi?id=21011
433         
434         Test: transitions/override-transition-crash.html
435
436         * page/animation/AnimationBase.cpp:
437         (WebCore::PropertyWrapperGetter::equals):
438         * page/animation/CompositeAnimation.cpp:
439         (WebCore::CompositeAnimation::updateTransitions):
440
441 2008-09-29  Chris Marrin  <cmarrin@apple.com>
442
443         Reviewed by Eric Seidel
444
445         https://bugs.webkit.org/show_bug.cgi?id=21001
446         Starting transition after animation, when animation
447         is finished, transition is wrong.
448
449         Test: animations/transition-and-animation-2.html
450
451         * page/animation/AnimationBase.h:
452         * page/animation/CompositeAnimation.cpp:
453         (WebCore::CompositeAnimation::updateTransitions):
454         (WebCore::CompositeAnimation::updateKeyframeAnimations):
455         (WebCore::CompositeAnimation::resetTransitions):
456         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
457         * page/animation/ImplicitAnimation.cpp:
458         (WebCore::ImplicitAnimation::ImplicitAnimation):
459         (WebCore::ImplicitAnimation::~ImplicitAnimation):
460         (WebCore::ImplicitAnimation::animate):
461         (WebCore::ImplicitAnimation::reset):
462         * page/animation/ImplicitAnimation.h:
463
464 2008-09-29  Chris Marrin  <cmarrin@apple.com>
465
466         Reviewed by Sam Weinig
467
468         https://bugs.webkit.org/show_bug.cgi?id=20921
469         -webkit-animation-timing-function: inside of keyframes is ignored
470
471         Test: animations/keyframe-timing-functions.html
472
473         * page/animation/AnimationBase.cpp:
474         (WebCore::AnimationBase::progress):
475         * page/animation/AnimationBase.h:
476         * page/animation/ImplicitAnimation.cpp:
477         (WebCore::ImplicitAnimation::animate):
478         * page/animation/KeyframeAnimation.cpp:
479         (WebCore::KeyframeAnimation::animate):
480
481 2008-09-29  Dan Bernstein  <mitz@apple.com>
482
483         - Windows build fix
484
485         * platform/ScrollView.cpp:
486         (WebCore::ScrollView::platformScroll):
487
488 2008-09-29  Dan Bernstein  <mitz@apple.com>
489
490         - another attempt at a Windows build fix
491
492         * platform/ScrollView.cpp:
493         (WebCore::platformScroll):
494
495 2008-09-29  Dan Bernstein  <mitz@apple.com>
496
497         - Windows build fix
498
499         * platform/ScrollView.cpp:
500         (WebCore::ScrollView::platformSetScrollPosition):
501
502 2008-09-29  David Hyatt  <hyatt@apple.com>
503
504         https://bugs.webkit.org/show_bug.cgi?id=21218
505
506         Accidentally removed a check to see if the scrollbar modes were equal.  This caused a crash on Windows.
507         It's silly that the code was this fragile, but for now just put the check back in.
508
509         Reviewed by Dan Bernstein
510
511         * platform/ScrollView.cpp:
512         (WebCore::ScrollView::setScrollbarModes):
513
514 2008-09-29  David Hyatt  <hyatt@apple.com>
515
516         https://bugs.webkit.org/show_bug.cgi?id=21216
517
518         Make setScrollPosition and scroll() cross-platform.
519
520         Reviewed by Anders
521
522         * platform/ScrollView.cpp:
523         (WebCore::ScrollView::setScrollPosition):
524         (WebCore::ScrollView::scroll):
525         * platform/ScrollView.h:
526         * platform/gtk/ScrollViewGtk.cpp:
527         * platform/mac/ScrollViewMac.mm:
528         (WebCore::ScrollView::platformSetScrollPosition):
529         (WebCore::ScrollView::platformScroll):
530         * platform/qt/ScrollViewQt.cpp:
531         * platform/win/ScrollViewWin.cpp:
532         * platform/wx/ScrollViewWx.cpp:
533         (WebCore::ScrollView::platformSetScrollPosition):
534         (WebCore::ScrollView::platformScroll):
535
536 2008-09-29  Kevin McCullough  <kmccullough@apple.com>
537
538         Reviewed by Oliver.
539
540         Bug 21139: Profiler log message is wrong
541         - Because _format was called twice the number in the log was incremented
542         too many times, but we were passing it around in the link the whole time
543
544         * page/inspector/ProfilesPanel.js:
545         * page/inspector/inspector.js:
546
547 2008-09-29  Sam Weinig  <sam@webkit.org>
548
549         Reviewed by Cameron Zwarich.
550
551         Autogenerate EventListeners, addEventListener and removeEventListener
552         for JSDOMWindow.
553
554         * bindings/js/JSDOMWindowBase.cpp:
555         * bindings/js/JSDOMWindowBase.h:
556         * bindings/js/JSDOMWindowCustom.cpp:
557         (WebCore::JSDOMWindow::onwebkitanimationstart):
558         (WebCore::JSDOMWindow::setOnwebkitanimationstart):
559         (WebCore::JSDOMWindow::onwebkitanimationiteration):
560         (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
561         (WebCore::JSDOMWindow::onwebkitanimationend):
562         (WebCore::JSDOMWindow::setOnwebkitanimationend):
563         (WebCore::JSDOMWindow::onwebkittransitionend):
564         (WebCore::JSDOMWindow::setOnwebkittransitionend):
565         (WebCore::JSDOMWindow::addEventListener):
566         (WebCore::JSDOMWindow::removeEventListener):
567         (WebCore::JSDOMWindow::setListener):
568         (WebCore::JSDOMWindow::getListener):
569         * bindings/scripts/CodeGeneratorJS.pm:
570         * page/DOMWindow.idl:
571
572 2008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
573
574         Reviewed by Simon.
575
576         Changed copyright from Trolltech ASA to Nokia.
577
578         Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
579
580         * bindings/js/JSMimeTypeArrayCustom.cpp:
581         * bindings/js/JSNavigatorCustom.cpp:
582         * bindings/js/JSPluginArrayCustom.cpp:
583         * bindings/js/JSPluginCustom.cpp:
584         * bindings/js/ScriptControllerMac.mm:
585         * bindings/js/ScriptControllerQt.cpp:
586         * bridge/qt/qt_class.cpp:
587         * bridge/qt/qt_class.h:
588         * bridge/qt/qt_instance.cpp:
589         * bridge/qt/qt_instance.h:
590         * bridge/qt/qt_runtime.cpp:
591         * bridge/qt/qt_runtime.h:
592         * bridge/testqtbindings.cpp:
593         * css/makegrammar.pl:
594         * css/makeprop.pl:
595         * css/makevalues.pl:
596         * dom/Node.cpp:
597         * dom/TagNodeList.cpp:
598         * dom/TagNodeList.h:
599         * dom/XMLTokenizer.cpp:
600         * dom/XMLTokenizer.h:
601         * dom/XMLTokenizerLibxml2.cpp:
602         * dom/XMLTokenizerQt.cpp:
603         * editing/Editor.cpp:
604         * editing/EditorCommand.cpp:
605         * html/CanvasRenderingContext2D.cpp:
606         * html/CanvasStyle.cpp:
607         * html/HTMLAppletElement.cpp:
608         * html/HTMLEmbedElement.cpp:
609         * html/HTMLObjectElement.cpp:
610         * loader/FrameLoader.cpp:
611         * page/Chrome.cpp:
612         * page/EditorClient.h:
613         * page/Frame.cpp:
614         * page/Frame.h:
615         * page/FramePrivate.h:
616         * page/Navigator.cpp:
617         * page/Navigator.h:
618         * page/Navigator.idl:
619         * page/mac/FrameMac.mm:
620         * page/qt/EventHandlerQt.cpp:
621         * platform/graphics/qt/FontCacheQt.cpp:
622         * platform/graphics/qt/FontCustomPlatformData.cpp:
623         * platform/graphics/qt/FontCustomPlatformData.h:
624         * platform/graphics/qt/FontPlatformData.h:
625         * platform/graphics/qt/FontQt.cpp:
626         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
627         * platform/graphics/qt/GraphicsContextQt.cpp:
628         * platform/graphics/qt/ImageDecoderQt.cpp:
629         * platform/graphics/qt/ImageDecoderQt.h:
630         * platform/graphics/qt/ImageSourceQt.cpp:
631         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
632         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
633         * platform/graphics/qt/SimpleFontDataQt.cpp:
634         * platform/gtk/MIMETypeRegistryGtk.cpp:
635         * platform/mac/MIMETypeRegistryMac.mm:
636         * platform/network/qt/QNetworkReplyHandler.cpp:
637         * platform/network/qt/QNetworkReplyHandler.h:
638         * platform/network/qt/ResourceHandleQt.cpp:
639         * platform/network/qt/ResourceRequestQt.cpp:
640         * platform/qt/ClipboardQt.cpp:
641         * platform/qt/EventLoopQt.cpp:
642         * platform/qt/KURLQt.cpp:
643         * platform/qt/LoggingQt.cpp:
644         * platform/qt/MIMETypeRegistryQt.cpp:
645         * platform/qt/PasteboardQt.cpp:
646         * platform/qt/PlatformScreenQt.cpp:
647         * platform/qt/PopupMenuQt.cpp:
648         * platform/qt/QWebPopup.cpp:
649         * platform/qt/QWebPopup.h:
650         * platform/qt/RenderThemeQt.cpp:
651         * platform/qt/ScrollbarQt.cpp:
652         * platform/qt/ScrollbarThemeQt.cpp:
653         * platform/qt/WheelEventQt.cpp:
654         * platform/qt/html4-adjustments-qt.css:
655         * platform/wx/MimeTypeRegistryWx.cpp:
656         * plugins/MimeType.cpp:
657         * plugins/MimeType.h:
658         * plugins/MimeType.idl:
659         * plugins/MimeTypeArray.cpp:
660         * plugins/MimeTypeArray.h:
661         * plugins/MimeTypeArray.idl:
662         * plugins/Plugin.cpp:
663         * plugins/Plugin.h:
664         * plugins/Plugin.idl:
665         * plugins/PluginArray.cpp:
666         * plugins/PluginArray.h:
667         * plugins/PluginArray.idl:
668         * plugins/PluginData.cpp:
669         * plugins/PluginData.h:
670         * plugins/gtk/PluginDataGtk.cpp:
671         * plugins/mac/PluginDataMac.mm:
672         * plugins/qt/PluginDataQt.cpp:
673         * plugins/win/PluginDataWin.cpp:
674         * rendering/RenderTableCol.cpp:
675         * rendering/RenderTableCol.h:
676
677 2008-09-26  Julien Chaffraix  <jchaffraix@webkit.org>
678
679         Reviewed by Eric Seidel.
680
681         Bug 5727: We want to evaluate scripts in viewless documents
682         https://bugs.webkit.org/show_bug.cgi?id=5727
683
684         Add the posibility to evaluate script or fetch resources on viewless
685         document using the EmptyClient workaround.
686
687         Test: fast/loader/viewless-document.html
688
689         * dom/Document.h:
690         (WebCore::Document::setFrame): Method to set the Document's
691         Frame, added a warning that it should be used under special
692         circumstances.
693
694         * dom/ScriptElement.cpp:
695         (WebCore::ScriptElementData::requestScript): If the
696         frame is empty (viewless document), get a dummy Frame to be
697         able to evalute the script.
698         (WebCore::ScriptElementData::evaluateScript): Ditto.
699
700         * loader/FrameLoader.cpp:
701         (WebCore::FrameLoader::init): Take a bool to toogle
702         empty Document creation.
703
704         (WebCore::FrameLoader::fakeLoad): Fake remote resource load.
705
706         (WebCore::FrameLoader::createDummyFrame):
707         * loader/FrameLoader.h:
708         * page/Frame.cpp:
709         (WebCore::Frame::isDummyFrame):
710         (WebCore::Frame::setIsDummyFrame):
711         (WebCore::Frame::setDocument):
712
713         (WebCore::FramePrivate::FramePrivate): Added m_isDummyFrame.
714         (WebCore::FramePrivate::~FramePrivate): We have to free the Page if it is a dummyFrame
715         (a dummyFrame own its Page).
716
717         * page/Frame.h:
718         * page/FramePrivate.h:
719
720         * svg/graphics/SVGImage.cpp:
721         (WebCore::SVGImage::SVGImage):
722         (WebCore::SVGImage::dataChanged): Use the dummy Frame
723         work-around.
724
725         * svg/graphics/SVGImage.h: Removed unused members.
726
727 2008-09-29  Thiago Macieira  <thiago.macieira@trolltech.com>
728
729         Reviewed by Simon
730
731         Fix compilation with gcc 4.3
732
733          gcc 4.3 is stricter and ctype.h isn't getting included
734         automatically here by dependencies. So do it directly.
735
736         * platform/qt/PlatformKeyboardEventQt.cpp:
737
738 2008-09-29  Morten Sørvig  <msorvig@trolltech.com>
739
740         Reviewed by Simon.
741
742         Fix compilation with Qt/Mac without plugins.
743
744         * platform/qt/TemporaryLinkStubs.cpp:
745
746 2008-09-29  Mark Rowe  <mrowe@apple.com>
747
748         Reviewed by Sam Weinig.
749
750         Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
751         In the few places that we call .upper() in WebCore the strings represent things like
752         tag and attribute names, which are nearly always going to be ASCII.
753
754         * platform/text/StringImpl.cpp:
755         (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
756         in to Unicode::toLower the second time.
757         (WebCore::StringImpl::upper):
758
759 2008-09-28  Mark Rowe  <mrowe@apple.com>
760
761         Reviewed by Sam Weinig.
762
763         Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
764         rather than String::operator+=.
765
766         * css/CSSPrimitiveValue.cpp:
767         (WebCore::CSSPrimitiveValue::cssText):
768
769 2008-09-28  Mark Rowe  <mrowe@apple.com>
770
771         Reviewed by Oliver Hunt.
772
773         Speed up computedStyle.getPropertyValue('color') by 4.5x.
774
775         Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
776         as it avoids many memory reallocations.
777
778         This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
779         by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
780         unrelated properties on an element.
781
782         * css/CSSPrimitiveValue.cpp:
783         (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
784         and use appendNumber rather than the String::number in order to cut down on memory allocations.
785         * platform/text/PlatformString.h:
786         (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
787         into a Vector<UChar>.
788
789 2008-09-28  Sam Weinig  <sam@webkit.org>
790
791         Reviewed by Anders Carlsson.
792
793         Remove spurious call to lower().
794
795         * css/MediaQueryEvaluator.cpp:
796         (WebCore::MediaQueryEvaluator):
797
798 2008-09-28  Sam Weinig  <sam@webkit.org>
799
800         Reviewed by Dan Bernstein.
801
802         Use a CaseFoldingHash instead of calling lower on family strings.
803
804         * css/CSSFontSelector.cpp:
805         (WebCore::CSSFontSelector::addFontFaceRule):
806         (WebCore::CSSFontSelector::getFontData):
807         * css/CSSFontSelector.h:
808
809 2008-09-28  Timothy Hatcher  <timothy@apple.com>
810
811         Remove the scrollIntoViewIfNeeded() call when drawing the
812         Inspector node highlight.
813
814         <rdar://problem/6115804> Don't scroll when highlighting (21000)
815         https://bugs.webkit.org/show_bug.cgi?id=21000
816
817         Reviewed by Dan Bernstein.
818
819         * page/InspectorController.cpp:
820         (WebCore::InspectorController::drawNodeHighlight):
821
822 2008-09-28  David Hyatt  <hyatt@apple.com>
823
824         Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
825         changed.
826
827         Reviewed by Dan Bernstein
828
829         * platform/mac/ScrollbarThemeMac.mm:
830         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
831
832 2008-09-28  Timothy Hatcher  <timothy@apple.com>
833
834         Clear the current search results in the Inspector when
835         the search query is less than 3 characters long. Incremental
836         searches only occur for 3 characters or longer, but deleting
837         under this limit would not clear the results unless the whole
838         query was deleted.
839
840         https://bugs.webkit.org/show_bug.cgi?id=21196
841
842         Reviewed by Dan Bernstein.
843
844         * page/inspector/inspector.js:
845         (WebInspector.performSearch): Check for short queries in the
846         if statement that triggers the clear.
847
848 2008-09-28  Dan Bernstein  <mitz@apple.com>
849
850         Reviewed by Dave Hyatt.
851
852         - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
853
854         * platform/graphics/win/FontCustomPlatformData.cpp:
855         (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
856         overlayLength parameters.
857         (WebCore::EOTStream::read): Added code to overlay the
858         m_overlayLength bytes starting at m_overlayDst with the same number of
859         bytes from m_overlaySrc.
860         (WebCore::createFontCustomPlatformData): Changed to get overlay
861         parameters from getEOTHeader.
862         * platform/graphics/win/GetEOTHeader.cpp:
863         (WebCore::getEOTHeader): Added code to specify overlaying of the
864         family name with the prefix of the full name if they differ, because
865         that such a difference causes TTLoadEmbeddedFont to fail.
866         * platform/graphics/win/GetEOTHeader.h:
867
868 2008-09-28  Alexey Proskuryakov  <ap@webkit.org>
869
870         Reviewed by Eric Seidel.
871
872         https://bugs.webkit.org/show_bug.cgi?id=20366
873         Reproducible test failure for editing/undo/undo-iframe-location-change.html
874
875         * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
876
877 2008-09-28  Darin Adler  <darin@apple.com>
878
879         Reviewed by Sam Weinig (except for a few comment and header tweaks).
880
881         - https://bugs.webkit.org/show_bug.cgi?id=21158
882           reduce use of virtual functions in Node for speed
883
884         Speeds up Dromaeo a bit less than 1%.
885
886         * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
887         Node.h now that some inlines are in there.
888
889         * dom/Attr.h: Override both the virtual and non-virtual name functions.
890
891         * dom/ChildNodeList.cpp:
892         (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
893         * dom/ChildNodeList.h: Ditto.
894         * dom/ClassNodeList.cpp:
895         (WebCore::ClassNodeList::nodeMatches): Ditto.
896         * dom/ClassNodeList.h: Ditto.
897
898         * dom/Document.h: Put the Node::isDocumentNode() function's inline
899         definition here where it can see the Document class definition.
900
901         * dom/DynamicNodeList.cpp:
902         (WebCore::DynamicNodeList::length): Changed to pass an Element.
903         (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
904         (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
905         (WebCore::DynamicNodeList::itemWithName): Ditto.
906         * dom/DynamicNodeList.h: Ditto.
907
908         * dom/Element.cpp: Removed virtualHasTagName.
909         * dom/Element.h: Made localName, prefix, namespaceURI, and
910         styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
911         virtualNamespaceURI, and removed virtualHasTagName. Put the
912         Node::hasTagName, Node::hasAttributes, and Node::attributes
913         functions' inline definitions here where they can see the Element
914         class definition.
915
916         * dom/NameNodeList.cpp:
917         (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
918         * dom/NameNodeList.h: Ditto.
919
920         * dom/Node.cpp:
921         (WebCore::Node::virtualPrefix): Renamed from prefix.
922         (WebCore::Node::virtualLocalName): Renamed from localName.
923         (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
924         (WebCore::Node::styleForRenderer): Handle the Element case here.
925
926         * dom/Node.h: Removed definition of hasTagName that calls virtual,
927         since we now have a non-virtual version. Made hasAttributes,
928         attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
929         and styleForRenderer non-virtual. Added virtualPrefix,
930         virtualLocalName, and virtualNamespaceURI. Removed isMalformed
931         and setMalformed, which are used only on HTMLFormElement objects.
932
933         * dom/TagNodeList.cpp:
934         (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
935         * dom/TagNodeList.h: Ditto.
936
937         * html/HTMLAnchorElement.cpp: Added a comment.
938         * html/HTMLFormControlElement.cpp: Ditto.
939
940         * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
941         function. Marked tabIndex function virtual explicitly for clarity.
942
943         * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
944         function. Marked isFocusable function virtual explicitly for clarity.
945
946         * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
947         clarity.
948         * html/HTMLFormControlElement.h: Ditto.
949
950         * html/HTMLFormElement.h: Made isMalformed non-virtual.
951
952         * html/HTMLParser.cpp:
953         (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
954         pointer to call localName since that one does not need to call a virtual
955         function.
956
957         * rendering/RenderBlock.cpp:
958         (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
959         calling isMalformed. We already did a tag name check so we know it's
960         an HTMLFormELement.
961
962         * xml/XPathUtil.cpp:
963         (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
964         to nodeType(), since it's a virtual function.
965
966 2008-09-28  David Hyatt  <hyatt@apple.com>
967
968         Make frameRectsChanged() cross-platform on ScrollView.
969
970         Reviewed by Oliver Hunt
971
972         * platform/ScrollView.cpp:
973         (WebCore::ScrollView::frameRectsChanged):
974         * platform/ScrollView.h:
975         * platform/gtk/ScrollViewGtk.cpp:
976         * platform/qt/ScrollViewQt.cpp:
977         * platform/win/ScrollViewWin.cpp:
978         * platform/wx/ScrollViewWx.cpp:
979
980 2008-09-28  Oliver Hunt  <oliver@apple.com>
981
982         Reviewed by Maciej Stachowiak.
983
984         Bug 21141: REGRESSION: Exception messages for user entered commands are poor
985         <https://bugs.webkit.org/show_bug.cgi?id=21141>
986
987         The bug repsonsible for this was the the JSInspectedObjectWrapper instances
988         were not initialising their StructureID's to indicate that the wrapper
989         overrides hasInstance, etc.  The solution is simply to use the createStructureID
990         helper on JSQuarantinedObjectWrapper to create a correct StructureID.
991
992         * bindings/js/JSInspectedObjectWrapper.cpp:
993         (WebCore::JSInspectedObjectWrapper::wrap):
994
995 2008-09-28  David Hyatt  <hyatt@apple.com>
996
997         Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
998         terms of lines.
999
1000         Reviewed by Oliver Hunt
1001
1002         * dom/EventTargetNode.cpp:
1003         (WebCore::EventTargetNode::dispatchWheelEvent):
1004
1005 2008-09-28  David Hyatt  <hyatt@apple.com>
1006
1007         https://bugs.webkit.org/show_bug.cgi?id=21191
1008
1009         Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
1010         on ScrollView to be cross-platform.
1011
1012         Give the wheel event a concept of granularity (pixel, line or page).  What used to be called continuous
1013         events are now pixel wheel events.
1014
1015         Page scrolling as implemented in bug 17589 was completely broken.  It had the following problems:
1016         (1) Page scrolling has been corrected to be properly detected (on Windows
1017         page wheeling is only done in the vertical direction and it is keyed off a special return value of -1).  The
1018         old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
1019         you could page scroll horizontally.
1020         (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
1021         This caused the scroll amount for page scrolling to be way too large on layers.
1022
1023         Bug 17589 got the default horizontal scrolling value wrong.  It assumed 1, when the Vista default is 3.
1024
1025         Incorporate WebCore's line multiplier right into the deltas of the event.  This eliminates the need
1026         for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
1027
1028         Reviewed by Oliver Hunt
1029
1030         * editing/EditorCommand.cpp:
1031         (WebCore::verticalScrollDistance):
1032         * page/EventHandler.cpp:
1033         (WebCore::scrollAndAcceptEvent):
1034         (WebCore::EventHandler::handleWheelEvent):
1035         * platform/PlatformWheelEvent.h:
1036         (WebCore::):
1037         (WebCore::PlatformWheelEvent::pos):
1038         (WebCore::PlatformWheelEvent::globalPos):
1039         (WebCore::PlatformWheelEvent::deltaX):
1040         (WebCore::PlatformWheelEvent::deltaY):
1041         (WebCore::PlatformWheelEvent::granularity):
1042         (WebCore::PlatformWheelEvent::x):
1043         (WebCore::PlatformWheelEvent::globalX):
1044         (WebCore::PlatformWheelEvent::ignore):
1045         (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
1046         (WebCore::PlatformWheelEvent::verticalLineMultiplier):
1047         * platform/ScrollView.cpp:
1048         (WebCore::ScrollView::wheelEvent):
1049         * platform/Scrollbar.h:
1050         * platform/gtk/ScrollViewGtk.cpp:
1051         (WebCore::ScrollView::updateScrollbars):
1052         * platform/gtk/WheelEventGtk.cpp:
1053         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1054         * platform/mac/ScrollViewMac.mm:
1055         * platform/mac/WheelEventMac.mm:
1056         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1057         * platform/qt/ScrollViewQt.cpp:
1058         (WebCore::ScrollView::updateScrollbars):
1059         * platform/qt/WheelEventQt.cpp:
1060         * platform/win/ScrollViewWin.cpp:
1061         (WebCore::ScrollView::updateScrollbars):
1062         * platform/win/WheelEventWin.cpp:
1063         (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
1064         (WebCore::PlatformWheelEvent::verticalLineMultiplier):
1065         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1066         * platform/wx/ScrollViewWx.cpp:
1067         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
1068         (WebCore::ScrollView::wheelEvent):
1069         * rendering/RenderLayer.cpp:
1070         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1071
1072 2008-09-27  Eric Carlson  <eric.carlson@apple.com>
1073
1074         Reviewed by Sam Weinig.
1075
1076         fix https://bugs.webkit.org/show_bug.cgi?id=20994
1077         <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
1078         
1079         HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
1080         all unsigned media attributes from string with toUInt() instead of toInt().
1081         
1082         * html/HTMLMediaElement.cpp:
1083         (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
1084
1085         * html/HTMLVideoElement.cpp:
1086         (WebCore::HTMLVideoElement::videoWidth):
1087         (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
1088         (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
1089           unsigned value.
1090         (WebCore::HTMLVideoElement::height): Ditto.
1091         (WebCore::HTMLVideoElement::setWidth): take unsigned value.
1092         (WebCore::HTMLVideoElement::setHeight): Ditto.
1093
1094         * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
1095
1096         * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
1097
1098 2008-09-27  Timothy Hatcher  <timothy@apple.com>
1099
1100         Fixes an exception when typing a command in the Console.
1101
1102         Reviewed by Oliver Hunt.
1103
1104         * page/inspector/Console.js:
1105         (WebInspector.Console.prototype.addMessage): Null check
1106         this.previosMessage.
1107
1108 2008-09-27  Timothy Hatcher  <timothy@apple.com>
1109
1110         Fixes a bug where the Profiles panel sidebar would be empty
1111         after closing and reopening the Web Inspector.
1112
1113         https://bugs.webkit.org/show_bug.cgi?id=21179
1114
1115         Reviewed by Sam Weinig.
1116
1117         * page/inspector/ProfilesPanel.js:
1118         (WebInspector.ProfilesPanel.prototype.reset): Don't call
1119         populateInterface, it is called automatically.
1120         (WebInspector.ProfilesPanel.prototype._populateProfiles):
1121         Return early if the sidebar is already populated.
1122
1123 2008-09-27  Dave Hyatt  <hyatt@apple.com>
1124
1125         Bug 21190.  The line scroll amount on Windows is way too small.  A patch for bug 17589 for wheel sensitivity
1126         incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling.  Line scrolling with the
1127         scrollbar has nothing to do with mouse wheeling.  This patch reverts the scrollbars to use the same line
1128         step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
1129
1130         There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
1131         (which should never have landed in the first place).
1132        
1133         Reviewed by Tim Hatcher, Sam Weinig
1134
1135         * platform/win/ScrollViewWin.cpp:
1136         (WebCore::adjustDeltaForPageScrollMode):
1137         (WebCore::ScrollView::updateScrollbars):
1138         (WebCore::ScrollView::wheelEvent):
1139
1140 2008-09-27  David Hyatt  <hyatt@apple.com>
1141
1142         Make the scrollbarUnderMouse method cross-platform.
1143
1144         Reviewed by Sam Weinig
1145
1146         * platform/ScrollView.cpp:
1147         (WebCore::ScrollView::scrollbarUnderMouse):
1148         * platform/gtk/ScrollViewGtk.cpp:
1149         * platform/mac/ScrollViewMac.mm:
1150         * platform/qt/ScrollViewQt.cpp:
1151         * platform/win/ScrollViewWin.cpp:
1152         * platform/wx/ScrollViewWx.cpp:
1153
1154 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
1155
1156         Gtk+ build fix.
1157
1158         * platform/gtk/ScrollViewGtk.cpp:
1159         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1160
1161 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
1162
1163         Reviewed by Holger Freyther.
1164
1165         https://bugs.webkit.org/show_bug.cgi?id=20287
1166         [Gtk] disable plugins for gtk/directfb target
1167
1168         Introduce WTF_PLATFORM_X11 for X11 builds.
1169         Also use target-specific packages when building the port
1170
1171         * platform/gtk/PlatformScreenGtk.cpp:
1172         * plugins/gtk/PluginViewGtk.cpp:
1173         (WebCore::PluginView::updatePluginWidget):
1174         (WebCore::PluginView::getValueStatic):
1175         (WebCore::PluginView::getValue):
1176         (WebCore::PluginView::init):
1177
1178 2008-09-27  David Hyatt  <hyatt@apple.com>
1179
1180         https://bugs.webkit.org/show_bug.cgi?id=21188
1181
1182         Make scrollbar suppression and resizer avoidance cross-platform.
1183
1184         Reviewed by Anders
1185
1186         * loader/FrameLoader.cpp:
1187         (WebCore::FrameLoader::transitionToCommitted):
1188         * page/FrameView.cpp:
1189         (WebCore::FrameView::resetScrollbars):
1190         (WebCore::FrameView::clear):
1191         (WebCore::FrameView::layout):
1192         (WebCore::FrameView::restoreScrollbar):
1193         (WebCore::FrameView::windowResizerRect):
1194         * page/FrameView.h:
1195         * platform/ScrollView.cpp:
1196         (WebCore::ScrollView::init):
1197         (WebCore::ScrollView::resizerOverlapsContent):
1198         (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
1199         (WebCore::ScrollView::setParent):
1200         (WebCore::ScrollView::setScrollbarsSuppressed):
1201         (WebCore::ScrollView::platformSetScrollbarsSuppressed):
1202         * platform/ScrollView.h:
1203         (WebCore::ScrollView::scrollbarsSuppressed):
1204         (WebCore::ScrollView::windowResizerRect):
1205         * platform/Scrollbar.cpp:
1206         (WebCore::Scrollbar::setFrameRect):
1207         (WebCore::Scrollbar::setParent):
1208         * platform/gtk/ScrollViewGtk.cpp:
1209         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1210         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
1211         (WebCore::ScrollView::updateScrollbars):
1212         (WebCore::ScrollView::paint):
1213         * platform/mac/ScrollViewMac.mm:
1214         (WebCore::ScrollView::ScrollView):
1215         (WebCore::ScrollView::~ScrollView):
1216         (WebCore::ScrollView::platformSetScrollbarsSuppressed):
1217         (WebCore::ScrollView::setScrollPosition):
1218         * platform/qt/ScrollViewQt.cpp:
1219         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1220         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1221         (WebCore::ScrollView::frameRectsChanged):
1222         (WebCore::ScrollView::updateScrollbars):
1223         (WebCore::ScrollView::paint):
1224         * platform/win/ScrollViewWin.cpp:
1225         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1226         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1227         (WebCore::ScrollView::updateScrollbars):
1228         (WebCore::ScrollView::paint):
1229         * platform/wx/ScrollViewWx.cpp:
1230         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1231
1232 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
1233
1234         Rubber-stamped by Anders Carlsson.
1235
1236         Compile fix.
1237
1238         * plugins/PluginView.cpp:
1239         (WebCore::PluginView::load):
1240
1241 2008-09-27  Mark Rowe  <mrowe@apple.com>
1242
1243         Rubber-stamped by Sam Weinig.
1244
1245         Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
1246         Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
1247
1248         Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
1249
1250         * loader/CachedResource.cpp:
1251         (WebCore::CachedResource::~CachedResource):
1252
1253 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
1254
1255         Reviewed by Simon Hausmann.
1256
1257         [qt] Use QImageReader to figure out which image formats are supported
1258         - Qt can have many different plugins for different image formats. Instead
1259         of checking only for a few in WebCore use Qt to determine if this data
1260         can be treated as an image.
1261
1262         * platform/graphics/qt/ImageSourceQt.cpp:
1263         (WebCore::canHandleImage):
1264         (WebCore::createDecoder):
1265
1266 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
1267
1268
1269         [qt] Clean the pattern code
1270         - Use save/restore on the painter after manipulating the
1271         pen/brush
1272         - Make the context and object null checking consistent. CG is using
1273         the object unconditionally so the Qt webkit platform can do the
1274         same.
1275         - Move code below the early exit. Only use the m_ownerElement before
1276         the early exit as the CG code is doing it.
1277
1278         * svg/graphics/SVGPaintServerPattern.h:
1279         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
1280         (WebCore::SVGPaintServerPattern::setup):
1281         (WebCore::SVGPaintServerPattern::teardown):
1282
1283 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
1284
1285         Added support for console.trace.
1286
1287         https://bugs.webkit.org/show_bug.cgi?id=19157
1288
1289         Reviewed by Kevin McCullough and Tim Hatcher.
1290
1291         * bindings/js/JSConsoleCustom.cpp:
1292         (WebCore::JSConsole::trace):
1293         * page/Console.cpp:
1294         (WebCore::Console::trace): Calls Machine::retrieveCaller to
1295         get a stack trace.
1296         * page/Console.h:
1297         (WebCore::): Added TraceMessageLevel.
1298         * page/Console.idl: Added console.trace.
1299         * page/inspector/Console.js:
1300         (ConsoleMessage): Added case for TraceMessageLevel.
1301
1302 2008-09-27  Anders Carlsson  <andersca@apple.com>
1303
1304         Reviewed by Sam Weinig.
1305
1306         https://bugs.webkit.org/show_bug.cgi?id=21178
1307         <rdar://problem/6248651>
1308
1309         Check if the plug-in is allowed to load the resource. This matches Firefox.
1310
1311         Test: http/tests/plugins/local-geturl-from-remote.html
1312
1313         * plugins/PluginView.cpp:
1314         (WebCore::PluginView::load):
1315
1316 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
1317
1318         Reviewed by Eric Seidel.
1319
1320         Added SVG pattern support to Qt.
1321
1322         [Qt] SVG patterns are missing
1323         https://bugs.webkit.org/show_bug.cgi?id=20973
1324
1325         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
1326         (WebCore::SVGPaintServerPattern::setup):
1327
1328 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
1329
1330         Fixed a bug in the JS syntax highlighter with multiple line tokens.
1331
1332         https://bugs.webkit.org/show_bug.cgi?id=21171
1333
1334         Reviewed by Tim Hatcher.
1335
1336         * page/inspector/SourceFrame.js:
1337         (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
1338
1339 2008-09-27  Timothy Hatcher  <timothy@apple.com>
1340
1341         Change searching in the Profiles panel to not match the
1342         Self and Total columns when there are no units. The only
1343         column that is matched for unitless number searches is
1344         now the Calls column.
1345
1346         https://bugs.webkit.org/show_bug.cgi?id=21169
1347
1348         Reviewed by Sam Weinig.
1349
1350         * page/inspector/ProfileView.js:
1351         (WebInspector.ProfileView.prototype.performSearch):
1352
1353 2008-09-27  David Hyatt  <hyatt@apple.com>
1354
1355         Rename boundsGeometry -> boundsRect.  Rename geometryChanged -> frameRectsChanged.
1356
1357         Reviewed by Sam Weinig
1358
1359         * platform/ScrollView.h:
1360         * platform/Widget.h:
1361         (WebCore::Widget::boundsRect):
1362         (WebCore::Widget::invalidate):
1363         (WebCore::Widget::frameRectsChanged):
1364         * platform/gtk/ScrollViewGtk.cpp:
1365         (WebCore::ScrollViewScrollbar::frameRectsChanged):
1366         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1367         (WebCore::ScrollView::setFrameRect):
1368         (WebCore::ScrollView::updateScrollbars):
1369         (WebCore::ScrollView::frameRectsChanged):
1370         * platform/gtk/ScrollbarGtk.cpp:
1371         (ScrollbarGtk::setFrameRect):
1372         (ScrollbarGtk::frameRectsChanged):
1373         * platform/gtk/ScrollbarGtk.h:
1374         * platform/gtk/WidgetGtk.cpp:
1375         * platform/qt/ScrollViewQt.cpp:
1376         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1377         (WebCore::ScrollView::setFrameRect):
1378         (WebCore::ScrollView::frameRectsChanged):
1379         (WebCore::ScrollView::updateScrollbars):
1380         * platform/win/ScrollViewWin.cpp:
1381         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1382         (WebCore::ScrollView::setFrameRect):
1383         (WebCore::ScrollView::updateScrollbars):
1384         (WebCore::ScrollView::frameRectsChanged):
1385         * plugins/PluginView.cpp:
1386         (WebCore::PluginView::frameRectsChanged):
1387         * plugins/PluginView.h:
1388
1389 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
1390
1391         Refix the previous build fix to compile on non-Qt platforms, too.
1392
1393         * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
1394         WebCore to generate the PrototypeTable in the WebCore namespace
1395         * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
1396         table remains in the Webcore namespace
1397         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
1398
1399 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
1400
1401         Fix compilation with gcc 4.3 (probably > 4.0)
1402
1403         * bindings/js/JSDOMWindowBase.cpp: Don't define static property
1404         get/put functions inside the WebCore namespace.
1405         * bindings/js/JSEventTargetBase.cpp: Ditto.
1406         * bindings/js/JSEventTargetNode.cpp: Ditto.
1407         * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
1408         * bindings/js/JSEventTargetBase.h: Forward declare
1409         JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
1410         defines it in the JSC namespace.
1411         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
1412         prefix for PrototypeTable symbol.
1413
1414 2008-09-27  David Hyatt  <hyatt@apple.com>
1415
1416         Rename frameGeometry to frameRect.  Rename setFrameGeometry to setFrameRect.
1417
1418         Reviewed by Dan Bernstein
1419
1420         * WebCore.base.exp:
1421         * page/FrameView.cpp:
1422         (WebCore::FrameView::FrameView):
1423         (WebCore::FrameView::updateControlTints):
1424         * platform/ScrollView.h:
1425         * platform/Scrollbar.cpp:
1426         (WebCore::Scrollbar::Scrollbar):
1427         (WebCore::Scrollbar::paint):
1428         (WebCore::Scrollbar::setFrameRect):
1429         * platform/Scrollbar.h:
1430         * platform/ScrollbarThemeComposite.cpp:
1431         (WebCore::ScrollbarThemeComposite::paint):
1432         * platform/Widget.h:
1433         (WebCore::Widget::x):
1434         (WebCore::Widget::y):
1435         (WebCore::Widget::width):
1436         (WebCore::Widget::height):
1437         (WebCore::Widget::size):
1438         (WebCore::Widget::pos):
1439         (WebCore::Widget::resize):
1440         (WebCore::Widget::move):
1441         * platform/gtk/ScrollViewGtk.cpp:
1442         (WebCore::ScrollViewScrollbar::geometryChanged):
1443         (WebCore::ScrollView::update):
1444         (WebCore::ScrollView::setFrameRect):
1445         (WebCore::ScrollView::updateScrollbars):
1446         (WebCore::ScrollView::scrollbarUnderMouse):
1447         (WebCore::ScrollView::paint):
1448         * platform/gtk/ScrollbarGtk.cpp:
1449         (ScrollbarGtk::setFrameRect):
1450         (ScrollbarGtk::geometryChanged):
1451         * platform/gtk/ScrollbarGtk.h:
1452         * platform/gtk/WidgetGtk.cpp:
1453         (WebCore::Widget::frameRect):
1454         (WebCore::Widget::setFrameRect):
1455         * platform/mac/ScrollbarThemeMac.mm:
1456         (WebCore::ScrollbarThemeMac::trackRect):
1457         (WebCore::ScrollbarThemeMac::paint):
1458         * platform/mac/WidgetMac.mm:
1459         (WebCore::Widget::frameRect):
1460         (WebCore::Widget::setFrameRect):
1461         * platform/qt/ScrollViewQt.cpp:
1462         (WebCore::ScrollView::setFrameRect):
1463         (WebCore::ScrollView::updateScrollbars):
1464         (WebCore::ScrollView::scrollbarUnderMouse):
1465         (WebCore::ScrollView::paint):
1466         * platform/qt/ScrollbarThemeQt.cpp:
1467         (WebCore::styleOptionSlider):
1468         * platform/qt/WidgetQt.cpp:
1469         (WebCore::Widget::frameRect):
1470         (WebCore::Widget::setFrameRect):
1471         * platform/win/PopupMenuWin.cpp:
1472         (WebCore::PopupMenu::invalidateItem):
1473         (WebCore::PopupMenu::valueChanged):
1474         (WebCore::PopupWndProc):
1475         * platform/win/ScrollViewWin.cpp:
1476         (WebCore::ScrollView::setFrameRect):
1477         (WebCore::ScrollView::updateScrollbars):
1478         (WebCore::ScrollView::scrollbarUnderMouse):
1479         (WebCore::ScrollView::paint):
1480         * platform/win/ScrollbarThemeSafari.cpp:
1481         (WebCore::ScrollbarThemeSafari::trackRect):
1482         * platform/win/WidgetWin.cpp:
1483         (WebCore::Widget::frameRect):
1484         (WebCore::Widget::setFrameRect):
1485         * platform/wx/WidgetWx.cpp:
1486         (WebCore::Widget::frameRect):
1487         (WebCore::Widget::setFrameRect):
1488         * plugins/PluginView.cpp:
1489         (WebCore::PluginView::setFrameRect):
1490         * plugins/PluginView.h:
1491         * plugins/gtk/PluginViewGtk.cpp:
1492         (WebCore::PluginView::updatePluginWidget):
1493         (WebCore::PluginView::paint):
1494         (WebCore::PluginView::init):
1495         * plugins/qt/PluginViewQt.cpp:
1496         (WebCore::PluginView::updatePluginWidget):
1497         (WebCore::PluginView::init):
1498         * plugins/win/PluginViewWin.cpp:
1499         (WebCore::PluginView::updatePluginWidget):
1500         (WebCore::PluginView::paintMissingPluginIcon):
1501         (WebCore::PluginView::paint):
1502         (WebCore::PluginView::init):
1503         * rendering/RenderLayer.cpp:
1504         (WebCore::RenderLayer::positionOverflowControls):
1505         * rendering/RenderListBox.cpp:
1506         (WebCore::RenderListBox::paintScrollbar):
1507         * rendering/RenderPart.cpp:
1508         (WebCore::RenderPart::updateWidgetPosition):
1509         * rendering/RenderWidget.cpp:
1510         (WebCore::RenderWidget::setWidgetGeometry):
1511         (WebCore::RenderWidget::updateWidgetPosition):
1512
1513 2008-09-27  David Hyatt  <hyatt@apple.com>
1514
1515         <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
1516
1517         This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
1518         access an actual member variable.
1519
1520         Reviewed by Dan Bernstein
1521
1522         * page/FocusController.cpp:
1523         (WebCore::FocusController::setFocusedFrame):
1524
1525 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
1526
1527         Attempt to fix QT Build. Not reviewed.
1528
1529         * WebCore.pro: add -n WebCore parameter to create_hash_table
1530
1531 2008-09-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
1532
1533         Reviewed by Eric Seidel.
1534
1535         http://bugs.webkit.org/show_bug.cgi?id=18905
1536         [GTK] Fix build with older pango (1.14.8)
1537
1538         * platform/graphics/gtk/FontGtk.cpp:
1539         * platform/gtk/Language.cpp:
1540         (_pango_get_lc_ctype):
1541         (pango_language_get_default):
1542
1543 2008-09-26  David Hyatt  <hyatt@apple.com>
1544
1545         https://bugs.webkit.org/show_bug.cgi?id=21168
1546
1547         Make contentsToWindow/windowToContents cross-platform.
1548
1549         Reviewed by Oliver Hunt
1550
1551         * platform/ScrollView.cpp:
1552         (WebCore::ScrollView::windowToContents):
1553         (WebCore::ScrollView::contentsToWindow):
1554         * platform/ScrollView.h:
1555         * platform/gtk/ScrollViewGtk.cpp:
1556         * platform/mac/ScrollViewMac.mm:
1557         * platform/qt/ScrollViewQt.cpp:
1558         * platform/win/ScrollViewWin.cpp:
1559         * platform/wx/ScrollViewWx.cpp:
1560
1561 2008-09-26  Sam Weinig  <sam@webkit.org>
1562
1563         GTK build fix.
1564
1565         * GNUmakefile.am:
1566
1567 2008-09-26  David Hyatt  <hyatt@apple.com>
1568
1569         Eliminate shouldUpdateWhileOffscreen from ScrollView.  Make the concept of not invalidating while
1570         offscreen cross-platform.  Rename the inWindow method to isOffscreen (which flips the boolean), since that
1571         more clearly conveys the intent of the method.  Make isOffscreen also check NSWindow visibility on Mac.
1572
1573         Reviewed by Oliver Hunt
1574
1575         * page/FrameView.cpp:
1576         (WebCore::FrameView::repaintContentRectangle):
1577         * page/FrameView.h:
1578         * platform/ScrollView.h:
1579         * platform/gtk/ScrollViewGtk.cpp:
1580         (WebCore::ScrollView::isOffscreen):
1581         * platform/mac/ScrollViewMac.mm:
1582         (WebCore::ScrollView::updateContents):
1583         (WebCore::ScrollView::isOffscreen):
1584         * platform/qt/ScrollViewQt.cpp:
1585         (WebCore::ScrollView::isOffscreen):
1586         * platform/win/ScrollViewWin.cpp:
1587         (WebCore::ScrollView::isOffscreen):
1588         * platform/wx/ScrollViewWx.cpp:
1589         (WebCore::ScrollView::isOffscreen):
1590         * rendering/RenderObject.cpp:
1591         (WebCore::RenderObject::willRenderImage):
1592
1593 2008-09-26  David Hyatt  <hyatt@apple.com>
1594
1595         https://bugs.webkit.org/show_bug.cgi?id=21164
1596
1597         Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
1598
1599         Reviewed by Sam Weinig
1600
1601         * WebCore.base.exp:
1602         * page/FrameView.cpp:
1603         (WebCore::FrameView::setAllowsScrolling):
1604         * page/FrameView.h:
1605         * platform/ScrollView.cpp:
1606         (WebCore::ScrollView::setAllowsScrolling):
1607         * platform/ScrollView.h:
1608         (WebCore::ScrollView::allowsScrolling):
1609         * platform/win/ScrollViewWin.cpp:
1610         (WebCore::ScrollView::wheelEvent):
1611
1612 2008-09-26  Kevin Ollivier  <kevino@theolliviers.com>
1613
1614         wx build fixes after Widget/ScrollView changes.
1615
1616         * platform/wx/PopupMenuWx.cpp:
1617         (WebCore::PopupMenu::show):
1618         * platform/wx/ScrollViewWx.cpp:
1619         (WebCore::ScrollView::platformSetContentsSize):
1620         (WebCore::ScrollView::platformSetScrollbarModes):
1621         (WebCore::ScrollView::wheelEvent):
1622         * platform/wx/TemporaryLinkStubs.cpp:
1623         * platform/wx/WidgetWx.cpp:
1624         (WebCore::Widget::containingWindow):
1625
1626 2008-09-26  Timothy Hatcher  <timothy@apple.com>
1627
1628         Allow searching for paths by always performing the
1629         three search methods in the Elements panel and not
1630         assume a search with a "/" is a XPath query.
1631
1632         https://bugs.webkit.org/show_bug.cgi?id=21159
1633
1634         Reviewed by Geoff Garen.
1635
1636         * page/inspector/ElementsPanel.js:
1637         (WebInspector.ElementsPanel.prototype.performSearch):
1638
1639 2008-09-26  Sam Weinig  <sam@webkit.org>
1640
1641         Reviewed by Darin Adler.
1642
1643         Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
1644         Speedup static property get/put
1645
1646         * DerivedSources.make:
1647         * GNUmakefile.am:
1648         * WebCore.pro:
1649         * WebCore.vcproj/WebCore.vcproj:
1650         * WebCore.xcodeproj/project.pbxproj:
1651         * bindings/js/JSDOMBinding.cpp:
1652         * bindings/js/JSDOMBinding.h:
1653         * bindings/js/JSDOMWindowBase.cpp:
1654         (WebCore::getDOMConstructor):
1655         (WebCore::jsDOMWindowBaseCrypto):
1656         (WebCore::jsDOMWindowBaseEvent):
1657         (WebCore::jsDOMWindowBaseImage):
1658         (WebCore::jsDOMWindowBaseMessageChannel):
1659         (WebCore::jsDOMWindowBaseOption):
1660         (WebCore::jsDOMWindowBaseXMLHttpRequest):
1661         (WebCore::jsDOMWindowBaseAudio):
1662         (WebCore::jsDOMWindowBaseXSLTProcessor):
1663         (WebCore::jsDOMWindowBaseOnabort):
1664         (WebCore::jsDOMWindowBaseOnblur):
1665         (WebCore::jsDOMWindowBaseOnchange):
1666         (WebCore::jsDOMWindowBaseOnclick):
1667         (WebCore::jsDOMWindowBaseOndblclick):
1668         (WebCore::jsDOMWindowBaseOnerror):
1669         (WebCore::jsDOMWindowBaseOnfocus):
1670         (WebCore::jsDOMWindowBaseOnkeydown):
1671         (WebCore::jsDOMWindowBaseOnkeypress):
1672         (WebCore::jsDOMWindowBaseOnkeyup):
1673         (WebCore::jsDOMWindowBaseOnload):
1674         (WebCore::jsDOMWindowBaseOnmousedown):
1675         (WebCore::jsDOMWindowBaseOnmousemove):
1676         (WebCore::jsDOMWindowBaseOnmouseout):
1677         (WebCore::jsDOMWindowBaseOnmouseover):
1678         (WebCore::jsDOMWindowBaseOnmouseup):
1679         (WebCore::jsDOMWindowBaseOnMouseWheel):
1680         (WebCore::jsDOMWindowBaseOnreset):
1681         (WebCore::jsDOMWindowBaseOnresize):
1682         (WebCore::jsDOMWindowBaseOnscroll):
1683         (WebCore::jsDOMWindowBaseOnsearch):
1684         (WebCore::jsDOMWindowBaseOnselect):
1685         (WebCore::jsDOMWindowBaseOnsubmit):
1686         (WebCore::jsDOMWindowBaseOnbeforeunload):
1687         (WebCore::jsDOMWindowBaseOnunload):
1688         (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
1689         (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
1690         (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
1691         (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
1692         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
1693         (WebCore::JSDOMWindowBase::put):
1694         (WebCore::setJSDOMWindowBaseOnabort):
1695         (WebCore::setJSDOMWindowBaseOnblur):
1696         (WebCore::setJSDOMWindowBaseOnchange):
1697         (WebCore::setJSDOMWindowBaseOnclick):
1698         (WebCore::setJSDOMWindowBaseOndblclick):
1699         (WebCore::setJSDOMWindowBaseOnerror):
1700         (WebCore::setJSDOMWindowBaseOnfocus):
1701         (WebCore::setJSDOMWindowBaseOnkeydown):
1702         (WebCore::setJSDOMWindowBaseOnkeypress):
1703         (WebCore::setJSDOMWindowBaseOnkeyup):
1704         (WebCore::setJSDOMWindowBaseOnload):
1705         (WebCore::setJSDOMWindowBaseOnmousedown):
1706         (WebCore::setJSDOMWindowBaseOnmousemove):
1707         (WebCore::setJSDOMWindowBaseOnmouseout):
1708         (WebCore::setJSDOMWindowBaseOnmouseover):
1709         (WebCore::setJSDOMWindowBaseOnmouseup):
1710         (WebCore::setJSDOMWindowBaseOnMouseWheel):
1711         (WebCore::setJSDOMWindowBaseOnreset):
1712         (WebCore::setJSDOMWindowBaseOnresize):
1713         (WebCore::setJSDOMWindowBaseOnscroll):
1714         (WebCore::setJSDOMWindowBaseOnsearch):
1715         (WebCore::setJSDOMWindowBaseOnselect):
1716         (WebCore::setJSDOMWindowBaseOnsubmit):
1717         (WebCore::setJSDOMWindowBaseOnbeforeunload):
1718         (WebCore::setJSDOMWindowBaseOnunload):
1719         (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
1720         (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
1721         (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
1722         (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
1723         (WebCore::setJSDOMWindowBaseEvent):
1724         (WebCore::setJSDOMWindowBaseAudio):
1725         (WebCore::setJSDOMWindowBaseImage):
1726         (WebCore::setJSDOMWindowBaseMessageChannel):
1727         (WebCore::setJSDOMWindowBaseOption):
1728         (WebCore::setJSDOMWindowBaseXMLHttpRequest):
1729         (WebCore::setJSDOMWindowBaseXSLTProcessor):
1730         * bindings/js/JSDOMWindowBase.h:
1731         * bindings/js/JSDOMWindowCustom.cpp:
1732         (WebCore::nonCachingStaticCloseFunctionGetter):
1733         (WebCore::nonCachingStaticBlurFunctionGetter):
1734         (WebCore::nonCachingStaticFocusFunctionGetter):
1735         (WebCore::nonCachingStaticPostMessageFunctionGetter):
1736         * bindings/js/JSDOMWindowCustom.h:
1737         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1738         * bindings/js/JSEventTargetBase.cpp:
1739         * bindings/js/JSEventTargetBase.h:
1740         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
1741         (WebCore::JSEventTargetBasePrototype::classInfo):
1742         * bindings/js/JSEventTargetNode.cpp:
1743         (WebCore::):
1744         (WebCore::JSEventTargetNode::getOwnPropertySlot):
1745         (WebCore::JSEventTargetNode::put):
1746         * bindings/js/JSEventTargetNode.h:
1747         (WebCore::JSEventTargetNode::classInfo):
1748         (WebCore::JSEventTargetNode::prototypeClassName):
1749         * bindings/js/JSEventTargetSVGElementInstance.cpp:
1750         (WebCore::):
1751         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
1752         (WebCore::JSEventTargetSVGElementInstance::put):
1753         * bindings/js/JSEventTargetSVGElementInstance.h:
1754         (WebCore::JSEventTargetSVGElementInstance::classInfo):
1755         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
1756         * bindings/js/JSHTMLInputElementCustom.cpp:
1757         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
1758         * bindings/js/JSHistoryCustom.cpp:
1759         (WebCore::nonCachingStaticBackFunctionGetter):
1760         (WebCore::nonCachingStaticForwardFunctionGetter):
1761         (WebCore::nonCachingStaticGoFunctionGetter):
1762         (WebCore::JSHistory::customGetOwnPropertySlot):
1763         * bindings/js/JSLocationCustom.cpp:
1764         (WebCore::nonCachingStaticReplaceFunctionGetter):
1765         (WebCore::nonCachingStaticReloadFunctionGetter):
1766         (WebCore::nonCachingStaticAssignFunctionGetter):
1767         (WebCore::JSLocation::customGetOwnPropertySlot):
1768         (WebCore::JSLocation::customPut):
1769         * bindings/scripts/CodeGeneratorJS.pm:
1770
1771 2008-09-26  David Hyatt  <hyatt@apple.com>
1772
1773         https://bugs.webkit.org/show_bug.cgi?id=21149
1774
1775         Make the concept of scroll modes cross-platform.  Move the scrollbars up into ScrollView as well.
1776         Eliminate the unused isScrollable() method.
1777
1778         Reviewed by Sam Weinig
1779
1780         * WebCore.base.exp:
1781         * page/FrameView.cpp:
1782         (WebCore::FrameView::resetScrollbars):
1783         (WebCore::FrameView::initScrollbars):
1784         (WebCore::FrameView::layout):
1785         * page/FrameView.h:
1786         * page/mac/WebCoreFrameView.h:
1787         * platform/ScrollView.cpp:
1788         (WebCore::ScrollView::init):
1789         (WebCore::ScrollView::setScrollbarModes):
1790         (WebCore::ScrollView::scrollbarModes):
1791         (WebCore::ScrollView::platformSetScrollbarModes):
1792         (WebCore::ScrollView::platformScrollbarModes):
1793         * platform/ScrollView.h:
1794         (WebCore::ScrollView::horizontalScrollbar):
1795         (WebCore::ScrollView::verticalScrollbar):
1796         (WebCore::ScrollView::isScrollViewScrollbar):
1797         (WebCore::ScrollView::setHorizontalScrollbarMode):
1798         (WebCore::ScrollView::setVerticalScrollbarMode):
1799         (WebCore::ScrollView::horizontalScrollbarMode):
1800         (WebCore::ScrollView::verticalScrollbarMode):
1801         (WebCore::ScrollView::convertSelfToChild):
1802         * platform/gtk/ScrollViewGtk.cpp:
1803         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1804         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
1805         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
1806         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1807         (WebCore::ScrollView::updateScrollbars):
1808         (WebCore::ScrollView::scrollbarUnderMouse):
1809         (WebCore::ScrollView::isScrollViewScrollbar):
1810         (WebCore::ScrollView::paint):
1811         (WebCore::ScrollView::scroll):
1812         * platform/mac/ScrollViewMac.mm:
1813         (WebCore::ScrollView::platformSetScrollbarModes):
1814         (WebCore::ScrollView::platformScrollbarModes):
1815         * platform/qt/ScrollViewQt.cpp:
1816         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
1817         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
1818         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1819         (WebCore::ScrollView::horizontalScrollbar):
1820         (WebCore::ScrollView::verticalScrollbar):
1821         (WebCore::ScrollView::invalidateScrollbars):
1822         (WebCore::ScrollView::updateScrollbars):
1823         (WebCore::ScrollView::scrollbarUnderMouse):
1824         (WebCore::ScrollView::paint):
1825         (WebCore::ScrollView::scroll):
1826         * platform/win/ScrollViewWin.cpp:
1827         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1828         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
1829         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
1830         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1831         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
1832         (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
1833         (WebCore::ScrollView::suppressScrollbars):
1834         (WebCore::ScrollView::updateScrollbars):
1835         (WebCore::ScrollView::scrollbarUnderMouse):
1836         (WebCore::ScrollView::paint):
1837         (WebCore::ScrollView::scroll):
1838         * platform/wx/ScrollViewWx.cpp:
1839         (WebCore::ScrollView::platformSetScrollbarModes):
1840         (WebCore::ScrollView::platformScrollbarModes):
1841
1842 2008-09-26  David Kilzer  <ddkilzer@apple.com>
1843
1844         Fix Mac build with XPATH and XSLT disabled
1845
1846         Reviewed by Alexey.
1847
1848         * bindings/objc/DOMUtility.mm:
1849         (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
1850         * dom/XMLTokenizerLibxml2.cpp:
1851         (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
1852         prevent an unused code warning.
1853
1854 2008-09-26  Kevin McCullough  <kmccullough@apple.com>
1855
1856         Rubber stamped by Tim Hatcher.
1857
1858         Bug 21098: Crashing under Console::log
1859         - Speculative ASSERT to help find the problem.
1860
1861         * page/InspectorController.cpp:
1862         (WebCore::ConsoleMessage::isEqual):
1863
1864 2008-09-26  Holger Hans Peter Freyther  <zecke@selfish.org>
1865
1866         [gtk+] Build fix for the latest ScrollView changes
1867
1868         * platform/gtk/ScrollViewGtk.cpp:
1869         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
1870         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1871
1872 2008-09-26  Timothy Hatcher  <timothy@apple.com>
1873
1874         Fixes a bug where the console message repeat count would be wrong
1875         when typing commands in between repeated messages.
1876
1877         https://bugs.webkit.org/show_bug.cgi?id=21145
1878
1879         Reviewed by Kevin McCullough.
1880
1881         * page/InspectorController.cpp:
1882         (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
1883         (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
1884         * page/inspector/Console.js:
1885         (WebInspector.Console.prototype.addMessage): Remember the original repeat count
1886         for each message as totalRepeatCount, since we now modify repeatCount to mean
1887         repeats since previous console command. If repeatCountBeforeCommand is a number,
1888         subtract that value from the repeatCount.
1889         (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
1890         and commandSincePreviousMessage properties.
1891
1892 2008-09-26  Eric Carlson  <eric.carlson@apple.com>
1893
1894         Reviewed by Antti
1895
1896         https://bugs.webkit.org/show_bug.cgi?id=21116
1897         <rdar://problem/5726325> Audio from <video> can still be heard after navigating 
1898         back to page with <video>, then closing tab
1899
1900         Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
1901         documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
1902         deletion.
1903
1904         * dom/Document.cpp:
1905         (WebCore::Document::documentWillBecomeInactive):
1906         (WebCore::Document::documentDidBecomeActive):
1907         (WebCore::Document::registerForDocumentActivationCallbacks):
1908         (WebCore::Document::unregisterForDocumentActivationCallbacks):
1909         * dom/Document.h:
1910         * dom/Element.h:
1911         (WebCore::Element::documentWillBecomeInactive):
1912         (WebCore::Element::documentDidBecomeActive):
1913         * history/CachedPage.cpp:
1914         (WebCore::CachedPage::CachedPage):
1915         * html/HTMLFormElement.cpp:
1916         (WebCore::HTMLFormElement::~HTMLFormElement):
1917         (WebCore::HTMLFormElement::parseMappedAttribute):
1918         (WebCore::HTMLFormElement::documentDidBecomeActive):
1919         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
1920         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
1921         * html/HTMLFormElement.h:
1922         * html/HTMLInputElement.cpp:
1923         (WebCore::HTMLInputElement::~HTMLInputElement):
1924         (WebCore::HTMLInputElement::setInputType):
1925         (WebCore::HTMLInputElement::parseMappedAttribute):
1926         (WebCore::HTMLInputElement::needsActivationCallback):
1927         (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
1928         (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
1929         (WebCore::HTMLInputElement::documentDidBecomeActive):
1930         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
1931         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
1932         * html/HTMLInputElement.h:
1933         * html/HTMLMediaElement.cpp:
1934         (WebCore::HTMLMediaElement::HTMLMediaElement):
1935         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1936         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
1937         (WebCore::HTMLMediaElement::documentDidBecomeActive):
1938         * html/HTMLMediaElement.h:
1939         (WebCore::HTMLMediaElement::inActiveDocument):
1940         * loader/FrameLoader.cpp:
1941         (WebCore::FrameLoader::opened):
1942         * page/Page.cpp:
1943         (WebCore::Page::~Page):
1944         * rendering/RenderMedia.cpp:
1945         (WebCore::RenderMedia::updateControls):
1946         * rendering/RenderVideo.cpp:
1947         (WebCore::RenderVideo::updatePlayer):
1948         * svg/SVGSVGElement.cpp:
1949         (WebCore::SVGSVGElement::SVGSVGElement):
1950         (WebCore::SVGSVGElement::~SVGSVGElement):
1951         (WebCore::SVGSVGElement::documentWillBecomeInactive):
1952         (WebCore::SVGSVGElement::documentDidBecomeActive):
1953         * svg/SVGSVGElement.h:
1954
1955 2008-09-26  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1956
1957         Reviewed by Simon
1958
1959         Fix the build inside Qt, don't create faulty prl files for now.
1960
1961         * WebCore.pro:
1962
1963 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
1964
1965         Fix compilation on Qt/Windows
1966
1967         * Add WebCore/ to the include path so that config.h is found that enables JSC
1968         * Link against winmm for the multimedia timer functions
1969         * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
1970         subdirectory
1971         * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
1972         but set m_window directly as setPlatformWidget takes a QWidget*.
1973
1974         * WebCore.pro:
1975         * platform/win/SystemTimeWin.cpp:
1976         * plugins/win/PluginViewWin.cpp:
1977         (WebCore::PluginView::init):
1978
1979 2008-09-26  Oliver Hunt  <oliver@apple.com>
1980
1981         Reviewed by Maciej Stachowiak.
1982
1983         Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
1984         <https://bugs.webkit.org/show_bug.cgi?id=21054>
1985
1986         This performance regression is actually just a symptom of a correctness
1987         bug.  The constructor objects for a number of properties that have security
1988         checks on access were returning new objects each time.  The most obvious
1989         symptom of this bug is that window.Image != window.Image, etc.
1990
1991         The solution to this is to make sure we cache these constructors
1992         in the same way as all the other DOM constructors.  To achieve this
1993         without causing any refcount cycles it is necessary to replace the
1994         refcounted document pointer in the Image, MessageChannel, Option, 
1995         XMLHttpRequest, and Audio constructor objects with a reference to 
1996         the document's JS wrapper.
1997
1998         Tests: fast/dom/constructors-cached-navigate.html
1999                fast/dom/constructors-cached.html
2000
2001         * WebCore.xcodeproj/project.pbxproj:
2002         * bindings/js/JSAudioConstructor.cpp:
2003         (WebCore::JSAudioConstructor::mark):
2004         * bindings/js/JSAudioConstructor.h:
2005         (WebCore::JSAudioConstructor::document):
2006         * bindings/js/JSDOMWindowBase.cpp:
2007         (WebCore::getDOMConstructor):
2008         (WebCore::JSDOMWindowBase::getValueProperty):
2009         * bindings/js/JSDOMWindowBase.h:
2010         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2011         (WebCore::JSHTMLOptionElementConstructor::mark):
2012         * bindings/js/JSHTMLOptionElementConstructor.h:
2013         (WebCore::JSHTMLOptionElementConstructor::document):
2014         * bindings/js/JSImageConstructor.cpp:
2015         (WebCore::JSImageConstructor::mark):
2016         * bindings/js/JSImageConstructor.h:
2017         (WebCore::JSImageConstructor::document):
2018         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2019         (WebCore::JSXMLHttpRequestConstructor::mark):
2020         * bindings/js/JSXMLHttpRequestConstructor.h:
2021         (WebCore::JSXMLHttpRequestConstructor::document):
2022
2023 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
2024
2025         Unreviewed one-liner build fix for the Qt/Windows build.
2026
2027         The build requires NPAPI support to be enabled, fix the condition in
2028         the .pro file for that.
2029
2030         * WebCore.pro:
2031
2032 2008-09-26  Trenton Schulz <twschulz@trolltech.com>
2033
2034         Reviewed by Simon.
2035
2036         Fix compilation with the Qt/Cocoa port.
2037
2038         * platform/qt/ScrollViewQt.cpp:
2039         (WebCore::ScrollView::updateScrollbars):
2040
2041 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
2042
2043         Reviewed by Holger.
2044
2045         Fix compilation with VC9SP1, work around bug in TR1 library by
2046         disabling it.
2047
2048         * WebCore.pro:
2049
2050 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
2051
2052         Reviewed by Holger.
2053
2054         Fix an lupdate() warning.
2055
2056         Don't use tr() in a class that is not a QObject, use
2057         QCoreApplication::translate() directly.
2058
2059         * platform/qt/ScrollbarQt.cpp:
2060         (WebCore::Scrollbar::handleContextMenuEvent):
2061
2062 2008-09-25  David Hyatt  <hyatt@apple.com>
2063
2064         Remove the scrollTo() method from FrameView, since it is not used by anyone.
2065
2066         Reviewed by Oliver Hunt
2067
2068         * page/FrameView.cpp:
2069         * page/FrameView.h:
2070
2071 2008-09-25  David Hyatt  <hyatt@apple.com>
2072
2073         Make scrollRectIntoViewRecursively cross-platform.
2074
2075         Reviewed by Oliver Hunt
2076
2077         * platform/ScrollView.cpp:
2078         (WebCore::ScrollView::scrollRectIntoViewRecursively):
2079         * platform/gtk/ScrollViewGtk.cpp:
2080         * platform/mac/ScrollViewMac.mm:
2081         * platform/qt/ScrollViewQt.cpp:
2082         * platform/win/ScrollViewWin.cpp:
2083         * platform/wx/ScrollViewWx.cpp:
2084
2085 2008-09-25  David Hyatt  <hyatt@apple.com>
2086
2087         https://bugs.webkit.org/show_bug.cgi?id=21133
2088         
2089         Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()).  Make it
2090         cross-platform.
2091
2092         Reviewed by Oliver Hunt
2093
2094         * loader/FrameLoader.cpp:
2095         (WebCore::FrameLoader::begin):
2096         * page/FrameView.cpp:
2097         (WebCore::FrameView::adjustViewSize):
2098         * platform/ScrollView.cpp:
2099         (WebCore::ScrollView::setContentsSize):
2100         * platform/ScrollView.h:
2101         (WebCore::ScrollView::updateScrollbars):
2102         * platform/gtk/ScrollViewGtk.cpp:
2103         * platform/mac/ScrollViewMac.mm:
2104         (WebCore::ScrollView::platformSetContentsSize):
2105         * platform/qt/ScrollViewQt.cpp:
2106         * platform/win/ScrollViewWin.cpp:
2107         * platform/wx/ScrollViewWx.cpp:
2108         (WebCore::ScrollView::platformSetContentsSize):
2109
2110 2008-09-25  David Hyatt  <hyatt@apple.com>
2111
2112         https://bugs.webkit.org/show_bug.cgi?id=21132
2113
2114         Clean up the methods that actually do the scrolling in ScrollView.
2115
2116         Reviewed by Oliver Hunt
2117
2118         * html/HTMLBodyElement.cpp:
2119         (WebCore::HTMLBodyElement::setScrollLeft):
2120         (WebCore::HTMLBodyElement::setScrollTop):
2121         * loader/FrameLoader.cpp:
2122         (WebCore::FrameLoader::restoreScrollPositionAndViewState):
2123         * loader/ImageDocument.cpp:
2124         (WebCore::ImageDocument::imageClicked):
2125         * page/DOMWindow.cpp:
2126         (WebCore::DOMWindow::scrollBy):
2127         (WebCore::DOMWindow::scrollTo):
2128         * page/FrameView.cpp:
2129         (WebCore::FrameView::scrollTo):
2130         (WebCore::FrameView::setScrollPosition):
2131         * page/FrameView.h:
2132         * platform/ScrollView.cpp:
2133         (WebCore::ScrollView::maximumScrollPosition):
2134         * platform/ScrollView.h:
2135         (WebCore::ScrollView::contentsWidth):
2136         (WebCore::ScrollView::contentsHeight):
2137         (WebCore::ScrollView::scrollBy):
2138         * platform/gtk/ScrollViewGtk.cpp:
2139         (WebCore::ScrollView::setScrollPosition):
2140         * platform/mac/ScrollViewMac.mm:
2141         (WebCore::ScrollView::setScrollPosition):
2142         * platform/qt/ScrollViewQt.cpp:
2143         (WebCore::ScrollView::setScrollPosition):
2144         (WebCore::ScrollView::scrollRectIntoViewRecursively):
2145         * platform/win/ScrollViewWin.cpp:
2146         (WebCore::ScrollView::setScrollPosition):
2147         (WebCore::ScrollView::scrollRectIntoViewRecursively):
2148         * platform/wx/ScrollViewWx.cpp:
2149         (WebCore::ScrollView::setScrollPosition):
2150         * rendering/RenderLayer.cpp:
2151         (WebCore::RenderLayer::scrollByRecursively):
2152         (WebCore::RenderLayer::scrollRectToVisible):
2153
2154 2008-09-25  Dan Bernstein  <mitz@apple.com>
2155
2156         - attempted Windows build fix
2157
2158         * platform/win/ScrollViewWin.cpp:
2159         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
2160         (WebCore::ScrollView::setContentsPos):
2161         (WebCore::ScrollView::paint):
2162
2163 2008-09-25  Timothy Hatcher  <timothy@apple.com>
2164
2165         Revert the padding changes done in r36905 to prevent the
2166         scrollbar from overlapping the URLs in the Console.
2167
2168         https://bugs.webkit.org/show_bug.cgi?id=21126
2169
2170         * page/inspector/inspector.css:
2171
2172 2008-09-25  David Hyatt  <hyatt@apple.com>
2173
2174         https://bugs.webkit.org/show_bug.cgi?id=21129
2175
2176         Refactor contents size and scroll offset to be cross-platform.  Reduce further the number
2177         of platform-specific methods required of ScrollView implementations.
2178
2179         Reviewed by Tim Hatcher
2180
2181         * dom/MouseRelatedEvent.cpp:
2182         (WebCore::contentsX):
2183         (WebCore::contentsY):
2184         * html/HTMLBodyElement.cpp:
2185         (WebCore::HTMLBodyElement::scrollLeft):
2186         (WebCore::HTMLBodyElement::setScrollLeft):
2187         (WebCore::HTMLBodyElement::scrollTop):
2188         (WebCore::HTMLBodyElement::setScrollTop):
2189         * loader/FrameLoader.cpp:
2190         (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
2191         * page/DOMWindow.cpp:
2192         (WebCore::DOMWindow::scrollX):
2193         (WebCore::DOMWindow::scrollY):
2194         * page/EventHandler.cpp:
2195         (WebCore::EventHandler::hitTestResultAtPoint):
2196         * page/FrameView.cpp:
2197         (WebCore::FrameView::scrollTo):
2198         (WebCore::FrameView::windowClipRect):
2199         * platform/ScrollView.cpp:
2200         (WebCore::ScrollView::visibleContentRect):
2201         (WebCore::ScrollView::contentsSize):
2202         (WebCore::ScrollView::platformContentsSize):
2203         * platform/ScrollView.h:
2204         (WebCore::ScrollView::scrollPosition):
2205         (WebCore::ScrollView::scrollOffset):
2206         (WebCore::ScrollView::scrollX):
2207         (WebCore::ScrollView::scrollY):
2208         (WebCore::ScrollView::contentsWidth):
2209         (WebCore::ScrollView::contentsHeight):
2210         * platform/gtk/ScrollViewGtk.cpp:
2211         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
2212         (WebCore::ScrollView::setGtkAdjustments):
2213         (WebCore::ScrollView::resizeContents):
2214         (WebCore::ScrollView::contentsWidth):
2215         (WebCore::ScrollView::contentsHeight):
2216         (WebCore::ScrollView::scrollOffset):
2217         (WebCore::ScrollView::maximumScroll):
2218         (WebCore::ScrollView::scrollBy):
2219         (WebCore::ScrollView::suppressScrollbars):
2220         (WebCore::ScrollView::setHScrollbarMode):
2221         (WebCore::ScrollView::setVScrollbarMode):
2222         (WebCore::ScrollView::setScrollbarsMode):
2223         (WebCore::ScrollView::setFrameGeometry):
2224         (WebCore::ScrollView::updateScrollbars):
2225         * platform/mac/ScrollViewMac.mm:
2226         (WebCore::ScrollView::platformContentsSize):
2227         (WebCore::ScrollView::scrollBy):
2228         * platform/mac/WidgetMac.mm:
2229         (WebCore::Widget::convertFromContainingWindow):
2230         (WebCore::Widget::convertToContainingWindow):
2231         * platform/qt/ScrollViewQt.cpp:
2232         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
2233         (WebCore::ScrollView::resizeContents):
2234         (WebCore::ScrollView::setFrameGeometry):
2235         (WebCore::ScrollView::scrollOffset):
2236         (WebCore::ScrollView::maximumScroll):
2237         (WebCore::ScrollView::scrollBy):
2238         (WebCore::ScrollView::setHScrollbarMode):
2239         (WebCore::ScrollView::setVScrollbarMode):
2240         (WebCore::ScrollView::setScrollbarsMode):
2241         (WebCore::ScrollView::updateScrollbars):
2242         * platform/win/ScrollViewWin.cpp:
2243         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
2244         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
2245         (WebCore::ScrollView::resizeContents):
2246         (WebCore::ScrollView::setFrameGeometry):
2247         (WebCore::ScrollView::scrollOffset):
2248         (WebCore::ScrollView::maximumScroll):
2249         (WebCore::ScrollView::scrollBy):
2250         (WebCore::ScrollView::setHScrollbarMode):
2251         (WebCore::ScrollView::setVScrollbarMode):
2252         (WebCore::ScrollView::setScrollbarsMode):
2253         (WebCore::ScrollView::updateScrollbars):
2254         * platform/wx/ScrollViewWx.cpp:
2255         (WebCore::ScrollView::platformVisibleContentRect):
2256         (WebCore::ScrollView::platformContentsSize):
2257         * rendering/RenderBlock.cpp:
2258         (WebCore::RenderBlock::nodeAtPoint):
2259         * rendering/RenderLayer.cpp:
2260         (WebCore::RenderLayer::scrollRectToVisible):
2261         (WebCore::RenderLayer::calculateClipRects):
2262         (WebCore::RenderLayer::calculateRects):
2263         * rendering/RenderView.cpp:
2264         (WebCore::RenderView::absolutePosition):
2265         (WebCore::RenderView::computeAbsoluteRepaintRect):
2266
2267 2008-09-25  David Smith  <catfish.man@gmail.com>
2268
2269         Reviewed by Dave Hyatt.
2270
2271         Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
2272
2273         * dom/Element.cpp:
2274         (WebCore::Element::rareData):
2275         * dom/Element.h:
2276         * dom/Node.cpp:
2277         (WebCore::Node::rareData):
2278         * dom/Node.h:
2279
2280 2008-09-25  David Smith  <catfish.man@gmail.com>
2281
2282         Reviewed by Darin Adler.
2283         
2284         https://bugs.webkit.org/show_bug.cgi?id=20980
2285         Split off uncommonly used data from Node similar to ElementRareData
2286         
2287         Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
2288         which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
2289         for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
2290
2291         * WebCore.base.exp: 
2292         * WebCore.xcodeproj/project.pbxproj:
2293         * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
2294         * dom/ContainerNode.cpp: Set isContainer to true
2295         (WebCore::ContainerNode::ContainerNode):
2296         * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
2297         (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
2298         (WebCore::Node::containerChildNode): ditto
2299         (WebCore::Node::containerFirstChild): ditto
2300         (WebCore::Node::containerLastChild): ditto
2301         * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
2302         (WebCore::Element::Element): 
2303         (WebCore::Element::~Element):
2304         (WebCore::Element::rareData):
2305         (WebCore::Element::ensureRareData): Renamed from createRareData
2306         (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
2307         (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
2308         (WebCore::Element::detach): ditto
2309         (WebCore::Element::recalcStyle): ditto
2310         (WebCore::Element::focus):
2311         (WebCore::Element::minimumSizeForResizing): ditto
2312         (WebCore::Element::setMinimumSizeForResizing): ditto
2313         (WebCore::Element::computedStyle):
2314         (WebCore::Element::cancelFocusAppearanceUpdate): ditto
2315         * dom/Element.h:
2316         * dom/ElementRareData.h: Added; everything copied from Element.cpp
2317         (WebCore::defaultMinimumSizeForResizing):
2318         (WebCore::ElementRareData::ElementRareData):
2319         (WebCore::ElementRareData::resetComputedStyle):
2320         * dom/EventTargetNode.cpp:
2321         (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
2322         * dom/EventTargetNode.h:
2323         * dom/Node.cpp:
2324         (WebCore::Node::Node):
2325         (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
2326         (WebCore::Node::rareData):
2327         (WebCore::Node::ensureRareData):
2328         (WebCore::Node::createRareData):
2329         (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
2330         (WebCore::Node::setTabIndexExplicitly):
2331         (WebCore::Node::childNodes): NodeLists are now in rareData
2332         (WebCore::Node::setFocus):
2333         (WebCore::Node::rareDataFocused):
2334         (WebCore::Node::isFocusable):
2335         (WebCore::Node::isKeyboardFocusable):
2336         (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
2337         (WebCore::Node::unregisterDynamicNodeList): ditto
2338         (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
2339         (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
2340         (WebCore::Node::getElementsByName): ditto
2341         (WebCore::Node::getElementsByClassName): ditto
2342         * dom/Node.h:
2343         (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
2344         (WebCore::Node::lastChild): ditto
2345         (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
2346         (WebCore::Node::focused): focus is in rareData if set
2347         (WebCore::Node::childTypeAllowed):
2348         (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
2349         (WebCore::Node::childNode): ditto
2350         (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
2351         * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
2352         (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
2353         (WebCore::NodeRareData::NodeRareData):
2354         (WebCore::NodeRareData::rareDataMap):
2355         (WebCore::NodeRareData::rareDataFromMap):
2356         (WebCore::NodeRareData::clearNodeLists):
2357         (WebCore::NodeRareData::setNodeLists):
2358         (WebCore::NodeRareData::nodeLists):
2359         (WebCore::NodeRareData::tabIndex):
2360         (WebCore::NodeRareData::setTabIndex):
2361         (WebCore::NodeRareData::tabIndexSetExplicitly):
2362         * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
2363         * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
2364
2365 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
2366
2367         Reviewed by Simon Hausmann.
2368
2369         [qt] ImageBuffer::toDataURL implementation
2370
2371         There needs to be a Qt specific test result for the above mentioned
2372         implementation.
2373
2374         * platform/graphics/qt/ImageBufferQt.cpp:
2375         (WebCore::ImageBuffer::toDataURL):
2376
2377 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
2378
2379         Reviewed by Simon Hausmann.
2380
2381         [qt] Implement SharedBuffer for Qt.
2382
2383         * WebCore.pro:
2384         * platform/qt/SharedBufferQt.cpp: Added.
2385         (WebCore::SharedBuffer::createWithContentsOfFile):
2386         * platform/qt/TemporaryLinkStubs.cpp:
2387
2388 2008-09-25  Feng Qian <feng@chromium.org>
2389
2390         Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
2391         <rdar://problem/6243032>
2392
2393         Reviewed by Dave Hyatt.
2394
2395         Test: fast/dom/attribute-downcast-right.html
2396
2397         Add isMappedAttribute function to Attribute for checking if an object
2398         is an instance of MappedAttribute. Removed attributeItem,
2399         getAttributeItem functions from NamedMappedAttrMap, and callers
2400         expecting MappedAttribute have to check isMappedAttribute before
2401         downcasting the return value to MappedAttribute.
2402
2403         * css/CSSStyleSelector.cpp:
2404         (WebCore::CSSStyleSelector::styleForElement):
2405         * dom/Attribute.h:
2406         (WebCore::Attribute::isMappedAttribute):
2407         * dom/MappedAttribute.h:
2408         (WebCore::MappedAttribute::isMappedAttribute):
2409         * dom/NamedMappedAttrMap.cpp:
2410         (WebCore::NamedMappedAttrMap::declCount):
2411         (WebCore::NamedMappedAttrMap::mapsEquivalent):
2412         * dom/NamedMappedAttrMap.h:
2413         * dom/StyledElement.cpp:
2414         (WebCore::StyledElement::attributeChanged):
2415         * html/HTMLInputElement.cpp:
2416         (WebCore::HTMLInputElement::setInputType):
2417         * svg/SVGForeignObjectElement.cpp:
2418         (WebCore::addCSSPropertyAndNotifyAttributeMap):
2419         * svg/SVGStyledElement.cpp:
2420         (WebCore::SVGStyledElement::getPresentationAttribute):
2421
2422 2008-09-25  David Hyatt  <hyatt@apple.com>
2423
2424         https://bugs.webkit.org/show_bug.cgi?id=21120
2425
2426         Make visibleContentRect cross-platform.  Note this does add new horizontal/verticalScrollbar accessors
2427         to a bunch of platforms.  This is a temporary evil until the scrollbars get made cross-platform (and I
2428         didn't want to mix that change in with this patch).
2429
2430         Reviewed by Sam Weinig
2431
2432         * page/Frame.cpp:
2433         (WebCore::Frame::markAllMatchesForText):
2434         * page/FrameView.cpp:
2435         (WebCore::FrameView::repaintContentRectangle):
2436         (WebCore::FrameView::windowClipRect):
2437         (WebCore::FrameView::updateControlTints):
2438         * platform/ScrollView.cpp:
2439         (WebCore::ScrollView::visibleContentRect):
2440         (WebCore::ScrollView::platformVisibleContentRect):
2441         * platform/ScrollView.h:
2442         (WebCore::ScrollView::visibleWidth):
2443         (WebCore::ScrollView::visibleHeight):
2444         * platform/gtk/ScrollViewGtk.cpp:
2445         (WebCore::ScrollView::horizontalScrollbar):
2446         (WebCore::ScrollView::verticalScrollbar):
2447         * platform/mac/ScrollViewMac.mm:
2448         (WebCore::ScrollView::horizontalScrollbar):
2449         (WebCore::ScrollView::verticalScrollbar):
2450         (WebCore::ScrollView::platformVisibleContentRect):
2451         * platform/qt/ScrollViewQt.cpp:
2452         (WebCore::ScrollView::horizontalScrollbar):
2453         (WebCore::ScrollView::verticalScrollbar):
2454         * platform/win/ScrollViewWin.cpp:
2455         (WebCore::ScrollView::horizontalScrollbar):
2456         (WebCore::ScrollView::verticalScrollbar):
2457         * platform/wx/ScrollViewWx.cpp:
2458         (WebCore::ScrollView::platformVisibleContentRect):
2459         (WebCore::ScrollView::horizontalScrollbar):
2460         (WebCore::ScrollView::verticalScrollbar):
2461         * rendering/RenderLayer.cpp:
2462         (WebCore::RenderLayer::scrollRectToVisible):
2463         (WebCore::frameVisibleRect):
2464         * rendering/RenderView.cpp:
2465         (WebCore::RenderView::viewRect):
2466
2467 2008-09-25  David Smith  <catfish.man@gmail.com>
2468
2469         Reviewed by Timothy Hatcher
2470
2471         https://bugs.webkit.org/show_bug.cgi?id=21052
2472         Generalize id selector special case for querySelectorAll
2473         
2474         By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
2475         Changes results on http://native.khan.mozilla.org 
2476         from
2477             #title: 2ms
2478             h1#title: 55ms
2479             div #title: 55ms
2480
2481         to:
2482             #title: 1ms
2483             h1#title: 2ms
2484             div #title: 5ms
2485         
2486         * dom/Node.cpp:
2487         (WebCore::Node::querySelector):
2488         * dom/SelectorNodeList.cpp:
2489         (WebCore::createSelectorNodeList):
2490
2491 2008-09-25  David Hyatt  <hyatt@apple.com>
2492
2493         https://bugs.webkit.org/show_bug.cgi?id=21118
2494
2495         Make the concept of whether you can blit on scroll cross-platform on ScrollView.
2496
2497         Reviewed by Sam Weinig
2498
2499         * page/FrameView.cpp:
2500         (WebCore::FrameView::clear):
2501         (WebCore::FrameView::layout):
2502         (WebCore::FrameView::setUseSlowRepaints):
2503         (WebCore::FrameView::addSlowRepaintObject):
2504         (WebCore::FrameView::removeSlowRepaintObject):
2505         * platform/ScrollView.cpp:
2506         (WebCore::ScrollView::init):
2507         (WebCore::ScrollView::addChild):
2508         (WebCore::ScrollView::removeChild):
2509         (WebCore::ScrollView::setCanBlitOnScroll):
2510         * platform/ScrollView.h:
2511         (WebCore::ScrollView::canBlitOnScroll):
2512         * platform/gtk/ScrollViewGtk.cpp:
2513         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2514         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
2515         (WebCore::ScrollView::ScrollView):
2516         * platform/mac/ScrollViewMac.mm:
2517         (WebCore::ScrollView::ScrollView):
2518         (WebCore::ScrollView::platformAddChild):
2519         (WebCore::ScrollView::platformRemoveChild):
2520         (WebCore::ScrollView::platformSetCanBlitOnScroll):
2521         * platform/qt/ScrollViewQt.cpp:
2522         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2523         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
2524         (WebCore::ScrollView::ScrollView):
2525         * platform/win/ScrollViewWin.cpp:
2526         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2527         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
2528         (WebCore::ScrollView::ScrollView):
2529         * platform/wx/ScrollViewWx.cpp:
2530         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2531         (WebCore::ScrollView::ScrollView):
2532         (WebCore::ScrollView::scrollBy):
2533
2534 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
2535
2536         Reviewed by Tim Hatcher.
2537
2538         Bug 21109: Console should right-align urls
2539
2540         * page/inspector/Console.js: Re-order the message elements so that when
2541         it overflows it doesn't get mixed in with the next message.
2542         * page/inspector/inspector.css:
2543
2544 2008-09-25  David Hyatt  <hyatt@apple.com>
2545
2546         https://bugs.webkit.org/show_bug.cgi?id=21113
2547
2548         Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
2549
2550         Reviewed by Darin Adler
2551
2552         * css/CSSImportRule.cpp:
2553         (WebCore::CSSImportRule::insertedIntoParent):
2554         * css/CSSRule.cpp:
2555         (WebCore::CSSRule::parentStyleSheet):
2556         (WebCore::CSSRule::parentRule):
2557         * css/CSSStyleSheet.cpp:
2558         (WebCore::CSSStyleSheet::CSSStyleSheet):
2559         * css/CSSStyleSheet.h:
2560
2561 2008-09-25  Darin Adler  <darin@apple.com>
2562
2563         Reviewed by Adele Peterson.
2564
2565         - fix https://bugs.webkit.org/show_bug.cgi?id=21115
2566           <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
2567           bundled documents
2568
2569         * html/HTMLFormElement.cpp:
2570         (WebCore::HTMLFormElement::formData): Use files() instead of value()
2571         to get the path, since value() now returns just the basename.
2572
2573 2008-09-25  Brady Eidson  <beidson@apple.com>
2574
2575         Rubberstamped by Mark Rowe
2576
2577         Roll out 36771 as it caused <rdar://problem/6246554>
2578         "nytimes.com doesn't display after returning to it with back/forward"
2579
2580         * css/CSSImportRule.cpp:
2581         (WebCore::CSSImportRule::insertedIntoParent):
2582         * css/CSSRule.cpp:
2583         (WebCore::CSSRule::parentStyleSheet):
2584         (WebCore::CSSRule::parentRule):
2585         * css/CSSStyleSheet.cpp:
2586         (WebCore::CSSStyleSheet::CSSStyleSheet):
2587         (WebCore::CSSStyleSheet::docLoader):
2588         * css/CSSStyleSheet.h:
2589         (WebCore::CSSStyleSheet::doc):
2590
2591 2008-09-25  Adam Roben  <aroben@apple.com>
2592
2593         Windows build fix
2594
2595         * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
2596
2597 2008-09-25  Dan Bernstein  <mitz@apple.com>
2598
2599         - Windows build fix
2600
2601         * platform/win/ScrollViewWin.cpp:
2602         (WebCore::ScrollView::addChildPlatformWidget):
2603         (WebCore::ScrollView::removeChildPlatformWidget):
2604
2605 2008-09-25  Timothy Hatcher  <timothy@apple.com>
2606
2607         Fixes a leak of ConsoleMessage seen when repeated console
2608         messages occur.
2609
2610         Reviewed by Mark Rowe.
2611
2612         * page/InspectorController.cpp:
2613         (WebCore::InspectorController::addConsoleMessage): Delete the repeat
2614         since we don't add it to m_consoleMessages.
2615
2616 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
2617
2618         Reviewed by Dan Bernstein.
2619
2620         Bug 21105: XHRs logged in the console may show the wrong URL for the
2621         source
2622         - Get the url at the time of the send() and pass it on to the XHR.
2623
2624         * bindings/js/JSXMLHttpRequestCustom.cpp:
2625         (WebCore::JSXMLHttpRequest::send):
2626         * xml/XMLHttpRequest.cpp:
2627         (WebCore::XMLHttpRequest::didFinishLoading):
2628         * xml/XMLHttpRequest.h:
2629         (WebCore::XMLHttpRequest::setLastSendURL):
2630
2631 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
2632
2633         Reviewed by Geoff and Tim.
2634
2635         Bug 20322: XHRs logged in the console do not have line numbers
2636         - Get the line number at the time of the send and pass it on to the XHR.
2637
2638         * bindings/js/JSXMLHttpRequestCustom.cpp:
2639         (WebCore::JSXMLHttpRequest::send):
2640         * xml/XMLHttpRequest.cpp:
2641         (WebCore::XMLHttpRequest::XMLHttpRequest):
2642         (WebCore::XMLHttpRequest::didFinishLoading):
2643         * xml/XMLHttpRequest.h:
2644         (WebCore::XMLHttpRequest::setLastSendLineNumber):
2645
2646 2008-09-25  Eric Carlson  <eric.carlson@apple.com>
2647
2648         Reviewed by Eric Seidel.
2649         
2650         <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
2651         https://bugs.webkit.org/show_bug.cgi?id=21003
2652
2653         * dom/EventNames.h: remove "begin" event
2654         * html/HTMLMediaElement.cpp:
2655         (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
2656
2657 2008-09-25  Alexey Proskuryakov  <ap@webkit.org>
2658
2659         Reviewed by Eric Seidel.
2660
2661         https://bugs.webkit.org/show_bug.cgi?id=21097
2662         Calling a MessageChannel constructor from a destroyed document results in a crash
2663
2664         Test: fast/events/message-port-constructor-for-deleted-document.html
2665
2666         * bindings/js/JSMessageChannelConstructor.cpp:
2667         (WebCore::JSMessageChannelConstructor::construct):
2668         * bindings/js/JSMessageChannelConstructor.h:
2669         Made m_document a RefPtr.
2670
2671 2008-09-24  Alexey Proskuryakov  <ap@webkit.org>
2672
2673         Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
2674
2675         https://bugs.webkit.org/show_bug.cgi?id=20879
2676         Implement HTML5 channel messaging
2677
2678         Tests: fast/events/message-channel-gc.html
2679                fast/events/message-port-deleted-document.html
2680                fast/events/message-port-deleted-frame.html
2681                fast/events/message-port-inactive-document.html
2682                fast/events/message-port.html
2683                http/tests/security/MessagePort/event-listener-context.html
2684
2685         * Configurations/WebCore.xcconfig:
2686         Removed unused  ENABLE_CROSS_DOCUMENT_MESSAGING macro.
2687
2688         * DerivedSources.make:
2689         Added MessageChannel and MessagePort.
2690
2691         * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
2692         turmed off anyway. Added new files.
2693
2694         * GNUmakefile.am:
2695         * WebCore.pro:
2696         * WebCore.vcproj/WebCore.vcproj:
2697         * WebCore.xcodeproj/project.pbxproj:
2698         * WebCoreSources.bkl:
2699         Added new files.
2700
2701         * bindings/js/JSDOMWindowBase.h:
2702         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
2703         Added suport for window.MessageChannel constructor.
2704
2705         * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
2706         * page/DOMWindow.cpp:
2707         (WebCore::DOMWindow::postMessage):
2708         * page/DOMWindow.h:
2709         * page/DOMWindow.idl:
2710         Added support for three-argument postMessage (that posts a MessagePort).
2711
2712         * dom/EventTarget.cpp:
2713         (WebCore::EventTarget::toMessagePort):
2714         * dom/EventTarget.h:
2715         * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
2716         EventTarget variant.
2717
2718         * bindings/js/JSMessageChannelConstructor.h:
2719         * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
2720         take a browsing context (document) parameter.
2721
2722         * bindings/js/JSMessageChannelCustom.cpp: Added.
2723         (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
2724         port1 and port2 that it owns.
2725
2726         * bindings/js/JSMessagePortCustom.cpp: Added.
2727         (WebCore::JSMessagePort::startConversation):
2728         (WebCore::JSMessagePort::addEventListener):
2729         (WebCore::JSMessagePort::removeEventListener):
2730         (WebCore::JSMessagePort::dispatchEvent):
2731         (WebCore::JSMessagePort::setOnmessage):
2732         (WebCore::JSMessagePort::onmessage):
2733         (WebCore::JSMessagePort::setOnclose):
2734         (WebCore::JSMessagePort::onclose):
2735         (WebCore::JSMessagePort::mark):
2736         * dom/MessagePort.cpp: Added.
2737         * dom/MessagePort.h: Added.
2738         * dom/MessagePort.idl: Added.
2739         Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
2740         with Documents as contexts, but in the future, it will be used for communication with worker
2741         threads.
2742
2743         * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
2744         really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
2745         needed for MessageEvent.
2746
2747         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
2748
2749         * dom/Document.cpp:
2750         (WebCore::MessagePortTimer::MessagePortTimer):
2751         (WebCore::MessagePortTimer::fired):
2752         (WebCore::Document::processMessagePortMessagesSoon):
2753         (WebCore::Document::~Document):
2754         (WebCore::Document::dispatchMessagePortEvents):
2755         (WebCore::Document::createdMessagePort):
2756         (WebCore::Document::destroyedMessagePort):
2757         * dom/Document.h:
2758         Document keeps track of all MessagePort objects that were created when it was fully active
2759         in its context.
2760
2761         * dom/EventNames.h: Added closeEvent.
2762
2763         * dom/MessageChannel.cpp: Added.
2764         (WebCore::MessageChannel::MessageChannel):
2765         (WebCore::MessageChannel::~MessageChannel):
2766         * dom/MessageChannel.h: Added.
2767         (WebCore::MessageChannel::create):
2768         (WebCore::MessageChannel::port1):
2769         (WebCore::MessageChannel::port2):
2770         * dom/MessageChannel.idl: Added.
2771         Addded JSMessageChannel implementation.
2772
2773         * dom/MessageEvent.cpp:
2774         (WebCore::MessageEvent::MessageEvent):
2775         (WebCore::MessageEvent::initMessageEvent):
2776         * dom/MessageEvent.h:
2777         (WebCore::MessageEvent::create):
2778         (WebCore::MessageEvent::messagePort):
2779         * dom/MessageEvent.idl:
2780         MessageEvent has a MessagePort member now, making it possible to pass ports across
2781         documents.
2782
2783 2008-09-25  David Smith  <catfish.man@gmail.com>
2784
2785         Reviewed by Eric Seidel
2786         
2787         fix https://bugs.webkit.org/show_bug.cgi?id=21091
2788         Regression: querySelector matches tag names case sensitively
2789         
2790         Tests: fast/dom/SelectorAPI/caseTag.html
2791                fast/dom/SelectorAPI/caseTagX.xhtml
2792
2793         * css/CSSParser.cpp:
2794         (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
2795         * css/CSSParser.h:
2796         * dom/Node.cpp:
2797         (WebCore::Node::querySelector):
2798         (WebCore::Node::querySelectorAll):
2799
2800 2008-09-24  David Hyatt  <hyatt@apple.com>
2801
2802         https://bugs.webkit.org/show_bug.cgi?id=21084
2803
2804         Make the m_children member of ScrollView cross-platform.  Consolidate children add/remove
2805         functionality.  Add platform stubs for connecting/disconnecting the platform widgets.
2806
2807         Reviewed by Sam Weinig
2808
2809         * GNUmakefile.am:
2810         * WebCore.pro:
2811         * WebCore.vcproj/WebCore.vcproj:
2812         * WebCore.xcodeproj/project.pbxproj:
2813         * WebCoreSources.bkl:
2814         * platform/ScrollView.h:
2815         (WebCore::ScrollView::children):
2816         * platform/Widget.h:
2817         * platform/gtk/ScrollViewGtk.cpp:
2818         (WebCore::ScrollView::addChildPlatformWidget):
2819         (WebCore::ScrollView::removeChildPlatformWidget):
2820         (WebCore::ScrollView::geometryChanged):
2821         * platform/mac/ScrollViewMac.mm:
2822         (WebCore::ScrollView::addChildPlatformWidget):
2823         (WebCore::ScrollView::removeChildPlatformWidget):
2824         * platform/qt/ScrollViewQt.cpp:
2825         (WebCore::ScrollView::geometryChanged):
2826         (WebCore::ScrollView::addChildPlatformWidget):
2827         (WebCore::ScrollView::removeChildPlatformWidget):
2828         * platform/win/ScrollViewWin.cpp:
2829         (WebCore::ScrollView::geometryChanged):
2830         (WebCore::ScrollView::setParentVisible):
2831         (WebCore::ScrollView::show):
2832         (WebCore::ScrollView::hide):
2833         * platform/wx/ScrollViewWx.cpp:
2834         (WebCore::ScrollView::addChildPlatformWidget):
2835         (WebCore::ScrollView::removeChildPlatformWidget):
2836
2837 2008-09-25  Dan Bernstein  <mitz@apple.com>
2838
2839         Reviewed by Dave Hyatt.
2840
2841         - fix https://bugs.webkit.org/show_bug.cgi?id=21024
2842           <rdar://problem/6240821> Scrollbar not painted until hovered
2843
2844         * rendering/RenderWidget.cpp:
2845         (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
2846         this method, which sets both the location and the size.
2847         (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
2848         with a call to the new method setWidgetGeometry. Positioning the
2849         widget correctly ensures that the scroll bars invalidate correctly when
2850         they are created and resized.
2851         * rendering/RenderWidget.h:
2852
2853 2008-09-24  Dan Bernstein  <mitz@apple.com>
2854
2855         Rubber-stamped by Sam Weinig.
2856
2857         - create a "style" subfolder under "rendering" and move style files to that folder
2858
2859         * WebCore.vcproj/WebCore.vcproj:
2860
2861 2008-09-24  Sam Weinig  <sam@webkit.org>
2862
2863         Reviewed by Maciej Stachowiak.
2864
2865         Remove staticFunctionGetter.  There is only one remaining user of
2866         staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
2867
2868         * bindings/js/JSDOMWindowBase.cpp:
2869         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
2870
2871 2008-09-24  Jeremy Moskovich  <jeremy@chromium.org>
2872
2873         Reviewed by Dan Bernstein.
2874
2875         Test: editing/spelling/inline_spelling_markers.html
2876         
2877         - https://bugs.webkit.org/show_bug.cgi?id=20092
2878         Spelling markers positioned incorrectly in RTL text
2879
2880         Measure spelling markers with selectionRectForText() to fix RTL.
2881
2882         This patch also fixes hit-testing for spelling marker tool tips,
2883         which used to work only on the first line.
2884
2885         * rendering/InlineTextBox.cpp:
2886         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2887
2888 2008-09-24  David Hyatt  <hyatt@apple.com>
2889
2890         https://bugs.webkit.org/show_bug.cgi?id=21074
2891
2892         Make sure the viewless scrollbar knows how to paint properly when transformed.
2893
2894         Reviewed by Sam Weinig
2895
2896         * platform/mac/ScrollbarThemeMac.mm:
2897         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
2898         (WebCore::ScrollbarThemeMac::paint):
2899
2900 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
2901
2902         Not reviewed. Try to fix win build.
2903
2904         * bindings/js/JSSVGElementInstanceCustom.cpp:
2905         (WebCore::toJS):
2906         * dom/ContainerNodeAlgorithms.h:
2907         (WebCore::removeAllChildrenInContainer):
2908         (WebCore::appendChildToContainer):
2909         (WebCore::Private::addChildNodesToDeletionQueue):
2910
2911 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
2912
2913         Reviewed by Oliver.
2914
2915         Add ContainerNodeAlgorithms.h, as central place to share algorithms
2916         operating on TreeShared-derived classes with a Node-style interface.
2917
2918         This allows SVGElementInstance & ContainerNode to share code.
2919
2920         * dom/ContainerNode.cpp:
2921         (WebCore::ContainerNode::removeAllChildren):
2922         (WebCore::ContainerNode::addChild):
2923         * dom/ContainerNode.h:
2924         * dom/ContainerNodeAlgorithms.h: Added.
2925         (WebCore::removeAllChildrenInContainer):
2926         (WebCore::appendChildToContainer):
2927         (WebCore::Private::NodeRemovalDispatcher::dispatch):
2928         (WebCore::Private::addChildNodesToDeletionQueue):
2929
2930 2008-09-24  Simon Fraser  <simon.fraser@apple.com>
2931
2932         Reviewed by Dave Hyatt
2933
2934         Wrap up dirtying the z-order list of the stacking context
2935         RenderLayer into a method.
2936         https://bugs.webkit.org/show_bug.cgi?id=21072
2937
2938         * rendering/RenderLayer.cpp:
2939         (WebCore::RenderLayer::setHasVisibleContent):
2940         (WebCore::RenderLayer::addChild):
2941         (WebCore::RenderLayer::removeChild):
2942         (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
2943         (WebCore::RenderLayer::styleChanged):
2944         * rendering/RenderLayer.h:
2945         * rendering/RenderObject.cpp:
2946         (WebCore::RenderObject::setStyle):
2947
2948 2008-09-24  Kevin McCullough  <kmccullough@apple.com>
2949
2950         Reviewed by Tim.
2951
2952         Bug 21070: REGRESSION Repeated messages with arguments are not repeated
2953         or displayed multiple times
2954         - The Insepctor Controller was comparing JSValue pointers so thought the
2955         message was not a repeat, but the JS of the inspector compared the
2956         strings and so knew it was the same message and so overwrote the old
2957         message.
2958
2959         * page/InspectorController.cpp:
2960         (WebCore::ConsoleMessage::isEqual):
2961         (WebCore::InspectorController::addMessageToConsole):
2962         (WebCore::InspectorController::addConsoleMessage):
2963         (WebCore::InspectorController::startGroup):
2964         (WebCore::InspectorController::endGroup):
2965         * page/InspectorController.h:
2966
2967 2008-09-24  David Hyatt  <hyatt@apple.com>
2968
2969         Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
2970         arrow placement preference and the thumb jump preference).
2971
2972         Reviewed by Adam Roben
2973
2974         * platform/Scrollbar.cpp:
2975         (WebCore::Scrollbar::Scrollbar):
2976         (WebCore::Scrollbar::~Scrollbar):
2977         * platform/ScrollbarTheme.h:
2978         (WebCore::ScrollbarTheme::registerScrollbar):
2979         (WebCore::ScrollbarTheme::unregisterScrollbar):
2980         * platform/mac/ScrollbarThemeMac.h:
2981         * platform/mac/ScrollbarThemeMac.mm:
2982         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
2983         (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
2984         (+[ScrollbarPrefsObserver registerAsObserver]):
2985         (WebCore::ScrollbarThemeMac::registerScrollbar):
2986         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2987         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
2988         (WebCore::ScrollbarThemeMac::preferencesChanged):
2989
2990 2008-09-24  Rob Buis  <buis@kde.org>
2991
2992         Reviewed by Darin.
2993
2994         https://bugs.webkit.org/show_bug.cgi?id=20557
2995         getScreenCTM() returns wrong values
2996
2997         Use the absolute position of the svg root when
2998         determining the screen ctm.
2999
3000         Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
3001
3002         * svg/SVGSVGElement.cpp:
3003         (WebCore::SVGSVGElement::getScreenCTM):
3004
3005 2008-09-24  David Hyatt  <hyatt@apple.com>
3006
3007         Turn off support for CSS variables.
3008
3009         * ChangeLog:
3010         * css/CSSParser.cpp:
3011         (WebCore::CSSParser::createVariablesRule):
3012         (WebCore::CSSParser::addVariable):
3013         (WebCore::CSSParser::addVariableDeclarationBlock):
3014
3015 2008-09-24  David Hyatt  <hyatt@apple.com>
3016
3017         Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
3018
3019         * css/CSSGrammar.y:
3020         * css/CSSParserValues.cpp:
3021         (WebCore::CSSParserValue::isVariable):
3022         * css/CSSPrimitiveValue.cpp:
3023         (WebCore::CSSPrimitiveValue::cleanup):
3024         (WebCore::CSSPrimitiveValue::getStringValue):
3025         (WebCore::CSSPrimitiveValue::cssText):
3026         (WebCore::CSSPrimitiveValue::parserValue):
3027         * css/CSSPrimitiveValue.h:
3028         (WebCore::CSSPrimitiveValue::):
3029         (WebCore::CSSPrimitiveValue::isVariable):
3030
3031 2008-09-24  Timothy Hatcher  <timothy@apple.com>
3032
3033         Fixes a regression where the "incorrect MIME-type" warning would not
3034         show up correctly in the Console or the resources sidebar.
3035
3036         Reviewed by Kevin McCullough.
3037
3038         * page/inspector/Resource.js:
3039         (WebInspector.Resource.prototype._addTip): Add the repeat count argument
3040         to the WebInspector.ConsoleMessage constructor call.
3041         (WebInspector.Resource.prototype._checkWarning): Ditto.
3042
3043 2008-09-23  Tor Arne Vestbø  <tavestbo@trolltech.com>
3044
3045         Reviewed by Simon.
3046
3047         Remove deprecated JS Qt bindings object call/construct code and fix autotests
3048
3049         * bridge/qt/qt_instance.cpp:
3050         (JSC::Bindings::QtInstance::QtInstance):
3051         * bridge/qt/qt_instance.h:
3052
3053 2008-09-23  Julien Chaffraix  <jchaffraix@pleyo.com>
3054
3055         Reviewed by Alp Toker. Landed by Jan Alonzo.
3056
3057         Bug 20883: [CURL] Add deferred loading
3058         https://bugs.webkit.org/show_bug.cgi?id=20883
3059
3060         Implement deferred loading for the libcURL backend using curl_easy_pause.
3061         As the method was introduced in version 7.18.0, all the code checks for libcURL
3062         version.
3063
3064         * platform/network/curl/ResourceHandleCurl.cpp:
3065         (WebCore::ResourceHandle::setDefersLoading):
3066         * platform/network/curl/ResourceHandleManager.cpp:
3067         (WebCore::writeCallback): Add an assertion that deferred loading is not
3068         activated.
3069         (WebCore::headerCallback): Ditto.
3070         (WebCore::readCallback): Ditto.
3071         (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
3072         defersLoading to be false in order to avoid triggering an assertion.
3073         (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
3074         activated, pause the easy handle.
3075
3076 2008-09-23  Matt Lilek  <webkit@mattlilek.com>
3077
3078         Reviewed by Tim Hatcher.
3079
3080         Inspector search field style tweaks.
3081
3082         * page/inspector/inspector.css:
3083
3084 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
3085
3086         Reviewed by Eric.
3087
3088         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
3089
3090         Fix missing negation in EventTargetNode::insertedIntoDocument.
3091         Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
3092         Remove code, that wasn't supposed to go in in dispatchGenericEvent().
3093
3094         * dom/EventTargetNode.cpp:
3095         (WebCore::EventTargetNode::insertedIntoDocument):
3096         (WebCore::EventTargetNode::dispatchGenericEvent):
3097         * dom/EventTargetNode.h:
3098
3099 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3100
3101         Adds search support to the Profiles panel.
3102
3103         The Profiles panel supports a few types of queries:
3104          * Standard string matching for function names and file URLs.
3105          * Greater than and less than search for numeric columns.
3106            So a query of ">24" will match all rows that have calls
3107            greater than 24. Or "<=42" will match all 42 or less.
3108          * Percent and time units. Adding a unit of "s", "ms" or "%"
3109            is supported and will match only the Self and Total columns.
3110            So a query of ">1.25s" will match all rows that took longer
3111            than 1.25 seconds.
3112
3113         Reviewed by Oliver Hunt.
3114
3115         * page/inspector/ProfileView.js:
3116         (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
3117         it will start at the first result.
3118         (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
3119         (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
3120         data grid nodes.
3121         (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
3122         (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
3123         (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
3124         (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
3125         (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
3126         (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
3127         (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
3128         (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
3129         Expand all the ancestors first so the profile node will have a DataGridNode.
3130         (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
3131         (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
3132         have search matches.
3133         * page/inspector/ProfilesPanel.js:
3134         (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
3135         (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
3136         (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
3137         (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
3138         (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView  to visibleView.
3139         (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
3140         (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
3141         (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
3142         (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
3143         * page/inspector/inspector.css: New style rules for the cell highlight color.
3144
3145 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3146
3147         Adds search support to the Resources and Scripts panels.
3148
3149         https://bugs.webkit.org/show_bug.cgi?id=21005
3150
3151         Reviewed by Oliver Hunt.
3152
3153         * page/inspector/Images/searchSmallBlue.png: Added.
3154         * page/inspector/Images/searchSmallBrightBlue.png: Added.
3155         * page/inspector/Images/searchSmallGray.png: Added.
3156         * page/inspector/Images/searchSmallWhite.png: Added.
3157         * page/inspector/ResourceView.js:
3158         (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
3159         or "script-resource-views" since one might not be created yet.
3160         * page/inspector/ResourcesPanel.js:
3161         (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
3162         are not this panel's current visible view. This can happen when a ResourceView is
3163         visible in the Scripts panel then switched to the this panel.
3164         (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
3165         visibleView first.
3166         (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
3167         that uses the current graph search function. So cycling through results will be in the order
3168         things appear in the sidebar.
3169         (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
3170         resource's sidebar tree element.
3171         (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
3172         in the sidebar. Calls the Panel prototype's searchCanceled.
3173         (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
3174         in the sidebar. Calls the Panel prototype's performSearch.
3175         (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
3176         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
3177         if there is a current search query.
3178         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
3179         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
3180         (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
3181         (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
3182         (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
3183         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
3184         * page/inspector/ScriptView.js:
3185         (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
3186         (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
3187         it will start at the first result.
3188         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
3189         highlighting complete".
3190         (WebInspector.ScriptView.prototype): Share many methods with SourceView.
3191         * page/inspector/ScriptsPanel.js:
3192         (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
3193         This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
3194         (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
3195         (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
3196         (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
3197         (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
3198         * page/inspector/SourceFrame.js:
3199         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
3200         * page/inspector/SourceView.js:
3201         (WebInspector.SourceView.prototype.hide):
3202         (WebInspector.SourceView.prototype.detach):
3203         (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
3204         (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
3205         (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
3206         (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
3207         store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
3208         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
3209         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
3210         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
3211         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
3212         (WebInspector.SourceView.prototype.showingFirstSearchResult):
3213         (WebInspector.SourceView.prototype.showingLastSearchResult):
3214         (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
3215         (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
3216         (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
3217         * page/inspector/inspector.css:
3218
3219 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3220
3221         Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
3222         so future code can be shared.
3223
3224         https://bugs.webkit.org/show_bug.cgi?id=21005
3225
3226         Reviewed by Oliver Hunt.
3227
3228         * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
3229         And visibleResourceView to visibleView.
3230         * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
3231
3232 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3233
3234         Highlight all matched search results in the Elements panel DOM tree.
3235
3236         https://bugs.webkit.org/show_bug.cgi?id=21005
3237
3238         Reviewed by Oliver Hunt.
3239
3240         * page/inspector/ElementsPanel.js:
3241         (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
3242         on all previous search results.
3243         (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
3244         on all new search results.
3245         * page/inspector/ElementsTreeOutline.js:
3246         (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
3247         (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
3248         the highlighted class on the listItemElement.
3249         (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
3250         if needed. Calls _updateTitle.
3251         (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
3252         class so it can be styled when the highlighted class is present.
3253         * page/inspector/inspector.css: New style rules for the hihglight.
3254
3255 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3256
3257         Add search support to the Elements panel.
3258
3259         https://bugs.webkit.org/show_bug.cgi?id=21005
3260
3261         Reviewed by Oliver Hunt.
3262
3263         * page/inspector/ElementsPanel.js:
3264         (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
3265         with a 0 match count to rest. Reset the other search properties.
3266         (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
3267         query and a CSS selector on all the Documents in the page. Remembers the found nodes
3268         and avoids duplicates. Focuses the first result.
3269         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
3270         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
3271
3272 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3273
3274         Add support to Panel that allows easy searching of sub-views.
3275
3276         https://bugs.webkit.org/show_bug.cgi?id=21005
3277
3278         Reviewed by Oliver Hunt.
3279
3280         * page/inspector/Panel.js:
3281         (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
3282         views in the search results and delete the currentQuery property. Call
3283         WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
3284         other search properties.
3285         (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
3286         reset everything we need before doing a new search. Get an array of searchableViews
3287         from the panel, implemented by sub-classes. Iterate over the views one-by-one
3288         with an interval to prevent blocking the UI for large lists of searchableViews.
3289         This keeps the interface really responsive. Pass a finishedCallback function to
3290         the performSearch on each view so it can notify the panel of results.
3291         (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
3292         searchResults of the visibleView, so we know where in the results we are.
3293         This is done every time incase the user manually navigates to a new view.
3294         If the view is showing the last result, jump to the next view and show it's
3295         first result. Otherwise jump to the next result in the current view.
3296         (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
3297
3298 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3299
3300         Add support for asking the current panel to perform a search, find next/previous and clear.
3301         A search is performed on the new new current panel when switching between panels. The search
3302         label/placeholder in the toolbar now includes the panel name to make it clear that panel will
3303         be searched. The search field contents are selected when Command/Control-F or Enter/Return
3304         is pressed, so the user can easily type an entirely new query. The search match count shows
3305         up in the toolbar next to the search field.
3306
3307         Also changed:
3308          * Rename lastQuery to currentQuery since it better matches the truth.
3309          * Set the search field "results" attribute to zero since results arn't saved for
3310            how we use the search field.
3311          * Make repeated presses of the Return key jump to the next search result instead
3312            of doing nothing.
3313          * Increased the search field width.
3314
3315         https://bugs.webkit.org/show_bug.cgi?id=21005
3316
3317         Reviewed by Oliver Hunt.
3318
3319         * English.lproj/localizedStrings.js: New strings.
3320         * page/inspector/inspector.css: New styles.
3321         * page/inspector/inspector.html: Add the search-results-matches element. Add the
3322         incremental attribute to the search field and set the results attribute to zero.
3323         * page/inspector/inspector.js:
3324         (WebInspector.set currentPanel): perform the search on the new panel.
3325         (WebInspector.loaded): Change the event listeners and remove code that changes
3326         the search label text.
3327         (WebInspector.documentKeyDown): Add support for Command/Control-G and
3328         Command/Control-Shift-G. To jump to the next and previous search results.
3329         (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
3330         This does different things depending on the attached state.
3331         (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
3332         This prevents a "search" event from firing for key down. We handle the Enter key
3333         on key up in searchKeyUp. This stops performSearch from being called twice in a row.
3334         (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
3335         (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
3336         on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
3337         Call updateSearchMatchesCount to reset the matches count in the toolbar.
3338         (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
3339
3340 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3341
3342         Remove the previous Inspector search code to make room for the new stuff.
3343
3344         https://bugs.webkit.org/show_bug.cgi?id=21005
3345
3346         Reviewed by Oliver Hunt.
3347
3348         * page/inspector/inspector.css:
3349         * page/inspector/inspector.html:
3350         * page/inspector/inspector.js:
3351         (WebInspector.get/set showingSearchResults): Removed.
3352         (WebInspector.searchResultsKeyDown): Removed.
3353         (WebInspector.searchResultsResizerDragStart): Removed.
3354         (WebInspector.searchResultsResizerDragEnd): Removed.
3355         (WebInspector.searchResultsResizerDrag): Removed.
3356         (WebInspector.performSearch): Removed searching parts.
3357
3358 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3359
3360         Use the Array.remove helper function in more places.
3361
3362         https://bugs.webkit.org/show_bug.cgi?id=21037
3363
3364         Reviewed by Kevin McCullough.
3365
3366         * page/inspector/ResourceCategory.js:
3367         (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
3368         * page/inspector/ResourcesPanel.js:
3369         (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
3370         * page/inspector/inspector.js:
3371         (WebInspector.removeResource): Ditto.
3372
3373 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3374
3375         Fixes a bug where inspecting a node after reloading the page
3376         would not reveal the node in the DOM tree. The TreeOutline
3377         was not being told to forget decendants of a removed child.
3378         So old TreeElements would be found that are not in the tree.
3379
3380         https://bugs.webkit.org/show_bug.cgi?id=21036
3381
3382         Reviewed by Kevin McCullough.
3383
3384         * page/inspector/treeoutline.js:
3385         (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
3386         in addition to _forgetTreeElement.
3387         (TreeOutline._removeChildren): Call _forgetChildrenRecursive
3388         in addition to _forgetTreeElement.
3389         (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
3390         search for known elements.
3391         (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
3392         (TreeOutline._forgetChildrenRecursive): Recursively traverse the
3393         descendants and call _forgetTreeElement.
3394         * page/inspector/utilities.js:
3395         (Array.prototype.remove): Speed up this function by using Array.indexOf
3396         when onlyFirst is true.
3397
3398 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3399
3400         Fixes a bug where inspecting some short text nodes does
3401         not reveal them in the Elements panel DOM tree.
3402
3403         https://bugs.webkit.org/show_bug.cgi?id=21035
3404
3405         Reviewed by Oliver Hunt.
3406
3407         * page/inspector/ElementsTreeOutline.js:
3408         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
3409         The revealAndSelectNode() method might find a different element
3410         if there is inlined text, and the select() call would change the
3411         focusedDOMNode and reenter this setter. So to avoid calling
3412         focusedNodeChanged() twice, first check if _focusedDOMNode is
3413         the same node as the one passed in.
3414         (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
3415         this.treeOutline, since this is the TreeOutline.
3416         (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
3417         Provides default functions for isAncestor, getParet and equal.
3418         Calls the base protoype's findTreeElement. If that returns null
3419         and the node is a text node, try finding it's parent.
3420         (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
3421         Renamed to revealAndSelectNode.
3422         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
3423         Selects and reveals the node passed in. Use the simple findTreeElement.
3424         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
3425         Remove use of this.treeOutline, since this is the TreeOutline.
3426
3427 2008-09-23  Timothy Hatcher  <timothy@apple.com>
3428
3429         Fixes an exception that happened when removing a Resource
3430         from the ResourcesPanel.
3431
3432         https://bugs.webkit.org/show_bug.cgi?id=21034
3433
3434         Reviewed by Kevin McCullough.
3435
3436         * page/inspector/ResourcesPanel.js:
3437         (WebInspctor.ResourcesPanel.prototype.removeResource):
3438         Remove the graphElement.
3439
3440 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
3441
3442         Fixed "Time" to "Tim"
3443
3444         * ChangeLog:
3445
3446 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
3447
3448         Reviewed by Oliver.
3449
3450         Move mapInstanceToElement/removeInstanceMapping/instancesForElement
3451         from SVGDocumentExtensions to SVGElement. It's more useful to store
3452         the list of SVGElementInstances per SVGElement, instead of using
3453         a document-wide hash for this purpose.
3454
3455         * svg/SVGAnimateMotionElement.cpp:
3456         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
3457         * svg/SVGAnimateTransformElement.cpp:
3458         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
3459         * svg/SVGAnimationElement.cpp:
3460         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
3461         * svg/SVGDocumentExtensions.cpp:
3462         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
3463         * svg/SVGDocumentExtensions.h:
3464         * svg/SVGElement.cpp:
3465         (WebCore::SVGElement::mapInstanceToElement):
3466         (WebCore::SVGElement::removeInstanceMapping):
3467         (WebCore::SVGElement::instancesForElement):
3468         * svg/SVGElement.h:
3469         * svg/SVGElementInstance.cpp:
3470         (WebCore::SVGElementInstance::SVGElementInstance):
3471         (WebCore::SVGElementInstance::~SVGElementInstance):
3472         (WebCore::SVGElementInstance::updateAllInstancesOfElement):
3473         * svg/SVGElementInstance.h:
3474         * svg/SVGStyledElement.cpp:
3475         (WebCore::SVGStyledElement::svgAttributeChanged):
3476         (WebCore::SVGStyledElement::childrenChanged):
3477         * svg/SVGStyledElement.h:
3478
3479 2008-09-23  Kevin Ollivier  <kevino@theolliviers.com>
3480
3481         wx build fix.
3482
3483         * WebCoreSources.bkl:
3484
3485 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
3486
3487         Rubber stamped by Sam.
3488
3489         Move code from EventTarget to EventTargetNode.
3490
3491         I refactored most parts to live in EventTarget, a year ago,
3492         though the implementation of EventTargetSVGElementInstance is
3493         done in another way, that obsoletes this.
3494
3495         * dom/Document.cpp:
3496         (WebCore::Document::addListenerTypeIfNeeded):
3497         * dom/Document.h:
3498         * dom/EventTarget.cpp:
3499         * dom/EventTarget.h:
3500         (WebCore::allowEventDispatch):
3501         * dom/EventTargetNode.cpp:
3502         (WebCore::EventTargetNode::insertedIntoDocument):
3503         (WebCore::EventTargetNode::removedFromDocument):
3504         (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
3505         (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
3506         (WebCore::EventTargetNode::addEventListener):
3507         (WebCore::EventTargetNode::removeEventListener):
3508         (WebCore::EventTargetNode::removeAllEventListeners):
3509         (WebCore::EventTargetNode::handleLocalEvents):
3510         (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
3511         (WebCore::EventTargetNode::dispatchEvent):
3512         (WebCore::EventTargetNode::dispatchGenericEvent):
3513         (WebCore::EventTargetNode::dispatchWindowEvent):
3514         (WebCore::EventTargetNode::removeEventListenerForType):
3515         * dom/EventTargetNode.h:
3516         * svg/EventTargetSVGElementInstance.cpp:
3517         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
3518         * svg/SVGElement.cpp:
3519         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
3520         * svg/SVGElement.h:
3521         (WebCore::SVGElement::supplementalTransform):
3522
3523 2008-09-23  Dave Hyatt  <hyatt@apple.com>
3524
3525         Fix for bug 21012.  The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme.  Make
3526         sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
3527         
3528         Reviewed by Sam Weinig
3529
3530         * platform/mac/ScrollbarThemeMac.mm:
3531         (WebCore::ScrollbarThemeMac::trackRect):
3532         * platform/win/ScrollbarThemeSafari.cpp:
3533         (WebCore::ScrollbarTheme::nativeTheme):
3534         (WebCore::ScrollbarThemeSafari::trackRect):
3535
3536 2008-09-23  Beth Dakin  <bdakin@apple.com>
3537
3538         Reviewed by Sam Weinig.
3539
3540         Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" 
3541         link at gmail does not support AXPress action
3542         and corresponding: <rdar://problem/6216178>
3543
3544         I fixed this bug by making AccessibilityObject::anchorElement 
3545         support ARIA links.
3546
3547         * page/AccessibilityImageMapLink.cpp:
3548         (WebCore::AccessibilityImageMapLink::anchorElement):
3549         * page/AccessibilityImageMapLink.h:
3550         * page/AccessibilityObject.cpp:
3551         (WebCore::AccessibilityObject::anchorElement):
3552         * page/AccessibilityObject.h:
3553         (WebCore::AccessibilityObject::isNativeAnchor):
3554         * page/AccessibilityRenderObject.cpp:
3555         (WebCore::AccessibilityRenderObject::isNativeAnchor):
3556         (WebCore::AccessibilityRenderObject::anchorElement):
3557         (WebCore::AccessibilityRenderObject::internalLinkElement):
3558         (WebCore::AccessibilityRenderObject::url):
3559         * page/AccessibilityRenderObject.h:
3560         * page/mac/AccessibilityObjectWrapper.mm:
3561         (AXLinkElementForNode):
3562
3563 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
3564
3565         Reviewed by Tim and Oliver.
3566
3567         Bug 20949: Catch repeated messages in Inspector Controller to limit
3568         memory usage
3569         - Store the repeat count in the Console Message object, in the 
3570         Inspector Controller and JS ConsoleMessage object.
3571
3572         * page/InspectorController.cpp:
3573         (WebCore::ConsoleMessage::ConsoleMessage):
3574         (WebCore::ConsoleMessage::operator==):
3575         (WebCore::InspectorController::InspectorController):
3576         (WebCore::InspectorController::addConsoleMessage):
3577         (WebCore::InspectorController::addScriptConsoleMessage):
3578         * page/InspectorController.h:
3579         * page/inspector/Console.js:
3580         * page/inspector/Resource.js:
3581         * page/inspector/ResourcesPanel.js:
3582         * page/inspector/SourceFrame.js:
3583
3584 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>