2008-10-09 Brady Eidson <beidson@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-10-09  Brady Eidson  <beidson@apple.com>
2
3         Reviewed by Anders
4
5         <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
6
7         The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
8
9         * loader/FrameLoader.cpp:
10         (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
11         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
12           so perform a second null check on the page.  Bail if it has been cleared.
13
14 2008-10-09  Alp Toker  <alp@nuanti.com>
15
16         Build fix for recent DOM generation Makefile changes when custom
17         CFLAGS/CXXFLAGS are passed in.
18
19         * GNUmakefile.am:
20
21 2008-10-09  Jan Michael Alonzo  <jmalonzo@webkit.org>
22
23         Reviewed by Alp Toker.
24
25         https://bugs.webkit.org/show_bug.cgi?id=21390
26         [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
27
28         * platform/gtk/ScrollViewGtk.cpp:
29         (WebCore::ScrollView::platformRemoveChild):
30
31 2008-10-09  Darin Adler  <darin@apple.com>
32
33        - try to fix Qt build
34
35         * bridge/qt/qt_runtime.cpp:
36         (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
37
38 2008-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
39
40         Reviewed by Oliver Hunt & Sam Weinig.
41
42         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
43         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
44         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
45
46         Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
47         Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
48         use tree is rebuild.
49
50         Make SVGElementInstance a real EventTarget, as the SVG specification demands.
51         When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
52         is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
53         share an event listener list. Every event listener change on the SVGElementInstance object is forwared
54         to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
55         Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
56         to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
57         Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
58
59         Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
60         see resources/use-instanceRoot-event-bubbling.js for details.
61
62         Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
63                svg/custom/use-elementInstance-methods.svg (reenabled)
64                svg/custom/use-setAttribute-crash.svg (covers bug 20550)
65                svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
66                svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
67                svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
68
69         * DerivedSources.make:
70         * GNUmakefile.am:
71         * WebCore.pro:
72         * WebCore.vcproj/WebCore.vcproj:
73         * WebCore.xcodeproj/project.pbxproj:
74         * bindings/js/JSEventListener.h:
75         (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
76         * bindings/js/JSEventTarget.cpp:
77         * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
78         * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
79         * bindings/js/JSSVGElementInstanceCustom.cpp:
80         (WebCore::JSSVGElementInstance::addEventListener):
81         (WebCore::JSSVGElementInstance::removeEventListener):
82         (WebCore::JSSVGElementInstance::pushEventHandlerScope):
83         * bindings/scripts/CodeGeneratorJS.pm:
84         * bindings/scripts/CodeGeneratorObjC.pm:
85         * dom/EventListener.h:
86         (WebCore::EventListener::wasCreatedFromMarkup):
87         * dom/EventTargetNode.cpp:
88         (WebCore::updateSVGElementInstancesAfterEventListenerChange):
89         (WebCore::EventTargetNode::addEventListener):
90         (WebCore::EventTargetNode::removeEventListener):
91         (WebCore::eventTargetAsSVGElementInstance):
92         (WebCore::eventTargetRespectingSVGTargetRules):
93         (WebCore::EventTargetNode::dispatchEvent):
94         (WebCore::EventTargetNode::dispatchGenericEvent):
95         (WebCore::EventTargetNode::removeEventListenerForType):
96         * page/EventHandler.cpp:
97         (WebCore::EventHandler::clear):
98         (WebCore::instanceAssociatedWithShadowTreeElement):
99         (WebCore::EventHandler::updateMouseEventTargetNode):
100         * page/EventHandler.h:
101         * svg/EventTargetSVGElementInstance.cpp: Removed.
102         * svg/EventTargetSVGElementInstance.h: Removed.
103         * svg/SVGElementInstance.cpp:
104         (WebCore::SVGElementInstance::SVGElementInstance):
105         (WebCore::SVGElementInstance::~SVGElementInstance):
106         (WebCore::SVGElementInstance::childNodes):
107         (WebCore::SVGElementInstance::setShadowTreeElement):
108         (WebCore::SVGElementInstance::forgetWrapper):
109         (WebCore::SVGElementInstance::appendChild):
110         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
111         (WebCore::SVGElementInstance::setNeedsUpdate):
112         (WebCore::SVGElementInstance::associatedFrame):
113         (WebCore::SVGElementInstance::addEventListener):
114         (WebCore::SVGElementInstance::removeEventListener):
115         (WebCore::SVGElementInstance::dispatchEvent):
116         (WebCore::SVGElementInstance::onabort):
117         (WebCore::SVGElementInstance::setOnabort):
118         (WebCore::SVGElementInstance::onblur):
119         (WebCore::SVGElementInstance::setOnblur):
120         (WebCore::SVGElementInstance::onchange):
121         (WebCore::SVGElementInstance::setOnchange):
122         (WebCore::SVGElementInstance::onclick):
123         (WebCore::SVGElementInstance::setOnclick):
124         (WebCore::SVGElementInstance::oncontextmenu):
125         (WebCore::SVGElementInstance::setOncontextmenu):
126         (WebCore::SVGElementInstance::ondblclick):
127         (WebCore::SVGElementInstance::setOndblclick):
128         (WebCore::SVGElementInstance::onerror):
129         (WebCore::SVGElementInstance::setOnerror):
130         (WebCore::SVGElementInstance::onfocus):
131         (WebCore::SVGElementInstance::setOnfocus):
132         (WebCore::SVGElementInstance::oninput):
133         (WebCore::SVGElementInstance::setOninput):
134         (WebCore::SVGElementInstance::onkeydown):
135         (WebCore::SVGElementInstance::setOnkeydown):
136         (WebCore::SVGElementInstance::onkeypress):
137         (WebCore::SVGElementInstance::setOnkeypress):
138         (WebCore::SVGElementInstance::onkeyup):
139         (WebCore::SVGElementInstance::setOnkeyup):
140         (WebCore::SVGElementInstance::onload):
141         (WebCore::SVGElementInstance::setOnload):
142         (WebCore::SVGElementInstance::onmousedown):
143         (WebCore::SVGElementInstance::setOnmousedown):
144         (WebCore::SVGElementInstance::onmousemove):
145         (WebCore::SVGElementInstance::setOnmousemove):
146         (WebCore::SVGElementInstance::onmouseout):
147         (WebCore::SVGElementInstance::setOnmouseout):
148         (WebCore::SVGElementInstance::onmouseover):
149         (WebCore::SVGElementInstance::setOnmouseover):
150         (WebCore::SVGElementInstance::onmouseup):
151         (WebCore::SVGElementInstance::setOnmouseup):
152         (WebCore::SVGElementInstance::onmousewheel):
153         (WebCore::SVGElementInstance::setOnmousewheel):
154         (WebCore::SVGElementInstance::onbeforecut):
155         (WebCore::SVGElementInstance::setOnbeforecut):
156         (WebCore::SVGElementInstance::oncut):
157         (WebCore::SVGElementInstance::setOncut):
158         (WebCore::SVGElementInstance::onbeforecopy):
159         (WebCore::SVGElementInstance::setOnbeforecopy):
160         (WebCore::SVGElementInstance::oncopy):
161         (WebCore::SVGElementInstance::setOncopy):
162         (WebCore::SVGElementInstance::onbeforepaste):
163         (WebCore::SVGElementInstance::setOnbeforepaste):
164         (WebCore::SVGElementInstance::onpaste):
165         (WebCore::SVGElementInstance::setOnpaste):
166         (WebCore::SVGElementInstance::ondragenter):
167         (WebCore::SVGElementInstance::setOndragenter):
168         (WebCore::SVGElementInstance::ondragover):
169         (WebCore::SVGElementInstance::setOndragover):
170         (WebCore::SVGElementInstance::ondragleave):
171         (WebCore::SVGElementInstance::setOndragleave):
172         (WebCore::SVGElementInstance::ondrop):
173         (WebCore::SVGElementInstance::setOndrop):
174         (WebCore::SVGElementInstance::ondragstart):
175         (WebCore::SVGElementInstance::setOndragstart):
176         (WebCore::SVGElementInstance::ondrag):
177         (WebCore::SVGElementInstance::setOndrag):
178         (WebCore::SVGElementInstance::ondragend):
179         (WebCore::SVGElementInstance::setOndragend):
180         (WebCore::SVGElementInstance::onreset):
181         (WebCore::SVGElementInstance::setOnreset):
182         (WebCore::SVGElementInstance::onresize):
183         (WebCore::SVGElementInstance::setOnresize):
184         (WebCore::SVGElementInstance::onscroll):
185         (WebCore::SVGElementInstance::setOnscroll):
186         (WebCore::SVGElementInstance::onsearch):
187         (WebCore::SVGElementInstance::setOnsearch):
188         (WebCore::SVGElementInstance::onselect):
189         (WebCore::SVGElementInstance::setOnselect):
190         (WebCore::SVGElementInstance::onselectstart):
191         (WebCore::SVGElementInstance::setOnselectstart):
192         (WebCore::SVGElementInstance::onsubmit):
193         (WebCore::SVGElementInstance::setOnsubmit):
194         (WebCore::SVGElementInstance::onunload):
195         (WebCore::SVGElementInstance::setOnunload):
196         * svg/SVGElementInstance.h:
197         (WebCore::SVGElementInstance::needsUpdate):
198         (WebCore::SVGElementInstance::toNode):
199         (WebCore::SVGElementInstance::toSVGElementInstance):
200         (WebCore::SVGElementInstance::correspondingElement):
201         (WebCore::SVGElementInstance::correspondingUseElement):
202         (WebCore::SVGElementInstance::shadowTreeElement):
203         (WebCore::SVGElementInstance::parentNode):
204         (WebCore::SVGElementInstance::previousSibling):
205         (WebCore::SVGElementInstance::nextSibling):
206         (WebCore::SVGElementInstance::firstChild):
207         (WebCore::SVGElementInstance::lastChild):
208         (WebCore::SVGElementInstance::ownerDocument):
209         (WebCore::SVGElementInstance::hasChildNodes):
210         (WebCore::SVGElementInstance::setFirstChild):
211         (WebCore::SVGElementInstance::setLastChild):
212         (WebCore::SVGElementInstance::setNextSibling):
213         (WebCore::SVGElementInstance::setPreviousSibling):
214         (WebCore::SVGElementInstance::refEventTarget):
215         (WebCore::SVGElementInstance::derefEventTarget):
216         * svg/SVGElementInstance.idl:
217         * svg/SVGStyledElement.cpp:
218         (WebCore::SVGStyledElement::svgAttributeChanged):
219         (WebCore::SVGStyledElement::childrenChanged):
220         * svg/SVGUseElement.cpp:
221         (WebCore::SVGUseElement::svgAttributeChanged):
222         (WebCore::shadowTreeContainsChangedNodes):
223         (WebCore::SVGUseElement::recalcStyle):
224         (WebCore::dumpInstanceTree):
225         (WebCore::SVGUseElement::buildPendingResource):
226         (WebCore::SVGUseElement::buildInstanceTree):
227         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
228         * svg/SVGUseElement.h:
229
230 2008-10-08  Sam Weinig  <sam@webkit.org>
231
232         Reviewed by Cameron Zwarich.
233
234         Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
235         REGRESSION (r36977): getRGBColorValue().red returning incorrect value
236
237         Update JSRGBColor to use the new static function per getter approach.
238
239         Test: fast/dom/css-RGBValue.html
240
241         * bindings/js/JSRGBColor.cpp:
242         (WebCore::):
243         (jsRGBColorRed):
244         (jsRGBColorGreen):
245         (jsRGBColorBlue):
246         * bindings/js/JSRGBColor.h:
247
248 2008-10-08  Eric Seidel  <eric@webkit.org>
249
250         Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
251
252         svgElement.className.baseValue = "foo" does not work
253         https://bugs.webkit.org/show_bug.cgi?id=20651
254
255         * dom/StyledElement.cpp:
256         (WebCore::StyledElement::classAttributeChanged):
257         (WebCore::StyledElement::parseMappedAttribute):
258         * dom/StyledElement.h:
259         * svg/SVGStyledElement.cpp:
260         (WebCore::SVGStyledElement::svgAttributeChanged):
261
262 2008-10-08  Anthony Ricaud  <rik24d@gmail.com>
263
264         Make the toolbar label text-shadow not disappear when clicking on the
265         search result count or around the search field.
266
267         Reviewed by Timothy Hatcher.
268
269         * inspector/front-end/inspector.css:
270         (.toolbar-item:active .toolbar-label): Make this rule also require the
271         toggleable class with the toolbar-item class.
272
273 2008-10-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
274
275         Reviewed by Simon.
276
277         Updated the qrc file for the Web Inspector to contain the current set
278         of images.
279
280         * inspector/front-end/WebKit.qrc:
281
282 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
283
284         Reviewed by Simon.
285
286         Fix the linking of applications against WebKit on Qt/Windows.
287
288         The prl files that qmake creates are buggy on Unix, but we they're
289         fine on Windows and we have to have them there in order to get the
290         dependencies correct.
291
292         * WebCore.pro:
293
294 2008-10-08  Ariya Hidayat  <ariya.hidayat@trolltech.com>
295
296         Reviewed by Simon.
297
298         Speed up rectangle filling by not re-creating a QBrush all the time.
299
300         This triggers faster path in QPainter where the brush is reused.
301
302         * platform/graphics/qt/GraphicsContextQt.cpp:
303         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
304         (WebCore::GraphicsContext::fillRect):
305
306 2008-10-08  Thiago Macieira  <thiago.macieira@nokia.com>
307
308         Reviewed by Simon.
309
310         Fixes: Encoding of Qt URLs
311
312         This encoding was added by Simon and I because QUrl's
313         tolerant parser wasn't tolerant enough. Now it is, so we don't need
314         this anymore.
315
316         * platform/qt/KURLQt.cpp:
317         (WebCore::KURL::operator QUrl):
318
319 2008-10-08  Marius Storm-Olsen  <marius@trolltech.com>
320
321         Reviewed by Simon.
322
323         Fixes dependencies in qmake generated visual studio projects.
324
325         Only add debug lib name if we're in the debug build_pass, else the release version.
326         The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
327
328         * WebCore.pro:
329
330 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
331
332         Reviewed by Simon.
333
334         Fix compilation errors on VS2008 64Bit
335
336         * platform/text/TextStream.cpp:
337         (WebCore::TextStream::operator<<):
338         * platform/text/TextStream.h:
339         * plugins/win/PluginViewWin.cpp:
340         (WebCore::PluginView::init):
341
342 2008-10-07  Alp Toker  <alp@nuanti.com>
343
344         GTK+ build fix for older automake versions (1.7). Discussed in bug
345         #21392.
346
347         * GNUmakefile.am:
348
349 2008-10-07  Anders Carlsson  <andersca@apple.com>
350
351         Reviewed by Antti Koivisto.
352
353         <rdar://problem/6273887> Crash in ApplicationCacheGroup
354         
355         Make sure to stop loading even before a cache update is in progress so that the
356         manifest load will be stopped.
357
358         * loader/appcache/ApplicationCacheGroup.cpp:
359         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
360         (WebCore::ApplicationCacheGroup::stopLoading):
361         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
362
363 2008-10-07  Timothy Hatcher  <timothy@apple.com>
364
365         Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
366
367         https://bugs.webkit.org/show_bug.cgi?id=21433
368
369         Reviewed by Sam Weinig.
370
371         * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
372         * bindings/objc/DOM.mm: Remove previous category implementations
373         on DOMDocument for createNodeIterator: and createTreeWalker:. Also
374         moves ObjCNodeFilterCondition to its own file.
375         * bindings/objc/DOMTraversal.h: Remove the category methods that added
376         createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
377         to do since DOmDocument.h is included still, and has these methods.
378         * bindings/objc/DOMUtility.mm:
379         (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
380         JSTreeWalker now that the ObjC binding conforms to the standard wrap.
381         * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
382         (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
383         (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
384         * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
385         (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
386         * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
387         createTreeWalker: methods to DOMDocument.
388         * bindings/scripts/CodeGeneratorObjC.pm:
389         (GetObjCTypeGetter): Add a case for NodeFilter.
390         (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
391         (GenerateImplementation): Remove existing NodeFilter special case that
392         used the m_filter member variable. Add a new special getter for protocol
393         types that aren't EventTarget, so the right class is used for NodeFilter.
394         Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
395         * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
396         OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
397         Rename the entityReferenceExpansion parameter to expandEntityReferences to
398         match the previous ObjC API.
399         * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
400         m_filter member variable was never used in practice, it was always nil!
401         We can remove it and not pad the object because this can't be subclassed.
402         * dom/TreeWalker.idl: Ditto.
403
404 2008-10-07  Timothy Hatcher  <timothy@apple.com>
405
406         Auto-generate the DOMEventTarget protocol implementation for
407         DOMNode and DOMSVGElementInstance.
408
409         https://bugs.webkit.org/show_bug.cgi?id=21432
410
411         Reviewed by Darin Adler.
412
413         * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
414         * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
415         ObjCEventListener to it's own file. Remove the manual impelmentations
416         of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
417         * bindings/objc/DOMEvents.h: Remove the categories that defined
418         DOMEventTarget for DOMNode and DOMSVGElementInstance.
419         * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
420         * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
421         (WebCore::ObjCEventListener::find): Moved from DOM.mm.
422         (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
423         callers from doing a manual deref.
424         (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
425         (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
426         * bindings/scripts/CodeGeneratorObjC.pm:
427         (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
428         (AddIncludesForType): Include ObjCEventListener.h for EventListener.
429         And include EventTargetSVGElementInstance.h for SVGElementInstance.
430         (GenerateHeader): Remove the check for multiple parents.
431         (GenerateImplementation): Remove the check for multiple parents. Remove
432         the @deprecatedFunctions array since deprecated methods get generated
433         into the main @interface now to work with protocols. Add support
434         for the EventTargetNodeCast extended attribute. Add support for
435         EventListener parameters.
436         * dom/Node.idl: Define superclasses for ObjC so the implementation
437         and interface implement the DOMEventTarget protocol. Explicitly
438         specify Object as a superclass to use DOMEventTarget. Object will turn
439         into DOMObject. This is needed to take the code generator down the right
440         path of multiple super-classes as protocols. It is ObjC only for legacy
441         reasons. The event target methods are normally on NodeEventTarget, a
442         subclass of Node. But the ObjC API has never has this subclass and
443         they are on DOMNode.
444         * svg/SVGElementInstance.idl: Ditto.
445
446 2008-10-07  David Hyatt  <hyatt@apple.com>
447
448         Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
449
450         The new pseudo-elements are:
451             scrollbar
452             scrollbar-button
453             scrollbar-corner
454             scrollbar-thumb
455             scrollbar-track
456         
457         These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
458         the following new pseudo-classes:
459             scrollbar-active
460             scrollbar-back
461             scrollbar-forward
462             scrollbar-horizontal
463             scrollbar-vertical
464         
465         Reviewed by Adele
466
467         * css/CSSSelector.cpp:
468         (WebCore::CSSSelector::extractPseudoType):
469         * css/CSSSelector.h:
470         (WebCore::CSSSelector::):
471
472 2008-10-06  Timothy Hatcher  <timothy@apple.com>
473
474         Add support to the Resources panel for queries like "#123", "foo #123",
475         "line: 123" and "foo line: 123". These will match the query limiting
476         the search only to the line specified. If only a line is specified,
477         the whole line is matched.
478
479         https://bugs.webkit.org/show_bug.cgi?id=21422
480
481         Reviewed by Darin Adler.
482
483         * inspector/front-end/SourceFrame.js:
484         (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
485         row if the index is greater than the rows collection. Let it return
486         undefined by indexing out-of-bounds.
487         * inspector/front-end/SourceView.js:
488         (WebInspector.SourceView.prototype.performSearch): Add support for
489         queries like "#123", "foo #123", "line: 123" and "foo line: 123".
490         Also match the whole query to the whole document in case there are
491         colors like "#333".
492
493 2008-10-07  Alp Toker  <alp@nuanti.com>
494
495         Reviewed by Mark Rowe.
496
497         https://bugs.webkit.org/show_bug.cgi?id=21392
498         [GTK] Auto-generate JS DOM binding sources list
499
500         Remove the huge lists of generated DOM binding sources and headers in
501         the build system. These are difficult to maintain and can be derived
502         automatically.
503
504         The new strategy is to re-use the existing lists of IDL sources (which
505         are needed for dist support anyway). This will also ease the addition
506         of new language bindings.
507
508         * GNUmakefile.am:
509
510 2008-10-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
511
512         Reviewed by Simon.
513
514         Don't attempt to paint when updating control tints
515
516         We don't have a valid PlatformGraphicsContext so schedule
517         the dirty scrollbar/scrollview area for repaint instead.
518
519         * platform/qt/ScrollbarThemeQt.cpp:
520         (WebCore::ScrollbarThemeQt::paint):
521         (WebCore::ScrollbarThemeQt::paintScrollCorner):
522
523 2008-10-07  Holger Hans Peter Freyther  <zecke@selfish.org>
524
525         [qt] Build fix after Scrollbar.h and Widget.h changes.
526
527         * plugins/qt/PluginViewQt.cpp:
528         (WebCore::PluginView::getValue):
529         (WebCore::PluginView::init):
530
531 2008-10-06  David Hyatt  <hyatt@apple.com>
532
533         Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
534
535         Reviewed by Sam Weinig
536
537         * WebCore.base.exp:
538         * WebCore.xcodeproj/project.pbxproj:
539         * loader/EmptyClients.h:
540         (WebCore::EmptyFrameLoaderClient::hasWebView):
541         * loader/FrameLoader.cpp:
542         (WebCore::FrameLoader::loadWithDocumentLoader):
543         (WebCore::FrameLoader::transitionToCommitted):
544         * loader/FrameLoaderClient.h:
545         * page/FocusController.cpp:
546         (WebCore::FocusController::setActive):
547         * page/FrameView.cpp:
548         (WebCore::FrameView::FrameView):
549         (WebCore::FrameView::init):
550         (WebCore::FrameView::layoutIfNeededRecursive):
551         * page/FrameView.h:
552
553 2008-10-06  Dan Bernstein  <mitz@apple.com>
554
555         - build fix
556
557         * bindings/objc/DOMEvents.h:
558
559 2008-10-06  Mark Mentovai  <mark@moxienet.com>
560
561         Reviewed by Tim Hatcher.
562
563         Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
564         Platform.h is not available, in preference to #ifdef ENABLE_feature.
565         #ifdef is wrong now that features are disabled by #defining
566         ENABLE_feature to 0.
567
568         https://bugs.webkit.org/show_bug.cgi?id=21338
569
570         * bindings/objc/DOMEvents.h:
571         * bindings/objc/PublicDOMInterfaces.h:
572         * dom/Document.idl:
573         * page/DOMWindow.idl:
574         * svg/svgtags.in:
575
576 2008-10-06  Mark Mentovai  <mark@moxienet.com>
577
578         Reviewed by Sam Weinig.
579
580         * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
581         to get the declaration for isMainThread().
582
583 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
584
585         Reviewed by Tim Hatcher.
586
587         WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
588         to reflect that.
589
590         * WebCore.xcodeproj/project.pbxproj:
591         * platform/mac/WebCoreObjCExtras.c: Removed.
592         * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
593
594 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
595
596         Reviewed by Dan Bernstein.
597         
598         Added C++ forward declaration for the NSURLAuthenticationChallenge class
599         so that the m_currentMacChallenge variable doesn't cause a
600         compilation error when ResourceHandleInternal.h is included from a C++ file.
601         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
602
603         * platform/network/ResourceHandleInternal.h:
604
605 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
606
607         Windows build fix.
608
609         * WebCore.vcproj/WebCore.vcproj:
610
611 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
612
613         https://bugs.webkit.org/show_bug.cgi?id=21416
614         Add missing null checks identified by Application Verifier.
615         
616         Reviewed by Darin Adler.
617
618         * platform/win/SharedTimerWin.cpp:
619         (WebCore::clearTimer):
620
621 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
622
623         Reviewed by Tim Hatcher.
624
625         Removed accidentally left in debugging statement.
626
627         * inspector/front-end/inspector.js:
628
629 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
630
631         Reviewed by Tim Hatcher and Oliver Hunt.
632
633         https://bugs.webkit.org/show_bug.cgi?id=21412
634         Bug 21412: Refactor user initiated profile count to be more stable
635
636         * inspector/InspectorController.cpp: Keep track of the user-initiated
637         profiles here now.
638         (WebCore::InspectorController::InspectorController):
639         (WebCore::InspectorController::startUserInitiatedProfiling):
640         (WebCore::InspectorController::stopUserInitiatedProfiling):
641         * inspector/InspectorController.h:
642         The front end will now need to check for the existence of the user-
643         initiated profile title and use its count instead of keeping its own.
644         * inspector/front-end/ProfilesPanel.js:
645
646 2008-10-06  Dan Bernstein  <mitz@apple.com>
647
648         Reviewed by Sam Weinig.
649
650         - separate GDI text drawing into its own function
651
652         * platform/graphics/win/FontCGWin.cpp:
653         (WebCore::drawGDIGlyphs):
654         (WebCore::Font::drawGlyphs):
655
656 2008-10-03  Steve Falkenburg  <sfalken@apple.com>
657
658         <rdar://problem/6249833> Fix default button appearance
659         
660         Reviewed by Adele Peterson.
661
662         * rendering/RenderThemeWin.cpp:
663         (WebCore::RenderThemeWin::supportsFocus):
664         (WebCore::RenderThemeWin::determineClassicState):
665         (WebCore::RenderThemeWin::determineButtonState):
666         (WebCore::RenderThemeWin::getClassicThemeData):
667         (WebCore::RenderThemeWin::getThemeData):
668         (WebCore::drawControl):
669         * rendering/RenderThemeWin.h:
670
671 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
672
673         Reviewed by Simon.
674
675         Add native virtual keycode to PlatformKeyboardEvent
676
677         * platform/PlatformKeyboardEvent.h:
678         * platform/gtk/KeyEventGtk.cpp:
679         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
680         * platform/mac/KeyEventMac.mm:
681         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
682         * platform/qt/PlatformKeyboardEventQt.cpp:
683         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
684         * platform/win/KeyEventWin.cpp:
685         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
686         * platform/wx/KeyboardEventWx.cpp:
687         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
688
689 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
690
691         Reviewed by Simon.
692
693         Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
694
695         * platform/text/PlatformString.h:
696         * platform/text/StringImpl.h:
697         * platform/text/cf/StringCF.cpp:
698         * platform/text/cf/StringImplCF.cpp:
699
700 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
701
702         Reviewed by Simon.
703
704         Use bundles on QtWebKit/Mac for platform modules
705
706         * platform/FileSystem.h:
707         * platform/qt/FileSystemQt.cpp:
708         (WebCore::unloadModule):
709
710 2008-10-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
711
712         Reviewed by Simon.
713
714         Build fix for MinGW.
715
716         * platform/win/SystemTimeWin.cpp:
717         * plugins/win/PluginViewWin.cpp:
718         (WebCore::PluginView::invalidateRect):
719
720 2008-10-06  Adam Roben  <aroben@apple.com>
721
722         Mimic the inspector/ directory structure in WebCore.vcproj
723
724         * WebCore.vcproj/WebCore.vcproj:
725
726 2008-10-06  Adam Roben  <aroben@apple.com>
727
728         Windows build fix
729
730         * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
731         configurations to include WebCore/inspector.
732
733 2008-10-04  Eric Seidel  <eric@webkit.org>
734
735         Reviewed by Darin Adler.
736
737         SVG should support ascent and descent properties <font-face> instead of <font>!
738         https://bugs.webkit.org/show_bug.cgi?id=21365
739         
740         Tested by many many existing SVG tests.
741
742         * svg/SVGFontFaceElement.cpp:
743         (WebCore::SVGFontFaceElement::ascent):
744         (WebCore::SVGFontFaceElement::descent):
745
746 2008-10-05  Darin Fisher  <darin@chromium.org>
747
748         Reviewed by Eric Seidel.
749
750         REGRESSION: crash in ScriptElement::notifyFinished
751         Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
752
753         * dom/ScriptElement.cpp:
754         (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
755         ensure that the ScriptElementData object is not destroyed prematurely.
756
757 2008-10-05  Chris Lord  <chris@openedhand.com>
758
759         Reviewed by Alp Toker. Landed by Jan Alonzo.
760
761         https://bugs.webkit.org/show_bug.cgi?id=20624
762         WebKit-gtk uses deprecated GtkType/GtkObject
763
764         * plugins/gtk/gtk2xtbin.c:
765         (gtk_xtbin_get_type):
766         * plugins/gtk/gtk2xtbin.h:
767
768 2008-10-05  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
769
770         Reviewed by David Hyatt.
771
772         GTK_WINDOW_HWND not GTK_WINDOWING_HWND
773         https://bugs.webkit.org/show_bug.cgi?id=20725
774
775         Updated to ToT by Jan Alonzo.
776
777         * plugins/gtk/PluginViewGtk.cpp:
778         (WebCore::PluginView::getValue):
779
780 2008-10-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
781
782         Reviewed by Darin Adler.
783
784         Invalid cast from GdkWindow to GtkWidget
785         https://bugs.webkit.org/show_bug.cgi?id=21391
786
787         Fix a misplaced closing parenthesis to actually cast the widget, not the window
788
789         * platform/gtk/PlatformScreenGtk.cpp:
790         (WebCore::screenDepth):
791
792 2008-10-05  Adam Barth  <abarth@webkit.org>
793
794         Reviewed by Darin Alder.
795
796         Attach the Origin header to POST requests to help defend against
797         cross-site request forgery.
798
799         https://bugs.webkit.org/show_bug.cgi?id=20792
800
801         Collin Jackson <collinj@webkit.org> also contributed to this patch.
802
803         Tests: http/tests/security/originHeader/origin-header-for-data.html
804                http/tests/security/originHeader/origin-header-for-empty.html
805                http/tests/security/originHeader/origin-header-for-get.html
806                http/tests/security/originHeader/origin-header-for-https.html
807                http/tests/security/originHeader/origin-header-for-post.html
808
809         * bindings/js/JSDOMWindowBase.cpp:
810         (WebCore::createWindow):
811         * loader/FrameLoader.cpp:
812         (WebCore::FrameLoader::createWindow):
813         (WebCore::FrameLoader::urlSelected):
814         (WebCore::FrameLoader::submitForm):
815         (WebCore::FrameLoader::outgoingOrigin):
816         (WebCore::FrameLoader::loadURL):
817         (WebCore::FrameLoader::addExtraFieldsToRequest):
818         (WebCore::FrameLoader::loadPostRequest):
819         (WebCore::FrameLoader::loadResourceSynchronously):
820         (WebCore::FrameLoader::loadItem):
821         * loader/FrameLoader.h:
822         * loader/SubresourceLoader.cpp:
823         (WebCore::SubresourceLoader::create):
824         * loader/loader.cpp:
825         (WebCore::Loader::Host::servePendingRequests):
826         * platform/SecurityOrigin.cpp:
827         (WebCore::SecurityOrigin::toHTTPOrigin):
828         * platform/SecurityOrigin.h:
829         * platform/network/ResourceRequestBase.h:
830         (WebCore::ResourceRequestBase::httpOrigin):
831         (WebCore::ResourceRequestBase::setHTTPOrigin):
832         (WebCore::ResourceRequestBase::clearHTTPOrigin):
833         * xml/XMLHttpRequest.cpp:
834         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
835         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
836         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
837         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
838
839 2008-10-04  Oliver Hunt  <oliver@apple.com>
840
841         Reviewed by Tim Hatcher.
842
843         Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
844         <https://bugs.webkit.org/show_bug.cgi?id=21381>
845
846         If we hit a parsing boundary (end of a packet, etc) in the middle of a
847         <script> element when we are doing an incremental parse, we exit the
848         parser, and reenter later when more data is available.  During this
849         reentry we incorrectly reset the scriptStartLineno to the current line
850         in the parser, which is now part way through the script element.
851
852         The solution is to track whether we are entering or reentering the parsing
853         of a script element.  We do this simply by 0 checking scriptStartLineno,
854         and resetting it after we complete parsing of each script element. 
855
856         Test: http/tests/incremental/pause-in-script-element.pl
857
858         * ChangeLog:
859         * html/HTMLTokenizer.cpp:
860         (WebCore::HTMLTokenizer::parseSpecial):
861         (WebCore::HTMLTokenizer::scriptHandler):
862
863 2008-10-04  Alp Toker  <alp@nuanti.com>
864
865         Reviewed by David Hyatt. Landed by Jan Alonzo.
866
867         https://bugs.webkit.org/show_bug.cgi?id=20924
868         [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
869
870         https://bugs.webkit.org/show_bug.cgi?id=19578
871         [CURL] problem in parseDataUrl
872
873         De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
874         This patch also fixes encoding support in escaped (non-Base64) data
875         URLs. All manual data URL tests now pass in both GLib and non-GLib
876         code paths.
877
878         * platform/network/curl/ResourceHandleManager.cpp:
879         (WebCore::parseDataUrl):
880
881 2008-10-04  Timothy Hatcher  <timothy@apple.com>
882
883         Makes breakpoints and debugging code during page load work in the
884         Web Inspector's debugger. Specifically, this makes the source
885         code for loading resources show up in the Scripts panel.
886
887         https://bugs.webkit.org/show_bug.cgi?id=19053
888         rdar://problem/5933408
889
890         Reviewed by Mark Rowe.
891
892         * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
893         not using tabs and a tab width of 8.
894         * inspector/InspectorController.cpp:
895         (WebCore::addResourceSourceToFrame): Return a bool to report if the
896         source was added successfully or not.
897         (WebCore::addSourceToFrame): Ditto.
898         * inspector/front-end/ScriptView.js:
899         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
900         Return early if the InspectorController.addSourceToFrame fails.
901         Moved the delete of the _frameNeedsSetup property after that call so
902         if the source wasn't added it will be attempted again.
903         * inspector/front-end/SourceView.js:
904         (WebInspector.SourceView.prototype.detach): Move a comment.
905         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
906         Don't check if the resource is finished or failed, just attempt
907         to add the source to the frame. WebCore has the source, but the
908         finished property hasn't been set yet. Return early if the
909         InspectorController.addSourceToFrame fails. Moved the delete
910         of the _frameNeedsSetup property after that call so if the source
911         wasn't added it will be attempted again.
912         (WebInspector.SourceView.prototype._resourceLoadingFinished):
913         Clear the _frameNeedsSetup and _sourceFrameSetup properties so
914         the source frame will we populated again now that the resource
915         load has finished.
916         * manual-tests/inspector/debugger-pause-during-load.html: Added.
917
918 2008-10-04  Mark Rowe  <mrowe@apple.com>
919
920         Reviewed by Tim Hatcher.
921
922         Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
923
924         * WebCore.xcodeproj/project.pbxproj:
925
926 2008-10-04  David Hyatt  <hyatt@apple.com>
927
928         https://bugs.webkit.org/show_bug.cgi?id=21373
929
930         Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
931         is still present.
932
933         Reviewed by Mark Rowe
934
935         * page/FrameView.cpp:
936         (WebCore::FrameView::~FrameView):
937
938 2008-10-04  Sam Weinig  <sam@webkit.org>
939
940         Reviewed by Dan Bernstein.
941
942         Avoid copying a Vector when using getSupportedKeySizes.
943
944         * html/HTMLKeygenElement.cpp:
945         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
946         * platform/SSLKeyGenerator.h:
947         * platform/gtk/TemporaryLinkStubs.cpp:
948         (WebCore::getSupportedKeySizes):
949         * platform/mac/SSLKeyGeneratorMac.mm:
950         (WebCore::getSupportedKeySizes):
951         * platform/qt/TemporaryLinkStubs.cpp:
952         (WebCore::getSupportedKeySizes):
953         * platform/win/TemporaryLinkStubs.cpp:
954         (WebCore::getSupportedKeySizes):
955         * platform/wx/TemporaryLinkStubs.cpp:
956         (WebCore::getSupportedKeySizes):
957
958 2008-10-04  Darin Adler  <darin@apple.com>
959
960         Reviewed by Cameron Zwarich.
961
962         - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
963           Bug 21295: Replace ExecState with a call frame Register pointer
964
965         * bindings/js/JSQuarantinedObjectWrapper.cpp:
966         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
967         Remove bogus "const".
968         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
969
970 2008-10-04  David Hyatt  <hyatt@apple.com>
971
972         Make PopupMenuClient obey the platform abstraction.  Remove any connection to Document and RenderStyle.
973
974         Reviewed by Darin Adler
975
976         * WebCore.xcodeproj/project.pbxproj:
977         * platform/PopupMenuClient.h:
978         * platform/gtk/PopupMenuGtk.cpp:
979         (WebCore::PopupMenu::show):
980         * platform/mac/PopupMenuMac.mm:
981         (WebCore::PopupMenu::populate):
982         (WebCore::PopupMenu::show):
983         * platform/qt/PopupMenuQt.cpp:
984         (WebCore::PopupMenu::populate):
985         * platform/win/PopupMenuWin.cpp:
986         (WebCore::PopupMenu::calculatePositionAndSize):
987         (WebCore::PopupMenu::paint):
988         (WebCore::PopupWndProc):
989         * rendering/RenderMenuList.cpp:
990         (WebCore::RenderMenuList::itemStyle):
991         (WebCore::RenderMenuList::menuStyle):
992         (WebCore::RenderMenuList::hostWindow):
993         * rendering/RenderMenuList.h:
994         * rendering/RenderTextControl.cpp:
995         (WebCore::RenderTextControl::itemStyle):
996         (WebCore::RenderTextControl::menuStyle):
997         (WebCore::RenderTextControl::hostWindow):
998         * rendering/RenderTextControl.h:
999
1000 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
1001
1002         Build fix - restore Private role to headers that had it before the move.
1003
1004         * WebCore.xcodeproj/project.pbxproj:
1005
1006 2008-10-04  Darin Adler  <darin@apple.com>
1007
1008         - try to fix build
1009
1010         * DerivedSources.make: Add new inspector directory to VPATH.
1011         * GNUmakefile.am: Add new inspector directory to includes.
1012         Re-sort the IDL_BINDINGS list. Add new inspector directory
1013         to VPATH.
1014
1015 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
1016
1017         Not reviewed, attempt to fix Gtk build.
1018
1019         * GNUmakefile.am:
1020
1021 2008-10-03  Timothy Hatcher  <timothy@apple.com>
1022
1023         Move the Web Inspector files into a top-level "inspector" folder.
1024
1025         https://bugs.webkit.org/show_bug.cgi?id=21359
1026
1027         Reviewed by Dave Hyatt.
1028
1029         * GNUmakefile.am:
1030         * WebCore.pro:
1031         * WebCore.vcproj/WebCore.vcproj:
1032         * WebCore.xcodeproj/project.pbxproj:
1033         * WebCoreSources.bkl:
1034         * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
1035         * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
1036         * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
1037         * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
1038         * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
1039         * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
1040         * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
1041         * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
1042         * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
1043         * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
1044         * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
1045         * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
1046         * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
1047         * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
1048         * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
1049         * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
1050         * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
1051         * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
1052         * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
1053         * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
1054         * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
1055         * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
1056         * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
1057         * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
1058         * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
1059         * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
1060         * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
1061         * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
1062         * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
1063         * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
1064         * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
1065         * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
1066         * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
1067         * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
1068         * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
1069         * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
1070         * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
1071         * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
1072         * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
1073         * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
1074         * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
1075         * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
1076         * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
1077         * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
1078         * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
1079         * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
1080         * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
1081         * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
1082         * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
1083         * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
1084         * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
1085         * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
1086         * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
1087         * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
1088         * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
1089         * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
1090         * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
1091         * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
1092         * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
1093         * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
1094         * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
1095         * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
1096         * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
1097         * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
1098         * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
1099         * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
1100         * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
1101         * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
1102         * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
1103         * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
1104         * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
1105         * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
1106         * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
1107         * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
1108         * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
1109         * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
1110         * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
1111         * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
1112         * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
1113         * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
1114         * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
1115         * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
1116         * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
1117         * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
1118         * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
1119         * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
1120         * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
1121         * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
1122         * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
1123         * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
1124         * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
1125         * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
1126         * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
1127         * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
1128         * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
1129         * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
1130         * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
1131         * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
1132         * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
1133         * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
1134         * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
1135         * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
1136         * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
1137         * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
1138         * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
1139         * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
1140         * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
1141         * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
1142         * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
1143         * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
1144         * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
1145         * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
1146         * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
1147         * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
1148         * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
1149         * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
1150         * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
1151         * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
1152         * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
1153         * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
1154         * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
1155         * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
1156         * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
1157         * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
1158         * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
1159         * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
1160         * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
1161         * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
1162         * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
1163         * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
1164         * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
1165         * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
1166         * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
1167         * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
1168         * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
1169         * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
1170         * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
1171         * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
1172         * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
1173         * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
1174         * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
1175         * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
1176         * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
1177         * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
1178         * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
1179         * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
1180         * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
1181         * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
1182         * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
1183         * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
1184         * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
1185         * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
1186         * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
1187         * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
1188         * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
1189         * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
1190
1191 2008-10-03  Timothy Hatcher  <timothy@apple.com>
1192
1193         Adds support to the Web Inspector's Elements panel for fast tag name,
1194         class name, id and attribute name searching. The panel first tries
1195         using getElementById, getElementsByClassName and getElementsByTagName
1196         with the search query. Then does a slower search using XPath for partial
1197         matches, text and comment matches.
1198
1199         Adds support for search queries like "<div>", "<h" and "frame>".
1200         These forms limit the search to tag names, text and comment matches.
1201
1202         https://bugs.webkit.org/show_bug.cgi?id=21353
1203
1204         Reviewed by Maciej Stachowiak.
1205
1206         * page/inspector/ElementsPanel.js:
1207         (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
1208         support. Add new search functions that try exact matches first.
1209
1210 2008-10-03  Timothy Hatcher  <timothy@apple.com>
1211
1212         Changes how searching works in the Web Inspector's Elements
1213         panel. The search tasks are divided into chunks that are small
1214         units of work that are performed at a time interval. This
1215         change also prevents queries that will select all elements,
1216         since that isn't useful.
1217
1218         https://bugs.webkit.org/show_bug.cgi?id=21285
1219
1220         Reviewed by Oliver Hunt.
1221
1222         * page/inspector/ElementsPanel.js:
1223         (WebInspector.ElementsPanel.prototype.searchCancled):
1224         Remove the searchResultsProperty form results since there might
1225         be an unfinished search.
1226         (WebInspector.ElementsPanel.prototype.performSearch): Divide the
1227         documents and search functions into chunks that are performed on
1228         a interval of 25ms. Prevent searches for "//*" and "*".
1229
1230 2008-10-03  Maciej Stachowiak  <mjs@apple.com>
1231
1232         Reviewed by Cameron Zwarich.
1233
1234         - "this" object in methods called on primitives should be wrapper object
1235         https://bugs.webkit.org/show_bug.cgi?id=21362
1236
1237         Updated so toThis conversion for the split window is handled properly.
1238
1239         * bindings/scripts/CodeGeneratorJS.pm:
1240
1241 2008-10-03  Sam Weinig  <sam@webkit.org>
1242
1243         Reviewed by David "The Motivator" Hyatt.
1244
1245         Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
1246         Move SecurityOrigin out of platform/ to page/.
1247
1248         It was a layering violation for SecurityOrigin to be in platform
1249         as it depended on FrameLoader.
1250
1251         * GNUmakefile.am:
1252         * WebCore.pro:
1253         * WebCore.vcproj/WebCore.vcproj:
1254         * WebCore.xcodeproj/project.pbxproj:
1255         * WebCoreSources.bkl:
1256         * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
1257         * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
1258         * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
1259         * platform/SecurityOrigin.cpp: Removed.
1260         * platform/SecurityOrigin.h: Removed.
1261         * platform/SecurityOriginHash.h: Removed.
1262
1263 2008-10-03  Marco Barisione  <marco.barisione@collabora.co.uk>
1264
1265         Reviewed by Alp Toker.
1266
1267         http://bugs.webkit.org/show_bug.cgi?id=18832
1268         [curl] file upload does not work
1269
1270         The curl_off_t integer type has a different size depending if large
1271         file support is enabled or not. There is no different public API for
1272         the two cases, so the same function accepts a different type based on
1273         a compilation option the could be different in WebKit and libcurl.
1274         To fix the bug we query libcurl at runtime for large file support and
1275         pass the right type based on that.
1276
1277         * platform/network/curl/ResourceHandleManager.cpp:
1278         (WebCore::ResourceHandleManager::setupPOST):
1279
1280 2008-10-03  Jan Michael Alonzo  <jmalonzo@webkit.org>
1281
1282         Reviewed by David Hyatt.
1283
1284         Gtk build fixes.
1285
1286         * platform/gtk/FileChooserGtk.cpp:
1287         (WebCore::FileChooser::openFileChooser):
1288         * platform/gtk/PlatformScreenGtk.cpp:
1289         (WebCore::screenDepth):
1290         (WebCore::screenDepthPerComponent):
1291         (WebCore::screenAvailableRect):
1292         * platform/gtk/PopupMenuGtk.cpp:
1293         (WebCore::PopupMenu::show):
1294         * platform/gtk/ScrollViewGtk.cpp:
1295         (WebCore::ScrollView::platformAddChild):
1296         (WebCore::ScrollView::platformRemoveChild):
1297         * platform/gtk/WidgetGtk.cpp:
1298         (WebCore::Widget::setCursor):
1299         * plugins/gtk/PluginViewGtk.cpp:
1300         (WebCore::PluginView::getValue):
1301         (WebCore::PluginView::forceRedraw):
1302         (WebCore::PluginView::init):
1303
1304 2008-10-03  David Hyatt  <hyatt@apple.com>
1305
1306         Fix Qt bustage from missing include.
1307
1308         * platform/qt/PlatformScreenQt.cpp:
1309
1310 2008-10-03  David Hyatt  <hyatt@apple.com>
1311
1312         Fix Windows scrollbar bustage in popup menus.
1313
1314         * platform/win/PopupMenuWin.cpp:
1315         (WebCore::PopupWndProc):
1316
1317 2008-10-03  David Hyatt  <hyatt@apple.com>
1318
1319         Fix Windows bustage.
1320
1321         * platform/win/FileChooserWin.cpp:
1322         (WebCore::FileChooser::openFileChooser):
1323         * platform/win/PlatformScreenWin.cpp:
1324         (WebCore::monitorInfoForWidget):
1325         * platform/win/WidgetWin.cpp:
1326         * plugins/win/PluginViewWin.cpp:
1327         (WebCore::PluginView::getValue):
1328         (WebCore::PluginView::forceRedraw):
1329         (WebCore::PluginView::init):
1330
1331 2008-10-03  Darin Adler  <darin@apple.com>
1332
1333         * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
1334         seen on some machines but not others by adding an include.
1335
1336 2008-10-03  Darin Adler  <darin@apple.com>
1337
1338         - Qt build fix
1339
1340         * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
1341         execute functions. Declarations for these relied on the CodeType
1342         enumeration, which used to be in ExecState.h; but the functions
1343         aren't needed at all.
1344         * bridge/qt/qt_runtime.h: Ditto.
1345
1346 2008-10-03  Darin Adler  <darin@apple.com>
1347
1348         Reviewed by Geoff Garen.
1349
1350         - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
1351           Turn ExecState into a call frame pointer.
1352
1353         Remove m_globalObject and m_globalData from ExecState.
1354
1355         * bindings/js/JSDOMWindowBase.cpp:
1356         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
1357         Removed an argument now that JSGlobalObject doesn't need it any more.
1358         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
1359         the JSDOMWindowBaseData constructor, and added the this argument to the
1360         JSGlobalObject constructor. This is because a couple key bits of
1361         initialization moved from the data constructor to the JSGlobalObject
1362         constructor.
1363         * bindings/js/JSDOMWindowBase.h: Ditto.
1364
1365         * bridge/qt/qt_runtime.cpp:
1366         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1367         * bridge/runtime_method.cpp:
1368         (JSC::RuntimeMethod::RuntimeMethod):
1369         Pass JSGlobalData* instead of ExecState* to the InternalFunction
1370         constructor.
1371
1372 2008-10-03  David Hyatt  <hyatt@apple.com>
1373
1374         Fix Windows/Qt build bustage.
1375
1376         Reviewed by ggaren
1377
1378         * loader/EmptyClients.h:
1379         (WebCore::EmptyChromeClient::platformWindow):
1380         * page/Chrome.cpp:
1381         (WebCore::Chrome::platformWindow):
1382         * page/Chrome.h:
1383         * page/ChromeClient.h:
1384         * platform/HostWindow.h:
1385         * platform/qt/PlatformScreenQt.cpp:
1386         (WebCore::screenDepth):
1387         (WebCore::screenDepthPerComponent):
1388         (WebCore::screenIsMonochrome):
1389         (WebCore::screenRect):
1390         (WebCore::screenAvailableRect):
1391         * platform/qt/PopupMenuQt.cpp:
1392         (WebCore::PopupMenu::show):
1393         * platform/win/PopupMenuWin.cpp:
1394         (WebCore::PopupMenu::show):
1395         (WebCore::PopupMenu::calculatePositionAndSize):
1396         (WebCore::PopupWndProc):
1397
1398 2008-10-03  Simon Fraser  <simon.fraser@apple.com>
1399
1400         Reviewed by Dave Hyatt
1401
1402         Make setStyle() take a const RenderStyle, to ensure that an
1403         earlier RenderStyle::diff() remains valid.
1404
1405         * rendering/RenderBR.cpp:
1406         * rendering/RenderBR.h:
1407         * rendering/RenderBlock.cpp:
1408         * rendering/RenderBlock.h:
1409         * rendering/RenderBox.cpp:
1410         * rendering/RenderBox.h:
1411         * rendering/RenderButton.cpp:
1412         * rendering/RenderButton.h:
1413         * rendering/RenderFieldset.cpp:
1414         * rendering/RenderFieldset.h:
1415         * rendering/RenderFileUploadControl.cpp:
1416         * rendering/RenderFileUploadControl.h:
1417         * rendering/RenderInline.cpp:
1418         * rendering/RenderInline.h:
1419         * rendering/RenderListBox.cpp:
1420         * rendering/RenderListBox.h:
1421         * rendering/RenderListItem.cpp:
1422         * rendering/RenderListItem.h:
1423         * rendering/RenderListMarker.cpp:
1424         * rendering/RenderListMarker.h:
1425         * rendering/RenderMenuList.cpp:
1426         * rendering/RenderMenuList.h:
1427         * rendering/RenderObject.cpp:
1428         (WebCore::RenderObject::setStyle):
1429         * rendering/RenderObject.h:
1430         * rendering/RenderReplaced.cpp:
1431         * rendering/RenderReplaced.h:
1432         * rendering/RenderSVGBlock.cpp:
1433         (WebCore::RenderSVGBlock::setStyle):
1434         * rendering/RenderSVGBlock.h:
1435         * rendering/RenderSVGGradientStop.cpp:
1436         * rendering/RenderSVGGradientStop.h:
1437         * rendering/RenderSlider.cpp:
1438         * rendering/RenderSlider.h:
1439         * rendering/RenderTable.cpp:
1440         * rendering/RenderTable.h:
1441         * rendering/RenderTableCell.cpp:
1442         * rendering/RenderTableCell.h:
1443         * rendering/RenderTableRow.cpp:
1444         * rendering/RenderTableRow.h:
1445         * rendering/RenderText.cpp:
1446         * rendering/RenderText.h:
1447         * rendering/RenderTextControl.cpp:
1448         * rendering/RenderTextControl.h:
1449         * rendering/RenderWidget.cpp:
1450         * rendering/RenderWidget.h:
1451         * rendering/style/RenderStyle.h:
1452         (WebCore::RenderStyle::isDisplayReplacedType):
1453         (WebCore::RenderStyle::isDisplayInlineType):
1454
1455 2008-10-03  David Hyatt  <hyatt@apple.com>
1456
1457         Preparation for enabling scrollbars to hit test properly inside transforms.  Clean up the scrollbar
1458         event handlers to no longer be virtual.  Don't pass a mouse event where none is needed.  Add a new
1459         method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
1460         that will work properly for hit testing.  This patch just stubs out that method to return the same
1461         event untransformed.
1462
1463         Reviewed by Darin Adler
1464
1465         * page/EventHandler.cpp:
1466         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1467         (WebCore::EventHandler::handleMouseMoveEvent):
1468         (WebCore::EventHandler::handleMouseReleaseEvent):
1469         (WebCore::EventHandler::passMousePressEventToScrollbar):
1470         * page/gtk/EventHandlerGtk.cpp:
1471         * page/mac/EventHandlerMac.mm:
1472         * page/qt/EventHandlerQt.cpp:
1473         * page/win/EventHandlerWin.cpp:
1474         * page/wx/EventHandlerWx.cpp:
1475         * platform/Scrollbar.cpp:
1476         (WebCore::Scrollbar::mouseMoved):
1477         (WebCore::Scrollbar::mouseExited):
1478         (WebCore::Scrollbar::mouseUp):
1479         (WebCore::Scrollbar::mouseDown):
1480         (WebCore::Scrollbar::transformEvent):
1481         * platform/Scrollbar.h:
1482
1483 2008-10-03  David Hyatt  <hyatt@apple.com>
1484
1485         https://bugs.webkit.org/show_bug.cgi?id=21340
1486         
1487         Remove "containingWindow()/setContainingWindow()" from Widget.  HostWindow covers this now.
1488     
1489         Reviewed by Dan Bernstein & Darin Adler
1490         
1491         * platform/ScrollView.cpp:
1492         (WebCore::ScrollView::addChild):
1493         * platform/Widget.cpp:
1494         (WebCore::Widget::init):
1495         * platform/Widget.h:
1496         * platform/mac/WidgetMac.mm:
1497         * platform/win/PopupMenuWin.cpp:
1498         (WebCore::PopupMenu::show):
1499
1500 2008-10-03  Adele Peterson  <adele@apple.com>
1501
1502         Reviewed by Sam Weinig.
1503
1504         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
1505         Return early if settings is nil.
1506
1507 2008-10-03  Rob Buis  <buis@kde.org>
1508
1509         Reviewed by Darin.
1510
1511         https://bugs.webkit.org/show_bug.cgi?id=20134
1512         REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
1513
1514         Make sure the input element gets the right default value when no value is set.
1515
1516         Test: fast/forms/range-default-value.html
1517
1518         * rendering/RenderSlider.cpp:
1519         (WebCore::RenderSlider::setPositionFromValue):
1520
1521 2008-10-03  David Hyatt  <hyatt@apple.com>
1522
1523         Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
1524         destructor that calls them, switch to having a cross-platform constructor/destructor that calls
1525         platform-specific init/destroy methods.
1526
1527         With this change, ScrollViewWin.cpp can be removed from the build (yay!).
1528
1529         Reviewed by Darin Adler
1530
1531         * WebCore.vcproj/WebCore.vcproj:
1532         * platform/ScrollView.cpp:
1533         (WebCore::ScrollView::ScrollView):
1534         (WebCore::ScrollView::~ScrollView):
1535         (WebCore::ScrollView::platformInit):
1536         (WebCore::ScrollView::platformDestroy):
1537         (WebCore::ScrollView::platformAddChild):
1538         (WebCore::ScrollView::platformRemoveChild):
1539         * platform/ScrollView.h:
1540         * platform/gtk/ScrollViewGtk.cpp:
1541         (WebCore::ScrollView::platformInit):
1542         (WebCore::ScrollView::platformDestroy):
1543         * platform/mac/ScrollViewMac.mm:
1544         * platform/qt/ScrollViewQt.cpp:
1545         (WebCore::ScrollView::platformInit):
1546         (WebCore::ScrollView::platformDestroy):
1547         * platform/win/ScrollViewWin.cpp: Removed.
1548         * platform/wx/ScrollViewWx.cpp:
1549         (WebCore::ScrollView::platformInit):
1550         (WebCore::ScrollView::platformDestroy):
1551         (WebCore::ScrollView::setPlatformWidget):
1552
1553 2008-10-03  Adele Peterson  <adele@apple.com>
1554
1555         Reviewed by Dan Bernstein.
1556
1557         Fix for <rdar://problem/6012018> 
1558         https://bugs.webkit.org/show_bug.cgi?id=21335
1559         CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
1560
1561         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
1562
1563 2008-10-03  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1564
1565         Build fix.
1566
1567         * platform/qt/WidgetQt.cpp:
1568         (WebCore::Widget::invalidateRect):
1569
1570 2008-10-03  Alp Toker  <alp@nuanti.com>
1571
1572         Remove some left-over GTK+ includes. No change in functionality.
1573
1574         * platform/Cursor.h:
1575         * platform/graphics/Icon.h:
1576         * platform/gtk/RenderThemeGtk.h:
1577
1578 2008-10-03  Alp Toker  <alp@nuanti.com>
1579
1580         Build fix for trailing comment after #endif
1581
1582         * dom/ElementRareData.h:
1583
1584 2008-10-03  David Hyatt  <hyatt@apple.com>
1585
1586         Remove addToDirtyRegion.
1587         
1588         Reviewed by Oliver Hunt
1589
1590         * page/Chrome.cpp:
1591         * page/Chrome.h:
1592         * page/ChromeClient.h:
1593         * platform/ScrollView.h:
1594         * platform/gtk/ScrollViewGtk.cpp:
1595         * platform/qt/ScrollViewQt.cpp:
1596         * platform/win/ScrollViewWin.cpp:
1597
1598 2008-10-03  Dan Bernstein  <mitz@apple.com>
1599
1600         Reviewed by Maciej Stachowiak.
1601
1602         - fix a CachedResource leak introduced in r37176 
1603
1604         Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
1605         afterwards bail out of the outer pruneDeadResources().
1606
1607         * loader/Cache.cpp:
1608         (WebCore::Cache::Cache):
1609         (WebCore::Cache::pruneDeadResources):
1610         (WebCore::Cache::remove):
1611         * loader/Cache.h:
1612
1613 2008-10-03  David Hyatt  <hyatt@apple.com>
1614
1615         https://bugs.webkit.org/show_bug.cgi?id=21330
1616
1617         Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
1618         scrollbars.
1619         
1620         Reviewed by Oliver Hunt
1621
1622         * platform/ScrollView.cpp:
1623         (WebCore::ScrollView::setHasHorizontalScrollbar):
1624         (WebCore::ScrollView::setHasVerticalScrollbar):
1625         (WebCore::ScrollView::platformHasHorizontalAdjustment):
1626         (WebCore::ScrollView::platformHasVerticalAdjustment):
1627         * platform/ScrollView.h:
1628         * platform/gtk/ScrollViewGtk.cpp:
1629         (WebCore::ScrollView::adjustmentChanged):
1630         (WebCore::ScrollView::ScrollView):
1631         (WebCore::ScrollView::~ScrollView):
1632         (WebCore::ScrollView::setGtkAdjustments):
1633         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
1634         (WebCore::ScrollView::platformHandleVerticalAdjustment):
1635
1636 2008-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
1637
1638         Reviewed by Maciej Stachowiak.
1639
1640         Bug 21106: .in format discussed changes
1641         https://bugs.webkit.org/show_bug.cgi?id=21106
1642
1643         Change "upperCase" to "interfaceName" per-tag parameter as
1644         discussed on the mailing list. Removed the per-attribute version
1645         as it was not used.
1646
1647         Also add the "Element" suffix to all interfaceName parameter to match
1648         the class name (and thus remove it from make_names.pl).
1649
1650         * dom/make_names.pl:
1651         * html/HTMLTagNames.in:
1652         * svg/svgtags.in:
1653
1654 2008-10-03  David Hyatt  <hyatt@apple.com>
1655
1656         Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
1657         Hopefully this is a temporary hack that could eventually be removed.
1658
1659         Reviewed by Sam Weinig
1660
1661         * platform/ScrollView.cpp:
1662         (WebCore::ScrollView::scrollContents):
1663         * platform/ScrollView.h:
1664         (WebCore::ScrollView::rootPreventsBlitting):
1665         * platform/qt/ScrollViewQt.cpp:
1666         (WebCore::ScrollView::ScrollView):
1667         (WebCore::ScrollView::~ScrollView):
1668         (WebCore::ScrollView::platformAddChild):
1669         (WebCore::ScrollView::platformRemoveChild):
1670
1671 2008-10-02  David Hyatt  <hyatt@apple.com>
1672
1673         https://bugs.webkit.org/show_bug.cgi?id=21328
1674         
1675         Make widget invalidation more cross-platform.
1676         
1677         (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
1678         
1679         (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
1680         This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
1681         
1682         (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
1683         
1684         (4) FrameViews now do a repaintRectangle on their owner element's renderer.
1685
1686         Reviewed by Sam Weinig
1687
1688         * WebCore.base.exp:
1689         * page/FrameView.cpp:
1690         (WebCore::FrameView::invalidateRect):
1691         (WebCore::FrameView::invalidateScrollbarRect):
1692         * page/FrameView.h:
1693         * platform/PopupMenu.h:
1694         * platform/ScrollView.cpp:
1695         (WebCore::ScrollView::scrollContents):
1696         * platform/ScrollView.h:
1697         * platform/Scrollbar.cpp:
1698         (WebCore::Scrollbar::setEnabled):
1699         (WebCore::Scrollbar::invalidateRect):
1700         * platform/Scrollbar.h:
1701         * platform/ScrollbarClient.h:
1702         * platform/Widget.h:
1703         * platform/gtk/WidgetGtk.cpp:
1704         * platform/mac/WidgetMac.mm:
1705         * platform/win/PopupMenuWin.cpp:
1706         (WebCore::PopupMenu::invalidateScrollbarRect):
1707         * platform/win/WidgetWin.cpp:
1708         * plugins/PluginView.cpp:
1709         (WebCore::PluginView::invalidateTimerFired):
1710         (WebCore::PluginView::invalidateWindowlessPluginRect):
1711         * plugins/PluginView.h:
1712         * plugins/gtk/PluginViewGtk.cpp:
1713         (WebCore::PluginView::invalidateRect):
1714         * plugins/qt/PluginViewQt.cpp:
1715         (WebCore::PluginView::invalidateRect):
1716         * plugins/win/PluginViewWin.cpp:
1717         (WebCore::PluginView::invalidateRect):
1718         (WebCore::PluginView::invalidateRegion):
1719         * rendering/RenderLayer.cpp:
1720         (WebCore::RenderLayer::invalidateScrollbarRect):
1721         * rendering/RenderLayer.h:
1722         * rendering/RenderListBox.cpp:
1723         (WebCore::RenderListBox::paintObject):
1724         (WebCore::RenderListBox::paintScrollbar):
1725         (WebCore::RenderListBox::invalidateScrollbarRect):
1726         * rendering/RenderListBox.h:
1727
1728 2008-10-02  Dan Bernstein  <mitz@apple.com>
1729
1730         Reviewed by Geoffrey Garen and Sam Weinig.
1731
1732         - fix SVGFontFaceElement leaks seen in Acid3
1733         - make font-face elements take effect only when they are in the document tree
1734
1735         Test: svg/custom/font-face-not-in-document.svg
1736
1737         * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
1738         RefPtr to a plain pointer to break a ref cycle.
1739         (WebCore::SVGFontData::svgFontFaceElement):
1740
1741         * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
1742         @font-face rule from the document's mapped element sheet when the
1743         element is inserted and removed from the document, and to update it
1744         only when the element is in the document.
1745         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
1746         (WebCore::SVGFontFaceElement::parseMappedAttribute):
1747         (WebCore::SVGFontFaceElement::rebuildFontFace):
1748         (WebCore::SVGFontFaceElement::insertedIntoDocument):
1749         (WebCore::SVGFontFaceElement::removedFromDocument):
1750         (WebCore::SVGFontFaceElement::childrenChanged):
1751         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
1752         * svg/SVGFontFaceElement.h:
1753
1754 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
1755
1756         Reviewed by Dave Hyatt
1757
1758         Fix RenderFileUploadControl::setStyle() and 
1759         RenderMenuList::setStyle() to not touch the style; replace
1760         with html4.css and CSSStyleSelector changes.
1761
1762         https://bugs.webkit.org/show_bug.cgi?id=21287
1763
1764         * css/CSSStyleSelector.cpp:
1765         (WebCore::CSSStyleSelector::adjustRenderStyle):
1766         * css/html4.css:
1767         * rendering/RenderBlock.cpp:
1768         (WebCore::RenderBlock::setStyle):
1769         * rendering/RenderFileUploadControl.cpp:
1770         * rendering/RenderMenuList.cpp:
1771         (WebCore::RenderMenuList::setStyle):
1772
1773 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
1774
1775         Reviewed by Dave Hyatt
1776
1777         Clean up code that changes the RenderStyle passed in to
1778         table renderer setStyle() methods.
1779         
1780         https://bugs.webkit.org/show_bug.cgi?id=21287
1781         
1782         Tests: fast/table/floating-th.html
1783                fast/table/table-display-types-strict.html
1784                fast/table/table-display-types.html
1785
1786         * css/CSSStyleSelector.cpp:
1787         (WebCore::CSSStyleSelector::adjustRenderStyle):
1788         * rendering/RenderTableCell.cpp:
1789         (WebCore::RenderTableCell::setStyle):
1790         * rendering/RenderTableRow.cpp:
1791         (WebCore::RenderTableRow::setStyle):
1792         * rendering/RenderTableSection.cpp:
1793         (WebCore::RenderTableSection::setStyle):
1794
1795 2008-10-02  Darin Adler  <darin@apple.com>
1796
1797         - fix build
1798
1799         * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
1800         Not just locally in my generated file!
1801
1802 2008-10-02  Adele Peterson  <adele@apple.com>
1803
1804         Reviewed by Dan Bernstein.
1805
1806         Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
1807         REGRESSION: <input> color specified in inline style applies to placeholder
1808
1809         I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes.  A pseudo-element
1810         is more appropriate.  This change adds "-webkit-input-placeholder".
1811
1812         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
1813         Added definition for "-webkit-input-placeholder" pseudo element.
1814         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
1815         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1816         Added case for PseudoInputPlaceholder.
1817         * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
1818         * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
1819
1820         * html/HTMLInputElement.cpp:
1821         (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
1822         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
1823         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
1824         setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
1825         * rendering/RenderTextControl.cpp:
1826         (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
1827         (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
1828         the text will be updated correctly.
1829         * rendering/RenderTextControl.h:
1830
1831 2008-10-02  Chris Fleizach  <cfleizach@apple.com>
1832
1833         Reviewed by Darin Adler.
1834
1835         https://bugs.webkit.org/show_bug.cgi?id=21280
1836         <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
1837
1838         Updated AXTable detection to be more robust to false-positives. Specifically, added checks
1839         to ensure that there is more than one valid table cell, and that at least half of the cells
1840         have borders or have specific background colors. Modified the table detection layout test
1841         to test for the tables mentioned in the bug
1842
1843         * page/AccessibilityTable.cpp:
1844         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1845
1846 2008-10-02  Darin Adler  <darin@apple.com>
1847
1848         Reviewed by Geoff Garen.
1849
1850         - https://bugs.webkit.org/show_bug.cgi?id=21321
1851           Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
1852
1853         * bindings/js/GCController.cpp:
1854         (WebCore::collect): Use heap. instead of heap-> to work with the heap.
1855         (WebCore::GCController::gcTimerFired): Ditto.
1856         (WebCore::GCController::garbageCollectNow): Ditto.
1857         * bindings/js/JSDOMWindowShell.cpp:
1858         (WebCore::JSDOMWindowShell::operator new): Ditto.
1859         * storage/Database.cpp:
1860         (WebCore::Database::Database): Ditto.
1861
1862 2008-10-02  Dan Bernstein  <mitz@apple.com>
1863
1864         Reviewed by Alexey Proskuryakov.
1865
1866         - fix a Database leak that resulted in Document leaks
1867
1868         * storage/Database.cpp:
1869         (WebCore::Database::openDatabase): Account for the fact that RefCounted 
1870         objects start out with a ref count of 1.
1871
1872 2008-10-02  Sam Weinig  <sam@webkit.org>
1873
1874         Reviewed by Mr. Geoffrey Garen.
1875
1876         Always mark your parent before marking members.
1877
1878         * bindings/js/JSDOMWindowCustom.cpp:
1879         (WebCore::JSDOMWindow::mark):
1880
1881 2008-10-02  David Hyatt  <hyatt@apple.com>
1882
1883         https://bugs.webkit.org/show_bug.cgi?id=21314
1884         
1885         Make scrollBackingStore cross-platform.
1886
1887         Reviewed by Sam Weinig
1888
1889         * loader/EmptyClients.h:
1890         (WebCore::EmptyChromeClient::repaint):
1891         (WebCore::EmptyChromeClient::scroll):
1892         * page/Chrome.cpp:
1893         (WebCore::Chrome::repaint):
1894         (WebCore::Chrome::scroll):
1895         * page/Chrome.h:
1896         * page/ChromeClient.h:
1897         * page/EventHandler.cpp:
1898         (WebCore::EventHandler::handleAutoscroll):
1899         * platform/HostWindow.h:
1900         * platform/ScrollView.cpp:
1901         (WebCore::ScrollView::scrollContents):
1902         (WebCore::ScrollView::addPanScrollIcon):
1903         (WebCore::ScrollView::removePanScrollIcon):
1904         * platform/ScrollView.h:
1905         * platform/gtk/ScrollViewGtk.cpp:
1906         * platform/qt/ScrollViewQt.cpp:
1907         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1908         (WebCore::ScrollView::~ScrollView):
1909         * platform/win/ScrollViewWin.cpp:
1910         (WebCore::ScrollView::ScrollView):
1911         (WebCore::ScrollView::~ScrollView):
1912
1913 2008-10-02  Kevin Ollivier  <kevino@theolliviers.com>
1914
1915         wx build fixes after Frame/ScrollView changes.
1916
1917         * WebCoreSources.bkl:
1918         * platform/wx/ScrollViewWx.cpp:
1919         (WebCore::ScrollView::platformContentsToScreen):
1920         (WebCore::ScrollView::platformScreenToContents):
1921         (WebCore::ScrollView::platformIsOffscreen):
1922
1923 2008-10-02  Brett Wilson  <brettw@chromium.org>
1924
1925         Reviewed by Sam Weinig
1926
1927         https://bugs.webkit.org/show_bug.cgi?id=21292
1928
1929         Revert the changes to enclosingIntRect made in r12530 since the new code
1930         doesn't round correctly.
1931
1932         * ChangeLog:
1933         * platform/graphics/FloatRect.cpp:
1934         (WebCore::enclosingIntRect):
1935
1936 2008-10-02  Dan Bernstein  <mitz@apple.com>
1937
1938         Reviewed by Anders Carlsson and Eric Seidel.
1939
1940         - fix HTMLCanvaseElement leak from -webkit-canvas() values
1941
1942         Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
1943         pointer, as the document owns the canvas elements. Added code to release
1944         those elements in Document::removedLastRef() because they reference
1945         the document.
1946
1947         * css/CSSCanvasValue.cpp:
1948         (WebCore::CSSCanvasValue::element):
1949         * css/CSSCanvasValue.h:
1950         (WebCore::CSSCanvasValue::CSSCanvasValue):
1951         * dom/Document.cpp:
1952         (WebCore::Document::removedLastRef):
1953
1954 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
1955
1956         Reviewed by Maciej Stachowiak.
1957
1958         Build fix for platforms that don't implement WTF::ThreadSpecific.
1959
1960         * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
1961         Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
1962         code is only needed for JS bindings in worker threads.
1963
1964 2008-10-01  David Hyatt  <hyatt@apple.com>
1965
1966         https://bugs.webkit.org/show_bug.cgi?id=21298
1967         
1968         Make updateScrollbars cross-platform.  For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store.  Next patch
1969         will make that cross-platform.  
1970         
1971         The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
1972         multiple inheritance.  For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
1973         windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
1974         
1975         Reviewed by Sam Weinig
1976
1977         * page/FrameView.cpp:
1978         (WebCore::FrameView::windowClipRect):
1979         (WebCore::FrameView::isActive):
1980         * page/FrameView.h:
1981         (WebCore::FrameView::visibleContentsResized):
1982         * platform/PopupMenu.h:
1983         * platform/ScrollView.cpp:
1984         (WebCore::ScrollView::init):
1985         (WebCore::ScrollView::destroy):
1986         (WebCore::ScrollView::setHasHorizontalScrollbar):
1987         (WebCore::ScrollView::setHasVerticalScrollbar):
1988         (WebCore::ScrollView::valueChanged):
1989         (WebCore::ScrollView::updateScrollbars):
1990         (WebCore::ScrollView::scrollContents):
1991         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
1992         (WebCore::ScrollView::platformHandleVerticalAdjustment):
1993         * platform/ScrollView.h:
1994         * platform/Scrollbar.cpp:
1995         (WebCore::Scrollbar::windowClipRect):
1996         * platform/ScrollbarClient.h:
1997         * platform/gtk/ScrollViewGtk.cpp:
1998         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
1999         (WebCore::ScrollView::platformHandleVerticalAdjustment):
2000         * platform/qt/ScrollViewQt.cpp:
2001         (WebCore::ScrollView::scrollContents):
2002         * platform/win/PopupMenuWin.cpp:
2003         (WebCore::PopupMenu::windowClipRect):
2004         * platform/win/ScrollViewWin.cpp:
2005         (WebCore::ScrollView::scrollContents):
2006         * rendering/RenderLayer.cpp:
2007         (WebCore::RenderLayer::windowClipRect):
2008         * rendering/RenderLayer.h:
2009         * rendering/RenderListBox.cpp:
2010         (WebCore::RenderListBox::panScroll):
2011         (WebCore::RenderListBox::windowClipRect):
2012         * rendering/RenderListBox.h:
2013
2014 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
2015
2016         Reviewed by Darin Adler.
2017
2018         https://bugs.webkit.org/show_bug.cgi?id=21304
2019         Stop using a static wrapper map for WebCore JS bindings
2020
2021         The static domObjects map was not thread safe.
2022
2023         * dom/Document.h:
2024         (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
2025         ports.
2026         (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
2027
2028         * dom/Document.cpp:
2029         (WebCore::Document::createdXMLHttpRequest):
2030         (WebCore::Document::destroyedXMLHttpRequest):
2031         Moved XMLHttpRequest tracking from a global map to Document.
2032
2033         * GNUmakefile.am:
2034         * WebCore.pro:
2035         * WebCore.vcproj/WebCore.vcproj:
2036         * WebCore.xcodeproj/project.pbxproj:
2037         * WebCoreSources.bkl:
2038         * webcore-base.bkl:
2039         * bindings/DOMProtect.cpp: Removed.
2040         * bindings/DOMProtect.h: Removed.
2041         Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
2042         so they can no longer protect bindings objects.
2043
2044         * dom/MessagePort.cpp:
2045         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
2046         (WebCore::CloseMessagePortTimer::fired):
2047         (WebCore::MessagePort::MessagePort):
2048         (WebCore::MessagePort::queueCloseEvent):
2049         (WebCore::MessagePort::setPendingActivity):
2050         (WebCore::MessagePort::unsetPendingActivity):
2051         * dom/MessagePort.h:
2052         (WebCore::MessagePort::hasPendingActivity):
2053         MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
2054         to protect it.
2055
2056         * xml/XMLHttpRequest.h:
2057         (WebCore::XMLHttpRequest::hasPendingActivity):
2058         * xml/XMLHttpRequest.cpp:
2059         (WebCore::XMLHttpRequest::XMLHttpRequest):
2060         (WebCore::XMLHttpRequest::~XMLHttpRequest):
2061         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2062         (WebCore::XMLHttpRequest::dropProtection):
2063         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
2064         (WebCore::XMLHttpRequest::cancelRequests):
2065         (WebCore::XMLHttpRequest::detachRequests):
2066         (WebCore::XMLHttpRequest::setPendingActivity):
2067         (WebCore::XMLHttpRequest::unsetPendingActivity):
2068         Moved XMLHttpRequest tracking from a global map to Document. 
2069
2070         * bindings/js/JSDOMBinding.cpp:
2071         (WebCore::wrapperSet):
2072         (WebCore::DOMObjectWrapperMap::mapFor):
2073         (WebCore::DOMObjectWrapperMap::get):
2074         (WebCore::DOMObjectWrapperMap::set):
2075         (WebCore::DOMObjectWrapperMap::remove):
2076         (WebCore::getCachedDOMObjectWrapper):
2077         (WebCore::cacheDOMObjectWrapper):
2078         (WebCore::forgetDOMObject):
2079         (WebCore::getCachedDOMNodeWrapper):
2080         (WebCore::forgetDOMNode):
2081         (WebCore::cacheDOMNodeWrapper):
2082         (WebCore::markActiveObjectsForDocument):
2083         * bindings/js/JSDOMBinding.h:
2084         (WebCore::createDOMObjectWrapper):
2085         (WebCore::getDOMObjectWrapper):
2086         Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
2087         to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
2088         WebCore objects can never migrate between threads.
2089
2090         * bindings/js/JSDocumentCustom.cpp:
2091         (WebCore::JSDocument::mark):
2092         Call markActiveObjectsForDocument() from JSDOMBinding.
2093
2094         * bindings/js/JSCSSRuleCustom.cpp:
2095         (WebCore::toJS):
2096         * bindings/js/JSCSSValueCustom.cpp:
2097         (WebCore::toJS):
2098         * bindings/js/JSDOMWindowCustom.cpp:
2099         (WebCore::markDOMObjectWrapper):
2100         (WebCore::JSDOMWindow::mark):
2101         * bindings/js/JSEventCustom.cpp:
2102         (WebCore::toJS):
2103         * bindings/js/JSEventTarget.cpp:
2104         (WebCore::toJS):
2105         * bindings/js/JSHTMLCollectionCustom.cpp:
2106         (WebCore::toJS):
2107         * bindings/js/JSImageDataCustom.cpp:
2108         (WebCore::toJS):
2109         * bindings/js/JSMessageChannelCustom.cpp:
2110         (WebCore::JSMessageChannel::mark):
2111         * bindings/js/JSMessagePortCustom.cpp:
2112         (WebCore::JSMessagePort::mark):
2113         * bindings/js/JSNodeCustom.cpp:
2114         (WebCore::JSNode::mark):
2115         * bindings/js/JSSVGPathSegCustom.cpp:
2116         (WebCore::toJS):
2117         * bindings/js/JSStyleSheetCustom.cpp:
2118         (WebCore::toJS):
2119         * bindings/js/JSXMLHttpRequestCustom.cpp:
2120         (WebCore::JSXMLHttpRequest::mark):
2121         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2122         (WebCore::JSXMLHttpRequestUpload::mark):
2123         * bindings/js/ScriptController.cpp:
2124         (WebCore::ScriptController::finishedWithEvent):
2125         * bindings/scripts/CodeGeneratorJS.pm:
2126         Pass a JSGlobalData reference to functions that track JS wrapper objects.
2127
2128 2008-10-02  Dan Bernstein  <mitz@apple.com>
2129
2130         - build fix
2131
2132         * page/JavaScriptCallFrame.idl:
2133
2134 2008-10-02  Oliver Hunt  <oliver@apple.com>
2135
2136         Reviewed by NOBODY (Build fix).
2137
2138         Add new file to project files
2139
2140         * GNUmakefile.am:
2141         * WebCore.pro:
2142         * WebCore.vcproj/WebCore.vcproj:
2143
2144 2008-10-02  Geoffrey Garen  <ggaren@apple.com>
2145
2146         Not reviewed.
2147
2148         Try to fix some more builds.
2149
2150         * GNUmakefile.am:
2151         * WebCore.pro:
2152
2153 2008-10-02  Geoffrey Garen  <ggaren@apple.com>
2154
2155         Not reviewed.
2156         
2157         Try to fix Windows build.
2158
2159         * WebCore.vcproj/WebCore.vcproj:
2160
2161 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
2162
2163         Reviewed by Darin Adler and Cameron Zwarich.
2164
2165         Updated for JavaScriptCore API changes: use a SourceCode instead of
2166         broken out parameters; treat sourceId as intptr_t.
2167
2168         * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
2169         * bindings/js/JSXMLHttpRequestCustom.cpp:
2170         (WebCore::JSXMLHttpRequest::send):
2171         * bindings/js/ScriptController.cpp:
2172         (WebCore::ScriptController::evaluate):
2173         * bindings/js/StringSourceProvider.h:
2174         (WebCore::StringSourceProvider::create):
2175         (WebCore::StringSourceProvider::StringSourceProvider):
2176
2177         (WebCore::makeSource): Added a makeSource function for convenience.
2178
2179         * bindings/objc/WebScriptObject.mm:
2180         (-[WebScriptObject evaluateWebScript:]):
2181         * bridge/NP_jsobject.cpp:
2182         (_NPN_Evaluate):
2183         * bridge/jni/jni_jsobject.mm:
2184         (JavaJSObject::call):
2185         (JavaJSObject::eval):
2186         (JavaJSObject::getMember):
2187         (JavaJSObject::setMember):
2188         (JavaJSObject::removeMember):
2189
2190         * bridge/jni/jni_runtime.h:
2191         (JSC::Bindings::JavaString::operator UString): Replaced the explicit
2192         ustring() function with an implicit operator because this class already
2193         holds a UString::rep.
2194
2195         * page/Console.cpp:
2196         (WebCore::retrieveLastCaller):
2197         (WebCore::Console::trace):
2198         * page/InspectorController.cpp:
2199         (WebCore::jsStringRef):
2200         (WebCore::InspectorController::addBreakpoint):
2201         (WebCore::InspectorController::removeBreakpoint):
2202         (WebCore::InspectorController::didParseSource):
2203         (WebCore::InspectorController::failedToParseSource):
2204         * page/InspectorController.h:
2205         * page/JavaScriptCallFrame.cpp:
2206         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2207         * page/JavaScriptCallFrame.h:
2208         (WebCore::JavaScriptCallFrame::create):
2209         (WebCore::JavaScriptCallFrame::sourceIdentifier):
2210         (WebCore::JavaScriptCallFrame::update):
2211         * page/JavaScriptDebugListener.h:
2212         * page/JavaScriptDebugServer.cpp:
2213         (WebCore::JavaScriptDebugServer::addBreakpoint):
2214         (WebCore::JavaScriptDebugServer::removeBreakpoint):
2215         (WebCore::JavaScriptDebugServer::hasBreakpoint):
2216         (WebCore::dispatchDidParseSource):
2217         (WebCore::dispatchFailedToParseSource):
2218         (WebCore::JavaScriptDebugServer::sourceParsed):
2219         (WebCore::JavaScriptDebugServer::callEvent):
2220         (WebCore::JavaScriptDebugServer::atStatement):
2221         (WebCore::JavaScriptDebugServer::returnEvent):
2222         (WebCore::JavaScriptDebugServer::exception):
2223         (WebCore::JavaScriptDebugServer::willExecuteProgram):
2224         (WebCore::JavaScriptDebugServer::didExecuteProgram):
2225         (WebCore::JavaScriptDebugServer::didReachBreakpoint):
2226         * page/JavaScriptDebugServer.h:
2227         * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and 
2228         sourceIdentifier to sourceID.
2229
2230 2008-10-01  Dan Bernstein  <mitz@apple.com>
2231
2232         Reviewed by Geoffrey Garen.
2233
2234         - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
2235
2236         Broke a ref cycle by changing the m_svgFontFaceElement members of
2237         CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
2238         pointers. Also made sure that the @font-face rule added by
2239         SVGFontFaceElement to the document's mapped element sheet is removed
2240         when the font-face element is deleted or moved to another document.
2241
2242         * css/CSSFontFaceSource.cpp:
2243         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
2244         (WebCore::CSSFontFaceSource::getFontData):
2245         * css/CSSFontFaceSource.h:
2246         (WebCore::CSSFontFaceSource::svgFontFaceElement):
2247         * css/CSSFontFaceSrcValue.h:
2248         (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
2249         (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
2250         * svg/SVGFontFaceElement.cpp:
2251         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
2252         (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
2253         (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
2254         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
2255         * svg/SVGFontFaceElement.h:
2256
2257 2008-10-01  Oliver Hunt  <oliver@apple.com>
2258
2259         Reviewed by Maciej Stachowiak.
2260
2261         Bug 20315: Memory leak with Canvas getImageData
2262         <https://bugs.webkit.org/show_bug.cgi?id=20315>
2263
2264         This wasn't a leak, the issue was that we were reporting the cost
2265         of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
2266         and we should have been reporting the cost when we create the
2267         JSImageData wrapper.
2268
2269         * WebCore.xcodeproj/project.pbxproj:
2270         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
2271           This was only needed to report the extra memory cost
2272           of the CPA.
2273         * bindings/js/JSImageDataCustom.cpp:
2274         (WebCore::toJS):
2275           We need a custom toJS function now so that we can report
2276           the extra memory cost.
2277         * bindings/scripts/CodeGeneratorJS.pm:
2278           Need to replace the reference to CanvasPixelArray with ImageData
2279           to be able to create the custom toJS implementation.
2280         * html/CanvasPixelArray.idl:
2281         * html/ImageData.idl:
2282
2283 2008-10-01  Dan Bernstein  <mitz@apple.com>
2284
2285         Reviewed by Mark Rowe.
2286
2287         - https://bugs.webkit.org/show_bug.cgi?id=21293
2288           REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
2289
2290         * svg/SVGMarkerElement.cpp:
2291         (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
2292         that renderer destruction happens before the SVGMarkerElement is
2293         destroyed.
2294         * svg/SVGSVGElement.cpp:
2295         (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
2296
2297 2008-10-01  Evan Martin  <evan@chromium.org>
2298
2299         Reviewed by Eric Seidel.
2300         
2301         https://bugs.webkit.org/show_bug.cgi?id=20669
2302
2303         * css/makeprop.pl:
2304         Die if gperf fails.
2305
2306 2008-10-01  Evan Martin  <evan@chromium.org>
2307
2308         Reviewed by Eric Seidel.
2309
2310         * loader/icon/IconDatabase.h:
2311         IconDatabase uses HashMap, so it needs to #include the header.
2312
2313 2008-10-01  Dan Bernstein  <mitz@apple.com>
2314
2315         Reviewed by Mark Rowe.
2316
2317         - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
2318
2319         * loader/Cache.cpp:
2320         (WebCore::Cache::remove): Disable pruning temporarily during 
2321         CachedResource deletion.
2322
2323 2008-10-01  Dan Bernstein  <mitz@apple.com>
2324
2325         Reviewed by Mark Rowe.
2326
2327         - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
2328
2329         * svg/SVGFontFaceElement.cpp:
2330         (WebCore::SVGFontFaceElement::rebuildFontFace):
2331         * svg/SVGFontFaceElement.h:
2332         (WebCore::SVGFontFaceElement::associatedFontElement):
2333
2334 2008-10-01  Brett Wilson  <brettw@chromium.org>
2335
2336         Reviewed by Maciej Stachowiak.
2337
2338         Document the rounding behavior of the mapRect(IntRect) function in
2339         AffineTransform.h.
2340
2341         * platform/graphics/AffineTransform.h:
2342
2343 2008-10-01  David Hyatt  <hyatt@apple.com>
2344
2345         Move prohibitsScrolling from the Frame to the ScrollView.
2346
2347         Reviewed by Sam Weinig
2348
2349         * WebCore.base.exp:
2350         * page/Frame.cpp:
2351         (WebCore::FramePrivate::FramePrivate):
2352         * page/Frame.h:
2353         * page/FramePrivate.h:
2354         * page/FrameView.cpp:
2355         (WebCore::FrameView::scrollRectIntoViewRecursively):
2356         (WebCore::FrameView::setScrollPosition):
2357         * platform/ScrollView.cpp:
2358         (WebCore::ScrollView::init):
2359         (WebCore::ScrollView::scrollRectIntoViewRecursively):
2360         (WebCore::ScrollView::setScrollPosition):
2361         * platform/ScrollView.h:
2362         (WebCore::ScrollView::setProhibitsScrolling):
2363         (WebCore::ScrollView::prohibitsScrolling):
2364         * platform/gtk/ScrollViewGtk.cpp:
2365         (WebCore::ScrollView::updateScrollbars):
2366         * platform/qt/ScrollViewQt.cpp:
2367         (WebCore::ScrollView::updateScrollbars):
2368         * platform/win/ScrollViewWin.cpp:
2369         (WebCore::ScrollView::updateScrollbars):
2370
2371 2008-10-01  Mark Rowe  <mrowe@apple.com>
2372
2373         Reviewed by Geoff Garen.
2374
2375         Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
2376
2377         * xml/XMLHttpRequest.cpp:
2378         (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
2379         that we do during the loadRequestAsynchronously of the preflight request with a deref and
2380         GC unprotect.
2381
2382 2008-10-01  David Hyatt  <hyatt@apple.com>
2383
2384         Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
2385         clear that the boolean doesn't actually stop all scrolling.  It just gets rid of scrollbars.
2386
2387         Reviewed by Tim Hatcher
2388
2389         * WebCore.base.exp:
2390         * page/FrameView.cpp:
2391         (WebCore::FrameView::setCanHaveScrollbars):
2392         * page/FrameView.h:
2393         * platform/ScrollView.cpp:
2394         (WebCore::ScrollView::setCanHaveScrollbars):
2395         (WebCore::ScrollView::wheelEvent):
2396         * platform/ScrollView.h:
2397         (WebCore::ScrollView::canHaveScrollbars):
2398
2399 2008-10-01  Dan Bernstein  <mitz@apple.com>
2400
2401         Reviewed by Mark Rowe.
2402
2403         - fix some CachedResource leaks seen on buildbot
2404
2405         The issue here was that emptying the cache was a no-op when it only
2406         contained resources with no data. Changed to go after those
2407         resources when the desired cache capacity is zero.
2408
2409         * loader/Cache.cpp:
2410         (WebCore::Cache::pruneLiveResources):
2411         (WebCore::Cache::pruneDeadResources):
2412         * loader/Cache.h:
2413         (WebCore::Cache::prune):
2414
2415 2008-10-01  David Hyatt  <hyatt@apple.com>
2416
2417         Make isOffscreen cross-platform.  Only Mac implements this method, so hold off on adding API to the
2418         HostWindow object until other platforms decide they want this method.  (We need it for Win though at some point.)
2419
2420         Reviewed by Adam Roben
2421
2422         * platform/ScrollView.cpp:
2423         (WebCore::ScrollView::isOffscreen):
2424         (WebCore::ScrollView::platformIsOffscreen):
2425         * platform/ScrollView.h:
2426         * platform/gtk/ScrollViewGtk.cpp:
2427         * platform/mac/ScrollViewMac.mm:
2428         (WebCore::ScrollView::platformIsOffscreen):
2429         * platform/qt/ScrollViewQt.cpp:
2430         * platform/wx/ScrollViewWx.cpp:
2431
2432 2008-10-01  David Hyatt  <hyatt@apple.com>
2433
2434         Make show/hide/setParentVisible cross-platform on ScrollView.
2435
2436         Reviewed by Adam Roben
2437
2438         * platform/ScrollView.cpp:
2439         (WebCore::ScrollView::setParentVisible):
2440         (WebCore::ScrollView::show):
2441         (WebCore::ScrollView::hide):
2442         * platform/ScrollView.h:
2443         * platform/win/ScrollViewWin.cpp:
2444
2445 2008-10-01  Kevin McCullough  <kmccullough@apple.com>
2446
2447         Reviewed by Dan Bernstein.
2448
2449         https://bugs.webkit.org/show_bug.cgi?id=21284
2450         Bug 21284: Max height affects max width
2451         - Looks like a cut and paste bug
2452         - Added layout test fast/css/max-height-and-max-width.html
2453
2454         * css/CSSComputedStyleDeclaration.cpp:
2455         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2456
2457 2008-10-01  David Hyatt  <hyatt@apple.com>
2458
2459         https://bugs.webkit.org/show_bug.cgi?id=21282
2460         
2461         Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.
2462         
2463         Reviewed by Adam Roben
2464
2465         * loader/EmptyClients.h:
2466         (WebCore::EmptyChromeClient::screenToWindow):
2467         (WebCore::EmptyChromeClient::windowToScreen):
2468         * page/Chrome.cpp:
2469         (WebCore::Chrome::screenToWindow):
2470         (WebCore::Chrome::windowToScreen):
2471         * page/Chrome.h:
2472         * page/ChromeClient.h:
2473         * platform/HostWindow.h:
2474         * platform/ScrollView.cpp:
2475         (WebCore::ScrollView::contentsToScreen):
2476         (WebCore::ScrollView::screenToContents):
2477         (WebCore::ScrollView::platformContentsToScreen):
2478         (WebCore::ScrollView::platformScreenToContents):
2479         * platform/ScrollView.h:
2480         * platform/mac/ScrollViewMac.mm:
2481         (WebCore::ScrollView::platformContentsToScreen):
2482         (WebCore::ScrollView::platformScreenToContents):
2483         * platform/win/ScrollViewWin.cpp:
2484
2485 2008-10-01  Dan Bernstein  <mitz@apple.com>
2486
2487         Reviewed by Darin Adler.
2488
2489         - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
2490
2491         Test: fast/parser/residual-style-close-across-removed-block.html
2492
2493         * html/HTMLParser.cpp:
2494         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
2495         an assertion that turned out to be wrong in this case, and changed to
2496         terminate the algorithm at the first empty block.
2497
2498 2008-10-01  David Hyatt  <hyatt@apple.com>
2499
2500         Make setFrameRect on ScrollView cross-platform.
2501
2502         Reviewed by Sam Weinig
2503
2504         * page/FrameView.h:
2505         (WebCore::FrameView::contentsResized):
2506         * platform/ScrollView.cpp:
2507         (WebCore::ScrollView::setFrameRect):
2508         * platform/ScrollView.h:
2509         * platform/gtk/ScrollViewGtk.cpp:
2510         * platform/qt/ScrollViewQt.cpp:
2511         * platform/win/ScrollViewWin.cpp:
2512
2513 2008-10-01  Sam Weinig  <sam@webkit.org>
2514
2515         Reviewed by Adele Peterson.
2516
2517         Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
2518         to JSDOMWindow from JSDOMWindowBase.
2519
2520         * WebCore.xcodeproj/project.pbxproj:
2521         * bindings/js/JSDOMWindowBase.cpp:
2522         (WebCore::JSDOMWindowBase::removeTimeout):
2523         * bindings/js/JSDOMWindowBase.h:
2524         * bindings/js/JSDOMWindowCustom.cpp:
2525         (WebCore::setTimeoutOrInterval):
2526         (WebCore::JSDOMWindow::setTimeout):
2527         (WebCore::JSDOMWindow::clearTimeout):
2528         (WebCore::JSDOMWindow::setInterval):
2529         (WebCore::JSDOMWindow::clearInterval):
2530         (WebCore::JSDOMWindow::atob):
2531         (WebCore::JSDOMWindow::btoa):
2532         * page/DOMWindow.idl:
2533
2534 2008-10-01  Dan Bernstein  <mitz@apple.com>
2535
2536         - Mac build fix
2537
2538         * WebCore.base.exp:
2539
2540 2008-10-01  Timothy Hatcher  <timothy@apple.com>
2541
2542         Prevent stealing focus from the search field when focusing a DOM node.
2543
2544         https://bugs.webkit.org/show_bug.cgi?id=21275
2545
2546         Reviewed by Kevin McCullough.
2547
2548         * page/inspector/ElementsPanel.js:
2549         (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
2550         Don't steal focus if the current focus element is the search field.
2551
2552 2008-09-30  Sam Weinig  <sam@webkit.org>
2553
2554         Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
2555
2556         Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
2557         Autogenerate JS event listeners
2558
2559         - Generate getting/setting of EventListeners.
2560
2561         - Adding a new named EventListener now has the same process as adding any other DOM
2562           attribute. (Add a method with the same name in the c++ file).
2563
2564         (The EventListeners for MessagePort have been intentionally left custom so that we
2565         can continue to experiment with making those EventListeners work in a frame-less world.)
2566
2567         * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
2568         * bindings/js/JSDOMWindowCustom.cpp: ditto.
2569         * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
2570         * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
2571         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
2572         * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
2573         getter/setters
2574         * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
2575         * dom/EventTargetNode.h: ditto.
2576         * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
2577         will use JSEventListerner instead of JSUnprotectedEventListener.
2578         * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
2579         * page/DOMWindow.cpp: Add getter/setters for named EventListener
2580         * page/DOMWindow.h: ditto.
2581         * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
2582         will use JSEventListerner instead of JSUnprotectedEventListener.
2583         * xml/XMLHttpRequest.idl: Remove custom attributes.
2584         * xml/XMLHttpRequestUpload.idl: ditto.
2585
2586 2008-09-30  Mark Rowe  <mrowe@apple.com>
2587
2588         Reviewed by Dan Bernstein.
2589
2590         Add a leak counter for CachedResources since we've had two recent leaks involving them.
2591
2592         * loader/CachedResource.cpp:
2593         (WebCore::CachedResource::CachedResource):
2594         (WebCore::CachedResource::~CachedResource):
2595
2596 2008-09-30  Dan Bernstein  <mitz@apple.com>
2597
2598         Reviewed by Dave Hyatt.
2599
2600         - fix https://bugs.webkit.org/show_bug.cgi?id=21127
2601           <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
2602
2603         If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
2604         the font name in memory.
2605
2606         * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
2607         OpenTypeUtilities.*.
2608
2609         * platform/graphics/win/FontCustomPlatformData.cpp:
2610         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
2611         to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
2612         used.
2613         (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
2614         for fonts loaded using AddFontMemResourceEx.
2615         (WebCore::createFontCustomPlatformData): Added a call to
2616         renameAndActivateFont() if TTLoadEmbeddedFont fails. If
2617         TTLoadEmbeddedFont succeeds, set the font name to the null string, as
2618         fontPlatformData() will retrieve the name from the font reference.
2619
2620         * platform/graphics/win/FontCustomPlatformData.h:
2621         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
2622         font name member.
2623
2624         * platform/graphics/win/GetEOTHeader.cpp: Renamed.
2625         * platform/graphics/win/GetEOTHeader.h: Renamed.
2626
2627         * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
2628         (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
2629         (WebCore::BigEndianULong::BigEndianULong): Ditto.
2630         (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
2631         the font data and modifies it to have the given name, then activates
2632         it using AddFontMemResourceEx.
2633
2634         * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
2635
2636 2008-09-30  Mark Rowe  <mrowe@apple.com>
2637
2638         Reviewed by Dan Bernstein.
2639
2640         Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
2641
2642         * rendering/RenderObject.cpp:
2643         (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
2644         with calls to removeClient when we're being destroyed.
2645
2646 2008-09-30  Eric Carlson  <eric.carlson@apple.com>
2647
2648         Reviewed by Antti Koivisto.
2649
2650         https://bugs.webkit.org/show_bug.cgi?id=21243
2651
2652         Fix loopstart and loopend default values.
2653
2654         Tests: media/loopend-limits.html
2655                media/loopstart-limits.html
2656
2657         * html/HTMLMediaElement.cpp:
2658         (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
2659         (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
2660
2661 2008-09-30  Kevin Ollivier  <kevino@theolliviers.com>
2662
2663         wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
2664
2665         * WebCoreSources.bkl:
2666         * platform/wx/ScrollViewWx.cpp:
2667         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
2668
2669 2008-09-30  Dan Bernstein  <mitz@apple.com>
2670
2671         Reviewed by Sam Weinig.
2672
2673         - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
2674           was fixed in r17249 and re-introduced in r31435. 
2675
2676         * html/HTMLViewSourceDocument.cpp:
2677         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
2678         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
2679         (WebCore::HTMLViewSourceDocument::addLine):
2680         (WebCore::HTMLViewSourceDocument::addLink):
2681         * html/HTMLViewSourceDocument.h:
2682
2683 2008-09-30  Sam Weinig  <sam@webkit.org>
2684
2685         Reviewed by Eric Seidel.
2686
2687         More for https://bugs.webkit.org/show_bug.cgi?id=21122
2688         Autogenerate JS event listeners
2689
2690         - Make EventListener getter/setters names in c++ files match those in 
2691           JS (ie. onLoadListener -> onload).
2692         - Add standard way to access the frame associated with the EventTarget
2693           for EventListener lookup.
2694         - Autogenerate dispatchEvent, it wasn't doing anything custom.
2695
2696         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2697         (WebCore::JSDOMApplicationCache::mark):
2698         (WebCore::JSDOMApplicationCache::addEventListener):
2699         (WebCore::JSDOMApplicationCache::removeEventListener):
2700         (WebCore::JSDOMApplicationCache::setOnchecking):
2701         (WebCore::JSDOMApplicationCache::onchecking):
2702         (WebCore::JSDOMApplicationCache::setOnerror):
2703         (WebCore::JSDOMApplicationCache::onerror):
2704         (WebCore::JSDOMApplicationCache::setOnnoupdate):
2705         (WebCore::JSDOMApplicationCache::onnoupdate):
2706         (WebCore::JSDOMApplicationCache::setOndownloading):
2707         (WebCore::JSDOMApplicationCache::ondownloading):
2708         (WebCore::JSDOMApplicationCache::setOnprogress):
2709         (WebCore::JSDOMApplicationCache::onprogress):
2710         (WebCore::JSDOMApplicationCache::setOnupdateready):
2711         (WebCore::JSDOMApplicationCache::onupdateready):
2712         (WebCore::JSDOMApplicationCache::setOncached):
2713         (WebCore::JSDOMApplicationCache::oncached):
2714         * bindings/js/JSEventTargetNodeCustom.cpp:
2715         (WebCore::JSEventTargetNode::addEventListener):
2716         (WebCore::JSEventTargetNode::removeEventListener):
2717         (WebCore::JSEventTargetNode::getListener):
2718         (WebCore::JSEventTargetNode::setListener):
2719         * bindings/js/JSMessagePortCustom.cpp:
2720         (WebCore::JSMessagePort::mark):
2721         (WebCore::JSMessagePort::addEventListener):
2722         (WebCore::JSMessagePort::removeEventListener):
2723         (WebCore::JSMessagePort::setOnmessage):
2724         (WebCore::JSMessagePort::onmessage):
2725         (WebCore::JSMessagePort::setOnclose):
2726         (WebCore::JSMessagePort::onclose):
2727         * bindings/js/JSXMLHttpRequestCustom.cpp:
2728         (WebCore::JSXMLHttpRequest::mark):
2729         (WebCore::JSXMLHttpRequest::onreadystatechange):
2730         (WebCore::JSXMLHttpRequest::setOnreadystatechange):
2731         (WebCore::JSXMLHttpRequest::onabort):
2732         (WebCore::JSXMLHttpRequest::setOnabort):
2733         (WebCore::JSXMLHttpRequest::onerror):
2734         (WebCore::JSXMLHttpRequest::setOnerror):
2735         (WebCore::JSXMLHttpRequest::onload):
2736         (WebCore::JSXMLHttpRequest::setOnload):
2737         (WebCore::JSXMLHttpRequest::onloadstart):
2738         (WebCore::JSXMLHttpRequest::setOnloadstart):
2739         (WebCore::JSXMLHttpRequest::onprogress):
2740         (WebCore::JSXMLHttpRequest::setOnprogress):
2741         (WebCore::JSXMLHttpRequest::addEventListener):
2742         (WebCore::JSXMLHttpRequest::removeEventListener):
2743         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2744         (WebCore::JSXMLHttpRequestUpload::mark):
2745         (WebCore::JSXMLHttpRequestUpload::onabort):
2746         (WebCore::JSXMLHttpRequestUpload::setOnabort):
2747         (WebCore::JSXMLHttpRequestUpload::onerror):
2748         (WebCore::JSXMLHttpRequestUpload::setOnerror):
2749         (WebCore::JSXMLHttpRequestUpload::onload):
2750         (WebCore::JSXMLHttpRequestUpload::setOnload):
2751         (WebCore::JSXMLHttpRequestUpload::onloadstart):
2752         (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
2753         (WebCore::JSXMLHttpRequestUpload::onprogress):
2754         (WebCore::JSXMLHttpRequestUpload::setOnprogress):
2755         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2756         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2757         * bindings/scripts/CodeGeneratorJS.pm:
2758         * dom/EventTarget.h:
2759         * dom/EventTargetNode.cpp:
2760         (WebCore::EventTargetNode::associatedFrame):
2761         * dom/EventTargetNode.h:
2762         * dom/EventTargetNode.idl:
2763         * dom/MessagePort.cpp:
2764         (WebCore::MessagePort::associatedFrame):
2765         * dom/MessagePort.h:
2766         (WebCore::MessagePort::setOnmessage):
2767         (WebCore::MessagePort::onmessage):
2768         (WebCore::MessagePort::setOnclose):
2769         (WebCore::MessagePort::onclose):
2770         * dom/MessagePort.idl:
2771         * loader/appcache/DOMApplicationCache.h:
2772         (WebCore::DOMApplicationCache::setOnchecking):
2773         (WebCore::DOMApplicationCache::onchecking):
2774         (WebCore::DOMApplicationCache::setOnerror):
2775         (WebCore::DOMApplicationCache::onerror):
2776         (WebCore::DOMApplicationCache::setOnnoupdate):
2777         (WebCore::DOMApplicationCache::onnoupdate):
2778         (WebCore::DOMApplicationCache::setOndownloading):
2779         (WebCore::DOMApplicationCache::ondownloading):
2780         (WebCore::DOMApplicationCache::setOnprogress):
2781         (WebCore::DOMApplicationCache::onprogress):
2782         (WebCore::DOMApplicationCache::setOnupdateready):
2783         (WebCore::DOMApplicationCache::onupdateready):
2784         (WebCore::DOMApplicationCache::setOncached):
2785         (WebCore::DOMApplicationCache::oncached):
2786         (WebCore::DOMApplicationCache::associatedFrame):
2787         * loader/appcache/DOMApplicationCache.idl:
2788         * svg/EventTargetSVGElementInstance.cpp:
2789         (WebCore::EventTargetSVGElementInstance::associatedFrame):
2790         (WebCore::EventTargetSVGElementInstance::addEventListener):
2791         (WebCore::EventTargetSVGElementInstance::removeEventListener):
2792         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
2793         * svg/EventTargetSVGElementInstance.h:
2794         * xml/XMLHttpRequest.cpp:
2795         (WebCore::XMLHttpRequest::associatedFrame):
2796         * xml/XMLHttpRequest.h:
2797         (WebCore::XMLHttpRequest::setOnreadystatechange):
2798         (WebCore::XMLHttpRequest::onreadystatechange):
2799         (WebCore::XMLHttpRequest::setOnabort):
2800         (WebCore::XMLHttpRequest::onabort):
2801         (WebCore::XMLHttpRequest::setOnerror):
2802         (WebCore::XMLHttpRequest::onerror):
2803         (WebCore::XMLHttpRequest::setOnload):
2804         (WebCore::XMLHttpRequest::onload):
2805         (WebCore::XMLHttpRequest::setOnloadstart):
2806         (WebCore::XMLHttpRequest::onloadstart):
2807         (WebCore::XMLHttpRequest::setOnprogress):
2808         (WebCore::XMLHttpRequest::onprogress):
2809         * xml/XMLHttpRequest.idl:
2810         * xml/XMLHttpRequestUpload.cpp:
2811         (WebCore::XMLHttpRequestUpload::associatedFrame):
2812         * xml/XMLHttpRequestUpload.h:
2813         (WebCore::XMLHttpRequestUpload::setOnabort):
2814         (WebCore::XMLHttpRequestUpload::onabort):
2815         (WebCore::XMLHttpRequestUpload::setOnerror):
2816         (WebCore::XMLHttpRequestUpload::onerror):
2817         (WebCore::XMLHttpRequestUpload::setOnload):
2818         (WebCore::XMLHttpRequestUpload::onload):
2819         (WebCore::XMLHttpRequestUpload::setOnloadstart):
2820         (WebCore::XMLHttpRequestUpload::onloadstart):
2821         (WebCore::XMLHttpRequestUpload::setOnprogress):
2822         (WebCore::XMLHttpRequestUpload::onprogress):
2823         * xml/XMLHttpRequestUpload.idl:
2824
2825 2008-09-30  Darin Adler  <darin@apple.com>
2826
2827         - roll out assertion breaking regression tests
2828
2829         * platform/ScrollView.cpp:
2830         (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
2831         that fires in regression tests. Hyatt can add it back later. The assertion
2832         fires in the regression test because of layout that triggers repaint occuring
2833         during the process of removing a frame.
2834
2835 2008-09-30  Adele Peterson  <adele@apple.com>
2836
2837         Reviewed by Darin Adler.
2838
2839         Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
2840         <rdar://problem/6222134> add a way to set color for input placeholder text
2841
2842         Test: fast/forms/placeholder-pseudo-style.html
2843
2844         This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
2845         input elements when they are displaying the placeholder text.
2846
2847         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
2848         * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
2849         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2850         Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
2851         * css/html4.css: Add rule to make placeholder text default to darkGray.
2852
2853         * html/HTMLInputElement.cpp:
2854         (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
2855         (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
2856         (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
2857         (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
2858         (WebCore::HTMLInputElement::setValue): ditto.
2859         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
2860         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
2861          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
2862          renderer will just ask the node if it should draw the placeholder.
2863         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
2864
2865         * rendering/RenderTextControl.cpp:
2866         (WebCore::disabledTextColor): Moved to the top of the file.  If there's not very much contrast between the disabled color and the background color,
2867         just leave the text color alone.  We don't want to change a good contrast color scheme so that it has really bad contrast.
2868         If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
2869         (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
2870         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
2871         is called directly from updateFromElement.  updateFromElement will immediately update the text displayed.
2872         (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
2873         (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state.  This is now done in HTMLInputElement.
2874         * rendering/RenderTextControl.h:
2875
2876 2008-09-30  Beth Dakin  <bdakin@apple.com>
2877
2878         Reviewed by Darin Adler.
2879
2880         Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused 
2881         by failed allocation due to invalid counter/attr
2882         and corresponding: <rdar://problem/6152371>
2883
2884         * css/CSSParser.cpp:
2885         (WebCore::CSSParser::parseCounterContent): The spec indicates that 
2886         only identifiers should be accepted here.
2887
2888 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
2889
2890         Reviewed by Oliver Hunt.
2891
2892         Bug 21255: console.profileEnd() without a console.profile() crashes the
2893         web inspector
2894
2895         * page/Console.cpp:
2896         (WebCore::Console::profileEnd):
2897
2898 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
2899
2900         Reviewed by Tim Hatcher.
2901
2902         Bug 21252: calling console.profile() with a title that is 2 chars or
2903         shorter does not linkify it
2904
2905         - Previously we tried to not linkify very short URLs but since profile
2906         titles can be any length this is not always true.
2907
2908         * page/inspector/inspector.js:
2909
2910 2008-09-30  Dave Hyatt  <hyatt@apple.com>
2911
2912         Remove the update() method on ScrollView.  This method was only called in one place, and its purpose
2913         was to cause a display/flush to happen.  Here is a breakdown of the method use on each platform:
2914         (1) Not used on Mac
2915         (2) Used on Windows
2916         (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
2917         (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
2918         (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
2919         
2920         There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
2921         cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
2922         With the changes to this method, the new behavior is as follows:
2923         (1) Not used on Mac
2924         (2) Used on Windows
2925         (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
2926         (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
2927         (5) Not used on wx
2928         
2929         This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
2930         platforms.  At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
2931         
2932         Reviewed by Sam Weinig
2933
2934         * ChangeLog:
2935         * dom/Document.cpp:
2936         (WebCore::Document::implicitClose):
2937         * platform/HostWindow.h:
2938         (WebCore::HostWindow::paint):
2939         * platform/ScrollView.h:
2940         * platform/gtk/ScrollViewGtk.cpp:
2941         * platform/mac/ScrollViewMac.mm:
2942         * platform/qt/ScrollViewQt.cpp:
2943         * platform/win/ScrollViewWin.cpp:
2944         * platform/wx/ScrollViewWx.cpp:
2945
2946 2008-09-30  Timothy Hatcher  <timothy@apple.com>
2947
2948         Focus the DOM tree in the Web Inspector when a node is inspected.
2949         So when the search field has focus, the focus moves to the tree,
2950         allowing the arrow keys work. This can happen when using the new
2951         find in page feature.
2952
2953         https://bugs.webkit.org/show_bug.cgi?id=21251
2954
2955         Reviewed by Geoff Garen.
2956
2957         * page/inspector/ElementsPanel.js:
2958         (WebInspector.ElementsPanel): Set currentFocusElement to
2959         the main-panels element if the panel is visible.
2960         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2961         Remove a set of currentFocusElement since this moved.
2962         * page/inspector/inspector.js:
2963         (WebInspector.set currentFocusElement): Always focus the element.
2964         This ensures that when focus changes in the page and we don't
2965         catch it, we will still focus the elements even if we think it
2966         was already focused.
2967
2968 2008-09-30  Timothy Hatcher  <timothy@apple.com>
2969
2970         Make the Web Inspector's toolbar icons darker when the mouse is
2971         pressed on them. This matches the standard NSToolbar look.
2972
2973         https://bugs.webkit.org/show_bug.cgi?id=21249
2974         rdar://problem/6033752
2975
2976         Reviewed by Adam Roben.
2977
2978         * page/inspector/Images/databasesIcon.png:
2979         * page/inspector/Images/elementsIcon.png:
2980         * page/inspector/Images/profilesIcon.png:
2981         * page/inspector/Images/resourcesIcon.png:
2982         * page/inspector/Images/scriptsIcon.png:
2983         * page/inspector/Panel.js:
2984         * page/inspector/inspector.css:
2985
2986 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
2987
2988         Reviewed by Tim Hatcher.
2989
2990         Bug 21139: Profiler log message is wrong
2991         - Correctly fix =(
2992         Don't call _format twice.
2993
2994         * page/Page.h:
2995         * page/inspector/Console.js:
2996         * page/inspector/ProfilesPanel.js:
2997         * page/inspector/inspector.js:
2998
2999 2008-09-30  Dave Hyatt  <hyatt@apple.com>
3000
3001         http://bugs.webkit.org/show_bug.cgi?id=21250
3002         
3003         Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
3004         repaints up through the ChromeClient.
3005
3006         Reviewed by Darin Adler
3007
3008         * loader/EmptyClients.h:
3009         (WebCore::EmptyChromeClient::repaint):
3010         * page/Chrome.cpp:
3011         (WebCore::Chrome::repaint):
3012         * page/Chrome.h:
3013         * page/ChromeClient.h:
3014         * page/FrameView.cpp:
3015         (WebCore::FrameView::hostWindow):
3016         (WebCore::FrameView::repaintContentRectangle):
3017         * page/FrameView.h:
3018         * platform/HostWindow.h:
3019         * platform/ScrollView.cpp:
3020         (WebCore::ScrollView::repaintContentRectangle):
3021         (WebCore::ScrollView::platformRepaintContentRectangle):
3022         * platform/ScrollView.h:
3023         * platform/gtk/ScrollViewGtk.cpp:
3024         * platform/mac/ScrollViewMac.mm:
3025         (WebCore::ScrollView::platformRepaintContentRectangle):
3026         * platform/qt/ScrollViewQt.cpp:
3027         * platform/win/ScrollViewWin.cpp:
3028         * platform/wx/ScrollViewWx.cpp:
3029         (WebCore::ScrollView::platformRepaintContentRectangle):
3030
3031 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
3032
3033         Non-Mac build fixes.
3034
3035         * GNUmakefile.am:
3036         * WebCore.pro:
3037         * WebCore.vcproj/WebCore.vcproj:
3038         * WebCoreSources.bkl:
3039         * webcore-base.bkl:
3040         Added DOMProtect.{cpp,h}.
3041
3042 2008-09-39  Kevin Decker  <kdecker@apple.com>
3043
3044         Reviewed by John Sullivan.
3045
3046         * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
3047         for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
3048
3049 2008-09-29  Julien Chaffraix  <jchaffraix@webkit.org>
3050
3051         Reviewed by Maciej Stachowiak.
3052
3053         Bug 21106: .in format discussed changes
3054         https://bugs.webkit.org/show_bug.cgi?id=21106
3055
3056         - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
3057         is the only namespace used.
3058
3059         - Removed "generateFactory" and "generateWrapperFactory" parameters and
3060         re-introduced the command line options.
3061
3062         - Cleaned up the output of make_names.pl (removed unneeded new line).
3063
3064         * DerivedSources.make: Added factories command line options.
3065         * GNUmakefile.am: Ditto.
3066         * WebCore.pro: Ditto and removed some arguments that were migrated to
3067         the .in files.
3068
3069         * dom/make_names.pl: Clean up (see above).
3070
3071         * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
3072         and "generateWrapperFactory" occurences.
3073         * html/HTMLTagNames.in: Ditto.
3074         * svg/svgattrs.in: Ditto.
3075         * svg/svgtags.in: Ditto.
3076         * svg/xlinkattrs.in: Ditto.
3077         * xml/xmlattrs.in: Ditto.
3078
3079 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
3080
3081         Reviewed by John Sullivan.
3082
3083         <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
3084         Make sure that certain types of elements do not return children and, moreover, do not waste their
3085         energy trying to return children
3086
3087         Test: accessibility/nochildren-elements.html
3088
3089         * page/AccessibilityObject.h:
3090         (WebCore::AccessibilityObject::canHaveChildren):
3091         * page/AccessibilityRenderObject.cpp:
3092         (WebCore::AccessibilityRenderObject::canHaveChildren):
3093         (WebCore::AccessibilityRenderObject::addChildren):
3094         * page/AccessibilityRenderObject.h:
3095
3096 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
3097
3098         Reviewed by Sam Weinig.
3099
3100         https://bugs.webkit.org/show_bug.cgi?id=21213
3101         MessagePort crash when GC collects an object with a pending close event
3102
3103         Test: fast/events/message-channel-gc-2.html
3104               fast/events/message-channel-listener-circular-ownership.html
3105
3106         * bindings/DOMProtect.cpp: Added.
3107         (WebCore::gcProtectDOMObject):
3108         (WebCore::gcUnprotectDOMObject):
3109         * bindings/DOMProtect.h: Added.
3110         Added an abstraction for GC protection to avoid the need to call JS bindings code from
3111         DOM objects directly.
3112
3113         * dom/MessagePort.cpp:
3114         (WebCore::CloseMessagePortTimer::fired):
3115         (WebCore::MessagePort::queueCloseEvent):
3116         GC protect MessagePort wrapper while there is a pending close event.
3117         This may be necessary for message events, too, but that case is not a crasher, and actually
3118         behaves to the letter of the current HTML5 text, so I'll consider it later.
3119
3120         * xml/XMLHttpRequest.cpp:
3121         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
3122         (WebCore::XMLHttpRequest::dropProtection):
3123         Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
3124
3125         * bindings/js/JSMessagePortCustom.cpp:
3126         (WebCore::JSMessagePort::addEventListener):
3127         (WebCore::JSMessagePort::removeEventListener):
3128         (WebCore::JSMessagePort::setOnmessage):
3129         (WebCore::JSMessagePort::setOnclose):
3130         Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
3131         know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
3132
3133         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3134         (WebCore::JSXMLHttpRequestUpload::mark):
3135         While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
3136         from XMLHttpRequest.
3137
3138 2008-09-30  Adam Roben  <aroben@apple.com>
3139
3140         Windows build fix
3141
3142         * DerivedSources.cpp: Add JSEventTargetNode.cpp.
3143
3144 2008-09-29  Sam Weinig  <sam@webkit.org>
3145
3146         Reviewed by Tim Hatcher.
3147
3148         Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
3149         Autogenerate JS event listeners
3150
3151         - Generate EventTargetNode.
3152
3153         * DerivedSources.make:
3154         * GNUmakefile.am:
3155         * WebCore.pro:
3156         * WebCore.vcproj/WebCore.vcproj:
3157         * WebCore.xcodeproj/project.pbxproj:
3158         * WebCoreSources.bkl:
3159         * bindings/js/JSEventListener.cpp:
3160         * bindings/js/JSEventTarget.cpp: Added.
3161         (WebCore::toJS):
3162         * bindings/js/JSEventTarget.h: Added.
3163         * bindings/js/JSEventTargetBase.cpp: Removed.
3164         * bindings/js/JSEventTargetBase.h:
3165         * bindings/js/JSEventTargetNode.cpp: Removed.
3166         * bindings/js/JSEventTargetNode.h: Removed.
3167         * bindings/js/JSEventTargetNodeCustom.cpp: Added.
3168         (WebCore::JSEventTargetNode::addEventListener):
3169         (WebCore::JSEventTargetNode::removeEventListener):
3170         (WebCore::JSEventTargetNode::dispatchEvent):
3171         (WebCore::JSEventTargetNode::getListener):
3172         (WebCore::JSEventTargetNode::setListener):
3173         (WebCore::JSEventTargetNode::pushEventHandlerScope):
3174         * bindings/js/JSEventTargetSVGElementInstance.cpp:
3175         (WebCore::):
3176         (WebCore::JSEventTargetSVGElementInstancePrototype::self):
3177         (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
3178         (jsEventTargetAddEventListener):
3179         (jsEventTargetRemoveEventListener):
3180         (jsEventTargetDispatchEvent):
3181         * bindings/js/JSEventTargetSVGElementInstance.h:
3182         (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
3183         (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
3184         * bindings/scripts/CodeGeneratorJS.pm:
3185         * dom/EventTargetNode.idl: Added.
3186
3187 2008-09-29  Darin Adler  <darin@apple.com>
3188
3189         Reviewed by Sam Weinig.
3190
3191         - https://bugs.webkit.org/show_bug.cgi?id=21214
3192           work on getting rid of ExecState
3193
3194         * bindings/js/JSDOMWindowBase.cpp:
3195         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
3196         for base class constructor.
3197
3198 2008-09-29  David Hyatt  <hyatt@apple.com>
3199
3200         Add the new HostWindow base class.  A HostWindow hosts a hierarchy of Widgets.  The Chrome object on Page
3201         now subclasses from HostWindow.  The new class will allow objects in platform/ like Widgets, Scrollbars
3202         and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
3203         (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
3204
3205         Reviewed by Sam Weinig
3206
3207         * WebCore.xcodeproj/project.pbxproj:
3208         * page/Chrome.h:
3209         * platform/HostWindow.h: Added.
3210         (WebCore::HostWindow::HostWindow):
3211         (WebCore::HostWindow::~HostWindow):
3212
3213 2008-09-29  Kevin Decker  <kdecker@apple.com>
3214
3215         Reviewed by Anders Carlsson.
3216
3217         * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool,  NPNVsupportsCarbonBool are now in the 3000 range instead of 
3218         2000. 
3219
3220 2008-09-29  Dan Bernstein  <mitz@apple.com>
3221
3222         Reviewed by Adam Roben.
3223
3224         - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
3225
3226         * rendering/RenderThemeWin.cpp:
3227         (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
3228         (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
3229         unloaded, to avoid calling uxtheme.dll functions after that library has
3230         been unloaded.
3231         * rendering/RenderThemeWin.h:
3232
3233 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
3234
3235         Reviewed by John Sullivan
3236
3237         <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
3238
3239         Sends AXLoadComplete only when the top level web area is finished loading
3240
3241         * dom/Document.cpp:
3242         (WebCore::Document::implicitClose):
3243
3244 2008-09-29  Timothy Hatcher  <timothy@apple.com>
3245
3246         Makes the node highlight always show up when hovering a node in
3247         the Web Inspector now that the highlight does not scroll to reveal
3248         the node. Also adds a hover effect in the inspector when hovering
3249         causes a highlight in the page. This ties the user hovering action
3250         to the highlight so it is clear what causes the highlight to appear.
3251
3252         Also the highlight now temporarily shows up for 2 seconds after
3253         selecting a node in the DOM tree. So arrowing around in the tree
3254         will show the node on the page, providing feedback to the user.
3255
3256         Plus fixes an issue where quickly moving away from hovering
3257         a node would keep showing the page highlight. This was happening
3258         in breadcrumbs and the DOM tree.
3259
3260         https://bugs.webkit.org/show_bug.cgi?id=21220
3261
3262         Reviewed by Kevin McCullough.
3263
3264         * page/inspector/Console.js:
3265         (WebInspector.Console.prototype._mouseOverNode): Added. Used for
3266         hovering DOM nodes in the console.
3267         (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
3268         (WebInspector.Console.prototype._formatnode): Use the new event
3269         listeners and add a class name to the anchor element.
3270         * page/inspector/ElementsPanel.js:
3271         (WebInspector.ElementsPanel): Add new event listeners to the
3272         crumbs element to do the node hovering highlight.
3273         (WebInspector.ElementsPanel.prototype.hide):
3274         (WebInspector.ElementsPanel.prototype.reset):
3275         (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
3276         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
3277         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
3278         * page/inspector/ElementsTreeOutline.js:
3279         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
3280         Show the node hishlight for 2 seconds then restore the highlight
3281         to the current hovered node.
3282         (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
3283         hovered node and set the hovered state on the tree element.
3284         (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
3285         hovered node to null and removed the hovered state from the previous
3286         hovered tree element.
3287         (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
3288         the hovered class to the list item.
3289         (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
3290         * page/inspector/inspector.css:
3291         * page/inspector/inspector.js:
3292         (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
3293         based on the showingDOMNodeHighlight property of 50ms or 500ms. This
3294         causes the highlight to change sooner if there is one already showing
3295         and appear later if there isn't one showing. This is like tooltips,
3296         hovering a node for 500ms will cause highlight then mousing between nodes
3297         will keep the highlight and change to the new node.
3298         (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
3299         always reset the timeout so continuous mousing does not keep flasshing
3300         the highlight on the screen.
3301         (WebInspector._updateHoverHighlight): Removed the alt key check and added
3302         the showingDOMNodeHighlight property.
3303         (WebInspector.documentKeyDown): Removed the alt key check.
3304         (WebInspector.documentKeyUp): Ditto.
3305         (WebInspector.reset): Clear the hoveredDOMNode.
3306
3307 2008-09-29  Simon Fraser  <simon.fraser@apple.com>
3308
3309         Reviewed by Anders Carlsson
3310
3311         Fix RenderStyle leak in animation code, and assert that 
3312         keyframe resolution in CSSStyleSelector is not going to clobber
3313         m_style.
3314
3315         * css/CSSStyleSelector.cpp:
3316         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
3317         * page/animation/KeyframeAnimation.cpp:
3318         (WebCore::KeyframeAnimation::~KeyframeAnimation):
3319
3320 2008-09-29  Chris Marrin  <cmarrin@apple.com>
3321
3322         Reviewed by Dave Hyatt
3323
3324         Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
3325         Rewrite keyframe resolution to be like styleForElement()
3326         
3327         Test: animations/lineheight-animation.html
3328
3329         * css/CSSStyleSelector.cpp:
3330         (WebCore::CSSStyleSelector::addKeyframeStyle):
3331         (WebCore::CSSStyleSelector::~CSSStyleSelector):
3332         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
3333         (WebCore::CSSRuleSet::addRulesFromSheet):
3334         (WebCore::CSSStyleSelector::mapAnimationName):
3335         * css/CSSStyleSelector.h:
3336         * page/animation/CompositeAnimation.cpp:
3337         (WebCore::CompositeAnimation::updateKeyframeAnimations):
3338         * page/animation/KeyframeAnimation.cpp:
3339         (WebCore::KeyframeAnimation::KeyframeAnimation):
3340         (WebCore::KeyframeAnimation::animate):
3341         (WebCore::KeyframeAnimation::hasAnimationForProperty):
3342         (WebCore::KeyframeAnimation::sendAnimationEvent):
3343         (WebCore::KeyframeAnimation::overrideAnimations):
3344         (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
3345         (WebCore::KeyframeAnimation::affectsProperty):
3346         (WebCore::KeyframeAnimation::validateTransformFunctionList):
3347         * page/animation/KeyframeAnimation.h:
3348         * rendering/style/Animation.cpp:
3349         (WebCore::Animation::animationsMatch):
3350         * rendering/style/Animation.h:
3351         * rendering/style/KeyframeList.cpp:
3352         (WebCore::KeyframeList::~KeyframeList):
3353         (WebCore::KeyframeList::clear):
3354         (WebCore::KeyframeList::insert):
3355         * rendering/style/KeyframeList.h:
3356         (WebCore::KeyframeValue::KeyframeValue):
3357         (WebCore::KeyframeList::KeyframeList):
3358         (WebCore::KeyframeList::operator!=):
3359         (WebCore::KeyframeList::animationName):
3360         (WebCore::KeyframeList::addProperty):
3361         (WebCore::KeyframeList::containsProperty):
3362         (WebCore::KeyframeList::beginProperties):
3363         (WebCore::KeyframeList::endProperties):
3364         (WebCore::KeyframeList::isEmpty):
3365         (WebCore::KeyframeList::size):
3366         (WebCore::KeyframeList::beginKeyframes):
3367         (WebCore::KeyframeList::endKeyframes):
3368         * rendering/style/RenderStyle.h:
3369         * rendering/style/StyleRareNonInheritedData.cpp:
3370         * rendering/style/StyleRareNonInheritedData.h:
3371
3372 2008-09-29  Chris Marrin  <cmarrin@apple.com>
3373
3374         Reviewed by Eric Seidel
3375
3376         Clean up fix in PropertyWrapperGetter::equals
3377         https://bugs.webkit.org/show_bug.cgi?id=21011
3378         
3379         Test: transitions/override-transition-crash.html
3380
3381         * page/animation/AnimationBase.cpp:
3382         (WebCore::PropertyWrapperGetter::equals):
3383         * page/animation/CompositeAnimation.cpp:
3384         (WebCore::CompositeAnimation::updateTransitions):
3385
3386 2008-09-29  Chris Marrin  <cmarrin@apple.com>
3387
3388         Reviewed by Eric Seidel
3389
3390         https://bugs.webkit.org/show_bug.cgi?id=21001
3391         Starting transition after animation, when animation
3392         is finished, transition is wrong.
3393
3394         Test: animations/transition-and-animation-2.html
3395
3396         * page/animation/AnimationBase.h:
3397         * page/animation/CompositeAnimation.cpp:
3398         (WebCore::CompositeAnimation::updateTransitions):
3399         (WebCore::CompositeAnimation::updateKeyframeAnimations):
3400         (WebCore::CompositeAnimation::resetTransitions):
3401         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
3402         * page/animation/ImplicitAnimation.cpp:
3403         (WebCore::ImplicitAnimation::ImplicitAnimation):
3404         (WebCore::ImplicitAnimation::~ImplicitAnimation):
3405         (WebCore::ImplicitAnimation::animate):
3406         (WebCore::ImplicitAnimation::reset):
3407         * page/animation/ImplicitAnimation.h:
3408
3409 2008-09-29  Chris Marrin  <cmarrin@apple.com>
3410
3411         Reviewed by Sam Weinig
3412
3413         https://bugs.webkit.org/show_bug.cgi?id=20921
3414         -webkit-animation-timing-function: inside of keyframes is ignored
3415
3416         Test: animations/keyframe-timing-functions.html
3417
3418         * page/animation/AnimationBase.cpp:
3419         (WebCore::AnimationBase::progress):
3420         * page/animation/AnimationBase.h:
3421         * page/animation/ImplicitAnimation.cpp:
3422         (WebCore::ImplicitAnimation::animate):
3423         * page/animation/KeyframeAnimation.cpp:
3424         (WebCore::KeyframeAnimation::animate):
3425
3426 2008-09-29  Dan Bernstein  <mitz@apple.com>
3427
3428         - Windows build fix
3429
3430         * platform/ScrollView.cpp:
3431         (WebCore::ScrollView::platformScroll):
3432
3433 2008-09-29  Dan Bernstein  <mitz@apple.com>
3434
3435         - another attempt at a Windows build fix
3436
3437         * platform/ScrollView.cpp:
3438         (WebCore::platformScroll):
3439
3440 2008-09-29  Dan Bernstein  <mitz@apple.com>
3441
3442         - Windows build fix
3443
3444         * platform/ScrollView.cpp:
3445         (WebCore::ScrollView::platformSetScrollPosition):
3446
3447 2008-09-29  David Hyatt  <hyatt@apple.com>
3448
3449         https://bugs.webkit.org/show_bug.cgi?id=21218
3450
3451         Accidentally removed a check to see if the scrollbar modes were equal.  This caused a crash on Windows.
3452         It's silly that the code was this fragile, but for now just put the check back in.
3453
3454         Reviewed by Dan Bernstein
3455
3456         * platform/ScrollView.cpp:
3457         (WebCore::ScrollView::setScrollbarModes):
3458
3459 2008-09-29  David Hyatt  <hyatt@apple.com>
3460
3461         https://bugs.webkit.org/show_bug.cgi?id=21216
3462
3463         Make setScrollPosition and scroll() cross-platform.
3464
3465         Reviewed by Anders
3466
3467         * platform/ScrollView.cpp:
3468         (WebCore::ScrollView::setScrollPosition):
3469         (WebCore::ScrollView::scroll):
3470         * platform/ScrollView.h:
3471         * platform/gtk/ScrollViewGtk.cpp:
3472         * platform/mac/ScrollViewMac.mm:
3473         (WebCore::ScrollView::platformSetScrollPosition):
3474         (WebCore::ScrollView::platformScroll):
3475         * platform/qt/ScrollViewQt.cpp:
3476         * platform/win/ScrollViewWin.cpp:
3477         * platform/wx/ScrollViewWx.cpp:
3478         (WebCore::ScrollView::platformSetScrollPosition):
3479         (WebCore::ScrollView::platformScroll):
3480
3481 2008-09-29  Kevin McCullough  <kmccullough@apple.com>
3482
3483         Reviewed by Oliver.
3484
3485         Bug 21139: Profiler log message is wrong
3486         - Because _format was called twice the number in the log was incremented
3487         too many times, but we were passing it around in the link the whole time
3488
3489         * page/inspector/ProfilesPanel.js:
3490         * page/inspector/inspector.js:
3491
3492 2008-09-29  Sam Weinig  <sam@webkit.org>
3493
3494         Reviewed by Cameron Zwarich.
3495
3496         Autogenerate EventListeners, addEventListener and removeEventListener
3497         for JSDOMWindow.
3498
3499         * bindings/js/JSDOMWindowBase.cpp:
3500         * bindings/js/JSDOMWindowBase.h:
3501         * bindings/js/JSDOMWindowCustom.cpp:
3502         (WebCore::JSDOMWindow::onwebkitanimationstart):
3503         (WebCore::JSDOMWindow::setOnwebkitanimationstart):
3504         (WebCore::JSDOMWindow::onwebkitanimationiteration):
3505         (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
3506         (WebCore::JSDOMWindow::onwebkitanimationend):
3507         (WebCore::JSDOMWindow::setOnwebkitanimationend):
3508         (WebCore::JSDOMWindow::onwebkittransitionend):
3509         (WebCore::JSDOMWindow::setOnwebkittransitionend):
3510         (WebCore::JSDOMWindow::addEventListener):
3511         (WebCore::JSDOMWindow::removeEventListener):
3512         (WebCore::JSDOMWindow::setListener):
3513         (WebCore::JSDOMWindow::getListener):
3514         * bindings/scripts/CodeGeneratorJS.pm:
3515         * page/DOMWindow.idl:
3516
3517 2008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
3518
3519         Reviewed by Simon.
3520
3521         Changed copyright from Trolltech ASA to Nokia.
3522
3523         Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
3524
3525         * bindings/js/JSMimeTypeArrayCustom.cpp:
3526         * bindings/js/JSNavigatorCustom.cpp:
3527         * bindings/js/JSPluginArrayCustom.cpp:
3528         * bindings/js/JSPluginCustom.cpp:
3529         * bindings/js/ScriptControllerMac.mm:
3530         * bindings/js/ScriptControllerQt.cpp:
3531         * bridge/qt/qt_class.cpp:
3532         * bridge/qt/qt_class.h:
3533         * bridge/qt/qt_instance.cpp:
3534         * bridge/qt/qt_instance.h:
3535         * bridge/qt/qt_runtime.cpp:
3536         * bridge/qt/qt_runtime.h:
3537         * bridge/testqtbindings.cpp:
3538         * css/makegrammar.pl:
3539         * css/makeprop.pl:
3540         * css/makevalues.pl:
3541         * dom/Node.cpp:
3542         * dom/TagNodeList.cpp:
3543         * dom/TagNodeList.h:
3544         * dom/XMLTokenizer.cpp:
3545         * dom/XMLTokenizer.h:
3546         * dom/XMLTokenizerLibxml2.cpp:
3547         * dom/XMLTokenizerQt.cpp:
3548         * editing/Editor.cpp:
3549         * editing/EditorCommand.cpp:
3550         * html/CanvasRenderingContext2D.cpp:
3551         * html/CanvasStyle.cpp:
3552         * html/HTMLAppletElement.cpp:
3553         * html/HTMLEmbedElement.cpp: