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