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