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