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