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