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