blob: c1dcb44382cf9ffc23fada54c804982a5a7186fa [file] [log] [blame]
timothy@apple.comf51a3aa2008-10-04 08:09:41 +000012008-10-03 Timothy Hatcher <timothy@apple.com>
2
timothy@apple.com9c94f6b2008-10-04 08:10:54 +00003 Move the Web Inspector files into a top-level "inspector" folder.
4
5 https://bugs.webkit.org/show_bug.cgi?id=21359
6
7 Reviewed by Dave Hyatt.
8
9 * GNUmakefile.am:
10 * WebCore.pro:
11 * WebCore.vcproj/WebCore.vcproj:
12 * WebCore.xcodeproj/project.pbxproj:
13 * WebCoreSources.bkl:
14 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
15 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
16 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
17 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
18 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
19 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
20 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
21 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
22 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
23 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
24 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
25 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
26 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
27 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
28 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
29 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
30 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
31 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
32 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
33 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
34 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
35 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
36 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
37 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
38 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
39 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
40 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
41 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
42 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
43 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
44 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
45 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
46 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
47 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
48 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
49 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
50 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
51 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
52 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
53 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
54 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
55 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
56 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
57 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
58 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
59 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
60 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
61 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
62 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
63 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
64 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
65 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
66 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
67 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
68 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
69 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
70 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
71 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
72 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
73 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
74 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
75 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
76 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
77 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
78 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
79 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
80 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
81 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
82 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
83 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
84 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
85 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
86 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
87 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
88 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
89 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
90 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
91 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
92 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
93 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
94 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
95 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
96 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
97 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
98 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
99 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
100 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
101 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
102 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
103 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
104 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
105 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
106 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
107 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
108 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
109 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
110 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
111 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
112 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
113 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
114 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
115 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
116 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
117 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
118 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
119 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
120 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
121 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
122 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
123 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
124 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
125 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
126 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
127 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
128 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
129 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
130 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
131 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
132 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
133 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
134 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
135 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
136 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
137 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
138 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
139 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
140 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
141 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
142 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
143 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
144 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
145 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
146 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
147 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
148 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
149 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
150 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
151 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
152 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
153 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
154 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
155 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
156 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
157 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
158 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
159 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
160 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
161 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
162 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
163 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
164 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
165 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
166 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
167 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
168 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
169 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
170
1712008-10-03 Timothy Hatcher <timothy@apple.com>
172
timothy@apple.com11eb1a32008-10-04 08:09:52 +0000173 Adds support to the Web Inspector's Elements panel for fast tag name,
174 class name, id and attribute name searching. The panel first tries
175 using getElementById, getElementsByClassName and getElementsByTagName
176 with the search query. Then does a slower search using XPath for partial
177 matches, text and comment matches.
178
179 Adds support for search queries like "<div>", "<h" and "frame>".
180 These forms limit the search to tag names, text and comment matches.
181
182 https://bugs.webkit.org/show_bug.cgi?id=21353
183
184 Reviewed by Maciej Stachowiak.
185
186 * page/inspector/ElementsPanel.js:
187 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
188 support. Add new search functions that try exact matches first.
189
1902008-10-03 Timothy Hatcher <timothy@apple.com>
191
timothy@apple.comf51a3aa2008-10-04 08:09:41 +0000192 Changes how searching works in the Web Inspector's Elements
193 panel. The search tasks are divided into chunks that are small
194 units of work that are performed at a time interval. This
195 change also prevents queries that will select all elements,
196 since that isn't useful.
197
198 https://bugs.webkit.org/show_bug.cgi?id=21285
199
200 Reviewed by Oliver Hunt.
201
202 * page/inspector/ElementsPanel.js:
203 (WebInspector.ElementsPanel.prototype.searchCancled):
204 Remove the searchResultsProperty form results since there might
205 be an unfinished search.
206 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
207 documents and search functions into chunks that are performed on
208 a interval of 25ms. Prevent searches for "//*" and "*".
209
mjs@apple.com8b246d62008-10-04 07:15:33 +00002102008-10-03 Maciej Stachowiak <mjs@apple.com>
211
212 Reviewed by Cameron Zwarich.
213
214 - "this" object in methods called on primitives should be wrapper object
215 https://bugs.webkit.org/show_bug.cgi?id=21362
216
217 Updated so toThis conversion for the split window is handled properly.
218
219 * bindings/scripts/CodeGeneratorJS.pm:
220
weinig@apple.com1b4545c2008-10-04 05:16:40 +00002212008-10-03 Sam Weinig <sam@webkit.org>
222
223 Reviewed by David "The Motivator" Hyatt.
224
225 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
226 Move SecurityOrigin out of platform/ to page/.
227
228 It was a layering violation for SecurityOrigin to be in platform
229 as it depended on FrameLoader.
230
231 * GNUmakefile.am:
232 * WebCore.pro:
233 * WebCore.vcproj/WebCore.vcproj:
234 * WebCore.xcodeproj/project.pbxproj:
235 * WebCoreSources.bkl:
236 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
237 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
238 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
239 * platform/SecurityOrigin.cpp: Removed.
240 * platform/SecurityOrigin.h: Removed.
241 * platform/SecurityOriginHash.h: Removed.
242
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +00002432008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
244
245 Reviewed by Alp Toker.
246
247 http://bugs.webkit.org/show_bug.cgi?id=18832
248 [curl] file upload does not work
249
250 The curl_off_t integer type has a different size depending if large
251 file support is enabled or not. There is no different public API for
252 the two cases, so the same function accepts a different type based on
253 a compilation option the could be different in WebKit and libcurl.
254 To fix the bug we query libcurl at runtime for large file support and
255 pass the right type based on that.
256
257 * platform/network/curl/ResourceHandleManager.cpp:
258 (WebCore::ResourceHandleManager::setupPOST):
259
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +00002602008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
261
262 Reviewed by David Hyatt.
263
264 Gtk build fixes.
265
266 * platform/gtk/FileChooserGtk.cpp:
267 (WebCore::FileChooser::openFileChooser):
268 * platform/gtk/PlatformScreenGtk.cpp:
269 (WebCore::screenDepth):
270 (WebCore::screenDepthPerComponent):
271 (WebCore::screenAvailableRect):
272 * platform/gtk/PopupMenuGtk.cpp:
273 (WebCore::PopupMenu::show):
274 * platform/gtk/ScrollViewGtk.cpp:
275 (WebCore::ScrollView::platformAddChild):
276 (WebCore::ScrollView::platformRemoveChild):
277 * platform/gtk/WidgetGtk.cpp:
278 (WebCore::Widget::setCursor):
279 * plugins/gtk/PluginViewGtk.cpp:
280 (WebCore::PluginView::getValue):
281 (WebCore::PluginView::forceRedraw):
282 (WebCore::PluginView::init):
283
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +00002842008-10-03 David Hyatt <hyatt@apple.com>
285
hyatt@apple.com55377bb2008-10-04 01:09:37 +0000286 Fix Qt bustage from missing include.
287
288 * platform/qt/PlatformScreenQt.cpp:
289
2902008-10-03 David Hyatt <hyatt@apple.com>
291
hyatt@apple.comeff53462008-10-04 01:08:35 +0000292 Fix Windows scrollbar bustage in popup menus.
293
294 * platform/win/PopupMenuWin.cpp:
295 (WebCore::PopupWndProc):
296
2972008-10-03 David Hyatt <hyatt@apple.com>
298
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +0000299 Fix Windows bustage.
300
301 * platform/win/FileChooserWin.cpp:
302 (WebCore::FileChooser::openFileChooser):
303 * platform/win/PlatformScreenWin.cpp:
304 (WebCore::monitorInfoForWidget):
305 * platform/win/WidgetWin.cpp:
306 * plugins/win/PluginViewWin.cpp:
307 (WebCore::PluginView::getValue):
308 (WebCore::PluginView::forceRedraw):
309 (WebCore::PluginView::init):
310
darin@apple.com3d73fee2008-10-03 21:39:16 +00003112008-10-03 Darin Adler <darin@apple.com>
312
darin@apple.comc1e2d312008-10-03 22:55:04 +0000313 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
314 seen on some machines but not others by adding an include.
315
3162008-10-03 Darin Adler <darin@apple.com>
317
darin@apple.com682a07e2008-10-03 22:41:30 +0000318 - Qt build fix
319
320 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
321 execute functions. Declarations for these relied on the CodeType
322 enumeration, which used to be in ExecState.h; but the functions
323 aren't needed at all.
324 * bridge/qt/qt_runtime.h: Ditto.
325
3262008-10-03 Darin Adler <darin@apple.com>
327
darin@apple.com3d73fee2008-10-03 21:39:16 +0000328 Reviewed by Geoff Garen.
329
330 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
331 Turn ExecState into a call frame pointer.
332
333 Remove m_globalObject and m_globalData from ExecState.
334
335 * bindings/js/JSDOMWindowBase.cpp:
336 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
337 Removed an argument now that JSGlobalObject doesn't need it any more.
338 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
339 the JSDOMWindowBaseData constructor, and added the this argument to the
340 JSGlobalObject constructor. This is because a couple key bits of
341 initialization moved from the data constructor to the JSGlobalObject
342 constructor.
343 * bindings/js/JSDOMWindowBase.h: Ditto.
344
345 * bridge/qt/qt_runtime.cpp:
346 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
347 * bridge/runtime_method.cpp:
348 (JSC::RuntimeMethod::RuntimeMethod):
349 Pass JSGlobalData* instead of ExecState* to the InternalFunction
350 constructor.
351
hyatt@apple.com0e7921d2008-10-03 21:16:13 +00003522008-10-03 David Hyatt <hyatt@apple.com>
353
354 Fix Windows/Qt build bustage.
355
356 Reviewed by ggaren
357
358 * loader/EmptyClients.h:
359 (WebCore::EmptyChromeClient::platformWindow):
360 * page/Chrome.cpp:
361 (WebCore::Chrome::platformWindow):
362 * page/Chrome.h:
363 * page/ChromeClient.h:
364 * platform/HostWindow.h:
365 * platform/qt/PlatformScreenQt.cpp:
366 (WebCore::screenDepth):
367 (WebCore::screenDepthPerComponent):
368 (WebCore::screenIsMonochrome):
369 (WebCore::screenRect):
370 (WebCore::screenAvailableRect):
371 * platform/qt/PopupMenuQt.cpp:
372 (WebCore::PopupMenu::show):
373 * platform/win/PopupMenuWin.cpp:
374 (WebCore::PopupMenu::show):
375 (WebCore::PopupMenu::calculatePositionAndSize):
376 (WebCore::PopupWndProc):
377
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +00003782008-10-03 Simon Fraser <simon.fraser@apple.com>
379
380 Reviewed by Dave Hyatt
381
382 Make setStyle() take a const RenderStyle, to ensure that an
383 earlier RenderStyle::diff() remains valid.
384
385 * rendering/RenderBR.cpp:
386 * rendering/RenderBR.h:
387 * rendering/RenderBlock.cpp:
388 * rendering/RenderBlock.h:
389 * rendering/RenderBox.cpp:
390 * rendering/RenderBox.h:
391 * rendering/RenderButton.cpp:
392 * rendering/RenderButton.h:
393 * rendering/RenderFieldset.cpp:
394 * rendering/RenderFieldset.h:
395 * rendering/RenderFileUploadControl.cpp:
396 * rendering/RenderFileUploadControl.h:
397 * rendering/RenderInline.cpp:
398 * rendering/RenderInline.h:
399 * rendering/RenderListBox.cpp:
400 * rendering/RenderListBox.h:
401 * rendering/RenderListItem.cpp:
402 * rendering/RenderListItem.h:
403 * rendering/RenderListMarker.cpp:
404 * rendering/RenderListMarker.h:
405 * rendering/RenderMenuList.cpp:
406 * rendering/RenderMenuList.h:
407 * rendering/RenderObject.cpp:
408 (WebCore::RenderObject::setStyle):
409 * rendering/RenderObject.h:
410 * rendering/RenderReplaced.cpp:
411 * rendering/RenderReplaced.h:
412 * rendering/RenderSVGBlock.cpp:
413 (WebCore::RenderSVGBlock::setStyle):
414 * rendering/RenderSVGBlock.h:
415 * rendering/RenderSVGGradientStop.cpp:
416 * rendering/RenderSVGGradientStop.h:
417 * rendering/RenderSlider.cpp:
418 * rendering/RenderSlider.h:
419 * rendering/RenderTable.cpp:
420 * rendering/RenderTable.h:
421 * rendering/RenderTableCell.cpp:
422 * rendering/RenderTableCell.h:
423 * rendering/RenderTableRow.cpp:
424 * rendering/RenderTableRow.h:
425 * rendering/RenderText.cpp:
426 * rendering/RenderText.h:
427 * rendering/RenderTextControl.cpp:
428 * rendering/RenderTextControl.h:
429 * rendering/RenderWidget.cpp:
430 * rendering/RenderWidget.h:
431 * rendering/style/RenderStyle.h:
432 (WebCore::RenderStyle::isDisplayReplacedType):
433 (WebCore::RenderStyle::isDisplayInlineType):
434
hyatt@apple.com1ae34462008-10-03 19:17:35 +00004352008-10-03 David Hyatt <hyatt@apple.com>
436
hyatt@apple.com938a55f2008-10-03 20:10:32 +0000437 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
438 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
439 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
440 that will work properly for hit testing. This patch just stubs out that method to return the same
441 event untransformed.
442
443 Reviewed by Darin Adler
444
445 * page/EventHandler.cpp:
446 (WebCore::EventHandler::handleMouseDoubleClickEvent):
447 (WebCore::EventHandler::handleMouseMoveEvent):
448 (WebCore::EventHandler::handleMouseReleaseEvent):
449 (WebCore::EventHandler::passMousePressEventToScrollbar):
450 * page/gtk/EventHandlerGtk.cpp:
451 * page/mac/EventHandlerMac.mm:
452 * page/qt/EventHandlerQt.cpp:
453 * page/win/EventHandlerWin.cpp:
454 * page/wx/EventHandlerWx.cpp:
455 * platform/Scrollbar.cpp:
456 (WebCore::Scrollbar::mouseMoved):
457 (WebCore::Scrollbar::mouseExited):
458 (WebCore::Scrollbar::mouseUp):
459 (WebCore::Scrollbar::mouseDown):
460 (WebCore::Scrollbar::transformEvent):
461 * platform/Scrollbar.h:
462
4632008-10-03 David Hyatt <hyatt@apple.com>
464
hyatt@apple.com1ae34462008-10-03 19:17:35 +0000465 https://bugs.webkit.org/show_bug.cgi?id=21340
466
467 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
468
469 Reviewed by Dan Bernstein & Darin Adler
470
471 * platform/ScrollView.cpp:
472 (WebCore::ScrollView::addChild):
473 * platform/Widget.cpp:
474 (WebCore::Widget::init):
475 * platform/Widget.h:
476 * platform/mac/WidgetMac.mm:
477 * platform/win/PopupMenuWin.cpp:
478 (WebCore::PopupMenu::show):
479
adele@apple.come31aa912008-10-03 19:06:28 +00004802008-10-03 Adele Peterson <adele@apple.com>
481
482 Reviewed by Sam Weinig.
483
484 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
485 Return early if settings is nil.
486
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +00004872008-10-03 Rob Buis <buis@kde.org>
488
489 Reviewed by Darin.
490
491 https://bugs.webkit.org/show_bug.cgi?id=20134
492 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
493
494 Make sure the input element gets the right default value when no value is set.
495
496 Test: fast/forms/range-default-value.html
497
498 * rendering/RenderSlider.cpp:
499 (WebCore::RenderSlider::setPositionFromValue):
500
hyatt@apple.com8de3eb72008-10-03 18:29:28 +00005012008-10-03 David Hyatt <hyatt@apple.com>
502
503 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
504 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
505 platform-specific init/destroy methods.
506
507 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
508
509 Reviewed by Darin Adler
510
511 * WebCore.vcproj/WebCore.vcproj:
512 * platform/ScrollView.cpp:
513 (WebCore::ScrollView::ScrollView):
514 (WebCore::ScrollView::~ScrollView):
515 (WebCore::ScrollView::platformInit):
516 (WebCore::ScrollView::platformDestroy):
517 (WebCore::ScrollView::platformAddChild):
518 (WebCore::ScrollView::platformRemoveChild):
519 * platform/ScrollView.h:
520 * platform/gtk/ScrollViewGtk.cpp:
521 (WebCore::ScrollView::platformInit):
522 (WebCore::ScrollView::platformDestroy):
523 * platform/mac/ScrollViewMac.mm:
524 * platform/qt/ScrollViewQt.cpp:
525 (WebCore::ScrollView::platformInit):
526 (WebCore::ScrollView::platformDestroy):
527 * platform/win/ScrollViewWin.cpp: Removed.
528 * platform/wx/ScrollViewWx.cpp:
529 (WebCore::ScrollView::platformInit):
530 (WebCore::ScrollView::platformDestroy):
531 (WebCore::ScrollView::setPlatformWidget):
532
adele@apple.comb1dd0a62008-10-03 18:13:28 +00005332008-10-03 Adele Peterson <adele@apple.com>
534
535 Reviewed by Dan Bernstein.
536
537 Fix for <rdar://problem/6012018>
538 https://bugs.webkit.org/show_bug.cgi?id=21335
539 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
540
541 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
542
hausmann@webkit.org2497ae82008-10-03 16:02:54 +00005432008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
544
545 Build fix.
546
547 * platform/qt/WidgetQt.cpp:
548 (WebCore::Widget::invalidateRect):
549
alp@webkit.org2122a042008-10-03 12:38:12 +00005502008-10-03 Alp Toker <alp@nuanti.com>
551
alp@webkit.orgabc5b712008-10-03 13:36:23 +0000552 Remove some left-over GTK+ includes. No change in functionality.
553
554 * platform/Cursor.h:
555 * platform/graphics/Icon.h:
556 * platform/gtk/RenderThemeGtk.h:
557
5582008-10-03 Alp Toker <alp@nuanti.com>
559
alp@webkit.org2122a042008-10-03 12:38:12 +0000560 Build fix for trailing comment after #endif
561
562 * dom/ElementRareData.h:
563
hyatt@apple.comd664bd52008-10-03 09:03:43 +00005642008-10-03 David Hyatt <hyatt@apple.com>
565
566 Remove addToDirtyRegion.
567
568 Reviewed by Oliver Hunt
569
570 * page/Chrome.cpp:
571 * page/Chrome.h:
572 * page/ChromeClient.h:
573 * platform/ScrollView.h:
574 * platform/gtk/ScrollViewGtk.cpp:
575 * platform/qt/ScrollViewQt.cpp:
576 * platform/win/ScrollViewWin.cpp:
577
mitz@apple.com810de662008-10-03 09:00:08 +00005782008-10-03 Dan Bernstein <mitz@apple.com>
579
580 Reviewed by Maciej Stachowiak.
581
582 - fix a CachedResource leak introduced in r37176
583
584 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
585 afterwards bail out of the outer pruneDeadResources().
586
587 * loader/Cache.cpp:
588 (WebCore::Cache::Cache):
589 (WebCore::Cache::pruneDeadResources):
590 (WebCore::Cache::remove):
591 * loader/Cache.h:
592
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +00005932008-10-03 David Hyatt <hyatt@apple.com>
594
595 https://bugs.webkit.org/show_bug.cgi?id=21330
596
597 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
598 scrollbars.
599
600 Reviewed by Oliver Hunt
601
602 * platform/ScrollView.cpp:
603 (WebCore::ScrollView::setHasHorizontalScrollbar):
604 (WebCore::ScrollView::setHasVerticalScrollbar):
605 (WebCore::ScrollView::platformHasHorizontalAdjustment):
606 (WebCore::ScrollView::platformHasVerticalAdjustment):
607 * platform/ScrollView.h:
608 * platform/gtk/ScrollViewGtk.cpp:
609 (WebCore::ScrollView::adjustmentChanged):
610 (WebCore::ScrollView::ScrollView):
611 (WebCore::ScrollView::~ScrollView):
612 (WebCore::ScrollView::setGtkAdjustments):
613 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
614 (WebCore::ScrollView::platformHandleVerticalAdjustment):
615
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +00006162008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
617
618 Reviewed by Maciej Stachowiak.
619
620 Bug 21106: .in format discussed changes
621 https://bugs.webkit.org/show_bug.cgi?id=21106
622
623 Change "upperCase" to "interfaceName" per-tag parameter as
624 discussed on the mailing list. Removed the per-attribute version
625 as it was not used.
626
627 Also add the "Element" suffix to all interfaceName parameter to match
628 the class name (and thus remove it from make_names.pl).
629
630 * dom/make_names.pl:
631 * html/HTMLTagNames.in:
632 * svg/svgtags.in:
633
hyatt@apple.comf0a13272008-10-03 07:38:27 +00006342008-10-03 David Hyatt <hyatt@apple.com>
635
636 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
637 Hopefully this is a temporary hack that could eventually be removed.
638
639 Reviewed by Sam Weinig
640
641 * platform/ScrollView.cpp:
642 (WebCore::ScrollView::scrollContents):
643 * platform/ScrollView.h:
644 (WebCore::ScrollView::rootPreventsBlitting):
645 * platform/qt/ScrollViewQt.cpp:
646 (WebCore::ScrollView::ScrollView):
647 (WebCore::ScrollView::~ScrollView):
648 (WebCore::ScrollView::platformAddChild):
649 (WebCore::ScrollView::platformRemoveChild):
650
hyatt@apple.com6fa40c52008-10-03 07:06:28 +00006512008-10-02 David Hyatt <hyatt@apple.com>
652
653 https://bugs.webkit.org/show_bug.cgi?id=21328
654
655 Make widget invalidation more cross-platform.
656
657 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
658
659 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
660 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
661
662 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
663
664 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
665
666 Reviewed by Sam Weinig
667
668 * WebCore.base.exp:
669 * page/FrameView.cpp:
670 (WebCore::FrameView::invalidateRect):
671 (WebCore::FrameView::invalidateScrollbarRect):
672 * page/FrameView.h:
673 * platform/PopupMenu.h:
674 * platform/ScrollView.cpp:
675 (WebCore::ScrollView::scrollContents):
676 * platform/ScrollView.h:
677 * platform/Scrollbar.cpp:
678 (WebCore::Scrollbar::setEnabled):
679 (WebCore::Scrollbar::invalidateRect):
680 * platform/Scrollbar.h:
681 * platform/ScrollbarClient.h:
682 * platform/Widget.h:
683 * platform/gtk/WidgetGtk.cpp:
684 * platform/mac/WidgetMac.mm:
685 * platform/win/PopupMenuWin.cpp:
686 (WebCore::PopupMenu::invalidateScrollbarRect):
687 * platform/win/WidgetWin.cpp:
688 * plugins/PluginView.cpp:
689 (WebCore::PluginView::invalidateTimerFired):
690 (WebCore::PluginView::invalidateWindowlessPluginRect):
691 * plugins/PluginView.h:
692 * plugins/gtk/PluginViewGtk.cpp:
693 (WebCore::PluginView::invalidateRect):
694 * plugins/qt/PluginViewQt.cpp:
695 (WebCore::PluginView::invalidateRect):
696 * plugins/win/PluginViewWin.cpp:
697 (WebCore::PluginView::invalidateRect):
698 (WebCore::PluginView::invalidateRegion):
699 * rendering/RenderLayer.cpp:
700 (WebCore::RenderLayer::invalidateScrollbarRect):
701 * rendering/RenderLayer.h:
702 * rendering/RenderListBox.cpp:
703 (WebCore::RenderListBox::paintObject):
704 (WebCore::RenderListBox::paintScrollbar):
705 (WebCore::RenderListBox::invalidateScrollbarRect):
706 * rendering/RenderListBox.h:
707
mitz@apple.com0203bbe2008-10-03 06:20:41 +00007082008-10-02 Dan Bernstein <mitz@apple.com>
709
710 Reviewed by Geoffrey Garen and Sam Weinig.
711
712 - fix SVGFontFaceElement leaks seen in Acid3
713 - make font-face elements take effect only when they are in the document tree
714
715 Test: svg/custom/font-face-not-in-document.svg
716
717 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
718 RefPtr to a plain pointer to break a ref cycle.
719 (WebCore::SVGFontData::svgFontFaceElement):
720
721 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
722 @font-face rule from the document's mapped element sheet when the
723 element is inserted and removed from the document, and to update it
724 only when the element is in the document.
725 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
726 (WebCore::SVGFontFaceElement::parseMappedAttribute):
727 (WebCore::SVGFontFaceElement::rebuildFontFace):
728 (WebCore::SVGFontFaceElement::insertedIntoDocument):
729 (WebCore::SVGFontFaceElement::removedFromDocument):
730 (WebCore::SVGFontFaceElement::childrenChanged):
731 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
732 * svg/SVGFontFaceElement.h:
733
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +00007342008-10-01 Simon Fraser <simon.fraser@apple.com>
735
736 Reviewed by Dave Hyatt
737
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +0000738 Fix RenderFileUploadControl::setStyle() and
739 RenderMenuList::setStyle() to not touch the style; replace
740 with html4.css and CSSStyleSelector changes.
741
742 https://bugs.webkit.org/show_bug.cgi?id=21287
743
744 * css/CSSStyleSelector.cpp:
745 (WebCore::CSSStyleSelector::adjustRenderStyle):
746 * css/html4.css:
747 * rendering/RenderBlock.cpp:
748 (WebCore::RenderBlock::setStyle):
749 * rendering/RenderFileUploadControl.cpp:
750 * rendering/RenderMenuList.cpp:
751 (WebCore::RenderMenuList::setStyle):
752
7532008-10-01 Simon Fraser <simon.fraser@apple.com>
754
755 Reviewed by Dave Hyatt
756
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +0000757 Clean up code that changes the RenderStyle passed in to
758 table renderer setStyle() methods.
759
760 https://bugs.webkit.org/show_bug.cgi?id=21287
761
762 Tests: fast/table/floating-th.html
763 fast/table/table-display-types-strict.html
764 fast/table/table-display-types.html
765
766 * css/CSSStyleSelector.cpp:
767 (WebCore::CSSStyleSelector::adjustRenderStyle):
768 * rendering/RenderTableCell.cpp:
769 (WebCore::RenderTableCell::setStyle):
770 * rendering/RenderTableRow.cpp:
771 (WebCore::RenderTableRow::setStyle):
772 * rendering/RenderTableSection.cpp:
773 (WebCore::RenderTableSection::setStyle):
774
darin@apple.comcb1ab082008-10-03 00:28:54 +00007752008-10-02 Darin Adler <darin@apple.com>
776
777 - fix build
778
779 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
780 Not just locally in my generated file!
781
adele@apple.comf0225902008-10-03 00:25:37 +00007822008-10-02 Adele Peterson <adele@apple.com>
783
784 Reviewed by Dan Bernstein.
785
786 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
787 REGRESSION: <input> color specified in inline style applies to placeholder
788
789 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
790 is more appropriate. This change adds "-webkit-input-placeholder".
791
792 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
793 Added definition for "-webkit-input-placeholder" pseudo element.
794 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
795 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
796 Added case for PseudoInputPlaceholder.
797 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
798 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
799
800 * html/HTMLInputElement.cpp:
801 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
802 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
803 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
804 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
805 * rendering/RenderTextControl.cpp:
806 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
807 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
808 the text will be updated correctly.
809 * rendering/RenderTextControl.h:
810
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +00008112008-10-02 Chris Fleizach <cfleizach@apple.com>
812
813 Reviewed by Darin Adler.
814
815 https://bugs.webkit.org/show_bug.cgi?id=21280
816 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
817
818 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
819 to ensure that there is more than one valid table cell, and that at least half of the cells
820 have borders or have specific background colors. Modified the table detection layout test
821 to test for the tables mentioned in the bug
822
823 * page/AccessibilityTable.cpp:
824 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
825
darin@apple.comb6295d42008-10-02 23:48:47 +00008262008-10-02 Darin Adler <darin@apple.com>
827
828 Reviewed by Geoff Garen.
829
830 - https://bugs.webkit.org/show_bug.cgi?id=21321
831 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
832
833 * bindings/js/GCController.cpp:
834 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
835 (WebCore::GCController::gcTimerFired): Ditto.
836 (WebCore::GCController::garbageCollectNow): Ditto.
837 * bindings/js/JSDOMWindowShell.cpp:
838 (WebCore::JSDOMWindowShell::operator new): Ditto.
839 * storage/Database.cpp:
840 (WebCore::Database::Database): Ditto.
841
mitz@apple.com833a6e72008-10-02 20:46:35 +00008422008-10-02 Dan Bernstein <mitz@apple.com>
843
844 Reviewed by Alexey Proskuryakov.
845
846 - fix a Database leak that resulted in Document leaks
847
848 * storage/Database.cpp:
849 (WebCore::Database::openDatabase): Account for the fact that RefCounted
850 objects start out with a ref count of 1.
851
weinig@apple.com77b7a0a2008-10-02 20:29:19 +00008522008-10-02 Sam Weinig <sam@webkit.org>
853
854 Reviewed by Mr. Geoffrey Garen.
855
856 Always mark your parent before marking members.
857
858 * bindings/js/JSDOMWindowCustom.cpp:
859 (WebCore::JSDOMWindow::mark):
860
hyatt@apple.com98682b32008-10-02 20:17:08 +00008612008-10-02 David Hyatt <hyatt@apple.com>
862
863 https://bugs.webkit.org/show_bug.cgi?id=21314
864
865 Make scrollBackingStore cross-platform.
866
867 Reviewed by Sam Weinig
868
869 * loader/EmptyClients.h:
870 (WebCore::EmptyChromeClient::repaint):
871 (WebCore::EmptyChromeClient::scroll):
872 * page/Chrome.cpp:
873 (WebCore::Chrome::repaint):
874 (WebCore::Chrome::scroll):
875 * page/Chrome.h:
876 * page/ChromeClient.h:
877 * page/EventHandler.cpp:
878 (WebCore::EventHandler::handleAutoscroll):
879 * platform/HostWindow.h:
880 * platform/ScrollView.cpp:
881 (WebCore::ScrollView::scrollContents):
882 (WebCore::ScrollView::addPanScrollIcon):
883 (WebCore::ScrollView::removePanScrollIcon):
884 * platform/ScrollView.h:
885 * platform/gtk/ScrollViewGtk.cpp:
886 * platform/qt/ScrollViewQt.cpp:
887 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
888 (WebCore::ScrollView::~ScrollView):
889 * platform/win/ScrollViewWin.cpp:
890 (WebCore::ScrollView::ScrollView):
891 (WebCore::ScrollView::~ScrollView):
892
kevino@webkit.org8ca54f22008-10-02 19:59:35 +00008932008-10-02 Kevin Ollivier <kevino@theolliviers.com>
894
895 wx build fixes after Frame/ScrollView changes.
896
897 * WebCoreSources.bkl:
898 * platform/wx/ScrollViewWx.cpp:
899 (WebCore::ScrollView::platformContentsToScreen):
900 (WebCore::ScrollView::platformScreenToContents):
901 (WebCore::ScrollView::platformIsOffscreen):
902
brettw@chromium.org83eadcc2008-10-02 19:33:42 +00009032008-10-02 Brett Wilson <brettw@chromium.org>
904
905 Reviewed by Sam Weinig
906
907 https://bugs.webkit.org/show_bug.cgi?id=21292
908
909 Revert the changes to enclosingIntRect made in r12530 since the new code
910 doesn't round correctly.
911
912 * ChangeLog:
913 * platform/graphics/FloatRect.cpp:
914 (WebCore::enclosingIntRect):
915
mitz@apple.com92dc01a2008-10-02 18:48:33 +00009162008-10-02 Dan Bernstein <mitz@apple.com>
917
918 Reviewed by Anders Carlsson and Eric Seidel.
919
920 - fix HTMLCanvaseElement leak from -webkit-canvas() values
921
922 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
923 pointer, as the document owns the canvas elements. Added code to release
924 those elements in Document::removedLastRef() because they reference
925 the document.
926
927 * css/CSSCanvasValue.cpp:
928 (WebCore::CSSCanvasValue::element):
929 * css/CSSCanvasValue.h:
930 (WebCore::CSSCanvasValue::CSSCanvasValue):
931 * dom/Document.cpp:
932 (WebCore::Document::removedLastRef):
933
ap@webkit.org44e40e42008-10-02 18:39:34 +00009342008-10-02 Alexey Proskuryakov <ap@webkit.org>
935
936 Reviewed by Maciej Stachowiak.
937
ap@webkit.orgdffca802008-10-02 18:40:40 +0000938 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +0000939
940 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
941 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
942 code is only needed for JS bindings in worker threads.
943
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +00009442008-10-01 David Hyatt <hyatt@apple.com>
945
946 https://bugs.webkit.org/show_bug.cgi?id=21298
947
948 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
949 will make that cross-platform.
950
951 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
952 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
953 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
954
955 Reviewed by Sam Weinig
956
957 * page/FrameView.cpp:
958 (WebCore::FrameView::windowClipRect):
959 (WebCore::FrameView::isActive):
960 * page/FrameView.h:
961 (WebCore::FrameView::visibleContentsResized):
962 * platform/PopupMenu.h:
963 * platform/ScrollView.cpp:
964 (WebCore::ScrollView::init):
965 (WebCore::ScrollView::destroy):
966 (WebCore::ScrollView::setHasHorizontalScrollbar):
967 (WebCore::ScrollView::setHasVerticalScrollbar):
968 (WebCore::ScrollView::valueChanged):
969 (WebCore::ScrollView::updateScrollbars):
970 (WebCore::ScrollView::scrollContents):
971 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
972 (WebCore::ScrollView::platformHandleVerticalAdjustment):
973 * platform/ScrollView.h:
974 * platform/Scrollbar.cpp:
975 (WebCore::Scrollbar::windowClipRect):
976 * platform/ScrollbarClient.h:
977 * platform/gtk/ScrollViewGtk.cpp:
978 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
979 (WebCore::ScrollView::platformHandleVerticalAdjustment):
980 * platform/qt/ScrollViewQt.cpp:
981 (WebCore::ScrollView::scrollContents):
982 * platform/win/PopupMenuWin.cpp:
983 (WebCore::PopupMenu::windowClipRect):
984 * platform/win/ScrollViewWin.cpp:
985 (WebCore::ScrollView::scrollContents):
986 * rendering/RenderLayer.cpp:
987 (WebCore::RenderLayer::windowClipRect):
988 * rendering/RenderLayer.h:
989 * rendering/RenderListBox.cpp:
990 (WebCore::RenderListBox::panScroll):
991 (WebCore::RenderListBox::windowClipRect):
992 * rendering/RenderListBox.h:
993
ap@webkit.org03710832008-10-02 16:18:56 +00009942008-10-02 Alexey Proskuryakov <ap@webkit.org>
995
996 Reviewed by Darin Adler.
997
998 https://bugs.webkit.org/show_bug.cgi?id=21304
999 Stop using a static wrapper map for WebCore JS bindings
1000
1001 The static domObjects map was not thread safe.
1002
1003 * dom/Document.h:
1004 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
1005 ports.
1006 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
1007
1008 * dom/Document.cpp:
1009 (WebCore::Document::createdXMLHttpRequest):
1010 (WebCore::Document::destroyedXMLHttpRequest):
1011 Moved XMLHttpRequest tracking from a global map to Document.
1012
1013 * GNUmakefile.am:
1014 * WebCore.pro:
1015 * WebCore.vcproj/WebCore.vcproj:
1016 * WebCore.xcodeproj/project.pbxproj:
1017 * WebCoreSources.bkl:
1018 * webcore-base.bkl:
1019 * bindings/DOMProtect.cpp: Removed.
1020 * bindings/DOMProtect.h: Removed.
1021 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
1022 so they can no longer protect bindings objects.
1023
1024 * dom/MessagePort.cpp:
1025 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
1026 (WebCore::CloseMessagePortTimer::fired):
1027 (WebCore::MessagePort::MessagePort):
1028 (WebCore::MessagePort::queueCloseEvent):
1029 (WebCore::MessagePort::setPendingActivity):
1030 (WebCore::MessagePort::unsetPendingActivity):
1031 * dom/MessagePort.h:
1032 (WebCore::MessagePort::hasPendingActivity):
1033 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
1034 to protect it.
1035
1036 * xml/XMLHttpRequest.h:
1037 (WebCore::XMLHttpRequest::hasPendingActivity):
1038 * xml/XMLHttpRequest.cpp:
1039 (WebCore::XMLHttpRequest::XMLHttpRequest):
1040 (WebCore::XMLHttpRequest::~XMLHttpRequest):
1041 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1042 (WebCore::XMLHttpRequest::dropProtection):
1043 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1044 (WebCore::XMLHttpRequest::cancelRequests):
1045 (WebCore::XMLHttpRequest::detachRequests):
1046 (WebCore::XMLHttpRequest::setPendingActivity):
1047 (WebCore::XMLHttpRequest::unsetPendingActivity):
1048 Moved XMLHttpRequest tracking from a global map to Document.
1049
1050 * bindings/js/JSDOMBinding.cpp:
1051 (WebCore::wrapperSet):
1052 (WebCore::DOMObjectWrapperMap::mapFor):
1053 (WebCore::DOMObjectWrapperMap::get):
1054 (WebCore::DOMObjectWrapperMap::set):
1055 (WebCore::DOMObjectWrapperMap::remove):
1056 (WebCore::getCachedDOMObjectWrapper):
1057 (WebCore::cacheDOMObjectWrapper):
1058 (WebCore::forgetDOMObject):
1059 (WebCore::getCachedDOMNodeWrapper):
1060 (WebCore::forgetDOMNode):
1061 (WebCore::cacheDOMNodeWrapper):
1062 (WebCore::markActiveObjectsForDocument):
1063 * bindings/js/JSDOMBinding.h:
1064 (WebCore::createDOMObjectWrapper):
1065 (WebCore::getDOMObjectWrapper):
1066 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
1067 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
1068 WebCore objects can never migrate between threads.
1069
1070 * bindings/js/JSDocumentCustom.cpp:
1071 (WebCore::JSDocument::mark):
1072 Call markActiveObjectsForDocument() from JSDOMBinding.
1073
1074 * bindings/js/JSCSSRuleCustom.cpp:
1075 (WebCore::toJS):
1076 * bindings/js/JSCSSValueCustom.cpp:
1077 (WebCore::toJS):
1078 * bindings/js/JSDOMWindowCustom.cpp:
1079 (WebCore::markDOMObjectWrapper):
1080 (WebCore::JSDOMWindow::mark):
1081 * bindings/js/JSEventCustom.cpp:
1082 (WebCore::toJS):
1083 * bindings/js/JSEventTarget.cpp:
1084 (WebCore::toJS):
1085 * bindings/js/JSHTMLCollectionCustom.cpp:
1086 (WebCore::toJS):
1087 * bindings/js/JSImageDataCustom.cpp:
1088 (WebCore::toJS):
1089 * bindings/js/JSMessageChannelCustom.cpp:
1090 (WebCore::JSMessageChannel::mark):
1091 * bindings/js/JSMessagePortCustom.cpp:
1092 (WebCore::JSMessagePort::mark):
1093 * bindings/js/JSNodeCustom.cpp:
1094 (WebCore::JSNode::mark):
1095 * bindings/js/JSSVGPathSegCustom.cpp:
1096 (WebCore::toJS):
1097 * bindings/js/JSStyleSheetCustom.cpp:
1098 (WebCore::toJS):
1099 * bindings/js/JSXMLHttpRequestCustom.cpp:
1100 (WebCore::JSXMLHttpRequest::mark):
1101 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1102 (WebCore::JSXMLHttpRequestUpload::mark):
1103 * bindings/js/ScriptController.cpp:
1104 (WebCore::ScriptController::finishedWithEvent):
1105 * bindings/scripts/CodeGeneratorJS.pm:
1106 Pass a JSGlobalData reference to functions that track JS wrapper objects.
1107
mitz@apple.coma2b6b112008-10-02 07:52:29 +000011082008-10-02 Dan Bernstein <mitz@apple.com>
1109
1110 - build fix
1111
1112 * page/JavaScriptCallFrame.idl:
1113
oliver@apple.com619d60b92008-10-02 07:35:21 +000011142008-10-02 Oliver Hunt <oliver@apple.com>
1115
1116 Reviewed by NOBODY (Build fix).
1117
1118 Add new file to project files
1119
1120 * GNUmakefile.am:
1121 * WebCore.pro:
1122 * WebCore.vcproj/WebCore.vcproj:
1123
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000011242008-10-02 Geoffrey Garen <ggaren@apple.com>
1125
1126 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +00001127
1128 Try to fix some more builds.
1129
1130 * GNUmakefile.am:
1131 * WebCore.pro:
1132
11332008-10-02 Geoffrey Garen <ggaren@apple.com>
1134
1135 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +00001136
1137 Try to fix Windows build.
1138
1139 * WebCore.vcproj/WebCore.vcproj:
1140
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +000011412008-10-01 Geoffrey Garen <ggaren@apple.com>
1142
1143 Reviewed by Darin Adler and Cameron Zwarich.
1144
1145 Updated for JavaScriptCore API changes: use a SourceCode instead of
1146 broken out parameters; treat sourceId as intptr_t.
1147
1148 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
1149 * bindings/js/JSXMLHttpRequestCustom.cpp:
1150 (WebCore::JSXMLHttpRequest::send):
1151 * bindings/js/ScriptController.cpp:
1152 (WebCore::ScriptController::evaluate):
1153 * bindings/js/StringSourceProvider.h:
1154 (WebCore::StringSourceProvider::create):
1155 (WebCore::StringSourceProvider::StringSourceProvider):
1156
1157 (WebCore::makeSource): Added a makeSource function for convenience.
1158
1159 * bindings/objc/WebScriptObject.mm:
1160 (-[WebScriptObject evaluateWebScript:]):
1161 * bridge/NP_jsobject.cpp:
1162 (_NPN_Evaluate):
1163 * bridge/jni/jni_jsobject.mm:
1164 (JavaJSObject::call):
1165 (JavaJSObject::eval):
1166 (JavaJSObject::getMember):
1167 (JavaJSObject::setMember):
1168 (JavaJSObject::removeMember):
1169
1170 * bridge/jni/jni_runtime.h:
1171 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
1172 ustring() function with an implicit operator because this class already
1173 holds a UString::rep.
1174
1175 * page/Console.cpp:
1176 (WebCore::retrieveLastCaller):
1177 (WebCore::Console::trace):
1178 * page/InspectorController.cpp:
1179 (WebCore::jsStringRef):
1180 (WebCore::InspectorController::addBreakpoint):
1181 (WebCore::InspectorController::removeBreakpoint):
1182 (WebCore::InspectorController::didParseSource):
1183 (WebCore::InspectorController::failedToParseSource):
1184 * page/InspectorController.h:
1185 * page/JavaScriptCallFrame.cpp:
1186 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
1187 * page/JavaScriptCallFrame.h:
1188 (WebCore::JavaScriptCallFrame::create):
1189 (WebCore::JavaScriptCallFrame::sourceIdentifier):
1190 (WebCore::JavaScriptCallFrame::update):
1191 * page/JavaScriptDebugListener.h:
1192 * page/JavaScriptDebugServer.cpp:
1193 (WebCore::JavaScriptDebugServer::addBreakpoint):
1194 (WebCore::JavaScriptDebugServer::removeBreakpoint):
1195 (WebCore::JavaScriptDebugServer::hasBreakpoint):
1196 (WebCore::dispatchDidParseSource):
1197 (WebCore::dispatchFailedToParseSource):
1198 (WebCore::JavaScriptDebugServer::sourceParsed):
1199 (WebCore::JavaScriptDebugServer::callEvent):
1200 (WebCore::JavaScriptDebugServer::atStatement):
1201 (WebCore::JavaScriptDebugServer::returnEvent):
1202 (WebCore::JavaScriptDebugServer::exception):
1203 (WebCore::JavaScriptDebugServer::willExecuteProgram):
1204 (WebCore::JavaScriptDebugServer::didExecuteProgram):
1205 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
1206 * page/JavaScriptDebugServer.h:
1207 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
1208 sourceIdentifier to sourceID.
1209
mitz@apple.com7a7f3142008-10-02 06:08:15 +000012102008-10-01 Dan Bernstein <mitz@apple.com>
1211
1212 Reviewed by Geoffrey Garen.
1213
1214 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
1215
1216 Broke a ref cycle by changing the m_svgFontFaceElement members of
1217 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
1218 pointers. Also made sure that the @font-face rule added by
1219 SVGFontFaceElement to the document's mapped element sheet is removed
1220 when the font-face element is deleted or moved to another document.
1221
1222 * css/CSSFontFaceSource.cpp:
1223 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
1224 (WebCore::CSSFontFaceSource::getFontData):
1225 * css/CSSFontFaceSource.h:
1226 (WebCore::CSSFontFaceSource::svgFontFaceElement):
1227 * css/CSSFontFaceSrcValue.h:
1228 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
1229 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
1230 * svg/SVGFontFaceElement.cpp:
1231 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
1232 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
1233 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
1234 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
1235 * svg/SVGFontFaceElement.h:
1236
oliver@apple.comd3de8f32008-10-02 05:02:00 +000012372008-10-01 Oliver Hunt <oliver@apple.com>
1238
1239 Reviewed by Maciej Stachowiak.
1240
1241 Bug 20315: Memory leak with Canvas getImageData
1242 <https://bugs.webkit.org/show_bug.cgi?id=20315>
1243
1244 This wasn't a leak, the issue was that we were reporting the cost
1245 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
1246 and we should have been reporting the cost when we create the
1247 JSImageData wrapper.
1248
1249 * WebCore.xcodeproj/project.pbxproj:
1250 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
1251 This was only needed to report the extra memory cost
1252 of the CPA.
1253 * bindings/js/JSImageDataCustom.cpp:
1254 (WebCore::toJS):
1255 We need a custom toJS function now so that we can report
1256 the extra memory cost.
1257 * bindings/scripts/CodeGeneratorJS.pm:
1258 Need to replace the reference to CanvasPixelArray with ImageData
1259 to be able to create the custom toJS implementation.
1260 * html/CanvasPixelArray.idl:
1261 * html/ImageData.idl:
1262
mitz@apple.come0642ce2008-10-02 04:54:06 +000012632008-10-01 Dan Bernstein <mitz@apple.com>
1264
1265 Reviewed by Mark Rowe.
1266
1267 - https://bugs.webkit.org/show_bug.cgi?id=21293
1268 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
1269
1270 * svg/SVGMarkerElement.cpp:
1271 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
1272 that renderer destruction happens before the SVGMarkerElement is
1273 destroyed.
1274 * svg/SVGSVGElement.cpp:
1275 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
1276
eric@webkit.orgbe40b812008-10-02 01:43:16 +000012772008-10-01 Evan Martin <evan@chromium.org>
1278
1279 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +00001280
1281 https://bugs.webkit.org/show_bug.cgi?id=20669
1282
1283 * css/makeprop.pl:
1284 Die if gperf fails.
1285
12862008-10-01 Evan Martin <evan@chromium.org>
1287
1288 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +00001289
1290 * loader/icon/IconDatabase.h:
1291 IconDatabase uses HashMap, so it needs to #include the header.
1292
mitz@apple.com0ff2a012008-10-02 00:48:54 +000012932008-10-01 Dan Bernstein <mitz@apple.com>
1294
1295 Reviewed by Mark Rowe.
1296
mitz@apple.comca0080b2008-10-02 01:35:05 +00001297 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
1298
1299 * loader/Cache.cpp:
1300 (WebCore::Cache::remove): Disable pruning temporarily during
1301 CachedResource deletion.
1302
13032008-10-01 Dan Bernstein <mitz@apple.com>
1304
1305 Reviewed by Mark Rowe.
1306
mitz@apple.com0ff2a012008-10-02 00:48:54 +00001307 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
1308
1309 * svg/SVGFontFaceElement.cpp:
1310 (WebCore::SVGFontFaceElement::rebuildFontFace):
1311 * svg/SVGFontFaceElement.h:
1312 (WebCore::SVGFontFaceElement::associatedFontElement):
1313
brettw@chromium.org87b0e122008-10-01 22:34:16 +000013142008-10-01 Brett Wilson <brettw@chromium.org>
1315
1316 Reviewed by Maciej Stachowiak.
1317
1318 Document the rounding behavior of the mapRect(IntRect) function in
1319 AffineTransform.h.
1320
1321 * platform/graphics/AffineTransform.h:
1322
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +000013232008-10-01 David Hyatt <hyatt@apple.com>
1324
1325 Move prohibitsScrolling from the Frame to the ScrollView.
1326
1327 Reviewed by Sam Weinig
1328
1329 * WebCore.base.exp:
1330 * page/Frame.cpp:
1331 (WebCore::FramePrivate::FramePrivate):
1332 * page/Frame.h:
1333 * page/FramePrivate.h:
1334 * page/FrameView.cpp:
1335 (WebCore::FrameView::scrollRectIntoViewRecursively):
1336 (WebCore::FrameView::setScrollPosition):
1337 * platform/ScrollView.cpp:
1338 (WebCore::ScrollView::init):
1339 (WebCore::ScrollView::scrollRectIntoViewRecursively):
1340 (WebCore::ScrollView::setScrollPosition):
1341 * platform/ScrollView.h:
1342 (WebCore::ScrollView::setProhibitsScrolling):
1343 (WebCore::ScrollView::prohibitsScrolling):
1344 * platform/gtk/ScrollViewGtk.cpp:
1345 (WebCore::ScrollView::updateScrollbars):
1346 * platform/qt/ScrollViewQt.cpp:
1347 (WebCore::ScrollView::updateScrollbars):
1348 * platform/win/ScrollViewWin.cpp:
1349 (WebCore::ScrollView::updateScrollbars):
1350
mrowe@apple.combffe15d2008-10-01 22:24:37 +000013512008-10-01 Mark Rowe <mrowe@apple.com>
1352
1353 Reviewed by Geoff Garen.
1354
1355 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
1356
1357 * xml/XMLHttpRequest.cpp:
1358 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
1359 that we do during the loadRequestAsynchronously of the preflight request with a deref and
1360 GC unprotect.
1361
hyatt@apple.com2f029122008-10-01 22:12:23 +000013622008-10-01 David Hyatt <hyatt@apple.com>
1363
1364 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
1365 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
1366
1367 Reviewed by Tim Hatcher
1368
1369 * WebCore.base.exp:
1370 * page/FrameView.cpp:
1371 (WebCore::FrameView::setCanHaveScrollbars):
1372 * page/FrameView.h:
1373 * platform/ScrollView.cpp:
1374 (WebCore::ScrollView::setCanHaveScrollbars):
1375 (WebCore::ScrollView::wheelEvent):
1376 * platform/ScrollView.h:
1377 (WebCore::ScrollView::canHaveScrollbars):
1378
mitz@apple.combebfaae2008-10-01 21:19:41 +000013792008-10-01 Dan Bernstein <mitz@apple.com>
1380
1381 Reviewed by Mark Rowe.
1382
1383 - fix some CachedResource leaks seen on buildbot
1384
1385 The issue here was that emptying the cache was a no-op when it only
1386 contained resources with no data. Changed to go after those
1387 resources when the desired cache capacity is zero.
1388
1389 * loader/Cache.cpp:
1390 (WebCore::Cache::pruneLiveResources):
1391 (WebCore::Cache::pruneDeadResources):
1392 * loader/Cache.h:
1393 (WebCore::Cache::prune):
1394
hyatt@apple.come72b16e2008-10-01 20:58:19 +000013952008-10-01 David Hyatt <hyatt@apple.com>
1396
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +00001397 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
1398 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
1399
1400 Reviewed by Adam Roben
1401
1402 * platform/ScrollView.cpp:
1403 (WebCore::ScrollView::isOffscreen):
1404 (WebCore::ScrollView::platformIsOffscreen):
1405 * platform/ScrollView.h:
1406 * platform/gtk/ScrollViewGtk.cpp:
1407 * platform/mac/ScrollViewMac.mm:
1408 (WebCore::ScrollView::platformIsOffscreen):
1409 * platform/qt/ScrollViewQt.cpp:
1410 * platform/wx/ScrollViewWx.cpp:
1411
14122008-10-01 David Hyatt <hyatt@apple.com>
1413
hyatt@apple.come72b16e2008-10-01 20:58:19 +00001414 Make show/hide/setParentVisible cross-platform on ScrollView.
1415
1416 Reviewed by Adam Roben
1417
1418 * platform/ScrollView.cpp:
1419 (WebCore::ScrollView::setParentVisible):
1420 (WebCore::ScrollView::show):
1421 (WebCore::ScrollView::hide):
1422 * platform/ScrollView.h:
1423 * platform/win/ScrollViewWin.cpp:
1424
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +000014252008-10-01 Kevin McCullough <kmccullough@apple.com>
1426
1427 Reviewed by Dan Bernstein.
1428
1429 https://bugs.webkit.org/show_bug.cgi?id=21284
1430 Bug 21284: Max height affects max width
1431 - Looks like a cut and paste bug
1432 - Added layout test fast/css/max-height-and-max-width.html
1433
1434 * css/CSSComputedStyleDeclaration.cpp:
1435 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1436
hyatt@apple.comfe9c1302008-10-01 20:34:07 +000014372008-10-01 David Hyatt <hyatt@apple.com>
1438
1439 https://bugs.webkit.org/show_bug.cgi?id=21282
1440
1441 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
1442
1443 Reviewed by Adam Roben
1444
1445 * loader/EmptyClients.h:
1446 (WebCore::EmptyChromeClient::screenToWindow):
1447 (WebCore::EmptyChromeClient::windowToScreen):
1448 * page/Chrome.cpp:
1449 (WebCore::Chrome::screenToWindow):
1450 (WebCore::Chrome::windowToScreen):
1451 * page/Chrome.h:
1452 * page/ChromeClient.h:
1453 * platform/HostWindow.h:
1454 * platform/ScrollView.cpp:
1455 (WebCore::ScrollView::contentsToScreen):
1456 (WebCore::ScrollView::screenToContents):
1457 (WebCore::ScrollView::platformContentsToScreen):
1458 (WebCore::ScrollView::platformScreenToContents):
1459 * platform/ScrollView.h:
1460 * platform/mac/ScrollViewMac.mm:
1461 (WebCore::ScrollView::platformContentsToScreen):
1462 (WebCore::ScrollView::platformScreenToContents):
1463 * platform/win/ScrollViewWin.cpp:
1464
mitz@apple.comf2ee2052008-10-01 20:31:19 +000014652008-10-01 Dan Bernstein <mitz@apple.com>
1466
1467 Reviewed by Darin Adler.
1468
1469 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
1470
1471 Test: fast/parser/residual-style-close-across-removed-block.html
1472
1473 * html/HTMLParser.cpp:
1474 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
1475 an assertion that turned out to be wrong in this case, and changed to
1476 terminate the algorithm at the first empty block.
1477
hyatt@apple.comc5a54f42008-10-01 19:23:05 +000014782008-10-01 David Hyatt <hyatt@apple.com>
1479
1480 Make setFrameRect on ScrollView cross-platform.
1481
1482 Reviewed by Sam Weinig
1483
1484 * page/FrameView.h:
1485 (WebCore::FrameView::contentsResized):
1486 * platform/ScrollView.cpp:
1487 (WebCore::ScrollView::setFrameRect):
1488 * platform/ScrollView.h:
1489 * platform/gtk/ScrollViewGtk.cpp:
1490 * platform/qt/ScrollViewQt.cpp:
1491 * platform/win/ScrollViewWin.cpp:
1492
weinig@apple.comab5c0172008-10-01 19:17:01 +000014932008-10-01 Sam Weinig <sam@webkit.org>
1494
1495 Reviewed by Adele Peterson.
1496
1497 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
1498 to JSDOMWindow from JSDOMWindowBase.
1499
1500 * WebCore.xcodeproj/project.pbxproj:
1501 * bindings/js/JSDOMWindowBase.cpp:
1502 (WebCore::JSDOMWindowBase::removeTimeout):
1503 * bindings/js/JSDOMWindowBase.h:
1504 * bindings/js/JSDOMWindowCustom.cpp:
1505 (WebCore::setTimeoutOrInterval):
1506 (WebCore::JSDOMWindow::setTimeout):
1507 (WebCore::JSDOMWindow::clearTimeout):
1508 (WebCore::JSDOMWindow::setInterval):
1509 (WebCore::JSDOMWindow::clearInterval):
1510 (WebCore::JSDOMWindow::atob):
1511 (WebCore::JSDOMWindow::btoa):
1512 * page/DOMWindow.idl:
1513
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +000015142008-10-01 Dan Bernstein <mitz@apple.com>
1515
1516 - Mac build fix
1517
1518 * WebCore.base.exp:
1519
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +000015202008-10-01 Timothy Hatcher <timothy@apple.com>
1521
1522 Prevent stealing focus from the search field when focusing a DOM node.
1523
1524 https://bugs.webkit.org/show_bug.cgi?id=21275
1525
1526 Reviewed by Kevin McCullough.
1527
1528 * page/inspector/ElementsPanel.js:
1529 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
1530 Don't steal focus if the current focus element is the search field.
1531
weinig@apple.com841594d2008-10-01 07:27:49 +000015322008-09-30 Sam Weinig <sam@webkit.org>
1533
1534 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
1535
1536 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
1537 Autogenerate JS event listeners
1538
1539 - Generate getting/setting of EventListeners.
1540
1541 - Adding a new named EventListener now has the same process as adding any other DOM
1542 attribute. (Add a method with the same name in the c++ file).
1543
1544 (The EventListeners for MessagePort have been intentionally left custom so that we
1545 can continue to experiment with making those EventListeners work in a frame-less world.)
1546
1547 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
1548 * bindings/js/JSDOMWindowCustom.cpp: ditto.
1549 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
1550 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
1551 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
1552 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
1553 getter/setters
1554 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
1555 * dom/EventTargetNode.h: ditto.
1556 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
1557 will use JSEventListerner instead of JSUnprotectedEventListener.
1558 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
1559 * page/DOMWindow.cpp: Add getter/setters for named EventListener
1560 * page/DOMWindow.h: ditto.
1561 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
1562 will use JSEventListerner instead of JSUnprotectedEventListener.
1563 * xml/XMLHttpRequest.idl: Remove custom attributes.
1564 * xml/XMLHttpRequestUpload.idl: ditto.
1565
mrowe@apple.comfed78312008-10-01 06:53:49 +000015662008-09-30 Mark Rowe <mrowe@apple.com>
1567
1568 Reviewed by Dan Bernstein.
1569
1570 Add a leak counter for CachedResources since we've had two recent leaks involving them.
1571
1572 * loader/CachedResource.cpp:
1573 (WebCore::CachedResource::CachedResource):
1574 (WebCore::CachedResource::~CachedResource):
1575
mitz@apple.com19b93112008-10-01 06:25:17 +000015762008-09-30 Dan Bernstein <mitz@apple.com>
1577
1578 Reviewed by Dave Hyatt.
1579
1580 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
1581 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
1582
1583 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
1584 the font name in memory.
1585
1586 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
1587 OpenTypeUtilities.*.
1588
1589 * platform/graphics/win/FontCustomPlatformData.cpp:
1590 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
1591 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
1592 used.
1593 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
1594 for fonts loaded using AddFontMemResourceEx.
1595 (WebCore::createFontCustomPlatformData): Added a call to
1596 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
1597 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
1598 fontPlatformData() will retrieve the name from the font reference.
1599
1600 * platform/graphics/win/FontCustomPlatformData.h:
1601 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
1602 font name member.
1603
1604 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
1605 * platform/graphics/win/GetEOTHeader.h: Renamed.
1606
1607 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
1608 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
1609 (WebCore::BigEndianULong::BigEndianULong): Ditto.
1610 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
1611 the font data and modifies it to have the given name, then activates
1612 it using AddFontMemResourceEx.
1613
1614 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
1615
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000016162008-09-30 Mark Rowe <mrowe@apple.com>
1617
1618 Reviewed by Dan Bernstein.
1619
1620 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
1621
1622 * rendering/RenderObject.cpp:
1623 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
1624 with calls to removeClient when we're being destroyed.
1625
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000016262008-09-30 Eric Carlson <eric.carlson@apple.com>
1627
mrowe@apple.com12cb8c22008-10-01 06:09:28 +00001628 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +00001629
1630 https://bugs.webkit.org/show_bug.cgi?id=21243
1631
1632 Fix loopstart and loopend default values.
1633
1634 Tests: media/loopend-limits.html
1635 media/loopstart-limits.html
1636
1637 * html/HTMLMediaElement.cpp:
1638 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
1639 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
1640
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +000016412008-09-30 Kevin Ollivier <kevino@theolliviers.com>
1642
1643 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
1644
1645 * WebCoreSources.bkl:
1646 * platform/wx/ScrollViewWx.cpp:
1647 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
1648
mitz@apple.com17145582008-10-01 04:43:07 +000016492008-09-30 Dan Bernstein <mitz@apple.com>
1650
1651 Reviewed by Sam Weinig.
1652
1653 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
1654 was fixed in r17249 and re-introduced in r31435.
1655
1656 * html/HTMLViewSourceDocument.cpp:
1657 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
1658 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
1659 (WebCore::HTMLViewSourceDocument::addLine):
1660 (WebCore::HTMLViewSourceDocument::addLink):
1661 * html/HTMLViewSourceDocument.h:
1662
weinig@apple.com42d87a62008-10-01 00:39:19 +000016632008-09-30 Sam Weinig <sam@webkit.org>
1664
1665 Reviewed by Eric Seidel.
1666
1667 More for https://bugs.webkit.org/show_bug.cgi?id=21122
1668 Autogenerate JS event listeners
1669
1670 - Make EventListener getter/setters names in c++ files match those in
1671 JS (ie. onLoadListener -> onload).
1672 - Add standard way to access the frame associated with the EventTarget
1673 for EventListener lookup.
1674 - Autogenerate dispatchEvent, it wasn't doing anything custom.
1675
1676 * bindings/js/JSDOMApplicationCacheCustom.cpp:
1677 (WebCore::JSDOMApplicationCache::mark):
1678 (WebCore::JSDOMApplicationCache::addEventListener):
1679 (WebCore::JSDOMApplicationCache::removeEventListener):
1680 (WebCore::JSDOMApplicationCache::setOnchecking):
1681 (WebCore::JSDOMApplicationCache::onchecking):
1682 (WebCore::JSDOMApplicationCache::setOnerror):
1683 (WebCore::JSDOMApplicationCache::onerror):
1684 (WebCore::JSDOMApplicationCache::setOnnoupdate):
1685 (WebCore::JSDOMApplicationCache::onnoupdate):
1686 (WebCore::JSDOMApplicationCache::setOndownloading):
1687 (WebCore::JSDOMApplicationCache::ondownloading):
1688 (WebCore::JSDOMApplicationCache::setOnprogress):
1689 (WebCore::JSDOMApplicationCache::onprogress):
1690 (WebCore::JSDOMApplicationCache::setOnupdateready):
1691 (WebCore::JSDOMApplicationCache::onupdateready):
1692 (WebCore::JSDOMApplicationCache::setOncached):
1693 (WebCore::JSDOMApplicationCache::oncached):
1694 * bindings/js/JSEventTargetNodeCustom.cpp:
1695 (WebCore::JSEventTargetNode::addEventListener):
1696 (WebCore::JSEventTargetNode::removeEventListener):
1697 (WebCore::JSEventTargetNode::getListener):
1698 (WebCore::JSEventTargetNode::setListener):
1699 * bindings/js/JSMessagePortCustom.cpp:
1700 (WebCore::JSMessagePort::mark):
1701 (WebCore::JSMessagePort::addEventListener):
1702 (WebCore::JSMessagePort::removeEventListener):
1703 (WebCore::JSMessagePort::setOnmessage):
1704 (WebCore::JSMessagePort::onmessage):
1705 (WebCore::JSMessagePort::setOnclose):
1706 (WebCore::JSMessagePort::onclose):
1707 * bindings/js/JSXMLHttpRequestCustom.cpp:
1708 (WebCore::JSXMLHttpRequest::mark):
1709 (WebCore::JSXMLHttpRequest::onreadystatechange):
1710 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
1711 (WebCore::JSXMLHttpRequest::onabort):
1712 (WebCore::JSXMLHttpRequest::setOnabort):
1713 (WebCore::JSXMLHttpRequest::onerror):
1714 (WebCore::JSXMLHttpRequest::setOnerror):
1715 (WebCore::JSXMLHttpRequest::onload):
1716 (WebCore::JSXMLHttpRequest::setOnload):
1717 (WebCore::JSXMLHttpRequest::onloadstart):
1718 (WebCore::JSXMLHttpRequest::setOnloadstart):
1719 (WebCore::JSXMLHttpRequest::onprogress):
1720 (WebCore::JSXMLHttpRequest::setOnprogress):
1721 (WebCore::JSXMLHttpRequest::addEventListener):
1722 (WebCore::JSXMLHttpRequest::removeEventListener):
1723 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1724 (WebCore::JSXMLHttpRequestUpload::mark):
1725 (WebCore::JSXMLHttpRequestUpload::onabort):
1726 (WebCore::JSXMLHttpRequestUpload::setOnabort):
1727 (WebCore::JSXMLHttpRequestUpload::onerror):
1728 (WebCore::JSXMLHttpRequestUpload::setOnerror):
1729 (WebCore::JSXMLHttpRequestUpload::onload):
1730 (WebCore::JSXMLHttpRequestUpload::setOnload):
1731 (WebCore::JSXMLHttpRequestUpload::onloadstart):
1732 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
1733 (WebCore::JSXMLHttpRequestUpload::onprogress):
1734 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
1735 (WebCore::JSXMLHttpRequestUpload::addEventListener):
1736 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1737 * bindings/scripts/CodeGeneratorJS.pm:
1738 * dom/EventTarget.h:
1739 * dom/EventTargetNode.cpp:
1740 (WebCore::EventTargetNode::associatedFrame):
1741 * dom/EventTargetNode.h:
1742 * dom/EventTargetNode.idl:
1743 * dom/MessagePort.cpp:
1744 (WebCore::MessagePort::associatedFrame):
1745 * dom/MessagePort.h:
1746 (WebCore::MessagePort::setOnmessage):
1747 (WebCore::MessagePort::onmessage):
1748 (WebCore::MessagePort::setOnclose):
1749 (WebCore::MessagePort::onclose):
1750 * dom/MessagePort.idl:
1751 * loader/appcache/DOMApplicationCache.h:
1752 (WebCore::DOMApplicationCache::setOnchecking):
1753 (WebCore::DOMApplicationCache::onchecking):
1754 (WebCore::DOMApplicationCache::setOnerror):
1755 (WebCore::DOMApplicationCache::onerror):
1756 (WebCore::DOMApplicationCache::setOnnoupdate):
1757 (WebCore::DOMApplicationCache::onnoupdate):
1758 (WebCore::DOMApplicationCache::setOndownloading):
1759 (WebCore::DOMApplicationCache::ondownloading):
1760 (WebCore::DOMApplicationCache::setOnprogress):
1761 (WebCore::DOMApplicationCache::onprogress):
1762 (WebCore::DOMApplicationCache::setOnupdateready):
1763 (WebCore::DOMApplicationCache::onupdateready):
1764 (WebCore::DOMApplicationCache::setOncached):
1765 (WebCore::DOMApplicationCache::oncached):
1766 (WebCore::DOMApplicationCache::associatedFrame):
1767 * loader/appcache/DOMApplicationCache.idl:
1768 * svg/EventTargetSVGElementInstance.cpp:
1769 (WebCore::EventTargetSVGElementInstance::associatedFrame):
1770 (WebCore::EventTargetSVGElementInstance::addEventListener):
1771 (WebCore::EventTargetSVGElementInstance::removeEventListener):
1772 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
1773 * svg/EventTargetSVGElementInstance.h:
1774 * xml/XMLHttpRequest.cpp:
1775 (WebCore::XMLHttpRequest::associatedFrame):
1776 * xml/XMLHttpRequest.h:
1777 (WebCore::XMLHttpRequest::setOnreadystatechange):
1778 (WebCore::XMLHttpRequest::onreadystatechange):
1779 (WebCore::XMLHttpRequest::setOnabort):
1780 (WebCore::XMLHttpRequest::onabort):
1781 (WebCore::XMLHttpRequest::setOnerror):
1782 (WebCore::XMLHttpRequest::onerror):
1783 (WebCore::XMLHttpRequest::setOnload):
1784 (WebCore::XMLHttpRequest::onload):
1785 (WebCore::XMLHttpRequest::setOnloadstart):
1786 (WebCore::XMLHttpRequest::onloadstart):
1787 (WebCore::XMLHttpRequest::setOnprogress):
1788 (WebCore::XMLHttpRequest::onprogress):
1789 * xml/XMLHttpRequest.idl:
1790 * xml/XMLHttpRequestUpload.cpp:
1791 (WebCore::XMLHttpRequestUpload::associatedFrame):
1792 * xml/XMLHttpRequestUpload.h:
1793 (WebCore::XMLHttpRequestUpload::setOnabort):
1794 (WebCore::XMLHttpRequestUpload::onabort):
1795 (WebCore::XMLHttpRequestUpload::setOnerror):
1796 (WebCore::XMLHttpRequestUpload::onerror):
1797 (WebCore::XMLHttpRequestUpload::setOnload):
1798 (WebCore::XMLHttpRequestUpload::onload):
1799 (WebCore::XMLHttpRequestUpload::setOnloadstart):
1800 (WebCore::XMLHttpRequestUpload::onloadstart):
1801 (WebCore::XMLHttpRequestUpload::setOnprogress):
1802 (WebCore::XMLHttpRequestUpload::onprogress):
1803 * xml/XMLHttpRequestUpload.idl:
1804
darin@apple.com9451b7f2008-10-01 00:38:06 +000018052008-09-30 Darin Adler <darin@apple.com>
1806
1807 - roll out assertion breaking regression tests
1808
1809 * platform/ScrollView.cpp:
1810 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
1811 that fires in regression tests. Hyatt can add it back later. The assertion
1812 fires in the regression test because of layout that triggers repaint occuring
1813 during the process of removing a frame.
1814
adele@apple.comed74a6e2008-09-30 23:21:50 +000018152008-09-30 Adele Peterson <adele@apple.com>
1816
1817 Reviewed by Darin Adler.
1818
1819 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
1820 <rdar://problem/6222134> add a way to set color for input placeholder text
1821
1822 Test: fast/forms/placeholder-pseudo-style.html
1823
1824 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
1825 input elements when they are displaying the placeholder text.
1826
1827 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
1828 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
1829 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1830 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
1831 * css/html4.css: Add rule to make placeholder text default to darkGray.
1832
1833 * html/HTMLInputElement.cpp:
1834 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
1835 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
1836 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
1837 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
1838 (WebCore::HTMLInputElement::setValue): ditto.
1839 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
1840 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
1841 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
1842 renderer will just ask the node if it should draw the placeholder.
1843 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
1844
1845 * rendering/RenderTextControl.cpp:
1846 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
1847 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
1848 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
1849 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
1850 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
1851 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
1852 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
1853 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
1854 * rendering/RenderTextControl.h:
1855
bdakin@apple.com31845c52008-09-30 23:19:53 +000018562008-09-30 Beth Dakin <bdakin@apple.com>
1857
1858 Reviewed by Darin Adler.
1859
1860 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
1861 by failed allocation due to invalid counter/attr
1862 and corresponding: <rdar://problem/6152371>
1863
1864 * css/CSSParser.cpp:
1865 (WebCore::CSSParser::parseCounterContent): The spec indicates that
1866 only identifiers should be accepted here.
1867
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000018682008-09-30 Kevin McCullough <kmccullough@apple.com>
1869
kmccullough@apple.com88219342008-09-30 22:33:30 +00001870 Reviewed by Oliver Hunt.
1871
1872 Bug 21255: console.profileEnd() without a console.profile() crashes the
1873 web inspector
1874
1875 * page/Console.cpp:
1876 (WebCore::Console::profileEnd):
1877
18782008-09-30 Kevin McCullough <kmccullough@apple.com>
1879
kmccullough@apple.com86834eb2008-09-30 22:31:46 +00001880 Reviewed by Tim Hatcher.
1881
1882 Bug 21252: calling console.profile() with a title that is 2 chars or
1883 shorter does not linkify it
1884
1885 - Previously we tried to not linkify very short URLs but since profile
1886 titles can be any length this is not always true.
1887
1888 * page/inspector/inspector.js:
1889
hyatt@apple.comda9b3072008-09-30 21:30:56 +000018902008-09-30 Dave Hyatt <hyatt@apple.com>
1891
1892 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
1893 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
1894 (1) Not used on Mac
1895 (2) Used on Windows
1896 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
1897 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
1898 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
1899
1900 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
1901 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
1902 With the changes to this method, the new behavior is as follows:
1903 (1) Not used on Mac
1904 (2) Used on Windows
1905 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
1906 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
1907 (5) Not used on wx
1908
1909 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
1910 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
1911
1912 Reviewed by Sam Weinig
1913
1914 * ChangeLog:
1915 * dom/Document.cpp:
1916 (WebCore::Document::implicitClose):
1917 * platform/HostWindow.h:
1918 (WebCore::HostWindow::paint):
1919 * platform/ScrollView.h:
1920 * platform/gtk/ScrollViewGtk.cpp:
1921 * platform/mac/ScrollViewMac.mm:
1922 * platform/qt/ScrollViewQt.cpp:
1923 * platform/win/ScrollViewWin.cpp:
1924 * platform/wx/ScrollViewWx.cpp:
1925
timothy@apple.com92560da2008-09-30 20:57:49 +000019262008-09-30 Timothy Hatcher <timothy@apple.com>
1927
timothy@apple.com26fefbf2008-09-30 20:57:55 +00001928 Focus the DOM tree in the Web Inspector when a node is inspected.
1929 So when the search field has focus, the focus moves to the tree,
1930 allowing the arrow keys work. This can happen when using the new
1931 find in page feature.
1932
1933 https://bugs.webkit.org/show_bug.cgi?id=21251
1934
1935 Reviewed by Geoff Garen.
1936
1937 * page/inspector/ElementsPanel.js:
1938 (WebInspector.ElementsPanel): Set currentFocusElement to
1939 the main-panels element if the panel is visible.
1940 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
1941 Remove a set of currentFocusElement since this moved.
1942 * page/inspector/inspector.js:
1943 (WebInspector.set currentFocusElement): Always focus the element.
1944 This ensures that when focus changes in the page and we don't
1945 catch it, we will still focus the elements even if we think it
1946 was already focused.
1947
19482008-09-30 Timothy Hatcher <timothy@apple.com>
1949
timothy@apple.com92560da2008-09-30 20:57:49 +00001950 Make the Web Inspector's toolbar icons darker when the mouse is
1951 pressed on them. This matches the standard NSToolbar look.
1952
1953 https://bugs.webkit.org/show_bug.cgi?id=21249
1954 rdar://problem/6033752
1955
1956 Reviewed by Adam Roben.
1957
1958 * page/inspector/Images/databasesIcon.png:
1959 * page/inspector/Images/elementsIcon.png:
1960 * page/inspector/Images/profilesIcon.png:
1961 * page/inspector/Images/resourcesIcon.png:
1962 * page/inspector/Images/scriptsIcon.png:
1963 * page/inspector/Panel.js:
1964 * page/inspector/inspector.css:
1965
kmccullough@apple.com622724e2008-09-30 20:26:29 +000019662008-09-30 Kevin McCullough <kmccullough@apple.com>
1967
1968 Reviewed by Tim Hatcher.
1969
1970 Bug 21139: Profiler log message is wrong
1971 - Correctly fix =(
1972 Don't call _format twice.
1973
1974 * page/Page.h:
1975 * page/inspector/Console.js:
1976 * page/inspector/ProfilesPanel.js:
1977 * page/inspector/inspector.js:
1978
hyatt@apple.com70936b52008-09-30 20:09:42 +000019792008-09-30 Dave Hyatt <hyatt@apple.com>
1980
1981 http://bugs.webkit.org/show_bug.cgi?id=21250
1982
1983 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
1984 repaints up through the ChromeClient.
1985
1986 Reviewed by Darin Adler
1987
1988 * loader/EmptyClients.h:
1989 (WebCore::EmptyChromeClient::repaint):
1990 * page/Chrome.cpp:
1991 (WebCore::Chrome::repaint):
1992 * page/Chrome.h:
1993 * page/ChromeClient.h:
1994 * page/FrameView.cpp:
1995 (WebCore::FrameView::hostWindow):
1996 (WebCore::FrameView::repaintContentRectangle):
1997 * page/FrameView.h:
1998 * platform/HostWindow.h:
1999 * platform/ScrollView.cpp:
2000 (WebCore::ScrollView::repaintContentRectangle):
2001 (WebCore::ScrollView::platformRepaintContentRectangle):
2002 * platform/ScrollView.h:
2003 * platform/gtk/ScrollViewGtk.cpp:
2004 * platform/mac/ScrollViewMac.mm:
2005 (WebCore::ScrollView::platformRepaintContentRectangle):
2006 * platform/qt/ScrollViewQt.cpp:
2007 * platform/win/ScrollViewWin.cpp:
2008 * platform/wx/ScrollViewWx.cpp:
2009 (WebCore::ScrollView::platformRepaintContentRectangle):
2010
ap@webkit.org8b67da02008-09-30 17:58:10 +000020112008-09-30 Alexey Proskuryakov <ap@webkit.org>
2012
2013 Non-Mac build fixes.
2014
2015 * GNUmakefile.am:
2016 * WebCore.pro:
2017 * WebCore.vcproj/WebCore.vcproj:
2018 * WebCoreSources.bkl:
2019 * webcore-base.bkl:
2020 Added DOMProtect.{cpp,h}.
2021
kdecker@apple.comdafe5102008-09-30 17:40:02 +000020222008-09-39 Kevin Decker <kdecker@apple.com>
2023
2024 Reviewed by John Sullivan.
2025
2026 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
2027 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
2028
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +000020292008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
2030
2031 Reviewed by Maciej Stachowiak.
2032
2033 Bug 21106: .in format discussed changes
2034 https://bugs.webkit.org/show_bug.cgi?id=21106
2035
2036 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
2037 is the only namespace used.
2038
2039 - Removed "generateFactory" and "generateWrapperFactory" parameters and
2040 re-introduced the command line options.
2041
2042 - Cleaned up the output of make_names.pl (removed unneeded new line).
2043
2044 * DerivedSources.make: Added factories command line options.
2045 * GNUmakefile.am: Ditto.
2046 * WebCore.pro: Ditto and removed some arguments that were migrated to
2047 the .in files.
2048
2049 * dom/make_names.pl: Clean up (see above).
2050
2051 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
2052 and "generateWrapperFactory" occurences.
2053 * html/HTMLTagNames.in: Ditto.
2054 * svg/svgattrs.in: Ditto.
2055 * svg/svgtags.in: Ditto.
2056 * svg/xlinkattrs.in: Ditto.
2057 * xml/xmlattrs.in: Ditto.
2058
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +000020592008-09-29 Chris Fleizach <cfleizach@apple.com>
2060
2061 Reviewed by John Sullivan.
2062
2063 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
2064 Make sure that certain types of elements do not return children and, moreover, do not waste their
2065 energy trying to return children
2066
2067 Test: accessibility/nochildren-elements.html
2068
2069 * page/AccessibilityObject.h:
2070 (WebCore::AccessibilityObject::canHaveChildren):
2071 * page/AccessibilityRenderObject.cpp:
2072 (WebCore::AccessibilityRenderObject::canHaveChildren):
2073 (WebCore::AccessibilityRenderObject::addChildren):
2074 * page/AccessibilityRenderObject.h:
2075
ap@webkit.orga0c037c2008-09-30 15:52:06 +000020762008-09-30 Alexey Proskuryakov <ap@webkit.org>
2077
2078 Reviewed by Sam Weinig.
2079
2080 https://bugs.webkit.org/show_bug.cgi?id=21213
2081 MessagePort crash when GC collects an object with a pending close event
2082
2083 Test: fast/events/message-channel-gc-2.html
2084 fast/events/message-channel-listener-circular-ownership.html
2085
2086 * bindings/DOMProtect.cpp: Added.
2087 (WebCore::gcProtectDOMObject):
2088 (WebCore::gcUnprotectDOMObject):
2089 * bindings/DOMProtect.h: Added.
2090 Added an abstraction for GC protection to avoid the need to call JS bindings code from
2091 DOM objects directly.
2092
2093 * dom/MessagePort.cpp:
2094 (WebCore::CloseMessagePortTimer::fired):
2095 (WebCore::MessagePort::queueCloseEvent):
2096 GC protect MessagePort wrapper while there is a pending close event.
2097 This may be necessary for message events, too, but that case is not a crasher, and actually
2098 behaves to the letter of the current HTML5 text, so I'll consider it later.
2099
2100 * xml/XMLHttpRequest.cpp:
2101 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2102 (WebCore::XMLHttpRequest::dropProtection):
2103 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
2104
2105 * bindings/js/JSMessagePortCustom.cpp:
2106 (WebCore::JSMessagePort::addEventListener):
2107 (WebCore::JSMessagePort::removeEventListener):
2108 (WebCore::JSMessagePort::setOnmessage):
2109 (WebCore::JSMessagePort::setOnclose):
2110 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
2111 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
2112
2113 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2114 (WebCore::JSXMLHttpRequestUpload::mark):
2115 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
2116 from XMLHttpRequest.
2117
aroben@apple.comd2272012008-09-30 14:17:28 +000021182008-09-30 Adam Roben <aroben@apple.com>
2119
2120 Windows build fix
2121
2122 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
2123
weinig@apple.comd516a572008-09-30 07:01:45 +000021242008-09-29 Sam Weinig <sam@webkit.org>
2125
2126 Reviewed by Tim Hatcher.
2127
2128 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
2129 Autogenerate JS event listeners
2130
2131 - Generate EventTargetNode.
2132
2133 * DerivedSources.make:
2134 * GNUmakefile.am:
2135 * WebCore.pro:
2136 * WebCore.vcproj/WebCore.vcproj:
2137 * WebCore.xcodeproj/project.pbxproj:
2138 * WebCoreSources.bkl:
2139 * bindings/js/JSEventListener.cpp:
2140 * bindings/js/JSEventTarget.cpp: Added.
2141 (WebCore::toJS):
2142 * bindings/js/JSEventTarget.h: Added.
2143 * bindings/js/JSEventTargetBase.cpp: Removed.
2144 * bindings/js/JSEventTargetBase.h:
2145 * bindings/js/JSEventTargetNode.cpp: Removed.
2146 * bindings/js/JSEventTargetNode.h: Removed.
2147 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
2148 (WebCore::JSEventTargetNode::addEventListener):
2149 (WebCore::JSEventTargetNode::removeEventListener):
2150 (WebCore::JSEventTargetNode::dispatchEvent):
2151 (WebCore::JSEventTargetNode::getListener):
2152 (WebCore::JSEventTargetNode::setListener):
2153 (WebCore::JSEventTargetNode::pushEventHandlerScope):
2154 * bindings/js/JSEventTargetSVGElementInstance.cpp:
2155 (WebCore::):
2156 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
2157 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
2158 (jsEventTargetAddEventListener):
2159 (jsEventTargetRemoveEventListener):
2160 (jsEventTargetDispatchEvent):
2161 * bindings/js/JSEventTargetSVGElementInstance.h:
2162 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
2163 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
2164 * bindings/scripts/CodeGeneratorJS.pm:
2165 * dom/EventTargetNode.idl: Added.
2166
darin@apple.com8d35fe02008-09-30 01:14:26 +000021672008-09-29 Darin Adler <darin@apple.com>
2168
2169 Reviewed by Sam Weinig.
2170
2171 - https://bugs.webkit.org/show_bug.cgi?id=21214
2172 work on getting rid of ExecState
2173
2174 * bindings/js/JSDOMWindowBase.cpp:
2175 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
2176 for base class constructor.
2177
hyatt@apple.com4ba85692008-09-30 00:42:25 +000021782008-09-29 David Hyatt <hyatt@apple.com>
2179
2180 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
2181 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
2182 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
2183 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
2184
2185 Reviewed by Sam Weinig
2186
2187 * WebCore.xcodeproj/project.pbxproj:
2188 * page/Chrome.h:
2189 * platform/HostWindow.h: Added.
2190 (WebCore::HostWindow::HostWindow):
2191 (WebCore::HostWindow::~HostWindow):
2192
kdecker@apple.com0a129d72008-09-30 00:17:15 +000021932008-09-29 Kevin Decker <kdecker@apple.com>
2194
2195 Reviewed by Anders Carlsson.
2196
2197 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
2198 2000.
2199
mitz@apple.comd58d8382008-09-29 23:42:38 +000022002008-09-29 Dan Bernstein <mitz@apple.com>
2201
2202 Reviewed by Adam Roben.
2203
2204 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
2205
2206 * rendering/RenderThemeWin.cpp:
2207 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
2208 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
2209 unloaded, to avoid calling uxtheme.dll functions after that library has
2210 been unloaded.
2211 * rendering/RenderThemeWin.h:
2212
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +000022132008-09-29 Chris Fleizach <cfleizach@apple.com>
2214
2215 Reviewed by John Sullivan
2216
2217 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
2218
2219 Sends AXLoadComplete only when the top level web area is finished loading
2220
2221 * dom/Document.cpp:
2222 (WebCore::Document::implicitClose):
2223
timothy@apple.com96fff242008-09-29 22:34:10 +000022242008-09-29 Timothy Hatcher <timothy@apple.com>
2225
2226 Makes the node highlight always show up when hovering a node in
2227 the Web Inspector now that the highlight does not scroll to reveal
2228 the node. Also adds a hover effect in the inspector when hovering
2229 causes a highlight in the page. This ties the user hovering action
2230 to the highlight so it is clear what causes the highlight to appear.
2231
2232 Also the highlight now temporarily shows up for 2 seconds after
2233 selecting a node in the DOM tree. So arrowing around in the tree
2234 will show the node on the page, providing feedback to the user.
2235
2236 Plus fixes an issue where quickly moving away from hovering
2237 a node would keep showing the page highlight. This was happening
2238 in breadcrumbs and the DOM tree.
2239
2240 https://bugs.webkit.org/show_bug.cgi?id=21220
2241
2242 Reviewed by Kevin McCullough.
2243
2244 * page/inspector/Console.js:
2245 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
2246 hovering DOM nodes in the console.
2247 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
2248 (WebInspector.Console.prototype._formatnode): Use the new event
2249 listeners and add a class name to the anchor element.
2250 * page/inspector/ElementsPanel.js:
2251 (WebInspector.ElementsPanel): Add new event listeners to the
2252 crumbs element to do the node hovering highlight.
2253 (WebInspector.ElementsPanel.prototype.hide):
2254 (WebInspector.ElementsPanel.prototype.reset):
2255 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
2256 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
2257 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2258 * page/inspector/ElementsTreeOutline.js:
2259 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2260 Show the node hishlight for 2 seconds then restore the highlight
2261 to the current hovered node.
2262 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
2263 hovered node and set the hovered state on the tree element.
2264 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
2265 hovered node to null and removed the hovered state from the previous
2266 hovered tree element.
2267 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
2268 the hovered class to the list item.
2269 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
2270 * page/inspector/inspector.css:
2271 * page/inspector/inspector.js:
2272 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
2273 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
2274 causes the highlight to change sooner if there is one already showing
2275 and appear later if there isn't one showing. This is like tooltips,
2276 hovering a node for 500ms will cause highlight then mousing between nodes
2277 will keep the highlight and change to the new node.
2278 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
2279 always reset the timeout so continuous mousing does not keep flasshing
2280 the highlight on the screen.
2281 (WebInspector._updateHoverHighlight): Removed the alt key check and added
2282 the showingDOMNodeHighlight property.
2283 (WebInspector.documentKeyDown): Removed the alt key check.
2284 (WebInspector.documentKeyUp): Ditto.
2285 (WebInspector.reset): Clear the hoveredDOMNode.
2286
simon.fraser@apple.com8a565532008-09-29 22:04:38 +000022872008-09-29 Simon Fraser <simon.fraser@apple.com>
2288
2289 Reviewed by Anders Carlsson
2290
2291 Fix RenderStyle leak in animation code, and assert that
2292 keyframe resolution in CSSStyleSelector is not going to clobber
2293 m_style.
2294
2295 * css/CSSStyleSelector.cpp:
2296 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
2297 * page/animation/KeyframeAnimation.cpp:
2298 (WebCore::KeyframeAnimation::~KeyframeAnimation):
2299
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000023002008-09-29 Chris Marrin <cmarrin@apple.com>
2301
simon.fraser@apple.come979de02008-09-29 21:31:26 +00002302 Reviewed by Dave Hyatt
2303
2304 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
2305 Rewrite keyframe resolution to be like styleForElement()
2306
2307 Test: animations/lineheight-animation.html
2308
2309 * css/CSSStyleSelector.cpp:
2310 (WebCore::CSSStyleSelector::addKeyframeStyle):
2311 (WebCore::CSSStyleSelector::~CSSStyleSelector):
2312 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
2313 (WebCore::CSSRuleSet::addRulesFromSheet):
2314 (WebCore::CSSStyleSelector::mapAnimationName):
2315 * css/CSSStyleSelector.h:
2316 * page/animation/CompositeAnimation.cpp:
2317 (WebCore::CompositeAnimation::updateKeyframeAnimations):
2318 * page/animation/KeyframeAnimation.cpp:
2319 (WebCore::KeyframeAnimation::KeyframeAnimation):
2320 (WebCore::KeyframeAnimation::animate):
2321 (WebCore::KeyframeAnimation::hasAnimationForProperty):
2322 (WebCore::KeyframeAnimation::sendAnimationEvent):
2323 (WebCore::KeyframeAnimation::overrideAnimations):
2324 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
2325 (WebCore::KeyframeAnimation::affectsProperty):
2326 (WebCore::KeyframeAnimation::validateTransformFunctionList):
2327 * page/animation/KeyframeAnimation.h:
2328 * rendering/style/Animation.cpp:
2329 (WebCore::Animation::animationsMatch):
2330 * rendering/style/Animation.h:
2331 * rendering/style/KeyframeList.cpp:
2332 (WebCore::KeyframeList::~KeyframeList):
2333 (WebCore::KeyframeList::clear):
2334 (WebCore::KeyframeList::insert):
2335 * rendering/style/KeyframeList.h:
2336 (WebCore::KeyframeValue::KeyframeValue):
2337 (WebCore::KeyframeList::KeyframeList):
2338 (WebCore::KeyframeList::operator!=):
2339 (WebCore::KeyframeList::animationName):
2340 (WebCore::KeyframeList::addProperty):
2341 (WebCore::KeyframeList::containsProperty):
2342 (WebCore::KeyframeList::beginProperties):
2343 (WebCore::KeyframeList::endProperties):
2344 (WebCore::KeyframeList::isEmpty):
2345 (WebCore::KeyframeList::size):
2346 (WebCore::KeyframeList::beginKeyframes):
2347 (WebCore::KeyframeList::endKeyframes):
2348 * rendering/style/RenderStyle.h:
2349 * rendering/style/StyleRareNonInheritedData.cpp:
2350 * rendering/style/StyleRareNonInheritedData.h:
2351
23522008-09-29 Chris Marrin <cmarrin@apple.com>
2353
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +00002354 Reviewed by Eric Seidel
2355
simon.fraser@apple.comff913022008-09-29 21:24:52 +00002356 Clean up fix in PropertyWrapperGetter::equals
2357 https://bugs.webkit.org/show_bug.cgi?id=21011
2358
2359 Test: transitions/override-transition-crash.html
2360
2361 * page/animation/AnimationBase.cpp:
2362 (WebCore::PropertyWrapperGetter::equals):
2363 * page/animation/CompositeAnimation.cpp:
2364 (WebCore::CompositeAnimation::updateTransitions):
2365
23662008-09-29 Chris Marrin <cmarrin@apple.com>
2367
2368 Reviewed by Eric Seidel
2369
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +00002370 https://bugs.webkit.org/show_bug.cgi?id=21001
2371 Starting transition after animation, when animation
2372 is finished, transition is wrong.
2373
2374 Test: animations/transition-and-animation-2.html
2375
2376 * page/animation/AnimationBase.h:
2377 * page/animation/CompositeAnimation.cpp:
2378 (WebCore::CompositeAnimation::updateTransitions):
2379 (WebCore::CompositeAnimation::updateKeyframeAnimations):
2380 (WebCore::CompositeAnimation::resetTransitions):
2381 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
2382 * page/animation/ImplicitAnimation.cpp:
2383 (WebCore::ImplicitAnimation::ImplicitAnimation):
2384 (WebCore::ImplicitAnimation::~ImplicitAnimation):
2385 (WebCore::ImplicitAnimation::animate):
2386 (WebCore::ImplicitAnimation::reset):
2387 * page/animation/ImplicitAnimation.h:
2388
23892008-09-29 Chris Marrin <cmarrin@apple.com>
2390
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +00002391 Reviewed by Sam Weinig
2392
2393 https://bugs.webkit.org/show_bug.cgi?id=20921
2394 -webkit-animation-timing-function: inside of keyframes is ignored
2395
2396 Test: animations/keyframe-timing-functions.html
2397
2398 * page/animation/AnimationBase.cpp:
2399 (WebCore::AnimationBase::progress):
2400 * page/animation/AnimationBase.h:
2401 * page/animation/ImplicitAnimation.cpp:
2402 (WebCore::ImplicitAnimation::animate):
2403 * page/animation/KeyframeAnimation.cpp:
2404 (WebCore::KeyframeAnimation::animate):
2405
mitz@apple.com2449a052008-09-29 20:57:33 +000024062008-09-29 Dan Bernstein <mitz@apple.com>
2407
mitz@apple.com9a3e3c82008-09-29 21:04:54 +00002408 - Windows build fix
2409
2410 * platform/ScrollView.cpp:
2411 (WebCore::ScrollView::platformScroll):
2412
24132008-09-29 Dan Bernstein <mitz@apple.com>
2414
mitz@apple.com2449a052008-09-29 20:57:33 +00002415 - another attempt at a Windows build fix
2416
2417 * platform/ScrollView.cpp:
2418 (WebCore::platformScroll):
2419
24202008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +00002421
2422 - Windows build fix
2423
2424 * platform/ScrollView.cpp:
2425 (WebCore::ScrollView::platformSetScrollPosition):
2426
hyatt@apple.com90abd562008-09-29 19:46:37 +000024272008-09-29 David Hyatt <hyatt@apple.com>
2428
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +00002429 https://bugs.webkit.org/show_bug.cgi?id=21218
2430
2431 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
2432 It's silly that the code was this fragile, but for now just put the check back in.
2433
2434 Reviewed by Dan Bernstein
2435
2436 * platform/ScrollView.cpp:
2437 (WebCore::ScrollView::setScrollbarModes):
2438
24392008-09-29 David Hyatt <hyatt@apple.com>
2440
hyatt@apple.com90abd562008-09-29 19:46:37 +00002441 https://bugs.webkit.org/show_bug.cgi?id=21216
2442
2443 Make setScrollPosition and scroll() cross-platform.
2444
2445 Reviewed by Anders
2446
2447 * platform/ScrollView.cpp:
2448 (WebCore::ScrollView::setScrollPosition):
2449 (WebCore::ScrollView::scroll):
2450 * platform/ScrollView.h:
2451 * platform/gtk/ScrollViewGtk.cpp:
2452 * platform/mac/ScrollViewMac.mm:
2453 (WebCore::ScrollView::platformSetScrollPosition):
2454 (WebCore::ScrollView::platformScroll):
2455 * platform/qt/ScrollViewQt.cpp:
2456 * platform/win/ScrollViewWin.cpp:
2457 * platform/wx/ScrollViewWx.cpp:
2458 (WebCore::ScrollView::platformSetScrollPosition):
2459 (WebCore::ScrollView::platformScroll):
2460
kmccullough@apple.comed371682008-09-29 19:09:44 +000024612008-09-29 Kevin McCullough <kmccullough@apple.com>
2462
2463 Reviewed by Oliver.
2464
2465 Bug 21139: Profiler log message is wrong
2466 - Because _format was called twice the number in the log was incremented
2467 too many times, but we were passing it around in the link the whole time
2468
2469 * page/inspector/ProfilesPanel.js:
2470 * page/inspector/inspector.js:
2471
weinig@apple.com7f3f95f2008-09-29 19:09:02 +000024722008-09-29 Sam Weinig <sam@webkit.org>
2473
2474 Reviewed by Cameron Zwarich.
2475
2476 Autogenerate EventListeners, addEventListener and removeEventListener
2477 for JSDOMWindow.
2478
2479 * bindings/js/JSDOMWindowBase.cpp:
2480 * bindings/js/JSDOMWindowBase.h:
2481 * bindings/js/JSDOMWindowCustom.cpp:
2482 (WebCore::JSDOMWindow::onwebkitanimationstart):
2483 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
2484 (WebCore::JSDOMWindow::onwebkitanimationiteration):
2485 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
2486 (WebCore::JSDOMWindow::onwebkitanimationend):
2487 (WebCore::JSDOMWindow::setOnwebkitanimationend):
2488 (WebCore::JSDOMWindow::onwebkittransitionend):
2489 (WebCore::JSDOMWindow::setOnwebkittransitionend):
2490 (WebCore::JSDOMWindow::addEventListener):
2491 (WebCore::JSDOMWindow::removeEventListener):
2492 (WebCore::JSDOMWindow::setListener):
2493 (WebCore::JSDOMWindow::getListener):
2494 * bindings/scripts/CodeGeneratorJS.pm:
2495 * page/DOMWindow.idl:
2496
hausmann@webkit.orgf6964472008-09-29 12:47:08 +000024972008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
2498
2499 Reviewed by Simon.
2500
2501 Changed copyright from Trolltech ASA to Nokia.
2502
2503 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
2504
2505 * bindings/js/JSMimeTypeArrayCustom.cpp:
2506 * bindings/js/JSNavigatorCustom.cpp:
2507 * bindings/js/JSPluginArrayCustom.cpp:
2508 * bindings/js/JSPluginCustom.cpp:
2509 * bindings/js/ScriptControllerMac.mm:
2510 * bindings/js/ScriptControllerQt.cpp:
2511 * bridge/qt/qt_class.cpp:
2512 * bridge/qt/qt_class.h:
2513 * bridge/qt/qt_instance.cpp:
2514 * bridge/qt/qt_instance.h:
2515 * bridge/qt/qt_runtime.cpp:
2516 * bridge/qt/qt_runtime.h:
2517 * bridge/testqtbindings.cpp:
2518 * css/makegrammar.pl:
2519 * css/makeprop.pl:
2520 * css/makevalues.pl:
2521 * dom/Node.cpp:
2522 * dom/TagNodeList.cpp:
2523 * dom/TagNodeList.h:
2524 * dom/XMLTokenizer.cpp:
2525 * dom/XMLTokenizer.h:
2526 * dom/XMLTokenizerLibxml2.cpp:
2527 * dom/XMLTokenizerQt.cpp:
2528 * editing/Editor.cpp:
2529 * editing/EditorCommand.cpp:
2530 * html/CanvasRenderingContext2D.cpp:
2531 * html/CanvasStyle.cpp:
2532 * html/HTMLAppletElement.cpp:
2533 * html/HTMLEmbedElement.cpp:
2534 * html/HTMLObjectElement.cpp:
2535 * loader/FrameLoader.cpp:
2536 * page/Chrome.cpp:
2537 * page/EditorClient.h:
2538 * page/Frame.cpp:
2539 * page/Frame.h:
2540 * page/FramePrivate.h:
2541 * page/Navigator.cpp:
2542 * page/Navigator.h:
2543 * page/Navigator.idl:
2544 * page/mac/FrameMac.mm:
2545 * page/qt/EventHandlerQt.cpp:
2546 * platform/graphics/qt/FontCacheQt.cpp:
2547 * platform/graphics/qt/FontCustomPlatformData.cpp:
2548 * platform/graphics/qt/FontCustomPlatformData.h:
2549 * platform/graphics/qt/FontPlatformData.h:
2550 * platform/graphics/qt/FontQt.cpp:
2551 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2552 * platform/graphics/qt/GraphicsContextQt.cpp:
2553 * platform/graphics/qt/ImageDecoderQt.cpp:
2554 * platform/graphics/qt/ImageDecoderQt.h:
2555 * platform/graphics/qt/ImageSourceQt.cpp:
2556 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2557 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2558 * platform/graphics/qt/SimpleFontDataQt.cpp:
2559 * platform/gtk/MIMETypeRegistryGtk.cpp:
2560 * platform/mac/MIMETypeRegistryMac.mm:
2561 * platform/network/qt/QNetworkReplyHandler.cpp:
2562 * platform/network/qt/QNetworkReplyHandler.h:
2563 * platform/network/qt/ResourceHandleQt.cpp:
2564 * platform/network/qt/ResourceRequestQt.cpp:
2565 * platform/qt/ClipboardQt.cpp:
2566 * platform/qt/EventLoopQt.cpp:
2567 * platform/qt/KURLQt.cpp:
2568 * platform/qt/LoggingQt.cpp:
2569 * platform/qt/MIMETypeRegistryQt.cpp:
2570 * platform/qt/PasteboardQt.cpp:
2571 * platform/qt/PlatformScreenQt.cpp:
2572 * platform/qt/PopupMenuQt.cpp:
2573 * platform/qt/QWebPopup.cpp:
2574 * platform/qt/QWebPopup.h:
2575 * platform/qt/RenderThemeQt.cpp:
2576 * platform/qt/ScrollbarQt.cpp:
2577 * platform/qt/ScrollbarThemeQt.cpp:
2578 * platform/qt/WheelEventQt.cpp:
2579 * platform/qt/html4-adjustments-qt.css:
2580 * platform/wx/MimeTypeRegistryWx.cpp:
2581 * plugins/MimeType.cpp:
2582 * plugins/MimeType.h:
2583 * plugins/MimeType.idl:
2584 * plugins/MimeTypeArray.cpp:
2585 * plugins/MimeTypeArray.h:
2586 * plugins/MimeTypeArray.idl:
2587 * plugins/Plugin.cpp:
2588 * plugins/Plugin.h:
2589 * plugins/Plugin.idl:
2590 * plugins/PluginArray.cpp:
2591 * plugins/PluginArray.h:
2592 * plugins/PluginArray.idl:
2593 * plugins/PluginData.cpp:
2594 * plugins/PluginData.h:
2595 * plugins/gtk/PluginDataGtk.cpp:
2596 * plugins/mac/PluginDataMac.mm:
2597 * plugins/qt/PluginDataQt.cpp:
2598 * plugins/win/PluginDataWin.cpp:
2599 * rendering/RenderTableCol.cpp:
2600 * rendering/RenderTableCol.h:
2601
hausmann@webkit.org37374992008-09-29 09:03:09 +000026022008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
2603
2604 Reviewed by Simon
2605
2606 Fix compilation with gcc 4.3
2607
2608 gcc 4.3 is stricter and ctype.h isn't getting included
2609 automatically here by dependencies. So do it directly.
2610
2611 * platform/qt/PlatformKeyboardEventQt.cpp:
2612
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +000026132008-09-29 Morten Sørvig <msorvig@trolltech.com>
2614
2615 Reviewed by Simon.
2616
2617 Fix compilation with Qt/Mac without plugins.
2618
2619 * platform/qt/TemporaryLinkStubs.cpp:
2620
mrowe@apple.com2c478db2008-09-29 08:20:37 +000026212008-09-29 Mark Rowe <mrowe@apple.com>
2622
2623 Reviewed by Sam Weinig.
2624
2625 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
2626 In the few places that we call .upper() in WebCore the strings represent things like
2627 tag and attribute names, which are nearly always going to be ASCII.
2628
2629 * platform/text/StringImpl.cpp:
2630 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
2631 in to Unicode::toLower the second time.
2632 (WebCore::StringImpl::upper):
2633
mrowe@apple.com512eca02008-09-29 08:19:09 +000026342008-09-28 Mark Rowe <mrowe@apple.com>
2635
mrowe@apple.com49797322008-09-29 08:19:14 +00002636 Reviewed by Sam Weinig.
2637
2638 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
2639 rather than String::operator+=.
2640
2641 * css/CSSPrimitiveValue.cpp:
2642 (WebCore::CSSPrimitiveValue::cssText):
2643
26442008-09-28 Mark Rowe <mrowe@apple.com>
2645
mrowe@apple.com512eca02008-09-29 08:19:09 +00002646 Reviewed by Oliver Hunt.
2647
2648 Speed up computedStyle.getPropertyValue('color') by 4.5x.
2649
2650 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
2651 as it avoids many memory reallocations.
2652
2653 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
2654 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
2655 unrelated properties on an element.
2656
2657 * css/CSSPrimitiveValue.cpp:
2658 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
2659 and use appendNumber rather than the String::number in order to cut down on memory allocations.
2660 * platform/text/PlatformString.h:
2661 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
2662 into a Vector<UChar>.
2663
weinig@apple.com4df73d92008-09-29 03:41:35 +000026642008-09-28 Sam Weinig <sam@webkit.org>
2665
weinig@apple.com9af39ef2008-09-29 04:16:15 +00002666 Reviewed by Anders Carlsson.
2667
2668 Remove spurious call to lower().
2669
2670 * css/MediaQueryEvaluator.cpp:
2671 (WebCore::MediaQueryEvaluator):
2672
26732008-09-28 Sam Weinig <sam@webkit.org>
2674
weinig@apple.com4df73d92008-09-29 03:41:35 +00002675 Reviewed by Dan Bernstein.
2676
2677 Use a CaseFoldingHash instead of calling lower on family strings.
2678
2679 * css/CSSFontSelector.cpp:
2680 (WebCore::CSSFontSelector::addFontFaceRule):
2681 (WebCore::CSSFontSelector::getFontData):
2682 * css/CSSFontSelector.h:
2683
timothy@apple.com810c9892008-09-28 23:31:25 +000026842008-09-28 Timothy Hatcher <timothy@apple.com>
2685
2686 Remove the scrollIntoViewIfNeeded() call when drawing the
2687 Inspector node highlight.
2688
2689 <rdar://problem/6115804> Don't scroll when highlighting (21000)
2690 https://bugs.webkit.org/show_bug.cgi?id=21000
2691
2692 Reviewed by Dan Bernstein.
2693
2694 * page/InspectorController.cpp:
2695 (WebCore::InspectorController::drawNodeHighlight):
2696
hyatt@apple.come6ebc992008-09-28 19:58:14 +000026972008-09-28 David Hyatt <hyatt@apple.com>
2698
2699 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
2700 changed.
2701
2702 Reviewed by Dan Bernstein
2703
2704 * platform/mac/ScrollbarThemeMac.mm:
2705 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
2706
timothy@apple.com47a6d492008-09-28 19:52:30 +000027072008-09-28 Timothy Hatcher <timothy@apple.com>
2708
2709 Clear the current search results in the Inspector when
2710 the search query is less than 3 characters long. Incremental
2711 searches only occur for 3 characters or longer, but deleting
2712 under this limit would not clear the results unless the whole
2713 query was deleted.
2714
2715 https://bugs.webkit.org/show_bug.cgi?id=21196
2716
2717 Reviewed by Dan Bernstein.
2718
2719 * page/inspector/inspector.js:
2720 (WebInspector.performSearch): Check for short queries in the
2721 if statement that triggers the clear.
2722
mitz@apple.comc7980632008-09-28 19:38:50 +000027232008-09-28 Dan Bernstein <mitz@apple.com>
2724
2725 Reviewed by Dave Hyatt.
2726
2727 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
2728
2729 * platform/graphics/win/FontCustomPlatformData.cpp:
2730 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
2731 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +00002732 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +00002733 m_overlayLength bytes starting at m_overlayDst with the same number of
2734 bytes from m_overlaySrc.
2735 (WebCore::createFontCustomPlatformData): Changed to get overlay
2736 parameters from getEOTHeader.
2737 * platform/graphics/win/GetEOTHeader.cpp:
2738 (WebCore::getEOTHeader): Added code to specify overlaying of the
2739 family name with the prefix of the full name if they differ, because
2740 that such a difference causes TTLoadEmbeddedFont to fail.
2741 * platform/graphics/win/GetEOTHeader.h:
2742
ap@webkit.orgdf67f132008-09-28 13:23:51 +000027432008-09-28 Alexey Proskuryakov <ap@webkit.org>
2744
2745 Reviewed by Eric Seidel.
2746
2747 https://bugs.webkit.org/show_bug.cgi?id=20366
2748 Reproducible test failure for editing/undo/undo-iframe-location-change.html
2749
2750 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
2751
darin@apple.com80c76ce2008-09-28 09:35:06 +000027522008-09-28 Darin Adler <darin@apple.com>
2753
2754 Reviewed by Sam Weinig (except for a few comment and header tweaks).
2755
2756 - https://bugs.webkit.org/show_bug.cgi?id=21158
2757 reduce use of virtual functions in Node for speed
2758
2759 Speeds up Dromaeo a bit less than 1%.
2760
2761 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
2762 Node.h now that some inlines are in there.
2763
2764 * dom/Attr.h: Override both the virtual and non-virtual name functions.
2765
2766 * dom/ChildNodeList.cpp:
2767 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
2768 * dom/ChildNodeList.h: Ditto.
2769 * dom/ClassNodeList.cpp:
2770 (WebCore::ClassNodeList::nodeMatches): Ditto.
2771 * dom/ClassNodeList.h: Ditto.
2772
2773 * dom/Document.h: Put the Node::isDocumentNode() function's inline
2774 definition here where it can see the Document class definition.
2775
2776 * dom/DynamicNodeList.cpp:
2777 (WebCore::DynamicNodeList::length): Changed to pass an Element.
2778 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
2779 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
2780 (WebCore::DynamicNodeList::itemWithName): Ditto.
2781 * dom/DynamicNodeList.h: Ditto.
2782
2783 * dom/Element.cpp: Removed virtualHasTagName.
2784 * dom/Element.h: Made localName, prefix, namespaceURI, and
2785 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
2786 virtualNamespaceURI, and removed virtualHasTagName. Put the
2787 Node::hasTagName, Node::hasAttributes, and Node::attributes
2788 functions' inline definitions here where they can see the Element
2789 class definition.
2790
2791 * dom/NameNodeList.cpp:
2792 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
2793 * dom/NameNodeList.h: Ditto.
2794
2795 * dom/Node.cpp:
2796 (WebCore::Node::virtualPrefix): Renamed from prefix.
2797 (WebCore::Node::virtualLocalName): Renamed from localName.
2798 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
2799 (WebCore::Node::styleForRenderer): Handle the Element case here.
2800
2801 * dom/Node.h: Removed definition of hasTagName that calls virtual,
2802 since we now have a non-virtual version. Made hasAttributes,
2803 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
2804 and styleForRenderer non-virtual. Added virtualPrefix,
2805 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
2806 and setMalformed, which are used only on HTMLFormElement objects.
2807
2808 * dom/TagNodeList.cpp:
2809 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
2810 * dom/TagNodeList.h: Ditto.
2811
2812 * html/HTMLAnchorElement.cpp: Added a comment.
2813 * html/HTMLFormControlElement.cpp: Ditto.
2814
2815 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
2816 function. Marked tabIndex function virtual explicitly for clarity.
2817
2818 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
2819 function. Marked isFocusable function virtual explicitly for clarity.
2820
2821 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
2822 clarity.
2823 * html/HTMLFormControlElement.h: Ditto.
2824
2825 * html/HTMLFormElement.h: Made isMalformed non-virtual.
2826
2827 * html/HTMLParser.cpp:
2828 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
2829 pointer to call localName since that one does not need to call a virtual
2830 function.
2831
2832 * rendering/RenderBlock.cpp:
2833 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
2834 calling isMalformed. We already did a tag name check so we know it's
2835 an HTMLFormELement.
2836
2837 * xml/XPathUtil.cpp:
2838 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
2839 to nodeType(), since it's a virtual function.
2840
hyatt@apple.com2225aef2008-09-28 08:52:26 +000028412008-09-28 David Hyatt <hyatt@apple.com>
2842
2843 Make frameRectsChanged() cross-platform on ScrollView.
2844
2845 Reviewed by Oliver Hunt
2846
2847 * platform/ScrollView.cpp:
2848 (WebCore::ScrollView::frameRectsChanged):
2849 * platform/ScrollView.h:
2850 * platform/gtk/ScrollViewGtk.cpp:
2851 * platform/qt/ScrollViewQt.cpp:
2852 * platform/win/ScrollViewWin.cpp:
2853 * platform/wx/ScrollViewWx.cpp:
2854
oliver@apple.combec35402008-09-28 08:36:39 +000028552008-09-28 Oliver Hunt <oliver@apple.com>
2856
2857 Reviewed by Maciej Stachowiak.
2858
2859 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
2860 <https://bugs.webkit.org/show_bug.cgi?id=21141>
2861
2862 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
2863 were not initialising their StructureID's to indicate that the wrapper
2864 overrides hasInstance, etc. The solution is simply to use the createStructureID
2865 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
2866
2867 * bindings/js/JSInspectedObjectWrapper.cpp:
2868 (WebCore::JSInspectedObjectWrapper::wrap):
2869
hyatt@apple.comaede3de2008-09-28 08:21:09 +000028702008-09-28 David Hyatt <hyatt@apple.com>
2871
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +00002872 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
2873 terms of lines.
2874
2875 Reviewed by Oliver Hunt
2876
2877 * dom/EventTargetNode.cpp:
2878 (WebCore::EventTargetNode::dispatchWheelEvent):
2879
28802008-09-28 David Hyatt <hyatt@apple.com>
2881
hyatt@apple.comaede3de2008-09-28 08:21:09 +00002882 https://bugs.webkit.org/show_bug.cgi?id=21191
2883
2884 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
2885 on ScrollView to be cross-platform.
2886
2887 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
2888 events are now pixel wheel events.
2889
2890 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
2891 (1) Page scrolling has been corrected to be properly detected (on Windows
2892 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
2893 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
2894 you could page scroll horizontally.
2895 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
2896 This caused the scroll amount for page scrolling to be way too large on layers.
2897
2898 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
2899
2900 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
2901 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
2902
2903 Reviewed by Oliver Hunt
2904
2905 * editing/EditorCommand.cpp:
2906 (WebCore::verticalScrollDistance):
2907 * page/EventHandler.cpp:
2908 (WebCore::scrollAndAcceptEvent):
2909 (WebCore::EventHandler::handleWheelEvent):
2910 * platform/PlatformWheelEvent.h:
2911 (WebCore::):
2912 (WebCore::PlatformWheelEvent::pos):
2913 (WebCore::PlatformWheelEvent::globalPos):
2914 (WebCore::PlatformWheelEvent::deltaX):
2915 (WebCore::PlatformWheelEvent::deltaY):
2916 (WebCore::PlatformWheelEvent::granularity):
2917 (WebCore::PlatformWheelEvent::x):
2918 (WebCore::PlatformWheelEvent::globalX):
2919 (WebCore::PlatformWheelEvent::ignore):
2920 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
2921 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
2922 * platform/ScrollView.cpp:
2923 (WebCore::ScrollView::wheelEvent):
2924 * platform/Scrollbar.h:
2925 * platform/gtk/ScrollViewGtk.cpp:
2926 (WebCore::ScrollView::updateScrollbars):
2927 * platform/gtk/WheelEventGtk.cpp:
2928 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2929 * platform/mac/ScrollViewMac.mm:
2930 * platform/mac/WheelEventMac.mm:
2931 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2932 * platform/qt/ScrollViewQt.cpp:
2933 (WebCore::ScrollView::updateScrollbars):
2934 * platform/qt/WheelEventQt.cpp:
2935 * platform/win/ScrollViewWin.cpp:
2936 (WebCore::ScrollView::updateScrollbars):
2937 * platform/win/WheelEventWin.cpp:
2938 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
2939 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
2940 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2941 * platform/wx/ScrollViewWx.cpp:
2942 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
2943 (WebCore::ScrollView::wheelEvent):
2944 * rendering/RenderLayer.cpp:
2945 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2946
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +000029472008-09-27 Eric Carlson <eric.carlson@apple.com>
2948
2949 Reviewed by Sam Weinig.
2950
2951 fix https://bugs.webkit.org/show_bug.cgi?id=20994
2952 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
2953
2954 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
2955 all unsigned media attributes from string with toUInt() instead of toInt().
2956
2957 * html/HTMLMediaElement.cpp:
2958 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
2959
2960 * html/HTMLVideoElement.cpp:
2961 (WebCore::HTMLVideoElement::videoWidth):
2962 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
2963 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
2964 unsigned value.
2965 (WebCore::HTMLVideoElement::height): Ditto.
2966 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
2967 (WebCore::HTMLVideoElement::setHeight): Ditto.
2968
2969 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
2970
2971 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
2972
timothy@apple.coma8215632008-09-28 04:40:53 +000029732008-09-27 Timothy Hatcher <timothy@apple.com>
2974
timothy@apple.combe91da22008-09-28 04:40:58 +00002975 Fixes an exception when typing a command in the Console.
2976
2977 Reviewed by Oliver Hunt.
2978
2979 * page/inspector/Console.js:
2980 (WebInspector.Console.prototype.addMessage): Null check
2981 this.previosMessage.
2982
29832008-09-27 Timothy Hatcher <timothy@apple.com>
2984
timothy@apple.coma8215632008-09-28 04:40:53 +00002985 Fixes a bug where the Profiles panel sidebar would be empty
2986 after closing and reopening the Web Inspector.
2987
2988 https://bugs.webkit.org/show_bug.cgi?id=21179
2989
2990 Reviewed by Sam Weinig.
2991
2992 * page/inspector/ProfilesPanel.js:
2993 (WebInspector.ProfilesPanel.prototype.reset): Don't call
2994 populateInterface, it is called automatically.
2995 (WebInspector.ProfilesPanel.prototype._populateProfiles):
2996 Return early if the sidebar is already populated.
2997
hyatt@apple.com81664322008-09-28 04:38:21 +000029982008-09-27 Dave Hyatt <hyatt@apple.com>
2999
3000 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
3001 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
3002 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
3003 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
3004
3005 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
3006 (which should never have landed in the first place).
3007
3008 Reviewed by Tim Hatcher, Sam Weinig
3009
3010 * platform/win/ScrollViewWin.cpp:
3011 (WebCore::adjustDeltaForPageScrollMode):
3012 (WebCore::ScrollView::updateScrollbars):
3013 (WebCore::ScrollView::wheelEvent):
3014
hyatt@apple.com880cbb12008-09-28 03:51:41 +000030152008-09-27 David Hyatt <hyatt@apple.com>
3016
3017 Make the scrollbarUnderMouse method cross-platform.
3018
3019 Reviewed by Sam Weinig
3020
3021 * platform/ScrollView.cpp:
3022 (WebCore::ScrollView::scrollbarUnderMouse):
3023 * platform/gtk/ScrollViewGtk.cpp:
3024 * platform/mac/ScrollViewMac.mm:
3025 * platform/qt/ScrollViewQt.cpp:
3026 * platform/win/ScrollViewWin.cpp:
3027 * platform/wx/ScrollViewWx.cpp:
3028
zecke@webkit.org7bf12c62008-09-28 01:50:42 +000030292008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
3030
3031 Gtk+ build fix.
3032
3033 * platform/gtk/ScrollViewGtk.cpp:
3034 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3035
zecke@webkit.org202af282008-09-28 01:49:45 +000030362008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
3037
3038 Reviewed by Holger Freyther.
3039
3040 https://bugs.webkit.org/show_bug.cgi?id=20287
3041 [Gtk] disable plugins for gtk/directfb target
3042
3043 Introduce WTF_PLATFORM_X11 for X11 builds.
3044 Also use target-specific packages when building the port
3045
3046 * platform/gtk/PlatformScreenGtk.cpp:
3047 * plugins/gtk/PluginViewGtk.cpp:
3048 (WebCore::PluginView::updatePluginWidget):
3049 (WebCore::PluginView::getValueStatic):
3050 (WebCore::PluginView::getValue):
3051 (WebCore::PluginView::init):
3052
hyatt@apple.come6f04e52008-09-28 01:07:05 +000030532008-09-27 David Hyatt <hyatt@apple.com>
3054
3055 https://bugs.webkit.org/show_bug.cgi?id=21188
3056
3057 Make scrollbar suppression and resizer avoidance cross-platform.
3058
3059 Reviewed by Anders
3060
3061 * loader/FrameLoader.cpp:
3062 (WebCore::FrameLoader::transitionToCommitted):
3063 * page/FrameView.cpp:
3064 (WebCore::FrameView::resetScrollbars):
3065 (WebCore::FrameView::clear):
3066 (WebCore::FrameView::layout):
3067 (WebCore::FrameView::restoreScrollbar):
3068 (WebCore::FrameView::windowResizerRect):
3069 * page/FrameView.h:
3070 * platform/ScrollView.cpp:
3071 (WebCore::ScrollView::init):
3072 (WebCore::ScrollView::resizerOverlapsContent):
3073 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
3074 (WebCore::ScrollView::setParent):
3075 (WebCore::ScrollView::setScrollbarsSuppressed):
3076 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
3077 * platform/ScrollView.h:
3078 (WebCore::ScrollView::scrollbarsSuppressed):
3079 (WebCore::ScrollView::windowResizerRect):
3080 * platform/Scrollbar.cpp:
3081 (WebCore::Scrollbar::setFrameRect):
3082 (WebCore::Scrollbar::setParent):
3083 * platform/gtk/ScrollViewGtk.cpp:
3084 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3085 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
3086 (WebCore::ScrollView::updateScrollbars):
3087 (WebCore::ScrollView::paint):
3088 * platform/mac/ScrollViewMac.mm:
3089 (WebCore::ScrollView::ScrollView):
3090 (WebCore::ScrollView::~ScrollView):
3091 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
3092 (WebCore::ScrollView::setScrollPosition):
3093 * platform/qt/ScrollViewQt.cpp:
3094 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3095 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3096 (WebCore::ScrollView::frameRectsChanged):
3097 (WebCore::ScrollView::updateScrollbars):
3098 (WebCore::ScrollView::paint):
3099 * platform/win/ScrollViewWin.cpp:
3100 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3101 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3102 (WebCore::ScrollView::updateScrollbars):
3103 (WebCore::ScrollView::paint):
3104 * platform/wx/ScrollViewWx.cpp:
3105 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3106
zecke@webkit.org0034c712008-09-27 23:46:50 +000031072008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
3108
3109 Rubber-stamped by Anders Carlsson.
3110
3111 Compile fix.
3112
3113 * plugins/PluginView.cpp:
3114 (WebCore::PluginView::load):
3115
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +000031162008-09-27 Mark Rowe <mrowe@apple.com>
3117
3118 Rubber-stamped by Sam Weinig.
3119
3120 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
3121 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
3122
3123 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
3124
3125 * loader/CachedResource.cpp:
3126 (WebCore::CachedResource::~CachedResource):
3127
zecke@webkit.org47132852008-09-27 22:45:21 +000031282008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
3129
3130 Reviewed by Simon Hausmann.
3131
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +00003132 [qt] Use QImageReader to figure out which image formats are supported
3133 - Qt can have many different plugins for different image formats. Instead
3134 of checking only for a few in WebCore use Qt to determine if this data
3135 can be treated as an image.
3136
3137 * platform/graphics/qt/ImageSourceQt.cpp:
3138 (WebCore::canHandleImage):
3139 (WebCore::createDecoder):
3140
31412008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
3142
3143
zecke@webkit.org47132852008-09-27 22:45:21 +00003144 [qt] Clean the pattern code
3145 - Use save/restore on the painter after manipulating the
3146 pen/brush
3147 - Make the context and object null checking consistent. CG is using
3148 the object unconditionally so the Qt webkit platform can do the
3149 same.
3150 - Move code below the early exit. Only use the m_ownerElement before
3151 the early exit as the CG code is doing it.
3152
3153 * svg/graphics/SVGPaintServerPattern.h:
3154 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
3155 (WebCore::SVGPaintServerPattern::setup):
3156 (WebCore::SVGPaintServerPattern::teardown):
3157
timothy@apple.com345f1af2008-09-27 22:18:35 +000031582008-09-27 Keishi Hattori <casey.hattori@gmail.com>
3159
3160 Added support for console.trace.
3161
3162 https://bugs.webkit.org/show_bug.cgi?id=19157
3163
3164 Reviewed by Kevin McCullough and Tim Hatcher.
3165
3166 * bindings/js/JSConsoleCustom.cpp:
3167 (WebCore::JSConsole::trace):
3168 * page/Console.cpp:
3169 (WebCore::Console::trace): Calls Machine::retrieveCaller to
3170 get a stack trace.
3171 * page/Console.h:
3172 (WebCore::): Added TraceMessageLevel.
3173 * page/Console.idl: Added console.trace.
3174 * page/inspector/Console.js:
3175 (ConsoleMessage): Added case for TraceMessageLevel.
3176
andersca@apple.com6b8e0a22008-09-27 21:28:40 +000031772008-09-27 Anders Carlsson <andersca@apple.com>
3178
3179 Reviewed by Sam Weinig.
3180
3181 https://bugs.webkit.org/show_bug.cgi?id=21178
3182 <rdar://problem/6248651>
3183
3184 Check if the plug-in is allowed to load the resource. This matches Firefox.
3185
3186 Test: http/tests/plugins/local-geturl-from-remote.html
3187
3188 * plugins/PluginView.cpp:
3189 (WebCore::PluginView::load):
3190
zecke@webkit.org91ee65a2008-09-27 21:06:35 +000031912008-09-22 Dirk Schulze <vbs85@gmx.de>
3192
3193 Reviewed by Eric Seidel.
3194
3195 Added SVG pattern support to Qt.
3196
3197 [Qt] SVG patterns are missing
3198 https://bugs.webkit.org/show_bug.cgi?id=20973
3199
3200 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
3201 (WebCore::SVGPaintServerPattern::setup):
3202
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +000032032008-09-27 Keishi Hattori <casey.hattori@gmail.com>
3204
3205 Fixed a bug in the JS syntax highlighter with multiple line tokens.
3206
3207 https://bugs.webkit.org/show_bug.cgi?id=21171
3208
3209 Reviewed by Tim Hatcher.
3210
3211 * page/inspector/SourceFrame.js:
3212 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
3213
timothy@apple.com5b4b3d02008-09-27 20:18:03 +000032142008-09-27 Timothy Hatcher <timothy@apple.com>
3215
3216 Change searching in the Profiles panel to not match the
3217 Self and Total columns when there are no units. The only
3218 column that is matched for unitless number searches is
3219 now the Calls column.
3220
3221 https://bugs.webkit.org/show_bug.cgi?id=21169
3222
3223 Reviewed by Sam Weinig.
3224
3225 * page/inspector/ProfileView.js:
3226 (WebInspector.ProfileView.prototype.performSearch):
3227
hyatt@apple.com0fd13952008-09-27 19:56:56 +000032282008-09-27 David Hyatt <hyatt@apple.com>
3229
3230 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
3231
3232 Reviewed by Sam Weinig
3233
3234 * platform/ScrollView.h:
3235 * platform/Widget.h:
3236 (WebCore::Widget::boundsRect):
3237 (WebCore::Widget::invalidate):
3238 (WebCore::Widget::frameRectsChanged):
3239 * platform/gtk/ScrollViewGtk.cpp:
3240 (WebCore::ScrollViewScrollbar::frameRectsChanged):
3241 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3242 (WebCore::ScrollView::setFrameRect):
3243 (WebCore::ScrollView::updateScrollbars):
3244 (WebCore::ScrollView::frameRectsChanged):
3245 * platform/gtk/ScrollbarGtk.cpp:
3246 (ScrollbarGtk::setFrameRect):
3247 (ScrollbarGtk::frameRectsChanged):
3248 * platform/gtk/ScrollbarGtk.h:
3249 * platform/gtk/WidgetGtk.cpp:
3250 * platform/qt/ScrollViewQt.cpp:
3251 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3252 (WebCore::ScrollView::setFrameRect):
3253 (WebCore::ScrollView::frameRectsChanged):
3254 (WebCore::ScrollView::updateScrollbars):
3255 * platform/win/ScrollViewWin.cpp:
3256 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3257 (WebCore::ScrollView::setFrameRect):
3258 (WebCore::ScrollView::updateScrollbars):
3259 (WebCore::ScrollView::frameRectsChanged):
3260 * plugins/PluginView.cpp:
3261 (WebCore::PluginView::frameRectsChanged):
3262 * plugins/PluginView.h:
3263
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000032642008-09-27 Simon Hausmann <hausmann@webkit.org>
3265
hausmann@webkit.orge49722f2008-09-27 19:49:01 +00003266 Refix the previous build fix to compile on non-Qt platforms, too.
3267
3268 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
3269 WebCore to generate the PrototypeTable in the WebCore namespace
3270 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
3271 table remains in the Webcore namespace
3272 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
3273
32742008-09-27 Simon Hausmann <hausmann@webkit.org>
3275
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +00003276 Fix compilation with gcc 4.3 (probably > 4.0)
3277
3278 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
3279 get/put functions inside the WebCore namespace.
3280 * bindings/js/JSEventTargetBase.cpp: Ditto.
3281 * bindings/js/JSEventTargetNode.cpp: Ditto.
3282 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
3283 * bindings/js/JSEventTargetBase.h: Forward declare
3284 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
3285 defines it in the JSC namespace.
3286 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
3287 prefix for PrototypeTable symbol.
3288
hyatt@apple.come7c12342008-09-27 07:43:38 +000032892008-09-27 David Hyatt <hyatt@apple.com>
3290
hyatt@apple.com53634ac2008-09-27 08:01:26 +00003291 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
3292
3293 Reviewed by Dan Bernstein
3294
3295 * WebCore.base.exp:
3296 * page/FrameView.cpp:
3297 (WebCore::FrameView::FrameView):
3298 (WebCore::FrameView::updateControlTints):
3299 * platform/ScrollView.h:
3300 * platform/Scrollbar.cpp:
3301 (WebCore::Scrollbar::Scrollbar):
3302 (WebCore::Scrollbar::paint):
3303 (WebCore::Scrollbar::setFrameRect):
3304 * platform/Scrollbar.h:
3305 * platform/ScrollbarThemeComposite.cpp:
3306 (WebCore::ScrollbarThemeComposite::paint):
3307 * platform/Widget.h:
3308 (WebCore::Widget::x):
3309 (WebCore::Widget::y):
3310 (WebCore::Widget::width):
3311 (WebCore::Widget::height):
3312 (WebCore::Widget::size):
3313 (WebCore::Widget::pos):
3314 (WebCore::Widget::resize):
3315 (WebCore::Widget::move):
3316 * platform/gtk/ScrollViewGtk.cpp:
3317 (WebCore::ScrollViewScrollbar::geometryChanged):
3318 (WebCore::ScrollView::update):
3319 (WebCore::ScrollView::setFrameRect):
3320 (WebCore::ScrollView::updateScrollbars):
3321 (WebCore::ScrollView::scrollbarUnderMouse):
3322 (WebCore::ScrollView::paint):
3323 * platform/gtk/ScrollbarGtk.cpp:
3324 (ScrollbarGtk::setFrameRect):
3325 (ScrollbarGtk::geometryChanged):
3326 * platform/gtk/ScrollbarGtk.h:
3327 * platform/gtk/WidgetGtk.cpp:
3328 (WebCore::Widget::frameRect):
3329 (WebCore::Widget::setFrameRect):
3330 * platform/mac/ScrollbarThemeMac.mm:
3331 (WebCore::ScrollbarThemeMac::trackRect):
3332 (WebCore::ScrollbarThemeMac::paint):
3333 * platform/mac/WidgetMac.mm:
3334 (WebCore::Widget::frameRect):
3335 (WebCore::Widget::setFrameRect):
3336 * platform/qt/ScrollViewQt.cpp:
3337 (WebCore::ScrollView::setFrameRect):
3338 (WebCore::ScrollView::updateScrollbars):
3339 (WebCore::ScrollView::scrollbarUnderMouse):
3340 (WebCore::ScrollView::paint):
3341 * platform/qt/ScrollbarThemeQt.cpp:
3342 (WebCore::styleOptionSlider):
3343 * platform/qt/WidgetQt.cpp:
3344 (WebCore::Widget::frameRect):
3345 (WebCore::Widget::setFrameRect):
3346 * platform/win/PopupMenuWin.cpp:
3347 (WebCore::PopupMenu::invalidateItem):
3348 (WebCore::PopupMenu::valueChanged):
3349 (WebCore::PopupWndProc):
3350 * platform/win/ScrollViewWin.cpp:
3351 (WebCore::ScrollView::setFrameRect):
3352 (WebCore::ScrollView::updateScrollbars):
3353 (WebCore::ScrollView::scrollbarUnderMouse):
3354 (WebCore::ScrollView::paint):
3355 * platform/win/ScrollbarThemeSafari.cpp:
3356 (WebCore::ScrollbarThemeSafari::trackRect):
3357 * platform/win/WidgetWin.cpp:
3358 (WebCore::Widget::frameRect):
3359 (WebCore::Widget::setFrameRect):
3360 * platform/wx/WidgetWx.cpp:
3361 (WebCore::Widget::frameRect):
3362 (WebCore::Widget::setFrameRect):
3363 * plugins/PluginView.cpp:
3364 (WebCore::PluginView::setFrameRect):
3365 * plugins/PluginView.h:
3366 * plugins/gtk/PluginViewGtk.cpp:
3367 (WebCore::PluginView::updatePluginWidget):
3368 (WebCore::PluginView::paint):
3369 (WebCore::PluginView::init):
3370 * plugins/qt/PluginViewQt.cpp:
3371 (WebCore::PluginView::updatePluginWidget):
3372 (WebCore::PluginView::init):
3373 * plugins/win/PluginViewWin.cpp:
3374 (WebCore::PluginView::updatePluginWidget):
3375 (WebCore::PluginView::paintMissingPluginIcon):
3376 (WebCore::PluginView::paint):
3377 (WebCore::PluginView::init):
3378 * rendering/RenderLayer.cpp:
3379 (WebCore::RenderLayer::positionOverflowControls):
3380 * rendering/RenderListBox.cpp:
3381 (WebCore::RenderListBox::paintScrollbar):
3382 * rendering/RenderPart.cpp:
3383 (WebCore::RenderPart::updateWidgetPosition):
3384 * rendering/RenderWidget.cpp:
3385 (WebCore::RenderWidget::setWidgetGeometry):
3386 (WebCore::RenderWidget::updateWidgetPosition):
3387
33882008-09-27 David Hyatt <hyatt@apple.com>
3389
hyatt@apple.come7c12342008-09-27 07:43:38 +00003390 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
3391
3392 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
3393 access an actual member variable.
3394
3395 Reviewed by Dan Bernstein
3396
3397 * page/FocusController.cpp:
3398 (WebCore::FocusController::setFocusedFrame):
3399
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +000034002008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
3401
3402 Attempt to fix QT Build. Not reviewed.
3403
3404 * WebCore.pro: add -n WebCore parameter to create_hash_table
3405
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +000034062008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
3407
3408 Reviewed by Eric Seidel.
3409
3410 http://bugs.webkit.org/show_bug.cgi?id=18905
3411 [GTK] Fix build with older pango (1.14.8)
3412
3413 * platform/graphics/gtk/FontGtk.cpp:
3414 * platform/gtk/Language.cpp:
3415 (_pango_get_lc_ctype):
3416 (pango_language_get_default):
3417
hyatt@apple.com0315e532008-09-27 06:23:58 +000034182008-09-26 David Hyatt <hyatt@apple.com>
3419
3420 https://bugs.webkit.org/show_bug.cgi?id=21168
3421
3422 Make contentsToWindow/windowToContents cross-platform.
3423
3424 Reviewed by Oliver Hunt
3425
3426 * platform/ScrollView.cpp:
3427 (WebCore::ScrollView::windowToContents):
3428 (WebCore::ScrollView::contentsToWindow):
3429 * platform/ScrollView.h:
3430 * platform/gtk/ScrollViewGtk.cpp:
3431 * platform/mac/ScrollViewMac.mm:
3432 * platform/qt/ScrollViewQt.cpp:
3433 * platform/win/ScrollViewWin.cpp:
3434 * platform/wx/ScrollViewWx.cpp:
3435
weinig@apple.com0e6acf62008-09-27 06:15:45 +000034362008-09-26 Sam Weinig <sam@webkit.org>
3437
3438 GTK build fix.
3439
3440 * GNUmakefile.am:
3441
hyatt@apple.comb37db692008-09-27 04:43:00 +000034422008-09-26 David Hyatt <hyatt@apple.com>
3443
hyatt@apple.com8d329412008-09-27 05:26:38 +00003444 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
3445 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
3446 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
3447
3448 Reviewed by Oliver Hunt
3449
3450 * page/FrameView.cpp:
3451 (WebCore::FrameView::repaintContentRectangle):
3452 * page/FrameView.h:
3453 * platform/ScrollView.h:
3454 * platform/gtk/ScrollViewGtk.cpp:
3455 (WebCore::ScrollView::isOffscreen):
3456 * platform/mac/ScrollViewMac.mm:
3457 (WebCore::ScrollView::updateContents):
3458 (WebCore::ScrollView::isOffscreen):
3459 * platform/qt/ScrollViewQt.cpp:
3460 (WebCore::ScrollView::isOffscreen):
3461 * platform/win/ScrollViewWin.cpp:
3462 (WebCore::ScrollView::isOffscreen):
3463 * platform/wx/ScrollViewWx.cpp:
3464 (WebCore::ScrollView::isOffscreen):
3465 * rendering/RenderObject.cpp:
3466 (WebCore::RenderObject::willRenderImage):
3467
34682008-09-26 David Hyatt <hyatt@apple.com>
3469
hyatt@apple.comb37db692008-09-27 04:43:00 +00003470 https://bugs.webkit.org/show_bug.cgi?id=21164
3471
3472 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
3473
3474 Reviewed by Sam Weinig
3475
3476 * WebCore.base.exp:
3477 * page/FrameView.cpp:
3478 (WebCore::FrameView::setAllowsScrolling):
3479 * page/FrameView.h:
3480 * platform/ScrollView.cpp:
3481 (WebCore::ScrollView::setAllowsScrolling):
3482 * platform/ScrollView.h:
3483 (WebCore::ScrollView::allowsScrolling):
3484 * platform/win/ScrollViewWin.cpp:
3485 (WebCore::ScrollView::wheelEvent):
3486
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +000034872008-09-26 Kevin Ollivier <kevino@theolliviers.com>
3488
3489 wx build fixes after Widget/ScrollView changes.
3490
3491 * platform/wx/PopupMenuWx.cpp:
3492 (WebCore::PopupMenu::show):
3493 * platform/wx/ScrollViewWx.cpp:
3494 (WebCore::ScrollView::platformSetContentsSize):
3495 (WebCore::ScrollView::platformSetScrollbarModes):
3496 (WebCore::ScrollView::wheelEvent):
3497 * platform/wx/TemporaryLinkStubs.cpp:
3498 * platform/wx/WidgetWx.cpp:
3499 (WebCore::Widget::containingWindow):
3500
timothy@apple.com9b486082008-09-27 02:44:05 +000035012008-09-26 Timothy Hatcher <timothy@apple.com>
3502
3503 Allow searching for paths by always performing the
3504 three search methods in the Elements panel and not
3505 assume a search with a "/" is a XPath query.
3506
3507 https://bugs.webkit.org/show_bug.cgi?id=21159
3508
3509 Reviewed by Geoff Garen.
3510
3511 * page/inspector/ElementsPanel.js:
3512 (WebInspector.ElementsPanel.prototype.performSearch):
3513
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +000035142008-09-26 Sam Weinig <sam@webkit.org>
3515
3516 Reviewed by Darin Adler.
3517
3518 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
3519 Speedup static property get/put
3520
3521 * DerivedSources.make:
3522 * GNUmakefile.am:
3523 * WebCore.pro:
3524 * WebCore.vcproj/WebCore.vcproj:
3525 * WebCore.xcodeproj/project.pbxproj:
3526 * bindings/js/JSDOMBinding.cpp:
3527 * bindings/js/JSDOMBinding.h:
3528 * bindings/js/JSDOMWindowBase.cpp:
3529 (WebCore::getDOMConstructor):
3530 (WebCore::jsDOMWindowBaseCrypto):
3531 (WebCore::jsDOMWindowBaseEvent):
3532 (WebCore::jsDOMWindowBaseImage):
3533 (WebCore::jsDOMWindowBaseMessageChannel):
3534 (WebCore::jsDOMWindowBaseOption):
3535 (WebCore::jsDOMWindowBaseXMLHttpRequest):
3536 (WebCore::jsDOMWindowBaseAudio):
3537 (WebCore::jsDOMWindowBaseXSLTProcessor):
3538 (WebCore::jsDOMWindowBaseOnabort):
3539 (WebCore::jsDOMWindowBaseOnblur):
3540 (WebCore::jsDOMWindowBaseOnchange):
3541 (WebCore::jsDOMWindowBaseOnclick):
3542 (WebCore::jsDOMWindowBaseOndblclick):
3543 (WebCore::jsDOMWindowBaseOnerror):
3544 (WebCore::jsDOMWindowBaseOnfocus):
3545 (WebCore::jsDOMWindowBaseOnkeydown):
3546 (WebCore::jsDOMWindowBaseOnkeypress):
3547 (WebCore::jsDOMWindowBaseOnkeyup):
3548 (WebCore::jsDOMWindowBaseOnload):
3549 (WebCore::jsDOMWindowBaseOnmousedown):
3550 (WebCore::jsDOMWindowBaseOnmousemove):
3551 (WebCore::jsDOMWindowBaseOnmouseout):
3552 (WebCore::jsDOMWindowBaseOnmouseover):
3553 (WebCore::jsDOMWindowBaseOnmouseup):
3554 (WebCore::jsDOMWindowBaseOnMouseWheel):
3555 (WebCore::jsDOMWindowBaseOnreset):
3556 (WebCore::jsDOMWindowBaseOnresize):
3557 (WebCore::jsDOMWindowBaseOnscroll):
3558 (WebCore::jsDOMWindowBaseOnsearch):
3559 (WebCore::jsDOMWindowBaseOnselect):
3560 (WebCore::jsDOMWindowBaseOnsubmit):
3561 (WebCore::jsDOMWindowBaseOnbeforeunload):
3562 (WebCore::jsDOMWindowBaseOnunload):
3563 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
3564 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
3565 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
3566 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
3567 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
3568 (WebCore::JSDOMWindowBase::put):
3569 (WebCore::setJSDOMWindowBaseOnabort):
3570 (WebCore::setJSDOMWindowBaseOnblur):
3571 (WebCore::setJSDOMWindowBaseOnchange):
3572 (WebCore::setJSDOMWindowBaseOnclick):
3573 (WebCore::setJSDOMWindowBaseOndblclick):
3574 (WebCore::setJSDOMWindowBaseOnerror):
3575 (WebCore::setJSDOMWindowBaseOnfocus):
3576 (WebCore::setJSDOMWindowBaseOnkeydown):
3577 (WebCore::setJSDOMWindowBaseOnkeypress):
3578 (WebCore::setJSDOMWindowBaseOnkeyup):
3579 (WebCore::setJSDOMWindowBaseOnload):
3580 (WebCore::setJSDOMWindowBaseOnmousedown):
3581 (WebCore::setJSDOMWindowBaseOnmousemove):
3582 (WebCore::setJSDOMWindowBaseOnmouseout):
3583 (WebCore::setJSDOMWindowBaseOnmouseover):
3584 (WebCore::setJSDOMWindowBaseOnmouseup):
3585 (WebCore::setJSDOMWindowBaseOnMouseWheel):
3586 (WebCore::setJSDOMWindowBaseOnreset):
3587 (WebCore::setJSDOMWindowBaseOnresize):
3588 (WebCore::setJSDOMWindowBaseOnscroll):
3589 (WebCore::setJSDOMWindowBaseOnsearch):
3590 (WebCore::setJSDOMWindowBaseOnselect):
3591 (WebCore::setJSDOMWindowBaseOnsubmit):
3592 (WebCore::setJSDOMWindowBaseOnbeforeunload):
3593 (WebCore::setJSDOMWindowBaseOnunload):
3594 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
3595 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
3596 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
3597 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
3598 (WebCore::setJSDOMWindowBaseEvent):
3599 (WebCore::setJSDOMWindowBaseAudio):
3600 (WebCore::setJSDOMWindowBaseImage):
3601 (WebCore::setJSDOMWindowBaseMessageChannel):
3602 (WebCore::setJSDOMWindowBaseOption):
3603 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
3604 (WebCore::setJSDOMWindowBaseXSLTProcessor):
3605 * bindings/js/JSDOMWindowBase.h:
3606 * bindings/js/JSDOMWindowCustom.cpp:
3607 (WebCore::nonCachingStaticCloseFunctionGetter):
3608 (WebCore::nonCachingStaticBlurFunctionGetter):
3609 (WebCore::nonCachingStaticFocusFunctionGetter):
3610 (WebCore::nonCachingStaticPostMessageFunctionGetter):
3611 * bindings/js/JSDOMWindowCustom.h:
3612 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3613 * bindings/js/JSEventTargetBase.cpp:
3614 * bindings/js/JSEventTargetBase.h:
3615 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
3616 (WebCore::JSEventTargetBasePrototype::classInfo):
3617 * bindings/js/JSEventTargetNode.cpp:
3618 (WebCore::):
3619 (WebCore::JSEventTargetNode::getOwnPropertySlot):
3620 (WebCore::JSEventTargetNode::put):
3621 * bindings/js/JSEventTargetNode.h:
3622 (WebCore::JSEventTargetNode::classInfo):
3623 (WebCore::JSEventTargetNode::prototypeClassName):
3624 * bindings/js/JSEventTargetSVGElementInstance.cpp:
3625 (WebCore::):
3626 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
3627 (WebCore::JSEventTargetSVGElementInstance::put):
3628 * bindings/js/JSEventTargetSVGElementInstance.h:
3629 (WebCore::JSEventTargetSVGElementInstance::classInfo):
3630 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
3631 * bindings/js/JSHTMLInputElementCustom.cpp:
3632 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
3633 * bindings/js/JSHistoryCustom.cpp:
3634 (WebCore::nonCachingStaticBackFunctionGetter):
3635 (WebCore::nonCachingStaticForwardFunctionGetter):
3636 (WebCore::nonCachingStaticGoFunctionGetter):
3637 (WebCore::JSHistory::customGetOwnPropertySlot):
3638 * bindings/js/JSLocationCustom.cpp:
3639 (WebCore::nonCachingStaticReplaceFunctionGetter):
3640 (WebCore::nonCachingStaticReloadFunctionGetter):
3641 (WebCore::nonCachingStaticAssignFunctionGetter):
3642 (WebCore::JSLocation::customGetOwnPropertySlot):
3643 (WebCore::JSLocation::customPut):
3644 * bindings/scripts/CodeGeneratorJS.pm:
3645
hyatt@apple.com01adde82008-09-26 20:49:34 +000036462008-09-26 David Hyatt <hyatt@apple.com>
3647
3648 https://bugs.webkit.org/show_bug.cgi?id=21149
3649
3650 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
3651 Eliminate the unused isScrollable() method.
3652
3653 Reviewed by Sam Weinig
3654
3655 * WebCore.base.exp:
3656 * page/FrameView.cpp:
3657 (WebCore::FrameView::resetScrollbars):
3658 (WebCore::FrameView::initScrollbars):
3659 (WebCore::FrameView::layout):
3660 * page/FrameView.h:
3661 * page/mac/WebCoreFrameView.h:
3662 * platform/ScrollView.cpp:
3663 (WebCore::ScrollView::init):
3664 (WebCore::ScrollView::setScrollbarModes):
3665 (WebCore::ScrollView::scrollbarModes):
3666 (WebCore::ScrollView::platformSetScrollbarModes):
3667 (WebCore::ScrollView::platformScrollbarModes):
3668 * platform/ScrollView.h:
3669 (WebCore::ScrollView::horizontalScrollbar):
3670 (WebCore::ScrollView::verticalScrollbar):
3671 (WebCore::ScrollView::isScrollViewScrollbar):
3672 (WebCore::ScrollView::setHorizontalScrollbarMode):
3673 (WebCore::ScrollView::setVerticalScrollbarMode):
3674 (WebCore::ScrollView::horizontalScrollbarMode):
3675 (WebCore::ScrollView::verticalScrollbarMode):
3676 (WebCore::ScrollView::convertSelfToChild):
3677 * platform/gtk/ScrollViewGtk.cpp:
3678 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3679 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
3680 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
3681 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3682 (WebCore::ScrollView::updateScrollbars):
3683 (WebCore::ScrollView::scrollbarUnderMouse):
3684 (WebCore::ScrollView::isScrollViewScrollbar):
3685 (WebCore::ScrollView::paint):
3686 (WebCore::ScrollView::scroll):
3687 * platform/mac/ScrollViewMac.mm:
3688 (WebCore::ScrollView::platformSetScrollbarModes):
3689 (WebCore::ScrollView::platformScrollbarModes):
3690 * platform/qt/ScrollViewQt.cpp:
3691 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
3692 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
3693 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3694 (WebCore::ScrollView::horizontalScrollbar):
3695 (WebCore::ScrollView::verticalScrollbar):
3696 (WebCore::ScrollView::invalidateScrollbars):
3697 (WebCore::ScrollView::updateScrollbars):
3698 (WebCore::ScrollView::scrollbarUnderMouse):
3699 (WebCore::ScrollView::paint):
3700 (WebCore::ScrollView::scroll):
3701 * platform/win/ScrollViewWin.cpp:
3702 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3703 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
3704 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
3705 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3706 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
3707 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
3708 (WebCore::ScrollView::suppressScrollbars):
3709 (WebCore::ScrollView::updateScrollbars):
3710 (WebCore::ScrollView::scrollbarUnderMouse):
3711 (WebCore::ScrollView::paint):
3712 (WebCore::ScrollView::scroll):
3713 * platform/wx/ScrollViewWx.cpp:
3714 (WebCore::ScrollView::platformSetScrollbarModes):
3715 (WebCore::ScrollView::platformScrollbarModes):
3716
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +000037172008-09-26 David Kilzer <ddkilzer@apple.com>
3718
3719 Fix Mac build with XPATH and XSLT disabled
3720
3721 Reviewed by Alexey.
3722
3723 * bindings/objc/DOMUtility.mm:
3724 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
3725 * dom/XMLTokenizerLibxml2.cpp:
3726 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
3727 prevent an unused code warning.
3728
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +000037292008-09-26 Kevin McCullough <kmccullough@apple.com>
3730
3731 Rubber stamped by Tim Hatcher.
3732
3733 Bug 21098: Crashing under Console::log
3734 - Speculative ASSERT to help find the problem.
3735
3736 * page/InspectorController.cpp:
3737 (WebCore::ConsoleMessage::isEqual):
3738
zecke@webkit.org00c54bb2008-09-26 17:56:08 +000037392008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
3740
3741 [gtk+] Build fix for the latest ScrollView changes
3742
3743 * platform/gtk/ScrollViewGtk.cpp:
3744 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
3745 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3746
timothy@apple.comf49116e2008-09-26 17:27:52 +000037472008-09-26 Timothy Hatcher <timothy@apple.com>
3748
3749 Fixes a bug where the console message repeat count would be wrong
3750 when typing commands in between repeated messages.
3751
3752 https://bugs.webkit.org/show_bug.cgi?id=21145
3753
3754 Reviewed by Kevin McCullough.
3755
3756 * page/InspectorController.cpp:
3757 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
3758 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
3759 * page/inspector/Console.js:
3760 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
3761 for each message as totalRepeatCount, since we now modify repeatCount to mean
3762 repeats since previous console command. If repeatCountBeforeCommand is a number,
3763 subtract that value from the repeatCount.
3764 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
3765 and commandSincePreviousMessage properties.
3766
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +000037672008-09-26 Eric Carlson <eric.carlson@apple.com>
3768
3769 Reviewed by Antti
3770
3771 https://bugs.webkit.org/show_bug.cgi?id=21116
3772 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
3773 back to page with <video>, then closing tab
3774
3775 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
3776 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
3777 deletion.
3778
3779 * dom/Document.cpp:
3780 (WebCore::Document::documentWillBecomeInactive):
3781 (WebCore::Document::documentDidBecomeActive):
3782 (WebCore::Document::registerForDocumentActivationCallbacks):
3783 (WebCore::Document::unregisterForDocumentActivationCallbacks):
3784 * dom/Document.h:
3785 * dom/Element.h:
3786 (WebCore::Element::documentWillBecomeInactive):
3787 (WebCore::Element::documentDidBecomeActive):
3788 * history/CachedPage.cpp:
3789 (WebCore::CachedPage::CachedPage):
3790 * html/HTMLFormElement.cpp:
3791 (WebCore::HTMLFormElement::~HTMLFormElement):
3792 (WebCore::HTMLFormElement::parseMappedAttribute):
3793 (WebCore::HTMLFormElement::documentDidBecomeActive):
3794 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
3795 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
3796 * html/HTMLFormElement.h:
3797 * html/HTMLInputElement.cpp:
3798 (WebCore::HTMLInputElement::~HTMLInputElement):
3799 (WebCore::HTMLInputElement::setInputType):
3800 (WebCore::HTMLInputElement::parseMappedAttribute):
3801 (WebCore::HTMLInputElement::needsActivationCallback):
3802 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
3803 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
3804 (WebCore::HTMLInputElement::documentDidBecomeActive):
3805 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
3806 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
3807 * html/HTMLInputElement.h:
3808 * html/HTMLMediaElement.cpp:
3809 (WebCore::HTMLMediaElement::HTMLMediaElement):
3810 (WebCore::HTMLMediaElement::~HTMLMediaElement):
3811 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
3812 (WebCore::HTMLMediaElement::documentDidBecomeActive):
3813 * html/HTMLMediaElement.h:
3814 (WebCore::HTMLMediaElement::inActiveDocument):
3815 * loader/FrameLoader.cpp:
3816 (WebCore::FrameLoader::opened):
3817 * page/Page.cpp:
3818 (WebCore::Page::~Page):
3819 * rendering/RenderMedia.cpp:
3820 (WebCore::RenderMedia::updateControls):
3821 * rendering/RenderVideo.cpp:
3822 (WebCore::RenderVideo::updatePlayer):
3823 * svg/SVGSVGElement.cpp:
3824 (WebCore::SVGSVGElement::SVGSVGElement):
3825 (WebCore::SVGSVGElement::~SVGSVGElement):
3826 (WebCore::SVGSVGElement::documentWillBecomeInactive):
3827 (WebCore::SVGSVGElement::documentDidBecomeActive):
3828 * svg/SVGSVGElement.h:
3829
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +000038302008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
3831
3832 Reviewed by Simon
3833
3834 Fix the build inside Qt, don't create faulty prl files for now.
3835
3836 * WebCore.pro:
3837
hausmann@webkit.org809f4242008-09-26 13:17:31 +000038382008-09-26 Simon Hausmann <hausmann@webkit.org>
3839
3840 Fix compilation on Qt/Windows
3841
3842 * Add WebCore/ to the include path so that config.h is found that enables JSC
3843 * Link against winmm for the multimedia timer functions
3844 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
3845 subdirectory
3846 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
3847 but set m_window directly as setPlatformWidget takes a QWidget*.
3848
3849 * WebCore.pro:
3850 * platform/win/SystemTimeWin.cpp:
3851 * plugins/win/PluginViewWin.cpp:
3852 (WebCore::PluginView::init):
3853
oliver@apple.com38feb8e2008-09-26 11:53:40 +000038542008-09-26 Oliver Hunt <oliver@apple.com>
3855
3856 Reviewed by Maciej Stachowiak.
3857
3858 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
3859 <https://bugs.webkit.org/show_bug.cgi?id=21054>
3860
3861 This performance regression is actually just a symptom of a correctness
3862 bug. The constructor objects for a number of properties that have security
3863 checks on access were returning new objects each time. The most obvious
3864 symptom of this bug is that window.Image != window.Image, etc.
3865
3866 The solution to this is to make sure we cache these constructors
3867 in the same way as all the other DOM constructors. To achieve this
3868 without causing any refcount cycles it is necessary to replace the
3869 refcounted document pointer in the Image, MessageChannel, Option,
3870 XMLHttpRequest, and Audio constructor objects with a reference to
3871 the document's JS wrapper.
3872
3873 Tests: fast/dom/constructors-cached-navigate.html
3874 fast/dom/constructors-cached.html
3875
3876 * WebCore.xcodeproj/project.pbxproj:
3877 * bindings/js/JSAudioConstructor.cpp:
3878 (WebCore::JSAudioConstructor::mark):
3879 * bindings/js/JSAudioConstructor.h:
3880 (WebCore::JSAudioConstructor::document):
3881 * bindings/js/JSDOMWindowBase.cpp:
3882 (WebCore::getDOMConstructor):
3883 (WebCore::JSDOMWindowBase::getValueProperty):
3884 * bindings/js/JSDOMWindowBase.h:
3885 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3886 (WebCore::JSHTMLOptionElementConstructor::mark):
3887 * bindings/js/JSHTMLOptionElementConstructor.h:
3888 (WebCore::JSHTMLOptionElementConstructor::document):
3889 * bindings/js/JSImageConstructor.cpp:
3890 (WebCore::JSImageConstructor::mark):
3891 * bindings/js/JSImageConstructor.h:
3892 (WebCore::JSImageConstructor::document):
3893 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3894 (WebCore::JSXMLHttpRequestConstructor::mark):
3895 * bindings/js/JSXMLHttpRequestConstructor.h:
3896 (WebCore::JSXMLHttpRequestConstructor::document):
3897
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +000038982008-09-26 Simon Hausmann <hausmann@webkit.org>
3899
3900 Unreviewed one-liner build fix for the Qt/Windows build.
3901
3902 The build requires NPAPI support to be enabled, fix the condition in
3903 the .pro file for that.
3904
3905 * WebCore.pro:
3906
hausmann@webkit.org1ba35342008-09-26 10:51:33 +000039072008-09-26 Trenton Schulz <twschulz@trolltech.com>
3908
3909 Reviewed by Simon.
3910
3911 Fix compilation with the Qt/Cocoa port.
3912
3913 * platform/qt/ScrollViewQt.cpp:
3914 (WebCore::ScrollView::updateScrollbars):
3915
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000039162008-09-26 Simon Hausmann <hausmann@webkit.org>
3917
3918 Reviewed by Holger.
3919
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +00003920 Fix compilation with VC9SP1, work around bug in TR1 library by
3921 disabling it.
3922
3923 * WebCore.pro:
3924
39252008-09-26 Simon Hausmann <hausmann@webkit.org>
3926
3927 Reviewed by Holger.
3928
hausmann@webkit.orge359dd12008-09-26 09:37:09 +00003929 Fix an lupdate() warning.
3930
3931 Don't use tr() in a class that is not a QObject, use
3932 QCoreApplication::translate() directly.
3933
3934 * platform/qt/ScrollbarQt.cpp:
3935 (WebCore::Scrollbar::handleContextMenuEvent):
3936
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000039372008-09-25 David Hyatt <hyatt@apple.com>
3938
hyatt@apple.com4c833152008-09-26 06:21:22 +00003939 Remove the scrollTo() method from FrameView, since it is not used by anyone.
3940
3941 Reviewed by Oliver Hunt
3942
3943 * page/FrameView.cpp:
3944 * page/FrameView.h:
3945
39462008-09-25 David Hyatt <hyatt@apple.com>
3947
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +00003948 Make scrollRectIntoViewRecursively cross-platform.
3949
3950 Reviewed by Oliver Hunt
3951
3952 * platform/ScrollView.cpp:
3953 (WebCore::ScrollView::scrollRectIntoViewRecursively):
3954 * platform/gtk/ScrollViewGtk.cpp:
3955 * platform/mac/ScrollViewMac.mm:
3956 * platform/qt/ScrollViewQt.cpp:
3957 * platform/win/ScrollViewWin.cpp:
3958 * platform/wx/ScrollViewWx.cpp:
3959
39602008-09-25 David Hyatt <hyatt@apple.com>
3961
hyatt@apple.com25cd25e2008-09-26 06:07:14 +00003962 https://bugs.webkit.org/show_bug.cgi?id=21133
3963
3964 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
3965 cross-platform.
3966
3967 Reviewed by Oliver Hunt
3968
3969 * loader/FrameLoader.cpp:
3970 (WebCore::FrameLoader::begin):
3971 * page/FrameView.cpp:
3972 (WebCore::FrameView::adjustViewSize):
3973 * platform/ScrollView.cpp:
3974 (WebCore::ScrollView::setContentsSize):
3975 * platform/ScrollView.h:
3976 (WebCore::ScrollView::updateScrollbars):
3977 * platform/gtk/ScrollViewGtk.cpp:
3978 * platform/mac/ScrollViewMac.mm:
3979 (WebCore::ScrollView::platformSetContentsSize):
3980 * platform/qt/ScrollViewQt.cpp:
3981 * platform/win/ScrollViewWin.cpp:
3982 * platform/wx/ScrollViewWx.cpp:
3983 (WebCore::ScrollView::platformSetContentsSize):
3984
39852008-09-25 David Hyatt <hyatt@apple.com>
3986
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +00003987 https://bugs.webkit.org/show_bug.cgi?id=21132
3988
3989 Clean up the methods that actually do the scrolling in ScrollView.
3990
3991 Reviewed by Oliver Hunt
3992
3993 * html/HTMLBodyElement.cpp:
3994 (WebCore::HTMLBodyElement::setScrollLeft):
3995 (WebCore::HTMLBodyElement::setScrollTop):
3996 * loader/FrameLoader.cpp:
3997 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
3998 * loader/ImageDocument.cpp:
3999 (WebCore::ImageDocument::imageClicked):
4000 * page/DOMWindow.cpp:
4001 (WebCore::DOMWindow::scrollBy):
4002 (WebCore::DOMWindow::scrollTo):
4003 * page/FrameView.cpp:
4004 (WebCore::FrameView::scrollTo):
4005 (WebCore::FrameView::setScrollPosition):
4006 * page/FrameView.h:
4007 * platform/ScrollView.cpp:
4008 (WebCore::ScrollView::maximumScrollPosition):
4009 * platform/ScrollView.h:
4010 (WebCore::ScrollView::contentsWidth):
4011 (WebCore::ScrollView::contentsHeight):
4012 (WebCore::ScrollView::scrollBy):
4013 * platform/gtk/ScrollViewGtk.cpp:
4014 (WebCore::ScrollView::setScrollPosition):
4015 * platform/mac/ScrollViewMac.mm:
4016 (WebCore::ScrollView::setScrollPosition):
4017 * platform/qt/ScrollViewQt.cpp:
4018 (WebCore::ScrollView::setScrollPosition):
4019 (WebCore::ScrollView::scrollRectIntoViewRecursively):
4020 * platform/win/ScrollViewWin.cpp:
4021 (WebCore::ScrollView::setScrollPosition):
4022 (WebCore::ScrollView::scrollRectIntoViewRecursively):
4023 * platform/wx/ScrollViewWx.cpp:
4024 (WebCore::ScrollView::setScrollPosition):
4025 * rendering/RenderLayer.cpp:
4026 (WebCore::RenderLayer::scrollByRecursively):
4027 (WebCore::RenderLayer::scrollRectToVisible):
4028
mitz@apple.com5c920f12008-09-26 05:25:41 +000040292008-09-25 Dan Bernstein <mitz@apple.com>
4030
4031 - attempted Windows build fix
4032
4033 * platform/win/ScrollViewWin.cpp:
4034 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4035 (WebCore::ScrollView::setContentsPos):
4036 (WebCore::ScrollView::paint):
4037
timothy@apple.comd884aae2008-09-26 04:35:48 +000040382008-09-25 Timothy Hatcher <timothy@apple.com>
4039
4040 Revert the padding changes done in r36905 to prevent the
4041 scrollbar from overlapping the URLs in the Console.
4042
4043 https://bugs.webkit.org/show_bug.cgi?id=21126
4044
4045 * page/inspector/inspector.css:
4046
hyatt@apple.comc01fb232008-09-26 04:28:25 +000040472008-09-25 David Hyatt <hyatt@apple.com>
4048
4049 https://bugs.webkit.org/show_bug.cgi?id=21129
4050
4051 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
4052 of platform-specific methods required of ScrollView implementations.
4053
4054 Reviewed by Tim Hatcher
4055
4056 * dom/MouseRelatedEvent.cpp:
4057 (WebCore::contentsX):
4058 (WebCore::contentsY):
4059 * html/HTMLBodyElement.cpp:
4060 (WebCore::HTMLBodyElement::scrollLeft):
4061 (WebCore::HTMLBodyElement::setScrollLeft):
4062 (WebCore::HTMLBodyElement::scrollTop):
4063 (WebCore::HTMLBodyElement::setScrollTop):
4064 * loader/FrameLoader.cpp:
4065 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
4066 * page/DOMWindow.cpp:
4067 (WebCore::DOMWindow::scrollX):
4068 (WebCore::DOMWindow::scrollY):
4069 * page/EventHandler.cpp:
4070 (WebCore::EventHandler::hitTestResultAtPoint):
4071 * page/FrameView.cpp:
4072 (WebCore::FrameView::scrollTo):
4073 (WebCore::FrameView::windowClipRect):
4074 * platform/ScrollView.cpp:
4075 (WebCore::ScrollView::visibleContentRect):
4076 (WebCore::ScrollView::contentsSize):
4077 (WebCore::ScrollView::platformContentsSize):
4078 * platform/ScrollView.h:
4079 (WebCore::ScrollView::scrollPosition):
4080 (WebCore::ScrollView::scrollOffset):
4081 (WebCore::ScrollView::scrollX):
4082 (WebCore::ScrollView::scrollY):
4083 (WebCore::ScrollView::contentsWidth):
4084 (WebCore::ScrollView::contentsHeight):
4085 * platform/gtk/ScrollViewGtk.cpp:
4086 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
4087 (WebCore::ScrollView::setGtkAdjustments):
4088 (WebCore::ScrollView::resizeContents):
4089 (WebCore::ScrollView::contentsWidth):
4090 (WebCore::ScrollView::contentsHeight):
4091 (WebCore::ScrollView::scrollOffset):
4092 (WebCore::ScrollView::maximumScroll):
4093 (WebCore::ScrollView::scrollBy):
4094 (WebCore::ScrollView::suppressScrollbars):
4095 (WebCore::ScrollView::setHScrollbarMode):
4096 (WebCore::ScrollView::setVScrollbarMode):
4097 (WebCore::ScrollView::setScrollbarsMode):
4098 (WebCore::ScrollView::setFrameGeometry):
4099 (WebCore::ScrollView::updateScrollbars):
4100 * platform/mac/ScrollViewMac.mm:
4101 (WebCore::ScrollView::platformContentsSize):
4102 (WebCore::ScrollView::scrollBy):
4103 * platform/mac/WidgetMac.mm:
4104 (WebCore::Widget::convertFromContainingWindow):
4105 (WebCore::Widget::convertToContainingWindow):
4106 * platform/qt/ScrollViewQt.cpp:
4107 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4108 (WebCore::ScrollView::resizeContents):
4109 (WebCore::ScrollView::setFrameGeometry):
4110 (WebCore::ScrollView::scrollOffset):
4111 (WebCore::ScrollView::maximumScroll):
4112 (WebCore::ScrollView::scrollBy):
4113 (WebCore::ScrollView::setHScrollbarMode):
4114 (WebCore::ScrollView::setVScrollbarMode):
4115 (WebCore::ScrollView::setScrollbarsMode):
4116 (WebCore::ScrollView::updateScrollbars):
4117 * platform/win/ScrollViewWin.cpp:
4118 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4119 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
4120 (WebCore::ScrollView::resizeContents):
4121 (WebCore::ScrollView::setFrameGeometry):
4122 (WebCore::ScrollView::scrollOffset):
4123 (WebCore::ScrollView::maximumScroll):
4124 (WebCore::ScrollView::scrollBy):
4125 (WebCore::ScrollView::setHScrollbarMode):
4126 (WebCore::ScrollView::setVScrollbarMode):
4127 (WebCore::ScrollView::setScrollbarsMode):
4128 (WebCore::ScrollView::updateScrollbars):
4129 * platform/wx/ScrollViewWx.cpp:
4130 (WebCore::ScrollView::platformVisibleContentRect):
4131 (WebCore::ScrollView::platformContentsSize):
4132 * rendering/RenderBlock.cpp:
4133 (WebCore::RenderBlock::nodeAtPoint):
4134 * rendering/RenderLayer.cpp:
4135 (WebCore::RenderLayer::scrollRectToVisible):
4136 (WebCore::RenderLayer::calculateClipRects):
4137 (WebCore::RenderLayer::calculateRects):
4138 * rendering/RenderView.cpp:
4139 (WebCore::RenderView::absolutePosition):
4140 (WebCore::RenderView::computeAbsoluteRepaintRect):
4141
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000041422008-09-25 David Smith <catfish.man@gmail.com>
4143
dsmith@webkit.org0fedb622008-09-26 04:05:57 +00004144 Reviewed by Dave Hyatt.
4145
4146 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
4147
4148 * dom/Element.cpp:
4149 (WebCore::Element::rareData):
4150 * dom/Element.h:
4151 * dom/Node.cpp:
4152 (WebCore::Node::rareData):
4153 * dom/Node.h:
4154
41552008-09-25 David Smith <catfish.man@gmail.com>
4156
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +00004157 Reviewed by Darin Adler.
4158
4159 https://bugs.webkit.org/show_bug.cgi?id=20980
4160 Split off uncommonly used data from Node similar to ElementRareData
4161
4162 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
4163 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
4164 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
4165
4166 * WebCore.base.exp:
4167 * WebCore.xcodeproj/project.pbxproj:
4168 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
4169 * dom/ContainerNode.cpp: Set isContainer to true
4170 (WebCore::ContainerNode::ContainerNode):
4171 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
4172 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
4173 (WebCore::Node::containerChildNode): ditto
4174 (WebCore::Node::containerFirstChild): ditto
4175 (WebCore::Node::containerLastChild): ditto
4176 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
4177 (WebCore::Element::Element):
4178 (WebCore::Element::~Element):
4179 (WebCore::Element::rareData):
4180 (WebCore::Element::ensureRareData): Renamed from createRareData
4181 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
4182 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
4183 (WebCore::Element::detach): ditto
4184 (WebCore::Element::recalcStyle): ditto
4185 (WebCore::Element::focus):
4186 (WebCore::Element::minimumSizeForResizing): ditto
4187 (WebCore::Element::setMinimumSizeForResizing): ditto
4188 (WebCore::Element::computedStyle):
4189 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
4190 * dom/Element.h:
4191 * dom/ElementRareData.h: Added; everything copied from Element.cpp
4192 (WebCore::defaultMinimumSizeForResizing):
4193 (WebCore::ElementRareData::ElementRareData):
4194 (WebCore::ElementRareData::resetComputedStyle):
4195 * dom/EventTargetNode.cpp:
4196 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
4197 * dom/EventTargetNode.h:
4198 * dom/Node.cpp:
4199 (WebCore::Node::Node):
4200 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
4201 (WebCore::Node::rareData):
4202 (WebCore::Node::ensureRareData):
4203 (WebCore::Node::createRareData):
4204 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
4205 (WebCore::Node::setTabIndexExplicitly):
4206 (WebCore::Node::childNodes): NodeLists are now in rareData
4207 (WebCore::Node::setFocus):
4208 (WebCore::Node::rareDataFocused):
4209 (WebCore::Node::isFocusable):
4210 (WebCore::Node::isKeyboardFocusable):
4211 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
4212 (WebCore::Node::unregisterDynamicNodeList): ditto
4213 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
4214 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
4215 (WebCore::Node::getElementsByName): ditto
4216 (WebCore::Node::getElementsByClassName): ditto
4217 * dom/Node.h:
4218 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
4219 (WebCore::Node::lastChild): ditto
4220 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
4221 (WebCore::Node::focused): focus is in rareData if set
4222 (WebCore::Node::childTypeAllowed):
4223 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
4224 (WebCore::Node::childNode): ditto
4225 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
4226 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
4227 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
4228 (WebCore::NodeRareData::NodeRareData):
4229 (WebCore::NodeRareData::rareDataMap):
4230 (WebCore::NodeRareData::rareDataFromMap):
4231 (WebCore::NodeRareData::clearNodeLists):
4232 (WebCore::NodeRareData::setNodeLists):
4233 (WebCore::NodeRareData::nodeLists):
4234 (WebCore::NodeRareData::tabIndex):
4235 (WebCore::NodeRareData::setTabIndex):
4236 (WebCore::NodeRareData::tabIndexSetExplicitly):
4237 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
4238 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
4239
zecke@webkit.orge1370432008-09-26 01:47:30 +000042402008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
4241
4242 Reviewed by Simon Hausmann.
4243
zecke@webkit.org9ea87f62008-09-26 01:54:04 +00004244 [qt] ImageBuffer::toDataURL implementation
4245
4246 There needs to be a Qt specific test result for the above mentioned
4247 implementation.
4248
4249 * platform/graphics/qt/ImageBufferQt.cpp:
4250 (WebCore::ImageBuffer::toDataURL):
4251
42522008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
4253
4254 Reviewed by Simon Hausmann.
4255
zecke@webkit.orge1370432008-09-26 01:47:30 +00004256 [qt] Implement SharedBuffer for Qt.
4257
4258 * WebCore.pro:
4259 * platform/qt/SharedBufferQt.cpp: Added.
4260 (WebCore::SharedBuffer::createWithContentsOfFile):
4261 * platform/qt/TemporaryLinkStubs.cpp:
4262
ddkilzer@apple.com91eae552008-09-26 00:53:18 +000042632008-09-25 Feng Qian <feng@chromium.org>
4264
4265 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
4266 <rdar://problem/6243032>
4267
4268 Reviewed by Dave Hyatt.
4269
4270 Test: fast/dom/attribute-downcast-right.html
4271
4272 Add isMappedAttribute function to Attribute for checking if an object
4273 is an instance of MappedAttribute. Removed attributeItem,
4274 getAttributeItem functions from NamedMappedAttrMap, and callers
4275 expecting MappedAttribute have to check isMappedAttribute before
4276 downcasting the return value to MappedAttribute.
4277
4278 * css/CSSStyleSelector.cpp:
4279 (WebCore::CSSStyleSelector::styleForElement):
4280 * dom/Attribute.h:
4281 (WebCore::Attribute::isMappedAttribute):
4282 * dom/MappedAttribute.h:
4283 (WebCore::MappedAttribute::isMappedAttribute):
4284 * dom/NamedMappedAttrMap.cpp:
4285 (WebCore::NamedMappedAttrMap::declCount):
4286 (WebCore::NamedMappedAttrMap::mapsEquivalent):
4287 * dom/NamedMappedAttrMap.h:
4288 * dom/StyledElement.cpp:
4289 (WebCore::StyledElement::attributeChanged):
4290 * html/HTMLInputElement.cpp:
4291 (WebCore::HTMLInputElement::setInputType):
4292 * svg/SVGForeignObjectElement.cpp:
4293 (WebCore::addCSSPropertyAndNotifyAttributeMap):
4294 * svg/SVGStyledElement.cpp:
4295 (WebCore::SVGStyledElement::getPresentationAttribute):
4296
hyatt@apple.com79be62c2008-09-25 22:25:22 +000042972008-09-25 David Hyatt <hyatt@apple.com>
4298
4299 https://bugs.webkit.org/show_bug.cgi?id=21120
4300
4301 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
4302 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
4303 didn't want to mix that change in with this patch).
4304
4305 Reviewed by Sam Weinig
4306
4307 * page/Frame.cpp:
4308 (WebCore::Frame::markAllMatchesForText):
4309 * page/FrameView.cpp:
4310 (WebCore::FrameView::repaintContentRectangle):
4311 (WebCore::FrameView::windowClipRect):
4312 (WebCore::FrameView::updateControlTints):
4313 * platform/ScrollView.cpp:
4314 (WebCore::ScrollView::visibleContentRect):
4315 (WebCore::ScrollView::platformVisibleContentRect):
4316 * platform/ScrollView.h:
4317 (WebCore::ScrollView::visibleWidth):
4318 (WebCore::ScrollView::visibleHeight):
4319 * platform/gtk/ScrollViewGtk.cpp:
4320 (WebCore::ScrollView::horizontalScrollbar):
4321 (WebCore::ScrollView::verticalScrollbar):
4322 * platform/mac/ScrollViewMac.mm:
4323 (WebCore::ScrollView::horizontalScrollbar):
4324 (WebCore::ScrollView::verticalScrollbar):
4325 (WebCore::ScrollView::platformVisibleContentRect):
4326 * platform/qt/ScrollViewQt.cpp:
4327 (WebCore::ScrollView::horizontalScrollbar):
4328 (WebCore::ScrollView::verticalScrollbar):
4329 * platform/win/ScrollViewWin.cpp:
4330 (WebCore::ScrollView::horizontalScrollbar):
4331 (WebCore::ScrollView::verticalScrollbar):
4332 * platform/wx/ScrollViewWx.cpp:
4333 (WebCore::ScrollView::platformVisibleContentRect):
4334 (WebCore::ScrollView::horizontalScrollbar):
4335 (WebCore::ScrollView::verticalScrollbar):
4336 * rendering/RenderLayer.cpp:
4337 (WebCore::RenderLayer::scrollRectToVisible):
4338 (WebCore::frameVisibleRect):
4339 * rendering/RenderView.cpp:
4340 (WebCore::RenderView::viewRect):
4341
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +000043422008-09-25 David Smith <catfish.man@gmail.com>
4343
4344 Reviewed by Timothy Hatcher
4345
4346 https://bugs.webkit.org/show_bug.cgi?id=21052
4347 Generalize id selector special case for querySelectorAll
4348
4349 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
4350 Changes results on http://native.khan.mozilla.org
4351 from
4352 #title: 2ms
4353 h1#title: 55ms
4354 div #title: 55ms
4355
4356 to:
4357 #title: 1ms
4358 h1#title: 2ms
4359 div #title: 5ms
4360
4361 * dom/Node.cpp:
4362 (WebCore::Node::querySelector):
4363 * dom/SelectorNodeList.cpp:
4364 (WebCore::createSelectorNodeList):
4365
hyatt@apple.com64a3be22008-09-25 20:49:17 +000043662008-09-25 David Hyatt <hyatt@apple.com>
4367
4368 https://bugs.webkit.org/show_bug.cgi?id=21118
4369
4370 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
4371
4372 Reviewed by Sam Weinig
4373
4374 * page/FrameView.cpp:
4375 (WebCore::FrameView::clear):
4376 (WebCore::FrameView::layout):
4377 (WebCore::FrameView::setUseSlowRepaints):
4378 (WebCore::FrameView::addSlowRepaintObject):
4379 (WebCore::FrameView::removeSlowRepaintObject):
4380 * platform/ScrollView.cpp:
4381 (WebCore::ScrollView::init):
4382 (WebCore::ScrollView::addChild):
4383 (WebCore::ScrollView::removeChild):
4384 (WebCore::ScrollView::setCanBlitOnScroll):
4385 * platform/ScrollView.h:
4386 (WebCore::ScrollView::canBlitOnScroll):
4387 * platform/gtk/ScrollViewGtk.cpp:
4388 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4389 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4390 (WebCore::ScrollView::ScrollView):
4391 * platform/mac/ScrollViewMac.mm:
4392 (WebCore::ScrollView::ScrollView):
4393 (WebCore::ScrollView::platformAddChild):
4394 (WebCore::ScrollView::platformRemoveChild):
4395 (WebCore::ScrollView::platformSetCanBlitOnScroll):
4396 * platform/qt/ScrollViewQt.cpp:
4397 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4398 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4399 (WebCore::ScrollView::ScrollView):
4400 * platform/win/ScrollViewWin.cpp:
4401 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4402 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4403 (WebCore::ScrollView::ScrollView):
4404 * platform/wx/ScrollViewWx.cpp:
4405 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4406 (WebCore::ScrollView::ScrollView):
4407 (WebCore::ScrollView::scrollBy):
4408
kmccullough@apple.com03b515b2008-09-25 20:29:57 +000044092008-09-25 Kevin McCullough <kmccullough@apple.com>
4410
4411 Reviewed by Tim Hatcher.
4412
4413 Bug 21109: Console should right-align urls
4414
4415 * page/inspector/Console.js: Re-order the message elements so that when
4416 it overflows it doesn't get mixed in with the next message.
4417 * page/inspector/inspector.css:
4418
hyatt@apple.com95d18752008-09-25 20:15:44 +000044192008-09-25 David Hyatt <hyatt@apple.com>
4420
4421 https://bugs.webkit.org/show_bug.cgi?id=21113
4422
4423 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
4424
4425 Reviewed by Darin Adler
4426
4427 * css/CSSImportRule.cpp:
4428 (WebCore::CSSImportRule::insertedIntoParent):
4429 * css/CSSRule.cpp:
4430 (WebCore::CSSRule::parentStyleSheet):
4431 (WebCore::CSSRule::parentRule):
4432 * css/CSSStyleSheet.cpp:
4433 (WebCore::CSSStyleSheet::CSSStyleSheet):
4434 * css/CSSStyleSheet.h:
4435
darin@apple.com6ca04432008-09-25 20:02:11 +000044362008-09-25 Darin Adler <darin@apple.com>
4437
4438 Reviewed by Adele Peterson.
4439
4440 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
4441 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
4442 bundled documents
4443
4444 * html/HTMLFormElement.cpp:
4445 (WebCore::HTMLFormElement::formData): Use files() instead of value()
4446 to get the path, since value() now returns just the basename.
4447
beidson@apple.comb9a40052008-09-25 18:37:09 +000044482008-09-25 Brady Eidson <beidson@apple.com>
4449
4450 Rubberstamped by Mark Rowe
4451
4452 Roll out 36771 as it caused <rdar://problem/6246554>
4453 "nytimes.com doesn't display after returning to it with back/forward"
4454
4455 * css/CSSImportRule.cpp:
4456 (WebCore::CSSImportRule::insertedIntoParent):
4457 * css/CSSRule.cpp:
4458 (WebCore::CSSRule::parentStyleSheet):
4459 (WebCore::CSSRule::parentRule):
4460 * css/CSSStyleSheet.cpp:
4461 (WebCore::CSSStyleSheet::CSSStyleSheet):
4462 (WebCore::CSSStyleSheet::docLoader):
4463 * css/CSSStyleSheet.h:
4464 (WebCore::CSSStyleSheet::doc):
4465
aroben@apple.comdf5a7322008-09-25 17:47:15 +000044662008-09-25 Adam Roben <aroben@apple.com>
4467
4468 Windows build fix
4469
4470 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
4471
mitz@apple.com0565bc92008-09-25 17:27:37 +000044722008-09-25 Dan Bernstein <mitz@apple.com>
4473
4474 - Windows build fix
4475
4476 * platform/win/ScrollViewWin.cpp:
4477 (WebCore::ScrollView::addChildPlatformWidget):
4478 (WebCore::ScrollView::removeChildPlatformWidget):
4479
timothy@apple.com7a4bf192008-09-25 17:07:43 +000044802008-09-25 Timothy Hatcher <timothy@apple.com>
4481
4482 Fixes a leak of ConsoleMessage seen when repeated console
4483 messages occur.
4484
4485 Reviewed by Mark Rowe.
4486
4487 * page/InspectorController.cpp:
4488 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
4489 since we don't add it to m_consoleMessages.
4490
kmccullough@apple.com340e7272008-09-25 16:04:20 +000044912008-09-25 Kevin McCullough <kmccullough@apple.com>
4492
kmccullough@apple.com364f2992008-09-25 16:48:34 +00004493 Reviewed by Dan Bernstein.
4494
4495 Bug 21105: XHRs logged in the console may show the wrong URL for the
4496 source
4497 - Get the url at the time of the send() and pass it on to the XHR.
4498
4499 * bindings/js/JSXMLHttpRequestCustom.cpp:
4500 (WebCore::JSXMLHttpRequest::send):
4501 * xml/XMLHttpRequest.cpp:
4502 (WebCore::XMLHttpRequest::didFinishLoading):
4503 * xml/XMLHttpRequest.h:
4504 (WebCore::XMLHttpRequest::setLastSendURL):
4505
45062008-09-25 Kevin McCullough <kmccullough@apple.com>
4507
kmccullough@apple.com340e7272008-09-25 16:04:20 +00004508 Reviewed by Geoff and Tim.
4509
4510 Bug 20322: XHRs logged in the console do not have line numbers
4511 - Get the line number at the time of the send and pass it on to the XHR.
4512
4513 * bindings/js/JSXMLHttpRequestCustom.cpp:
4514 (WebCore::JSXMLHttpRequest::send):
4515 * xml/XMLHttpRequest.cpp:
4516 (WebCore::XMLHttpRequest::XMLHttpRequest):
4517 (WebCore::XMLHttpRequest::didFinishLoading):
4518 * xml/XMLHttpRequest.h:
4519 (WebCore::XMLHttpRequest::setLastSendLineNumber):
4520
eric.carlson@apple.comb9404142008-09-25 15:33:02 +000045212008-09-25 Eric Carlson <eric.carlson@apple.com>
4522
4523 Reviewed by Eric Seidel.
4524
4525 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
4526 https://bugs.webkit.org/show_bug.cgi?id=21003
4527
4528 * dom/EventNames.h: remove "begin" event
4529 * html/HTMLMediaElement.cpp:
4530 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
4531
ap@webkit.orgcdec56d2008-09-25 11:30:02 +000045322008-09-25 Alexey Proskuryakov <ap@webkit.org>
4533
4534 Reviewed by Eric Seidel.
4535
4536 https://bugs.webkit.org/show_bug.cgi?id=21097
4537 Calling a MessageChannel constructor from a destroyed document results in a crash
4538
4539 Test: fast/events/message-port-constructor-for-deleted-document.html
4540
4541 * bindings/js/JSMessageChannelConstructor.cpp:
4542 (WebCore::JSMessageChannelConstructor::construct):
4543 * bindings/js/JSMessageChannelConstructor.h:
4544 Made m_document a RefPtr.
4545
ap@webkit.org28b51752008-09-25 10:15:11 +000045462008-09-24 Alexey Proskuryakov <ap@webkit.org>
4547
4548 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
4549
4550 https://bugs.webkit.org/show_bug.cgi?id=20879
4551 Implement HTML5 channel messaging
4552
4553 Tests: fast/events/message-channel-gc.html
4554 fast/events/message-port-deleted-document.html
4555 fast/events/message-port-deleted-frame.html
4556 fast/events/message-port-inactive-document.html
4557 fast/events/message-port.html
4558 http/tests/security/MessagePort/event-listener-context.html
4559
4560 * Configurations/WebCore.xcconfig:
4561 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
4562
4563 * DerivedSources.make:
4564 Added MessageChannel and MessagePort.
4565
4566 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
4567 turmed off anyway. Added new files.
4568
4569 * GNUmakefile.am:
4570 * WebCore.pro:
4571 * WebCore.vcproj/WebCore.vcproj:
4572 * WebCore.xcodeproj/project.pbxproj:
4573 * WebCoreSources.bkl:
4574 Added new files.
4575
4576 * bindings/js/JSDOMWindowBase.h:
4577 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
4578 Added suport for window.MessageChannel constructor.
4579
4580 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
4581 * page/DOMWindow.cpp:
4582 (WebCore::DOMWindow::postMessage):
4583 * page/DOMWindow.h:
4584 * page/DOMWindow.idl:
4585 Added support for three-argument postMessage (that posts a MessagePort).
4586
4587 * dom/EventTarget.cpp:
4588 (WebCore::EventTarget::toMessagePort):
4589 * dom/EventTarget.h:
4590 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
4591 EventTarget variant.
4592
4593 * bindings/js/JSMessageChannelConstructor.h:
4594 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
4595 take a browsing context (document) parameter.
4596
4597 * bindings/js/JSMessageChannelCustom.cpp: Added.
4598 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
4599 port1 and port2 that it owns.
4600
4601 * bindings/js/JSMessagePortCustom.cpp: Added.
4602 (WebCore::JSMessagePort::startConversation):
4603 (WebCore::JSMessagePort::addEventListener):
4604 (WebCore::JSMessagePort::removeEventListener):
4605 (WebCore::JSMessagePort::dispatchEvent):
4606 (WebCore::JSMessagePort::setOnmessage):
4607 (WebCore::JSMessagePort::onmessage):
4608 (WebCore::JSMessagePort::setOnclose):
4609 (WebCore::JSMessagePort::onclose):
4610 (WebCore::JSMessagePort::mark):
4611 * dom/MessagePort.cpp: Added.
4612 * dom/MessagePort.h: Added.
4613 * dom/MessagePort.idl: Added.
4614 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
4615 with Documents as contexts, but in the future, it will be used for communication with worker
4616 threads.
4617
4618 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
4619 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
4620 needed for MessageEvent.
4621
4622 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
4623
4624 * dom/Document.cpp:
4625 (WebCore::MessagePortTimer::MessagePortTimer):
4626 (WebCore::MessagePortTimer::fired):
4627 (WebCore::Document::processMessagePortMessagesSoon):
4628 (WebCore::Document::~Document):
4629 (WebCore::Document::dispatchMessagePortEvents):
4630 (WebCore::Document::createdMessagePort):
4631 (WebCore::Document::destroyedMessagePort):
4632 * dom/Document.h:
4633 Document keeps track of all MessagePort objects that were created when it was fully active
4634 in its context.
4635
4636 * dom/EventNames.h: Added closeEvent.
4637
4638 * dom/MessageChannel.cpp: Added.
4639 (WebCore::MessageChannel::MessageChannel):
4640 (WebCore::MessageChannel::~MessageChannel):
4641 * dom/MessageChannel.h: Added.
4642 (WebCore::MessageChannel::create):
4643 (WebCore::MessageChannel::port1):
4644 (WebCore::MessageChannel::port2):
4645 * dom/MessageChannel.idl: Added.
4646 Addded JSMessageChannel implementation.
4647
4648 * dom/MessageEvent.cpp:
4649 (WebCore::MessageEvent::MessageEvent):
4650 (WebCore::MessageEvent::initMessageEvent):
4651 * dom/MessageEvent.h:
4652 (WebCore::MessageEvent::create):
4653 (WebCore::MessageEvent::messagePort):
4654 * dom/MessageEvent.idl:
4655 MessageEvent has a MessagePort member now, making it possible to pass ports across
4656 documents.
4657
dsmith@webkit.org3e32f422008-09-25 08:57:31 +000046582008-09-25 David Smith <catfish.man@gmail.com>
4659
4660 Reviewed by Eric Seidel
4661
4662 fix https://bugs.webkit.org/show_bug.cgi?id=21091
4663 Regression: querySelector matches tag names case sensitively
4664
4665 Tests: fast/dom/SelectorAPI/caseTag.html
4666 fast/dom/SelectorAPI/caseTagX.xhtml
4667
4668 * css/CSSParser.cpp:
4669 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
4670 * css/CSSParser.h:
4671 * dom/Node.cpp:
4672 (WebCore::Node::querySelector):
4673 (WebCore::Node::querySelectorAll):
4674
hyatt@apple.com912c1b12008-09-25 07:38:56 +000046752008-09-24 David Hyatt <hyatt@apple.com>
4676
4677 https://bugs.webkit.org/show_bug.cgi?id=21084
4678
4679 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
4680 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
4681
4682 Reviewed by Sam Weinig
4683
4684 * GNUmakefile.am:
4685 * WebCore.pro:
4686 * WebCore.vcproj/WebCore.vcproj:
4687 * WebCore.xcodeproj/project.pbxproj:
4688 * WebCoreSources.bkl:
4689 * platform/ScrollView.h:
4690 (WebCore::ScrollView::children):
4691 * platform/Widget.h:
4692 * platform/gtk/ScrollViewGtk.cpp:
4693 (WebCore::ScrollView::addChildPlatformWidget):
4694 (WebCore::ScrollView::removeChildPlatformWidget):
4695 (WebCore::ScrollView::geometryChanged):
4696 * platform/mac/ScrollViewMac.mm:
4697 (WebCore::ScrollView::addChildPlatformWidget):
4698 (WebCore::ScrollView::removeChildPlatformWidget):
4699 * platform/qt/ScrollViewQt.cpp:
4700 (WebCore::ScrollView::geometryChanged):
4701 (WebCore::ScrollView::addChildPlatformWidget):
4702 (WebCore::ScrollView::removeChildPlatformWidget):
4703 * platform/win/ScrollViewWin.cpp:
4704 (WebCore::ScrollView::geometryChanged):
4705 (WebCore::ScrollView::setParentVisible):
4706 (WebCore::ScrollView::show):
4707 (WebCore::ScrollView::hide):
4708 * platform/wx/ScrollViewWx.cpp:
4709 (WebCore::ScrollView::addChildPlatformWidget):
4710 (WebCore::ScrollView::removeChildPlatformWidget):
4711
mitz@apple.com982d2cc2008-09-25 07:16:05 +000047122008-09-25 Dan Bernstein <mitz@apple.com>
4713
4714 Reviewed by Dave Hyatt.
4715
4716 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
4717 <rdar://problem/6240821> Scrollbar not painted until hovered
4718
4719 * rendering/RenderWidget.cpp:
4720 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
4721 this method, which sets both the location and the size.
4722 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
4723 with a call to the new method setWidgetGeometry. Positioning the
4724 widget correctly ensures that the scroll bars invalidate correctly when
4725 they are created and resized.
4726 * rendering/RenderWidget.h:
4727
mitz@apple.com61969a62008-09-25 00:50:05 +000047282008-09-24 Dan Bernstein <mitz@apple.com>
4729
4730 Rubber-stamped by Sam Weinig.
4731
4732 - create a "style" subfolder under "rendering" and move style files to that folder
4733
4734 * WebCore.vcproj/WebCore.vcproj:
4735
weinig@apple.comacfb9e12008-09-25 00:39:11 +000047362008-09-24 Sam Weinig <sam@webkit.org>
4737
4738 Reviewed by Maciej Stachowiak.
4739
4740 Remove staticFunctionGetter. There is only one remaining user of
4741 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
4742
4743 * bindings/js/JSDOMWindowBase.cpp:
4744 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
4745
mitz@apple.com0cb3dff2008-09-24 23:40:29 +000047462008-09-24 Jeremy Moskovich <jeremy@chromium.org>
4747
4748 Reviewed by Dan Bernstein.
4749
4750 Test: editing/spelling/inline_spelling_markers.html
4751
4752 - https://bugs.webkit.org/show_bug.cgi?id=20092
4753 Spelling markers positioned incorrectly in RTL text
4754
4755 Measure spelling markers with selectionRectForText() to fix RTL.
4756
4757 This patch also fixes hit-testing for spelling marker tool tips,
4758 which used to work only on the first line.
4759
4760 * rendering/InlineTextBox.cpp:
4761 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
4762
hyatt@apple.come5925322008-09-24 21:28:08 +000047632008-09-24 David Hyatt <hyatt@apple.com>
4764
hyatt@apple.com31cd6d62008-09-24 21:45:19 +00004765 https://bugs.webkit.org/show_bug.cgi?id=21074
4766
hyatt@apple.come5925322008-09-24 21:28:08 +00004767 Make sure the viewless scrollbar knows how to paint properly when transformed.
4768
4769 Reviewed by Sam Weinig
4770
4771 * platform/mac/ScrollbarThemeMac.mm:
4772 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
4773 (WebCore::ScrollbarThemeMac::paint):
4774
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +000047752008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
4776
4777 Not reviewed. Try to fix win build.
4778
4779 * bindings/js/JSSVGElementInstanceCustom.cpp:
4780 (WebCore::toJS):
4781 * dom/ContainerNodeAlgorithms.h:
4782 (WebCore::removeAllChildrenInContainer):
4783 (WebCore::appendChildToContainer):
4784 (WebCore::Private::addChildNodesToDeletionQueue):
4785
47862008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
4787
4788 Reviewed by Oliver.
4789
4790 Add ContainerNodeAlgorithms.h, as central place to share algorithms
4791 operating on TreeShared-derived classes with a Node-style interface.
4792
4793 This allows SVGElementInstance & ContainerNode to share code.
4794
4795 * dom/ContainerNode.cpp:
4796 (WebCore::ContainerNode::removeAllChildren):
4797 (WebCore::ContainerNode::addChild):
4798 * dom/ContainerNode.h:
4799 * dom/ContainerNodeAlgorithms.h: Added.
4800 (WebCore::removeAllChildrenInContainer):
4801 (WebCore::appendChildToContainer):
4802 (WebCore::Private::NodeRemovalDispatcher::dispatch):
4803 (WebCore::Private::addChildNodesToDeletionQueue):
4804
simon.fraser@apple.com557a0472008-09-24 21:08:23 +000048052008-09-24 Simon Fraser <simon.fraser@apple.com>
4806
4807 Reviewed by Dave Hyatt
4808
4809 Wrap up dirtying the z-order list of the stacking context
4810 RenderLayer into a method.
4811 https://bugs.webkit.org/show_bug.cgi?id=21072
4812
4813 * rendering/RenderLayer.cpp:
4814 (WebCore::RenderLayer::setHasVisibleContent):
4815 (WebCore::RenderLayer::addChild):
4816 (WebCore::RenderLayer::removeChild):
4817 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
4818 (WebCore::RenderLayer::styleChanged):
4819 * rendering/RenderLayer.h:
4820 * rendering/RenderObject.cpp:
4821 (WebCore::RenderObject::setStyle):
4822
kmccullough@apple.comaf908e62008-09-24 20:22:23 +000048232008-09-24 Kevin McCullough <kmccullough@apple.com>
4824
4825 Reviewed by Tim.
4826
4827 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
4828 or displayed multiple times
4829 - The Insepctor Controller was comparing JSValue pointers so thought the
4830 message was not a repeat, but the JS of the inspector compared the
4831 strings and so knew it was the same message and so overwrote the old
4832 message.
4833
4834 * page/InspectorController.cpp:
4835 (WebCore::ConsoleMessage::isEqual):
4836 (WebCore::InspectorController::addMessageToConsole):
4837 (WebCore::InspectorController::addConsoleMessage):
4838 (WebCore::InspectorController::startGroup):
4839 (WebCore::InspectorController::endGroup):
4840 * page/InspectorController.h:
4841
hyatt@apple.comf4c8f172008-09-24 20:19:26 +000048422008-09-24 David Hyatt <hyatt@apple.com>
4843
4844 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
4845 arrow placement preference and the thumb jump preference).
4846
4847 Reviewed by Adam Roben
4848
4849 * platform/Scrollbar.cpp:
4850 (WebCore::Scrollbar::Scrollbar):
4851 (WebCore::Scrollbar::~Scrollbar):
4852 * platform/ScrollbarTheme.h:
4853 (WebCore::ScrollbarTheme::registerScrollbar):
4854 (WebCore::ScrollbarTheme::unregisterScrollbar):
4855 * platform/mac/ScrollbarThemeMac.h:
4856 * platform/mac/ScrollbarThemeMac.mm:
4857 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
4858 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
4859 (+[ScrollbarPrefsObserver registerAsObserver]):
4860 (WebCore::ScrollbarThemeMac::registerScrollbar):
4861 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
4862 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
4863 (WebCore::ScrollbarThemeMac::preferencesChanged):
4864
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +000048652008-09-24 Rob Buis <buis@kde.org>
4866
4867 Reviewed by Darin.
4868
4869 https://bugs.webkit.org/show_bug.cgi?id=20557
4870 getScreenCTM() returns wrong values
4871
4872 Use the absolute position of the svg root when
4873 determining the screen ctm.
4874
4875 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
4876
4877 * svg/SVGSVGElement.cpp:
4878 (WebCore::SVGSVGElement::getScreenCTM):
4879
hyatt@apple.com40a73652008-09-24 18:15:15 +000048802008-09-24 David Hyatt <hyatt@apple.com>
4881
hyatt@apple.come77b7d42008-09-24 18:26:51 +00004882 Turn off support for CSS variables.
4883
4884 * ChangeLog:
4885 * css/CSSParser.cpp:
4886 (WebCore::CSSParser::createVariablesRule):
4887 (WebCore::CSSParser::addVariable):
4888 (WebCore::CSSParser::addVariableDeclarationBlock):
4889
48902008-09-24 David Hyatt <hyatt@apple.com>
4891
hyatt@apple.com40a73652008-09-24 18:15:15 +00004892 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
4893
4894 * css/CSSGrammar.y:
4895 * css/CSSParserValues.cpp:
4896 (WebCore::CSSParserValue::isVariable):
4897 * css/CSSPrimitiveValue.cpp:
4898 (WebCore::CSSPrimitiveValue::cleanup):
4899 (WebCore::CSSPrimitiveValue::getStringValue):
4900 (WebCore::CSSPrimitiveValue::cssText):
4901 (WebCore::CSSPrimitiveValue::parserValue):
4902 * css/CSSPrimitiveValue.h:
4903 (WebCore::CSSPrimitiveValue::):
4904 (WebCore::CSSPrimitiveValue::isVariable):
4905
timothy@apple.com0214f092008-09-24 16:23:17 +000049062008-09-24 Timothy Hatcher <timothy@apple.com>
4907
4908 Fixes a regression where the "incorrect MIME-type" warning would not
4909 show up correctly in the Console or the resources sidebar.
4910
4911 Reviewed by Kevin McCullough.
4912
4913 * page/inspector/Resource.js:
4914 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
4915 to the WebInspector.ConsoleMessage constructor call.
4916 (WebInspector.Resource.prototype._checkWarning): Ditto.
4917
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +000049182008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
4919
4920 Reviewed by Simon.
4921
4922 Remove deprecated JS Qt bindings object call/construct code and fix autotests
4923
4924 * bridge/qt/qt_instance.cpp:
4925 (JSC::Bindings::QtInstance::QtInstance):
4926 * bridge/qt/qt_instance.h:
4927
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +000049282008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
4929
4930 Reviewed by Alp Toker. Landed by Jan Alonzo.
4931
4932 Bug 20883: [CURL] Add deferred loading
4933 https://bugs.webkit.org/show_bug.cgi?id=20883
4934
4935 Implement deferred loading for the libcURL backend using curl_easy_pause.
4936 As the method was introduced in version 7.18.0, all the code checks for libcURL
4937 version.
4938
4939 * platform/network/curl/ResourceHandleCurl.cpp:
4940 (WebCore::ResourceHandle::setDefersLoading):
4941 * platform/network/curl/ResourceHandleManager.cpp:
4942 (WebCore::writeCallback): Add an assertion that deferred loading is not
4943 activated.
4944 (WebCore::headerCallback): Ditto.
4945 (WebCore::readCallback): Ditto.
4946 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
4947 defersLoading to be false in order to avoid triggering an assertion.
4948 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
4949 activated, pause the easy handle.
4950
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +000049512008-09-23 Matt Lilek <webkit@mattlilek.com>
4952
4953 Reviewed by Tim Hatcher.
4954
4955 Inspector search field style tweaks.
4956
4957 * page/inspector/inspector.css:
4958
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +000049592008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
4960
4961 Reviewed by Eric.
4962
4963 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
4964
4965 Fix missing negation in EventTargetNode::insertedIntoDocument.
4966 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
4967 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
4968
4969 * dom/EventTargetNode.cpp:
4970 (WebCore::EventTargetNode::insertedIntoDocument):
4971 (WebCore::EventTargetNode::dispatchGenericEvent):
4972 * dom/EventTargetNode.h:
4973
timothy@apple.combffde042008-09-24 02:07:39 +000049742008-09-23 Timothy Hatcher <timothy@apple.com>
4975
timothy@apple.com99c03532008-09-24 02:08:44 +00004976 Adds search support to the Profiles panel.
4977
4978 The Profiles panel supports a few types of queries:
4979 * Standard string matching for function names and file URLs.
4980 * Greater than and less than search for numeric columns.
4981 So a query of ">24" will match all rows that have calls
4982 greater than 24. Or "<=42" will match all 42 or less.
4983 * Percent and time units. Adding a unit of "s", "ms" or "%"
4984 is supported and will match only the Self and Total columns.
4985 So a query of ">1.25s" will match all rows that took longer
4986 than 1.25 seconds.
4987
4988 Reviewed by Oliver Hunt.
4989
4990 * page/inspector/ProfileView.js:
4991 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
4992 it will start at the first result.
4993 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
4994 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
4995 data grid nodes.
4996 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
4997 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
4998 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
4999 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
5000 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
5001 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
5002 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
5003 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
5004 Expand all the ancestors first so the profile node will have a DataGridNode.
5005 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
5006 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
5007 have search matches.
5008 * page/inspector/ProfilesPanel.js:
5009 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
5010 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
5011 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
5012 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
5013 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
5014 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
5015 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
5016 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
5017 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
5018 * page/inspector/inspector.css: New style rules for the cell highlight color.
5019
50202008-09-23 Timothy Hatcher <timothy@apple.com>
5021
timothy@apple.com33c28442008-09-24 02:08:39 +00005022 Adds search support to the Resources and Scripts panels.
5023
5024 https://bugs.webkit.org/show_bug.cgi?id=21005
5025
5026 Reviewed by Oliver Hunt.
5027
5028 * page/inspector/Images/searchSmallBlue.png: Added.
5029 * page/inspector/Images/searchSmallBrightBlue.png: Added.
5030 * page/inspector/Images/searchSmallGray.png: Added.
5031 * page/inspector/Images/searchSmallWhite.png: Added.
5032 * page/inspector/ResourceView.js:
5033 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
5034 or "script-resource-views" since one might not be created yet.
5035 * page/inspector/ResourcesPanel.js:
5036 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
5037 are not this panel's current visible view. This can happen when a ResourceView is
5038 visible in the Scripts panel then switched to the this panel.
5039 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
5040 visibleView first.
5041 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
5042 that uses the current graph search function. So cycling through results will be in the order
5043 things appear in the sidebar.
5044 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
5045 resource's sidebar tree element.
5046 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
5047 in the sidebar. Calls the Panel prototype's searchCanceled.
5048 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
5049 in the sidebar. Calls the Panel prototype's performSearch.
5050 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
5051 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
5052 if there is a current search query.
5053 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
5054 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
5055 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
5056 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
5057 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
5058 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
5059 * page/inspector/ScriptView.js:
5060 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
5061 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
5062 it will start at the first result.
5063 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
5064 highlighting complete".
5065 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
5066 * page/inspector/ScriptsPanel.js:
5067 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
5068 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
5069 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
5070 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
5071 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
5072 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
5073 * page/inspector/SourceFrame.js:
5074 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
5075 * page/inspector/SourceView.js:
5076 (WebInspector.SourceView.prototype.hide):
5077 (WebInspector.SourceView.prototype.detach):
5078 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
5079 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
5080 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
5081 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
5082 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
5083 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
5084 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
5085 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
5086 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
5087 (WebInspector.SourceView.prototype.showingFirstSearchResult):
5088 (WebInspector.SourceView.prototype.showingLastSearchResult):
5089 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
5090 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
5091 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
5092 * page/inspector/inspector.css:
5093
50942008-09-23 Timothy Hatcher <timothy@apple.com>
5095
timothy@apple.com18950ed2008-09-24 02:08:32 +00005096 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
5097 so future code can be shared.
5098
5099 https://bugs.webkit.org/show_bug.cgi?id=21005
5100
5101 Reviewed by Oliver Hunt.
5102
5103 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
5104 And visibleResourceView to visibleView.
5105 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
5106
51072008-09-23 Timothy Hatcher <timothy@apple.com>
5108
timothy@apple.comcb23f4a2008-09-24 02:08:27 +00005109 Highlight all matched search results in the Elements panel DOM tree.
5110
5111 https://bugs.webkit.org/show_bug.cgi?id=21005
5112
5113 Reviewed by Oliver Hunt.
5114
5115 * page/inspector/ElementsPanel.js:
5116 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
5117 on all previous search results.
5118 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
5119 on all new search results.
5120 * page/inspector/ElementsTreeOutline.js:
5121 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
5122 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
5123 the highlighted class on the listItemElement.
5124 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
5125 if needed. Calls _updateTitle.
5126 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
5127 class so it can be styled when the highlighted class is present.
5128 * page/inspector/inspector.css: New style rules for the hihglight.
5129
51302008-09-23 Timothy Hatcher <timothy@apple.com>
5131
timothy@apple.com574c0522008-09-24 02:08:19 +00005132 Add search support to the Elements panel.
5133
5134 https://bugs.webkit.org/show_bug.cgi?id=21005
5135
5136 Reviewed by Oliver Hunt.
5137
5138 * page/inspector/ElementsPanel.js:
5139 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
5140 with a 0 match count to rest. Reset the other search properties.
5141 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
5142 query and a CSS selector on all the Documents in the page. Remembers the found nodes
5143 and avoids duplicates. Focuses the first result.
5144 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
5145 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
5146
51472008-09-23 Timothy Hatcher <timothy@apple.com>
5148
timothy@apple.com82d233c2008-09-24 02:08:15 +00005149 Add support to Panel that allows easy searching of sub-views.
5150
5151 https://bugs.webkit.org/show_bug.cgi?id=21005
5152
5153 Reviewed by Oliver Hunt.
5154
5155 * page/inspector/Panel.js:
5156 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
5157 views in the search results and delete the currentQuery property. Call
5158 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
5159 other search properties.
5160 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
5161 reset everything we need before doing a new search. Get an array of searchableViews
5162 from the panel, implemented by sub-classes. Iterate over the views one-by-one
5163 with an interval to prevent blocking the UI for large lists of searchableViews.
5164 This keeps the interface really responsive. Pass a finishedCallback function to
5165 the performSearch on each view so it can notify the panel of results.
5166 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
5167 searchResults of the visibleView, so we know where in the results we are.
5168 This is done every time incase the user manually navigates to a new view.
5169 If the view is showing the last result, jump to the next view and show it's
5170 first result. Otherwise jump to the next result in the current view.
5171 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
5172
51732008-09-23 Timothy Hatcher <timothy@apple.com>
5174
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +00005175 Add support for asking the current panel to perform a search, find next/previous and clear.
5176 A search is performed on the new new current panel when switching between panels. The search
5177 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
5178 be searched. The search field contents are selected when Command/Control-F or Enter/Return
5179 is pressed, so the user can easily type an entirely new query. The search match count shows
5180 up in the toolbar next to the search field.
5181
5182 Also changed:
5183 * Rename lastQuery to currentQuery since it better matches the truth.
5184 * Set the search field "results" attribute to zero since results arn't saved for
5185 how we use the search field.
5186 * Make repeated presses of the Return key jump to the next search result instead
5187 of doing nothing.
5188 * Increased the search field width.
5189
5190 https://bugs.webkit.org/show_bug.cgi?id=21005
5191
5192 Reviewed by Oliver Hunt.
5193
5194 * English.lproj/localizedStrings.js: New strings.
5195 * page/inspector/inspector.css: New styles.
5196 * page/inspector/inspector.html: Add the search-results-matches element. Add the
5197 incremental attribute to the search field and set the results attribute to zero.
5198 * page/inspector/inspector.js:
5199 (WebInspector.set currentPanel): perform the search on the new panel.
5200 (WebInspector.loaded): Change the event listeners and remove code that changes
5201 the search label text.
5202 (WebInspector.documentKeyDown): Add support for Command/Control-G and
5203 Command/Control-Shift-G. To jump to the next and previous search results.
5204 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
5205 This does different things depending on the attached state.
5206 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
5207 This prevents a "search" event from firing for key down. We handle the Enter key
5208 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
5209 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
5210 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
5211 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
5212 Call updateSearchMatchesCount to reset the matches count in the toolbar.
5213 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
5214
52152008-09-23 Timothy Hatcher <timothy@apple.com>
5216
timothy@apple.com1d5227a2008-09-24 02:08:01 +00005217 Remove the previous Inspector search code to make room for the new stuff.
5218
5219 https://bugs.webkit.org/show_bug.cgi?id=21005
5220
5221 Reviewed by Oliver Hunt.
5222
5223 * page/inspector/inspector.css:
5224 * page/inspector/inspector.html:
5225 * page/inspector/inspector.js:
5226 (WebInspector.get/set showingSearchResults): Removed.
5227 (WebInspector.searchResultsKeyDown): Removed.
5228 (WebInspector.searchResultsResizerDragStart): Removed.
5229 (WebInspector.searchResultsResizerDragEnd): Removed.
5230 (WebInspector.searchResultsResizerDrag): Removed.
5231 (WebInspector.performSearch): Removed searching parts.
5232
52332008-09-23 Timothy Hatcher <timothy@apple.com>
5234
timothy@apple.com5e915b722008-09-24 02:07:56 +00005235 Use the Array.remove helper function in more places.
5236
5237 https://bugs.webkit.org/show_bug.cgi?id=21037
5238
5239 Reviewed by Kevin McCullough.
5240
5241 * page/inspector/ResourceCategory.js:
5242 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
5243 * page/inspector/ResourcesPanel.js:
5244 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
5245 * page/inspector/inspector.js:
5246 (WebInspector.removeResource): Ditto.
5247
52482008-09-23 Timothy Hatcher <timothy@apple.com>
5249
timothy@apple.com3e116f12008-09-24 02:07:50 +00005250 Fixes a bug where inspecting a node after reloading the page
5251 would not reveal the node in the DOM tree. The TreeOutline
5252 was not being told to forget decendants of a removed child.
5253 So old TreeElements would be found that are not in the tree.
5254
5255 https://bugs.webkit.org/show_bug.cgi?id=21036
5256
5257 Reviewed by Kevin McCullough.
5258
5259 * page/inspector/treeoutline.js:
5260 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
5261 in addition to _forgetTreeElement.
5262 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
5263 in addition to _forgetTreeElement.
5264 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
5265 search for known elements.
5266 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
5267 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
5268 descendants and call _forgetTreeElement.
5269 * page/inspector/utilities.js:
5270 (Array.prototype.remove): Speed up this function by using Array.indexOf
5271 when onlyFirst is true.
5272
52732008-09-23 Timothy Hatcher <timothy@apple.com>
5274
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +00005275 Fixes a bug where inspecting some short text nodes does
5276 not reveal them in the Elements panel DOM tree.
5277
5278 https://bugs.webkit.org/show_bug.cgi?id=21035
5279
5280 Reviewed by Oliver Hunt.
5281
5282 * page/inspector/ElementsTreeOutline.js:
5283 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
5284 The revealAndSelectNode() method might find a different element
5285 if there is inlined text, and the select() call would change the
5286 focusedDOMNode and reenter this setter. So to avoid calling
5287 focusedNodeChanged() twice, first check if _focusedDOMNode is
5288 the same node as the one passed in.
5289 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
5290 this.treeOutline, since this is the TreeOutline.
5291 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
5292 Provides default functions for isAncestor, getParet and equal.
5293 Calls the base protoype's findTreeElement. If that returns null
5294 and the node is a text node, try finding it's parent.
5295 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
5296 Renamed to revealAndSelectNode.
5297 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
5298 Selects and reveals the node passed in. Use the simple findTreeElement.
5299 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
5300 Remove use of this.treeOutline, since this is the TreeOutline.
5301
53022008-09-23 Timothy Hatcher <timothy@apple.com>
5303
timothy@apple.combffde042008-09-24 02:07:39 +00005304 Fixes an exception that happened when removing a Resource
5305 from the ResourcesPanel.
5306
5307 https://bugs.webkit.org/show_bug.cgi?id=21034
5308
5309 Reviewed by Kevin McCullough.
5310
5311 * page/inspector/ResourcesPanel.js:
5312 (WebInspctor.ResourcesPanel.prototype.removeResource):
5313 Remove the graphElement.
5314
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000053152008-09-23 Kevin McCullough <kmccullough@apple.com>
5316
5317 Fixed "Time" to "Tim"
5318
5319 * ChangeLog:
5320
zimmermann@webkit.org718a2232008-09-24 01:00:42 +000053212008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
5322
5323 Reviewed by Oliver.
5324
5325 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
5326 from SVGDocumentExtensions to SVGElement. It's more useful to store
5327 the list of SVGElementInstances per SVGElement, instead of using
5328 a document-wide hash for this purpose.
5329
5330 * svg/SVGAnimateMotionElement.cpp:
5331 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
5332 * svg/SVGAnimateTransformElement.cpp:
5333 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
5334 * svg/SVGAnimationElement.cpp:
5335 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
5336 * svg/SVGDocumentExtensions.cpp:
5337 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
5338 * svg/SVGDocumentExtensions.h:
5339 * svg/SVGElement.cpp:
5340 (WebCore::SVGElement::mapInstanceToElement):
5341 (WebCore::SVGElement::removeInstanceMapping):
5342 (WebCore::SVGElement::instancesForElement):
5343 * svg/SVGElement.h:
5344 * svg/SVGElementInstance.cpp:
5345 (WebCore::SVGElementInstance::SVGElementInstance):
5346 (WebCore::SVGElementInstance::~SVGElementInstance):
5347 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
5348 * svg/SVGElementInstance.h:
5349 * svg/SVGStyledElement.cpp:
5350 (WebCore::SVGStyledElement::svgAttributeChanged):
5351 (WebCore::SVGStyledElement::childrenChanged):
5352 * svg/SVGStyledElement.h:
5353
kevino@webkit.org706ea432008-09-24 00:53:56 +000053542008-09-23 Kevin Ollivier <kevino@theolliviers.com>
5355
5356 wx build fix.
5357
5358 * WebCoreSources.bkl:
5359
zimmermann@webkit.org97c71082008-09-24 00:23:28 +000053602008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
5361
5362 Rubber stamped by Sam.
5363
5364 Move code from EventTarget to EventTargetNode.
5365
5366 I refactored most parts to live in EventTarget, a year ago,
5367 though the implementation of EventTargetSVGElementInstance is
5368 done in another way, that obsoletes this.
5369
5370 * dom/Document.cpp:
5371 (WebCore::Document::addListenerTypeIfNeeded):
5372 * dom/Document.h:
5373 * dom/EventTarget.cpp:
5374 * dom/EventTarget.h:
5375 (WebCore::allowEventDispatch):
5376 * dom/EventTargetNode.cpp:
5377 (WebCore::EventTargetNode::insertedIntoDocument):
5378 (WebCore::EventTargetNode::removedFromDocument):
5379 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
5380 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
5381 (WebCore::EventTargetNode::addEventListener):
5382 (WebCore::EventTargetNode::removeEventListener):
5383 (WebCore::EventTargetNode::removeAllEventListeners):
5384 (WebCore::EventTargetNode::handleLocalEvents):
5385 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
5386 (WebCore::EventTargetNode::dispatchEvent):
5387 (WebCore::EventTargetNode::dispatchGenericEvent):
5388 (WebCore::EventTargetNode::dispatchWindowEvent):
5389 (WebCore::EventTargetNode::removeEventListenerForType):
5390 * dom/EventTargetNode.h:
5391 * svg/EventTargetSVGElementInstance.cpp:
5392 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
5393 * svg/SVGElement.cpp:
5394 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
5395 * svg/SVGElement.h:
5396 (WebCore::SVGElement::supplementalTransform):
5397
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +000053982008-09-23 Dave Hyatt <hyatt@apple.com>
5399
5400 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
5401 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
5402
5403 Reviewed by Sam Weinig
5404
5405 * platform/mac/ScrollbarThemeMac.mm:
5406 (WebCore::ScrollbarThemeMac::trackRect):
5407 * platform/win/ScrollbarThemeSafari.cpp:
5408 (WebCore::ScrollbarTheme::nativeTheme):
5409 (WebCore::ScrollbarThemeSafari::trackRect):
5410
bdakin@apple.comaab5d692008-09-24 00:09:33 +000054112008-09-23 Beth Dakin <bdakin@apple.com>
5412
5413 Reviewed by Sam Weinig.
5414
5415 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
5416 link at gmail does not support AXPress action
5417 and corresponding: <rdar://problem/6216178>
5418
5419 I fixed this bug by making AccessibilityObject::anchorElement
5420 support ARIA links.
5421
5422 * page/AccessibilityImageMapLink.cpp:
5423 (WebCore::AccessibilityImageMapLink::anchorElement):
5424 * page/AccessibilityImageMapLink.h:
5425 * page/AccessibilityObject.cpp:
5426 (WebCore::AccessibilityObject::anchorElement):
5427 * page/AccessibilityObject.h:
5428 (WebCore::AccessibilityObject::isNativeAnchor):
5429 * page/AccessibilityRenderObject.cpp:
5430 (WebCore::AccessibilityRenderObject::isNativeAnchor):
5431 (WebCore::AccessibilityRenderObject::anchorElement):
5432 (WebCore::AccessibilityRenderObject::internalLinkElement):
5433 (WebCore::AccessibilityRenderObject::url):
5434 * page/AccessibilityRenderObject.h:
5435 * page/mac/AccessibilityObjectWrapper.mm:
5436 (AXLinkElementForNode):
5437
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000054382008-09-23 Kevin McCullough <kmccullough@apple.com>
5439
kmccullough@apple.com70d32f22008-09-24 01:18:31 +00005440 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +00005441
5442 Bug 20949: Catch repeated messages in Inspector Controller to limit
5443 memory usage
5444 - Store the repeat count in the Console Message object, in the
5445 Inspector Controller and JS ConsoleMessage object.
5446
5447 * page/InspectorController.cpp:
5448 (WebCore::ConsoleMessage::ConsoleMessage):
5449 (WebCore::ConsoleMessage::operator==):
5450 (WebCore::InspectorController::InspectorController):
5451 (WebCore::InspectorController::addConsoleMessage):
5452 (WebCore::InspectorController::addScriptConsoleMessage):
5453 * page/InspectorController.h:
5454 * page/inspector/Console.js:
5455 * page/inspector/Resource.js:
5456 * page/inspector/ResourcesPanel.js:
5457 * page/inspector/SourceFrame.js:
5458
zimmermann@webkit.org29d22032008-09-23 23:44:20 +000054592008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
5460
5461 Reviewed by Eric.
5462
5463 Working on proper EventTarget support for SVGElementInstance.
5464
5465 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
5466 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
5467
5468 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
5469 implementation. Let it use TreeShared directly.
5470
5471 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
5472 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
5473
5474 * GNUmakefile.am:
5475 * WebCore.pro:
5476 * WebCore.vcproj/WebCore.vcproj:
5477 * WebCore.xcodeproj/project.pbxproj:
5478 * bindings/js/JSEventTargetBase.cpp:
5479 (WebCore::retrieveEventTargetAndCorrespondingNode):
5480 (WebCore::toJS):
5481 * bindings/js/JSEventTargetBase.h:
5482 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
5483 (WebCore::):
5484 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
5485 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
5486 (WebCore::JSEventTargetSVGElementInstance::setListener):
5487 (WebCore::JSEventTargetSVGElementInstance::getListener):
5488 (WebCore::toEventTargetSVGElementInstance):
5489 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
5490 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
5491 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
5492 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
5493 (WebCore::JSEventTargetSVGElementInstance::put):
5494 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
5495 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
5496 (WebCore::toJS):
5497 * bindings/objc/DOM.mm:
5498 (+[DOMNode _wrapEventTarget:WebCore::]):
5499 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
5500 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
5501 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
5502 (-[DOMSVGElementInstance WebCore::]):
5503 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
5504 (-[DOMSVGElementInstance addEventListener:::]):
5505 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
5506 (-[DOMSVGElementInstance removeEventListener:::]):
5507 (-[DOMSVGElementInstance dispatchEvent:]):
5508 * bindings/objc/DOMEvents.h:
5509 * bindings/scripts/CodeGeneratorJS.pm:
5510 * bindings/scripts/CodeGeneratorObjC.pm:
5511 * svg/EventTargetSVGElementInstance.cpp: Added.
5512 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
5513 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
5514 (WebCore::EventTargetSVGElementInstance::addEventListener):
5515 (WebCore::EventTargetSVGElementInstance::removeEventListener):
5516 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
5517 * svg/EventTargetSVGElementInstance.h: Added.
5518 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
5519 (WebCore::EventTargetSVGElementInstance::toNode):
5520 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
5521 (WebCore::EventTargetSVGElementInstance::refEventTarget):
5522 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
5523 (WebCore::EventTargetSVGElementInstanceCast):
5524 * svg/SVGElement.cpp:
5525 (WebCore::SVGElement::dispatchEvent):
5526 * svg/SVGElementInstance.cpp:
5527 (WebCore::SVGElementInstance::SVGElementInstance):
5528 (WebCore::SVGElementInstance::~SVGElementInstance):
5529 * svg/SVGElementInstance.h:
5530 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
5531 * svg/SVGElementInstance.idl:
5532
mitz@apple.come47c5af2008-09-23 21:47:54 +000055332008-09-23 Dan Bernstein <mitz@apple.com>
5534
5535 Reviewed by Dave Hyatt.
5536
5537 - https://bugs.webkit.org/show_bug.cgi?id=21040
5538 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
5539
5540 * platform/graphics/mac/SimpleFontDataMac.mm:
5541 (WebCore::SimpleFontData::getCTFont):
5542
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +000055432008-09-23 David Hyatt <hyatt@apple.com>
5544
5545 https://bugs.webkit.org/show_bug.cgi?id=21039
5546
5547 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
5548
5549 Reviewed by Sam Weinig
5550
5551 * platform/ScrollView.h:
5552 * platform/Scrollbar.cpp:
5553 (WebCore::Scrollbar::setFrameGeometry):
5554 * platform/Scrollbar.h:
5555 * platform/Widget.cpp:
5556 (WebCore::Widget::convertFromContainingWindow):
5557 * platform/Widget.h:
5558 * platform/mac/ScrollViewMac.mm:
5559 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5560 (WebCore::ScrollView::ScrollView):
5561 (WebCore::ScrollView::~ScrollView):
5562 (WebCore::ScrollView::windowResizerRect):
5563 (WebCore::ScrollView::resizerOverlapsContent):
5564 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
5565 (WebCore::ScrollView::setParent):
5566 * platform/mac/WidgetMac.mm:
5567 (WebCore::Widget::convertFromContainingWindow):
5568
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +000055692008-09-23 Dirk Schulze <vbs85@gmx.de>
5570
5571 Reviewed by Darin Adler. Landed by Jan Alonzo.
5572
5573 Added support for getImageData() and putImageData()
5574 to Cairo.
5575
5576 [CAIRO] needs getImageData and putImageData support
5577 https://bugs.webkit.org/show_bug.cgi?id=20838
5578
5579 * platform/graphics/cairo/ImageBufferCairo.cpp:
5580 (WebCore::ImageBuffer::ImageBuffer):
5581 (WebCore::ImageBuffer::getImageData):
5582 (WebCore::ImageBuffer::putImageData):
5583
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +000055842008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
5585
5586 Reviewed by Holger Freyther.
5587
5588 http://bugs.webkit.org/show_bug.cgi?id=18987
5589 [GTK] Implement SharedBuffer::createWithContentsOfFile and
5590 KURL::fileSystemPath
5591
5592 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
5593 * platform/gtk/KURLGtk.cpp: Added.
5594 (WebCore::KURL::fileSystemPath): Implemented.
5595 * platform/gtk/SharedBufferGtk.cpp: Added.
5596 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
5597 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
5598
ap@webkit.org198304c2008-09-23 16:34:41 +000055992008-09-23 Alexey Proskuryakov <ap@webkit.org>
5600
ap@webkit.orgccfa60a2008-09-23 20:39:22 +00005601 Reviewed by Oliver Hunt, okayed by Darin Adler.
5602
5603 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
5604
5605 * rendering/InlineTextBox.cpp:
5606 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
5607
56082008-09-23 Alexey Proskuryakov <ap@webkit.org>
5609
ap@webkit.org198304c2008-09-23 16:34:41 +00005610 Reviewed by Darin Adler.
5611
5612 https://bugs.webkit.org/show_bug.cgi?id=21023
5613 Don't use TEC for encodings supported by ICU
5614
5615 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
5616 x-mac-greek, and x-mac-turkish.
5617
5618 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
5619 Register aliases for these encodings that are not registered automatically; updated comments.
5620
mjs@apple.coma6dc93d2008-09-23 07:46:55 +000056212008-09-23 Maciej Stachowiak <mjs@apple.com>
5622
5623 Reviewed by Darin.
5624
5625 - speed up instanceof some more
5626 https://bugs.webkit.org/show_bug.cgi?id=20818
5627
5628 ~2% speedup on EarleyBoyer
5629
5630 (WebCore updates.)
5631
5632 * bindings/js/JSQuarantinedObjectWrapper.h:
5633 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
5634
oliver@apple.combc10aae2008-09-23 07:40:49 +000056352008-09-22 Darin Adler <darin@apple.com>
5636
5637 Reviewed by Oliver Hunt.
5638
5639 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
5640 getting pixels by index from CanvasPixelArray is unnecessarily slow
5641
5642 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
5643 * WebCore.vcproj/WebCore.vcproj: Ditto.
5644 * WebCore.xcodeproj/project.pbxproj: Ditto.
5645
5646 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
5647 indexSetter. These are now both inlined, so in the header.
5648 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
5649 function is what's used for HasCustomIndexGetter. Also moved the
5650 indexSetter function here.
5651
5652 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
5653 to use a getByIndex member function rather than an indexGetter static
5654 member function in a property slot. This lets us avoid the property
5655 slot mechanism's rule where it turns numeric property names into
5656 strings in the identifier table, which is good because that's slow.
5657 Also added a new property CustomHeader that allows IDL files to
5658 introduce headers to be included -- useful when we have functions
5659 that we want to inline into the binding.
5660
5661 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
5662
eric@webkit.org924a2d32008-09-23 07:04:11 +000056632008-09-23 Eric Seidel <eric@webkit.org>
5664
5665 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +00005666
5667 Another blind stab in the dark.
5668
5669 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
5670
56712008-09-23 Eric Seidel <eric@webkit.org>
5672
5673 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +00005674
5675 Third time's the charm, eh? My local build is sadly still not done...
5676
5677 * platform/graphics/AffineTransform.cpp: remove extra &
5678 * platform/graphics/AffineTransform.h: remove extra &
5679
eric@webkit.orgf394f462008-09-23 06:38:10 +000056802008-09-22 Eric Seidel <eric@webkit.org>
5681
5682 No review, build fix only.
5683
eric@webkit.orgf9212312008-09-23 06:47:51 +00005684 * platform/graphics/AffineTransform.cpp: remove extra ;
5685
56862008-09-22 Eric Seidel <eric@webkit.org>
5687
5688 No review, build fix only.
5689
eric@webkit.orgf394f462008-09-23 06:38:10 +00005690 Speculative fix for the build while I wait for my compile to finish.
5691
5692 * platform/graphics/AffineTransform.cpp:
5693
eric@webkit.org10583212008-09-23 06:05:59 +000056942008-09-22 Dirk Schulze <vbs85@gmx.de>
5695
5696 Reviewed by eseidel. Landed by eseidel.
5697
5698 Moved makeMapBetweenRects from SVG/CG to AffineTransform
5699 Make SVGResourceClipper::applyClip more cross-platform
5700
5701 * platform/graphics/AffineTransform.cpp:
5702 * platform/graphics/AffineTransform.h:
5703 * svg/graphics/cg/CgSupport.cpp:
5704 * svg/graphics/cg/CgSupport.h:
5705 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
5706 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
5707 * svg/graphics/cg/SVGResourceClipperCg.cpp:
5708 (WebCore::SVGResourceClipper::applyClip):
5709
alp@webkit.orgfaa63e42008-09-23 03:08:57 +000057102008-09-22 Alp Toker <alp@nuanti.com>
5711
5712 Reviewed by David Hyatt.
5713
5714 https://bugs.webkit.org/show_bug.cgi?id=16331
5715 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
5716
5717 Obey GTK+ focusing conventions for controls and anchor elements.
5718
5719 It could be interesting to push these decisions up to Settings or
5720 ChromeClient some day but this gets things working.
5721
5722 Right and middle click events still need some work to match GTK+
5723 conventions.
5724
5725 * html/HTMLAnchorElement.cpp:
5726 (WebCore::HTMLAnchorElement::isMouseFocusable):
5727 * html/HTMLFormControlElement.cpp:
5728 (WebCore::HTMLFormControlElement::isMouseFocusable):
5729 * page/EventHandler.cpp:
5730 (WebCore::EventHandler::sendContextMenuEvent):
5731
darin@apple.com4a266462008-09-23 01:24:31 +000057322008-09-22 Darin Adler <darin@apple.com>
5733
5734 * page/mac/FrameMac.mm:
5735 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
5736
weinig@apple.comb6a39b72008-09-23 01:19:56 +000057372008-09-22 Sam Weinig <sam@webkit.org>
5738
5739 Reviewed by Dan Bernstein.
5740
5741 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
5742 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
5743 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
5744 class!
5745
5746 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
5747 non-selectable input types, but return undefined when accessed.
5748
5749 * DerivedSources.make:
5750 * GNUmakefile.am:
5751 * WebCore.pro:
5752 * WebCore.vcproj/WebCore.vcproj:
5753 * WebCore.xcodeproj/project.pbxproj:
5754 * WebCoreSources.bkl:
5755 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
5756 * bindings/js/JSHTMLInputElementBase.h: Removed.
5757 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
5758 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
5759 (WebCore::JSHTMLInputElement::selectionStart):
5760 (WebCore::JSHTMLInputElement::selectionEnd):
5761 * bindings/js/JSHTMLInputElementCustom.h: Added.
5762 * html/HTMLInputElement.idl:
5763
mitz@apple.com895c54c2008-09-23 00:48:17 +000057642008-09-22 Dan Bernstein <mitz@apple.com>
5765
5766 Reviewed by Sam Weinig.
5767
5768 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
5769
5770 Not testable in DumpRenderTree or in Safari
5771
5772 * page/mac/FrameMac.mm:
5773 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
5774 case that the selection start node is a block.
5775
hyatt@apple.com78083552008-09-22 22:17:40 +000057762008-09-22 David Hyatt <hyatt@apple.com>
5777
5778 https://bugs.webkit.org/show_bug.cgi?id=21007
5779
5780 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
5781
5782 Reviewed by Sam Weinig
5783
5784 * page/EventHandler.cpp:
5785 (WebCore::EventHandler::handleMouseDoubleClickEvent):
5786
eric@webkit.orgb57170b2008-09-22 21:44:28 +000057872008-09-22 Eric Seidel <eric@webkit.org>
5788
5789 No review, rollback only.
5790
5791 Roll out Peter's change (per his request)
5792 http://trac.webkit.org/changeset/36069
5793 https://bugs.webkit.org/show_bug.cgi?id=19663
5794 This change has been the source of numerous regressions
5795 (several of which were latent bugs revealed by this change,
5796 others were bugs in this change)
5797
5798 * platform/graphics/BitmapImage.cpp:
5799 (WebCore::BitmapImage::BitmapImage):
5800 (WebCore::BitmapImage::startAnimation):
5801 (WebCore::BitmapImage::advanceAnimation):
5802 * platform/graphics/BitmapImage.h:
5803 * platform/graphics/cairo/ImageCairo.cpp:
5804 (WebCore::BitmapImage::draw):
5805 * platform/graphics/cg/ImageCG.cpp:
5806 (WebCore::BitmapImage::draw):
5807 * platform/graphics/qt/ImageQt.cpp:
5808 (WebCore::BitmapImage::draw):
5809 * platform/graphics/wx/ImageWx.cpp:
5810 (WebCore::BitmapImage::draw):
5811
mitz@apple.comdc318202008-09-22 21:32:14 +000058122008-09-22 Dan Bernstein <mitz@apple.com>
5813
5814 Reviewed by Sam Weinig.
5815
5816 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
5817
5818 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
5819 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
5820
5821 * config.h: Use Core Text if not building for Leopard or Tiger.
5822
hyatt@apple.com143e97c2008-09-22 21:03:02 +000058232008-09-22 David Hyatt <hyatt@apple.com>
5824
5825 https://bugs.webkit.org/show_bug.cgi?id=21006
5826
5827 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
5828 switched on. There are still a few more refinements to make to the rendering and behavior.
5829
5830 Reviewed by Darin Adler
5831
5832 * platform/ScrollbarThemeComposite.cpp:
5833 (WebCore::ScrollbarThemeComposite::paint):
5834 * platform/ScrollbarThemeComposite.h:
5835 (WebCore::ScrollbarThemeComposite::paintTrack):
5836 (WebCore::ScrollbarThemeComposite::paintButton):
5837 (WebCore::ScrollbarThemeComposite::paintThumb):
5838 * platform/mac/ScrollbarThemeMac.h:
5839 * platform/mac/ScrollbarThemeMac.mm:
5840 (WebCore::ScrollbarThemeMac::backButtonRect):
5841 (WebCore::ScrollbarThemeMac::forwardButtonRect):
5842 (WebCore::scrollbarPartToHIPressedState):
5843 (WebCore::ScrollbarThemeMac::paint):
5844 * platform/mac/WidgetMac.mm:
5845 (WebCore::Widget::invalidateRect):
5846
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +000058472008-09-22 Chris Marrin <cmarrin@apple.com>
5848
5849 Reviewed by Sam Weinig
5850
5851 transition end event when -webkit-transition-property: all puts wrong
5852 propertyName in event
5853 https://bugs.webkit.org/show_bug.cgi?id=20903
5854
5855 * page/animation/ImplicitAnimation.cpp:
5856 (WebCore::ImplicitAnimation::sendTransitionEvent):
5857
cfleizach@apple.com70013042008-09-22 18:30:36 +000058582008-09-22 Chris Fleizach <cfleizach@apple.com>
5859
5860 Reviewed by Darin Adler.
5861
cfleizach@apple.comdebb8722008-09-22 18:47:16 +00005862 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
5863
5864 Test: accessibility/table-one-cell.html
5865
5866 * page/AccessibilityTable.cpp:
5867 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
5868
58692008-09-22 Chris Fleizach <cfleizach@apple.com>
5870
5871 Reviewed by Darin Adler.
5872
cfleizach@apple.com70013042008-09-22 18:30:36 +00005873 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
5874
5875 Test: accessibility/textarea-selected-text-range.html
5876
5877 * page/AccessibilityRenderObject.cpp:
5878 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
5879
hyatt@apple.com4139b152008-09-22 18:21:37 +000058802008-09-22 David Hyatt <hyatt@apple.com>
5881
5882 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
5883 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
5884 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
5885 rule.
5886
5887 Reviewed by Sam Weinig
5888
5889 Added fast/css/nested-rule-parent-sheet.html
5890
5891 * css/CSSImportRule.cpp:
5892 (WebCore::CSSImportRule::insertedIntoParent):
5893 * css/CSSRule.cpp:
5894 (WebCore::CSSRule::parentStyleSheet):
5895 (WebCore::CSSRule::parentRule):
5896 * css/CSSStyleSheet.cpp:
5897 (WebCore::CSSStyleSheet::CSSStyleSheet):
5898 * css/CSSStyleSheet.h:
5899
mitz@apple.comd409a262008-09-22 18:17:57 +000059002008-09-22 Dan Bernstein <mitz@apple.com>
5901
5902 Reviewed by Sam Weinig.
5903
5904 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
5905 Make the ATSUI code path respect spacingDisabled()
5906
5907 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
5908
5909 * platform/graphics/mac/FontMacATSUI.mm:
5910 (WebCore::overrideLayoutOperation):
5911
mjs@apple.com221b4752008-09-22 15:03:52 +000059122008-09-22 Maciej Stachowiak <mjs@apple.com>
5913
5914 Reviewed by Cameron Zwarich.
5915
5916 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
5917
5918 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
5919
5920 2.2% speedup on EarleyBoyer benchmark.
5921
5922 * bindings/js/JSQuarantinedObjectWrapper.cpp:
5923 * bindings/js/JSQuarantinedObjectWrapper.h:
5924 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
5925 * bindings/scripts/CodeGeneratorJS.pm:
5926
aroben@apple.comd5cbddc2008-09-22 14:31:08 +000059272008-09-22 Adam Roben <aroben@apple.com>
5928
5929 Windows build fix
5930
5931 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
5932
mjs@apple.coma173abd2008-09-22 13:59:06 +000059332008-09-22 Maciej Stachowiak <mjs@apple.com>
5934
5935 Reviewed by Dave Hyatt.
5936
5937 Based on initial work by Darin Adler.
5938
5939 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
5940 - use this to JIT inline code for eq_null and neq_null
5941 https://bugs.webkit.org/show_bug.cgi?id=20823
5942
5943 * WebCore.xcodeproj/project.pbxproj:
5944 * WebCore.vcproj/WebCore.vcproj:
5945 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
5946 (WebCore::JSCSSStyleDeclaration::nameGetter):
5947 * bindings/js/JSHTMLAllCollection.cpp: Added.
5948 (WebCore::):
5949 * bindings/js/JSHTMLAllCollection.h:
5950 (WebCore::JSHTMLAllCollection::createStructureID):
5951 (WebCore::JSHTMLAllCollection::toBoolean):
5952
vestbo@webkit.orgab848362008-09-22 13:27:06 +000059532008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
5954
5955 Reviewed by Simon.
5956
5957 Fix the QtWebKit build
5958
5959 * bridge/qt/qt_instance.cpp:
5960 (JSC::Bindings::QtRuntimeObjectImp::construct):
5961 * bridge/qt/qt_runtime.cpp:
5962
alp@webkit.orgcc9b0812008-09-22 08:53:06 +000059632008-09-22 Alp Toker <alp@nuanti.com>
5964
5965 Suggested by David Hyatt.
5966
5967 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
5968 so make it public.
5969
5970 * platform/ScrollView.h:
5971
hyatt@apple.com7cb18562008-09-22 07:57:52 +000059722008-09-22 David Hyatt <hyatt@apple.com>
5973
hyatt@apple.combac66582008-09-22 08:36:44 +00005974 Fix a regression in Windows scrollbar painting. (Also fix the same
5975 bug in my new viewless Mac scrollbar painting code). The track rect
5976 was being improperly inflated when painting resulting in the scrollbar
5977 being too tall and painting in the border of overflow sections.
5978
5979 Reviewed by Oliver Hunt
5980
5981 * platform/mac/ScrollbarThemeMac.mm:
5982 (WebCore::ScrollbarThemeMac::trackRect):
5983 * platform/win/ScrollbarThemeSafari.cpp:
5984 (WebCore::ScrollbarThemeSafari::trackRect):
5985
59862008-09-22 David Hyatt <hyatt@apple.com>
5987
hyatt@apple.com7cb18562008-09-22 07:57:52 +00005988 Fix a hit testing bug where events are mistakenly passed to subframes
5989 if the mouse is over the border or padding area of the frame. Add
5990 a boolean flag, isOverWidget(), to hit test results so that EventHandler
5991 can check it to tell if the mouse is really over the content box of a
5992 RenderWidget and not just in the border/padding area.
5993
5994 This is not testable, since the old code properly recovered when it detected
5995 that the mouse was outside the bounds of the view, but this prevents
5996 the extra passdown from even occurring (and is basically a nice cleanup).
5997
5998 Reviewed by Oliver Hunt
5999
6000 * page/EventHandler.cpp:
6001 (WebCore::EventHandler::handleMousePressEvent):
6002 (WebCore::EventHandler::hitTestResultAtPoint):
6003 (WebCore::subframeForHitTestResult):
6004 (WebCore::EventHandler::handleMouseDoubleClickEvent):
6005 (WebCore::EventHandler::handleMouseMoveEvent):
6006 (WebCore::EventHandler::handleMouseReleaseEvent):
6007 (WebCore::EventHandler::handleWheelEvent):
6008 * page/MouseEventWithHitTestResults.h:
6009 (WebCore::MouseEventWithHitTestResults::isOverWidget):
6010 * rendering/HitTestResult.cpp:
6011 (WebCore::HitTestResult::HitTestResult):
6012 (WebCore::HitTestResult::operator=):
6013 * rendering/HitTestResult.h:
6014 (WebCore::HitTestResult::isOverWidget):
6015 (WebCore::HitTestResult::setIsOverWidget):
6016 * rendering/RenderWidget.cpp:
6017 (WebCore::RenderWidget::nodeAtPoint):
6018 * rendering/RenderWidget.h:
6019
hyatt@apple.comb2bf5272008-09-22 05:54:40 +000060202008-09-21 David Hyatt <hyatt@apple.com>
6021
6022 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
6023 both it and ScrollView's updateContents method be off-limits to everyone in
6024 WebCore except for RenderView.
6025
6026 Make repaintViewRectangle the only possible method for WebCore code to do
6027 an invalidation. This ensures that all invalidates triggered by WebCore
6028 cross-platform code that cross ownerElement() boundaries are transform-aware.
6029
6030 Make sure that iframes/frames contained inside objects that have transforms
6031 or reflections are not allowed to blit (this was already true for transparency).
6032
6033 It is not possible to make a test for any of this, since iframe scrolling
6034 still doesn't work on Mac (since the invalidates are not being done
6035 through WebCore's cross-platform invalidation code but are instead going
6036 through NSScrollView's setNeedsDisplay still).
6037
6038 Reviewed by Oliver Hunt
6039
6040 * editing/SelectionController.cpp:
6041 (WebCore::SelectionController::recomputeCaretRect):
6042 (WebCore::SelectionController::invalidateCaretRect):
6043 (WebCore::SelectionController::focusedOrActiveStateChanged):
6044 * page/FrameView.cpp:
6045 (WebCore::FrameView::repaintContentRectangle):
6046 (WebCore::FrameView::endDeferredRepaints):
6047 * page/FrameView.h:
6048 * platform/ScrollView.h:
6049 * rendering/RenderBox.cpp:
6050 (WebCore::RenderBox::paintFillLayerExtended):
6051 * rendering/RenderLayer.cpp:
6052 (WebCore::RenderLayer::enclosingPositionedAncestor):
6053 (WebCore::RenderLayer::requiresSlowRepaints):
6054 * rendering/RenderLayer.h:
6055 (WebCore::RenderLayer::hasTransform):
6056 * rendering/RenderView.cpp:
6057 (WebCore::RenderView::paintBoxDecorations):
6058 (WebCore::RenderView::repaintViewRectangle):
6059 (WebCore::RenderView::setSelection):
6060
mjs@apple.com52b67602008-09-22 03:15:52 +000060612008-09-21 Maciej Stachowiak <mjs@apple.com>
6062
6063 Reviewed by Darin.
6064
6065 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
6066 https://bugs.webkit.org/show_bug.cgi?id=20981
6067
6068 * bindings/js/JSAudioConstructor.cpp:
6069 (WebCore::JSAudioConstructor::JSAudioConstructor):
6070 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
6071 (WebCore::JSCSSStyleDeclaration::nameGetter):
6072 * bindings/js/JSDOMBinding.cpp:
6073 (WebCore::createDOMStructure):
6074 * bindings/js/JSDOMBinding.h:
6075 (WebCore::getDOMStructure):
6076 * bindings/js/JSDOMWindowShell.cpp:
6077 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
6078 (WebCore::JSDOMWindowShell::setWindow):
6079 * bindings/js/JSEventTargetNode.cpp:
6080 (WebCore::JSEventTargetNode::createPrototype):
6081 * bindings/js/JSHTMLOptionElementConstructor.cpp:
6082 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
6083 * bindings/js/JSImageConstructor.cpp:
6084 (WebCore::JSImageConstructor::JSImageConstructor):
6085 * bindings/js/JSXMLHttpRequestConstructor.cpp:
6086 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
6087 * bindings/js/JSXSLTProcessorConstructor.cpp:
6088 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
6089 * bindings/scripts/CodeGeneratorJS.pm:
6090
darin@apple.comad89d662008-09-22 02:12:57 +000060912008-09-21 Darin Adler <darin@apple.com>
6092
6093 Reviewed by Maciej Stachowiak.
6094
6095 - fix problem Maciej noticed where every JSNamedNodesCollection
6096 gets its own StructureID
6097
6098 * bindings/js/JSNamedNodesCollection.cpp:
6099 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
6100 getDOMStructure to get the structure.
6101 * bindings/js/JSNamedNodesCollection.h:
6102 (WebCore::JSNamedNodesCollection::createPrototype): Return the
6103 object prototype.
6104
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +000061052008-09-20 David Hyatt <hyatt@apple.com>
6106
6107 Make sure transformed scrollbars in overflow sections position
6108 properly. This patch mimics the same behavior that works for
6109 iframes, namely making sure that the same code that dynamically
6110 adjusts iframe widget positions at paint time for fixed positioning
6111 and transforms also applies to scrollbars. (This is as simple as passing
6112 in the current translation factor at paint time rather than crawling
6113 up the layer tree to compute a "false" absolute position.)
6114
6115 An existing transform test covers this (although only a pixel result
6116 reveals the correct rendering).
6117
6118 Reviewed by Darin Adler
6119
6120 * rendering/RenderLayer.cpp:
6121 (WebCore::RenderLayer::updateLayerPositions):
6122 (WebCore::RenderLayer::positionOverflowControls):
6123 (WebCore::RenderLayer::paintOverflowControls):
6124 (WebCore::RenderLayer::paintLayer):
6125 * rendering/RenderLayer.h:
6126
sfalken@apple.comd0274692008-09-22 00:08:30 +000061272008-09-21 Steve Falkenburg <sfalken@apple.com>
6128
sfalken@apple.com4fe10f92008-09-22 00:12:28 +00006129 Removed unnecessary nested timer check.
6130
6131 Rubber-stamped by Dan Bernstein.
6132
6133 * platform/win/SharedTimerWin.cpp:
6134 (WebCore::TimerWindowWndProc):
6135
61362008-09-21 Steve Falkenburg <sfalken@apple.com>
6137
sfalken@apple.comd0274692008-09-22 00:08:30 +00006138 Improve timer resolution on WinXP.
6139 https://bugs.webkit.org/show_bug.cgi?id=20979
6140
6141 Removed last-chance timer. It should not be necessary.
6142 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
6143 Remove Vista checks. We now run the same code on both XP and Vista.
6144
6145 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
6146 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
6147
6148 Reviewed by Maciej Stachowiak.
6149
6150 * platform/win/SharedTimerWin.cpp:
6151 (WebCore::):
6152 (WebCore::TimerWindowWndProc):
6153 (WebCore::setSharedTimerFireTime):
6154 * platform/win/SystemTimeWin.cpp:
6155 (WebCore::currentTime):
6156
eric@webkit.org3e96c482008-09-21 07:59:58 +000061572008-09-21 Dirk Schulze <vbs85@gmx.de>
6158
6159 Reviewed by eseidel. Landed by eseidel.
6160
eric@webkit.orgc3431282008-09-21 10:37:37 +00006161 All platforms use the DashArray in the GraphicsContext.
6162
6163 * svg/graphics/SVGPaintServer.h:
6164 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
6165 (WebCore::SVGPaintServerGradient::setup):
6166 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
6167 (WebCore::SVGPaintServerPattern::setup):
6168 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
6169 (WebCore::SVGPaintServerSolid::setup):
6170 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
6171 (WebCore::SVGPaintServerGradient::setup):
6172 * svg/graphics/qt/SVGPaintServerQt.cpp:
6173 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
6174 (WebCore::SVGPaintServerSolid::setup):
6175
61762008-09-21 Dirk Schulze <vbs85@gmx.de>
6177
6178 Reviewed by eseidel. Landed by eseidel.
6179
eric@webkit.org3e96c482008-09-21 07:59:58 +00006180 Moved DashArray to GraphicsContext.
6181
6182 * GNUmakefile.am:
6183 * WebCore.vcproj/WebCore.vcproj:
6184 * WebCore.xcodeproj/project.pbxproj:
6185 * platform/graphics/DashArray.h: Added.
6186 * platform/graphics/GraphicsContext.h:
6187 * platform/graphics/cairo/GraphicsContextCairo.cpp:
6188 (WebCore::GraphicsContext::setLineDash):
6189 * platform/graphics/cg/GraphicsContextCG.cpp:
6190 (WebCore::GraphicsContext::setLineDash):
6191 * platform/graphics/qt/GraphicsContextQt.cpp:
6192 (WebCore::GraphicsContext::setLineDash):
6193 * svg/graphics/SVGPaintServer.cpp:
6194 (WebCore::applyStrokeStyleToContext):
6195 * svg/graphics/SVGPaintServer.h:
6196 * svg/graphics/cg/CgSupport.cpp:
6197 * svg/graphics/cg/CgSupport.h:
6198
mitz@apple.com9138eca2008-09-21 07:16:29 +000061992008-09-21 Dan Bernstein <mitz@apple.com>
6200
6201 Reviewed by Mark Rowe.
6202
6203 - fix linker warnings
6204
6205 * WebCore.base.exp:
6206
darin@apple.comb1491772008-09-21 06:34:40 +000062072008-09-20 Darin Adler <darin@apple.com>
6208
darin@apple.comc3215132008-09-21 06:50:35 +00006209 - another try at fixing Qt
6210
6211 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
6212
62132008-09-20 Darin Adler <darin@apple.com>
6214
darin@apple.comb1491772008-09-21 06:34:40 +00006215 - blind attempt to fix Qt build
6216
6217 * bridge/qt/qt_runtime.cpp:
6218 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
6219 of regExpPrototype to make a RegExpObject. There should really be
6220 some sort of public helper function for this. Same thing for
6221 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
6222 (JSC::Bindings::):
6223 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
6224 It is not correct to do this inside the constructor because it could
6225 cause a garbage collect while the QtRuntimeMethod object is half-
6226 allocated, which could lead to a crash; note that RuntimeMethod,
6227 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
6228 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
6229
collinj@webkit.org8e01a432008-09-21 06:26:54 +000062302008-09-20 Collin Jackson <collinj@webkit.org>
6231
6232 Prefetch DNS for hyperlinks that the user mouses over.
6233
6234 https://bugs.webkit.org/show_bug.cgi?id=20931
6235
6236 Reviewed by Sam Weinig.
6237
6238 * page/Chrome.cpp:
6239 (WebCore::Chrome::mouseDidMoveOverElement):
6240
darin@apple.com8281d832008-09-21 02:29:12 +000062412008-09-20 Darin Adler <darin@apple.com>
6242
6243 Reviewed by Maciej Stachowiak.
6244
6245 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
6246 make each distinct C++ class get a distinct JSC::Structure
6247
6248 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
6249 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
6250 ID. Note that this makes a new structure every time -- we could
6251 optimize this slightly be caching and reusing a single one.
6252
6253 * bridge/runtime_method.cpp:
6254 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
6255 getDOMStructure.
6256 * bridge/runtime_method.h:
6257 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
6258 getDOMStructure will work.
6259
6260 * bindings/js/JSDOMWindowShell.cpp:
6261 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
6262 0; needed in case garbage collection happens while creating the
6263 JSDOMWindow.
6264
mitz@apple.com9b3ac792008-09-21 00:42:30 +000062652008-09-20 Dan Bernstein <mitz@apple.com>
6266
mitz@apple.comf674f4f2008-09-21 00:49:49 +00006267 Reviewed by Eric Seidel.
6268
6269 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +00006270 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
mitz@apple.comf674f4f2008-09-21 00:49:49 +00006271
6272 * svg/SVGTextContentElement.cpp:
6273 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
6274 not include the first character in the extraCharsAvailable count.
6275
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000062762008-09-20 Kevin Ollivier <kevino@theolliviers.com>
6277
kevino@webkit.orge66435f2008-09-20 23:39:25 +00006278 Reviewed by Dan Bernstein.
6279
6280 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +00006281
6282 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +00006283
6284 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
6285 (GetTextExtent):
6286
62872008-09-20 Kevin Ollivier <kevino@theolliviers.com>
6288
kevino@webkit.org2bc0d822008-09-20 22:31:24 +00006289 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
6290
6291 * WebCoreSources.bkl:
6292 * platform/ScrollView.h:
6293 * platform/wx/PopupMenuWx.cpp:
6294 (WebCore::PopupMenu::show):
6295 * platform/wx/RenderThemeWx.cpp:
6296 (WebCore::RenderThemeWx::paintButton):
6297 (WebCore::RenderThemeWx::paintTextField):
6298 (WebCore::RenderThemeWx::paintMenuList):
6299 (WebCore::RenderThemeWx::paintMenuListButton):
6300 * platform/wx/ScrollViewWx.cpp:
6301 (WebCore::ScrollView::setPlatformWidget):
6302 (WebCore::ScrollView::updateContents):
6303 (WebCore::ScrollView::update):
6304 (WebCore::ScrollView::visibleWidth):
6305 (WebCore::ScrollView::visibleHeight):
6306 (WebCore::ScrollView::scrollBy):
6307 (WebCore::ScrollView::resizeContents):
6308 (WebCore::ScrollView::contentsWidth):
6309 (WebCore::ScrollView::contentsHeight):
6310 (WebCore::ScrollView::isScrollViewScrollbar):
6311 (WebCore::ScrollView::adjustScrollbars):
6312 (WebCore::ScrollView::inWindow):
6313 (WebCore::ScrollView::removeChild):
6314 * platform/wx/WidgetWx.cpp:
6315 * plugins/wx/PluginViewWx.cpp:
6316 (WebCore::PluginView::setParentVisible):
6317 (WebCore::PluginView::updatePluginWidget):
6318
timothy@apple.comb697f272008-09-20 22:21:59 +000063192008-09-20 Timothy Hatcher <timothy@apple.com>
6320
6321 Fix the new Node Search button image to not be blurry.
6322
6323 * page/inspector/Images/nodeSearchButtons.png:
6324
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000063252008-09-20 Matt Lilek <webkit@mattlilek.com>
6326
6327 Reviewed by Tim Hatcher.
6328
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +00006329 Cut down some of the inspector javascript -> InspectorController glue code
6330 with two new macros. Also rearrange the exposed function list to be grouped
6331 by implementation and to all explicitly use the WebCore namespace.
6332
6333 * page/InspectorController.cpp:
6334 (WebCore::InspectorController::windowScriptObjectAvailable):
6335
63362008-09-20 Matt Lilek <webkit@mattlilek.com>
6337
6338 Reviewed by Tim Hatcher.
6339
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +00006340 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
6341
6342 * page/inspector/inspector.css:
6343
zimmermann@webkit.org953b7442008-09-20 20:19:45 +000063442008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
6345
6346 Reviewed by Eric.
6347
6348 Refactor HTMLImageLoader/SVGImageLoader code.
6349 Move html/HTMLImageLoader.* to loader/ImageLoader.*
6350
6351 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
6352 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
6353
6354 * GNUmakefile.am:
6355 * WebCore.pro:
6356 * WebCore.vcproj/WebCore.vcproj:
6357 * WebCore.xcodeproj/project.pbxproj:
6358 * WebCoreSources.bkl:
6359 * dom/Document.cpp:
6360 (WebCore::Document::dispatchImageLoadEventSoon):
6361 (WebCore::Document::removeImage):
6362 (WebCore::Document::dispatchImageLoadEventsNow):
6363 * dom/Document.h:
6364 * html/HTMLImageLoader.cpp:
6365 (WebCore::HTMLImageLoader::HTMLImageLoader):
6366 (WebCore::HTMLImageLoader::~HTMLImageLoader):
6367 (WebCore::HTMLImageLoader::sourceURI):
6368 (WebCore::HTMLImageLoader::notifyFinished):
6369 * html/HTMLImageLoader.h:
6370 * loader/DocLoader.h:
6371 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
6372 (WebCore::ImageLoader::ImageLoader):
6373 (WebCore::ImageLoader::~ImageLoader):
6374 (WebCore::ImageLoader::setImage):
6375 (WebCore::ImageLoader::setLoadingImage):
6376 (WebCore::ImageLoader::updateFromElement):
6377 (WebCore::ImageLoader::notifyFinished):
6378 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
6379 * svg/SVGImageElement.cpp:
6380 (WebCore::SVGImageElement::attach):
6381 (WebCore::SVGImageElement::insertedIntoDocument):
6382 (WebCore::SVGImageElement::imageSourceAttributeName):
6383 * svg/SVGImageElement.h:
6384 * svg/SVGImageLoader.cpp:
6385 (WebCore::SVGImageLoader::SVGImageLoader):
6386 (WebCore::SVGImageLoader::dispatchLoadEvent):
6387 (WebCore::SVGImageLoader::sourceURI):
6388 * svg/SVGImageLoader.h:
6389
zecke@webkit.orgf3834492008-09-20 14:23:55 +000063902008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
6391
zecke@webkit.org7a15a532008-09-20 14:24:27 +00006392 Build fix.
6393
zecke@webkit.orga832cca2008-09-20 14:24:45 +00006394 [qtwebkit] ScrollBar build fix after r36684.
6395 BackButtonPart was split into Start and End Part
6396 ForwardButtonPart was split into Start and End Part
6397
zecke@webkit.orga832cca2008-09-20 14:24:45 +00006398 * platform/qt/ScrollbarThemeQt.cpp:
6399 (WebCore::scPart):
6400 (WebCore::scrollbarPart):
6401 (WebCore::styleOptionSlider):
6402
64032008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
6404
6405 Build fix.
6406
zecke@webkit.org7a15a532008-09-20 14:24:27 +00006407 [qtwebkit] Make qt_instance.cpp compile.
6408 Revision of 36675 introduced getDOMStructure to give unique
6409 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
6410 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
6411
6412 * bridge/qt/qt_instance.cpp:
6413 (JSC::Bindings::QtInstance::getRuntimeObject):
6414
64152008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
6416
zecke@webkit.orgf3834492008-09-20 14:23:55 +00006417 Reviewed by Nikolas Zimmermann.
6418
zecke@webkit.org95ff1412008-09-20 14:24:10 +00006419 [svg] Change SVGLocatable to deal with a plain SVGElement
6420 There is no requirement in the code that we have to have a
6421 SVGStyledElement. Remove that artificial limitation and compile
6422 with SVGElement.
6423
6424 * svg/SVGLocatable.cpp:
6425 * svg/SVGLocatable.h:
6426
64272008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
6428
6429 Reviewed by Nikolas Zimmermann.
6430
zecke@webkit.orgf3834492008-09-20 14:23:55 +00006431 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
6432 management.
6433
6434 * dom/Document.cpp:
6435 (WebCore::Document::~Document):
6436 (WebCore::Document::svgExtensions):
6437 (WebCore::Document::accessSVGExtensions):
6438 * dom/Document.h:
6439
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000064402008-09-19 David Hyatt <hyatt@apple.com>
6441
hyatt@apple.com1fe09172008-09-20 05:09:44 +00006442 Fix for crash in updateTransitions. Make sure to test for a style
6443 being null when comparing two RenderStyles.
6444
6445 Reviewed by Oliver Hunt
6446
6447 * page/animation/AnimationBase.cpp:
6448 (WebCore::PropertyWrapperGetter::equals):
6449
64502008-09-19 David Hyatt <hyatt@apple.com>
6451
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +00006452 https://bugs.webkit.org/show_bug.cgi?id=20954
6453
6454 Roll out r36628 since it has caused horrible regressions with
6455 animated GIF CPU usage.
6456
6457 * platform/graphics/BitmapImage.cpp:
6458 (WebCore::BitmapImage::cacheFrame):
6459 (WebCore::BitmapImage::startAnimation):
6460 * platform/graphics/BitmapImage.h:
6461 (WebCore::FrameData::FrameData):
6462 * platform/graphics/cairo/ImageCairo.cpp:
6463 (WebCore::FrameData::clear):
6464 * platform/graphics/cg/ImageCG.cpp:
6465 (WebCore::FrameData::clear):
6466 * platform/graphics/qt/ImageQt.cpp:
6467 (WebCore::FrameData::clear):
6468 * platform/graphics/wx/ImageWx.cpp:
6469 (WebCore::FrameData::clear):
6470
alp@webkit.orgd1e860e2008-09-20 03:43:42 +000064712008-09-20 Alp Toker <alp@nuanti.com>
6472
6473 Reviewed by Timothy Hatcher.
6474
6475 https://bugs.webkit.org/show_bug.cgi?id=20913
6476 Avoid redudant includes
6477
6478 Document.h is included excessively such that a modification to Document.h (or
6479 any of the header it includes itself) triggers a rebuild of many files
6480 including the whole of SVG and a lot of the JS bindings.
6481
6482 Some of these includes can be avoided by only including Document.h where
6483 necessary.
6484
6485 * bindings/js/JSAttrCustom.cpp:
6486 * bindings/js/JSElementCustom.cpp:
6487 * bindings/js/JSEventTargetBase.cpp:
6488 * bindings/js/JSEventTargetBase.h:
6489 * bindings/js/JSEventTargetNode.cpp:
6490 * bindings/js/JSHTMLFrameElementCustom.cpp:
6491 * bindings/js/JSHTMLIFrameElementCustom.cpp:
6492 * bindings/scripts/CodeGeneratorJS.pm:
6493 * css/CSSCursorImageValue.cpp:
6494 * css/SVGCSSStyleSelector.cpp:
6495 * dom/make_names.pl:
6496 * svg/SVGAnimateElement.h:
6497 * svg/SVGAnimatedProperty.h:
6498 (WebCore::::baseValue):
6499 (WebCore::::setBaseValue):
6500 (WebCore::::startAnimation):
6501 (WebCore::::stopAnimation):
6502 * svg/SVGElement.cpp:
6503 (WebCore::SVGElement::accessDocumentSVGExtensions):
6504 * svg/SVGElement.h:
6505 * svg/SVGElementInstance.cpp:
6506 * svg/SVGFitToViewBox.cpp:
6507 * svg/SVGFontElement.cpp:
6508 * svg/SVGFontFaceElement.cpp:
6509 * svg/SVGLinearGradientElement.cpp:
6510 * svg/SVGMPathElement.cpp:
6511 * svg/SVGViewSpec.cpp:
6512
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +000065132008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
6514
6515 Reviewed by Antti & Eric.
6516
6517 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
6518
6519 Finish HTMLScriptElement / SVGScriptElement unification.
6520 SVG <script> support is complete now, full SVGLoad event
6521 respecting the influence of the externalResourcesRequired attribute
6522 as well as SVGError event support. All other features shared with HTML.
6523
6524 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
6525 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
6526 svg/dom/SVGScriptElement/script-load-and-error-events.svg
6527 svg/dom/SVGScriptElement/script-reexecution.svg
6528 svg/dom/SVGScriptElement/script-set-href.svg
6529
6530 * dom/ScriptElement.cpp:
6531 (WebCore::ScriptElementData::ScriptElementData):
6532 (WebCore::ScriptElementData::requestScript):
6533 * dom/ScriptElement.h:
6534 (WebCore::ScriptElementData::haveFiredLoadEvent):
6535 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
6536 * dom/XMLTokenizer.cpp:
6537 (WebCore::XMLTokenizer::notifyFinished):
6538 * html/HTMLScriptElement.cpp:
6539 (WebCore::HTMLScriptElement::dispatchLoadEvent):
6540 * svg/SVGScriptElement.cpp:
6541 (WebCore::SVGScriptElement::setCreatedByParser):
6542 (WebCore::SVGScriptElement::parseMappedAttribute):
6543 (WebCore::SVGScriptElement::svgAttributeChanged):
6544 (WebCore::SVGScriptElement::insertedIntoDocument):
6545 (WebCore::SVGScriptElement::removedFromDocument):
6546 (WebCore::SVGScriptElement::childrenChanged):
6547 (WebCore::SVGScriptElement::isURLAttribute):
6548 (WebCore::SVGScriptElement::finishParsingChildren):
6549 (WebCore::SVGScriptElement::type):
6550 (WebCore::SVGScriptElement::setType):
6551 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
6552 (WebCore::SVGScriptElement::dispatchLoadEvent):
6553 (WebCore::SVGScriptElement::dispatchErrorEvent):
6554 * svg/SVGScriptElement.h:
6555
mitz@apple.comc7b24ea2008-09-20 03:23:22 +000065562008-09-19 Dan Bernstein <mitz@apple.com>
6557
6558 Reviewed by John Sullivan.
6559
6560 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
6561 Typo in Position::getInlineBoxAndOffset()
6562 and add an assertion
6563
6564 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
6565
6566 * dom/Position.cpp:
6567 (WebCore::Position::getInlineBoxAndOffset):
6568 * rendering/InlineTextBox.cpp:
6569 (WebCore::InlineTextBox::positionForOffset):
6570
hyatt@apple.comd48dbf32008-09-20 03:21:14 +000065712008-09-19 David Hyatt <hyatt@apple.com>
6572
6573 Add support for hit testing of all five possible scrollbar button placements.
6574
6575 Reviewed by Sam Weinig
6576
6577 * platform/ScrollbarThemeComposite.cpp:
6578 (WebCore::ScrollbarThemeComposite::paint):
6579 * platform/mac/ScrollbarThemeMac.mm:
6580 (WebCore::):
6581 (WebCore::ScrollbarThemeMac::backButtonRect):
6582 (WebCore::ScrollbarThemeMac::forwardButtonRect):
6583 (WebCore::ScrollbarThemeMac::trackRect):
6584 (WebCore::ScrollbarThemeMac::paintButton):
6585
darin@apple.com1c4cd8f2008-09-20 01:05:35 +000065862008-09-19 Darin Adler <darin@apple.com>
6587
6588 - try to fix Qt build
6589
6590 * bridge/qt/qt_instance.cpp:
6591 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
6592 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
6593 * bridge/runtime_object.cpp:
6594 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
6595 * bridge/runtime_object.h: Ditto.
6596
dino@apple.com7c236592008-09-20 00:53:49 +000065972008-09-19 Chris Marrin <cmarrin@apple.com>
6598
6599 Reviewed by Dave Hyatt.
6600
6601 Transition starts running when it shouldn't
6602 https://bugs.webkit.org/show_bug.cgi?id=20892
6603
6604 When there is a transition and an animation on the
6605 same element, make sure the animation wins.
6606
6607 The fix is to save the unanimated style when an animation is started.
6608 Then, when starting a transition, check to see if there is a current
6609 animation on the same prop. If so, use the unanimated style as the
6610 fromStyle rather than the current style.
6611
6612 Test: animations/transition-and-animation-1.html
6613
6614 * page/animation/CompositeAnimation.cpp:
6615 (WebCore::CompositeAnimation::updateTransitions):
6616 (WebCore::CompositeAnimation::updateKeyframeAnimations):
6617 (WebCore::CompositeAnimation::animate):
6618 (WebCore::CompositeAnimation::getAnimationForProperty):
6619 * page/animation/CompositeAnimation.h:
6620 * page/animation/ImplicitAnimation.cpp:
6621 (WebCore::ImplicitAnimation::reset):
6622 * page/animation/ImplicitAnimation.h:
6623 * page/animation/KeyframeAnimation.cpp:
6624 (WebCore::KeyframeAnimation::hasAnimationForProperty):
6625 * page/animation/KeyframeAnimation.h:
6626 (WebCore::KeyframeAnimation::KeyframeAnimation):
6627 (WebCore::KeyframeAnimation::unanimatedStyle):
6628
hyatt@apple.comea254e22008-09-20 00:42:36 +000066292008-09-19 David Hyatt <hyatt@apple.com>
6630
6631 Add support for painting/hit testing of four possible scrollbar buttons.
6632 The Windows themes simply ignore the two parts that they will never
6633 show. The Mac theme also ignores the other two buttons for now.
6634
6635 The cross-platform base for all three themes, ScrollbarThemeComposite,
6636 has all the proper support though.
6637
6638 Reviewed by Sam Weinig
6639
6640 * platform/ScrollbarThemeComposite.cpp:
6641 (WebCore::ScrollbarThemeComposite::hitTest):
6642 (WebCore::ScrollbarThemeComposite::invalidatePart):
6643 * platform/ScrollbarThemeComposite.h:
6644 * platform/mac/ScrollbarThemeMac.h:
6645 * platform/mac/ScrollbarThemeMac.mm:
6646 (WebCore::ScrollbarThemeMac::backButtonRect):
6647 (WebCore::ScrollbarThemeMac::forwardButtonRect):
6648 (WebCore::ScrollbarThemeMac::paintButton):
6649 * platform/win/ScrollbarThemeSafari.cpp:
6650 (WebCore::ScrollbarThemeSafari::backButtonRect):
6651 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
6652 (WebCore::ScrollbarThemeSafari::paintButton):
6653 * platform/win/ScrollbarThemeSafari.h:
6654 * platform/win/ScrollbarThemeWin.cpp:
6655 (WebCore::ScrollbarThemeWin::backButtonRect):
6656 (WebCore::ScrollbarThemeWin::forwardButtonRect):
6657 (WebCore::ScrollbarThemeWin::paintButton):
6658 * platform/win/ScrollbarThemeWin.h:
6659
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +000066602008-09-19 Matt Lilek <webkit@mattlilek.com>
6661
6662 Reviewed by Tim Hatcher.
6663
6664 Bug 17772: Inspector should support point-and-click to select a node to inspect
6665 https://bugs.webkit.org/show_bug.cgi?id=17772
6666 <rdar://problem/5792395>
6667
6668 * English.lproj/localizedStrings.js:
6669 * page/Chrome.cpp:
6670 (WebCore::Chrome::mouseDidMoveOverElement):
6671 * page/EventHandler.cpp:
6672 (WebCore::EventHandler::handleMousePressEvent):
6673 * page/InspectorController.cpp:
6674 (WebCore::toggleNodeSearch):
6675 (WebCore::searchingForNode):
6676 (WebCore::InspectorController::InspectorController):
6677 (WebCore::InspectorController::toggleSearchForNodeInPage):
6678 (WebCore::InspectorController::mouseDidMoveOverElement):
6679 (WebCore::InspectorController::handleMousePressOnNode):
6680 (WebCore::InspectorController::windowScriptObjectAvailable):
6681 * page/InspectorController.h:
6682 (WebCore::InspectorController::searchingForNodeInPage):
6683 * page/inspector/ElementsPanel.js:
6684 * page/inspector/Images/nodeSearchButtons.png: Added.
6685 * page/inspector/inspector.css:
6686
hyatt@apple.com57b2d522008-09-19 23:39:26 +000066872008-09-19 David Hyatt <hyatt@apple.com>
6688
6689 Add new scrollbar parts to be able to represent back and forward buttons
6690 at either end of the scrollbar. The current scrollbar still just draws
6691 a single button at either end, but the parts now exist.
6692
6693 Reviewed by Sam Weinig
6694
6695 * platform/ScrollTypes.h:
6696 (WebCore::):
6697 * platform/Scrollbar.cpp:
6698 (WebCore::Scrollbar::autoscrollTimerFired):
6699 (WebCore::Scrollbar::pressedPartScrollDirection):
6700 (WebCore::Scrollbar::pressedPartScrollGranularity):
6701 (WebCore::Scrollbar::handleMouseMoveEvent):
6702 * platform/ScrollbarTheme.h:
6703 (WebCore::ScrollbarTheme::buttonsPlacement):
6704 (WebCore::ScrollbarTheme::invalidateParts):
6705 * platform/ScrollbarThemeComposite.cpp:
6706 (WebCore::ScrollbarThemeComposite::paint):
6707 (WebCore::ScrollbarThemeComposite::hitTest):
6708 (WebCore::ScrollbarThemeComposite::invalidatePart):
6709 * platform/ScrollbarThemeComposite.h:
6710
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +000067112008-09-19 Beth Dakin <bdakin@apple.com>
6712
6713 Reviewed by Dave Hyatt.
6714
6715 Fix for <rdar://problem/6231308> crash in AutoTableLayout
6716
6717 The code assumes later on that a TableSection's grid's row vector
6718 will never be empty. So make 1 the minimum number of columns.
6719
6720 * rendering/RenderTableSection.cpp:
6721 (WebCore::RenderTableSection::ensureRows):
6722
hyatt@apple.comaf711ec2008-09-19 22:55:56 +000067232008-09-19 David Hyatt <hyatt@apple.com>
6724
6725 Add a new ScrollbarButtonsPlacement type for specifying where
6726 the button arrows are in a scrollbar.
6727
6728 Read in the placement settings for Mac. Nothing is done with the
6729 setting yet.
6730
6731 Add a new buttonsPlacement() method to ScrollbarTheme composite
6732 so that the arrow settings can be obtained.
6733
6734 Reviewed by Sam Weinig
6735
6736 * platform/ScrollTypes.h:
6737 (WebCore::):
6738 * platform/ScrollbarThemeComposite.h:
6739 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
6740 * platform/mac/ScrollbarThemeMac.mm:
6741 (WebCore::updateArrowPlacement):
6742 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
6743
sfalken@apple.com64602042008-09-19 22:47:45 +000067442008-09-19 Steve Falkenburg <sfalken@apple.com>
6745
6746 Roll out r36626. It is causing variance in SunSpider numbers on XP.
6747
6748 Rubber stamped by Mark Rowe.
6749
6750 * platform/win/SharedTimerWin.cpp:
6751 (WebCore::isRunningOnVistaOrLater):
6752 (WebCore::setSharedTimerFireTime):
6753
kmccullough@apple.comd203b242008-09-19 21:56:14 +000067542008-09-19 Kevin McCullough <kmccullough@apple.com>
6755
6756 Reviewed by Tim.
6757
6758 https://bugs.webkit.org/show_bug.cgi?id=20942
6759 Bug 20942: Repeated messages in resources don't collapse
6760 - Now repeated messages in a resource's view are collapsed and a message
6761 says how many were repeated.
6762
6763 * English.lproj/localizedStrings.js:
6764 * manual-tests/inspector/multiple-console-messages.html:
6765 * page/inspector/Console.js: Send all the messages to the resource's
6766 view before possibly returning early if the message is a repeat.
6767 * page/inspector/SourceFrame.js: Add the text about the message being
6768 repeated, if it is, and increment it when necessary.
6769
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +000067702008-09-19 Chris Fleizach <cfleizach@apple.com>
6771
6772 Removed unnecessary #if
6773
6774 * page/mac/AccessibilityObjectWrapper.mm:
6775
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000067762008-09-19 David Hyatt <hyatt@apple.com>
6777
hyatt@apple.comf658e502008-09-19 22:12:07 +00006778 Read in prefs for the scroll delay repeat values for buttons. Also
6779 honor the option-click pref for jumping to the thumb when clicking in
6780 the track.
6781
6782 Reviewed by Sam Weinig
6783
6784 * platform/mac/ScrollbarThemeMac.h:
6785 * platform/mac/ScrollbarThemeMac.mm:
6786 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
6787 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
6788 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
6789 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
6790
67912008-09-19 David Hyatt <hyatt@apple.com>
6792
hyatt@apple.comc9967ce92008-09-19 21:20:59 +00006793 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
6794 Set the initial button repeat delay to 0.5 for Mac.
6795
6796 Reviewed by Sam Weinig
6797
6798 * WebCore.xcodeproj/project.pbxproj:
6799 * platform/mac/ScrollbarThemeMac.cpp: Removed.
6800 * platform/mac/ScrollbarThemeMac.h:
6801 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
6802 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
6803
darin@apple.com39a180f2008-09-19 21:15:14 +000068042008-09-19 Darin Adler <darin@apple.com>
6805
6806 Reviewed by Sam Weinig.
6807
6808 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
6809 make each distinct C++ class get a distinct JSC::Structure
6810
6811 + Fixed all cases where we were using a shared structure for multiple
6812 C++ classes in WebCore. This still has to be done in JavaScriptCore.
6813
6814 + Got rid of cacheGlobalObject.
6815
6816 + Improved use of PassRefPtr in bindings code.
6817
6818 + Removed a couple cases where we were potentially allocating prototypes
6819 inside a JSObject's construction process -- this can lead to trouble if
6820 we do a garbage collection while an object is only partly constructed.
6821
6822 * bindings/js/JSAudioConstructor.cpp:
6823 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
6824 so we don't implicitly share the structure with other objects that use the object
6825 prototype.
6826
6827 * bindings/js/JSDOMBinding.cpp:
6828 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
6829 don't need cacheGlobalObject any more.
6830 (WebCore::cacheDOMConstructor): Ditto.
6831
6832 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
6833 Added functions and a function template for getting cached DOM constructors.
6834 Removed cacheGlobalObject function template.
6835
6836 * bindings/js/JSDOMWindowBase.cpp:
6837 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
6838 we're taking ownership.
6839 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
6840 we're taking ownership. Added constructor map.
6841 * bindings/js/JSDOMWindowCustom.cpp:
6842 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
6843
6844 * bindings/js/JSDOMWindowShell.cpp:
6845 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
6846 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
6847 this is now done in only that one place.
6848 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
6849 the passed-in DOMWindow. Code was moved here and changed to allocate unique
6850 structures for both the window prototype and the window.
6851 * bindings/js/JSDOMWindowShell.h: Ditto.
6852
6853 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
6854 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
6855 private/friend in JSEventTargetBase. Removed comments referring to defunct
6856 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
6857 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
6858 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
6859
6860 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
6861 for caching structures and prototypes.
6862 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
6863 (WebCore::JSEventTargetNode::createPrototype): Added.
6864 * bindings/js/JSEventTargetNode.h: Updated for above changes.
6865
6866 * bindings/js/JSHTMLAllCollection.h:
6867 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
6868 * bindings/js/JSHTMLCollectionCustom.cpp:
6869 (WebCore::getNamedItems): Pass ExecState instead of prototype.
6870 * bindings/js/JSHTMLFormElementCustom.cpp:
6871 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
6872 * bindings/js/JSHTMLInputElementBase.cpp:
6873 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
6874 * bindings/js/JSHTMLInputElementBase.h: Ditto.
6875 * bindings/js/JSHTMLOptionElementConstructor.cpp:
6876 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
6877 Create a unique structure instead of sharing.
6878 * bindings/js/JSImageConstructor.cpp:
6879 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
6880
6881 * bindings/js/JSInspectedObjectWrapper.cpp:
6882 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
6883 a prototype rather than a structure. Made the use of inheritorID() here
6884 explicit.
6885 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
6886 * bindings/js/JSInspectorCallbackWrapper.cpp:
6887 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
6888 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
6889
6890 * bindings/js/JSNamedNodesCollection.cpp:
6891 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
6892 take an ExecState argument instead of a prototype. Create a unique
6893 StructureID instead of sharing.
6894 * bindings/js/JSNamedNodesCollection.h: Ditto.
6895
6896 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
6897 constructor that takes a prototype instead of a structure.
6898 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
6899
6900 * bindings/js/JSRGBColor.cpp:
6901 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
6902 prototype; create a unique structure.
6903 (WebCore::getJSRGBColor): Ditto.
6904 * bindings/js/JSRGBColor.h: Ditto.
6905
6906 * bindings/js/JSSQLResultSetRowListCustom.cpp:
6907 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
6908 of explicit coding the idiom for making a new object.
6909
6910 * bindings/js/JSXMLHttpRequestConstructor.cpp:
6911 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
6912 Create a unique structure instead of the shared one.
6913 * bindings/js/JSXSLTProcessorConstructor.cpp:
6914 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
6915 Ditto.
6916
6917 * bindings/js/ScriptController.cpp:
6918 (WebCore::ScriptController::clearWindowShell): Let the window shell's
6919 setWindow function create the JSDOMWindow instead of doing it here.
6920
6921 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
6922 the structure and the wrapped object when creating wrappers.
6923 Simplified some of the special cases for DOMWindow so they are
6924 different only in ways the need to be. Eliminated the
6925 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
6926 functions. Moved responsibility for creating the structure and
6927 parent prototype out of the prototype constructor into the
6928 createPrototype function. Removed the unused "DoNotCache" flag for
6929 objects other than DOMWindow. Use getDOMConstructor instead of
6930 cacheGlobalObject for constructors. Make each constructor have
6931 a unique structure ID.
6932
6933 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
6934 name of the info member to s_info so we can use the standard DOM
6935 binding macros to handl the prototype.
6936 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
6937 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
6938 Create a unique structure using getDOMStructure.
6939
6940 * bridge/runtime_array.cpp: Fixed namespacing a bit.
6941 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
6942 getDOMStructure.
6943 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
6944 will work.
6945
6946 * bridge/runtime_object.cpp:
6947 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
6948 getDOMStructure.
6949 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
6950 will work.
6951
6952 * history/CachedPage.cpp:
6953 (WebCore::CachedPage::restore): Let the window shell's
6954 setWindow function create the JSDOMWindow instead of doing it here.
6955
6956 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
6957
mitz@apple.comd6b74252008-09-19 21:02:55 +000069582008-09-19 Dan Bernstein <mitz@apple.com>
6959
6960 Reviewed by Dave Hyatt.
6961
6962 This optimization was suggested by Daniel Fenwick
6963
6964 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
6965
6966 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +00006967 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +00006968 of one, due to the leading space being reordered to the left.
6969
6970 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
6971 getCFStringAttributes() and changed m_CFStringAttributes from an array
6972 to a single value.
6973 * platform/graphics/mac/CoreTextController.cpp:
6974 (WebCore::CoreTextController::CoreTextController): Added a
6975 mayUseNaturalWritingDirection parameter.
6976 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
6977 to force the bidi embedding level whenever
6978 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
6979 case, made the typesetter options dictionaries static.
6980 * platform/graphics/mac/CoreTextController.h:
6981 * platform/graphics/mac/FontMacCoreText.cpp:
6982 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
6983 (WebCore::Font::floatWidthForComplexText): Changed to allow the
6984 CoreTextController to not set the writing direction.
6985 * platform/graphics/mac/SimpleFontDataMac.mm:
6986 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
6987 parameter and the paragraph style attribute.
6988
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +000069892008-09-19 David Hyatt <hyatt@apple.com>
6990
6991 Reviewed by Sam Weinig
6992
6993 https://bugs.webkit.org/show_bug.cgi?id=20941
6994
6995 Incorrect height calculation for replaced element inside nested
6996 positioned elements (where the inner has a percentage height and
6997 the outer implicitly has a fixed height because of explicit top/bottom
6998 values).
6999
7000 Added fast/block/positioning/replaced-inside-top-bottom.html
7001
7002 * rendering/RenderBox.cpp:
7003 (WebCore::RenderBox::availableHeightUsing):
7004
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +000070052008-09-19 Chris Fleizach <cfleizach@apple.com>
7006
7007 Fix Tiger bustage
7008
7009 * page/mac/AccessibilityObjectWrapper.mm:
7010
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +000070112008-09-18 Chris Fleizach <cfleizach@apple.com>
7012
7013 Reviewed by Darin Adler.
7014
7015 <rdar://problem/6211041> Expose legend tag in accessibility
7016
7017 Exposes the legend tag as the titleUIElement of a fieldset
7018
7019 Test: accessibility/legend.html
7020
7021 * page/AccessibilityObject.h:
7022 (WebCore::AccessibilityObject::isFieldset):
7023 * page/AccessibilityRenderObject.cpp:
7024 (WebCore::AccessibilityRenderObject::isFieldset):
7025 (WebCore::AccessibilityRenderObject::titleUIElement):
7026 * page/AccessibilityRenderObject.h:
7027 * rendering/RenderFieldset.h:
7028
cfleizach@apple.comcff26212008-09-19 20:04:13 +000070292008-09-19 Chris Fleizach <cfleizach@apple.com>
7030
7031 Reviewed by Darin Adler.
7032
7033 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
7034
7035 Implement a few AX API methods that will be called by AppKit, which will
7036 speed up access to accessibility objects
7037
7038 * page/mac/AccessibilityObjectWrapper.mm:
7039 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
7040 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
7041 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
7042
zecke@webkit.org7594eb62008-09-19 11:06:55 +000070432008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
7044
7045 Reviewed by Simon Hausmann.
7046
zecke@webkit.org3df68032008-09-19 11:43:27 +00007047 [qtwebkit] Set the m_should* flags to their proper value on entry
7048 With plugins it was possible that we finished a job twice. This was
7049 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
7050 setting the flag to (m_loadMode == LoadDeferred) they will always have
7051 the right value and we will not send responses twice.
7052
7053 * platform/network/qt/QNetworkReplyHandler.cpp:
7054
70552008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
7056
7057 Reviewed by Simon Hausmann.
7058
zecke@webkit.org7594eb62008-09-19 11:06:55 +00007059 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
7060 Handle text decoding errors before instructing the parser to parse. We
7061 have converted the text to QString and all encoding errors are gone and
7062 the parser will not be able to detect them. So handle them before parsing.
7063
7064 * dom/XMLTokenizerQt.cpp:
7065 (WebCore::XMLTokenizer::doWrite):
7066
darin@apple.comc9aea832008-09-19 06:49:35 +000070672008-09-18 Darin Adler <darin@apple.com>
7068
7069 Reviewed by Maciej Stachowiak.
7070
7071 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
7072 make each distinct C++ class get a distinct JSC::Structure
7073
7074 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7075 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
7076 instead of DOMExceptionTranslator.
7077
7078 * bindings/js/JSDOMBinding.cpp:
7079 (WebCore::getCachedDOMObjectWrapper): Updated function name.
7080 (WebCore::cacheDOMObjectWrapper): Ditto.
7081 (WebCore::forgetDOMObject): Ditto.
7082 (WebCore::getCachedDOMNodeWrapper): Ditto.
7083 (WebCore::forgetDOMNode): Ditto.
7084 (WebCore::cacheDOMNodeWrapper): Ditto.
7085 (WebCore::forgetAllDOMNodesForDocument): Ditto.
7086 (WebCore::markDOMNodesForDocument): Ditto.
7087 (WebCore::updateDOMNodeDocument): Ditto.
7088 (WebCore::getCachedDOMStructure): Added.
7089 (WebCore::createDOMStructure): Ditto.
7090
7091 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
7092 class and replace the static member functions with non-member
7093 functions. Added many other functions for getting at structures,
7094 prototypes, wrappers, and creating them. Also moved the
7095 cacheGlobalObject function here from JavaScriptCore; eventually
7096 I'll remove that once I get rid of the remaining callers. Also
7097 removed the DOMExceptionTranslator class.
7098
7099 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
7100 and put one of those maps in each window.
7101
7102 * bindings/js/JSDOMWindowCustom.cpp:
7103 (WebCore::markDOMObjectWrapper): Updated for function name change.
7104 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
7105 in the structure map.
7106
7107 * bindings/js/JSEventTargetNode.cpp:
7108 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
7109 a structure instead of a prototype.
7110 * bindings/js/JSEventTargetNode.h: Ditto.
7111 * bindings/js/JSHTMLAllCollection.h:
7112 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
7113
7114 * bindings/js/JSHTMLInputElementBase.cpp:
7115 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
7116 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
7117 structure instead of a prototype.
7118 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
7119 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
7120 to take a structure instead of a prototype. Created a dummy prototype
7121 class that causes the HTMLInputElement prototype to have the
7122 HTMLElement prototype.
7123
7124 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
7125 structures instead of prototypes. Changed the prototype self function
7126 to use the getDOMPrototype function -- later we can eliminate it and
7127 have callers invoke getDOMPrototype directly instead. Updated other
7128 functions that have name changes. Added code to generate the
7129 createPrototype member function. Changed use of cacheGlobalObject to
7130 get it from the WebCore namespace instead of the JSC namespace.
7131 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
7132
7133 * dom/Document.cpp:
7134 (WebCore::Document::~Document): Updated for name change and also
7135 removed unnecessary JSLock use -- there's no need to lock around this.
7136 * dom/Node.cpp:
7137 (WebCore::Node::setDocument): Ditto.
7138
7139 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
7140 instead of calling new directly.
7141
7142 * bindings/js/JSCSSRuleCustom.cpp:
7143 (WebCore::toJS): Updated for function name changes and used the
7144 CREATE_DOM_OBJECT_WRAPPER macro.
7145 * bindings/js/JSCSSValueCustom.cpp:
7146 (WebCore::toJS): Ditto.
7147 * bindings/js/JSCanvasPixelArrayCustom.cpp:
7148 (WebCore::toJS): Ditto.
7149 * bindings/js/JSDocumentCustom.cpp:
7150 (WebCore::JSDocument::mark): Ditto.
7151 (WebCore::toJS): Ditto.
7152 * bindings/js/JSElementCustom.cpp:
7153 (WebCore::toJSNewlyCreated): Ditto.
7154 * bindings/js/JSEventCustom.cpp:
7155 (WebCore::toJS): Ditto.
7156 * bindings/js/JSEventTargetBase.cpp:
7157 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
7158 of DOMExceptionTranslator.
7159 (WebCore::toJS): Updated for function name changes and used the
7160 CREATE_DOM_OBJECT_WRAPPER macro.
7161 * bindings/js/JSHTMLCollectionCustom.cpp:
7162 (WebCore::toJS): Ditto.
7163 * bindings/js/JSNodeCustom.cpp:
7164 (WebCore::JSNode::mark): Ditto.
7165 (WebCore::createWrapper): Ditto.
7166 (WebCore::toJS): Ditto.
7167 * bindings/js/JSSVGPathSegCustom.cpp:
7168 (WebCore::toJS): Ditto.
7169 * bindings/js/JSStyleSheetCustom.cpp:
7170 (WebCore::toJS): Ditto.
7171 (WebCore::JSStyleSheet::mark): Ditto.
7172 * bindings/js/JSTextCustom.cpp:
7173 (WebCore::toJSNewlyCreated): Ditto.
7174 * bindings/js/JSXMLHttpRequestConstructor.cpp:
7175 (WebCore::constructXMLHttpRequest): Ditto.
7176 * bindings/js/JSXMLHttpRequestCustom.cpp:
7177 (WebCore::JSXMLHttpRequest::mark): Ditto.
7178 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7179 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
7180 * bindings/js/JSXSLTProcessorConstructor.cpp:
7181 (WebCore::constructXSLTProcessor): Ditto.
7182 * bindings/js/ScriptController.cpp:
7183 (WebCore::ScriptController::finishedWithEvent): Ditto.
7184 * xml/XMLHttpRequest.cpp:
7185 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
7186 (WebCore::XMLHttpRequest::dropProtection): Ditto.
7187
hyatt@apple.com083539d2008-09-19 06:30:16 +000071882008-09-18 David Hyatt <hyatt@apple.com>
7189
7190 This patch gets a viewless scrollbar working on Mac. It is turned off
7191 by default. Hit testing works. For now the scrollbar just paints ugly
7192 debug rects in the place of the buttons, track and thumb. It does match
7193 Aqua metrics though.
7194
7195 Reviewed by Sam Weinig
7196
7197 * WebCore.xcodeproj/project.pbxproj:
7198 * page/mac/EventHandlerMac.mm:
7199 (WebCore::EventHandler::passMousePressEventToScrollbar):
7200 * platform/ScrollbarThemeComposite.cpp:
7201 (WebCore::ScrollbarThemeComposite::paint):
7202 (WebCore::ScrollbarThemeComposite::trackPosition):
7203 * platform/ScrollbarThemeComposite.h:
7204 * platform/mac/ScrollViewMac.mm:
7205 (WebCore::ScrollView::addChild):
7206 * platform/mac/ScrollbarThemeMac.cpp:
7207 (WebCore::):
7208 (WebCore::ScrollbarThemeMac::hasButtons):
7209 (WebCore::ScrollbarThemeMac::hasThumb):
7210 (WebCore::buttonRepaintRect):
7211 (WebCore::ScrollbarThemeMac::backButtonRect):
7212 (WebCore::ScrollbarThemeMac::forwardButtonRect):
7213 (WebCore::trackRepaintRect):
7214 (WebCore::ScrollbarThemeMac::trackRect):
7215 (WebCore::ScrollbarThemeMac::minimumThumbLength):
7216 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
7217 (WebCore::ScrollbarThemeMac::paintTrack):
7218 (WebCore::ScrollbarThemeMac::paintButton):
7219 (WebCore::ScrollbarThemeMac::paintThumb):
7220 * platform/mac/ScrollbarThemeMac.h:
7221 (WebCore::ScrollbarThemeMac::supportsControlTints):
7222 * platform/qt/ScrollbarThemeQt.cpp:
7223 (WebCore::ScrollbarThemeQt::trackPosition):
7224
collinj@webkit.org51261aa2008-09-19 06:13:22 +000072252008-09-18 Collin Jackson <collinj@webkit.org>
7226
7227 Build fix; added missing header file to GNUmakefile.am
7228
7229 * GNUmakefile.am:
7230
weinig@apple.com39aecbe2008-09-19 04:56:21 +000072312008-09-18 Sam Weinig <sam@webkit.org>
7232
7233 Reviewed by David "the Hair" Hyatt.
7234
7235 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
7236
7237 * GNUmakefile.am:
7238 * WebCore.pro:
7239 * WebCore.vcproj/WebCore.vcproj:
7240 * WebCore.xcodeproj/project.pbxproj:
7241 * rendering/DataRef.h: Removed.
7242 * rendering/SVGRenderStyle.cpp: Removed.
7243 * rendering/SVGRenderStyle.h: Removed.
7244 * rendering/SVGRenderStyleDefs.cpp: Removed.
7245 * rendering/SVGRenderStyleDefs.h: Removed.
7246 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
7247 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
7248 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
7249 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
7250 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
7251
mrowe@apple.coma5206592008-09-19 04:47:58 +000072522008-09-18 Mark Rowe <mrowe@apple.com>
7253
7254 Reviewed by Dan Bernstein.
7255
7256 Add a means of clearing a FrameTree's name.
7257
7258 * WebCore.base.exp:
7259 * page/FrameTree.cpp:
7260 (WebCore::FrameTree::clearName):
7261 * page/FrameTree.h:
7262
hyatt@apple.com6eeef382008-09-19 04:30:53 +000072632008-09-18 David Hyatt <hyatt@apple.com>
7264
7265 Eliminate addToSuperview from Widget, since it was only called
7266 by ScrollViewMac's addChild method. Just shift the original body
7267 of addToSuperView into addChild.
7268
7269 Reviewed by Sam Weinig
7270
7271 * platform/Widget.h:
7272 * platform/mac/ScrollViewMac.mm:
7273 (WebCore::ScrollView::addChild):
7274 * platform/mac/WidgetMac.mm:
7275
collinj@webkit.org9c672f62008-09-19 04:15:14 +000072762008-09-18 Collin Jackson <collinj@webkit.org>
7277
7278 Reviewed by Antti Koivisto and Mark Rowe.
7279
7280 Test: http/tests/misc/dns-prefetch-control.html
7281
7282 https://bugs.webkit.org/show_bug.cgi?id=20690
7283
7284 Invoke WebCore::prefetchDNS() on host names that appear in
7285 in the href of hyperlinks and <link rel="dns-prefetch">. This
7286 can be used to implement DNS prefetching.
7287
7288 * WebCore.vcproj/WebCore.vcproj:
7289 * WebCore.xcodeproj/project.pbxproj:
7290 * dom/Document.cpp:
7291 (WebCore::Document::Document):
7292 (WebCore::Document::processHttpEquiv):
7293 (WebCore::Document::setSecurityOrigin):
7294 (WebCore::Document::initDNSPrefetch):
7295 (WebCore::Document::parseDNSPrefetchControlHeader):
7296 * dom/Document.h:
7297 (WebCore::Document::isDNSPrefetchEnabled):
7298 * html/HTMLAnchorElement.cpp:
7299 (WebCore::HTMLAnchorElement::parseMappedAttribute):
7300 * html/HTMLLinkElement.cpp:
7301 (WebCore::HTMLLinkElement::HTMLLinkElement):
7302 (WebCore::HTMLLinkElement::parseMappedAttribute):
7303 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
7304 (WebCore::HTMLLinkElement::process):
7305 * html/HTMLLinkElement.h:
7306 * html/PreloadScanner.cpp:
7307 (WebCore::PreloadScanner::processAttribute):
7308 * loader/FrameLoader.cpp:
7309 (WebCore::FrameLoader::begin):
7310 * platform/gtk/TemporaryLinkStubs.cpp:
7311 (WebCore::prefetchDNS):
7312 * platform/network/DNS.h: Added.
7313 * platform/network/cf/DNSCFNet.cpp: Added.
7314 (WebCore::prefetchDNS):
7315 * platform/qt/TemporaryLinkStubs.cpp:
7316 (WebCore::prefetchDNS):
7317 * platform/wx/TemporaryLinkStubs.cpp:
7318 (WebCore::prefetchDNS):
7319
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000073202008-09-18 David Hyatt <hyatt@apple.com>
7321
hyatt@apple.comcf31c162008-09-19 04:01:56 +00007322 Eliminate the convertToScreenCoordinate method on Widget, since
7323 ScrollView has redundant methods that already do the same thing.
7324
7325 Reviewed by Sam Weinig
7326
7327 * editing/mac/SelectionControllerMac.mm:
7328 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
7329 * platform/Widget.h:
7330 * platform/mac/WidgetMac.mm:
7331 (WebCore::Widget::containingWindow):
7332
73332008-09-18 David Hyatt <hyatt@apple.com>
7334
hyatt@apple.com179629b3c2008-09-19 03:16:26 +00007335 Move to only one constructor for Widgets. Rename data to m_data and make
7336 it have an #ifdef only for platforms that have platform-specific data (Mac
7337 and Gtk).
7338
7339 Reviewed by Sam Weinig
7340
7341 * WebCore.base.exp:
7342 * platform/Widget.cpp:
7343 (WebCore::Widget::init):
7344 * platform/Widget.h:
7345 * platform/gtk/WidgetGtk.cpp:
7346 (WebCore::Widget::Widget):
7347 (WebCore::Widget::~Widget):
7348 (WebCore::Widget::cursor):
7349 (WebCore::Widget::setCursor):
7350 * platform/mac/WidgetMac.mm:
7351 (WebCore::Widget::Widget):
7352 (WebCore::Widget::~Widget):
7353 (WebCore::Widget::addToSuperview):
7354 (WebCore::Widget::removeFromSuperview):
7355 (WebCore::Widget::beforeMouseDown):
7356 (WebCore::Widget::afterMouseDown):
7357 * platform/qt/WidgetQt.cpp:
7358 (WebCore::Widget::Widget):
7359 * platform/win/WidgetWin.cpp:
7360 (WebCore::Widget::Widget):
7361 * platform/wx/WidgetWx.cpp:
7362 (WebCore::Widget::Widget):
7363
73642008-09-18 David Hyatt <hyatt@apple.com>
7365
hyatt@apple.com470d7e72008-09-19 03:01:08 +00007366 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
7367 was no reason for it to be on Widget. This change eliminates Qt ifdefs
7368 from Widget.
7369
7370 Reviewed by Sam Weinig
7371
7372 * bindings/js/ScriptControllerQt.cpp:
7373 (WebCore::ScriptController::createScriptInstanceForWidget):
7374 * platform/qt/WidgetQt.cpp:
7375 (WebCore::WidgetPrivate::WidgetPrivate):
7376 (WebCore::WidgetPrivate::~WidgetPrivate):
7377 (WebCore::Widget::Widget):
7378 (WebCore::Widget::~Widget):
7379 * plugins/PluginView.cpp:
7380 (WebCore::PluginView::PluginView):
7381 * plugins/PluginView.h:
7382 (WebCore::PluginView::isNPAPIPlugin):
7383 (WebCore::PluginView::setIsNPAPIPlugin):
7384
73852008-09-18 David Hyatt <hyatt@apple.com>
7386
hyatt@apple.com557408b2008-09-19 02:36:08 +00007387 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
7388 ifdefs are now gone from Widget!
7389
7390 Reviewed by Sam Weinig
7391
7392 * platform/Widget.h:
7393 (WebCore::Widget::geometryChanged):
7394 * platform/gtk/WidgetGtk.cpp:
7395 * platform/qt/WidgetQt.cpp:
7396
73972008-09-18 David Hyatt <hyatt@apple.com>
7398
hyatt@apple.com17e57432008-09-19 02:29:27 +00007399 Consolidate convertTo/FromContainingWindow methods so that all platforms
7400 but Mac share the same code.
7401
7402 Move convertSelfToChild and convertChildToSelf to ScrollView, since
7403 Widget should know nothing about children. Make the methods cross-platform
7404 on ScrollView.
7405
7406 Reviewed by Sam Weinig
7407
7408 * platform/ScrollView.h:
7409 (WebCore::ScrollView::convertChildToSelf):
7410 (WebCore::ScrollView::convertSelfToChild):
7411 * platform/Widget.cpp:
7412 (WebCore::Widget::convertToContainingWindow):
7413 (WebCore::Widget::convertFromContainingWindow):
7414 * platform/Widget.h:
7415 (WebCore::Widget::geometryChanged):
7416 * platform/gtk/ScrollViewGtk.cpp:
7417 (WebCore::ScrollView::isScrollViewScrollbar):
7418 * platform/gtk/WidgetGtk.cpp:
7419 * platform/mac/ScrollViewMac.mm:
7420 (WebCore::ScrollView::isScrollViewScrollbar):
7421 * platform/mac/WidgetMac.mm:
7422 * platform/qt/ScrollViewQt.cpp:
7423 (WebCore::ScrollView::isScrollViewScrollbar):
7424 * platform/qt/WidgetQt.cpp:
7425 * platform/win/ScrollViewWin.cpp:
7426 (WebCore::ScrollView::isScrollViewScrollbar):
7427 * platform/win/WidgetWin.cpp:
7428
74292008-09-18 David Hyatt <hyatt@apple.com>
7430
hyatt@apple.comc5b931a2008-09-19 00:39:51 +00007431 Make the conversion methods that go to and from some containingWindow
7432 cross-platform. Implement them on Mac.
7433
7434 Reviewed by Sam Weinig
7435
7436 * platform/Widget.h:
7437 (WebCore::Widget::setContainingWindow):
7438 * platform/mac/WidgetMac.mm:
7439 (WebCore::Widget::convertFromContainingWindow):
7440 (WebCore::Widget::convertToContainingWindow):
7441
weinig@apple.comd1ea02d2008-09-19 00:28:05 +000074422008-09-18 Sam Weinig <sam@webkit.org>
7443
7444 Rubber-stamped by David "Yeah-yeah" Hyatt.
7445
7446 Cleanup RenderStyle.
7447
7448 * WebCore.xcodeproj/project.pbxproj:
7449 * rendering/style/CounterContent.h:
7450 * rendering/style/RenderStyle.cpp:
7451 * rendering/style/RenderStyle.h:
7452
dino@apple.comef93f532008-09-19 00:01:07 +000074532008-09-18 Chris Marrin <cmarrin@apple.com>
7454
7455 Reviewed by Sam Weinig
7456
7457 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
7458 Now TransformOperations and AnimationList no longer
7459 inherit from Vector<> but rather have API to access.
7460
7461 * css/CSSComputedStyleDeclaration.cpp:
7462 (WebCore::computedTransform):
7463 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7464 * css/CSSStyleSelector.cpp:
7465 (WebCore::CSSStyleSelector::createTransformOperations):
7466 * page/animation/AnimationBase.cpp:
7467 (WebCore::blendFunc):
7468 * page/animation/CompositeAnimation.cpp:
7469 (WebCore::CompositeAnimation::updateTransitions):
7470 (WebCore::CompositeAnimation::updateKeyframeAnimations):
7471 (WebCore::CompositeAnimation::animate):
7472 * page/animation/ImplicitAnimation.cpp:
7473 (WebCore::ImplicitAnimation::validateTransformFunctionList):
7474 * page/animation/KeyframeAnimation.cpp:
7475 (WebCore::KeyframeAnimation::validateTransformFunctionList):
7476 * rendering/RenderLayer.cpp:
7477 (WebCore::RenderLayer::updateReflectionStyle):
7478 * rendering/style/AnimationList.cpp:
7479 (WebCore::AnimationList::operator==):
7480 * rendering/style/AnimationList.h:
7481 (WebCore::AnimationList::operator!=):
7482 (WebCore::AnimationList::size):
7483 (WebCore::AnimationList::isEmpty):
7484 (WebCore::AnimationList::resize):
7485 (WebCore::AnimationList::remove):
7486 (WebCore::AnimationList::append):
7487 (WebCore::AnimationList::animation):
7488 * rendering/style/RenderStyle.cpp:
7489 (WebCore::StyleRareNonInheritedData::updateKeyframes):
7490 (WebCore::RenderStyle::applyTransform):
7491 (WebCore::RenderStyle::adjustAnimations):
7492 (WebCore::RenderStyle::adjustTransitions):
7493 (WebCore::RenderStyle::transitionForProperty):
7494 * rendering/style/RenderStyle.h:
7495 (WebCore::RenderStyle::hasTransform):
7496 * rendering/style/TransformOperations.cpp:
7497 (WebCore::TransformOperations::TransformOperations):
7498 (WebCore::TransformOperations::operator==):
7499 * rendering/style/TransformOperations.h:
7500 (WebCore::TransformOperations::apply):
7501 (WebCore::TransformOperations::operations):
7502
zecke@webkit.org20690ef2008-09-18 23:28:34 +000075032008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
7504
zecke@webkit.org30db7422008-09-19 01:00:18 +00007505 Build fix.
7506
7507 [qt] Build fixes after the Widget/ScrollView cleanup
7508 topLevel() is now root()
7509
7510
7511 * platform/qt/ScrollViewQt.cpp:
7512 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
7513 (WebCore::ScrollView::addChild):
7514 (WebCore::ScrollView::removeChild):
7515
75162008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
7517
zecke@webkit.org20690ef2008-09-18 23:28:34 +00007518 Reviewed by Mark Rowe.
7519
7520 https://bugs.webkit.org/show_bug.cgi?id=20437
7521
7522 XMLTokenizer.cpp used to contain two different implementations. One was using
7523 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
7524 separating the two implementations from each other.
7525 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
7526 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
7527 XMLTokenizerLibxml2.cpp. There should be no functional changes.
7528
7529 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
7530 to work.
7531
7532 * GNUmakefile.am:
7533 * WebCore.pro:
7534 * WebCore.vcproj/WebCore.vcproj:
7535 * WebCore.xcodeproj/project.pbxproj:
7536 * WebCoreSources.bkl:
7537 * dom/XMLTokenizer.cpp:
7538 (WebCore::isScriptElement):
7539 (WebCore::castToScriptElement):
7540 (WebCore::XMLTokenizer::setCurrentNode):
7541 (WebCore::XMLTokenizer::write):
7542 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
7543 (WebCore::XMLTokenizer::enterText):
7544 (WebCore::toString):
7545 (WebCore::XMLTokenizer::exitText):
7546 (WebCore::XMLTokenizer::end):
7547 (WebCore::XMLTokenizer::insertErrorMessageBlock):
7548 * dom/XMLTokenizer.h:
7549 (WebCore::XMLTokenizer::wellFormed):
7550 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
7551 (WebCore::createMemoryParser):
7552 (WebCore::XMLTokenizer::XMLTokenizer):
7553 (WebCore::XMLTokenizer::~XMLTokenizer):
7554 (WebCore::XMLTokenizer::doWrite):
7555 (WebCore::ignorableWhitespaceHandler):
7556 (WebCore::XMLTokenizer::initializeParserContext):
7557 (WebCore::XMLTokenizer::doEnd):
7558 (WebCore::XMLTokenizer::lineNumber):
7559 (WebCore::XMLTokenizer::columnNumber):
7560 (WebCore::XMLTokenizer::stopParsing):
7561 (WebCore::XMLTokenizer::resumeParsing):
7562 (WebCore::parseXMLDocumentFragment):
7563 (WebCore::attributesStartElementNsHandler):
7564 (WebCore::parseAttributes):
7565 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
7566 (WebCore::EntityResolver::resolveUndeclaredEntity):
7567 (WebCore::XMLTokenizer::XMLTokenizer):
7568 (WebCore::XMLTokenizer::~XMLTokenizer):
7569 (WebCore::XMLTokenizer::doWrite):
7570 (WebCore::XMLTokenizer::initializeParserContext):
7571 (WebCore::XMLTokenizer::doEnd):
7572 (WebCore::XMLTokenizer::lineNumber):
7573 (WebCore::XMLTokenizer::columnNumber):
7574 (WebCore::XMLTokenizer::stopParsing):
7575 (WebCore::XMLTokenizer::resumeParsing):
7576 (WebCore::parseXMLDocumentFragment):
7577 (WebCore::attributesStartElementNsHandler):
7578 (WebCore::parseAttributes):
7579 (WebCore::):
7580
bdakin@apple.com4c244902008-09-18 23:08:35 +000075812008-09-18 Beth Dakin <bdakin@apple.com>
7582
7583 Reviewed by Geoff Garen.
7584
7585 Build fix for non-Mac builds.
7586
7587 * css/CSSPrimitiveValue.cpp:
7588 (WebCore::CSSPrimitiveValue::cssText):
7589
eric@webkit.org4ac94e62008-09-18 23:07:55 +000075902008-09-18 Peter Kasting <pkasting@google.com>
7591
7592 Reviewed by hyatt. Landed by eseidel.
7593
7594 https://bugs.webkit.org/show_bug.cgi?id=20745
7595 Animated GIFs do not animate properly with (at least) CG.
7596
7597 * WebCore\platform\graphics\BitmapImage.cpp:
7598 * WebCore\platform\graphics\BitmapImage.h:
7599 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
7600 * WebCore\platform\graphics\cg\ImageCG.cpp:
7601 * WebCore\platform\graphics\qt\ImageQt.cpp:
7602 * WebCore\platform\graphics\wx\ImageWx.cpp:
7603
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +000076042008-09-18 Chris Fleizach <cfleizach@apple.com>
7605
7606 Reviewed by Beth Dakin
7607
7608 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
7609 role specifies otherwise
7610
7611 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
7612
7613 Test: accessibility/table-with-aria-role.html
7614
7615 * page/AccessibilityTable.cpp:
7616 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
7617 (WebCore::AccessibilityTable::addChildren):
7618 (WebCore::AccessibilityTable::roleValue):
7619 (WebCore::AccessibilityTable::accessibilityIsIgnored):
7620 (WebCore::AccessibilityTable::title):
7621 * page/AccessibilityTableCell.cpp:
7622 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
7623 (WebCore::AccessibilityTableCell::isTableCell):
7624 (WebCore::AccessibilityTableCell::roleValue):
7625 * page/AccessibilityTableCell.h:
7626 * page/AccessibilityTableRow.cpp:
7627 (WebCore::AccessibilityTableRow::roleValue):
7628 (WebCore::AccessibilityTableRow::isTableRow):
7629 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
7630 * page/AccessibilityTableRow.h:
7631
sfalken@apple.coma96c5d32008-09-18 22:29:34 +000076322008-09-18 Steve Falkenburg <sfalken@apple.com>
7633
7634 Use higher-resolution timers on all variants of Windows.
7635
7636 Reviewed by Darin Adler.
7637
7638 * platform/win/SharedTimerWin.cpp:
7639 (WebCore::setSharedTimerFireTime):
7640
7641
hyatt@apple.comb7d49b62008-09-18 22:21:25 +000076422008-09-18 David Hyatt <hyatt@apple.com>
7643
7644 Make containingWindow() and setContainingWindow() cross-platform.
7645 Add a root() function cross-platform so Qt doesn't have to
7646 define its own.
7647
7648 Reviewed by Darin Adler
7649
7650 * platform/Widget.cpp:
7651 (WebCore::Widget::root):
7652 * platform/Widget.h:
7653 (WebCore::Widget::setContainingWindow):
7654 * platform/gtk/WidgetGtk.cpp:
7655 (WebCore::Widget::Widget):
7656 (WebCore::Widget::containingWindow):
7657 * platform/mac/ScrollViewMac.mm:
7658 (WebCore::ScrollView::addChild):
7659 (WebCore::ScrollView::removeChild):
7660 * platform/mac/WidgetMac.mm:
7661 (WebCore::Widget::containingWindow):
7662 * platform/qt/WidgetQt.cpp:
7663 (WebCore::Widget::invalidateRect):
7664 (WebCore::Widget::containingWindow):
7665 * platform/win/WidgetWin.cpp:
7666 (WebCore::Widget::Widget):
7667 (WebCore::Widget::~Widget):
7668 (WebCore::Widget::containingWindow):
7669
bdakin@apple.comfa1ce162008-09-18 22:18:01 +000076702008-09-18 Beth Dakin <bdakin@apple.com>
7671
7672 Reviewed by Dave Hyatt.
7673
7674 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
7675 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
7676 dashboard-region=
7677 and corresponding: <rdar://problem/6174100>
7678
7679 This patch makes CSSParserValue::createCSSValue handle unknown
7680 identifiers.
7681
7682 * css/CSSParserValues.cpp:
7683 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
7684 with no id (an unknown identifier) create a CSSPrimitiveValue of
7685 type CSS_PARSER_IDENTIFIER
7686 * css/CSSPrimitiveValue.cpp:
7687 (WebCore::CSSPrimitiveValue::cssText):
7688 (WebCore::CSSPrimitiveValue::parserValue):
7689 * css/CSSPrimitiveValue.h:
7690 (WebCore::CSSPrimitiveValue::):
7691
weinig@apple.comfce49be2008-09-18 21:46:14 +000076922008-09-18 Sam Weinig <sam@webkit.org>
7693
7694 Rubber-stamped by David "I'd prefer not" Hyatt.
7695
7696 More the remaining class out of RenderStyle.h/cpp
7697
7698 * GNUmakefile.am:
7699 * WebCore.pro:
7700 * WebCore.vcproj/WebCore.vcproj:
7701 * WebCore.xcodeproj/project.pbxproj:
7702 * WebCoreSources.bkl:
7703 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
7704 (WebCore::CursorData::CursorData):
7705 (WebCore::CursorData::operator==):
7706 (WebCore::CursorData::operator!=):
7707 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
7708 (WebCore::CursorList::operator[]):
7709 (WebCore::CursorList::CursorList):
7710 * rendering/style/RenderStyle.cpp:
7711 * rendering/style/RenderStyle.h:
7712 (WebCore::RenderStyle::deref):
7713 (WebCore::RenderStyle::hasOneRef):
7714 (WebCore::RenderStyle::InheritedFlags::operator!=):
7715 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
7716 (WebCore::RenderStyle::hasBackground):
7717 (WebCore::RenderStyle::outlineWidth):
7718 (WebCore::RenderStyle::autoWrap):
7719 (WebCore::RenderStyle::preserveNewline):
7720 (WebCore::RenderStyle::collapseWhiteSpace):
7721 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
7722 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
7723 (WebCore::RenderStyle::breakWords):
7724 (WebCore::RenderStyle::outlineOffset):
7725 (WebCore::RenderStyle::setLeft):
7726 (WebCore::RenderStyle::setRight):
7727 (WebCore::RenderStyle::setTop):
7728 (WebCore::RenderStyle::setBottom):
7729 (WebCore::RenderStyle::setDashboardRegion):
7730 (WebCore::RenderStyle::setBackgroundColor):
7731 (WebCore::RenderStyle::setBorderImage):
7732 (WebCore::RenderStyle::setBorderRadius):
7733 (WebCore::RenderStyle::setFontDescription):
7734 (WebCore::RenderStyle::adjustBackgroundLayers):
7735 (WebCore::RenderStyle::adjustMaskLayers):
7736 (WebCore::RenderStyle::deleteBindingURIs):
7737 (WebCore::RenderStyle::inheritBindingURIs):
7738 (WebCore::RenderStyle::isDisplayReplacedType):
7739 (WebCore::RenderStyle::isDisplayInlineType):
7740 (WebCore::RenderStyle::isOriginalDisplayInlineType):
7741 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
7742 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
7743 (WebCore::StyleInheritedData::operator!=):
7744 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
7745 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
7746 (WebCore::StyleRareInheritedData::operator!=):
7747 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
7748 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
7749 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
7750
hyatt@apple.com643534d2008-09-18 20:09:41 +000077512008-09-18 David Hyatt <hyatt@apple.com>
7752
hyatt@apple.comd23089a2008-09-18 20:24:16 +00007753 Move the concept of suppression invalidation on Widgets to Scrollbar
7754 instead. Since this is only used by Scrollbars, there is no need for
7755 it to be on Widget.
7756
7757 Reviewed by Sam Weinig
7758
7759 * platform/Scrollbar.cpp:
7760 (WebCore::Scrollbar::Scrollbar):
7761 (WebCore::Scrollbar::invalidateRect):
7762 * platform/Scrollbar.h:
7763 (WebCore::Scrollbar::suppressInvalidation):
7764 (WebCore::Scrollbar::setSuppressInvalidation):
7765 * platform/Widget.h:
7766 * platform/gtk/WidgetGtk.cpp:
7767 (WebCore::Widget::Widget):
7768 (WebCore::Widget::invalidateRect):
7769 * platform/qt/WidgetQt.cpp:
7770 (WebCore::WidgetPrivate::WidgetPrivate):
7771 (WebCore::Widget::invalidateRect):
7772 * platform/win/WidgetWin.cpp:
7773 (WebCore::Widget::Widget):
7774 (WebCore::Widget::invalidateRect):
7775
77762008-09-18 David Hyatt <hyatt@apple.com>
7777
hyatt@apple.com643534d2008-09-18 20:09:41 +00007778 Make invalidate() on Widget non-virtual and make it just call
7779 invalidateRect() on the boundsGeometry() of the Widget.
7780
7781 Reviewed by Dan Bernstein
7782
7783 * platform/Widget.h:
7784 (WebCore::Widget::boundsGeometry):
7785 (WebCore::Widget::invalidate):
7786 * platform/gtk/WidgetGtk.cpp:
7787 * platform/mac/WidgetMac.mm:
7788 * platform/qt/WidgetQt.cpp:
7789 * platform/win/WidgetWin.cpp:
7790 * platform/wx/WidgetWx.cpp:
7791
weinig@apple.comcaf2df42008-09-18 19:40:24 +000077922008-09-18 Sam Weinig <sam@webkit.org>
7793
7794 Rubber-stamped in exile by David Hyatt.
7795
7796 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
7797 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
7798 RenderStyle.h/cpp
7799
7800 * GNUmakefile.am:
7801 * WebCore.pro:
7802 * WebCore.vcproj/WebCore.vcproj:
7803 * WebCore.xcodeproj/project.pbxproj:
7804 * WebCoreSources.bkl:
7805 * css/CSSStyleSelector.cpp:
7806 * css/CSSStyleSelector.h:
7807 * page/animation/CompositeAnimation.cpp:
7808 * page/animation/KeyframeAnimation.cpp:
7809 * page/animation/KeyframeAnimation.h:
7810 * rendering/RenderCounter.h:
7811 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
7812 (WebCore::Animation::~Animation):
7813 (WebCore::Animation::animationsMatch):
7814 (WebCore::Animation::keyframeList):
7815 (WebCore::Animation::setAnimationKeyframe):
7816 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
7817 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
7818 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
7819 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
7820 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
7821 (WebCore::BindingURI::operator!=):
7822 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
7823 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
7824 (WebCore::ContentData::ContentData):
7825 (WebCore::ContentData::~ContentData):
7826 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
7827 (WebCore::CounterContent::CounterContent):
7828 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
7829 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
7830 (WebCore::CounterDirectives::CounterDirectives):
7831 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
7832 (WebCore::KeyframeList::insert):
7833 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
7834 (WebCore::KeyframeValue::KeyframeValue):
7835 (WebCore::KeyframeList::create):
7836 (WebCore::KeyframeList::KeyframeList):
7837 * rendering/style/RenderStyle.cpp:
7838 * rendering/style/RenderStyle.h:
7839 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
7840 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
7841 (WebCore::ShadowData::ShadowData):
7842 (WebCore::ShadowData::~ShadowData):
7843 (WebCore::ShadowData::operator!=):
7844 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
7845 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
7846 (WebCore::StyleFlexibleBoxData::operator!=):
7847 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
7848 (WebCore::TimingFunction::TimingFunction):
7849 (WebCore::TimingFunction::operator==):
7850
adele@apple.com5b2b5da2008-09-18 18:49:44 +000078512008-09-18 Adele Peterson <adele@apple.com>
7852
7853 Reviewed by Dan Bernstein.
7854
7855 Fix RenderStyle leaks.
7856
7857 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
7858
kmccullough@apple.comd4089752008-09-18 17:21:49 +000078592008-09-18 Kevin McCullough <kmccullough@apple.com>
7860
kmccullough@apple.com76c708f2008-09-18 18:03:23 +00007861 Accidentally checked in code.
7862
7863 * html/HTMLElementFactory.cpp:
7864 (WebCore::frameConstructor):
7865 (WebCore::iframeConstructor):
7866
78672008-09-18 Kevin McCullough <kmccullough@apple.com>
7868
kmccullough@apple.comd4089752008-09-18 17:21:49 +00007869 Reviewed by Tim.
7870
7871 <rdar://problem/5722310> gracefully handle too many console messages
7872 (20904)
7873 - Keep track of the most previous message and then compare it to the
7874 subsequent messages as they come in. If there are multiple of the same
7875 message create a count that indicates the current number.
7876
7877 * manual-tests/inspector/multiple-console-messages.html: Added.
7878 * page/inspector/Console.js:
7879 * page/inspector/inspector.css:
7880
alp@webkit.org18a1fbc2008-09-18 11:50:26 +000078812008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
7882
7883 Reviewed by Alp Toker
7884
7885 https://bugs.webkit.org/show_bug.cgi?id=20830
7886 [GTK] Don't use deprecated pango API
7887
7888 Replace deprecated pango functions with non-deprecated ones for newer
7889 versions of pango
7890
7891 * platform/graphics/gtk/FontGtk.cpp:
7892 (WebCore::getDefaultPangoLayout):
7893 * platform/graphics/gtk/FontPlatformDataPango.cpp:
7894 (WebCore::FontPlatformData::FontPlatformData):
7895
alp@webkit.org2154ef22008-09-18 08:10:49 +000078962008-09-18 Alp Toker <alp@nuanti.com>
7897
7898 Build fix for r36587. Add new sources (and sort the lists).
7899
7900 * GNUmakefile.am:
7901
weinig@apple.com3a98b2a2008-09-18 05:51:35 +000079022008-09-17 Sam Weinig <sam@webkit.org>
7903
7904 Fix Windows build.
7905
7906 * WebCore.vcproj/WebCore.vcproj:
7907
hyatt@apple.comb3699722008-09-18 05:10:03 +000079082008-09-17 David Hyatt <hyatt@apple.com>
7909
7910 Switch back to having frameGeometry be virtual in order to keep Mac
7911 the way it used to be.
7912
7913 Reviewed by Sam Weinig
7914
7915 * WebCore.base.exp:
7916 * platform/Widget.cpp:
7917 (WebCore::Widget::setParent):
7918 * platform/Widget.h:
7919 * platform/gtk/WidgetGtk.cpp:
7920 (WebCore::Widget::frameGeometry):
7921 (WebCore::Widget::setFrameGeometry):
7922 * platform/mac/WidgetMac.mm:
7923 (WebCore::Widget::frameGeometry):
7924 (WebCore::Widget::setFrameGeometry):
7925 * platform/qt/WidgetQt.cpp:
7926 (WebCore::Widget::frameGeometry):
7927 (WebCore::Widget::setFrameGeometry):
7928 * platform/win/WidgetWin.cpp:
7929 (WebCore::Widget::frameGeometry):
7930 (WebCore::Widget::setFrameGeometry):
7931 * platform/wx/WidgetWx.cpp:
7932 (WebCore::Widget::frameGeometry):
7933 (WebCore::Widget::setFrameGeometry):
7934 * plugins/PluginView.cpp:
7935 (WebCore::PluginView::setFrameGeometry):
7936 (WebCore::PluginView::geometryChanged):
7937 * plugins/PluginView.h:
7938 * plugins/gtk/PluginViewGtk.cpp:
7939 (WebCore::PluginView::updatePluginWidget):
7940 * plugins/qt/PluginViewQt.cpp:
7941 (WebCore::PluginView::updatePluginWidget):
7942 * plugins/win/PluginViewWin.cpp:
7943 (WebCore::PluginView::updatePluginWidget):
7944
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000079452008-09-17 Sam Weinig <sam@webkit.org>
7946
weinig@apple.com4fd54cd2008-09-18 05:03:21 +00007947 Reviewed by Mark Rowe.
7948
7949 Fix assertion in DOMWindow::adjustWindowRect where we were passing
7950 in garbage values and were getting lucky that they were a not Nan.
7951
7952 * bindings/js/JSDOMWindowBase.cpp:
7953 (WebCore::windowProtoFuncOpen):
7954
79552008-09-17 Sam Weinig <sam@webkit.org>
7956
weinig@apple.com95b14762008-09-18 04:28:40 +00007957 Fix gtk build.
7958
7959 * rendering/style/MatrixTransformOperation.cpp:
7960
79612008-09-17 Sam Weinig <sam@webkit.org>
7962
weinig@apple.com00f4d5c2008-09-18 03:23:08 +00007963 Rubber-stamped with love by David Hyatt.
7964
7965 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
7966 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
7967 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
7968
7969 * GNUmakefile.am:
7970 * WebCore.pro:
7971 * WebCore.vcproj/WebCore.vcproj:
7972 * WebCore.xcodeproj/project.pbxproj:
7973 * WebCoreSources.bkl:
7974 * css/CSSStyleSelector.cpp:
7975 * page/animation/AnimationBase.cpp:
7976 (WebCore::solveEpsilon):
7977 * rendering/RenderLayer.cpp:
7978 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
7979 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
7980 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
7981 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
7982 * rendering/style/RenderStyle.cpp:
7983 * rendering/style/RenderStyle.h:
7984 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
7985 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
7986 (WebCore::RotateTransformOperation::RotateTransformOperation):
7987 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
7988 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
7989 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
7990 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
7991 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
7992 (WebCore::SkewTransformOperation::SkewTransformOperation):
7993 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
7994 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
7995 (WebCore::StyleTransformData::operator!=):
7996 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
7997 (WebCore::TransformOperation::):
7998 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
7999 (WebCore::TransformOperations::TransformOperations):
8000 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
8001 (WebCore::TransformOperations::operator!=):
8002 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
8003 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
8004 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
8005
mrowe@apple.comdbfa8852008-09-18 02:59:20 +000080062008-09-17 Mark Rowe <mrowe@apple.com>
8007
8008 Build fix.
8009
8010 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
8011
hyatt@apple.com76057b42008-09-18 02:48:46 +000080122008-09-17 David Hyatt <hyatt@apple.com>
8013
8014 (1) Inline a bunch of methods for accessing frame geometry.
8015 (2) Make sure frameGeometry() works even when you have no underlying
8016 native widget.
8017 (3) Cache a frame geometry rect cross-platform (even for widgets that
8018 have underlying native widgets.
8019 (4) PluginView's updateWindow call is now a virtual function on Widget.
8020
8021 Reviewed by Sam Weinig
8022
8023 * ChangeLog:
8024 * WebCore.base.exp:
8025 * platform/Widget.cpp:
8026 (WebCore::Widget::setFrameGeometry):
8027 * platform/Widget.h:
8028 (WebCore::Widget::x):
8029 (WebCore::Widget::y):
8030 (WebCore::Widget::width):
8031 (WebCore::Widget::height):
8032 (WebCore::Widget::size):
8033 (WebCore::Widget::pos):
8034 (WebCore::Widget::frameGeometry):
8035 (WebCore::Widget::resize):
8036 (WebCore::Widget::move):
8037 (WebCore::Widget::isFrameView):
8038 (WebCore::Widget::windowClipRect):
8039 * platform/mac/WidgetMac.mm:
8040 (WebCore::Widget::~Widget):
8041 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
8042 * platform/win/WidgetWin.cpp:
8043 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
8044 * plugins/PluginView.cpp:
8045 (WebCore::PluginView::setFrameGeometry):
8046 (WebCore::PluginView::geometryChanged):
8047 * plugins/PluginView.h:
8048 * plugins/gtk/PluginViewGtk.cpp:
8049 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
8050 * plugins/qt/PluginViewQt.cpp:
8051 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
8052 * plugins/win/PluginViewWin.cpp:
8053 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
8054 * plugins/wx/PluginViewWx.cpp:
8055
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000080562008-09-17 Sam Weinig <sam@webkit.org>
8057
weinig@apple.comb4b66742008-09-18 02:47:55 +00008058 Reviewed by David "Waterman" Hyatt.
8059
8060 Fix a leak of NSViews in WidgetMac.mm.
8061
8062 * platform/mac/WidgetMac.mm:
8063 (WebCore::Widget::~Widget):
8064
80652008-09-17 Sam Weinig <sam@webkit.org>
8066
weinig@apple.coma812a3ce2008-09-18 01:46:26 +00008067 Rubber-stamped by David Waterman Hyatt.
8068
8069 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
8070 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
8071
8072 * GNUmakefile.am:
8073 * WebCore.pro:
8074 * WebCore.vcproj/WebCore.vcproj:
8075 * WebCore.xcodeproj/project.pbxproj:
8076 * WebCoreSources.bkl:
8077 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
8078 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
8079 (WebCore::FillLayer::operator!=):
8080 (WebCore::FillLayer::hasImage):
8081 (WebCore::FillLayer::hasFixedImage):
8082 * rendering/style/RenderStyle.cpp:
8083 * rendering/style/RenderStyle.h:
8084 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
8085 (WebCore::StyleBackgroundData::StyleBackgroundData):
8086 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
8087 (WebCore::StyleBackgroundData::~StyleBackgroundData):
8088 (WebCore::StyleBackgroundData::operator!=):
8089 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
8090 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
8091 (WebCore::StyleBoxData::operator!=):
8092 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
8093 (WebCore::StyleDashboardRegion::operator!=):
8094 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
8095 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
8096 (WebCore::StyleMarqueeData::operator!=):
8097 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
8098 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
8099 (WebCore::StyleMultiColData::operator!=):
8100 (WebCore::StyleMultiColData::ruleWidth):
8101 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
8102 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
8103 (WebCore::StyleVisualData::operator==):
8104
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000081052008-09-17 David Hyatt <hyatt@apple.com>
8106
hyatt@apple.com3f19eac2008-09-18 00:56:04 +00008107 Remove WidgetClient from Widget.
8108
8109 Reviewed by Sam Weinig
8110
8111 * WebCore.xcodeproj/project.pbxproj:
8112 * platform/Widget.h:
8113 (WebCore::Widget::setClient):
8114 (WebCore::Widget::client):
8115 * platform/WidgetClient.h: Removed.
8116 * platform/gtk/WidgetGtk.cpp:
8117 * platform/mac/WidgetMac.mm:
8118 (WebCore::Widget::Widget):
8119 (WebCore::Widget::show):
8120 (WebCore::Widget::hide):
8121 * platform/qt/WidgetQt.cpp:
8122 (WebCore::WidgetPrivate::WidgetPrivate):
8123 * platform/win/WidgetWin.cpp:
8124 (WebCore::Widget::Widget):
8125 * platform/wx/WidgetWx.cpp:
8126 (WebCore::Widget::Widget):
8127
81282008-09-17 David Hyatt <hyatt@apple.com>
8129
hyatt@apple.comb4f28b32008-09-18 00:39:36 +00008130 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
8131 only applies to Scrollbars so the method has been moved there and made
8132 cross-platform. Scrollbar subclasses that have a corresponding native
8133 widget can subclass setEnabled to change the enabled state of the native
8134 widget.
8135
8136 Reviewed by Sam Weinig & Darin Adler
8137
8138 * WebCore.base.exp:
8139 * platform/Scrollbar.cpp:
8140 (WebCore::Scrollbar::Scrollbar):
8141 * platform/Scrollbar.h:
8142 (WebCore::Scrollbar::enabled):
8143 (WebCore::Scrollbar::setEnabled):
8144 * platform/Widget.h:
8145 * platform/gtk/ScrollbarGtk.cpp:
8146 (ScrollbarGtk::setEnabled):
8147 * platform/gtk/ScrollbarGtk.h:
8148 * platform/gtk/WidgetGtk.cpp:
8149 * platform/mac/ScrollbarMac.h:
8150 * platform/mac/ScrollbarMac.mm:
8151 (WebCore::ScrollbarMac::scrollbarHit):
8152 (WebCore::ScrollbarMac::setEnabled):
8153 * platform/mac/WidgetMac.mm:
8154 * platform/qt/WidgetQt.cpp:
8155 (WebCore::WidgetPrivate::WidgetPrivate):
8156 * platform/win/WidgetWin.cpp:
8157 (WebCore::Widget::Widget):
8158 * platform/wx/WidgetWx.cpp:
8159
weinig@apple.com1ea40602008-09-17 23:56:27 +000081602008-09-17 Sam Weinig <sam@webkit.org>
8161
8162 Rubber-stamped by David Hyatt.
8163
8164 Split all RenderStyle enums into their own file.
8165
8166 * GNUmakefile.am:
8167 * WebCore.vcproj/WebCore.vcproj:
8168 * WebCore.xcodeproj/project.pbxproj:
8169 * rendering/style/BorderValue.h:
8170 * rendering/style/CollapsedBorderValue.h:
8171 * rendering/style/RenderStyle.h:
8172 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
8173 (WebCore::):
8174 * rendering/style/StyleCachedImage.h:
8175 * rendering/style/StyleGeneratedImage.h:
8176 * rendering/style/StyleImage.h:
8177
sfalken@apple.combf270912008-09-17 23:53:17 +000081782008-09-17 Steve Falkenburg <sfalken@apple.com>
8179
8180 Add back isFrameView check to fix failed assertion during scroll bar teardown.
8181
8182 Reviewed by Dave Hyatt.
8183
8184 * platform/Scrollbar.cpp:
8185 (WebCore::Scrollbar::setParent):
8186
beidson@apple.com4398e482008-09-17 23:30:00 +000081872008-09-17 Brady Eidson <beidson@apple.com>
8188
8189 Reviewed by Mac build fix
8190
8191 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
8192
sfalken@apple.com85cc1392008-09-17 23:28:13 +000081932008-09-17 Steve Falkenburg <sfalken@apple.com>
8194
8195 Fix build.
8196
8197 * platform/win/ScrollViewWin.cpp:
8198 (WebCore::ScrollView::setParentVisible):
8199 * plugins/win/PluginViewWin.cpp:
8200 (WebCore::PluginView::init):
8201
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +000082022008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
8203
8204 Reviewed by Simon.
8205
8206 [QtWebKit] Implement error handling in TextCodecQt::decode
8207 Use the QTextCodec parsing state to set the sawError out variable. This
8208 is needed to pass Test 70 of acid3. The test case for this bug is
8209 fast/encoding/invalid-xml.html that is now partially passed. To pass
8210 it completely the Qt text codecs need to be adjusted to have proper
8211 error handling.
8212
8213 * platform/text/qt/TextCodecQt.cpp:
8214 (WebCore::TextCodecQt::decode):
8215
weinig@apple.comf6f0f112008-09-17 23:03:16 +000082162008-09-17 Sam Weinig <sam@webkit.org>
8217
8218 Rubber-stamped by Dave Hyatt.
8219
8220 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
8221 out of RenderStyle.h/cpp
8222
8223 * GNUmakefile.am:
8224 * WebCore.pro:
8225 * WebCore.vcproj/WebCore.vcproj:
8226 * WebCore.xcodeproj/project.pbxproj:
8227 * WebCoreSources.bkl:
8228 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
8229 (WebCore::BorderData::hasBorderRadius):
8230 (WebCore::BorderData::borderLeftWidth):
8231 (WebCore::BorderData::borderRightWidth):
8232 (WebCore::BorderData::borderTopWidth):
8233 (WebCore::BorderData::borderBottomWidth):
8234 (WebCore::BorderData::operator!=):
8235 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
8236 (WebCore::):
8237 (WebCore::BorderValue::BorderValue):
8238 (WebCore::BorderValue::nonZero):
8239 (WebCore::BorderValue::isTransparent):
8240 (WebCore::BorderValue::isVisible):
8241 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
8242 (WebCore::):
8243 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
8244 (WebCore::CollapsedBorderValue::operator==):
8245 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
8246 (WebCore::OutlineValue::OutlineValue):
8247 * rendering/style/RenderStyle.cpp:
8248 * rendering/style/RenderStyle.h:
8249 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
8250 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
8251 (WebCore::StyleSurroundData::operator!=):
8252
bdakin@apple.com06b97182008-09-17 23:00:29 +000082532008-09-17 Beth Dakin <bdakin@apple.com>
8254
8255 Reviewed by Darin Adler.
8256
8257 This is a better fix for: Invalid CSS code crashes Safari
8258 https://bugs.webkit.org/show_bug.cgi?id=20512
8259
8260 The spec indicates that the only valid input for a counter is a
8261 number or an identifier. So that is exactly what we allow.
8262
8263 * css/CSSParser.cpp:
8264 (WebCore::CSSParser::parseCounterContent):
8265
alp@webkit.org97ba9222008-09-17 22:16:26 +000082662008-09-17 Alp Toker <alp@nuanti.com>
8267
8268 GTK+ build fix. Adapt to use PlatformWidget functions.
8269
8270 * platform/gtk/ScrollViewGtk.cpp:
8271 (WebCore::ScrollViewScrollbar::geometryChanged):
8272 (WebCore::ScrollView::addChild):
8273 (WebCore::ScrollView::removeChild):
8274 * platform/gtk/ScrollbarGtk.cpp:
8275 (ScrollbarGtk::ScrollbarGtk):
8276 (ScrollbarGtk::~ScrollbarGtk):
8277 (ScrollbarGtk::geometryChanged):
8278
weinig@apple.com930ed392008-09-17 22:00:45 +000082792008-09-17 Sam Weinig <sam@webkit.org>
8280
8281 Reviewed by Adele Peterson.
8282
8283 Patch for <rdar://problem/6133884>
8284 Calling window.resizeTo() on a subframe shouldn't change the window size
8285
8286 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
8287
8288 * page/DOMWindow.cpp:
8289 (WebCore::DOMWindow::moveBy):
8290 (WebCore::DOMWindow::moveTo):
8291 (WebCore::DOMWindow::resizeBy):
8292 (WebCore::DOMWindow::resizeTo):
8293
bdakin@apple.com8f952d82008-09-17 21:35:02 +000082942008-09-17 Beth Dakin <bdakin@apple.com>
8295
8296 Reviewed by Adam Roben.
8297
8298 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
8299 code crashes Safari
8300 and corresponding: <rdar://problem/6173832>
8301
8302 Reading through the spec, it seems like a function is not valid
8303 input for a counter. So this patch checks for that and bails in the
8304 case of invalid input.
8305
8306 * css/CSSParser.cpp:
8307 (WebCore::CSSParser::parseCounterContent):
8308
antti@apple.comb37d4052008-09-17 21:14:13 +000083092008-09-17 Greg Bolsinga <bolsinga@apple.com>
8310
8311 Reviewed by Antti Koivisto.
8312
8313 Fix <rdar://problem/6227089>
8314 Crash in WebCore::Frame::setNeedsReapplyStyles()
8315
8316 View is null checked elsewhere too.
8317
8318 * page/Frame.cpp:
8319 (WebCore::Frame::setNeedsReapplyStyles):
8320
hyatt@apple.com8e340252008-09-17 20:59:45 +000083212008-09-17 David Hyatt <hyatt@apple.com>
8322
8323 Make the notion of having a native widget backing a Widget cross-platform.
8324 The PlatformWidget abstraction (which already existed) is used for this.
8325 Windows = HWND
8326 Qt = QWidget
8327 Mac = NSView
8328 wx = wxWindow
8329 Gtk = GtkWidget
8330
8331 There are new cross-platform methods that replace all of the unique
8332 platform-specific methods.
8333 platformWidget()
8334 setPlatformWidget()
8335
8336 For plugins, on every platform except Qt on Windows, the plugin's native
8337 widget is now stored in the Widget base class. Since Qt on Windows uses
8338 HWNDs for plugins instead of QWidget, it is the only platform to keep the
8339 m_window variable in PluginView.
8340
8341 Reviewed by Sam Weinig
8342
8343 * WebCore.base.exp:
8344 * bindings/js/ScriptControllerMac.mm:
8345 (WebCore::ScriptController::createScriptInstanceForWidget):
8346 * page/mac/AccessibilityObjectWrapper.mm:
8347 (-[AccessibilityObjectWrapper attachmentView]):
8348 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
8349 * page/mac/EventHandlerMac.mm:
8350 (WebCore::EventHandler::passMouseDownEventToWidget):
8351 (WebCore::EventHandler::mouseDownViewIfStillGood):
8352 (WebCore::EventHandler::passWheelEventToWidget):
8353 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
8354 * platform/Widget.cpp:
8355 (WebCore::Widget::init):
8356 (WebCore::Widget::setParent):
8357 (WebCore::Widget::releasePlatformWidget):
8358 (WebCore::Widget::retainPlatformWidget):
8359 * platform/Widget.h:
8360 (WebCore::Widget::platformWidget):
8361 (WebCore::Widget::setPlatformWidget):
8362 * platform/gtk/WidgetGtk.cpp:
8363 (WebCore::Widget::Widget):
8364 (WebCore::Widget::setFocus):
8365 (WebCore::gdkDrawable):
8366 (WebCore::Widget::setCursor):
8367 (WebCore::Widget::show):
8368 (WebCore::Widget::hide):
8369 (WebCore::Widget::setEnabled):
8370 (WebCore::Widget::isEnabled):
8371 (WebCore::Widget::paint):
8372 * platform/mac/PlatformScreenMac.mm:
8373 (WebCore::screenRect):
8374 (WebCore::screenAvailableRect):
8375 * platform/mac/ScrollViewMac.mm:
8376 (WebCore::ScrollView::scrollView):
8377 (WebCore::ScrollView::update):
8378 (WebCore::ScrollView::inWindow):
8379 * platform/mac/ScrollbarMac.mm:
8380 (WebCore::ScrollbarMac::ScrollbarMac):
8381 (WebCore::ScrollbarMac::~ScrollbarMac):
8382 (WebCore::ScrollbarMac::updateThumbPosition):
8383 (WebCore::ScrollbarMac::updateThumbProportion):
8384 (WebCore::ScrollbarMac::scrollbarHit):
8385 * platform/mac/WidgetMac.mm:
8386 (WebCore::Widget::Widget):
8387 (WebCore::Widget::setEnabled):
8388 (WebCore::Widget::isEnabled):
8389 (WebCore::Widget::setFocus):
8390 (WebCore::Widget::getOuterView):
8391 (WebCore::Widget::paint):
8392 (WebCore::Widget::invalidate):
8393 (WebCore::Widget::invalidateRect):
8394 (WebCore::Widget::setIsSelected):
8395 (WebCore::Widget::releasePlatformWidget):
8396 (WebCore::Widget::retainPlatformWidget):
8397 * platform/qt/WidgetQt.cpp:
8398 (WebCore::WidgetPrivate::WidgetPrivate):
8399 (WebCore::Widget::Widget):
8400 (WebCore::Widget::setFrameGeometry):
8401 (WebCore::Widget::show):
8402 (WebCore::Widget::hide):
8403 (WebCore::Widget::isEnabled):
8404 (WebCore::Widget::setEnabled):
8405 (WebCore::Widget::invalidateRect):
8406 (WebCore::Widget::containingWindow):
8407 * platform/win/WidgetWin.cpp:
8408 (WebCore::Widget::Widget):
8409 * platform/wx/WidgetWx.cpp:
8410 (WebCore::Widget::Widget):
8411 (WebCore::Widget::frameGeometry):
8412 (WebCore::Widget::setFocus):
8413 (WebCore::Widget::setCursor):
8414 (WebCore::Widget::show):
8415 (WebCore::Widget::hide):
8416 (WebCore::Widget::setFrameGeometry):
8417 (WebCore::Widget::setEnabled):
8418 (WebCore::Widget::isEnabled):
8419 (WebCore::Widget::invalidate):
8420 (WebCore::Widget::invalidateRect):
8421 (WebCore::Widget::paint):
8422 * plugins/PluginView.cpp:
8423 (WebCore::PluginView::PluginView):
8424 * plugins/PluginView.h:
8425 (WebCore::PluginView::platformPluginWidget):
8426 * plugins/gtk/PluginViewGtk.cpp:
8427 (WebCore::PluginView::updateWindow):
8428 (WebCore::PluginView::setFocus):
8429 (WebCore::PluginView::show):
8430 (WebCore::PluginView::hide):
8431 (WebCore::PluginView::setParent):
8432 (WebCore::PluginView::setNPWindowRect):
8433 (WebCore::PluginView::setParentVisible):
8434 (WebCore::PluginView::getValue):
8435 (WebCore::PluginView::forceRedraw):
8436 (WebCore::PluginView::init):
8437 * plugins/qt/PluginViewQt.cpp:
8438 (WebCore::PluginView::updateWindow):
8439 (WebCore::PluginView::setFocus):
8440 (WebCore::PluginView::show):
8441 (WebCore::PluginView::hide):
8442 (WebCore::PluginView::setParent):
8443 (WebCore::PluginView::setNPWindowRect):
8444 (WebCore::PluginView::setParentVisible):
8445 (WebCore::PluginView::getValue):
8446 (WebCore::PluginView::~PluginView):
8447 (WebCore::PluginView::init):
8448 * plugins/win/PluginViewWin.cpp:
8449 (WebCore::PluginView::updateWindow):
8450 (WebCore::PluginView::setFocus):
8451 (WebCore::PluginView::show):
8452 (WebCore::PluginView::hide):
8453 (WebCore::PluginView::paint):
8454 (WebCore::PluginView::setParent):
8455 (WebCore::PluginView::setParentVisible):
8456 (WebCore::PluginView::setNPWindowRect):
8457 (WebCore::PluginView::stop):
8458 (WebCore::PluginView::invalidateRect):
8459 (WebCore::PluginView::forceRedraw):
8460 (WebCore::PluginView::~PluginView):
8461 (WebCore::PluginView::init):
8462
weinig@apple.comf713d132008-09-17 20:16:48 +000084632008-09-17 Sam Weinig <sam@webkit.org>
8464
8465 Fix assert.
8466
8467 * platform/Widget.cpp:
8468 (WebCore::Widget::setParent):
8469
hyatt@apple.comd9242e32008-09-17 18:46:31 +000084702008-09-17 David Hyatt <hyatt@apple.com>
8471
8472 Beginnings of Widget refactoring (in order to make the mixing of
8473 widgets with and without corresponding native widgets more cross-platform).
8474
8475 This first patch makes the concept of a parent ScrollView cross-platform.
8476
8477 Note the similarity of the show/hide methods on the three PluginViews. This
8478 will be refactored better in a later patch so that they can all share
8479 a base class Widget show/hide method. For now the changes were made
8480 simply to be able to bring WidgetWin's setParent method up into Widget.
8481
8482 Reviewed by Sam Weinig
8483
8484 * WebCore.base.exp:
8485 * platform/ScrollView.h:
8486 * platform/Widget.cpp:
8487 (WebCore::Widget::init):
8488 (WebCore::Widget::setParent):
8489 * platform/Widget.h:
8490 (WebCore::Widget::isSelfVisible):
8491 (WebCore::Widget::isParentVisible):
8492 (WebCore::Widget::isVisible):
8493 (WebCore::Widget::setParentVisible):
8494 (WebCore::Widget::isPluginView):
8495 (WebCore::Widget::parent):
8496 (WebCore::Widget::handleEvent):
8497 (WebCore::Widget::geometryChanged):
8498 * platform/gtk/WidgetGtk.cpp:
8499 (WebCore::Widget::Widget):
8500 * platform/mac/ScrollViewMac.mm:
8501 (WebCore::ScrollView::addChild):
8502 (WebCore::ScrollView::removeChild):
8503 * platform/mac/ScrollbarMac.mm:
8504 (WebCore::ScrollbarMac::~ScrollbarMac):
8505 * platform/mac/WidgetMac.mm:
8506 (WebCore::Widget::Widget):
8507 (WebCore::Widget::~Widget):
8508 * platform/qt/WidgetQt.cpp:
8509 (WebCore::WidgetPrivate::WidgetPrivate):
8510 (WebCore::Widget::Widget):
8511 (WebCore::Widget::topLevel):
8512 * platform/win/ScrollViewWin.cpp:
8513 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
8514 (WebCore::ScrollView::setAncestorVisible):
8515 (WebCore::ScrollView::show):
8516 (WebCore::ScrollView::hide):
8517 * platform/win/WidgetWin.cpp:
8518 (WebCore::Widget::Widget):
8519 (WebCore::Widget::setParent):
8520 * platform/wx/WidgetWx.cpp:
8521 (WebCore::Widget::Widget):
8522 * plugins/PluginView.cpp:
8523 (WebCore::PluginView::PluginView):
8524 * plugins/PluginView.h:
8525 * plugins/gtk/PluginViewGtk.cpp:
8526 (WebCore::PluginView::show):
8527 (WebCore::PluginView::hide):
8528 (WebCore::PluginView::setParentVisible):
8529 * plugins/qt/PluginViewQt.cpp:
8530 (WebCore::PluginView::show):
8531 (WebCore::PluginView::hide):
8532 (WebCore::PluginView::setParentVisible):
8533 * plugins/win/PluginViewWin.cpp:
8534 (WebCore::PluginView::show):
8535 (WebCore::PluginView::hide):
8536 (WebCore::PluginView::setParentVisible):
8537
ap@webkit.org18da1a32008-09-17 16:50:22 +000085382008-09-17 Alexey Proskuryakov <ap@webkit.org>
8539
8540 Reviewed by Adam Roben.
8541
8542 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
8543
8544 * platform/text/TextCodecICU.cpp:
8545 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
8546
vestbo@webkit.orge48e6362008-09-17 13:29:42 +000085472008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
8548
8549 Fix the QtWebKit/Mac build
8550
8551 * platform/qt/ScrollViewQt.cpp: add include
8552
ap@webkit.org18da1a32008-09-17 16:50:22 +000085532008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +00008554
8555 Add a #define to control whether or not to use an NSScroller on Mac.
8556 This ifdef will allow the new NSView-less NSScroller on Mac to be
8557 developed side by side with the current one.
8558
8559 The new scroller paints a debug red if turned on (although due to
8560 Widget issues you won't see anything paint yet).
8561
8562 Reviewed by olliej
8563
8564 * platform/Scrollbar.cpp:
8565 * platform/Scrollbar.h:
8566 * platform/mac/ScrollbarMac.h:
8567 * platform/mac/ScrollbarMac.mm:
8568 * platform/mac/ScrollbarThemeMac.cpp:
8569 (WebCore::ScrollbarThemeMac::paint):
8570 * platform/mac/ScrollbarThemeMac.h:
8571
alp@webkit.orgf06bac02008-09-17 04:30:12 +000085722008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
8573
8574 Reviewed by Alp Toker.
8575
8576 http://bugs.webkit.org/show_bug.cgi?id=20854
8577 [GTK] Windows can be not realized in ScrollView::update
8578
8579 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
8580
8581 * platform/gtk/ScrollViewGtk.cpp:
8582 (WebCore::ScrollView::update):
8583
alp@webkit.org226f72a2008-09-17 04:22:02 +000085842008-09-16 Alp Toker <alp@nuanti.com>
8585
8586 Suggested by Dave Hyatt.
8587
8588 Build fix and cleanup. Rename ScrollBar to Scrollbar.
8589
8590 * GNUmakefile.am:
8591 * WebCore.pro:
8592 * WebCore.vcproj/WebCore.vcproj:
8593 * WebCore.xcodeproj/project.pbxproj:
8594 * WebCoreSources.bkl:
8595 * editing/EditorCommand.cpp:
8596 * page/EventHandler.cpp:
8597 * page/gtk/EventHandlerGtk.cpp:
8598 * page/mac/EventHandlerMac.mm:
8599 * page/mac/FrameMac.mm:
8600 * page/qt/EventHandlerQt.cpp:
8601 * page/wx/EventHandlerWx.cpp:
8602 * platform/PopupMenu.h:
8603 * platform/ScrollBar.cpp: Removed.
8604 * platform/ScrollBar.h: Removed.
8605 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
8606 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
8607 * platform/gtk/ScrollbarGtk.cpp:
8608 (ScrollbarGtk::ScrollbarGtk):
8609 * platform/gtk/ScrollbarGtk.h:
8610 * platform/mac/ScrollbarMac.h:
8611 * platform/qt/ScrollViewQt.cpp:
8612 * platform/qt/ScrollbarQt.cpp:
8613 * platform/qt/ScrollbarThemeQt.cpp:
8614 * platform/win/PlatformScrollBar.h:
8615 * platform/win/PopupMenuWin.cpp:
8616 * platform/win/ScrollViewWin.cpp:
8617 * platform/win/ScrollbarThemeWin.cpp:
8618 * platform/wx/ScrollViewWx.cpp:
8619 * platform/wx/TemporaryLinkStubs.cpp:
8620 * rendering/HitTestResult.cpp:
8621 * rendering/RenderLayer.cpp:
8622 * rendering/RenderTextControl.cpp:
8623
hyatt@apple.com7597c172008-09-17 02:15:08 +000086242008-09-16 David Hyatt <hyatt@apple.com>
8625
hyatt@apple.comfde412d2008-09-17 03:49:48 +00008626 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
8627 it can be called from ScrollbarQt.
8628
8629 * platform/ScrollBar.cpp:
8630 (WebCore::Scrollbar::moveThumb):
8631 (WebCore::Scrollbar::handleMouseMoveEvent):
8632 (WebCore::Scrollbar::handleMousePressEvent):
8633 * platform/ScrollBar.h:
8634 * platform/qt/ScrollViewQt.cpp:
8635 * platform/qt/ScrollbarQt.cpp:
8636 (WebCore::Scrollbar::handleContextMenuEvent):
8637
86382008-09-16 David Hyatt <hyatt@apple.com>
8639
hyatt@apple.com4e3b8602008-09-17 03:17:11 +00008640 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
8641 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
8642 now just use Scrollbar.
8643
8644 Reviewed by Sam Weinig
8645
8646 * GNUmakefile.am:
8647 * WebCore.pro:
8648 * WebCore.vcproj/WebCore.vcproj:
8649 * WebCore.xcodeproj/project.pbxproj:
8650 * page/mac/FrameMac.mm:
8651 * platform/PopupMenu.h:
8652 (WebCore::PopupMenu::scrollbar):
8653 * platform/ScrollBar.cpp:
8654 (WebCore::createNativeScrollbar):
8655 * platform/ScrollBar.h:
8656 * platform/gtk/PlatformScrollBar.h: Removed.
8657 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
8658 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
8659 (gtkScrollEventCallback):
8660 (ScrollbarGtk::ScrollbarGtk):
8661 (ScrollbarGtk::~ScrollbarGtk):
8662 (ScrollbarGtk::updateThumbPosition):
8663 (ScrollbarGtk::updateThumbProportion):
8664 (ScrollbarGtk::setFrameGeometry):
8665 (ScrollbarGtk::geometryChanged):
8666 (ScrollbarGtk::gtkValueChanged):
8667 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
8668 * platform/mac/PlatformScrollBar.h: Removed.
8669 * platform/mac/PlatformScrollBarMac.mm: Removed.
8670 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
8671 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
8672 (-[WebCoreScrollBar initWithScrollbarMac:]):
8673 (-[WebCoreScrollBar detachScrollbarMac]):
8674 (WebCore::Scrollbar::createNativeScrollbar):
8675 (WebCore::ScrollbarMac::ScrollbarMac):
8676 (WebCore::ScrollbarMac::~ScrollbarMac):
8677 (WebCore::ScrollbarMac::updateThumbPosition):
8678 (WebCore::ScrollbarMac::updateThumbProportion):
8679 (WebCore::ScrollbarMac::scrollbarHit):
8680 * platform/qt/PlatformScrollBar.h: Removed.
8681 * platform/qt/PlatformScrollBarQt.cpp: Removed.
8682 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
8683 (WebCore::Scrollbar::handleContextMenuEvent):
8684 * rendering/HitTestResult.cpp:
8685 * rendering/RenderLayer.cpp:
8686 (WebCore::RenderLayer::createScrollbar):
8687 (WebCore::RenderLayer::destroyScrollbar):
8688 * rendering/RenderLayer.h:
8689 * rendering/RenderListBox.cpp:
8690 (WebCore::RenderListBox::~RenderListBox):
8691 (WebCore::RenderListBox::updateFromElement):
8692 (WebCore::RenderListBox::isPointInOverflowControl):
8693 * rendering/RenderObject.h:
8694 * rendering/RenderTextControl.cpp:
8695
86962008-09-16 David Hyatt <hyatt@apple.com>
8697
hyatt@apple.com7597c172008-09-17 02:15:08 +00008698 Make the scrollbar resizer-dodging logic cross-platform in the
8699 Scrollbar class.
8700
8701 Reviewed by Sam Weinig
8702
8703 * platform/ScrollBar.cpp:
8704 (WebCore::Scrollbar::setFrameGeometry):
8705 (WebCore::Scrollbar::setParent):
8706 (WebCore::Scrollbar::windowClipRect):
8707 * platform/ScrollBar.h:
8708 * platform/ScrollView.h:
8709 (WebCore::ScrollView::windowResizerRect):
8710 (WebCore::ScrollView::resizerOverlapsContent):
8711 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
8712 * platform/Widget.h:
8713 (WebCore::Widget::setParent):
8714 * platform/mac/WidgetMac.mm:
8715 (WebCore::Widget::convertToContainingWindow):
8716 * platform/win/PlatformScrollBar.h:
8717 * platform/win/PlatformScrollBarWin.cpp:
8718
mitz@apple.com6d925202008-09-16 17:34:10 +000087192008-09-16 Dan Bernstein <mitz@apple.com>
8720
mitz@apple.comd9462a52008-09-16 17:40:20 +00008721 Reviewed by Darin Adler.
8722
8723 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
8724 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
8725
8726 Covered by fast/repaint/4776765.html
8727
8728 * rendering/RenderBlock.cpp:
8729 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
8730 did not have layout in the beginning.
8731 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
8732 layout in the beginning, repaint it in its new position, to compensate
8733 for the above (regardless of whether it "moved").
8734 * rendering/RenderObject.cpp:
8735 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
8736 about generalizing this fix in the future.
8737
87382008-09-16 Dan Bernstein <mitz@apple.com>
8739
mitz@apple.com6d925202008-09-16 17:34:10 +00008740 Reviewed by Dave Hyatt.
8741
8742 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
8743 Div does not notice when grandparent changes height
8744
8745 Test: fast/block/basic/quirk-percent-height-grandchild.html
8746
8747 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
8748 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
8749
8750 Test: fast/replaced/percent-height-in-anonymous-block.html
8751
8752 Added a two-way mapping between boxes with percentage heights and
8753 their non-parent ancestors up to the one the height is computed relative
8754 to. In quirks mode (the first bug), this can be any number of containing
8755 block with auto height. In strict mode (the second bug) this can be
8756 the containing block of an anonymous block containing a replaced
8757 element.
8758
8759 * rendering/RenderBlock.cpp:
8760 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
8761 mapping to/from this block to percentage-height descendants.
8762 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
8763 percentage-height descendants (and their containing block ancestry chain
8764 up to this block) for layout. This ensures that those descendants whose
8765 height depends on the height of this block (or an ancestor) are updated.
8766 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
8767 a two-way mapping between this block and the given box.
8768 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
8769 all the mapping to/from this box.
8770 * rendering/RenderBlock.h:
8771 * rendering/RenderBox.cpp:
8772 (WebCore::RenderBox::setStyle): Added calls to
8773 removePercentHeightDescendant() when style changes and the box
8774 previously had a percentage height. An exception is when the style
8775 change does not require layout, in which case the box still has
8776 a percentage height and the mappings are valid. In all other cases,
8777 any required mappings will be (re-)established during layout.
8778 (WebCore::RenderBox::destroy): Added a call to
8779 removePercentHeightDescendant.
8780 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
8781 mode, if a higher-than-parent containing block is affecting the box's
8782 height, creates a mapping between the box and that block.
8783 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
8784 anonymous containing blocks, if any, and when that happens, use
8785 addPercentHeightDescendant() to ensure that the non-anonymous block
8786 is aware of the dependent percent-height box.
8787
alp@webkit.org1dbd9a92008-09-16 16:59:18 +000087882008-09-16 Dirk Schulze <vbs85@gmx.de>
8789
8790 Reviewed by Oliver Hunt and Alp Toker.
8791
8792 Implemented toDataURL in Cairo. Only PNG support
8793 at the moment.
8794
8795 Qt, Cairo and wx require toDataURL implementations
8796 https://bugs.webkit.org/show_bug.cgi?id=17719
8797
8798 * platform/MIMETypeRegistry.cpp:
8799 (WebCore::initializeSupportedImageMIMETypesForEncoding):
8800 * platform/graphics/cairo/ImageBufferCairo.cpp:
8801 (WebCore::ImageBuffer::ImageBuffer):
8802 (WebCore::writeFunction):
8803 (WebCore::ImageBuffer::toDataURL):
8804
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +000088052008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
8806
8807 Reviewed by Simon.
8808
8809 Hide unused media element controls in the QtWebKit port
8810
8811 * platform/qt/html4-adjustments-qt.css
8812
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +000088132008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
8814
8815 Reviewed by Simon.
8816
8817 Fix compilation of the Qt scrollbar code.
8818
8819 * platform/qt/PlatformScrollBarQt.cpp:
8820 (WebCore::scPart):
8821 (WebCore::styleOptionSlider):
8822 (WebCore::thumbLength):
8823 (WebCore::pixelPosToRangeValue):
8824 (WebCore::PlatformScrollbar::handleContextMenuEvent):
8825
treat@webkit.orga35f6b62008-09-16 14:15:29 +000088262008-09-16 Adam Treat <treat@kde.org>
8827
8828 Reviewed by Anders Carlsson.
8829
8830 Prevent accesses off of the end of the buffer introduced in r36450
8831 and when checking for descriptions of mime. Also, coding style fix.
8832
8833 * plugins/qt/PluginPackageQt.cpp:
8834 (WebCore::PluginPackage::fetchInfo):
8835
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +000088362008-09-15 Rob Buis <buis@kde.org>
8837
8838 Reviewed by Eric.
8839
8840 https://bugs.webkit.org/show_bug.cgi?id=20634
8841 SVG transform attribute is ignored by <use> in <clipPath>
8842
8843 Transform the paths with the local transform when part
8844 of a clip path.
8845
8846 Test: svg/custom/use-clipped-transform.svg
8847
8848 * svg/SVGClipPathElement.cpp:
8849 (WebCore::SVGClipPathElement::canvasResource):
8850 * svg/SVGStyledTransformableElement.cpp:
8851 (WebCore::SVGStyledTransformableElement::toClipPath):
8852 * svg/SVGStyledTransformableElement.h:
8853
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +000088542008-09-15 Dave Hyatt <hyatt@apple.com>
8855
8856 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
8857 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
8858
8859 Reviewed by Sam Weinig
8860
8861 * platform/ScrollBar.cpp:
8862 (WebCore::thumbUnderMouse):
8863 (WebCore::Scrollbar::autoscrollPressedPart):
8864 (WebCore::Scrollbar::startTimerIfNeeded):
8865 (WebCore::moveThumb):
8866 (WebCore::Scrollbar::handleMouseMoveEvent):
8867 (WebCore::Scrollbar::handleMousePressEvent):
8868 * platform/ScrollBar.h:
8869 (WebCore::Scrollbar::pressedPos):
8870 (WebCore::Scrollbar::pixelStep):
8871 (WebCore::Scrollbar::setPressedPos):
8872 * platform/ScrollbarTheme.h:
8873 (WebCore::ScrollbarTheme::thumbPosition):
8874 (WebCore::ScrollbarTheme::thumbLength):
8875 (WebCore::ScrollbarTheme::trackPosition):
8876 (WebCore::ScrollbarTheme::trackLength):
8877 * platform/ScrollbarThemeComposite.cpp:
8878 (WebCore::ScrollbarThemeComposite::trackPosition):
8879 * platform/ScrollbarThemeComposite.h:
8880 * platform/qt/PlatformScrollBarQt.cpp:
8881 (WebCore::PlatformScrollbar::PlatformScrollbar):
8882 (WebCore::):
8883 * platform/qt/ScrollbarThemeQt.cpp:
8884 (WebCore::styleOptionSlider):
8885 (WebCore::ScrollbarThemeQt::hitTest):
8886 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
8887 (WebCore::ScrollbarThemeQt::invalidatePart):
8888 (WebCore::ScrollbarThemeQt::thumbPosition):
8889 (WebCore::):
8890 * platform/qt/ScrollbarThemeQt.h:
8891 * platform/win/ScrollbarThemeSafari.cpp:
8892 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
8893 * platform/win/ScrollbarThemeSafari.h:
8894 * platform/win/ScrollbarThemeWin.cpp:
8895 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
8896 * platform/win/ScrollbarThemeWin.h:
8897
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +000088982008-09-15 David Smith <catfish.man@gmail.com>
8899
8900 Reviewed by Sam Weinig.
8901
8902 https://bugs.webkit.org/show_bug.cgi?id=20180
8903
8904 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
8905
8906 * GNUmakefile.am: Add CSSNthSelector
8907 * WebCore.pro: Add CSSNthSelector
8908 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
8909 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
8910 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
8911 * css/CSSNthSelector.cpp: Added.
8912 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
8913 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
8914 * css/CSSNthSelector.h: Added.
8915 (WebCore::CSSNthSelector::CSSNthSelector):
8916 (WebCore::CSSNthSelector::~CSSNthSelector):
8917 * css/CSSParser.cpp:
8918 (WebCore::CSSParser::createFloatingNthSelector):
8919 * css/CSSParser.h:
8920 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
8921 (WebCore::CSSSelector::CSSSelector):
8922 * css/CSSStyleSelector.cpp:
8923 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
8924
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +000089252008-09-15 Matt Lilek <webkit@mattlilek.com>
8926
8927 Reviewed by Tim Hatcher.
8928
8929 Clean up some inspector JS callbacks to remove an extra return.
8930
8931 * page/InspectorController.cpp:
8932 (WebCore::hideDOMNodeHighlight):
8933 (WebCore::loaded):
8934 (WebCore::unloading):
8935 (WebCore::attach):
8936 (WebCore::detach):
8937 (WebCore::startDebuggingAndReloadInspectedPage):
8938 (WebCore::stopDebugging):
8939 (WebCore::debuggerAttached):
8940 (WebCore::pauseOnExceptions):
8941 (WebCore::pauseInDebugger):
8942 (WebCore::resumeDebugger):
8943 (WebCore::stepOverStatementInDebugger):
8944 (WebCore::stepIntoStatementInDebugger):
8945 (WebCore::stepOutOfFunctionInDebugger):
8946 (WebCore::isWindowVisible):
8947 (WebCore::closeWindow):
8948
hyatt@apple.com8e809932008-09-16 02:29:09 +000089492008-09-15 Dave Hyatt <hyatt@apple.com>
8950
8951 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
8952 now share most of their code.
8953
8954 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
8955 also is never used in our code anyway.
8956
8957 Reviewed by Sam Weinig
8958
8959 * WebCore.vcproj/WebCore.vcproj:
8960 * platform/ScrollTypes.h:
8961 (WebCore::):
8962 * platform/ScrollbarThemeComposite.cpp:
8963 (WebCore::ScrollbarThemeComposite::splitTrack):
8964 (WebCore::ScrollbarThemeComposite::thumbLength):
8965 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
8966 * platform/ScrollbarThemeComposite.h:
8967 * platform/mac/PlatformScrollBarMac.mm:
8968 (NSControlSizeForScrollBarControlSize):
8969 * platform/win/PlatformScrollBar.h:
8970 * platform/win/PlatformScrollBarSafari.cpp: Removed.
8971 * platform/win/PlatformScrollBarWin.cpp:
8972 (WebCore::PlatformScrollbar::PlatformScrollbar):
8973 * platform/win/ScrollbarThemeSafari.cpp:
8974 (WebCore::ScrollbarTheme::nativeTheme):
8975 (WebCore::):
8976 (WebCore::scrollbarControlStateFromThemeState):
8977 (WebCore::ScrollbarThemeSafari::hasButtons):
8978 (WebCore::ScrollbarThemeSafari::hasThumb):
8979 (WebCore::buttonRepaintRect):
8980 (WebCore::ScrollbarThemeSafari::backButtonRect):
8981 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
8982 (WebCore::trackRepaintRect):
8983 (WebCore::ScrollbarThemeSafari::trackRect):
8984 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
8985 (WebCore::ScrollbarThemeSafari::paintTrack):
8986 (WebCore::ScrollbarThemeSafari::paintButton):
8987 (WebCore::ScrollbarThemeSafari::paintThumb):
8988 * platform/win/ScrollbarThemeSafari.h:
8989 * platform/win/ScrollbarThemeWin.cpp:
8990 * platform/win/ScrollbarThemeWin.h:
8991
cfleizach@apple.com0ce07032008-09-16 00:17:58 +000089922008-09-15 Chris Fleizach <cfleizach@apple.com>
8993
8994 Reviewed by Darin Adler, Beth Dakin
8995
8996 <rdar://problem/4003789> Expose lists as AXList
8997 <rdar://problem/5707399> VO: Definition lists not announced in Safari
8998
8999 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
9000 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
9001 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
9002 as does each <dd> tag ("definition")
9003
9004 Test: accessibility/lists.html
9005
9006 * GNUmakefile.am:
9007 * WebCore.pro:
9008 * WebCore.vcproj/WebCore.vcproj:
9009 * WebCore.xcodeproj/project.pbxproj:
9010 * WebCoreSources.bkl:
9011 * page/AXObjectCache.cpp:
9012 * page/AccessibilityList.cpp: Added.
9013 * page/AccessibilityList.h: Added.
9014 * page/AccessibilityObject.h:
9015 * page/AccessibilityRenderObject.cpp:
9016 * page/AccessibilityTable.cpp:
9017 * page/mac/AccessibilityObjectWrapper.mm:
9018 * page/mac/WebCoreViewFactory.h:
9019 * platform/LocalizedStrings.h:
9020 * platform/mac/LocalizedStringsMac.mm:
9021 * platform/qt/Localizations.cpp:
9022
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +000090232008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
9024
9025 Reviewed by Eric.
9026
9027 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
9028 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
9029
9030 Several renames:
9031 dispatchHTMLEvent -> dispatchEventForType
9032 setHTMLEventListener -> setEventListenerForType
9033 getHTMLEventListener -> eventListenerForType
9034 removeHTMLEventListener -> removeEventListenerForType
9035 isHTMLEventListener -> isAttachedToEventTargetNode
9036 ...
9037
9038 Similar renames for the dispatch/get/set/*Window*Event functions.
9039 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
9040
9041 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
9042 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
9043
9044 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
9045 SVG is able to use the code as well now. This affects most files in html/.
9046
9047 No functional changes.
9048
9049 * GNUmakefile.am:
9050 * WebCore.pro:
9051 * WebCore.vcproj/WebCore.vcproj:
9052 * WebCore.xcodeproj/project.pbxproj:
9053 * bindings/js/JSDOMWindowBase.cpp:
9054 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
9055 (WebCore::JSDOMWindowBase::setListener):
9056 (WebCore::JSDOMWindowBase::getListener):
9057 (WebCore::JSDOMWindowBase::findJSEventListener):
9058 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
9059 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
9060 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
9061 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
9062 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
9063 * bindings/js/JSDOMWindowBase.h:
9064 * bindings/js/JSEventListener.cpp:
9065 (WebCore::JSAbstractEventListener::handleEvent):
9066 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
9067 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
9068 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
9069 (WebCore::JSEventListener::JSEventListener):
9070 (WebCore::JSEventListener::~JSEventListener):
9071 (WebCore::JSLazyEventListener::JSLazyEventListener):
9072 (WebCore::eventParameterName):
9073 (WebCore::JSLazyEventListener::parseCode):
9074 (WebCore::getNodeEventListener):
9075 * bindings/js/JSEventListener.h:
9076 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
9077 (WebCore::JSUnprotectedEventListener::create):
9078 (WebCore::JSEventListener::create):
9079 (WebCore::JSLazyEventListener::):
9080 (WebCore::JSLazyEventListener::create):
9081 * bindings/js/JSEventTargetNode.cpp:
9082 (WebCore::JSEventTargetNode::setListener):
9083 (WebCore::JSEventTargetNode::getListener):
9084 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
9085 * bindings/js/JSSVGLazyEventListener.h: Removed.
9086 * bindings/js/ScriptController.cpp:
9087 (WebCore::ScriptController::createHTMLEventHandler):
9088 (WebCore::ScriptController::createSVGEventHandler):
9089 * dom/Document.cpp:
9090 (WebCore::Document::setFocusedNode):
9091 (WebCore::Document::handleWindowEvent):
9092 (WebCore::Document::setWindowEventListenerForType):
9093 (WebCore::Document::windowEventListenerForType):
9094 (WebCore::Document::removeWindowEventListenerForType):
9095 (WebCore::Document::addWindowEventListener):
9096 (WebCore::Document::hasWindowEventListener):
9097 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
9098 (WebCore::Document::createEventListener):
9099 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
9100 * dom/Document.h:
9101 * dom/EventListener.h:
9102 (WebCore::EventListener::isAttachedToEventTargetNode):
9103 * dom/EventTargetNode.cpp:
9104 (WebCore::EventTargetNode::dispatchFocusEvent):
9105 (WebCore::EventTargetNode::dispatchBlurEvent):
9106 (WebCore::EventTargetNode::dispatchEventForType):
9107 (WebCore::EventTargetNode::removeEventListenerForType):
9108 (WebCore::EventTargetNode::setEventListenerForType):
9109 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
9110 (WebCore::EventTargetNode::eventListenerForType):
9111 * dom/EventTargetNode.h:
9112 * dom/XMLTokenizer.cpp:
9113 (WebCore::XMLTokenizer::notifyFinished):
9114 * editing/ReplaceSelectionCommand.cpp:
9115 (WebCore::ReplacementFragment::ReplacementFragment):
9116 * html/HTMLBodyElement.cpp:
9117 (WebCore::HTMLBodyElement::parseMappedAttribute):
9118 * html/HTMLButtonElement.cpp:
9119 (WebCore::HTMLButtonElement::parseMappedAttribute):
9120 * html/HTMLElement.cpp:
9121 (WebCore::HTMLElement::parseMappedAttribute):
9122 (WebCore::HTMLElement::checkDTD):
9123 * html/HTMLElement.h:
9124 * html/HTMLFormControlElement.cpp:
9125 (WebCore::HTMLFormControlElement::onChange):
9126 * html/HTMLFormElement.cpp:
9127 (WebCore::HTMLFormElement::prepareSubmit):
9128 (WebCore::HTMLFormElement::reset):
9129 (WebCore::HTMLFormElement::parseMappedAttribute):
9130 * html/HTMLFrameElementBase.cpp:
9131 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
9132 * html/HTMLFrameSetElement.cpp:
9133 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
9134 * html/HTMLImageElement.cpp:
9135 (WebCore::HTMLImageElement::parseMappedAttribute):
9136 * html/HTMLImageLoader.cpp:
9137 (WebCore::HTMLImageLoader::dispatchLoadEvent):
9138 * html/HTMLInputElement.cpp:
9139 (WebCore::HTMLInputElement::parseMappedAttribute):
9140 (WebCore::HTMLInputElement::setValueFromRenderer):
9141 (WebCore::HTMLInputElement::onSearch):
9142 * html/HTMLMediaElement.cpp:
9143 (WebCore::HTMLMediaElement::asyncEventTimerFired):
9144 (WebCore::HTMLMediaElement::load):
9145 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
9146 (WebCore::HTMLMediaElement::setReadyState):
9147 (WebCore::HTMLMediaElement::seek):
9148 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
9149 (WebCore::HTMLMediaElement::willSaveToCache):
9150 * html/HTMLObjectElement.cpp:
9151 (WebCore::HTMLObjectElement::parseMappedAttribute):
9152 * html/HTMLScriptElement.cpp:
9153 (WebCore::HTMLScriptElement::parseMappedAttribute):
9154 (WebCore::HTMLScriptElement::dispatchLoadEvent):
9155 (WebCore::HTMLScriptElement::dispatchErrorEvent):
9156 * html/HTMLSelectElement.cpp:
9157 (WebCore::HTMLSelectElement::parseMappedAttribute):
9158 * html/HTMLTextAreaElement.cpp:
9159 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
9160 * html/HTMLTokenizer.cpp:
9161 (WebCore::HTMLTokenizer::notifyFinished):
9162 * page/AccessibilityRenderObject.cpp:
9163 (WebCore::AccessibilityRenderObject::mouseButtonListener):
9164 * page/EventHandler.cpp:
9165 (WebCore::EventHandler::canMouseDownStartSelect):
9166 (WebCore::EventHandler::canMouseDragExtendSelect):
9167 * page/Frame.cpp:
9168 (WebCore::Frame::sendScrollEvent):
9169 * page/Page.cpp:
9170 (WebCore::networkStateChanged):
9171 * rendering/RenderListBox.cpp:
9172 (WebCore::RenderListBox::valueChanged):
9173 * rendering/RenderTextControl.cpp:
9174 (WebCore::RenderTextControl::selectionChanged):
9175 * svg/SVGDocumentExtensions.cpp:
9176 * svg/SVGDocumentExtensions.h:
9177 * svg/SVGElement.cpp:
9178 (WebCore::SVGElement::parseMappedAttribute):
9179 (WebCore::SVGElement::finishParsingChildren):
9180 * svg/SVGElement.h:
9181 * svg/SVGSVGElement.cpp:
9182 (WebCore::SVGSVGElement::parseMappedAttribute):
9183 * svg/SVGSVGElement.h:
9184
hyatt@apple.com63739ce2008-09-15 23:44:10 +000091852008-09-15 Dave Hyatt <hyatt@apple.com>
9186
9187 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
9188 need to be converted.
9189
9190 Reviewed by Sam Weinig
9191
9192 * platform/ScrollBar.cpp:
9193 (WebCore::Scrollbar::Scrollbar):
9194 (WebCore::Scrollbar::updateThumbPosition):
9195 (WebCore::Scrollbar::updateThumbProportion):
9196 (WebCore::Scrollbar::autoscrollPressedPart):
9197 (WebCore::Scrollbar::startTimerIfNeeded):
9198 * platform/ScrollBar.h:
9199 * platform/ScrollbarTheme.h:
9200 (WebCore::ScrollbarTheme::invalidateParts):
9201 * platform/ScrollbarThemeComposite.cpp:
9202 (WebCore::ScrollbarThemeComposite::hitTest):
9203 (WebCore::ScrollbarThemeComposite::invalidatePart):
9204 (WebCore::ScrollbarThemeComposite::thumbPosition):
9205 (WebCore::ScrollbarThemeComposite::thumbLength):
9206 (WebCore::ScrollbarThemeComposite::trackLength):
9207 * platform/ScrollbarThemeComposite.h:
9208 * platform/win/PlatformScrollBarSafari.cpp:
9209 (WebCore::PlatformScrollbar::PlatformScrollbar):
9210 * platform/win/PlatformScrollBarWin.cpp:
9211 (WebCore::PlatformScrollbar::PlatformScrollbar):
9212
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +000092132008-09-15 David Smith <catfish.man@gmail.com>
9214
9215 "Just do it"'d by Mark Rowe
9216
9217 https://bugs.webkit.org/show_bug.cgi?id=20856
9218 Add missing license header
9219
9220 * dom/NodeRenderStyle.h:
9221
dino@apple.combf52b682008-09-15 21:31:43 +000092222008-09-15 Dean Jackson <dino@apple.com>
9223
9224 Reviewed by Tim Hatcher.
9225
dino@apple.com3db0b8f2008-09-15 21:52:23 +00009226 Add default constructor for ShadowData
9227 https://bugs.webkit.org/show_bug.cgi?id=20757
9228
9229 Test: transitions/shadow.html
9230
9231 * rendering/style/RenderStyle.h:
9232
92332008-09-15 Dean Jackson <dino@apple.com>
9234
9235 Reviewed by Tim Hatcher.
9236
dino@apple.com03abdce2008-09-15 21:40:52 +00009237 RenderStyle should update keyframes.
9238 http://bugs.webkit.org/show_bug.cgi?id=20756
9239
9240 * rendering/style/RenderStyle.cpp:
9241 (WebCore::StyleRareNonInheritedData::updateKeyframes):
9242
92432008-09-15 Dean Jackson <dino@apple.com>
9244
9245 Reviewed by Tim Hatcher.
9246
dino@apple.combf52b682008-09-15 21:31:43 +00009247 Unnecessary ASSERT in ImplicitAnimation destructor.
9248 https://bugs.webkit.org/show_bug.cgi?id=20817
9249
9250 * page/animation/ImplicitAnimation.cpp:
9251 (WebCore::ImplicitAnimation::~ImplicitAnimation):
9252
treat@webkit.org7e5abc22008-09-15 20:53:49 +000092532008-09-15 Adam Treat <treat@kde.org>
9254
9255 Reviewed by Simon.
9256
9257 Fix plugin extension info. It was returning the mimetype where the
9258 extension was given.
9259
9260 * plugins/qt/PluginPackageQt.cpp:
9261 (WebCore::PluginPackage::fetchInfo):
9262
dino@apple.comecc18dc2008-09-15 20:40:28 +000092632008-09-15 Dean Jackson <dino@apple.com>
9264
9265 Reviewed by Tim Hatcher
9266
9267 Coding style violation!!!! Cleanup AnimationBase.cpp
9268
9269 * page/animation/AnimationBase.cpp:
9270 (WebCore::blendFunc):
9271
hyatt@apple.comf4a9d932008-09-15 20:03:25 +000092722008-09-15 David Hyatt <hyatt@apple.com>
9273
9274 Move all hit testing code for scrollbars into the base class. Refactor
9275 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
9276 functions.
9277
9278 No platform is using this code yet. Although it has been moved and compiles
9279 (even on Mac), it is not being used on any platform.
9280
9281 Reviewed by Sam Weinig
9282
9283 * platform/ScrollBar.cpp:
9284 (WebCore::Scrollbar::autoscrollPressedPart):
9285 (WebCore::Scrollbar::startTimerIfNeeded):
9286 (WebCore::Scrollbar::handleMouseMoveEvent):
9287 (WebCore::Scrollbar::handleMouseOutEvent):
9288 (WebCore::Scrollbar::handleMouseReleaseEvent):
9289 (WebCore::Scrollbar::handleMousePressEvent):
9290 * platform/ScrollBar.h:
9291 (WebCore::Scrollbar::handleContextMenuEvent):
9292 * platform/ScrollbarTheme.h:
9293 (WebCore::ScrollbarTheme::hitTest):
9294 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
9295 (WebCore::ScrollbarTheme::invalidatePart):
9296 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
9297 (WebCore::ScrollbarTheme::centerOnThumb):
9298 (WebCore::ScrollbarTheme::thumbPosition):
9299 (WebCore::ScrollbarTheme::thumbLength):
9300 (WebCore::ScrollbarTheme::trackLength):
9301 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
9302 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
9303 * platform/Widget.h:
9304 (WebCore::Widget::parent):
9305 * platform/mac/PlatformScrollBar.h:
9306 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
9307 (WebCore::PlatformScrollbar::handleMouseOutEvent):
9308 (WebCore::PlatformScrollbar::handleMousePressEvent):
9309 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
9310 * platform/mac/WidgetMac.mm:
9311 (WebCore::Widget::convertFromContainingWindow):
9312 * platform/win/ScrollbarThemeWin.cpp:
9313 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
9314 * platform/win/ScrollbarThemeWin.h:
9315
mitz@apple.comd17dc392008-09-15 18:48:20 +000093162008-09-15 Dan Bernstein <mitz@apple.com>
9317
9318 Reviewed by Sam Weinig.
9319
9320 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
9321
9322 Cache the next breakable position for text nodes in InlineIterator.
9323
9324 * rendering/bidi.cpp:
9325 (WebCore::InlineIterator::InlineIterator):
9326 (WebCore::InlineIterator::increment):
9327 (WebCore::RenderBlock::findNextLineBreak):
9328
simon.fraser@apple.comda604642008-09-15 17:10:48 +000093292008-09-15 Simon Fraser <simon.fraser@apple.com>
9330
9331 Reviewed by Dan Bernstein
9332
9333 Fix assertion and integral pixel issue when creating subimages.
9334 https://bugs.webkit.org/show_bug.cgi?id=20786
9335
9336 * platform/graphics/cg/ImageCG.cpp:
9337 (WebCore::BitmapImage::draw):
9338
vestbo@webkit.orge7eda302008-09-15 12:43:37 +000093392008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
9340
9341 Reviewed by Simon.
9342
9343 Implment seek() and clean up and improve debugging output
9344
9345 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
9346 (debugMediaObject):
9347 (WebCore::MediaPlayerPrivate::seek):
9348 (WebCore::MediaPlayerPrivate::setVolume):
9349 (WebCore::MediaPlayerPrivate::setMuted):
9350 (WebCore::MediaPlayerPrivate::updateStates):
9351 (WebCore::MediaPlayerPrivate::naturalSize):
9352 (WebCore::MediaPlayerPrivate::paint):
9353 (WebCore::MediaPlayerPrivate::stateChanged):
9354 (WebCore::MediaPlayerPrivate::tick):
9355
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +000093562008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
9357
9358 Reviewed by Simon.
9359
9360 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
9361
9362 m_mediaObject, m_audioOutput, m_videoWidget get created in the
9363 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
9364 only check if we use the MediaPlayerPrivate after it has been deleted.
9365
9366 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
9367
9368 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
9369 (WebCore::MediaPlayerPrivate::play):
9370 (WebCore::MediaPlayerPrivate::setVolume):
9371 (WebCore::MediaPlayerPrivate::updateStates):
9372
andersca@apple.com18d62682008-09-15 11:35:22 +000093732008-09-15 Anders Carlsson <andersca@apple.com>
9374
9375 Reviewed by Maciej.
9376
9377 <rdar://problem/6163988>
9378 https://bugs.webkit.org/show_bug.cgi?id=20457
9379 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
9380
9381 Check the width and height and throw an exception if any of them are 0.
9382
9383 * html/CanvasRenderingContext2D.cpp:
9384 (WebCore::CanvasRenderingContext2D::createPattern):
9385
vestbo@webkit.org3a27e182008-09-15 11:28:59 +000093862008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
9387
9388 Reviewed by Simon.
9389
9390 Render media element controls with antialiasing enabled
9391
9392 * platform/qt/RenderThemeQt.cpp:
9393 (WebCore::RenderThemeQt::paintMediaMuteButton):
9394 (WebCore::RenderThemeQt::paintMediaPlayButton):
9395 (WebCore::RenderThemeQt::paintMediaSliderTrack):
9396 (WebCore::RenderThemeQt::paintMediaSliderThumb):
9397
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +000093982008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
9399
9400 Reviewed by Simon.
9401
9402 Upon non fatal error, switch to the pause state (so that playback can continue)
9403
9404 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
9405 (WebCore::MediaPlayerPrivate::updateStates):
9406
vestbo@webkit.org12a59572008-09-15 11:16:13 +000094072008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
9408
9409 Reviewed by Simon.
9410
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +00009411 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
9412
9413 * WebCore.pro:
9414
94152008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
9416
9417 Reviewed by Simon.
9418
vestbo@webkit.org12a59572008-09-15 11:16:13 +00009419 Make QtInstance::create() private and fix caching
9420
9421 * bindings/js/ScriptControllerQt.cpp:
9422 (WebCore::ScriptController::createScriptInstanceForWidget):
9423 * bridge/qt/qt_instance.cpp:
9424 (JSC::Bindings::QtInstance::getQtInstance):
9425 (JSC::Bindings::QtInstance::getRuntimeObject):
9426 * bridge/qt/qt_instance.h:
9427 (JSC::Bindings::QtInstance::create):
9428 * bridge/qt/qt_runtime.cpp:
9429 (JSC::Bindings::convertQVariantToValue):
9430 (JSC::Bindings::QtConnectionObject::execute):
9431
dsmith@webkit.orgaba15862008-09-15 08:45:35 +000094322008-09-15 David Smith <catfish.man@gmail.com>
9433
9434 Reviewed by Dave Hyatt.
9435
9436 https://bugs.webkit.org/show_bug.cgi?id=20180
9437
9438 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
9439 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
9440 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
9441
9442 * css/CSSStyleSelector.cpp:
9443 (WebCore::CSSStyleSelector::CSSStyleSelector):
9444 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
9445 * css/CSSStyleSelector.h:
9446
hyatt@apple.com065494e2008-09-15 06:33:40 +000094472008-09-14 Dave Hyatt <hyatt@apple.com>
9448
9449 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
9450 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
9451
9452 Reviewed by Sam Weinig
9453
9454 * platform/ScrollBar.h:
9455 (WebCore::Scrollbar::client):
9456 (WebCore::Scrollbar::currentPos):
9457 (WebCore::Scrollbar::totalSize):
9458 * platform/ScrollbarTheme.h:
9459 * platform/ScrollbarThemeComposite.cpp:
9460 (WebCore::pageForScrollView):
9461 (WebCore::ScrollbarThemeComposite::paint):
9462 * platform/ScrollbarThemeComposite.h:
9463 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
9464 * platform/win/PlatformScrollBar.h:
9465 * platform/win/PlatformScrollBarSafari.cpp:
9466 * platform/win/PlatformScrollBarWin.cpp:
9467 * platform/win/ScrollbarThemeSafari.h:
9468 (WebCore::ScrollbarThemeSafari::hasButtons):
9469 (WebCore::ScrollbarThemeSafari::hasThumb):
9470 (WebCore::ScrollbarThemeSafari::backButtonRect):
9471 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
9472 (WebCore::ScrollbarThemeSafari::trackRect):
9473 (WebCore::ScrollbarThemeSafari::splitTrack):
9474 (WebCore::ScrollbarThemeSafari::paintTrack):
9475 (WebCore::ScrollbarThemeSafari::paintButton):
9476 (WebCore::ScrollbarThemeSafari::paintThumb):
9477 * platform/win/ScrollbarThemeWin.cpp:
9478 (WebCore::isRunningOnVistaOrLater):
9479 (WebCore::checkAndInitScrollbarTheme):
9480 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
9481 (WebCore::ScrollbarThemeWin::themeChanged):
9482 (WebCore::ScrollbarThemeWin::hasThumb):
9483 (WebCore::ScrollbarThemeWin::backButtonRect):
9484 (WebCore::ScrollbarThemeWin::forwardButtonRect):
9485 (WebCore::ScrollbarThemeWin::trackRect):
9486 (WebCore::ScrollbarThemeWin::splitTrack):
9487 (WebCore::ScrollbarThemeWin::paintTrack):
9488 (WebCore::ScrollbarThemeWin::paintButton):
9489 (WebCore::gripperRect):
9490 (WebCore::paintGripper):
9491 (WebCore::ScrollbarThemeWin::paintThumb):
9492 (WebCore::ScrollbarThemeWin::thumbPosition):
9493 (WebCore::ScrollbarThemeWin::thumbLength):
9494 (WebCore::ScrollbarThemeWin::trackLength):
9495 * platform/win/ScrollbarThemeWin.h:
9496 (WebCore::ScrollbarThemeWin::hasButtons):
9497 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
9498
timothy@apple.comd91172c2008-09-15 05:38:00 +000094992008-09-14 Anthony Ricaud <rik24d@gmail.com>
9500
9501 Moving all resource graphs under the same container for future scalable feature.
9502 This is a speedup on resize but maybe a loss on changing the sorting function.
9503
9504 https://bugs.webkit.org/show_bug.cgi?id=20555
9505
9506 Reviewed by Timothy Hatcher.
9507
9508 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
9509 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
9510 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
9511
ap@webkit.orga14074b2008-09-15 04:52:44 +000095122008-09-14 Alexey Proskuryakov <ap@webkit.org>
9513
9514 Reviewed by Maciej Stachowiak.
9515
9516 https://bugs.webkit.org/show_bug.cgi?id=20738
9517 compareBoundaryPoints gives incorrect results
9518
9519 Test: fast/dom/Range/compareBoundaryPoints-2.html
9520
9521 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
9522 and END_TO_START.
9523 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
9524
mjs@apple.com285bdcf2008-09-15 02:55:16 +000095252008-09-14 Maciej Stachowiak <mjs@apple.com>
9526
9527 Unreviewed build fix.
9528
mjs@apple.comcbb31e52008-09-15 03:10:35 +00009529 Trying again.
9530
9531 * bindings/js/JSQuarantinedObjectWrapper.cpp:
9532 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
9533
95342008-09-14 Maciej Stachowiak <mjs@apple.com>
9535
9536 Unreviewed build fix.
9537
mjs@apple.com285bdcf2008-09-15 02:55:16 +00009538 Blind attempt to fix build. Correct parameters for hasInstance.
9539
9540 * bindings/js/JSQuarantinedObjectWrapper.cpp:
9541 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
9542 * bindings/js/JSQuarantinedObjectWrapper.h:
9543
mitz@apple.come85f7362008-09-15 02:23:24 +000095442008-09-14 Dan Bernstein <mitz@apple.com>
9545
9546 Rubber-stamped by Sam Weinig.
9547
9548 - revert <http://trac.webkit.org/changeset/36382> because it exposed
9549 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
9550 on Tiger.
9551
9552 * platform/graphics/mac/FontCacheMac.mm:
9553 (WebCore::FontCache::getFontDataForCharacters):
9554 (WebCore::FontCache::getLastResortFallbackFont):
9555
hyatt@apple.comf18feec2008-09-15 00:56:11 +000095562008-09-14 Dave Hyatt <hyatt@apple.com>
9557
9558 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
9559 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
9560 theme.
9561
9562 Reviewed by Sam Weinig
9563
9564 * WebCore.vcproj/WebCore.vcproj:
9565 * platform/win/ScrollbarThemeSafari.h:
9566 * platform/win/ScrollbarThemeWin.h:
9567
alp@webkit.orgd694e942008-09-15 00:20:15 +000095682008-09-14 Alp Toker <alp@nuanti.com>
9569
9570 https://bugs.webkit.org/show_bug.cgi?id=20320
9571 [GTK] A white rectangle is visible behind widgets with rounded corners
9572
9573 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
9574 style exempt).
9575
9576 Requested by Michael Monreal.
9577
9578 * platform/gtk/RenderThemeGtk.cpp:
9579 (WebCore::RenderThemeGtk::RenderThemeGtk):
9580 * platform/gtk/gtk2drawing.c:
9581 (moz_gtk_set_widget_name):
9582 (ensure_window_widget):
9583 (setup_widget_prototype):
9584 (ensure_button_arrow_widget):
9585 (moz_gtk_get_combo_box_inner_button):
9586 (moz_gtk_get_combo_box_button_inner_widgets):
9587 (ensure_combo_box_widgets):
9588 (moz_gtk_get_combo_box_entry_inner_widgets):
9589 (moz_gtk_get_combo_box_entry_arrow):
9590 (ensure_combo_box_entry_widgets):
9591 (ensure_toolbar_widget):
9592 (ensure_tooltip_widget):
9593 (ensure_menu_bar_widget):
9594 (ensure_menu_bar_item_widget):
9595 (ensure_menu_popup_widget):
9596 (ensure_menu_item_widget):
9597 (ensure_image_menu_item_widget):
9598 (ensure_menu_separator_widget):
9599 (ensure_check_menu_item_widget):
9600 (ensure_tree_header_cell_widget):
9601 (ensure_scrolled_window_widget):
9602 (moz_gtk_button_paint):
9603 (moz_gtk_init):
9604 (moz_gtk_button_get_inner_border):
9605 (moz_gtk_toggle_paint):
9606 (calculate_button_inner_rect):
9607 (calculate_arrow_rect):
9608 (moz_gtk_scrollbar_button_paint):
9609 (moz_gtk_scrollbar_thumb_paint):
9610 (moz_gtk_caret_paint):
9611 (moz_gtk_entry_paint):
9612 (moz_gtk_treeview_paint):
9613 (moz_gtk_tree_header_cell_paint):
9614 (moz_gtk_combo_box_paint):
9615 (moz_gtk_downarrow_paint):
9616 (moz_gtk_combo_box_entry_button_paint):
9617 (moz_gtk_toolbar_paint):
9618 (moz_gtk_tab_scroll_arrow_paint):
9619 (moz_gtk_menu_bar_paint):
9620 (moz_gtk_menu_item_paint):
9621 (moz_gtk_get_widget_border):
9622 (moz_gtk_get_combo_box_entry_button_size):
9623 (moz_gtk_get_tab_scroll_arrow_size):
9624 (moz_gtk_get_downarrow_size):
9625 (moz_gtk_images_in_menus):
9626 (moz_gtk_widget_paint):
9627 (moz_gtk_shutdown):
9628 * platform/gtk/gtkdrawing.h:
9629
hyatt@apple.com3ab48302008-09-14 23:55:16 +000096302008-09-14 David Hyatt <hyatt@apple.com>
9631
9632 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
9633 painting. Mac and Gtk themes don't do anything and just let the
9634 underlying widget paint. Qt now uses the theme to paint. wx doesn't
9635 do anything yet.
9636
9637 Reviewed by Sam Weinig
9638
9639 * platform/ScrollBar.cpp:
9640 (WebCore::Scrollbar::paint):
9641 * platform/ScrollBar.h:
9642 (WebCore::Scrollbar::value):
9643 (WebCore::Scrollbar::visibleSize):
9644 (WebCore::Scrollbar::maximum):
9645 (WebCore::Scrollbar::lineStep):
9646 (WebCore::Scrollbar::pageStep):
9647 (WebCore::Scrollbar::pixelStep):
9648 (WebCore::Scrollbar::pressedPart):
9649 (WebCore::Scrollbar::hoveredPart):
9650 (WebCore::Scrollbar::theme):
9651 * platform/ScrollbarTheme.h:
9652 (WebCore::ScrollbarTheme::paint):
9653 (WebCore::ScrollbarTheme::scrollbarThickness):
9654 (WebCore::ScrollbarTheme::supportsControlTints):
9655 (WebCore::ScrollbarTheme::themeChanged):
9656 * platform/gtk/PlatformScrollBar.h:
9657 * platform/gtk/PlatformScrollBarGtk.cpp:
9658 * platform/mac/PlatformScrollBar.h:
9659 * platform/mac/PlatformScrollBarMac.mm:
9660 * platform/qt/PlatformScrollBar.h:
9661 * platform/qt/PlatformScrollBarQt.cpp:
9662 * platform/qt/ScrollbarThemeQt.cpp:
9663 (WebCore::styleOptionSlider):
9664 * platform/qt/ScrollbarThemeQt.h:
9665 (WebCore::ScrollbarThemeQt::paint):
9666 * platform/win/PlatformScrollBarSafari.cpp:
9667 (WebCore::PlatformScrollbar::paint):
9668 * platform/win/ScrollbarThemeSafari.h:
9669 (WebCore::ScrollbarThemeSafari::supportsControlTints):
9670 * platform/wx/PlatformScrollBar.h:
9671 * platform/wx/TemporaryLinkStubs.cpp:
9672 (PlatformScrollbar::~PlatformScrollbar):
9673
weinig@apple.comcb93e262008-09-14 21:36:11 +000096742008-09-14 Sam Weinig <sam@webkit.org>
9675
weinig@apple.com6ef2b872008-09-14 22:15:28 +00009676 Qt build fix.
9677
9678 * platform/qt/PlatformScrollBarQt.cpp:
9679
96802008-09-14 Sam Weinig <sam@webkit.org>
9681
weinig@apple.com064861a2008-09-14 22:12:49 +00009682 Reviewed by Mark Rowe.
9683
9684 Remove extraneous semicolons.
9685
9686 * bindings/scripts/CodeGeneratorObjC.pm:
9687 * html/HTMLLinkElement.cpp:
9688 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
9689 * html/HTMLScriptElement.cpp:
9690 (WebCore::HTMLScriptElement::charsetAttributeValue):
9691 (WebCore::HTMLScriptElement::typeAttributeValue):
9692 * platform/graphics/qt/GradientQt.cpp:
9693 (WebCore::Gradient::platformGradient):
9694 * platform/qt/ScrollViewQt.cpp:
9695 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
9696 * platform/win/ScrollViewWin.cpp:
9697 (WebCore::ScrollView::updateScrollbars):
9698 * rendering/RenderBlock.cpp:
9699 (WebCore::RenderBlock::paintEllipsisBoxes):
9700 * svg/SVGPathSegList.cpp:
9701 (WebCore::SVGPathSegList::toPathData):
9702
97032008-09-14 Sam Weinig <sam@webkit.org>
9704
weinig@apple.comcb93e262008-09-14 21:36:11 +00009705 Qt build fix.
9706
weinig@apple.com31311a62008-09-14 22:00:15 +00009707 * platform/qt/ScrollViewQt.cpp:
9708 (WebCore::ScrollView::updateScrollbars):
9709
97102008-09-14 Sam Weinig <sam@webkit.org>
9711
9712 Qt build fix.
9713
weinig@apple.comcb93e262008-09-14 21:36:11 +00009714 * platform/qt/PlatformScrollBarQt.cpp:
9715 (WebCore::PlatformScrollbar::PlatformScrollbar):
9716 (WebCore::PlatformScrollbar::paint):
9717
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +000097182008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
9719
9720 Gtk build fix, not reviewed.
9721
9722 * platform/gtk/PlatformScrollBarGtk.cpp:
9723 (PlatformScrollbar::PlatformScrollbar):
9724 * platform/gtk/ScrollViewGtk.cpp:
9725 (WebCore::ScrollView::updateScrollbars):
9726
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000097272008-09-13 Dave Hyatt <hyatt@apple.com>
9728
hyatt@apple.com21ab7c62008-09-14 01:26:22 +00009729 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
9730 to set the dimensions of a scrollbar.
9731
9732 Reviewed by Sam Weinig
9733
9734 * platform/ScrollBar.h:
9735 * platform/gtk/PlatformScrollBar.h:
9736 * platform/gtk/PlatformScrollBarGtk.cpp:
9737 (PlatformScrollbar::setFrameGeometry):
9738 * platform/gtk/ScrollViewGtk.cpp:
9739 (WebCore::ScrollView::updateScrollbars):
9740 * platform/mac/PlatformScrollBarMac.mm:
9741 * platform/qt/PlatformScrollBarQt.cpp:
9742 * platform/qt/ScrollViewQt.cpp:
9743 (WebCore::ScrollView::updateScrollbars):
9744 * platform/win/PlatformScrollBar.h:
9745 * platform/win/PlatformScrollBarSafari.cpp:
9746 (WebCore::PlatformScrollbar::PlatformScrollbar):
9747 (WebCore::PlatformScrollbar::setFrameGeometry):
9748 * platform/win/PlatformScrollBarWin.cpp:
9749 (WebCore::PlatformScrollbar::PlatformScrollbar):
9750 (WebCore::PlatformScrollbar::setFrameGeometry):
9751 * platform/win/PopupMenuWin.cpp:
9752 (WebCore::PopupWndProc):
9753 * platform/win/ScrollViewWin.cpp:
9754 (WebCore::ScrollView::updateScrollbars):
9755 * platform/wx/PlatformScrollBar.h:
9756 * platform/wx/TemporaryLinkStubs.cpp:
9757 (PlatformScrollbar::updateThumbProportion):
9758 * rendering/RenderLayer.cpp:
9759 (WebCore::RenderLayer::positionOverflowControls):
9760 * rendering/RenderListBox.cpp:
9761 (WebCore::RenderListBox::paintScrollbar):
9762
97632008-09-13 Dave Hyatt <hyatt@apple.com>
9764
hyatt@apple.comed9485a2008-09-14 01:06:57 +00009765 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
9766
9767 Reviewed by Sam Weinig
9768
9769 * platform/ScrollBar.h:
9770 * platform/gtk/PlatformScrollBar.h:
9771 * platform/gtk/PlatformScrollBarGtk.cpp:
9772 * platform/mac/PlatformScrollBar.h:
9773 * platform/mac/PlatformScrollBarMac.mm:
9774 * platform/win/PlatformScrollBar.h:
9775 * platform/win/PlatformScrollBarSafari.cpp:
9776 * platform/win/PlatformScrollBarWin.cpp:
9777 * platform/wx/PlatformScrollBar.h:
9778 * platform/wx/TemporaryLinkStubs.cpp:
9779 (PlatformScrollbar::~PlatformScrollbar):
9780
97812008-09-13 Dave Hyatt <hyatt@apple.com>
9782
hyatt@apple.com64d98032008-09-14 00:58:29 +00009783 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
9784 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
9785
9786 Reviewed by Sam Weinig
9787
9788 * platform/ScrollBar.h:
9789 * platform/gtk/PlatformScrollBar.h:
9790 * platform/gtk/PlatformScrollBarGtk.cpp:
9791 * platform/mac/PlatformScrollBar.h:
9792 * platform/mac/PlatformScrollBarMac.mm:
9793 * platform/win/PlatformScrollBarSafari.cpp:
9794 * platform/win/PlatformScrollBarWin.cpp:
9795 * platform/wx/PlatformScrollBar.h:
9796 * platform/wx/TemporaryLinkStubs.cpp:
9797 (PlatformScrollbar::~PlatformScrollbar):
9798
97992008-09-13 Dave Hyatt <hyatt@apple.com>
9800
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +00009801 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
9802
9803 Reviewed by Sam Weinig
9804
9805 * platform/ScrollBar.cpp:
9806 (WebCore::Scrollbar::~Scrollbar):
9807 * platform/ScrollBar.h:
9808 * platform/qt/PlatformScrollBarQt.cpp:
9809 (WebCore::PlatformScrollbar::~PlatformScrollbar):
9810 * platform/win/PlatformScrollBarSafari.cpp:
9811 (WebCore::PlatformScrollbar::~PlatformScrollbar):
9812 * platform/win/PlatformScrollBarWin.cpp:
9813 (WebCore::PlatformScrollbar::~PlatformScrollbar):
9814
hyatt@apple.coma3c52492008-09-13 23:57:08 +000098152008-09-13 David Hyatt <hyatt@apple.com>
9816
9817 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
9818 function on Scrollbar. Fixes Qt build bustage.
9819
9820 Reviewed by Sam Weinig
9821
9822 * platform/ScrollBar.h:
9823 (WebCore::Scrollbar::orientation):
9824 (WebCore::Scrollbar::value):
9825 (WebCore::Scrollbar::maximum):
9826 * platform/qt/PlatformScrollBar.h:
9827
mitz@apple.comb3d22882008-09-13 23:06:59 +000098282008-09-13 Dan Bernstein <mitz@apple.com>
9829
9830 Reviewed by Sam Weinig.
9831
9832 - use the LastResort font for missing glyphs instead of showing the
9833 primary font's missing glyph
9834
9835 Test: platform/mac/fast/text/last-resort-font.html
9836
9837 * platform/graphics/mac/FontCacheMac.mm:
9838 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
9839 last resort font if a substitute font cannot be found.
9840 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
9841 comment (the user's preferred standard font is included in the search
9842 thanks to code in FontCache::getFontData()) and changed to return the
9843 LastResort font.
9844
hyatt@apple.com0c378c72008-09-13 22:59:05 +000098452008-09-13 Dave Hyatt <hyatt@apple.com>
9846
9847 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
9848 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
9849 patches will move rendering and hit testing functionality into this class.
9850
9851 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
9852 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
9853
9854 Reviewed by Sam Weinig
9855
9856 * GNUmakefile.am:
9857 * WebCore.pro:
9858 * WebCore.vcproj/WebCore.vcproj:
9859 * platform/ScrollBar.cpp:
9860 (WebCore::Scrollbar::Scrollbar):
9861 * platform/ScrollBar.h:
9862 * platform/ScrollbarTheme.h: Added.
9863 (WebCore::ScrollbarTheme::~ScrollbarTheme):
9864 (WebCore::ScrollbarTheme::scrollbarThickness):
9865 (WebCore::ScrollbarTheme::themeChanged):
9866 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
9867 (WebCore::ScrollbarTheme::nativeTheme):
9868 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
9869 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
9870 * platform/gtk/ScrollbarThemeGtk.h: Added.
9871 * platform/mac/PlatformScrollBar.h:
9872 * platform/mac/ScrollbarThemeMac.cpp: Added.
9873 (WebCore::ScrollbarTheme::nativeTheme):
9874 (WebCore::):
9875 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
9876 (WebCore::ScrollbarThemeMac::scrollbarThickness):
9877 * platform/mac/ScrollbarThemeMac.h: Added.
9878 * platform/qt/PlatformScrollBarQt.cpp:
9879 * platform/qt/ScrollbarThemeQt.cpp: Added.
9880 (WebCore::ScrollbarTheme::nativeTheme):
9881 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
9882 (WebCore::ScrollbarThemeQt::scrollbarThickness):
9883 * platform/qt/ScrollbarThemeQt.h: Added.
9884 * platform/win/PlatformScrollBar.h:
9885 * platform/win/PlatformScrollBarSafari.cpp:
9886 * platform/win/PlatformScrollBarWin.cpp:
9887 * platform/win/PopupMenuWin.cpp:
9888 (WebCore::PopupMenu::calculatePositionAndSize):
9889 * platform/win/ScrollViewWin.cpp:
9890 (WebCore::ScrollView::updateScrollbars):
9891 (WebCore::ScrollView::themeChanged):
9892 * platform/win/ScrollbarThemeSafari.cpp: Added.
9893 (WebCore::ScrollbarTheme::nativeTheme):
9894 (WebCore::):
9895 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
9896 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
9897 * platform/win/ScrollbarThemeSafari.h: Added.
9898 * platform/win/ScrollbarThemeWin.cpp: Added.
9899 (WebCore::ScrollbarTheme::nativeTheme):
9900 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
9901 (WebCore::ScrollbarThemeWin::scrollbarThickness):
9902 (WebCore::ScrollbarThemeWin::themeChanged):
9903 * platform/win/ScrollbarThemeWin.h: Added.
9904 * platform/wx/TemporaryLinkStubs.cpp:
9905 (ScrollbarTheme::nativeTheme):
9906 * rendering/RenderLayer.cpp:
9907 (WebCore::scrollCornerRect):
9908 * rendering/RenderTextControl.cpp:
9909 (WebCore::RenderTextControl::calcHeight):
9910 (WebCore::RenderTextControl::calcPrefWidths):
9911
cfleizach@apple.comd26c2762008-09-13 21:05:18 +000099122008-09-13 Chris Fleizach <cfleizach@apple.com>
9913
9914 Reviewed by Timothy Hatcher.
9915
9916 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
9917
9918 * page/mac/AccessibilityObjectWrapper.mm:
9919 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
9920
mitz@apple.com6307c9f2008-09-13 20:27:37 +000099212008-09-13 Dan Bernstein <mitz@apple.com>
9922
9923 Reviewed by Timothy Hatcher.
9924
9925 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
9926
9927 No regression test because the back/forward cache is disabled in DumpRenderTree
9928
9929 * rendering/RenderContainer.cpp:
9930 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
9931 is being destroyed.
9932
kevino@webkit.org1e178ee2008-09-13 18:48:39 +000099332008-09-13 Kevin Ollivier <kevino@theolliviers.com>
9934
9935 wx build fixes for new methods recently introduced.
9936
9937 * platform/graphics/wx/AffineTransformWx.cpp:
9938 (WebCore::AffineTransform::AffineTransform):
9939 (WebCore::AffineTransform::setMatrix):
9940 (WebCore::AffineTransform::setA):
9941 (WebCore::AffineTransform::setB):
9942 (WebCore::AffineTransform::setC):
9943 (WebCore::AffineTransform::setD):
9944 (WebCore::AffineTransform::setE):
9945 (WebCore::AffineTransform::setF):
9946 * platform/wx/LocalizedStringsWx.cpp:
9947 (WebCore::AXDefinitionListTermText):
9948 (WebCore::AXDefinitionListDefinitionText):
9949
hyatt@apple.com30ed5442008-09-13 18:39:58 +000099502008-09-12 Dave Hyatt <hyatt@apple.com>
9951
9952 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
9953 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
9954 "PlatformScrollbar."
9955
9956 Reviewed by Sam Weinig
9957
9958 * WebCore.vcproj/WebCore.vcproj:
9959 * editing/EditorCommand.cpp:
9960 * page/EventHandler.cpp:
9961 (WebCore::EventHandler::selectCursor):
9962 (WebCore::EventHandler::handleMousePressEvent):
9963 (WebCore::EventHandler::handleMouseMoveEvent):
9964 * page/EventHandler.h:
9965 * page/MouseEventWithHitTestResults.cpp:
9966 (WebCore::MouseEventWithHitTestResults::scrollbar):
9967 * page/MouseEventWithHitTestResults.h:
9968 * page/gtk/EventHandlerGtk.cpp:
9969 (WebCore::EventHandler::passMousePressEventToScrollbar):
9970 * page/mac/EventHandlerMac.mm:
9971 (WebCore::EventHandler::passMousePressEventToScrollbar):
9972 * page/qt/EventHandlerQt.cpp:
9973 (WebCore::EventHandler::passMousePressEventToScrollbar):
9974 * page/win/EventHandlerWin.cpp:
9975 (WebCore::EventHandler::passMousePressEventToScrollbar):
9976 * page/wx/EventHandlerWx.cpp:
9977 (WebCore::EventHandler::passMousePressEventToScrollbar):
9978 * platform/PopupMenu.h:
9979 * platform/ScrollBar.cpp:
9980 (WebCore::Scrollbar::Scrollbar):
9981 (WebCore::Scrollbar::autoscrollTimerFired):
9982 (WebCore::Scrollbar::autoscrollPressedPart):
9983 (WebCore::Scrollbar::startTimerIfNeeded):
9984 (WebCore::Scrollbar::stopTimerIfNeeded):
9985 (WebCore::Scrollbar::pressedPartScrollDirection):
9986 (WebCore::Scrollbar::pressedPartScrollGranularity):
9987 * platform/ScrollBar.h:
9988 (WebCore::Scrollbar::handleMousePressEvent):
9989 (WebCore::Scrollbar::invalidatePart):
9990 (WebCore::Scrollbar::thumbUnderMouse):
9991 * platform/ScrollView.h:
9992 * platform/ScrollbarClient.h: Added.
9993 (WebCore::ScrollbarClient::~ScrollbarClient):
9994 * platform/gtk/ScrollViewGtk.cpp:
9995 (WebCore::ScrollView::scrollbarUnderMouse):
9996 * platform/qt/PlatformScrollBar.h:
9997 * platform/qt/PlatformScrollBarQt.cpp:
9998 (WebCore::PlatformScrollbar::PlatformScrollbar):
9999 (WebCore::scrollbarPart):
10000 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
10001 (WebCore::PlatformScrollbar::handleMouseOutEvent):
10002 (WebCore::PlatformScrollbar::handleMousePressEvent):
10003 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
10004 * platform/qt/ScrollViewQt.cpp:
10005 (WebCore::ScrollView::scrollbarUnderMouse):
10006 (WebCore::ScrollView::wheelEvent):
10007 * platform/win/PlatformScrollBar.h:
10008 * platform/win/PlatformScrollBarSafari.cpp:
10009 (WebCore::PlatformScrollbar::PlatformScrollbar):
10010 * platform/win/PlatformScrollBarWin.cpp:
10011 (WebCore::PlatformScrollbar::PlatformScrollbar):
10012 * platform/win/ScrollViewWin.cpp:
10013 (WebCore::ScrollView::scrollbarUnderMouse):
10014 * rendering/HitTestResult.cpp:
10015 (WebCore::HitTestResult::setScrollbar):
10016 * rendering/HitTestResult.h:
10017 (WebCore::HitTestResult::scrollbar):
10018 * rendering/RenderLayer.cpp:
10019 (WebCore::RenderLayer::hitTestOverflowControls):
10020 * rendering/RenderLayer.h:
10021 * rendering/RenderListBox.h:
10022
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000100232008-09-12 Steve Falkenburg <sfalken@apple.com>
10024
10025 Fix Mac build.
10026
10027 * css/CSSStyleSelector.cpp:
10028 (WebCore::getTransformOperationType):
10029
dino@apple.comf937dc62008-09-13 00:45:39 +0000100302008-09-12 Chris Marrin <cmarrin@apple.com>
10031
10032 Reviewed by Dave Hyatt.
10033
10034 Make transform animation behavior match spec
10035 https://bugs.webkit.org/show_bug.cgi?id=20770
10036
10037 Tests: transitions/transform-op-list-match.html
10038 transitions/transform-op-list-no-match.html
10039
10040 * css/CSSStyleSelector.cpp:
10041 * css/CSSStyleSelector.h:
10042 * page/animation/AnimationBase.cpp:
10043 * page/animation/AnimationBase.h:
10044 * page/animation/ImplicitAnimation.cpp:
10045 * page/animation/ImplicitAnimation.h:
10046 * page/animation/KeyframeAnimation.cpp:
10047 * page/animation/KeyframeAnimation.h:
10048 * rendering/RenderLayer.cpp:
10049 * rendering/style/RenderStyle.cpp:
10050 * rendering/style/RenderStyle.h:
10051
timothy@apple.comab374dd2008-09-12 22:43:38 +0000100522008-09-12 Ojan Vafai <ojan@chromium.org>
10053
10054 Properly escape contents of links added to the inspector.
10055 For now, just build the link with the DOM and get the
10056 outerHTML. Eventually, we probably just want to do
10057 this entirely with the DOM.
10058
10059 Reviewed by Timothy Hatcher.
10060
10061 https://bugs.webkit.org/show_bug.cgi?id=20684
10062
10063 * manual-tests/inspector/escape-links.html: Added.
10064 * page/inspector/StylesSidebarPane.js:
10065 * page/inspector/inspector.js:
10066 * page/inspector/utilities.js:
10067
adele@apple.com87fb3c72008-09-12 22:14:13 +0000100682008-09-12 Adele Peterson <adele@apple.com>
10069
10070 Reviewed by John Sullivan and Kevin McCullough.
10071
10072 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
10073
10074 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
10075 Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will
10076 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
10077
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000100782008-09-12 Kevin McCullough <kmccullough@apple.com>
10079
10080 RS by Tim .
10081
10082 Re-introducing the code since it was not the cause of the crash.
10083 See r36343.
10084
10085 * rendering/RenderObject.cpp:
10086 (WebCore::RenderObject::canBeProgramaticallyScrolled):
10087 * rendering/RenderObject.h:
10088
dino@apple.comf712ed02008-09-12 21:54:57 +0000100892008-09-12 Chris Marrin <cmarrin@apple.com>
10090
10091 Reviewed by Dave Hyatt.
10092
10093 When changing one animation in a list, don't reset other animations
10094 https://bugs.webkit.org/show_bug.cgi?id=20675
10095
10096 Test: animations/change-one-anim.html
10097
10098 * page/animation/AnimationBase.cpp:
10099 (WebCore::AnimationBase::getNumProperties):
10100 * page/animation/AnimationBase.h:
10101 * page/animation/AnimationController.cpp:
10102 * page/animation/CompositeAnimation.cpp:
10103 (WebCore::CompositeAnimation::updateKeyframeAnimations):
10104 * page/animation/CompositeAnimation.h:
10105 * page/animation/ImplicitAnimation.cpp:
10106 * page/animation/KeyframeAnimation.cpp:
10107 * page/animation/KeyframeAnimation.h:
10108 (WebCore::KeyframeAnimation::setIndex):
10109
beidson@apple.com521e2b52008-09-12 18:40:03 +0000101102008-09-12 Brady Eidson <beidson@apple.com>
10111
10112 Reviewed by Mitz Pettel
10113
10114 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
10115
10116 * loader/DocumentLoader.cpp:
10117 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
10118 Subresources can never be created from nil data, but there is always a MainResource, whether
10119 or not there's any data. So in the case where the main resource has no data, fake it for the
10120 sake of creating the ArchiveResource.
10121
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000101222008-09-12 Dave Hyatt <hyatt@apple.com>
10123
10124 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
10125 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
10126 Remove all the isWidget and hasPlatformScrollbars guards.
10127
10128 Reviewed by Tim Hatcher
10129
10130 * platform/ScrollBar.h:
10131 * platform/gtk/PlatformScrollBar.h:
10132 * platform/mac/PlatformScrollBar.h:
10133 * platform/qt/PlatformScrollBar.h:
10134 * platform/win/PlatformScrollBar.h:
10135 * platform/win/ScrollViewWin.cpp:
10136 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
10137 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
10138 * platform/wx/PlatformScrollBar.h:
10139 * rendering/RenderLayer.cpp:
10140 (WebCore::RenderLayer::horizontalScrollbarWidget):
10141 (WebCore::RenderLayer::verticalScrollbarWidget):
10142 (WebCore::RenderLayer::createScrollbar):
10143 (WebCore::RenderLayer::destroyScrollbar):
10144 * rendering/RenderListBox.cpp:
10145 (WebCore::RenderListBox::~RenderListBox):
10146 (WebCore::RenderListBox::updateFromElement):
10147 (WebCore::RenderListBox::isPointInOverflowControl):
10148
mitz@apple.com0bef1302008-09-12 18:22:07 +0000101492008-09-12 Dan Bernstein <mitz@apple.com>
10150
10151 Reviewed by Sam Weinig.
10152
10153 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
10154
10155 * page/animation/AnimationController.cpp:
10156 * page/animation/AnimationController.h:
10157 * page/animation/CompositeAnimation.cpp:
10158 * page/animation/CompositeAnimation.h:
10159 * page/animation/ImplicitAnimation.cpp:
10160 * page/animation/ImplicitAnimation.h:
10161 * page/animation/KeyframeAnimation.cpp:
10162 * page/animation/KeyframeAnimation.h:
10163
timothy@apple.com43203432008-09-12 04:44:40 +0000101642008-09-11 Timothy Hatcher <timothy@apple.com>
10165
10166 Add a renderedImage method to DOMNode to get an image
10167 of the rendering for the node and it's descendants.
10168
10169 <rdar://problem/5849349> Would like API to create
10170 an image for a DOM node
10171
10172 Reviewed by Oliver Hunt.
10173
10174 * bindings/objc/DOM.mm:
10175 (-[DOMNode renderedImage]): Call Frame::nodeImage.
10176 * bindings/objc/DOMPrivate.h:
10177 * page/Frame.h:
10178 * page/mac/FrameMac.mm:
10179 (WebCore::Frame::nodeImage):
10180
dino@apple.com9300a0b2008-09-12 00:36:31 +0000101812008-09-08 Chris Marrin <cmarrin@apple.com>
10182
10183 Reviewed by Dave Hyatt
10184
10185 Need to support comma separated list of key times in keyframes selectors
10186 https://bugs.webkit.org/show_bug.cgi?id=20680
10187
10188 Test: animations/keyframes-comma-separated.html
10189
10190 * css/CSSGrammar.y:
10191 * css/CSSParser.cpp:
10192 (WebCore::CSSParser::createKeyframeRule):
10193 * css/CSSParser.h:
10194 * css/CSSStyleSelector.cpp:
10195 (WebCore::CSSStyleSelector::addKeyframeStyle):
10196 * css/WebKitCSSKeyframeRule.cpp:
10197 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
10198 (WebCore::WebKitCSSKeyframeRule::cssText):
10199 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
10200 * css/WebKitCSSKeyframeRule.h:
10201 (WebCore::WebKitCSSKeyframeRule::keyText):
10202 (WebCore::WebKitCSSKeyframeRule::setKeyText):
10203 (WebCore::WebKitCSSKeyframeRule::getKeys):
10204 * css/WebKitCSSKeyframesRule.cpp:
10205 (WebCore::WebKitCSSKeyframesRule::append):
10206 (WebCore::WebKitCSSKeyframesRule::insertRule):
10207 (WebCore::WebKitCSSKeyframesRule::deleteRule):
10208 (WebCore::WebKitCSSKeyframesRule::findRule):
10209 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
10210 * css/WebKitCSSKeyframesRule.h:
10211 * page/animation/AnimationBase.cpp:
10212 (WebCore::AnimationBase::blendProperties):
10213
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000102142008-09-11 Kevin McCullough <kmccullough@apple.com>
10215
10216 RS by Tim.
10217
10218 Reverting because this caused a crash.
10219
10220 * rendering/RenderObject.cpp:
10221 (WebCore::RenderObject::canBeProgramaticallyScrolled):
10222 (WebCore::RenderObject::hasScrollableView):
10223 * rendering/RenderObject.h:
10224
dino@apple.com19853b32008-09-11 21:59:08 +0000102252008-09-11 Dean Jackson <dino@apple.com>
10226
10227 Reviewed by Dan Bernstein.
10228
10229 Fix assertion on transition property "none"
10230 https://bugs.webkit.org/show_bug.cgi?id=20751
10231
10232 Test: transitions/transition-end-event-set-none.html
10233
10234 * page/animation/CompositeAnimation.cpp:
10235 (WebCore::CompositeAnimation::updateTransitions):
10236
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000102372008-09-11 David Smith <catfish.man@gmail.com>
10238
dsmith@webkit.org08103d92008-09-11 21:54:30 +000010239 Rubber-stamped by mitzpettel.
10240
10241 Remove an accidentally added extra file.
10242
10243 * WebCore: Removed.
10244
102452008-09-11 David Smith <catfish.man@gmail.com>
10246
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000010247 Reviewed by Darin
10248
10249 https://bugs.webkit.org/show_bug.cgi?id=20180
10250
10251 This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
10252
10253 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
10254 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
10255 * dom/Element.cpp: include NodeRenderStyle.h
10256 * dom/Node.cpp: Remove the definition of renderStyle()
10257 (WebCore::Node::nonRendererRenderStyle):
10258 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
10259 * dom/NodeRenderStyle.h: Added.
10260 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
10261 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
10262 * html/HTMLOptGroupElement.h:
10263 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
10264 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
10265 * html/HTMLOptionElement.h:
10266 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
10267 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
10268 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
10269 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
10270
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000102712008-09-11 Kevin McCullough <kmccullough@apple.com>
10272
10273 Reviewed by Adele and Tim.
10274
10275 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
10276 Inspector does not scroll to the line of the results (20167)
10277 - This was put in by Max to fix auto scrolling but is not correct for
10278 the whole web: rdar://problem/6213098
10279
10280 * rendering/RenderObject.cpp:
10281 (WebCore::RenderObject::canBeProgramaticallyScrolled):
10282 * rendering/RenderObject.h:
10283
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000102842008-09-11 Chris Fleizach <cfleizach@apple.com>
10285
10286 Reviewed by Beth Dakin
10287
10288 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
10289
10290 Test: accessibility/frame-with-title.html
10291
10292 * page/AccessibilityRenderObject.cpp:
10293 (WebCore::AccessibilityRenderObject::accessibilityDescription):
10294
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000102952008-09-11 Dirk Schulze <vbs85@gmx.de>
10296
10297 Reviewed by Simon.
10298
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000010299 Fixed stroke() and strokeRect() to support gradients
10300 and patterns on Qt.
10301
10302 [Qt] Canvas stroke don't work for gradients and patterns
10303 [https://bugs.webkit.org/show_bug.cgi?id=20749]
10304
10305 * platform/graphics/qt/GraphicsContextQt.cpp:
10306 (WebCore::GraphicsContext::strokePath):
10307 (WebCore::GraphicsContext::strokeRect):
10308
103092008-09-11 Dirk Schulze <vbs85@gmx.de>
10310
10311 Reviewed by Simon.
10312
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000010313 https://bugs.webkit.org/show_bug.cgi?id=20729
10314
10315 Fixed canvas gradients for Qt
10316
10317 [Qt] Canvas gradients don't work as expected
10318 [https://bugs.webkit.org/show_bug.cgi?id=20729]
10319
10320 * platform/graphics/qt/GradientQt.cpp:
10321 (WebCore::Gradient::platformGradient):
10322
103232008-09-11 Dirk Schulze <vbs85@gmx.de>
10324
10325 Reviewed by Simon.
10326
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000010327 https://bugs.webkit.org/show_bug.cgi?id=20568
10328
10329 Add support for patterns to Qt.
10330
10331 * platform/graphics/qt/PatternQt.cpp:
10332 (WebCore::Pattern::createPlatformPattern):
10333
mitz@apple.com442c5892008-09-10 18:21:14 +0000103342008-09-10 Dan Bernstein <mitz@apple.com>
10335
10336 Reviewed by Sam Weinig.
10337
10338 - clean up AnimationBase
10339
10340 * page/animation/AnimationBase.cpp:
10341 * page/animation/AnimationBase.h:
10342 * page/animation/CompositeAnimation.cpp:
10343 * page/animation/ImplicitAnimation.cpp:
10344 * page/animation/ImplicitAnimation.h:
10345 * page/animation/KeyframeAnimation.cpp:
10346 * page/animation/KeyframeAnimation.h:
10347
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000103482008-09-10 Alexey Proskuryakov <ap@webkit.org>
10349
10350 Reviewed by Darin Adler.
10351
10352 https://bugs.webkit.org/show_bug.cgi?id=20741
10353 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
10354
10355 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
10356 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
10357 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
10358
10359 I also found and fixed a potential crasher for non-Mac ports.
10360
10361 Tests: fast/encoding/hebrew/8859-8-e.html
10362 fast/encoding/hebrew/8859-8-i.html
10363 fast/encoding/hebrew/8859-8.html
10364 fast/encoding/hebrew/csISO88598I.html
10365 fast/encoding/hebrew/hebrew.html
10366 fast/encoding/hebrew/iso-ir-138.html
10367 fast/encoding/hebrew/logical.html
10368
10369 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
10370 (case-insensitively, because different versions of ICU report this MIME name in different
10371 case).
10372
10373 * platform/text/TextCodecICU.cpp:
10374 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
10375 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
10376 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
10377 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
10378 we also support these via TEC (which we should stop doing), but on Windows, this would
10379 likely crash.
10380
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000103812008-09-09 Dave Hyatt <hyatt@apple.com
10382
10383 Resurrect PlatformScrollbarWin.
10384
10385 Reviewed by Adam Roben
10386
10387 * WebCore.vcproj/WebCore.vcproj:
10388 * platform/win/PlatformScrollBarWin.cpp:
10389 (WebCore::isRunningOnVistaOrLater):
10390 (WebCore::checkAndInitScrollbarTheme):
10391 (WebCore::PlatformScrollbar::PlatformScrollbar):
10392 (WebCore::PlatformScrollbar::invalidateTrack):
10393 (WebCore::PlatformScrollbar::invalidatePart):
10394 (WebCore::PlatformScrollbar::paint):
10395 (WebCore::PlatformScrollbar::hasButtons):
10396 (WebCore::PlatformScrollbar::hasThumb):
10397 (WebCore::PlatformScrollbar::backButtonRect):
10398 (WebCore::PlatformScrollbar::forwardButtonRect):
10399 (WebCore::PlatformScrollbar::trackRect):
10400 (WebCore::PlatformScrollbar::gripperRect):
10401 (WebCore::PlatformScrollbar::thumbLength):
10402 (WebCore::PlatformScrollbar::paintButton):
10403 (WebCore::PlatformScrollbar::paintTrack):
10404 (WebCore::PlatformScrollbar::paintThumb):
10405 (WebCore::PlatformScrollbar::paintGripper):
10406 (WebCore::PlatformScrollbar::hitTest):
10407 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
10408 (WebCore::PlatformScrollbar::handleMouseOutEvent):
10409 (WebCore::PlatformScrollbar::themeChanged):
10410
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000104112008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
10412
10413 Reviewed by Maciej Stachowiak.
10414
10415 Bug 20759: Remove MacroAssembler
10416 <https://bugs.webkit.org/show_bug.cgi?id=20759>
10417
10418 Make the necessary changes to ForwardingHeaders to remove
10419 MacroAssembler.
10420
10421 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
10422 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
10423 * ForwardingHeaders/masm/X86Assembler.h: Added.
10424
alp@webkit.org509e3d42008-09-10 01:26:20 +0000104252008-09-09 Alp Toker <alp@nuanti.com>
10426
10427 Reviewed by Dave Hyatt.
10428
10429 https://bugs.webkit.org/show_bug.cgi?id=16792
10430 [GTK] Fails to render Japanese/Chinese text with simple path
10431
10432 https://bugs.webkit.org/show_bug.cgi?id=16942
10433 [GTK] Oddities in font selection and fall back
10434
10435 https://bugs.webkit.org/show_bug.cgi?id=16862
10436 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
10437
10438 GTK+ font fixes and enhancements.
10439
10440 Implement font fallback for the simple FontConfig-based text path and
10441 improve the Pango-based complex text path to make use of requested
10442 font properties and available font selection.
10443
10444 Add text shadow support to the complex path.
10445
10446 * platform/graphics/gtk/FontCacheGtk.cpp:
10447 (WebCore::FontCache::getFontDataForCharacters):
10448 (WebCore::FontCache::getSimilarFontPlatformData):
10449 * platform/graphics/gtk/FontGtk.cpp:
10450 (WebCore::setPangoAttributes):
10451 (WebCore::Font::drawComplexText):
10452 (WebCore::getDefaultPangoLayout):
10453 (WebCore::Font::floatWidthForComplexText):
10454 (WebCore::Font::offsetForPositionForComplexText):
10455 (WebCore::Font::selectionRectForComplexText):
10456 * platform/graphics/gtk/FontPlatformData.h:
10457 (WebCore::FontPlatformData::FontPlatformData):
10458 (WebCore::FontPlatformData::hash):
10459 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
10460 (WebCore::FontPlatformData::FontPlatformData):
10461 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
10462 (WebCore::SimpleFontData::platformDestroy):
10463
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000104642008-09-09 Dave Hyatt <hyatt@apple.com>
10465
10466 Make the Windows classic case work again. Overlap in slider constants and other constants broke
10467 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
10468 value to make sure it's really a slider thumb to resolve this conflict.
10469
10470 Reviewed by Adam Roben
10471
10472 * rendering/RenderThemeWin.cpp:
10473 (WebCore::drawControl):
10474
dino@apple.com442d0652008-09-09 23:36:56 +0000104752008-09-05 Chris Marrin <cmarrin@apple.com>
10476
10477 Reviewed by Sam Weinig.
10478
10479 Need to handle the case when 0% or 100% keyframe is omitted
10480 https://bugs.webkit.org/show_bug.cgi?id=20679
10481
10482 Tests: animations/keyframes-from-missing.html
10483 animations/keyframes-to-missing.html
10484
10485 * css/CSSStyleSelector.cpp:
10486 (WebCore::CSSStyleSelector::addKeyframeStyle):
10487
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000104882008-09-09 Dave Hyatt <hyatt@apple.com>
10489
10490 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
10491 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
10492 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
10493 what changes have been made as compared with the old RenderThemeWin).
10494
10495 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
10496 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
10497 vs. printer advancement rounding).
10498
10499 Reviewed by Adam/Sam
10500
10501 * css/CSSStyleSelector.cpp:
10502 (WebCore::CSSStyleSelector::applyProperty):
10503 * platform/graphics/Icon.h:
10504 (WebCore::Icon::create):
10505 * rendering/RenderThemeWin.cpp:
10506 (WebCore::RenderThemeWin::RenderThemeWin):
10507 (WebCore::RenderThemeWin::~RenderThemeWin):
10508 (WebCore::RenderThemeWin::buttonTheme):
10509 (WebCore::RenderThemeWin::textFieldTheme):
10510 (WebCore::RenderThemeWin::menuListTheme):
10511 (WebCore::RenderThemeWin::sliderTheme):
10512 (WebCore::RenderThemeWin::close):
10513 (WebCore::RenderThemeWin::themeChanged):
10514 (WebCore::RenderThemeWin::supportsHover):
10515 (WebCore::fillFontDescription):
10516 (WebCore::RenderThemeWin::systemFont):
10517 (WebCore::RenderThemeWin::supportsFocus):
10518 (WebCore::RenderThemeWin::determineClassicState):
10519 (WebCore::RenderThemeWin::determineState):
10520 (WebCore::RenderThemeWin::determineSliderThumbState):
10521 (WebCore::RenderThemeWin::getClassicThemeData):
10522 (WebCore::RenderThemeWin::getThemeData):
10523 (WebCore::drawControl):
10524 (WebCore::RenderThemeWin::paintButton):
10525 (WebCore::RenderThemeWin::paintTextField):
10526 (WebCore::RenderThemeWin::paintMenuList):
10527 (WebCore::RenderThemeWin::adjustMenuListStyle):
10528 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
10529 (WebCore::RenderThemeWin::paintMenuListButton):
10530 (WebCore::RenderThemeWin::paintSliderTrack):
10531 (WebCore::RenderThemeWin::paintSliderThumb):
10532 (WebCore::RenderThemeWin::adjustSliderThumbSize):
10533 (WebCore::RenderThemeWin::paintSearchField):
10534 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
10535 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
10536 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
10537 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
10538 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
10539 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
10540 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
10541 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
10542 * rendering/RenderThemeWin.h:
10543 (WebCore::ThemeData::ThemeData):
10544 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
10545 (WebCore::RenderThemeWin::adjustButtonStyle):
10546 (WebCore::RenderThemeWin::adjustTextFieldStyle):
10547 (WebCore::RenderThemeWin::adjustTextAreaStyle):
10548
dino@apple.comd511ce52008-09-09 19:50:25 +0000105492008-09-09 Dean Jackson <dino@apple.com>
10550
10551 Reviewed by Sam Weinig.
10552
10553 Document::createEvent missing cases for animation and
10554 transition events.
10555 https://bugs.webkit.org/show_bug.cgi?id=20734
10556
10557 Test: transitions/transition-end-event-create.html
10558 Test: animations/animation-events-create.html
10559
10560 * dom/Document.cpp:
10561 (WebCore::Document::createEvent):
10562 - add the two cases
10563
mitz@apple.com1da7b882008-09-09 18:12:06 +0000105642008-09-09 Dan Bernstein <mitz@apple.com>
10565
mitz@apple.com54921562008-09-09 18:48:34 +000010566 - Tiger build fix
10567
10568 * WebCore.Tiger.exp:
10569 * WebCore.base.exp:
10570 * platform/mac/WebCoreSystemInterface.h:
10571 * platform/mac/WebCoreSystemInterface.mm:
10572
105732008-09-09 Dan Bernstein <mitz@apple.com>
10574
mitz@apple.com1da7b882008-09-09 18:12:06 +000010575 Reviewed by Darin Adler.
10576
10577 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
10578
10579 * WebCore.Tiger.exp:
10580 * WebCore.base.exp:
10581 * platform/graphics/SimpleFontData.h:
10582 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
10583 (WebCore::GlyphPage::fill):
10584 * platform/graphics/mac/SimpleFontDataMac.mm:
10585 (WebCore::initFontData):
10586 (WebCore::SimpleFontData::platformInit):
10587 (WebCore::SimpleFontData::platformDestroy):
10588 * platform/mac/WebCoreSystemInterface.h:
10589 * platform/mac/WebCoreSystemInterface.mm:
10590
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000105912008-09-09 Kevin McCullough <kmccullough@apple.com>
10592
10593 Reviewed by Tim.
10594
10595 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
10596 breakpoints inside eval.
10597
10598 * page/inspector/inspector.js:
10599
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000106002008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
10601
10602 Reviewed by Simon.
10603
10604 Fix compilation of the Qt port with disabled plugins on Windows
10605
10606 * WebCore.pro:
10607 * plugins/PluginView.cpp:
10608 (WebCore::PluginView::PluginView):
10609 * plugins/PluginView.h:
10610
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000106112008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
10612
10613 Reviewed by Alexey Proskuryakov.
10614
10615 Try MIME charset names before trying IANA names
10616 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
10617
10618 With this change, shorter and more widely used names (preferred MIME
10619 names) are returned by document.charset, document.characterSet,
10620 document.inputEncoding rather than IANA names. This helps
10621 fixing bug 18085 in addition to web developers who are more familiar
10622 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
10623 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
10624 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
10625 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
10626 used, the former is still recognized as aliases to the latter so that
10627 there's very little, if any, to worry about.
10628
10629 * platform/text/TextCodecICU.cpp:
10630 (WebCore::TextCodecICU::registerExtendedEncodingNames):
10631
weinig@apple.com22294302008-09-09 06:55:39 +0000106322008-09-08 Sam Weinig <sam@webkit.org>
10633
10634 Reviewed by Maciej Stachowiak and Oliver Hunt.
10635
10636 Add forwarding headers.
10637
10638 * ForwardingHeaders/wtf/HashFunctions.h: Added.
10639
dino@apple.comd9962af2008-09-09 01:02:00 +0000106402008-09-05 Dean Jackson <dino@apple.com>
10641
10642 Reviewed by Dan Bernstein.
10643
10644 Update grammar so that we can add a keyframe rule via the DOM.
10645 https://bugs.webkit.org/show_bug.cgi?id=20613
10646
10647 * css/CSSGrammar.y:
10648 * css/tokenizer.flex:
10649
antti@apple.com4b17a932008-09-09 00:40:45 +0000106502008-09-08 Antti Koivisto <antti@apple.com>
10651
10652 Reviewed by Dan Bernstein.
10653
10654 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
10655 actually show up in any of the default stylesheets.
10656
10657 * css/CSSStyleSelector.cpp:
10658 (WebCore::elementCanUseSimpleDefaultStyle):
10659
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000106602008-09-08 Dimitri Glazkov <dglazkov@google.com>
10661
10662 Reviewed by Dan Bernstein.
10663
10664 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
10665 Zero width and space characters are displayed incorrectly if not contained in a fallback font
10666
10667 Adds an extra check for Object Replacement Character (U+FFFC) to address
10668 the issue with fast/text/zero-width-characters.html test when run
10669 with Windows system default fonts.
10670
10671 * platform/graphics/Font.h:
10672 (WebCore::Font::treatAsZeroWidthSpace):
10673
dino@apple.comf0a4b212008-09-08 22:51:49 +0000106742008-09-08 Dean Jackson <dino@apple.com>
10675
10676 Reviewed by Sam Weinig.
10677
10678 Code style issue I forgot to fix from previous commit.
10679
10680 * platform/graphics/AffineTransform.cpp:
10681 (WebCore::AffineTransform::blend):
10682
dino@apple.com26625122008-09-08 22:46:41 +0000106832008-09-08 Chris Marrin <cmarrin@apple.com>
10684
10685 Reviewed by Sam Weinig
10686
10687 - Animation of -webkit-transform matrix() function should not do linear interpolation
10688 https://bugs.webkit.org/show_bug.cgi?id=20667
10689
10690 Test: animations/matrix-anim.html
10691
10692 * ChangeLog:
10693 * platform/graphics/AffineTransform.cpp:
10694 (WebCore::affineTransformDecompose):
10695 (WebCore::affineTransformCompose):
10696 (WebCore::AffineTransform::blend):
10697 * platform/graphics/AffineTransform.h:
10698 * rendering/style/RenderStyle.cpp:
10699 (WebCore::MatrixTransformOperation::blend):
10700
ap@webkit.org243a9752008-09-08 16:21:16 +0000107012008-09-08 Alexey Proskuryakov <ap@webkit.org>
10702
10703 Reviewed by Darin Adler.
10704
10705 https://bugs.webkit.org/show_bug.cgi?id=20668
10706 multipart/form-data does not always include Content-type for submitted files
10707
10708 Cannot be tested with DRT or manual tests.
10709
10710 * platform/MIMETypeRegistry.cpp:
10711 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
10712 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
10713 unknown extensions, not just missing ones.
10714
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000107152008-09-08 Simon Hausmann <hausmann@webkit.org>
10716
10717 Build fix for the Qt/Windows build, define USE_JSC to
10718 enable the WebCore::String -> JSC::UString operator that
10719 MSVC insists on seeing
10720
10721 * WebCore.pro:
10722
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000107232008-09-08 Anders Carlsson <andersca@apple.com>
10724
10725 Reviewed by Maciej.
10726
10727 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
10728
10729 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
10730 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
10731
10732 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
10733
10734 * bindings/js/JSDOMWindowBase.h:
10735 * loader/FrameLoader.cpp:
10736 (WebCore::FrameLoader::commitProvisionalLoad):
10737
antti@apple.com57b3a102008-09-08 07:01:36 +0000107382008-09-07 Antti Koivisto <antti@apple.com>
10739
10740 Reviewed by Dave Hyatt.
10741
10742 Don't leak the simple stylesheet.
10743 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
10744
10745 * css/CSSStyleSelector.cpp:
10746 (WebCore::loadFullDefaultStyle):
10747 (WebCore::loadSimpleDefaultStyle):
10748 (WebCore::CSSStyleSelector::styleForElement):
10749
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000107502008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
10751
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000010752 Reviewed by Oliver Hunt.
10753
10754 Bug 20711: Change KJS prefix on preprocessor macros to JSC
10755 <https://bugs.webkit.org/show_bug.cgi?id=20711>
10756
10757 * bindings/js/JSEventTargetBase.h:
10758 * bindings/js/JSHTMLInputElementBase.cpp:
10759 * bindings/js/JSHTMLInputElementBase.h:
10760 * bindings/scripts/CodeGeneratorJS.pm:
10761
107622008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
10763
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000010764 Reviewed by Maciej Stachowiak.
10765
10766 Bug 20704: Replace the KJS namespace
10767 <https://bugs.webkit.org/show_bug.cgi?id=20704>
10768
10769 Rename the KJS namespace to JSC. There are still some uses of KJS in the
10770 names of JNI functions, and I will check if these are safe to change
10771 as well.
10772
10773 * WebCore.base.exp:
10774 * bindings/js/GCController.cpp:
10775 * bindings/js/JSAttrCustom.cpp:
10776 * bindings/js/JSAudioConstructor.cpp:
10777 * bindings/js/JSAudioConstructor.h:
10778 (WebCore::JSAudioConstructor::classInfo):
10779 * bindings/js/JSCSSRuleCustom.cpp:
10780 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
10781 * bindings/js/JSCSSValueCustom.cpp:
10782 * bindings/js/JSCanvasPixelArrayCustom.cpp:
10783 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
10784 * bindings/js/JSClipboardCustom.cpp:
10785 * bindings/js/JSConsoleCustom.cpp:
10786 * bindings/js/JSCustomSQLStatementCallback.cpp:
10787 (WebCore::JSCustomSQLStatementCallback::handleEvent):
10788 * bindings/js/JSCustomSQLStatementCallback.h:
10789 (WebCore::JSCustomSQLStatementCallback::create):
10790 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
10791 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
10792 * bindings/js/JSCustomSQLStatementErrorCallback.h:
10793 (WebCore::JSCustomSQLStatementErrorCallback::create):
10794 * bindings/js/JSCustomSQLTransactionCallback.cpp:
10795 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
10796 * bindings/js/JSCustomSQLTransactionCallback.h:
10797 (WebCore::JSCustomSQLTransactionCallback::create):
10798 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
10799 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
10800 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
10801 (WebCore::JSCustomSQLTransactionErrorCallback::create):
10802 * bindings/js/JSCustomVoidCallback.cpp:
10803 (WebCore::JSCustomVoidCallback::handleEvent):
10804 * bindings/js/JSCustomVoidCallback.h:
10805 (WebCore::JSCustomVoidCallback::create):
10806 * bindings/js/JSCustomXPathNSResolver.cpp:
10807 (WebCore::JSCustomXPathNSResolver::create):
10808 * bindings/js/JSCustomXPathNSResolver.h:
10809 * bindings/js/JSDOMApplicationCacheCustom.cpp:
10810 (WebCore::JSDOMApplicationCache::dispatchEvent):
10811 * bindings/js/JSDOMBinding.cpp:
10812 (WebCore::jsOwnedStringOrNull):
10813 * bindings/js/JSDOMBinding.h:
10814 (WebCore::DOMObject::DOMObject):
10815 (WebCore::cacheDOMObject):
10816 (WebCore::cacheSVGDOMObject):
10817 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
10818 (WebCore::toJS):
10819 * bindings/js/JSDOMWindowBase.cpp:
10820 * bindings/js/JSDOMWindowBase.h:
10821 (WebCore::JSDOMWindowBase::classInfo):
10822 (WebCore::JSDOMWindowBase::d):
10823 * bindings/js/JSDOMWindowCustom.cpp:
10824 (WebCore::JSDOMWindow::getPropertyAttributes):
10825 * bindings/js/JSDOMWindowCustom.h:
10826 (WebCore::asJSDOMWindow):
10827 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
10828 (WebCore::JSDOMWindow::customPut):
10829 (WebCore::JSDOMWindowBase::allowsAccessFrom):
10830 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
10831 * bindings/js/JSDOMWindowShell.cpp:
10832 (WebCore::JSDOMWindowShell::getPropertyAttributes):
10833 * bindings/js/JSDOMWindowShell.h:
10834 (WebCore::JSDOMWindowShell::classInfo):
10835 * bindings/js/JSDatabaseCustom.cpp:
10836 * bindings/js/JSDocumentCustom.cpp:
10837 * bindings/js/JSDocumentFragmentCustom.cpp:
10838 * bindings/js/JSElementCustom.cpp:
10839 * bindings/js/JSEventCustom.cpp:
10840 * bindings/js/JSEventListener.cpp:
10841 * bindings/js/JSEventListener.h:
10842 (WebCore::JSUnprotectedEventListener::create):
10843 (WebCore::JSEventListener::create):
10844 * bindings/js/JSEventTargetBase.cpp:
10845 * bindings/js/JSEventTargetBase.h:
10846 (WebCore::JSEventTargetBase::getValueProperty):
10847 (WebCore::JSEventTargetBase::putValueProperty):
10848 (WebCore::JSEventTargetBase::getOwnPropertySlot):
10849 (WebCore::JSEventTargetBase::put):
10850 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
10851 (WebCore::JSEventTargetPrototype::self):
10852 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
10853 (WebCore::JSEventTargetPrototype::classInfo):
10854 * bindings/js/JSEventTargetNode.cpp:
10855 * bindings/js/JSEventTargetNode.h:
10856 (WebCore::JSEventTargetNode::getOwnPropertySlot):
10857 (WebCore::JSEventTargetNode::getValueProperty):
10858 (WebCore::JSEventTargetNode::put):
10859 (WebCore::JSEventTargetNode::putValueProperty):
10860 * bindings/js/JSHTMLAllCollection.h:
10861 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
10862 (WebCore::JSHTMLAllCollection::toBoolean):
10863 * bindings/js/JSHTMLAppletElementCustom.cpp:
10864 * bindings/js/JSHTMLCollectionCustom.cpp:
10865 * bindings/js/JSHTMLDocumentCustom.cpp:
10866 * bindings/js/JSHTMLElementCustom.cpp:
10867 * bindings/js/JSHTMLEmbedElementCustom.cpp:
10868 * bindings/js/JSHTMLFormElementCustom.cpp:
10869 * bindings/js/JSHTMLFrameElementCustom.cpp:
10870 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
10871 * bindings/js/JSHTMLIFrameElementCustom.cpp:
10872 * bindings/js/JSHTMLInputElementBase.cpp:
10873 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
10874 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
10875 * bindings/js/JSHTMLInputElementBase.h:
10876 (WebCore::JSHTMLInputElementBase::classInfo):
10877 * bindings/js/JSHTMLObjectElementCustom.cpp:
10878 * bindings/js/JSHTMLOptionElementConstructor.cpp:
10879 * bindings/js/JSHTMLOptionElementConstructor.h:
10880 (WebCore::JSHTMLOptionElementConstructor::classInfo):
10881 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
10882 * bindings/js/JSHTMLSelectElementCustom.cpp:
10883 (WebCore::selectIndexSetter):
10884 (WebCore::JSHTMLSelectElement::indexSetter):
10885 * bindings/js/JSHTMLSelectElementCustom.h:
10886 * bindings/js/JSHistoryCustom.cpp:
10887 * bindings/js/JSImageConstructor.cpp:
10888 * bindings/js/JSImageConstructor.h:
10889 (WebCore::JSImageConstructor::classInfo):
10890 * bindings/js/JSInspectedObjectWrapper.cpp:
10891 * bindings/js/JSInspectedObjectWrapper.h:
10892 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
10893 (WebCore::JSInspectedObjectWrapper::classInfo):
10894 * bindings/js/JSInspectorCallbackWrapper.cpp:
10895 * bindings/js/JSInspectorCallbackWrapper.h:
10896 (WebCore::JSInspectorCallbackWrapper::classInfo):
10897 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
10898 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
10899 * bindings/js/JSLocationCustom.cpp:
10900 * bindings/js/JSMimeTypeArrayCustom.cpp:
10901 * bindings/js/JSNSResolver.cpp:
10902 * bindings/js/JSNSResolver.h:
10903 (WebCore::JSNSResolver::create):
10904 * bindings/js/JSNamedNodeMapCustom.cpp:
10905 * bindings/js/JSNamedNodesCollection.cpp:
10906 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
10907 * bindings/js/JSNamedNodesCollection.h:
10908 (WebCore::JSNamedNodesCollection::classInfo):
10909 * bindings/js/JSNavigatorCustom.cpp:
10910 * bindings/js/JSNodeCustom.cpp:
10911 * bindings/js/JSNodeFilterCondition.cpp:
10912 (WebCore::JSNodeFilterCondition::acceptNode):
10913 * bindings/js/JSNodeFilterCondition.h:
10914 (WebCore::JSNodeFilterCondition::create):
10915 * bindings/js/JSNodeFilterCustom.cpp:
10916 * bindings/js/JSNodeIteratorCustom.cpp:
10917 * bindings/js/JSNodeListCustom.cpp:
10918 * bindings/js/JSPluginArrayCustom.cpp:
10919 * bindings/js/JSPluginCustom.cpp:
10920 * bindings/js/JSPluginElementFunctions.cpp:
10921 (WebCore::getRuntimeObject):
10922 * bindings/js/JSPluginElementFunctions.h:
10923 * bindings/js/JSQuarantinedObjectWrapper.cpp:
10924 (WebCore::JSQuarantinedObjectWrapper::construct):
10925 (WebCore::JSQuarantinedObjectWrapper::call):
10926 * bindings/js/JSQuarantinedObjectWrapper.h:
10927 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
10928 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
10929 (WebCore::JSQuarantinedObjectWrapper::className):
10930 * bindings/js/JSRGBColor.cpp:
10931 * bindings/js/JSRGBColor.h:
10932 (WebCore::JSRGBColor::classInfo):
10933 * bindings/js/JSSQLResultSetRowListCustom.cpp:
10934 * bindings/js/JSSQLTransactionCustom.cpp:
10935 * bindings/js/JSSVGLazyEventListener.cpp:
10936 * bindings/js/JSSVGLazyEventListener.h:
10937 * bindings/js/JSSVGLengthCustom.cpp:
10938 * bindings/js/JSSVGMatrixCustom.cpp:
10939 (WebCore::JSSVGMatrix::inverse):
10940 (WebCore::JSSVGMatrix::rotateFromVector):
10941 * bindings/js/JSSVGPathSegCustom.cpp:
10942 * bindings/js/JSSVGPathSegListCustom.cpp:
10943 (WebCore::JSSVGPathSegList::initialize):
10944 (WebCore::JSSVGPathSegList::getItem):
10945 (WebCore::JSSVGPathSegList::insertItemBefore):
10946 (WebCore::JSSVGPathSegList::replaceItem):
10947 (WebCore::JSSVGPathSegList::removeItem):
10948 (WebCore::JSSVGPathSegList::appendItem):
10949 * bindings/js/JSSVGPointListCustom.cpp:
10950 * bindings/js/JSSVGTransformListCustom.cpp:
10951 * bindings/js/JSStorageCustom.cpp:
10952 * bindings/js/JSStyleSheetCustom.cpp:
10953 * bindings/js/JSStyleSheetListCustom.cpp:
10954 * bindings/js/JSTextCustom.cpp:
10955 * bindings/js/JSTreeWalkerCustom.cpp:
10956 * bindings/js/JSXMLHttpRequestConstructor.cpp:
10957 * bindings/js/JSXMLHttpRequestConstructor.h:
10958 (WebCore::JSXMLHttpRequestConstructor::classInfo):
10959 * bindings/js/JSXMLHttpRequestCustom.cpp:
10960 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10961 * bindings/js/JSXSLTProcessorConstructor.cpp:
10962 * bindings/js/JSXSLTProcessorConstructor.h:
10963 (WebCore::JSXSLTProcessorConstructor::classInfo):
10964 * bindings/js/JSXSLTProcessorCustom.cpp:
10965 * bindings/js/ScheduledAction.cpp:
10966 * bindings/js/ScheduledAction.h:
10967 * bindings/js/ScriptController.cpp:
10968 (WebCore::ScriptController::attachDebugger):
10969 (WebCore::ScriptController::windowScriptNPObject):
10970 * bindings/js/ScriptController.h:
10971 * bindings/js/ScriptControllerGtk.cpp:
10972 (WebCore::ScriptController::createScriptInstanceForWidget):
10973 * bindings/js/ScriptControllerMac.mm:
10974 (WebCore::ScriptController::createScriptInstanceForWidget):
10975 (WebCore::ScriptController::windowScriptObject):
10976 (WebCore::ScriptController::clearPlatformScriptObjects):
10977 (WebCore::updateRenderingForBindings):
10978 (WebCore::ScriptController::initJavaJSBindings):
10979 * bindings/js/ScriptControllerQt.cpp:
10980 (WebCore::ScriptController::createScriptInstanceForWidget):
10981 * bindings/js/ScriptControllerWin.cpp:
10982 (WebCore::ScriptController::createScriptInstanceForWidget):
10983 * bindings/js/ScriptControllerWx.cpp:
10984 (WebCore::ScriptController::createScriptInstanceForWidget):
10985 * bindings/js/StringSourceProvider.h:
10986 (WebCore::StringSourceProvider::getRange):
10987 * bindings/objc/DOM.mm:
10988 (-[DOMNode JSC::Bindings::]):
10989 * bindings/objc/DOMInternal.h:
10990 * bindings/objc/DOMInternal.mm:
10991 (-[WebScriptObject _initializeScriptDOMNodeImp]):
10992 * bindings/objc/DOMUtility.mm:
10993 (JSC::createDOMWrapper):
10994 (WebCore::createDOMWrapper):
10995 * bindings/objc/WebScriptObject.mm:
10996 (WebCore::createJSWrapper):
10997 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
10998 * bindings/objc/WebScriptObjectPrivate.h:
10999 * bindings/scripts/CodeGeneratorJS.pm:
11000 * bridge/NP_jsobject.cpp:
11001 * bridge/NP_jsobject.h:
11002 * bridge/c/c_class.cpp:
11003 * bridge/c/c_class.h:
11004 * bridge/c/c_instance.cpp:
11005 * bridge/c/c_instance.h:
11006 * bridge/c/c_runtime.cpp:
11007 * bridge/c/c_runtime.h:
11008 * bridge/c/c_utility.cpp:
11009 * bridge/c/c_utility.h:
11010 * bridge/jni/jni_class.cpp:
11011 * bridge/jni/jni_class.h:
11012 * bridge/jni/jni_instance.cpp:
11013 * bridge/jni/jni_instance.h:
11014 * bridge/jni/jni_jsobject.h:
11015 * bridge/jni/jni_jsobject.mm:
11016 (JavaJSObject::call):
11017 (JavaJSObject::convertJObjectToValue):
11018 * bridge/jni/jni_objc.mm:
11019 (JSC::Bindings::dispatchJNICall):
11020 * bridge/jni/jni_runtime.cpp:
11021 * bridge/jni/jni_runtime.h:
11022 * bridge/jni/jni_utility.cpp:
11023 * bridge/jni/jni_utility.h:
11024 * bridge/npruntime.cpp:
11025 (_NPN_GetStringIdentifier):
11026 * bridge/objc/WebScriptObject.h:
11027 * bridge/objc/objc_class.h:
11028 * bridge/objc/objc_class.mm:
11029 * bridge/objc/objc_instance.h:
11030 * bridge/objc/objc_instance.mm:
11031 * bridge/objc/objc_runtime.h:
11032 * bridge/objc/objc_runtime.mm:
11033 * bridge/objc/objc_utility.h:
11034 * bridge/objc/objc_utility.mm:
11035 * bridge/qt/qt_class.cpp:
11036 * bridge/qt/qt_class.h:
11037 * bridge/qt/qt_instance.cpp:
11038 * bridge/qt/qt_instance.h:
11039 * bridge/qt/qt_runtime.cpp:
11040 (JSC::Bindings::convertQVariantToValue):
11041 (JSC::Bindings::):
11042 * bridge/qt/qt_runtime.h:
11043 * bridge/runtime.cpp:
11044 * bridge/runtime.h:
11045 * bridge/runtime_array.cpp:
11046 * bridge/runtime_array.h:
11047 * bridge/runtime_method.cpp:
11048 * bridge/runtime_method.h:
11049 * bridge/runtime_object.cpp:
11050 * bridge/runtime_object.h:
11051 * bridge/runtime_root.cpp:
11052 (JSC::Bindings::RootObject::invalidate):
11053 (JSC::Bindings::RootObject::gcProtect):
11054 (JSC::Bindings::RootObject::gcUnprotect):
11055 * bridge/runtime_root.h:
11056 * bridge/testbindings.cpp:
11057 * bridge/testbindings.mm:
11058 * bridge/testqtbindings.cpp:
11059 * dom/Document.cpp:
11060 (WebCore::Document::~Document):
11061 * dom/NSResolver.h:
11062 * dom/Node.cpp:
11063 (WebCore::Node::setDocument):
11064 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
11065 (WebCore::resolveNamespacesForSelector):
11066 (WebCore::Node::querySelector):
11067 (WebCore::Node::querySelectorAll):
11068 * dom/Node.h:
11069 * dom/NodeFilter.cpp:
11070 * dom/NodeFilter.h:
11071 * dom/NodeFilterCondition.cpp:
11072 * dom/NodeFilterCondition.h:
11073 * dom/NodeIterator.cpp:
11074 * dom/NodeIterator.h:
11075 * dom/Traversal.cpp:
11076 * dom/Traversal.h:
11077 * dom/TreeWalker.cpp:
11078 * dom/TreeWalker.h:
11079 * dom/make_names.pl:
11080 * history/CachedPage.cpp:
11081 * history/CachedPage.h:
11082 * html/HTMLPlugInElement.cpp:
11083 (WebCore::HTMLPlugInElement::getInstance):
11084 * html/HTMLPlugInElement.h:
11085 * loader/FrameLoader.cpp:
11086 * loader/FrameLoader.h:
11087 * loader/icon/IconDatabase.cpp:
11088 (WebCore::iconDatabase):
11089 * page/Console.cpp:
11090 * page/Console.h:
11091 * page/InspectorController.cpp:
11092 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
11093 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
11094 (WebCore::InspectorResource::setXMLHttpRequestProperties):
11095 (WebCore::InspectorResource::sourceString):
11096 (WebCore::getResourceDocumentNode):
11097 (WebCore::search):
11098 (WebCore::InspectorController::focusNode):
11099 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
11100 (WebCore::InspectorController::addDatabaseScriptResource):
11101 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
11102 * page/InspectorController.h:
11103 (WebCore::InspectorController::profiles):
11104 * page/JavaScriptCallFrame.cpp:
11105 (WebCore::JavaScriptCallFrame::scopeChain):
11106 * page/JavaScriptCallFrame.h:
11107 (WebCore::JavaScriptCallFrame::create):
11108 (WebCore::JavaScriptCallFrame::update):
11109 * page/JavaScriptDebugListener.h:
11110 * page/JavaScriptDebugServer.cpp:
11111 (WebCore::dispatchDidParseSource):
11112 * page/JavaScriptDebugServer.h:
11113 * page/JavaScriptProfile.cpp:
11114 * page/JavaScriptProfile.h:
11115 * page/JavaScriptProfileNode.cpp:
11116 (WebCore::getTotalTime):
11117 (WebCore::getSelfTime):
11118 (WebCore::getTotalPercent):
11119 (WebCore::getSelfPercent):
11120 (WebCore::getNumberOfCalls):
11121 (WebCore::getChildren):
11122 (WebCore::getVisible):
11123 * page/JavaScriptProfileNode.h:
11124 * page/Page.cpp:
11125 (WebCore::Page::setDebuggerForAllPages):
11126 (WebCore::Page::setDebugger):
11127 * page/Page.h:
11128 (WebCore::Page::debugger):
11129 * page/mac/FrameMac.mm:
11130 * platform/KURL.h:
11131 (WebCore::KURL::operator JSC::UString):
11132 * platform/text/AtomicString.cpp:
11133 (WebCore::AtomicString::add):
11134 (WebCore::AtomicString::find):
11135 * platform/text/AtomicString.h:
11136 (WebCore::AtomicString::AtomicString):
11137 * platform/text/PlatformString.h:
11138 * platform/text/String.cpp:
11139 (WebCore::charactersToDouble):
11140 * platform/win/BString.cpp:
11141 * platform/win/BString.h:
11142 * plugins/MimeTypeArray.h:
11143 * plugins/Plugin.h:
11144 * plugins/PluginArray.h:
11145 * plugins/PluginView.cpp:
11146 (WebCore::PluginView::start):
11147 (WebCore::PluginView::performRequest):
11148 (WebCore::PluginView::bindingInstance):
11149 * plugins/PluginView.h:
11150 * plugins/gtk/PluginViewGtk.cpp:
11151 (WebCore::PluginView::paint):
11152 (WebCore::PluginView::handleKeyboardEvent):
11153 (WebCore::PluginView::handleMouseEvent):
11154 (WebCore::PluginView::setNPWindowRect):
11155 (WebCore::PluginView::stop):
11156 (WebCore::PluginView::init):
11157 * plugins/qt/PluginViewQt.cpp:
11158 (WebCore::PluginView::setNPWindowRect):
11159 (WebCore::PluginView::stop):
11160 (WebCore::PluginView::init):
11161 * plugins/win/PluginViewWin.cpp:
11162 (WebCore::PluginView::dispatchNPEvent):
11163 (WebCore::PluginView::handleKeyboardEvent):
11164 (WebCore::PluginView::handleMouseEvent):
11165 (WebCore::PluginView::setNPWindowRect):
11166 (WebCore::PluginView::stop):
11167 * storage/Database.cpp:
11168 (WebCore::Database::Database):
11169 * xml/XMLHttpRequest.cpp:
11170 (WebCore::XMLHttpRequest::responseText):
11171 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
11172 (WebCore::XMLHttpRequest::clearResponse):
11173 (WebCore::XMLHttpRequest::dropProtection):
11174 (WebCore::XMLHttpRequest::didFinishLoading):
11175 (WebCore::XMLHttpRequest::didReceiveData):
11176 * xml/XMLHttpRequest.h:
11177
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000111782008-09-07 Adam Barth <abarth@webkit.org>
11179
11180 Reviewed by Sam Weinig.
11181
11182 Adopt opener restriction on frame navigation.
11183 https://bugs.webkit.org/show_bug.cgi?id=20642
11184
11185 This restriction helps prevent an attacker from navigating top-level
11186 windows that were created by another web site.
11187
11188 Tests: http/tests/security/frameNavigation/not-opener.html
11189 http/tests/security/frameNavigation/opener.html
11190
11191 * loader/FrameLoader.cpp:
11192 (WebCore::canAccessAncestor):
11193 (WebCore::FrameLoader::shouldAllowNavigation):
11194
mitz@apple.com83469af2008-09-07 22:29:56 +0000111952008-09-07 Dan Bernstein <mitz@apple.com>
11196
mitz@apple.com08ff58c2008-09-07 23:19:11 +000011197 Reviewed by Maciej Stachowiak.
11198
11199 - use the correct sign for vertical offsets of combining marks
11200
11201 * platform/graphics/win/UniscribeController.cpp:
11202 (WebCore::UniscribeController::shapeAndPlaceItem):
11203
112042008-09-07 Dan Bernstein <mitz@apple.com>
11205
mitz@apple.com83469af2008-09-07 22:29:56 +000011206 Reviewed by Dave Hyatt.
11207
mitz@apple.com78685b22008-09-07 22:30:29 +000011208 - add the combining mark offsets in two places where I forgot them
11209
11210 * platform/graphics/win/FontCGWin.cpp:
11211 (WebCore::Font::drawGlyphs):
11212
112132008-09-07 Dan Bernstein <mitz@apple.com>
11214
11215 Reviewed by Dave Hyatt.
11216
mitz@apple.com83469af2008-09-07 22:29:56 +000011217 - correct glyph advances in complex text using web fonts rendered with
11218 Core Graphics
11219
11220 * platform/graphics/win/FontCustomPlatformData.cpp:
11221 (WebCore::FontCustomPlatformData::fontPlatformData):
11222
timothy@apple.com968ebc92008-09-07 16:48:41 +0000112232008-09-07 Keishi Hattori <casey.hattori@gmail.com>
11224
11225 Adds console.dirxml support to the Web Inspector.
11226
11227 https://bugs.webkit.org/show_bug.cgi?id=19156
11228
11229 Reviewed by Timothy Hatcher.
11230
11231 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
11232 * bindings/js/JSConsoleCustom.cpp:
11233 (WebCore::JSConsole::dirxml):
11234 * page/Console.cpp:
11235 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
11236 * page/Console.h:
11237 (WebCore::): Added NodeMessageLevel.
11238 * page/Console.idl: Added console.dirxml.
11239 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
11240 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
11241 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
11242 * page/inspector/ElementsTreeOutline.js: Added.
11243 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
11244 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
11245 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
11246 * page/inspector/inspector.css:
11247 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
11248 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
11249 (WebInspector.altKeyDown):
11250 (WebInspector.forceHoverHighlight):
11251 (WebInspector.hoveredDOMNode):
11252 (WebInspector._updateHoverHighlightSoon):
11253 (WebInspector._updateHoverHighlight):
11254 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
11255 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
11256 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
11257 isAncestorIncludingParentFrames.
11258
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000112592008-09-06 Mark Rowe <mrowe@apple.com>
11260
11261 Qt build fix.
11262
11263 * bridge/qt/qt_runtime.cpp:
11264 (KJS::Bindings::convertQVariantToValue):
11265
mrowe@apple.comf88a4632008-09-07 05:44:58 +000011266=== End merge of squirrelfish-extreme ===
11267
112682008-09-05 Oliver Hunt <oliver@apple.com>
11269
11270 Start bringing up SFX on windows.
11271
11272 Reviewed by Mark Rowe and Sam Weinig
11273
11274 Start doing the work to bring up SFX on windows. Initially
11275 just working on WREC, as it does not make any calls so reduces
11276 the amount of code that needs to be corrected.
11277
11278 Add forwarding headers
11279
11280 * ChangeLog:
11281 * ForwardingHeaders/masm/MacroAssembler.h: Added.
11282 * WebCore.vcproj/WebCore.vcproj:
11283
112842008-08-27 Mark Rowe <mrowe@apple.com>
11285
11286 Reviewed by Oliver Hunt.
11287
11288 Fix the build of the full WebKit stack.
11289
11290 Add forwarding headers.
11291
11292 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
11293 * ForwardingHeaders/wrec/WREC.h: Added.
11294
11295=== Start merge of squirrelfish-extreme ===
11296
antti@apple.com13c24932008-09-07 03:54:21 +0000112972008-09-06 Antti Koivisto <antti@apple.com>
11298
11299 Reviewed by Dave Hyatt.
11300
11301 <rdar://problem/6187043>
11302 Don't parse full HTML user agent style sheet unless it is actually needed
11303 <rdar://problem/6131889>
11304 WebView is significantly more expensive to create recently
11305
11306 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
11307 startup. Some clients may never use most of the rules.
11308
11309 With this patch we use simplified UA stylesheet until we hit something it can't handle.
11310 This avoids full stylesheet parsing on application startup (due to empty document construction)
11311 and also makes it possible for clients with very simple demands (divs and spans only) never to load
11312 the full style.
11313
11314 It also delays view source style parsing until it is used.
11315
11316 * css/CSSStyleSelector.cpp:
11317 (WebCore::elementCanUseSimpleDefaultStyle):
11318 (WebCore::CSSStyleSelector::CSSStyleSelector):
11319 (WebCore::loadFullDefaultStyle):
11320 (WebCore::loadSimpleDefaultStyle):
11321 (WebCore::loadViewSourceStyle):
11322 (WebCore::CSSStyleSelector::matchUARules):
11323 (WebCore::CSSStyleSelector::styleForElement):
11324
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000113252008-09-06 Kevin Ollivier <kevino@theolliviers.com>
11326
11327 wx build fix.
11328
11329 * WebCoreSources.bkl:
11330
antti@apple.come953f862008-09-06 23:27:09 +0000113312008-09-06 Antti Koivisto <antti@apple.com>
11332
antti@apple.com00dfa532008-09-06 23:32:26 +000011333 Reverting r35953 which was causing problems on Windows which relies on
11334 WebCore timers in nested event loops. r36132 did alternative fix.
11335
11336 * page/Chrome.cpp:
11337 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
11338 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
11339
113402008-09-06 Antti Koivisto <antti@apple.com>
11341
antti@apple.come953f862008-09-06 23:27:09 +000011342 Reviewed by Dan Bernstein.
11343
11344 Fix <rdar://problem/6201644>
11345 https://bugs.webkit.org/show_bug.cgi?id=20493
11346 Crash after OK in dialog box and reloading page in secure mode
11347
11348 Limited loader only fix since the general timer fix is causing problems on Windows.
11349
11350 * loader/loader.cpp:
11351 (WebCore::Loader::servePendingRequests):
11352 (WebCore::Loader::Host::Host):
11353 (WebCore::Loader::Host::didFinishLoading):
11354 (WebCore::Loader::Host::didFail):
11355 (WebCore::Loader::Host::didReceiveData):
11356 * loader/loader.h:
11357 (WebCore::Loader::Host::processingResource):
11358
mitz@apple.com046bf642008-09-06 08:31:02 +0000113592008-09-06 Dan Bernstein <mitz@apple.com>
11360
11361 Reviewed by Dave Hyatt.
11362
mitz@apple.comc0b050b2008-09-06 22:39:34 +000011363 The initial Core Text adoption prototype was made by Daniel Fenwick.
11364
11365 - <rdar://problem/5158514> Add a Core Text-based complex text code path
11366
11367 Currently the Core Text code path is not used in any configuration.
11368
11369 * WebCore.xcodeproj/project.pbxproj: Added files.
11370 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
11371 * platform/graphics/Font.cpp:
11372 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
11373 of the loop.
11374 * platform/graphics/GlyphBuffer.h:
11375 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
11376 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
11377 Added getCTFont() and getCFStringAttributes() and corresponding data
11378 members for Core Text.
11379 * platform/graphics/mac/CoreTextController.cpp: Added.
11380 (WebCore::roundCGFloat): Helper function.
11381 (WebCore::ceilCGFloat): Helper function.
11382 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
11383 (WebCore::CoreTextController::CoreTextController):
11384 (WebCore::CoreTextController::offsetForPosition):
11385 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
11386 run into subruns as necessary such that each subrun can be rendered with
11387 a single font. Also separates out soft hyphens and replaces them with
11388 real hyphens, because Core Text does not emit a glyph for soft hyphens.
11389 Then calls collectCoreTextRunsForCharacters() on each subrun.
11390 (WebCore::CoreTextController::advance):
11391 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
11392 a CTLine from the given subrun and collects its CoreTextRuns.
11393 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
11394 rounding hacks, letter- and word-spacing and glyph substitutions and
11395 stores the resulting adjusted glyphs and advances.
11396 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
11397 (WebCore::CoreTextController::totalWidth):
11398 (WebCore::CoreTextController::finalRoundingWidth):
11399 (WebCore::CoreTextController::CoreTextRun::ctRun):
11400 (WebCore::CoreTextController::CoreTextRun::glyphCount):
11401 (WebCore::CoreTextController::CoreTextRun::fontData):
11402 (WebCore::CoreTextController::CoreTextRun::characters):
11403 (WebCore::CoreTextController::CoreTextRun::stringLocation):
11404 (WebCore::CoreTextController::CoreTextRun::stringLength):
11405 (WebCore::CoreTextController::CoreTextRun::indexAt):
11406 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
11407 FontMacATSUI.mm.
11408 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
11409 (WebCore::disableLigatures): Changed to call
11410 FontPlatformData::allowsLigatures().
11411 (WebCore::overrideLayoutOperation): Changed to call
11412 FontPlatformData::roundsGlyphAdvances().
11413 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
11414 (WebCore::Font::selectionRectForComplexText): Changed to use
11415 totalWidth() instead of advancing to the end and using runWidthSoFar().
11416 (WebCore::Font::drawComplexText):
11417 (WebCore::Font::floatWidthForComplexText): Ditto.
11418 (WebCore::Font::offsetForPositionForComplexText):
11419 * platform/graphics/mac/FontPlatformData.h:
11420 * platform/graphics/mac/FontPlatformDataMac.mm:
11421 (WebCore::FontPlatformData::setFont):
11422 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
11423 AppKit rendering mode.
11424 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
11425 heuristic that allows ligatures in fonts that do not have a glyph for
11426 'a', based on the assumption that such fonts are only used in complex
11427 text.
11428 * platform/graphics/mac/SimpleFontDataMac.mm:
11429 (WebCore::SimpleFontData::platformInit):
11430 (WebCore::SimpleFontData::platformDestroy):
11431 (WebCore::SimpleFontData::getCTFont): Added.
11432 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
11433 returns an attributes dictionary.
11434 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
11435 * platform/text/mac/ShapeArabic.h: Ditto.
11436
114372008-09-06 Dan Bernstein <mitz@apple.com>
11438
11439 Reviewed by Dave Hyatt.
11440
mitz@apple.com046bf642008-09-06 08:31:02 +000011441 - make combining mark offsets work in CG text on Windows
11442
11443 * platform/graphics/win/FontCGWin.cpp:
11444 (WebCore::Font::drawGlyphs): The old code tried to translate the text
11445 matrix, but failed for two reasons: it did not actually change the
11446 matrix, and even if it did, CGContextSetTextPosition overwrites the
11447 translation values in the text matrix. Instead, just added the
11448 translation to the anchor point.
11449
alp@webkit.org369cdca2008-09-06 04:08:30 +0000114502008-09-05 Gustavo Noronha Silva <gns@gnome.org>
11451
11452 Reviewed by Alp Toker.
11453
11454 https://bugs.webkit.org/show_bug.cgi?id=18346
11455 [GTK] Remove build warnings
11456
11457 Applied some casts, and removed an unused typedef to make the
11458 compiler happy, printing less warnings when building.
11459
11460 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
11461 * platform/graphics/gtk/SimpleFontDataPango.cpp:
11462 (WebCore::SimpleFontData::containsCharacters):
11463 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
11464 (webkit_video_sink_set_caps):
11465 * platform/network/soup/ResourceHandleSoup.cpp:
11466
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000114672008-09-05 Eric Seidel <eric@webkit.org>
11468
eric@webkit.org5ac37902008-09-06 00:21:58 +000011469 Reviewed by Adam Roben.
11470
11471 Build fix for WebKitWin and Chromium
11472
11473 * platform/FileSystem.h:
11474
114752008-09-05 Eric Seidel <eric@webkit.org>
11476
eric@webkit.org3cb292c2008-09-05 22:17:56 +000011477 Reviewed by Darin Adler.
11478
11479 Try to make Chromium compile with ToT:
11480 - Wrap a few places which depend on KJS:: in #if USE(JSC)
11481 - Include some windows forward declarations
11482
11483 * dom/Node.h:
11484 * page/Console.h:
11485 * page/animation/CompositeAnimation.h:
11486 * platform/FileSystem.h:
11487 * platform/graphics/Image.h:
11488 * platform/text/AtomicString.h:
11489 * platform/text/String.cpp:
11490 * rendering/style/RenderStyle.h:
11491
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000114922008-09-05 Dave Hyatt <hyatt@apple.com>
11493
11494 Add support for runtime switchability of the Aqua look and the native look on Windows.
11495 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
11496
11497 Reviewed by Adam Roben
11498
11499 * WebCore.vcproj/WebCore.vcproj:
11500 * page/Settings.cpp:
11501 (WebCore::Settings::setShouldPaintNativeControls):
11502 * page/Settings.h:
11503 (WebCore::Settings::shouldPaintNativeControls):
11504 * rendering/RenderThemeSafari.cpp:
11505 (WebCore::theme):
11506 * rendering/RenderThemeWin.cpp:
11507
antti@apple.combced97f2008-09-05 18:52:05 +0000115082008-09-05 Antti Koivisto <antti@apple.com>
11509
11510 Qt build fix.
11511
11512 * svg/SVGFEImageElement.cpp:
11513 (WebCore::SVGFEImageElement::build):
11514
aroben@apple.comca0c3362008-09-05 15:33:28 +0000115152008-09-05 Dirk Schulze <vbs85@gmx.de>
11516
11517 Gtk build fix
11518
11519 * GNUmakefile.am:
11520
antti@apple.com72e4a842008-09-05 09:28:11 +0000115212008-09-05 Antti Koivisto <antti@apple.com>
11522
antti@apple.com49e46662008-09-05 10:36:59 +000011523 Another build fix.
11524
11525 * svg/SVGFEImageElement.cpp:
11526 (WebCore::SVGFEImageElement::notifyFinished):
11527
115282008-09-05 Antti Koivisto <antti@apple.com>
11529
antti@apple.comfeec2582008-09-05 10:03:39 +000011530 Build fixes.
11531
11532 * WebCore.xcodeproj/project.pbxproj:
11533 * svg/graphics/filters/SVGFEImage.cpp:
11534 (WebCore::FEImage::cachedImage):
11535
115362008-09-05 Antti Koivisto <antti@apple.com>
11537
darin@apple.com07c80c62008-09-05 18:15:43 +000011538 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000011539
11540 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
11541 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
11542
11543 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
11544 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
11545 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
11546 we avoid re-decoding resources, especially images.
11547
11548 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
11549 CacheControl: max-age=0 header. That would be added in reload case.
11550
11551 The approach for revalidation is to kick the original resource out from the memory cache
11552 and create a new CachedResource that represents the revalidation request. In case
11553 we get 304 back for the request we put the original resource back to the cache, update
11554 its expiration date and switch the clients registered to revalidation resource to be
11555 clients of the original resource.
11556
11557 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
11558 This allows updating the handles to point to the original resource when the revalidation succeeds. It
11559 also acts as refcounting smart pointer.
11560
11561 * WebCore.pro:
11562 * WebCore.vcproj/WebCore.vcproj:
11563 * WebCore.xcodeproj/project.pbxproj:
11564 * css/CSSFontFaceSource.h:
11565 * css/CSSImportRule.h:
11566 * dom/Clipboard.h:
11567 (WebCore::Clipboard::dragImage):
11568 * dom/ProcessingInstruction.h:
11569 * dom/ScriptElement.h:
11570 * dom/XMLTokenizer.cpp:
11571 (WebCore::XMLTokenizer::isWaitingForScripts):
11572 * dom/XMLTokenizer.h:
11573 * html/HTMLImageLoader.cpp:
11574 (WebCore::HTMLImageLoader::setImage):
11575 (WebCore::HTMLImageLoader::updateFromElement):
11576 (WebCore::HTMLImageLoader::notifyFinished):
11577 * html/HTMLImageLoader.h:
11578 (WebCore::HTMLImageLoader::image):
11579 * html/HTMLLinkElement.h:
11580 * html/HTMLTokenizer.cpp:
11581 (WebCore::HTMLTokenizer::reset):
11582 (WebCore::HTMLTokenizer::scriptHandler):
11583 (WebCore::HTMLTokenizer::notifyFinished):
11584 * html/HTMLTokenizer.h:
11585 * loader/Cache.cpp:
11586 (WebCore::Cache::revalidateResource):
11587 (WebCore::Cache::revalidationSucceeded):
11588 (WebCore::Cache::revalidationFailed):
11589 * loader/Cache.h:
11590 * loader/CachedResource.cpp:
11591 (WebCore::CachedResource::CachedResource):
11592 (WebCore::CachedResource::~CachedResource):
11593 (WebCore::CachedResource::isExpired):
11594 (WebCore::CachedResource::setResponse):
11595 (WebCore::CachedResource::deleteIfPossible):
11596 (WebCore::CachedResource::setResourceToRevalidate):
11597 (WebCore::CachedResource::clearResourceToRevalidate):
11598 (WebCore::CachedResource::switchClientsToRevalidatedResource):
11599 (WebCore::CachedResource::canUseCacheValidator):
11600 (WebCore::CachedResource::mustRevalidate):
11601 * loader/CachedResource.h:
11602 (WebCore::CachedResource::canDelete):
11603 (WebCore::CachedResource::registerHandle):
11604 (WebCore::CachedResource::unregisterHandle):
11605 (WebCore::CachedResource::isCacheValidator):
11606 (WebCore::CachedResource::resourceToRevalidate):
11607 (WebCore::CachedResource::setExpirationDate):
11608 * loader/CachedResourceHandle.cpp: Added.
11609 (WebCore::CachedResourceHandleBase::setResource):
11610 * loader/CachedResourceHandle.h: Added.
11611 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
11612 (WebCore::CachedResourceHandleBase::get):
11613 (WebCore::CachedResourceHandleBase::operator!):
11614 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
11615 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
11616 (WebCore::CachedResourceHandleBase::operator=):
11617 (WebCore::CachedResourceHandle::CachedResourceHandle):
11618 (WebCore::CachedResourceHandle::get):
11619 (WebCore::CachedResourceHandle::operator->):
11620 (WebCore::CachedResourceHandle::operator=):
11621 (WebCore::CachedResourceHandle::operator==):
11622 (WebCore::CachedResourceHandle::operator!=):
11623 (WebCore::operator==):
11624 (WebCore::operator!=):
11625 * loader/DocLoader.cpp:
11626 (WebCore::DocLoader::checkForReload):
11627 * loader/UserStyleSheetLoader.h:
11628 * loader/loader.cpp:
11629 (WebCore::Loader::Host::servePendingRequests):
11630 (WebCore::Loader::Host::didFinishLoading):
11631 (WebCore::Loader::Host::didFail):
11632 (WebCore::Loader::Host::didReceiveResponse):
11633 (WebCore::Loader::Host::didReceiveData):
11634 * page/EventHandler.cpp:
11635 (WebCore::EventHandler::selectCursor):
11636 * rendering/RenderImage.cpp:
11637 (WebCore::RenderImage::setCachedImage):
11638 (WebCore::RenderImage::imageChanged):
11639 * rendering/RenderImage.h:
11640 (WebCore::RenderImage::cachedImage):
11641 (WebCore::RenderImage::imagePtr):
11642 * rendering/style/RenderStyle.h:
11643 * rendering/style/StyleCachedImage.h:
11644 (WebCore::StyleCachedImage::data):
11645 (WebCore::StyleCachedImage::cachedImage):
11646 * svg/SVGFEImageElement.h:
11647 * svg/graphics/filters/SVGFEImage.h:
11648 * xml/XSLImportRule.h:
11649
beidson@apple.comab60d982008-09-05 04:58:12 +0000116502008-09-04 Brady Eidson <beidson@apple.com>
11651
11652 Reviewed by Mitz
11653
11654 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
11655
11656 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
11657 to model default NSURLRequest behavior in a cross-platform manner.
11658
11659 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
11660 client that wished to enforce a much larger default timeout using NSURLRequest API.
11661
11662 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
11663 behavior on the web and this restores previous Safari/WebKit behavior.
11664
11665 It would be easy to write a layout test for this, but to be effective it would have
11666 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
11667
11668 * manual-tests/timeout-test.html: Added.
11669 * manual-tests/timeout-test.php: Added.
11670
11671 * platform/network/ResourceRequestBase.h:
11672 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
11673 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
11674 * platform/network/mac/ResourceRequestMac.mm:
11675 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
11676 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
11677 WebKit applications to enforce their own default timeout.
11678
mitz@apple.com20268542008-09-05 04:26:32 +0000116792008-09-04 Dan Bernstein <mitz@apple.com>
11680
11681 Reviewed by Beth Dakin.
11682
11683 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
11684
11685 Test: fast/repaint/button-spurious-layout-hint.html
11686
11687 * rendering/RenderButton.cpp:
11688 (WebCore::RenderButton::setStyle): Reset the inner block's style box
11689 flex to 0 to avoid getting a spurious layout hint.
11690
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000116912008-09-04 Kevin Ollivier <kevino@theolliviers.com>
11692
11693 wx build fixes.
11694
11695 * WebCoreSources.bkl:
11696 * bindings/js/ScriptControllerWx.cpp: Added.
11697 (WebCore::ScriptController::createScriptInstanceForWidget):
11698 * page/wx/AccessibilityObjectWx.cpp: Added.
11699 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
11700 * platform/graphics/wx/GraphicsContextWx.cpp:
11701 * webcore-base.bkl:
11702 * webcore-wx.bkl:
11703
mitz@apple.com95a87502008-09-04 23:27:19 +0000117042008-09-04 Dan Bernstein <mitz@apple.com>
11705
11706 Reviewed by Mark Rowe.
11707
11708 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
11709 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
11710 require a different approach
11711
11712 * css/CSSGrammar.y:
11713
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000117142008-09-04 Mark Rowe <mrowe@apple.com>
11715
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000011716 Reviewed by Eric Seidel.
11717
11718 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
11719 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
11720
11721 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
11722 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
11723 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
11724
117252008-09-04 Mark Rowe <mrowe@apple.com>
11726
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000011727 Mac build fix.
11728
11729 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
11730
eric@webkit.org0716a542008-09-04 20:44:12 +0000117312008-09-04 Eric Seidel <eric@webkit.org>
11732
11733 Build fix only, no review.
11734
11735 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
11736
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000117372008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
11738
11739 Reviewed by Eric Seidel.
11740
11741 http://bugs.webkit.org/show_bug.cgi?id=20380
11742 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
11743
11744 * config.h: Include the configuration header generated by autotools if
11745 available.
11746
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000117472008-09-04 Dan Bernstein <mitz@apple.com>
11748
11749 Rubber-stamped by Dave Hyatt.
11750
11751 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
11752
11753 * loader/CachedFont.cpp:
11754 (WebCore::CachedFont::allClientsRemoved):
11755 * loader/CachedFont.h:
11756 * loader/CachedImage.cpp:
11757 (WebCore::CachedImage::allClientsRemoved):
11758 * loader/CachedImage.h:
11759 * loader/CachedResource.cpp:
11760 (WebCore::CachedResource::removeClient):
11761 * loader/CachedResource.h:
11762 (WebCore::CachedResource::allClientsRemoved):
11763
aroben@apple.com0da404d2008-09-04 16:09:33 +0000117642008-09-04 Adam Roben <aroben@apple.com>
11765
aroben@apple.comdd3861a2008-09-04 16:09:53 +000011766 Windows build fix after r36071
11767
11768 We were getting these errors:
11769
11770 error C2356: initialization segment must not change during translation
11771 unit
11772
11773 This was happening because multiple files #included by
11774 DerivedSources.cpp were themselves #including StaticConstructors.h. I
11775 fixed the error by adding header guards to StaticConstructors.h so its
11776 contents will only be included once.
11777
11778 But it's also not a good idea for StaticConstructors.h to end up in
11779 DerivedSources.cpp, since it ends up "polluting" all the source files
11780 we have in there. So I removed all the files that include
11781 StaticConstructors.h and added some preprocessor directives to
11782 DerivedSources.cpp to catch this error in the future.
11783
11784 * DerivedSources.cpp: Removed the *Names.cpp files, which include
11785 StaticConstructors.h, and added some preprocessor directives to make
11786 sure we don't end up accidentally including StaticConstructors.h in
11787 the future.
11788 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
11789 * platform/StaticConstructors.h: Added header guards.
11790
117912008-09-04 Adam Roben <aroben@apple.com>
11792
aroben@apple.com0da404d2008-09-04 16:09:33 +000011793 Windows build fix
11794
11795 * platform/graphics/win/FontPlatformData.h: Added a missing #include
11796 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
11797 * platform/text/PlatformString.h: Added a missing #include of
11798 PassRefPtr.h.
11799
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000118002008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
11801
11802 Reviewed by Simon.
11803
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000011804 Fix the QtWebKit build to match changes in r36016
11805
11806 * WebCore.pro:
11807 * bridge/qt/qt_instance.cpp:
11808 (KJS::Bindings::QtInstance::getRuntimeObject):
11809 * bridge/qt/qt_runtime.cpp:
11810 (KJS::Bindings::convertQVariantToValue):
11811 (KJS::Bindings::QtConnectionObject::execute):
11812
118132008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
11814
11815 Reviewed by Simon.
11816
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000011817 Re-enable support for user stylesheets in QtWebKit
11818
11819 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
11820 code path, which allows us to keep API support for
11821 loading user style sheets from remote URLs.
11822
11823 As part of the change UserStyleSheetLoader.cpp/h was
11824 moved from WebCore/loader/mac to WebCore/loader.
11825
11826 * WebCore.pro:
11827 * WebCore.xcodeproj/project.pbxproj:
11828 * dom/Document.h:
11829 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
11830 (UserStyleSheetLoader::UserStyleSheetLoader):
11831 (UserStyleSheetLoader::~UserStyleSheetLoader):
11832 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
11833 * page/qt/FrameQt.cpp:
11834 (WebCore::Frame::setUserStyleSheetLocation):
11835 (WebCore::Frame::setUserStyleSheet):
11836
alp@webkit.org539ff852008-09-04 09:14:42 +0000118372008-09-04 Alp Toker <alp@nuanti.com>
11838
11839 Reviewed by Eric.
11840
11841 Remove left-over QT and CAIRO platform checks.
11842
11843 * html/CanvasRenderingContext2D.cpp:
11844
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000118452008-09-04 Eric Seidel <eric@webkit.org>
11846
11847 Reviewed by Mark Rowe.
11848
mitz@apple.com9388d252008-09-04 08:58:58 +000011849 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000011850
11851 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
11852
mitz@apple.com89557c52008-09-04 07:26:53 +0000118532008-09-04 Dan Bernstein <mitz@apple.com>
11854
11855 Reviewed by Dave Hyatt.
11856
11857 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
11858 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
11859
11860 * rendering/RenderBlock.cpp:
11861 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
11862 positioned movement only case, call
11863 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
11864 layout if that fails.
11865 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
11866 * rendering/RenderBox.h:
11867 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
11868 layoutDoingPositionedMovementOnly to this, and made this function
11869 check if the width changed. If it did, return, leaving the object
11870 dirty. The caller can then call layout(). The width can change even
11871 in the "positioned movement only" case if the object is shrink-to-fit
11872 and the available width constraint is met. (This was the case in the
11873 bug).
11874 * rendering/RenderObject.h:
11875 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
11876 Renamed layoutDoingPositionedMovementOnly() to this.
11877
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000118782008-09-03 Eric Seidel <eric@webkit.org>
11879
11880 No review, build fix only.
11881
11882 Attempt to fix the Qt build.
11883
11884 * WebCore.pro: add page/animation to include path
11885
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000118862008-09-03 Mark Rowe <mrowe@apple.com>
11887
11888 Mac build fix. Correctly detect whether dashboard support is enabled.
11889
11890 * DerivedSources.make:
11891
eric@webkit.org3eefe672008-09-04 01:32:26 +0000118922008-09-03 Eric Seidel <eric@webkit.org>
11893
11894 Reviewed by Sam.
11895
eric@webkit.org5e069092008-09-04 01:32:51 +000011896 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
11897
11898 * Configurations/WebCore.xcconfig: add missing ENABLE_*
11899 * config.h: add rules for V8_BINDINGS
11900
119012008-09-03 Eric Seidel <eric@webkit.org>
11902
11903 Reviewed by Sam.
11904
eric@webkit.org3eefe672008-09-04 01:32:26 +000011905 https://bugs.webkit.org/show_bug.cgi?id=20620
11906
11907 Add #if USE(JSC) around KJS dependencies
11908 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
11909 1. Most platforms have it on anyway
11910 2. V8 is going to want to share some of that code
11911 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
11912
11913 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
11914 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
11915 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
11916 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
11917 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
11918 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
11919 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
11920 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
11921 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
11922 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
11923 * platform/text/AtomicString.cpp: add USE(JSC)
11924 * platform/text/AtomicString.h: add USE(JSC)
11925 * platform/text/PlatformString.h: add USE(JSC)
11926 * platform/text/String.cpp: add USE(JSC)
11927 * platform/text/StringImpl.cpp: add USE(JSC)
11928 * platform/text/StringImpl.h: add USE(JSC)
11929
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000119302008-09-03 Dean McNamee <deanm@chromium.org>
11931
11932 Reviewed by Darin Adler.
11933
11934 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
11935 Bug 20511: Remove static initializers on Windows
11936
11937 Avoid static initializers on Windows by forcing Visual C++ to put
11938 all static initializers in a code segment that is never executed.
11939
11940 * config.h:
11941 * css/MediaFeatureNames.cpp:
11942 * dom/EventNames.cpp:
11943 * dom/QualifiedName.cpp:
11944 * dom/make_names.pl:
11945 * platform/StaticConstructors.h:
11946 * platform/text/AtomicString.cpp:
11947
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000119482008-09-03 Dirk Schulze <vbs85@gmx.de>
11949
11950 Reviewed by Dave Hyatt.
11951
11952 Make FontCairo draw TextStroke and TextFill separately.
11953
11954 [CAIRO] draw TextFill and TextStroke separately.
11955 [https://bugs.webkit.org/show_bug.cgi?id=20631]
11956
11957 * platform/graphics/cairo/FontCairo.cpp:
11958 (WebCore::Font::drawGlyphs):
11959
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000119602008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000011961
11962 Reviewed by Dave Hyatt.
11963
11964 https://bugs.webkit.org/show_bug.cgi?id=19663
11965 Account for paint and timer lag when animating images. Also pretend
11966 that images whose animations were paused (by becoming invisible)
11967 continued to animate, by "catching up" to the correct frame when they're
11968 shown again.
11969
11970 * platform/graphics/BitmapImage.cpp:
11971 (WebCore::BitmapImage::BitmapImage):
11972 (WebCore::BitmapImage::startAnimation):
11973 (WebCore::BitmapImage::advanceAnimation):
11974 (WebCore::BitmapImage::internalAdvanceAnimation):
11975 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
11976 * platform/graphics/BitmapImage.h:
11977 * platform/graphics/cairo/ImageCairo.cpp:
11978 (WebCore::BitmapImage::draw):
11979 * platform/graphics/cg/ImageCG.cpp:
11980 (WebCore::BitmapImage::draw):
11981 * platform/graphics/qt/ImageQt.cpp:
11982 (WebCore::BitmapImage::draw):
11983 * platform/graphics/wx/ImageWx.cpp:
11984 (WebCore::BitmapImage::draw):
11985
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000119862008-09-03 Kevin McCullough <kmccullough@apple.com>
11987
11988 Reviewed by Tim.
11989
11990 Remove the rest of the "zombie" code from the profiler.
11991 - There is no longer a need for the ProfilerClient callback mechanism.
11992
11993 * page/Console.cpp:
11994 (WebCore::Console::Console):
11995 (WebCore::Console::profile):
11996 (WebCore::Console::profileEnd): Move the variables from the header to
11997 here since we don't have to wait for a callback to use them.
11998 * page/Console.h:
11999 * page/InspectorController.cpp:
12000 (WebCore::InspectorController::startUserInitiatedProfiling):
12001 (WebCore::InspectorController::stopUserInitiatedProfiling):
12002 * page/InspectorController.h:
12003
adachan@apple.com38c66182008-09-03 21:43:44 +0000120042008-09-03 Ada Chan <adachan@apple.com>
12005
12006 Windows build fix.
12007
12008 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
12009
dino@apple.com5c917622008-09-03 21:15:53 +0000120102008-09-01 Dean Jackson <dino@apple.com>
12011
12012 Reviewed by Dave Hyatt.
12013
12014 https://bugs.webkit.org/show_bug.cgi?id=20594
12015 Add DOM interfaces for WebKitCSSKeyframeRule
12016 and WebKitCSSKeyframesRule.
12017
12018 TEST: LayoutTests/css3/keyframes-rule.html
12019
12020 * css/WebKitCSSKeyframeRule.idl: Added
12021 * css/WebKitCSSKeyframesRule.idl: Added
12022
12023 * bindings/js/JSCSSRuleCustom.cpp:
12024 (WebCore::toJS):
12025 Add return of new JS Keyframe rules
12026 * bindings/objc/DOMInternal.h:
12027 Include new internal header
12028
12029 * DerivedSources.make:
12030 * GNUmakefile.am:
12031 * WebCore.pro:
12032 * WebCore.vcproj/WebCore.vcproj:
12033 * WebCore.xcodeproj/project.pbxproj:
12034 * WebCoreSources.bkl:
12035 Build configs for new files
12036
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000120372008-09-03 Adam Roben <aroben@apple.com>
12038
12039 Windows build fix
12040
12041 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
12042 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
12043 convenience/consistency.
12044
adele@apple.com27713582008-09-03 20:13:41 +0000120452008-09-03 Adele Peterson <adele@apple.com>
12046
12047 Build fix.
12048
12049 * WebCore.vcproj/WebCore.vcproj:
12050
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000120512008-09-03 David Hyatt <hyatt@apple.com>
12052
12053 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
12054
12055 Reviewed by Darin (ages ago)
12056
12057 Added fast/block/float/clamped-right-float.html
12058
12059 * rendering/RenderBlock.cpp:
12060 (WebCore::RenderBlock::positionNewFloats):
12061
hyatt@apple.comafe62052008-09-03 18:13:39 +0000120622008-09-02 David Hyatt <hyatt@apple.com>
12063
12064 Add support for canvas text drawing APIs.
12065
12066 Reviewed by olliej
12067
12068 Tests added as fast/canvas/canvas-text-*.html
12069
12070 * DerivedSources.make:
12071 * WebCore.xcodeproj/project.pbxproj:
12072 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
12073 (WebCore::JSCanvasRenderingContext2D::fillText):
12074 (WebCore::JSCanvasRenderingContext2D::strokeText):
12075 * css/CSSStyleSelector.cpp:
12076 (WebCore::CSSStyleSelector::initForStyleResolve):
12077 (WebCore::CSSStyleSelector::applyPropertyToStyle):
12078 * css/CSSStyleSelector.h:
12079 * html/CanvasRenderingContext2D.cpp:
12080 (WebCore::CanvasRenderingContext2D::State::State):
12081 (WebCore::CanvasRenderingContext2D::font):
12082 (WebCore::CanvasRenderingContext2D::setFont):
12083 (WebCore::CanvasRenderingContext2D::textAlign):
12084 (WebCore::CanvasRenderingContext2D::setTextAlign):
12085 (WebCore::CanvasRenderingContext2D::textBaseline):
12086 (WebCore::CanvasRenderingContext2D::setTextBaseline):
12087 (WebCore::CanvasRenderingContext2D::fillText):
12088 (WebCore::CanvasRenderingContext2D::strokeText):
12089 (WebCore::CanvasRenderingContext2D::measureText):
12090 (WebCore::CanvasRenderingContext2D::drawTextInternal):
12091 (WebCore::CanvasRenderingContext2D::accessFont):
12092 * html/CanvasRenderingContext2D.h:
12093 * html/CanvasRenderingContext2D.idl:
12094 * html/TextMetrics.h: Added.
12095 (WebCore::TextMetrics::create):
12096 (WebCore::TextMetrics::width):
12097 (WebCore::TextMetrics::setWidth):
12098 (WebCore::TextMetrics::TextMetrics):
12099 * html/TextMetrics.idl: Added.
12100 * platform/graphics/Font.cpp:
12101 (WebCore::Font::lineGap):
12102 * platform/graphics/Font.h:
12103 * platform/graphics/GraphicsContext.cpp:
12104 (WebCore::GraphicsContext::drawBidiText):
12105 * platform/graphics/GraphicsContext.h:
12106 * platform/graphics/GraphicsTypes.cpp:
12107 (WebCore::textAlignName):
12108 (WebCore::parseTextAlign):
12109 (WebCore::textBaselineName):
12110 (WebCore::parseTextBaseline):
12111 * platform/graphics/GraphicsTypes.h:
12112 (WebCore::):
12113
sullivan@apple.combc066af2008-09-03 17:37:24 +0000121142008-09-03 John Sullivan <sullivan@apple.com>
12115
12116 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
12117
12118 Fixed by Darin, reviewed by me
12119
12120 * page/animation/AnimationBase.cpp:
12121 (WebCore::AnimationBase::propertiesEqual):
12122 added ensurePropertyMap() to this static function
12123 (WebCore::AnimationBase::getPropertyAtIndex):
12124 ditto
12125 (WebCore::AnimationBase::getNumProperties):
12126 ditto
12127
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000121282008-09-03 Kevin McCullough <kmccullough@apple.com>
12129
12130 Reviewed by Darin and Tim.
12131
12132 Remove most of the "zombie" mode from the profiler. Next we will need
12133 to remove the client callback mechanism in profiles.
12134 - These changes are a result of changes to JSCore.
12135
12136 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
12137 * page/Console.cpp:
12138 (WebCore::retrieveLastCaller):
12139 (WebCore::Console::profileEnd):
12140 * page/InspectorController.cpp:
12141 (WebCore::InspectorController::stopUserInitiatedProfiling):
12142
adele@apple.com643616b2008-09-03 16:57:58 +0000121432008-09-03 Adele Peterson <adele@apple.com>
12144
12145 Reviewed by Darin Adler.
12146
12147 Test: fast/forms/search-display-none-cancel-button.html
12148
12149 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
12150
12151 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
12152
12153 * rendering/RenderTextControl.cpp:
12154 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
12155 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
12156 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
12157 (WebCore::RenderTextControl::createSubtreeIfNeeded):
12158 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
12159 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
12160 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
12161 (WebCore::RenderTextControl::calcHeight): ditto.
12162 (WebCore::RenderTextControl::nodeAtPoint): ditto.
12163 (WebCore::RenderTextControl::layout): ditto.
12164 (WebCore::RenderTextControl::calcPrefWidths): ditto.
12165 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
12166 (WebCore::RenderTextControl::clientPaddingRight): ditto.
12167
12168 * rendering/TextControlInnerElements.cpp:
12169 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
12170 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
12171 (WebCore::TextControlInnerElement::attachInnerElement): Added.
12172 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
12173 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
12174 * rendering/TextControlInnerElements.h:
12175
ap@webkit.orgacd84142008-09-03 08:08:19 +0000121762008-08-28 Alexey Proskuryakov <ap@webkit.org>
12177
12178 Reviewed by Maciej.
12179
12180 Elminate SQLiteAuthorizer class.
12181
12182 * WebCore.xcodeproj/project.pbxproj:
12183 * WebCore.vcproj/WebCore.vcproj:
12184 * GNUmakefile.am
12185 Removed SQLiteAuthorizer.h.
12186
12187 * platform/sql/SQLiteAuthorizer.cpp:
12188 * platform/sql/SQLiteAuthorizer.h: Removed.
12189 * platform/sql/SQLiteDatabase.cpp:
12190 (WebCore::SQLiteDatabase::authorizerFunction):
12191 (WebCore::SQLiteDatabase::setAuthorizer):
12192 * platform/sql/SQLiteDatabase.h:
12193 * storage/DatabaseAuthorizer.h:
12194 (WebCore::DatabaseAuthorizer::create):
12195 (WebCore::DatabaseAuthorizer::createView):
12196 (WebCore::DatabaseAuthorizer::createTempView):
12197 (WebCore::DatabaseAuthorizer::dropView):
12198 (WebCore::DatabaseAuthorizer::dropTempView):
12199 (WebCore::DatabaseAuthorizer::allowSelect):
12200 (WebCore::DatabaseAuthorizer::allowReindex):
12201 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
12202
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000122032008-09-03 Dirk Schulze <vbs85@gmx.de>
12204
12205 Reviewed by Mark Rowe.
12206
12207 WebKitGtk build fix.
12208
12209 * GNUmakefile.am:
12210 * page/animation/AnimationController.h:
12211
mrowe@apple.come344ad02008-09-03 06:59:03 +0000122122008-09-02 Robert Blaut <webkit@blaut.biz>
12213
12214 Reviewed by Geoff Garen.
12215
12216 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
12217 Misplaced elements should not close DL lists.
12218
12219 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
12220
12221 * html/HTMLParser.cpp:
12222 (WebCore::HTMLParser::handleError):
12223
mrowe@apple.com7a909462008-09-03 06:51:31 +0000122242008-09-02 Glenn Wilson <wilsong@gmail.com>
12225
12226 Reviewed by Darin Adler.
12227
12228 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
12229 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
12230
12231 We would inappropriately interpret and apply an invalid CSS "color" property
12232 when the value is a predefined color preceded by a '#' symbol. For example,
12233 style="color:#gray;" would apply the color gray when it should not.
12234
12235 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
12236 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
12237 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
12238 an ignorable token.
12239
12240 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
12241 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
12242 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
12243
12244 Test: css1/color_and_background/invalid_color.html
12245
12246 * css/CSSGrammar.y:
12247
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000122482008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
12249
12250 Reviewed by Darin Adler.
12251
12252 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
12253 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
12254
12255 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
12256
12257 Test: css3/khtml-background-size-0x0-bmp.html
12258
12259 * rendering/RenderBox.cpp:
12260 (WebCore::RenderBox::repaintLayerRectsForImage):
12261
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000122622008-09-02 Glenn Wilson <wilsong@gmail.com>
12263
12264 Reviewed by Eric Seidel.
12265
12266 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
12267 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
12268
12269 The function checkForOrphanedUnits() would change the length of a list whose size was
12270 was already determined before the call to checkForOrphanedUnits was made. Later in
12271 the caller, the old size was being used for boundary management.
12272
12273 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
12274 calling function, before the size of the list is determined.
12275
12276 Test: fast/css/orphaned_units_crash.html
12277
12278 * css/CSSParser.cpp:
12279 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
12280
mrowe@apple.com170bd522008-09-03 05:49:51 +0000122812008-09-02 Dirk Schulze <vbs85@gmx.de>
12282
12283 Reviewed by Darin Adler.
12284
mrowe@apple.comeb877a52008-09-03 06:01:15 +000012285 Fallback on invalid fill or stroke styles in Canvas was
12286 transparent black. Changed it to last valid style.
12287
12288 Canvas fillStyle() and strokeStyle() needs fallback
12289 https://bugs.webkit.org/show_bug.cgi?id=20474
12290
12291 Tests: fast/canvas/canvas-invalid-fillstyle.html
12292 fast/canvas/canvas-invalid-strokestyle.html
12293
12294 * html/CanvasStyle.cpp:
12295 (WebCore::CanvasStyle::applyStrokeColor):
12296 (WebCore::CanvasStyle::applyFillColor):
12297
122982008-09-02 Dirk Schulze <vbs85@gmx.de>
12299
12300 Reviewed by Darin Adler.
12301
mrowe@apple.com170bd522008-09-03 05:49:51 +000012302 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
12303 Updated drawImage() in canvas to match the current specification.
12304
12305 Test: fast/canvas/drawImage-with-negative-source-destination.html
12306
12307 * html/CanvasRenderingContext2D.cpp:
12308 (WebCore::normalizeRect):
12309 (WebCore::CanvasRenderingContext2D::drawImage):
12310
mrowe@apple.com96916d12008-09-03 05:41:44 +0000123112008-08-26 Mark Rowe <mrowe@apple.com>
12312
12313 Reviewed by Darin Adler.
12314
12315 <rdar://problem/5768210> Switch back to the system version of SQLite
12316
12317 Use the system version of SQLite when it is new enough to provide the functionality
12318 that WebCore requires.
12319
12320 * Configurations/Base.xcconfig:
12321 * Configurations/DebugRelease.xcconfig:
12322 * Configurations/WebCore.xcconfig:
12323
mitz@apple.comce268c12008-09-03 02:59:00 +0000123242008-09-02 Dan Bernstein <mitz@apple.com>
12325
12326 - build fix
12327
12328 * page/animation/AnimationBase.h:
12329
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000123302008-09-02 Chris Marrin <cmarrin@apple.com>
12331
12332 Reviewed by Dave Hyatt.
12333
12334 AnimationController.cpp should be split into separate files
12335 https://bugs.webkit.org/show_bug.cgi?id=20604
12336
12337 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
12338 recommendation of Dave Hyatt.
12339
12340 * GNUmakefile.am:
12341 * WebCore.pro:
12342 * WebCore.vcproj/WebCore.vcproj:
12343 * WebCore.xcodeproj/project.pbxproj:
12344 * WebCoreSources.bkl:
12345 Build files.
12346
12347 * page/AnimationController.cpp: Removed.
12348 * page/AnimationController.h: Removed.
12349 * page/animation: Added.
12350 * page/animation/AnimationBase.cpp: Added.
12351 * page/animation/AnimationBase.h: Added.
12352 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
12353 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
12354 * page/animation/CompositeAnimation.cpp: Added.
12355 * page/animation/CompositeAnimation.h: Added.
12356 * page/animation/ImplicitAnimation.cpp: Added.
12357 * page/animation/ImplicitAnimation.h: Added.
12358 * page/animation/KeyframeAnimation.cpp: Added.
12359 * page/animation/KeyframeAnimation.h: Added.
12360
mitz@apple.comcb917a22008-09-03 00:57:37 +0000123612008-09-02 Dan Bernstein <mitz@apple.com>
12362
12363 - release build fix
12364
12365 * platform/graphics/cg/GraphicsContextCG.cpp:
12366 (WebCore::calculateDrawingMode):
12367
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000123682008-09-02 Timothy Hatcher <timothy@apple.com>
12369
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000012370 Make console functions log the correct resource URL and
12371 line number for where the call originated.
12372
12373 https://bugs.webkit.org/show_bug.cgi?id=17234
12374 <rdar://problem/5732837>
12375
12376 Reviewed by Kevin McCullough.
12377
12378 Test: manual-tests/inspector/console-call-line-numbers.html
12379
12380 * bindings/js/JSConsoleCustom.cpp:
12381 (WebCore::JSConsole::count): Call the impl.
12382 (WebCore::JSConsole::timeEnd): Ditto.
12383 * manual-tests/inspector/console-call-line-numbers.html: Added.
12384 * manual-tests/inspector/resources/script-console-calls.js: Added.
12385 * page/Console.cpp:
12386 (WebCore::retrieveLastCaller): Helper to get the URL and line.
12387 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
12388 line number to pass to addMessageToConsole.
12389 (WebCore::Console::info): Ditto.
12390 (WebCore::Console::log): Ditto.
12391 (WebCore::Console::assertCondition): Ditto.
12392 (WebCore::Console::count): Ditto.
12393 (WebCore::Console::timeEnd): Ditto.
12394 (WebCore::Console::warn): Ditto.
12395 * page/Console.h:
12396 * page/Console.idl: Make count and timeEnd custom.
12397
123982008-09-02 Timothy Hatcher <timothy@apple.com>
12399
timothy@apple.comf3aa7342008-09-02 21:30:26 +000012400 Removed IDL files from WebCore's framework resources.
12401
12402 * WebCore.xcodeproj/project.pbxproj:
12403
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000124042008-09-02 Dan Bernstein <mitz@apple.com>
12405
12406 Reviewed by Dave Hyatt.
12407
12408 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
12409
12410 * html/HTMLParser.cpp:
12411 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
12412 cap on the number of consecutive identical residual style tags to
12413 reopen.
12414 (WebCore::HTMLParser::popBlock): Ditto.
12415
ap@webkit.org879328b2008-09-02 16:16:06 +0000124162008-09-02 Alexey Proskuryakov <ap@webkit.org>
12417
12418 Reviewed by Adam Roben.
12419
12420 A little database quota management cleanup.
12421
12422 * storage/OriginQuotaManager.cpp:
12423 (WebCore::OriginQuotaManager::OriginQuotaManager):
12424 (WebCore::OriginQuotaManager::lock):
12425 (WebCore::OriginQuotaManager::unlock):
12426 (WebCore::OriginQuotaManager::trackOrigin):
12427 (WebCore::OriginQuotaManager::tracksOrigin):
12428 (WebCore::OriginQuotaManager::addDatabase):
12429 (WebCore::OriginQuotaManager::removeDatabase):
12430 (WebCore::OriginQuotaManager::removeOrigin):
12431 (WebCore::OriginQuotaManager::markDatabase):
12432 (WebCore::OriginQuotaManager::diskUsage):
12433 * storage/OriginQuotaManager.h:
12434 Changed to assert that a lock is taken more directly and reliably. Removed comments about
12435 main/background threads, as this is likely to stop being true with synchronous Database calls
12436 being made on worker threads.
12437
12438 * storage/OriginUsageRecord.cpp:
12439 (WebCore::OriginUsageRecord::OriginUsageRecord):
12440 (WebCore::OriginUsageRecord::addDatabase):
12441 (WebCore::OriginUsageRecord::removeDatabase):
12442 (WebCore::OriginUsageRecord::markDatabase):
12443 (WebCore::OriginUsageRecord::diskUsage):
12444 * storage/OriginUsageRecord.h:
12445 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
12446 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
12447 can be replaced with a single boolean for OriginUsageRecord.
12448 Added assertions for string parameters being unshared.
12449
12450
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000124512008-09-01 Adam Barth <abarth@webkit.org>
12452
12453 Reviewed by Sam Weinig.
12454
12455 https://bugs.webkit.org/show_bug.cgi?id=19760
12456
12457 Make granting LoadLocalResources conditional on a policy.
12458
12459 * WebCore.base.exp:
12460 * dom/Document.cpp:
12461 (WebCore::Document::initSecurityContext):
12462 * loader/FrameLoader.cpp:
12463 (WebCore::FrameLoader::setLocalLoadPolicy):
12464 (WebCore::FrameLoader::restrictAccessToLocal):
12465 * loader/FrameLoader.h:
12466 (WebCore::FrameLoader::):
12467 * platform/SecurityOrigin.cpp:
12468 (WebCore::SecurityOrigin::grantLoadLocalResources):
12469 * platform/SecurityOrigin.h:
12470
dino@apple.com6e2db502008-09-01 23:05:28 +0000124712008-09-01 Dean Jackson <dino@apple.com>
12472
dino@apple.com59ca9f52008-09-01 23:34:13 +000012473 Reviewed by Sam Weinig.
12474
12475 https://bugs.webkit.org/show_bug.cgi?id=20571
12476 Make sure Window object can assign Animation/Transition event
12477 listeners via attributes.
12478
12479 Also added a bunch of transition event tests, although
12480 only transition-end-event-window is directly relevant to this patch.
12481
12482 (WebCore::JSDOMWindowBase::put):
12483
12484 Tests: transitions/transition-end-event-all-properties.html
12485 transitions/transition-end-event-attributes.html
12486 transitions/transition-end-event-container.html
12487 transitions/transition-end-event-left.html
12488 transitions/transition-end-event-multiple-01.html
12489 transitions/transition-end-event-multiple-02.html
12490 transitions/transition-end-event-multiple-03.html
12491 transitions/transition-end-event-multiple-04.html
12492 transitions/transition-end-event-nested.html
12493 transitions/transition-end-event-transform.html
12494 transitions/transition-end-event-window.html
12495
124962008-09-01 Dean Jackson <dino@apple.com>
12497
dino@apple.com6e2db502008-09-01 23:05:28 +000012498 Reviewed by Sam Weinig
12499
12500 Code styling cleanup.
12501
12502 * bindings/js/JSDOMWindowBase.cpp:
12503 (WebCore::JSDOMWindowBase::getValueProperty):
12504 (WebCore::JSDOMWindowBase::put):
12505
weinig@apple.com3412bb42008-09-01 21:22:54 +0000125062008-09-01 Geoffrey Garen <ggaren@apple.com>
12507
12508 Reviewed by Darin Adler.
12509
12510 First cut at inline caching for access to vanilla JavaScript properties.
12511
12512 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
12513 to WebCore classes, and PutPropertySlot& arguments to put functions.
12514
12515 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
12516 inline caching for global properties, so global assignment can be optimized.
12517
12518 * ForwardingHeaders/kjs/StructureID.h: Added.
12519 * bindings/js/JSDOMBinding.h:
12520 (WebCore::DOMObject::DOMObject):
12521 * bindings/js/JSDOMWindowBase.cpp:
12522 (WebCore::JSDOMWindowBase::put):
12523 * bindings/js/JSDOMWindowBase.h:
12524 * bindings/js/JSDOMWindowCustom.h:
12525 (WebCore::JSDOMWindow::customPut):
12526 * bindings/js/JSDOMWindowShell.cpp:
12527 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
12528 (WebCore::JSDOMWindowShell::put):
12529 * bindings/js/JSDOMWindowShell.h:
12530 * bindings/js/JSEventTargetBase.h:
12531 (WebCore::JSEventTargetBase::put):
12532 * bindings/js/JSEventTargetNode.h:
12533 (WebCore::JSEventTargetNode::put):
12534 * bindings/js/JSHTMLAppletElementCustom.cpp:
12535 (WebCore::JSHTMLAppletElement::customPut):
12536 * bindings/js/JSHTMLEmbedElementCustom.cpp:
12537 (WebCore::JSHTMLEmbedElement::customPut):
12538 * bindings/js/JSHTMLInputElementBase.cpp:
12539 (WebCore::JSHTMLInputElementBase::put):
12540 * bindings/js/JSHTMLInputElementBase.h:
12541 * bindings/js/JSHTMLObjectElementCustom.cpp:
12542 (WebCore::JSHTMLObjectElement::customPut):
12543 * bindings/js/JSHistoryCustom.cpp:
12544 (WebCore::JSHistory::customPut):
12545 * bindings/js/JSInspectedObjectWrapper.cpp:
12546 (WebCore::JSInspectedObjectWrapper::wrap):
12547 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
12548 * bindings/js/JSInspectedObjectWrapper.h:
12549 * bindings/js/JSInspectorCallbackWrapper.cpp:
12550 (WebCore::JSInspectorCallbackWrapper::wrap):
12551 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
12552 * bindings/js/JSInspectorCallbackWrapper.h:
12553 * bindings/js/JSLocationCustom.cpp:
12554 (WebCore::JSLocation::customPut):
12555 * bindings/js/JSPluginElementFunctions.cpp:
12556 (WebCore::runtimeObjectCustomPut):
12557 * bindings/js/JSPluginElementFunctions.h:
12558 * bindings/js/JSQuarantinedObjectWrapper.cpp:
12559 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
12560 (WebCore::JSQuarantinedObjectWrapper::put):
12561 * bindings/js/JSQuarantinedObjectWrapper.h:
12562 * bindings/js/JSStorageCustom.cpp:
12563 (WebCore::JSStorage::customPut):
12564 * bindings/objc/WebScriptObject.mm:
12565 (-[WebScriptObject setValue:forKey:]):
12566 * bindings/scripts/CodeGeneratorJS.pm:
12567 * bridge/NP_jsobject.cpp:
12568 (_NPN_SetProperty):
12569 * bridge/jni/jni_jsobject.mm:
12570 (JavaJSObject::setMember):
12571 * bridge/objc/objc_class.mm:
12572 (KJS::Bindings::ObjcClass::fallbackObject):
12573 * bridge/objc/objc_runtime.h:
12574 * bridge/objc/objc_runtime.mm:
12575 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
12576 (ObjcFallbackObjectImp::put):
12577 * bridge/runtime.cpp:
12578 (KJS::Bindings::Instance::createRuntimeObject):
12579 * bridge/runtime_array.cpp:
12580 (RuntimeArray::put):
12581 * bridge/runtime_array.h:
12582 * bridge/runtime_object.cpp:
12583 (RuntimeObjectImp::RuntimeObjectImp):
12584 (RuntimeObjectImp::put):
12585 * bridge/runtime_object.h:
12586
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000125872008-09-01 Dirk Schulze <vbs85@gmx.de>
12588
12589 Reviewed by Eric Seidel.
12590
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000012591 Fixed border-radius for Cairo.
12592
12593 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12594 (WebCore::GraphicsContext::strokeArc):
12595
125962008-09-01 Dirk Schulze <vbs85@gmx.de>
12597
12598 Reviewed by Eric Seidel.
12599
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000012600 Added canvas's globalAlpha to cairo.
12601
12602 * platform/graphics/GraphicsContext.h:
12603 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12604 (WebCore::GraphicsContext::fillPath):
12605 (WebCore::GraphicsContext::strokePath):
12606 (WebCore::GraphicsContext::setAlpha):
12607 (WebCore::GraphicsContext::getAlpha):
12608 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
12609 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
12610 * platform/graphics/cairo/ImageCairo.cpp:
12611 (WebCore::BitmapImage::draw):
12612
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000126132008-08-31 Simon Hausmann <hausmann@webkit.org>
12614
12615 Unreviewed Qt build fix.
12616
12617 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
12618 the .h file
12619
darin@apple.come7945852008-08-31 06:58:07 +0000126202008-08-30 Darin Adler <darin@apple.com>
12621
12622 Reviewed by Maciej.
12623
12624 - adopt some new JavaScriptCore functions where appropriate
12625
12626 * bindings/js/JSDOMWindowBase.cpp:
12627 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
12628 (WebCore::windowProtoFuncBToA): Ditto.
12629 * bindings/js/JSEventListener.cpp:
12630 (WebCore::JSLazyEventListener::eventParameterName): Adopted
12631 jsNontrivialString.
12632 * bindings/js/JSSVGLazyEventListener.cpp:
12633 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
12634
beidson@apple.com21c821f2008-08-30 00:26:01 +0000126352008-08-29 Brady Eidson <beidson@apple.com>
12636
beidson@apple.come1bd6032008-08-30 00:30:11 +000012637 Reviewed by Anders' rubberstamp
12638
12639 Style cleanup to match MediaTokenizer::writeRawData()
12640
12641 * loader/PluginDocument.cpp:
12642 (WebCore::PluginTokenizer::writeRawData):
12643
126442008-08-29 Brady Eidson <beidson@apple.com>
12645
beidson@apple.com21c821f2008-08-30 00:26:01 +000012646 Reviewed by Anders
12647
mitz@apple.com098b1e62008-09-24 16:39:55 +000012648 https://bugs.webkit.org/show_bug.cgi?id=20556
12649 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
12650
beidson@apple.com21c821f2008-08-30 00:26:01 +000012651 Fix regression I introducted in 35946
12652 Already covered by media/video-click-dlbclick-standalone.html
12653
12654 * loader/MediaDocument.cpp:
12655 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
12656 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
12657 an ASSERT signifying that this method should only be called once, to more closely follow the
12658 PluginDocument case.
12659
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000126602008-08-29 Beth Dakin <bdakin@apple.com>
12661
12662 Reviewed by Sam Weinig.
12663
12664 Fix for <rdar://problem/6181588>
12665
12666 This patch makes hit testing take into account the new concept of a
12667 disconnected frame, in which some of the content may not be
12668 visible. The current hit testing mechanism starts at a target frame
12669 and drills down for a HitTestResult. In some cases, drilling down
12670 will find a non-visible result. When this happens, we need to try
12671 again, starting at a higher level -- namely, starting at the main
12672 frame.
12673
12674 * editing/Editor.cpp:
12675 (WebCore::Editor::insideVisibleArea): New function that tests if a
12676 point is inside the visible area for a disconnected frame.
12677 * editing/Editor.h:
12678 * page/EventHandler.cpp:
12679 (WebCore::EventHandler::hitTestResultAtPoint):
12680
adele@apple.comfb903062008-08-29 22:30:18 +0000126812008-08-29 Adele Peterson <adele@apple.com>
12682
12683 Reviewed by Adam Roben.
12684
12685 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
12686
12687 * GNUmakefile.am:
12688 * WebCore.pro:
12689 * WebCore.vcproj/WebCore.vcproj:
12690 * WebCore.xcodeproj/project.pbxproj:
12691 * WebCoreSources.bkl:
12692 * html/HTMLTextFieldInnerElement.cpp: Removed.
12693 * html/HTMLTextFieldInnerElement.h: Removed.
12694 * rendering/RenderTextControl.cpp:
12695 (WebCore::RenderTextControl::createSubtreeIfNeeded):
12696 * rendering/RenderTextControl.h:
12697 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
12698 (WebCore::TextControlInnerElement::TextControlInnerElement):
12699 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
12700 (WebCore::TextControlInnerTextElement::defaultEventHandler):
12701 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
12702 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
12703 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
12704 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
12705 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
12706
eric@webkit.org298c65b2008-08-29 21:39:32 +0000127072008-08-29 Eric Seidel <eric@webkit.org>
12708
eric@webkit.org77837ce2008-08-29 21:40:07 +000012709 Rubber-stamped by aroben.
12710
12711 Add GraphicsContext.h include to GraphcisContextPrivate.h
12712
12713 GraphicsContextPrivate uses StrokeStyle which is defined
12714 in GraphicsContext.h but it doesn't include that header.
12715 CoreGraphics build doesn't fail here due to the order
12716 it happens to include files.
12717
12718 * platform/graphics/GraphicsContextPrivate.h:
12719
127202008-08-29 Eric Seidel <eric@webkit.org>
12721
eric@webkit.org298c65b2008-08-29 21:39:32 +000012722 Reviewed by hyatt.
12723
12724 Fix GeneratedImage to respect Image's refcounting
12725 Fixing potential crashers (future if not current)
12726 https://bugs.webkit.org/show_bug.cgi?id=20567
12727
12728 I don't know if it's possible to make the current code
12729 crash, thus I've not made a test.
12730
12731 * css/CSSGradientValue.cpp:
12732 (WebCore::CSSGradientValue::image):
12733 * css/CSSImageGeneratorValue.cpp:
12734 (WebCore::CSSImageGeneratorValue::removeClient):
12735 (WebCore::CSSImageGeneratorValue::getImage):
12736 * css/CSSImageGeneratorValue.h:
12737 * platform/graphics/GeneratedImage.h:
12738 (WebCore::GeneratedImage::GeneratedImage):
12739 * rendering/style/RenderStyle.cpp:
12740 (WebCore::RenderStyle::setContent):
12741 * rendering/style/RenderStyle.h:
12742
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000127432008-08-29 Eric Carlson <eric.carlson@apple.com>
12744
12745 Reviewed by Adele.
12746
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000012747 Fix for <rdar://problem/6093767>
12748 https://bugs.webkit.org/show_bug.cgi?id=20526
12749
12750 Don't allow video to render until unsupported track types have been disabled.
12751
12752 * platform/graphics/win/QTMovieWin.cpp:
12753 (QTMovieWinPrivate::task):
12754 (QTMovieWinPrivate::drawingComplete):
12755 (QTMovieWinPrivate::clearGWorld):
12756
127572008-08-29 Eric Carlson <eric.carlson@apple.com>
12758
12759 Reviewed by Adele.
12760
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000012761 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
12762 <rdar://problem/6169301>
12763
12764 Return the size of the movie data instead of 1000.
12765
12766 Test: media/progress-event-total.html
12767
12768 * platform/graphics/win/QTMovieWin.cpp:
12769 (QTMovieWin::dataSize):
12770
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000127712008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
12772
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000012773 Reviewed by Eric Seidel.
12774
12775 [janitor/qt] Start replacing port specific getters with the generic native getter
12776 To get the native presentation of an image we currently have platform
12777 specific #ifdef's and a generic getter using NativeImagePtr. This patch
12778 extends this to the ImageBuffer and updates the Qt platform to get rid
12779 of the special #ifdefs.
12780
12781 https://bugs.webkit.org/attachment.cgi?id=22861
12782
12783 * platform/graphics/BitmapImage.h:
12784 * platform/graphics/Image.h:
12785 * platform/graphics/qt/ImageQt.cpp:
12786 * platform/graphics/qt/StillImageQt.cpp:
12787 * platform/graphics/qt/StillImageQt.h:
12788 * platform/qt/ClipboardQt.cpp:
12789 (WebCore::ClipboardQt::createDragImage):
12790 (WebCore::ClipboardQt::declareAndWriteDragImage):
12791 * platform/qt/CursorQt.cpp:
12792 * platform/qt/PasteboardQt.cpp:
12793 (WebCore::Pasteboard::writeImage):
12794
127952008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
12796
hausmann@webkit.org0367b582008-08-29 15:56:02 +000012797 Reviewed by Simon.
12798
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000012799 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
12800
12801 * svg/graphics/qt/SVGPaintServerQt.cpp:
12802 (WebCore::SVGPaintServer::renderPath):
12803 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
12804 (WebCore::SVGPaintServerSolid::setup):
12805
128062008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
12807
12808 Reviewed by Simon.
12809
hausmann@webkit.org0367b582008-08-29 15:56:02 +000012810 [network/qt] Implement defering of loading ResourceHandle's
12811 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
12812 implementation is simply not forwarding anything to the
12813 ResourceHandleClient until we are allowed to. This might lead to a deadlock
12814 in Qt as we do not empty the QNetworkReply input buffer and wait until we
12815 are allowed to read. If that happens we are forced to buffer the data
12816 within QNetworkReplyHandler, for now this is not done.
12817
12818 Manual test:
12819 - Open http://acid3.acidtests.org
12820 - Wait for the test to complete
12821 - Click on the Reference Rendering link
12822 - Be fast and see the results of acid3
12823 => assert
12824
12825 * platform/network/qt/QNetworkReplyHandler.cpp:
12826 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
12827 (WebCore::QNetworkReplyHandler::setLoadMode):
12828 (WebCore::QNetworkReplyHandler::finish):
12829 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
12830 (WebCore::QNetworkReplyHandler::forwardData):
12831 (WebCore::QNetworkReplyHandler::start):
12832 (WebCore::QNetworkReplyHandler::resetState):
12833 (WebCore::QNetworkReplyHandler::sendQueuedItems):
12834 * platform/network/qt/QNetworkReplyHandler.h:
12835 (WebCore::QNetworkReplyHandler::):
12836 * platform/network/qt/ResourceHandleQt.cpp:
12837 (WebCore::ResourceHandle::start):
12838 (WebCore::ResourceHandle::loadResourceSynchronously):
12839 (WebCore::ResourceHandle::setDefersLoading):
12840
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000128412008-08-29 Simon Hausmann <hausmann@webkit.org>
12842
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000012843 Reviewed by Holger.
12844
12845 Don't crash when drawing patterns with the HTML canvas. Patterns
12846 remain unimplemented but at least they don't crash anymore. This is
12847 done by changing the PlatformPatternPtr to be a brush for the Qt
12848 platform.
12849
12850 * platform/graphics/Pattern.h:
12851 * platform/graphics/qt/GraphicsContextQt.cpp:
12852 (WebCore::GraphicsContext::fillPath):
12853 (WebCore::GraphicsContext::strokePath):
12854 (WebCore::GraphicsContext::fillRect):
12855 * platform/graphics/qt/PatternQt.cpp:
12856 (WebCore::Pattern::createPlatformPattern):
12857
128582008-08-29 Simon Hausmann <hausmann@webkit.org>
12859
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000012860 Fix the Qt build, fontSelector() is not used by the Qt port yet
12861 and we just return 0 in Font::fontSelector().
12862
12863 * platform/graphics/Font.h:
12864
alp@webkit.org97d8c102008-08-29 05:09:39 +0000128652008-08-28 Alp Toker <alp@nuanti.com>
12866
12867 GTK+ dist/build fix. List newly added header files.
12868
12869 * GNUmakefile.am:
12870
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000128712008-08-28 Simon Fraser <simon.fraser@apple.com>
12872
12873 Reviewed by Dave Hyatt
12874
12875 Various WebKitCSSTransformValue-related fixes
12876 https://bugs.webkit.org/show_bug.cgi?id=20562
12877
12878 Test: css3/transform-value-types.html
12879
12880 * bindings/js/JSCSSValueCustom.cpp:
12881 (WebCore::toJS):
12882 * css/CSSValue.h:
12883 * css/WebKitCSSTransformValue.cpp:
12884 (WebCore::WebKitCSSTransformValue::cssText):
12885 * css/WebKitCSSTransformValue.h:
12886 (WebCore::WebKitCSSTransformValue::):
12887 * css/WebKitCSSTransformValue.idl:
12888
mitz@apple.comd7222352008-08-28 22:53:31 +0000128892008-08-28 Dan Bernstein <mitz@apple.com>
12890
12891 Reviewed by Steve Falkenburg.
12892
12893 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
12894
12895 * platform/win/SharedTimerWin.cpp:
12896 (WebCore::TimerWindowWndProc):
12897
hyatt@apple.com7d335232008-08-28 21:38:45 +0000128982008-08-28 David Hyatt <hyatt@apple.com>
12899
12900 RenderStyle cleanup.
12901
12902 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
12903
12904 Reviewed by Adam
12905
12906 * css/CSSImageGeneratorValue.cpp:
12907 * css/CSSImageValue.cpp:
12908 * css/CSSStyleSelector.cpp:
12909 * rendering/RenderImageGeneratedContent.cpp:
12910 * rendering/style/NinePieceImage.cpp: Added.
12911 * rendering/style/NinePieceImage.h: Added.
12912 * rendering/style/RenderStyle.cpp:
12913 (WebCore::FillLayer::operator==):
12914 (WebCore::FillLayer::containsImage):
12915 (WebCore::StyleInheritedData::operator==):
12916 (WebCore::RenderStyle::contentDataEquivalent):
12917 * rendering/style/RenderStyle.h:
12918 * rendering/style/StyleCachedImage.cpp: Added.
12919 * rendering/style/StyleCachedImage.h: Added.
12920 * rendering/style/StyleGeneratedImage.cpp: Added.
12921 * rendering/style/StyleGeneratedImage.h: Added.
12922 * rendering/style/StyleImage.h: Added.
12923
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000129242008-08-28 Simon Fraser <simon.fraser@apple.com>
12925
12926 Reviewed by Dave Hyatt
12927
12928 Make all the 'isFoo()' methods on CSSValue const,
12929 and fix the subclasses.
12930
12931 https://bugs.webkit.org/show_bug.cgi?id=20561
12932
12933 * css/CSSTimingFunctionValue.h:
12934 * css/CSSValue.h:
12935 (WebCore::CSSValue::isFontValue):
12936 (WebCore::CSSValue::isImageGeneratorValue):
12937 (WebCore::CSSValue::isImageValue):
12938 (WebCore::CSSValue::isImplicitInitialValue):
12939 * css/CSSValueList.h:
12940 * css/FontValue.h:
12941
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000129422008-08-28 David Hyatt <hyatt@apple.com>
12943
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000012944 The great RenderStyle cleanup begins!
12945
12946 Move LengthBox and LengthSize out of RenderStyle and into Length.
12947
12948 Reviewed by Adam
12949
12950 * rendering/Length.h:
12951 (WebCore::):
12952 (WebCore::Length::Length):
12953 (WebCore::Length::operator==):
12954 (WebCore::Length::operator!=):
12955 (WebCore::Length::value):
12956 (WebCore::Length::rawValue):
12957 (WebCore::Length::percent):
12958 (WebCore::Length::type):
12959 (WebCore::Length::quirk):
12960 (WebCore::Length::setValue):
12961 (WebCore::Length::setRawValue):
12962 (WebCore::Length::calcValue):
12963 (WebCore::Length::calcMinValue):
12964 (WebCore::Length::calcFloatValue):
12965 (WebCore::Length::isUndefined):
12966 (WebCore::Length::isZero):
12967 (WebCore::Length::isPositive):
12968 (WebCore::Length::isNegative):
12969 (WebCore::Length::isAuto):
12970 (WebCore::Length::isRelative):
12971 (WebCore::Length::isPercent):
12972 (WebCore::Length::isFixed):
12973 (WebCore::Length::isStatic):
12974 (WebCore::Length::isIntrinsicOrAuto):
12975 (WebCore::Length::blend):
12976 (WebCore::LengthBox::LengthBox):
12977 (WebCore::LengthBox::operator=):
12978 (WebCore::LengthBox::operator==):
12979 (WebCore::LengthBox::operator!=):
12980 (WebCore::LengthBox::nonZero):
12981 (WebCore::LengthSize::LengthSize):
12982 * rendering/style/RenderStyle.h:
12983
129842008-08-28 David Hyatt <hyatt@apple.com>
12985
hyatt@apple.com550a95c2008-08-28 19:53:56 +000012986 Reviewed by Darin
12987
12988 https://bugs.webkit.org/show_bug.cgi?id=18091
12989
12990 font-size should be animatable using -webkit-transition.
12991
12992 * page/AnimationController.cpp:
12993 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
12994 * rendering/style/RenderStyle.h:
12995 (WebCore::RenderStyle::setFontSize):
12996
mitz@apple.com30923ad2008-08-28 17:45:47 +0000129972008-08-28 Brad Garcia <bgarcia@google.com>
12998
12999 Reviewed by Dan Bernstein.
13000
13001 https://bugs.webkit.org/show_bug.cgi?id=20549
13002 Correctly determine when cursor is over a resizable border within
13003 a nested frameset.
13004
13005 * rendering/RenderFrameSet.cpp:
13006 (WebCore::RenderFrameSet::canResizeRow):
13007 (WebCore::RenderFrameSet::canResizeColumn):
13008
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000130092008-08-28 Simon Fraser <simon.fraser@apple.com>
13010
13011 Reviewed by Eric Seidel
13012
13013 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
13014 https://bugs.webkit.org/show_bug.cgi?id=20552
13015
13016 Test: animations/animation-css-rule-types.html
13017
13018 * css/CSSRule.idl:
13019
andersca@apple.com12399c32008-08-28 17:26:46 +0000130202008-08-28 Anders Carlsson <andersca@apple.com>
13021
13022 Reviewed by Kevin and Darin.
13023
13024 <rdar://problem/6182541>
13025 https://bugs.webkit.org/show_bug.cgi?id=20202
13026 Missing http status line from the http headers.
13027
13028 Add a status line to the header string.
13029
13030 * plugins/PluginStream.cpp:
13031 (WebCore::PluginStream::startStream):
13032
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000130332008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
13034
13035 Rubber-stamped by Darin Adler.
13036
13037 https://bugs.webkit.org/show_bug.cgi?id=17261
13038
13039 Make it possible to theme the default Url icon and enable this for
13040 the Qt port. To have a minimal usage of #ifdef in the code the setting
13041 of the icon was moved to a new method which comes in two flavors.
13042
13043 * loader/icon/IconDatabase.cpp:
13044 (WebCore::loadDefaultIconRecord): Load or set the default icon
13045 (WebCore::IconDatabase::defaultIcon):
13046
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000130472008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
13048
13049 Unreviewed compile fix
13050
13051 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
13052
aroben@apple.comfacf5032008-08-28 13:34:01 +0000130532008-08-28 Adam Roben <aroben@apple.com>
13054
13055 Windows (and others?) build fix
13056
13057 * page/Chrome.cpp: Added a missing #include.
13058 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
13059
eric@webkit.org22794fd2008-08-28 12:04:40 +0000130602008-08-27 Eric Seidel <eric@webkit.org>
13061
13062 Reviewed by Oliver Hunt.
13063
eric@webkit.org5f874e92008-08-28 12:04:55 +000013064 Qt and Cairo support from krit (and blind stab @ wx compile support)
13065 https://bugs.webkit.org/show_bug.cgi?id=20373
13066
13067 * platform/graphics/cairo/GraphicsContextCairo.cpp:
13068 (WebCore::GraphicsContext::fillPath):
13069 (WebCore::GraphicsContext::strokePath):
13070 (WebCore::GraphicsContext::drawPath):
13071 (WebCore::GraphicsContext::fillRect):
13072 (WebCore::GraphicsContext::setPlatformFillColor):
13073 (WebCore::GraphicsContext::setPlatformStrokeColor):
13074 (WebCore::GraphicsContext::setPlatformStrokeStyle):
13075 (WebCore::GraphicsContext::strokeRect):
13076 (WebCore::GraphicsContext::setImageInterpolationQuality):
13077 (WebCore::GraphicsContext::imageInterpolationQuality):
13078 (WebCore::GraphicsContext::setPlatformFillPattern):
13079 (WebCore::GraphicsContext::setPlatformStrokePattern):
13080 (WebCore::GraphicsContext::setPlatformFillGradient):
13081 (WebCore::GraphicsContext::setPlatformStrokeGradient):
13082 * platform/graphics/qt/GraphicsContextQt.cpp:
13083 (WebCore::GraphicsContext::fillPath):
13084 (WebCore::GraphicsContext::strokePath):
13085 (WebCore::GraphicsContext::fillRect):
13086 (WebCore::GraphicsContext::strokeRect):
13087 (WebCore::GraphicsContext::clipToImageBuffer):
13088 (WebCore::GraphicsContext::setPlatformFillPattern):
13089 (WebCore::GraphicsContext::setPlatformStrokePattern):
13090 (WebCore::GraphicsContext::setPlatformFillGradient):
13091 (WebCore::GraphicsContext::setPlatformStrokeGradient):
13092 (WebCore::GraphicsContext::setImageInterpolationQuality):
13093 (WebCore::GraphicsContext::imageInterpolationQuality):
13094 * platform/graphics/wx/GraphicsContextWx.cpp:
13095 (WebCore::GraphicsContext::clipToImageBuffer):
13096 (WebCore::GraphicsContext::setImageInterpolationQuality):
13097 (WebCore::GraphicsContext::imageInterpolationQuality):
13098 (WebCore::GraphicsContext::fillPath):
13099 (WebCore::GraphicsContext::strokePath):
13100 (WebCore::GraphicsContext::drawPath):
13101 (WebCore::GraphicsContext::fillRect):
13102 (WebCore::GraphicsContext::setPlatformFillPattern):
13103 (WebCore::GraphicsContext::setPlatformStrokePattern):
13104 (WebCore::GraphicsContext::setPlatformFillGradient):
13105
131062008-08-27 Eric Seidel <eric@webkit.org>
13107
13108 Reviewed by Oliver Hunt.
13109
eric@webkit.org22794fd2008-08-28 12:04:40 +000013110 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
13111 https://bugs.webkit.org/show_bug.cgi?id=20373
13112
13113 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
13114
13115 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
13116 have to store large Gradient objects in the GraphicsContextState
13117
13118 Made Pattern RefCounted for the same reason.
13119
13120 Many updates to GraphicsContext to support easier drawing with
13121 Patterns and Gradients.
13122
13123 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
13124 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
13125 (WebCore::toJS):
13126 * css/CSSGradientValue.cpp:
13127 (WebCore::CSSGradientValue::createGradient):
13128 * css/CSSGradientValue.h:
13129 * html/CanvasGradient.cpp:
13130 (WebCore::CanvasGradient::CanvasGradient):
13131 * html/CanvasGradient.h:
13132 (WebCore::CanvasGradient::gradient):
13133 (WebCore::CanvasGradient::addColorStop):
13134 (WebCore::CanvasGradient::getColor):
13135 * html/CanvasPattern.cpp:
13136 * html/CanvasPattern.h:
13137 (WebCore::CanvasPattern::pattern):
13138 (WebCore::CanvasPattern::originClean):
13139 * html/CanvasRenderingContext2D.cpp:
13140 (WebCore::CanvasRenderingContext2D::State::State):
13141 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
13142 (WebCore::CanvasRenderingContext2D::setFillStyle):
13143 (WebCore::CanvasRenderingContext2D::fill):
13144 (WebCore::CanvasRenderingContext2D::stroke):
13145 (WebCore::CanvasRenderingContext2D::fillRect):
13146 (WebCore::CanvasRenderingContext2D::strokeRect):
13147 * html/CanvasRenderingContext2D.h:
13148 * html/CanvasStyle.cpp:
13149 (WebCore::CanvasStyle::applyStrokeColor):
13150 (WebCore::CanvasStyle::applyFillColor):
13151 * html/CanvasStyle.h:
13152 * platform/graphics/GeneratedImage.h:
13153 (WebCore::GeneratedImage::GeneratedImage):
13154 * platform/graphics/Generator.h:
13155 * platform/graphics/Gradient.h:
13156 (WebCore::Gradient::create):
13157 * platform/graphics/GraphicsContext.cpp:
13158 (WebCore::GraphicsContext::fillRule):
13159 (WebCore::GraphicsContext::setFillRule):
13160 (WebCore::GraphicsContext::setStrokePattern):
13161 (WebCore::GraphicsContext::setFillPattern):
13162 (WebCore::GraphicsContext::setStrokeGradient):
13163 (WebCore::GraphicsContext::setFillGradient):
13164 * platform/graphics/GraphicsContext.h:
13165 * platform/graphics/GraphicsContextPrivate.h:
13166 (WebCore::):
13167 (WebCore::GraphicsContextState::GraphicsContextState):
13168 * platform/graphics/GraphicsTypes.h:
13169 * platform/graphics/Path.h:
13170 * platform/graphics/Pattern.h:
13171 (WebCore::Pattern::create):
13172 (WebCore::Pattern::tileImage):
13173 * platform/graphics/cg/GraphicsContextCG.cpp:
13174 (WebCore::GraphicsContext::drawRect):
13175 (WebCore::GraphicsContext::drawEllipse):
13176 (WebCore::GraphicsContext::drawConvexPolygon):
13177 (WebCore::calculateDrawingMode):
13178 (WebCore::GraphicsContext::drawPath):
13179 (WebCore::fillPathWithFillRule):
13180 (WebCore::GraphicsContext::fillPath):
13181 (WebCore::GraphicsContext::strokePath):
13182 (WebCore::GraphicsContext::fillRect):
13183 (WebCore::GraphicsContext::fillRoundedRect):
13184 (WebCore::GraphicsContext::setPlatformStrokePattern):
13185 (WebCore::GraphicsContext::setPlatformFillPattern):
13186 (WebCore::GraphicsContext::setPlatformStrokeGradient):
13187 (WebCore::GraphicsContext::setPlatformFillGradient):
13188
eric@webkit.org70b099f2008-08-28 11:42:26 +0000131892008-08-20 Eric Seidel <eric@webkit.org>
13190
13191 Reviewed by Darin and Alexey.
13192
13193 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
13194 with timeouts paused.
13195 https://bugs.webkit.org/show_bug.cgi?id=20469
13196
13197 I attempted to clean up the memory management of PausedTimeouts, I'm not
13198 sure the solution I came up with is "cleaner", but it's in some ways
13199 "safer", since it no longer uses raw pointers and manual new/delete.
13200
13201 This also now prevents CachedPage from needlessly creating Window
13202 objects when caching pages which didn't already have one. :)
13203
13204 I also made Chrome.cpp no longer depend on the JavaScript bindings
13205 (aka JSDOMWindowBase.h), since there was no real reason for it to.
13206
13207 * bindings/js/JSDOMWindowBase.cpp:
13208 (WebCore::JSDOMWindowBase::pauseTimeouts):
13209 (WebCore::JSDOMWindowBase::resumeTimeouts):
13210 * bindings/js/JSDOMWindowBase.h:
13211 * bindings/js/ScriptController.cpp:
13212 (WebCore::ScriptController::pauseTimeouts):
13213 (WebCore::ScriptController::resumeTimeouts):
13214 * bindings/js/ScriptController.h:
13215 * history/CachedPage.cpp:
13216 (WebCore::CachedPage::CachedPage):
13217 (WebCore::CachedPage::restore):
13218 * page/Chrome.cpp:
13219 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
13220 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
13221 * page/JavaScriptDebugServer.cpp:
13222 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
13223 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
13224
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000132252008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
13226
13227 Unreviewed compile fix
13228
13229 Add the stub for the Qt port.
13230
13231 * WebCore.pro:
13232 * page/qt/AccessibilityObjectQt.cpp: Added.
13233 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13234
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000132352008-08-27 Alp Toker <alp@nuanti.com>
13236
13237 Reviewed by Eric.
13238
13239 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000013240 [GTK] search popup crash
13241
13242 * platform/gtk/SearchPopupMenuGtk.cpp:
13243 (WebCore::SearchPopupMenu::enabled):
13244 Fix a search popup crasher by disabling the history popup since we
13245 don't support this feature yet in the GTK+ port.
13246
132472008-08-27 Alp Toker <alp@nuanti.com>
13248
13249 Reviewed by Eric.
13250
13251 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000013252 [GTK] curl crashers
13253
13254 * platform/network/curl/ResourceHandleManager.cpp:
13255 (WebCore::ResourceHandleManager::startScheduledJobs):
13256 Remove the resource handle from the pending list before starting the
13257 job, not afterwards. Fixes crashers in the test suite.
13258
13259 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
13260 Test: fast/encoding/char-encoding.html
13261
eric@webkit.org712cb892008-08-28 00:26:15 +0000132622008-08-27 Dirk Schulze <vbs85@gmx.de>
13263
13264 Reviewed by eseidel.
13265
13266 Fix canvas drawImage to support composite operations.
13267 Composite had no effect on canvas elements like these:
13268 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
13269
13270 [CAIRO] Canvas composite don't work on canvas-elements.
13271 https://bugs.webkit.org/show_bug.cgi?id=20548
13272
13273 * html/CanvasRenderingContext2D.cpp:
13274 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
13275
eric@webkit.org75c83a02008-08-28 00:04:59 +0000132762008-08-27 Mario Bensi <mbensi@pleyo.com>
13277
13278 Reviewed by Eric Seidel.
13279
13280 Fix the data content of an image with a base64.
13281
13282 * platform/network/curl/ResourceHandleManager.cpp:
13283 (WebCore::parseDataUrl): Remove the String and use only the data
13284 Vector because the data.latin1().data() convert the data content and
13285 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
13286 not drawn correctly.
13287
antti@apple.comf66a86b2008-08-27 23:59:50 +0000132882008-08-27 Antti Koivisto <antti@apple.com>
13289
13290 Reviewed by Eric Seidel.
13291
13292 Crash after OK in dialog box and reloading page in secure mode
13293 https://bugs.webkit.org/show_bug.cgi?id=20493
13294
13295 The new run loop spawned by a modal dialog causes a timer in the loader to run
13296 synchronously inside didFinishLoading() deleting "this" object.
13297
13298 Defer all WebCore timers when a modal dialog is up. They are not
13299 safe to execute.
13300
13301 * page/Chrome.cpp:
13302 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
13303 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
13304
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000133052008-08-27 Chris Marrin <cmarrin@apple.com>
13306
13307 Reviewed by Dave Hyatt
13308
13309 Memory leaks when animating transforms
13310 https://bugs.webkit.org/show_bug.cgi?id=20532
13311
13312 * rendering/style/RenderStyle.cpp:
13313 (WebCore::ScaleTransformOperation::blend):
13314 (WebCore::RotateTransformOperation::blend):
13315 (WebCore::SkewTransformOperation::blend):
13316 (WebCore::TranslateTransformOperation::blend):
13317 (WebCore::MatrixTransformOperation::blend):
13318 * rendering/style/RenderStyle.h:
13319
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000133202008-08-27 Timothy Hatcher <timothy@apple.com>
13321
13322 Add support for support for -webkit-appearance: default-button on the Mac platform.
13323
13324 <rdar://problem/6173530>
13325
13326 Reviewed by Dave Hyatt.
13327
13328 * WebCore.base.exp: Export new symbols.
13329 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
13330 * platform/mac/WebCoreSystemInterface.mm: Ditto.
13331 * rendering/RenderButton.cpp:
13332 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
13333 (WebCore::RenderButton::setStyle): Ditto.
13334 * rendering/RenderButton.h: Ditto.
13335 * rendering/RenderThemeMac.mm:
13336 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
13337 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
13338 key if the button is default, otherwise reset the key equivalent.
13339 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
13340 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
13341 the window's previous default button cell when finished.
13342
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000133432008-08-26 David Hyatt <hyatt@apple.com>
13344
13345 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
13346
13347 Reviewed by weinig
13348
13349 Added fast/forms/zoomed-controls.html
13350
13351 * css/CSSStyleSelector.cpp:
13352 (WebCore::addIntrinsicMargins):
13353 * rendering/RenderSlider.cpp:
13354 (WebCore::RenderSlider::calcPrefWidths):
13355 * rendering/RenderThemeMac.h:
13356 * rendering/RenderThemeMac.mm:
13357 (WebCore::RenderThemeMac::adjustRepaintRect):
13358 (WebCore::RenderThemeMac::inflateRect):
13359 (WebCore::RenderThemeMac::baselinePosition):
13360 (WebCore::RenderThemeMac::setControlSize):
13361 (WebCore::RenderThemeMac::sizeForFont):
13362 (WebCore::RenderThemeMac::sizeForSystemFont):
13363 (WebCore::RenderThemeMac::setFontFromControlSize):
13364 (WebCore::RenderThemeMac::paintCheckbox):
13365 (WebCore::RenderThemeMac::setCheckboxCellState):
13366 (WebCore::RenderThemeMac::paintRadio):
13367 (WebCore::RenderThemeMac::setRadioCellState):
13368 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
13369 (WebCore::RenderThemeMac::adjustButtonStyle):
13370 (WebCore::RenderThemeMac::setButtonCellState):
13371 (WebCore::RenderThemeMac::paintButton):
13372 (WebCore::RenderThemeMac::paintMenuList):
13373 (WebCore::RenderThemeMac::paintMenuListButton):
13374 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
13375 (WebCore::RenderThemeMac::popupInternalPaddingRight):
13376 (WebCore::RenderThemeMac::popupInternalPaddingTop):
13377 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
13378 (WebCore::RenderThemeMac::setPopupButtonCellState):
13379 (WebCore::RenderThemeMac::paintSliderTrack):
13380 (WebCore::RenderThemeMac::paintSliderThumb):
13381 (WebCore::RenderThemeMac::adjustSliderThumbSize):
13382 (WebCore::RenderThemeMac::paintSearchField):
13383 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
13384 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
13385 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
13386
beidson@apple.comd0793872008-08-27 19:59:55 +0000133872008-08-27 Brady Eidson <beidson@apple.com>
13388
13389 Reviewed by Anders
13390
13391 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
13392
13393 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
13394 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
13395 away the virtual address space and a crash.
13396
13397 * loader/EmptyClients.h:
13398 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
13399 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
13400 "plugin will handle load"
13401
13402 * loader/MediaDocument.cpp:
13403 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
13404 and cancel the WebCore-managed load
13405 (WebCore::MediaTokenizer::writeRawData):
13406 (WebCore::MediaTokenizer::finish):
13407
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000134082008-08-26 Simon Fraser <simon.fraser@apple.com>
13409
13410 Reviewed by Eric Seidel
13411
13412 Linear timing functions should have control points 0, 0, 1, 1.
13413 https://bugs.webkit.org/show_bug.cgi?id=20535
13414
13415 * css/CSSStyleSelector.cpp:
13416 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
13417 * rendering/style/RenderStyle.h:
13418
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000134192008-08-27 Adam Roben <aroben@apple.com>
13420
13421 Windows build fix
13422
13423 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
13424
mrowe@apple.com37686d42008-09-04 00:10:39 +0000134252008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000013426
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000013427 Reviewed by Beth Dakin.
13428
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000013429 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
13430
13431 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
13432 to determine if an attachment is ignored through accessibility. Added equivalent
13433 methods in Gtk, Win and Mac
13434
13435 Test: accessibility/plugin.html
13436
13437 * GNUmakefile.am:
13438 * WebCore.vcproj/WebCore.vcproj:
13439 * WebCore.xcodeproj/project.pbxproj:
13440 * page/AccessibilityObject.h:
13441 * page/AccessibilityRenderObject.cpp:
13442 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
13443 * page/gtk/AccessibilityObjectAtk.cpp: Added.
13444 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13445 * page/mac/AccessibilityObjectMac.mm: Added.
13446 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13447 * page/mac/AccessibilityObjectWrapper.h:
13448 * page/win/AccessibilityObjectWin.cpp: Added.
13449 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13450
mrowe@apple.com37686d42008-09-04 00:10:39 +0000134512008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000013452
13453 Reviewed by Beth Dakin.
13454
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000013455 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
13456
13457 * page/mac/AccessibilityObjectWrapper.mm:
13458 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
13459 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
13460
mrowe@apple.com37686d42008-09-04 00:10:39 +0000134612008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000013462
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000013463 Reviewed by Darin Adler.
13464
13465 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
13466
13467 Tests: accessibility/table-notbody.html
13468
13469 * page/AccessibilityTable.cpp:
13470 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
13471
weinig@apple.com33705852008-08-26 19:51:28 +0000134722008-08-26 Sam Weinig <sam@webkit.org>
13473
weinig@apple.comf6f553a2008-08-26 21:21:26 +000013474 Reviewed by Beth Dakin.
13475
13476 Fix typo.
13477
13478 * dom/DOMCoreException.h:
13479
134802008-08-26 Sam Weinig <sam@webkit.org>
13481
weinig@apple.com0f34f002008-08-26 19:56:54 +000013482 Reviewed by Oliver Hunt.
13483
13484 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
13485 <rdar://problem/6167660>
13486 Take image redirects into account when tainting the canvas.
13487
13488 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
13489
13490 * html/CanvasRenderingContext2D.cpp:
13491 (WebCore::CanvasRenderingContext2D::drawImage):
13492 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
13493
134942008-08-26 Sam Weinig <sam@webkit.org>
13495
weinig@apple.com33705852008-08-26 19:51:28 +000013496 Reviewed by Darin Adler.
13497
13498 Change canvas tainting logic to ask the image if it contains
13499 any resources outside of its own origin. Since there is no
13500 way to determine if SVG images contain any resources outside its
13501 origin, we always assume it does.
13502
13503 * html/CanvasRenderingContext2D.cpp:
13504 (WebCore::CanvasRenderingContext2D::drawImage):
13505 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
13506 * platform/graphics/BitmapImage.h:
13507 (WebCore::BitmapImage::hasSingleSecurityOrigin):
13508 * platform/graphics/GeneratedImage.h:
13509 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
13510 * platform/graphics/Image.h:
13511 (WebCore::Image::hasSingleSecurityOrigin):
13512 * platform/graphics/cg/PDFDocumentImage.h:
13513 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
13514 * svg/graphics/SVGImage.h:
13515
britto@apple.com616ef6d2008-08-26 17:51:03 +0000135162008-08-26 Maxime Britto <britto@apple.com>
13517
13518 Reviewed by Adele.
13519
13520 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
13521 This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
13522 This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
13523
13524 * page/EventHandler.cpp:
13525 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
13526 * page/EventHandler.h:
13527 * rendering/RenderLayer.cpp:
13528 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
13529 (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
13530 * rendering/RenderLayer.h:
13531 * rendering/RenderObject.cpp:
13532 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
13533 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
13534 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
13535
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000135362008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
13537
darin@apple.com07c80c62008-09-05 18:15:43 +000013538 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000013539
13540 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
13541 https://bugs.webkit.org/show_bug.cgi?id=20247
13542
13543 <rdar://problem/6118218>
13544
13545 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
13546 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
13547 (case insensitive for HTML elements).
13548
13549 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
13550
13551 * dom/Element.cpp:
13552 (WebCore::Element::getAttribute):
13553 * dom/NamedAttrMap.cpp:
13554 (WebCore::NamedAttrMap::getNamedItem):
13555 (WebCore::NamedAttrMap::getAttributeItem):
13556 * dom/NamedAttrMap.h:
13557
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000135582008-08-25 Sam Weinig <sam@webkit.org>
13559
weinig@apple.com8d3ea722008-08-26 04:19:07 +000013560 Reviewed by Oliver Hunt.
13561
13562 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
13563 <rdar://problem/6174096>
13564 Treat SVG images as dirty when drawing to a canvas.
13565
13566 Test: http/tests/security/canvas-remote-read-svg-image.html
13567
13568 * html/CanvasRenderingContext2D.cpp:
13569 (WebCore::CanvasRenderingContext2D::drawImage):
13570 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
13571 * platform/graphics/Image.h:
13572 (WebCore::Image::isSVGImage):
13573 * svg/graphics/SVGImage.h:
13574 (WebCore::SVGImage::isSVGImage):
13575
135762008-08-25 Sam Weinig <sam@webkit.org>
13577
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000013578 Reviewed by Mark Rowe.
13579
13580 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
13581 Leak in XMLHttpRequest.
13582
13583 * xml/XMLHttpRequest.cpp:
13584 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
13585
beidson@apple.com46421212008-08-25 21:48:56 +0000135862008-08-25 Brady Eidson <beidson@apple.com>
13587
13588 Reviewed by Anders
13589
13590 Speculative fix for <rdar://problem/6173217>
13591
13592 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
13593 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
13594 the first null check invalid.
13595
13596 * loader/FrameLoader.cpp:
13597 (WebCore::FrameLoader::stopAllLoaders):
13598
13599
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000136002008-08-25 Kevin McCullough <kmccullough@apple.com>
13601
13602 Reviewed by Tim.
13603
13604 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
13605 there is no profile, can cause crash
13606
13607 * page/inspector/ProfilesPanel.js:
13608
dino@apple.com1baeea62008-08-25 21:06:21 +0000136092008-08-25 Dean Jackson <dino@apple.com>
13610
13611 Reviewed by Dave Hyatt
13612
13613 Make sure 'inherit' is handled by transition property.
13614 https://bugs.webkit.org/show_bug.cgi?id=20513
13615
13616 Test: transitions/inherit.html
13617 Test: transitions/inherit-other-props.html
13618
13619 * css/CSSStyleSelector.cpp:
13620 fix macro to check existence of list before getting size
13621
andersca@apple.com2866b8302008-08-25 20:56:21 +0000136222008-08-25 Anders Carlsson <andersca@apple.com>
13623
13624 Reviewed by Mark.
13625
13626 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
13627
13628 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
13629 (safely) that any class that needs finalization on the main thread will also need to be deallocated
13630 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
13631 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
13632
13633 * platform/mac/WebCoreObjCExtras.c:
13634 (WebCoreObjCFinalizeOnMainThread):
13635
antti@apple.com60381cb2008-08-25 20:41:11 +0000136362008-08-25 Antti Koivisto <antti@apple.com>
13637
13638 Reviewed by Dan Bernstein.
13639
13640 Rename CachedResource::referenced() to CachedResource::hasClients() to
13641 match previous ref() -> addClient() rename.
13642
13643 * loader/Cache.cpp:
13644 (WebCore::Cache::pruneLiveResources):
13645 (WebCore::Cache::pruneDeadResources):
13646 (WebCore::Cache::remove):
13647 (WebCore::Cache::getStatistics):
13648 (WebCore::Cache::dumpLRULists):
13649 * loader/CachedResource.cpp:
13650 (WebCore::CachedResource::addClient):
13651 (WebCore::CachedResource::removeClient):
13652 (WebCore::CachedResource::setDecodedSize):
13653 (WebCore::CachedResource::setEncodedSize):
13654 * loader/CachedResource.h:
13655 (WebCore::CachedResource::hasClients):
13656 (WebCore::CachedResource::canDelete):
13657
timothy@apple.com7d809242008-08-25 18:33:05 +0000136582008-08-25 Anthony Ricaud <rik24d@gmail.com>
13659
13660 Add a missing Inspector localized string for "other".
13661
13662 https://bugs.webkit.org/show_bug.cgi?id=20509
13663
13664 Reviewed by Tim Hatcher.
13665
13666 * English.lproj/localizedStrings.js:
13667
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000136682008-08-22 Kevin McCullough <kmccullough@apple.com>
13669
13670 Reviewed by Geoff, Mark and Tim.
13671
13672 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
13673 in the console said what file and line number they came from
13674 - Lay the foundation for getting line numbers and other data from the
13675 JavaScript engine.
13676
13677 * ForwardingHeaders/VM: Added.
13678 * ForwardingHeaders/VM/Machine.h: Added.
13679 * page/Console.cpp: Gather the line number and file information when
13680 profileEnd has been called, but don't use it until didFinishProfiling is
13681 called. We won't need to wait once we remove the profiler "zombie" mode
13682 which this patch helps pave the foundation for.
13683 (WebCore::Console::Console):
13684 (WebCore::Console::profileEnd):
13685 (WebCore::Console::finishedProfiling):
13686 * page/Console.h:
13687 * page/InspectorController.cpp: Modify calls to
13688 addProfileMessageToConsole to satisfy the new arguments it takes.
13689 (WebCore::InspectorController::finishedProfiling):
13690 (WebCore::InspectorController::addProfile):
13691 (WebCore::InspectorController::addProfileMessageToConsole):
13692 (WebCore::InspectorController::finishedProfiling):
13693 * page/InspectorController.h:
13694
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000136952008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
13696
13697 Reviewed by Simon.
13698
13699 [inspector] Update the WebKit.qrc Qt resources file
13700 Catchup with the changes in the directory.
13701
13702 * page/inspector/WebKit.qrc:
13703
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000137042008-08-25 Dirk Schulze <vbs85@gmx.de>
13705
13706 Reviewed by Simon.
13707
13708 Transformed the radian to degree, to get rotate()
13709 in canvas work as expected.
13710
13711 [Qt] Canvas.rotate() doesn't work
13712 https://bugs.webkit.org/show_bug.cgi?id=20496
13713
13714 * platform/graphics/qt/GraphicsContextQt.cpp:
13715 (WebCore::GraphicsContext::rotate):
13716
sfalken@apple.com9d442862008-08-25 05:43:33 +0000137172008-08-24 Steve Falkenburg <sfalken@apple.com>
13718
13719 Add a "last chance" WM_TIMER to the Windows shared timer.
13720
13721 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
13722 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
13723 timers if a timer with an earlier expiration is already pending. This results in no timers
13724 firing from that point on.
13725
13726 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
13727 buggy window message hook.
13728
13729 This timer will start when the first WM_TIMER is scheduled, and will
13730 fire every 5 seconds thereafter, causing any lost timers to be fired.
13731
13732 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
13733 and prevents the WebFrame leak.
13734
13735 Reviewed by Darin Adler, Geoff Garen.
13736
13737 * platform/win/SharedTimerWin.cpp:
13738 (WebCore::):
13739 (WebCore::TimerWindowWndProc):
13740 (WebCore::setSharedTimerFireTime):
13741
mitz@apple.com771fb752008-08-25 03:22:44 +0000137422008-08-24 Dan Bernstein <mitz@apple.com>
13743
13744 Reviewed by Darin Adler.
13745
13746 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
13747
13748 Test: fast/css/font-property-priority.html
13749
13750 * css/CSSParser.cpp:
13751 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
13752 to the font-property-parsing functions.
13753 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
13754 changed to use it rather than the m_important member.
13755 (WebCore::CSSParser::parseFontVariant): Ditto.
13756 (WebCore::CSSParser::parseFontWeight): Ditto.
13757 * css/CSSParser.h:
13758
timothy@apple.com4cea2632008-08-24 22:28:44 +0000137592008-08-24 Timothy Hatcher <timothy@apple.com>
13760
13761 Fixes a bug where the Inspector's UI would not animate or
13762 fully function because JavaScript timeouts, intervals and
13763 CSS animation timers where not firing while paused at a
13764 a breakpoint in the inspected page.
13765
13766 https://bugs.webkit.org/show_bug.cgi?id=20042
13767
13768 Reviewed by Darin Adler.
13769
13770 Test: manual-tests/inspector/forzen-ui-while-paused.html
13771
13772 * page/JavaScriptDebugServer.cpp:
13773 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
13774 Add a call to TimerBase::fireTimersInNestedEventLoop before
13775 spinning the EventLoop.
13776
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000137772008-08-24 Rob Buis <buis@kde.org>
13778
13779 Reviewed by Sam Weinig.
13780
13781 https://bugs.webkit.org/show_bug.cgi?id=20324
13782 A change in SVG Glyph wont show up
13783
13784 Invalidate the glyph cache when the d attribute is set.
13785
13786 Test: svg/custom/glyph-setting-d-attribute.svg
13787
13788 * svg/SVGGlyphElement.cpp:
13789 (WebCore::SVGGlyphElement::invalidateGlyphCache):
13790 (WebCore::SVGGlyphElement::parseMappedAttribute):
13791 (WebCore::SVGGlyphElement::insertedIntoDocument):
13792 (WebCore::SVGGlyphElement::removedFromDocument):
13793 * svg/SVGGlyphElement.h:
13794
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000137952008-08-24 Dan Bernstein <mitz@apple.com>
13796
13797 Reviewed by Sam Weinig.
13798
13799 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
13800 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
13801
13802 * rendering/RenderText.cpp:
13803 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
13804 beginWS and endWS before the early return to ensure that they are
13805 initialized in that case.
13806
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000138072008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
13808
13809 Rubber-stamped by Mark Rowe.
13810
13811 Remove modelines.
13812
13813 * WebCore.pro:
13814 * bridge/testbindings.cpp:
13815 * dom/DocPtr.h:
13816 * loader/SubstituteData.h:
13817 * page/Chrome.cpp:
13818 * page/Chrome.h:
13819 * page/ChromeClient.h:
13820 * page/Frame.h:
13821 * page/FrameLoadRequest.h:
13822 * page/FrameTree.cpp:
13823 * page/FrameTree.h:
13824 * page/Page.h:
13825 * page/mac/ChromeMac.mm:
13826 * platform/network/HTTPHeaderMap.h:
13827 * platform/network/ResourceErrorBase.cpp:
13828 * platform/network/ResourceErrorBase.h:
13829 * platform/network/ResourceHandleInternal.h:
13830 * platform/network/ResourceRequestBase.cpp:
13831 * platform/network/ResourceRequestBase.h:
13832 * platform/network/ResourceResponseBase.cpp:
13833 * platform/network/ResourceResponseBase.h:
13834 * platform/network/cf/ResourceError.h:
13835 * platform/network/cf/ResourceRequest.h:
13836 * platform/network/cf/ResourceRequestCFNet.h:
13837 * platform/network/cf/ResourceResponse.h:
13838 * platform/network/cf/ResourceResponseCFNet.h:
13839 * platform/network/curl/ResourceError.h:
13840 * platform/network/curl/ResourceRequest.h:
13841 * platform/network/curl/ResourceResponse.h:
13842 * platform/network/mac/ResourceError.h:
13843 * platform/network/mac/ResourceErrorMac.mm:
13844 * platform/network/mac/ResourceRequest.h:
13845 * platform/network/mac/ResourceRequestMac.mm:
13846 * platform/network/mac/ResourceResponse.h:
13847 * platform/network/mac/ResourceResponseMac.mm:
13848 * platform/network/qt/ResourceError.h:
13849 * platform/network/qt/ResourceRequest.h:
13850 * platform/network/qt/ResourceResponse.h:
13851 * platform/network/soup/CookieJarSoup.cpp:
13852 * platform/network/soup/ResourceError.h:
13853 * platform/network/soup/ResourceRequest.h:
13854 * platform/network/soup/ResourceResponse.h:
13855
mitz@apple.com57a2f482008-08-23 07:16:41 +0000138562008-08-23 Dan Bernstein <mitz@apple.com>
13857
13858 Reviewed by Dave Hyatt.
13859
13860 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
13861
13862 Test: fast/table/vertical-align-baseline.html
13863
13864 * rendering/RenderTable.cpp:
13865 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
13866 baseline of the first table row, if there is one, -1 otherwise.
13867 * rendering/RenderTable.h:
13868 * rendering/RenderTableCell.cpp:
13869 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
13870 CSS2.1 definition of the baseline of a table cell.
13871 * rendering/RenderTableSection.cpp:
13872 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
13873 the baseline of the first row in the section.
13874 * rendering/RenderTableSection.h:
13875
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000138762008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
13877
13878 Add SPI to make a Windows WebView transparent.
13879
13880 Reviewed by Dan Bernstein.
13881
13882 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
13883 determines whether the created context has an alpha channel.
13884 * platform/graphics/win/GraphicsContextCGWin.cpp:
13885 (WebCore::CGContextWithHDC):
13886
timothy@apple.comb63d1172008-08-22 18:39:42 +0000138872008-08-22 Timothy Hatcher <timothy@apple.com>
13888
timothy@apple.com964022d2008-08-22 20:35:20 +000013889 Rolls out r35834 because it caused a regression in the Inspector's
13890 Console where some expressions always threw a syntax error.
13891
13892 https://bugs.webkit.org/show_bug.cgi?id=20487
13893
13894 * page/inspector/Console.js:
13895 (Console.prototype._evalInInspectedWindow): Removes parenthesis
13896 around the expression.
13897
138982008-08-22 Timothy Hatcher <timothy@apple.com>
13899
timothy@apple.com056d4782008-08-22 18:39:52 +000013900 Makes getStyleProperty return a value for the overflow property
13901 when overflow-x and overflow-y are equal.
13902
13903 https://bugs.webkit.org/show_bug.cgi?id=20485
13904
13905 Reviewed by Dan Bernstein.
13906
13907 Test: fast/css/overflow-property.html
13908
13909 * css/CSSMutableStyleDeclaration.cpp:
13910 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
13911
139122008-08-22 Timothy Hatcher <timothy@apple.com>
13913
timothy@apple.comb63d1172008-08-22 18:39:42 +000013914 Fixes a bug where while editing in the Inspector the
13915 sidebar scroll position would jump to the top.
13916
13917 https://bugs.webkit.org/show_bug.cgi?id=20484
13918
13919 Reviewed by Darin Adler.
13920
13921 * page/inspector/treeoutline.js:
13922 (TreeOutline._removeChildren): Remove the offsetTop call that
13923 was forcing a layout, since layout causes scroll positions
13924 to be clamped to the new scrollHeight/Width. Layout will happen
13925 normally when needed.
13926
kevino@webkit.org8271c842008-08-22 16:25:52 +0000139272008-08-22 Kevin Ollivier <kevino@theolliviers.com>
13928
13929 wx build fix. Add AccessibilityTable sources.
13930
13931 * WebCoreSources.bkl:
13932
mitz@apple.com9befc872008-08-22 06:29:33 +0000139332008-08-21 Dan Bernstein <mitz@apple.com>
13934
13935 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
13936
13937 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
13938
13939 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
13940
13941 * platform/graphics/mac/SimpleFontDataMac.mm:
13942 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
13943 ascent and 100% to its reported descent.
13944
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000139452008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
13946
13947 Reviewed by Darin Adler.
13948
mrowe@apple.com22eaa172008-08-22 02:10:15 +000013949 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000013950 [GTK] Crash on some pages due to a plugin
13951
13952 Fix handling of badly formatted and empty plugin mime descriptions
13953
13954 * plugins/gtk/PluginPackageGtk.cpp:
13955 (WebCore::PluginPackage::fetchInfo):
13956
mrowe@apple.com798b3432008-08-22 02:07:48 +0000139572008-08-21 Kevin Watters <kevinwatters@gmail.com>
13958
13959 Reviewed by Darin Adler.
13960
13961 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
13962 animated GIF frame duration of less than 50ms.
13963
13964 * platform/graphics/wx/ImageSourceWx.cpp:
13965 (WebCore::ImageSource::frameDurationAtIndex):
13966
britto@apple.com8ed72772008-08-22 00:39:39 +0000139672008-08-21 Maxime Britto <britto@apple.com>
13968
13969 Reviewed by Kevin McCullough.
13970
13971 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
13972 https://bugs.webkit.org/show_bug.cgi?id=20451
13973
13974 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
13975 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
13976 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
13977
13978 * page/EventHandler.cpp:
13979 (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
13980
13981 (WebCore::EventHandler::handleMousePressEvent): ditto
13982
timothy@apple.com5d492192008-08-21 23:54:01 +0000139832008-08-21 Anthony Ricaud <rik24d@gmail.com>
13984
13985 Small optimization for when the dividers in the Inspector's
13986 Resources panel are updated.
13987
13988 Reviewed by Tim Hatcher.
13989
13990 * page/inspector/ResourcesPanel.js:
13991 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
13992 Combind a for loop and clone the divider element.
13993
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000139942008-08-21 Chris Marrin <cmarrin@apple.com>
13995
13996 Allow 0 (without units) for Time eg. duration
13997 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
13998
13999 Reviewed by Dave Hyatt.
14000
14001 Test: css1/units/zero-duration-without-units.html
14002
14003 * css/CSSParser.cpp:
14004 (WebCore::CSSParser::validUnit):
14005
timothy@apple.com29c12d02008-08-21 20:12:47 +0000140062008-08-21 Timothy Hatcher <timothy@apple.com>
14007
timothy@apple.comca11cd82008-08-21 20:13:12 +000014008 Make deleting all text while editing a DOM attribute in
14009 the Inspector delete the attribute. This also fixes
14010 an exception that would happen before.
14011
14012 https://bugs.webkit.org/show_bug.cgi?id=20472
14013
14014 Reviewed by Kevin McCullough.
14015
14016 * page/inspector/ElementsPanel.js:
14017 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
14018 Don't check for hasAttributes on the parseElement, continuing
14019 through the function will correctly remove the attribute.
14020 If the parseElement is null, call _editingCancelled not
14021 editingCancelled, this fixes an exception.
14022
140232008-08-21 Timothy Hatcher <timothy@apple.com>
14024
timothy@apple.comde831cf2008-08-21 20:12:59 +000014025 Update the Inspector's Metrics pane when editing in
14026 the Styles pane. This makes sure the metrics shown
14027 always match what the Styles pane shows.
14028
14029 https://bugs.webkit.org/show_bug.cgi?id=20470
14030
14031 Reviewed by Kevin McCullough.
14032
14033 * page/inspector/ElementsPanel.js:
14034 (WebInspector.ElementsPanel): Add event listeners for
14035 the "style edited" and "style property toggled" events,
14036 so the Metrics pane is updated.
14037 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
14038 Update the Metrics pane.
14039 * page/inspector/StylesSidebarPane.js:
14040 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
14041 Dispatch the "style property toggled" event.
14042 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
14043 Dispatch the "style edited" event when the CSS text is restored.
14044 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
14045 Dispatch the "style edited" event.
14046
140472008-08-21 Timothy Hatcher <timothy@apple.com>
14048
timothy@apple.com29c12d02008-08-21 20:12:47 +000014049 Make the Inspector's Metrics sidebar pane editable.
14050
14051 https://bugs.webkit.org/show_bug.cgi?id=17218
14052 rdar://problem/5732818
14053
14054 Reviewed by Kevin McCullough.
14055
14056 * page/inspector/ElementsPanel.js:
14057 (WebInspector.ElementsPanel): Add an event listener for
14058 the "metrics edited" event, so the Styles pane is updated.
14059 * page/inspector/MetricsSidebarPane.js:
14060 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
14061 so future updates work. Add a double click event listener for the
14062 metric values to start editing.
14063 (WebInspector.MetricsSidebarPane.prototype.startEditing):
14064 Call WebInspector.startEditing with some context.
14065 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
14066 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
14067 Set the user input on the elements inline style. Fire the
14068 "metrics edited" event.
14069
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000140702008-08-21 Steve Falkenburg <sfalken@apple.com>
14071
14072 Fix a race condition in Windows timer code.
14073 Timer function could end up being called with a 0 timer, leading to a Windows exception.
14074
14075 Don't post a timer message if one is already pending.
14076
14077 Reviewed by Ada Chan.
14078
14079 * platform/win/SharedTimerWin.cpp:
14080 (WebCore::TimerWindowWndProc):
14081 (WebCore::clearTimer):
14082 (WebCore::queueTimerProc):
14083 (WebCore::setSharedTimerFireTime):
14084
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000140852008-08-21 Anthony Ricaud <rik24d@gmail.com>
14086
timothy@apple.com493212c72008-08-21 16:36:06 +000014087 After trying to add the expression, try again with quotes for
14088 easier edition.
14089
14090 https://bugs.webkit.org/show_bug.cgi?id=20466
14091
14092 Reviewed by Tim Hatcher.
14093
14094 * page/inspector/ObjectPropertiesSection.js: Added an
14095 evaluateExpression function.
14096
140972008-08-21 Anthony Ricaud <rik24d@gmail.com>
14098
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000014099 Perform Inspector searches on search event to clear results when
14100 clicking the cross to empty it. Delete the lastQuery when the field
14101 is emptied in order to perform the search if exactly the same query
14102 is entered next.
14103
14104 https://bugs.webkit.org/show_bug.cgi?id=20462
14105
14106 Reviewed by Tim Hatcher.
14107
14108 * page/inspector/inspector.js:
14109
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000141102008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
14111
14112 Reviewed by Mark Rowe.
14113
14114 http://bugs.webkit.org/show_bug.cgi?id=19656
14115 [SOUP] The gio code should call didFail() instead of
14116 didFinishLoading() in case of error
14117
14118 In case of error call didFail() instead of didReceiveResponse() and
14119 didFinishLoading().
14120
14121 * platform/network/soup/ResourceHandleSoup.cpp:
14122 (WebCore::networkErrorForFile):
14123 (WebCore::readCallback):
14124 (WebCore::openCallback):
14125 (WebCore::queryInfoCallback):
14126
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000141272008-08-20 Mark Rowe <mrowe@apple.com>
14128
mrowe@apple.com4e593f42008-08-21 06:52:42 +000014129 Reviewed by Jon Honeycutt.
14130
14131 Fix build failure.
14132
14133 * bridge/c/c_instance.cpp:
14134 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
14135 as that is what NPEnumerationFunctionPtr is declared as accepting.
14136
141372008-08-20 Mark Rowe <mrowe@apple.com>
14138
mrowe@apple.com72a95b12008-08-21 04:01:51 +000014139 Reviewed by Dan Bernstein.
14140
14141 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
14142
14143 * platform/graphics/GraphicsContext.h:
14144 (WebCore::):
14145 * platform/graphics/cg/GraphicsContextCG.cpp:
14146 (WebCore::GraphicsContext::setImageInterpolationQuality):
14147 (WebCore::GraphicsContext::imageInterpolationQuality):
14148
mitz@apple.comaa938792008-08-21 00:33:29 +0000141492008-08-20 Dan Bernstein <mitz@apple.com>
14150
14151 Rubber-stamped by John Sullivan.
14152
14153 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
14154 rename related methods and variables accordingly.
14155
14156 * WebCore.base.exp:
14157 * page/FrameView.cpp:
14158 (WebCore::FrameViewPrivate::FrameViewPrivate):
14159 (WebCore::FrameView::shouldUpdateWhileOffscreen):
14160 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
14161 * page/FrameView.h:
14162 * platform/ScrollView.h:
14163 * platform/mac/ScrollViewMac.mm:
14164 (WebCore::ScrollView::updateContents):
14165
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000141662008-08-20 Brady Eidson <beidson@apple.com>
14167
14168 Reviewed by Mitzpettel
14169
14170 <rdar://problem/6163636> - Many images broken in Mail
14171
14172 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
14173 sooner than before and confuse the WebArchive machinery.
14174
14175 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
14176 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
14177 machinery and nothing is known about where the data will eventually come from.
14178
14179 * loader/DocumentLoader.cpp:
14180 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
14181 CachedResource::PreloadReferenced.
14182
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000141832008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
14184
14185 Unreviewed compile fix
14186
14187 Catch up with the JSValue::type elimination.
14188
14189 * bridge/qt/qt_instance.cpp:
14190 (KJS::Bindings::QtRuntimeObjectImp::construct):
14191 (KJS::Bindings::QtInstance::defaultValue):
14192 * bridge/qt/qt_runtime.cpp:
14193 (KJS::Bindings::QtRuntimeConnectionMethod::call):
14194
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000141952008-08-20 Chris Teague <chris.teague@gmail.com>
14196
14197 Reviewed by Mark Rowe.
14198
14199 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
14200 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
14201
14202 * ChangeLog:
14203 * loader/FrameLoader.cpp:
14204 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
14205
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000142062008-08-20 Simon Fraser <simon.fraser@apple.com>
14207
14208 Reviewed by Dave Hyatt
14209
14210 getComputedStyle() for webkitTransform should return a transform
14211 that does not have the transform origin baked into it.
14212 https://bugs.webkit.org/show_bug.cgi?id=20464
14213
14214 Test: fast/css/getComputedStyle-transform.html
14215
14216 * css/CSSComputedStyleDeclaration.cpp:
14217 (WebCore::computedTransform):
14218 * rendering/style/RenderStyle.cpp:
14219 (WebCore::RenderStyle::applyTransform):
14220 * rendering/style/RenderStyle.h:
14221
andersca@apple.com021ce772008-08-20 21:04:12 +0000142222008-08-20 Josh Aas <joshmoz@gmail.com>
14223
14224 Reviewed and landed by Anders.
14225
14226 <rdar://problem/6163636>
14227 rename NPCocoaEvent's "event" struct to "data" (20446)
14228
14229 * bridge/npapi.h:
14230 (_NPCocoaEvent::):
14231
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000142322008-08-20 Beth Dakin <bdakin@apple.com>
14233
darin@apple.com07c80c62008-09-05 18:15:43 +000014234 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000014235
14236 Fix for <rdar://problem/6145626>
14237 This patch fixes a number of remaining problems getting
14238 disconnected frames to work correctly with markAllMatchesForText()
14239 and findString(). Details inline.
14240
14241 This was a static helper function in Frame, but this patch requires
14242 the same functionality in Editor, so I just added it as a function
14243 on Node.
14244 * dom/Node.cpp:
14245 (WebCore::Node::isInShadowTree):
14246 * dom/Node.h:
14247
14248 * editing/Editor.cpp:
14249 (WebCore::Editor::insideVisibleArea): Returns false if
14250 excludeFromTextSearch() is true.
14251
14252 In a normal (non-disconnected) frame, findString returns a range of
14253 the document node if the text is not found in the frame. I changed
14254 firstVisibleRange and lastVisibleRange to match that behavior when
14255 the text is not found
14256 (WebCore::Editor::firstVisibleRange):
14257 (WebCore::Editor::lastVisibleRange):
14258
14259 Here are the bulk of the changes in the patch. A lot of text was
14260 not being found in disconnected frames because I failed to account
14261 for all of the possible problems associated with shadow trees. That
14262 is fixed here.
14263 (WebCore::Editor::nextVisibleRange):
14264 * editing/Editor.h:
14265
14266 excludeFromTextSearch() is new. It allows a WebKit client to mark a
14267 frame as not-text-searchable through SPI.
14268 * WebCore.base.exp:
14269 * page/Frame.cpp:
14270 (WebCore::Frame::excludeFromTextSearch):
14271 (WebCore::Frame::setExcludeFromTextSearch):
14272 (WebCore::FramePrivate::FramePrivate):
14273 * page/Frame.h:
14274 * page/FramePrivate.h:
14275
14276 (WebCore::Frame::findString):
14277 (WebCore::Frame::markAllMatchesForText): I kept running into an
14278 assertion failure in paining code because of the forced paint on
14279 empty visible rects.
14280
timothy@apple.com301befc2008-08-20 19:10:54 +0000142812008-08-20 Timothy Hatcher <timothy@apple.com>
14282
14283 Adds a positon box to the Inspector's Metrics sidebar
14284 pane. When an element is not statically positioned, there
14285 is now a position box that show top, right, bottom and
14286 left computed values.
14287
14288 Reviewed by Kevin McCullough.
14289
14290 * English.lproj/localizedStrings.js: Updated the strings.
14291 * page/inspector/MetricsSidebarPane.js:
14292 (WebInspector.MetricsSidebarPane.prototype.update):
14293 Renamed the boxPartValue function to createBoxPartElement
14294 and made it create the entire element. Made it understand
14295 how to get position style properties. Don't use the figure dash
14296 when 0px is used for positions, since the 0 is meaningful there.
14297 Instead use the figure dash when a position is auto.
14298 * page/inspector/inspector.css: Added a new rule for position.
14299
mrowe@apple.com37686d42008-09-04 00:10:39 +0000143002008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000014301
14302 Reviewed by Beth Dakin
14303
14304 Qt build fix
14305
14306 * WebCore.pro:
14307
mitz@apple.comedaa9042008-08-20 18:28:07 +0000143082008-08-20 Dan Bernstein <mitz@apple.com>
14309
14310 Reviewed by Anders Carlsson.
14311
14312 - avoid using a deprecated NSScroller method on Leopard
14313
14314 * platform/mac/PlatformScrollBarMac.mm:
14315 (WebCore::PlatformScrollbar::updateThumbPosition):
14316 (WebCore::PlatformScrollbar::updateThumbProportion):
14317
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000143182008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
14319
14320 Reviewed by Oliver Hunt.
14321
14322 Gtk build fix
14323
14324 * GNUmakefile.am:
14325 * page/AccessibilityTable.cpp: Change nil to 0
14326 (WebCore::AccessibilityTable::cellForColumnAndRow):
14327
ap@webkit.org01aff702008-08-20 07:23:06 +0000143282008-08-19 Alexey Proskuryakov <ap@webkit.org>
14329
14330 Reviewed by Geoff Garen.
14331
14332 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
14333
14334 * ForwardingHeaders/kjs/JSLock.h: Added.
14335 * WebCore.vcproj/WebCore.vcproj:
14336 * bindings/js/GCController.cpp:
14337 (WebCore::collect):
14338 (WebCore::GCController::gcTimerFired):
14339 (WebCore::GCController::garbageCollectNow):
14340 * bindings/js/JSCustomSQLStatementCallback.cpp:
14341 (WebCore::JSCustomSQLStatementCallback::handleEvent):
14342 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
14343 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
14344 * bindings/js/JSCustomSQLTransactionCallback.cpp:
14345 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
14346 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
14347 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
14348 * bindings/js/JSCustomVoidCallback.cpp:
14349 (WebCore::JSCustomVoidCallback::handleEvent):
14350 * bindings/js/JSCustomXPathNSResolver.cpp:
14351 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
14352 * bindings/js/JSDOMWindowBase.cpp:
14353 (WebCore::DOMWindowTimer::~DOMWindowTimer):
14354 (WebCore::JSDOMWindowBase::clear):
14355 (WebCore::JSDOMWindowBase::timerFired):
14356 * bindings/js/JSEventCustom.cpp:
14357 (WebCore::toJS):
14358 * bindings/js/JSEventListener.cpp:
14359 (WebCore::JSAbstractEventListener::handleEvent):
14360 * bindings/js/JSNSResolver.cpp:
14361 (WebCore::JSNSResolver::lookupNamespaceURI):
14362 * bindings/js/JSNodeFilterCondition.cpp:
14363 (WebCore::JSNodeFilterCondition::acceptNode):
14364 * bindings/js/ScheduledAction.cpp:
14365 (WebCore::ScheduledAction::execute):
14366 * bindings/js/ScriptController.cpp:
14367 (WebCore::ScriptController::evaluate):
14368 (WebCore::ScriptController::clearWindowShell):
14369 (WebCore::ScriptController::createHTMLEventHandler):
14370 (WebCore::ScriptController::createSVGEventHandler):
14371 (WebCore::ScriptController::initScript):
14372 (WebCore::ScriptController::updateDocument):
14373 (WebCore::ScriptController::bindingRootObject):
14374 (WebCore::ScriptController::windowScriptNPObject):
14375 (WebCore::ScriptController::createScriptObjectForPluginElement):
14376 (WebCore::ScriptController::clearScriptObjects):
14377 * bindings/js/ScriptControllerMac.mm:
14378 (WebCore::ScriptController::windowScriptObject):
14379 * bindings/objc/WebScriptObject.mm:
14380 (_didExecute):
14381 (-[WebScriptObject callWebScriptMethod:withArguments:]):
14382 (-[WebScriptObject evaluateWebScript:]):
14383 (-[WebScriptObject setValue:forKey:]):
14384 (-[WebScriptObject valueForKey:]):
14385 (-[WebScriptObject removeWebScriptKey:]):
14386 (-[WebScriptObject stringRepresentation]):
14387 (-[WebScriptObject webScriptValueAtIndex:]):
14388 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
14389 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
14390 * bridge/NP_jsobject.cpp:
14391 (_NPN_InvokeDefault):
14392 (_NPN_Invoke):
14393 (_NPN_Evaluate):
14394 (_NPN_GetProperty):
14395 (_NPN_SetProperty):
14396 (_NPN_RemoveProperty):
14397 (_NPN_HasProperty):
14398 (_NPN_HasMethod):
14399 (_NPN_Enumerate):
14400 * bridge/c/c_class.cpp:
14401 (KJS::Bindings::CClass::~CClass):
14402 (KJS::Bindings::CClass::methodsNamed):
14403 (KJS::Bindings::CClass::fieldNamed):
14404 * bridge/c/c_instance.cpp:
14405 (KJS::Bindings::CInstance::invokeMethod):
14406 (KJS::Bindings::CInstance::invokeDefaultMethod):
14407 (KJS::Bindings::CInstance::getPropertyNames):
14408 * bridge/c/c_runtime.cpp:
14409 (KJS::Bindings::CField::valueFromInstance):
14410 (KJS::Bindings::CField::setValueToInstance):
14411 * bridge/c/c_utility.cpp:
14412 (KJS::Bindings::convertValueToNPVariant):
14413 (KJS::Bindings::convertNPVariantToValue):
14414 * bridge/jni/jni_class.cpp:
14415 (JavaClass::JavaClass):
14416 (JavaClass::~JavaClass):
14417 * bridge/jni/jni_instance.cpp:
14418 (JavaInstance::stringValue):
14419 * bridge/jni/jni_jsobject.mm:
14420 (JavaJSObject::call):
14421 (JavaJSObject::eval):
14422 (JavaJSObject::getMember):
14423 (JavaJSObject::setMember):
14424 (JavaJSObject::removeMember):
14425 (JavaJSObject::getSlot):
14426 (JavaJSObject::setSlot):
14427 (JavaJSObject::toString):
14428 (JavaJSObject::convertValueToJObject):
14429 (JavaJSObject::convertJObjectToValue):
14430 * bridge/jni/jni_objc.mm:
14431 (KJS::Bindings::dispatchJNICall):
14432 * bridge/jni/jni_runtime.cpp:
14433 (appendClassName):
14434 (JavaMethod::signature):
14435 * bridge/jni/jni_runtime.h:
14436 (KJS::Bindings::JavaString::JavaString):
14437 (KJS::Bindings::JavaString::_commonInit):
14438 (KJS::Bindings::JavaString::~JavaString):
14439 (KJS::Bindings::JavaString::UTF8String):
14440 * bridge/jni/jni_utility.cpp:
14441 (KJS::Bindings::convertValueToJValue):
14442 * bridge/npruntime.cpp:
14443 (_NPN_GetStringIdentifier):
14444 * bridge/objc/objc_instance.mm:
14445 (ObjcInstance::moveGlobalExceptionToExecState):
14446 (ObjcInstance::invokeMethod):
14447 (ObjcInstance::invokeDefaultMethod):
14448 (ObjcInstance::setValueOfUndefinedField):
14449 (ObjcInstance::getValueOfUndefinedField):
14450 * bridge/objc/objc_runtime.mm:
14451 (ObjcField::valueFromInstance):
14452 (ObjcField::setValueToInstance):
14453 * bridge/objc/objc_utility.mm:
14454 (KJS::Bindings::convertValueToObjcValue):
14455 (KJS::Bindings::convertNSStringToString):
14456 (KJS::Bindings::convertObjcValueToValue):
14457 * bridge/qt/qt_instance.cpp:
14458 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
14459 (KJS::Bindings::QtInstance::~QtInstance):
14460 (KJS::Bindings::QtInstance::getQtInstance):
14461 (KJS::Bindings::QtInstance::getRuntimeObject):
14462 * bridge/qt/qt_runtime.cpp:
14463 (KJS::Bindings::convertValueToQVariant):
14464 (KJS::Bindings::convertQVariantToValue):
14465 (KJS::Bindings::QtRuntimeMetaMethod::call):
14466 (KJS::Bindings::QtRuntimeConnectionMethod::call):
14467 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
14468 (KJS::Bindings::QtConnectionObject::execute):
14469 * bridge/runtime.cpp:
14470 (KJS::Bindings::Instance::createRuntimeObject):
14471 * bridge/testbindings.cpp:
14472 (main):
14473 * bridge/testbindings.mm:
14474 (main):
14475 * bridge/testqtbindings.cpp:
14476 (main):
14477 * dom/Document.cpp:
14478 (WebCore::Document::~Document):
14479 * dom/Node.cpp:
14480 (WebCore::Node::setDocument):
14481 * history/CachedPage.cpp:
14482 (WebCore::CachedPage::CachedPage):
14483 (WebCore::CachedPage::restore):
14484 (WebCore::CachedPage::clear):
14485 * loader/FrameLoader.cpp:
14486 (WebCore::getString):
14487 * page/InspectorController.cpp:
14488 (WebCore::ConsoleMessage::ConsoleMessage):
14489 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
14490 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
14491 (WebCore::getResourceDocumentNode):
14492 (WebCore::search):
14493 (WebCore::inspectedWindow):
14494 (WebCore::wrapCallback):
14495 (WebCore::currentCallFrame):
14496 (WebCore::profiles):
14497 (WebCore::InspectorController::focusNode):
14498 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
14499 (WebCore::InspectorController::addDatabaseScriptResource):
14500 (WebCore::InspectorController::addScriptProfile):
14501 * page/JavaScriptCallFrame.cpp:
14502 (WebCore::JavaScriptCallFrame::evaluate):
14503 * page/JavaScriptProfileNode.cpp:
14504 (WebCore::getTotalTime):
14505 (WebCore::getSelfTime):
14506 (WebCore::getTotalPercent):
14507 (WebCore::getSelfPercent):
14508 (WebCore::getNumberOfCalls):
14509 (WebCore::getChildren):
14510 (WebCore::getVisible):
14511 * page/Page.cpp:
14512 * page/mac/FrameMac.mm:
14513 * plugins/PluginView.cpp:
14514 (WebCore::PluginView::start):
14515 (WebCore::getString):
14516 (WebCore::PluginView::performRequest):
14517 (WebCore::PluginView::bindingInstance):
14518 * plugins/gtk/PluginViewGtk.cpp:
14519 (WebCore::PluginView::paint):
14520 (WebCore::PluginView::handleKeyboardEvent):
14521 (WebCore::PluginView::handleMouseEvent):
14522 (WebCore::PluginView::setNPWindowRect):
14523 (WebCore::PluginView::stop):
14524 (WebCore::PluginView::init):
14525 * plugins/qt/PluginViewQt.cpp:
14526 (WebCore::PluginView::setNPWindowRect):
14527 (WebCore::PluginView::stop):
14528 (WebCore::PluginView::init):
14529 * plugins/win/PluginViewWin.cpp:
14530 (WebCore::PluginView::dispatchNPEvent):
14531 (WebCore::PluginView::handleKeyboardEvent):
14532 (WebCore::PluginView::handleMouseEvent):
14533 (WebCore::PluginView::setNPWindowRect):
14534 (WebCore::PluginView::stop):
14535 * xml/XMLHttpRequest.cpp:
14536 (WebCore::XMLHttpRequest::clearResponse):
14537 (WebCore::XMLHttpRequest::didFinishLoading):
14538 (WebCore::XMLHttpRequest::didReceiveData):
14539
eric@webkit.orgbac93762008-08-19 23:33:07 +0000145402008-08-19 Eric Seidel <eric@webkit.org>
14541
14542 Reviewed by Geoff Garen.
14543
14544 Add the beginnings of Skia graphics support to WebCore
14545 as I try to begin the long process of un-forking the changes
14546 needed to WebCore to make Andriod's WebCore build.
14547
14548 I'll follow this up with actual *Skia.cpp files in a separate patch.
14549
14550 * platform/graphics/AffineTransform.h:
14551 * platform/graphics/FloatPoint.h:
14552 * platform/graphics/FloatRect.h:
14553 * platform/graphics/Gradient.h:
14554 * platform/graphics/GraphicsContext.h:
14555 * platform/graphics/Image.h:
14556 * platform/graphics/ImageBuffer.h:
14557 * platform/graphics/ImageSource.h:
14558 * platform/graphics/IntPoint.h:
14559 * platform/graphics/IntRect.h:
14560 * platform/graphics/Path.h:
14561 * platform/graphics/Pattern.h:
14562 * svg/graphics/SVGPaintServerPattern.h:
14563 * svg/graphics/SVGPaintServerSolid.h:
14564
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000145652008-08-19 Steve Falkenburg <sfalken@apple.com>
14566
sfalken@apple.com45d22802008-08-19 22:46:31 +000014567 Fix Windows build more.
14568
14569 * WebCore.vcproj/WebCore.vcproj:
14570
145712008-08-19 Steve Falkenburg <sfalken@apple.com>
14572
sfalken@apple.com3f69b332008-08-19 22:34:37 +000014573 Fix Windows build.
14574
14575 * page/AccessibilityRenderObject.cpp:
14576 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
14577
mrowe@apple.com37686d42008-09-04 00:10:39 +0000145782008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000014579
14580 Reviewed by Beth Dakin.
14581
14582 <rdar://problem/4003764> Expose tables as AXTables
14583
14584 Tests: accessibility/table-attributes.html
14585 accessibility/table-cell-spans.html
14586 accessibility/table-cells.html
14587 accessibility/table-detection.html
14588 accessibility/table-sections.html
14589 accessibility/table-with-rules.html
14590
14591 * WebCore.xcodeproj/project.pbxproj:
14592 * page/AXObjectCache.cpp:
14593 (WebCore::AXObjectCache::get):
14594 * page/AccessibilityObject.h:
14595 (WebCore::):
14596 (WebCore::AccessibilityObject::isDataTable):
14597 (WebCore::AccessibilityObject::isTableRow):
14598 (WebCore::AccessibilityObject::isTableColumn):
14599 (WebCore::AccessibilityObject::isTableCell):
14600 * page/AccessibilityRenderObject.cpp:
14601 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
14602 * page/AccessibilityTable.cpp: Added.
14603 (WebCore::AccessibilityTable::AccessibilityTable):
14604 (WebCore::AccessibilityTable::~AccessibilityTable):
14605 (WebCore::AccessibilityTable::create):
14606 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
14607 (WebCore::AccessibilityTable::clearChildren):
14608 (WebCore::AccessibilityTable::addChildren):
14609 (WebCore::AccessibilityTable::headerContainer):
14610 (WebCore::AccessibilityTable::columns):
14611 (WebCore::AccessibilityTable::rows):
14612 (WebCore::AccessibilityTable::rowHeaders):
14613 (WebCore::AccessibilityTable::columnHeaders):
14614 (WebCore::AccessibilityTable::cells):
14615 (WebCore::AccessibilityTable::columnCount):
14616 (WebCore::AccessibilityTable::rowCount):
14617 (WebCore::AccessibilityTable::cellForColumnAndRow):
14618 (WebCore::AccessibilityTable::roleValue):
14619 (WebCore::AccessibilityTable::accessibilityIsIgnored):
14620 (WebCore::AccessibilityTable::title):
14621 (WebCore::AccessibilityTable::isDataTable):
14622 * page/AccessibilityTable.h: Added.
14623 * page/AccessibilityTableCell.cpp: Added.
14624 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
14625 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
14626 (WebCore::AccessibilityTableCell::create):
14627 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
14628 (WebCore::AccessibilityTableCell::rowIndexRange):
14629 (WebCore::AccessibilityTableCell::columnIndexRange):
14630 * page/AccessibilityTableCell.h: Added.
14631 (WebCore::AccessibilityTableCell::isTableCell):
14632 (WebCore::AccessibilityTableCell::roleValue):
14633 * page/AccessibilityTableColumn.cpp: Added.
14634 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
14635 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
14636 (WebCore::AccessibilityTableColumn::create):
14637 (WebCore::AccessibilityTableColumn::setParentTable):
14638 (WebCore::AccessibilityTableColumn::elementRect):
14639 (WebCore::AccessibilityTableColumn::size):
14640 (WebCore::AccessibilityTableColumn::children):
14641 (WebCore::AccessibilityTableColumn::headerObject):
14642 (WebCore::AccessibilityTableColumn::headerObjectForSection):
14643 (WebCore::AccessibilityTableColumn::addChildren):
14644 * page/AccessibilityTableColumn.h: Added.
14645 (WebCore::AccessibilityTableColumn::parentObject):
14646 (WebCore::AccessibilityTableColumn::roleValue):
14647 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
14648 (WebCore::AccessibilityTableColumn::isTableColumn):
14649 (WebCore::AccessibilityTableColumn::setColumnIndex):
14650 (WebCore::AccessibilityTableColumn::columnIndex):
14651 * page/AccessibilityTableHeaderContainer.cpp: Added.
14652 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
14653 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
14654 (WebCore::AccessibilityTableHeaderContainer::create):
14655 (WebCore::AccessibilityTableHeaderContainer::children):
14656 (WebCore::AccessibilityTableHeaderContainer::elementRect):
14657 (WebCore::AccessibilityTableHeaderContainer::size):
14658 (WebCore::AccessibilityTableHeaderContainer::addChildren):
14659 * page/AccessibilityTableHeaderContainer.h: Added.
14660 (WebCore::AccessibilityTableHeaderContainer::roleValue):
14661 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
14662 (WebCore::AccessibilityTableHeaderContainer::parentObject):
14663 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
14664 * page/AccessibilityTableRow.cpp: Added.
14665 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
14666 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
14667 (WebCore::AccessibilityTableRow::create):
14668 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
14669 (WebCore::AccessibilityTableRow::headerObject):
14670 * page/AccessibilityTableRow.h: Added.
14671 (WebCore::AccessibilityTableRow::isTableRow):
14672 (WebCore::AccessibilityTableRow::roleValue):
14673 (WebCore::AccessibilityTableRow::setRowIndex):
14674 (WebCore::AccessibilityTableRow::rowIndex):
14675 * page/mac/AccessibilityObjectWrapper.mm:
14676 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
14677 (RoleEntry::):
14678 (-[AccessibilityObjectWrapper roleDescription]):
14679 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
14680 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
14681 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
14682
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000146832008-08-19 Steve Falkenburg <sfalken@apple.com>
14684
14685 Build fix.
14686 Add buildfailed support to stop builds early (preventing inaccurate error messages).
14687 Add missing post-build rule to Release.
14688
14689 * WebCore.vcproj/QTMovieWin.vcproj:
14690
timothy@apple.comda3aa632008-08-19 18:33:02 +0000146912008-08-19 Keishi Hattori <casey.hattori@gmail.com>
14692
timothy@apple.com7d08c322008-08-19 18:33:27 +000014693 Added support for console.count in the inspector.
14694
14695 Reviewed by Geoff Garen.
14696
14697 * page/Console.cpp:
14698 (WebCore::Console::count):
14699 * page/Console.h:
14700 * page/Console.idl: Added console.count.
14701 * page/InspectorController.cpp:
14702 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
14703 (WebCore::InspectorController::count): Updates the count number
14704 sing "title@source:line" as the identifier, and adds a
14705 message to the console.
14706 * page/InspectorController.h: Added m_counts.
14707
147082008-08-19 Keishi Hattori <casey.hattori@gmail.com>
14709
timothy@apple.comda3aa632008-08-19 18:33:02 +000014710 Clear console.time timers when changing page.
14711
14712 Reviewed by Geoff Garen.
14713
14714 * page/InspectorController.cpp:
14715 (WebCore::InspectorController::didCommitLoad):
14716
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000147172008-08-19 Eric Carlson <eric.carlson@apple.com>
14718
14719 Reviewed by Adele.
14720
14721 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
14722 https://bugs.webkit.org/show_bug.cgi?id=20404
14723
14724 Ignore setVisible() when visibility doesn't change.
14725
14726 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
14727 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
14728 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
14729 (WebCore::MediaPlayerPrivate::setVisible):
14730
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000147312008-08-19 Timothy Hatcher <timothy@apple.com>
14732
timothy@apple.come058a792008-08-19 17:01:12 +000014733 Fixes a bug in the Profile view where switching sort order, then
14734 switching from heavy to tree mode would show the tree in the
14735 previous sort order.
14736
14737 https://bugs.webkit.org/show_bug.cgi?id=20441
14738
14739 Reviewed by Kevin McCullough.
14740
14741 * page/inspector/ProfileView.js:
14742 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
14743 on the next profile before assigning it to this.profile.
14744 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
14745 (WebInspector.ProfileView.prototype._sortProfile): Moves from
14746 _sortData and takes a profile argument. If the profile passed in
14747 matches the this.profile, then call refresh.
14748
147492008-08-18 Timothy Hatcher <timothy@apple.com>
14750
timothy@apple.come525e402008-08-19 17:01:00 +000014751 Changed the default sort order now that heavy view is the default.
14752 Also fixes a bug where the heavy profile was not sorted at first.
14753
14754 https://bugs.webkit.org/show_bug.cgi?id=20440
14755
14756 Reviewed by Kevin McCullough.
14757
14758 * page/inspector/ProfileView.js:
14759 (WebInspector.ProfileView): Changed the default sort column. Also assign
14760 heavyProfile to profile, so the sortSelfTimeDescending call happens
14761 on the heavy profile before assigning to this.profile.
14762
147632008-08-18 Timothy Hatcher <timothy@apple.com>
14764
timothy@apple.comc9287f32008-08-19 17:00:36 +000014765 Add support for editing DOM properties and scope variables by double
14766 clicking a property to enter edit mode.
14767
14768 https://bugs.webkit.org/show_bug.cgi?id=20415
14769
14770 Reviewed by Kevin McCullough.
14771
14772 * page/inspector/ObjectPropertiesSection.js:
14773 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
14774 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
14775 Factored out code into update, and calls update.
14776 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
14777 Call removeChildren since this method can be called multiple times now.
14778 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
14779 gets made later in onattach.
14780 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
14781 if shouldRefreshChildren is true. Call removeChildren since this method can be
14782 called multiple times now.
14783 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
14784 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
14785 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
14786 this element (code moved from the constructor.)
14787 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
14788 sibling property elements.
14789 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
14790 WebInspector.startEditing after rememebring some context.
14791 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
14792 for the list element, since it might have scrolled during editing.
14793 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
14794 then restore the state from the context. Then call update to restore the title.
14795 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
14796 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
14797 to commit the user input.
14798 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
14799 and stores the result on the object for the property name of this element. If the expression is
14800 empty, delete the property and remove the tree element.
14801 * page/inspector/ScopeChainSidebarPane.js:
14802 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
14803 property on each ObjectPropertiesSection.
14804 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
14805 since it is now implemented.
14806 * page/inspector/ScriptsPanel.js:
14807 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
14808 that defaults to true if omitted. It specifies whether to call update on the scope chain.
14809 * page/inspector/inspector.css: New styles.
14810 * page/inspector/treeoutline.js:
14811 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
14812 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
14813
148142008-08-18 Timothy Hatcher <timothy@apple.com>
14815
timothy@apple.com9d9821a2008-08-19 17:00:26 +000014816 Surround the expression to be evaluated in parenthesis so the
14817 result of the eval is the result of the whole expression not
14818 the last potential sub-expression. So evaluating {x: 123}
14819 will show the Object not 123.
14820
14821 https://bugs.webkit.org/show_bug.cgi?id=20428
14822
14823 Reviewed by Kevin McCullough.
14824
14825 * page/inspector/Console.js:
14826 (Console.prototype._evalInInspectedWindow): Add parenthesis
14827 around the expression. And add couple comments.
14828
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000148292008-08-19 Kevin McCullough <kmccullough@apple.com>
14830
14831 Reviewed by Geoff.
14832
14833 -Implement a page() function to extract a common code pattern.
14834
14835 * WebCore.xcodeproj/project.pbxproj:
14836 * page/Console.cpp:
14837 (WebCore::Console::addMessage):
14838 (WebCore::Console::error):
14839 (WebCore::Console::info):
14840 (WebCore::Console::log):
14841 (WebCore::Console::dir):
14842 (WebCore::Console::assertCondition):
14843 (WebCore::Console::time):
14844 (WebCore::Console::timeEnd):
14845 (WebCore::Console::group):
14846 (WebCore::Console::groupEnd):
14847 (WebCore::Console::finishedProfiling):
14848 (WebCore::Console::warn):
14849 (WebCore::Console::framePage):
14850 * page/Console.h:
14851
darin@apple.com349e1eb2008-08-19 04:39:04 +0000148522008-08-12 Darin Adler <darin@apple.com>
14853
14854 Reviewed by Geoff.
14855
14856 - eliminate JSValue::type()
14857
14858 * bridge/c/c_instance.cpp:
14859 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
14860 argument instead of JSType argument. Removed unneeded code to handle
14861 boolean, since that's never passed.
14862 * bridge/c/c_instance.h: Ditto.
14863
14864 * bridge/c/c_utility.cpp:
14865 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
14866 instead of JSValue::type(). Removed unneeded code to handle
14867 "unspecified".
14868
14869 * bridge/jni/jni_instance.cpp:
14870 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
14871 instead of JSType argument. Removed unneeded code to handle boolean.
14872 * bridge/jni/jni_instance.h: Ditto.
14873
14874 * bridge/jni/jni_jsobject.mm:
14875 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
14876 instead of JSValue::type().
14877
14878 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
14879 instead of JSType argument. Removed unused argument.
14880 * bridge/objc/objc_instance.mm:
14881 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
14882 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
14883 instead of JSType argument. Removed unneeded code to handle boolean
14884 and another dead code path for unknown types.
14885
14886 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
14887 instead of JSType argument. Removed override of type() that caused
14888 the fallback object to return "UndefinedType" when there is no
14889 invokeUndefinedMethodFromWebScript:withArguments: method defined.
14890 That didn't accomplish much, since most checks for undefined don't
14891 ever call type().
14892 * bridge/objc/objc_runtime.mm:
14893 (ObjcFallbackObjectImp::defaultValue): Ditto.
14894
14895 * bridge/qt/qt_instance.cpp:
14896 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
14897 argument instead of JSType argument. Removed unneeded code to handle
14898 boolean.
14899 * bridge/qt/qt_instance.h: Ditto.
14900
14901 * bridge/runtime.h:
14902 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
14903 unsed argument.
14904 * bridge/runtime_object.cpp:
14905 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
14906 argument instead of JSType argument.
14907 * bridge/runtime_object.h: Ditto.
14908
britto@apple.comaf7f8382008-08-19 00:42:13 +0000149092008-08-18 Maxime Britto <britto@apple.com>
14910
14911 Reviewed by Adele.
14912
14913 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
14914 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
14915 We shouldn't be able to create another window while we are in pan scrolling.
14916 Other browsers behaviors :
14917 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
14918 IE7 : Keys are not disabled but stops immediately the panning.
14919 This patch matches FF3 behavior by disabling every key but the esc key.
14920
14921 * page/EventHandler.cpp:
14922 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
14923 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
14924
mitz@apple.com12404d82008-08-19 00:20:38 +0000149252008-08-18 Dan Bernstein <mitz@apple.com>
14926
14927 Reviewed by Dave Hyatt.
14928
14929 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
14930
14931 Test: fast/replaced/max-width-percent.html
14932
14933 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
14934 When false, max-width is not factored into the
14935 calculation.
14936 Changed RenderReplaced and subclasses' calcPrefWidths() to call
14937 calcReplacedWidth(false) and then apply max-width only if it has a
14938 fixed, positive value.
14939
14940 * rendering/RenderBox.cpp:
14941 (WebCore::RenderBox::calcReplacedWidth):
14942 * rendering/RenderBox.h:
14943 * rendering/RenderImage.cpp:
14944 (WebCore::RenderImage::calcReplacedWidth):
14945 (WebCore::RenderImage::calcPrefWidths):
14946 * rendering/RenderImage.h:
14947 * rendering/RenderReplaced.cpp:
14948 (WebCore::RenderReplaced::calcPrefWidths):
14949 * rendering/RenderSVGRoot.cpp:
14950 (WebCore::RenderSVGRoot::calcPrefWidths):
14951 * rendering/RenderVideo.cpp:
14952 (WebCore::RenderVideo::calcReplacedWidth):
14953 (WebCore::RenderVideo::calcPrefWidths):
14954 * rendering/RenderVideo.h:
14955
mrowe@apple.comced88732008-08-18 22:47:28 +0000149562008-08-18 Daniel Macks <dmacks@netspace.org>
14957
14958 Reviewed by Mark Rowe.
14959
14960 https://bugs.webkit.org/show_bug.cgi?id=20410
14961 More portable/self-documenting replacement for SIZE_MAX.
14962
14963 * platform/network/curl/FormDataStreamCurl.cpp:
14964 (WebCore::FormDataStream::read):
14965
149662008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000014967
14968 Reviewed by Dave Hyatt
14969
14970 Need to make sure we have an Animation in the AnimationList
14971 before setting the initial value.
14972 https://bugs.webkit.org/show_bug.cgi?id=20408
14973
14974 Test: fast/css/transition_shorthand_parsing.html
14975
14976 * css/CSSStyleSelector.cpp:
14977
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000149782008-08-18 Kevin McCullough <kmccullough@apple.com>
14979
kmccullough@apple.com707bd362008-08-18 20:21:57 +000014980 Reviewed by Tim.
14981
14982 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
14983 is another profile.
14984
14985 * page/inspector/ProfilesPanel.js:
14986
149872008-08-18 Kevin McCullough <kmccullough@apple.com>
14988
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000014989 Reviewed by Geoff.
14990
14991 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
14992 all console messages
14993
14994 * page/inspector/Console.js:
14995
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000149962008-08-18 Dirk Schulze <vbs85@gmx.de>
14997
14998 Reviewed by Eric Seidel.
14999
15000 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
15001 the canvas clean up.
15002
15003 https://bugs.webkit.org/show_bug.cgi?id=20405
15004
15005 * html/CanvasRenderingContext2D.cpp:
15006 (WebCore::CanvasRenderingContext2D::fill):
15007 (WebCore::CanvasRenderingContext2D::stroke):
15008 (WebCore::CanvasRenderingContext2D::fillRect):
15009
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000150102008-08-17 Timothy Hatcher <timothy@apple.com>
15011
15012 Complete in scope variables in the Console when paused.
15013
15014 https://bugs.webkit.org/show_bug.cgi?id=19115
15015
15016 Reviewed by Geoffrey Garen.
15017
15018 * page/inspector/Console.js:
15019 (WebInspector.Console.prototype.completions): If the expressionString
15020 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
15021 to get an object that declares all the in scope variables. That way
15022 "top level" expressions are completed.
15023 * page/inspector/ScriptsPanel.js:
15024 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
15025 Return an object that has all the variables that are in scope for the
15026 selected call frame. The value of each property is just true.
15027 The return object is useful for quick lookups or auto completion.
15028
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000150292008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
15030
15031 Not reviewed.
15032
15033 Speculative Qt build fix.
15034
15035 * bridge/qt/qt_runtime.cpp:
15036 (KJS::Bindings::convertValueToQVariant):
15037 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
15038
ggaren@apple.comfea43532008-08-17 20:23:49 +0000150392008-08-17 Geoffrey Garen <ggaren@apple.com>
15040
15041 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000015042
15043 Updated project files to XCode 3.1.
15044
15045 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
15046
150472008-08-17 Geoffrey Garen <ggaren@apple.com>
15048
15049 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000015050
15051 Made room for a free word in JSCell.
15052
15053 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
15054 JSGlobalData, so the two could share a pointer.
15055
15056 Added a bunch of ASSERTs, to help catch over-sized objects.
15057
mrowe@apple.com13570292008-08-16 06:48:10 +0000150582008-08-15 Mark Rowe <mrowe@apple.com>
15059
mitz@apple.comb96c1b92008-08-17 03:28:52 +000015060 Reviewed by Dan Bernstein.
15061
15062 Disable dead code stripping in debug builds.
15063
15064 * Configurations/Base.xcconfig:
15065 * WebCore.xcodeproj/project.pbxproj:
15066
150672008-08-15 Mark Rowe <mrowe@apple.com>
15068
mrowe@apple.com13570292008-08-16 06:48:10 +000015069 Rubber-stamped by Geoff Garen.
15070
15071 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
15072
15073 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
15074 between the Debug configuration and debug Production variant.
15075 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
15076
antti@apple.coma05e8b02008-08-15 22:58:06 +0000150772008-08-15 Antti Koivisto <antti@apple.com>
15078
15079 Reviewed by Anders.
15080
15081 Don't start preloading body resources before the head is complete. This prevents
15082 body preloads from slowing down initial display when there is limited amount
15083 of bandwidth available.
15084
15085 Works by queuing up found body preloads to DocLoader and only issuing them
15086 after document has rendering.
15087
15088 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
15089 without affecting complete load time.
15090
15091 * html/PreloadScanner.cpp:
15092 (WebCore::PreloadScanner::PreloadScanner):
15093 (WebCore::PreloadScanner::scanningBody):
15094 (WebCore::PreloadScanner::emitTag):
15095 (WebCore::PreloadScanner::emitCSSRule):
15096 * html/PreloadScanner.h:
15097 * loader/DocLoader.cpp:
15098 (WebCore::DocLoader::preload):
15099 (WebCore::DocLoader::checkForPendingPreloads):
15100 (WebCore::DocLoader::requestPreload):
15101 * loader/DocLoader.h:
15102 * loader/loader.cpp:
15103 (WebCore::Loader::Host::didFinishLoading):
15104 (WebCore::Loader::Host::didFail):
15105
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000151062008-08-15 Ada Chan <adachan@apple.com>
15107
15108 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
15109 This way style set on an <hr> within a <select> will be honored.
15110
15111 Reviewed by Dave Hyatt and Dan Bernstein.
15112
15113 * rendering/RenderMenuList.cpp:
15114 (WebCore::RenderMenuList::itemStyle):
15115
antti@apple.com9f7911472008-08-15 20:48:06 +0000151162008-08-15 Antti Koivisto <antti@apple.com>
15117
15118 Reviewed by Oliver.
15119
15120 Some loader performance tweaks:
15121 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
15122 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
15123 to not delay rendering.
15124 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
15125 can take long time when latency is high so it is good to get started early.
15126 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
15127 load queues. Issue remaining loads to the network layer.
15128
15129 * loader/loader.cpp:
15130 (WebCore::Loader::determinePriority):
15131 (WebCore::Loader::load):
15132 (WebCore::Loader::Host::servePendingRequests):
15133 * loader/loader.h:
15134
timothy@apple.com2d974c32008-08-15 18:35:39 +0000151352008-08-15 Timothy Hatcher <timothy@apple.com>
15136
15137 Detach the script debugger when the Web Inspector's window closes.
15138 This has always been the intended design, but never fully implemented.
15139
15140 https://bugs.webkit.org/show_bug.cgi?id=20402
15141
15142 Reviewed by Adam Roben.
15143
15144 * page/InspectorController.cpp:
15145 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
15146 if the window is no longer visible.
15147
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000151482008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
15149
15150 Reviewed by Simon.
15151
hausmann@webkit.org58144a72008-08-15 18:12:08 +000015152 Fixes: compile with QT_NO_CONTEXTMENU
15153
15154 * platform/qt/PlatformMouseEventQt.cpp:
15155 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
15156 * platform/qt/PlatformScrollBarQt.cpp:
15157 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
15158 (WebCore::PlatformScrollbar::handleContextMenuEvent):
15159
151602008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
15161
15162 Reviewed by Simon.
15163
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000015164 Fixes: compile with QT_NO_WHEELEVENT
15165
15166 * platform/qt/WheelEventQt.cpp:
15167 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
15168
timothy@apple.com4889e612008-08-15 17:06:14 +0000151692008-08-15 Keishi Hattori <casey.hattori@gmail.com>
15170
timothy@apple.comd64639c2008-08-15 17:48:36 +000015171 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
15172
15173 https://bugs.webkit.org/show_bug.cgi?id=20210
15174
15175 Reviewed by Tim Hatcher.
15176
15177 * page/Console.cpp:
15178 (WebCore::Console::group):
15179 (WebCore::Console::groupEnd):
15180 * page/Console.h:
15181 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
15182 * page/InspectorController.cpp:
15183 (WebCore::InspectorController::startGroup): Increments group level by
15184 one and adds console message with StartGroupMessaageLevel.
15185 (WebCore::InspectorController::endGroup): Decrements group level by one
15186 and adds console message with EndGroupMessaageLevel.
15187 * page/InspectorController.h:
15188 * page/inspector/Console.js:
15189 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
15190 if the message is StartGroupMessaageLevel.
15191 (WebInspector.ConsoleMessage.prototype.toMessageElement):
15192 (WebInspector.ConsoleGroup.prototype.addMessage):
15193 * page/inspector/inspector.js:
15194
151952008-08-15 Keishi Hattori <casey.hattori@gmail.com>
15196
timothy@apple.com7310b6a2008-08-15 17:35:22 +000015197 Adds support for console.dir to the Inspector
15198
15199 https://bugs.webkit.org/show_bug.cgi?id=19155
15200
15201 Reviewed by Tim Hatcher.
15202
15203 * bindings/js/JSConsoleCustom.cpp:
15204 (WebCore::JSConsole::dir):
15205 * page/Console.cpp:
15206 (WebCore::Console::dir):
15207 * page/Console.h: Added ObjectMessageLevel.
15208 * page/Console.idl: Added console.dir.
15209 * page/inspector/Console.js:
15210 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
15211 ObjectPropertiesSection if the MessageLevel is Object.
15212 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
15213 used on primitive data types.
15214 * page/inspector/inspector.css:
15215
152162008-08-15 Keishi Hattori <casey.hattori@gmail.com>
15217
timothy@apple.com4889e612008-08-15 17:06:14 +000015218 Adds support for clear() in the Inspector console.
15219
15220 https://bugs.webkit.org/show_bug.cgi?id=19873
15221
15222 Reviewed by Tim Hatcher.
15223
15224 * page/inspector/Console.js:
15225
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000152262008-08-15 Anthony Ricaud <rik24d@gmail.com>
15227
15228 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
15229
15230 Platform distinction and modifier key matching adjusted
15231 by Daniel Jalkut <jalkut@red-sweater.com>
15232
15233 Bug 16313: text search (find) keybindings should work in the Web Inspector
15234 https://bugs.webkit.org/show_bug.cgi?id=16313
15235
15236 Reviewed by Tim Hatcher.
15237
15238 * page/inspector/inspector.js: Added a case for the F key
15239
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000152402008-08-15 Keishi Hattori <casey.hattori@gmail.com>
15241
15242 Fix for error when the string doesn't contain a webkit-profile link.
15243
15244 https://bugs.webkit.org/show_bug.cgi?id=20399
15245
15246 Reviewed by Tim Hatcher.
15247
15248 * page/inspector/inspector.js:
15249
timothy@apple.com895b2652008-08-15 16:33:27 +0000152502008-08-15 Timothy Hatcher <timothy@apple.com>
15251
15252 Fixes two bugs where JavaScript could be executed from the page
15253 while the debugger is paused.
15254
15255 The first issue was JSLazyEventListener not checking the paused
15256 state before parsing the code.
15257
15258 The second issue was with the PageGroup version of
15259 JavaScriptDebugServer::setJavaScriptPaused always passing false
15260 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
15261 and not the paused argument.
15262
15263 https://bugs.webkit.org/show_bug.cgi?id=20284
15264
15265 Reviewed by Adam Roben.
15266
15267 * bindings/js/JSEventListener.cpp:
15268 (WebCore::JSLazyEventListener::parseCode): Check the paused
15269 state of the ScriptController. Return early if paused.
15270 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
15271 * page/JavaScriptDebugServer.cpp:
15272 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
15273 Pass the paused argument to the Page version of setJavaScriptPaused.
15274
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000152752008-08-15 Alexey Proskuryakov <ap@webkit.org>
15276
15277 Reviewed by Geoff Garen.
15278
15279 JSStringRef is created context-free, but can get linked to one via an identifier table,
15280 breaking an implicit API contract.
15281
15282 * page/InspectorController.cpp:
15283 (WebCore::jsStringRef):
15284 (WebCore::InspectorController::didParseSource):
15285 (WebCore::InspectorController::failedToParseSource):
15286 * page/JavaScriptProfile.cpp:
15287 (WebCore::getTitleCallback):
15288 Updated for JavaScriptCore changes.
15289
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000152902008-08-14 Kevin Ollivier <kevino@theolliviers.com>
15291
15292 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
15293 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
15294
15295 * platform/graphics/AffineTransform.h:
15296
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000152972008-08-14 Eric Carlson <eric.carlson@apple.com>
15298
15299 Reviewed by Adele.
15300
15301 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
15302 <video> elements on Windows never becomes visible when a page is restored from the cache
15303
15304 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
15305 value is different from the cached value. Let the implementation decide when
15306 to avoid work because nothing has changed.
15307
15308 * platform/graphics/MediaPlayer.cpp:
15309 (WebCore::MediaPlayer::setVolume):
15310 (WebCore::MediaPlayer::setRate):
15311 (WebCore::MediaPlayer::setRect):
15312 (WebCore::MediaPlayer::setVisible):
15313
timothy@apple.comda810f42008-08-14 23:57:14 +0000153142008-08-14 Keishi Hattori <casey.hattori@gmail.com>
15315
15316 Make Firebug command line API respect predefined variables.
15317
timothy@apple.com90751f02008-08-14 23:58:19 +000015318 https://bugs.webkit.org/show_bug.cgi?id=20385
15319
timothy@apple.comda810f42008-08-14 23:57:14 +000015320 Reviewed by Tim Hatcher.
15321
15322 * page/inspector/Console.js:
15323
weinig@apple.com4b51d002008-08-14 23:33:22 +0000153242008-08-14 Sam Weinig <sam@webkit.org>
15325
15326 Reviewed by Geoffrey Garen and Timothy Hatcher.
15327
15328 Allow programatically setting the HTMLTokenizers time delay and chunk size
15329 which are used for determining how aggressively we yield.
15330
15331 * WebCore.base.exp:
15332 * html/HTMLTokenizer.cpp:
15333 (WebCore::HTMLTokenizer::begin):
15334 (WebCore::HTMLTokenizer::continueProcessing):
15335 * html/HTMLTokenizer.h:
15336 * page/Page.cpp:
15337 (WebCore::Page::Page):
15338 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
15339 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
15340 * page/Page.h:
15341 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
15342 (WebCore::Page::customHTMLTokenizerTimeDelay):
15343 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
15344 (WebCore::Page::customHTMLTokenizerChunkSize):
15345
eric@webkit.org89613d22008-08-14 23:19:17 +0000153462008-08-14 Eric Seidel <eric@webkit.org>
15347
eric@webkit.org7e897c32008-08-14 23:20:00 +000015348 Reviewed by Beth.
15349
15350 Move us one step closer to cross-platform svg/graphics code
15351
15352 * WebCore.xcodeproj/project.pbxproj:
15353 * html/CanvasStyle.cpp:
15354 * platform/graphics/Color.cpp:
15355 (WebCore::colorWithOverrideAlpha):
15356 * platform/graphics/Color.h:
15357 * svg/graphics/cg/CgSupport.cpp:
15358 (WebCore::applyStrokeStyleToContext):
15359 (WebCore::strokeBoundingBox):
15360 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
15361 (WebCore::SVGPaintServerSolid::setup):
15362
153632008-08-14 Eric Seidel <eric@webkit.org>
15364
eric@webkit.org4f490652008-08-14 23:19:31 +000015365 Reviewed by Alexey.
15366
eric@webkit.org73fa9d12008-08-14 23:19:44 +000015367 Remove un-need includes from HTMLCanvas and use the
15368 Gradient platform abstraction in one place in CanvasStyle
15369
15370 * html/CanvasRenderingContext2D.cpp:
15371 (WebCore::CanvasRenderingContext2D::fillRect):
15372 * html/CanvasStyle.cpp:
15373 * html/HTMLCanvasElement.cpp:
15374
153752008-08-14 Eric Seidel <eric@webkit.org>
15376
15377 Reviewed by Alexey.
15378
eric@webkit.org4f490652008-08-14 23:19:31 +000015379 Clean up GlyphBuffer.h, removing more #ifdefs
15380
15381 * platform/graphics/GlyphBuffer.h:
15382 (WebCore::GlyphBuffer::glyphAt):
15383 (WebCore::GlyphBuffer::advanceAt):
15384 (WebCore::GlyphBuffer::add):
15385
153862008-08-14 Eric Seidel <eric@webkit.org>
15387
eric@webkit.org89613d22008-08-14 23:19:17 +000015388 Reviewed by Sam.
15389
15390 Clean up AffineTransform.h, removing #ifdefs
15391
15392 * platform/graphics/AffineTransform.h:
15393 * platform/graphics/cairo/AffineTransformCairo.cpp:
15394 * platform/graphics/cg/AffineTransformCG.cpp:
15395 * platform/graphics/qt/AffineTransformQt.cpp:
15396 * platform/graphics/wx/AffineTransformWx.cpp:
15397
mitz@apple.com551d6252008-08-14 23:08:09 +0000153982008-08-14 Dan Bernstein <mitz@apple.com>
15399
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000015400 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
15401
15402 * platform/graphics/cairo/ImageSourceCairo.cpp:
15403 (WebCore::ImageSource::frameSizeAtIndex):
15404 * platform/graphics/qt/ImageSourceQt.cpp:
15405 (WebCore::ImageSource::frameSizeAtIndex):
15406 * platform/graphics/wx/ImageSourceWx.cpp:
15407 (WebCore::ImageSource::frameSizeAtIndex):
15408
154092008-08-14 Dan Bernstein <mitz@apple.com>
15410
mitz@apple.com551d6252008-08-14 23:08:09 +000015411 Reviewed by Brady Eidson.
15412
15413 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
15414
15415 * platform/graphics/BitmapImage.cpp:
15416 (WebCore::BitmapImage::BitmapImage): Added initialization of
15417 m_hasUniformFrameSize.
15418 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
15419 cached frame for use in decoded size computation and for setting
15420 m_hasUniformFrameSize.
15421 (WebCore::BitmapImage::currentFrameSize): Added.
15422 (WebCore::BitmapImage::dataChanged): Added code to reset
15423 m_hasUniformFrameSize.
15424 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
15425 m_hasUniformFrameSize.
15426 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
15427 * platform/graphics/cg/ImageCG.cpp:
15428 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
15429 fixes the bug, which resulted from assuming that the frame being drawn
15430 was the same size as the first frame.
15431 * platform/graphics/cg/ImageSourceCG.cpp:
15432 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
15433 changed to get the size of the frame at the given index.
15434 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
15435
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000154362008-08-13 Simon Fraser <simon.fraser@apple.com>
15437
15438 Reviewed by Eric Seidel
15439
15440 Fix @font-face inside @media rule crash.
15441 https://bugs.webkit.org/show_bug.cgi?id=20367
15442
15443 Test: fast/css/font-face-in-media-rule.html
15444
15445 * css/CSSStyleSelector.cpp:
15446 (WebCore::CSSRuleSet::addRulesFromSheet):
15447
kevino@webkit.org141c4602008-08-14 22:52:55 +0000154482008-08-14 Kevin Ollivier <kevino@theolliviers.com>
15449
15450 wx build fixes after recent changes to Canvas and Image classes.
15451
15452 * platform/graphics/Pattern.h:
15453 * platform/graphics/wx/GradientWx.cpp:
15454 (WebCore::Gradient::fill):
15455 * platform/graphics/wx/GraphicsContextWx.cpp:
15456 (WebCore::GraphicsContext::applyFillPattern):
15457 (WebCore::GraphicsContext::applyStrokePattern):
15458 * platform/graphics/wx/ImageBufferWx.cpp:
15459 (WebCore::ImageBuffer::image):
15460 * platform/graphics/wx/ImageWx.cpp:
15461 (WebCore::Image::loadPlatformResource):
15462
britto@apple.comd7008662008-08-14 19:26:02 +0000154632008-08-14 Maxime Britto <britto@apple.com>
15464
15465 Reviewed by Sam Weinig.
15466
15467 rdar://6102511
15468 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
15469 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
15470 Some differences exist between them concerning the kind of key which is pressed :
15471 IE7 : every key leads to a stop of the panning
15472 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
15473 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
15474
15475 * page/EventHandler.cpp:
15476 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
15477
christian@webkit.org0e20f322008-08-14 19:14:47 +0000154782008-08-14 Christian Dywan <christian@twotoasts.de>
15479
15480 Gtk+/ Cairo build fix, patch by Dirk Schulze.
15481
15482 * html/CanvasStyle.cpp:
15483 * platform/graphics/cairo/PatternCairo.cpp:
15484 (WebCore::Pattern::createPlatformPattern):
15485 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
15486
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000154872008-08-14 Kevin McCullough <kmccullough@apple.com>
15488
15489 Reviewed by Tim.
15490
15491 <rdar://problem/6115819> Notify of profile in console
15492
15493 * page/InspectorController.cpp:
15494 (WebCore::InspectorController::addProfile):
15495 (WebCore::InspectorController::addProfileMessageToConsole): Called by
15496 addProfile this is the function that adds a message to the console that
15497 a profile finished.
15498 * page/InspectorController.h:
15499 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
15500 the console log to the profile in the web inspector.
15501 (WebCore::getUniqueIdCallback):
15502 (WebCore::ProfileClass):
15503 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
15504 Id to bring up the requested profile. Also select and reveal the
15505 profile in the profile panel. And created displayTitleForProfileLink()
15506 which formats a title taking into account if it's user initiated or if
15507 there are multiples. Lasty, I put the user initiated profile in a
15508 variable.
15509 * page/inspector/inspector.js: Make the profile title be a clickable
15510 link that will take the user to the identified profile. Also expose
15511 the count of user initiated profiles so they can be displayed in the
15512 console with the correct count.
15513
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000155142008-08-14 Timothy Hatcher <timothy@apple.com>
15515
15516 Avoid formating ConsoleMessages twice unless the message will be
15517 displayed in bubbles of a SourceFrame.
15518
15519 Reviewed by Kevin McCullough.
15520
15521 * page/inspector/Console.js:
15522 (WebInspector.ConsoleMessage): Only format the plain text message
15523 if the URL and line are valid and the level is error or warning.
15524 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
15525 Helper to test for error or warning level.
15526 * page/inspector/SourceFrame.js:
15527 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
15528 message if there is no message or valid line or if the msg
15529 isn't an error or warning.
15530
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000155312008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
15532
15533 partial Gtk build fix, not reviewed
15534
15535 * platform/graphics/cairo/PatternCairo.cpp:
15536
weinig@apple.com45e83142008-08-14 04:49:30 +0000155372008-08-13 Sam Weinig <sam@webkit.org>
15538
weinig@apple.com1c615fe2008-09-29 04:17:33 +000015539 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000015540
15541 Fix style issue.
15542
15543 * html/HTMLMediaElement.cpp:
15544 (WebCore::HTMLMediaElement::pickMedia):
15545
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000155462008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
15547
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000015548 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
15549 Continue Erics build fixes, after the Image cleanup.
15550
15551 * platform/graphics/cairo/ImageBufferCairo.cpp:
15552 (WebCore::ImageBuffer::image):
15553
155542008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
15555
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000015556 Build fix for Qt, not reviewed.
15557 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
15558
15559 * dom/XMLTokenizer.cpp:
15560 (WebCore::eventuallyMarkAsParserCreated): Was erre
15561
155622008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
15563
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000015564 Build fix, not reviewed.
15565 Add ScriptElement.cpp to Gtk build.
15566
15567 * GNUmakefile.am:
15568
155692008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
15570
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000015571 Reviewed by Eric.
15572
15573 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
15574
15575 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
15576 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
15577
15578 This resolves code duplications and allows us to completly replace the old
15579 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
15580
15581 As ScriptElement, doesn't actually inherit from Element, we may want to rename
15582 it, though StyleElement uses the same naming convention, so I left it as is for now.
15583 Eventually we'll rename both files in future.
15584
15585 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
15586
15587 * WebCore.pro: Add new ScriptElement.cpp to build.
15588 * WebCore.vcproj/WebCore.vcproj: Ditto.
15589 * WebCore.xcodeproj/project.pbxproj: Ditto.
15590 * WebCoreSources.bkl: Dutto.
15591 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
15592 (WebCore::ScriptElement::insertedIntoDocument):
15593 (WebCore::ScriptElement::removedFromDocument):
15594 (WebCore::ScriptElement::childrenChanged):
15595 (WebCore::ScriptElement::finishParsingChildren):
15596 (WebCore::ScriptElement::handleSourceAttribute):
15597 (WebCore::isSupportedJavaScriptLanguage):
15598 (WebCore::ScriptElementData::ScriptElementData):
15599 (WebCore::ScriptElementData::~ScriptElementData):
15600 (WebCore::ScriptElementData::requestScript):
15601 (WebCore::ScriptElementData::evaluateScript):
15602 (WebCore::ScriptElementData::stopLoadRequest):
15603 (WebCore::ScriptElementData::notifyFinished):
15604 (WebCore::ScriptElementData::ignoresLoadRequest):
15605 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
15606 (WebCore::ScriptElementData::scriptCharset):
15607 (WebCore::ScriptElementData::scriptContent):
15608 * dom/ScriptElement.h: Added.
15609 (WebCore::ScriptElement::ScriptElement):
15610 (WebCore::ScriptElement::~ScriptElement):
15611 (WebCore::ScriptElementData::element):
15612 (WebCore::ScriptElementData::createdByParser):
15613 (WebCore::ScriptElementData::setCreatedByParser):
15614 * dom/XMLTokenizer.cpp:
15615 (WebCore::isScriptElement):
15616 (WebCore::castToScriptElement):
15617 (WebCore::eventuallyMarkAsParserCreated):
15618 (WebCore::XMLTokenizer::startElementNs):
15619 (WebCore::XMLTokenizer::endElementNs):
15620 (WebCore::createXHTMLParserErrorHeader):
15621 (WebCore::XMLTokenizer::insertErrorMessageBlock):
15622 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
15623 (WebCore::HTMLScriptElement::HTMLScriptElement):
15624 (WebCore::HTMLScriptElement::~HTMLScriptElement):
15625 (WebCore::HTMLScriptElement::isURLAttribute):
15626 (WebCore::HTMLScriptElement::setCreatedByParser):
15627 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
15628 (WebCore::HTMLScriptElement::childrenChanged):
15629 (WebCore::HTMLScriptElement::parseMappedAttribute):
15630 (WebCore::HTMLScriptElement::finishParsingChildren):
15631 (WebCore::HTMLScriptElement::insertedIntoDocument):
15632 (WebCore::HTMLScriptElement::removedFromDocument):
15633 (WebCore::HTMLScriptElement::text):
15634 (WebCore::HTMLScriptElement::setText):
15635 (WebCore::HTMLScriptElement::setHtmlFor):
15636 (WebCore::HTMLScriptElement::setEvent):
15637 (WebCore::HTMLScriptElement::charset):
15638 (WebCore::HTMLScriptElement::src):
15639 (WebCore::HTMLScriptElement::type):
15640 (WebCore::HTMLScriptElement::scriptCharset):
15641 (WebCore::HTMLScriptElement::scriptContent):
15642 (WebCore::HTMLScriptElement::sourceAttributeValue):
15643 (WebCore::HTMLScriptElement::charsetAttributeValue):
15644 (WebCore::HTMLScriptElement::typeAttributeValue):
15645 (WebCore::HTMLScriptElement::languageAttributeValue):
15646 (WebCore::HTMLScriptElement::dispatchLoadEvent):
15647 (WebCore::HTMLScriptElement::dispatchErrorEvent):
15648 * html/HTMLScriptElement.h:
15649 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
15650 * svg/SVGScriptElement.cpp:
15651 (WebCore::SVGScriptElement::SVGScriptElement):
15652 (WebCore::SVGScriptElement::scriptContent):
15653 (WebCore::SVGScriptElement::sourceAttributeValue):
15654 (WebCore::SVGScriptElement::charsetAttributeValue):
15655 (WebCore::SVGScriptElement::typeAttributeValue):
15656 (WebCore::SVGScriptElement::languageAttributeValue):
15657 (WebCore::SVGScriptElement::dispatchLoadEvent):
15658 (WebCore::SVGScriptElement::dispatchErrorEvent):
15659 * svg/SVGScriptElement.h:
15660 (WebCore::SVGScriptElement::setCreatedByParser):
15661
eric@webkit.org7811ef02008-08-14 00:28:51 +0000156622008-08-13 Eric Seidel <eric@webkit.org>
15663
eric@webkit.org3562c592008-08-14 02:17:29 +000015664 Attempt to fix the Gtk build, no review.
15665
15666 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
15667
15668 * platform/graphics/GraphicsContext.h:
15669 * platform/graphics/cairo/GraphicsContextCairo.cpp:
15670 * platform/graphics/qt/GradientQt.cpp:
15671 * platform/graphics/qt/GraphicsContextQt.cpp:
15672 * platform/gtk/RenderThemeGtk.cpp:
15673 (WebCore::paintMozWidget):
15674
156752008-08-13 Eric Seidel <eric@webkit.org>
15676
eric@webkit.org2ec42072008-08-14 02:03:09 +000015677 Yet another attempt to fix the Qt build, no review.
15678
15679 * platform/graphics/qt/GradientQt.cpp:
15680 * platform/graphics/qt/GraphicsContextQt.cpp:
15681 (WebCore::GraphicsContext::applyStrokePattern):
15682 (WebCore::GraphicsContext::applyFillPattern):
15683
156842008-08-13 Eric Seidel <eric@webkit.org>
15685
15686 Attempt to fix the Windows build, no review.
15687
15688 * platform/win/CursorWin.cpp:
15689 (WebCore::loadCursorByName):
15690 * platform/win/ScrollViewWin.cpp:
15691 (WebCore::ScrollView::paint):
15692
156932008-08-13 Eric Seidel <eric@webkit.org>
15694
eric@webkit.org508c0282008-08-14 01:29:34 +000015695 Attempt to fix the Windows build, no review.
15696
15697 * platform/win/CursorWin.cpp:
15698 (WebCore::loadCursorByName):
15699 * platform/win/ScrollViewWin.cpp:
15700 (WebCore::ScrollView::paint):
15701
157022008-08-13 Eric Seidel <eric@webkit.org>
15703
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000015704 Attempt to fix the Qt build, no review.
15705
15706 * platform/graphics/qt/ImageBufferQt.cpp:
15707 (WebCore::ImageBuffer::image):
15708
157092008-08-13 Eric Seidel <eric@webkit.org>
15710
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000015711 Attempt to fix the Windows build, no review.
15712
15713 * platform/graphics/win/ImageWin.cpp:
15714 (WebCore::Image::loadPlatformResource):
15715 * plugins/win/PluginViewWin.cpp:
15716 (WebCore::PluginView::paintMissingPluginIcon):
15717
157182008-08-13 Eric Seidel <eric@webkit.org>
15719
eric@webkit.orgac3f6662008-08-14 01:15:50 +000015720 Another attempt to fix the Qt build, no review.
15721
15722 * platform/graphics/qt/ImageQt.cpp:
15723 * platform/graphics/qt/StillImageQt.h:
15724
157252008-08-13 Eric Seidel <eric@webkit.org>
15726
eric@webkit.org31e0d812008-08-14 01:05:42 +000015727 No review, build fix only.
15728
15729 Fix mac build, due to change in new code since my patch was written.
15730
15731 * svg/graphics/cg/SVGResourceMaskerCg.mm:
15732 (WebCore::SVGResourceMasker::applyMask):
15733
157342008-08-13 Eric Seidel <eric@webkit.org>
15735
eric@webkit.orga20a0032008-08-14 00:42:54 +000015736 Build fix only, no review.
15737
15738 Attempt to fix the Qt build.
15739
eric@webkit.org923255c2008-08-14 00:59:20 +000015740 * platform/graphics/qt/ImageBufferQt.cpp:
15741 * platform/graphics/qt/StillImageQt.h:
15742 (WebCore::StillImage::create):
15743 (WebCore::StillImage::destroyDecodedData):
15744 (WebCore::StillImage::decodedSize):
15745
157462008-08-13 Eric Seidel <eric@webkit.org>
15747
15748 Build fix only, no review.
15749
15750 Attempt to fix the Qt build.
15751
eric@webkit.orga20a0032008-08-14 00:42:54 +000015752 * html/CanvasStyle.cpp:
15753 (WebCore::CanvasStyle::applyStrokeColor):
15754 (WebCore::CanvasStyle::applyFillColor):
15755
157562008-08-13 Eric Seidel <eric@webkit.org>
15757
eric@webkit.org4aca3be2008-08-14 00:30:04 +000015758 Reviewed by Sam.
15759
15760 Match HTML5 spec by throwing INVALID_STATE_ERR when
15761 createPattern is called and the HTMLImageElement is not
15762 yet done loading the image (!isComplete)
15763 https://bugs.webkit.org/show_bug.cgi?id=20351
15764
15765 Test: http/misc/canvas-pattern-from-incremental-image.html
15766
15767 * html/CanvasRenderingContext2D.cpp:
15768 (WebCore::CanvasRenderingContext2D::createPattern):
15769
157702008-08-13 Eric Seidel <eric@webkit.org>
15771
eric@webkit.org5b265602008-08-14 00:29:26 +000015772 Reviewed by Niko.
15773
eric@webkit.orgf0124f62008-08-14 00:29:50 +000015774 Split out a Pattern class from CanvasPattern
15775 and remove all the Pattern-related #ifdefs
15776 (This will break non-mac platforms! I will fix them.)
15777 https://bugs.webkit.org/show_bug.cgi?id=20351
15778
15779 * GNUmakefile.am:
15780 * WebCore.pro:
15781 * WebCore.vcproj/WebCore.vcproj:
15782 * WebCore.xcodeproj/project.pbxproj:
15783 * WebCoreSources.bkl:
15784 * html/CanvasPattern.cpp:
15785 (WebCore::CanvasPattern::parseRepetitionType):
15786 (WebCore::CanvasPattern::CanvasPattern):
15787 * html/CanvasPattern.h:
15788 (WebCore::CanvasPattern::create):
15789 (WebCore::CanvasPattern::pattern):
15790 (WebCore::CanvasPattern::originClean):
15791 * html/CanvasRenderingContext2D.cpp:
15792 (WebCore::CanvasRenderingContext2D::createPattern):
15793 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
15794 (WebCore::CanvasRenderingContext2D::applyFillPattern):
15795 * html/CanvasRenderingContext2D.h:
15796 * html/HTMLCanvasElement.cpp:
15797 * html/HTMLCanvasElement.h:
15798 * loader/FrameLoader.cpp:
15799 (WebCore::FrameLoader::createHistoryItem):
15800 * platform/graphics/GraphicsContext.h:
15801 * platform/graphics/cairo/GraphicsContextCairo.cpp:
15802 (WebCore::GraphicsContext::applyStrokePattern):
15803 (WebCore::GraphicsContext::applyFillPattern):
15804 * platform/graphics/cg/GraphicsContextCG.cpp:
15805 (WebCore::GraphicsContext::clipToImageBuffer):
15806 (WebCore::GraphicsContext::applyStrokePattern):
15807 (WebCore::GraphicsContext::applyFillPattern):
15808
158092008-08-13 Eric Seidel <eric@webkit.org>
15810
15811 Reviewed by Niko.
15812
eric@webkit.org5b265602008-08-14 00:29:26 +000015813 Make Images RefCounted (and clean up callers)
15814 https://bugs.webkit.org/show_bug.cgi?id=20351
15815
15816 * editing/DeleteButtonController.cpp:
15817 (WebCore::DeleteButtonController::createDeletionUI):
15818 * loader/CachedImage.cpp:
15819 (WebCore::CachedImage::CachedImage):
15820 (WebCore::brokenImage):
15821 (WebCore::nullImage):
15822 (WebCore::CachedImage::image):
15823 (WebCore::CachedImage::notifyObservers):
15824 (WebCore::CachedImage::createImage):
15825 * loader/CachedImage.h:
15826 * loader/icon/IconRecord.cpp:
15827 (WebCore::IconRecord::setImageData):
15828 (WebCore::IconRecord::loadImageFromResource):
15829 * loader/icon/IconRecord.h:
15830 * platform/graphics/BitmapImage.h:
15831 (WebCore::BitmapImage::create):
15832 * platform/graphics/GeneratedImage.h:
15833 * platform/graphics/Gradient.cpp:
15834 * platform/graphics/Gradient.h:
15835 * platform/graphics/Image.cpp:
15836 (WebCore::Image::nullImage):
15837 * platform/graphics/Image.h:
15838 * platform/graphics/ImageBuffer.h:
15839 * platform/graphics/cairo/ImageBufferCairo.cpp:
15840 (WebCore::ImageBuffer::image):
15841 * platform/graphics/cg/ImageBufferCG.cpp:
15842 (WebCore::ImageBuffer::image):
15843 (WebCore::ImageBuffer::getImageData):
15844 (WebCore::ImageBuffer::putImageData):
15845 * platform/graphics/cg/PDFDocumentImage.h:
15846 (WebCore::PDFDocumentImage::create):
15847 (WebCore::PDFDocumentImage::destroyDecodedData):
15848 (WebCore::PDFDocumentImage::decodedSize):
15849 * platform/graphics/gtk/ImageGtk.cpp:
15850 (WebCore::Image::loadPlatformResource):
15851 * platform/graphics/mac/ImageMac.mm:
15852 (WebCore::Image::loadPlatformResource):
15853 * rendering/RenderImage.cpp:
15854 * rendering/RenderLayer.cpp:
15855 (WebCore::RenderLayer::paintOverflowControls):
15856 * svg/graphics/SVGImage.cpp:
15857 (WebCore::SVGImage::nativeImageForCurrentFrame):
15858 * svg/graphics/SVGImage.h:
15859 (WebCore::SVGImage::create):
15860 (WebCore::SVGImage::destroyDecodedData):
15861 (WebCore::SVGImage::decodedSize):
15862 (WebCore::SVGImage::frameAtIndex):
15863 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
15864 (WebCore::SVGPaintServerPattern::setup):
15865 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
15866 (WebCore::SVGResourceMasker::applyMask):
15867 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
15868 (WebCore::patternCallback):
15869 * svg/graphics/cg/SVGResourceMaskerCg.mm:
15870 (WebCore::SVGResourceMasker::applyMask):
15871
158722008-08-13 Eric Seidel <eric@webkit.org>
15873
15874 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000015875
15876 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000015877 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000015878
15879 There are some down-sides to this commit.
15880 This commit limits us to 255 levels of grey for calls like:
15881 context.setStrokeStyle(.37, 1.0)
15882 previously CG might have used up to 32bits to store the grey level
15883 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
15884
15885 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
15886 to RGBA32 (like all the rest of colors in WebCore), thus:
15887 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
15888 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
15889
15890 If this is a problem for Dashboard, we can either roll out this commit
15891 or add a beefier Color abstraction, which can be used internally by GraphicsContext
15892 when keeping state, and then GraphicsContext can grow some additional set* routines
15893 for setting the a grey/float/whatever fill and stroke.
15894
15895 * html/CanvasRenderingContext2D.cpp:
15896 (WebCore::CanvasRenderingContext2D::setFillStyle):
15897 * html/CanvasStyle.cpp:
15898 (WebCore::CanvasStyle::CanvasStyle):
15899 (WebCore::colorWithOverrideAlpha):
15900 (WebCore::CanvasStyle::applyStrokeColor):
15901 (WebCore::CanvasStyle::applyFillColor):
15902 * html/CanvasStyle.h:
15903 * platform/graphics/Color.cpp:
15904 (WebCore::colorFloatToRGBAByte):
15905 (WebCore::makeRGBA32FromFloats):
15906 * platform/graphics/Color.h:
15907
adele@apple.com83e44822008-08-13 23:50:41 +0000159082008-08-13 Eric Carlson <eric.carlson@apple.com>
15909
15910 Reviewed by Adele Peterson.
15911
15912 Fix for <rdar://problem/6137931>
15913 https://bugs.webkit.org/show_bug.cgi?id=20360
15914 Remove all parameters from the MIME type before checking with the MIME type registry
15915
15916 Tests: media/video-source-type-params.html
15917
15918 * html/HTMLMediaElement.cpp:
15919 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
15920 to isSupportedMediaMIMEType()
15921
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000159222008-08-13 Beth Dakin <bdakin@apple.com>
15923
15924 Reviewed by Sam Weinig.
15925
15926 Fix for <rdar://problem/6141345>
15927
15928 This patch refines findString and markAllMatchesForText functions'
15929 interactions with disconnected frames. They no longer rely on
15930 knowing where a range is relative to the visible region and work
15931 with disconnected frames that contain frames.
15932
15933 * editing/Editor.cpp:
15934 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
15935 the visiblity enum.
15936 (WebCore::Editor::firstVisibleRange): This now returns the very
15937 first visible range in the document. It's no longer dependent on
15938 searching forward.
15939 (WebCore::Editor::lastVisibleRange): This now returns the very last
15940 visible range in the document. It's no longer dependent on
15941 searching backwards.
15942 (WebCore::Editor::nextVisibleRange): This returns the next visible
15943 range in the appropriate direction from the current range.
15944 * editing/Editor.h:
15945 * page/Frame.cpp:
15946 (WebCore::Frame::findString):
15947 (WebCore::Frame::markAllMatchesForText):
15948
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000159492008-08-13 Kevin Ollivier <kevino@theolliviers.com>
15950
15951 wx build fix for case-sensitive platforms, like Linux.
15952
15953 * WebCoreSources.bkl:
15954
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000159552008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
15956
15957 Reviewed by Holger Freyther.
15958
15959 http://bugs.webkit.org/show_bug.cgi?id=16881
15960 [GTK] PlatformScreenGtk is unimplemented
15961
15962 Original patch by Christian Dywan.
15963
15964 * platform/gtk/PlatformScreenGtk.cpp:
15965 (WebCore::screenDepth):
15966 (WebCore::screenDepthPerComponent):
15967 (WebCore::screenIsMonochrome):
15968 (WebCore::screenRect):
15969 (WebCore::screenAvailableRect):
15970
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000159712008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
15972
15973 Reviewed by Holger Freyther.
15974
15975 http://bugs.webkit.org/show_bug.cgi?id=20318
15976 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
15977
15978 g_idle_add is the same as g_idle_add_full with a priority of
15979 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
15980
15981 * platform/gtk/SharedTimerGtk.cpp:
15982 (WebCore::setSharedTimerFireTime):
15983
timothy@apple.comf0426602008-08-13 18:11:01 +0000159842008-08-13 Timothy Hatcher <timothy@apple.com>
15985
15986 Changed the InspectorController so it can be notified when the
15987 attached state of the Inspector changes in WebKit.
15988
15989 Reviewed by Kevin McCullough.
15990
15991 * WebCore.base.exp: Updated the symbol for setWindowVisible.
15992 * page/InspectorController.cpp:
15993 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
15994 that defaults to false.Call setAttachedWindow with the attached argument.
15995 (WebCore::InspectorController::setAttachedWindow): Call the script version
15996 of setAttachedWindow.
15997 * page/InspectorController.h:
15998 * page/inspector/inspector.js:
15999 (WebInspector.setAttachedWindow): Set the attached property.
16000
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000160012008-08-12 Timothy Hatcher <timothy@apple.com>
16002
timothy@apple.com72c92ae2008-08-13 18:10:45 +000016003 Added a close button to the Inspector's toolbar when docked.
16004
16005 https://bugs.webkit.org/show_bug.cgi?id=14270
16006
16007 Reviewed by Kevin McCullough.
16008
16009 * page/InspectorController.cpp:
16010 (WebCore::closeWindow): Call InspectorController::closeWindow.
16011 (WebCore::InspectorController::windowScriptObjectAvailable):
16012 Added closeWindow to the script class.
16013 * page/InspectorController.h:
16014 * page/inspector/Images/closeButtons.png: Added.
16015 * page/inspector/inspector.css: Added and changed styles.
16016 * page/inspector/inspector.html: Added the close button.
16017 * page/inspector/inspector.js:
16018 (WebInspector.loaded): Added click event listener to the close button.
16019 (WebInspector.close): Call InspectorController.closeWindow.
16020
160212008-08-12 Timothy Hatcher <timothy@apple.com>
16022
timothy@apple.com9ea832b2008-08-13 18:10:36 +000016023 Make the docked Web Inspector resizable. This is the cross platform
16024 portion of the code. Each InspectorClient needs to implement the
16025 real resize code.
16026
16027 https://bugs.webkit.org/show_bug.cgi?id=14282
16028
16029 Reviewed by Kevin McCullough.
16030
16031 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
16032 * page/InspectorClient.h: Added setAttachedWindowHeight.
16033 * page/InspectorController.cpp:
16034 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
16035 on the InspectorController.
16036 (WebCore::InspectorController::setAttachedWindowHeight): Call
16037 setAttachedWindowHeight on the client.
16038 (WebCore::InspectorController::windowScriptObjectAvailable):
16039 Added setAttachedWindowHeight to the script class.
16040 * page/InspectorController.h:
16041 * page/inspector/inspector.css: Make the cursor on the toolbar be
16042 row-resize when docked.
16043 * page/inspector/inspector.js:
16044 (WebInspector.loaded): Always add the toolbarDragStart event listener.
16045 (WebInspector.toolbarDragStart): Return early if we are not attached
16046 and not on Leopard. Call WebInspector.elementDragStart.
16047 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
16048 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
16049 otherwise call moveByUnrestricted.
16050
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000160512008-08-13 Simon Hausmann <hausmann@webkit.org>
16052
16053 Reviewed by Holger.
16054
16055 Initialize m_zoomsTextOnly in the Settings constructor.
16056
16057 * page/Settings.cpp:
16058 (WebCore::Settings::Settings):
16059
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000160602008-08-13 Brad Hughes <bhughes@trolltech.com>
16061
16062 Reviewed by Simon.
16063
16064 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
16065
16066 The latest upgrade of the intel compiler allows us to compile all of
16067 Qt with optimizations enabled (yay!).
16068
16069 * WebCore.pro:
16070
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000160712008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
16072
16073 Reviewed by Simon.
16074
16075 Fix QtWebKit not displaying content on 403 HTTP responses
16076
16077 Just like with 404 responses also display content with 403, as
16078 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
16079
16080 * platform/network/qt/QNetworkReplyHandler.cpp:
16081 (WebCore::QNetworkReplyHandler::finish):
16082
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000160832008-08-13 Simon Hausmann <hausmann@webkit.org>
16084
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000016085 Reviewed by Holger.
16086
16087 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
16088
16089 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
16090
16091 * platform/text/String.cpp:
16092 (WebCore::String::format):
16093
160942008-08-13 Simon Hausmann <hausmann@webkit.org>
16095
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000016096 Reviewed by Lars.
16097
16098 Fix QWebFrame::setHtml() not setting the new contents immediately.
16099
16100 Added a setter to the DocumentLoader to toggle the deferred loading of the main
16101 resource when it comes from substitute data.
16102
16103 Disable deferred loading of the main resource when we have valid substitute data,
16104 as used by QWebFrame::setHtml.
16105
16106 * loader/DocumentLoader.h:
16107
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000161082008-08-13 Mark Rowe <mrowe@apple.com>
16109
16110 Speculative GTK build fix.
16111
16112 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
16113
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000161142008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
16115
16116 Reviewed by Simon.
16117
16118 Fix encoding of [ and ] in the host part of the URL
16119
16120 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
16121 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
16122 doesn't encode [ and ] when they are found in the host part. That is, the
16123 following URL:
16124 http://[::1]/
16125 is valid and should not be reencoded to:
16126 http://%5b::1%5d/
16127
16128 * platform/qt/KURLQt.cpp:
16129 (WebCore::KURL::operator QUrl):
16130
mitz@apple.come198b012008-08-12 21:49:07 +0000161312008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
16132
16133 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
16134 Broken HTML object elements cause de-reference of pointer to freed memory.
16135 If we fail to load an image for an object tag and we no longer believe the object tag points at
16136 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
16137 fall back content.
16138
16139 Reviewed by Dave Hyatt and Alexey Proskuryakov.
16140
16141 Test: http/tests/misc/object-image-error-with-onload.html
16142
16143 * html/HTMLObjectElement.cpp:
16144 (WebCore::HTMLObjectElement::renderFallbackContent):
16145 * page/Frame.cpp:
16146 (WebCore::Frame::Frame):
16147
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000161482008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
16149
16150 Reviewed by Dave.
16151
16152 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
16153 Masks are translated, and the mask images are swapped on the y-axis.
16154
16155 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
16156 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
16157
16158 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
16159 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
16160
16161 * svg/graphics/cg/SVGResourceMaskerCg.mm:
16162 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
16163
mitz@apple.comf8a98692008-08-12 17:04:42 +0000161642008-08-12 Dan Bernstein <mitz@apple.com>
16165
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000016166 - WebCore part of <rdar://problem/6121636>
16167 Make fast*alloc() abort() on failure and add "try" variants that
16168 return NULL on failure.
16169
16170 Reviewed by Darin Adler.
16171
16172 * platform/Arena.cpp:
16173 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
16174 result.
16175 * platform/graphics/cg/ImageBufferCG.cpp:
16176 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
16177
161782008-08-12 Dan Bernstein <mitz@apple.com>
16179
mitz@apple.com1e09cd72008-08-12 18:27:58 +000016180 Reviewed by Darin Adler.
16181
16182 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
16183 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
16184
16185 Test: fast/frames/frameset-style-recalc.html
16186
16187 * html/HTMLFrameSetElement.cpp:
16188 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
16189 class implementation after marking for layout.
16190
161912008-08-12 Dan Bernstein <mitz@apple.com>
16192
mitz@apple.comf8a98692008-08-12 17:04:42 +000016193 Reviewed by John Sullivan.
16194
16195 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
16196
16197 * WebCore.base.exp:
16198 * page/FrameView.cpp:
16199 (WebCore::FrameViewPrivate::FrameViewPrivate):
16200 (WebCore::FrameView::shouldUpdateWhileHidden):
16201 (WebCore::FrameView::setShouldUpdateWhileHidden):
16202 * page/FrameView.h:
16203 * page/Settings.cpp:
16204 * page/Settings.h:
16205
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000162062008-08-12 Adam Roben <aroben@apple.com>
16207
16208 Windows build fix
16209
16210 * bindings/js/JSSVGPODTypeWrapper.h: Align
16211 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
16212 members on 16-byte boundaries to avoid an alignment warning.
16213
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000162142008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
16215
16216 Reviewed by Oliver.
16217
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000016218 Add new dynamice-update layout tests covering SVGMarkerElement.
16219 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
16220 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
16221
16222 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
16223 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
16224 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
16225 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
16226 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
16227 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
16228 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
16229 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
16230 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
16231 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
16232 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
16233 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
16234 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
16235 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
16236 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
16237
16238 * svg/SVGMarkerElement.cpp:
16239 (WebCore::SVGMarkerElement::SVGMarkerElement):
16240 (WebCore::SVGMarkerElement::parseMappedAttribute):
16241 (WebCore::SVGMarkerElement::svgAttributeChanged):
16242 (WebCore::SVGMarkerElement::childrenChanged):
16243 (WebCore::SVGMarkerElement::setOrientToAuto):
16244 (WebCore::SVGMarkerElement::setOrientToAngle):
16245 (WebCore::SVGMarkerElement::canvasResource):
16246
162472008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
16248
16249 Reviewed by Oliver.
16250
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000016251 Add new dynamic-update layout tests covering SVGImageElement.
16252 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
16253
16254 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
16255 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
16256 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
16257 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
16258 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
16259 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
16260 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
16261 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
16262 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
16263 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
16264
16265 * svg/SVGImageElement.cpp:
16266 (WebCore::SVGImageElement::svgAttributeChanged):
16267
timothy@apple.com93114722008-08-12 04:20:25 +0000162682008-08-11 Anthony Ricaud <rik24d@gmail.com>
16269
timothy@apple.com2f2cde32008-08-12 04:28:16 +000016270 Changed Option/Alt-Up or Down in CSS editing when the value is
16271 near zero to jump to the next integer.
16272
16273 Reviewed by Tim Hatcher.
16274
16275 https://bugs.webkit.org/show_bug.cgi?id=20326
16276
16277 * page/inspector/StylesSidebarPane.js:
16278
162792008-08-11 Anthony Ricaud <rik24d@gmail.com>
16280
timothy@apple.com93114722008-08-12 04:20:25 +000016281 Changed the line highlight transition for an easier animation.
16282
16283 Reviewed by Tim Hatcher.
16284
16285 * page/inspector/SourceFrame.js:
16286
timothy@apple.com24a14852008-08-12 03:57:39 +0000162872008-08-11 Keishi Hattori <casey.hattori@gmail.com>
16288
16289 Added support for some Firebug Command Line APIs.
16290
16291 Reviewed by Tim Hatcher.
16292
16293 https://bugs.webkit.org/show_bug.cgi?id=19867
16294 https://bugs.webkit.org/show_bug.cgi?id=19868
16295 https://bugs.webkit.org/show_bug.cgi?id=19869
16296 https://bugs.webkit.org/show_bug.cgi?id=19875
16297 https://bugs.webkit.org/show_bug.cgi?id=19876
16298 https://bugs.webkit.org/show_bug.cgi?id=19880
16299
16300 * page/inspector/Console.js:
16301 (WebInspector.Console.prototype._evalInInspectedWindow):
16302 Create an object on the inspected window that holds the console
16303 command line API functions. This object is used in a with statement
16304 around the typed expression.
16305
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000163062008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
16307
16308 Reviewed by Antti.
16309
16310 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
16311
16312 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
16313 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
16314
16315 Added tests: svg/custom/svg-modify-currentTranslate.html
16316 svg/custom/tearoffs-with-tearoffs.html
16317 svg/custom/immutable-properties.html
16318
16319 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
16320
16321 * bindings/js/JSSVGPODTypeWrapper.h:
16322 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
16323 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
16324 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
16325 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
16326 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
16327 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
16328 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
16329 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
16330 * bindings/scripts/CodeGenerator.pm:
16331 * bindings/scripts/CodeGeneratorJS.pm:
16332 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
16333 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
16334
beidson@apple.com0e772f72008-08-12 00:34:46 +0000163352008-08-11 Brady Eidson <beidson@apple.com>
16336
16337 Reviewed by John and Anders
16338
16339 Fix for <rdar://problem/6141797>
16340
16341 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
16342 would never have nil data.
16343
16344 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
16345 semantics with some WebKit applications.
16346
16347 The guarantee was a good one and should be restored.
16348
16349 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
16350 creates an empty data object in the case of null data for its own purposes.
16351
16352 * loader/SubstituteResource.h:
16353 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
16354 well help any future subclassers not make this mistake.
16355
16356 * loader/archive/ArchiveResource.cpp:
16357 (WebCore::ArchiveResource::create): Return 0 if the data is null.
16358
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000163592008-08-11 Simon Fraser <simon.fraser@apple.com>
16360
16361 Reviewed by Dave Hyatt
16362
16363 https://bugs.webkit.org/show_bug.cgi?id=20328
16364 Fix a problem when an 'all' transition transition with more than
16365 one property changing is interrupted, and did some AnimationController
16366 cleanup.
16367
16368 Test: transitions/interrupted-all-transition.html
16369
16370 * page/AnimationController.cpp:
16371 (WebCore::ImplicitAnimation::ImplicitAnimation):
16372 (WebCore::AnimationControllerPrivate::blendProperties):
16373 (WebCore::CompositeAnimation::updateTransitions):
16374 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
16375 (WebCore::CompositeAnimation::setTransitionStartTime):
16376 (WebCore::CompositeAnimation::overrideImplicitAnimations):
16377 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
16378 (WebCore::ImplicitAnimation::animate):
16379 (WebCore::ImplicitAnimation::onAnimationEnd):
16380 (WebCore::ImplicitAnimation::sendTransitionEvent):
16381 (WebCore::ImplicitAnimation::affectsProperty):
16382 (WebCore::KeyframeAnimation::endAnimation):
16383 (WebCore::KeyframeAnimation::onAnimationEnd):
16384
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000163852008-08-11 Kevin McCullough <kmccullough@apple.com>
16386
16387 Reviewed by Tim.
16388
16389 - Because console messages have group levels now, newly created messages
16390 that do not specify the level lose their message since the number of
16391 arguments is wrong.
16392
16393 * page/inspector/Console.js:
16394 * page/inspector/Resource.js:
16395
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000163962008-08-11 Alp Toker <alp@nuanti.com>
16397
16398 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
16399 the opportunity to sort the sources lists.
16400
16401 * GNUmakefile.am:
16402
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000164032008-08-11 Timothy Hatcher <timothy@apple.com>
16404
16405 Speed up the the JavaScript syntax highlighter by generating
16406 the finders only once per script instead of per line.
16407
16408 https://bugs.webkit.org/show_bug.cgi?id=20346
16409
16410 Reviewed by Adam Roben.
16411
16412 * page/inspector/SourceFrame.js:
16413 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
16414 Removed, factored into syntaxHighlightJavascript as an inline function.
16415 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
16416 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
16417 Generate the finders before iterating the lines.
16418
aroben@apple.com957d2d32008-08-11 18:31:37 +0000164192008-08-11 Adam Roben <aroben@apple.com>
16420
16421 Windows build fix
16422
16423 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
16424 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
16425 too.
16426
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000164272008-08-11 Dan Bernstein <mitz@apple.com>
16428
16429 Reviewed by Darin Adler.
16430
16431 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
16432
16433 Test: fast/css/counters/invalidate-cached-counter-node.html
16434
16435 * rendering/RenderContainer.cpp:
16436 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
16437 RenderCounters in :before and :after content.
16438 * rendering/RenderContainer.h:
16439 * rendering/RenderCounter.cpp:
16440 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
16441 to match the RenderObject method.
16442 (WebCore::RenderCounter::invalidate): Added. Resets the cached
16443 CounterNode and invalidates the object's layout and preferred widths.
16444 (WebCore::destroyCounterNodeChildren): Added a call to
16445 invalidateCounters().
16446 * rendering/RenderCounter.h:
16447 * rendering/RenderObject.h:
16448 (WebCore::RenderObject::invalidateCounters):
16449
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000164502008-08-11 Dean Jackson <dino@apple.com>
16451
16452 Implement CSS Animation and Transition Events
16453 https://bugs.webkit.org/show_bug.cgi?id=20337
16454
16455 Implement the events defined in the CSS Animations
16456 and Transitions specifications so code can react
16457 to animations and transitions.
16458
16459 Reviewed by Tim Hatcher and Dave Hyatt.
16460
16461 * DerivedSources.make:
16462 * GNUmakefile.am:
16463 * WebCore.pro:
16464 * WebCore.vcproj/WebCore.vcproj:
16465 * WebCore.xcodeproj/project.pbxproj:
16466 * WebCoreSources.bkl:
16467 Build configs for new files
16468
16469 * bindings/js/JSDOMWindowBase.cpp:
16470 * bindings/js/JSDOMWindowBase.h:
16471 * bindings/js/JSEventCustom.cpp:
16472 * dom/Document.h:
16473 * dom/Event.cpp:
16474 * dom/Event.h:
16475 * dom/EventTarget.cpp:
16476 * dom/EventTargetNode.cpp:
16477 * dom/EventTargetNode.h:
16478 * html/HTMLElement.cpp:
16479 * page/AnimationController.cpp:
16480 do all the new event stuff
16481
16482 * html/HTMLAttributeNames.in:
16483 the onwebkitanimation* and onwebkittransitionend attrs
16484
16485 * dom/WebKitAnimationEvent.cpp: Added.
16486 * dom/WebKitAnimationEvent.h: Added.
16487 * dom/WebKitAnimationEvent.idl: Added.
16488 * dom/WebKitTransitionEvent.cpp: Added.
16489 * dom/WebKitTransitionEvent.h: Added.
16490 * dom/WebKitTransitionEvent.idl: Added.
16491 New files for the events
16492
16493 * manual-tests/transition-events.html: Added.
16494 New testfile
16495
aroben@apple.com3eae8622008-08-11 17:21:23 +0000164962008-08-11 Adam Roben <aroben@apple.com>
16497
16498 Add a ForwardingHeader for wtf/NotFound.h
16499
16500 Rubberstamped by Darin Adler.
16501
16502 * ForwardingHeaders/wtf/NotFound.h: Added.
16503
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000165042008-08-11 Timothy Hatcher <timothy@apple.com>
16505
16506 Fixes a bug where error bubbles in JavaScript resources would
16507 be clobbered by the syntax highlighter.
16508
16509 https://bugs.webkit.org/show_bug.cgi?id=20345
16510
16511 Reviewed by Adam Roben.
16512
16513 * manual-tests/inspector/resources/script-error.js: Added.
16514 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
16515 * page/inspector/SourceFrame.js:
16516 (WebInspector.SourceFrame.prototype._addMessageToSource):
16517 Check the nodeType and not the nodeName, this is less fragile.
16518 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
16519 Check if the lastChild is an error bubble, if so remove it before
16520 getting the line's textContent. Add the error bubble back at the end.
16521
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000016522== Rolled over to ChangeLog-2008-08-10 ==