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