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