1 2008-05-14 Julien Chaffraix <jchaffraix@webkit.org>
6 Removes some compiler warnings.
9 (WebCore::FormElementKey::hashTableDeletedValue): GCC complained about the const keyword
10 so remove it as it is only used inside FormElementKey.
12 * html/HTMLSelectElement.cpp:
13 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Correct coding style (removes
16 * loader/appcache/ApplicationCacheResource.cpp: Include stdio.h for gcc4.3 build.
18 * plugins/PluginPackage.cpp:
19 (WebCore::PluginPackage::PluginPackage): Changed initialization order in the constructor.
20 * plugins/PluginView.cpp:
21 (WebCore::PluginView::PluginView): Ditto.
22 * plugins/PluginView.h:
23 * xml/AccessControlList.cpp: Include stdio.h
24 * xml/AccessItem.cpp: Ditto.
25 * xml/AccessItemRule.cpp: Ditto.
27 2008-05-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
31 Qt build fix. Add JSJavaScriptCallFrameCustom.cpp to the build
32 and implemented EventLoopQt.
35 * platform/qt/EventLoopQt.cpp: Added.
37 2008-05-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
41 Qt build fix. Add JavaScriptCallFrame.{idl,cpp} to the build.
45 2008-05-13 Dan Bernstein <mitz@apple.com>
47 Reviewed by John Sullivan.
49 - Windows part of <rdar://problem/5725912> improve render quality of transformed text
51 * platform/graphics/win/FontCGWin.cpp:
52 (WebCore::Font::drawGlyphs): Added call to
53 wkSetCGContextFontRenderingStyle().
55 2008-05-13 Alp Toker <alp@nuanti.com>
57 GTK+ build fix. Implement EventLoopGtk.cpp.
60 * platform/gtk/EventLoopGtk.cpp: Added.
61 (WebCore::EventLoop::cycle):
63 2008-05-13 Alp Toker <alp@nuanti.com>
65 GTK+ build fix. Fix IDL filename typo and add JavaScriptCallFrame.cpp
70 2008-05-13 Matt Lilek <webkit@mattlilek.com>
72 Not reviewed, partial Gtk build fix.
76 2008-05-13 Timothy Hatcher <timothy@apple.com>
78 Fixes a crash when stepping out in the Inspector's debugger.
80 http://bugs.webkit.org/show_bug.cgi?id=19037
82 Reviewed by Dan Bernstein.
84 * page/InspectorController.cpp:
85 (WebCore::currentCallFrame): Adds a null check of currentCallFrame,
86 since it can be null. Also returns JSNull to better signify this.
87 * page/inspector/ScriptsPanel.js: Updates the debugger interface
88 when stepping so the currentCallFrame isn't accessed when not paused.
89 Adds a _clearInterface function to remove duplicate code.
91 2008-05-13 chris fleizach <cfleizach@apple.com>
93 Reviewed by Beth Dakin
95 <rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle
97 * page/AccessibilityRenderObject.cpp:
98 (WebCore::AccessibilityRenderObject::title):
100 2008-05-13 Timothy Hatcher <timothy@apple.com>
102 Adds an overlay window that covers the scripts panel and
103 informs the user that they need to attach the debugger.
104 Provides an "Attach Debugger" button below the info text.
106 Reviewed by Dan Bernstein.
108 * English.lproj/localizedStrings.js: New strings.
109 * page/inspector/ScriptsPanel.js:
110 (WebInspector.ScriptsPanel): Create the overlay elements and
111 append to the main panel element.
112 * page/inspector/inspector.css: New styles for the over lay elements.
114 2008-05-13 Timothy Hatcher <timothy@apple.com>
116 Fixes the assertion and crash that would happen when inspecting a element from a frame.
117 This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects
118 that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent
119 crashing in release builds if the page groups don't match.
121 Passes all the tests in: manual-tests/inspector-wrappers
123 Reviewed by Adam Roben.
125 * bindings/js/JSInspectedObjectWrapper.cpp:
126 (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0.
127 Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches.
128 * bindings/js/JSQuarantinedObjectWrapper.cpp:
129 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches.
130 Return true if the pageGroupIdentifier of both wrappers match.
131 (WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0.
132 * bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom.
134 2008-05-13 Timothy Hatcher <timothy@apple.com>
136 Fixes the hang that could happen when option-clicking to expand
137 a disclosure triangle in the Properties pane. This change limits
138 the recursion depth when expanding the tree elements.
140 <rdar://problem/5847681> Safari hangs when option-clicking a
141 disclosure triangle in the Inspector's Properties pane
143 Reviewed by John Sullivan.
145 * page/inspector/treeoutline.js:
146 (TreeElement.prototype.expandRecursively): Pass an empty info object to
147 traverseNextTreeElement to get the depthChange value. This is used to
148 compute a current depth. If the depth exceeds the maxDepth argument, the
149 item isn't expanded and children wont be populated when traverseNextTreeElement
150 is called until the depth goes below the maxDepth.
151 (TreeElement.prototype.traverseNextTreeElement): Added a new info
152 argument that can be optionally used to return extra info like depth change.
154 2008-05-13 Timothy Hatcher <timothy@apple.com>
156 Adds info text to panes and sections in the Inspector's sidebars
157 that would normally be empty. These help the user know why there
158 is nothing in these sections.
160 Reviewed by John Sullivan.
162 * English.lproj/localizedStrings.js: Add strings.
163 * page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints".
164 * page/inspector/CallStackSidebarPane.js: Adds "Not Paused".
165 * page/inspector/ObjectPropertiesSection.js: Adds "No Properties".
166 * page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused".
167 * page/inspector/inspector.css: Adds style rules for the info elements.
169 2008-05-13 Timothy Hatcher <timothy@apple.com>
171 Implements the rest of the Scripts panel to get the debugger
172 mostly working. "Basic debugging seems to work."
174 Reviewed by Geoff Garen.
176 * English.lproj/localizedStrings.js: Adds new strings.
177 * page/inspector/Resource.js:
178 (WebInspector.Resource.prototype.get scripts): Returns _scripts and
180 (WebInspector.Resource.prototype.addScript): Add the script object to the
181 front of the _scripts array.
182 (WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts
183 and removes the resource back-reference.
184 (WebInspector.Resource.prototype.removeScript): Removes the script and
185 breaks the resource back-reference.
186 * page/inspector/ResourceView.js:
187 (WebInspector.ResourceView): Adds a reminder comment.
188 (WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible.
189 (WebInspector.ResourceView.prototype.set headersVisible): Stubs out
190 a setter that currently just sets _headersVisible. Has a comment that
191 points out this needs implemented when network headers are added.
192 * page/inspector/ResourcesPanel.js:
193 (WebInspector.ResourcesPanel.prototype.show): Sets the headersVisible property of
194 the visible view to true and shows it again, in case it was being shown in Scripts.
195 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
196 Copies the headersVisible property from the old view to the new view.
197 (WebInspector.ResourcesPanel.prototype.showResource): Sets the headersVisible
198 property to true before showing.
199 * page/inspector/ScriptView.js:
200 (WebInspector.ScriptView): Passes in _addBreakpoint for the add breakpoint delegate.
201 (WebInspector.ScriptView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
202 for the current Script.sourceID and line.
203 * page/inspector/ScriptsPanel.js:
204 (WebInspector.ScriptsPanel):
205 (WebInspector.ScriptsPanel.prototype.show): Sets the headersVisible property of
206 the visible view to false and shows it again, in case it was being shown in Resources.
207 (WebInspector.ScriptsPanel.prototype.addScript): Makes a new Script object and
208 adds it to a Resource if one is found. Registers any breakpoint that match
209 the new Script's source URL, and sets the sourceID of the breakpoints.
210 (WebInspector.ScriptsPanel.prototype.addBreakpoint): Adds the breakpoint to the
211 BreakpointsSidebarPane. Also adds it to _breakpointsURLMap so it can be found
212 later in addScript by URL. Finally adds the breakpoint to the SourceFrame that
213 represents the resources or script.
214 (WebInspector.ScriptsPanel.prototype.removeBreakpoint): Removes the breakpoint from
215 the BreakpointsSidebarPane, _breakpointsURLMap and SourceFrame.
216 (WebInspector.ScriptsPanel.prototype.debuggerPaused): Update the debugger
217 state variables, the buttons and the CallStackSidebarPane.
218 (WebInspector.ScriptsPanel.prototype.reset): Clears and resets debugger
220 (WebInspector.ScriptsPanel.prototype.get visibleView): Returns _visibleView.
221 (WebInspector.ScriptsPanel.prototype.set visibleView): Sets _visibleView and
222 calls hide on the old view and show on the new view.
223 (WebInspector.ScriptsPanel.prototype.showScript): Calls _showScriptOrResource.
224 (WebInspector.ScriptsPanel.prototype.showResource): Ditto.
225 (WebInspector.ScriptsPanel.prototype.scriptViewForScript): Lazily creates a
226 ScriptView for the Script and returns it.
227 (WebInspector.ScriptsPanel.prototype.sourceFrameForScript): Returns the SourceFrame
229 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): Returns the
230 SourceFrame based on the type of object passed in.
231 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Shows the view based on
232 the type of object passed in. If the object is a resource and there are breakpoints
233 defined for that Resource URL, then populate the SourceFrame with the breakpoints.
234 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Adds a script to the
235 files menu. If the Script is part of a resource, that resource is added.
236 (WebInspector.ScriptsPanel.prototype._removeScriptFromFilesMenu): Remove a script from
237 the files menu. If that script is part of a resource and it is the last script of that
238 resource, then remove the whole resource.
239 (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): Clears the execution
240 line from the SourceFrame that is showing it.
241 (WebInspector.ScriptsPanel.prototype._callFrameSelected): Event listener for when the
242 call frame changes in the CallStackSidebarPane. Triggers updates to the ScopeChainSidebarPane
243 and the visible view.
244 (WebInspector.ScriptsPanel.prototype._changeVisibleFile): Event listener for the change state
245 of the files select element.
246 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Update more of the
247 buttons to reflect the current debugger state. Updates the status text too.
248 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Reset the UI and state when
249 the debugger is attached/detached.
250 (WebInspector.ScriptsPanel.prototype._togglePause): Call InspectorController.resumeDebugger or
251 InspectorController.pauseInDebugger depending on the paused state.
252 (WebInspector.ScriptsPanel.prototype._stepOverClicked): Call InspectorController.stepOverStatementInDebugger.
253 (WebInspector.ScriptsPanel.prototype._stepIntoClicked): Call InspectorController.stepIntoStatementInDebugger.
254 (WebInspector.ScriptsPanel.prototype._stepOutClicked): InspectorController.stepOutOfFunctionInDebugger.
255 * page/inspector/SourceView.js:
256 (WebInspector.SourceView): Passes in _addBreakpoint for the add breakpoint delegate.
257 (WebInspector.SourceView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
258 for the nearest Script's sourceID and passed in line.
259 * page/inspector/inspector.css: New style rules for the UI changes.
260 * page/inspector/inspector.js:
261 (WebInspector.loaded): Add the ScriptsPanel to the panels list.
262 (WebInspector.parsedScriptSource): Call ScriptsPanel.addScript.
263 (WebInspector.failedToParseScriptSource): Ditto.
264 (WebInspector.pausedScript): Call ScriptsPanel.debuggerPaused.
266 2008-05-13 Timothy Hatcher <timothy@apple.com>
268 Adds implementations of the Scope Chain and Call Stack sidebar panes.
269 These panes use the JSJavaScriptCallFrame object that will be passed
270 to the update functions.
272 Reviewed by Kevin McCullough.
274 * English.lproj/localizedStrings.js: Adds new strings.
275 * WebCore.vcproj/WebCore.vcproj: Adds new files.
276 * page/inspector/CallStackSidebarPane.js:
277 (WebInspector.CallStackSidebarPane.prototype.update): Walk the
278 caller chain of the call frame and make placards for each.
279 (WebInspector.CallStackSidebarPane.prototype.get selectedCallFrame):
280 Return _selectedCallFrame.
281 (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
282 Set _selectedCallFrame and dispatch the "call frame selected" event.
283 (WebInspector.CallStackSidebarPane.prototype._placardSelected):
284 Set the selectedCallFrame based on the clicked placard.
285 * page/inspector/Placard.js: Added. A user interface object that can
286 be used to show a title and a subtitle block with a selected state.
287 * page/inspector/ScopeChainSidebarPane.js: Added.
288 (WebInspector.ScopeChainSidebarPane): Call the base object and set the title.
289 (WebInspector.ScopeChainSidebarPane.prototype.update): Iterate over the
290 call frame's scope chain and make ObjectPropertiesSections for each.
291 * page/inspector/SidebarPane.js:
292 (WebInspector.SidebarPane.prototype): Inherit from WebInspector.Object.
293 * page/inspector/WebKit.qrc: Add new files.
294 * page/inspector/inspector.css: Add placard styles.
295 * page/inspector/inspector.html: Add new files.
297 2008-05-13 Timothy Hatcher <timothy@apple.com>
299 Fixes the bug where SourceViews would be blank if shown before
300 the Resource finished loading.
302 <rdar://problem/5807420> Safari's Web Inspector won't display the
303 contents of some CSS and JS files
305 Reviewed by Kevin McCullough.
307 * page/inspector/Resource.js:
308 (WebInspector.Resource.prototype.set finished): Dispatch the finished event
309 (WebInspector.Resource.prototype): Inherit from WebInspector.Object.prototype.
310 * page/inspector/SourceView.js:
311 (WebInspector.SourceView): Register for the finished event on the resource.
312 When the event fires, setup the source frame and deregister the event.
314 2008-05-13 Timothy Hatcher <timothy@apple.com>
316 Factored most of SourceView out into SourceFrame so it can be shared
317 by the new ScriptView. Added the ScriptView class to be used for
318 scripts that arn't Resources (like eval code.) Added a simple Script
319 object that hold the data from the debugger parsedSource hooks. A
320 ScriptView holds a Script object, and uses it for source data.
322 Added breakpoint and execution line support to the SourceFrame
323 where they are visually represented in the source.
325 Reviewed by Kevin McCullough.
327 * page/inspector/inspector.js:
328 (WebInspector.performSearch): Change the caller of sourceFrameForResource
329 to use the SourceFrame result's element property.
330 * page/inspector/ResourcesPanel.js: Use the new SourceFrame.
331 * page/inspector/Script.js: Added.
332 * page/inspector/ScriptView.js: Added.
333 * page/inspector/SourceFrame.js: Added.
334 * page/inspector/SourceView.js: Use the new SourceFrame.
335 * WebCore.vcproj/WebCore.vcproj: Add new files.
336 * page/inspector/WebKit.qrc: Ditto.
337 * page/inspector/inspector.html: Ditto.
339 2008-05-13 Timothy Hatcher <timothy@apple.com>
341 Adds a Breakpoint object and basic add/remove functions on
342 BreakpointsSidebarPane that call the InspectorController to
343 add/remove the breakpoint.
345 Reviewed by Kevin McCullough.
347 * page/inspector/Breakpoint.js:
348 (WebInspector.Breakpoint):
349 (WebInspector.Breakpoint.prototype.get enabled): Return _enabled.
350 (WebInspector.Breakpoint.prototype.set enabled): Set _enabled and
351 dispatch the enabled/disabled event to listeners.
352 * page/inspector/BreakpointsSidebarPane.js:
353 (WebInspector.BreakpointsSidebarPane): Add a breakpoints array.
354 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
355 Adds the breakpoint to the breakpoints array. Registers for the disabled
356 and enabled event types. Call InspectorController.addBreakpoint if attached.
357 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
358 Removes the breakpoint from the breakpoints array. Deregisters for the disabled
359 and enabled event types. Call InspectorController.removeBreakpoint if attached.
360 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
361 Call InspectorController.addBreakpoint or InspectorController.removeBreakpoint
362 depending on the enabled state of the breakpoint.
363 * WebCore.vcproj/WebCore.vcproj: Add new files.
364 * page/inspector/WebKit.qrc: Ditto.
365 * page/inspector/inspector.html: Ditto.
367 2008-05-13 Timothy Hatcher <timothy@apple.com>
369 Make addSourceToFrame not dependent on InspectorResource so it
370 can be used to add source of a passed in string and mime-type to
371 a frame. Added addResourceSourceToFrame for use by SourceView.
373 Also fixes an assertion because of an incorrect static_cast of identifiers
374 to unsigned long long, when they can be unsigned.
376 Reviewed by Geoff Garen.
378 * page/InspectorController.cpp:
379 (WebCore::addSourceToFrame): Helper function used by addSourceToFrame
380 and addResourceSourceToFrame.
381 (WebCore::addSourceToFrame): Generalized to take a source and mime-type string.
382 (WebCore::addResourceSourceToFrame): Renamed from addSourceToFrame.
383 (WebCore::getResourceDocumentNode): Fixes the static_cast to be long long.
384 (WebCore::InspectorController::windowScriptObjectAvailable): Adds
385 addResourceSourceToFrame to the JavaScript class.
386 * page/inspector/SourceView.js: Use the new addResourceSourceToFrame.
388 2008-05-13 Timothy Hatcher <timothy@apple.com>
390 Add debugger related functions to the InspectorController and
391 expose them to the JavaScript side of InspectorController.
393 Reviewed by Geoff Garen.
395 * page/InspectorController.cpp:
396 (WebCore::jsStringRef): Added helper to convert a UString to a JSStringRef.
397 (WebCore::currentCallFrame): Call InspectorController::currentCallFrame.
398 (WebCore::pauseInDebugger): Call InspectorController::pauseInDebugger.
399 (WebCore::resumeDebugger): Call InspectorController::resumeDebugger.
400 (WebCore::stepOverStatementInDebugger): Call InspectorController::stepOverStatementInDebugger.
401 (WebCore::stepIntoStatementInDebugger): Call InspectorController::stepIntoStatementInDebugger.
402 (WebCore::stepOutOfFunctionInDebugger): Call InspectorController::stepOutOfFunctionInDebugger.
403 (WebCore::addBreakpoint): Call InspectorController::addBreakpoint.
404 (WebCore::removeBreakpoint): Call InspectorController::removeBreakpoint.
405 (WebCore::InspectorController::windowScriptObjectAvailable): Add the new functions to the
406 InspectorController JavaScript class.
407 (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): Clear breakpoints.
408 (WebCore::InspectorController::currentCallFrame): Return the currentCallFrame from the
409 JavaScriptDebugServer.
410 (WebCore::InspectorController::pauseInDebugger): Call JavaScriptDebugServer's pauseOnNextStatement.
411 (WebCore::InspectorController::resumeDebugger): Call JavaScriptDebugServer's resume.
412 (WebCore::InspectorController::stepOverStatementInDebugger): Call JavaScriptDebugServer's stepOverStatement.
413 (WebCore::InspectorController::stepIntoStatementInDebugger): Call JavaScriptDebugServer's stepIntoStatement.
414 (WebCore::InspectorController::stepOutOfFunctionInDebugger): Call JavaScriptDebugServer's stepOutOfFunction.
415 (WebCore::InspectorController::addBreakpoint): Call JavaScriptDebugServer's addBreakpoint.
416 (WebCore::InspectorController::removeBreakpoint): Call JavaScriptDebugServer's removeBreakpoint.
417 (WebCore::InspectorController::didParseSource): Call into the Inspector's JavaScript.
418 (WebCore::InspectorController::failedToParseSource): Ditto.
419 (WebCore::InspectorController::didPause): Ditto.
420 * page/InspectorController.h: Add new functions.
422 2008-05-13 Timothy Hatcher <timothy@apple.com>
424 Implements more debugger APIs on JavaScriptDebugServer and reduces
425 the number of callbacks to JavaScriptDebugListeners. These changes
426 will better facilitate debugger optimizations when SquirrelFish merges.
428 Reviewed by Kevin McCullough.
430 * page/InspectorController.cpp:
431 (WebCore::InspectorController::didParseSource): Removed the ExecState.
432 (WebCore::InspectorController::failedToParseSource): Ditto.
433 (WebCore::InspectorController::didPause): Added.
434 * page/InspectorController.h: Changed the JavaScriptDebugListener functions.
435 * page/JavaScriptDebugListener.h: Removed some callbacks and added didPause.
436 * page/JavaScriptDebugServer.cpp:
437 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Initialize new data members.
438 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all values of m_breakpoints.
439 (WebCore::JavaScriptDebugServer::removeListener): Call resume if the last listener was removed.
440 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Returns true if there are any
441 global listeners or a listener for the page.
442 (WebCore::JavaScriptDebugServer::addBreakpoint): Adds and entry to m_breakpoints.
443 (WebCore::JavaScriptDebugServer::removeBreakpoint): Removes a entry in m_breakpoints.
444 (WebCore::JavaScriptDebugServer::hasBreakpoint): Checks if there is a breakpoint for the
446 (WebCore::JavaScriptDebugServer::clearBreakpoints): Removed all breakpoints.
447 (WebCore::JavaScriptDebugServer::pauseOnNextStatement): Sets m_pauseOnNextStatement to true.
448 (WebCore::JavaScriptDebugServer::resume): Sets m_paused to false.
449 (WebCore::JavaScriptDebugServer::stepIntoStatement): Calls resume and sets
450 m_pauseOnNextStatement to true.
451 (WebCore::JavaScriptDebugServer::stepOverStatement): Calls resume and sets m_pauseOnExecState to
452 the current call frame's ExecState.
453 (WebCore::JavaScriptDebugServer::stepOutOfFunction): Calls resume and sets m_pauseOnExecState to
454 the current call frame's caller ExecState.
455 (WebCore::JavaScriptDebugServer::currentCallFrame): Returns m_currentCallFrame if paused.
456 (WebCore::dispatchDidParseSource): Removed the ExecState argument.
457 (WebCore::dispatchFailedToParseSource): Ditto.
458 (WebCore::JavaScriptDebugServer::sourceParsed): Doesn't pass the ExecState to dispatchDidParseSource
459 or dispatchFailedToParseSource.
460 (WebCore::dispatchFunctionToListeners):
461 (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Removes all the arguments passed
463 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Various overloaded functions
464 to pause parts of WebCore to prevent JavaScript execution while paused.
465 (WebCore::JavaScriptDebugServer::pauseIfNeeded): Decides if the debugger should pause based
466 on the passed in ExecState, source ID and line number. This checks for breakpoints, stepping, etc.
467 Calls didPause on all the listeners and spins a EventLoop until resume is called.
468 (WebCore::JavaScriptDebugServer::callEvent): Call pauseIfNeeded.
469 (WebCore::JavaScriptDebugServer::atStatement): Ditto.
470 (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
471 (WebCore::JavaScriptDebugServer::exception): Ditto.
472 * page/JavaScriptDebugServer.h: Added new functions.
474 2008-05-13 Timothy Hatcher <timothy@apple.com>
476 Change View.show to call detach if the parentNode dosen't
477 match before appending to the passed in parent element.
478 This also prevents appending to the same parent element
481 Reviewed by John Sullivan.
483 * page/inspector/FontView.js:
484 (WebInspector.FontView.prototype.show): Pass the parent element to View.show.
485 * page/inspector/ResourceView.js: Optimize the attach method to no append if
486 there is a parentNode already.
487 * page/inspector/SourceView.js: Ditto.
488 * page/inspector/View.js: Call detach before appending if the parentNode
489 doesn't match the passed in element.
491 2008-05-13 Timothy Hatcher <timothy@apple.com>
493 Optimize the panel attach method to no append if there is a
496 Reviewed by Adam Roben.
498 * page/inspector/Panel.js:
499 (WebInspector.Panel.prototype.attach): Don't append to main-panels
500 if the panel element already has a parentNode.
502 2008-05-13 Timothy Hatcher <timothy@apple.com>
504 Add Widget::isPluginView so the JavaScriptDebugServer can identify
505 plugins that need to be paused during debugging. This will be used
506 in a upcoming commit.
508 Reviewed by Kevin McCullough.
510 * platform/Widget.h: Add isPluginView. Return false.
511 * plugins/PluginView.h: Add isPluginView. Return true.
513 2008-05-13 Timothy Hatcher <timothy@apple.com>
515 Adds an event loop abstraction to platform. This abstraction will be
516 used by the JavaScriptDebugServer to implement pausing.
518 Reviewed by Kevin McCullough.
520 * platform/EventLoop.h: Added.
521 (WebCore::EventLoop::EventLoop):
522 (WebCore::EventLoop::ended): Return m_ended.
523 * platform/mac/EventLoopMac.mm: Added.
524 (WebCore::EventLoop::cycle): Call nextEventMatchingMask and then sendEvent.
525 * platform/win/EventLoopWin.cpp: Added.
526 (WebCore::EventLoop::cycle): Call GetMessage, TranslateMessage and DispatchMessage.
527 * WebCore.xcodeproj/project.pbxproj: Add new files.
528 * WebCore.vcproj/WebCore.vcproj: Ditto.
530 2008-05-13 Timothy Hatcher <timothy@apple.com>
532 Breaks out ObjectPropertiesSection from PropertiesSidebarPane
533 so it can be used by the Scripts panel's Scope Chain pane.
535 Rubber-stamped by Adam Roben.
537 * page/inspector/ObjectPropertiesSection.js: Added.
538 * page/inspector/PropertiesSidebarPane.js: Moved ObjectPropertiesSection
539 to ObjectPropertiesSection.js.
540 * WebCore.vcproj/WebCore.vcproj: Add the new file.
541 * page/inspector/WebKit.qrc: Ditto.
542 * page/inspector/inspector.html: Ditto.
544 2008-05-13 Timothy Hatcher <timothy@apple.com>
546 Add a helper function to the Inspector's Array prototype
547 that will remove any identical values/objects from the array.
549 Reviewed by Kevin McCullough.
551 * page/inspector/utilities.js:
552 (Array.prototype.remove): Iterate over the array and strict
553 compare to the passed in value. If they match, splice that index
554 out of the array. If onlyFirst is true, return after the first splice.
556 2008-05-13 Timothy Hatcher <timothy@apple.com>
558 Adds a JavaScriptCallFrame object and JavaScript binding with an IDL.
559 This object will expose the stack to the Inspector's debugger.
561 Reviewed by Adam Roben.
563 * DerivedSources.make: Add JavaScriptCallFrame.
564 * bindings/js/JSJavaScriptCallFrameCustom.cpp: Added.
565 (WebCore::JSJavaScriptCallFrame::evaluate): Calls impl evaluate and returns the result.
566 (WebCore::JSJavaScriptCallFrame::scopeChain): Makes an array of the ScopeChain.
567 * page/JavaScriptCallFrame.cpp: Added.
568 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
569 (WebCore::JavaScriptCallFrame::caller): Returns m_caller.
570 (WebCore::JavaScriptCallFrame::functionName): Returns the function
571 name from the ExecState if this is not global code or anonymous.
572 (WebCore::JavaScriptCallFrame::evaluate): Evaluates a script string
573 in the scope of the call frame.
574 * page/JavaScriptCallFrame.h: Added.
575 (WebCore::JavaScriptCallFrame::create): Call the ctor can return in a PassRefPtr.
576 (WebCore::JavaScriptCallFrame::invalidate): Sets m_mexec to 0. This prevents a
577 stale ExecState from being accessed after the lifetime of the ExecState.
578 (WebCore::JavaScriptCallFrame::isValid): Checks if m_exec is 0.
579 (WebCore::JavaScriptCallFrame::execState): Returns m_exec.
580 (WebCore::JavaScriptCallFrame::sourceIdentifier): Returns m_sourceID.
581 (WebCore::JavaScriptCallFrame::line): Returns m_line.
582 (WebCore::JavaScriptCallFrame::setLine): Sets m_line.
583 (WebCore::JavaScriptCallFrame::scopeChain): Returns by reference m_exec->scopeChain().
584 * page/JavaScriptCallFrame.idl: Added.
585 * WebCore.xcodeproj/project.pbxproj: Add new files.
586 * WebCore.vcproj/WebCore.vcproj: Ditto.
588 2008-05-13 Timothy Hatcher <timothy@apple.com>
590 Add a new WebInspector.Object base class that will be used for
591 a few objects in the Web Inspector to support listeners on any
592 object. This will help add more abstraction to the Inspector.
594 Reviewed by Adam Roben.
596 * page/inspector/Object.js: Added.
597 (WebInspector.Object): Does nothing.
598 (WebInspector.Object.prototype.addEventListener): Adds the listener to
599 the _listeners map by type. Supports a this object argument, for easy
600 addition of listeners without the need for bind.
601 (WebInspector.Object.prototype.removeEventListener): Remove the listener
602 from the _listeners map. If the listener is null and the thisObject was
603 passed, remove any listener for that thisObject.
604 (WebInspector.Object.prototype.dispatchEventToListeners): Sends an event
605 for a type to all listeners for that type. Mimics some of the DOMEvent
606 methods and properties for the event object passed to the listeners.
607 * WebCore.vcproj/WebCore.vcproj: Add new files.
608 * page/inspector/WebKit.qrc: Ditto.
609 * page/inspector/inspector.html: Ditto.
611 2008-05-13 Timothy Hatcher <timothy@apple.com>
613 Update the view source CSS to better match the new Inspector mock-ups.
615 Reviewed by Kevin McCullough.
617 * css/view-source.css:
619 2008-05-13 John Sullivan <sullivan@apple.com>
621 Reviewed by Dan Bernstein and Kevin Decker
623 - fixed <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind
625 Test: fast/forms/select-type-ahead-list-box-no-selection.html
627 * html/HTMLSelectElement.cpp:
628 (WebCore::HTMLSelectElement::typeAheadFind):
629 When there's no initially-selected element, we were accessing index -1. Check for this
632 2008-05-13 Sam Weinig <sam@webkit.org>
634 Reviewed by Dan Bernstein.
636 Small cleanup to XMLHttpRequest in preparation for Access Control changes.
638 * xml/XMLHttpRequest.cpp:
639 (WebCore::XMLHttpRequest::XMLHttpRequest):
640 (WebCore::XMLHttpRequest::~XMLHttpRequest):
641 (WebCore::XMLHttpRequest::open):
642 (WebCore::XMLHttpRequest::send):
643 (WebCore::XMLHttpRequest::internalAbort):
644 (WebCore::XMLHttpRequest::processSyncLoadResults):
645 (WebCore::XMLHttpRequest::didFinishLoading):
646 (WebCore::XMLHttpRequest::didReceiveResponse):
647 (WebCore::XMLHttpRequest::didReceiveData):
648 * xml/XMLHttpRequest.h:
650 2008-05-13 chris fleizach <cfleizach@apple.com>
654 <rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the alternative text.
656 * page/AccessibilityRenderObject.cpp:
657 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
659 2008-05-13 chris fleizach <cfleizach@apple.com>
663 <rdar://problem/5908446> AX: webkit needs to return blockquote information for all AX objects, not just in AXTextMarker info
665 * page/mac/AccessibilityObjectWrapper.mm:
666 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
667 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
669 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
671 Reviewed by John Sullivan.
673 <rdar://problem/4852077> REGRESSION: The content of the HTML file which is saved as Thai
674 (ISO 8859-11) disappear.
676 <rdar://problem/5842597> Thai ISO-8859-11 should be upgraded to Windows-874
678 Test: fast/encoding/char-decoding.html
680 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
681 Register ISO-8859-11, which doesn't have a standard IANA name, despite following
682 the usual 8859 naming scheme. Also, made TIS-620 map to windows-874-2000 explicitly.
684 2008-05-13 chris fleizach <cfleizach@apple.com>
686 Reviewed by Beth Dakin
688 <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there is title text
690 * page/AccessibilityRenderObject.cpp:
691 (WebCore::AccessibilityRenderObject::title):
693 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
695 Reviewed by Eric Seidel.
697 https://bugs.webkit.org/show_bug.cgi?id=18681
698 <rdar://problem/5888130> WebKit should not remove BOM characters from content.
700 We were only trying to match Firefox, and it doesn't do this any more.
702 Tests: fast/encoding/bom-in-content.html
703 fast/encoding/bom-in-content-utf16.html
705 * platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM): Skip the BOM if it's
706 at the start of input stream.
708 * platform/text/TextCodec.cpp:
709 * platform/text/TextCodec.h:
710 * platform/text/TextCodecICU.cpp:
711 (WebCore::TextCodecICU::decode):
712 * platform/text/TextCodecUTF16.cpp:
713 (WebCore::TextCodecUTF16::decode):
714 * platform/text/mac/TextCodecMac.cpp:
715 (WebCore::TextCodecMac::decode):
716 Don't remove the BOM.
718 2008-05-13 Anders Carlsson <andersca@apple.com>
722 Don't crash when a document loader is destroyed while an initial caching attempt
725 * loader/appcache/ApplicationCacheGroup.cpp:
726 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
729 (WebCore::ApplicationCacheGroup::stopLoading):
730 New method that stops a cache update.
732 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
733 Delete ourselves here.
735 * loader/appcache/ApplicationCacheGroup.h:
737 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
741 <rdar://problem/5841351> Turkish ISO 8859-9 encoding should be treated as windows-1254
743 Match IE and upgrade ISO-8859-9 to windows-1254, which is its strict superset.
745 Test: fast/encoding/char-decoding.html
747 * platform/text/TextCodecICU.cpp:
748 (WebCore::TextCodecICU::registerExtendedEncodingNames): Register the standard name
749 unconditionally. Previously, we registered windows-949-2000 as a special case that lacked
750 an IANA standard name, and got away with not registering GBK because it happened
751 to be reported by ICU normally earlier than any encoding upgraded to it.
753 2008-05-13 Tor Arne Vestbø <tavestbo@trolltech.com>
757 Fix QtWebKit build on Qt embedded.
760 * platform/FileSystem.h:
761 * platform/qt/FileSystemQt.cpp:
763 2008-05-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
767 For Gtk/X11 and Qt/X11, use a more extensive plug-ins scan directories set
769 * plugins/PluginDatabase.cpp:
770 (WebCore::addMozillaPluginDirectories):
771 (WebCore::PluginDatabase::isPreferredPluginDirectory):
773 2008-05-12 Adam Roben <aroben@apple.com>
775 Turn on warnings as errors in WebCore.vcproj
777 Rubberstamped by Anders Carlsson.
779 * WebCore.vcproj/WebCore.vcproj: Also let VS reformat the file as it
780 saw fit. The important part is the removal of the WarnAsError="false"
783 2008-05-12 Adam Roben <aroben@apple.com>
785 Fix a MSVC warning in PluginViewWin
787 Reviewed by Anders Carlsson.
789 Test: http/tests/plugins/post-url-file.html
791 * plugins/win/PluginViewWin.cpp:
792 (WebCore::PluginView::handlePostReadFile): Added a missing return
795 2008-05-12 Adam Roben <aroben@apple.com>
797 Fix a MSVC warning in GetEOTHeader
799 Reviewed by Dan Bernstein.
801 * platform/graphics/win/GetEOTHeader.cpp:
802 (WebCore::getEOTHeader): MSVC complains that having a 0-sized array in
803 a struct is a non-standard extension. I've replaced the 0-sized arrays
804 with arrays of 1 element, and replaced sizeof(structType) with
805 offsetof(structType, arrayMember).
807 2008-05-09 Adam Roben <aroben@apple.com>
809 Fix a MSVC warning in TextCodecICU
811 Reviewed by John Sullivan and Dan Bernstein.
813 * platform/text/TextCodecICU.cpp:
814 (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
815 UCNV_SUB_STOP_ON_ILLEGAL is a string literal, so using == with it
816 doesn't really do what we want. Use strcmp instead. It's OK to pass an
817 unknown value to strcmp here since 1) UCNV_SUB_STOP_ON_ILLEGAL is only
818 a single character long so we're not going to ready more than 2 bytes
819 from oldContext, and 2) we're inside an ASSERT which will cause a
820 crash anyway if it fails.
822 2008-05-09 Adam Roben <aroben@apple.com>
824 Fix a MSVC warning in CSSComputedStyleDeclaration
826 Reviewed by Geoff Garen.
828 * css/CSSComputedStyleDeclaration.cpp:
829 (WebCore::valueForRepeatRule): Removed some unreachable code.
831 2008-05-09 Adam Roben <aroben@apple.com>
833 Fix a MSVC warning in InlineTextBox
835 Reviewed by Dan Bernstein.
837 * rendering/InlineTextBox.cpp:
838 (WebCore::InlineTextBox::paint): Initialize some variables that MSVC
839 isn't smart enough to figure out will always be initialized in the
840 cases where they are used.
842 2008-05-09 Adam Roben <aroben@apple.com>
844 Fix a MSVC warning in Position
846 Reviewed by Darin Adler.
849 (WebCore::Position::getInlineBoxAndOffset): Use parentheses to make
850 the precedence of our expressions explicit.
852 2008-05-09 Adam Roben <aroben@apple.com>
854 Fix a MSVC warning in String
856 Reviewed by Geoff Garen.
858 * platform/text/String.cpp:
859 (WebCore::toIntegralType): Disable a bogus warning about using unary -
860 on an unsigned value. MSVC isn't smart enough to figure out that
861 isNegative will always be false when value is unsigned.
863 2008-05-09 Adam Roben <aroben@apple.com>
865 Fix a MSVC warning in XMLHttpRequest
867 Reviewed by Geoff Garen.
869 * xml/XMLHttpRequest.cpp:
870 (WebCore::XMLHttpRequest::XMLHttpRequest): Added static_cast<unsigned
873 2008-05-12 Anders Carlsson <andersca@apple.com>
877 Handle the case when a resource with the same URL as the manifest is listed in the manifest.
879 * loader/appcache/ApplicationCacheGroup.cpp:
880 (WebCore::ApplicationCacheGroup::addEntry):
882 2008-05-12 Sam Weinig <sam@webkit.org>
884 Reviewed by Dan Bernstein.
886 Add parsing of AccessControlHeader and AccessItemRule.
888 * xml/AccessControlList.cpp:
889 (WebCore::AccessControlList::parseAccessControlHeader): When multiple http headers are sent
890 in the response, the engine will concatenate them with commas separating the rules. This simply
891 reverses that process by splitting on the commas.
892 (WebCore::AccessControlList::show):
893 * xml/AccessControlList.h:
894 * xml/AccessItem.cpp:
895 (WebCore::AccessItem::AccessItem):
896 (WebCore::AccessItem::show):
898 (WebCore::AccessItem::isValid):
899 * xml/AccessItemRule.cpp:
901 (WebCore::AccessItemRule::parseAccessItemRule): Parse the rule according to the BNF provided by
902 the Access Control spec.
903 (WebCore::AccessItemRule::parsePatternList):
904 (WebCore::AccessItemRule::invalidate):
905 (WebCore::AccessItemRule::show):
906 * xml/AccessItemRule.h:
908 2008-05-12 David Kilzer <ddkilzer@apple.com>
910 Fix logic error in DocLoader::clearPreloads()
914 * loader/DocLoader.cpp:
915 (WebCore::DocLoader::clearPreloads): Be sure to decrease the preload count for
916 the cached resource before trying to remove it from the cache. A non-zero
917 preload count can prevent the resource from being removed from the cache.
919 2008-05-12 Anders Carlsson <andersca@apple.com>
923 Handle empty manifest files without crashing.
925 * loader/appcache/ApplicationCacheGroup.cpp:
926 (WebCore::ApplicationCacheGroup::startLoadingEntry):
928 2008-05-12 Alp Toker <alp@nuanti.com>
930 GTK+ build fix for breakage in r33056. Include limits.h for INT_MAX.
932 * platform/graphics/FontCache.h:
934 2008-05-12 Anders Carlsson <andersca@apple.com>
938 Add user agent to requests when loading/updating the cache.
940 * loader/FrameLoader.h:
941 * loader/appcache/ApplicationCacheGroup.cpp:
942 (WebCore::ApplicationCacheGroup::update):
943 (WebCore::ApplicationCacheGroup::startLoadingEntry):
945 2008-05-12 Anders Carlsson <andersca@apple.com>
949 Make it possible to perform synchronous loads from the application cache.
951 * loader/DocumentLoader.cpp:
952 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
953 Factor out code from scheduleApplicationCacheLoad in its own method.
955 (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
956 Call shouldLoadResourceFromApplicationCache here instead.
958 * loader/DocumentLoader.h:
960 * loader/FrameLoader.cpp:
961 (WebCore::FrameLoader::loadResourceSynchronously):
962 Call shouldLoadResourceFromApplicationCache.
964 2008-05-12 Dan Bernstein <mitz@apple.com>
966 Reviewed by Ada Chan and Sam Weinig.
968 - WebCore changes for https://bugs.webkit.org/show_bug.cgi?id=17097
969 <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
971 Added a way for clients to let the cache know that they no longer need
972 font data, which lets the cache release it. Changed clients to track
973 most of the font data they get from the cache so that they can later
974 release it. Some instances of font data -- namely, those used for system
975 font fallback -- are still not tracked and will therefore remain in the
978 * WebCore.base.exp: Added exports for WebCoreStatistics in WebKit.
980 * platform/graphics/Font.cpp:
981 (WebCore::Font::Font): Changed to use FontFallbackList::create().
982 (WebCore::Font::update): Ditto.
984 * platform/graphics/FontCache.cpp:
985 (WebCore::FontCache::getCachedFontData): Added code to track the number
986 of times a SimpleFontData instance has been requested from the cache,
987 remove requested instances from the inactive list, and purge inactive
988 font data if the inactive list has grown above its maximum allowed size.
989 (WebCore::FontCache::releaseFontData): Added. Called by clients to let
990 the cache know that they no longer need the font data. Adds the font
991 data to the inactive list if the last client has released it.
992 (WebCore::FontCache::purgeInactiveFontData): Added. Removes inactive
993 font data from the cache (and the inactive list).
994 (WebCore::FontCache::fontDataCount): Added to provide statistics.
995 (WebCore::FontCache::inactiveFontDataCount): Ditto.
997 * platform/graphics/FontCache.h:
999 * platform/graphics/FontData.h:
1000 (WebCore::FontData::FontData): Added a member variable to store the
1001 highest glyph page tree level in which there is a node for this FontData.
1002 This is used to limit the depth of the search when pruning glyph page
1004 (WebCore::FontData::setMaxGlyphPageTreeLevel): Added this accessor.
1005 (WebCore::FontData::maxGlyphPageTreeLevel): Ditto.
1007 * platform/graphics/FontFallbackList.cpp:
1008 (WebCore::FontFallbackList::FontFallbackList): Changed to start with a
1010 (WebCore::FontFallbackList::invalidate): Added a call to
1012 (WebCore::FontFallbackList::releaseFontData): Added. Lets the font cache
1013 know that we no longer need the FontData in our font list.
1014 (WebCore::FontFallbackList::fontDataAt): Changed to record in the font
1015 list whether the font data is a custom font data or not.
1016 (WebCore::FontFallbackList::setPlatformFont): Ditto.
1018 * platform/graphics/FontFallbackList.h:
1019 (WebCore::FontFallbackList::create): Added and made the constructor
1021 (WebCore::FontFallbackList::~FontFallbackList): Added a call to
1024 * platform/graphics/GlyphPageTreeNode.cpp:
1025 (WebCore::GlyphPageTreeNode::treeGlyphPageCount): Added to provide
1027 (WebCore::GlyphPageTreeNode::pageCount): Ditto.
1029 (WebCore::GlyphPageTreeNode::pruneTreeFontData): Added.
1030 (WebCore::GlyphPageTreeNode::getChild): Added code to update the font
1031 data's maximum glyph page tree level.
1032 (WebCore::GlyphPageTreeNode::pruneFontData): Added.
1034 * platform/graphics/GlyphPageTreeNode.h:
1036 * platform/graphics/SimpleFontData.cpp:
1037 (WebCore::SimpleFontData::~SimpleFontData): Added code to let the font
1038 cache know that we no longer need the small caps font data and to prune
1039 the glyph page trees.
1041 2008-05-12 Anders Carlsson <andersca@apple.com>
1045 Add ApplicationCacheStorage::empty() method which will empty
1046 the application cache database.
1049 * loader/appcache/ApplicationCache.cpp:
1050 (WebCore::ApplicationCache::clearStorageID):
1051 * loader/appcache/ApplicationCache.h:
1052 * loader/appcache/ApplicationCacheGroup.cpp:
1053 (WebCore::ApplicationCacheGroup::clearStorageID):
1054 * loader/appcache/ApplicationCacheGroup.h:
1055 * loader/appcache/ApplicationCacheResource.h:
1056 (WebCore::ApplicationCacheResource::clearStorageID):
1057 * loader/appcache/ApplicationCacheStorage.cpp:
1058 (WebCore::ApplicationCacheStorage::empty):
1059 * loader/appcache/ApplicationCacheStorage.h:
1061 2008-05-12 Anders Carlsson <andersca@apple.com>
1065 Don't throw an exception if the string passed in is an invalid URL.
1067 * loader/appcache/DOMApplicationCache.cpp:
1068 (WebCore::DOMApplicationCache::remove):
1070 2008-05-12 Anders Carlsson <andersca@apple.com>
1074 Add the variable enums for getting the input vtables.
1078 2008-05-12 Adam Roben <aroben@apple.com>
1082 * WebCorePrefix.cpp: Touched this so that it will rebuild now that
1083 ENABLE_CROSS_DOCUMENT_MESSAGING has been removed.
1085 2008-05-12 Alexey Proskuryakov <ap@webkit.org>
1087 Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
1088 SquirrelFish merging.
1090 * bindings/js/GCController.cpp:
1092 (WebCore::GCController::gcTimerFired):
1093 (WebCore::GCController::garbageCollectNow):
1094 * bindings/js/JSAudioConstructor.cpp:
1095 (WebCore::JSAudioConstructor::JSAudioConstructor):
1096 * bindings/js/JSCSSRuleCustom.cpp:
1098 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1099 (WebCore::JSCSSStyleDeclaration::nameGetter):
1100 * bindings/js/JSCSSValueCustom.cpp:
1102 * bindings/js/JSCanvasPixelArrayCustom.cpp:
1103 (WebCore::JSCanvasPixelArray::indexGetter):
1105 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1107 * bindings/js/JSClipboardCustom.cpp:
1108 (WebCore::JSClipboard::types):
1109 (WebCore::JSClipboard::getData):
1110 * bindings/js/JSCustomXPathNSResolver.cpp:
1111 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1112 * bindings/js/JSDOMApplicationCacheCustom.cpp:
1113 (WebCore::JSDOMApplicationCache::addEventListener):
1114 (WebCore::JSDOMApplicationCache::removeEventListener):
1115 (WebCore::JSDOMApplicationCache::setOnchecking):
1116 (WebCore::JSDOMApplicationCache::setOnerror):
1117 (WebCore::JSDOMApplicationCache::setOnnoupdate):
1118 (WebCore::JSDOMApplicationCache::setOndownloading):
1119 (WebCore::JSDOMApplicationCache::setOnprogress):
1120 (WebCore::JSDOMApplicationCache::setOnupdateready):
1121 (WebCore::JSDOMApplicationCache::setOncached):
1122 * bindings/js/JSDOMWindowBase.cpp:
1123 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1124 (WebCore::JSDOMWindowBase::getValueProperty):
1125 (WebCore::JSDOMWindowBase::setListener):
1126 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1127 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1128 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1129 (WebCore::windowProtoFuncAToB):
1130 (WebCore::windowProtoFuncBToA):
1131 (WebCore::windowProtoFuncSetTimeout):
1132 (WebCore::windowProtoFuncSetInterval):
1133 (WebCore::windowProtoFuncAddEventListener):
1134 * bindings/js/JSDOMWindowBase.h:
1135 * bindings/js/JSDOMWindowShell.cpp:
1136 * bindings/js/JSDOMWindowShell.h:
1137 * bindings/js/JSDocumentCustom.cpp:
1139 * bindings/js/JSEventCustom.cpp:
1141 * bindings/js/JSEventTargetBase.cpp:
1142 (WebCore::jsEventTargetAddEventListener):
1143 * bindings/js/JSEventTargetBase.h:
1144 (WebCore::JSEventTargetPrototype::self):
1145 * bindings/js/JSEventTargetNode.cpp:
1146 (WebCore::JSEventTargetNode::setListener):
1147 * bindings/js/JSHTMLCollectionCustom.cpp:
1148 (WebCore::getNamedItems):
1150 * bindings/js/JSHTMLElementWrapperFactory.cpp:
1151 (WebCore::createJSHTMLWrapper):
1152 * bindings/js/JSHTMLFormElementCustom.cpp:
1153 (WebCore::JSHTMLFormElement::nameGetter):
1154 * bindings/js/JSHTMLInputElementBase.cpp:
1155 (WebCore::JSHTMLInputElementBase::getValueProperty):
1156 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1157 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
1158 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1159 (WebCore::JSHTMLOptionsCollection::length):
1160 * bindings/js/JSInspectedObjectWrapper.cpp:
1161 (WebCore::JSInspectedObjectWrapper::wrap):
1162 * bindings/js/JSInspectorCallbackWrapper.cpp:
1163 (WebCore::JSInspectorCallbackWrapper::wrap):
1164 * bindings/js/JSLocationCustom.cpp:
1165 (WebCore::JSLocation::toString):
1166 * bindings/js/JSNamedNodesCollection.cpp:
1167 (WebCore::JSNamedNodesCollection::lengthGetter):
1168 * bindings/js/JSNavigatorCustom.cpp:
1169 (WebCore::JSNavigator::appVersion):
1170 * bindings/js/JSNodeCustom.cpp:
1172 * bindings/js/JSNodeFilterCustom.cpp:
1173 (WebCore::JSNodeFilter::acceptNode):
1174 * bindings/js/JSRGBColor.cpp:
1175 (WebCore::getJSRGBColor):
1176 * bindings/js/JSSQLResultSetRowListCustom.cpp:
1177 (WebCore::JSSQLResultSetRowList::item):
1178 * bindings/js/JSSVGElementWrapperFactory.cpp:
1179 (WebCore::createJSSVGWrapper):
1180 * bindings/js/JSSVGLazyEventListener.cpp:
1181 (WebCore::JSSVGLazyEventListener::eventParameterName):
1182 * bindings/js/JSStorageCustom.cpp:
1183 (WebCore::JSStorage::nameGetter):
1184 * bindings/js/JSStyleSheetCustom.cpp:
1186 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1187 (WebCore::JSXMLHttpRequestConstructor::construct):
1188 * bindings/js/JSXMLHttpRequestCustom.cpp:
1189 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
1190 (WebCore::JSXMLHttpRequest::setOnload):
1191 (WebCore::JSXMLHttpRequest::setOnprogress):
1192 (WebCore::JSXMLHttpRequest::getResponseHeader):
1193 (WebCore::JSXMLHttpRequest::addEventListener):
1194 (WebCore::JSXMLHttpRequest::removeEventListener):
1195 * bindings/js/JSXSLTProcessorConstructor.cpp:
1196 (WebCore::JSXSLTProcessorConstructor::construct):
1197 * bindings/js/JSXSLTProcessorCustom.cpp:
1198 (WebCore::JSXSLTProcessor::getParameter):
1199 * bindings/js/kjs_binding.cpp:
1200 (WebCore::jsStringOrNull):
1201 (WebCore::jsOwnedStringOrNull):
1202 (WebCore::jsStringOrUndefined):
1203 (WebCore::jsStringOrFalse):
1204 (WebCore::nonCachingStaticFunctionGetter):
1205 (WebCore::objectToStringFunctionGetter):
1206 * bindings/js/kjs_binding.h:
1207 (WebCore::DOMObject::DOMObject):
1208 (WebCore::cacheDOMObject):
1209 (WebCore::cacheSVGDOMObject):
1210 * bindings/js/kjs_events.cpp:
1211 (WebCore::JSLazyEventListener::eventParameterName):
1212 (WebCore::JSLazyEventListener::parseCode):
1213 * bindings/js/kjs_html.cpp:
1214 (WebCore::getRuntimeObject):
1215 * bindings/scripts/CodeGeneratorJS.pm:
1216 * bridge/c/c_instance.cpp:
1217 (KJS::Bindings::CInstance::defaultValue):
1218 (KJS::Bindings::CInstance::stringValue):
1219 (KJS::Bindings::CInstance::numberValue):
1220 (KJS::Bindings::CInstance::valueOf):
1221 * bridge/c/c_instance.h:
1222 * bridge/c/c_utility.cpp:
1223 (KJS::Bindings::convertNPVariantToValue):
1224 * bridge/jni/jni_instance.cpp:
1225 (JavaInstance::stringValue):
1226 (JavaInstance::numberValue):
1227 (JavaInstance::invokeMethod):
1228 (JavaInstance::defaultValue):
1229 (JavaInstance::valueOf):
1230 * bridge/jni/jni_instance.h:
1231 * bridge/jni/jni_jsobject.h:
1232 * bridge/jni/jni_jsobject.mm:
1233 (JavaJSObject::call):
1234 (JavaJSObject::setMember):
1235 (JavaJSObject::setSlot):
1236 (JavaJSObject::convertJObjectToValue):
1237 (JavaJSObject::getListFromJArray):
1238 * bridge/jni/jni_objc.mm:
1239 (KJS::Bindings::dispatchJNICall):
1240 * bridge/jni/jni_runtime.cpp:
1241 (JavaArray::convertJObjectToArray):
1242 (JavaField::dispatchValueFromInstance):
1243 (JavaField::valueFromInstance):
1244 (JavaField::dispatchSetValueToInstance):
1245 (JavaArray::valueAt):
1246 * bridge/jni/jni_utility.h:
1247 * bridge/objc/objc_class.mm:
1248 (KJS::Bindings::ObjcClass::fallbackObject):
1249 * bridge/objc/objc_instance.h:
1250 * bridge/objc/objc_instance.mm:
1251 (ObjcInstance::defaultValue):
1252 (ObjcInstance::stringValue):
1253 (ObjcInstance::numberValue):
1254 (ObjcInstance::valueOf):
1255 * bridge/objc/objc_utility.h:
1256 * bridge/objc/objc_utility.mm:
1257 (KJS::Bindings::convertNSStringToString):
1258 (KJS::Bindings::convertObjcValueToValue):
1259 * bridge/qt/qt_class.cpp:
1260 (KJS::Bindings::QtClass::fallbackObject):
1261 * bridge/qt/qt_instance.cpp:
1262 (KJS::Bindings::QtRuntimeObjectImp::construct):
1263 (KJS::Bindings::QtInstance::getRuntimeObject):
1264 (KJS::Bindings::QtInstance::invokeDefaultMethod):
1265 (KJS::Bindings::QtInstance::defaultValue):
1266 (KJS::Bindings::QtInstance::stringValue):
1267 (KJS::Bindings::QtInstance::numberValue):
1268 (KJS::Bindings::QtInstance::valueOf):
1269 * bridge/qt/qt_instance.h:
1270 * bridge/qt/qt_runtime.cpp:
1271 (KJS::Bindings::convertValueToQVariant):
1272 (KJS::Bindings::convertQVariantToValue):
1273 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
1274 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
1275 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
1276 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
1277 (KJS::Bindings::QtConnectionObject::execute):
1278 * bridge/runtime.cpp:
1279 (KJS::Bindings::Instance::createRuntimeObject):
1281 (KJS::Bindings::Instance::valueOf):
1282 * bridge/runtime_array.cpp:
1283 (RuntimeArray::lengthGetter):
1284 * bridge/runtime_method.cpp:
1285 (RuntimeMethod::lengthGetter):
1286 * bridge/runtime_object.cpp:
1287 (RuntimeObjectImp::RuntimeObjectImp):
1288 (RuntimeObjectImp::methodGetter):
1289 (RuntimeObjectImp::defaultValue):
1290 * xml/XMLHttpRequest.cpp:
1291 (WebCore::XMLHttpRequest::dropProtection):
1293 2008-05-11 Robin Dunn <robin@alldunn.com>
1295 Reviewed by Kevin Ollivier.
1297 Since wx popup menus dismiss themselves when an item is selected we need to
1298 call hidePopup so webkit's internal state is correct.
1300 https://bugs.webkit.org/show_bug.cgi?id=19000
1302 * platform/wx/PopupMenuWx.cpp:
1303 (WebCore::PopupMenu::OnMenuItemSelected):
1304 (WebCore::PopupMenu::hide):
1306 2008-05-11 Sam Weinig <sam@webkit.org>
1308 Reviewed by Mark Rowe.
1310 Move some generic parsing functions into a new ParserUtilities header so that
1311 they can be used for non-SVG builds too.
1313 * WebCore.vcproj/WebCore.vcproj:
1314 * WebCore.xcodeproj/project.pbxproj:
1315 * platform/text/ParserUtilities.h: Added.
1316 (WebCore::skipString):
1317 * svg/SVGParserUtilities.h:
1318 (WebCore::isWhitespace):
1319 (WebCore::skipOptionalSpaces):
1320 (WebCore::skipOptionalSpacesOrDelimiter):
1322 2008-05-11 Sam Weinig <sam@webkit.org>
1324 Reviewed by Dan Bernstein.
1326 Add scaffolding for the implementation of Access Control for Cross-site Requests.
1330 * WebCore.vcproj/WebCore.vcproj:
1331 * WebCore.xcodeproj/project.pbxproj:
1332 * WebCoreSources.bkl:
1333 * xml/AccessControlList.cpp: Added.
1334 (WebCore::AccessControlList::AccessControlList):
1335 (WebCore::AccessControlList::~AccessControlList):
1336 (WebCore::AccessControlList::parseAccessControlHeader):
1337 (WebCore::AccessControlList::checkOrigin):
1338 * xml/AccessControlList.h: Added.
1339 * xml/AccessItem.cpp: Added.
1340 (WebCore::AccessItem::AccessItem):
1341 (WebCore::AccessItem::parseAccessItem):
1342 (WebCore::AccessItem::matches):
1343 * xml/AccessItem.h: Added.
1344 * xml/AccessItemRule.cpp: Added.
1345 (WebCore::AccessItemRule::AccessItemRule):
1346 (WebCore::AccessItemRule::parseAccessItemRule):
1347 * xml/AccessItemRule.h: Added.
1349 2008-05-11 Julien Chaffraix <jchaffraix@webkit.org>
1353 * loader/appcache/ApplicationCache.cpp: Include stdio.h
1354 as we are using printf in ApplicationCache::dump().
1356 2008-05-10 Dan Bernstein <mitz@apple.com>
1358 Reviewed by Jessica Kahn.
1360 - add a copy assignment operator to FontPlatformData on Mac to properly
1361 retain the m_font data member.
1363 * platform/graphics/mac/FontPlatformData.h:
1364 * platform/graphics/mac/FontPlatformDataMac.mm:
1365 (WebCore::FontPlatformData::FontPlatformData):
1366 (WebCore::~FontPlatformData):
1367 (WebCore::FontPlatformData::operator=):
1368 (WebCore::FontPlatformData::setFont):
1370 2008-05-10 Adele Peterson <adele@apple.com>
1372 Reviewed by Tim Hatcher.
1374 Fix crash for WebKit clients that don't set a group name for the WebView/Page.
1376 * page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group,
1377 call the addPage method, since it does extra work initializing m_localStorage.
1379 2008-05-09 Sam Weinig <sam@webkit.org>
1381 Reviewed by Mark Rowe.
1383 Fix for https://bugs.webkit.org/show_bug.cgi?id=18958
1384 NULL pointer dereference in NamedAttrMap::setNamedItem
1386 Test: fast/dom/NamedNodeMap-setNamedItem-crash.html
1388 * dom/NamedAttrMap.cpp:
1389 (WebCore::NamedAttrMap::setNamedItem): Null check the argument.
1391 2008-05-09 Kevin McCullough <kmccullough@apple.com>
1396 (WebCore::Console::profile):
1398 2008-05-09 Sam Weinig <sam@webkit.org>
1400 Rubber-stamped by Mark Rowe.
1402 Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
1404 * Configurations/WebCore.xcconfig:
1405 * WebCore.vcproj/WebCore.vcproj:
1406 * WebCore.vcproj/build-generated-files.sh:
1407 * bindings/js/JSDOMWindowCustom.cpp:
1408 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1409 (WebCore::JSDOMWindow::postMessage):
1410 * bindings/js/JSEventCustom.cpp:
1412 * bindings/objc/DOMEvents.mm:
1413 (+[DOMEvent _wrapEvent:WebCore::]):
1415 (WebCore::Document::createEvent):
1417 (WebCore::Event::isMessageEvent):
1419 * dom/MessageEvent.cpp:
1420 * dom/MessageEvent.h:
1421 * dom/MessageEvent.idl:
1422 * page/DOMWindow.cpp:
1423 (WebCore::DOMWindow::postMessageTimerFired):
1425 * page/DOMWindow.idl:
1427 2008-05-09 Adam Barth <abarth-webkit@adambarth.com>
1429 Reviewed by Sam Weinig.
1431 https://bugs.webkit.org/show_bug.cgi?id=18771
1433 Make postMessage generate an event on the window instead of the
1436 Test: http/tests/messaging/cross-domain-message-event-dispatch.html
1438 * dom/EventTargetNode.cpp:
1439 (WebCore::EventTargetNode::dispatchWindowEvent):
1440 * dom/EventTargetNode.h:
1441 * page/DOMWindow.cpp:
1442 (WebCore::DOMWindow::postMessageTimerFired):
1444 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
1448 Replaced all instances of qDebug() with LOG(Media, ...)
1449 in MediaPlayerPrivatePhonon.
1451 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1452 (WebCore::MediaPlayerPrivate::updateStates):
1454 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
1458 Fix the Qt/Mac build.
1460 * platform/qt/FileSystemQt.cpp:
1462 2008-05-08 Sam Weinig <sam@webkit.org>
1464 Reviewed by Anders Carlsson.
1466 Rename the XMLHttpRequestState enum values to match the spec.
1468 * xml/XMLHttpRequest.cpp:
1469 (WebCore::XMLHttpRequest::responseXML):
1470 (WebCore::XMLHttpRequest::XMLHttpRequest):
1471 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1472 (WebCore::XMLHttpRequest::open):
1473 (WebCore::XMLHttpRequest::send):
1474 (WebCore::XMLHttpRequest::abort):
1475 (WebCore::XMLHttpRequest::setRequestHeader):
1476 (WebCore::XMLHttpRequest::getAllResponseHeaders):
1477 (WebCore::XMLHttpRequest::getResponseHeader):
1478 (WebCore::XMLHttpRequest::status):
1479 (WebCore::XMLHttpRequest::statusText):
1480 (WebCore::XMLHttpRequest::processSyncLoadResults):
1481 (WebCore::XMLHttpRequest::didFinishLoading):
1482 (WebCore::XMLHttpRequest::didReceiveData):
1483 * xml/XMLHttpRequest.h:
1486 2008-05-08 Dan Bernstein <mitz@apple.com>
1488 Reviewed by Mark Rowe.
1490 - fix https://bugs.webkit.org/show_bug.cgi?id=18818
1491 <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter)
1493 Test: fast/css/first-letter-float-after-float.html
1495 * rendering/RenderBlock.cpp:
1496 (WebCore::RenderBlock::updateFirstLetter): Changed to add the first
1497 letter container right before the rest of the text it is taken from,
1498 instead of at the beginning of the block.
1500 2008-05-08 Chris Fleizach <cfleizach@apple.com>
1502 Reviewed by Darin Adler.
1504 <rdar://problem/5921046> AX: list box options have wrong AXPosition
1506 * page/AccessibilityObject.cpp:
1507 (WebCore::AccessibilityObject::documentFrameView):
1508 * page/AccessibilityObject.h:
1510 2008-05-08 Julien Chaffraix <jchaffraix@webkit.org>
1514 Bug 18916: make_names.pl --factory needs to support custom c++ guard
1516 Add --guardFactoryWith to handle the cpp guard around generated factories.
1518 * DerivedSources.make: Set the guardFactoryWith variable for SVG factory.
1519 * GNUmakefile.am: Ditto.
1520 * WebCore.pro: Ditto.
1521 * dom/make_names.pl: Add guardFactoryWith option.
1523 2008-05-08 Julien Chaffraix <jchaffraix@webkit.org>
1525 Reviewed by Adam Roben.
1529 Should also fix the cURL backend for the Windows port.
1531 * WebCore.vcproj/WebCore.vcproj: Add FormDataStreamCurl information.
1532 * platform/network/curl/FormDataStreamCurl.h: Include stdio.h which
1533 fixes the build on some machine.
1535 * webcore-wx.bkl: Add FormDataStreamCurl.cpp.
1537 2008-05-08 Timothy Hatcher <timothy@apple.com>
1539 Fixes the bug where the Web Inspector could not
1540 find any localization strings.
1542 Reviewed by Mark Rowe.
1544 * WebCore.xcodeproj/project.pbxproj: Add the localizedStrings.js
1545 file to the WebCore Copy Resources phase. Also removes an idl from
1546 the Copy Resources phase.
1548 2008-05-08 Dan Bernstein <mitz@apple.com>
1550 Reviewed by Adam Roben.
1552 - fix <rdar://problem/5697957> "No recent searches" label in a narrow search field's history popup is truncated
1554 * platform/win/PopupMenuWin.cpp:
1555 (WebCore::PopupMenu::calculatePositionAndSize): Changed to use a bold
1556 font for measuring labels.
1558 2008-05-08 Dan Bernstein <mitz@apple.com>
1560 Reviewed by Geoffrey Garen.
1562 - cross-platform fix for http://bugs.webkit.org/show_bug.cgi?id=17590
1563 ASSERTION FAILED: subject in jsRegExpExecute()
1566 (WebCore::Frame::matchLabelsAgainstElement):
1568 2008-05-08 Holger Hans Peter Freyther <zecke@selfish.org>
1572 Simple ImageBuffer::image implementation.
1574 In contrast to cg and cairo we do not use a special BitmapImage because
1575 the ownership of the FrameData inside the BitmapImage is a bit backward
1576 (actually owned by the ImageDecoderQt...). Further work is needed for image
1577 and pixmap handling in the qt port...
1580 * platform/graphics/ImageBuffer.h:
1581 * platform/graphics/qt/ImageBufferQt.cpp:
1582 (WebCore::ImageBuffer::image):
1583 * platform/graphics/qt/ImageQt.cpp:
1584 * platform/graphics/qt/StillImageQt.cpp: Added.
1585 (WebCore::StillImage::StillImage):
1586 (WebCore::StillImage::size):
1587 (WebCore::StillImage::getPixmap):
1588 (WebCore::StillImage::draw):
1589 * platform/graphics/qt/StillImageQt.h: Added.
1591 2008-05-08 Holger Hans Peter Freyther <zecke@selfish.org>
1595 Update the WebKit.qrc of the inspector to be functional again
1597 * page/inspector/WebKit.qrc:
1599 2008-05-08 Tor Arne Vestbø <tavestbo@trolltech.com>
1603 Fix the Qt/Mac build.
1605 * platform/FileSystem.h:
1607 2008-05-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
1611 Use native Windows library handling (instead of QLibrary)
1612 for Qt/Win32's PlatformModule.
1614 * platform/FileSystem.h:
1615 (WebCore::PlatformModuleVersion::PlatformModuleVersion):
1616 * platform/qt/FileSystemQt.cpp:
1617 (WebCore::unloadModule):
1619 2008-05-08 Simon Hausmann <hausmann@webkit.org>
1621 Reviewed and found by Holger.
1623 Include .css in the list of extensions for text/css. Fixes
1624 fast/loader/local-css-allowed-in-strict-mode.html.
1626 * platform/qt/MIMETypeRegistryQt.cpp:
1628 2008-05-08 Simon Hausmann <hausmann@webkit.org>
1630 Fix the Qt and Wx build when compiling without offline app support.
1632 * loader/FrameLoader.cpp:
1633 (WebCore::FrameLoader::canCachePage):
1635 2008-05-07 Sam Weinig <sam@webkit.org>
1637 Reviewed by Adele Peterson
1639 Update MessageEvent to match the latest version of the HTML5 spec,
1640 adding the lastEventId attribute.
1642 * dom/MessageEvent.cpp:
1643 (WebCore::MessageEvent::MessageEvent):
1644 (WebCore::MessageEvent::initMessageEvent):
1645 * dom/MessageEvent.h:
1646 (WebCore::MessageEvent::lastEventId):
1647 * dom/MessageEvent.idl:
1648 * page/DOMWindow.cpp:
1649 (WebCore::DOMWindow::postMessage):
1651 2008-05-07 Stephanie Lewis <slewis@apple.com>
1655 remove non-functioning code. If onunload should be fired from these nodes then
1656 a WindowEventListener needs to be set. However, Firefox and IE also do not
1657 fire onunload events for these cases.
1659 Test: fast/events/onunload-not-on-body.html
1661 * html/HTMLFrameElementBase.cpp:
1662 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1663 * html/HTMLObjectElement.cpp
1664 (WebCore::HTMLObjectElement::parseMappedAttribute):
1666 2008-05-07 Dan Bernstein <mitz@apple.com>
1668 Reviewed by John Sullivan.
1670 - fix https://bugs.webkit.org/show_bug.cgi?id=18909
1671 <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com
1673 Test: fast/dynamic/positioned-movement-with-positioned-children.html
1675 * rendering/RenderBlock.cpp:
1676 (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of
1677 a positioned object that has only moved and has only positioned children
1679 * rendering/RenderObject.h:
1680 (WebCore::RenderObject::needsPositionedMovementLayout): Added this
1683 2008-05-07 Anders Carlsson <andersca@apple.com>
1687 When no document loaders are associated with an application cache group,
1688 release the reference to the newest cache group. This prevents reference cycles.
1690 * loader/appcache/ApplicationCacheGroup.cpp:
1691 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1692 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
1693 (WebCore::ApplicationCacheGroup::cacheDestroyed):
1694 * loader/appcache/ApplicationCacheGroup.h:
1696 * loader/appcache/ApplicationCacheStorage.cpp:
1697 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1698 Return early if the datbase wasn't open.
1700 (WebCore::ApplicationCacheStorage::loadCache):
1703 2008-05-07 Anders Carlsson <andersca@apple.com>
1707 Don't put pages with an application cache in the BF cache.
1709 * loader/FrameLoader.cpp:
1710 (WebCore::FrameLoader::canCachePage):
1712 2008-05-07 Justin Garcia <justin.garcia@apple.com>
1714 Reviewed by John Sullivan.
1716 <rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply
1718 When a single tab or series of tabs was copied, we weren't putting them into a
1719 tab span. On Paste, we would be given a text node with a single tab or series
1720 of tabs in it, and we would crash when inserting it at the start of a block
1721 (where that kind of text becomes completely unrendered).
1723 * editing/ReplaceSelectionCommand.cpp:
1724 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Clean
1725 up correctly and early return if we removed everything that was inserted.
1726 * editing/markup.cpp:
1727 (WebCore::createMarkup): Include the tab span when the only thing copied
1728 was a tab or a series of tabs.
1730 2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>
1732 Reviewed by Adam Roben.
1736 * platform/network/curl/FormDataStreamCurl.cpp: Added stdint.h include. We need to define
1737 __STDC_LIMIT_MACROS to have SIZE_MAX exported.
1738 * platform/network/curl/FormDataStreamCurl.h: Removed cstdint include (replaced by stdint.h)
1739 as it is not present on the build bots.
1740 * plugins/gtk/PluginDatabaseGtk.cpp: Added missing #endif.
1742 2008-05-07 David Kilzer <ddkilzer@apple.com>
1744 Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com)
1745 <https://bugs.webkit.org/show_bug.cgi?id=18900>
1746 <rdar://problem/5912383>
1748 Original patch by Aaron Golden and Tim Omernick. Reviewed by Adele.
1750 Test: fast/forms/textfield-to-password-on-focus.html
1752 * html/HTMLInputElement.cpp:
1753 (WebCore::HTMLInputElement::setInputType): If the current node has
1754 focus, call updateFocusAppearance() to make sure its state is correct
1755 after changing its type.
1757 2008-05-07 Chris Fleizach <cfleizach@apple.com>
1759 Reviewed by Alice Liu
1761 <rdar://problem/4867889> REGRESSION: "Choose File.." buttons are exposed as AXGroup instead of AXButton
1763 * page/AccessibilityObject.h:
1764 (WebCore::AccessibilityObject::isFileUploadButton):
1765 * page/AccessibilityRenderObject.cpp:
1766 (WebCore::AccessibilityRenderObject::isFileUploadButton):
1767 (WebCore::AccessibilityRenderObject::actionElement):
1768 (WebCore::AccessibilityRenderObject::textUnderElement):
1769 (WebCore::AccessibilityRenderObject::stringValue):
1770 (WebCore::AccessibilityRenderObject::roleValue):
1771 * page/AccessibilityRenderObject.h:
1772 * rendering/RenderFileUploadControl.cpp:
1773 (WebCore::RenderFileUploadControl::buttonValue):
1774 (WebCore::RenderFileUploadControl::fileTextValue):
1775 * rendering/RenderFileUploadControl.h:
1777 2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>
1781 Bug 17971: [Curl] FormData processing should be moved to its own class
1783 Move FormData treatment into FormDataStream. The aim is to have FormDataStream behave like a stream that cURL
1786 First step into having complete file uploading facility in cURL.
1788 No test case as it is only code refactoring.
1790 * GNUmakefile.am: Add FormDataStreamCurl.cpp
1791 * platform/network/ResourceHandleInternal.h: Move code to FormStreamDataCurl.h
1792 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1793 * platform/network/curl/FormDataStreamCurl.cpp: Added.
1794 (WebCore::FormDataStream::~FormDataStream):
1795 (WebCore::FormDataStream::read):
1796 * platform/network/curl/FormDataStreamCurl.h: Added.
1797 (WebCore::FormDataStream::FormDataStream):
1798 * platform/network/curl/ResourceHandleCurl.cpp:
1799 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1800 * platform/network/curl/ResourceHandleManager.cpp:
1801 (WebCore::readCallback): Move code to FormDataStreamCurl.cpp
1803 2008-05-07 Adam Treat <treat@kde.org>
1807 https://bugs.webkit.org/show_bug.cgi?id=18898
1809 Fixed wrong transform being used for creating the pixmap for a new
1810 transparency layer. This fixes the popup menus on dell.com.
1812 * platform/graphics/qt/GraphicsContextQt.cpp:
1813 (WebCore::GraphicsContext::beginTransparencyLayer):
1815 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
1819 Share the plug-in directories between Gtk and Qt/X11 port.
1821 * platform/qt/FileSystemQt.cpp:
1822 (WebCore::homeDirectoryPath): Implement it for Qt.
1823 * plugins/PluginDatabase.cpp:
1824 (WebCore::addMozillaPluginDirectories): Shared code.
1825 (WebCore::PluginDatabase::defaultPluginDirectories):
1826 (WebCore::PluginDatabase::isPreferredPluginDirectory): Shared code.
1827 * plugins/gtk/PluginDatabaseGtk.cpp:
1828 (WebCore::PluginDatabase::isPreferredPluginDirectory): Refactored.
1829 * plugins/qt/PluginDatabaseQt.cpp: Refactored.
1831 2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>
1835 Fix build issues on Mac and refeactor the .pro file a bit.
1838 * platform/qt/TemporaryLinkStubs.cpp:
1839 (PluginPackage::fetchInfo):
1841 2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>
1845 Draw scrollview corners (between scrollbars) using the Qt style.
1847 https://bugs.webkit.org/show_bug.cgi?id=18894
1849 * platform/qt/ScrollViewQt.cpp:
1850 (WebCore::drawScrollbarCorner):
1851 (WebCore::ScrollView::paint):
1853 2008-05-07 Simon Hausmann <hausmann@webkit.org>
1855 Fix the Qt build, added AccessibilityListBox and ListBoxOption.cpp to
1860 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
1862 Rubber-stamped by Holger.
1864 Fix building without storage support.
1866 * page/PageGroup.cpp:
1867 (WebCore::PageGroup::closeLocalStorage): proper #if
1869 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
1871 Rubber-stamped by Oliver Hunt.
1873 Fix building without accessibility.
1875 * page/AXObjectCache.cpp:
1876 (WebCore::AXObjectCache::selectedChildrenChanged): proper #if
1878 2008-05-06 Dan Bernstein <mitz@apple.com>
1880 Reviewed by Darin Adler.
1882 - fix <rdar://problem/5914544> Crash in layoutInlineChildren()
1884 Test: fast/block/float/float-on-zero-height-line.html
1886 * rendering/RenderBlock.cpp:
1887 (WebCore::RenderBlock::markLinesDirtyInVerticalRange):
1889 2008-05-06 Alice Liu <alice.liu@apple.com>
1891 Reviewed by Adele Peterson and John Sullivan.
1893 changes needed to build on Windows after r32911 and r32927
1895 * WebCore.vcproj/WebCore.vcproj:
1896 * page/AXObjectCache.cpp:
1897 (WebCore::AXObjectCache::selectedChildrenChanged):
1898 * page/AccessibilityObject.h:
1899 (WebCore::AccessibilityObject::document):
1900 (WebCore::AccessibilityObject::topDocumentFrameView):
1901 (WebCore::AccessibilityObject::documentFrameView):
1902 * page/AccessibilityRenderObject.cpp:
1903 (WebCore::AccessibilityRenderObject::document):
1904 (WebCore::AccessibilityRenderObject::topDocumentFrameView):
1905 (WebCore::AccessibilityRenderObject::documentFrameView):
1906 * page/AccessibilityRenderObject.h:
1907 * page/mac/AXObjectCacheMac.mm:
1908 * page/mac/AccessibilityObjectWrapper.mm:
1909 (-[AccessibilityObjectWrapper position]):
1910 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1912 2008-05-06 Brady Eidson <beidson@apple.com>
1914 Reviewed by Sam Weinig
1916 Fix a few bugs with the final sync'ing of LocalStorageAreas when the thread is shut down.
1917 1 - A sync task actually needs to be scheduled for each LocalStorageArea when the shut down occurs.
1918 2 - Pending sync timers all need to be cancelled.
1920 * storage/LocalStorage.cpp:
1921 (WebCore::LocalStorage::storageArea):
1922 (WebCore::LocalStorage::close): Tell each LocalStorageArea to schedule it's final sync before scheduling
1924 * storage/LocalStorage.h: Change the map to be of LocalStorageAreas instead of StorageAreas
1926 * storage/LocalStorageArea.cpp:
1927 (WebCore::LocalStorageArea::LocalStorageArea):
1928 (WebCore::LocalStorageArea::~LocalStorageArea): ASSERT the timer has been cancelled, but make SURE it is
1930 (WebCore::LocalStorageArea::scheduleFinalSync): Cancel the sync timer, schedule the final sync, and set the
1931 "final sync scheduled" flag
1932 (WebCore::LocalStorageArea::scheduleItemForSync): ASSERT that the final sync hasn't already been scheduled
1933 (WebCore::LocalStorageArea::scheduleClear): Ditto
1934 * storage/LocalStorageArea.h:
1936 2008-05-06 Kevin Ollivier <kevino@theolliviers.com>
1938 wx build fix. Adding files added in r32925 to the bakefiles.
1940 * WebCoreSources.bkl:
1942 2008-05-06 Alp Toker <alp@nuanti.com>
1944 GTK+ build fix. Add empty stub to keep non-accessible ports building.
1946 * page/AXObjectCache.h:
1947 (WebCore::AXObjectCache::selectedChildrenChanged):
1949 2008-05-06 Beth Dakin <bdakin@apple.com>
1953 Fix for <rdar://problem/5907916> Implement 'aria-labeledby' and
1954 'aria-describedby' attributes.
1956 * html/HTMLAttributeNames.in: Added new attributes. Added both the
1957 British spelling (since that is what is specified in the spec), and
1958 the American spelling (since the bug filer and I are two Americans
1959 who keep spelling it the American way by accident).
1960 * page/AccessibilityObject.cpp: Added empty wrappers. These
1961 functions can't do anything meaningful without a renderer.
1962 (WebCore::AccessibilityObject::ariaAccessiblityName):
1963 (WebCore::AccessibilityObject::ariaLabeledByAttribute):
1964 (WebCore::AccessibilityObject::ariaDescribedByAttribute):
1965 * page/AccessibilityObject.h:
1967 Here is where the real work is done.
1968 * page/AccessibilityRenderObject.h:
1969 * page/AccessibilityRenderObject.cpp:
1970 (WebCore::accessibleNameForNode): Takes a node and finds its
1971 contribution to the accessible name, as defined by the Mozilla ARIA
1972 Implementer's Guide.
1973 (WebCore::AccessibilityRenderObject::ariaAccessiblityName): Takes a
1974 string of space-separated IDs, fetches the corresponding element
1975 for each ID, and concatenates an accessible name based on the
1977 (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
1978 Retrieve the labeledby attribute and send its contents to
1979 ariaAccessibilityName().
1980 (WebCore::AccessibilityRenderObject::title): Return the ARIA
1981 labeledby value if one exists.
1982 (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
1983 Retrieve the describedby attribute and send its contents to
1984 ariaAccessibilityName().
1985 (WebCore::AccessibilityRenderObject::accessibilityDescription):
1986 Return the ARIA describedby attribute if one exists.
1988 These are two bugs I spotted.
1989 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Don't
1990 ignore anything with an ARIA role.
1991 (WebCore::AccessibilityRenderObject::roleValue): Button tags maps
1994 2008-05-06 Anders Carlsson <andersca@apple.com>
1998 Support reading back app caches from the database.
2000 * loader/appcache/ApplicationCache.cpp:
2001 (WebCore::ApplicationCache::ApplicationCache):
2002 Initialize m_storageID to 0.
2004 * loader/appcache/ApplicationCacheGroup.cpp:
2005 (WebCore::ApplicationCacheGroup::cacheDestroyed):
2006 If the cache being destroyed is not the newest cache, it should no longer be
2007 stored in the database. Remove it.
2009 (WebCore::ApplicationCacheGroup::setNewestCache):
2010 Don't store the cache here.
2012 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2013 Store it here instead.
2015 * loader/appcache/ApplicationCacheStorage.cpp:
2016 (WebCore::ApplicationCacheStorage::loadCacheGroup):
2017 New method that loads a cache group with a given manifest URL (or returns 0 if the load fails).
2019 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
2020 Search for the group in the database.
2022 (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
2023 New method that loads the host hashes from the database.
2025 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2026 Search in the database for a cache that contains the resource.
2028 (WebCore::ApplicationCacheStorage::loadCache):
2029 New method that loads a cache with a given ID.
2031 (WebCore::ApplicationCacheStorage::remove):
2032 New method that removes a cache.
2034 * loader/appcache/ApplicationCacheStorage.h:
2037 2008-05-06 Alp Toker <alp@nuanti.com>
2039 Partial GTK+ build fix. Add files from r32925 to the build and replace
2040 'nil' return with 0.
2043 * page/AccessibilityListBoxOption.cpp:
2044 (WebCore::AccessibilityListBoxOption::parentObject):
2046 2008-05-06 Brady Eidson <beidson@apple.com>
2050 Make LocalStorage persistent using a SQLite database.
2052 There's a few things going on here. Whenever an item is changed, we add it to a set of
2053 "items to be sync'ed." Instead of immediately scheduling the sync'ing on the background
2054 thread, we set a "sync timer" instead. This is to shield against a series of rapid changes
2055 to avoid thread churn.
2057 When the sync timer fires, we move the "items to be sync'ed" set to a background thread set
2058 and schedule the sync task which is where the items are actually committed to disk.
2060 Current design for reading items back in from disk is to be as aggressive as possible.
2061 When a page first accesses it's LocalStorage area, we begin to import all items in from disk so
2062 they are immediately available. A future enhancement will be to being this pre-fetching the
2063 moment we start loading a page when we know that page has LocalStorage.
2065 * storage/LocalStorageArea.cpp:
2066 (WebCore::LocalStorageArea::LocalStorageArea):
2067 (WebCore::LocalStorageArea::length): Return the length, or wait for the import to complete then return it.
2068 (WebCore::LocalStorageArea::key): Return the key, or wait for the import to complete then return it.
2069 (WebCore::LocalStorageArea::getItem): Return the item, or wait for the import to complete then return it.
2070 (WebCore::LocalStorageArea::setItem): Set the item, or hold the import lock and set it. The second case is
2071 because if the item is set while the import is still in progress, the new value should override whatever
2072 the imported value is.
2073 (WebCore::LocalStorageArea::removeItem): Remove the item, or hold the import lock and remove it. See the
2074 explanation for setItem()
2075 (WebCore::LocalStorageArea::contains): Return whether or not the item is contained. Do the same dance with
2076 the import flag, import lock, and import condition that the above methods do.
2078 (WebCore::LocalStorageArea::itemChanged): Schedule the item for sync'ing
2079 (WebCore::LocalStorageArea::itemRemoved): Schedule the removal of the item for sync'ing
2080 (WebCore::LocalStorageArea::areaCleared): Schedule the clear for sync'ing, and clear all previously
2083 (WebCore::LocalStorageArea::scheduleItemForSync): Add an item to the sync set.
2084 (WebCore::LocalStorageArea::scheduleClear): Set a bool flag denoting "All items removed." If any
2085 items are later set before the actual removal takes place, they will be written *after* the removal.
2086 (WebCore::LocalStorageArea::syncTimerFired): Move the current sync-set to the background thread sync set, then
2087 schedule a sync task. Also transfer the "items cleared" flag to the "background thread items cleared" flag
2088 (WebCore::LocalStorageArea::performImport): Import all items from disk, then signal the import complete.
2089 (WebCore::LocalStorageArea::markImported): Set the imported flag and signal the import complete
2090 (WebCore::LocalStorageArea::performSync): If the clear flag is set then drop all items. Then update or delete
2091 each item waiting to be sync'ed
2092 * storage/LocalStorageArea.h:
2094 2008-05-06 Brady Eidson <beidson@apple.com>
2096 Rubberstamped by Mitz Pettel RTL
2098 * storage/LocalStorage.cpp:
2099 (WebCore::LocalStorage::fullDatabaseFilename): Filename extensions for localstorage = all lowercase
2101 2008-05-06 Brady Eidson <beidson@apple.com>
2103 Reviewed by Darin, Sam Weinig, and Anders
2105 Preparation for upcoming work making LocalStorage persistent.
2107 The final step before code that actually does storage and retrieval of LocalStorage items.
2109 The LocalStorage set is responsible for controlling the path and filenames that individual
2110 LocalStorageAreas will use for their persistent store. This adds the ability to return that
2113 Also, add the scheduling methods that LocalStorageArea will use for importing and syncing
2114 it's persistent items.
2116 * storage/LocalStorage.cpp:
2117 (WebCore::LocalStorage::storageArea): Add some comments re: the future direction of this
2118 method once we actually do quota tracking.
2119 (WebCore::LocalStorage::fullDatabaseFilename):
2120 (WebCore::LocalStorage::scheduleImport):
2121 (WebCore::LocalStorage::scheduleSync):
2122 * storage/LocalStorage.h:
2124 2008-05-06 Chris Fleizach <cfleizach@apple.com>
2126 Reviewed by Beth Dakin.
2128 rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
2130 * WebCore.xcodeproj/project.pbxproj:
2131 * html/HTMLOptGroupElement.cpp:
2132 (WebCore::HTMLOptGroupElement::ownerSelectElement):
2133 (WebCore::HTMLOptGroupElement::accessKeyAction):
2134 * html/HTMLOptGroupElement.h:
2135 * html/HTMLOptionElement.cpp:
2136 (WebCore::HTMLOptionElement::accessKeyAction):
2137 (WebCore::HTMLOptionElement::index):
2138 (WebCore::HTMLOptionElement::setSelected):
2139 (WebCore::HTMLOptionElement::childrenChanged):
2140 (WebCore::HTMLOptionElement::ownerSelectElement):
2141 (WebCore::HTMLOptionElement::insertedIntoDocument):
2142 * html/HTMLOptionElement.h:
2143 * html/HTMLSelectElement.cpp:
2144 (WebCore::HTMLSelectElement::childrenChanged):
2145 (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
2146 * html/HTMLSelectElement.h:
2147 * page/AXObjectCache.cpp:
2148 (WebCore::AXObjectCache::get):
2149 * page/AccessibilityListBox.cpp: Added.
2150 (WebCore::AccessibilityListBox::AccessibilityListBox):
2151 (WebCore::AccessibilityListBox::~AccessibilityListBox):
2152 (WebCore::AccessibilityListBox::create):
2153 (WebCore::AccessibilityListBox::addChildren):
2154 (WebCore::AccessibilityListBox::selectedChildren):
2155 (WebCore::AccessibilityListBox::visibleChildren):
2156 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
2157 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
2158 * page/AccessibilityListBox.h: Added.
2159 (WebCore::AccessibilityListBox::accessibilityShouldUseUniqueId):
2160 (WebCore::AccessibilityListBox::isListBox):
2161 (WebCore::AccessibilityListBox::canSetFocusAttribute):
2162 (WebCore::AccessibilityListBox::roleValue):
2163 (WebCore::AccessibilityListBox::accessibilityIsIgnored):
2164 * page/AccessibilityListBoxOption.cpp: Added.
2165 (WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):
2166 (WebCore::AccessibilityListBoxOption::~AccessibilityListBoxOption):
2167 (WebCore::AccessibilityListBoxOption::create):
2168 (WebCore::AccessibilityListBoxOption::isEnabled):
2169 (WebCore::AccessibilityListBoxOption::isSelected):
2170 (WebCore::AccessibilityListBoxOption::elementRect):
2171 (WebCore::AccessibilityListBoxOption::title):
2172 (WebCore::AccessibilityListBoxOption::size):
2173 (WebCore::AccessibilityListBoxOption::actionElement):
2174 (WebCore::AccessibilityListBoxOption::parentObject):
2175 (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
2176 (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
2177 * page/AccessibilityListBoxOption.h: Added.
2178 (WebCore::AccessibilityListBoxOption::setHTMLElement):
2179 (WebCore::AccessibilityListBoxOption::roleValue):
2180 (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
2181 (WebCore::AccessibilityListBoxOption::isListBoxOption):
2182 * page/AccessibilityObject.h:
2183 (WebCore::AccessibilityObject::isListBox):
2184 * page/AccessibilityRenderObject.cpp:
2185 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2186 * page/mac/AccessibilityObjectWrapper.mm:
2187 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2188 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2189 * rendering/RenderListBox.cpp:
2190 (WebCore::RenderListBox::selectionChanged):
2191 * rendering/RenderListBox.h:
2193 2008-05-06 Chris Fleizach <cfleizach@apple.com>
2195 Reviewed by Beth Dakin.
2197 <rdar://problem/5455287> AXWebArea should include AXURL
2199 * page/AccessibilityRenderObject.cpp:
2200 (WebCore::AccessibilityRenderObject::url):
2201 * page/mac/AccessibilityObjectWrapper.mm:
2202 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2204 2008-05-06 Alice Liu <alice.liu@apple.com>
2206 Rubber-stamped by Beth
2208 stab-in-the-dark attempt at fixing non-mac builds.
2212 * WebCore.vcproj/WebCore.vcproj:
2213 * WebCoreSources.bkl:
2215 2008-05-06 Anders Carlsson <andersca@apple.com>
2219 Only use the toplevel application cache when loading subframes.
2221 * loader/MainResourceLoader.cpp:
2222 (WebCore::MainResourceLoader::load):
2224 2008-05-06 Adam Barth <abarth-webkit@adambarth.com>
2226 Reviewed by Sam Weinig.
2228 https://bugs.webkit.org/show_bug.cgi?id=18725
2229 Implement asynchronous postMessage.
2230 MessageEvent no longer bubbles as per r1237 in the HTML 5 working draft.
2232 Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
2234 Test: http/tests/security/postMessage/delivery-order.html
2236 * dom/MessageEvent.cpp:
2237 (WebCore::MessageEvent::MessageEvent):
2238 * page/DOMWindow.cpp:
2239 (WebCore::PostMessageTimer::PostMessageTimer):
2240 (WebCore::PostMessageTimer::event):
2241 (WebCore::PostMessageTimer::targetOrigin):
2242 (WebCore::PostMessageTimer::fired):
2243 (WebCore::DOMWindow::postMessage):
2244 (WebCore::DOMWindow::postMessageTimerFired):
2246 * page/DOMWindow.idl:
2248 2008-05-06 Anders Carlsson <andersca@apple.com>
2252 Store cache to the database.
2254 * loader/appcache/ApplicationCache.cpp:
2255 (WebCore::ApplicationCache::addResource):
2256 If the cache has been saved to disk, save the resource as well.
2258 * loader/appcache/ApplicationCache.h:
2259 (WebCore::ApplicationCache::onlineWhitelist):
2260 New method which returns the online whitelist.
2262 (WebCore::ApplicationCache::setStorageId):
2263 (WebCore::ApplicationCache::storageId):
2264 Setter/getter for the application cache storage ID.
2266 * loader/appcache/ApplicationCacheGroup.cpp:
2267 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2268 Save the cache/group to disk.
2270 * loader/appcache/ApplicationCacheGroup.h:
2271 (WebCore::ApplicationCacheGroup::setStorageID):
2272 (WebCore::ApplicationCacheGroup::storageID):
2273 Setter/getter for the application cache group storage ID.
2275 * loader/appcache/ApplicationCacheResource.cpp:
2276 (WebCore::ApplicationCacheResource::addType):
2277 We can't add a new type if the resource has been saved to disk.
2279 * loader/appcache/ApplicationCacheResource.h:
2280 (WebCore::ApplicationCacheResource::setStorageID):
2281 (WebCore::ApplicationCacheResource::storageID):
2282 Setter/getter for the application cache resource storage ID.
2284 * loader/appcache/ApplicationCacheStorage.cpp:
2285 * loader/appcache/ApplicationCacheStorage.cpp:
2286 (WebCore::ApplicationCacheStorage::executeSQLCommand):
2287 New method for executing SQL and logging any errors.
2289 (WebCore::ApplicationCacheStorage::openDatabase):
2292 (WebCore::ApplicationCacheStorage::executeStatement):
2293 New method for executing an SQL statement and logging any errors.
2295 (WebCore::ApplicationCacheStorage::store):
2296 New methods for storing a cache group, cache and cache resource to the store.
2298 (WebCore::ApplicationCacheStorage::storeNewestCache):
2299 New method which stores the newest cache and updates the newest cache field in the cache group.
2301 * loader/appcache/ApplicationCacheStorage.h:
2304 * platform/sql/SQLiteStatement.h:
2305 (WebCore::SQLiteStatement::query):
2306 Getter for the SQL query.
2308 2008-05-06 Brady Eidson <beidson@apple.com>
2310 Reviewed by Darin Adler
2312 Preparation for upcoming work making LocalStorage persistent.
2314 Writing persistent values for LocalStorage will take place on a background thread.
2315 Here is that background thread, as well as most of the hooks that will be utilized to
2316 make the whole song and dance work.
2318 The thread itself is very simple and MessageQueue based. LocalStorageTasks are what
2319 mark the work that needs to be done and come in 5 flavors: Import and Sync a LocalStorage set,
2320 Import and Sync a LocalStorageArea, and terminate the thread.
2322 This patch accomplished 2 things:
2324 1 - Each PageGroup has its own LocalStorage set. Upon its creation its LocalStorageThread is
2325 created and started.
2327 2 - At application shutdown, each thread is synchronously terminated.
2329 What happens between steps 1 and 2 will come later.
2333 * WebCore.vcproj/WebCore.vcproj:
2334 * WebCore.xcodeproj/project.pbxproj:
2335 * WebCoreSources.bkl:
2337 * storage/LocalStorage.cpp: Add some threading ASSERTs to make it clear which thread each
2338 method is meant to be called from.
2339 (WebCore::LocalStorage::LocalStorage):
2340 (WebCore::LocalStorage::storageArea):
2341 (WebCore::LocalStorage::performImport): Placeholder for importing known origins and quotas
2342 (WebCore::LocalStorage::performSync): Placeholder for writing out updated origins and quotas
2343 (WebCore::LocalStorage::close): Synchronously terminate the thread.
2344 * storage/LocalStorage.h:
2346 * storage/LocalStorageArea.cpp: Add some threading ASSERTs to make it clear which thread each
2347 method is meant to be called from.
2348 (WebCore::LocalStorageArea::itemChanged):
2349 (WebCore::LocalStorageArea::itemRemoved):
2350 (WebCore::LocalStorageArea::areaCleared):
2351 (WebCore::LocalStorageArea::dispatchStorageEvent):
2352 (WebCore::LocalStorageArea::performImport): Placeholder for importing all items for this
2353 LocalStorageArea to prime the page before the items are needed
2354 (WebCore::LocalStorageArea::performSync): Placeholder for writing out dirty items to disk
2355 * storage/LocalStorageArea.h:
2357 * storage/LocalStorageTask.cpp: Added.
2358 (WebCore::LocalStorageTask::LocalStorageTask):
2359 (WebCore::LocalStorageTask::performTask):
2360 * storage/LocalStorageTask.h: Added.
2361 (WebCore::LocalStorageTask::):
2362 (WebCore::LocalStorageTask::createImport):
2363 (WebCore::LocalStorageTask::createSync):
2364 (WebCore::LocalStorageTask::createTerminate):
2366 * storage/LocalStorageThread.cpp: Added.
2367 (WebCore::LocalStorageThread::create):
2368 (WebCore::LocalStorageThread::LocalStorageThread):
2369 (WebCore::LocalStorageThread::start):
2370 (WebCore::LocalStorageThread::localStorageThreadStart):
2371 (WebCore::LocalStorageThread::localStorageThread):
2372 (WebCore::LocalStorageThread::scheduleImport):
2373 (WebCore::LocalStorageThread::scheduleSync):
2374 (WebCore::LocalStorageThread::terminate):
2375 (WebCore::LocalStorageThread::performTerminate):
2376 * storage/LocalStorageThread.h: Added.
2378 2008-05-06 Anders Carlsson <andersca@apple.com>
2382 Add NPN_PopUpContextMenu.
2385 * plugins/npfunctions.h:
2387 2008-05-06 Alp Toker <alp@nuanti.com>
2389 GTK+ build fix. Add file from r32911 to the build.
2393 2008-05-06 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
2395 Reviewed by Alp Toker.
2397 http://bugs.webkit.org/show_bug.cgi?id=18906
2398 [GTK] Fix varargs terminator in g_build_filename()
2400 * plugins/gtk/PluginDatabaseGtk.cpp:
2401 (WebCore::PluginDatabase::isPreferredPluginDirectory): Fix varargs
2404 2008-05-06 Kevin McCullough <kmccullough@apple.com>
2406 - Forgot to update localized Strings from previous checkin.
2408 * English.lproj/localizedStrings.js:
2410 2008-05-06 Chris Fleizach <cfleizach@apple.com>
2412 Reviewed by Beth Dakin
2414 <rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
2415 <rdar://problem/5895634> AX: AccessibilityObjectWrapper is being leaked all over the place
2416 <rdar://problem/5893907> CrashTracer: [REGRESSION] 44 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityObject::clearChildren + 9
2418 Initial prep work to support accessibility objects that do not have renderers.
2420 * WebCore.xcodeproj/project.pbxproj:
2421 * page/AXObjectCache.cpp:
2422 (WebCore::AXObjectCache::~AXObjectCache):
2423 (WebCore::AXObjectCache::get):
2424 (WebCore::AXObjectCache::remove):
2425 (WebCore::AXObjectCache::getAXID):
2426 (WebCore::AXObjectCache::removeAXID):
2427 (WebCore::AXObjectCache::childrenChanged):
2428 * page/AXObjectCache.h:
2429 (WebCore::AXObjectCache::isIDinUse):
2430 * page/AccessibilityObject.cpp:
2431 (WebCore::AccessibilityObject::AccessibilityObject):
2432 (WebCore::AccessibilityObject::create):
2433 (WebCore::AccessibilityObject::detach):
2434 (WebCore::AccessibilityObject::firstChild):
2435 (WebCore::AccessibilityObject::lastChild):
2436 (WebCore::AccessibilityObject::previousSibling):
2437 (WebCore::AccessibilityObject::nextSibling):
2438 (WebCore::AccessibilityObject::parentObject):
2439 (WebCore::AccessibilityObject::layoutCount):
2440 (WebCore::AccessibilityObject::text):
2441 (WebCore::AccessibilityObject::helpText):
2442 (WebCore::AccessibilityObject::textUnderElement):
2443 (WebCore::AccessibilityObject::isARIAInput):
2444 (WebCore::AccessibilityObject::isARIAControl):
2445 (WebCore::AccessibilityObject::intValue):
2446 (WebCore::AccessibilityObject::stringValue):
2447 (WebCore::AccessibilityObject::title):
2448 (WebCore::AccessibilityObject::accessibilityDescription):
2449 (WebCore::AccessibilityObject::boundingBoxRect):
2450 (WebCore::AccessibilityObject::elementRect):
2451 (WebCore::AccessibilityObject::size):
2452 (WebCore::AccessibilityObject::linkedUIElement):
2453 (WebCore::AccessibilityObject::textLength):
2454 (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
2455 (WebCore::AccessibilityObject::selectedText):
2456 (WebCore::AccessibilityObject::accessKey):
2457 (WebCore::AccessibilityObject::selection):
2458 (WebCore::AccessibilityObject::selectedTextRange):
2459 (WebCore::AccessibilityObject::setSelectedTextRange):
2460 (WebCore::AccessibilityObject::url):
2461 (WebCore::AccessibilityObject::setFocused):
2462 (WebCore::AccessibilityObject::setValue):
2463 (WebCore::AccessibilityObject::axObjectCache):
2464 (WebCore::AccessibilityObject::getDocumentLinks):
2465 (WebCore::AccessibilityObject::widget):
2466 (WebCore::AccessibilityObject::widgetForAttachmentView):
2467 (WebCore::AccessibilityObject::anchorElement):
2468 (WebCore::AccessibilityObject::actionElement):
2469 (WebCore::AccessibilityObject::visiblePositionRange):
2470 (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
2471 (WebCore::AccessibilityObject::visiblePositionForIndex):
2472 (WebCore::AccessibilityObject::indexForVisiblePosition):
2473 (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
2474 (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
2475 (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
2476 (WebCore::AccessibilityObject::textMarkerForIndex):
2477 (WebCore::AccessibilityObject::rangeForTextMarkerRange):
2478 (WebCore::AccessibilityObject::indexForTextMarker):
2479 (WebCore::AccessibilityObject::doAXRangeForLine):
2480 (WebCore::AccessibilityObject::doAXRangeForPosition):
2481 (WebCore::AccessibilityObject::doAXRangeForIndex):
2482 (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
2483 (WebCore::AccessibilityObject::doAXStringForRange):
2484 (WebCore::AccessibilityObject::doAXBoundsForRange):
2485 (WebCore::AccessibilityObject::doAccessibilityHitTest):
2486 (WebCore::AccessibilityObject::focusedUIElement):
2487 (WebCore::AccessibilityObject::observableObject):
2488 (WebCore::AccessibilityObject::roleValue):
2489 (WebCore::AccessibilityObject::ariaRoleAttribute):
2490 (WebCore::AccessibilityObject::childrenChanged):
2491 (WebCore::AccessibilityObject::addChildren):
2492 (WebCore::AccessibilityObject::removeAXObjectID):
2493 * page/AccessibilityObject.h:
2495 (WebCore::PlainTextRange::PlainTextRange):
2496 (WebCore::PlainTextRange::isNull):
2497 (WebCore::AccessibilityObject::isAccessibilityRenderObject):
2498 (WebCore::AccessibilityObject::isAnchor):
2499 (WebCore::AccessibilityObject::isAttachment):
2500 (WebCore::AccessibilityObject::isHeading):
2501 (WebCore::AccessibilityObject::isLink):
2502 (WebCore::AccessibilityObject::isImage):
2503 (WebCore::AccessibilityObject::isNativeImage):
2504 (WebCore::AccessibilityObject::isImageButton):
2505 (WebCore::AccessibilityObject::isPasswordField):
2506 (WebCore::AccessibilityObject::isTextControl):
2507 (WebCore::AccessibilityObject::isNativeTextControl):
2508 (WebCore::AccessibilityObject::isWebArea):
2509 (WebCore::AccessibilityObject::isCheckboxOrRadio):
2510 (WebCore::AccessibilityObject::isChecked):
2511 (WebCore::AccessibilityObject::isEnabled):
2512 (WebCore::AccessibilityObject::isSelected):
2513 (WebCore::AccessibilityObject::isFocused):
2514 (WebCore::AccessibilityObject::isHovered):
2515 (WebCore::AccessibilityObject::isIndeterminate):
2516 (WebCore::AccessibilityObject::isLoaded):
2517 (WebCore::AccessibilityObject::isMultiSelect):
2518 (WebCore::AccessibilityObject::isOffScreen):
2519 (WebCore::AccessibilityObject::isPressed):
2520 (WebCore::AccessibilityObject::isReadOnly):
2521 (WebCore::AccessibilityObject::isVisited):
2522 (WebCore::AccessibilityObject::canSetFocusAttribute):
2523 (WebCore::AccessibilityObject::canSetTextRangeAttributes):
2524 (WebCore::AccessibilityObject::canSetValueAttribute):
2525 (WebCore::AccessibilityObject::hasIntValue):
2526 (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
2527 (WebCore::AccessibilityObject::accessibilityIsIgnored):
2528 (WebCore::AccessibilityObject::children):
2529 (WebCore::AccessibilityObject::hasChildren):
2530 (WebCore::AccessibilityObject::setWrapper):
2531 (WebCore::AccessibilityObject::isDetached):
2532 * page/AccessibilityRenderObject.cpp: Added.
2533 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
2534 (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
2535 (WebCore::AccessibilityRenderObject::create):
2536 (WebCore::AccessibilityRenderObject::detach):
2537 (WebCore::AccessibilityRenderObject::firstChild):
2538 (WebCore::AccessibilityRenderObject::lastChild):
2539 (WebCore::AccessibilityRenderObject::previousSibling):
2540 (WebCore::AccessibilityRenderObject::nextSibling):
2541 (WebCore::AccessibilityRenderObject::parentObject):
2542 (WebCore::AccessibilityRenderObject::isWebArea):
2543 (WebCore::AccessibilityRenderObject::isImageButton):
2544 (WebCore::AccessibilityRenderObject::isAnchor):
2545 (WebCore::AccessibilityRenderObject::isNativeTextControl):
2546 (WebCore::AccessibilityRenderObject::isTextControl):
2547 (WebCore::AccessibilityRenderObject::isNativeImage):
2548 (WebCore::AccessibilityRenderObject::isImage):
2549 (WebCore::AccessibilityRenderObject::isAttachment):
2550 (WebCore::AccessibilityRenderObject::isPasswordField):
2551 (WebCore::AccessibilityRenderObject::isCheckboxOrRadio):
2552 (WebCore::AccessibilityRenderObject::isPressed):
2553 (WebCore::AccessibilityRenderObject::isIndeterminate):
2554 (WebCore::AccessibilityRenderObject::isChecked):
2555 (WebCore::AccessibilityRenderObject::isHovered):
2556 (WebCore::AccessibilityRenderObject::isMultiSelect):
2557 (WebCore::AccessibilityRenderObject::isReadOnly):
2558 (WebCore::AccessibilityRenderObject::isOffScreen):
2559 (WebCore::AccessibilityRenderObject::headingLevel):
2560 (WebCore::AccessibilityRenderObject::isHeading):
2561 (WebCore::AccessibilityRenderObject::isLink):
2562 (WebCore::AccessibilityRenderObject::anchorElement):
2563 (WebCore::AccessibilityRenderObject::actionElement):
2564 (WebCore::AccessibilityRenderObject::mouseButtonListener):
2565 (WebCore::AccessibilityRenderObject::helpText):
2566 (WebCore::AccessibilityRenderObject::textUnderElement):
2567 (WebCore::AccessibilityRenderObject::hasIntValue):
2568 (WebCore::AccessibilityRenderObject::intValue):
2569 (WebCore::AccessibilityRenderObject::stringValue):
2570 (WebCore::labelForElement):
2571 (WebCore::AccessibilityRenderObject::title):
2572 (WebCore::AccessibilityRenderObject::accessibilityDescription):
2573 (WebCore::AccessibilityRenderObject::boundingBoxRect):
2574 (WebCore::AccessibilityRenderObject::elementRect):
2575 (WebCore::AccessibilityRenderObject::size):
2576 (WebCore::AccessibilityRenderObject::linkedUIElement):
2577 (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
2578 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2579 (WebCore::AccessibilityRenderObject::isLoaded):
2580 (WebCore::AccessibilityRenderObject::layoutCount):
2581 (WebCore::AccessibilityRenderObject::text):
2582 (WebCore::AccessibilityRenderObject::textLength):
2583 (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
2584 (WebCore::AccessibilityRenderObject::selectedText):
2585 (WebCore::AccessibilityRenderObject::accessKey):
2586 (WebCore::AccessibilityRenderObject::selection):
2587 (WebCore::AccessibilityRenderObject::selectedTextRange):
2588 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2589 (WebCore::AccessibilityRenderObject::url):
2590 (WebCore::AccessibilityRenderObject::isVisited):
2591 (WebCore::AccessibilityRenderObject::isSelected):
2592 (WebCore::AccessibilityRenderObject::isFocused):
2593 (WebCore::AccessibilityRenderObject::setFocused):
2594 (WebCore::AccessibilityRenderObject::setValue):
2595 (WebCore::AccessibilityRenderObject::isEnabled):
2596 (WebCore::AccessibilityRenderObject::topRenderer):
2597 (WebCore::AccessibilityRenderObject::widget):
2598 (WebCore::AccessibilityRenderObject::axObjectCache):
2599 (WebCore::AccessibilityRenderObject::getDocumentLinks):
2600 (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
2601 (WebCore::AccessibilityRenderObject::frameViewIfRenderView):
2602 (WebCore::AccessibilityRenderObject::visiblePositionRange):
2603 (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
2604 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
2605 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2606 (WebCore::AccessibilityRenderObject::doAXBoundsForTextMarkerRange):
2607 (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
2608 (WebCore::AccessibilityRenderObject::doAXTextMarkerForPosition):
2609 (WebCore::AccessibilityRenderObject::textMarkerForIndex):
2610 (WebCore::AccessibilityRenderObject::indexForTextMarker):
2611 (WebCore::AccessibilityRenderObject::doAXRangeForLine):
2612 (WebCore::AccessibilityRenderObject::doAXRangeForIndex):
2613 (WebCore::AccessibilityRenderObject::doAXStringForRange):
2614 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
2615 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2616 (WebCore::AccessibilityRenderObject::focusedUIElement):
2617 (WebCore::AccessibilityRenderObject::observableObject):
2618 (WebCore::createARIARoleMap):
2619 (WebCore::RoleEntry::):
2620 (WebCore::ariaRoleToWebCoreRole):
2621 (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
2622 (WebCore::AccessibilityRenderObject::roleValue):
2623 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2624 (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2625 (WebCore::AccessibilityRenderObject::canSetTextRangeAttributes):
2626 (WebCore::AccessibilityRenderObject::childrenChanged):
2627 (WebCore::AccessibilityRenderObject::children):
2628 (WebCore::AccessibilityRenderObject::addChildren):
2629 (WebCore::AccessibilityRenderObject::removeAXObjectID):
2630 (WebCore::AccessibilityRenderObject::actionVerb):
2631 * page/AccessibilityRenderObject.h: Added.
2632 (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
2633 (WebCore::AccessibilityRenderObject::areaElement):
2634 (WebCore::AccessibilityRenderObject::setRenderer):
2635 (WebCore::AccessibilityRenderObject::renderer):
2636 (WebCore::AccessibilityRenderObject::setRenderObject):
2637 (WebCore::AccessibilityRenderObject::isDetached):
2638 * page/mac/AXObjectCacheMac.mm:
2639 (WebCore::AXObjectCache::detachWrapper):
2640 (WebCore::AXObjectCache::selectedChildrenChanged):
2641 (WebCore::AXObjectCache::postNotification):
2642 * page/mac/AccessibilityObjectWrapper.mm:
2643 (textMarkerForVisiblePosition):
2644 (CreateCGColorIfDifferent):
2645 (AXAttributeStringSetHeadingLevel):
2646 (AXLinkElementForNode):
2647 (AXAttributeStringSetElement):
2648 (AXAttributedStringAppendText):
2649 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2650 (-[AccessibilityObjectWrapper documentFrameView:]):
2651 (-[AccessibilityObjectWrapper position]):
2653 (-[AccessibilityObjectWrapper roleDescription]):
2654 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2655 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
2656 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2657 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2658 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
2659 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
2660 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2662 2008-05-06 Jonathan Haas <myrdred@gmail.com>
2664 Reviewed by Rob Buis.
2666 https://bugs.webkit.org/show_bug.cgi?id=18859\
2667 Prevented SVGRootInlineBox from static_casting a
2668 node to a class it doesn't inherit
2670 * rendering/SVGRootInlineBox.cpp:
2671 (WebCore::SVGRootInlineBox::buildTextChunks):
2673 2008-05-06 Brady Eidson <beidson@apple.com>
2675 Reviewed by Darin Adler
2677 Preparation for upcoming work making LocalStorage persistent.
2679 When the application terminates, all pending local storage writes need to be
2680 sync'ed out to disk.
2681 This works n combination with platform specific code in WebKit that calls it.
2685 * page/PageGroup.cpp:
2686 (WebCore::PageGroup::closeLocalStorage): Close all open LocalStorage objects
2689 * storage/LocalStorage.cpp:
2690 (WebCore::LocalStorage::close): Placeholder for what will sync and terminate the
2691 local storage thread in the future.
2692 * storage/LocalStorage.h:
2694 2008-05-06 Brady Eidson <beidson@apple.com>
2696 Rubberstamped by David Kilzer
2698 * WebCore.base.exp: Sort this mess!
2700 2008-05-05 Mark Rowe <mrowe@apple.com>
2702 Reviewed by Dan Bernstein.
2704 Fix 60 crashes seen on the buildbots that were misreported as hangs.
2707 (WebCore::Document::detachNodeIterator): Null-check page() before dereferencing it.
2708 (WebCore::Document::nodeWillBeRemoved): Ditto.
2709 (WebCore::Document::textInserted): Ditto.
2710 (WebCore::Document::textNodesMerged): Ditto.
2711 (WebCore::Document::textRemoved): Ditto.
2713 2008-05-05 Brady Eidson <beidson@apple.com>
2715 Reviewed by Mitz Pettel RTL
2717 Preparation for upcoming work making LocalStorage persistent.
2719 The other half of the StorageMap::importItem() addition.
2721 * storage/StorageArea.cpp:
2722 (WebCore::StorageArea::importItem):
2723 * storage/StorageArea.h:
2725 2008-05-05 Brady Eidson <beidson@apple.com>
2727 Reviewed by Mitz Pettel RTL
2729 Preparation for upcoming work making LocalStorage persistent.
2731 - Create the LocalStorage object for a PageGroup the moment the first Page is added to it
2732 The Settings of the first Page define what persistent path the LocalStorage will use
2733 - Add a Frame argument for the LocalStorageArea request - this will allow a client object
2734 to be queried before the LocalStorageArea is established
2736 * page/DOMWindow.cpp:
2737 (WebCore::DOMWindow::localStorage):
2739 * page/PageGroup.cpp:
2740 (WebCore::PageGroup::addPage):
2741 (WebCore::PageGroup::localStorage):
2743 * storage/LocalStorage.cpp:
2744 (WebCore::LocalStorage::LocalStorage): Take the path as a constructor argument. Deep copy
2745 the path as it will be used from another thread.
2746 (WebCore::LocalStorage::storageArea):
2747 * storage/LocalStorage.h:
2748 (WebCore::LocalStorage::create):
2750 2008-05-05 Brady Eidson <beidson@apple.com>
2752 Reviewed by Mitz Pettel RTL
2754 Preparation for upcoming work making LocalStorage persistent.
2756 StorageMaps normally have copy-on-write semantics to help support SessionStorage.
2757 For LocalStorage, we never want this behavior. When we forcefully import items into
2758 a StorageMap from the LocalStorage background thread, this new import method will be used.
2760 * storage/StorageMap.cpp:
2761 (WebCore::StorageMap::importItem): Add a deep-copy of the item to the map without worrying
2762 about copy-on-write.
2763 * storage/StorageMap.h:
2765 2008-05-05 Kevin McCullough <kmccullough@apple.com>
2769 -<rdar://problem/5770054> JavaScript profiler (10928)
2770 -Begininings of a UI for the Profiler in the WebInspector.
2772 * English.lproj/InspectorLocalizedStrings.js: Add new strings to be
2774 * page/inspector/DatabasesPanel.js: Changed the name of the Databae's
2775 results table to be more generic as it is now also used by the profiler.
2776 * page/inspector/Images/glossySelected.png: Added.
2777 * page/inspector/Images/profilesIcon.png: Added.
2778 * page/inspector/Images/treeUpTriangleBlack.png: Added.
2779 * page/inspector/Images/treeUpTriangleWhite.png: Added.
2780 * page/inspector/ProfileView.js: Added. Sets up the header of the table.
2781 * page/inspector/ProfilesPanel.js: Added.
2782 * page/inspector/ProfilesPanel.js: Added. Sets up the containers of the
2784 * page/inspector/inspector.css: Change database-result-table to be more
2785 generic as well as add the styles needed by the profiler.
2786 * page/inspector/inspector.html: Add profiler support.
2788 2008-05-05 Brady Eidson <beidson@apple.com>
2790 Change by Darin, reviewed by Brady
2792 Small efficiency improvement Darin just spotted
2794 * storage/StorageMap.cpp:
2795 (WebCore::StorageMap::setItem):
2797 2008-05-05 Antti Koivisto <antti@apple.com>
2801 Fix https://bugs.webkit.org/show_bug.cgi?id=18899
2802 Bug 18899: REGRESSION (r32871): Non-Safari crash in WTF::HashTable on startup
2804 * loader/loader.cpp:
2805 (WebCore::Loader::Loader):
2807 2008-05-05 Brady Eidson <beidson@apple.com>
2809 Reviewed by Sam Weinig
2811 Fix a bug in StorageMap iterator tracking where the iterator was not successfully
2812 invalidated at an appropriate time.
2814 * storage/StorageMap.cpp:
2815 (WebCore::StorageMap::setItem): ALWAYS invalidate it here
2817 2008-05-05 Justin Garcia <justin.garcia@apple.com>
2821 <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
2823 Disable Range mutation on document modifications in Tiger and Leopard Mail,
2824 since they do their own mutation which interferes with ours.
2828 (WebCore::Document::nodeChildrenChanged):
2829 (WebCore::Document::nodeWillBeRemoved):
2830 (WebCore::Document::textInserted):
2831 (WebCore::Document::textRemoved):
2832 (WebCore::Document::textNodesMerged):
2833 (WebCore::Document::textNodeSplit):
2834 * page/Settings.cpp:
2835 (WebCore::Settings::Settings):
2836 (WebCore::Settings::disableRangeMutationForOldAppleMail):
2838 (WebCore::Settings::rangeMutationDisabledForOldAppleMail):
2840 2008-05-05 Sam Weinig <sam@webkit.org>
2842 Reviewed by Tim Hatcher.
2844 Make the Inspector's localizable strings file match the format used by Dashboard widgets.
2846 * English.lproj/InspectorLocalizedStrings.js: Removed.
2847 * English.lproj/localizedStrings.js: Added.
2848 * WebCore.vcproj/WebCore.vcproj:
2849 * WebCore.xcodeproj/project.pbxproj:
2850 * page/inspector/inspector.js:
2852 2008-05-05 Steve Falkenburg <sfalken@apple.com>
2854 Add support for default button appearance.
2855 Add WebCore setting for app chrome mode.
2857 Reviewed by Dave Hyatt.
2859 * css/CSSPrimitiveValueMappings.h:
2860 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2861 * css/CSSValueKeywords.in: Added default-button value keyword.
2862 * page/Settings.cpp:
2863 (WebCore::Settings::Settings):
2864 (WebCore::Settings::setApplicationChromeMode):
2866 (WebCore::Settings::inApplicationChromeMode):
2867 * rendering/RenderButton.cpp:
2868 (WebCore::RenderButton::RenderButton):
2869 (WebCore::RenderButton::setStyle):
2870 (WebCore::RenderButton::timerFired):
2871 * rendering/RenderButton.h:
2872 * rendering/RenderStyle.h:
2874 * rendering/RenderTheme.cpp:
2875 (WebCore::RenderTheme::adjustStyle):
2876 (WebCore::RenderTheme::paint):
2877 (WebCore::RenderTheme::paintBorderOnly):
2878 (WebCore::RenderTheme::paintDecorations):
2879 (WebCore::RenderTheme::isControlStyled):
2880 (WebCore::RenderTheme::isDefault):
2881 * rendering/RenderTheme.h:
2883 * rendering/RenderThemeSafari.cpp:
2884 (WebCore::RenderThemeSafari::determineState):
2885 (WebCore::RenderThemeSafari::adjustRepaintRect):
2886 (WebCore::RenderThemeSafari::adjustButtonStyle):
2887 * rendering/RenderThemeWin.cpp:
2888 (WebCore::RenderThemeWin::supportsFocus):
2890 2008-05-05 Alexey Proskuryakov <ap@webkit.org>
2894 https://bugs.webkit.org/show_bug.cgi?id=11947
2895 nbsps should be converted to entities in innerHTML
2897 https://bugs.webkit.org/show_bug.cgi?id=18769
2898 replacing with spaces using regexp creates inconsistent result
2900 Tests: fast/dom/innerHTML-nbsp.html
2901 fast/dom/innerHTML-escaping-attribute.html
2903 * editing/markup.cpp:
2904 (WebCore::appendAttributeValue):
2905 (WebCore::escapeContentText):
2906 (WebCore::appendEscapedContent):
2907 Added U+00a0/nbsp to the list of characters to escape.
2909 2008-05-05 David Hyatt <hyatt@apple.com>
2911 Fix for https://bugs.webkit.org/show_bug.cgi?id=18821. Fix some bugs in both get/PutImageData of <canvas>.
2915 New tests added in fast/canvas/
2917 * platform/graphics/cg/ImageBufferCG.cpp:
2918 (WebCore::ImageBuffer::getImageData):
2919 (WebCore::ImageBuffer::putImageData):
2921 2008-05-05 Dan Bernstein <mitz@apple.com>
2923 Reviewed by Dave Hyatt.
2925 - fix https://bugs.webkit.org/show_bug.cgi?id=18809
2926 Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow)
2928 Test: fast/block/basic/adding-near-anonymous-block.html
2930 * rendering/RenderBlock.cpp:
2931 (WebCore::RenderBlock::addChildToFlow): When adding a floating or
2932 positioned object, if it follows an anonymous block, put it
2933 inside the anonymous block. When adding an inline, check if it comes
2934 after an anonymous block and put it in the anonymous block.
2936 2008-05-05 Antti Koivisto <antti@apple.com>
2940 Speculative fix for <rdar://problem/5906790>
2941 Crash in Loader::servePendingRequests() due to hash table being modified during iteration
2943 I don't know how to reproduce this. It would require the load to fail (or succeed)
2944 synchronously, something that should not usually happen.
2946 * loader/loader.cpp:
2947 (WebCore::Loader::Loader):
2948 (WebCore::Loader::load):
2949 (WebCore::Loader::servePendingRequests):
2950 (WebCore::Loader::cancelRequests):
2951 (WebCore::Loader::Host::Host):
2953 (WebCore::Loader::Host::name):
2955 2008-05-05 Ariya Hidayat <ariya.hidayat@trolltech.com>
2959 Disable SVG As Image support in the Qt port again, as it
2960 requires more work. Right now the chrome client is
2961 assumed to be a ChromeClientQt, which the SVG Image support
2966 2008-05-02 Antti Koivisto <antti@apple.com>
2970 Fix <rdar://problem/5840475>
2971 CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject
2973 Non-block objects can have transforms so containingBlock() could end up returning null.
2974 RenderObject::container() needs to match.
2976 Test: fast/transforms/container-transform-crash.html
2978 * rendering/RenderObject.cpp:
2979 (WebCore::RenderObject::containingBlock):
2980 (WebCore::RenderObject::container):
2982 2008-05-04 Sam Weinig <sam@webkit.org>
2984 Roll out r32851. It broke tiger builds.
2986 * bindings/objc/DOMUtility.mm:
2987 (KJS::createDOMWrapper):
2988 (WebCore::createDOMWrapper):
2990 2008-05-04 Dan Bernstein <mitz@apple.com>
2992 Reviewed by Sam Weinig.
2994 - fix https://bugs.webkit.org/show_bug.cgi?id=18879
2995 <rdar://problem/5909481> Reproducible crash when removing a gradient
2997 Test: fast/gradients/crash-on-remove.html
2999 * css/CSSImageGeneratorValue.cpp:
3000 (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
3001 (WebCore::CSSImageGeneratorValue::addClient): Added a call to ref() the
3003 (WebCore::CSSImageGeneratorValue::removeClient): Added code to deref()
3006 2008-05-03 Sam Weinig <sam@webkit.org>
3008 Reviewed by Mark Rowe.
3010 Move createDOMWrapper(JSObject* object) out of the KJS namespace and into
3011 the WebCore namespace now that the required compilers don't freak out about
3014 * bindings/objc/DOMUtility.mm:
3015 (WebCore::createDOMWrapper):
3017 2008-05-03 Rob Buis <buis@kde.org>
3021 https://bugs.webkit.org/show_bug.cgi?id=18652
3022 onchange events don't seem to fire for input[type=range] controls.
3024 Fire changeEvent when clicking the slider outside the current
3027 * rendering/RenderSlider.cpp:
3028 (WebCore::RenderSlider::setValueForPosition):
3030 2008-05-03 Sam Weinig <sam@webkit.org>
3032 Reviewed by Mark Rowe.
3034 Remove unused enums from JSDOMWindowBase.
3036 * bindings/js/JSDOMWindowBase.h:
3037 (WebCore::JSDOMWindowBase::):
3039 2008-05-03 Sam Weinig <sam@webkit.org>
3043 * WebCore.xcodeproj/project.pbxproj:
3045 2008-05-03 Sam Weinig <sam@webkit.org>
3049 * bindings/js/kjs_events.cpp:
3050 (WebCore::JSAbstractEventListener::handleEvent):
3052 2008-05-03 Sam Weinig <sam@webkit.org>
3054 Rubber-stamped by Geoffrey Garen.
3056 Rename JSDOMWindowWrapper to JSDOMWindowShell.
3058 2008-05-01 Rob Buis <buis@kde.org>
3062 https://bugs.webkit.org/show_bug.cgi?id=18568
3063 background: currentColor fails
3065 Implement currentColor from CSS3 color module.
3067 Tests: fast/css/background-currentcolor.html
3069 * css/CSSParser.cpp:
3070 (WebCore::CSSParser::parseValue):
3071 (WebCore::CSSParser::parseBackgroundColor):
3072 * css/CSSStyleSelector.cpp:
3073 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3074 * css/CSSValueKeywords.in:
3075 * css/SVGCSSValueKeywords.in:
3077 2008-05-02 Anders Carlsson <andersca@apple.com>
3081 Turns out calling locationInWindow on keyboard events will not throw an exception,
3082 but the point returned is completely bogus, so remove coordinates from the keyboard event struct.
3087 2008-05-02 Benjamin Otte <otte@gnome.org>
3089 Reviewed by Alp Toker.
3091 http://bugs.webkit.org/show_bug.cgi?id=18856
3092 [GTK] variable initialization missing
3094 Not initializing the m_needsXEmbed variable could have very funny
3095 results. Most often those results would be crashes.
3097 * plugins/PluginView.cpp:
3098 (WebCore::PluginView::PluginView):
3100 2008-05-02 Jan Michael Alonzo <jmalonzo@unpluggable.com>
3104 https://bugs.webkit.org/show_bug.cgi?id=18811
3105 Enable dashboard and offline web apps in autotools
3109 2008-05-02 Anders Carlsson <andersca@apple.com>
3113 Name the event union so it will work in plain C.
3118 2008-05-02 Dan Bernstein <mitz@apple.com>
3120 Reviewed by John Sullivan.
3122 - render text shadows with zero offset, as the shadow can be seen behind
3123 the text if the text is translucent
3125 Test: fast/text/shadow-no-blur.html
3127 * platform/graphics/mac/FontMac.mm:
3128 (WebCore::Font::drawComplexText): Removed the isEmpty() condition on the
3129 shadow offset. Since isEmpty() is also true for sizes that have one or
3130 more non-positive components, this also ensures that subpixel
3131 antialiasing of the text is maintained with shadows in all directions.
3132 (WebCore::Font::drawGlyphs): Ditto.
3133 * platform/graphics/win/FontCGWin.cpp:
3134 (WebCore::Font::drawGlyphs): Ditto.
3136 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
3140 Build the Qt port with SVG Use and As Image support.
3144 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
3148 Fixed potential crash on SVG animation (added more checks to the assert).
3150 * svg/SVGUseElement.cpp:
3151 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3153 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
3155 Rubber-stamped by John Sullivan.
3157 Fix a debug-only crash in layout tests.
3159 * loader/CachedResource.cpp:
3160 (WebCore::CachedResource::~CachedResource): Don't call resourceForURL() for null URLs.
3162 2008-05-02 Simon Hausmann <shausman@trolltech.com>
3164 Fix the Qt build on Windows when Phonon is enabled for Audio/Video support
3166 * WebCore.pro: Don't use QT += phonon as it prepends the phonon
3167 includes to the include paths. Instead add it manually and make sure
3168 phonon comes last, to avoid the conflict of phonon's path.h with
3169 WebCore's Path.h on case-insensitive filesystems.
3171 2008-05-02 Simon Hausmann <hausmann@webkit.org>
3173 Fix the Qt build. Add ExecState where necessary.
3175 * bridge/qt/qt_class.cpp:
3176 (KJS::Bindings::QtClass::fallbackObject):
3177 * bridge/qt/qt_instance.cpp:
3178 (KJS::Bindings::QtRuntimeObjectImp::construct):
3179 (KJS::Bindings::QtInstance::getRuntimeObject):
3180 (KJS::Bindings::QtInstance::invokeDefaultMethod):
3181 (KJS::Bindings::QtInstance::defaultValue):
3182 (KJS::Bindings::QtInstance::stringValue):
3183 * bridge/qt/qt_instance.h:
3184 (KJS::Bindings::QtInstance::getObject):
3185 * bridge/qt/qt_runtime.cpp:
3186 (KJS::Bindings::convertValueToQVariant):
3187 (KJS::Bindings::convertQVariantToValue):
3188 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
3189 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
3190 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3191 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
3192 (KJS::Bindings::QtConnectionObject::execute):
3193 * bridge/runtime.cpp:
3194 (KJS::Bindings::Instance::createRuntimeObject):
3196 2008-05-02 Simon Hausmann <shausman@trolltech.com>
3198 Fix the Qt/Win build.
3201 * platform/qt/TemporaryLinkStubs.cpp:
3202 (PluginDatabase::getPluginPathsInDirectories):
3203 (PluginDatabase::defaultPluginDirectories):
3204 (PluginDatabase::isPreferredPluginDirectory):
3205 (PluginView::setNPWindowRect):
3206 (PluginView::userAgent):
3207 (PluginView::invalidateRect):
3208 (PluginView::invalidateRegion):
3209 (PluginView::forceRedraw):
3210 (PluginView::setFocus):
3213 (PluginView::paint):
3214 (PluginView::setParent):
3215 (PluginView::attachToWindow):
3216 (PluginView::detachFromWindow):
3217 (PluginView::updateWindow):
3218 (PluginView::handleKeyboardEvent):
3219 (PluginView::handleMouseEvent):
3220 (PluginView::handlePostReadFile):
3221 (PluginView::getValue):
3222 * plugins/qt/PluginPackageQt.cpp:
3223 (WebCore::PluginPackage::load):
3225 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
3227 Reviewed by Geoffrey Garen.
3229 https://bugs.webkit.org/show_bug.cgi?id=18826
3230 Make JavaScript heap per-thread
3232 This is mostly adaptation for JSC changes. The most prominent one is that JSObject
3233 allocator now takes ExecState, e.g. "new (exec) JSXMLHttpRequestConstructor(...)". It is
3234 OK to pass either the current or global one, whichever is faster to get hold of, as both
3235 have the same reference to a per-thread JS heap.
3237 * bindings/scripts/CodeGeneratorJS.pm: Pass ExecState to functions that now need it.
3238 JSDOMWindow, JSDOMWindowPrototype and JSDOMWindowWrapper are special, because they are
3239 constructed before any ExecState comes into existence, so they use Heap::threadHeap()
3240 directly for allocation.
3242 * bindings/js/JSDOMWindowWrapper.cpp:
3243 (WebCore::JSDOMWindowWrapper::operator new):
3244 * bindings/js/JSDOMWindowWrapper.h:
3245 Added a custom operator new to use per-thread heap when there's no ExecState around.
3247 * bindings/js/JSAudioConstructor.cpp:
3248 (WebCore::JSAudioConstructor::JSAudioConstructor):
3249 * bindings/js/JSCSSRuleCustom.cpp:
3251 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3252 (WebCore::JSCSSStyleDeclaration::nameGetter):
3253 * bindings/js/JSCSSValueCustom.cpp:
3255 * bindings/js/JSCanvasPixelArrayCustom.cpp:
3256 (WebCore::JSCanvasPixelArray::indexGetter):
3258 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3260 * bindings/js/JSClipboardCustom.cpp:
3261 (WebCore::JSClipboard::types):
3262 (WebCore::JSClipboard::getData):
3263 * bindings/js/JSCustomXPathNSResolver.cpp:
3264 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3265 * bindings/js/JSDOMApplicationCacheCustom.cpp:
3266 (WebCore::JSDOMApplicationCache::addEventListener):
3267 (WebCore::JSDOMApplicationCache::removeEventListener):
3268 (WebCore::JSDOMApplicationCache::setOnchecking):
3269 (WebCore::JSDOMApplicationCache::setOnerror):
3270 (WebCore::JSDOMApplicationCache::setOnnoupdate):
3271 (WebCore::JSDOMApplicationCache::setOndownloading):
3272 (WebCore::JSDOMApplicationCache::setOnprogress):
3273 (WebCore::JSDOMApplicationCache::setOnupdateready):
3274 (WebCore::JSDOMApplicationCache::setOncached):
3275 * bindings/js/JSDOMWindowBase.cpp:
3276 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3277 (WebCore::JSDOMWindowBase::getValueProperty):
3278 (WebCore::JSDOMWindowBase::setListener):
3279 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
3280 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
3281 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
3282 (WebCore::windowProtoFuncAToB):
3283 (WebCore::windowProtoFuncBToA):
3284 (WebCore::windowProtoFuncSetTimeout):
3285 (WebCore::windowProtoFuncSetInterval):
3286 (WebCore::windowProtoFuncAddEventListener):
3287 * bindings/js/JSDOMWindowBase.h:
3288 * bindings/js/JSDocumentCustom.cpp:
3290 * bindings/js/JSEventCustom.cpp:
3292 * bindings/js/JSEventTargetBase.cpp:
3293 (WebCore::jsEventTargetAddEventListener):
3294 * bindings/js/JSEventTargetBase.h:
3295 (WebCore::JSEventTargetPrototype::self):
3296 * bindings/js/JSEventTargetNode.cpp:
3297 (WebCore::JSEventTargetNode::setListener):
3298 * bindings/js/JSHTMLCollectionCustom.cpp:
3299 (WebCore::getNamedItems):
3301 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3302 (WebCore::createJSHTMLWrapper):
3303 * bindings/js/JSHTMLFormElementCustom.cpp:
3304 (WebCore::JSHTMLFormElement::nameGetter):
3305 * bindings/js/JSHTMLInputElementBase.cpp:
3306 (WebCore::JSHTMLInputElementBase::getValueProperty):
3307 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3308 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3309 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3310 (WebCore::JSHTMLOptionsCollection::length):
3311 * bindings/js/JSInspectedObjectWrapper.cpp:
3312 (WebCore::JSInspectedObjectWrapper::wrap):
3313 * bindings/js/JSInspectorCallbackWrapper.cpp:
3314 (WebCore::JSInspectorCallbackWrapper::wrap):
3315 * bindings/js/JSLocationCustom.cpp:
3316 (WebCore::JSLocation::toString):
3317 * bindings/js/JSNamedNodesCollection.cpp:
3318 (WebCore::JSNamedNodesCollection::lengthGetter):
3319 * bindings/js/JSNavigatorCustom.cpp:
3320 (WebCore::JSNavigator::appVersion):
3321 * bindings/js/JSNodeCustom.cpp:
3323 * bindings/js/JSNodeFilterCustom.cpp:
3324 (WebCore::JSNodeFilter::acceptNode):
3325 * bindings/js/JSRGBColor.cpp:
3326 (WebCore::getJSRGBColor):
3327 * bindings/js/JSSQLResultSetRowListCustom.cpp:
3328 (WebCore::JSSQLResultSetRowList::item):
3329 * bindings/js/JSSVGElementWrapperFactory.cpp:
3330 (WebCore::createJSSVGWrapper):
3331 * bindings/js/JSSVGLazyEventListener.cpp:
3332 (WebCore::JSSVGLazyEventListener::eventParameterName):
3333 * bindings/js/JSStorageCustom.cpp:
3334 (WebCore::JSStorage::nameGetter):
3335 * bindings/js/JSStyleSheetCustom.cpp:
3337 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3338 (WebCore::JSXMLHttpRequestConstructor::construct):
3339 * bindings/js/JSXMLHttpRequestCustom.cpp:
3340 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
3341 (WebCore::JSXMLHttpRequest::setOnload):
3342 (WebCore::JSXMLHttpRequest::setOnprogress):
3343 (WebCore::JSXMLHttpRequest::getResponseHeader):
3344 (WebCore::JSXMLHttpRequest::addEventListener):
3345 (WebCore::JSXMLHttpRequest::removeEventListener):
3346 * bindings/js/JSXSLTProcessor.cpp:
3347 (WebCore::jsXSLTProcessorPrototypeFunctionGetParameter):
3348 (WebCore::JSXSLTProcessorConstructor::construct):
3349 * bindings/js/kjs_binding.cpp:
3350 (WebCore::jsStringOrNull):
3351 (WebCore::jsOwnedStringOrNull):
3352 (WebCore::jsStringOrUndefined):
3353 (WebCore::jsStringOrFalse):
3354 (WebCore::nonCachingStaticFunctionGetter):
3355 (WebCore::objectToStringFunctionGetter):
3356 * bindings/js/kjs_binding.h:
3357 (WebCore::DOMObject::DOMObject):
3358 (WebCore::cacheDOMObject):
3359 (WebCore::cacheSVGDOMObject):
3360 * bindings/js/kjs_events.cpp:
3361 (WebCore::JSLazyEventListener::eventParameterName):
3362 (WebCore::JSLazyEventListener::parseCode):
3363 * bindings/js/kjs_html.cpp:
3364 (WebCore::getRuntimeObject):
3365 * bridge/c/c_instance.cpp:
3366 (KJS::Bindings::CInstance::defaultValue):
3367 (KJS::Bindings::CInstance::stringValue):
3368 (KJS::Bindings::CInstance::numberValue):
3369 (KJS::Bindings::CInstance::valueOf):
3370 * bridge/c/c_instance.h:
3371 * bridge/c/c_utility.cpp:
3372 (KJS::Bindings::convertNPVariantToValue):
3373 * bridge/jni/jni_instance.cpp:
3374 (JavaInstance::stringValue):
3375 (JavaInstance::numberValue):
3376 (JavaInstance::invokeMethod):
3377 (JavaInstance::defaultValue):
3378 (JavaInstance::valueOf):
3379 * bridge/jni/jni_instance.h:
3380 * bridge/jni/jni_jsobject.h:
3381 * bridge/jni/jni_jsobject.mm:
3382 (JavaJSObject::call):
3383 (JavaJSObject::setMember):
3384 (JavaJSObject::setSlot):
3385 (JavaJSObject::convertJObjectToValue):
3386 (JavaJSObject::getListFromJArray):
3387 * bridge/jni/jni_objc.mm:
3388 (KJS::Bindings::dispatchJNICall):
3389 * bridge/jni/jni_runtime.cpp:
3390 (JavaArray::convertJObjectToArray):
3391 (JavaField::dispatchValueFromInstance):
3392 (JavaField::valueFromInstance):
3393 (JavaField::dispatchSetValueToInstance):
3394 (JavaArray::valueAt):
3395 * bridge/jni/jni_utility.h:
3396 * bridge/objc/objc_class.mm:
3397 (KJS::Bindings::ObjcClass::fallbackObject):
3398 * bridge/objc/objc_instance.h:
3399 * bridge/objc/objc_instance.mm:
3400 (ObjcInstance::defaultValue):
3401 (ObjcInstance::stringValue):
3402 (ObjcInstance::numberValue):
3403 (ObjcInstance::valueOf):
3404 * bridge/objc/objc_utility.h:
3405 * bridge/objc/objc_utility.mm:
3406 (KJS::Bindings::convertNSStringToString):
3407 (KJS::Bindings::convertObjcValueToValue):
3408 * bridge/runtime.cpp:
3409 (KJS::Bindings::Instance::createRuntimeObject):
3411 (KJS::Bindings::Instance::valueOf):
3412 * bridge/runtime_array.cpp:
3413 (RuntimeArray::lengthGetter):
3414 * bridge/runtime_method.cpp:
3415 (RuntimeMethod::lengthGetter):
3416 * bridge/runtime_object.cpp:
3417 (RuntimeObjectImp::RuntimeObjectImp):
3418 (RuntimeObjectImp::methodGetter):
3419 (RuntimeObjectImp::defaultValue):
3420 * xml/XMLHttpRequest.cpp:
3421 (WebCore::XMLHttpRequest::dropProtection):
3422 * bindings/js/GCController.cpp:
3423 (WebCore::GCController::gcTimerFired):
3424 (WebCore::GCController::garbageCollectNow):
3425 Adapted to JSC changes. Pass ExecState to functions that now need it. Removed
3426 collectOnMainThreadOnly, as this is the only way to collect now. Replaced calls to static
3427 Collector methods with calls to per-thread Heap ones.
3429 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
3433 Build the Qt port with SVG Animation support.
3437 2008-05-02 Simon Hausmann <hausmann@webkit.org>
3439 Build fix for Qt/Gtk. Don't declare NP_InitializeFuncPtr twice
3440 with different signatures.
3442 * plugins/npfunctions.h:
3444 2008-05-01 Robin Dunn <robin@alldunn.com>
3446 Reviewed by Kevin Ollivier.
3448 Explicitly set the pen style in wx port to keep pen style changes from
3449 affecting URL underline or text field drawing.
3451 https://bugs.webkit.org/show_bug.cgi?id=18775
3453 * platform/graphics/wx/GraphicsContextWx.cpp:
3454 (WebCore::GraphicsContext::fillRect):
3455 (WebCore::GraphicsContext::drawLineForText):
3456 * platform/wx/RenderThemeWx.cpp:
3457 (WebCore::RenderThemeWx::paintTextField):
3459 2008-05-01 Robin Dunn <robin@alldunn.com>
3461 Reviewed by Kevin Ollivier.
3463 Implement popup menu support for wx port.
3465 https://bugs.webkit.org/show_bug.cgi?id=18776
3467 * platform/PopupMenu.h:
3468 * platform/wx/PopupMenuWx.cpp: Added.
3469 (WebCore::PopupMenu::PopupMenu):
3470 (WebCore::PopupMenu::~PopupMenu):
3471 (WebCore::PopupMenu::show):
3472 (WebCore::PopupMenu::OnMenuItemSelected):
3473 (WebCore::PopupMenu::hide):
3474 (WebCore::PopupMenu::updateFromElement):
3475 (WebCore::PopupMenu::itemWritingDirectionIsNatural):
3476 * platform/wx/TemporaryLinkStubs.cpp:
3479 2008-05-01 Kevin Ollivier <kevino@theolliviers.com>
3481 Reviewed by Eric Seidel.
3483 Make sure we properly set the button for all mouse events,
3484 not just mouse down, set the click count to 0
3485 for non-click events, and finally set the timestamp.
3487 https://bugs.webkit.org/show_bug.cgi?id=18464
3489 * platform/wx/MouseEventWx.cpp:
3490 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3492 2008-05-01 Sam Weinig <sam@webkit.org>
3494 Reviewed by Mark Rowe (in his infinite wisdom).
3496 Auto-generate the JSXSLTProcessor binding.
3498 * DerivedSources.make:
3501 * WebCore.vcproj/WebCore.vcproj:
3502 * WebCore.xcodeproj/project.pbxproj:
3503 * WebCoreSources.bkl:
3504 * bindings/js/JSDOMWindowBase.cpp:
3505 (WebCore::JSDOMWindowBase::getValueProperty):
3506 * bindings/js/JSDOMWindowBase.h:
3507 (WebCore::JSDOMWindowBase::):
3508 * bindings/js/JSXSLTProcessor.cpp: Removed.
3509 * bindings/js/JSXSLTProcessor.h: Removed.
3510 * xml/XSLTProcessor.h:
3512 2008-05-01 Sam Weinig <sam@webkit.org>
3514 Reviewed by Geoffrey Garen.
3517 - https://bugs.webkit.org/show_bug.cgi?id=17249
3518 Incorrect lexical scope after navigation leads to UXSS
3519 <rdar://problem/5738497>
3521 - https://bugs.webkit.org/show_bug.cgi?id=16824
3522 Script authorization should follow lexical (not dynamic) scope
3523 <rdar://problem/5683032>
3525 This patch changes us to perform same-origin checks based on the lexical global object)
3526 rather than dynamic global object, which is now possible we don't re-use the window on
3527 navigations, but rather switch in a new one and re-use the outer shell. This is both
3528 more secure and conforms with the HTML5 specification. Now that all the checks are
3529 done based on the lexical global object, we can remove the SecurityOrigin::Reason
3530 concept, as it was only around to work around an ebay.com bug that required the check to
3533 An important thing to note is that we currently implement a stricter than necessary policy
3534 and perform the same-origin check based on the currently active global object to avoid leaking
3535 the document in cases when the target frame is navigated before access. This will be fixed in
3538 * bindings/js/JSDOMWindowBase.cpp:
3539 (WebCore::JSDOMWindowBase::allowsAccessFrom):
3540 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
3541 (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
3542 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
3543 (WebCore::JSDOMWindowBase::printErrorMessage):
3544 (WebCore::asJSDOMWindow):
3545 * bindings/js/JSDOMWindowBase.h:
3546 * html/CanvasRenderingContext2D.cpp:
3547 (WebCore::CanvasRenderingContext2D::checkOrigin):
3548 (WebCore::CanvasRenderingContext2D::createPattern):
3549 * loader/FrameLoader.cpp:
3550 (WebCore::FrameLoader::begin):
3551 (WebCore::FrameLoader::write):
3552 (WebCore::FrameLoader::setOpener):
3553 (WebCore::FrameLoader::shouldAllowNavigation):
3555 (WebCore::DOMWindow::setSecurityOrigin):
3556 (WebCore::DOMWindow::securityOrigin):
3557 (WebCore::DOMWindow::setURL):
3558 (WebCore::DOMWindow::url):
3559 * platform/SecurityOrigin.cpp:
3560 (WebCore::SecurityOrigin::canAccess):
3561 (WebCore::SecurityOrigin::isSecureTransitionTo):
3562 * platform/SecurityOrigin.h:
3564 2008-05-01 Anders Carlsson <andersca@apple.com>
3568 Enable 64-bit NPAPI plugins.
3570 * WebCore.xcodeproj/project.pbxproj:
3571 Don't remove NPAPI related symbols from the 64-bit .exp file.
3573 * bridge/npruntime.h:
3574 Remove now unnecessary #error.
3576 2008-05-01 Maciej Stachowiak <mjs@apple.com>
3578 Reviewed by Oliver (a while ago)
3580 - just a wee bit more bindings speedup
3582 Store the per-document Node --> JS wrapper cache in the document
3583 instead of an external hashtable.
3585 * bindings/js/kjs_binding.cpp:
3586 (WebCore::ScriptInterpreter::getDOMNodeForDocument):
3587 (WebCore::ScriptInterpreter::forgetDOMNodeForDocument):
3588 (WebCore::ScriptInterpreter::putDOMNodeForDocument):
3589 (WebCore::ScriptInterpreter::forgetAllDOMNodesForDocument):
3590 (WebCore::ScriptInterpreter::markDOMNodesForDocument):
3592 (WebCore::Document::wrapperCache):
3594 2008-05-01 Anders Carlsson <andersca@apple.com>
3598 Remove duplicate npfunctions.h header from WebKit.
3600 * WebCore.xcodeproj/project.pbxproj:
3601 Add npfunctions.h and set its role to private.
3603 * plugins/npfunctions.h:
3604 Merge Mac specific changes.
3606 2008-05-01 Sam Weinig <sam@webkit.org>
3608 Reviewed by Geoffrey Garen.
3610 Rename toJSDOMWindow(KJS::JSGlobalObject) to asJSDOMWindow, as all it does is
3613 * bindings/js/JSCustomVoidCallback.cpp:
3614 (WebCore::toVoidCallback):
3615 * bindings/js/JSCustomXPathNSResolver.cpp:
3616 (WebCore::JSCustomXPathNSResolver::create):
3617 * bindings/js/JSDOMApplicationCacheCustom.cpp:
3618 (WebCore::JSDOMApplicationCache::add):
3619 (WebCore::JSDOMApplicationCache::remove):
3620 * bindings/js/JSDOMWindowBase.cpp:
3621 (WebCore::allowPopUp):
3622 (WebCore::createWindow):
3623 (WebCore::windowProtoFuncOpen):
3624 (WebCore::asJSDOMWindow):
3625 * bindings/js/JSDOMWindowBase.h:
3626 * bindings/js/JSDOMWindowCustom.cpp:
3627 (WebCore::JSDOMWindow::setLocation):
3628 (WebCore::JSDOMWindow::postMessage):
3629 * bindings/js/JSDatabaseCustom.cpp:
3630 (WebCore::JSDatabase::changeVersion):
3631 (WebCore::JSDatabase::transaction):
3632 * bindings/js/JSDocumentCustom.cpp:
3633 (WebCore::JSDocument::setLocation):
3634 * bindings/js/JSLocationCustom.cpp:
3635 (WebCore::navigateIfAllowed):
3636 (WebCore::JSLocation::setHref):
3637 (WebCore::JSLocation::replace):
3638 (WebCore::JSLocation::reload):
3639 (WebCore::JSLocation::assign):
3640 * bindings/js/JSSQLTransactionCustom.cpp:
3641 (WebCore::JSSQLTransaction::executeSql):
3642 * bindings/js/JSXMLHttpRequestCustom.cpp:
3643 (WebCore::JSXMLHttpRequest::open):
3644 * page/JavaScriptDebugServer.cpp:
3647 2008-05-01 Anatoli Papirovski <apapirovski@mac.com>
3649 Reviewed by Dave Hyatt.
3651 - fix https://bugs.webkit.org/show_bug.cgi?id=18347
3652 Absolutely positioned image percentage width does not respect container's padding
3654 Test: fast/replaced/absolute-position-percentage-width.html
3656 * rendering/RenderBox.cpp:
3657 (WebCore::RenderBox::calcReplacedWidthUsing):
3659 2008-05-01 Dan Bernstein <mitz@apple.com>
3663 * platform/graphics/win/FontCGWin.cpp:
3664 (WebCore::Font::drawGlyphs):
3666 2008-05-01 Dan Bernstein <mitz@apple.com>
3668 Reviewed by Darin Adler.
3670 - make synthetic bold and synthetic italics work in GDI text
3671 - account for synthetic bold in complex text on Windows
3673 * platform/graphics/win/FontCGWin.cpp:
3674 (WebCore::Font::drawGlyphs): Adjusted the text rectangle's x coordinates
3675 to fit italics. Added a skew transform for synthetic italics and a
3676 second paint pass for synthetic bold.
3677 * platform/graphics/win/SimpleFontDataWin.cpp:
3678 (WebCore::SimpleFontData::widthForGDIGlyph): Added the synthetic bold
3680 * platform/graphics/win/UniscribeController.cpp:
3681 (WebCore::UniscribeController::shapeAndPlaceItem): Added the synthetic
3684 2008-05-01 Alp Toker <alp@nuanti.com>
3686 Qt/Win build fix attempt following plugin changes. Add missing return
3689 Also fixes some newly introduced coding style issues in the Qt port.
3691 * platform/qt/FileSystemQt.cpp:
3692 (WebCore::openTemporaryFile):
3693 (WebCore::closeFile):
3694 (WebCore::writeToFile):
3695 (WebCore::unloadModule):
3697 2008-05-01 Anders Carlsson <andersca@apple.com>
3701 Export methods needed to subclass Widget. (See r32770.)
3705 2008-05-01 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
3707 Reviewed by Alp Toker.
3708 Qt parts OK'ed by Simon Hausmann.
3710 https://bugs.webkit.org/show_bug.cgi?id=14750
3711 Added support for NPAPI plugins on Gtk and Qt-x11 ports.
3713 * GNUmakefile.am: Added Gtk plugin files.
3714 * WebCore.pro: Added Qt plugins files, defined XP_UNIX and
3715 ENABLE_NETSCAPE_PLUGIN_API
3716 * bridge/npruntime_internal.h: Additional undefs that conflict
3718 * page/gtk/FrameGtk.cpp: Create js bindings for PluginView.
3719 (WebCore::Frame::createScriptInstanceForWidget):
3720 * page/qt/FrameQt.cpp: Create js bindings for PluginView.
3721 (WebCore::Frame::createScriptInstanceForWidget):
3722 (WebCore::Frame::clearPlatformScriptObjects):
3723 (WebCore::Frame::disconnectPlatformScriptObjects):
3724 * platform/FileSystem.h: Qt FileSystem implementation.
3725 * platform/Widget.h: Members to differentiate between Qt plugins and
3727 * platform/gtk/ScrollViewGtk.cpp:
3728 (WebCore::ScrollView::addChild): Set containing window before calling setParent.
3729 * platform/gtk/TemporaryLinkStubs.cpp: Removed implemented functions.
3730 (PluginView::invalidateRegion):
3731 * platform/qt/FileSystemQt.cpp: Implemented functions necessary for
3733 (WebCore::openTemporaryFile):
3734 (WebCore::closeFile):
3735 (WebCore::writeToFile):
3736 (WebCore::unloadModule): Delete module if unloaded.
3737 * platform/qt/TemporaryLinkStubs.cpp: Removed implemented functions.
3738 * platform/qt/WidgetQt.cpp: Differentiate between Qt plugins and
3740 (WebCore::WidgetPrivate::WidgetPrivate):
3741 (WebCore::Widget::isNPAPIPlugin):
3742 (WebCore::Widget::setIsNPAPIPlugin):
3743 * plugins/PluginPackage.cpp:
3744 (WebCore::PluginPackage::~PluginPackage): Unload the module before
3746 (WebCore::PluginPackage::compare): Moved here as it's platform
3748 * plugins/PluginView.cpp: Moved platform-independent functions here.
3749 (WebCore::PluginView::PluginView): Initialize m_npWindow.ws_info on
3751 (WebCore::PluginView::freeStringArray):
3752 (WebCore::startsWithBlankLine):
3753 (WebCore::locationAfterFirstBlankLine):
3755 (WebCore::capitalizeRFC822HeaderFieldName):
3756 (WebCore::parseRFC822HeaderFields):
3757 (WebCore::PluginView::handlePost):
3758 * plugins/PluginView.h: Moved platform-independent functions here.
3759 Added member to signal plugin needs XEmbed extension.
3760 * plugins/gtk/PluginDataGtk.cpp: Added.
3761 (WebCore::PluginData::initPlugins):
3762 (WebCore::PluginData::refresh):
3763 * plugins/gtk/PluginDatabaseGtk.cpp:
3764 (WebCore::PluginDatabase::defaultPluginDirectories):
3765 (WebCore::PluginDatabase::isPreferredPluginDirectory):
3766 * plugins/gtk/PluginPackageGtk.cpp: Added.
3767 (WebCore::PluginPackage::determineQuirks):
3768 (WebCore::PluginPackage::fetchInfo):
3769 (WebCore::PluginPackage::load):
3770 (WebCore::PluginPackage::hash):
3771 (WebCore::PluginPackage::equal):
3772 (WebCore::PluginPackage::compareFileVersion):
3773 * plugins/gtk/PluginViewGtk.cpp: Added.
3774 (WebCore::PluginView::updateWindow):
3775 (WebCore::PluginView::setFocus):
3776 (WebCore::PluginView::show):
3777 (WebCore::PluginView::hide):
3778 (WebCore::PluginView::paint):
3779 (WebCore::PluginView::handleKeyboardEvent):
3780 (WebCore::PluginView::handleMouseEvent):
3781 (WebCore::PluginView::setParent):
3782 (WebCore::PluginView::setNPWindowRect):
3783 (WebCore::PluginView::attachToWindow):
3784 (WebCore::PluginView::detachFromWindow):
3785 (WebCore::PluginView::stop):
3786 (WebCore::PluginView::userAgent):
3787 (WebCore::PluginView::handlePostReadFile):
3788 (WebCore::PluginView::getValue):
3789 (WebCore::PluginView::invalidateRect):
3790 (WebCore::PluginView::forceRedraw):
3791 (WebCore::PluginView::~PluginView):
3792 (WebCore::plug_removed_cb): Added callback to handle plug removal.
3793 (WebCore::PluginView::init):
3794 * plugins/gtk/xembed.h: Added.
3795 * plugins/npapi.cpp:
3796 (NPN_GetValue): Return error if no view present.
3797 * plugins/qt/PluginDataQt.cpp:
3798 (WebCore::PluginData::initPlugins):
3799 (WebCore::PluginData::refresh):
3800 * plugins/qt/PluginDatabaseQt.cpp: Added.
3801 (WebCore::PluginDatabase::getPluginPathsInDirectories):
3802 (WebCore::addQtWebKitPluginDirectories):
3803 (WebCore::addMozillaPluginDirectories):
3804 (WebCore::PluginDatabase::defaultPluginDirectories):
3805 (WebCore::PluginDatabase::isPreferredPluginDirectory):
3806 * plugins/qt/PluginPackageQt.cpp: Added.
3807 (WebCore::PluginPackage::determineQuirks):
3808 (WebCore::PluginPackage::fetchInfo):
3809 (WebCore::PluginPackage::load):
3810 (WebCore::PluginPackage::hash):
3811 (WebCore::PluginPackage::equal):
3812 (WebCore::PluginPackage::compareFileVersion):
3813 * plugins/qt/PluginViewQt.cpp: Added.
3814 (WebCore::PluginView::updateWindow):
3815 (WebCore::PluginView::setFocus):
3816 (WebCore::PluginView::show):
3817 (WebCore::PluginView::hide):
3818 (WebCore::PluginView::paint):
3819 (WebCore::PluginView::handleKeyboardEvent):
3820 (WebCore::PluginView::handleMouseEvent):
3821 (WebCore::PluginView::setParent):
3822 (WebCore::PluginView::setNPWindowRect):
3823 (WebCore::PluginView::attachToWindow):
3824 (WebCore::PluginView::detachFromWindow):
3825 (WebCore::PluginView::stop):
3826 (WebCore::PluginView::userAgent):
3827 (WebCore::PluginView::handlePostReadFile):
3828 (WebCore::PluginView::getValue):
3829 (WebCore::PluginView::invalidateRect):
3830 (WebCore::PluginView::invalidateRegion):
3831 (WebCore::PluginView::forceRedraw):
3832 (WebCore::PluginView::~PluginView):
3833 (WebCore::PluginView::init):
3834 * plugins/win/PluginPackageWin.cpp: Moved platform-independent code
3835 to plugins/PluginPackage.cpp
3836 * plugins/win/PluginViewWin.cpp: Moved platform-independent code to
3837 plugins/PluginView.cpp
3838 (WebCore::PluginView::stop):
3839 (WebCore::PluginView::handlePostReadFile):
3840 (WebCore::PluginView::getValue): Moved this function to each platform.
3842 2008-05-01 Sam Weinig <sam@webkit.org>
3846 * ForwardingHeaders/wtf/StrHash.h: Added.
3848 2008-05-01 Anders Carlsson <andersca@apple.com>
3852 Move management of cache groups to ApplicationCacheStorage. Also,
3853 application caches now start out with a null group and will have their group set
3854 when the cache has finished loading.
3856 * loader/appcache/ApplicationCache.cpp:
3857 (WebCore::ApplicationCache::ApplicationCache):
3858 Initialize m_group to 0.
3860 (WebCore::ApplicationCache::~ApplicationCache):
3861 Null check the group.
3863 (WebCore::ApplicationCache::setGroup):
3864 New method for setting the group.
3866 * loader/appcache/ApplicationCache.h:
3867 (WebCore::ApplicationCache::create):
3868 Remove the group argument.
3870 * loader/appcache/ApplicationCacheGroup.cpp:
3871 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
3872 Let the storage know that the cache group has been destroyed.
3874 (WebCore::ApplicationCacheGroup::cacheForMainRequest):
3875 Call into the storage.
3877 (WebCore::ApplicationCacheGroup::selectCache):
3878 Call into the storage.
3880 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
3881 When there are no document loaders associated with the cache group,
3882 set the newest cache to 0.
3884 (WebCore::ApplicationCacheGroup::cacheDestroyed):
3885 Delete the group if there are no associated caches.
3887 (WebCore::ApplicationCacheGroup::setNewestCache):
3888 New method that will set the newest cache and associate the group with the cache.
3890 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
3891 Call setNewestCache instead.
3893 * loader/appcache/ApplicationCacheStorage.cpp:
3894 (WebCore::urlHostHash):
3895 Move host hash method here.
3897 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
3898 New method that finds a cache group with a given manifest URL or creates a new one.
3900 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
3901 New method that returns a cache group for a given URL.
3903 (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
3904 When the cache group has been destroyed, remove it from the hash map.
3906 * loader/appcache/ApplicationCacheStorage.h:
3909 2008-05-01 Dan Winship <danw@gnome.org>
3911 Reviewed by Alp Toker.
3913 http://bugs.webkit.org/show_bug.cgi?id=18490
3914 Add mostly-working file: support and mostly-broken ftp: support to
3917 * platform/network/soup/ResourceHandleSoup.cpp (start): after
3918 doing basic checks, delegate to one of three submethods
3919 (startData): handles data: URLs
3920 (startHttp): handles http: and https: URLs, via libsoup
3921 (startGio, etc): handles file: and ftp: URLs, via gio. Lots of
3922 FIXMEs detailing the parts that don't fully work yet.
3924 * platform/network/ResourceHandle.h:
3925 * platform/network/ResourceHandleInternal.h: add new member
3926 variables for gio-based loading
3928 2008-05-01 Alp Toker <alp@nuanti.com>
3930 Rubber-stamped by Anders.
3932 GTK+ build fix for changes in r32752. Use int32, not int32_t types in
3935 Additional fix to use same signedness in npapi.h and Mac for the
3940 2008-04-30 Anders Carlsson <andersca@apple.com>
3944 Add new Cocoa event model type declarations.
3948 2008-04-30 Beth Dakin <bdakin@apple.com>
3950 Reviewed by Sam Weinig.
3952 This patch does three things:
3953 1. Adds support for the "img" ARIA role
3954 2. Switches over to a HashMap for converting ARIA role attributes
3955 to WebCore's AccessibilityRole type.
3956 3. Fixes a crash in the new ARIA code that I ran into while
3957 browsing with VoiceOver enabled.
3959 * page/AccessibilityObject.cpp:
3960 (WebCore::AccessibilityObject::headingLevel): This is the crash
3961 fix. Make sure the node's renderer is not null before looking up
3962 its corresponding AccessibilityObject in the cache.
3963 (WebCore::AccessibilityObject::accessibilityIsIgnored): Account for
3965 (WebCore::createARIARoleMap): Switch to HashMap, and add "img" to
3967 (WebCore::RoleEntry::): Same.
3968 (WebCore::ariaRoleToWebCoreRole): Same.
3969 (WebCore::AccessibilityObject::ariaRoleAttribute): Same.
3971 2008-04-30 Rob Buis <buis@kde.org>
3973 Reviewed by Nikolas.
3975 https://bugs.webkit.org/show_bug.cgi?id=16447
3976 onload called too many times for <svg:image>
3977 https://bugs.webkit.org/show_bug.cgi?id=12282
3978 SVG wastes time in malloc to send loadEvents to non-existent listeners
3980 Postpone load event dispatching for image when externalResourcesRequired
3981 is true, delaying parents but not siblings, and make sure the load event
3982 is sent once for image in all cases.
3984 * svg/SVGElement.cpp:
3985 (WebCore::hasLoadListener):
3986 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
3987 * svg/SVGImageElement.cpp:
3988 (WebCore::SVGImageElement::haveLoadedRequiredResources):
3989 * svg/SVGImageLoader.cpp:
3990 (WebCore::SVGImageLoader::dispatchLoadEvent):
3992 2008-04-30 David Hyatt <hyatt@apple.com>
3994 Fix crashes when dynamically removing <video> elements with layers that establish stacking contexts. This
3995 won't typically crash release builds because of arena recycling.
3997 Reviewed by Dan Bernstein
3999 * rendering/RenderLayer.cpp:
4000 (WebCore::RenderLayer::~RenderLayer):
4001 Make sure to remove the reflection's child layer from its parent.
4003 * rendering/RenderMedia.cpp:
4004 (WebCore::RenderMedia::~RenderMedia):
4005 (WebCore::RenderMedia::destroy):
4006 (WebCore::RenderMedia::removeChild):
4007 * rendering/RenderMedia.h:
4008 Adjust the teardown of RenderMedia so that it does all of its teardown inside destroy() (this makes it more
4009 like other renderers and doesn't leave you staring at a trashed layer hierarchy in the RenderMedia
4012 2008-04-30 Rémi Zara <remi_zara@mac.com>
4014 Reviewed by Dave Hyatt.
4016 fix https://bugs.webkit.org/show_bug.cgi?id=18618
4017 <rdar://problem/5876063> REGRESSION (r31823-r31847): Patterns are upside down
4019 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
4020 (WebCore::patternCallback): flip the y axis when drawing the tile
4022 2008-04-30 Timothy Hatcher <timothy@apple.com>
4024 Fixes an undefined type exception that fires when adding a resource to the inspector
4025 that has a MIME type warning.
4027 Reviewed by Adam Roben.
4029 * page/inspector/Resource.js:
4030 (WebInspector.Resource.prototype._addTip): Call WebInspector.console instead of
4031 WebInspector.consolePanel.
4032 (WebInspector.Resource.prototype._checkWarning): Ditto.
4034 2008-04-30 Timothy Hatcher <timothy@apple.com>
4036 Fixes the bug where the selected resource would be deselected after
4037 changing the sort order in the Resources panel.
4039 Reviewed by Dan Bernstein.
4041 * page/inspector/ResourcesPanel.js:
4042 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
4043 Rememebr if the tree element that we are sorting was selected, so
4044 the selection can be restored after it is re-inserted. The onSelect
4045 is suppressed since we don't need to show the resource again.
4047 2008-04-29 Timothy Hatcher <timothy@apple.com>
4049 Fixes the regression where error bubbles in source views always show
4050 "undefined" for the content because the message property on
4051 ConsoleMessage was removed. Adds support for a plain text formated
4052 message that is stored in the message proeprty.
4054 Reviewed by Adam Roben.
4056 * page/inspector/Console.js:
4057 (WebInspector.Console.prototype._format): Add a plainText argument that is passed to
4059 (WebInspector.Console.prototype._formatvalue): Add a plainText argument, and a comment
4060 about needing to honor it if the textContent of the output doesn't make sense.
4061 (WebInspector.Console.prototype._formatvalue): Ditto.
4062 (WebInspector.Console.prototype._formatstring): Ditto.
4063 (WebInspector.Console.prototype._formatregexp): Ditto.
4064 (WebInspector.Console.prototype._formatarray): Ditto.
4065 (WebInspector.Console.prototype._formatnode): Ditto.
4066 (WebInspector.Console.prototype._formatobject): Ditto.
4067 (WebInspector.Console.prototype._formaterror): Ditto.
4068 (WebInspector.ConsoleMessage): Call _format passing true for plainText. Get the
4069 textContnet of the result and assign to the message proeprty. This property is
4070 referenced from the SourceView.
4071 (WebInspector.ConsoleMessage.prototype._format): Add a plainText argument. Build the
4072 result element as a local and return it, instead of using formatedMessage directly.
4074 2008-04-30 Timothy Hatcher <timothy@apple.com>
4076 Adds a helper function to convert a JSValueRef to a String.
4078 Reviewed by Adam Roben.
4080 * page/InspectorController.cpp:
4081 (WebCore::toString): Converts a JSValueRef to a String.
4082 (WebCore::search): Use toString.
4083 (WebCore::InspectorController::handleException): Ditto.
4085 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
4089 Build the Qt port with SVG Foreign Object support.
4093 2008-04-30 Simon Hausmann <hausmann@webkit.org>
4097 Fix null pointer deference triggered by
4098 LayoutTests/fast/loader/cancel-load-during-port-block-timer.html
4100 * platform/network/qt/ResourceHandleQt.cpp:
4101 (WebCore::ResourceHandle::cancel): Check m_job before dereferencing.
4103 2008-04-29 David Hyatt <hyatt@apple.com>
4105 Improve the performance of masks by adding code to set more precise clips on the transparency layers
4106 used to paint the content under the mask, and then also avoid creating transparency layers for the masks
4107 themselves in common cases.
4109 Reviewed by Dan Bernstein
4111 * platform/graphics/GraphicsContext.cpp:
4112 (WebCore::GraphicsContext::drawTiledImage):
4113 Fix a bug in drawTiledImage where the composite mode got lost in the double stretch case for nine piece
4116 * rendering/InlineFlowBox.cpp:
4117 (WebCore::InlineFlowBox::paintFillLayers):
4118 (WebCore::InlineFlowBox::paintFillLayer):
4119 (WebCore::InlineFlowBox::paintMask):
4120 Optimize to only push a transparency layer for the mask if multiple images are combining. Add a new
4121 composite operator argument for use when painting fill layers to do direct destination-in compositing while
4125 * rendering/InlineFlowBox.h:
4126 * rendering/RenderBox.cpp:
4127 (WebCore::RenderBox::paintMask):
4128 (WebCore::RenderBox::paintMaskImages):
4129 Optimize to only push a transparency layer for the mask if multiple images are combining.
4131 (WebCore::RenderBox::maskClipRect):
4132 A new method that attempts to compute a precise clip rect for the mask images.
4134 (WebCore::RenderBox::paintFillLayers):
4135 (WebCore::RenderBox::paintFillLayer):
4136 (WebCore::RenderBox::paintFillLayerExtended):
4137 * rendering/RenderBox.h:
4138 Added the composite operator argument to the paintFillLayer methods.
4140 * rendering/RenderFieldset.cpp:
4141 (WebCore::RenderFieldset::paintMask):
4142 Call the new base class paintMaskImages method for optimized mask painting.
4144 * rendering/RenderLayer.cpp:
4145 (WebCore::transparencyClipBox):
4146 Fix a coordinate space issue with transparencyClipBox when masks were used. The border box was in the
4147 wrong coordinate space. Moved the code into the layer's boundingBox() method instead.
4149 (WebCore::RenderLayer::paintLayer):
4150 Removed the code that always pushed a transparency layer before painting masks.
4152 (WebCore::RenderLayer::boundingBox):
4153 Call maskClipRect to shrink the bounding box of the layer to fit the mask clip.
4155 * rendering/RenderObject.cpp:
4156 (WebCore::RenderObject::paintNinePieceImage):
4157 Added a composite operator argument for direct destination-in painting of nine piece images.
4159 * rendering/RenderObject.h:
4160 (WebCore::RenderObject::maskClipRect):
4161 (WebCore::RenderObject::paintFillLayerExtended):
4162 Base class stubs for RenderBox-implemented methods.
4164 * rendering/RenderTable.cpp:
4165 (WebCore::RenderTable::paintMask):
4166 * rendering/RenderTableCell.cpp:
4167 (WebCore::RenderTableCell::paintMask):
4168 Modified to call the new paintMaskImages function.
4170 * svg/graphics/SVGImage.cpp:
4171 (WebCore::SVGImage::draw):
4172 SVG images now respect composite modes by pushing a transparency layer when the composite mode
4173 is anything other than source-over.
4175 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
4177 Rubber-stamped by Rob Buis.
4179 Fixed crash or assertion if SVG_FOREIGN_OBJECT is not enabled
4181 * svg/SVGUseElement.cpp:
4182 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
4184 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
4186 Rubber-stamped by Rob Buis.
4188 Fixed compile, due to API change in XMLSerializer
4190 * svg/SVGUseElement.cpp:
4191 (WebCore::SVGUseElement::buildPendingResource):
4193 2008-04-30 Rob Buis <buis@kde.org>
4197 https://bugs.webkit.org/show_bug.cgi?id=11939
4198 Quirksmode: Ignores media types in stylesheet PIs
4200 Transfer the xml-stylesheet pseudo attribute media to the css
4201 stylesheet created from the ProcessingInstruction.
4203 Tests: fast/css/xml-stylesheet-media-processing.xhtml
4205 * css/StyleSheet.cpp:
4206 (WebCore::StyleSheet::setMedia):
4208 * dom/ProcessingInstruction.cpp:
4209 (WebCore::ProcessingInstruction::checkStyleSheet):