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