4c130e8534bc8e2728ed5e2296897cc5603f5230
[WebKit-https.git] / WebCore / ChangeLog
1 2008-05-27  Adam Roben  <aroben@apple.com>
2
3         Fix Bug 19276: XHR resources are classified as "Other" until Inspector
4         is closed and reopened
5
6         <https://bugs.webkit.org/show_bug.cgi?id=19276>
7         <rdar://problem/5965742>
8
9         Reviewed by Tim Hatcher.
10
11         * page/InspectorController.cpp:
12         (WebCore::InspectorController::updateScriptResourceResponse): Moved
13         code that updates the resource's type from here...
14         (WebCore::InspectorController::updateScriptResourceType): ...to here.
15         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
16         Call updateScriptResourceType now that we know this resource was
17         retrieved via an XHR.
18         * page/InspectorController.h:
19
20 2008-05-27  Timothy Hatcher  <timothy@apple.com>
21
22         Removes a redundant call to InspectorController::stopDebugging().
23
24         Rubber-stamped by Adam Roben.
25
26         * page/InspectorController.cpp:
27         (WebCore::InspectorController::showWindow):
28
29 2008-05-27  Kevin McCullough  <kmccullough@apple.com>
30
31         Reviewed by Tim.
32
33         - Added and updated some manual test for the profiler.
34
35         * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html:
36         * manual-tests/inspector/profiler-test-apply.html:
37         * manual-tests/inspector/profiler-test-call.html:
38         * manual-tests/inspector/profiler-test-deep-recursion.html: Added.
39         * manual-tests/inspector/profiler-test-simple-event-call.html: Added.
40
41 2008-05-27  Kevin Ollivier  <kevino@theolliviers.com>
42
43         wx build fix. Accidently left a couple fixes out of the previous commit.
44
45         * webcore-base.bkl:
46
47 2008-05-27  Kevin Ollivier  <kevino@theolliviers.com>
48
49         wx build fix. Adding JSHTMLElementWrapperFactory.cpp.
50         
51         * WebCoreSources.bkl:
52
53 2008-05-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>
54
55         Reviewed by Simon.
56
57         Fix linking error (missing gdi32 and user32 libraries).
58
59         * WebCore.pro:
60
61 2008-05-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>
62
63         Reviewed by Simon.
64
65         Update the WebKit.qrc so that Web Inspector is functional again.
66
67         * page/inspector/WebKit.qrc:
68
69 2008-05-26  Alp Toker  <alp@nuanti.com>
70
71         Reviewed by Anders.
72
73         http://bugs.webkit.org/show_bug.cgi?id=16495
74         [GTK] Accessibility support with ATK/AT-SPI
75
76         Implement basic action, text and editable text accessibility.
77
78         Provide utility functions to simplify const string return and casting
79         and add some more stubs.
80
81         It's now possible to navigate and manipulate forms and text using
82         assistive technologies.
83
84         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
85         (returnString):
86         (core):
87         * platform/gtk/LocalizedStringsGtk.cpp:
88         (WebCore::AXButtonActionVerb):
89         (WebCore::AXRadioButtonActionVerb):
90         (WebCore::AXTextFieldActionVerb):
91         (WebCore::AXCheckedCheckBoxActionVerb):
92         (WebCore::AXUncheckedCheckBoxActionVerb):
93         (WebCore::AXLinkActionVerb):
94         (WebCore::imageTitle):
95
96 2008-05-25  Maciej Stachowiak  <mjs@apple.com>
97
98         Reviewed by Anders.
99
100         - bind the window's "document" and "window" properties to static slots
101         1.7% speedup on Acid3 test 26
102         
103         Only the "document" part matters for Acid3, but since I was doing
104         this anyway, "window" also seemed like a good one to optimize.
105
106         * bindings/js/JSDOMWindowBase.cpp:
107         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Allocate variable
108         slots for document and window; but just put null in the document
109         slot for now.
110         (WebCore::JSDOMWindowBase::updateDocument): Fill in the document
111         slot.        
112         (WebCore::JSDOMWindowBase::~JSDOMWindowBase): Make our shell stop
113         tracking us.
114         * bindings/js/JSDOMWindowBase.h:
115         * bindings/js/JSDOMWindowShell.cpp:
116         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Allocate HashSet
117         for our still-not-dead inner windows.
118         (WebCore::JSDOMWindowShell::updateDocument): Update all our
119         inner windows ever (to make sure the update to the document
120         property shows up everywhere).
121         * bindings/js/JSDOMWindowShell.h:
122         (WebCore::JSDOMWindowShell::setWindow): Update our hash.
123         (WebCore::JSDOMWindowShell::clearFormerWindow): Ditto.
124         * bindings/js/JSDocumentCustom.cpp:
125         (WebCore::toJS): Don't set self as a property map property of
126         the window, this is no longer necessary.
127         * bindings/js/kjs_proxy.cpp:
128         (WebCore::KJSProxy::initScript): Update document for the
129         newly created window.
130         * bindings/js/kjs_proxy.h:
131         * page/Frame.cpp:
132         (WebCore::Frame::setDocument): If the document is not null,
133         update our window.
134
135 2008-05-26  Anders Carlsson  <andersca@apple.com>
136
137         Reviewed by Sam.
138
139         This patch does two things:
140         
141         * It adds a toJSNewlyCreated function for creating JS wrappers for nodes where we know
142         that the node doesn't have a wrapper. This avoids a hash lookup.
143         
144         * It adds toJSNewlyCreated methods for JSElement and JSText. 
145         
146         All in all this is a 4.3% speedup on Acid 3 test 26.
147         
148         * WebCore.vcproj/WebCore.vcproj:
149         * WebCore.xcodeproj/project.pbxproj:
150         * bindings/js/JSElementCustom.cpp:
151         (WebCore::toJSNewlyCreated):
152         * bindings/js/JSNodeCustom.cpp:
153         (WebCore::createWrapper):
154         (WebCore::toJSNewlyCreated):
155         (WebCore::toJS):
156         * bindings/js/JSTextCustom.cpp: Added.
157         (WebCore::toJSNewlyCreated):
158         * bindings/scripts/CodeGeneratorJS.pm:
159         * dom/Document.idl:
160
161 2008-05-26  Sam Weinig  <sam@webkit.org>
162
163         Reviewed by Anders Carlsson.
164
165         Inline the getOwnPropertySlot for JSNode, JSEventTargetNode, JSElement,
166         and JSDocument for a 1-2% speedup on Acid 3 test 26.
167
168         * bindings/js/JSEventTargetNode.cpp:
169         * bindings/js/JSEventTargetNode.h:
170         (WebCore::JSEventTargetNode::getOwnPropertySlot):
171         (WebCore::JSEventTargetNode::getValueProperty):
172         (WebCore::JSEventTargetNode::put):
173         (WebCore::JSEventTargetNode::putValueProperty):
174         * bindings/scripts/CodeGeneratorJS.pm:
175         * dom/Document.idl:
176         * dom/Element.idl:
177         * dom/Node.idl:
178
179 2008-05-26  Darin Adler  <darin@apple.com>
180
181         Reviewed by Maciej.
182
183         - https://bugs.webkit.org/show_bug.cgi?id=19239
184
185         Removed code that would only useful if if there was any way to create an Entity
186         node or if we populated EntityReference nodes. It's likely that we'll remove
187         these node types entirely in some future version of WebKit, depending in part
188         on what happens with these in HTML 5.
189
190         1.8% speedup of Acid3 test 26.
191
192         The only read-only nodes we ever create are EntityReference nodes.
193         These are only created by explicit calls to the Document.createEntityReference
194         function. Since the created nodes are read-only, there can be no children of
195         these nodes, so no other types of nodes can be read-only despite the rule that
196         makes descendants of Entity and EntityReference nodes read-only.
197
198         * bindings/objc/DOM.mm: Removed unneeded include.
199
200         * dom/Attr.cpp:
201         (WebCore::Attr::setValue): Removed unnecessary isReadOnlyNode check.
202         (WebCore::Attr::setNodeValue): Ditto.
203         * dom/CharacterData.cpp:
204         (WebCore::CharacterData::setData): Removed unnecessary isReadOnlyNode check.
205         (WebCore::CharacterData::substringData): Don't initialize the ec variable before
206         calling checkCharDataOperation, since that function already does it.
207         (WebCore::CharacterData::appendData): Removed unnecessary isReadOnlyNode check.
208         (WebCore::CharacterData::insertData): Don't initialize ec.
209         (WebCore::CharacterData::deleteData): Ditto.
210         (WebCore::CharacterData::replaceData): Ditto.
211         (WebCore::CharacterData::setNodeValue): Removed now-misleading comment.
212         (WebCore::CharacterData::checkCharDataOperation): Removed unnecessary
213         isReadOnlyNode check.
214         * dom/CharacterData.h: Made checkCharDataOperation private and non-virtual
215         since it's never used or defined in any other class.
216
217         * dom/Element.cpp:
218         (WebCore::Element::setAttribute): Removed unneeded isReadOnlyNode check.
219
220         * dom/Entity.cpp: Removed the entire contents of this file.
221
222         * dom/Entity.h: Replaced the class with a stub -- just enough to keep the
223         public bindings (JavaScript and Objective-C compiling), but the class is
224         abstract and can't be instantianted.
225
226         * dom/EntityReference.cpp: Removed unused constructor.
227         (WebCore::EntityReference::cloneNode): Removed unneeded code and comments
228         to clone nonexistent child nodes.
229         * dom/EntityReference.h: Removed unused constructor and unnecessary override
230         of childTypeAllowed, since no children are allowed at all.
231
232         * dom/NamedAttrMap.cpp:
233         (WebCore::NamedAttrMap::setNamedItem): Removed unneeded isReadOnlyNode check.
234         (WebCore::NamedAttrMap::removeNamedItem): Ditto.
235         * dom/NamedAttrMap.h: Removed isReadOnlyNode function.
236
237         * dom/Node.cpp: Removed the old isReadOnlyNode function. It made lots of
238         virtual nodeType function calls.
239         * dom/Node.h:
240         (WebCore::Node::isReadOnlyNode): Replaced the old virtual isReadOnlyNode
241         function with a new simple non-virtual one.
242
243         * dom/ProcessingInstruction.cpp:
244         (WebCore::ProcessingInstruction::setData): Removed unneeded isReadOnlyNode
245         check.
246
247         * dom/Text.cpp:
248         (WebCore::Text::splitText): Removed unneeded isReadOnlyNode check.
249         (WebCore::Text::replaceWholeText): Removed unnecessary isReadOnlyNode assertion.
250         There is no reason for this function to go out of its way to mention the
251         read-only node issue when none of the other DOM mutation functions do.
252
253 2008-05-26  Adam Barth  <abarth@webkit.org>
254
255         Reviewed by Sam.
256
257         Cleanup SecurityOrigin::canAccess.  Removed comment referring to an
258         old version of the code.  Removed some useless code.
259
260         * platform/SecurityOrigin.cpp:
261         (WebCore::SecurityOrigin::canAccess):
262
263 2008-05-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
264
265         Reviewed by Alp Toker.
266
267         * platform/gtk/LocalizedStringsGtk.cpp:
268         (WebCore::contextMenuItemTagSelectAll): Fix GTK+ version check.
269
270 2008-05-25  Chris Fleizach  <cfleizach@apple.com>
271
272         Reviewed by David Harrison
273
274         <rdar://problem/3582905> elements on separate pages need to be distinct
275
276         * page/AccessibilityListBox.h:
277         * page/AccessibilityObject.h:
278         (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
279         * page/AccessibilityRenderObject.cpp:
280         * page/AccessibilityRenderObject.h:
281
282 2008-05-25  Maciej Stachowiak  <mjs@apple.com>
283
284         Reviewed by Darin.
285
286         - don't repaint nodes that are removed before layout
287         4.3% speedup on Acid3 test 26
288
289         Mitz points out the new flag can also be used to optimize other
290         cases of needless repaint such as
291         <https://bugs.webkit.org/show_bug.cgi?id=15129>.
292         
293         * rendering/RenderContainer.cpp:
294         (WebCore::RenderContainer::removeChildNode): If the child has never had a layout,
295         don't bother to repaint it, since there's nothing to dirty.
296         * rendering/RenderObject.cpp:
297         (WebCore::RenderObject::RenderObject): Initialize m_everHadLayout to false.
298         (WebCore::RenderObject::setNeedsLayout): Set m_everHadLayout to true if we
299         are being marked as not needing layout.
300         * rendering/RenderObject.h:
301
302 2008-05-25  Dan Bernstein  <mitz@apple.com>
303
304         Reviewed by Darin Adler.
305
306         - fix https://bugs.webkit.org/show_bug.cgi?id=19086
307           <rdar://problem/5962254> REGRESSION (r28519-r28535): Caret doesn't paint past the right edge of a block
308
309         Test: fast/repaint/caret-outside-block.html
310
311         * editing/SelectionController.cpp:
312         (WebCore::repaintRectForCaret): Restored this function which was removed
313         in r28523, but changed it to inflate only the width.
314         (WebCore::SelectionController::caretRepaintRect): Changed back to use
315         repaintRectForCaret().
316         (WebCore::SelectionController::recomputeCaretRect): Ditto.
317
318 2008-05-25  Marco Barisione  <marco.barisione@collabora.co.uk>
319
320         Reviewed by Alp Toker.
321
322         http://bugs.webkit.org/show_bug.cgi?id=18940
323         [CURL] Allow \n as line terminator for headers
324
325         The line terminator for message-header fields should be CRLF. However,
326         it is recommended to recognise as a line terminator also a single LF.
327
328         * platform/network/curl/ResourceHandleManager.cpp:
329         (WebCore::headerCallback): Allow headers to be terminated by "\n" and
330         not just by "\r\n".
331
332 2008-05-25  Jan Michael Alonzo  <jmalonzo@webkit.org>
333
334         Reviewed by Alp Toker.
335
336         WARNING: NO TEST CASES ADDED OR CHANGED
337
338         http://bugs.webkit.org/show_bug.cgi?id=19142
339         [Gtk] Remove build options --svg-experimental and --cross-document-messaging
340
341         * GNUmakefile.am:
342
343 2008-05-24  Rob Buis  <buis@kde.org>
344
345         Reviewed by Eric.
346
347         https://bugs.webkit.org/show_bug.cgi?id=18927
348         Unify path data debug output
349
350         Implement unified path data output for Mac svg tests.
351
352         * platform/graphics/cg/PathCG.cpp:
353         (WebCore::CGPathToCFStringApplierFunction):
354         (WebCore::CFStringFromCGPath):
355
356 2008-05-24  Timothy Hatcher  <timothy@apple.com>
357
358         Fixes a huge leak with the Inspector where it was protecting
359         a large object that was not being unprotected.
360
361         <rdar://problem/5961999> Inspector protects a large JavaScript
362         object and never unprotects it (large leak)
363
364         Reviewed by Darin Adler.
365
366         * page/InspectorController.cpp:
367         (WebCore::InspectorController::inspectedPageDestroyed): Call close()
368         and removed a call to stopDebugging() and moved it to close().
369         (WebCore::InspectorController::close): Add stopDebugging() and
370         stopUserInitiatedProfiling(). Removed an ASSERT and added an
371         if statement before calling JSValueUnprotect. We don't always have
372         a m_scriptContext and m_scriptObject.
373
374 2008-05-24  Alp Toker  <alp@nuanti.com>
375
376         Win32/gcc3 build fix in Pango font backend. UChar needs to be
377         explicitly cast to gunichar2.
378
379         * platform/graphics/gtk/FontGtk.cpp:
380         (WebCore::utf16_to_utf8):
381
382 2008-05-24  Timothy Hatcher  <timothy@apple.com>
383
384         Fixes a crash where a new Inspector would get an old
385         JSInspectedObjectWrapper for a user agent CSSStyleDeclaration.
386         Since these style objects shared between pages, the wrapper cache
387         would have a wrapper for the object still. But the wrapper was
388         for a previous global object and with a disconnected frame. This
389         fixes the wrapper cache so wrappers are remembered per global object
390         and the object they are wrapping.
391
392         <rdar://problem/5958567> repro crash in WebCore::Frame::keepAlive()
393         opening inspector window after closing it
394
395         Reviewed by Darin Adler.
396
397         * bindings/js/JSInspectedObjectWrapper.cpp:
398         (WebCore::wrappers): Return a GlobalObjectWrapperMap reference.
399         (WebCore::JSInspectedObjectWrapper::wrap): Find the WrapperMap
400         by the dynamicGlobalObject then find the wrapper for unwrappedObject.
401         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Changes
402         how the wrapper is added to the wrapper cache.
403         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Changes
404         how the wrapper is removed from the wrapper cache.
405         * bindings/js/JSQuarantinedObjectWrapper.h:
406         (WebCore::JSQuarantinedObjectWrapper:unwrappedGlobalObject): Added.
407
408 2008-05-24  Alexey Proskuryakov  <ap@webkit.org>
409
410         Reviewed by Maciej.
411
412         Optimize Node::textContent() to avoid O(n^2) string appending behavior.
413
414         1.6% speedup at Acid3 test 26.
415
416         * WebCore.xcodeproj/project.pbxproj:
417         * GNUmakefile.am:
418         * WebCore.pro:
419         * WebCoreSources.bkl:
420         * WebCore.vcproj/WebCore.vcproj:
421         * platform/text/StringBuilder.cpp: Added.
422         (WebCore::StringBuilder::append):
423         (WebCore::StringBuilder::toString):
424         * platform/text/StringBuilder.h: Added.
425         (WebCore::StringBuilder::StringBuilder):
426         (WebCore::StringBuilder::isNull):
427         Added a simple class to efficiently build a string by appending. Potentially, it can be
428         extended to be more like java.lang.StringBuilder, but we don't need that much flexibility now.
429
430         * dom/Node.cpp:
431         (WebCore::Node::appendTextContent):
432         (WebCore::Node::textContent):
433         * dom/Node.h:
434         Changed to use StringBuilder.
435
436 2008-05-24  Julien Chaffraix  <jchaffraix@webkit.org>
437
438         Reviewed by Eric.
439
440         Bug 9191: JS*ElementWrapperFactory should be autogenerated
441         https://bugs.webkit.org/show_bug.cgi?id=9191
442
443         This is a first pass for generation of JS*ElementWrapperFactory, in the long term we should move the make_names.pl
444         intelligence to the *.in files.
445
446         - Add a new parameter to make_names.pl --wrapperFactory which works like --wrapper but generates the
447         JS*ElementWrapperFactory files.
448
449         - Removed JS*ElementWrapperFactory files in WebCore/bindings/js, replaced by the generated ones.
450
451         - Updated the build systems to account for the previous changes.
452
453         * DerivedSources.make:
454         * GNUmakefile.am:
455         * WebCore.pro:
456         * WebCore.vcproj/WebCore.vcproj:
457         * WebCore.xcodeproj/project.pbxproj:
458         * WebCoreSources.bkl:
459         * bindings/js/JSHTMLElementWrapperFactory.cpp: Removed.
460         * bindings/js/JSHTMLElementWrapperFactory.h: Removed.
461         * bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
462         * bindings/js/JSSVGElementWrapperFactory.h: Removed.
463         * dom/make_names.pl:
464
465 2008-05-24  Oleg Finkelshteyn <olegfink@gmail.com>
466
467         Rubber-stamped and landed by Alexey.
468
469         Build fix for gcc 4.3.
470
471         * WebCore/page/Console.cpp:
472         Add missing standard includes.
473
474 2008-05-23  Timothy Hatcher  <timothy@apple.com>
475
476         Fixes a bug where a timer would keep firing after the Inspector
477         was closed. It turns out this timer wasn't needed anymore now
478         that we can add an event listener to the inspected page and have
479         it get called in the Inspector's context.
480
481         https://bugs.webkit.org/show_bug.cgi?id=18577
482
483         Reviewed by Mark Rowe.
484
485         * page/inspector/ElementsPanel.js:
486
487 2008-05-23  Anthony Ricaud  <rik24d@gmail.com>
488
489         Changes the largerResourcesButton tooltip to toggle.
490
491         https://bugs.webkit.org/show_bug.cgi?id=19210
492
493         Reviewed by Tim Hatcher.
494
495         * WebCore/English.lproj/localizedStrings.js: New string and clean an
496         double string "Dock to main window."
497         * WebCore/page/inspector/ResourcesPanel.js: Toggle the tooltip and
498         change the default tooltip
499
500 2008-05-23  Justin Garcia  <justin.garcia@apple.com>
501
502         Reviewed by Darin.
503
504         <rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget)
505         
506         Execute cut, copy and paste if they are invoked explicitly, via execCommand or -[WebView copy:], even
507         if they are disabled.  This will fire oncopy, oncut and onpaste, but won't perform any other work, like
508         writing to the pasteboard during cut/copy or deleting the selection during cut/paste.  This matches FF3,
509         which actually goes further and fires oncopy on any Command-C.
510         
511         * editing/EditorCommand.cpp:
512         (WebCore::CommandEntry::):
513         (WebCore::Editor::Command::execute):
514
515 2008-05-23  Timothy Hatcher  <timothy@apple.com>
516
517         Adds a percentage toggle button the profile view status bar that
518         changes the time columns between absolute and percents.
519
520         https://bugs.webkit.org/show_bug.cgi?id=19224
521
522         Reviewed by Kevin McCullough.
523
524         * English.lproj/localizedStrings.js: New strings.
525         * page/inspector/Images/percentButtons.png: Added.
526         * page/inspector/ProfileView.js: Make the button and add it to the
527         status bar. Make clicking toggle the showAsPercent* properties.
528         * page/inspector/inspector.css: New styles.
529
530 2008-05-23  Timothy Hatcher  <timothy@apple.com>
531
532         Fixes a bug where excluding nodes from the profile could
533         show an empty parent node.
534
535         <rdar://problem/5959573> Excluding nodes from the profile could show
536         an empty parent node
537
538         Reviewed by Kevin McCullough.
539
540         * page/inspector/ProfileView.js: Only say we have children if
541         all of our children nodes are visible.
542
543 2008-05-23  Anders Carlsson  <andersca@apple.com>
544
545         Reviewed by Adam.
546
547         Add IconFetcher to project.
548         
549         * WebCore.vcproj/WebCore.vcproj:
550
551 2008-05-23  Timothy Hatcher  <timothy@apple.com>
552
553         Fixes a bug where the Web Insepctor would jump back to
554         Elements each time it is opened instead of staying at the
555         last selected panel.
556
557         <rdar://problem/5959475> Inspector jumps to the Elements panel
558         each time it is opened, instead of staying at the previous panel
559
560         Reviewed by Adam Roben.
561
562         * page/InspectorController.cpp:
563         (WebCore::InspectorController::setWindowVisible): Reset
564         m_showAfterVisible to CurrentPanel, so the next time setWindowVisible
565         is called it will use CurrentPanel unless showPanel was called again.
566
567 2008-05-23  chris fleizach  <cfleizach@apple.com>
568
569         Reviewed by Darin Adler.
570
571         <rdar://problem/5933759> REGRESSION: Frames don't appear as AX children of the top level web area
572
573         * page/AccessibilityRenderObject.cpp:
574         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
575
576 2008-05-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
577
578         Reviewed by Simon.
579
580         For Qt port, support painting to native Windows HDC.
581
582         * platform/graphics/GraphicsContext.h:
583         * platform/graphics/qt/GraphicsContextQt.cpp:
584         (WebCore::GraphicsContext::getWindowsContext):
585         (WebCore::GraphicsContext::releaseWindowsContext):
586
587 2008-05-23  Timothy Hatcher  <timothy@apple.com>
588
589         Fixes a bug where the Inspector could have 0ms timers firing
590         even after it is closed.
591
592         https://bugs.webkit.org/show_bug.cgi?id=18577
593
594         Reviewed by Oliver Hunt.
595
596         * page/inspector/DatabasesPanel.js: Removes setTimeouts that call
597         the same function with a 0ms delay. These we not doing any good anyway,
598         so they weren't needed and just caused problems.
599         * page/inspector/ElementsPanel.js: Ditto.
600         * page/inspector/ProfilesPanel.js: Ditto.
601         * page/inspector/ResourcesPanel.js: Ditto.
602
603 2008-05-23  Timothy Hatcher  <timothy@apple.com>
604
605         Make the Inspector correctly populate the profiles when
606         closed and re-opened.
607
608         Reviewed by Adam Roben.
609
610         * page/InspectorController.cpp:
611         (WebCore::InspectorController::populateScriptObjects): Call populateInterface
612         in inspector.js.
613         * page/inspector/ProfilesPanel.js:
614         (WebInspector.ProfilesPanel.prototype.populateInterface): If visible,
615         call _populateProfiles. Else just set this._shouldPopulateProfiles to true.
616         (WebInspector.ProfilesPanel.prototype.reset): Don't call _populateProfiles.
617         Just set this._shouldPopulateProfiles to true.
618         (WebInspector.ProfilesPanel.prototype._populateProfiles): Delete
619         this._shouldPopulateProfiles.
620         * page/inspector/inspector.js:
621         (WebInspector.populateInterface): Added. Call populateInterface on all the
622         panels if they implement it.
623
624 2008-05-23  Kevin McCullough  <kmccullough@apple.com>
625
626         RS = Adam.
627
628         Editorial changes
629
630         * manual-tests/inspector/profiler-test-apply.html:
631         * manual-tests/inspector/profiler-test-document-dot-write.html:
632         * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html:
633         * manual-tests/inspector/profiler-test-one-execution-context.html:
634         * manual-tests/inspector/profiler-test-two-execution-contexts.html:
635
636 2008-05-23  Timothy Hatcher  <timothy@apple.com>
637
638         Fixes the bug where the profile was not added when finished.
639
640         <rdar://problem/5958851> Stop Profiling from the Develop menu does
641         not add the Profile to the Inspector
642
643         Reviewed by Adam Roben.
644
645         * page/InspectorController.cpp:
646         (WebCore::InspectorController::stopUserInitiatedProfiling): Call
647         addProfile with the result of stopProfiling.
648
649 2008-05-23  Timothy Hatcher  <timothy@apple.com>
650
651         Tweak the Web Insector toolbar look to be smaller when attached to
652         the inspected page.
653
654         Reviewed by Adam Roben.
655
656         * page/inspector/inspector.css:
657
658 2008-05-23  Simon Hausmann  <hausmann@webkit.org>
659
660         Fix compilation without accessibility by providing an empty stub for
661         AXObjectCache::handleAriaRoleChanged.
662
663         * page/AXObjectCache.h:
664
665 2008-05-23  Alice Liu  <alice.liu@apple.com>
666
667         Reviewed by Mark Rowe.
668
669         Remove call to function whose body was commented out. Returning the
670         children for a menu button by the normal calculation works just as well. 
671
672         * page/AccessibilityRenderObject.cpp:
673         (WebCore::AccessibilityRenderObject::addChildren):
674         * page/AccessibilityRenderObject.h:
675
676 2008-05-22  Timothy Hatcher  <timothy@apple.com>
677
678         Fixes the bug where resource would show up multiple times in the
679         Inspector. This happened when a resource was used multiple times or
680         when the preloader was scanning ahead to fetch resources.
681
682         <rdar://problem/5689373> Cached resources re-appear in Web Inspector
683         for each access (18223)
684
685         Reviewed by Adam Roben.
686
687         * page/InspectorController.cpp:
688         (WebCore::InspectorController::addResource): Add the URL to m_knownResources.
689         (WebCore::InspectorController::removeResource): Remove the URL from m_knownResources
690         (WebCore::InspectorController::didLoadResourceFromMemoryCache): If the URL
691         is in m_knownResources, then early return.
692         * page/InspectorController.h: Added m_knownResources.
693
694 2008-05-22  Alice Liu  <alice.liu@apple.com>
695
696         Reviewed by Adele, Dan Bernstein.
697
698         Fixed <rdar://problem/5943104> Need to implement ARIA role="menu" and related roles
699         <rdar://problem/5943132> Need to implement ARIA role="menuitem"
700         <rdar://problem/5943173> Need to implement ARIA role="menubar" 
701
702         These changes added a handler for determining the ARIA role when the
703         attribute changes.  Before we were querying for the attribute over and
704         over every time we queried for the role.
705         * dom/Element.cpp:
706         (WebCore::Element::attributeChanged):
707         * page/AXObjectCache.cpp:
708         (WebCore::AXObjectCache::handleAriaRoleChanged):
709         * page/AXObjectCache.h:
710
711         The rest of these changes implement menu, menuitem, and menubar. the last 2 of those
712         have to, for now, be represented as a Group and MenuButton instead, because AppKit 
713         won't recognize menubar and menubaritems within apps. 
714         * page/AccessibilityObject.h:
715         (WebCore::AccessibilityObject::isMenuRelated):
716         (WebCore::AccessibilityObject::isMenu):
717         (WebCore::AccessibilityObject::isMenuBar):
718         (WebCore::AccessibilityObject::isMenuButton):
719         (WebCore::AccessibilityObject::isMenuItem):
720         * page/AccessibilityRenderObject.cpp:
721         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
722         (WebCore::AccessibilityRenderObject::parentObject):
723         (WebCore::AccessibilityRenderObject::isMenuRelated):
724         (WebCore::AccessibilityRenderObject::isMenu):
725         (WebCore::AccessibilityRenderObject::isMenuBar):
726         (WebCore::AccessibilityRenderObject::isMenuButton):
727         (WebCore::AccessibilityRenderObject::isMenuItem):
728         (WebCore::siblingWithAriaRole):
729         (WebCore::AccessibilityRenderObject::menuElementForMenuButton):
730         (WebCore::AccessibilityRenderObject::menuForMenuButton):
731         (WebCore::AccessibilityRenderObject::menuItemElementForMenu):
732         (WebCore::AccessibilityRenderObject::menuButtonForMenu):
733         (WebCore::AccessibilityRenderObject::title):
734         (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
735         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
736         (WebCore::RoleEntry::):
737         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
738         (WebCore::AccessibilityRenderObject::setAriaRole):
739         (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
740         (WebCore::AccessibilityRenderObject::addChildren):
741         (WebCore::AccessibilityRenderObject::ariaMenuButtonChildren):
742         * page/AccessibilityRenderObject.h:
743         * page/mac/AccessibilityObjectWrapper.mm:
744         (-[AccessibilityObjectWrapper accessibilityActionNames]):
745         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
746         (-[AccessibilityObjectWrapper roleDescription]):
747         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
748         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
749
750 2008-05-22  Adam Roben  <aroben@apple.com>
751
752         Make top-level resources show their full URLs again instead of just
753         "/"
754
755         Reviewed by Tim Hatcher.
756
757         * page/inspector/Resource.js:
758         (WebInspector.Resource.prototype.displayName): If the title has gotten
759         down to just "/", which will happen for, e.g., http://webkit.org/,
760         just show the entire URL.
761
762 2008-05-22  Timothy Hatcher  <timothy@apple.com>
763
764         Shorten URLs shown in the Web Inspector to the file name. This makes
765         finding files in the Console or the Scripts panel easier.
766
767         Reviewed by Adam Roben.
768
769         * page/inspector/Console.js:
770         (WebInspector.ConsoleMessage.prototype.get shortURL): Removed dead code.
771         (WebInspector.ConsoleMessage.prototype.toMessageElement): Call WebInspector.displayNameForURL
772         for the URL before making the link element.
773         * page/inspector/ProfileView.js:
774         (WebInspector.ProfileDataGridNode.prototype.createCell): Use WebInspector.displayNameForURL.
775         * page/inspector/Resource.js:
776         (WebInspector.Resource.prototype.get displayName): Use trimURL to
777         trim the URL with the main resource's domain.
778         * page/inspector/ScriptsPanel.js:
779         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use WebInspector.displayNameForURL.
780         * page/inspector/StylesSidebarPane.js:
781         (WebInspector.StylePropertiesSection): Ditto.
782         * page/inspector/inspector.js:
783         (WebInspector.displayNameForURL): Added.
784         (WebInspector.resourceForURL): Check for a direct match in resourceURLMap first.
785
786 2008-05-22  Adam Roben  <aroben@apple.com>
787
788         Fix Bug 19204: Inspector should highlight source lines when following
789         links to them
790
791         <https://bugs.webkit.org/show_bug.cgi?id=19204>
792
793         Reviewed by Tim Hatcher.
794
795         Test: manual-tests/inspector/highlight-source-line.html
796
797         * manual-tests/inspector/highlight-source-line.html: Added.
798         * page/inspector/ResourcesPanel.js:
799         (WebInspector.ResourcesPanel.prototype.showResource): Call
800         highlightLine on the view if that function exists.
801         * page/inspector/SourceFrame.js:
802         (WebInspector.SourceFrame.prototype.highlightLine): Added. Adds the
803         webkit-highlighted-line class to the relevant line, then removes it
804         after a short delay.
805         (WebInspector.SourceFrame.prototype._loaded): Added styles for the
806         highlighted line(s).
807         * page/inspector/SourceView.js:
808         (WebInspector.SourceView.prototype.highlightLine): Added. Calls
809         through to the SourceFrame.
810
811 2008-05-22  Rob Buis  <buis@kde.org>
812
813         Reviewed by Eric.
814
815         https://bugs.webkit.org/show_bug.cgi?id=12053
816         SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size
817
818         Reduce code size through shared base classes.
819
820         * svg/SVGPathSeg.h:
821         (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
822         (WebCore::SVGPathSegSingleCoord::setX):
823         (WebCore::SVGPathSegSingleCoord::x):
824         (WebCore::SVGPathSegSingleCoord::setY):
825         (WebCore::SVGPathSegSingleCoord::y):
826         (WebCore::SVGPathSegSingleCoord::toString):
827         * svg/SVGPathSegArc.cpp:
828         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
829         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
830         * svg/SVGPathSegArc.h:
831         (WebCore::SVGPathSegArc::SVGPathSegArc):
832         (WebCore::SVGPathSegArc::toString):
833         (WebCore::SVGPathSegArc::setX):
834         (WebCore::SVGPathSegArc::x):
835         (WebCore::SVGPathSegArc::setY):
836         (WebCore::SVGPathSegArc::y):
837         (WebCore::SVGPathSegArc::setR1):
838         (WebCore::SVGPathSegArc::r1):
839         (WebCore::SVGPathSegArc::setR2):
840         (WebCore::SVGPathSegArc::r2):
841         (WebCore::SVGPathSegArc::setAngle):
842         (WebCore::SVGPathSegArc::angle):
843         (WebCore::SVGPathSegArc::setLargeArcFlag):
844         (WebCore::SVGPathSegArc::largeArcFlag):
845         (WebCore::SVGPathSegArc::setSweepFlag):
846         (WebCore::SVGPathSegArc::sweepFlag):
847         (WebCore::SVGPathSegArcAbs::create):
848         (WebCore::SVGPathSegArcAbs::pathSegType):
849         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
850         (WebCore::SVGPathSegArcRel::create):
851         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
852         * svg/SVGPathSegCurvetoCubic.cpp:
853         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
854         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
855         * svg/SVGPathSegCurvetoCubic.h:
856         (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
857         (WebCore::SVGPathSegCurvetoCubic::toString):
858         (WebCore::SVGPathSegCurvetoCubic::setX):
859         (WebCore::SVGPathSegCurvetoCubic::x):
860         (WebCore::SVGPathSegCurvetoCubic::setY):
861         (WebCore::SVGPathSegCurvetoCubic::y):
862         (WebCore::SVGPathSegCurvetoCubic::setX1):
863         (WebCore::SVGPathSegCurvetoCubic::x1):
864         (WebCore::SVGPathSegCurvetoCubic::setY1):
865         (WebCore::SVGPathSegCurvetoCubic::y1):
866         (WebCore::SVGPathSegCurvetoCubic::setX2):
867         (WebCore::SVGPathSegCurvetoCubic::x2):
868         (WebCore::SVGPathSegCurvetoCubic::setY2):
869         (WebCore::SVGPathSegCurvetoCubic::y2):
870         (WebCore::SVGPathSegCurvetoCubicAbs::create):
871         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
872         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
873         (WebCore::SVGPathSegCurvetoCubicRel::create):
874         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
875         * svg/SVGPathSegCurvetoCubicSmooth.cpp:
876         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
877         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
878         * svg/SVGPathSegCurvetoCubicSmooth.h:
879         (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
880         (WebCore::SVGPathSegCurvetoCubicSmooth::toString):
881         (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
882         (WebCore::SVGPathSegCurvetoCubicSmooth::x):
883         (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
884         (WebCore::SVGPathSegCurvetoCubicSmooth::y):
885         (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
886         (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
887         (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
888         (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
889         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
890         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
891         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
892         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
893         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
894         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
895         * svg/SVGPathSegCurvetoQuadratic.cpp:
896         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
897         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
898         * svg/SVGPathSegCurvetoQuadratic.h:
899         (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
900         (WebCore::SVGPathSegCurvetoQuadratic::toString):
901         (WebCore::SVGPathSegCurvetoQuadratic::setX):
902         (WebCore::SVGPathSegCurvetoQuadratic::x):
903         (WebCore::SVGPathSegCurvetoQuadratic::setY):
904         (WebCore::SVGPathSegCurvetoQuadratic::y):
905         (WebCore::SVGPathSegCurvetoQuadratic::setX1):
906         (WebCore::SVGPathSegCurvetoQuadratic::x1):
907         (WebCore::SVGPathSegCurvetoQuadratic::setY1):
908         (WebCore::SVGPathSegCurvetoQuadratic::y1):
909         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
910         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
911         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
912         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
913         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
914         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
915         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
916         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
917         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
918         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
919         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
920         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
921         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
922         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
923         * svg/SVGPathSegLineto.cpp:
924         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
925         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
926         * svg/SVGPathSegLineto.h:
927         (WebCore::SVGPathSegLinetoAbs::create):
928         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
929         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
930         * svg/SVGPathSegLinetoHorizontal.cpp:
931         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
932         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
933         * svg/SVGPathSegLinetoHorizontal.h:
934         (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
935         (WebCore::SVGPathSegLinetoHorizontal::toString):
936         (WebCore::SVGPathSegLinetoHorizontal::setX):
937         (WebCore::SVGPathSegLinetoHorizontal::x):
938         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
939         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
940         (WebCore::SVGPathSegLinetoHorizontalRel::create):
941         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
942         * svg/SVGPathSegLinetoVertical.cpp:
943         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
944         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
945         * svg/SVGPathSegLinetoVertical.h:
946         (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
947         (WebCore::SVGPathSegLinetoVertical::toString):
948         (WebCore::SVGPathSegLinetoVertical::setY):
949         (WebCore::SVGPathSegLinetoVertical::y):
950         (WebCore::SVGPathSegLinetoVerticalAbs::create):
951         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
952         (WebCore::SVGPathSegLinetoVerticalRel::create):
953         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
954         * svg/SVGPathSegMoveto.cpp:
955         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
956         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
957         * svg/SVGPathSegMoveto.h:
958         (WebCore::SVGPathSegMovetoAbs::create):
959         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
960         (WebCore::SVGPathSegMovetoRel::create):
961         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
962
963 2008-05-22  Alp Toker  <alp@nuanti.com>
964
965         GTK+/DirectFB build fix attempt.
966
967         * plugins/PluginDatabase.cpp:
968         (WebCore::PluginDatabase::isPreferredPluginDirectory):
969         * plugins/gtk/PluginDatabaseGtk.cpp:
970         (WebCore::PluginDatabase::isPreferredPluginDirectory):
971
972 2008-05-22  Timothy Hatcher  <timothy@apple.com>
973
974         Adds Focus, Exclude and Restore buttons to the Profile view
975         Status bar. Also adds a Record button to create new profiles.
976
977         <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a profile node.
978         <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a profile node.
979
980         Reviewed by Adam Roben.
981
982         * English.lproj/localizedStrings.js: Added new strings.
983         * page/JavaScriptProfile.cpp:
984         (WebCore::restoreAll): Call Profile::restoreAll.
985         (WebCore::ProfileClass): Added restoreAll to the static functions.
986         * page/inspector/Images/excludeButtons.png: Added.
987         * page/inspector/Images/focusButtons.png: Added.
988         * page/inspector/Images/recordButtons.png: Added.
989         * page/inspector/Images/reloadButtons.png: Added.
990         * page/inspector/ProfileView.js:
991         (WebInspector.ProfileView): Create the buttons elements.
992         (WebInspector.ProfileView.prototype.get statusBarItems): Return the three
993         status bar buttons.
994         (WebInspector.ProfileView.prototype.refresh): Only create ProfileDataGridNodes
995         for ProfileNodes that are visible.
996         (WebInspector.ProfileView.prototype.refreshShowAsPercents): Just call
997         refresh on the children, now that they have access to the ProfileView's properties.
998         (WebInspector.ProfileView.prototype._focusClicked): Call focus
999         on the profile, refresh the ProfileView and show the reset button.
1000         (WebInspector.ProfileView.prototype._excludeClicked): Call exclude
1001         on the profile, refresh the ProfileView and show the reset button.
1002         (WebInspector.ProfileView.prototype._resetClicked): Call restoreAll
1003         on the profile, refresh the ProfileView and hide the reset button.
1004         (WebInspector.ProfileView.prototype._dataGridNodeSelected): Enable the 
1005         focus and exclude buttons.
1006         (WebInspector.ProfileView.prototype._dataGridNodeDeselected): Disable the
1007         focus and exclude buttons.
1008         (WebInspector.ProfileDataGridNode): Take a ProfileView, and remove the 
1009         showPercentAs* arguments.
1010         * page/inspector/ProfilesPanel.js: Add a record status bar button and
1011         th ability to have per-view status bar buttons.
1012         * page/inspector/inspector.css: New styles.
1013
1014 2008-05-22  Mark Rowe  <mrowe@apple.com>
1015
1016         Reviewed by Tim Hatcher.
1017
1018         <rdar://problem/5956612> ibtool crashes during build
1019
1020         SCDynamicStoreCreate will return null if it cannot create a dynamic store object.  We need
1021         to check for failure rather than continuing with a null store as this results in us
1022         passing a null CFRunLoopSourceRef to CFRunLoopAddSource, which promptly crashes.
1023
1024         * platform/network/mac/NetworkStateNotifierMac.cpp:
1025         (WebCore::NetworkStateNotifier::NetworkStateNotifier): Null check SCDynamicStoreCreate and
1026         SCDynamicStoreCreateRunLoopSource as it is possible for them to fail.
1027
1028 2008-05-22  Adam Roben  <aroben@apple.com>
1029
1030         Add a test for calling a NodeList as a function while profiling
1031
1032         Reviewed by Kevin McCullough.
1033
1034         * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Added.
1035
1036 2008-05-22  Kevin McCullough  <kmccullough@apple.com>
1037
1038         Rubber stamped by Adam.
1039
1040         -Added new profiler tests.
1041
1042         * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Added.
1043         * manual-tests/inspector/profiler-test-constructor.html: Added.
1044         * manual-tests/inspector/profiler-test-document-dot-write.html: Added.
1045         * manual-tests/inspector/profiler-test-simple-no-level-change.html: Added.
1046         * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Added.
1047         * manual-tests/inspector/profiler-test-window-dot-eval.html: Added.
1048
1049 2008-05-22  Kevin McCullough  <kmccullough@apple.com>
1050
1051         Reviewed by Tim.
1052
1053         <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a
1054         profile node.
1055         -Expose the 'exclude' function to the WebInspector.
1056         -Also fix a bug with 'focus' and expose whether or not a node is visible
1057
1058         * page/JavaScriptProfile.cpp: Renamed profileClass to have a capital P.
1059         (WebCore::getTitleCallback):
1060         (WebCore::getHeadCallback):
1061         (WebCore::focus): Now correctly compares against a ProfileNodeClass
1062         instead of ProfileClass.
1063         (WebCore::exclude): Expose 'exclude' function to the WebInspector.
1064         (WebCore::ProfileClass):
1065         (WebCore::toJS):
1066         * page/JavaScriptProfileNode.cpp: Declare the ProfileNodeClass in the
1067         header so that ProfileClass can use it.
1068         (WebCore::getVisible): Expose a node's visiblity to the WebInspector.
1069         (WebCore::ProfileNodeClass):
1070         * page/JavaScriptProfileNode.h:
1071
1072 2008-05-22  Sam Weinig  <sam@webkit.org>
1073
1074         Reviewed by Anders Carlsson.
1075
1076         <rdar://problem/5838772> Support cross-site XMLHttpRequest
1077
1078         - Implement support for cross-site non-GET requests using the HTTP header
1079           Access-control mechanism.
1080
1081         Tests: http/tests/xmlhttprequest/access-control-basic-allow-async.html
1082                http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html
1083                http/tests/xmlhttprequest/access-control-basic-not-get-allow.html
1084
1085         * xml/XMLHttpRequest.cpp:
1086         (WebCore::XMLHttpRequest::XMLHttpRequest):
1087         (WebCore::XMLHttpRequest::send):
1088         Don't continue send if inside the method check preflight (only happens for async).
1089         
1090         (WebCore::XMLHttpRequest::crossSiteAccessRequest):
1091         Add support for non-GET requests, starting off a method check preflight.
1092
1093         (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
1094         Handler for finishing up after an asynchronous method check has completed.
1095
1096         (WebCore::XMLHttpRequest::didFinishLoading):
1097         (WebCore::XMLHttpRequest::didFinishLoadingMethodCheck):
1098         (WebCore::XMLHttpRequest::didReceiveResponse):
1099         (WebCore::XMLHttpRequest::didReceiveResponseMethodCheck):
1100         (WebCore::XMLHttpRequest::didReceiveData):
1101         Do a limited set of access control when in the method check preflight.
1102         * xml/XMLHttpRequest.h:
1103
1104 2008-05-22  Timothy Hatcher  <timothy@apple.com>
1105
1106         Make sure we don't call findTreeElement with the same representedObject
1107         again, to prevent infinite recursion. Added many comments to this
1108         code so it can be understood later.
1109
1110         https://bugs.webkit.org/show_bug.cgi?id=19164
1111
1112         Reviewed by Adam Roben.
1113
1114         * page/inspector/treeoutline.js:
1115
1116 2008-05-22  Timothy Hatcher  <timothy@apple.com>
1117
1118         Re-word the "Attach Debugger" overlay to never say "Attach". The new
1119         wording is "Start Debugging". This makes the overlay consistent with
1120         other wording used for starting the debugger. Also fixes the tooltips
1121         for the Pause on Exceptions button.
1122
1123         Reviewed by Adam Roben and Dan Bernstein.
1124
1125         * English.lproj/localizedStrings.js: Adds new strings.
1126         * page/inspector/ScriptsPanel.js: Changes the wording. Flips the
1127         tooltips for the Pause on Exceptions buttons so the tooltip says
1128         what will happen when the button is pressed.
1129
1130 2008-05-22  Timothy Hatcher  <timothy@apple.com>
1131
1132         Remove some non-functional elements from the Scripts panel
1133         so they don't confuse users why they aren't working.
1134
1135         Reviewed by Adam Roben.
1136
1137         * page/inspector/ScriptsPanel.js: Removes the back/forward buttons
1138         and the function menu.
1139         * page/inspector/inspector.css: Make the files menu wider since there
1140         is more room now.
1141
1142 2008-05-22  Timothy Hatcher  <timothy@apple.com>
1143
1144         <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
1145
1146         Reviewed by Adam Roben.
1147
1148         * English.lproj/localizedStrings.js:
1149         * WebCore.base.exp:
1150         * page/InspectorController.cpp:
1151         (WebCore::InspectorController::InspectorController):
1152         (WebCore::InspectorController::inspect):
1153         (WebCore::InspectorController::setWindowVisible):
1154         (WebCore::InspectorController::showPanel):
1155         (WebCore::InspectorController::startUserInitiatedProfiling):
1156         (WebCore::InspectorController::stopUserInitiatedProfiling):
1157         (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
1158         (WebCore::InspectorController::stopDebugging):
1159         * page/InspectorController.h:
1160         (WebCore::InspectorController::):
1161         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
1162         * page/inspector/ProfilesPanel.js:
1163         * page/inspector/ScriptsPanel.js:
1164         * page/inspector/inspector.js:
1165
1166 2008-05-22  Josh Aas  <joshmoz@gmail.com>
1167
1168         Reviewed by Anders.
1169
1170         <rdar://problem/5956429> 
1171         https://bugs.webkit.org/show_bug.cgi?id=19192
1172         remove NPNVpluginEventModel, fix example plugin
1173         
1174         Remove NPNVpluginEventModel enum variable.
1175         
1176         * bridge/npapi.h:
1177
1178 2008-05-22  Stephanie Lewis  <slewis@apple.com>
1179
1180         Reviewed by Dan.
1181
1182         Fix <rdar://problem/5952405>.  The unbeforeunload count cannot be cleared when it is dispatched because it is possible to be called again.  Clear it after the unload event is dispatched.
1183
1184         Test: fast/events/onunload-clears-onbeforeunload.html
1185
1186         * loader/FrameLoader.cpp:
1187         (WebCore::FrameLoader::stopLoading):
1188         * page/Frame.cpp:
1189         (WebCore::Frame::shouldClose):
1190
1191 2008-05-22  Simon Hausmann  <hausmann@webkit.org>
1192
1193         Reviewed by Oliver.
1194
1195         Qt build fix.
1196
1197         * bindings/js/StringSourceProvider.h: Remove text at end of
1198         preprocessor statement.
1199         * bridge/qt/qt_instance.cpp:
1200         (KJS::Bindings::QtRuntimeObjectImp::getConstructData): Replaced
1201         implementsConstruct() with getConstructData().
1202         (KJS::Bindings::QtInstance::getCallData): Replaced implementsCall with
1203         getCallData().
1204         (KJS::Bindings::QtInstance::invokeDefaultMethod): Use getCallData()
1205         instead of implementsCall().
1206         * bridge/qt/qt_instance.h:
1207
1208 2008-05-22  Adam Roben  <aroben@apple.com>
1209
1210         Massively speed up date-format-tofte with the debugger attached
1211
1212         On a debug Windows build (I know, hardly a good testcase) this patch
1213         makes this test run 57.25x as fast.
1214
1215         Reviewed by Mark Rowe.
1216
1217         * page/inspector/ScriptsPanel.js:
1218         (WebInspector.ScriptsPanel.prototype.reset): Clear the
1219         _scriptsForURLsInFilesSelect object.
1220         (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Instead
1221         of looping over all the options in the select to find the option we
1222         want, get the script object from _scriptsForURLsInFilesSelect and get
1223         the option element from the script object.
1224         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use
1225         _scriptsForURLsInFilesSelect to cache the script objects. Store the
1226         option element for each script on the script object so we can quickly
1227         retrieve it later.
1228
1229 2008-05-22  Adam Roben  <aroben@apple.com>
1230
1231         Remove some dead code from ScriptsPanel.js
1232
1233         Reviewed by Mark Rowe.
1234
1235         * page/inspector/ScriptsPanel.js:
1236
1237 2008-05-21  Adam Roben  <aroben@apple.com>
1238
1239         Fix Bug 19178: Inspector should support sorting resources by latency
1240
1241         <https://bugs.webkit.org/show_bug.cgi?id=19178>
1242
1243         I replaced "Sort by Time" with the following sorting options:
1244           - Sort by Start Time
1245           - Sort by Response Time
1246           - Sort by End Time
1247           - Sort by Duration
1248           - Sort by Latency
1249
1250         You can no longer sort by Size when looking at the Time graph, and you
1251         can't use any of the time-based sorting functions when looking at the
1252         Size graph.
1253
1254         Reviewed by Tim Hatcher.
1255
1256         * page/inspector/Resource.js:
1257         (WebInspector.Resource.prototype.get duration): Added.
1258         (WebInspector.Resource.prototype.get latency): Added.
1259         (WebInspector.Resource.CompareByStartTime): Added.
1260         (WebInspector.Resource.CompareByResponseReceivedTime): Added.
1261         (WebInspector.Resource.CompareByEndTime): Added.
1262         (WebInspector.Resource.CompareByDuration): Added.
1263         (WebInspector.Resource.CompareByLatency): Added.
1264         * page/inspector/ResourcesPanel.js:
1265         (WebInspector.ResourcesPanel):
1266           - Each graph sidebar item now holds a list of sorting options
1267           - Graph sidebar items no longer have a calculator property. This is
1268             stored on the sorting options instead, to allow each kind of
1269             sorting to have a different calculator.
1270           - The sortingSelectElement starts out empty, and is populated in
1271             _graphSelected
1272           - The sortingFunction starts out uninitialized and is set as a
1273             side-effect of _graphSelected.
1274         (WebInspector.ResourcesPanel.prototype.set calculator): Don't do
1275         anything if the calculator hasn't changed.
1276         (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Use the
1277         _lastSelectedGraphTreeElement property instead of getting the graph
1278         element from the calculator.
1279         (WebInspector.ResourcesPanel.prototype._graphSelected):
1280           - Store the tree element in the _lastSelectedGraphTreeElement
1281             property
1282           - Popuplate sortingSelectElement with the sortingOptions and select
1283             the option that was last selected
1284         (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set
1285         our calculator from the sorting option.
1286         (WebInspector.ResourceTimeCalculator): Renamed from
1287         ResourceTransferTimeCalculator. Now takes a parameter to specify
1288         whether the bars should all start at zero.
1289         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages):
1290         Take this.startAtZero into account.
1291         (WebInspector.ResourceTimeCalculator.prototype.updateBoundries):
1292         Abstracted the lower/upper bounds of a resource into methods.
1293         (WebInspector.ResourceTimeCalculator.prototype._lowerBound): Added.
1294         (WebInspector.ResourceTimeCalculator.prototype._upperBound): Added.
1295         (WebInspector.ResourceTransferTimeCalculator): Added. This is now a
1296         subclass of ResourceTimeCalculator
1297         (WebInspector.ResourceTransferDurationCalculator): Added.
1298         (WebInspector.ResourceSidebarTreeElement.CompareByAscendingStartTime): Added.
1299         (WebInspector.ResourceSidebarTreeElement.CompareByAscendingResponseReceivedTime): Added.
1300         (WebInspector.ResourceSidebarTreeElement.CompareByAscendingEndTime): Added.
1301         (WebInspector.ResourceSidebarTreeElement.CompareByDescendingDuration): Added.
1302         (WebInspector.ResourceSidebarTreeElement.CompareByDescendingLatency): Added.
1303         (WebInspector.ResourceSidebarTreeElement.CompareByDescendingSize):
1304         Changed to call CompareBySize.
1305
1306 2008-05-21  Adam Roben  <aroben@apple.com>
1307
1308         Fix Bug 19173: Tool tips for Inspector debugger status bar buttons are
1309         wrong/missing
1310
1311         <https://bugs.webkit.org/show_bug.cgi?id=19173>
1312
1313         Reviewed by Tim Hatcher.
1314
1315         * manual-tests/inspector/debugger-status-bar-buttons-state.html:
1316         Added.
1317         * page/inspector/ScriptsPanel.js:
1318         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Call
1319         _clearInterface (which updates the buttons' tool tips) after
1320         attaching/detaching the debugger so that the buttons will reflect the
1321         new state.
1322         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
1323         Set the title of the pauseOnExceptionsButton, not the debuggingButton.
1324
1325 2008-05-20  Adam Roben  <aroben@apple.com>
1326
1327         Fix Bug 19153: Inspector should support console.debug
1328
1329         <https://bugs.webkit.org/show_bug.cgi?id=19153>
1330         <rdar://problem/5950856>
1331
1332         Reviewed by Tim Hatcher.
1333
1334         Test: manual-tests/inspector/console-log-formatting.html
1335
1336         * bindings/js/JSConsoleCustom.cpp:
1337         (WebCore::JSConsole::debug): Added.
1338         * manual-tests/inspector/console-log-formatting.html: Changed to test
1339         console.debug as well.
1340         * page/Console.cpp:
1341         (WebCore::Console::debug): Added. Just calls through to log().
1342         * page/Console.h:
1343         * page/Console.idl: Added debug() declaration.
1344
1345 2008-05-21  Kevin McCullough  <kmccullough@apple.com>
1346
1347         Reviewed by Adam.
1348
1349         <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a
1350         profile node.
1351         - Expose the Profile's 'focus' ability to WebCore and the WebInspector.
1352
1353         * page/JavaScriptProfile.cpp:
1354         (WebCore::focus):
1355         (WebCore::profileClass):
1356
1357 2008-05-21  Timothy Hatcher  <timothy@apple.com>
1358
1359         Remove the rest of the debug code inside DEBUG_DEBUGGER_CALLBACKS
1360         since the parts the remain aren't useful.
1361
1362         * page/JavaScriptDebugServer.cpp:
1363         (WebCore::JavaScriptDebugServer::sourceParsed):
1364
1365 2008-05-21  Beth Dakin  <bdakin@apple.com>
1366
1367         Reviewed by Anders.
1368
1369         Fix for <rdar://problem/5848161> REGRESSION (r31438?): Crash 
1370         beneath ResourceHandle::setDefersLoading while running fast/loader/
1371         simultaneous-reloads-assert.html (null CFURLConnection)
1372
1373         * platform/network/cf/ResourceHandleCFNet.cpp:
1374         (WebCore::ResourceHandle::setDefersLoading): Added simple null-
1375         check.
1376
1377 2008-05-21  Timothy Hatcher  <timothy@apple.com>
1378
1379         Adds the Request and Response headers to the Resource view.
1380
1381         <rdar://problem/5940782> REGRESSION: Resource Request and Response
1382         headers aren't shown (18451)
1383
1384         Reviewed by Adam Roben.
1385
1386         * English.lproj/localizedStrings.js: Added new strings.
1387         * css/view-source.css: Add comments to make sure a couple of
1388         style rules stay in sync with inspector.css.
1389         * page/inspector/Resource.js:
1390         (WebInspector.Resource.prototype.set url): Dispatch an event when
1391         this property changes.
1392         (WebInspector.Resource.prototype.set requestHeaders): Ditto.
1393         (WebInspector.Resource.prototype.set responseHeaders): Ditto.
1394         * page/inspector/ResourceView.js:
1395         (WebInspector.ResourceView): Add new elements for the headers
1396         and a headers TreeOutline. Add event listeners for resource
1397         property changes. Calls the three new refresh functions.
1398         (WebInspector.ResourceView.prototype.set headersVisible): Implemented.
1399         Toggles the headers-visible class name.
1400         (WebInspector.ResourceView.prototype._refreshURL): Update the URL
1401         tree element.
1402         (WebInspector.ResourceView.prototype._refreshRequestHeaders): Call _refreshHeaders.
1403         (WebInspector.ResourceView.prototype._refreshResponseHeaders): Ditto.
1404         (WebInspector.ResourceView.prototype._refreshHeaders): Remove the previous
1405         headers fromm the tree element. Loop throuh the headers and create new
1406         tree elements and append them.
1407         * page/inspector/ResourcesPanel.js:
1408         (WebInspector.ResourcesPanel.prototype._updateSidebarWidth): Call resize
1409         on the visible view if it is implemented.
1410         * page/inspector/SourceFrame.js:
1411         (WebInspector.SourceFrame.prototype.get autoSizesToFitContentHeight):
1412         (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
1413         (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
1414         (WebInspector.SourceFrame.prototype._loaded): 
1415         (WebInspector.SourceFrame.prototype._windowResized): 
1416         * page/inspector/SourceView.js:
1417         (WebInspector.SourceView): Move the SourceFrame creation so it is
1418         available when headersVisible is set. Add a gutter element to fill
1419         the vertical space no covered by the SourceFrame now.
1420         (WebInspector.SourceView.prototype.set headersVisible): Set the
1421         SourceFrame.autoSizesToFitContentHeight when this property changes.
1422         (WebInspector.SourceView.prototype.resize): Call SourceFrame.sizeToFitContentHeight
1423         when autoSizesToFitContentHeight is true. This happens when resizing the 
1424         Resources sidebar.
1425         * page/inspector/inspector.css: Add a copy of webkit-line-gutter-backdrop
1426         and a comment to keep in sync with view-source.css. Adds other styles
1427         for the headers area of resource-view.
1428
1429 2008-05-21  Sam Weinig  <sam@webkit.org>
1430
1431         Reviewed by Anders Carlsson.
1432
1433         <rdar://problem/5838772> Support cross-site XMLHttpRequest
1434
1435         - Implement support for cross-site GET requests using the HTTP header
1436           Access-control mechanism.
1437
1438         Tests: http/tests/xmlhttprequest/access-control-basic-allow-headers.html
1439                http/tests/xmlhttprequest/access-control-basic-allow.html
1440                http/tests/xmlhttprequest/access-control-basic-denied.html
1441                http/tests/xmlhttprequest/access-control-basic-exclude.html
1442
1443         * xml/AccessControlList.cpp:
1444         (WebCore::AccessControlList::checkOrigin): Implement the list check algorithm.
1445         * xml/AccessControlList.h:
1446
1447         * xml/AccessItem.cpp:
1448         (WebCore::AccessItem::AccessItem):
1449         (WebCore::AccessItem::matches):
1450         * xml/AccessItem.h:
1451         Temporarily use a SecurityOrigin as the bases of AccessItem matching. Using
1452         the isSameSchemeHostPort test of the SecurityOrigin allows for a legal subset
1453         of the AccessItem match algorithm to be used, until the complete parsing of
1454         the wildcards and optional pieces is complete. 
1455
1456         * xml/AccessItemRule.cpp:
1457         (WebCore::matchesAny):
1458         (WebCore::AccessItemRule::allowListMatchesAny):
1459         (WebCore::AccessItemRule::excludeListMatchesAny):
1460         * xml/AccessItemRule.h:
1461         More of the implementation of the list check algorithm.  Check if any of the items
1462         in the rule match the control origin.
1463
1464         * xml/XMLHttpRequest.cpp:
1465         (WebCore::XMLHttpRequest::XMLHttpRequest):
1466         (WebCore::XMLHttpRequest::open): Don't throw a SECURITY_ERR for cross-domain requests anymore.
1467         (WebCore::XMLHttpRequest::send): Use different paths for same origin and cross-domain requests.
1468         (WebCore::XMLHttpRequest::crossSiteAccessRequest): Temporarily only support the GET method for
1469         cross-domain requests.  
1470         (WebCore::XMLHttpRequest::loadRequestSynchronously):
1471         (WebCore::XMLHttpRequest::processSyncLoadResults):
1472         This can now throw an exception if a cross-domain request is denied by the access control
1473         (WebCore::XMLHttpRequest::didFinishLoading):
1474         Add support for cross-domain GET request.  ASSERT temporarily that the method is GET, since we
1475         should have bailed out much earlier for non-GET methods.
1476         (WebCore::XMLHttpRequest::willSendRequest):
1477         (WebCore::XMLHttpRequest::didReceiveResponse):
1478         Do the HTTP header access-control check as soon as the headers arrive.
1479         * xml/XMLHttpRequest.h:
1480
1481 2008-05-21  Alp Toker  <alp@nuanti.com>
1482
1483         Rubber-stamped by Maciej.
1484
1485         Replace non-standard #pragma marks with comments to avoid compiler
1486         warnings.
1487
1488         * page/InspectorController.cpp:
1489
1490 === End merge of squirrelfish ===
1491
1492 2008-05-21  Geoffrey Garen  <ggaren@apple.com>
1493
1494         Reviewed by Tim Hatcher.
1495
1496         Merged with trunk WebCore's new debugger.
1497
1498         * page/InspectorController.cpp:
1499         (WebCore::currentCallFrame): Updated to use the DebuggerCallFrame API.
1500         (WebCore::InspectorController::pauseInDebugger): Updated for name change
1501         explained below.
1502         (WebCore::InspectorController::resumeDebugger): ditto
1503         (WebCore::InspectorController::didParseSource): Fixed a bug that would
1504         produce garbled text in some cases: Don't treat JS source as null-
1505         terminated UTF8; it's UTF16.
1506
1507         * page/JavaScriptCallFrame.cpp:
1508         * page/JavaScriptCallFrame.h: Changed this class to do all of its processing
1509         through a JavaScriptCore DebuggerCallFrame. We have to copy the DebuggerCallFrame
1510         because it's a temporary.
1511         (WebCore::JavaScriptCallFrame::update): Added an API for updating a call
1512         frame during execution: this is how we handle "with" and "eval".
1513
1514         * page/JavaScriptDebugServer.cpp: Separated "m_paused" from
1515         "m_doneProcessingDebuggerEvents", because they have different semantics:
1516         "m_paused" is the flag the debug server uses to indicate that new debugger
1517         callbacks should be ignored, because they come from the debugger's own
1518         JS code; "m_doneProcessingDebuggerEvents" is the flag the debugger UI
1519         uses to indicate that it's done processing events, and would like execution
1520         to continue. When these flags were one, the debugger would erroneously
1521         process callbacks that ocurred while unwinding from its own JS code.
1522
1523         (WebCore::toPage): Removed some unnecessary NULL checking. Added some
1524         missing NULL checking.
1525         
1526         (WebCore::JavaScriptDebugServer::pauseIfNeeded): Changed pause tracking
1527         to track a JavaScriptCallFrame instead of an ExecState, since ExecState
1528         is no longer a unique identifier for a call frame.
1529
1530         I removed the updateCurrentCallFrame scheme, and replaced it with
1531         individual tracking inside these callbacks:
1532         
1533         (WebCore::JavaScriptDebugServer::callEvent):
1534         (WebCore::JavaScriptDebugServer::atStatement):
1535         (WebCore::JavaScriptDebugServer::returnEvent):
1536         (WebCore::JavaScriptDebugServer::exception):
1537         
1538         The updateCurrentCallFrame scheme was just too incompatible with the
1539         squirrelfish execution model. Everything still works as before, except
1540         for eval, which no longer shows up as an independent call frame. We'll
1541         need to augment our debugger callbacks to bring back support for that.
1542
1543         * page/inspector/ScopeChainSidebarPane.js: Updated to use the activation
1544         class's new name.
1545
1546 2008-05-21  Maciej Stachowiak  <mjs@apple.com>
1547
1548         Reviewed by Oliver.
1549
1550         - write directly to the slot we used to check for override properties, when possible
1551         2.6% speedup on in-browser SunSpider
1552
1553         * bindings/js/JSDOMWindowCustom.h:
1554         (WebCore::JSDOMWindow::customPut):
1555
1556 2008-05-20  Maciej Stachowiak  <mjs@apple.com>
1557
1558         Reviewed by Oliver.
1559
1560         - inline JSDOMWindow security checks
1561         0.9% speedup to SunSpider in-browser
1562
1563         * bindings/js/JSDOMWindowBase.cpp:
1564         * bindings/js/JSDOMWindowCustom.h:
1565         (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
1566         (WebCore::JSDOMWindowBase::allowsAccessFrom):
1567         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
1568         (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
1569         * bindings/js/kjs_binding.cpp:
1570
1571 2008-05-20  Maciej Stachowiak  <mjs@apple.com>
1572
1573         Reviewed by Adam.
1574
1575         - use ALWAYS_INLINE on customGetOwnPropertySlot since it wasn't inlining
1576         2% speedup to SunSpider in-browser
1577
1578         * bindings/js/JSDOMWindowCustom.h:
1579         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1580
1581 2008-05-20  Maciej Stachowiak  <mjs@apple.com>
1582
1583         Reviewed by Adam.
1584
1585         - inline JSDOMWindow's customPut and customGetOwnPropertySlot methods
1586         1.2% speedup to SunSpider in-browser
1587         
1588         The approach here is to make the code generator include a
1589         JS{classname}Custom.h header in the autogenerated implementation,
1590         which we can use to provide inline versions.
1591
1592         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1593         * bindings/js/JSCSSStyleDeclarationCustom.h: Added.
1594         * bindings/js/JSDOMWindowCustom.cpp:
1595         * bindings/js/JSDOMWindowCustom.h:
1596         (WebCore::asJSDOMWindow):
1597         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1598         (WebCore::JSDOMWindow::customPut):
1599         * bindings/js/JSHTMLAppletElementCustom.cpp:
1600         * bindings/js/JSHTMLAppletElementCustom.h: Added.
1601         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1602         * bindings/js/JSHTMLEmbedElementCustom.h: Added.
1603         * bindings/js/JSHTMLObjectElementCustom.cpp:
1604         * bindings/js/JSHTMLObjectElementCustom.h: Added.
1605         * bindings/js/JSHistoryCustom.cpp:
1606         * bindings/js/JSHistoryCustom.h: Added.
1607         * bindings/js/JSLocationCustom.cpp:
1608         * bindings/js/JSLocationCustom.h: Added.
1609         * bindings/js/JSStorageCustom.cpp:
1610         * bindings/js/JSStorageCustom.h: Added.
1611         * bindings/scripts/CodeGeneratorJS.pm:
1612
1613 2008-05-19  Maciej Stachowiak  <mjs@apple.com>
1614
1615         Reviewed by Anders.
1616
1617         - inline asDOMWindow (using a new JSDOMWindowCustom.h header) since it is just a cast
1618         1% speedup to SunSpider in-browser
1619
1620         * WebCore.vcproj/WebCore.vcproj:
1621         * WebCore.xcodeproj/project.pbxproj:
1622         * bindings/js/JSCustomVoidCallback.cpp:
1623         * bindings/js/JSCustomXPathNSResolver.cpp:
1624         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1625         * bindings/js/JSDOMWindowBase.cpp:
1626         * bindings/js/JSDOMWindowBase.h:
1627         * bindings/js/JSDOMWindowCustom.cpp:
1628         * bindings/js/JSDOMWindowCustom.h: Added.
1629         (WebCore::asJSDOMWindow):
1630         * bindings/js/JSDatabaseCustom.cpp:
1631         * bindings/js/JSDocumentCustom.cpp:
1632         * bindings/js/JSLocationCustom.cpp:
1633         * bindings/js/JSSQLTransactionCustom.cpp:
1634         * bindings/js/JSXMLHttpRequestCustom.cpp:
1635         * page/JavaScriptDebugServer.cpp:
1636
1637 2008-05-19  Maciej Stachowiak  <mjs@apple.com>
1638
1639         Reviewed by Oliver.
1640
1641         - obtain current inner window of outer window in a more efficient way
1642         1.6% speedup to SunSpider in-browser
1643
1644         * bindings/js/JSDOMWindowBase.cpp:
1645         (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
1646
1647 2008-05-19  Maciej Stachowiak  <mjs@apple.com>
1648
1649         Reviewed by Adam.
1650
1651         - make impl() method for JSWindow inline
1652         0.6% speedup to SunSpider in-browser
1653
1654         * WebCore.base.exp: Remove now-inline symbol
1655         * bindings/scripts/CodeGeneratorJS.pm: Make the codegen script inline impl()
1656         even for classes with a parent class.
1657
1658 2008-05-17  Geoffrey Garen  <ggaren@apple.com>
1659
1660         Reviewed by Oliver Hunt.
1661
1662         Updated for API changes in KJS::Debugger.
1663
1664 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
1665
1666         Reviewed by Oliver Hunt.
1667
1668         Updated for API changes in KJS::Debugger.
1669
1670         * page/JavaScriptDebugServer.cpp:
1671         (WebCore::JavaScriptDebugServer::callEvent):
1672         (WebCore::JavaScriptDebugServer::atStatement):
1673         (WebCore::JavaScriptDebugServer::returnEvent):
1674         (WebCore::JavaScriptDebugServer::exception):
1675         * page/JavaScriptDebugServer.h:
1676
1677 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
1678
1679         Reviewed by Oliver Hunt.
1680         
1681         Updated JavaScriptDebugServer API to accept a SourceProvider instead
1682         of a UString, to avoid copying.
1683
1684         * page/JavaScriptDebugServer.cpp:
1685         (WebCore::JavaScriptDebugServer::sourceParsed): Updated this function
1686         not to return a value.
1687
1688 2008-05-10  Maciej Stachowiak  <mjs@apple.com>
1689
1690         Build fix.
1691         
1692         - add missing forwarding header
1693
1694         * ForwardingHeaders/kjs/SourceProvider.h: Added.
1695
1696 2008-05-10  Maciej Stachowiak  <mjs@apple.com>
1697
1698         Reviewed by Oliver.
1699
1700         - WebCore part of fix for: "SQUIRRELFISH: function toString broken after calling"
1701         https://bugs.webkit.org/show_bug.cgi?id=18869
1702
1703         * bindings/js/StringSourceProvider.h: Added. SourceProvider subclass backed by a WebCore::String.
1704         (WebCore::StringSourceProvider::create):
1705         (WebCore::StringSourceProvider::getRange):
1706         (WebCore::StringSourceProvider::data):
1707         (WebCore::StringSourceProvider::length):
1708         (WebCore::StringSourceProvider::StringSourceProvider):
1709         * bindings/js/kjs_proxy.cpp:
1710         (WebCore::KJSProxy::evaluate): Pass a StringSourceProvider to
1711         evaluate() instead of UChar* / length.
1712         * html/HTMLScriptElement.cpp:
1713         (WebCore::HTMLScriptElement::text): Modified to return the
1714         original string as-is when the script element contains only a
1715         single text node, to avoid excess memory use.
1716         
1717         * WebCore.vcproj/WebCore.vcproj: Add new file to build.
1718         * WebCore.xcodeproj/project.pbxproj: ditto
1719
1720 2008-05-09  Oliver Hunt  <oliver@apple.com>
1721
1722         Reviewed by Geoff.
1723
1724         Build fixes for SquirrelFish on windows.
1725
1726         * bindings/js/JSNavigatorCustom.cpp:
1727
1728 2008-05-08  Geoffrey Garen  <ggaren@apple.com>
1729
1730         Reviewed by Oliver Hunt.
1731
1732         Fixed platform/mac/plugins/bindings-test-objc.html.
1733         
1734         I've restored -[WebScriptObject setException] and
1735         +[WebScriptObject throwException].
1736         
1737         Instead of mucking around in the JavaScript engine's execution state,
1738         throwing an exception sets a global exception string, along with the
1739         environment in which to throw it. An ObjC callback checks the global
1740         exception string and, if it's non-nil and the environment matches the
1741         current exceution environment, throws the global exception string as a
1742         JS exception.
1743
1744         I also removed the old currentGlobalObject infrastructure: it's no longer
1745         used.
1746
1747 2008-05-06  Oliver Hunt  <oliver@apple.com>
1748
1749         Reviewed by Maciej.
1750
1751         Bug 18866: SQUIRRELFISH: JS/ObjC bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18866>
1752         Bug 18867: SQUIRRELFISH: JS/NPRuntime bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18867>
1753
1754         This fixes function binding logic for the ObjC and NPRuntime by
1755         replacing incorrect implementations of implementsCall (which is
1756         no longer virtual) with implementations of getCallData.
1757
1758         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1759         (WebCore::JSQuarantinedObjectWrapper::getCallData):
1760         * bindings/js/JSQuarantinedObjectWrapper.h:
1761         * bridge/c/c_instance.cpp:
1762         * bridge/c/c_instance.h:
1763         * bridge/objc/objc_instance.h:
1764         * bridge/objc/objc_instance.mm:
1765         * bridge/objc/objc_runtime.h:
1766         * bridge/objc/objc_runtime.mm:
1767         (ObjcFallbackObjectImp::getCallData):
1768         * bridge/runtime.h:
1769         * bridge/runtime_object.cpp:
1770         (RuntimeObjectImp::getCallData):
1771         * bridge/runtime_object.h:
1772
1773 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
1774
1775         Build fix: supply a parameter that used to be implicit to
1776         Interpreter::evaluate.
1777
1778 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
1779
1780         Build fix: #ifdef'd out some code that doesn't work anymore.
1781
1782         * bindings/objc/WebScriptObject.mm:
1783         (+[WebScriptObject throwException:]):
1784         (-[WebScriptObject setException:]):
1785
1786 2008-04-14  Gabor Loki  <loki@inf.u-szeged.hu>
1787
1788         Reviewed by Geoffrey Garen.
1789
1790         Bug 18489: Squirrelfish doesn't build on linux
1791         <https://bugs.webkit.org/show_bug.cgi?id=18489>
1792
1793         * WebCore.pro: Add JavaScriptCore/VM into include path
1794
1795 2008-04-10  Sam Weinig  <sam@webkit.org>
1796
1797         Reviewed by Geoffrey Garen.
1798
1799         Adjusted WebCore JS functions to the new "getConstructData" calling convention.
1800
1801 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
1802
1803         Reviewed by Oliver Hunt.
1804         
1805         Adjusted WebCore JS functions to the new "getCallData" calling convention.
1806
1807 === Start merge of squirrelfish ===
1808
1809 2008-05-21  Anders Carlsson  <andersca@apple.com>
1810
1811         Reviewed by Mitz.
1812
1813         Add IconFetcher implementation.
1814
1815         * WebCore.base.exp:
1816         * WebCore.xcodeproj/project.pbxproj:
1817         * html/HTMLLinkElement.h:
1818         (WebCore::HTMLLinkElement::isIcon):
1819         * loader/icon/IconFetcher.cpp: Added.
1820         (WebCore::IconLinkEntry::):
1821         (WebCore::IconLinkEntry::IconLinkEntry):
1822         (WebCore::IconLinkEntry::type):
1823         (WebCore::IconLinkEntry::url):
1824         (WebCore::IconLinkEntry::buffer):
1825         (WebCore::parseIconLink):
1826         (WebCore::IconFetcher::create):
1827         (WebCore::IconFetcher::IconFetcher):
1828         (WebCore::IconFetcher::~IconFetcher):
1829         (WebCore::IconFetcher::cancel):
1830         (WebCore::IconFetcher::createIcon):
1831         (WebCore::IconFetcher::loadEntry):
1832         (WebCore::IconFetcher::loadFailed):
1833         (WebCore::IconFetcher::didReceiveResponse):
1834         (WebCore::IconFetcher::didReceiveData):
1835         (WebCore::IconFetcher::didFinishLoading):
1836         (WebCore::IconFetcher::didFail):
1837         * loader/icon/IconFetcher.h: Added.
1838         (WebCore::IconFetcherClient::~IconFetcherClient):
1839
1840 2008-05-21  Dan Bernstein  <mitz@apple.com>
1841
1842         Reviewed by Dave Hyatt.
1843
1844         - fix https://bugs.webkit.org/show_bug.cgi?id=18352
1845           <rdar://problem/5854517> crash loading malicious font
1846
1847         * platform/graphics/mac/SimpleFontDataMac.mm:
1848         (WebCore::SimpleFontData::platformInit): In the case of a custom font,
1849         there is no NSFont to base the fallback font on, so get a font based on
1850         fallback family name alone.
1851
1852 2008-05-21  Timothy Hatcher  <timothy@apple.com>
1853
1854         Adds the files and line numbers to the Profile call tree.
1855
1856         <rdar://problem/5952924> Inspector needs to show file and line number
1857         in the Profile call tree
1858
1859         Reviewed by Geoff Garen.
1860
1861         * page/JavaScriptProfileNode.cpp:
1862         (WebCore::getFunctionName): Fixes a JSStringRef leak.
1863         (WebCore::getURL): Call ProfileNode::url.
1864         (WebCore::getLineNumber): Call ProfileNode::lineNumber.
1865         (WebCore::ProfileNodeClass): Add the url and lineNumber properties.
1866         * page/inspector/ProfileView.js:
1867         (WebInspector.ProfileDataGridNode.prototype.createCell): Overload the
1868         DataGridNode.createCell and add the file and lineNumber to the
1869         cell if the column is the function column.
1870         * page/inspector/inspector.css: New styles for the file and line.
1871
1872 2008-05-21  Timothy Hatcher  <timothy@apple.com>
1873
1874         Restores logging of console calls to the STDOUT
1875         when Interpreter::shouldPrintExceptions() is true.
1876
1877         <rdar://problem/5636442> REGRESSION: Console.log no longer logs to
1878         the system console or terminal
1879
1880         <rdar://problem/5146079> JavaScript exception logging should print
1881         accurate file and line info when called from WebScriptObject
1882
1883         Reviewed by Adam Roben.
1884
1885         * bindings/js/JSCustomSQLStatementCallback.cpp:
1886         (WebCore::JSCustomSQLStatementCallback::handleEvent): Remove existing
1887         printf and check for Interpreter::shouldPrintExceptions() since there is
1888         a call to Console::addMessage.
1889         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1890         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): Ditto.
1891         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1892         (WebCore::JSCustomSQLTransactionCallback::handleEvent): Ditto.
1893         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1894         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Ditto.
1895         * bindings/js/JSCustomVoidCallback.cpp:
1896         (WebCore::JSCustomVoidCallback::handleEvent): Ditto.
1897         * bindings/js/JSCustomXPathNSResolver.cpp:
1898         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Ditto.
1899         * bindings/js/JSDOMWindowBase.cpp:
1900         (WebCore::JSDOMWindowBase::printErrorMessage): Ditto.
1901         * bindings/js/ScheduledAction.cpp:
1902         (WebCore::ScheduledAction::execute): Ditto.
1903         * bindings/js/kjs_events.cpp:
1904         (WebCore::JSAbstractEventListener::handleEvent): Ditto.
1905         * loader/FrameLoader.cpp:
1906         (WebCore::FrameLoader::shouldAllowNavigation): Ditto.
1907         * bindings/objc/WebScriptObject.mm:
1908         (WebCore::addExceptionToConsole): Added helper static function that
1909         calls Console::addMessage.
1910         (-[WebScriptObject callWebScriptMethod:withArguments:]): Call addExceptionToConsole.
1911         (-[WebScriptObject evaluateWebScript:]): Ditto.
1912         (-[WebScriptObject setValue:forKey:]): Ditto.
1913         (-[WebScriptObject valueForKey:]): Ditto.
1914         (-[WebScriptObject removeWebScriptKey:]): Ditto.
1915         (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
1916         (-[WebScriptObject setWebScriptValueAtIndex:value:]): Ditto.
1917         * page/Console.cpp:
1918         (WebCore::Console::addMessage): Print the level, message,
1919         URL and line number to STDOUT.
1920         (WebCore::printToStandardOut): Helper static function that
1921         takes a prefix string, ExecState, an argument List and URL.
1922         Prints the prefix and loops through the arguments calling
1923         toString on each and printing the string. Finally printing
1924         the URL and new line.
1925         (WebCore::Console::error): Call printToStandardOut.
1926         (WebCore::Console::info): Ditto.
1927         (WebCore::Console::log): Ditto.
1928         (WebCore::Console::assertCondition): Ditto.
1929         (WebCore::Console::warn): Ditto.
1930
1931 2008-05-20  Timothy Hatcher  <timothy@apple.com>
1932
1933         Changes to work with the new Profiler API. The Profile is now
1934         stored by the InspectorController when Console.profileEnd is called.
1935         This solves three issues with the previous design. First, we don't
1936         keep profiles around unless the Inspector is enabled. Second, we
1937         only show Profiles initiated by the Page in it's Inspector, not every
1938         Profile for the whole process. Third, we now show Profiles in the
1939         Inspector when they are created.
1940
1941         <rdar://problem/5951562> New profiles aren't added to the Inspector
1942         as they finish
1943
1944         Reviewed by Kevin McCullough.
1945
1946         * bindings/js/JSConsoleCustom.cpp:
1947         (WebCore::JSConsole::profileEnd): Added. Calls impl()->profileEnd()
1948         and passes the ExecState and arguments.
1949         * page/Console.cpp:
1950         (WebCore::Console::profile):
1951         (WebCore::Console::profileEnd): Accept the optional title argument
1952         and pass it to Profilier::stopProfiling along with the ExecState.
1953         Calls InspectorController::addProfile with the result Profile.
1954         * page/Console.h:
1955         * page/Console.idl: Made profileEnd Custom so we can get the ExecState.
1956         * page/InspectorController.cpp:
1957         (WebCore::profiles): Renamed from allProfiles. Uses the controller's
1958         profiles vector.
1959         (WebCore::InspectorController::addProfile): Appends to m_profiles.
1960         Calls addScriptProfile if the window is visible.
1961         (WebCore::InspectorController::windowScriptObjectAvailable): Renamed
1962         allProfiles to profiles.
1963         (WebCore::InspectorController::addScriptProfile): Calls addProfile on
1964         the JavaScript side.
1965         (WebCore::InspectorController::didCommitLoad): Clears m_profiles.
1966         * page/InspectorController.h:
1967         * page/inspector/ProfilesPanel.js: Populates the profiles sidebar the first
1968         time the panel is shown after a rest.
1969         * page/inspector/inspector.js: Added addProfile, calls ProfilesPanel's
1970         addProfile function.
1971
1972 2008-05-21  Alexey Proskuryakov  <ap@webkit.org>
1973
1974         Reviewed by Darin.
1975
1976         https://bugs.webkit.org/show_bug.cgi?id=19169
1977         <rdar://5952342> REGRESSION: nakarte.ru searches don't work
1978
1979         Test: http/tests/xmlhttprequest/encode-request-url.html
1980
1981         * platform/KURL.cpp: (WebCore::KURL::init): Don't allow UTF-8 encoded data to be implicitly
1982         converted to String, as it will be encoded again by parse().
1983
1984 2008-05-21  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1985
1986         Reviewed by Simon.
1987
1988         For the Qt port, fix building with Qt for Embedded Linux.
1989
1990         * WebCore.pro:
1991
1992 2008-05-21  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1993
1994         Reviewed by Simon.
1995
1996         For the Qt port, allow building without NPAPI plugin support.
1997
1998         * WebCore.pro:
1999         * plugins/PluginView.h:
2000
2001 2008-05-20  Kevin McCullough  <kmccullough@apple.com>
2002
2003         Reviewed by Tim.
2004
2005         Added all of my personal manual tests for the profiler.
2006
2007         * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Added.
2008         * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Added.
2009         * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Added.
2010         * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Added.
2011         * manual-tests/inspector/profiler-test-apply.html: Added.
2012         * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Added.
2013         * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Added.
2014         * manual-tests/inspector/profiler-test-call.html: Added.
2015         * manual-tests/inspector/profiler-test-dead-time.html: Added.
2016         * manual-tests/inspector/profiler-test-event-handler.html: Added.
2017         * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Added.
2018         * manual-tests/inspector/profiler-test-inline-event-handler.html: Added.
2019         * manual-tests/inspector/profiler-test-many-calls-in-the-same-scope.html: Added.
2020         * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Added.
2021         * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Added.
2022         * manual-tests/inspector/profiler-test-multiple-frames.html: Added.
2023         * manual-tests/inspector/profiler-test-multiple-windows.html: Added.
2024         * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Added.
2025         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Added.
2026         * manual-tests/inspector/profiler-test-no-execution-context.html: Added.
2027         * manual-tests/inspector/profiler-test-one-execution-context.html: Added.
2028         * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Added.
2029         * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added.
2030         * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Added.
2031         * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Added.
2032         * manual-tests/inspector/profiler-test-two-execution-contexts.html: Added.
2033         * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Added.
2034         * manual-tests/inspector/resources: Added.
2035         * manual-tests/inspector/resources/other-frame.html: Added.
2036         * manual-tests/inspector/resources/other-window.html: Added.
2037         * manual-tests/inspector/resources/profiler-test-JS-resources.js: Added.
2038
2039 2008-05-20  Adam Roben  <aroben@apple.com>
2040
2041         Use KJS::List::getSlice instead of reimplementing it
2042
2043         Rubberstamped and suggested by Sam Weinig.
2044
2045         * bindings/js/JSConsoleCustom.cpp:
2046         (WebCore::JSConsole::assertCondition):
2047
2048 2008-05-20  Kevin Calhoun  <kcalhoun@apple.com>
2049
2050         Reviewed by Darin.
2051
2052         Fix <rdar://problem/5929010> Adopt new QTKit methods for <video> implementation
2053
2054         If the class QTVideoRendererWebKitOnly is present use it to render video,
2055         otherwise fall back to existing use of QTMovieView/QTMovieContentView.
2056
2057         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2058         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2059         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2060         (WebCore::MediaPlayerPrivate::createQTMovie):
2061         (WebCore::QTVideoRendererClass):
2062         (WebCore::MediaPlayerPrivate::detachQTMovieView):
2063         (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
2064         (WebCore::MediaPlayerPrivate::destroyQTVideoRenderer):
2065         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
2066         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
2067         (WebCore::MediaPlayerPrivate::load):
2068         (WebCore::MediaPlayerPrivate::cancelLoad):
2069         (WebCore::MediaPlayerPrivate::setVisible):
2070         (WebCore::MediaPlayerPrivate::paint):
2071         (-[WebCoreMovieObserver newImageAvailable:]):
2072
2073 2008-05-19  Adam Roben  <aroben@apple.com>
2074
2075         Fix Bug 19134: Inspector should support console.assert
2076
2077         <https://bugs.webkit.org/show_bug.cgi?id=19134>
2078
2079         Reviewed by Tim Hatcher.
2080
2081         Test: manual-tests/inspector/console-assert.html
2082
2083         * bindings/js/JSConsoleCustom.cpp:
2084         (WebCore::JSConsole::assertCondition): Added.
2085         * bindings/scripts/CodeGeneratorJS.pm: Added parsing of the
2086         ImplementationFunction extended attribute, which allows you to
2087         override the name of the C++ function used to implement this method.
2088         * manual-tests/inspector/console-assert.html: Added.
2089         * page/Console.cpp:
2090         (WebCore::Console::assertCondition): Added.
2091         * page/Console.h:
2092         * page/Console.idl: Added assert().
2093
2094 2008-05-20  Alice Liu  <alice.liu@apple.com>
2095
2096         Reviewed by Brady.
2097
2098         fix <rdar://problem/5908580> 10A58: Dictionary Panel hangs in WebCore::Cache::pruneDeadResources()
2099
2100         * loader/Cache.cpp:
2101         (WebCore::Cache::requestUserCSSStyleSheet):
2102         Add a call to resourceAccessed() to more closely mirror what is done in requestResource()
2103         (WebCore::Cache::insertInLRUList):
2104         Assert that any resource in the LRU list has been accessed.  This is early detection of a
2105         potential hang later when pruning resources, and also agrees with the early return in 
2106         removeFromLRUList().
2107
2108 2008-05-20  Dan Bernstein  <mitz@apple.com>
2109
2110         Reviewed by Darin Adler.
2111
2112         - fix https://bugs.webkit.org/show_bug.cgi?id=17655
2113           <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document
2114
2115         Test: fast/dom/SelectorAPI/viewless-document.html
2116
2117         * css/CSSStyleSelector.cpp:
2118         (WebCore::CSSStyleSelector::CSSStyleSelector): Updated to initialize the
2119         selector checker.
2120         (WebCore::CSSStyleSelector::init): Removed initialization of
2121         m_collectRulesOnly, which is now part of the selector checker.
2122         (WebCore::CSSStyleSelector::matchRules): Updated for renames and data
2123         moved into the selector checker.
2124         (WebCore::CSSStyleSelector::matchRulesForList): Ditto.
2125         (WebCore::CSSStyleSelector::initForStyleResolve): Added a PseudoId
2126         argument, which is used to initialize a data member of the selector
2127         checker. Updated for renames. Removed initialization of m_isXMLDoc
2128         because this bit is now initialized only once in the selector checker's
2129         constructor.
2130         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added.
2131         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Changed
2132         into a SelectorChecker method.
2133         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added. Used
2134         by querySelector() and querySelectorAll().
2135         (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for data
2136         moved into the selector checker.
2137         (WebCore::CSSStyleSelector::matchUARules): Ditto.
2138         (WebCore::CSSStyleSelector::styleForElement):
2139         (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. Also removed
2140         code that set the parentStyle variable after the last place it is
2141         accessed, and changed to ensure that m_style is set early in this
2142         function.
2143         (WebCore::CSSStyleSelector::adjustRenderStyle): Updated for data moved
2144         into the selector checker.
2145         (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
2146         (WebCore::CSSStyleSelector::checkSelector): Ditto. Also changed to pass
2147         the element's style and the parent style to the selector checker, as
2148         well as the dynamic pseudo variable and the selector attributes vector.
2149         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
2150         arguments for the style of the base element and its parent. When the
2151         elementStyle argument is 0, the style is fetched from the element
2152         and its parent as needed. Also changed to take a reference to the
2153         dynamic pseudo ID and a pointer to the vector of attributes affecting
2154         the match.
2155         (WebCore::CSSStyleSelector::applyProperty): Updated for data moved
2156         into the selector checker.
2157         (WebCore::CSSStyleSelector::checkForGenericFamilyChange): Ditto.
2158         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
2159         (WebCore::CSSStyleSelector::fontSizeForKeyword): Ditto.
2160         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
2161         (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
2162         Changed into a SelectorChecker method.
2163         (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
2164         Ditto.
2165
2166         * css/CSSStyleSelector.h:
2167         Added a SelectorChecker class and moved data and methods used in
2168         checking selectors into it.
2169         (WebCore::CSSStyleSelector::allVisitedStateChanged): Changed to call the
2170         SelectorChecker method.
2171         (WebCore::CSSStyleSelector::visitedStateChanged): Ditto.
2172         * dom/Node.cpp:
2173         (WebCore::Node::querySelector): Changed to use a SelectorChecker instead
2174         of the document's style selector.
2175         * dom/SelectorNodeList.cpp:
2176         (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
2177
2178 2008-05-20  Timothy Hatcher  <timothy@apple.com>
2179
2180         Implements the Profiles panel and Profile view.
2181
2182         Reviewed by Kevin McCullough.
2183
2184         * English.lproj/localizedStrings.js: Added new strings.
2185         * page/inspector/Images/profileIcon.png: Added.
2186         * page/inspector/Images/profilesIcon.png: Changed. New icon design
2187         that fits in with the other toolbar icons.
2188         * page/inspector/ProfileView.js:
2189         (WebInspector.ProfileView): Remove custom table elements
2190         and create a DataGrid. Sorts the profile by descending total time,
2191         since the profiles aren't sorted by default.
2192         (WebInspector.ProfileView.prototype.refresh): Clears the DataGrid
2193         and recreates all the nodes. The selection is preserved.
2194         (WebInspector.ProfileView.prototype.refreshShowAsPercents): Traverse
2195         all the children and change showTotalTimeAsPercent and showSelfTimeAsPercent
2196         to match the ProfileView values. Then call refresh on the child.
2197         (WebInspector.ProfileView.prototype._sortData): Determine the sort
2198         function to call on the head profile node. Call it and then call
2199         refresh to rebuild the DataGrid.
2200         (WebInspector.ProfileView.prototype._mouseDownInDataGrid): Return early
2201         if the event is not a double-click. When it is a double-click, determine
2202         the column that was targeted and if it was total or self toggle the
2203         show as percent property. Call refreshShowAsPercents.
2204         (WebInspector.ProfileDataGridNode): 
2205         (WebInspector.ProfileDataGridNode.prototype.get data): 
2206         (WebInspector.ProfileDataGridNode.prototype.expand): 
2207         (WebInspector.ProfileDataGridNode.prototype.collapse): 
2208         (WebInspector.ProfileDataGridNode.prototype._populate): 
2209         * page/inspector/ProfilesPanel.js:
2210         (WebInspector.ProfilesPanel): 
2211         (WebInspector.ProfilesPanel.prototype.show): Populate the sidebar
2212         with all profiles. This is a workaround until the Inspector
2213         is told about new profiles.
2214         (WebInspector.ProfilesPanel.prototype.reset): Clear the sidebar and
2215         profile views.
2216         (WebInspector.ProfilesPanel.prototype.handleKeyEvent): Pass the key
2217         event to the sidebar.
2218         (WebInspector.ProfilesPanel.prototype.addProfile): Create a
2219         ProfileSidebarTreeElement object and add it to the sidebar.
2220         (WebInspector.ProfilesPanel.prototype.showProfile): Create a ProfileView
2221         and show it.
2222         (WebInspector.ProfilesPanel.prototype.closeVisibleView): Hide the
2223         visible view.
2224         (WebInspector.ProfilesPanel.prototype._startSidebarDragging): Call
2225         WebInspector.elementDragStart.
2226         (WebInspector.ProfilesPanel.prototype._sidebarDragging): Call _updateSidebarWidth.
2227         (WebInspector.ProfilesPanel.prototype._endSidebarDragging):
2228         Call WebInspector.elementDragEnd.
2229         (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): Update the
2230         sidebar width based on the passed in value.
2231         (WebInspector.ProfileSidebarTreeElement): Subclass WebInspector.SidebarTreeElement.
2232         (WebInspector.ProfileSidebarTreeElement.prototype.onselect): Call ProfilesPanel.showProfile.
2233         (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): Return profile.title.
2234         (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): Do nothing.
2235         (WebInspector.ProfileSidebarTreeElement.prototype.get subtitle): Ditto.
2236         (WebInspector.ProfileSidebarTreeElement.prototype.set subtitle): Ditto.
2237         * page/inspector/inspector.css: New styles for the profile sidebar
2238         item and profile data grid columns.
2239         * page/inspector/inspector.js:
2240         * page/inspector/utilities.js:
2241         (Number.secondsToString): Added a higherResolution argument
2242         that returns fractional milliseconds.
2243
2244 2008-05-20  chris fleizach  <cfleizach@apple.com>
2245
2246         Reviewed by Darin Adler, Alice Liu
2247
2248         <rdar://problem/3438014> Might need accessibility solution for context menus in web pages
2249         <rdar://problem/5060458> Elements without AXActions should not return kAXErrorFailure
2250
2251         * page/AccessibilityObject.cpp:
2252         (WebCore::AccessibilityObject::clickPoint):
2253         * page/AccessibilityObject.h:
2254         * page/mac/AccessibilityObjectWrapper.mm:
2255         (-[AccessibilityObjectWrapper accessibilityActionNames]):
2256         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
2257         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
2258         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
2259         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
2260
2261 2008-05-20  Timothy Hatcher  <timothy@apple.com>
2262
2263         Expose the ProfileNode functionName sorting functions on
2264         JavaScriptProfileNode.
2265
2266         Reviewed by Kevin McCullough.
2267
2268         * page/JavaScriptProfileNode.cpp:
2269         (WebCore::sortFunctionNameDescending): Call ProfileNode.
2270         (WebCore::sortFunctionNameAscending): Ditto.
2271         (WebCore::ProfileNodeClass): Add static functions.
2272
2273 2008-05-20  Darin Adler  <darin@apple.com>
2274
2275         Reviewed by Mitz.
2276
2277         - a first small step of CSS DOM refactoring -- the eventual goal is to
2278           reduce StyleBase and possibly eliminate it, since it has multiple
2279           purposes and unneccessarily ties many classes together
2280
2281         * css/CSSCursorImageValue.cpp:
2282         (WebCore::isSVGCursorIdentifier): Mark static so it has internal linkage.
2283         (WebCore::resourceReferencedByCursorElement): Ditto.
2284         (WebCore::CSSCursorImageValue::CSSCursorImageValue): Removed unused style
2285         argument.
2286         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Removed code to
2287         check if X and Y changed before changing them -- there's no reason to do
2288         that. Removed code that depended on the internals of CSSImageValue. The
2289         new code uses only protected functions rather than going right at the
2290         fields and uing internal knowledge of the base class.
2291         * css/CSSCursorImageValue.h: Added a create function, made constructor
2292         private, removed unused style argument.
2293
2294         * css/CSSImageValue.cpp:
2295         (WebCore::CSSImageValue::CSSImageValue): Removed unused style argument.
2296         (WebCore::CSSImageValue::cachedImageURL): Added. A protected function for
2297         use by CSSCursorImageValue that gives the URL.
2298         (WebCore::CSSImageValue::clearCachedImage): Added. A protected function for
2299         use by CSSCursorImageValue that clears the CachedImage.
2300         * css/CSSImageValue.h: Added create functions, made constructors protected
2301         and private, removed unused style argument, made data members private, added
2302         some protected functions for use by CSSCursorImageValue.
2303
2304         * css/CSSImportRule.cpp:
2305         (WebCore::CSSImportRule::setCSSStyleSheet): Changed to call checkLoaded on
2306         the parent. This is part of preparation to move the checkLoaded function from
2307         StyleBase to StyleSheet.
2308         (WebCore::CSSImportRule::insertedIntoParent): Changed code to check the URL
2309         of the style sheet to use the href function of the style sheet rather than
2310         the baseURL function. This eliminates an O(n^2) algorithm here and reduces
2311         the use of baseURL, part of preparation to move it from StyleBase
2312         to CSSStyleSheet.
2313
2314         * css/CSSMutableStyleDeclaration.cpp:
2315         (WebCore::CSSMutableStyleDeclaration::setImageProperty): Changed to use create
2316         function instead of a direct call to new for the CSSImageValue classes.
2317         * css/CSSParser.cpp:
2318         (WebCore::CSSParser::parseValue): Ditto.
2319         (WebCore::CSSParser::parseContent): Ditto.
2320         (WebCore::CSSParser::parseFillImage): Ditto.
2321         (WebCore::CSSParser::parseBorderImage): Ditto.
2322
2323         * css/CSSStyleSelector.cpp: Removed unneeded include of CSSImageValue.h.
2324         * rendering/style/RenderStyle.h: Removed unneeded include of
2325         CSSCursorImageValue.h, which was causing us to rebuild the world way too often.
2326
2327         * xml/XSLImportRule.cpp:
2328         (WebCore::XSLImportRule::setXSLStyleSheet): See change to CSSImportRule above.
2329         (WebCore::XSLImportRule::loadSheet): Ditto.
2330
2331 2008-05-20  Kevin McCullough  <kmccullough@apple.com>
2332
2333         Rubber stamped by Adam.
2334
2335         -Minor fix. Should not use a reference since the original may disappear.
2336
2337         * page/Console.cpp:
2338         (WebCore::Console::profile):
2339
2340 2008-05-20  Kevin Ollivier  <kevino@theolliviers.com>
2341
2342         wx build fix. userAgent should return a value.
2343
2344         * plugins/wx/PluginViewWx.cpp:
2345         (WebCore::PluginView::userAgent):
2346
2347 2008-05-19  Timothy Hatcher  <timothy@apple.com>
2348
2349         Expose the ProfileNode sorting functions on JavaScriptProfileNode.
2350
2351         Reviewed by Kevin McCullough.
2352
2353         * page/JavaScriptProfileNode.cpp:
2354         (WebCore::sortTotalTimeDescending): Call ProfileNode.
2355         (WebCore::sortTotalTimeAscending): Ditto.
2356         (WebCore::sortSelfTimeDescending): Ditto.
2357         (WebCore::sortSelfTimeAscending): Ditto.
2358         (WebCore::sortCallsDescending): Ditto.
2359         (WebCore::sortCallsAscending): Ditto.
2360         (WebCore::ProfileNodeClass): Add static functions.
2361
2362 2008-05-19  Timothy Hatcher  <timothy@apple.com>
2363
2364         * page/InspectorController.cpp: Change the include for
2365         JavaScriptProfile.h to sue double quotes instead of backets.
2366
2367 2008-05-19  Timothy Hatcher  <timothy@apple.com>
2368
2369         Adds a DataGrid object that is used for multi-column data
2370         and can contain hierarchical content with disclosure arrows.
2371         A lot of DataGrid was copied from treeoutline.js. This change
2372         makes the database views use the DataGrid. It will later be
2373         used by the ProfileView.
2374
2375         Reviewed by Adam Roben.
2376
2377         * page/inspector/DataGrid.js: Added. Most copied from treeoutline.js
2378         and modified to work with table elements.
2379         * page/inspector/DatabaseQueryView.js:
2380         (WebInspector.DatabaseQueryView.prototype._queryFinished):
2381         Call DatabasesPanel.dataGridForResult and adds the inline style to
2382         the DataGrid element.
2383         * page/inspector/DatabaseTableView.js:
2384         (WebInspector.DatabaseTableView.prototype._queryFinished):
2385         Call DatabasesPanel.dataGridForResult.
2386         * page/inspector/DatabasesPanel.js:
2387         (WebInspector.DatabasesPanel.prototype._tableForResult): Removed.
2388         (WebInspector.DatabasesPanel.prototype.dataGridForResult): Added.
2389         Similar to the previous _tableForResult function, but makes a DataGrid.
2390         * page/inspector/inspector.css: Changes to the data-grid
2391         style rules.
2392         * WebCore.vcproj/WebCore.vcproj: Add DataGrid.js.
2393         * page/inspector/WebKit.qrc: Ditto.
2394         * page/inspector/inspector.html: Ditto.
2395
2396 2008-05-19  Kevin McCullough  <kmccullough@apple.com>
2397
2398         Reviewed by Adam.
2399
2400         -build fix.
2401
2402         * bindings/js/JSConsoleCustom.cpp:
2403         (WebCore::JSConsole::profile):
2404         * page/Console.cpp:
2405         (WebCore::Console::profile):
2406         * page/Console.h:
2407         * page/Console.idl:
2408
2409 2008-05-19  Alp Toker  <alp@nuanti.com>
2410
2411         Reviewed by Maciej.
2412
2413         GTK+/soup fixes:
2414
2415         Remove the fragment part of the URL since the file backend doesn't
2416         deal with it.
2417
2418         Fix a typo in the cleanup function.
2419
2420         * platform/network/soup/ResourceHandleSoup.cpp:
2421         (WebCore::cleanupGioOperation):
2422         (WebCore::ResourceHandle::startGio):
2423
2424 2008-05-19  Kevin McCullough  <kmccullough@apple.com>
2425
2426         Reviewed by Adam.
2427
2428         <rdar://problem/5770054> JavaScript profiler (10928)
2429         - Send the executing context to the profiler so it can attribute time
2430         correctly to parent functions when calling profile() and profileEnd()
2431         while nested.
2432
2433         * page/Console.cpp:
2434         (WebCore::Console::profile):
2435         (WebCore::Console::profileEnd):
2436         * page/Console.h:
2437
2438 2008-05-19  Alp Toker  <alp@nuanti.com>
2439
2440         Reviewed by Anders and Beth.
2441
2442         http://bugs.webkit.org/show_bug.cgi?id=16495
2443         [GTK] Accessibility support with ATK/AT-SPI
2444
2445         Initial ATK/AT-SPI accessibility support for the GTK+ port.
2446
2447         * GNUmakefile.am:
2448         * page/AccessibilityObject.cpp:
2449         (WebCore::AccessibilityObject::AccessibilityObject):
2450         (WebCore::AccessibilityObject::detach):
2451         * page/AccessibilityObject.h:
2452         * page/gtk/AXObjectCacheAtk.cpp: Added.
2453         (WebCore::AXObjectCache::detachWrapper):
2454         (WebCore::AXObjectCache::attachWrapper):
2455         (WebCore::AXObjectCache::postNotification):
2456         (WebCore::AXObjectCache::postNotificationToElement):
2457         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2458         * page/gtk/AccessibilityObjectWrapperAtk.cpp: Added.
2459         (WebCore::):
2460         (WebCore::AccessibilityObject::wrapper):
2461         (WebCore::AccessibilityObject::setWrapper):
2462         * page/gtk/AccessibilityObjectWrapperAtk.h: Added.
2463
2464 2008-05-19  Anders Carlsson  <andersca@apple.com>
2465
2466         Reviewed by Adam.
2467
2468         <rdar://problem/5946454>
2469         Support navigator.onLine from HTML5.
2470
2471         Add Windows NetworkStateNotifier implementation using the IP Helper API.
2472
2473         * WebCore.vcproj/WebCore.vcproj:
2474         * platform/network/NetworkStateNotifier.h:
2475         (WebCore::updateState):
2476         * platform/network/win/NetworkStateNotifierWin.cpp: Added.
2477         (WebCore::NetworkStateNotifier::updateState):
2478         (WebCore::NetworkStateNotifier::addressChanged):
2479         (WebCore::NetworkStateNotifier::callAddressChanged):
2480         (WebCore::NetworkStateNotifier::addrChangeCallback):
2481         (WebCore::NetworkStateNotifier::registerForAddressChange):
2482         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2483
2484 2008-05-19  Steve Falkenburg  <sfalken@apple.com>
2485
2486         Disable C4273, C4565 for CSSGrammar.cpp, XPathGrammar.cpp to fix build.
2487         
2488         Reviewed by Adam Roben.
2489
2490         * WebCore.vcproj/WebCore.vcproj:
2491
2492 2008-05-19  Adam Roben  <aroben@apple.com>
2493
2494         Fix Bug 19065: Resources with a space in their URL don't get
2495         error/warning bubbles
2496
2497         <https://bugs.webkit.org/show_bug.cgi?id=19065>
2498
2499         Reviewed by Dan Bernstein.
2500
2501         Test: manual-tests/inspector/errors-with-space in-url.html
2502
2503         * manual-tests/inspector/errors-with-space in-url.html: Added.
2504         * page/Console.cpp:
2505         (WebCore::Console::error):
2506         (WebCore::Console::info):
2507         (WebCore::Console::log):
2508         (WebCore::Console::warn):
2509         Pass the raw URL to the Inspector, not the pretty URL, to match the
2510         URL that was used when initially telling the Inspector about this
2511         resource. We continue to pass the pretty URL to the ChromeClient for
2512         backwards compatibility.
2513
2514 2008-05-19  Stephanie Lewis  <slewis@apple.com>
2515
2516         Reviewed by Darin.
2517
2518         more fast teardown performance work, WebCore plumbing
2519
2520         * page/Chrome.cpp:
2521         (WebCore::Chrome::disableSuddenTermination):
2522         (WebCore::Chrome::enableSuddenTermination):
2523         (WebCore::ChromeClient::disableSuddenTermination):
2524         (WebCore::ChromeClient::enableSuddenTermination):
2525         * page/Chrome.h:
2526         * page/ChromeClient.h:
2527         * page/Page.cpp:
2528         (WebCore::Page::changePendingUnloadEventCount):
2529         (WebCore::Page::changePendingBeforeUnloadEventCount):
2530
2531 2008-05-19  Kuchhal  <kuchal@yahoo.com>
2532
2533         Reviewed by Justin.
2534
2535         <rdar://problem/5863412> Crash when Ctrl C is pressed after a series of specific mouse events (18506)
2536
2537         * editing/markup.cpp:
2538         (WebCore::createMarkup): Null check.
2539
2540 2008-05-19  Chris Fleizach  <cfleizach@apple.com>
2541
2542         Reviewed by Beth Dakin.
2543
2544         <rdar://problem/5912195> CrashTracer: [USER] 1 crash in Mail at -[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]
2545
2546         * page/mac/AccessibilityObjectWrapper.mm:
2547         (visiblePositionForTextMarker):
2548
2549 2008-05-19  Ada Chan  <adachan@apple.com>
2550
2551         Added CookieStorageWin.h/cpp, introducing methods to get/set the current CFHTTPCookieStorageRef.
2552         When setting cookies-related attributes in CFURLRequest, make sure we get them from the
2553         current CFHTTPCookieStorageRef.  Also, set the cookie storage in CFURLRequest.
2554
2555         Reviewed by Steve Falkenburg.
2556
2557         * WebCore.vcproj/WebCore.vcproj:
2558         * platform/network/cf/ResourceHandleCFNet.cpp:
2559         (WebCore::makeFinalRequest):
2560         * platform/network/cf/ResourceRequestCFNet.cpp:
2561         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2562         * platform/network/win/CookieJarCFNetWin.cpp:
2563         (WebCore::setCookies):
2564         (WebCore::cookies):
2565         (WebCore::cookiesEnabled):
2566         * platform/network/win/CookieStorageWin.cpp: Added.
2567         (WebCore::currentCookieStorage):
2568         (WebCore::setCurrentCookieStorage):
2569         * platform/network/win/CookieStorageWin.h: Added.
2570
2571 2008-05-19  Alexey Proskuryakov  <ap@webkit.org>
2572
2573         Reviewed by Darin.
2574
2575         http://bugs.webkit.org/show_bug.cgi?id=18308
2576         SVG Encoding error with fill attribute
2577
2578         This is caused by problems with data: URL loading. Besides what is fixed by this patch,
2579         I filed <rdar://problem/5845875> for CFNetwork.
2580
2581         While at it, fixed a related javascript: URL issue.
2582
2583         Tests: fast/loader/data-url-encoding-html.html
2584                fast/loader/data-url-encoding-svg.html
2585                fast/loader/javascript-url-encoding.html
2586
2587         * platform/KURL.cpp:
2588         (WebCore::KURL::parse): Fix a FIXME, use UTF-8 instead of dropping high bytes. This fixes
2589         javascript: URL handling.
2590         (WebCore::encodeRelativeString): Like mailto: URLs, data: ones are all UTF-8. Restructured
2591         the code to not search for "#" if both parts are to be encoded as UTF-8 anyway.
2592
2593 2008-05-19  Alexey Proskuryakov  <ap@webkit.org>
2594
2595         Reviewed by Darin.
2596
2597         https://bugs.webkit.org/show_bug.cgi?id=18421
2598         <rdar://problem/5857369> XMLHttpRequest does not properly encode & and < in outgoing messages
2599
2600         Test: http/tests/xmlhttprequest/serialize-document.html
2601
2602         * bindings/js/JSXMLHttpRequestCustom.cpp:
2603         (WebCore::JSXMLHttpRequest::send): Use createMarkup() instead of Document::toString().
2604
2605         * dom/Attr.cpp:
2606         * dom/Attr.h:
2607         * dom/Document.cpp:
2608         * dom/Document.h:
2609         * dom/DocumentFragment.cpp:
2610         * dom/DocumentFragment.h:
2611         * dom/Element.cpp:
2612         * dom/Element.h:
2613         * dom/Entity.cpp:
2614         * dom/Entity.h:
2615         * dom/EntityReference.cpp:
2616         * dom/EntityReference.h:
2617         * dom/Node.h:
2618         * dom/Text.cpp:
2619         * dom/Text.h:
2620         * html/HTMLElement.cpp:
2621         * html/HTMLElement.h:
2622         Removed most Node::toString() methods, which were massively wrong, and only used for
2623         XMLHttpRequest::send(). The remanining ones are still used in markup.cpp, but should probably
2624         be folded into it for consistency.
2625
2626 2008-05-19  Anders Carlsson  <andersca@apple.com>
2627
2628         Fix Windows build.
2629         
2630         * plugins/win/PluginViewWin.cpp:
2631         (WebCore::PluginView::userAgentStatic):
2632         (WebCore::PluginView::getValueStatic):
2633         (WebCore::PluginView::getValue):
2634
2635 2008-05-19  Chris Fleizach  <cfleizach@apple.com>
2636
2637         Reviewed by Darin Adler.
2638
2639         <rdar://problem/5935694> AX: crash in text marker range
2640
2641         * page/mac/AccessibilityObjectWrapper.mm:
2642         (textMarkerRangeFromMarkers):
2643
2644 2008-05-19  Darin Adler  <darin@apple.com>
2645
2646         - fix WebKit build
2647
2648         * WebCore.xcodeproj/project.pbxproj: Make CSSReflectionDirection.h "private" instead of "project".
2649
2650 2008-05-19  chris fleizach  <cfleizach@apple.com>
2651
2652         Reviewed by Darin Adler
2653
2654         <rdar://problem/5700830> VO: VoiceOver should fall back to title attr if form element is not labeled
2655
2656         * page/AccessibilityRenderObject.cpp:
2657         (WebCore::AccessibilityRenderObject::title):
2658
2659 2008-05-19  Darin Adler  <darin@apple.com>
2660
2661         Reviewed by Mitz.
2662
2663         - tweak CSSReflectValue, possibly fixing the leaks seen on the buildbot
2664
2665         * WebCore.vcproj/WebCore.vcproj: Added CSSReflectionDirection.h. 
2666         * WebCore.xcodeproj/project.pbxproj: Ditto.
2667         * css/CSSReflectionDirection.h: Added.
2668
2669         * css/CSSComputedStyleDeclaration.cpp:
2670         (WebCore::valueForReflection): Changed to use CSSReflectValue::create.
2671         * css/CSSParser.cpp:
2672         (WebCore::CSSParser::parseReflect): Ditto.
2673
2674         * css/CSSReflectValue.h: Added a create function. Got rid of the setter
2675         functions, which had const PassRefPtr& arguments -- those probably caused
2676         the leaks although I'm not exactly sure why. Made the contructor and all
2677         the data members private.
2678
2679         * rendering/style/RenderStyle.h: Changed to include CSSReflectionDirection.h
2680         instead of CSSReflectValue.h so we can tweak CSSReflectValue without
2681         recompiling the world.
2682
2683 2008-05-19  Holger Hans Peter Freyther  <zecke@selfish.org>
2684
2685         Rubber Stamped by Simon.
2686
2687         Enforce the WebKit Coding Style.
2688
2689         * plugins/PluginView.cpp:
2690         (WebCore::PluginView::load):
2691         (WebCore::PluginView::setValue):
2692         * plugins/gtk/PluginViewGtk.cpp:
2693         (WebCore::PluginView::setFocus):
2694         (WebCore::PluginView::show):
2695         (WebCore::PluginView::hide):
2696         (WebCore::PluginView::attachToWindow):
2697         (WebCore::PluginView::detachFromWindow):
2698         (WebCore::PluginView::getValueStatic):
2699         (WebCore::PluginView::getValue):
2700         * plugins/qt/PluginViewQt.cpp:
2701         (WebCore::PluginView::updateWindow):
2702         (WebCore::PluginView::detachFromWindow):
2703         (WebCore::PluginView::handlePostReadFile):
2704         (WebCore::PluginView::getValueStatic):
2705         (WebCore::PluginView::getValue):
2706
2707 2008-05-14  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
2708
2709         Reviewed by Holger.
2710
2711         https://bugs.webkit.org/show_bug.cgi?id=18882
2712         https://bugs.webkit.org/show_bug.cgi?id=18892
2713         Based also on work by Chris Lord.
2714         
2715         Provides support for NPAPI plugins that pass NULL as their instance
2716         info. There are two kinds:
2717         - Some call NPN_UserAgent and NPN_GetValue before a PluginView has
2718         been created. For those we provide static versions of those functions.
2719         - Others call NPN_* functions with a NULL instance inside NPP_*
2720         calls, for those we've added extra currentPluginView guards.
2721
2722         * plugins/PluginView.cpp: Add additional currentPluginView guards and
2723         some small style changes.
2724         (WebCore::PluginView::start):
2725         (WebCore::PluginView::performRequest):
2726         (WebCore::PluginView::bindingInstance):
2727         (WebCore::PluginView::handlePost):
2728         * plugins/PluginView.h: Added static versions of NPN_UserAgent and
2729         NPN_GetValue.
2730         * plugins/gtk/PluginViewGtk.cpp: Add additional currentPluginView
2731         guards and some small style changes.
2732         (WebCore::PluginView::setNPWindowRect):
2733         (WebCore::PluginView::stop):
2734         (WebCore::PluginView::userAgentStatic): Added to deal with plugins
2735         that query this before having a PluginView.
2736         (WebCore::PluginView::getValueStatic): Added to deal with plugins
2737         that call this before we have created a PluginView.
2738         (WebCore::PluginView::getValue): Moved some code to getValueStatic.
2739         (WebCore::PluginView::init):
2740         * plugins/npapi.cpp: Call PluginView::userAgentStatic
2741         and PluginView::getValueStatic if no PluginView is
2742         present.
2743         (NPN_UserAgent):
2744         (NPN_GetValue):
2745         * plugins/qt/PluginPackageQt.cpp:
2746         (WebCore::PluginPackage::fetchInfo): Corrected split args because ignoring
2747         empty entries crashed.
2748         (WebCore::PluginPackage::load): Resolve all symbols when loading plugins
2749         to protect against XPCOM dependencies.
2750         * plugins/qt/PluginViewQt.cpp: Add additional currentPluginView guards and
2751         some small style changes.
2752         (WebCore::PluginView::updateWindow):
2753         (WebCore::PluginView::setNPWindowRect):
2754         (WebCore::PluginView::stop):
2755         (WebCore::PluginView::userAgentStatic): Added to deal with plugins
2756         that query this before having a PluginView.
2757         (WebCore::PluginView::handlePostReadFile):
2758         (WebCore::PluginView::getValueStatic): Added to deal with plugins
2759         that call this before we have created a PluginView.
2760         (WebCore::PluginView::getValue): Moved some code to getValueStatic.
2761         (WebCore::PluginView::init): m_needsXEmbed init was moved to constructor.
2762
2763 2008-05-19  Alp Toker  <alp@nuanti.com>
2764
2765         GTK+ build fix on Mac. Conditionalize XP_UNIX use.
2766
2767         * plugins/gtk/PluginPackageGtk.cpp:
2768         (WebCore::PluginPackage::fetchInfo):
2769         (WebCore::PluginPackage::load):
2770         * plugins/gtk/PluginViewGtk.cpp:
2771
2772 2008-05-18  Chris Fleizach  <cfleizach@apple.com>
2773
2774         Reviewed by Darin Adler
2775
2776         <rdar://problem/5942076> WebKit can no longer find URL links with VoiceOVer-U command (19100)
2777
2778         * page/AccessibilityObject.h:
2779
2780 2008-05-18  Darin Adler  <darin@apple.com>
2781
2782         Reviewed by Sam.
2783
2784         - fix <rdar://problem/5943569> crash due to stale ownerNode pointer
2785
2786         Test: fast/dom/StyleSheet/ownerNode-lifetime.html
2787
2788         * bindings/js/JSStyleSheetCustom.cpp:
2789         (WebCore::JSStyleSheet::mark): Added code to mark ownerNode. Includes a comment about how
2790         it would be even better to solve this in the DOM rather than just in the JavaScript binding.
2791
2792         * css/StyleSheet.idl: Added CustomMarkFunction attribute.
2793
2794 2008-05-18  Brady Eidson  <beidson@apple.com>
2795
2796         Reviewed by Sam Weinig
2797
2798         Fix for https://bugs.webkit.org/show_bug.cgi?id=19111
2799         Allow `delete storage.itemName` syntax as an alias for `storage.removeItem("itemName")`
2800
2801         Tests: storage/domstorage/localstorage/delete-removal.html
2802                storage/domstorage/sessionstorage/delete-removal.html
2803
2804         * bindings/js/JSStorageCustom.cpp:
2805         (WebCore::JSStorage::deleteProperty): Only do the delete for non-built in properties
2806         * storage/Storage.idl:
2807
2808 2008-05-17  Sam Weinig  <sam@webkit.org>
2809
2810         Reviewed by Mark Rowe.
2811
2812         Re-factor core setRequestHeader logic into setRequestHeaderInternal.
2813
2814         * xml/XMLHttpRequest.cpp:
2815         (WebCore::XMLHttpRequest::sameOriginRequest):
2816         (WebCore::XMLHttpRequest::setRequestHeader):
2817         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
2818         * xml/XMLHttpRequest.h:
2819
2820 2008-05-17  Sam Weinig  <sam@webkit.org>
2821
2822         Reviewed by Mark Rowe.
2823
2824         Differentiate between cancelation errors and generic network error in XHR.
2825
2826         * loader/FrameLoader.cpp:
2827         (WebCore::FrameLoader::requestFromDelegate):
2828         (WebCore::FrameLoader::cancelledError):
2829         * platform/network/ResourceErrorBase.h:
2830         (WebCore::ResourceErrorBase::setIsCancelation):
2831         (WebCore::ResourceErrorBase::isCancelation):
2832         (WebCore::ResourceErrorBase::ResourceErrorBase):
2833         Add state that differentiates between errors created by cancelation and those made
2834         by all other generic network errors as this differentiation is needed by some specs.
2835
2836         * xml/XMLHttpRequest.cpp:
2837         (WebCore::XMLHttpRequest::open):
2838         (WebCore::XMLHttpRequest::loadRequestSynchronously):
2839         (WebCore::XMLHttpRequest::clearResponseEntityBody):
2840         (WebCore::XMLHttpRequest::genericError):
2841         (WebCore::XMLHttpRequest::networkError):
2842         (WebCore::XMLHttpRequest::abortError):
2843         (WebCore::XMLHttpRequest::didFail):
2844         * xml/XMLHttpRequest.h:
2845         * xml/XMLHttpRequestException.h:
2846         (WebCore::XMLHttpRequestException::):
2847         * xml/XMLHttpRequestException.idl:
2848         Add ABORT_ERR. This error cannot be raised with the current WebKit architecture
2849         as it requires the ability to cancel a synchronous XHR, which we cannot currently
2850         do.  It may be possible in the future though.
2851
2852 2008-05-17  Mark Rowe  <mrowe@apple.com>
2853
2854         Reviewed by Sam Weinig.
2855
2856         Including wtf/Platform.h or using any of the macros it defines in headers that may be
2857         included from outside of the WebKit project causes any project using those headers to
2858         fail to build.
2859
2860         * page/mac/WebDashboardRegion.h:
2861
2862 2008-05-17  Sam Weinig  <sam@webkit.org>
2863
2864         Reviewed by Brady Eidson.
2865
2866         Re-factor send() logic a little to make adding cross-site requests easier.
2867
2868         * xml/XMLHttpRequest.cpp:
2869         (WebCore::XMLHttpRequest::send):
2870         (WebCore::XMLHttpRequest::sameOriginRequest):
2871         (WebCore::XMLHttpRequest::loadRequestSynchronously):
2872         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2873         * xml/XMLHttpRequest.h:
2874
2875 2008-05-16  Anders Carlsson  <andersca@apple.com>
2876
2877         Reviewed by Mitz.
2878
2879         Copy appcache headers.
2880         
2881         * WebCore.vcproj/WebCore.vcproj:
2882
2883 2008-05-16  Antti Koivisto  <antti@apple.com>
2884
2885         Reviewed by Anders.
2886         
2887         Fix <rdar://problem/5934400> 
2888         Movie controller does not update on first load of http://www.apple.com/getamac/ads/
2889         
2890         The issue is that we execute scripts while there are still pending stylesheet loads.
2891         If the script depends on a stylesheet having been applied it may fail.
2892         
2893         This will make external script execution block on external stylesheet loads. A full
2894         fix (as discussed with Hyatt) will also need to block inline script execution.
2895
2896         Test: http/tests/local/stylesheet-and-script-load-order-http.html
2897
2898         * html/HTMLTokenizer.cpp:
2899         (WebCore::HTMLTokenizer::notifyFinished):
2900
2901 2008-05-16  chris fleizach  <cfleizach@apple.com>
2902
2903         Reviewed by Jon Honeycutt
2904
2905         <rdar://problem/5582483> Mail compose area needs to allow AXValue to be settable
2906
2907         * page/AccessibilityRenderObject.cpp:
2908         (WebCore::AccessibilityRenderObject::isReadOnly):
2909         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2910
2911 2008-05-16  Stephanie Lewis  <slewis@apple.com>
2912
2913         Reviewed by Maciej.
2914
2915         track onbeforeunlaod event counts. Pretty much identical to unload event tracking.
2916         Also rename methods from onunload tracking to be more clear.
2917
2918         increment/decrement event counts when onunload and onbeforeunload events are added/removed
2919         * dom/Document.cpp:
2920         (WebCore::Document::removeHTMLWindowEventListener):
2921         (WebCore::Document::addWindowEventListener):
2922         (WebCore::Document::removeWindowEventListener):
2923         (WebCore::Document::addPendingFrameUnloadEventCount):
2924         (WebCore::Document::removePendingFrameUnloadEventCount):
2925         (WebCore::Document::addPendingFrameBeforeUnloadEventCount):
2926         (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
2927         * dom/Document.h:
2928         
2929         clear onunload count after unload events are dispatched
2930         * loader/FrameLoader.cpp:
2931         (WebCore::FrameLoader::stopLoading):
2932
2933         track onunload and onbeforeunload event counts for each frame
2934         * page/EventHandler.cpp:
2935         (WebCore::EventHandler::EventHandler):
2936         (WebCore::EventHandler::addPendingFrameUnloadEventCount):
2937         (WebCore::EventHandler::removePendingFrameUnloadEventCount):
2938         (WebCore::EventHandler::clearPendingFrameUnloadEventCount):
2939         (WebCore::EventHandler::pendingFrameBeforeUnloadEventCount):
2940         (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount):
2941         (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount):
2942         (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount):
2943         * page/EventHandler.h:
2944         
2945         clear unbeforeunload count after unbeforeunload events are detached
2946         * page/Frame.cpp:
2947         (WebCore::Frame::shouldClose):
2948
2949         track total event count at page level
2950         * page/Page.cpp:
2951         (WebCore::Page::Page):
2952         (WebCore::Page::changePendingUnloadEventCount):
2953         (WebCore::Page::pendingBeforeUnloadEventCount):
2954         (WebCore::Page::changePendingBeforeUnloadEventCount):
2955         * page/Page.h:
2956
2957 2008-05-16  Anders Carlsson  <andersca@apple.com>
2958
2959         Reviewed by Mitz.
2960
2961         <rdar://problem/5787788>
2962         REGRESSION: fast/loader/xmlhttprequest-missing-file-exception.html fails on Windows.
2963         
2964         Replicate the Mac behavior when a sync load fails.
2965         
2966         * platform/network/cf/ResourceHandleCFNet.cpp:
2967         (WebCore::ResourceHandle::loadResourceSynchronously):
2968
2969 2008-05-16  Anders Carlsson  <andersca@apple.com>
2970
2971         Reviewed by Brady.
2972
2973         Parse and set the headers on the response.
2974
2975         * loader/appcache/ApplicationCacheStorage.cpp:
2976         (WebCore::ApplicationCacheStorage::store):
2977         (WebCore::parseHeader):
2978         (WebCore::parseHeaders):
2979         (WebCore::ApplicationCacheStorage::loadCache):
2980
2981 2008-05-16  Timothy Hatcher  <timothy@apple.com>
2982
2983         Adds the "this" object to the Local scope section of the
2984         Scope Variables pane.
2985
2986         <rdar://problem/5774773> Web Inspector doesn't show the "this"
2987         object in its variables list (10438)
2988
2989         Reviewed by Oliver Hunt.
2990
2991         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2992         (WebCore::JSJavaScriptCallFrame::thisObject): Returns the thisObject
2993         of the JavaScriptCallFrame impl. Returns jsNull if the impl is invalid.
2994         * page/JavaScriptCallFrame.cpp:
2995         (WebCore::JavaScriptCallFrame::thisObject): Return the thisValue from
2996         the ExecState. Return 0 if m_exec is null.
2997         * page/JavaScriptCallFrame.h:
2998         * page/JavaScriptCallFrame.idl: Add thisObject.
2999         * page/inspector/ObjectPropertiesSection.js:
3000         (WebInspector.ObjectPropertiesSection): Adds two new arguments.
3001         The ignoreHasOwnProperty tells the section to show all properties,
3002         including inherited ones. And extraProperties is an object of
3003         additional properties to show.
3004         (WebInspector.ObjectPropertiesSection.prototype): Honor the
3005         extraProperties and ignoreHasOwnProperty properties.
3006         * page/inspector/ScopeChainSidebarPane.js:
3007         (WebInspector.ScopeChainSidebarPane.prototype.update): Add a this
3008         property to an extra object that is passed to the ObjectPropertiesSection.
3009         Also pass true for ignoreHasOwnProperty since we want to show all properties.
3010
3011 2008-05-16  Anders Carlsson  <andersca@apple.com>
3012
3013         Reviewed by Brady.
3014
3015         Add mimeType and textEncodingName to the resource table.
3016         
3017         * loader/appcache/ApplicationCacheStorage.cpp:
3018         (WebCore::ApplicationCacheStorage::openDatabase):
3019         (WebCore::ApplicationCacheStorage::store):
3020         (WebCore::ApplicationCacheStorage::loadCache):
3021
3022 2008-05-16  Kevin McCullough  <kmccullough@apple.com>
3023
3024         Reviewed by Tim.
3025
3026         <rdar://problem/5770054> JavaScript profiler (10928)
3027         Use a Vector instead of a Deque since we don't use the extra capabilities
3028         of the Deque.
3029
3030         * page/JavaScriptProfileNode.cpp:
3031         (WebCore::getChildren):
3032         (WebCore::toJS):
3033
3034 2008-05-16  Anders Carlsson  <andersca@apple.com>
3035
3036         Reviewed by Brady.
3037
3038         Add a version table to the database.
3039
3040         * loader/appcache/ApplicationCacheStorage.cpp:
3041         (WebCore::ApplicationCacheStorage::verifySchemaVersion):
3042         (WebCore::ApplicationCacheStorage::openDatabase):
3043         * loader/appcache/ApplicationCacheStorage.h:
3044
3045 2008-05-16  Timothy Hatcher  <timothy@apple.com>
3046
3047         Adds the ability to evaluate expressions in the local scope
3048         of the selected call frame.
3049
3050         https://bugs.webkit.org/show_bug.cgi?id=19052
3051
3052         Reviewed by Geoff Garen.
3053
3054         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3055         (WebCore::JSJavaScriptCallFrame::evaluate): Pass the exception
3056         from evaluate to the calling ExecState.
3057         * page/JavaScriptCallFrame.cpp:
3058         (WebCore::JavaScriptCallFrame::evaluate): Added an exception out
3059         argument. Simplified the code by calling KJS:eval directly.
3060         * page/JavaScriptCallFrame.h: Change evalutate to take an exception
3061         out argument.
3062         * page/inspector/Console.js: Check if the debugger is paused and
3063         call evaluateInSelectedCallFrame on the Scripts panel.
3064         * page/inspector/ScriptsPanel.js: Added a paused getter and
3065         evaluateInSelectedCallFrame which does the evaluation and updates
3066         the scope variables pane afterwards.
3067
3068 2008-05-16  Timothy Hatcher  <timothy@apple.com>
3069
3070         Fixed the bug where the Inspector node highlight would not show
3071         in the correct place for nodes in frames.
3072
3073         <rdar://problem/5712834> Elements in iframes are highlighted incorrectly (14408)
3074
3075         Reviewed by John Sullivan.
3076
3077         * page/InspectorController.cpp:
3078         (WebCore::convertFromFrameToMainFrame): Helper function to convert
3079         IntRect coordinates from one frame to the main frame.
3080         (WebCore::InspectorController::drawNodeHighlight): Call the
3081         convertFromFrameToMainFrame helper for all the rects we get from
3082         the node since they are in the owner frame's coordinate space.
3083
3084 2008-05-16  Julien Chaffraix  <jchaffraix@webkit.org>
3085
3086         Reviewed by Eric.
3087
3088         Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated
3089
3090         Make video tags use a header guard so that make_names.pl for factory generation.
3091
3092         - Add video tag guard in HTMLTagNames.in & give an extraDefines parameter to make_names.pl
3093         when generating HTMLNames.
3094
3095         - Modify the different build systems to accomodate the new parameter.
3096
3097         - Small make_names.pl clean up (mainly code generated coding style issue).
3098
3099         * DerivedSources.make: Add HTML_FLAGS and pass it to make_names.pl
3100         if it is defined (similar to SVG) 
3101
3102         * GNUmakefile.am: Add HTML_FEATURES & HTML_FLAGS and pass it to
3103         make_names.pl if HTML_FLAGS is defined.
3104
3105         * WebCore.pro: Pass $${DEFINES} to make_names.pl.
3106
3107         * dom/make_names.pl: 
3108         * html/HTMLElement.cpp:
3109         (WebCore::inlineTagList): Add ENABLE(VIDEO) guard.
3110         * html/HTMLTagNames.in: Ditto.
3111
3112 2008-05-16  Anders Carlsson  <andersca@apple.com>
3113
3114         Reviewed by Mitz.
3115
3116         Fire progress events.
3117         
3118         * loader/appcache/ApplicationCacheGroup.cpp:
3119         (WebCore::ApplicationCacheGroup::startLoadingEntry):
3120
3121 2008-05-16  Anders Carlsson  <andersca@apple.com>
3122
3123         Reviewed by John.
3124
3125         Handle the case where the main resource load is cancelled while the cache attempt is in progress.
3126         
3127         * loader/DocumentLoader.cpp:
3128         (WebCore::DocumentLoader::mainReceivedError):
3129         Tell the group that the main resource failed to load.
3130         
3131         * loader/appcache/ApplicationCacheGroup.cpp:
3132         (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
3133         Call cacheUpdateFailed.
3134         
3135         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
3136         Stop loading if the update failed.
3137         
3138         * loader/appcache/ApplicationCacheGroup.h:
3139
3140 2008-05-16  Chris Fleizach  <cfleizach@apple.com>
3141
3142         Reviewed by Alice Liu
3143
3144         <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
3145
3146         * WebCore.base.exp:
3147         * editing/VisiblePosition.cpp:
3148         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3149         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3150         * page/AXObjectCache.cpp:
3151         * page/AXObjectCache.h:
3152         (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
3153         (WebCore::AXObjectCache::accessibilityEnabled):
3154         (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
3155         * page/AccessibilityRenderObject.cpp:
3156         (WebCore::AccessibilityRenderObject::visiblePositionRange):
3157         (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
3158         (WebCore::AccessibilityRenderObject::addChildren):
3159         (WebCore::AccessibilityRenderObject::actionVerb):
3160         * page/EventHandler.cpp:
3161         (WebCore::EventHandler::handleKeyboardSelectionMovement):
3162         (WebCore::EventHandler::defaultKeyboardEventHandler):
3163         * page/EventHandler.h:
3164
3165 2008-05-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3166
3167         Reviewed by Simon.
3168
3169         Since WebKitGtk is fully using autotools now, clean-up the .pro/.pri files
3170         from gtk-port.
3171
3172         * WebCore.pro:
3173
3174 2008-05-16  Simon Hausmann  <hausmann@webkit.org>
3175
3176         Fix the Gtk build.
3177
3178         * GNUmakefile.am: Added rendering/style to the include paths.
3179
3180 2008-05-16  Simon Hausmann  <hausmann@webkit.org>
3181
3182         Fix the Qt build.
3183
3184         * WebCore.pro: Added rendering/style to the include paths
3185         * page/AXObjectCache.cpp:
3186         (WebCore::AXObjectCache::handleActiveDescendantChanged): Don't compile
3187         this method unless a17n is enabled.
3188
3189 2008-05-15  Rob Buis  <buis@kde.org>
3190
3191         Reviewed by Dave Hyatt.
3192
3193         https://bugs.webkit.org/show_bug.cgi?id=17433
3194         getComputedStyle() -> clip returns empty string
3195
3196         Make getComputedStyle return a shape value for clip
3197         if it is set.
3198
3199         Tests: fast/css/getPropertyValue-clip.html
3200
3201         * css/CSSComputedStyleDeclaration.cpp:
3202         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3203
3204 2008-05-15  Kevin Ollivier  <kevino@theolliviers.com>
3205
3206         wx build fix. Add rendering/style to includes dir.
3207
3208         * webcore-base.bkl:
3209
3210 2008-05-15  Alice Liu  <alice.liu@apple.com>
3211
3212         Reviewed by Beth Dakin.
3213
3214         Fixed <rdar://problem/5882283> Implement ARIA aria-activedescendant
3215         Also added support for aria roles listbox and option, and aria-selected, 
3216         and aria-multiselectable for listboxes
3217
3218         * dom/Element.cpp:
3219         (WebCore::Element::attributeChanged):
3220         * dom/Element.h:
3221         * dom/StyledElement.cpp:
3222         (WebCore::StyledElement::attributeChanged):
3223         * html/HTMLAttributeNames.in:
3224         * page/AXObjectCache.cpp:
3225         (WebCore::AXObjectCache::handleActiveDescendantChanged):
3226         * page/AXObjectCache.h:
3227         (WebCore::AXObjectCache::accessibilityEnabled):
3228         (WebCore::AXObjectCache::handleActiveDescendantChanged):
3229         * page/AccessibilityListBox.cpp:
3230         (WebCore::AccessibilityListBox::selectedChildren):
3231         (WebCore::AccessibilityListBox::visibleChildren):
3232         * page/AccessibilityListBox.h:
3233         * page/AccessibilityListBoxOption.h:
3234         (WebCore::AccessibilityListBoxOption::selectedChildren):
3235         (WebCore::AccessibilityListBoxOption::visibleChildren):
3236         * page/AccessibilityObject.cpp:
3237         * page/AccessibilityObject.h:
3238         (WebCore::AccessibilityObject::isListBox):
3239         (WebCore::AccessibilityObject::shouldFocusActiveDescendant):
3240         (WebCore::AccessibilityObject::activeDescendant):
3241         (WebCore::AccessibilityObject::handleActiveDescendantChanged):
3242         * page/AccessibilityRenderObject.cpp:
3243         (WebCore::AccessibilityRenderObject::title):
3244         (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
3245         (WebCore::AccessibilityRenderObject::focusedUIElement):
3246         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
3247         (WebCore::AccessibilityRenderObject::activeDescendant):
3248         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
3249         (WebCore::RoleEntry::):
3250         (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
3251         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
3252         (WebCore::AccessibilityRenderObject::selectedChildren):
3253         (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
3254         (WebCore::AccessibilityRenderObject::visibleChildren):
3255         * page/AccessibilityRenderObject.h:
3256         (WebCore::AccessibilityRenderObject::isDetached):
3257         * page/mac/AccessibilityObjectWrapper.mm:
3258         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3259
3260 2008-05-15  Timothy Hatcher  <timothy@apple.com>
3261
3262         Adds an error and warning count indicator at the bottom right in the
3263         Inspector's status bar.
3264
3265         https://bugs.webkit.org/show_bug.cgi?id=18650
3266
3267         Initial implementation by Adam Roben.
3268         Reviewed by Sam Weinig.
3269
3270         Test: manual-tests/inspector/error-warning-count.html
3271
3272         * English.lproj/localizedStrings.js: Added new strings.
3273         * manual-tests/inspector/error-warning-count.html: Added.
3274         * page/inspector/Console.js:
3275         (WebInspector.Console.prototype.show): Don't do anything if visible.
3276         (WebInspector.Console.prototype.hide): Don't do anything if hidden.
3277         Temporally set properties and classes to mimic the post-animation
3278         values so panels like Elements in their updateStatusBarItems call will
3279         size things to fit the final location. 
3280         * page/inspector/ElementsPanel.js:
3281         (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes):
3282         Account for the #error-warning-count width when sizing breadcrumbs. 
3283         * page/inspector/Resource.js:
3284         (WebInspector.Resource.prototype.set errors): Update the global error count.
3285         (WebInspector.Resource.prototype.set warnings): Update the global warning count.
3286         * page/inspector/inspector.css: Make .hidden's display property
3287         !important to ensure things really hide, and added styling for the new
3288         #error-warning-count element.
3289         * page/inspector/inspector.html: Added an #error-warning-count div
3290         in the #anchored-status-bar-items div.
3291         * page/inspector/inspector.js:
3292         (WebInspector.get errors): Added.
3293         (WebInspector.set errors): Added. Calls _updateErrorAndWarningCounts.
3294         (WebInspector.get warnings): Added.
3295         (WebInspector.set warnings): Added. Calls _updateErrorAndWarningCounts.
3296         (WebInspector._updateErrorAndWarningCounts): Added. Update the
3297         #error-warning-count div with the current error/warning count.
3298         (WebInspector.loaded): Add a click event listener to the
3299         #error-warning-count element that will show the Console. Call
3300         _updateErrorAndWarningCounts to display the initial error/warning counts.
3301
3302 2008-05-15  Timothy Hatcher  <timothy@apple.com>
3303
3304         Fixes a bug in the view source parsing of text within <script>,
3305         <style>, <xmp>, <textarea> and other special tags. The text was
3306         being parsed as HTML and would be syntax highlighted if a "<"
3307         was encountered.
3308
3309         <rdar://problem/5790805> Inspector's source view missing some words,
3310         doubles others in JS source in <script> tag (17752)
3311
3312         Reviewed by Dave Hyatt.
3313
3314         Added test: fast/frames/viewsource-plain-text-tags.html
3315
3316         * html/HTMLTokenizer.cpp:
3317         (WebCore::HTMLTokenizer::scriptHandler): Set scriptCodeSize and
3318         scriptCodeResync to zero before an early return in view source mode.
3319         This was causing text from a previous script tag to show up in
3320         then next style tag.
3321         (WebCore::HTMLTokenizer::parseTag): Enter an if block in view source
3322         mode even if n is null. The n is property guarded in other places
3323         and not used by view source mode. Removes a redundant null check on n.
3324         Add a new null check of n before setting scriptSrcCharset. Other code
3325         in HTMLTokenizer is already guarded for this code path. 
3326
3327 2008-05-15  Timothy Hatcher  <timothy@apple.com>
3328
3329         Changes the Web Inspector node highlight to be less aggressive
3330         and only highlight when hovering over the selected node in the DOM
3331         tree or breadcrumbs. You can highlight on hover for any node if
3332         you hold down the Alt/Option key while hovering.
3333
3334         Reviewed by Kevin McCullough.
3335
3336         * page/inspector/ElementsPanel.js:
3337         * page/inspector/inspector.js:
3338
3339 2008-05-15  Stephanie Lewis  <slewis@apple.com>
3340
3341         Fix windows build
3342
3343         * loader/FrameLoader.cpp:
3344         (WebCore::FrameLoader::stopLoading):
3345
3346 2008-05-15  Stephanie Lewis  <slewis@apple.com>
3347
3348         Reviewed by Anders.
3349         
3350         export a symbol needed for fast teardown
3351
3352         * WebCore.base.exp:
3353
3354 2008-05-15  Stephanie Lewis  <slewis@apple.com>
3355
3356         Reviewed by Anders.
3357
3358         Keep track on pending unload event counts
3359
3360         No change in behavior so no new tests, but I am dumping the 
3361         unload event count to track the new variable.
3362
3363         * WebCore.base.exp:
3364
3365         increment/decrement the count when an event is added/removed
3366         * dom/Document.cpp:
3367         (WebCore::Document::removeHTMLWindowEventListener):
3368         (WebCore::Document::addWindowEventListener):
3369         (WebCore::Document::removeWindowEventListener):
3370         (WebCore::Document::setPendingFrameUnloadEventCount):
3371         * dom/Document.h:
3372
3373         set the count to 0 for each frame after the unload event has been dispatched
3374         * loader/FrameLoader.cpp:
3375         (WebCore::FrameLoader::stopLoading):
3376
3377         keep track of the number of pending unload events for the eventHandler's frame
3378         * page/EventHandler.cpp:
3379         (WebCore::EventHandler::EventHandler):
3380        (WebCore::EventHandler::pendingFrameUnloadEventCount):
3381         (WebCore::EventHandler::setPendingFrameUnloadEventCount):
3382         * page/EventHandler.h:
3383
3384         keep track of the total number of pending unload events for all of the frames
3385         * page/Page.cpp:
3386         (WebCore::Page::Page):
3387         (WebCore::Page::pendingUnloadEventCount):
3388         (WebCore::Page::setPendingUnloadEventCount):
3389         * page/Page.h:
3390
3391 2008-05-15  Steve Falkenburg  <sfalken@apple.com>
3392
3393         Fix build.
3394
3395         * WebCore.vcproj/WebCore.vcproj:
3396
3397 2008-05-15  Steve Falkenburg  <sfalken@apple.com>
3398
3399         Fix build.
3400
3401         * WebCore.vcproj/WebCore.vcproj:
3402
3403 2008-05-15  Steve Falkenburg  <sfalken@apple.com>
3404
3405         Fix build.
3406
3407         * WebCore.vcproj/WebCore.vcproj:
3408
3409 2008-05-15  David Kilzer  <ddkilzer@apple.com>
3410
3411         Bug 19085: font-family: initial sets font-family differently than font: initial
3412
3413         <https://bugs.webkit.org/show_bug.cgi?id=19085>
3414         <rdar://problem/5939391>
3415
3416         Reviewed by David Hyatt.
3417
3418         Test: fast/css/font-family-initial.html
3419
3420         * css/CSSStyleSelector.cpp:
3421         (WebCore::CSSStyleSelector::applyProperty): Don't set family if first
3422         family of initial font description is empty.
3423
3424 2008-05-15  David Hyatt  <hyatt@apple.com>
3425
3426         Move RenderStyle into a new subdirectory, rendering/style/, in preparation for breaking it up into
3427         a bunch of smaller files.
3428
3429         Reviewed by Dan Bernstein
3430
3431         * GNUmakefile.am:
3432         * WebCore.pro:
3433         * WebCore.vcproj/WebCore.vcproj:
3434         * WebCore.xcodeproj/project.pbxproj:
3435         * WebCoreSources.bkl:
3436         * rendering/RenderStyle.cpp: Removed.
3437         * rendering/RenderStyle.h: Removed.
3438         * rendering/style: Added.
3439         * rendering/style/RenderStyle.cpp: Copied from rendering/RenderStyle.cpp.
3440         * rendering/style/RenderStyle.h: Copied from rendering/RenderStyle.h.
3441
3442 2008-05-15  David Kilzer  <ddkilzer@apple.com>
3443
3444         Fix leaks when stopping a page from loading
3445
3446         Patch suggested by Antti.  Reviewed by Antti.
3447
3448         * loader/DocLoader.cpp:
3449         (WebCore::DocLoader::clearPreloads): If a resource is in m_preloads but
3450         never made it to the cache, delete it to prevent it from leaking.
3451
3452 2008-05-15  Julien Chaffraix  <jchaffraix@webkit.org>
3453
3454         Reviewed by Darin.
3455
3456         https://bugs.webkit.org/show_bug.cgi?id=13942
3457         ASSERTION FAILED: !attrName.contains('/') in HTMLTokenizer.cpp:132 when loading http://bamanzi.blogeden.cn/
3458
3459         In HTML, when an attribute was null (for example when we parse '="somevalue"'
3460         (attribute forgotten or there is a space between the attribute and the '=')),
3461         the fallback was to assign the value to the attribute. However if the value was
3462         a url or did contain a '/', we would trigger the assertion.
3463
3464         To avoid that, we check the value before assigning it now and do not assign it
3465         if it means adding a '/'.
3466
3467         Test: fast/parser/assertion-empty-attribute.html
3468
3469         * html/HTMLTokenizer.cpp:
3470         (WebCore::HTMLTokenizer::parseTag): Add check for '/' in value before
3471         assigning it to an attribute when the attribute is null.
3472
3473 2008-05-15  Kevin Ollivier  <kevino@theolliviers.com>
3474
3475         wx build fix for recent breakages. Add EventLoopWx.cpp, update the Bakefiles,
3476         and add stubs for new Plugins functions. Also move plugin functions outside of
3477         TemporaryLinkStubs.cpp so that they are more noticeable.
3478
3479         * WebCoreSources.bkl:
3480         * platform/wx/EventLoopWx.cpp: Added.
3481         (WebCore::EventLoop::cycle):
3482         * platform/wx/TemporaryLinkStubs.cpp:
3483         * plugins/wx: Added.
3484         * plugins/wx/PluginDataWx.cpp: Added.
3485         (WebCore::PluginData::initPlugins):
3486         (WebCore::PluginData::refresh):
3487         * plugins/wx/PluginDatabaseWx.cpp: Added.
3488         (WebCore::PluginDatabase::getPluginPathsInDirectories):
3489         (WebCore::PluginDatabase::defaultPluginDirectories):
3490         (WebCore::PluginDatabase::isPreferredPluginDirectory):
3491         * plugins/wx/PluginPackageWx.cpp: Added.
3492         (WebCore::PluginPackage::determineQuirks):
3493         (WebCore::PluginPackage::fetchInfo):
3494         (WebCore::PluginPackage::load):
3495         (WebCore::PluginPackage::hash):
3496         (WebCore::PluginPackage::equal):
3497         (WebCore::PluginPackage::compareFileVersion):
3498         * plugins/wx/PluginViewWx.cpp: Added.
3499         (WebCore::PluginView::updateWindow):
3500         (WebCore::PluginView::setFocus):
3501         (WebCore::PluginView::show):
3502         (WebCore::PluginView::hide):
3503         (WebCore::PluginView::paint):
3504         (WebCore::PluginView::handleKeyboardEvent):
3505         (WebCore::PluginView::handleMouseEvent):
3506         (WebCore::PluginView::setParent):
3507         (WebCore::PluginView::setNPWindowRect):
3508         (WebCore::PluginView::attachToWindow):
3509         (WebCore::PluginView::detachFromWindow):
3510         (WebCore::PluginView::stop):
3511         (WebCore::PluginView::userAgent):
3512         (WebCore::PluginView::handlePostReadFile):
3513         (WebCore::PluginView::getValue):
3514         (WebCore::PluginView::invalidateRect):
3515         (WebCore::PluginView::invalidateRegion):
3516         (WebCore::PluginView::forceRedraw):
3517         (WebCore::PluginView::~PluginView):
3518         (WebCore::PluginView::init):
3519         * webcore-wx.bkl:
3520
3521 2008-05-15  Adam Treat  <treat@kde.org>
3522
3523         Reviewed by Simon.
3524
3525         Don't try to setCompositionMode for devices that do not support PorterDuff
3526
3527         * platform/graphics/qt/GraphicsContextQt.cpp:
3528         (WebCore::TransparencyLayer::TransparencyLayer):
3529         (WebCore::GraphicsContext::strokeRect):
3530         (WebCore::GraphicsContext::clip):
3531
3532 2008-05-15  Adele Peterson  <adele@apple.com>
3533
3534         Reviewed and landed by Alexey.
3535
3536         Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
3537
3538         * WebCore.base.exp: Exported TextIterator methods.
3539
3540 2008-05-15  Simon Hausmann  <hausmann@webkit.org>
3541
3542         Fix the Qt build by adding NetworkStateNotifier.cpp to the build.
3543
3544         * WebCore.pro:
3545
3546 2008-05-14  Dan Bernstein  <mitz@apple.com>
3547
3548         Reviewed by Mark Rowe.
3549
3550         - fix <rdar://problem/5907633> Memory corruption after closing a document that uses box-reflect
3551
3552         Test: fast/reflections/teardown-crash.html
3553
3554         * rendering/RenderLayer.cpp:
3555         (WebCore::RenderLayer::~RenderLayer): Changed to not call removeLayers()
3556         on the reflection if the document is being destroyed, because in that
3557         case the layer tree is not being maintained.
3558
3559 2008-05-14  Kevin McCullough  <kmccullough@apple.com>
3560
3561         Reviewed by Tim.
3562
3563         <rdar://problem/5770054> JavaScript profiler (10928)
3564         - Expose the new Profiler functions to the WebInspector.
3565
3566         * page/JavaScriptProfileNode.cpp:
3567         (WebCore::getTotalPercent):
3568         (WebCore::getSelfPercent):
3569         (WebCore::ProfileNodeClass):
3570
3571 2008-05-14  Timothy Hatcher  <timothy@apple.com>
3572
3573         Fixes a crash in JavaScriptDebugServer::returnEvent when debugging
3574         code that contains an eval. This change makes stepping into eval
3575         code work as expected.
3576
3577         http://bugs.webkit.org/show_bug.cgi?id=19038
3578
3579         Reviewed by Kevin McCullough.
3580
3581         Tested with: manual-tests/inspector/returnEvent-crash.html
3582
3583         * manual-tests/inspector/returnEvent-crash.html: Added.
3584         * page/JavaScriptDebugServer.cpp:
3585         (WebCore::JavaScriptDebugServer::sourceParsed): Adds #ifdefed
3586         debugging code to prevent the sourceID and URL.
3587         (WebCore::updateCurrentCallFrame): Added. A helper function that
3588         is called from all 4 of the debugger hooks below. This function will
3589         update and/or create JavaScriptCallFrames to match the exec state,
3590         sourceID and lineNumber passed into it. Contains #ifdefed debugging
3591         code that was helpful while fixing this bug.
3592         (WebCore::JavaScriptDebugServer::callEvent): Call updateCurrentCallFrame
3593         before pauseIfNeeded.
3594         (WebCore::JavaScriptDebugServer::atStatement): Ditto.
3595         (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
3596         (WebCore::JavaScriptDebugServer::exception): Ditto.
3597
3598 2008-05-14  Alp Toker  <alp@nuanti.com>
3599
3600         GTK+ build fix for r33457. Add NetworkStateNotifier.cpp to the build.
3601
3602         * GNUmakefile.am:
3603
3604 2008-05-14  Alp Toker  <alp@nuanti.com>
3605
3606         GTK+ build fix. Include value.h from kjs, not JavaScriptCore.
3607
3608         * page/JavaScriptProfile.cpp:
3609         * page/JavaScriptProfileNode.cpp:
3610
3611 2008-05-14  Adam Roben  <aroben@apple.com>
3612
3613         Windows release build fix
3614
3615         * WebCore.vcproj/WebCore.vcproj: Make sure the warnings we disable on
3616         XPathGrammar.cpp are disabled for all configurations, not just
3617         Debug_Internal.
3618
3619 2008-05-14  Kevin McCullough  <kmccullough@apple.com>
3620
3621         Reviewed by Sam.
3622
3623         <rdar://problem/5770054> JavaScript profiler (10928)
3624         - Rename FunctionCallProfile to ProfileNode
3625
3626         * ForwardingHeaders/profiler/FunctionCallProfile.h: Removed.
3627         * ForwardingHeaders/profiler/ProfileNode.h: Copied from ForwardingHeaders/profiler/FunctionCallProfile.h.
3628         * GNUmakefile.am:
3629         * WebCore.pro:
3630         * WebCore.vcproj/WebCore.vcproj:
3631         * WebCore.xcodeproj/project.pbxproj:
3632         * WebCoreSources.bkl:
3633         * page/JavaScriptFunctionCallProfile.cpp: Removed.
3634         * page/JavaScriptFunctionCallProfile.h: Removed.
3635         * page/JavaScriptProfile.cpp:
3636         * page/JavaScriptProfileNode.cpp: Copied from page/JavaScriptFunctionCallProfile.cpp.
3637         (WebCore::ProfileNodeCache):
3638         (WebCore::getFunctionName):
3639         (WebCore::getTotalTime):
3640         (WebCore::getSelfTime):
3641         (WebCore::getNumberOfCalls):
3642         (WebCore::getChildren):
3643         (WebCore::finalize):
3644         (WebCore::ProfileNodeClass):
3645         (WebCore::toJS):
3646         * page/JavaScriptProfileNode.h: Copied from page/JavaScriptFunctionCallProfile.h.
3647
3648 2008-05-13  Beth Dakin  <bdakin@apple.com>
3649
3650         Reviewed by Brady.
3651
3652         This patch adds support for the ARIA progressbar role and the 
3653         following ARIA states (ie HTML attributes): aria-checked, aria-
3654         level, aria-pressed, aria-valuenow, aria-valuemin, and aria-
3655         valuemax.
3656
3657         * html/HTMLAttributeNames.in:
3658         * page/AccessibilityObject.h:
3659         (WebCore::AccessibilityObject::isProgressIndicator):
3660         (WebCore::AccessibilityObject::valueForRange):
3661         (WebCore::AccessibilityObject::maxValueForRange):
3662         (WebCore::AccessibilityObject::minValueForRange):
3663         * page/AccessibilityRenderObject.cpp:
3664         (WebCore::AccessibilityRenderObject::isProgressIndicator):
3665         (WebCore::AccessibilityRenderObject::isPressed): Check the aria-
3666         pressed attribute if this is an ARIA button.
3667         (WebCore::AccessibilityRenderObject::headingLevel): Check the aria-
3668         level attribute if this is an ARIA heading.
3669         (WebCore::AccessibilityRenderObject::intValue): Check the aria-
3670         checked attribute if this is an ARIA radio button or checkbox.
3671         (WebCore::AccessibilityRenderObject::valueForRange):
3672         (WebCore::AccessibilityRenderObject::maxValueForRange):
3673         (WebCore::AccessibilityRenderObject::minValueForRange):
3674         (WebCore::RoleEntry::):
3675         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
3676         * page/AccessibilityRenderObject.h:
3677         * page/mac/AccessibilityObjectWrapper.mm:
3678         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3679         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3680
3681 2008-05-14  Kevin McCullough  <kmccullough@apple.com>
3682
3683         Reviewed by John.
3684
3685         -<rdar://problem/5770054> JavaScript profiler (10928)
3686         Use the FunctionCallProfile's new total and self time functions.
3687
3688         * page/JavaScriptFunctionCallProfile.cpp:
3689         (WebCore::getTotalTime):
3690         (WebCore::getSelfTime):
3691
3692 2008-05-14  Anders Carlsson  <andersca@apple.com>
3693
3694         Reviewed by Adam.
3695
3696         Don't try to store the resource data if it's empty.
3697         
3698         * loader/appcache/ApplicationCacheStorage.cpp:
3699         (WebCore::ApplicationCacheStorage::store):
3700
3701 2008-05-14  Adam Roben  <aroben@apple.com>
3702
3703         Windows build fix
3704
3705         * platform/network/NetworkStateNotifier.cpp: Added a missing #include.
3706         * platform/network/NetworkStateNotifier.h:
3707         (WebCore::NetworkStateNotifier::NetworkStateNotifier): Removed 'void'
3708         return type from the constructor, and fixed the spelling of a member
3709         variable.
3710
3711 2008-05-14  Kevin McCullough  <kmccullough@apple.com>
3712
3713         Reviewed by Adam.
3714
3715         <rdar://problem/5770054> JavaScript profiler (10928)
3716         - Add support for interacting with the JavaScriptCore profiler.
3717
3718         * ForwardingHeaders/profiler/FunctionCallProfile.h: Added.
3719         * ForwardingHeaders/profiler/Profile.h: Added.
3720         * GNUmakefile.am: Add the new files to all the projects.
3721         * WebCore.pro:
3722         * WebCore.vcproj/WebCore.vcproj:
3723         * WebCore.xcodeproj/project.pbxproj:
3724         * WebCoreSources.bkl:
3725         * page/InspectorController.cpp: Add the ability to retrieve all of the
3726         profiles in JavaScript from the InspectorController.
3727         (WebCore::allProfiles):
3728         (WebCore::InspectorController::windowScriptObjectAvailable):
3729         * page/JavaScriptFunctionCallProfile.cpp: Added. Wrapper around the JSC
3730         FunctionCallProfile.
3731         (WebCore::functionCallProfileCache): This cache makes sure we don't
3732         needlessly create duplicate wrappers around the same
3733         FunctionCallProfile*.
3734         (WebCore::getFunctionName): Callback to return the name of the function.
3735         (WebCore::getTotalTime): Callback to return the total time spent in the
3736         function.
3737         (WebCore::getSelfTime): Callback to return the time spent in self (total
3738         - time in children) in the function.
3739         (WebCore::getNumberOfCalls): Callback to return the number of times this
3740         function was called.
3741         (WebCore::getChildren): Callback to return the children of this function
3742         where the children are the functions this function called.
3743         (WebCore::finalize): Cleanup.
3744         (WebCore::functionCallProfileClass): Define the JSClassRef for this
3745         object.
3746         (WebCore::toJS): Create a conversion function to make a usable JSValue
3747         to wrap the FunctionCallProfile in JSC.
3748         * page/JavaScriptFunctionCallProfile.h: Added.
3749         * page/JavaScriptProfile.cpp: Added. Wrapper around the JSC Profile.
3750         (WebCore::profileCache): This cache makes sure we don't needlessly
3751         create duplicate wrappers aroudn the same Profile*.
3752         (WebCore::getHeadCallback): Callback to return the head of the graph of
3753         the functions profiled durring this profile's run.
3754         (WebCore::finalize):
3755         (WebCore::profileClass): Define the JSClassRef for this object.
3756         (WebCore::toJS): Create a conversion function to make a usable JSValue
3757         to wrap the Profile from JSC.
3758         * page/JavaScriptProfile.h: Added.
3759
3760 2008-05-14  David Hyatt  <hyatt@apple.com>
3761
3762         Fix for bug https://bugs.webkit.org/show_bug.cgi?id=16130.
3763
3764         Opacity, transforms, reflections and masks should not honor z-index unless the element is also
3765         positioned.  Always reset to auto if the element is not positioned (and then the following code will
3766         adjust auto to 0 as needed).
3767
3768         Reviewed by Dan Bernstein
3769
3770         * css/CSSStyleSelector.cpp:
3771         (WebCore::CSSStyleSelector::adjustRenderStyle):
3772
3773 2008-05-14  Anders Carlsson  <andersca@apple.com>
3774
3775         Reviewed by Brady.
3776
3777         <rdar://problem/5931742> Support navigator.onLine from HTML5
3778         
3779         * WebCore.vcproj/WebCore.vcproj:
3780         * WebCore.xcodeproj/project.pbxproj:
3781         Add NetworkStateNotifier files.
3782         
3783         * dom/EventNames.h:
3784         Add offline and online events.
3785         
3786         * page/Navigator.cpp:
3787         (WebCore::Navigator::onLine):
3788         * page/Navigator.h:
3789         * page/Navigator.idl:
3790         Add navigator.onLine.
3791         
3792         * page/Page.cpp:
3793         (WebCore::networkStateChanged):
3794         Dispatch offline/online events to all frames.
3795         
3796         (WebCore::Page::Page):
3797         Set state change callback.
3798         
3799         * platform/network/NetworkStateNotifier.cpp: Added.
3800         * platform/network/NetworkStateNotifier.h: Added.
3801
3802         * platform/network/mac/NetworkStateNotifierMac.cpp: Added.
3803         Mac network state notifier.
3804
3805 2008-05-14  Adam Roben  <aroben@apple.com>
3806
3807         Fix Bug 18888: REGRESSION (r32731): console.log always prints
3808         "undefined"
3809
3810         <https://bugs.webkit.org/show_bug.cgi?id=18888>
3811
3812         Reviewed by Tim Hatcher.
3813
3814         Tested by pre-existing
3815         manual-tests/inspector/console-log-formatting.html.
3816
3817         * page/inspector/Console.js:
3818         (WebInspector.ConsoleMessage.prototype._format): Changed to explicitly
3819         wrap Console._format instead of using bind to do it. Using bind was
3820         causing us to pass plainText in as the first parameter instead of as
3821         the second.
3822
3823 2008-05-14  Timothy Hatcher  <timothy@apple.com>
3824
3825         Fixes the bug where stepping out of a function would show the wrong
3826         call stack (would look like it stepped out twice.)
3827
3828         Reviewed by Adam Roben.
3829
3830         * page/JavaScriptDebugServer.cpp:
3831         (WebCore::JavaScriptDebugServer::returnEvent):
3832         Call pauseIfNeeded before setting m_currentCallFrame to the caller.
3833
3834 2008-05-14  Stephanie Lewis  <slewis@apple.com>
3835    
3836         Fix 64bit build
3837
3838         * plugins/PluginView.h:
3839
3840 2008-05-14  David Kilzer  <ddkilzer@apple.com>
3841
3842         REGRESSION (r26474): WebKit fails jQuery test 64 core module: text(String) subtest 1 Check escaped text (createTextNode)
3843
3844         <https://bugs.webkit.org/show_bug.cgi?id=18976>
3845         <rdar://problem/5924793>
3846
3847         Reviewed by Darin.
3848
3849         Tests: fast/dom/dom-parse-serialize-expected.txt:
3850                fast/xsl/xslt-processor-expected.txt:
3851                fast/xsl/xslt-text-expected.txt:
3852
3853         Commit r26474 removed escaping of '>' characters to '&gt;' in serialized
3854         HTML content, which broke one jQuery test.  This change restores that
3855         serialization behavior to both attributes and content for consistency.
3856
3857         * editing/markup.cpp:
3858         (WebCore::appendAttributeValue): Escape '>' as '&gt;'.
3859         (WebCore::escapeContentText): Ditto.
3860         (WebCore::appendEscapedContent): Ditto.  This is the bug fix for the jQuery test.
3861
3862 2008-05-14  Adam Roben  <aroben@apple.com>
3863
3864         Fix Bug 19051: REGRESSION (r33447): Assertion in
3865         JSDebugServer::removeListener closing tab with Inspector open
3866
3867         <https://bugs.webkit.org/show_bug.cgi?id=19051>
3868
3869         m_inspectedPage is now cleared when the Page is destroyed, which never
3870         used to happen. Some of InspectorController's code was not prepared
3871         for this.
3872
3873         Reviewed by Dave Hyatt.
3874
3875         * page/InspectorController.cpp:
3876         (WebCore::InspectorController::~InspectorController): Removed a call
3877         to stopDebugging and added an assertion. Debugging should have already
3878         been stopped by this point.
3879         (WebCore::InspectorController::inspectedPageDestroyed): Moved here
3880         from the header file. Added a call to stopDebugging.
3881         (WebCore::InspectorController::enabled): Return false if our inspected
3882         Page has already been destroyed, since we can't really do much at this
3883         point anyway.
3884         (WebCore::InspectorController::didCommitLoad):
3885         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
3886         (WebCore::InspectorController::identifierForInitialRequest):
3887         (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
3888         (WebCore::InspectorController::stopDebugging):
3889         (WebCore::InspectorController::drawNodeHighlight):
3890         Assert that m_inspectedPage hasn't been cleared.
3891         * page/InspectorController.h:
3892
3893 2008-05-14  Justin Garcia  <justin.garcia@apple.com>
3894
3895         Reviewed by Darin.
3896
3897         <rdar://problem/5914803> Improve performance of WebCore::Editor::setComposition
3898
3899         * editing/Editor.cpp:
3900         (WebCore::Editor::confirmComposition): Remove the previous composition
3901         when we insert the new one, not with a separate, slower, delete operation.
3902         (WebCore::Editor::setComposition): Ditto.
3903         * editing/InsertTextCommand.cpp:
3904         (WebCore::InsertTextCommand::performTrivialReplace): Remove the selected
3905         text with a low level operation that doesn't perform a layout and insert
3906         the new text in a way that won't trigger a layout from the removal.
3907         (WebCore::InsertTextCommand::input): Call the optimized replace.
3908         * editing/InsertTextCommand.h:
3909         * editing/htmlediting.cpp:
3910         (WebCore::isTabSpanNode): Check to see if the node is a span, to avoid 
3911         the expense of getAttribute in the common case.
3912         * page/Frame.cpp:
3913         (WebCore::Frame::selectionLayoutChanged): Selection::start() and end()
3914         will already be at VisiblePosition deepEquivalents. Selection::validate()
3915         ensures this.
3916
3917 2008-05-14  Adam Roben  <aroben@apple.com>
3918
3919         Make the Inspector able to handle being reloaded
3920
3921         When Reload was selected from the context menu in the Inspector, the
3922         Inspector window would close and never be openable again. Now it
3923         closes, then reopens when the page finishes loading.
3924
3925         Reviewed by Tim Hatcher.
3926
3927         * page/InspectorController.cpp:
3928         (WebCore::InspectorController::close): Removed code that cleared out
3929         m_page. This is now handled by pageDestroyed.
3930         * page/InspectorController.h:
3931         (WebCore::InspectorController::inspectedPageDestroyed): Added.
3932         * page/Page.cpp:
3933         (WebCore::Page::~Page): Fixed a bug and added a call to the new
3934         inspectedPageDestroyed. If we have a parent InspectorController, that
3935         means that we are the Page in the Inspector's window (i.e., we are the
3936         Inspector's UI), so when we are destroyed we should call
3937         InspectorController::pageDestroyed. We also need to call
3938         inspectedPageDestroyed on our own InspectorController so that it won't
3939         try to call into us.
3940
3941 2008-05-14  Timothy Hatcher  <timothy@apple.com>
3942
3943         Add pause on exception support to the Inspector debugger
3944         with a toggle buttons to enable or disable it.
3945
3946         Reviewed by Adam Roben.
3947
3948         * page/InspectorController.cpp:
3949         (WebCore::pauseOnExceptions): Call the InspectorController.
3950         (WebCore::setPauseOnExceptions): Ditto.
3951         (WebCore::InspectorController::windowScriptObjectAvailable): Add the new
3952         setPauseOnExceptions and pauseOnExceptions functions to the JS class.
3953         (WebCore::InspectorController::pauseOnExceptions): Call JavaScriptDebugServer.
3954         (WebCore::InspectorController::setPauseOnExceptions): Ditto.
3955         * page/InspectorController.h:
3956         * page/JavaScriptDebugServer.cpp:
3957         (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Set m_pauseOnExceptions.
3958         (WebCore::JavaScriptDebugServer::exception): Check m_pauseOnExceptions
3959         and set m_pauseOnNextStatement to true before calling pauseIfNeeded.
3960         * page/JavaScriptDebugServer.h:
3961         * page/inspector/Images/pauseOnExceptionButtons.png: Added.
3962         * page/inspector/ScriptsPanel.js: Adds a status bar button that calls
3963         the new InspectorController functions.
3964         * page/inspector/inspector.css: New styles.
3965
3966 2008-05-14  Timothy Hatcher  <timothy@apple.com>
3967
3968         Rename the Scope Chain pane to Scope Variables. Name the global
3969         object Global. Name objects before the locals "With Block".
3970         Name colsure scopes "Closure". Name any element or document
3971         after Local, "Event Target" and "Event Document", respectfully.
3972
3973         Reviewed by Adam Roben.
3974
3975         * English.lproj/localizedStrings.js: Add new strings.
3976         * page/inspector/ObjectPropertiesSection.js:
3977         (WebInspector.ObjectPropertiesSection): Add a new argument that is used
3978         for the empty placeholder text.
3979         (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use the
3980         empty placeholder text.
3981         * page/inspector/ScopeChainSidebarPane.js:
3982         (WebInspector.ScopeChainSidebarPane): Rename Scope Chain to Scope Variables.
3983         (WebInspector.ScopeChainSidebarPane.prototype.update): Use the object name as
3984         the subtitle. Use "Global" for the global object title. Use "With Block" for
3985         the title of objects before the locals. Use "No Variables" for the empty
3986         placeholder text for locals.
3987
3988 2008-05-14  Michael A. Puls II  <shadow2531@gmail.com>
3989
3990         Reviewed by Alexey.
3991
3992         Fix for https://bugs.webkit.org/show_bug.cgi?id=16923 
3993         Attr nodes with a value of "" should not have any childNodes
3994         
3995         In Opera, Firefox and IE, when an attribute node has a value
3996         of "", the attribute node doesn't have any childNodes. This
3997         is true in WebKit also, but not when you assign "" to the
3998         Attr's value when the existing value is non-empty.
3999         
4000         Test: fast/dom/attribute-empty-value-no-children.html
4001
4002         * dom/Attr.cpp: (WebCore::Attr::setValue): Use createTextChild(), which only appends
4003         a child text node if the value being assigned is not empty.
4004
4005 2008-05-14  Julien Chaffraix  <jchaffraix@webkit.org>
4006
4007         Reviewed by Eric.
4008
4009         GCC 4.3 build fix.
4010         Removes some compiler warnings.
4011
4012         * dom/Document.h:
4013         (WebCore::FormElementKey::hashTableDeletedValue): GCC complained about the const keyword
4014         so remove it as it is only used inside FormElementKey.
4015
4016         * html/HTMLSelectElement.cpp:
4017         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Correct coding style (removes
4018         a warning too).
4019
4020         * loader/appcache/ApplicationCacheResource.cpp: Include stdio.h for gcc4.3 build.
4021
4022         * plugins/PluginPackage.cpp:
4023         (WebCore::PluginPackage::PluginPackage): Changed initialization order in the constructor.
4024         * plugins/PluginView.cpp:
4025         (WebCore::PluginView::PluginView): Ditto.
4026         * plugins/PluginView.h:
4027         * xml/AccessControlList.cpp: Include stdio.h
4028         * xml/AccessItem.cpp: Ditto.
4029         * xml/AccessItemRule.cpp: Ditto.
4030
4031 2008-05-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
4032
4033         Reviewed by Simon.
4034
4035         Qt build fix. Add JSJavaScriptCallFrameCustom.cpp to the build
4036         and implemented EventLoopQt.
4037
4038         * WebCore.pro:
4039         * platform/qt/EventLoopQt.cpp: Added.
4040
4041 2008-05-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
4042
4043         Reviewed by Simon.
4044
4045         Qt build fix. Add JavaScriptCallFrame.{idl,cpp} to the build.
4046
4047         * WebCore.pro:
4048
4049 2008-05-13  Dan Bernstein  <mitz@apple.com>
4050
4051         Reviewed by John Sullivan.
4052
4053         - Windows part of <rdar://problem/5725912> improve render quality of transformed text
4054
4055         * platform/graphics/win/FontCGWin.cpp:
4056         (WebCore::Font::drawGlyphs): Added call to
4057         wkSetCGContextFontRenderingStyle().
4058
4059 2008-05-13  Alp Toker  <alp@nuanti.com>
4060
4061         GTK+ build fix. Implement EventLoopGtk.cpp.
4062
4063         * GNUmakefile.am:
4064         * platform/gtk/EventLoopGtk.cpp: Added.
4065         (WebCore::EventLoop::cycle):
4066
4067 2008-05-13  Alp Toker  <alp@nuanti.com>
4068
4069         GTK+ build fix. Fix IDL filename typo and add JavaScriptCallFrame.cpp
4070         to the build.
4071
4072         * GNUmakefile.am:
4073
4074 2008-05-13  Matt Lilek  <webkit@mattlilek.com>
4075
4076         Not reviewed, partial Gtk build fix.
4077
4078         * GNUmakefile.am:
4079
4080 2008-05-13  Timothy Hatcher  <timothy@apple.com>
4081
4082         Fixes a crash when stepping out in the Inspector's debugger.
4083
4084         http://bugs.webkit.org/show_bug.cgi?id=19037
4085
4086         Reviewed by Dan Bernstein.
4087
4088         * page/InspectorController.cpp:
4089         (WebCore::currentCallFrame): Adds a null check of currentCallFrame,
4090         since it can be null. Also returns JSNull to better signify this.
4091         * page/inspector/ScriptsPanel.js: Updates the debugger interface
4092         when stepping so the currentCallFrame isn't accessed when not paused.
4093         Adds a _clearInterface function to remove duplicate code.
4094
4095 2008-05-13  chris fleizach  <cfleizach@apple.com>
4096
4097         Reviewed by Beth Dakin
4098
4099         <rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle
4100
4101         * page/AccessibilityRenderObject.cpp:
4102         (WebCore::AccessibilityRenderObject::title):
4103
4104 2008-05-13  Timothy Hatcher  <timothy@apple.com>
4105
4106         Adds an overlay window that covers the scripts panel and
4107         informs the user that they need to attach the debugger.
4108         Provides an "Attach Debugger" button below the info text.
4109
4110         Reviewed by Dan Bernstein.
4111
4112         * English.lproj/localizedStrings.js: New strings.
4113         * page/inspector/ScriptsPanel.js:
4114         (WebInspector.ScriptsPanel): Create the overlay elements and
4115         append to the main panel element.
4116         * page/inspector/inspector.css: New styles for the over lay elements.
4117
4118 2008-05-13  Timothy Hatcher  <timothy@apple.com>
4119
4120         Fixes the assertion and crash that would happen when inspecting a element from a frame.
4121         This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects
4122         that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent
4123         crashing in release builds if the page groups don't match.
4124
4125         Passes all the tests in: manual-tests/inspector-wrappers
4126
4127         Reviewed by Adam Roben.
4128
4129         * bindings/js/JSInspectedObjectWrapper.cpp:
4130         (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0.
4131         Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches.
4132         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4133         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches.
4134         Return true if the pageGroupIdentifier of both wrappers match.
4135         (WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0.
4136         * bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom.
4137
4138 2008-05-13  Timothy Hatcher  <timothy@apple.com>
4139
4140         Fixes the hang that could happen when option-clicking to expand
4141         a disclosure triangle in the Properties pane. This change limits
4142         the recursion depth when expanding the tree elements.
4143
4144         <rdar://problem/5847681> Safari hangs when option-clicking a
4145         disclosure triangle in the Inspector's Properties pane
4146
4147         Reviewed by John Sullivan.
4148
4149         * page/inspector/treeoutline.js:
4150         (TreeElement.prototype.expandRecursively): Pass an empty info object to
4151         traverseNextTreeElement to get the depthChange value. This is used to
4152         compute a current depth. If the depth exceeds the maxDepth argument, the
4153         item isn't expanded and children wont be populated when traverseNextTreeElement
4154         is called until the depth goes below the maxDepth.
4155         (TreeElement.prototype.traverseNextTreeElement): Added a new info
4156         argument that can be optionally used to return extra info like depth change.
4157
4158 2008-05-13  Timothy Hatcher  <timothy@apple.com>
4159
4160         Adds info text to panes and sections in the Inspector's sidebars
4161         that would normally be empty. These help the user know why there
4162         is nothing in these sections.
4163
4164         Reviewed by John Sullivan.
4165
4166         * English.lproj/localizedStrings.js: Add strings.
4167         * page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints".
4168         * page/inspector/CallStackSidebarPane.js: Adds "Not Paused".
4169         * page/inspector/ObjectPropertiesSection.js: Adds "No Properties".
4170         * page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused".
4171         * page/inspector/inspector.css: Adds style rules for the info elements.
4172
4173 2008-05-13  Timothy Hatcher  <timothy@apple.com>
4174
4175         Implements the rest of the Scripts panel to get the debugger
4176         mostly working. "Basic debugging seems to work."
4177
4178         Reviewed by Geoff Garen.
4179
4180         * English.lproj/localizedStrings.js: Adds new strings.
4181         * page/inspector/Resource.js:
4182         (WebInspector.Resource.prototype.get scripts): Returns _scripts and 
4183         creates it lazily.
4184         (WebInspector.Resource.prototype.addScript): Add the script object to the
4185         front of the _scripts array.
4186         (WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts
4187         and removes the resource back-reference.
4188         (WebInspector.Resource.prototype.removeScript): Removes the script and
4189         breaks the resource back-reference.
4190         * page/inspector/ResourceView.js:
4191         (WebInspector.ResourceView): Adds a reminder comment.
4192         (WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible. 
4193         (WebInspector.ResourceView.prototype.set headersVisible): Stubs out
4194         a setter that currently just sets _headersVisible. Has a comment that
4195         points out this needs implemented when network headers are added.
4196         * page/inspector/ResourcesPanel.js: