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