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