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