1 2008-05-14 Michael A. Puls II <shadow2531@gmail.com>
5 Fix for https://bugs.webkit.org/show_bug.cgi?id=16923
6 Attr nodes with a value of "" should not have any childNodes
8 In Opera, Firefox and IE, when an attribute node has a value
9 of "", the attribute node doesn't have any childNodes. This
10 is true in WebKit also, but not when you assign "" to the
11 Attr's value when the existing value is non-empty.
13 Test: fast/dom/attribute-empty-value-no-children.html
15 * dom/Attr.cpp: (WebCore::Attr::setValue): Use createTextChild(), which only appends
16 a child text node if the value being assigned is not empty.
18 2008-05-14 Julien Chaffraix <jchaffraix@webkit.org>
23 Removes some compiler warnings.
26 (WebCore::FormElementKey::hashTableDeletedValue): GCC complained about the const keyword
27 so remove it as it is only used inside FormElementKey.
29 * html/HTMLSelectElement.cpp:
30 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Correct coding style (removes
33 * loader/appcache/ApplicationCacheResource.cpp: Include stdio.h for gcc4.3 build.
35 * plugins/PluginPackage.cpp:
36 (WebCore::PluginPackage::PluginPackage): Changed initialization order in the constructor.
37 * plugins/PluginView.cpp:
38 (WebCore::PluginView::PluginView): Ditto.
39 * plugins/PluginView.h:
40 * xml/AccessControlList.cpp: Include stdio.h
41 * xml/AccessItem.cpp: Ditto.
42 * xml/AccessItemRule.cpp: Ditto.
44 2008-05-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
48 Qt build fix. Add JSJavaScriptCallFrameCustom.cpp to the build
49 and implemented EventLoopQt.
52 * platform/qt/EventLoopQt.cpp: Added.
54 2008-05-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
58 Qt build fix. Add JavaScriptCallFrame.{idl,cpp} to the build.
62 2008-05-13 Dan Bernstein <mitz@apple.com>
64 Reviewed by John Sullivan.
66 - Windows part of <rdar://problem/5725912> improve render quality of transformed text
68 * platform/graphics/win/FontCGWin.cpp:
69 (WebCore::Font::drawGlyphs): Added call to
70 wkSetCGContextFontRenderingStyle().
72 2008-05-13 Alp Toker <alp@nuanti.com>
74 GTK+ build fix. Implement EventLoopGtk.cpp.
77 * platform/gtk/EventLoopGtk.cpp: Added.
78 (WebCore::EventLoop::cycle):
80 2008-05-13 Alp Toker <alp@nuanti.com>
82 GTK+ build fix. Fix IDL filename typo and add JavaScriptCallFrame.cpp
87 2008-05-13 Matt Lilek <webkit@mattlilek.com>
89 Not reviewed, partial Gtk build fix.
93 2008-05-13 Timothy Hatcher <timothy@apple.com>
95 Fixes a crash when stepping out in the Inspector's debugger.
97 http://bugs.webkit.org/show_bug.cgi?id=19037
99 Reviewed by Dan Bernstein.
101 * page/InspectorController.cpp:
102 (WebCore::currentCallFrame): Adds a null check of currentCallFrame,
103 since it can be null. Also returns JSNull to better signify this.
104 * page/inspector/ScriptsPanel.js: Updates the debugger interface
105 when stepping so the currentCallFrame isn't accessed when not paused.
106 Adds a _clearInterface function to remove duplicate code.
108 2008-05-13 chris fleizach <cfleizach@apple.com>
110 Reviewed by Beth Dakin
112 <rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle
114 * page/AccessibilityRenderObject.cpp:
115 (WebCore::AccessibilityRenderObject::title):
117 2008-05-13 Timothy Hatcher <timothy@apple.com>
119 Adds an overlay window that covers the scripts panel and
120 informs the user that they need to attach the debugger.
121 Provides an "Attach Debugger" button below the info text.
123 Reviewed by Dan Bernstein.
125 * English.lproj/localizedStrings.js: New strings.
126 * page/inspector/ScriptsPanel.js:
127 (WebInspector.ScriptsPanel): Create the overlay elements and
128 append to the main panel element.
129 * page/inspector/inspector.css: New styles for the over lay elements.
131 2008-05-13 Timothy Hatcher <timothy@apple.com>
133 Fixes the assertion and crash that would happen when inspecting a element from a frame.
134 This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects
135 that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent
136 crashing in release builds if the page groups don't match.
138 Passes all the tests in: manual-tests/inspector-wrappers
140 Reviewed by Adam Roben.
142 * bindings/js/JSInspectedObjectWrapper.cpp:
143 (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0.
144 Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches.
145 * bindings/js/JSQuarantinedObjectWrapper.cpp:
146 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches.
147 Return true if the pageGroupIdentifier of both wrappers match.
148 (WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0.
149 * bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom.
151 2008-05-13 Timothy Hatcher <timothy@apple.com>
153 Fixes the hang that could happen when option-clicking to expand
154 a disclosure triangle in the Properties pane. This change limits
155 the recursion depth when expanding the tree elements.
157 <rdar://problem/5847681> Safari hangs when option-clicking a
158 disclosure triangle in the Inspector's Properties pane
160 Reviewed by John Sullivan.
162 * page/inspector/treeoutline.js:
163 (TreeElement.prototype.expandRecursively): Pass an empty info object to
164 traverseNextTreeElement to get the depthChange value. This is used to
165 compute a current depth. If the depth exceeds the maxDepth argument, the
166 item isn't expanded and children wont be populated when traverseNextTreeElement
167 is called until the depth goes below the maxDepth.
168 (TreeElement.prototype.traverseNextTreeElement): Added a new info
169 argument that can be optionally used to return extra info like depth change.
171 2008-05-13 Timothy Hatcher <timothy@apple.com>
173 Adds info text to panes and sections in the Inspector's sidebars
174 that would normally be empty. These help the user know why there
175 is nothing in these sections.
177 Reviewed by John Sullivan.
179 * English.lproj/localizedStrings.js: Add strings.
180 * page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints".
181 * page/inspector/CallStackSidebarPane.js: Adds "Not Paused".
182 * page/inspector/ObjectPropertiesSection.js: Adds "No Properties".
183 * page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused".
184 * page/inspector/inspector.css: Adds style rules for the info elements.
186 2008-05-13 Timothy Hatcher <timothy@apple.com>
188 Implements the rest of the Scripts panel to get the debugger
189 mostly working. "Basic debugging seems to work."
191 Reviewed by Geoff Garen.
193 * English.lproj/localizedStrings.js: Adds new strings.
194 * page/inspector/Resource.js:
195 (WebInspector.Resource.prototype.get scripts): Returns _scripts and
197 (WebInspector.Resource.prototype.addScript): Add the script object to the
198 front of the _scripts array.
199 (WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts
200 and removes the resource back-reference.
201 (WebInspector.Resource.prototype.removeScript): Removes the script and
202 breaks the resource back-reference.
203 * page/inspector/ResourceView.js:
204 (WebInspector.ResourceView): Adds a reminder comment.
205 (WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible.
206 (WebInspector.ResourceView.prototype.set headersVisible): Stubs out
207 a setter that currently just sets _headersVisible. Has a comment that
208 points out this needs implemented when network headers are added.
209 * page/inspector/ResourcesPanel.js:
210 (WebInspector.ResourcesPanel.prototype.show): Sets the headersVisible property of
211 the visible view to true and shows it again, in case it was being shown in Scripts.
212 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
213 Copies the headersVisible property from the old view to the new view.
214 (WebInspector.ResourcesPanel.prototype.showResource): Sets the headersVisible
215 property to true before showing.
216 * page/inspector/ScriptView.js:
217 (WebInspector.ScriptView): Passes in _addBreakpoint for the add breakpoint delegate.
218 (WebInspector.ScriptView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
219 for the current Script.sourceID and line.
220 * page/inspector/ScriptsPanel.js:
221 (WebInspector.ScriptsPanel):
222 (WebInspector.ScriptsPanel.prototype.show): Sets the headersVisible property of
223 the visible view to false and shows it again, in case it was being shown in Resources.
224 (WebInspector.ScriptsPanel.prototype.addScript): Makes a new Script object and
225 adds it to a Resource if one is found. Registers any breakpoint that match
226 the new Script's source URL, and sets the sourceID of the breakpoints.
227 (WebInspector.ScriptsPanel.prototype.addBreakpoint): Adds the breakpoint to the
228 BreakpointsSidebarPane. Also adds it to _breakpointsURLMap so it can be found
229 later in addScript by URL. Finally adds the breakpoint to the SourceFrame that
230 represents the resources or script.
231 (WebInspector.ScriptsPanel.prototype.removeBreakpoint): Removes the breakpoint from
232 the BreakpointsSidebarPane, _breakpointsURLMap and SourceFrame.
233 (WebInspector.ScriptsPanel.prototype.debuggerPaused): Update the debugger
234 state variables, the buttons and the CallStackSidebarPane.
235 (WebInspector.ScriptsPanel.prototype.reset): Clears and resets debugger
237 (WebInspector.ScriptsPanel.prototype.get visibleView): Returns _visibleView.
238 (WebInspector.ScriptsPanel.prototype.set visibleView): Sets _visibleView and
239 calls hide on the old view and show on the new view.
240 (WebInspector.ScriptsPanel.prototype.showScript): Calls _showScriptOrResource.
241 (WebInspector.ScriptsPanel.prototype.showResource): Ditto.
242 (WebInspector.ScriptsPanel.prototype.scriptViewForScript): Lazily creates a
243 ScriptView for the Script and returns it.
244 (WebInspector.ScriptsPanel.prototype.sourceFrameForScript): Returns the SourceFrame
246 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): Returns the
247 SourceFrame based on the type of object passed in.
248 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Shows the view based on
249 the type of object passed in. If the object is a resource and there are breakpoints
250 defined for that Resource URL, then populate the SourceFrame with the breakpoints.
251 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Adds a script to the
252 files menu. If the Script is part of a resource, that resource is added.
253 (WebInspector.ScriptsPanel.prototype._removeScriptFromFilesMenu): Remove a script from
254 the files menu. If that script is part of a resource and it is the last script of that
255 resource, then remove the whole resource.
256 (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): Clears the execution
257 line from the SourceFrame that is showing it.
258 (WebInspector.ScriptsPanel.prototype._callFrameSelected): Event listener for when the
259 call frame changes in the CallStackSidebarPane. Triggers updates to the ScopeChainSidebarPane
260 and the visible view.
261 (WebInspector.ScriptsPanel.prototype._changeVisibleFile): Event listener for the change state
262 of the files select element.
263 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Update more of the
264 buttons to reflect the current debugger state. Updates the status text too.
265 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Reset the UI and state when
266 the debugger is attached/detached.
267 (WebInspector.ScriptsPanel.prototype._togglePause): Call InspectorController.resumeDebugger or
268 InspectorController.pauseInDebugger depending on the paused state.
269 (WebInspector.ScriptsPanel.prototype._stepOverClicked): Call InspectorController.stepOverStatementInDebugger.
270 (WebInspector.ScriptsPanel.prototype._stepIntoClicked): Call InspectorController.stepIntoStatementInDebugger.
271 (WebInspector.ScriptsPanel.prototype._stepOutClicked): InspectorController.stepOutOfFunctionInDebugger.
272 * page/inspector/SourceView.js:
273 (WebInspector.SourceView): Passes in _addBreakpoint for the add breakpoint delegate.
274 (WebInspector.SourceView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
275 for the nearest Script's sourceID and passed in line.
276 * page/inspector/inspector.css: New style rules for the UI changes.
277 * page/inspector/inspector.js:
278 (WebInspector.loaded): Add the ScriptsPanel to the panels list.
279 (WebInspector.parsedScriptSource): Call ScriptsPanel.addScript.
280 (WebInspector.failedToParseScriptSource): Ditto.
281 (WebInspector.pausedScript): Call ScriptsPanel.debuggerPaused.
283 2008-05-13 Timothy Hatcher <timothy@apple.com>
285 Adds implementations of the Scope Chain and Call Stack sidebar panes.
286 These panes use the JSJavaScriptCallFrame object that will be passed
287 to the update functions.
289 Reviewed by Kevin McCullough.
291 * English.lproj/localizedStrings.js: Adds new strings.
292 * WebCore.vcproj/WebCore.vcproj: Adds new files.
293 * page/inspector/CallStackSidebarPane.js:
294 (WebInspector.CallStackSidebarPane.prototype.update): Walk the
295 caller chain of the call frame and make placards for each.
296 (WebInspector.CallStackSidebarPane.prototype.get selectedCallFrame):
297 Return _selectedCallFrame.
298 (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
299 Set _selectedCallFrame and dispatch the "call frame selected" event.
300 (WebInspector.CallStackSidebarPane.prototype._placardSelected):
301 Set the selectedCallFrame based on the clicked placard.
302 * page/inspector/Placard.js: Added. A user interface object that can
303 be used to show a title and a subtitle block with a selected state.
304 * page/inspector/ScopeChainSidebarPane.js: Added.
305 (WebInspector.ScopeChainSidebarPane): Call the base object and set the title.
306 (WebInspector.ScopeChainSidebarPane.prototype.update): Iterate over the
307 call frame's scope chain and make ObjectPropertiesSections for each.
308 * page/inspector/SidebarPane.js:
309 (WebInspector.SidebarPane.prototype): Inherit from WebInspector.Object.
310 * page/inspector/WebKit.qrc: Add new files.
311 * page/inspector/inspector.css: Add placard styles.
312 * page/inspector/inspector.html: Add new files.
314 2008-05-13 Timothy Hatcher <timothy@apple.com>
316 Fixes the bug where SourceViews would be blank if shown before
317 the Resource finished loading.
319 <rdar://problem/5807420> Safari's Web Inspector won't display the
320 contents of some CSS and JS files
322 Reviewed by Kevin McCullough.
324 * page/inspector/Resource.js:
325 (WebInspector.Resource.prototype.set finished): Dispatch the finished event
326 (WebInspector.Resource.prototype): Inherit from WebInspector.Object.prototype.
327 * page/inspector/SourceView.js:
328 (WebInspector.SourceView): Register for the finished event on the resource.
329 When the event fires, setup the source frame and deregister the event.
331 2008-05-13 Timothy Hatcher <timothy@apple.com>
333 Factored most of SourceView out into SourceFrame so it can be shared
334 by the new ScriptView. Added the ScriptView class to be used for
335 scripts that arn't Resources (like eval code.) Added a simple Script
336 object that hold the data from the debugger parsedSource hooks. A
337 ScriptView holds a Script object, and uses it for source data.
339 Added breakpoint and execution line support to the SourceFrame
340 where they are visually represented in the source.
342 Reviewed by Kevin McCullough.
344 * page/inspector/inspector.js:
345 (WebInspector.performSearch): Change the caller of sourceFrameForResource
346 to use the SourceFrame result's element property.
347 * page/inspector/ResourcesPanel.js: Use the new SourceFrame.
348 * page/inspector/Script.js: Added.
349 * page/inspector/ScriptView.js: Added.
350 * page/inspector/SourceFrame.js: Added.
351 * page/inspector/SourceView.js: Use the new SourceFrame.
352 * WebCore.vcproj/WebCore.vcproj: Add new files.
353 * page/inspector/WebKit.qrc: Ditto.
354 * page/inspector/inspector.html: Ditto.
356 2008-05-13 Timothy Hatcher <timothy@apple.com>
358 Adds a Breakpoint object and basic add/remove functions on
359 BreakpointsSidebarPane that call the InspectorController to
360 add/remove the breakpoint.
362 Reviewed by Kevin McCullough.
364 * page/inspector/Breakpoint.js:
365 (WebInspector.Breakpoint):
366 (WebInspector.Breakpoint.prototype.get enabled): Return _enabled.
367 (WebInspector.Breakpoint.prototype.set enabled): Set _enabled and
368 dispatch the enabled/disabled event to listeners.
369 * page/inspector/BreakpointsSidebarPane.js:
370 (WebInspector.BreakpointsSidebarPane): Add a breakpoints array.
371 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
372 Adds the breakpoint to the breakpoints array. Registers for the disabled
373 and enabled event types. Call InspectorController.addBreakpoint if attached.
374 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
375 Removes the breakpoint from the breakpoints array. Deregisters for the disabled
376 and enabled event types. Call InspectorController.removeBreakpoint if attached.
377 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
378 Call InspectorController.addBreakpoint or InspectorController.removeBreakpoint
379 depending on the enabled state of the breakpoint.
380 * WebCore.vcproj/WebCore.vcproj: Add new files.
381 * page/inspector/WebKit.qrc: Ditto.
382 * page/inspector/inspector.html: Ditto.
384 2008-05-13 Timothy Hatcher <timothy@apple.com>
386 Make addSourceToFrame not dependent on InspectorResource so it
387 can be used to add source of a passed in string and mime-type to
388 a frame. Added addResourceSourceToFrame for use by SourceView.
390 Also fixes an assertion because of an incorrect static_cast of identifiers
391 to unsigned long long, when they can be unsigned.
393 Reviewed by Geoff Garen.
395 * page/InspectorController.cpp:
396 (WebCore::addSourceToFrame): Helper function used by addSourceToFrame
397 and addResourceSourceToFrame.
398 (WebCore::addSourceToFrame): Generalized to take a source and mime-type string.
399 (WebCore::addResourceSourceToFrame): Renamed from addSourceToFrame.
400 (WebCore::getResourceDocumentNode): Fixes the static_cast to be long long.
401 (WebCore::InspectorController::windowScriptObjectAvailable): Adds
402 addResourceSourceToFrame to the JavaScript class.
403 * page/inspector/SourceView.js: Use the new addResourceSourceToFrame.
405 2008-05-13 Timothy Hatcher <timothy@apple.com>
407 Add debugger related functions to the InspectorController and
408 expose them to the JavaScript side of InspectorController.
410 Reviewed by Geoff Garen.
412 * page/InspectorController.cpp:
413 (WebCore::jsStringRef): Added helper to convert a UString to a JSStringRef.
414 (WebCore::currentCallFrame): Call InspectorController::currentCallFrame.
415 (WebCore::pauseInDebugger): Call InspectorController::pauseInDebugger.
416 (WebCore::resumeDebugger): Call InspectorController::resumeDebugger.
417 (WebCore::stepOverStatementInDebugger): Call InspectorController::stepOverStatementInDebugger.
418 (WebCore::stepIntoStatementInDebugger): Call InspectorController::stepIntoStatementInDebugger.
419 (WebCore::stepOutOfFunctionInDebugger): Call InspectorController::stepOutOfFunctionInDebugger.
420 (WebCore::addBreakpoint): Call InspectorController::addBreakpoint.
421 (WebCore::removeBreakpoint): Call InspectorController::removeBreakpoint.
422 (WebCore::InspectorController::windowScriptObjectAvailable): Add the new functions to the
423 InspectorController JavaScript class.
424 (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): Clear breakpoints.
425 (WebCore::InspectorController::currentCallFrame): Return the currentCallFrame from the
426 JavaScriptDebugServer.
427 (WebCore::InspectorController::pauseInDebugger): Call JavaScriptDebugServer's pauseOnNextStatement.
428 (WebCore::InspectorController::resumeDebugger): Call JavaScriptDebugServer's resume.
429 (WebCore::InspectorController::stepOverStatementInDebugger): Call JavaScriptDebugServer's stepOverStatement.
430 (WebCore::InspectorController::stepIntoStatementInDebugger): Call JavaScriptDebugServer's stepIntoStatement.
431 (WebCore::InspectorController::stepOutOfFunctionInDebugger): Call JavaScriptDebugServer's stepOutOfFunction.
432 (WebCore::InspectorController::addBreakpoint): Call JavaScriptDebugServer's addBreakpoint.
433 (WebCore::InspectorController::removeBreakpoint): Call JavaScriptDebugServer's removeBreakpoint.
434 (WebCore::InspectorController::didParseSource): Call into the Inspector's JavaScript.
435 (WebCore::InspectorController::failedToParseSource): Ditto.
436 (WebCore::InspectorController::didPause): Ditto.
437 * page/InspectorController.h: Add new functions.
439 2008-05-13 Timothy Hatcher <timothy@apple.com>
441 Implements more debugger APIs on JavaScriptDebugServer and reduces
442 the number of callbacks to JavaScriptDebugListeners. These changes
443 will better facilitate debugger optimizations when SquirrelFish merges.
445 Reviewed by Kevin McCullough.
447 * page/InspectorController.cpp:
448 (WebCore::InspectorController::didParseSource): Removed the ExecState.
449 (WebCore::InspectorController::failedToParseSource): Ditto.
450 (WebCore::InspectorController::didPause): Added.
451 * page/InspectorController.h: Changed the JavaScriptDebugListener functions.
452 * page/JavaScriptDebugListener.h: Removed some callbacks and added didPause.
453 * page/JavaScriptDebugServer.cpp:
454 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Initialize new data members.
455 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all values of m_breakpoints.
456 (WebCore::JavaScriptDebugServer::removeListener): Call resume if the last listener was removed.
457 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Returns true if there are any
458 global listeners or a listener for the page.
459 (WebCore::JavaScriptDebugServer::addBreakpoint): Adds and entry to m_breakpoints.
460 (WebCore::JavaScriptDebugServer::removeBreakpoint): Removes a entry in m_breakpoints.
461 (WebCore::JavaScriptDebugServer::hasBreakpoint): Checks if there is a breakpoint for the
463 (WebCore::JavaScriptDebugServer::clearBreakpoints): Removed all breakpoints.
464 (WebCore::JavaScriptDebugServer::pauseOnNextStatement): Sets m_pauseOnNextStatement to true.
465 (WebCore::JavaScriptDebugServer::resume): Sets m_paused to false.
466 (WebCore::JavaScriptDebugServer::stepIntoStatement): Calls resume and sets
467 m_pauseOnNextStatement to true.
468 (WebCore::JavaScriptDebugServer::stepOverStatement): Calls resume and sets m_pauseOnExecState to
469 the current call frame's ExecState.
470 (WebCore::JavaScriptDebugServer::stepOutOfFunction): Calls resume and sets m_pauseOnExecState to
471 the current call frame's caller ExecState.
472 (WebCore::JavaScriptDebugServer::currentCallFrame): Returns m_currentCallFrame if paused.
473 (WebCore::dispatchDidParseSource): Removed the ExecState argument.
474 (WebCore::dispatchFailedToParseSource): Ditto.
475 (WebCore::JavaScriptDebugServer::sourceParsed): Doesn't pass the ExecState to dispatchDidParseSource
476 or dispatchFailedToParseSource.
477 (WebCore::dispatchFunctionToListeners):
478 (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Removes all the arguments passed
480 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Various overloaded functions
481 to pause parts of WebCore to prevent JavaScript execution while paused.
482 (WebCore::JavaScriptDebugServer::pauseIfNeeded): Decides if the debugger should pause based
483 on the passed in ExecState, source ID and line number. This checks for breakpoints, stepping, etc.
484 Calls didPause on all the listeners and spins a EventLoop until resume is called.
485 (WebCore::JavaScriptDebugServer::callEvent): Call pauseIfNeeded.
486 (WebCore::JavaScriptDebugServer::atStatement): Ditto.
487 (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
488 (WebCore::JavaScriptDebugServer::exception): Ditto.
489 * page/JavaScriptDebugServer.h: Added new functions.
491 2008-05-13 Timothy Hatcher <timothy@apple.com>
493 Change View.show to call detach if the parentNode dosen't
494 match before appending to the passed in parent element.
495 This also prevents appending to the same parent element
498 Reviewed by John Sullivan.
500 * page/inspector/FontView.js:
501 (WebInspector.FontView.prototype.show): Pass the parent element to View.show.
502 * page/inspector/ResourceView.js: Optimize the attach method to no append if
503 there is a parentNode already.
504 * page/inspector/SourceView.js: Ditto.
505 * page/inspector/View.js: Call detach before appending if the parentNode
506 doesn't match the passed in element.
508 2008-05-13 Timothy Hatcher <timothy@apple.com>
510 Optimize the panel attach method to no append if there is a
513 Reviewed by Adam Roben.
515 * page/inspector/Panel.js:
516 (WebInspector.Panel.prototype.attach): Don't append to main-panels
517 if the panel element already has a parentNode.
519 2008-05-13 Timothy Hatcher <timothy@apple.com>
521 Add Widget::isPluginView so the JavaScriptDebugServer can identify
522 plugins that need to be paused during debugging. This will be used
523 in a upcoming commit.
525 Reviewed by Kevin McCullough.
527 * platform/Widget.h: Add isPluginView. Return false.
528 * plugins/PluginView.h: Add isPluginView. Return true.
530 2008-05-13 Timothy Hatcher <timothy@apple.com>
532 Adds an event loop abstraction to platform. This abstraction will be
533 used by the JavaScriptDebugServer to implement pausing.
535 Reviewed by Kevin McCullough.
537 * platform/EventLoop.h: Added.
538 (WebCore::EventLoop::EventLoop):
539 (WebCore::EventLoop::ended): Return m_ended.
540 * platform/mac/EventLoopMac.mm: Added.
541 (WebCore::EventLoop::cycle): Call nextEventMatchingMask and then sendEvent.
542 * platform/win/EventLoopWin.cpp: Added.
543 (WebCore::EventLoop::cycle): Call GetMessage, TranslateMessage and DispatchMessage.
544 * WebCore.xcodeproj/project.pbxproj: Add new files.
545 * WebCore.vcproj/WebCore.vcproj: Ditto.
547 2008-05-13 Timothy Hatcher <timothy@apple.com>
549 Breaks out ObjectPropertiesSection from PropertiesSidebarPane
550 so it can be used by the Scripts panel's Scope Chain pane.
552 Rubber-stamped by Adam Roben.
554 * page/inspector/ObjectPropertiesSection.js: Added.
555 * page/inspector/PropertiesSidebarPane.js: Moved ObjectPropertiesSection
556 to ObjectPropertiesSection.js.
557 * WebCore.vcproj/WebCore.vcproj: Add the new file.
558 * page/inspector/WebKit.qrc: Ditto.
559 * page/inspector/inspector.html: Ditto.
561 2008-05-13 Timothy Hatcher <timothy@apple.com>
563 Add a helper function to the Inspector's Array prototype
564 that will remove any identical values/objects from the array.
566 Reviewed by Kevin McCullough.
568 * page/inspector/utilities.js:
569 (Array.prototype.remove): Iterate over the array and strict
570 compare to the passed in value. If they match, splice that index
571 out of the array. If onlyFirst is true, return after the first splice.
573 2008-05-13 Timothy Hatcher <timothy@apple.com>
575 Adds a JavaScriptCallFrame object and JavaScript binding with an IDL.
576 This object will expose the stack to the Inspector's debugger.
578 Reviewed by Adam Roben.
580 * DerivedSources.make: Add JavaScriptCallFrame.
581 * bindings/js/JSJavaScriptCallFrameCustom.cpp: Added.
582 (WebCore::JSJavaScriptCallFrame::evaluate): Calls impl evaluate and returns the result.
583 (WebCore::JSJavaScriptCallFrame::scopeChain): Makes an array of the ScopeChain.
584 * page/JavaScriptCallFrame.cpp: Added.
585 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
586 (WebCore::JavaScriptCallFrame::caller): Returns m_caller.
587 (WebCore::JavaScriptCallFrame::functionName): Returns the function
588 name from the ExecState if this is not global code or anonymous.
589 (WebCore::JavaScriptCallFrame::evaluate): Evaluates a script string
590 in the scope of the call frame.
591 * page/JavaScriptCallFrame.h: Added.
592 (WebCore::JavaScriptCallFrame::create): Call the ctor can return in a PassRefPtr.
593 (WebCore::JavaScriptCallFrame::invalidate): Sets m_mexec to 0. This prevents a
594 stale ExecState from being accessed after the lifetime of the ExecState.
595 (WebCore::JavaScriptCallFrame::isValid): Checks if m_exec is 0.
596 (WebCore::JavaScriptCallFrame::execState): Returns m_exec.
597 (WebCore::JavaScriptCallFrame::sourceIdentifier): Returns m_sourceID.
598 (WebCore::JavaScriptCallFrame::line): Returns m_line.
599 (WebCore::JavaScriptCallFrame::setLine): Sets m_line.
600 (WebCore::JavaScriptCallFrame::scopeChain): Returns by reference m_exec->scopeChain().
601 * page/JavaScriptCallFrame.idl: Added.
602 * WebCore.xcodeproj/project.pbxproj: Add new files.
603 * WebCore.vcproj/WebCore.vcproj: Ditto.
605 2008-05-13 Timothy Hatcher <timothy@apple.com>
607 Add a new WebInspector.Object base class that will be used for
608 a few objects in the Web Inspector to support listeners on any
609 object. This will help add more abstraction to the Inspector.
611 Reviewed by Adam Roben.
613 * page/inspector/Object.js: Added.
614 (WebInspector.Object): Does nothing.
615 (WebInspector.Object.prototype.addEventListener): Adds the listener to
616 the _listeners map by type. Supports a this object argument, for easy
617 addition of listeners without the need for bind.
618 (WebInspector.Object.prototype.removeEventListener): Remove the listener
619 from the _listeners map. If the listener is null and the thisObject was
620 passed, remove any listener for that thisObject.
621 (WebInspector.Object.prototype.dispatchEventToListeners): Sends an event
622 for a type to all listeners for that type. Mimics some of the DOMEvent
623 methods and properties for the event object passed to the listeners.
624 * WebCore.vcproj/WebCore.vcproj: Add new files.
625 * page/inspector/WebKit.qrc: Ditto.
626 * page/inspector/inspector.html: Ditto.
628 2008-05-13 Timothy Hatcher <timothy@apple.com>
630 Update the view source CSS to better match the new Inspector mock-ups.
632 Reviewed by Kevin McCullough.
634 * css/view-source.css:
636 2008-05-13 John Sullivan <sullivan@apple.com>
638 Reviewed by Dan Bernstein and Kevin Decker
640 - fixed <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind
642 Test: fast/forms/select-type-ahead-list-box-no-selection.html
644 * html/HTMLSelectElement.cpp:
645 (WebCore::HTMLSelectElement::typeAheadFind):
646 When there's no initially-selected element, we were accessing index -1. Check for this
649 2008-05-13 Sam Weinig <sam@webkit.org>
651 Reviewed by Dan Bernstein.
653 Small cleanup to XMLHttpRequest in preparation for Access Control changes.
655 * xml/XMLHttpRequest.cpp:
656 (WebCore::XMLHttpRequest::XMLHttpRequest):
657 (WebCore::XMLHttpRequest::~XMLHttpRequest):
658 (WebCore::XMLHttpRequest::open):
659 (WebCore::XMLHttpRequest::send):
660 (WebCore::XMLHttpRequest::internalAbort):
661 (WebCore::XMLHttpRequest::processSyncLoadResults):
662 (WebCore::XMLHttpRequest::didFinishLoading):
663 (WebCore::XMLHttpRequest::didReceiveResponse):
664 (WebCore::XMLHttpRequest::didReceiveData):
665 * xml/XMLHttpRequest.h:
667 2008-05-13 chris fleizach <cfleizach@apple.com>
671 <rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the alternative text.
673 * page/AccessibilityRenderObject.cpp:
674 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
676 2008-05-13 chris fleizach <cfleizach@apple.com>
680 <rdar://problem/5908446> AX: webkit needs to return blockquote information for all AX objects, not just in AXTextMarker info
682 * page/mac/AccessibilityObjectWrapper.mm:
683 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
684 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
686 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
688 Reviewed by John Sullivan.
690 <rdar://problem/4852077> REGRESSION: The content of the HTML file which is saved as Thai
691 (ISO 8859-11) disappear.
693 <rdar://problem/5842597> Thai ISO-8859-11 should be upgraded to Windows-874
695 Test: fast/encoding/char-decoding.html
697 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
698 Register ISO-8859-11, which doesn't have a standard IANA name, despite following
699 the usual 8859 naming scheme. Also, made TIS-620 map to windows-874-2000 explicitly.
701 2008-05-13 chris fleizach <cfleizach@apple.com>
703 Reviewed by Beth Dakin
705 <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there is title text
707 * page/AccessibilityRenderObject.cpp:
708 (WebCore::AccessibilityRenderObject::title):
710 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
712 Reviewed by Eric Seidel.
714 https://bugs.webkit.org/show_bug.cgi?id=18681
715 <rdar://problem/5888130> WebKit should not remove BOM characters from content.
717 We were only trying to match Firefox, and it doesn't do this any more.
719 Tests: fast/encoding/bom-in-content.html
720 fast/encoding/bom-in-content-utf16.html
722 * platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM): Skip the BOM if it's
723 at the start of input stream.
725 * platform/text/TextCodec.cpp:
726 * platform/text/TextCodec.h:
727 * platform/text/TextCodecICU.cpp:
728 (WebCore::TextCodecICU::decode):
729 * platform/text/TextCodecUTF16.cpp:
730 (WebCore::TextCodecUTF16::decode):
731 * platform/text/mac/TextCodecMac.cpp:
732 (WebCore::TextCodecMac::decode):
733 Don't remove the BOM.
735 2008-05-13 Anders Carlsson <andersca@apple.com>
739 Don't crash when a document loader is destroyed while an initial caching attempt
742 * loader/appcache/ApplicationCacheGroup.cpp:
743 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
746 (WebCore::ApplicationCacheGroup::stopLoading):
747 New method that stops a cache update.
749 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
750 Delete ourselves here.
752 * loader/appcache/ApplicationCacheGroup.h:
754 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
758 <rdar://problem/5841351> Turkish ISO 8859-9 encoding should be treated as windows-1254
760 Match IE and upgrade ISO-8859-9 to windows-1254, which is its strict superset.
762 Test: fast/encoding/char-decoding.html
764 * platform/text/TextCodecICU.cpp:
765 (WebCore::TextCodecICU::registerExtendedEncodingNames): Register the standard name
766 unconditionally. Previously, we registered windows-949-2000 as a special case that lacked
767 an IANA standard name, and got away with not registering GBK because it happened
768 to be reported by ICU normally earlier than any encoding upgraded to it.
770 2008-05-13 Tor Arne Vestbø <tavestbo@trolltech.com>
774 Fix QtWebKit build on Qt embedded.
777 * platform/FileSystem.h:
778 * platform/qt/FileSystemQt.cpp:
780 2008-05-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
784 For Gtk/X11 and Qt/X11, use a more extensive plug-ins scan directories set
786 * plugins/PluginDatabase.cpp:
787 (WebCore::addMozillaPluginDirectories):
788 (WebCore::PluginDatabase::isPreferredPluginDirectory):
790 2008-05-12 Adam Roben <aroben@apple.com>
792 Turn on warnings as errors in WebCore.vcproj
794 Rubberstamped by Anders Carlsson.
796 * WebCore.vcproj/WebCore.vcproj: Also let VS reformat the file as it
797 saw fit. The important part is the removal of the WarnAsError="false"
800 2008-05-12 Adam Roben <aroben@apple.com>
802 Fix a MSVC warning in PluginViewWin
804 Reviewed by Anders Carlsson.
806 Test: http/tests/plugins/post-url-file.html
808 * plugins/win/PluginViewWin.cpp:
809 (WebCore::PluginView::handlePostReadFile): Added a missing return
812 2008-05-12 Adam Roben <aroben@apple.com>
814 Fix a MSVC warning in GetEOTHeader
816 Reviewed by Dan Bernstein.
818 * platform/graphics/win/GetEOTHeader.cpp:
819 (WebCore::getEOTHeader): MSVC complains that having a 0-sized array in
820 a struct is a non-standard extension. I've replaced the 0-sized arrays
821 with arrays of 1 element, and replaced sizeof(structType) with
822 offsetof(structType, arrayMember).
824 2008-05-09 Adam Roben <aroben@apple.com>
826 Fix a MSVC warning in TextCodecICU
828 Reviewed by John Sullivan and Dan Bernstein.
830 * platform/text/TextCodecICU.cpp:
831 (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
832 UCNV_SUB_STOP_ON_ILLEGAL is a string literal, so using == with it
833 doesn't really do what we want. Use strcmp instead. It's OK to pass an
834 unknown value to strcmp here since 1) UCNV_SUB_STOP_ON_ILLEGAL is only
835 a single character long so we're not going to ready more than 2 bytes
836 from oldContext, and 2) we're inside an ASSERT which will cause a
837 crash anyway if it fails.
839 2008-05-09 Adam Roben <aroben@apple.com>
841 Fix a MSVC warning in CSSComputedStyleDeclaration
843 Reviewed by Geoff Garen.
845 * css/CSSComputedStyleDeclaration.cpp:
846 (WebCore::valueForRepeatRule): Removed some unreachable code.
848 2008-05-09 Adam Roben <aroben@apple.com>
850 Fix a MSVC warning in InlineTextBox
852 Reviewed by Dan Bernstein.
854 * rendering/InlineTextBox.cpp:
855 (WebCore::InlineTextBox::paint): Initialize some variables that MSVC
856 isn't smart enough to figure out will always be initialized in the
857 cases where they are used.
859 2008-05-09 Adam Roben <aroben@apple.com>
861 Fix a MSVC warning in Position
863 Reviewed by Darin Adler.
866 (WebCore::Position::getInlineBoxAndOffset): Use parentheses to make
867 the precedence of our expressions explicit.
869 2008-05-09 Adam Roben <aroben@apple.com>
871 Fix a MSVC warning in String
873 Reviewed by Geoff Garen.
875 * platform/text/String.cpp:
876 (WebCore::toIntegralType): Disable a bogus warning about using unary -
877 on an unsigned value. MSVC isn't smart enough to figure out that
878 isNegative will always be false when value is unsigned.
880 2008-05-09 Adam Roben <aroben@apple.com>
882 Fix a MSVC warning in XMLHttpRequest
884 Reviewed by Geoff Garen.
886 * xml/XMLHttpRequest.cpp:
887 (WebCore::XMLHttpRequest::XMLHttpRequest): Added static_cast<unsigned
890 2008-05-12 Anders Carlsson <andersca@apple.com>
894 Handle the case when a resource with the same URL as the manifest is listed in the manifest.
896 * loader/appcache/ApplicationCacheGroup.cpp:
897 (WebCore::ApplicationCacheGroup::addEntry):
899 2008-05-12 Sam Weinig <sam@webkit.org>
901 Reviewed by Dan Bernstein.
903 Add parsing of AccessControlHeader and AccessItemRule.
905 * xml/AccessControlList.cpp:
906 (WebCore::AccessControlList::parseAccessControlHeader): When multiple http headers are sent
907 in the response, the engine will concatenate them with commas separating the rules. This simply
908 reverses that process by splitting on the commas.
909 (WebCore::AccessControlList::show):
910 * xml/AccessControlList.h:
911 * xml/AccessItem.cpp:
912 (WebCore::AccessItem::AccessItem):
913 (WebCore::AccessItem::show):
915 (WebCore::AccessItem::isValid):
916 * xml/AccessItemRule.cpp:
918 (WebCore::AccessItemRule::parseAccessItemRule): Parse the rule according to the BNF provided by
919 the Access Control spec.
920 (WebCore::AccessItemRule::parsePatternList):
921 (WebCore::AccessItemRule::invalidate):
922 (WebCore::AccessItemRule::show):
923 * xml/AccessItemRule.h:
925 2008-05-12 David Kilzer <ddkilzer@apple.com>
927 Fix logic error in DocLoader::clearPreloads()
931 * loader/DocLoader.cpp:
932 (WebCore::DocLoader::clearPreloads): Be sure to decrease the preload count for
933 the cached resource before trying to remove it from the cache. A non-zero
934 preload count can prevent the resource from being removed from the cache.
936 2008-05-12 Anders Carlsson <andersca@apple.com>
940 Handle empty manifest files without crashing.
942 * loader/appcache/ApplicationCacheGroup.cpp:
943 (WebCore::ApplicationCacheGroup::startLoadingEntry):
945 2008-05-12 Alp Toker <alp@nuanti.com>
947 GTK+ build fix for breakage in r33056. Include limits.h for INT_MAX.
949 * platform/graphics/FontCache.h:
951 2008-05-12 Anders Carlsson <andersca@apple.com>
955 Add user agent to requests when loading/updating the cache.
957 * loader/FrameLoader.h:
958 * loader/appcache/ApplicationCacheGroup.cpp:
959 (WebCore::ApplicationCacheGroup::update):
960 (WebCore::ApplicationCacheGroup::startLoadingEntry):
962 2008-05-12 Anders Carlsson <andersca@apple.com>
966 Make it possible to perform synchronous loads from the application cache.
968 * loader/DocumentLoader.cpp:
969 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
970 Factor out code from scheduleApplicationCacheLoad in its own method.
972 (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
973 Call shouldLoadResourceFromApplicationCache here instead.
975 * loader/DocumentLoader.h:
977 * loader/FrameLoader.cpp:
978 (WebCore::FrameLoader::loadResourceSynchronously):
979 Call shouldLoadResourceFromApplicationCache.
981 2008-05-12 Dan Bernstein <mitz@apple.com>
983 Reviewed by Ada Chan and Sam Weinig.
985 - WebCore changes for https://bugs.webkit.org/show_bug.cgi?id=17097
986 <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
988 Added a way for clients to let the cache know that they no longer need
989 font data, which lets the cache release it. Changed clients to track
990 most of the font data they get from the cache so that they can later
991 release it. Some instances of font data -- namely, those used for system
992 font fallback -- are still not tracked and will therefore remain in the
995 * WebCore.base.exp: Added exports for WebCoreStatistics in WebKit.
997 * platform/graphics/Font.cpp:
998 (WebCore::Font::Font): Changed to use FontFallbackList::create().
999 (WebCore::Font::update): Ditto.
1001 * platform/graphics/FontCache.cpp:
1002 (WebCore::FontCache::getCachedFontData): Added code to track the number
1003 of times a SimpleFontData instance has been requested from the cache,
1004 remove requested instances from the inactive list, and purge inactive
1005 font data if the inactive list has grown above its maximum allowed size.
1006 (WebCore::FontCache::releaseFontData): Added. Called by clients to let
1007 the cache know that they no longer need the font data. Adds the font
1008 data to the inactive list if the last client has released it.
1009 (WebCore::FontCache::purgeInactiveFontData): Added. Removes inactive
1010 font data from the cache (and the inactive list).
1011 (WebCore::FontCache::fontDataCount): Added to provide statistics.
1012 (WebCore::FontCache::inactiveFontDataCount): Ditto.
1014 * platform/graphics/FontCache.h:
1016 * platform/graphics/FontData.h:
1017 (WebCore::FontData::FontData): Added a member variable to store the
1018 highest glyph page tree level in which there is a node for this FontData.
1019 This is used to limit the depth of the search when pruning glyph page
1021 (WebCore::FontData::setMaxGlyphPageTreeLevel): Added this accessor.
1022 (WebCore::FontData::maxGlyphPageTreeLevel): Ditto.
1024 * platform/graphics/FontFallbackList.cpp:
1025 (WebCore::FontFallbackList::FontFallbackList): Changed to start with a
1027 (WebCore::FontFallbackList::invalidate): Added a call to
1029 (WebCore::FontFallbackList::releaseFontData): Added. Lets the font cache
1030 know that we no longer need the FontData in our font list.
1031 (WebCore::FontFallbackList::fontDataAt): Changed to record in the font
1032 list whether the font data is a custom font data or not.
1033 (WebCore::FontFallbackList::setPlatformFont): Ditto.
1035 * platform/graphics/FontFallbackList.h:
1036 (WebCore::FontFallbackList::create): Added and made the constructor
1038 (WebCore::FontFallbackList::~FontFallbackList): Added a call to
1041 * platform/graphics/GlyphPageTreeNode.cpp:
1042 (WebCore::GlyphPageTreeNode::treeGlyphPageCount): Added to provide
1044 (WebCore::GlyphPageTreeNode::pageCount): Ditto.
1046 (WebCore::GlyphPageTreeNode::pruneTreeFontData): Added.
1047 (WebCore::GlyphPageTreeNode::getChild): Added code to update the font
1048 data's maximum glyph page tree level.
1049 (WebCore::GlyphPageTreeNode::pruneFontData): Added.
1051 * platform/graphics/GlyphPageTreeNode.h:
1053 * platform/graphics/SimpleFontData.cpp:
1054 (WebCore::SimpleFontData::~SimpleFontData): Added code to let the font
1055 cache know that we no longer need the small caps font data and to prune
1056 the glyph page trees.
1058 2008-05-12 Anders Carlsson <andersca@apple.com>
1062 Add ApplicationCacheStorage::empty() method which will empty
1063 the application cache database.
1066 * loader/appcache/ApplicationCache.cpp:
1067 (WebCore::ApplicationCache::clearStorageID):
1068 * loader/appcache/ApplicationCache.h:
1069 * loader/appcache/ApplicationCacheGroup.cpp:
1070 (WebCore::ApplicationCacheGroup::clearStorageID):
1071 * loader/appcache/ApplicationCacheGroup.h:
1072 * loader/appcache/ApplicationCacheResource.h:
1073 (WebCore::ApplicationCacheResource::clearStorageID):
1074 * loader/appcache/ApplicationCacheStorage.cpp:
1075 (WebCore::ApplicationCacheStorage::empty):
1076 * loader/appcache/ApplicationCacheStorage.h:
1078 2008-05-12 Anders Carlsson <andersca@apple.com>
1082 Don't throw an exception if the string passed in is an invalid URL.
1084 * loader/appcache/DOMApplicationCache.cpp:
1085 (WebCore::DOMApplicationCache::remove):
1087 2008-05-12 Anders Carlsson <andersca@apple.com>
1091 Add the variable enums for getting the input vtables.
1095 2008-05-12 Adam Roben <aroben@apple.com>
1099 * WebCorePrefix.cpp: Touched this so that it will rebuild now that
1100 ENABLE_CROSS_DOCUMENT_MESSAGING has been removed.
1102 2008-05-12 Alexey Proskuryakov <ap@webkit.org>
1104 Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
1105 SquirrelFish merging.
1107 * bindings/js/GCController.cpp:
1109 (WebCore::GCController::gcTimerFired):
1110 (WebCore::GCController::garbageCollectNow):
1111 * bindings/js/JSAudioConstructor.cpp:
1112 (WebCore::JSAudioConstructor::JSAudioConstructor):
1113 * bindings/js/JSCSSRuleCustom.cpp:
1115 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1116 (WebCore::JSCSSStyleDeclaration::nameGetter):
1117 * bindings/js/JSCSSValueCustom.cpp:
1119 * bindings/js/JSCanvasPixelArrayCustom.cpp:
1120 (WebCore::JSCanvasPixelArray::indexGetter):
1122 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1124 * bindings/js/JSClipboardCustom.cpp:
1125 (WebCore::JSClipboard::types):
1126 (WebCore::JSClipboard::getData):
1127 * bindings/js/JSCustomXPathNSResolver.cpp:
1128 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1129 * bindings/js/JSDOMApplicationCacheCustom.cpp:
1130 (WebCore::JSDOMApplicationCache::addEventListener):
1131 (WebCore::JSDOMApplicationCache::removeEventListener):
1132 (WebCore::JSDOMApplicationCache::setOnchecking):
1133 (WebCore::JSDOMApplicationCache::setOnerror):
1134 (WebCore::JSDOMApplicationCache::setOnnoupdate):
1135 (WebCore::JSDOMApplicationCache::setOndownloading):
1136 (WebCore::JSDOMApplicationCache::setOnprogress):
1137 (WebCore::JSDOMApplicationCache::setOnupdateready):
1138 (WebCore::JSDOMApplicationCache::setOncached):
1139 * bindings/js/JSDOMWindowBase.cpp:
1140 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1141 (WebCore::JSDOMWindowBase::getValueProperty):
1142 (WebCore::JSDOMWindowBase::setListener):
1143 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1144 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1145 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1146 (WebCore::windowProtoFuncAToB):
1147 (WebCore::windowProtoFuncBToA):
1148 (WebCore::windowProtoFuncSetTimeout):
1149 (WebCore::windowProtoFuncSetInterval):
1150 (WebCore::windowProtoFuncAddEventListener):
1151 * bindings/js/JSDOMWindowBase.h:
1152 * bindings/js/JSDOMWindowShell.cpp:
1153 * bindings/js/JSDOMWindowShell.h:
1154 * bindings/js/JSDocumentCustom.cpp:
1156 * bindings/js/JSEventCustom.cpp:
1158 * bindings/js/JSEventTargetBase.cpp:
1159 (WebCore::jsEventTargetAddEventListener):
1160 * bindings/js/JSEventTargetBase.h:
1161 (WebCore::JSEventTargetPrototype::self):
1162 * bindings/js/JSEventTargetNode.cpp:
1163 (WebCore::JSEventTargetNode::setListener):
1164 * bindings/js/JSHTMLCollectionCustom.cpp:
1165 (WebCore::getNamedItems):
1167 * bindings/js/JSHTMLElementWrapperFactory.cpp:
1168 (WebCore::createJSHTMLWrapper):
1169 * bindings/js/JSHTMLFormElementCustom.cpp:
1170 (WebCore::JSHTMLFormElement::nameGetter):
1171 * bindings/js/JSHTMLInputElementBase.cpp:
1172 (WebCore::JSHTMLInputElementBase::getValueProperty):
1173 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1174 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
1175 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1176 (WebCore::JSHTMLOptionsCollection::length):
1177 * bindings/js/JSInspectedObjectWrapper.cpp:
1178 (WebCore::JSInspectedObjectWrapper::wrap):
1179 * bindings/js/JSInspectorCallbackWrapper.cpp:
1180 (WebCore::JSInspectorCallbackWrapper::wrap):
1181 * bindings/js/JSLocationCustom.cpp:
1182 (WebCore::JSLocation::toString):
1183 * bindings/js/JSNamedNodesCollection.cpp:
1184 (WebCore::JSNamedNodesCollection::lengthGetter):
1185 * bindings/js/JSNavigatorCustom.cpp:
1186 (WebCore::JSNavigator::appVersion):
1187 * bindings/js/JSNodeCustom.cpp:
1189 * bindings/js/JSNodeFilterCustom.cpp:
1190 (WebCore::JSNodeFilter::acceptNode):
1191 * bindings/js/JSRGBColor.cpp:
1192 (WebCore::getJSRGBColor):
1193 * bindings/js/JSSQLResultSetRowListCustom.cpp:
1194 (WebCore::JSSQLResultSetRowList::item):
1195 * bindings/js/JSSVGElementWrapperFactory.cpp:
1196 (WebCore::createJSSVGWrapper):
1197 * bindings/js/JSSVGLazyEventListener.cpp:
1198 (WebCore::JSSVGLazyEventListener::eventParameterName):
1199 * bindings/js/JSStorageCustom.cpp:
1200 (WebCore::JSStorage::nameGetter):
1201 * bindings/js/JSStyleSheetCustom.cpp:
1203 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1204 (WebCore::JSXMLHttpRequestConstructor::construct):
1205 * bindings/js/JSXMLHttpRequestCustom.cpp:
1206 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
1207 (WebCore::JSXMLHttpRequest::setOnload):
1208 (WebCore::JSXMLHttpRequest::setOnprogress):
1209 (WebCore::JSXMLHttpRequest::getResponseHeader):
1210 (WebCore::JSXMLHttpRequest::addEventListener):
1211 (WebCore::JSXMLHttpRequest::removeEventListener):
1212 * bindings/js/JSXSLTProcessorConstructor.cpp:
1213 (WebCore::JSXSLTProcessorConstructor::construct):
1214 * bindings/js/JSXSLTProcessorCustom.cpp:
1215 (WebCore::JSXSLTProcessor::getParameter):
1216 * bindings/js/kjs_binding.cpp:
1217 (WebCore::jsStringOrNull):
1218 (WebCore::jsOwnedStringOrNull):
1219 (WebCore::jsStringOrUndefined):
1220 (WebCore::jsStringOrFalse):
1221 (WebCore::nonCachingStaticFunctionGetter):
1222 (WebCore::objectToStringFunctionGetter):
1223 * bindings/js/kjs_binding.h:
1224 (WebCore::DOMObject::DOMObject):
1225 (WebCore::cacheDOMObject):
1226 (WebCore::cacheSVGDOMObject):
1227 * bindings/js/kjs_events.cpp:
1228 (WebCore::JSLazyEventListener::eventParameterName):
1229 (WebCore::JSLazyEventListener::parseCode):
1230 * bindings/js/kjs_html.cpp:
1231 (WebCore::getRuntimeObject):
1232 * bindings/scripts/CodeGeneratorJS.pm:
1233 * bridge/c/c_instance.cpp:
1234 (KJS::Bindings::CInstance::defaultValue):
1235 (KJS::Bindings::CInstance::stringValue):
1236 (KJS::Bindings::CInstance::numberValue):
1237 (KJS::Bindings::CInstance::valueOf):
1238 * bridge/c/c_instance.h:
1239 * bridge/c/c_utility.cpp:
1240 (KJS::Bindings::convertNPVariantToValue):
1241 * bridge/jni/jni_instance.cpp:
1242 (JavaInstance::stringValue):
1243 (JavaInstance::numberValue):
1244 (JavaInstance::invokeMethod):
1245 (JavaInstance::defaultValue):
1246 (JavaInstance::valueOf):
1247 * bridge/jni/jni_instance.h:
1248 * bridge/jni/jni_jsobject.h:
1249 * bridge/jni/jni_jsobject.mm:
1250 (JavaJSObject::call):
1251 (JavaJSObject::setMember):
1252 (JavaJSObject::setSlot):
1253 (JavaJSObject::convertJObjectToValue):
1254 (JavaJSObject::getListFromJArray):
1255 * bridge/jni/jni_objc.mm:
1256 (KJS::Bindings::dispatchJNICall):
1257 * bridge/jni/jni_runtime.cpp:
1258 (JavaArray::convertJObjectToArray):
1259 (JavaField::dispatchValueFromInstance):
1260 (JavaField::valueFromInstance):
1261 (JavaField::dispatchSetValueToInstance):
1262 (JavaArray::valueAt):
1263 * bridge/jni/jni_utility.h:
1264 * bridge/objc/objc_class.mm:
1265 (KJS::Bindings::ObjcClass::fallbackObject):
1266 * bridge/objc/objc_instance.h:
1267 * bridge/objc/objc_instance.mm:
1268 (ObjcInstance::defaultValue):
1269 (ObjcInstance::stringValue):
1270 (ObjcInstance::numberValue):
1271 (ObjcInstance::valueOf):
1272 * bridge/objc/objc_utility.h:
1273 * bridge/objc/objc_utility.mm:
1274 (KJS::Bindings::convertNSStringToString):
1275 (KJS::Bindings::convertObjcValueToValue):
1276 * bridge/qt/qt_class.cpp:
1277 (KJS::Bindings::QtClass::fallbackObject):
1278 * bridge/qt/qt_instance.cpp:
1279 (KJS::Bindings::QtRuntimeObjectImp::construct):
1280 (KJS::Bindings::QtInstance::getRuntimeObject):
1281 (KJS::Bindings::QtInstance::invokeDefaultMethod):
1282 (KJS::Bindings::QtInstance::defaultValue):
1283 (KJS::Bindings::QtInstance::stringValue):
1284 (KJS::Bindings::QtInstance::numberValue):
1285 (KJS::Bindings::QtInstance::valueOf):
1286 * bridge/qt/qt_instance.h:
1287 * bridge/qt/qt_runtime.cpp:
1288 (KJS::Bindings::convertValueToQVariant):
1289 (KJS::Bindings::convertQVariantToValue):
1290 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
1291 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
1292 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
1293 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
1294 (KJS::Bindings::QtConnectionObject::execute):
1295 * bridge/runtime.cpp:
1296 (KJS::Bindings::Instance::createRuntimeObject):
1298 (KJS::Bindings::Instance::valueOf):
1299 * bridge/runtime_array.cpp:
1300 (RuntimeArray::lengthGetter):
1301 * bridge/runtime_method.cpp:
1302 (RuntimeMethod::lengthGetter):
1303 * bridge/runtime_object.cpp:
1304 (RuntimeObjectImp::RuntimeObjectImp):
1305 (RuntimeObjectImp::methodGetter):
1306 (RuntimeObjectImp::defaultValue):
1307 * xml/XMLHttpRequest.cpp:
1308 (WebCore::XMLHttpRequest::dropProtection):
1310 2008-05-11 Robin Dunn <robin@alldunn.com>
1312 Reviewed by Kevin Ollivier.
1314 Since wx popup menus dismiss themselves when an item is selected we need to
1315 call hidePopup so webkit's internal state is correct.
1317 https://bugs.webkit.org/show_bug.cgi?id=19000
1319 * platform/wx/PopupMenuWx.cpp:
1320 (WebCore::PopupMenu::OnMenuItemSelected):
1321 (WebCore::PopupMenu::hide):
1323 2008-05-11 Sam Weinig <sam@webkit.org>
1325 Reviewed by Mark Rowe.
1327 Move some generic parsing functions into a new ParserUtilities header so that
1328 they can be used for non-SVG builds too.
1330 * WebCore.vcproj/WebCore.vcproj:
1331 * WebCore.xcodeproj/project.pbxproj:
1332 * platform/text/ParserUtilities.h: Added.
1333 (WebCore::skipString):
1334 * svg/SVGParserUtilities.h:
1335 (WebCore::isWhitespace):
1336 (WebCore::skipOptionalSpaces):
1337 (WebCore::skipOptionalSpacesOrDelimiter):
1339 2008-05-11 Sam Weinig <sam@webkit.org>
1341 Reviewed by Dan Bernstein.
1343 Add scaffolding for the implementation of Access Control for Cross-site Requests.
1347 * WebCore.vcproj/WebCore.vcproj:
1348 * WebCore.xcodeproj/project.pbxproj:
1349 * WebCoreSources.bkl:
1350 * xml/AccessControlList.cpp: Added.
1351 (WebCore::AccessControlList::AccessControlList):
1352 (WebCore::AccessControlList::~AccessControlList):
1353 (WebCore::AccessControlList::parseAccessControlHeader):
1354 (WebCore::AccessControlList::checkOrigin):
1355 * xml/AccessControlList.h: Added.
1356 * xml/AccessItem.cpp: Added.
1357 (WebCore::AccessItem::AccessItem):
1358 (WebCore::AccessItem::parseAccessItem):
1359 (WebCore::AccessItem::matches):
1360 * xml/AccessItem.h: Added.
1361 * xml/AccessItemRule.cpp: Added.
1362 (WebCore::AccessItemRule::AccessItemRule):
1363 (WebCore::AccessItemRule::parseAccessItemRule):
1364 * xml/AccessItemRule.h: Added.
1366 2008-05-11 Julien Chaffraix <jchaffraix@webkit.org>
1370 * loader/appcache/ApplicationCache.cpp: Include stdio.h
1371 as we are using printf in ApplicationCache::dump().
1373 2008-05-10 Dan Bernstein <mitz@apple.com>
1375 Reviewed by Jessica Kahn.
1377 - add a copy assignment operator to FontPlatformData on Mac to properly
1378 retain the m_font data member.
1380 * platform/graphics/mac/FontPlatformData.h:
1381 * platform/graphics/mac/FontPlatformDataMac.mm:
1382 (WebCore::FontPlatformData::FontPlatformData):
1383 (WebCore::~FontPlatformData):
1384 (WebCore::FontPlatformData::operator=):
1385 (WebCore::FontPlatformData::setFont):
1387 2008-05-10 Adele Peterson <adele@apple.com>
1389 Reviewed by Tim Hatcher.
1391 Fix crash for WebKit clients that don't set a group name for the WebView/Page.
1393 * page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group,
1394 call the addPage method, since it does extra work initializing m_localStorage.
1396 2008-05-09 Sam Weinig <sam@webkit.org>
1398 Reviewed by Mark Rowe.
1400 Fix for https://bugs.webkit.org/show_bug.cgi?id=18958
1401 NULL pointer dereference in NamedAttrMap::setNamedItem
1403 Test: fast/dom/NamedNodeMap-setNamedItem-crash.html
1405 * dom/NamedAttrMap.cpp:
1406 (WebCore::NamedAttrMap::setNamedItem): Null check the argument.
1408 2008-05-09 Kevin McCullough <kmccullough@apple.com>
1413 (WebCore::Console::profile):
1415 2008-05-09 Sam Weinig <sam@webkit.org>
1417 Rubber-stamped by Mark Rowe.
1419 Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
1421 * Configurations/WebCore.xcconfig:
1422 * WebCore.vcproj/WebCore.vcproj:
1423 * WebCore.vcproj/build-generated-files.sh:
1424 * bindings/js/JSDOMWindowCustom.cpp:
1425 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1426 (WebCore::JSDOMWindow::postMessage):
1427 * bindings/js/JSEventCustom.cpp:
1429 * bindings/objc/DOMEvents.mm:
1430 (+[DOMEvent _wrapEvent:WebCore::]):
1432 (WebCore::Document::createEvent):
1434 (WebCore::Event::isMessageEvent):
1436 * dom/MessageEvent.cpp:
1437 * dom/MessageEvent.h:
1438 * dom/MessageEvent.idl:
1439 * page/DOMWindow.cpp:
1440 (WebCore::DOMWindow::postMessageTimerFired):
1442 * page/DOMWindow.idl:
1444 2008-05-09 Adam Barth <abarth-webkit@adambarth.com>
1446 Reviewed by Sam Weinig.
1448 https://bugs.webkit.org/show_bug.cgi?id=18771
1450 Make postMessage generate an event on the window instead of the
1453 Test: http/tests/messaging/cross-domain-message-event-dispatch.html
1455 * dom/EventTargetNode.cpp:
1456 (WebCore::EventTargetNode::dispatchWindowEvent):
1457 * dom/EventTargetNode.h:
1458 * page/DOMWindow.cpp:
1459 (WebCore::DOMWindow::postMessageTimerFired):
1461 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
1465 Replaced all instances of qDebug() with LOG(Media, ...)
1466 in MediaPlayerPrivatePhonon.
1468 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1469 (WebCore::MediaPlayerPrivate::updateStates):
1471 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
1475 Fix the Qt/Mac build.
1477 * platform/qt/FileSystemQt.cpp:
1479 2008-05-08 Sam Weinig <sam@webkit.org>
1481 Reviewed by Anders Carlsson.
1483 Rename the XMLHttpRequestState enum values to match the spec.
1485 * xml/XMLHttpRequest.cpp:
1486 (WebCore::XMLHttpRequest::responseXML):
1487 (WebCore::XMLHttpRequest::XMLHttpRequest):
1488 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1489 (WebCore::XMLHttpRequest::open):
1490 (WebCore::XMLHttpRequest::send):
1491 (WebCore::XMLHttpRequest::abort):
1492 (WebCore::XMLHttpRequest::setRequestHeader):
1493 (WebCore::XMLHttpRequest::getAllResponseHeaders):
1494 (WebCore::XMLHttpRequest::getResponseHeader):
1495 (WebCore::XMLHttpRequest::status):
1496 (WebCore::XMLHttpRequest::statusText):
1497 (WebCore::XMLHttpRequest::processSyncLoadResults):
1498 (WebCore::XMLHttpRequest::didFinishLoading):
1499 (WebCore::XMLHttpRequest::didReceiveData):
1500 * xml/XMLHttpRequest.h:
1503 2008-05-08 Dan Bernstein <mitz@apple.com>
1505 Reviewed by Mark Rowe.
1507 - fix https://bugs.webkit.org/show_bug.cgi?id=18818
1508 <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter)
1510 Test: fast/css/first-letter-float-after-float.html
1512 * rendering/RenderBlock.cpp:
1513 (WebCore::RenderBlock::updateFirstLetter): Changed to add the first
1514 letter container right before the rest of the text it is taken from,
1515 instead of at the beginning of the block.
1517 2008-05-08 Chris Fleizach <cfleizach@apple.com>
1519 Reviewed by Darin Adler.
1521 <rdar://problem/5921046> AX: list box options have wrong AXPosition
1523 * page/AccessibilityObject.cpp:
1524 (WebCore::AccessibilityObject::documentFrameView):
1525 * page/AccessibilityObject.h:
1527 2008-05-08 Julien Chaffraix <jchaffraix@webkit.org>
1531 Bug 18916: make_names.pl --factory needs to support custom c++ guard
1533 Add --guardFactoryWith to handle the cpp guard around generated factories.
1535 * DerivedSources.make: Set the guardFactoryWith variable for SVG factory.
1536 * GNUmakefile.am: Ditto.
1537 * WebCore.pro: Ditto.
1538 * dom/make_names.pl: Add guardFactoryWith option.
1540 2008-05-08 Julien Chaffraix <jchaffraix@webkit.org>
1542 Reviewed by Adam Roben.
1546 Should also fix the cURL backend for the Windows port.
1548 * WebCore.vcproj/WebCore.vcproj: Add FormDataStreamCurl information.
1549 * platform/network/curl/FormDataStreamCurl.h: Include stdio.h which
1550 fixes the build on some machine.
1552 * webcore-wx.bkl: Add FormDataStreamCurl.cpp.
1554 2008-05-08 Timothy Hatcher <timothy@apple.com>
1556 Fixes the bug where the Web Inspector could not
1557 find any localization strings.
1559 Reviewed by Mark Rowe.
1561 * WebCore.xcodeproj/project.pbxproj: Add the localizedStrings.js
1562 file to the WebCore Copy Resources phase. Also removes an idl from
1563 the Copy Resources phase.
1565 2008-05-08 Dan Bernstein <mitz@apple.com>
1567 Reviewed by Adam Roben.
1569 - fix <rdar://problem/5697957> "No recent searches" label in a narrow search field's history popup is truncated
1571 * platform/win/PopupMenuWin.cpp:
1572 (WebCore::PopupMenu::calculatePositionAndSize): Changed to use a bold
1573 font for measuring labels.
1575 2008-05-08 Dan Bernstein <mitz@apple.com>
1577 Reviewed by Geoffrey Garen.
1579 - cross-platform fix for http://bugs.webkit.org/show_bug.cgi?id=17590
1580 ASSERTION FAILED: subject in jsRegExpExecute()
1583 (WebCore::Frame::matchLabelsAgainstElement):
1585 2008-05-08 Holger Hans Peter Freyther <zecke@selfish.org>
1589 Simple ImageBuffer::image implementation.
1591 In contrast to cg and cairo we do not use a special BitmapImage because
1592 the ownership of the FrameData inside the BitmapImage is a bit backward
1593 (actually owned by the ImageDecoderQt...). Further work is needed for image
1594 and pixmap handling in the qt port...
1597 * platform/graphics/ImageBuffer.h:
1598 * platform/graphics/qt/ImageBufferQt.cpp:
1599 (WebCore::ImageBuffer::image):
1600 * platform/graphics/qt/ImageQt.cpp:
1601 * platform/graphics/qt/StillImageQt.cpp: Added.
1602 (WebCore::StillImage::StillImage):
1603 (WebCore::StillImage::size):
1604 (WebCore::StillImage::getPixmap):
1605 (WebCore::StillImage::draw):
1606 * platform/graphics/qt/StillImageQt.h: Added.
1608 2008-05-08 Holger Hans Peter Freyther <zecke@selfish.org>
1612 Update the WebKit.qrc of the inspector to be functional again
1614 * page/inspector/WebKit.qrc:
1616 2008-05-08 Tor Arne Vestbø <tavestbo@trolltech.com>
1620 Fix the Qt/Mac build.
1622 * platform/FileSystem.h:
1624 2008-05-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
1628 Use native Windows library handling (instead of QLibrary)
1629 for Qt/Win32's PlatformModule.
1631 * platform/FileSystem.h:
1632 (WebCore::PlatformModuleVersion::PlatformModuleVersion):
1633 * platform/qt/FileSystemQt.cpp:
1634 (WebCore::unloadModule):
1636 2008-05-08 Simon Hausmann <hausmann@webkit.org>
1638 Reviewed and found by Holger.
1640 Include .css in the list of extensions for text/css. Fixes
1641 fast/loader/local-css-allowed-in-strict-mode.html.
1643 * platform/qt/MIMETypeRegistryQt.cpp:
1645 2008-05-08 Simon Hausmann <hausmann@webkit.org>
1647 Fix the Qt and Wx build when compiling without offline app support.
1649 * loader/FrameLoader.cpp:
1650 (WebCore::FrameLoader::canCachePage):
1652 2008-05-07 Sam Weinig <sam@webkit.org>
1654 Reviewed by Adele Peterson
1656 Update MessageEvent to match the latest version of the HTML5 spec,
1657 adding the lastEventId attribute.
1659 * dom/MessageEvent.cpp:
1660 (WebCore::MessageEvent::MessageEvent):
1661 (WebCore::MessageEvent::initMessageEvent):
1662 * dom/MessageEvent.h:
1663 (WebCore::MessageEvent::lastEventId):
1664 * dom/MessageEvent.idl:
1665 * page/DOMWindow.cpp:
1666 (WebCore::DOMWindow::postMessage):
1668 2008-05-07 Stephanie Lewis <slewis@apple.com>
1672 remove non-functioning code. If onunload should be fired from these nodes then
1673 a WindowEventListener needs to be set. However, Firefox and IE also do not
1674 fire onunload events for these cases.
1676 Test: fast/events/onunload-not-on-body.html
1678 * html/HTMLFrameElementBase.cpp:
1679 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1680 * html/HTMLObjectElement.cpp
1681 (WebCore::HTMLObjectElement::parseMappedAttribute):
1683 2008-05-07 Dan Bernstein <mitz@apple.com>
1685 Reviewed by John Sullivan.
1687 - fix https://bugs.webkit.org/show_bug.cgi?id=18909
1688 <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com
1690 Test: fast/dynamic/positioned-movement-with-positioned-children.html
1692 * rendering/RenderBlock.cpp:
1693 (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of
1694 a positioned object that has only moved and has only positioned children
1696 * rendering/RenderObject.h:
1697 (WebCore::RenderObject::needsPositionedMovementLayout): Added this
1700 2008-05-07 Anders Carlsson <andersca@apple.com>
1704 When no document loaders are associated with an application cache group,
1705 release the reference to the newest cache group. This prevents reference cycles.
1707 * loader/appcache/ApplicationCacheGroup.cpp:
1708 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1709 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
1710 (WebCore::ApplicationCacheGroup::cacheDestroyed):
1711 * loader/appcache/ApplicationCacheGroup.h:
1713 * loader/appcache/ApplicationCacheStorage.cpp:
1714 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1715 Return early if the datbase wasn't open.
1717 (WebCore::ApplicationCacheStorage::loadCache):
1720 2008-05-07 Anders Carlsson <andersca@apple.com>
1724 Don't put pages with an application cache in the BF cache.
1726 * loader/FrameLoader.cpp:
1727 (WebCore::FrameLoader::canCachePage):
1729 2008-05-07 Justin Garcia <justin.garcia@apple.com>
1731 Reviewed by John Sullivan.
1733 <rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply
1735 When a single tab or series of tabs was copied, we weren't putting them into a
1736 tab span. On Paste, we would be given a text node with a single tab or series
1737 of tabs in it, and we would crash when inserting it at the start of a block
1738 (where that kind of text becomes completely unrendered).
1740 * editing/ReplaceSelectionCommand.cpp:
1741 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Clean
1742 up correctly and early return if we removed everything that was inserted.
1743 * editing/markup.cpp:
1744 (WebCore::createMarkup): Include the tab span when the only thing copied
1745 was a tab or a series of tabs.
1747 2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>
1749 Reviewed by Adam Roben.
1753 * platform/network/curl/FormDataStreamCurl.cpp: Added stdint.h include. We need to define
1754 __STDC_LIMIT_MACROS to have SIZE_MAX exported.
1755 * platform/network/curl/FormDataStreamCurl.h: Removed cstdint include (replaced by stdint.h)
1756 as it is not present on the build bots.
1757 * plugins/gtk/PluginDatabaseGtk.cpp: Added missing #endif.
1759 2008-05-07 David Kilzer <ddkilzer@apple.com>
1761 Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com)
1762 <https://bugs.webkit.org/show_bug.cgi?id=18900>
1763 <rdar://problem/5912383>
1765 Original patch by Aaron Golden and Tim Omernick. Reviewed by Adele.
1767 Test: fast/forms/textfield-to-password-on-focus.html
1769 * html/HTMLInputElement.cpp:
1770 (WebCore::HTMLInputElement::setInputType): If the current node has
1771 focus, call updateFocusAppearance() to make sure its state is correct
1772 after changing its type.
1774 2008-05-07 Chris Fleizach <cfleizach@apple.com>
1776 Reviewed by Alice Liu
1778 <rdar://problem/4867889> REGRESSION: "Choose File.." buttons are exposed as AXGroup instead of AXButton
1780 * page/AccessibilityObject.h:
1781 (WebCore::AccessibilityObject::isFileUploadButton):
1782 * page/AccessibilityRenderObject.cpp:
1783 (WebCore::AccessibilityRenderObject::isFileUploadButton):
1784 (WebCore::AccessibilityRenderObject::actionElement):
1785 (WebCore::AccessibilityRenderObject::textUnderElement):
1786 (WebCore::AccessibilityRenderObject::stringValue):
1787 (WebCore::AccessibilityRenderObject::roleValue):
1788 * page/AccessibilityRenderObject.h:
1789 * rendering/RenderFileUploadControl.cpp:
1790 (WebCore::RenderFileUploadControl::buttonValue):
1791 (WebCore::RenderFileUploadControl::fileTextValue):
1792 * rendering/RenderFileUploadControl.h:
1794 2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>
1798 Bug 17971: [Curl] FormData processing should be moved to its own class
1800 Move FormData treatment into FormDataStream. The aim is to have FormDataStream behave like a stream that cURL
1803 First step into having complete file uploading facility in cURL.
1805 No test case as it is only code refactoring.
1807 * GNUmakefile.am: Add FormDataStreamCurl.cpp
1808 * platform/network/ResourceHandleInternal.h: Move code to FormStreamDataCurl.h
1809 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1810 * platform/network/curl/FormDataStreamCurl.cpp: Added.
1811 (WebCore::FormDataStream::~FormDataStream):
1812 (WebCore::FormDataStream::read):
1813 * platform/network/curl/FormDataStreamCurl.h: Added.
1814 (WebCore::FormDataStream::FormDataStream):
1815 * platform/network/curl/ResourceHandleCurl.cpp:
1816 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1817 * platform/network/curl/ResourceHandleManager.cpp:
1818 (WebCore::readCallback): Move code to FormDataStreamCurl.cpp
1820 2008-05-07 Adam Treat <treat@kde.org>
1824 https://bugs.webkit.org/show_bug.cgi?id=18898
1826 Fixed wrong transform being used for creating the pixmap for a new
1827 transparency layer. This fixes the popup menus on dell.com.
1829 * platform/graphics/qt/GraphicsContextQt.cpp:
1830 (WebCore::GraphicsContext::beginTransparencyLayer):
1832 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
1836 Share the plug-in directories between Gtk and Qt/X11 port.
1838 * platform/qt/FileSystemQt.cpp:
1839 (WebCore::homeDirectoryPath): Implement it for Qt.
1840 * plugins/PluginDatabase.cpp:
1841 (WebCore::addMozillaPluginDirectories): Shared code.
1842 (WebCore::PluginDatabase::defaultPluginDirectories):
1843 (WebCore::PluginDatabase::isPreferredPluginDirectory): Shared code.
1844 * plugins/gtk/PluginDatabaseGtk.cpp:
1845 (WebCore::PluginDatabase::isPreferredPluginDirectory): Refactored.
1846 * plugins/qt/PluginDatabaseQt.cpp: Refactored.
1848 2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>
1852 Fix build issues on Mac and refeactor the .pro file a bit.
1855 * platform/qt/TemporaryLinkStubs.cpp:
1856 (PluginPackage::fetchInfo):
1858 2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>
1862 Draw scrollview corners (between scrollbars) using the Qt style.
1864 https://bugs.webkit.org/show_bug.cgi?id=18894
1866 * platform/qt/ScrollViewQt.cpp:
1867 (WebCore::drawScrollbarCorner):
1868 (WebCore::ScrollView::paint):
1870 2008-05-07 Simon Hausmann <hausmann@webkit.org>
1872 Fix the Qt build, added AccessibilityListBox and ListBoxOption.cpp to
1877 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
1879 Rubber-stamped by Holger.
1881 Fix building without storage support.
1883 * page/PageGroup.cpp:
1884 (WebCore::PageGroup::closeLocalStorage): proper #if
1886 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
1888 Rubber-stamped by Oliver Hunt.
1890 Fix building without accessibility.
1892 * page/AXObjectCache.cpp:
1893 (WebCore::AXObjectCache::selectedChildrenChanged): proper #if
1895 2008-05-06 Dan Bernstein <mitz@apple.com>
1897 Reviewed by Darin Adler.
1899 - fix <rdar://problem/5914544> Crash in layoutInlineChildren()
1901 Test: fast/block/float/float-on-zero-height-line.html
1903 * rendering/RenderBlock.cpp:
1904 (WebCore::RenderBlock::markLinesDirtyInVerticalRange):
1906 2008-05-06 Alice Liu <alice.liu@apple.com>
1908 Reviewed by Adele Peterson and John Sullivan.
1910 changes needed to build on Windows after r32911 and r32927
1912 * WebCore.vcproj/WebCore.vcproj:
1913 * page/AXObjectCache.cpp:
1914 (WebCore::AXObjectCache::selectedChildrenChanged):
1915 * page/AccessibilityObject.h:
1916 (WebCore::AccessibilityObject::document):
1917 (WebCore::AccessibilityObject::topDocumentFrameView):
1918 (WebCore::AccessibilityObject::documentFrameView):
1919 * page/AccessibilityRenderObject.cpp:
1920 (WebCore::AccessibilityRenderObject::document):
1921 (WebCore::AccessibilityRenderObject::topDocumentFrameView):
1922 (WebCore::AccessibilityRenderObject::documentFrameView):
1923 * page/AccessibilityRenderObject.h:
1924 * page/mac/AXObjectCacheMac.mm:
1925 * page/mac/AccessibilityObjectWrapper.mm:
1926 (-[AccessibilityObjectWrapper position]):
1927 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1929 2008-05-06 Brady Eidson <beidson@apple.com>
1931 Reviewed by Sam Weinig
1933 Fix a few bugs with the final sync'ing of LocalStorageAreas when the thread is shut down.
1934 1 - A sync task actually needs to be scheduled for each LocalStorageArea when the shut down occurs.
1935 2 - Pending sync timers all need to be cancelled.
1937 * storage/LocalStorage.cpp:
1938 (WebCore::LocalStorage::storageArea):
1939 (WebCore::LocalStorage::close): Tell each LocalStorageArea to schedule it's final sync before scheduling
1941 * storage/LocalStorage.h: Change the map to be of LocalStorageAreas instead of StorageAreas
1943 * storage/LocalStorageArea.cpp:
1944 (WebCore::LocalStorageArea::LocalStorageArea):
1945 (WebCore::LocalStorageArea::~LocalStorageArea): ASSERT the timer has been cancelled, but make SURE it is
1947 (WebCore::LocalStorageArea::scheduleFinalSync): Cancel the sync timer, schedule the final sync, and set the
1948 "final sync scheduled" flag
1949 (WebCore::LocalStorageArea::scheduleItemForSync): ASSERT that the final sync hasn't already been scheduled
1950 (WebCore::LocalStorageArea::scheduleClear): Ditto
1951 * storage/LocalStorageArea.h:
1953 2008-05-06 Kevin Ollivier <kevino@theolliviers.com>
1955 wx build fix. Adding files added in r32925 to the bakefiles.
1957 * WebCoreSources.bkl:
1959 2008-05-06 Alp Toker <alp@nuanti.com>
1961 GTK+ build fix. Add empty stub to keep non-accessible ports building.
1963 * page/AXObjectCache.h:
1964 (WebCore::AXObjectCache::selectedChildrenChanged):
1966 2008-05-06 Beth Dakin <bdakin@apple.com>
1970 Fix for <rdar://problem/5907916> Implement 'aria-labeledby' and
1971 'aria-describedby' attributes.
1973 * html/HTMLAttributeNames.in: Added new attributes. Added both the
1974 British spelling (since that is what is specified in the spec), and
1975 the American spelling (since the bug filer and I are two Americans
1976 who keep spelling it the American way by accident).
1977 * page/AccessibilityObject.cpp: Added empty wrappers. These
1978 functions can't do anything meaningful without a renderer.
1979 (WebCore::AccessibilityObject::ariaAccessiblityName):
1980 (WebCore::AccessibilityObject::ariaLabeledByAttribute):
1981 (WebCore::AccessibilityObject::ariaDescribedByAttribute):
1982 * page/AccessibilityObject.h:
1984 Here is where the real work is done.
1985 * page/AccessibilityRenderObject.h:
1986 * page/AccessibilityRenderObject.cpp:
1987 (WebCore::accessibleNameForNode): Takes a node and finds its
1988 contribution to the accessible name, as defined by the Mozilla ARIA
1989 Implementer's Guide.
1990 (WebCore::AccessibilityRenderObject::ariaAccessiblityName): Takes a
1991 string of space-separated IDs, fetches the corresponding element
1992 for each ID, and concatenates an accessible name based on the
1994 (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
1995 Retrieve the labeledby attribute and send its contents to
1996 ariaAccessibilityName().
1997 (WebCore::AccessibilityRenderObject::title): Return the ARIA
1998 labeledby value if one exists.
1999 (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
2000 Retrieve the describedby attribute and send its contents to
2001 ariaAccessibilityName().
2002 (WebCore::AccessibilityRenderObject::accessibilityDescription):
2003 Return the ARIA describedby attribute if one exists.
2005 These are two bugs I spotted.
2006 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Don't
2007 ignore anything with an ARIA role.
2008 (WebCore::AccessibilityRenderObject::roleValue): Button tags maps
2011 2008-05-06 Anders Carlsson <andersca@apple.com>
2015 Support reading back app caches from the database.
2017 * loader/appcache/ApplicationCache.cpp:
2018 (WebCore::ApplicationCache::ApplicationCache):
2019 Initialize m_storageID to 0.
2021 * loader/appcache/ApplicationCacheGroup.cpp:
2022 (WebCore::ApplicationCacheGroup::cacheDestroyed):
2023 If the cache being destroyed is not the newest cache, it should no longer be
2024 stored in the database. Remove it.
2026 (WebCore::ApplicationCacheGroup::setNewestCache):
2027 Don't store the cache here.
2029 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2030 Store it here instead.
2032 * loader/appcache/ApplicationCacheStorage.cpp:
2033 (WebCore::ApplicationCacheStorage::loadCacheGroup):
2034 New method that loads a cache group with a given manifest URL (or returns 0 if the load fails).
2036 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
2037 Search for the group in the database.
2039 (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
2040 New method that loads the host hashes from the database.
2042 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2043 Search in the database for a cache that contains the resource.
2045 (WebCore::ApplicationCacheStorage::loadCache):
2046 New method that loads a cache with a given ID.
2048 (WebCore::ApplicationCacheStorage::remove):
2049 New method that removes a cache.
2051 * loader/appcache/ApplicationCacheStorage.h:
2054 2008-05-06 Alp Toker <alp@nuanti.com>
2056 Partial GTK+ build fix. Add files from r32925 to the build and replace
2057 'nil' return with 0.
2060 * page/AccessibilityListBoxOption.cpp:
2061 (WebCore::AccessibilityListBoxOption::parentObject):
2063 2008-05-06 Brady Eidson <beidson@apple.com>
2067 Make LocalStorage persistent using a SQLite database.
2069 There's a few things going on here. Whenever an item is changed, we add it to a set of
2070 "items to be sync'ed." Instead of immediately scheduling the sync'ing on the background
2071 thread, we set a "sync timer" instead. This is to shield against a series of rapid changes
2072 to avoid thread churn.
2074 When the sync timer fires, we move the "items to be sync'ed" set to a background thread set
2075 and schedule the sync task which is where the items are actually committed to disk.
2077 Current design for reading items back in from disk is to be as aggressive as possible.
2078 When a page first accesses it's LocalStorage area, we begin to import all items in from disk so
2079 they are immediately available. A future enhancement will be to being this pre-fetching the
2080 moment we start loading a page when we know that page has LocalStorage.
2082 * storage/LocalStorageArea.cpp:
2083 (WebCore::LocalStorageArea::LocalStorageArea):
2084 (WebCore::LocalStorageArea::length): Return the length, or wait for the import to complete then return it.
2085 (WebCore::LocalStorageArea::key): Return the key, or wait for the import to complete then return it.
2086 (WebCore::LocalStorageArea::getItem): Return the item, or wait for the import to complete then return it.
2087 (WebCore::LocalStorageArea::setItem): Set the item, or hold the import lock and set it. The second case is
2088 because if the item is set while the import is still in progress, the new value should override whatever
2089 the imported value is.
2090 (WebCore::LocalStorageArea::removeItem): Remove the item, or hold the import lock and remove it. See the
2091 explanation for setItem()
2092 (WebCore::LocalStorageArea::contains): Return whether or not the item is contained. Do the same dance with
2093 the import flag, import lock, and import condition that the above methods do.
2095 (WebCore::LocalStorageArea::itemChanged): Schedule the item for sync'ing
2096 (WebCore::LocalStorageArea::itemRemoved): Schedule the removal of the item for sync'ing
2097 (WebCore::LocalStorageArea::areaCleared): Schedule the clear for sync'ing, and clear all previously
2100 (WebCore::LocalStorageArea::scheduleItemForSync): Add an item to the sync set.
2101 (WebCore::LocalStorageArea::scheduleClear): Set a bool flag denoting "All items removed." If any
2102 items are later set before the actual removal takes place, they will be written *after* the removal.
2103 (WebCore::LocalStorageArea::syncTimerFired): Move the current sync-set to the background thread sync set, then
2104 schedule a sync task. Also transfer the "items cleared" flag to the "background thread items cleared" flag
2105 (WebCore::LocalStorageArea::performImport): Import all items from disk, then signal the import complete.
2106 (WebCore::LocalStorageArea::markImported): Set the imported flag and signal the import complete
2107 (WebCore::LocalStorageArea::performSync): If the clear flag is set then drop all items. Then update or delete
2108 each item waiting to be sync'ed
2109 * storage/LocalStorageArea.h:
2111 2008-05-06 Brady Eidson <beidson@apple.com>
2113 Rubberstamped by Mitz Pettel RTL
2115 * storage/LocalStorage.cpp:
2116 (WebCore::LocalStorage::fullDatabaseFilename): Filename extensions for localstorage = all lowercase
2118 2008-05-06 Brady Eidson <beidson@apple.com>
2120 Reviewed by Darin, Sam Weinig, and Anders
2122 Preparation for upcoming work making LocalStorage persistent.
2124 The final step before code that actually does storage and retrieval of LocalStorage items.
2126 The LocalStorage set is responsible for controlling the path and filenames that individual
2127 LocalStorageAreas will use for their persistent store. This adds the ability to return that
2130 Also, add the scheduling methods that LocalStorageArea will use for importing and syncing
2131 it's persistent items.
2133 * storage/LocalStorage.cpp:
2134 (WebCore::LocalStorage::storageArea): Add some comments re: the future direction of this
2135 method once we actually do quota tracking.
2136 (WebCore::LocalStorage::fullDatabaseFilename):
2137 (WebCore::LocalStorage::scheduleImport):
2138 (WebCore::LocalStorage::scheduleSync):
2139 * storage/LocalStorage.h:
2141 2008-05-06 Chris Fleizach <cfleizach@apple.com>
2143 Reviewed by Beth Dakin.
2145 rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
2147 * WebCore.xcodeproj/project.pbxproj:
2148 * html/HTMLOptGroupElement.cpp:
2149 (WebCore::HTMLOptGroupElement::ownerSelectElement):
2150 (WebCore::HTMLOptGroupElement::accessKeyAction):
2151 * html/HTMLOptGroupElement.h:
2152 * html/HTMLOptionElement.cpp:
2153 (WebCore::HTMLOptionElement::accessKeyAction):
2154 (WebCore::HTMLOptionElement::index):
2155 (WebCore::HTMLOptionElement::setSelected):
2156 (WebCore::HTMLOptionElement::childrenChanged):
2157 (WebCore::HTMLOptionElement::ownerSelectElement):
2158 (WebCore::HTMLOptionElement::insertedIntoDocument):
2159 * html/HTMLOptionElement.h:
2160 * html/HTMLSelectElement.cpp:
2161 (WebCore::HTMLSelectElement::childrenChanged):
2162 (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
2163 * html/HTMLSelectElement.h:
2164 * page/AXObjectCache.cpp:
2165 (WebCore::AXObjectCache::get):
2166 * page/AccessibilityListBox.cpp: Added.
2167 (WebCore::AccessibilityListBox::AccessibilityListBox):
2168 (WebCore::AccessibilityListBox::~AccessibilityListBox):
2169 (WebCore::AccessibilityListBox::create):
2170 (WebCore::AccessibilityListBox::addChildren):
2171 (WebCore::AccessibilityListBox::selectedChildren):
2172 (WebCore::AccessibilityListBox::visibleChildren):
2173 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
2174 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
2175 * page/AccessibilityListBox.h: Added.
2176 (WebCore::AccessibilityListBox::accessibilityShouldUseUniqueId):
2177 (WebCore::AccessibilityListBox::isListBox):
2178 (WebCore::AccessibilityListBox::canSetFocusAttribute):
2179 (WebCore::AccessibilityListBox::roleValue):
2180 (WebCore::AccessibilityListBox::accessibilityIsIgnored):
2181 * page/AccessibilityListBoxOption.cpp: Added.
2182 (WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):
2183 (WebCore::AccessibilityListBoxOption::~AccessibilityListBoxOption):
2184 (WebCore::AccessibilityListBoxOption::create):
2185 (WebCore::AccessibilityListBoxOption::isEnabled):
2186 (WebCore::AccessibilityListBoxOption::isSelected):
2187 (WebCore::AccessibilityListBoxOption::elementRect):
2188 (WebCore::AccessibilityListBoxOption::title):
2189 (WebCore::AccessibilityListBoxOption::size):
2190 (WebCore::AccessibilityListBoxOption::actionElement):
2191 (WebCore::AccessibilityListBoxOption::parentObject):
2192 (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
2193 (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
2194 * page/AccessibilityListBoxOption.h: Added.
2195 (WebCore::AccessibilityListBoxOption::setHTMLElement):
2196 (WebCore::AccessibilityListBoxOption::roleValue):
2197 (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
2198 (WebCore::AccessibilityListBoxOption::isListBoxOption):
2199 * page/AccessibilityObject.h:
2200 (WebCore::AccessibilityObject::isListBox):
2201 * page/AccessibilityRenderObject.cpp:
2202 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2203 * page/mac/AccessibilityObjectWrapper.mm:
2204 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2205 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2206 * rendering/RenderListBox.cpp:
2207 (WebCore::RenderListBox::selectionChanged):
2208 * rendering/RenderListBox.h:
2210 2008-05-06 Chris Fleizach <cfleizach@apple.com>
2212 Reviewed by Beth Dakin.
2214 <rdar://problem/5455287> AXWebArea should include AXURL
2216 * page/AccessibilityRenderObject.cpp:
2217 (WebCore::AccessibilityRenderObject::url):
2218 * page/mac/AccessibilityObjectWrapper.mm:
2219 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2221 2008-05-06 Alice Liu <alice.liu@apple.com>
2223 Rubber-stamped by Beth
2225 stab-in-the-dark attempt at fixing non-mac builds.
2229 * WebCore.vcproj/WebCore.vcproj:
2230 * WebCoreSources.bkl:
2232 2008-05-06 Anders Carlsson <andersca@apple.com>
2236 Only use the toplevel application cache when loading subframes.
2238 * loader/MainResourceLoader.cpp:
2239 (WebCore::MainResourceLoader::load):
2241 2008-05-06 Adam Barth <abarth-webkit@adambarth.com>
2243 Reviewed by Sam Weinig.
2245 https://bugs.webkit.org/show_bug.cgi?id=18725
2246 Implement asynchronous postMessage.
2247 MessageEvent no longer bubbles as per r1237 in the HTML 5 working draft.
2249 Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
2251 Test: http/tests/security/postMessage/delivery-order.html
2253 * dom/MessageEvent.cpp:
2254 (WebCore::MessageEvent::MessageEvent):
2255 * page/DOMWindow.cpp:
2256 (WebCore::PostMessageTimer::PostMessageTimer):
2257 (WebCore::PostMessageTimer::event):
2258 (WebCore::PostMessageTimer::targetOrigin):
2259 (WebCore::PostMessageTimer::fired):
2260 (WebCore::DOMWindow::postMessage):
2261 (WebCore::DOMWindow::postMessageTimerFired):
2263 * page/DOMWindow.idl:
2265 2008-05-06 Anders Carlsson <andersca@apple.com>
2269 Store cache to the database.
2271 * loader/appcache/ApplicationCache.cpp:
2272 (WebCore::ApplicationCache::addResource):
2273 If the cache has been saved to disk, save the resource as well.
2275 * loader/appcache/ApplicationCache.h:
2276 (WebCore::ApplicationCache::onlineWhitelist):
2277 New method which returns the online whitelist.
2279 (WebCore::ApplicationCache::setStorageId):
2280 (WebCore::ApplicationCache::storageId):
2281 Setter/getter for the application cache storage ID.
2283 * loader/appcache/ApplicationCacheGroup.cpp:
2284 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2285 Save the cache/group to disk.
2287 * loader/appcache/ApplicationCacheGroup.h:
2288 (WebCore::ApplicationCacheGroup::setStorageID):
2289 (WebCore::ApplicationCacheGroup::storageID):
2290 Setter/getter for the application cache group storage ID.
2292 * loader/appcache/ApplicationCacheResource.cpp:
2293 (WebCore::ApplicationCacheResource::addType):
2294 We can't add a new type if the resource has been saved to disk.
2296 * loader/appcache/ApplicationCacheResource.h:
2297 (WebCore::ApplicationCacheResource::setStorageID):
2298 (WebCore::ApplicationCacheResource::storageID):
2299 Setter/getter for the application cache resource storage ID.
2301 * loader/appcache/ApplicationCacheStorage.cpp:
2302 * loader/appcache/ApplicationCacheStorage.cpp:
2303 (WebCore::ApplicationCacheStorage::executeSQLCommand):
2304 New method for executing SQL and logging any errors.
2306 (WebCore::ApplicationCacheStorage::openDatabase):
2309 (WebCore::ApplicationCacheStorage::executeStatement):
2310 New method for executing an SQL statement and logging any errors.
2312 (WebCore::ApplicationCacheStorage::store):
2313 New methods for storing a cache group, cache and cache resource to the store.
2315 (WebCore::ApplicationCacheStorage::storeNewestCache):
2316 New method which stores the newest cache and updates the newest cache field in the cache group.
2318 * loader/appcache/ApplicationCacheStorage.h:
2321 * platform/sql/SQLiteStatement.h:
2322 (WebCore::SQLiteStatement::query):
2323 Getter for the SQL query.
2325 2008-05-06 Brady Eidson <beidson@apple.com>
2327 Reviewed by Darin Adler
2329 Preparation for upcoming work making LocalStorage persistent.
2331 Writing persistent values for LocalStorage will take place on a background thread.
2332 Here is that background thread, as well as most of the hooks that will be utilized to
2333 make the whole song and dance work.
2335 The thread itself is very simple and MessageQueue based. LocalStorageTasks are what
2336 mark the work that needs to be done and come in 5 flavors: Import and Sync a LocalStorage set,
2337 Import and Sync a LocalStorageArea, and terminate the thread.
2339 This patch accomplished 2 things:
2341 1 - Each PageGroup has its own LocalStorage set. Upon its creation its LocalStorageThread is
2342 created and started.
2344 2 - At application shutdown, each thread is synchronously terminated.
2346 What happens between steps 1 and 2 will come later.
2350 * WebCore.vcproj/WebCore.vcproj:
2351 * WebCore.xcodeproj/project.pbxproj:
2352 * WebCoreSources.bkl:
2354 * storage/LocalStorage.cpp: Add some threading ASSERTs to make it clear which thread each
2355 method is meant to be called from.
2356 (WebCore::LocalStorage::LocalStorage):
2357 (WebCore::LocalStorage::storageArea):
2358 (WebCore::LocalStorage::performImport): Placeholder for importing known origins and quotas
2359 (WebCore::LocalStorage::performSync): Placeholder for writing out updated origins and quotas
2360 (WebCore::LocalStorage::close): Synchronously terminate the thread.
2361 * storage/LocalStorage.h:
2363 * storage/LocalStorageArea.cpp: Add some threading ASSERTs to make it clear which thread each
2364 method is meant to be called from.
2365 (WebCore::LocalStorageArea::itemChanged):
2366 (WebCore::LocalStorageArea::itemRemoved):
2367 (WebCore::LocalStorageArea::areaCleared):
2368 (WebCore::LocalStorageArea::dispatchStorageEvent):
2369 (WebCore::LocalStorageArea::performImport): Placeholder for importing all items for this
2370 LocalStorageArea to prime the page before the items are needed
2371 (WebCore::LocalStorageArea::performSync): Placeholder for writing out dirty items to disk
2372 * storage/LocalStorageArea.h:
2374 * storage/LocalStorageTask.cpp: Added.
2375 (WebCore::LocalStorageTask::LocalStorageTask):
2376 (WebCore::LocalStorageTask::performTask):
2377 * storage/LocalStorageTask.h: Added.
2378 (WebCore::LocalStorageTask::):
2379 (WebCore::LocalStorageTask::createImport):
2380 (WebCore::LocalStorageTask::createSync):
2381 (WebCore::LocalStorageTask::createTerminate):
2383 * storage/LocalStorageThread.cpp: Added.
2384 (WebCore::LocalStorageThread::create):
2385 (WebCore::LocalStorageThread::LocalStorageThread):
2386 (WebCore::LocalStorageThread::start):
2387 (WebCore::LocalStorageThread::localStorageThreadStart):
2388 (WebCore::LocalStorageThread::localStorageThread):
2389 (WebCore::LocalStorageThread::scheduleImport):
2390 (WebCore::LocalStorageThread::scheduleSync):
2391 (WebCore::LocalStorageThread::terminate):
2392 (WebCore::LocalStorageThread::performTerminate):
2393 * storage/LocalStorageThread.h: Added.
2395 2008-05-06 Anders Carlsson <andersca@apple.com>
2399 Add NPN_PopUpContextMenu.
2402 * plugins/npfunctions.h:
2404 2008-05-06 Alp Toker <alp@nuanti.com>
2406 GTK+ build fix. Add file from r32911 to the build.
2410 2008-05-06 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
2412 Reviewed by Alp Toker.
2414 http://bugs.webkit.org/show_bug.cgi?id=18906
2415 [GTK] Fix varargs terminator in g_build_filename()
2417 * plugins/gtk/PluginDatabaseGtk.cpp:
2418 (WebCore::PluginDatabase::isPreferredPluginDirectory): Fix varargs
2421 2008-05-06 Kevin McCullough <kmccullough@apple.com>
2423 - Forgot to update localized Strings from previous checkin.
2425 * English.lproj/localizedStrings.js:
2427 2008-05-06 Chris Fleizach <cfleizach@apple.com>
2429 Reviewed by Beth Dakin
2431 <rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
2432 <rdar://problem/5895634> AX: AccessibilityObjectWrapper is being leaked all over the place
2433 <rdar://problem/5893907> CrashTracer: [REGRESSION] 44 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityObject::clearChildren + 9
2435 Initial prep work to support accessibility objects that do not have renderers.
2437 * WebCore.xcodeproj/project.pbxproj:
2438 * page/AXObjectCache.cpp:
2439 (WebCore::AXObjectCache::~AXObjectCache):
2440 (WebCore::AXObjectCache::get):
2441 (WebCore::AXObjectCache::remove):
2442 (WebCore::AXObjectCache::getAXID):
2443 (WebCore::AXObjectCache::removeAXID):
2444 (WebCore::AXObjectCache::childrenChanged):
2445 * page/AXObjectCache.h:
2446 (WebCore::AXObjectCache::isIDinUse):
2447 * page/AccessibilityObject.cpp:
2448 (WebCore::AccessibilityObject::AccessibilityObject):
2449 (WebCore::AccessibilityObject::create):
2450 (WebCore::AccessibilityObject::detach):
2451 (WebCore::AccessibilityObject::firstChild):
2452 (WebCore::AccessibilityObject::lastChild):
2453 (WebCore::AccessibilityObject::previousSibling):
2454 (WebCore::AccessibilityObject::nextSibling):
2455 (WebCore::AccessibilityObject::parentObject):
2456 (WebCore::AccessibilityObject::layoutCount):
2457 (WebCore::AccessibilityObject::text):
2458 (WebCore::AccessibilityObject::helpText):
2459 (WebCore::AccessibilityObject::textUnderElement):
2460 (WebCore::AccessibilityObject::isARIAInput):
2461 (WebCore::AccessibilityObject::isARIAControl):
2462 (WebCore::AccessibilityObject::intValue):
2463 (WebCore::AccessibilityObject::stringValue):
2464 (WebCore::AccessibilityObject::title):
2465 (WebCore::AccessibilityObject::accessibilityDescription):
2466 (WebCore::AccessibilityObject::boundingBoxRect):
2467 (WebCore::AccessibilityObject::elementRect):
2468 (WebCore::AccessibilityObject::size):
2469 (WebCore::AccessibilityObject::linkedUIElement):
2470 (WebCore::AccessibilityObject::textLength):
2471 (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
2472 (WebCore::AccessibilityObject::selectedText):
2473 (WebCore::AccessibilityObject::accessKey):
2474 (WebCore::AccessibilityObject::selection):
2475 (WebCore::AccessibilityObject::selectedTextRange):
2476 (WebCore::AccessibilityObject::setSelectedTextRange):
2477 (WebCore::AccessibilityObject::url):
2478 (WebCore::AccessibilityObject::setFocused):
2479 (WebCore::AccessibilityObject::setValue):
2480 (WebCore::AccessibilityObject::axObjectCache):
2481 (WebCore::AccessibilityObject::getDocumentLinks):
2482 (WebCore::AccessibilityObject::widget):
2483 (WebCore::AccessibilityObject::widgetForAttachmentView):
2484 (WebCore::AccessibilityObject::anchorElement):
2485 (WebCore::AccessibilityObject::actionElement):
2486 (WebCore::AccessibilityObject::visiblePositionRange):
2487 (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
2488 (WebCore::AccessibilityObject::visiblePositionForIndex):
2489 (WebCore::AccessibilityObject::indexForVisiblePosition):
2490 (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
2491 (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
2492 (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
2493 (WebCore::AccessibilityObject::textMarkerForIndex):
2494 (WebCore::AccessibilityObject::rangeForTextMarkerRange):
2495 (WebCore::AccessibilityObject::indexForTextMarker):
2496 (WebCore::AccessibilityObject::doAXRangeForLine):
2497 (WebCore::AccessibilityObject::doAXRangeForPosition):
2498 (WebCore::AccessibilityObject::doAXRangeForIndex):
2499 (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
2500 (WebCore::AccessibilityObject::doAXStringForRange):
2501 (WebCore::AccessibilityObject::doAXBoundsForRange):
2502 (WebCore::AccessibilityObject::doAccessibilityHitTest):
2503 (WebCore::AccessibilityObject::focusedUIElement):
2504 (WebCore::AccessibilityObject::observableObject):
2505 (WebCore::AccessibilityObject::roleValue):
2506 (WebCore::AccessibilityObject::ariaRoleAttribute):
2507 (WebCore::AccessibilityObject::childrenChanged):
2508 (WebCore::AccessibilityObject::addChildren):
2509 (WebCore::AccessibilityObject::removeAXObjectID):
2510 * page/AccessibilityObject.h:
2512 (WebCore::PlainTextRange::PlainTextRange):
2513 (WebCore::PlainTextRange::isNull):
2514 (WebCore::AccessibilityObject::isAccessibilityRenderObject):
2515 (WebCore::AccessibilityObject::isAnchor):
2516 (WebCore::AccessibilityObject::isAttachment):
2517 (WebCore::AccessibilityObject::isHeading):
2518 (WebCore::AccessibilityObject::isLink):
2519 (WebCore::AccessibilityObject::isImage):
2520 (WebCore::AccessibilityObject::isNativeImage):
2521 (WebCore::AccessibilityObject::isImageButton):
2522 (WebCore::AccessibilityObject::isPasswordField):
2523 (WebCore::AccessibilityObject::isTextControl):
2524 (WebCore::AccessibilityObject::isNativeTextControl):
2525 (WebCore::AccessibilityObject::isWebArea):
2526 (WebCore::AccessibilityObject::isCheckboxOrRadio):
2527 (WebCore::AccessibilityObject::isChecked):
2528 (WebCore::AccessibilityObject::isEnabled):
2529 (WebCore::AccessibilityObject::isSelected):
2530 (WebCore::AccessibilityObject::isFocused):
2531 (WebCore::AccessibilityObject::isHovered):
2532 (WebCore::AccessibilityObject::isIndeterminate):
2533 (WebCore::AccessibilityObject::isLoaded):
2534 (WebCore::AccessibilityObject::isMultiSelect):
2535 (WebCore::AccessibilityObject::isOffScreen):
2536 (WebCore::AccessibilityObject::isPressed):
2537 (WebCore::AccessibilityObject::isReadOnly):
2538 (WebCore::AccessibilityObject::isVisited):
2539 (WebCore::AccessibilityObject::canSetFocusAttribute):
2540 (WebCore::AccessibilityObject::canSetTextRangeAttributes):
2541 (WebCore::AccessibilityObject::canSetValueAttribute):
2542 (WebCore::AccessibilityObject::hasIntValue):
2543 (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
2544 (WebCore::AccessibilityObject::accessibilityIsIgnored):
2545 (WebCore::AccessibilityObject::children):
2546 (WebCore::AccessibilityObject::hasChildren):
2547 (WebCore::AccessibilityObject::setWrapper):
2548 (WebCore::AccessibilityObject::isDetached):
2549 * page/AccessibilityRenderObject.cpp: Added.
2550 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
2551 (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
2552 (WebCore::AccessibilityRenderObject::create):
2553 (WebCore::AccessibilityRenderObject::detach):
2554 (WebCore::AccessibilityRenderObject::firstChild):
2555 (WebCore::AccessibilityRenderObject::lastChild):
2556 (WebCore::AccessibilityRenderObject::previousSibling):
2557 (WebCore::AccessibilityRenderObject::nextSibling):
2558 (WebCore::AccessibilityRenderObject::parentObject):
2559 (WebCore::AccessibilityRenderObject::isWebArea):
2560 (WebCore::AccessibilityRenderObject::isImageButton):
2561 (WebCore::AccessibilityRenderObject::isAnchor):
2562 (WebCore::AccessibilityRenderObject::isNativeTextControl):
2563 (WebCore::AccessibilityRenderObject::isTextControl):
2564 (WebCore::AccessibilityRenderObject::isNativeImage):
2565 (WebCore::AccessibilityRenderObject::isImage):
2566 (WebCore::AccessibilityRenderObject::isAttachment):
2567 (WebCore::AccessibilityRenderObject::isPasswordField):
2568 (WebCore::AccessibilityRenderObject::isCheckboxOrRadio):
2569 (WebCore::AccessibilityRenderObject::isPressed):
2570 (WebCore::AccessibilityRenderObject::isIndeterminate):
2571 (WebCore::AccessibilityRenderObject::isChecked):
2572 (WebCore::AccessibilityRenderObject::isHovered):
2573 (WebCore::AccessibilityRenderObject::isMultiSelect):
2574 (WebCore::AccessibilityRenderObject::isReadOnly):
2575 (WebCore::AccessibilityRenderObject::isOffScreen):
2576 (WebCore::AccessibilityRenderObject::headingLevel):
2577 (WebCore::AccessibilityRenderObject::isHeading):
2578 (WebCore::AccessibilityRenderObject::isLink):
2579 (WebCore::AccessibilityRenderObject::anchorElement):
2580 (WebCore::AccessibilityRenderObject::actionElement):
2581 (WebCore::AccessibilityRenderObject::mouseButtonListener):
2582 (WebCore::AccessibilityRenderObject::helpText):
2583 (WebCore::AccessibilityRenderObject::textUnderElement):
2584 (WebCore::AccessibilityRenderObject::hasIntValue):
2585 (WebCore::AccessibilityRenderObject::intValue):
2586 (WebCore::AccessibilityRenderObject::stringValue):
2587 (WebCore::labelForElement):
2588 (WebCore::AccessibilityRenderObject::title):
2589 (WebCore::AccessibilityRenderObject::accessibilityDescription):
2590 (WebCore::AccessibilityRenderObject::boundingBoxRect):
2591 (WebCore::AccessibilityRenderObject::elementRect):
2592 (WebCore::AccessibilityRenderObject::size):
2593 (WebCore::AccessibilityRenderObject::linkedUIElement):
2594 (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
2595 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2596 (WebCore::AccessibilityRenderObject::isLoaded):
2597 (WebCore::AccessibilityRenderObject::layoutCount):
2598 (WebCore::AccessibilityRenderObject::text):
2599 (WebCore::AccessibilityRenderObject::textLength):
2600 (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
2601 (WebCore::AccessibilityRenderObject::selectedText):
2602 (WebCore::AccessibilityRenderObject::accessKey):
2603 (WebCore::AccessibilityRenderObject::selection):
2604 (WebCore::AccessibilityRenderObject::selectedTextRange):
2605 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2606 (WebCore::AccessibilityRenderObject::url):
2607 (WebCore::AccessibilityRenderObject::isVisited):
2608 (WebCore::AccessibilityRenderObject::isSelected):
2609 (WebCore::AccessibilityRenderObject::isFocused):
2610 (WebCore::AccessibilityRenderObject::setFocused):
2611 (WebCore::AccessibilityRenderObject::setValue):
2612 (WebCore::AccessibilityRenderObject::isEnabled):
2613 (WebCore::AccessibilityRenderObject::topRenderer):
2614 (WebCore::AccessibilityRenderObject::widget):
2615 (WebCore::AccessibilityRenderObject::axObjectCache):
2616 (WebCore::AccessibilityRenderObject::getDocumentLinks):
2617 (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
2618 (WebCore::AccessibilityRenderObject::frameViewIfRenderView):
2619 (WebCore::AccessibilityRenderObject::visiblePositionRange):
2620 (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
2621 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
2622 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2623 (WebCore::AccessibilityRenderObject::doAXBoundsForTextMarkerRange):
2624 (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
2625 (WebCore::AccessibilityRenderObject::doAXTextMarkerForPosition):
2626 (WebCore::AccessibilityRenderObject::textMarkerForIndex):
2627 (WebCore::AccessibilityRenderObject::indexForTextMarker):
2628 (WebCore::AccessibilityRenderObject::doAXRangeForLine):
2629 (WebCore::AccessibilityRenderObject::doAXRangeForIndex):
2630 (WebCore::AccessibilityRenderObject::doAXStringForRange):
2631 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
2632 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2633 (WebCore::AccessibilityRenderObject::focusedUIElement):
2634 (WebCore::AccessibilityRenderObject::observableObject):
2635 (WebCore::createARIARoleMap):
2636 (WebCore::RoleEntry::):
2637 (WebCore::ariaRoleToWebCoreRole):
2638 (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
2639 (WebCore::AccessibilityRenderObject::roleValue):
2640 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2641 (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2642 (WebCore::AccessibilityRenderObject::canSetTextRangeAttributes):
2643 (WebCore::AccessibilityRenderObject::childrenChanged):
2644 (WebCore::AccessibilityRenderObject::children):
2645 (WebCore::AccessibilityRenderObject::addChildren):
2646 (WebCore::AccessibilityRenderObject::removeAXObjectID):
2647 (WebCore::AccessibilityRenderObject::actionVerb):
2648 * page/AccessibilityRenderObject.h: Added.
2649 (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
2650 (WebCore::AccessibilityRenderObject::areaElement):
2651 (WebCore::AccessibilityRenderObject::setRenderer):
2652 (WebCore::AccessibilityRenderObject::renderer):
2653 (WebCore::AccessibilityRenderObject::setRenderObject):
2654 (WebCore::AccessibilityRenderObject::isDetached):
2655 * page/mac/AXObjectCacheMac.mm:
2656 (WebCore::AXObjectCache::detachWrapper):
2657 (WebCore::AXObjectCache::selectedChildrenChanged):
2658 (WebCore::AXObjectCache::postNotification):
2659 * page/mac/AccessibilityObjectWrapper.mm:
2660 (textMarkerForVisiblePosition):
2661 (CreateCGColorIfDifferent):
2662 (AXAttributeStringSetHeadingLevel):
2663 (AXLinkElementForNode):
2664 (AXAttributeStringSetElement):
2665 (AXAttributedStringAppendText):
2666 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2667 (-[AccessibilityObjectWrapper documentFrameView:]):
2668 (-[AccessibilityObjectWrapper position]):
2670 (-[AccessibilityObjectWrapper roleDescription]):
2671 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2672 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
2673 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2674 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2675 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
2676 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
2677 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2679 2008-05-06 Jonathan Haas <myrdred@gmail.com>
2681 Reviewed by Rob Buis.
2683 https://bugs.webkit.org/show_bug.cgi?id=18859\
2684 Prevented SVGRootInlineBox from static_casting a
2685 node to a class it doesn't inherit
2687 * rendering/SVGRootInlineBox.cpp:
2688 (WebCore::SVGRootInlineBox::buildTextChunks):
2690 2008-05-06 Brady Eidson <beidson@apple.com>
2692 Reviewed by Darin Adler
2694 Preparation for upcoming work making LocalStorage persistent.
2696 When the application terminates, all pending local storage writes need to be
2697 sync'ed out to disk.
2698 This works n combination with platform specific code in WebKit that calls it.
2702 * page/PageGroup.cpp:
2703 (WebCore::PageGroup::closeLocalStorage): Close all open LocalStorage objects
2706 * storage/LocalStorage.cpp:
2707 (WebCore::LocalStorage::close): Placeholder for what will sync and terminate the
2708 local storage thread in the future.
2709 * storage/LocalStorage.h:
2711 2008-05-06 Brady Eidson <beidson@apple.com>
2713 Rubberstamped by David Kilzer
2715 * WebCore.base.exp: Sort this mess!
2717 2008-05-05 Mark Rowe <mrowe@apple.com>
2719 Reviewed by Dan Bernstein.
2721 Fix 60 crashes seen on the buildbots that were misreported as hangs.
2724 (WebCore::Document::detachNodeIterator): Null-check page() before dereferencing it.
2725 (WebCore::Document::nodeWillBeRemoved): Ditto.
2726 (WebCore::Document::textInserted): Ditto.
2727 (WebCore::Document::textNodesMerged): Ditto.
2728 (WebCore::Document::textRemoved): Ditto.
2730 2008-05-05 Brady Eidson <beidson@apple.com>
2732 Reviewed by Mitz Pettel RTL
2734 Preparation for upcoming work making LocalStorage persistent.
2736 The other half of the StorageMap::importItem() addition.
2738 * storage/StorageArea.cpp:
2739 (WebCore::StorageArea::importItem):
2740 * storage/StorageArea.h:
2742 2008-05-05 Brady Eidson <beidson@apple.com>
2744 Reviewed by Mitz Pettel RTL
2746 Preparation for upcoming work making LocalStorage persistent.
2748 - Create the LocalStorage object for a PageGroup the moment the first Page is added to it
2749 The Settings of the first Page define what persistent path the LocalStorage will use
2750 - Add a Frame argument for the LocalStorageArea request - this will allow a client object
2751 to be queried before the LocalStorageArea is established
2753 * page/DOMWindow.cpp:
2754 (WebCore::DOMWindow::localStorage):
2756 * page/PageGroup.cpp:
2757 (WebCore::PageGroup::addPage):
2758 (WebCore::PageGroup::localStorage):
2760 * storage/LocalStorage.cpp:
2761 (WebCore::LocalStorage::LocalStorage): Take the path as a constructor argument. Deep copy
2762 the path as it will be used from another thread.
2763 (WebCore::LocalStorage::storageArea):
2764 * storage/LocalStorage.h:
2765 (WebCore::LocalStorage::create):
2767 2008-05-05 Brady Eidson <beidson@apple.com>
2769 Reviewed by Mitz Pettel RTL
2771 Preparation for upcoming work making LocalStorage persistent.
2773 StorageMaps normally have copy-on-write semantics to help support SessionStorage.
2774 For LocalStorage, we never want this behavior. When we forcefully import items into
2775 a StorageMap from the LocalStorage background thread, this new import method will be used.
2777 * storage/StorageMap.cpp:
2778 (WebCore::StorageMap::importItem): Add a deep-copy of the item to the map without worrying
2779 about copy-on-write.
2780 * storage/StorageMap.h:
2782 2008-05-05 Kevin McCullough <kmccullough@apple.com>
2786 -<rdar://problem/5770054> JavaScript profiler (10928)
2787 -Begininings of a UI for the Profiler in the WebInspector.
2789 * English.lproj/InspectorLocalizedStrings.js: Add new strings to be
2791 * page/inspector/DatabasesPanel.js: Changed the name of the Databae's
2792 results table to be more generic as it is now also used by the profiler.
2793 * page/inspector/Images/glossySelected.png: Added.
2794 * page/inspector/Images/profilesIcon.png: Added.
2795 * page/inspector/Images/treeUpTriangleBlack.png: Added.
2796 * page/inspector/Images/treeUpTriangleWhite.png: Added.
2797 * page/inspector/ProfileView.js: Added. Sets up the header of the table.
2798 * page/inspector/ProfilesPanel.js: Added.
2799 * page/inspector/ProfilesPanel.js: Added. Sets up the containers of the
2801 * page/inspector/inspector.css: Change database-result-table to be more
2802 generic as well as add the styles needed by the profiler.
2803 * page/inspector/inspector.html: Add profiler support.
2805 2008-05-05 Brady Eidson <beidson@apple.com>
2807 Change by Darin, reviewed by Brady
2809 Small efficiency improvement Darin just spotted
2811 * storage/StorageMap.cpp:
2812 (WebCore::StorageMap::setItem):
2814 2008-05-05 Antti Koivisto <antti@apple.com>
2818 Fix https://bugs.webkit.org/show_bug.cgi?id=18899
2819 Bug 18899: REGRESSION (r32871): Non-Safari crash in WTF::HashTable on startup
2821 * loader/loader.cpp:
2822 (WebCore::Loader::Loader):
2824 2008-05-05 Brady Eidson <beidson@apple.com>
2826 Reviewed by Sam Weinig
2828 Fix a bug in StorageMap iterator tracking where the iterator was not successfully
2829 invalidated at an appropriate time.
2831 * storage/StorageMap.cpp:
2832 (WebCore::StorageMap::setItem): ALWAYS invalidate it here
2834 2008-05-05 Justin Garcia <justin.garcia@apple.com>
2838 <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
2840 Disable Range mutation on document modifications in Tiger and Leopard Mail,
2841 since they do their own mutation which interferes with ours.
2845 (WebCore::Document::nodeChildrenChanged):
2846 (WebCore::Document::nodeWillBeRemoved):
2847 (WebCore::Document::textInserted):
2848 (WebCore::Document::textRemoved):
2849 (WebCore::Document::textNodesMerged):
2850 (WebCore::Document::textNodeSplit):
2851 * page/Settings.cpp:
2852 (WebCore::Settings::Settings):
2853 (WebCore::Settings::disableRangeMutationForOldAppleMail):
2855 (WebCore::Settings::rangeMutationDisabledForOldAppleMail):
2857 2008-05-05 Sam Weinig <sam@webkit.org>
2859 Reviewed by Tim Hatcher.
2861 Make the Inspector's localizable strings file match the format used by Dashboard widgets.
2863 * English.lproj/InspectorLocalizedStrings.js: Removed.
2864 * English.lproj/localizedStrings.js: Added.
2865 * WebCore.vcproj/WebCore.vcproj:
2866 * WebCore.xcodeproj/project.pbxproj:
2867 * page/inspector/inspector.js:
2869 2008-05-05 Steve Falkenburg <sfalken@apple.com>
2871 Add support for default button appearance.
2872 Add WebCore setting for app chrome mode.
2874 Reviewed by Dave Hyatt.
2876 * css/CSSPrimitiveValueMappings.h:
2877 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2878 * css/CSSValueKeywords.in: Added default-button value keyword.
2879 * page/Settings.cpp:
2880 (WebCore::Settings::Settings):
2881 (WebCore::Settings::setApplicationChromeMode):
2883 (WebCore::Settings::inApplicationChromeMode):
2884 * rendering/RenderButton.cpp:
2885 (WebCore::RenderButton::RenderButton):
2886 (WebCore::RenderButton::setStyle):
2887 (WebCore::RenderButton::timerFired):
2888 * rendering/RenderButton.h:
2889 * rendering/RenderStyle.h:
2891 * rendering/RenderTheme.cpp:
2892 (WebCore::RenderTheme::adjustStyle):
2893 (WebCore::RenderTheme::paint):
2894 (WebCore::RenderTheme::paintBorderOnly):
2895 (WebCore::RenderTheme::paintDecorations):
2896 (WebCore::RenderTheme::isControlStyled):
2897 (WebCore::RenderTheme::isDefault):
2898 * rendering/RenderTheme.h:
2900 * rendering/RenderThemeSafari.cpp:
2901 (WebCore::RenderThemeSafari::determineState):
2902 (WebCore::RenderThemeSafari::adjustRepaintRect):
2903 (WebCore::RenderThemeSafari::adjustButtonStyle):
2904 * rendering/RenderThemeWin.cpp:
2905 (WebCore::RenderThemeWin::supportsFocus):
2907 2008-05-05 Alexey Proskuryakov <ap@webkit.org>
2911 https://bugs.webkit.org/show_bug.cgi?id=11947
2912 nbsps should be converted to entities in innerHTML
2914 https://bugs.webkit.org/show_bug.cgi?id=18769
2915 replacing with spaces using regexp creates inconsistent result
2917 Tests: fast/dom/innerHTML-nbsp.html
2918 fast/dom/innerHTML-escaping-attribute.html
2920 * editing/markup.cpp:
2921 (WebCore::appendAttributeValue):
2922 (WebCore::escapeContentText):
2923 (WebCore::appendEscapedContent):
2924 Added U+00a0/nbsp to the list of characters to escape.
2926 2008-05-05 David Hyatt <hyatt@apple.com>
2928 Fix for https://bugs.webkit.org/show_bug.cgi?id=18821. Fix some bugs in both get/PutImageData of <canvas>.
2932 New tests added in fast/canvas/
2934 * platform/graphics/cg/ImageBufferCG.cpp:
2935 (WebCore::ImageBuffer::getImageData):
2936 (WebCore::ImageBuffer::putImageData):
2938 2008-05-05 Dan Bernstein <mitz@apple.com>
2940 Reviewed by Dave Hyatt.
2942 - fix https://bugs.webkit.org/show_bug.cgi?id=18809
2943 Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow)
2945 Test: fast/block/basic/adding-near-anonymous-block.html
2947 * rendering/RenderBlock.cpp:
2948 (WebCore::RenderBlock::addChildToFlow): When adding a floating or
2949 positioned object, if it follows an anonymous block, put it
2950 inside the anonymous block. When adding an inline, check if it comes
2951 after an anonymous block and put it in the anonymous block.
2953 2008-05-05 Antti Koivisto <antti@apple.com>
2957 Speculative fix for <rdar://problem/5906790>
2958 Crash in Loader::servePendingRequests() due to hash table being modified during iteration
2960 I don't know how to reproduce this. It would require the load to fail (or succeed)
2961 synchronously, something that should not usually happen.
2963 * loader/loader.cpp:
2964 (WebCore::Loader::Loader):
2965 (WebCore::Loader::load):
2966 (WebCore::Loader::servePendingRequests):
2967 (WebCore::Loader::cancelRequests):
2968 (WebCore::Loader::Host::Host):
2970 (WebCore::Loader::Host::name):
2972 2008-05-05 Ariya Hidayat <ariya.hidayat@trolltech.com>
2976 Disable SVG As Image support in the Qt port again, as it
2977 requires more work. Right now the chrome client is
2978 assumed to be a ChromeClientQt, which the SVG Image support
2983 2008-05-02 Antti Koivisto <antti@apple.com>
2987 Fix <rdar://problem/5840475>
2988 CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject
2990 Non-block objects can have transforms so containingBlock() could end up returning null.
2991 RenderObject::container() needs to match.
2993 Test: fast/transforms/container-transform-crash.html
2995 * rendering/RenderObject.cpp:
2996 (WebCore::RenderObject::containingBlock):
2997 (WebCore::RenderObject::container):
2999 2008-05-04 Sam Weinig <sam@webkit.org>
3001 Roll out r32851. It broke tiger builds.
3003 * bindings/objc/DOMUtility.mm:
3004 (KJS::createDOMWrapper):
3005 (WebCore::createDOMWrapper):
3007 2008-05-04 Dan Bernstein <mitz@apple.com>
3009 Reviewed by Sam Weinig.
3011 - fix https://bugs.webkit.org/show_bug.cgi?id=18879
3012 <rdar://problem/5909481> Reproducible crash when removing a gradient
3014 Test: fast/gradients/crash-on-remove.html
3016 * css/CSSImageGeneratorValue.cpp:
3017 (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
3018 (WebCore::CSSImageGeneratorValue::addClient): Added a call to ref() the
3020 (WebCore::CSSImageGeneratorValue::removeClient): Added code to deref()
3023 2008-05-03 Sam Weinig <sam@webkit.org>
3025 Reviewed by Mark Rowe.
3027 Move createDOMWrapper(JSObject* object) out of the KJS namespace and into
3028 the WebCore namespace now that the required compilers don't freak out about
3031 * bindings/objc/DOMUtility.mm:
3032 (WebCore::createDOMWrapper):
3034 2008-05-03 Rob Buis <buis@kde.org>
3038 https://bugs.webkit.org/show_bug.cgi?id=18652
3039 onchange events don't seem to fire for input[type=range] controls.
3041 Fire changeEvent when clicking the slider outside the current
3044 * rendering/RenderSlider.cpp:
3045 (WebCore::RenderSlider::setValueForPosition):
3047 2008-05-03 Sam Weinig <sam@webkit.org>
3049 Reviewed by Mark Rowe.
3051 Remove unused enums from JSDOMWindowBase.
3053 * bindings/js/JSDOMWindowBase.h:
3054 (WebCore::JSDOMWindowBase::):
3056 2008-05-03 Sam Weinig <sam@webkit.org>
3060 * WebCore.xcodeproj/project.pbxproj:
3062 2008-05-03 Sam Weinig <sam@webkit.org>
3066 * bindings/js/kjs_events.cpp:
3067 (WebCore::JSAbstractEventListener::handleEvent):
3069 2008-05-03 Sam Weinig <sam@webkit.org>
3071 Rubber-stamped by Geoffrey Garen.
3073 Rename JSDOMWindowWrapper to JSDOMWindowShell.
3075 2008-05-01 Rob Buis <buis@kde.org>
3079 https://bugs.webkit.org/show_bug.cgi?id=18568
3080 background: currentColor fails
3082 Implement currentColor from CSS3 color module.
3084 Tests: fast/css/background-currentcolor.html
3086 * css/CSSParser.cpp:
3087 (WebCore::CSSParser::parseValue):
3088 (WebCore::CSSParser::parseBackgroundColor):
3089 * css/CSSStyleSelector.cpp:
3090 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3091 * css/CSSValueKeywords.in:
3092 * css/SVGCSSValueKeywords.in:
3094 2008-05-02 Anders Carlsson <andersca@apple.com>
3098 Turns out calling locationInWindow on keyboard events will not throw an exception,
3099 but the point returned is completely bogus, so remove coordinates from the keyboard event struct.
3104 2008-05-02 Benjamin Otte <otte@gnome.org>
3106 Reviewed by Alp Toker.
3108 http://bugs.webkit.org/show_bug.cgi?id=18856
3109 [GTK] variable initialization missing
3111 Not initializing the m_needsXEmbed variable could have very funny
3112 results. Most often those results would be crashes.
3114 * plugins/PluginView.cpp:
3115 (WebCore::PluginView::PluginView):
3117 2008-05-02 Jan Michael Alonzo <jmalonzo@unpluggable.com>
3121 https://bugs.webkit.org/show_bug.cgi?id=18811
3122 Enable dashboard and offline web apps in autotools
3126 2008-05-02 Anders Carlsson <andersca@apple.com>
3130 Name the event union so it will work in plain C.
3135 2008-05-02 Dan Bernstein <mitz@apple.com>
3137 Reviewed by John Sullivan.
3139 - render text shadows with zero offset, as the shadow can be seen behind
3140 the text if the text is translucent
3142 Test: fast/text/shadow-no-blur.html
3144 * platform/graphics/mac/FontMac.mm:
3145 (WebCore::Font::drawComplexText): Removed the isEmpty() condition on the
3146 shadow offset. Since isEmpty() is also true for sizes that have one or
3147 more non-positive components, this also ensures that subpixel
3148 antialiasing of the text is maintained with shadows in all directions.
3149 (WebCore::Font::drawGlyphs): Ditto.
3150 * platform/graphics/win/FontCGWin.cpp:
3151 (WebCore::Font::drawGlyphs): Ditto.
3153 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
3157 Build the Qt port with SVG Use and As Image support.
3161 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
3165 Fixed potential crash on SVG animation (added more checks to the assert).
3167 * svg/SVGUseElement.cpp:
3168 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3170 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
3172 Rubber-stamped by John Sullivan.
3174 Fix a debug-only crash in layout tests.
3176 * loader/CachedResource.cpp:
3177 (WebCore::CachedResource::~CachedResource): Don't call resourceForURL() for null URLs.
3179 2008-05-02 Simon Hausmann <shausman@trolltech.com>
3181 Fix the Qt build on Windows when Phonon is enabled for Audio/Video support
3183 * WebCore.pro: Don't use QT += phonon as it prepends the phonon
3184 includes to the include paths. Instead add it manually and make sure
3185 phonon comes last, to avoid the conflict of phonon's path.h with
3186 WebCore's Path.h on case-insensitive filesystems.
3188 2008-05-02 Simon Hausmann <hausmann@webkit.org>
3190 Fix the Qt build. Add ExecState where necessary.
3192 * bridge/qt/qt_class.cpp:
3193 (KJS::Bindings::QtClass::fallbackObject):
3194 * bridge/qt/qt_instance.cpp:
3195 (KJS::Bindings::QtRuntimeObjectImp::construct):
3196 (KJS::Bindings::QtInstance::getRuntimeObject):
3197 (KJS::Bindings::QtInstance::invokeDefaultMethod):
3198 (KJS::Bindings::QtInstance::defaultValue):
3199 (KJS::Bindings::QtInstance::stringValue):
3200 * bridge/qt/qt_instance.h:
3201 (KJS::Bindings::QtInstance::getObject):
3202 * bridge/qt/qt_runtime.cpp:
3203 (KJS::Bindings::convertValueToQVariant):
3204 (KJS::Bindings::convertQVariantToValue):
3205 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
3206 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
3207 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3208 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
3209 (KJS::Bindings::QtConnectionObject::execute):
3210 * bridge/runtime.cpp:
3211 (KJS::Bindings::Instance::createRuntimeObject):
3213 2008-05-02 Simon Hausmann <shausman@trolltech.com>
3215 Fix the Qt/Win build.
3218 * platform/qt/TemporaryLinkStubs.cpp:
3219 (PluginDatabase::getPluginPathsInDirectories):
3220 (PluginDatabase::defaultPluginDirectories):
3221 (PluginDatabase::isPreferredPluginDirectory):
3222 (PluginView::setNPWindowRect):
3223 (PluginView::userAgent):
3224 (PluginView::invalidateRect):
3225 (PluginView::invalidateRegion):
3226 (PluginView::forceRedraw):
3227 (PluginView::setFocus):
3230 (PluginView::paint):
3231 (PluginView::setParent):
3232 (PluginView::attachToWindow):
3233 (PluginView::detachFromWindow):
3234 (PluginView::updateWindow):
3235 (PluginView::handleKeyboardEvent):
3236 (PluginView::handleMouseEvent):
3237 (PluginView::handlePostReadFile):
3238 (PluginView::getValue):
3239 * plugins/qt/PluginPackageQt.cpp:
3240 (WebCore::PluginPackage::load):
3242 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
3244 Reviewed by Geoffrey Garen.
3246 https://bugs.webkit.org/show_bug.cgi?id=18826
3247 Make JavaScript heap per-thread
3249 This is mostly adaptation for JSC changes. The most prominent one is that JSObject
3250 allocator now takes ExecState, e.g. "new (exec) JSXMLHttpRequestConstructor(...)". It is
3251 OK to pass either the current or global one, whichever is faster to get hold of, as both
3252 have the same reference to a per-thread JS heap.
3254 * bindings/scripts/CodeGeneratorJS.pm: Pass ExecState to functions that now need it.
3255 JSDOMWindow, JSDOMWindowPrototype and JSDOMWindowWrapper are special, because they are
3256 constructed before any ExecState comes into existence, so they use Heap::threadHeap()
3257 directly for allocation.
3259 * bindings/js/JSDOMWindowWrapper.cpp:
3260 (WebCore::JSDOMWindowWrapper::operator new):
3261 * bindings/js/JSDOMWindowWrapper.h:
3262 Added a custom operator new to use per-thread heap when there's no ExecState around.
3264 * bindings/js/JSAudioConstructor.cpp:
3265 (WebCore::JSAudioConstructor::JSAudioConstructor):
3266 * bindings/js/JSCSSRuleCustom.cpp:
3268 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3269 (WebCore::JSCSSStyleDeclaration::nameGetter):
3270 * bindings/js/JSCSSValueCustom.cpp:
3272 * bindings/js/JSCanvasPixelArrayCustom.cpp:
3273 (WebCore::JSCanvasPixelArray::indexGetter):
3275 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3277 * bindings/js/JSClipboardCustom.cpp:
3278 (WebCore::JSClipboard::types):
3279 (WebCore::JSClipboard::getData):
3280 * bindings/js/JSCustomXPathNSResolver.cpp:
3281 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3282 * bindings/js/JSDOMApplicationCacheCustom.cpp:
3283 (WebCore::JSDOMApplicationCache::addEventListener):
3284 (WebCore::JSDOMApplicationCache::removeEventListener):
3285 (WebCore::JSDOMApplicationCache::setOnchecking):
3286 (WebCore::JSDOMApplicationCache::setOnerror):
3287 (WebCore::JSDOMApplicationCache::setOnnoupdate):
3288 (WebCore::JSDOMApplicationCache::setOndownloading):
3289 (WebCore::JSDOMApplicationCache::setOnprogress):
3290 (WebCore::JSDOMApplicationCache::setOnupdateready):
3291 (WebCore::JSDOMApplicationCache::setOncached):
3292 * bindings/js/JSDOMWindowBase.cpp:
3293 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3294 (WebCore::JSDOMWindowBase::getValueProperty):
3295 (WebCore::JSDOMWindowBase::setListener):
3296 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
3297 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
3298 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
3299 (WebCore::windowProtoFuncAToB):
3300 (WebCore::windowProtoFuncBToA):
3301 (WebCore::windowProtoFuncSetTimeout):
3302 (WebCore::windowProtoFuncSetInterval):
3303 (WebCore::windowProtoFuncAddEventListener):
3304 * bindings/js/JSDOMWindowBase.h:
3305 * bindings/js/JSDocumentCustom.cpp:
3307 * bindings/js/JSEventCustom.cpp:
3309 * bindings/js/JSEventTargetBase.cpp:
3310 (WebCore::jsEventTargetAddEventListener):
3311 * bindings/js/JSEventTargetBase.h:
3312 (WebCore::JSEventTargetPrototype::self):
3313 * bindings/js/JSEventTargetNode.cpp:
3314 (WebCore::JSEventTargetNode::setListener):
3315 * bindings/js/JSHTMLCollectionCustom.cpp:
3316 (WebCore::getNamedItems):
3318 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3319 (WebCore::createJSHTMLWrapper):
3320 * bindings/js/JSHTMLFormElementCustom.cpp:
3321 (WebCore::JSHTMLFormElement::nameGetter):
3322 * bindings/js/JSHTMLInputElementBase.cpp:
3323 (WebCore::JSHTMLInputElementBase::getValueProperty):
3324 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3325 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3326 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3327 (WebCore::JSHTMLOptionsCollection::length):
3328 * bindings/js/JSInspectedObjectWrapper.cpp:
3329 (WebCore::JSInspectedObjectWrapper::wrap):
3330 * bindings/js/JSInspectorCallbackWrapper.cpp:
3331 (WebCore::JSInspectorCallbackWrapper::wrap):
3332 * bindings/js/JSLocationCustom.cpp:
3333 (WebCore::JSLocation::toString):
3334 * bindings/js/JSNamedNodesCollection.cpp:
3335 (WebCore::JSNamedNodesCollection::lengthGetter):
3336 * bindings/js/JSNavigatorCustom.cpp:
3337 (WebCore::JSNavigator::appVersion):
3338 * bindings/js/JSNodeCustom.cpp:
3340 * bindings/js/JSNodeFilterCustom.cpp:
3341 (WebCore::JSNodeFilter::acceptNode):
3342 * bindings/js/JSRGBColor.cpp:
3343 (WebCore::getJSRGBColor):
3344 * bindings/js/JSSQLResultSetRowListCustom.cpp:
3345 (WebCore::JSSQLResultSetRowList::item):
3346 * bindings/js/JSSVGElementWrapperFactory.cpp:
3347 (WebCore::createJSSVGWrapper):
3348 * bindings/js/JSSVGLazyEventListener.cpp:
3349 (WebCore::JSSVGLazyEventListener::eventParameterName):
3350 * bindings/js/JSStorageCustom.cpp:
3351 (WebCore::JSStorage::nameGetter):
3352 * bindings/js/JSStyleSheetCustom.cpp:
3354 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3355 (WebCore::JSXMLHttpRequestConstructor::construct):
3356 * bindings/js/JSXMLHttpRequestCustom.cpp:
3357 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
3358 (WebCore::JSXMLHttpRequest::setOnload):
3359 (WebCore::JSXMLHttpRequest::setOnprogress):
3360 (WebCore::JSXMLHttpRequest::getResponseHeader):
3361 (WebCore::JSXMLHttpRequest::addEventListener):
3362 (WebCore::JSXMLHttpRequest::removeEventListener):
3363 * bindings/js/JSXSLTProcessor.cpp:
3364 (WebCore::jsXSLTProcessorPrototypeFunctionGetParameter):
3365 (WebCore::JSXSLTProcessorConstructor::construct):
3366 * bindings/js/kjs_binding.cpp:
3367 (WebCore::jsStringOrNull):
3368 (WebCore::jsOwnedStringOrNull):
3369 (WebCore::jsStringOrUndefined):
3370 (WebCore::jsStringOrFalse):
3371 (WebCore::nonCachingStaticFunctionGetter):
3372 (WebCore::objectToStringFunctionGetter):
3373 * bindings/js/kjs_binding.h:
3374 (WebCore::DOMObject::DOMObject):
3375 (WebCore::cacheDOMObject):
3376 (WebCore::cacheSVGDOMObject):
3377 * bindings/js/kjs_events.cpp:
3378 (WebCore::JSLazyEventListener::eventParameterName):
3379 (WebCore::JSLazyEventListener::parseCode):
3380 * bindings/js/kjs_html.cpp:
3381 (WebCore::getRuntimeObject):
3382 * bridge/c/c_instance.cpp:
3383 (KJS::Bindings::CInstance::defaultValue):
3384 (KJS::Bindings::CInstance::stringValue):
3385 (KJS::Bindings::CInstance::numberValue):
3386 (KJS::Bindings::CInstance::valueOf):
3387 * bridge/c/c_instance.h:
3388 * bridge/c/c_utility.cpp:
3389 (KJS::Bindings::convertNPVariantToValue):
3390 * bridge/jni/jni_instance.cpp:
3391 (JavaInstance::stringValue):
3392 (JavaInstance::numberValue):
3393 (JavaInstance::invokeMethod):
3394 (JavaInstance::defaultValue):
3395 (JavaInstance::valueOf):
3396 * bridge/jni/jni_instance.h:
3397 * bridge/jni/jni_jsobject.h:
3398 * bridge/jni/jni_jsobject.mm:
3399 (JavaJSObject::call):
3400 (JavaJSObject::setMember):
3401 (JavaJSObject::setSlot):
3402 (JavaJSObject::convertJObjectToValue):
3403 (JavaJSObject::getListFromJArray):
3404 * bridge/jni/jni_objc.mm:
3405 (KJS::Bindings::dispatchJNICall):
3406 * bridge/jni/jni_runtime.cpp:
3407 (JavaArray::convertJObjectToArray):
3408 (JavaField::dispatchValueFromInstance):
3409 (JavaField::valueFromInstance):
3410 (JavaField::dispatchSetValueToInstance):
3411 (JavaArray::valueAt):
3412 * bridge/jni/jni_utility.h:
3413 * bridge/objc/objc_class.mm:
3414 (KJS::Bindings::ObjcClass::fallbackObject):
3415 * bridge/objc/objc_instance.h:
3416 * bridge/objc/objc_instance.mm:
3417 (ObjcInstance::defaultValue):
3418 (ObjcInstance::stringValue):
3419 (ObjcInstance::numberValue):
3420 (ObjcInstance::valueOf):
3421 * bridge/objc/objc_utility.h:
3422 * bridge/objc/objc_utility.mm:
3423 (KJS::Bindings::convertNSStringToString):
3424 (KJS::Bindings::convertObjcValueToValue):
3425 * bridge/runtime.cpp:
3426 (KJS::Bindings::Instance::createRuntimeObject):
3428 (KJS::Bindings::Instance::valueOf):
3429 * bridge/runtime_array.cpp:
3430 (RuntimeArray::lengthGetter):
3431 * bridge/runtime_method.cpp:
3432 (RuntimeMethod::lengthGetter):
3433 * bridge/runtime_object.cpp:
3434 (RuntimeObjectImp::RuntimeObjectImp):
3435 (RuntimeObjectImp::methodGetter):
3436 (RuntimeObjectImp::defaultValue):
3437 * xml/XMLHttpRequest.cpp:
3438 (WebCore::XMLHttpRequest::dropProtection):
3439 * bindings/js/GCController.cpp:
3440 (WebCore::GCController::gcTimerFired):
3441 (WebCore::GCController::garbageCollectNow):
3442 Adapted to JSC changes. Pass ExecState to functions that now need it. Removed
3443 collectOnMainThreadOnly, as this is the only way to collect now. Replaced calls to static
3444 Collector methods with calls to per-thread Heap ones.
3446 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
3450 Build the Qt port with SVG Animation support.
3454 2008-05-02 Simon Hausmann <hausmann@webkit.org>
3456 Build fix for Qt/Gtk. Don't declare NP_InitializeFuncPtr twice
3457 with different signatures.
3459 * plugins/npfunctions.h:
3461 2008-05-01 Robin Dunn <robin@alldunn.com>
3463 Reviewed by Kevin Ollivier.
3465 Explicitly set the pen style in wx port to keep pen style changes from
3466 affecting URL underline or text field drawing.
3468 https://bugs.webkit.org/show_bug.cgi?id=18775
3470 * platform/graphics/wx/GraphicsContextWx.cpp:
3471 (WebCore::GraphicsContext::fillRect):
3472 (WebCore::GraphicsContext::drawLineForText):
3473 * platform/wx/RenderThemeWx.cpp:
3474 (WebCore::RenderThemeWx::paintTextField):
3476 2008-05-01 Robin Dunn <robin@alldunn.com>
3478 Reviewed by Kevin Ollivier.
3480 Implement popup menu support for wx port.
3482 https://bugs.webkit.org/show_bug.cgi?id=18776
3484 * platform/PopupMenu.h:
3485 * platform/wx/PopupMenuWx.cpp: Added.
3486 (WebCore::PopupMenu::PopupMenu):
3487 (WebCore::PopupMenu::~PopupMenu):
3488 (WebCore::PopupMenu::show):
3489 (WebCore::PopupMenu::OnMenuItemSelected):
3490 (WebCore::PopupMenu::hide):
3491 (WebCore::PopupMenu::updateFromElement):
3492 (WebCore::PopupMenu::itemWritingDirectionIsNatural):
3493 * platform/wx/TemporaryLinkStubs.cpp:
3496 2008-05-01 Kevin Ollivier <kevino@theolliviers.com>
3498 Reviewed by Eric Seidel.
3500 Make sure we properly set the button for all mouse events,
3501 not just mouse down, set the click count to 0
3502 for non-click events, and finally set the timestamp.
3504 https://bugs.webkit.org/show_bug.cgi?id=18464
3506 * platform/wx/MouseEventWx.cpp:
3507 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3509 2008-05-01 Sam Weinig <sam@webkit.org>
3511 Reviewed by Mark Rowe (in his infinite wisdom).
3513 Auto-generate the JSXSLTProcessor binding.
3515 * DerivedSources.make:
3518 * WebCore.vcproj/WebCore.vcproj:
3519 * WebCore.xcodeproj/project.pbxproj:
3520 * WebCoreSources.bkl:
3521 * bindings/js/JSDOMWindowBase.cpp:
3522 (WebCore::JSDOMWindowBase::getValueProperty):
3523 * bindings/js/JSDOMWindowBase.h:
3524 (WebCore::JSDOMWindowBase::):
3525 * bindings/js/JSXSLTProcessor.cpp: Removed.
3526 * bindings/js/JSXSLTProcessor.h: Removed.
3527 * xml/XSLTProcessor.h:
3529 2008-05-01 Sam Weinig <sam@webkit.org>
3531 Reviewed by Geoffrey Garen.
3534 - https://bugs.webkit.org/show_bug.cgi?id=17249
3535 Incorrect lexical scope after navigation leads to UXSS
3536 <rdar://problem/5738497>
3538 - https://bugs.webkit.org/show_bug.cgi?id=16824
3539 Script authorization should follow lexical (not dynamic) scope
3540 <rdar://problem/5683032>
3542 This patch changes us to perform same-origin checks based on the lexical global object)
3543 rather than dynamic global object, which is now possible we don't re-use the window on
3544 navigations, but rather switch in a new one and re-use the outer shell. This is both
3545 more secure and conforms with the HTML5 specification. Now that all the checks are
3546 done based on the lexical global object, we can remove the SecurityOrigin::Reason
3547 concept, as it was only around to work around an ebay.com bug that required the check to
3550 An important thing to note is that we currently implement a stricter than necessary policy
3551 and perform the same-origin check based on the currently active global object to avoid leaking
3552 the document in cases when the target frame is navigated before access. This will be fixed in
3555 * bindings/js/JSDOMWindowBase.cpp:
3556 (WebCore::JSDOMWindowBase::allowsAccessFrom):
3557 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
3558 (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
3559 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
3560 (WebCore::JSDOMWindowBase::printErrorMessage):
3561 (WebCore::asJSDOMWindow):
3562 * bindings/js/JSDOMWindowBase.h:
3563 * html/CanvasRenderingContext2D.cpp:
3564 (WebCore::CanvasRenderingContext2D::checkOrigin):
3565 (WebCore::CanvasRenderingContext2D::createPattern):
3566 * loader/FrameLoader.cpp:
3567 (WebCore::FrameLoader::begin):
3568 (WebCore::FrameLoader::write):