e3aba238370d41f38256070fe2a2867134136155
[WebKit-https.git] / WebCore / ChangeLog
1 2008-04-17 Eric Carlson  <eric.carlson@apple.com> 
2
3         Reviewed by Adele. 
4
5         Fix for <rdar://problem/5861642> QTMovieWin returns uninitialized values
6
7         * platform/graphics/win/QTMovieWin.cpp:
8         (QTMovieWin::rate):
9         (QTMovieWin::setRate):
10         (QTMovieWin::setVolume):
11         (QTMovieWin::getNaturalSize):
12
13 2008-04-17  Marco Barisione  <marco.barisione@collabora.co.uk>
14
15         Reviewed by Alp Toker.
16
17         http://bugs.webkit.org/show_bug.cgi?id=18335
18         Pango font backend unable to display japanese properly
19
20         Different fonts can have different glyph indices, so we need to pass
21         the right font when retrieving a glyph index.
22
23         * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
24         (WebCore::pango_font_get_glyph): Temporarily override the font in the
25         PangoAnalysis passed to pango_shape.
26
27 2008-04-17  Anders Carlsson  <andersca@apple.com>
28
29         According to Sam and David, it's "topLevel", not "toplevel".
30         
31         * loader/DocumentLoader.cpp:
32         (WebCore::DocumentLoader::topLevelApplicationCache):
33         * loader/DocumentLoader.h:
34         * loader/appcache/DOMApplicationCache.cpp:
35         (WebCore::DOMApplicationCache::associatedCache):
36
37 2008-04-17  Anders Carlsson  <andersca@apple.com>
38
39         Reviewed by Sam.
40
41         Add DOMApplicationCache implementation.
42         
43         * dom/EventNames.h:
44         Add new event names.
45         
46         * dom/EventTarget.cpp:
47         (WebCore::EventTarget::toDOMApplicationCache):
48         * dom/EventTarget.h:
49         Add EventTarget conversion method.
50         
51         * loader/appcache/ApplicationCacheGroup.h:
52         (WebCore::ApplicationCacheGroup::):
53         (WebCore::ApplicationCacheGroup::status):
54         (WebCore::ApplicationCacheGroup::update):
55         (WebCore::ApplicationCacheGroup::newestCache):
56         Add more stubs.
57         
58         * loader/appcache/DOMApplicationCache.cpp:
59         * loader/appcache/DOMApplicationCache.h:
60
61         * page/DOMWindow.cpp:
62         (WebCore::DOMWindow::clear):
63         (WebCore::DOMWindow::applicationCache):
64         * page/DOMWindow.h:
65         (WebCore::DOMWindow::optionalApplicationCache):
66         Add ApplicationCache member.
67         
68 2008-04-17  Anders Carlsson  <andersca@apple.com>
69
70         Build fix.
71
72         * WebCore.vcproj/WebCore.vcproj:
73
74 2008-04-17  Dean Jackson  <dino@apple.com>
75
76         Reviewed by Hyatt.
77
78         Fix for <rdar://problem/5849968> translate method should have Y=0 when only X is present
79
80         Test: fast/css/transform-default-parameter.html
81
82         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
83         translate function with only X parameter now leaves the Y parameter as zero.
84
85 2008-04-17  Anders Carlsson  <andersca@apple.com>
86
87         Reviewed by Sam.
88         
89         Add plumbing for associating document loaders with application caches.
90         
91         * loader/DocumentLoader.cpp:
92         (WebCore::DocumentLoader::DocumentLoader):
93         (WebCore::DocumentLoader::~DocumentLoader):
94         (WebCore::DocumentLoader::originalURL):
95         (WebCore::DocumentLoader::requestURL):
96         (WebCore::DocumentLoader::responseURL):
97         (WebCore::DocumentLoader::responseMIMEType):
98         (WebCore::DocumentLoader::setCandidateApplicationCacheGroup):
99         (WebCore::DocumentLoader::setApplicationCache):
100         (WebCore::DocumentLoader::toplevelApplicationCache):
101         * loader/DocumentLoader.h:
102         (WebCore::DocumentLoader::candidateApplicationCacheGroup):
103         (WebCore::DocumentLoader::applicationCache):
104         * loader/appcache/ApplicationCacheGroup.h:
105         (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
106
107 2008-04-17  Adam Roben  <aroben@apple.com>
108
109         Fix Bug 18544: REGRESSION (r31951): Two fast/xsl tests crash
110
111         <https://bugs.webkit.org/show_bug.cgi?id=18544>
112
113         r31951 changed XSLTProcessor::parseErrorFunc to expect a Console* as
114         the context parameter. The caller in XSLTProcessor was changed, but
115         the one in XSLStyleSheet was missed.
116
117         Reviewed by Alexey Proskuryakov.
118
119         * xml/XSLStyleSheet.cpp:
120         (WebCore::XSLStyleSheet::parseString): Pass the Console as the context
121         to parseErrorFunc.
122
123 2008-04-17  Adam Roben  <aroben@apple.com>
124
125         Windows build fix after r31981
126
127         * dom/Document.idl: Omit getCSSCanvasContext from the COM bindings.
128
129 2008-04-17  Ariya Hidayat  <ariya.hidayat@trolltech.com>
130
131         Reviewed by Simon.
132
133         Implemented getFileModificationTime and pathGetFileName for the Qt port.
134
135         * platform/qt/FileSystemQt.cpp:
136         (WebCore::getFileModificationTime):
137
138 2008-04-17  Mark Rowe  <mrowe@apple.com>
139
140         Fix the non-Mac builds that I broke with my Mac build fix.
141
142         * css/CSSMutableStyleDeclaration.cpp:
143         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Explicitly use the size_t version of max
144         to avoid making assumptions about sizeof(size_t).
145
146 2008-04-17  Mark Rowe  <mrowe@apple.com>
147
148         Rubber-stamped by Dan Bernstein.
149
150         Fix the Mac build.
151
152         * css/CSSMutableStyleDeclaration.cpp:
153         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Update to use size_t in place of unsigned.
154         * dom/NamedNodeMap.h: Ditto.
155         * page/AccessibilityObject.h: Forward-declare AccessibilityObjectWrapper in the non-Objective-C case too.
156
157 2008-04-16  Jon Honeycutt  <jhoneycutt@apple.com>
158
159         Reviewed by Darin.
160
161         Use size_t instead of unsigned where appropriate.
162
163         * css/CSSValueList.h:
164         * dom/NamedAttrMap.h:
165         * rendering/RenderStyle.h:
166
167 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
168
169         Reviewed by Darin.
170
171         Add some methods to check AccessibilityObject state.
172
173         * page/AccessibilityObject.cpp:
174         (WebCore::AccessibilityObject::AccessibilityObject): Assert that the
175         passed renderer is not null.
176         (WebCore::AccessibilityObject::isPasswordField): Refactored to use early
177         return.
178         (WebCore::AccessibilityObject::isPressed): Return true if this is a
179         button in the pressed state.
180         (WebCore::AccessibilityObject::isIndeterminate): Return true if this is
181         a tri-state checkbox in the indeterminate state.
182         (WebCore::AccessibilityObject::isChecked): True if this is a radio
183         button or checkbox in the checked state.
184         (WebCore::AccessibilityObject::isHovered): True if object is currently
185         under the mouse cursor.
186         (WebCore::AccessibilityObject::isMultiSelect): True if this is a select
187         element capable of multi-select.
188         (WebCore::AccessibilityObject::isReadOnly): False if this object has
189         editable content.
190         (WebCore::AccessibilityObject::isOffScreen): True if this object is not
191         in the visible portion of the view.
192         * page/AccessibilityObject.h: Grouped methods into is-state and is-kind.
193
194 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
195
196         Reviewed by Darin.
197
198         Add AccessibilityObjectWrapper to Windows.
199
200         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityObjectWrapperWin.h
201         * page/AccessibilityObject.h: Include COMPtr.h,
202         AccessibilityObjectWrapperWin.h on Windows. Define wrapper() and
203         setWrapper() if accessibility is present. Add an m_wrapper on Windows.
204         * page/AccessibilityObject.cpp:
205         (WebCore::AccessibilityObject::detach): Clear m_wrapper if
206         accessibility is present.
207         * page/win/AccessibilityObjectWrapperWin.h: Added; defines a wrapper for
208         AccessibilityObjects on Windows.
209         (WebCore::AccessibilityObjectWrapper::attached): Return true if attached
210         to an object.
211         (WebCore::AccessibilityObjectWrapper::accessibilityObject): Return the
212         wrapped object.
213         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
214
215 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
216
217         Reviewed by Darin.
218
219         Add AXObjectCache to Windows.
220
221         * WebCore.vcproj/WebCore.vcproj: Add AXObjectCacheWin.cpp.
222         * page/AXObjectCache.h: Add handleFocusedUIElementChanged definition to
223         non-Mac platforms, and added stub for it. Replace PLATFORM(MAC)
224         conditional with HAVE(ACCESSIBILITY) for stubs.
225         (WebCore::AXObjectCache::enableAccessibility):
226         (WebCore::AXObjectCache::accessibilityEnabled):
227         * page/win/AXObjectCacheWin.cpp: Added; contains stubs for the methods
228         below.
229         (WebCore::AXObjectCache::detachWrapper):
230         (WebCore::AXObjectCache::attachWrapper):
231         (WebCore::AXObjectCache::postNotification):
232         (WebCore::AXObjectCache::postNotificationToElement):
233         * config.h: Define HAVE_ACCESSIBILITY on Mac and Windows.
234
235 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
236
237         Reviewed by Darin.
238
239         * WebCore.vcproj/WebCore.vcproj: Fix path to AXObjectCache.h.
240
241 2008-04-16  Brady Eidson  <beidson@apple.com>
242
243         Reviewed by Darin Adler
244
245         Merge the StorageAreaClient into the StorageArea class itself as pure virtual methods.
246         Add "LocalStorageArea" and "SessionStorageArea" implementations, and have SessionStorage
247         and LocalStorage instantiate the appropriate type of StorageArea object.
248
249         This purpose of this change is because while adding the persistent store to LocalStorage,
250         it became obvious that the client approach wasn't scaling well.  Additionally, a StorageArea
251         backing a local storage area required vastly different data members compared to one backing
252         a session storage area.
253
254         This will be much cleaner going forward.
255
256         * GNUmakefile.am:
257         * WebCore.pro:
258         * WebCore.vcproj/WebCore.vcproj:
259         * WebCore.xcodeproj/project.pbxproj:
260         * WebCoreSources.bkl:
261
262         * storage/LocalStorage.cpp:
263         (WebCore::LocalStorage::storageArea):
264         * storage/LocalStorage.h:
265
266         * storage/LocalStorageArea.cpp: Added.
267         (WebCore::LocalStorageArea::LocalStorageArea):
268         (WebCore::LocalStorageArea::itemChanged):
269         (WebCore::LocalStorageArea::itemRemoved):
270         (WebCore::LocalStorageArea::dispatchStorageEvent):
271         * storage/LocalStorageArea.h: Added.
272         (WebCore::LocalStorageArea::create):
273
274         * storage/SessionStorage.cpp:
275         (WebCore::SessionStorage::copy):
276         (WebCore::SessionStorage::storageArea):
277         * storage/SessionStorage.h:
278
279         * storage/SessionStorageArea.cpp: Added.
280         (WebCore::SessionStorageArea::copy):
281         (WebCore::SessionStorageArea::SessionStorageArea):
282         (WebCore::SessionStorageArea::itemChanged):
283         (WebCore::SessionStorageArea::itemRemoved):
284         (WebCore::SessionStorageArea::dispatchStorageEvent):
285         * storage/SessionStorageArea.h: Added.
286         (WebCore::SessionStorageArea::create):
287         (WebCore::SessionStorageArea::page):
288
289         * storage/StorageArea.cpp:
290         (WebCore::StorageArea::StorageArea):
291         (WebCore::StorageArea::setItem):
292         (WebCore::StorageArea::removeItem):
293         (WebCore::StorageArea::storageMap):
294         * storage/StorageArea.h:
295
296         * storage/StorageAreaClient.h: Removed.
297
298 2008-04-16  David Hyatt  <hyatt@apple.com>
299
300         Add support for the ability to draw directly into CSS images using CanvasRenderingContext2D.
301
302         Reviewed by olliej
303
304         Added fast/canvas/canvas-bg.html
305
306         * GNUmakefile.am:
307         * WebCore.pro:
308         * WebCore.vcproj/WebCore.vcproj:
309         * WebCore.xcodeproj/project.pbxproj:
310         * WebCoreSources.bkl:
311         * css/CSSCanvasValue.cpp: Added.
312         (WebCore::CSSCanvasValue::~CSSCanvasValue):
313         (WebCore::CSSCanvasValue::cssText):
314         (WebCore::CSSCanvasValue::canvasChanged):
315         (WebCore::CSSCanvasValue::canvasResized):
316         (WebCore::CSSCanvasValue::fixedSize):
317         (WebCore::CSSCanvasValue::element):
318         (WebCore::CSSCanvasValue::image):
319         * css/CSSCanvasValue.h: Added.
320         (WebCore::CSSCanvasValue::CSSCanvasValue):
321         (WebCore::CSSCanvasValue::isFixedSize):
322         (WebCore::CSSCanvasValue::setName):
323         * css/CSSGradientValue.cpp:
324         * css/CSSGradientValue.h:
325         * css/CSSImageGeneratorValue.cpp:
326         (WebCore::CSSImageGeneratorValue::generatedImage):
327         * css/CSSImageGeneratorValue.h:
328         (WebCore::CSSImageGeneratorValue::isFixedSize):
329         (WebCore::CSSImageGeneratorValue::fixedSize):
330         * css/CSSParser.cpp:
331         (WebCore::CSSParser::parseContent):
332         (WebCore::CSSParser::parseBackgroundImage):
333         (WebCore::CSSParser::parseBorderImage):
334         (WebCore::CSSParser::parseCanvas):
335         * css/CSSParser.h:
336         * dom/Document.cpp:
337         (WebCore::Document::getCSSCanvasContext):
338         (WebCore::Document::getCSSCanvasElement):
339         * dom/Document.h:
340         * dom/Document.idl:
341         * html/HTMLCanvasElement.cpp:
342         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
343         (WebCore::HTMLCanvasElement::reset):
344         * html/HTMLCanvasElement.h:
345         (WebCore::HTMLCanvasElement::setSize):
346         * rendering/RenderBox.cpp:
347         (WebCore::RenderBox::calculateBackgroundSize):
348         (WebCore::RenderBox::imageChanged):
349         * rendering/RenderBox.h:
350         * rendering/RenderImage.cpp:
351         (WebCore::RenderImage::imageChanged):
352         * rendering/RenderImage.h:
353         (WebCore::RenderImage::imagePtr):
354         (WebCore::RenderImage::intrinsicSizeChanged):
355         * rendering/RenderImageGeneratedContent.h:
356         (WebCore::RenderImageGeneratedContent::imageSize):
357         (WebCore::RenderImageGeneratedContent::imagePtr):
358         * rendering/RenderListMarker.cpp:
359         (WebCore::RenderListMarker::layout):
360         (WebCore::RenderListMarker::imageChanged):
361         (WebCore::RenderListMarker::calcPrefWidths):
362         (WebCore::RenderListMarker::getRelativeMarkerRect):
363         * rendering/RenderListMarker.h:
364         * rendering/RenderObject.cpp:
365         (WebCore::RenderObject::paintBorderImage):
366         (WebCore::RenderObject::imageChanged):
367         * rendering/RenderObject.h:
368         (WebCore::RenderObject::imageChanged):
369         * rendering/RenderSVGImage.cpp:
370         (WebCore::RenderSVGImage::imageChanged):
371         * rendering/RenderSVGImage.h:
372         * rendering/RenderStyle.cpp:
373         (WebCore::StyleCachedImage::imageSize):
374         (WebCore::StyleGeneratedImage::imageSize):
375         * rendering/RenderStyle.h:
376         (WebCore::StyleCachedImage::data):
377         (WebCore::StyleGeneratedImage::StyleGeneratedImage):
378         (WebCore::StyleGeneratedImage::data):
379         (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
380         (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
381         (WebCore::StyleGeneratedImage::usesImageContainerSize):
382         * rendering/RenderTableCol.cpp:
383         (WebCore::RenderTableCol::imageChanged):
384         * rendering/RenderTableCol.h:
385         * rendering/RenderTableRow.cpp:
386         (WebCore::RenderTableRow::imageChanged):
387         * rendering/RenderTableRow.h:
388         * rendering/RenderTableSection.cpp:
389         (WebCore::RenderTableSection::imageChanged):
390         * rendering/RenderTableSection.h:
391
392 2008-04-16  Anders Carlsson  <andersca@apple.com>
393
394         Reviewed by Darin.
395
396         Add manifest parser.
397
398         * loader/appcache/ManifestParser.cpp:
399         (WebCore::):
400         (WebCore::parseManifest):
401         * loader/appcache/ManifestParser.h:
402         * platform/text/CharacterNames.h:
403
404 2008-04-16  Darin Adler  <darin@apple.com>
405
406         Reviewed by Mitz.
407
408         - fix <rdar://problem/5858617> REGRESSION (r21452-Safari 3.1):
409           Safari does not find words containing ß (German letter sharp-s)
410
411         Test: fast/text/find-case-folding.html
412
413         * platform/text/StringImpl.cpp:
414         (WebCore::StringImpl::foldCase):
415         Pass the folded length to foldCase rather than the original string length.
416         Without this, we get an error code every time.
417
418 2008-04-16  Anders Carlsson  <andersca@apple.com>
419
420         Fix build.
421         
422         * loader/appcache/ApplicationCache.cpp:
423         (WebCore::ApplicationCache::ApplicationCache):
424         (WebCore::ApplicationCache::setManifestResource):
425         (WebCore::ApplicationCache::addResource):
426
427 2008-04-16  Anders Carlsson  <andersca@apple.com>
428
429         Reviewed by Darin.
430
431         Add new protocolHostAndPortAreEqual function.
432         
433         * platform/KURL.cpp:
434         (WebCore::KURL::host):
435         (WebCore::KURL::setHost):
436         (WebCore::KURL::setHostAndPort):
437         (WebCore::protocolHostAndPortAreEqual):
438         * platform/KURL.h:
439         (WebCore::KURL::hostStart):
440
441 2008-04-16  Anders Carlsson  <andersca@apple.com>
442
443         Reviewed by Sam.
444         
445         Fix some style nits.
446         
447         * loader/appcache/ApplicationCache.cpp:
448         (WebCore::ApplicationCache::ApplicationCache):
449         (WebCore::ApplicationCache::setManifestResource):
450         (WebCore::ApplicationCache::addResource):
451         (WebCore::ApplicationCache::removeResource):
452         (WebCore::ApplicationCache::dump):
453         * loader/appcache/ApplicationCacheGroup.h:
454
455 2008-04-16  Anders Carlsson  <andersca@apple.com>
456
457         Reviewed by Brady and Sam.
458
459         Add ApplicationCache implementation. Stub out ApplicationCacheGroup methods
460         needed by ApplicationCache.
461         
462         * loader/appcache/ApplicationCache.cpp:
463         (WebCore::ApplicationCache::ApplicationCache):
464         (WebCore::ApplicationCache::~ApplicationCache):
465         (WebCore::ApplicationCache::setManifestResource):
466         (WebCore::ApplicationCache::addResource):
467         (WebCore::ApplicationCache::removeResource):
468         (WebCore::ApplicationCache::resourceForURL):
469         (WebCore::ApplicationCache::resourceForRequest):
470         (WebCore::ApplicationCache::numDynamicEntries):
471         (WebCore::ApplicationCache::dynamicEntry):
472         (WebCore::ApplicationCache::addDynamicEntry):
473         (WebCore::ApplicationCache::removeDynamicEntry):
474         (WebCore::ApplicationCache::setOnlineWhitelist):
475         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
476         (WebCore::ApplicationCache::dump):
477         * loader/appcache/ApplicationCache.h:
478         (WebCore::ApplicationCache::create):
479         (WebCore::ApplicationCache::manifestResource):
480         (WebCore::ApplicationCache::group):
481         (WebCore::ApplicationCache::begin):
482         (WebCore::ApplicationCache::end):
483         * loader/appcache/ApplicationCacheGroup.h:
484         (WebCore::ApplicationCacheGroup::manifestURL):
485         (WebCore::ApplicationCacheGroup::cacheDestroyed):
486
487 2008-04-16  Adam Roben  <aroben@apple.com>
488
489         Fix Bug 18505: REGRESSION: Search is disabled and not functional
490
491         <https://bugs.webkit.org/show_bug.cgi?id=18505>
492
493         Reviewed by Tim Hatcher.
494
495         * page/inspector/ResourcesPanel.js:
496         (WebInspector.ResourcesPanel.sourceFrameForResource): Added.
497         * page/inspector/inspector.css: Added back rules for the search field
498         that were removed in r31736.
499         * page/inspector/inspector.html:
500           - Removed the disabled attribute from the search field
501           - Added back the #searchResults and #searchResultsResizer divs which
502             were removed in r31736
503         * page/inspector/inspector.js:
504         (WebInspector.set showingSearchResults): Updated for class rename
505         panels -> main-panels.
506         (WebInspector.loaded): Added back the mousedown event listener for the
507         search results resizer that was removed in r31736.
508         (WebInspector.searchResultsResizerDrag): Updated for class rename
509         panels -> main-panels.
510         (WebInspector.performSearch):
511           - Changed to use sourceFrameForResource
512           - Changed to use showResource
513           - Changed to save/restore the focused element around the setting of
514             the current panel
515           - Changed to get the source document from the match range instead of
516             by crawling back up to the source view
517           - Changed to bind the onselect handlers to this so that we can
518             access the Elements/Resources panels
519
520 2008-04-16  Brady Eidson  <beidson@apple.com>
521
522         Reviewed by Sam Weinig
523
524         Changing ThreadSafeShared to start with a ref count of 1, so updating all users to
525         adoptRef() that initial reference.
526
527         * bindings/js/JSCustomSQLStatementCallback.h:
528         (WebCore::JSCustomSQLStatementCallback::create):
529         * bindings/js/JSCustomSQLStatementErrorCallback.h:
530         (WebCore::JSCustomSQLStatementErrorCallback::create):
531         * bindings/js/JSCustomSQLTransactionCallback.h:
532         (WebCore::JSCustomSQLTransactionCallback::create):
533         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
534         (WebCore::JSCustomSQLTransactionErrorCallback::create):
535
536         * bindings/js/JSDatabaseCustom.cpp:
537         (WebCore::JSDatabase::changeVersion):
538         (WebCore::JSDatabase::transaction):
539
540         * bindings/js/JSSQLTransactionCustom.cpp:
541         (WebCore::JSSQLTransaction::executeSql):
542
543         * dom/Document.cpp:
544         (WebCore::Document::databaseThread):
545
546         * platform/SecurityOrigin.cpp:
547         (WebCore::SecurityOrigin::create):
548
549         * platform/sql/SQLiteAuthorizer.h:
550         (WebCore::SQLiteAuthorizer::create):
551         (WebCore::SQLiteAuthorizer::SQLiteAuthorizer):
552
553         * storage/ChangeVersionWrapper.cpp:
554         (WebCore::ChangeVersionWrapper::performPreflight):
555         (WebCore::ChangeVersionWrapper::performPostflight):
556         * storage/ChangeVersionWrapper.h:
557         (WebCore::ChangeVersionWrapper::create):
558
559         * storage/Database.cpp:
560         (WebCore::Database::openAndVerifyVersion):
561         (WebCore::Database::markAsDeletedAndClose):
562         (WebCore::Database::changeVersion):
563         (WebCore::Database::transaction):
564         (WebCore::Database::scheduleTransaction):
565         (WebCore::Database::scheduleTransactionStep):
566         (WebCore::Database::tableNames):
567
568         * storage/DatabaseAuthorizer.h:
569         (WebCore::DatabaseAuthorizer::create):
570
571         * storage/DatabaseTask.h:
572         (WebCore::DatabaseOpenTask::create):
573         (WebCore::DatabaseCloseTask::create):
574         (WebCore::DatabaseTransactionTask::create):
575         (WebCore::DatabaseTableNamesTask::create):
576
577         * storage/DatabaseThread.cpp:
578         (WebCore::DatabaseThread::scheduleTask): Change to take a PassRefPtr instead of raw
579         (WebCore::DatabaseThread::scheduleImmediateTask): Ditto
580         * storage/DatabaseThread.h:
581         (WebCore::DatabaseThread::create):
582
583         * storage/SQLError.h:
584         (WebCore::SQLError::create):
585         (WebCore::SQLError::SQLError):
586
587         * storage/SQLResultSet.h:
588         (WebCore::SQLResultSet::create):
589
590         * storage/SQLStatement.cpp:
591         (WebCore::SQLStatement::create):
592         (WebCore::SQLStatement::execute):
593         (WebCore::SQLStatement::setDatabaseDeletedError):
594         (WebCore::SQLStatement::setVersionMismatchedError):
595         (WebCore::SQLStatement::setFailureDueToQuota):
596         * storage/SQLStatement.h:
597
598         * storage/SQLTransaction.cpp:
599         (WebCore::SQLTransaction::create):
600         (WebCore::SQLTransaction::executeSQL):
601         (WebCore::SQLTransaction::openTransactionAndPreflight):
602         (WebCore::SQLTransaction::deliverTransactionCallback):
603         (WebCore::SQLTransaction::handleCurrentStatementError):
604         (WebCore::SQLTransaction::deliverStatementCallback):
605         (WebCore::SQLTransaction::postflightAndCommit):
606         * storage/SQLTransaction.h:
607
608 2008-04-16  Anders Carlsson  <andersca@apple.com>
609
610         Reviewed by Adam and Brady.
611         
612         Add implementation of ApplicationCacheResource.
613         
614         * loader/appcache/ApplicationCacheResource.cpp:
615         (WebCore::ApplicationCacheResource::ApplicationCacheResource):
616         (WebCore::ApplicationCacheResource::dumpType):
617         * loader/appcache/ApplicationCacheResource.h:
618         (WebCore::ApplicationCacheResource::):
619         (WebCore::ApplicationCacheResource::create):
620         (WebCore::ApplicationCacheResource::type):
621         (WebCore::ApplicationCacheResource::addType):
622
623 2008-04-16  Timothy Hatcher  <timothy@apple.com>
624
625         Fixes an issue where the source for a resource that had errors would
626         not be shown because the view was created before the resource load
627         finished. The right view is now created, even if the resource isn't 
628         finished. The SourceView just makes sure to not load the source until
629         the resource is finished. Only if the category changes, does the view
630         need to be recreated.
631
632         Reviewed by Adam Roben.
633
634         * page/inspector/Resource.js:
635         (WebInspector.Resource.prototype.set category): Call recreateViewForResourceIfNeeded.
636         * page/inspector/ResourcesPanel.js:
637         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
638         Added. Tries to make a new view, if the view is the same prototype of the
639         previous view, return early. If they differ, close and detach the old view
640         and associate the resource with the new view. Calling updateErrorsAndWarnings
641         is needed, because the errors and warnings that might have been added to the
642         previous view will be lost, so make the tree element match.
643         (WebInspector.Resource.prototype._createResourceView): Always create a view
644         that matches the resource category. Ignore the loading and failed status.
645         * page/inspector/SourceView.js:
646         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't setup the
647         frame if the resource hasn't finished or if the load failed.
648
649 2008-04-16  Timothy Hatcher  <timothy@apple.com>
650
651         Adds a console formatter for Error objects. So typing a expression in the
652         console that ends in an exception will print meaningful info. Also calling
653         console.{log,error,warn,info} with an error object will output nicely.
654
655         Reviewed by Adam Roben.
656
657         * page/inspector/Console.js:
658         (WebInspector.Console.prototype._formaterror): Added. Formats an error
659         object by showing it like other exceptions, with a clickable file URL.
660
661 2008-04-16  Timothy Hatcher  <timothy@apple.com>
662
663         Refactors code that updates the errors and warnings count in the
664         resources sidebar so other functions can easily trigger updates.
665
666         Reviewed by Adam Roben.
667
668         * page/inspector/ResourcesPanel.js:
669         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call updateErrorsAndWarnings.
670         Removes code that updates the bubbleText and class names.
671         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
672         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings):
673         Added. Updates the bubbleText and adds or removes the class names
674         depending on if the values are zero.
675
676 2008-04-16  Antti Koivisto  <antti@apple.com>
677
678         Reviewed by Alexey.
679         
680         Fix <rdar://problem/5863728>
681         REGRESSION: Garbage character shown in temperatures in the Weather widget (encoding issue with degree symbol)
682         
683         Parse the encoding attribute in PreloadScanner.
684
685         Test: fast/encoding/script-preload-encoding.html
686
687         * html/PreloadScanner.cpp:
688         (WebCore::PreloadScanner::processAttribute):
689         (WebCore::PreloadScanner::emitTag):
690         (WebCore::PreloadScanner::emitCSSRule):
691         * html/PreloadScanner.h:
692         * loader/DocLoader.cpp:
693         (WebCore::DocLoader::preload):
694         * loader/DocLoader.h:
695
696 2008-04-16  Anders Carlsson  <andersca@apple.com>
697
698         Reviewed by Adam.
699
700         Generate the DOMApplicationCache JS wrapper, add JSDOMApplicationCacheCustom.cpp and 
701         fix typos in the #if line.
702         
703         * DerivedSources.make:
704         * WebCore.vcproj/WebCore.vcproj:
705         * WebCore.xcodeproj/project.pbxproj:
706         * bindings/js/JSDOMApplicationCacheCustom.cpp: Added.
707         * loader/appcache/ApplicationCache.cpp:
708         * loader/appcache/ApplicationCache.h:
709         * loader/appcache/ApplicationCacheGroup.cpp:
710         * loader/appcache/ApplicationCacheGroup.h:
711         * loader/appcache/ApplicationCacheResource.cpp:
712         * loader/appcache/ApplicationCacheResource.h:
713         * loader/appcache/DOMApplicationCache.cpp:
714         * loader/appcache/DOMApplicationCache.h:
715         * loader/appcache/DOMApplicationCache.idl:
716         * loader/appcache/ManifestParser.cpp:
717         * loader/appcache/ManifestParser.h:
718
719 2008-04-16  Sam Weinig  <sam@webkit.org>
720
721         Reviewed by Geoffrey Garen.
722
723         - To keep the behavior of the WebKit and JavaScriptCore API's the same,
724           we need to hide the fact that the global object and the window object
725           are no longer the same thing, and the the global object now changes on
726           navigations.  To do this, only the wrapper should ever be exposed.  This
727           fixes the two remaining spots where the internal global object is exposed,
728           the windowScriptObject returned from [WebFrame windowObject] and the object
729           return by calling JSContextGetGlobalObject on [WebFrame globalContext]
730
731         * bindings/js/JSDOMWindowWrapper.cpp:
732         (WebCore::JSDOMWindowWrapper::putWithAttributes):
733         * bindings/js/JSDOMWindowWrapper.h:
734         Forward this new method so that JSObjectSetProperty doesn't set properties on the 
735         wrapper.
736
737         * page/mac/FrameMac.mm:
738         (WebCore::Frame::windowScriptObject):
739         Return the wrapper instead of the global object.
740
741 2008-04-16  David Hyatt  <hyatt@apple.com>
742
743         Eliminate the paintBuffer and drawImage(ImageBuffer*) methods from GraphicsContext* in favor of just
744         snagging an Image* from the ImageBuffer and drawing that instead.
745
746         Enhance canvas with a CanvasObserver so that notifications of dirtying or resizing can be tracked by
747         a consumer.
748
749         Reviewed by olliej
750
751         * html/CanvasRenderingContext2D.cpp:
752         (WebCore::CanvasRenderingContext2D::drawImage):
753         * html/HTMLCanvasElement.cpp:
754         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
755         (WebCore::HTMLCanvasElement::willDraw):
756         (WebCore::HTMLCanvasElement::reset):
757         (WebCore::HTMLCanvasElement::paint):
758         * html/HTMLCanvasElement.h:
759         (WebCore::CanvasObserver::~CanvasObserver):
760         (WebCore::HTMLCanvasElement::setSize):
761         (WebCore::HTMLCanvasElement::setObserver):
762         * platform/graphics/GraphicsContext.cpp:
763         (WebCore::GraphicsContext::drawImage):
764         (WebCore::GraphicsContext::drawTiledImage):
765         * platform/graphics/GraphicsContext.h:
766         * platform/graphics/ImageBuffer.h:
767         (WebCore::ImageBuffer::clearImage):
768         * platform/graphics/cairo/GraphicsContextCairo.cpp:
769         * platform/graphics/cg/GraphicsContextCG.cpp:
770         * platform/graphics/cg/ImageCG.cpp:
771         (WebCore::BitmapImage::draw):
772         (WebCore::Image::drawPattern):
773         * platform/graphics/cg/ImageSourceCG.cpp:
774         (WebCore::ImageSource::createFrameAtIndex):
775         * platform/graphics/qt/GraphicsContextQt.cpp:
776         * platform/graphics/wx/GraphicsContextWx.cpp:
777
778 2008-04-16  Steve Falkenburg  <sfalken@apple.com>
779
780         Improve timer latency/resolution.
781                 
782         The primary timing mechanism is now CreateTimerQueueTimer, with a PostMessage from
783         the callback proc.  This event will be delivered sooner than if we used SetTimer(),
784         since it is higher priority than other messages.
785         
786         If there is an input message pending, we'll use we SetTimer() based timers to avoid
787         starving user input.
788
789         Don't call PostMessage immediately on all timers < 10ms.  Only call immediately if
790         timer is already expired.  This avoids the case where no timers would be processed,
791         causing the timer to be re-posted via the slower SetTimer method.
792
793         Don't call PostMessage immediately if there's a pending WM_PAINT, since
794         we don't want to starve all paints when bombarded with a continuous stream of low
795         duration timers.
796
797         Removed reentrancy check, since we're now looking for specific starvation cases,
798         and will typically defer non-expired timers through CreateTimerQueueTimer.
799
800         The reason Windows wouldn't starve paints in favor of timers with the old code:
801         When we went to reset the timer when it fired, the timer reset code treated this as a
802         reentrant timer, causing us to hit the slow SetTimer code rather than calling PostMessage,
803         even for timers expiring in < 10ms.  I corrected that, exposing the paint starvation problem.
804
805         Use timeBeginPeriod/timeEndPeriod to improve resolution of system timers.
806         Limit this resolution change to within 20ms of the last high resolution timer request.
807                         
808         Corrected GetQueueStatus to check for specific input (and paint) messages rather than
809         checking QS_ALLINPUT.  Contrary to its name, QS_ALLINPUT actually indicates interest
810         in ALL queued messages, not just input messages.
811         
812         Fix SetTimer/KillTimer calls to pass our window handle.
813
814         Reviewed by Brady.
815
816         * platform/win/SharedTimerWin.cpp:
817         (WebCore::):
818         (WebCore::TimerWindowWndProc):
819         (WebCore::queueTimerProc):
820         (WebCore::setSharedTimerFireTime):
821         (WebCore::stopSharedTimer):
822
823 2008-04-16  Adam Roben  <aroben@apple.com>
824
825         Fix console-log-formatting to truly test formatting an undefined value
826
827         Exceptions thrown by the test will also now be shown as errors.
828
829         Reviewed by Tim Hatcher.
830
831         * manual-tests/inspector/console-log-formatting.html:
832         (test): Use console.error to report exceptions.
833         (runTests): Use window.noSuchVariable instead of just noSuchVariable
834         to avoid an exception.
835
836 2008-04-16  Anatoli Papirovski  <apapirovski@mac.com>
837
838         Reviewed by David.
839
840         Optimized the calculation of background-size.
841
842         * rendering/RenderBox.cpp:
843         (WebCore::RenderBox::calculateBackgroundSize):
844
845 2008-04-16  Adam Roben  <aroben@apple.com>
846
847         Fix Bug 17228: console.{log,warn,info,error} should support format
848         strings, variable arguments
849
850         <https://bugs.webkit.org/show_bug.cgi?id=17228>
851         <rdar://problem/5732828>
852
853         Reviewed by Tim Hatcher.
854
855         Test: manual-tests/inspector/console-log-formatting.html
856
857         * page/inspector/Console.js:
858         (WebInspector.ConsoleMessage): Pass any extra arguments down to
859         _format.
860         (WebInspector.ConsoleMessage._format): This method constructs
861         this.formattedMessage. We treat the first parameter as a format
862         string. Any parameters that have not been used after substituting into
863         the format string are concatenated together, separated by spaces.
864         (WebInspector.ConsoleMessage.toMessageElement): Updated to use
865         this.formattedMessage.
866         (WebInspector.ConsoleMessage.toString): Ditto.
867
868 2008-04-15  Adam Roben  <aroben@apple.com>
869
870         Make String.format return an array of unused substitutions
871
872         String.format now returns an object with two properties:
873         formattedResult and unusedSubstitutions.
874
875         Reviewed by Tim Hatcher.
876
877         * page/inspector/utilities.js:
878         (String.vsprintf): Updated for changes to String.format. We throw away
879         the array of unused substitutions.
880         (String.format): Changed to keep track of which substitutions are used
881         when formatting. We then return both the formatted result and the
882         array of unused substitutions.
883
884 2008-04-15  Adam Roben  <aroben@apple.com>
885
886         Generalize String.format some more
887
888         String.format now takes an initial value and an append function which
889         it uses to build the result. Each time a token is processed,
890         append(valueSoFar, newValue) is called.
891
892         Reviewed by Tim Hatcher.
893
894         * page/inspector/utilities.js:
895         (String.vsprintf): Pass the empty string for the initial value, and
896         a function that concatenates two strings as the append function.
897         (String.format): Use initialValue and append to build the result
898         instead of only working with strings.
899
900 2008-04-15  Adam Roben  <aroben@apple.com>
901
902         Add String.format
903
904         String.format is a more generic form of String.vsprintf that takes a
905         set of formatter functions, one for each supported format specifier.
906         Each formatter function is passed the relevant token and substitution
907         value, and returns the formatted result.
908
909         Reviewed by Tim Hatcher.
910
911         * page/inspector/utilities.js:
912         (String.standardFormatters): Added.
913         (String.vsprintf): Changed to call through to String.format.
914         (String.format): Added. Most of the code came from String.vsprintf,
915         except that we use the passed-in formatters to format the
916         substitutions rather than hard-coding how to handle each format
917         specifier.
918
919 2008-04-15  Adam Roben  <aroben@apple.com>
920
921         Refactor String.vsprintf to separate tokenizing and substituting
922
923         This will eventually be useful for the various console methods that
924         take a format string.
925
926         Reviewed by Tim Hatcher.
927
928         * page/inspector/utilities.js:
929         (String.tokenizeFormatString): Added. This uses the format parsing
930         code from String.vsprintf but just returns an array of "string" and
931         "specifier" tokens.
932         (String.vsprintf): Now calls String.tokenizeFormatString and processes
933         the tokens one at a time.
934
935 2008-04-15  Adam Roben  <aroben@apple.com>
936
937         Pass all arguments to console.{log,warn,info,error} into the Inspector's JS
938
939         Part of Bug 17228: console.{log,warn,info,error} should support format
940         strings, variable arguments
941         <http://bugs.webkit.org/show_bug.cgi?id=17228>
942         <rdar://problem/5732828>
943
944         We don't use the extra arguments yet.
945
946         Reviewed by Tim Hatcher.
947
948         * page/Console.cpp:
949         (WebCore::Console::error): Pass the arguments list to
950         InspectorController.
951         (WebCore::Console::info): Ditto.
952         (WebCore::Console::log): Ditto.
953         (WebCore::Console::warn): Ditto.
954         * page/InspectorController.cpp:
955         (WebCore::ConsoleMessage::ConsoleMessage): Added a new constructor
956         that takes an ExecState and a List instead of a String. We wrap and
957         store the JSValues from the List in a Vector<ProtectedPtr<JSValue> >.
958         (WebCore::InspectorController::addMessageToConsole): Added an overload
959         that takes an ExecState and a List.
960         (WebCore::InspectorController::addConsoleMessage): Moved code here
961         from addMessageToConsole. Both overloads of addMessageToConsole now
962         call this helper method.
963         (WebCore::InspectorController::addScriptConsoleMessage): Updated for
964         the new parameter order of WebInspector.ConsoleMessage. If the
965         ConsoleMessage has a non-empty wrappedArguments Vector, we use that
966         instead of the ConsoleMessage's message String.
967         * page/InspectorController.h:
968         * page/inspector/Console.js:
969         (WebInspector.ConsoleMessage): Removed the explicit message parameter.
970         We now get the message from the unnamed 5th parameter.
971         * page/inspector/Resource.js: Updated for the change to
972         WebInspector.ConsoleMessage's parameter order.
973
974 2008-04-15  Adam Roben  <aroben@apple.com>
975
976         Change calls to Chrome::addMessageToConsole to use Console::addMessage
977
978         Part of Bug 17228: console.{log,warn,info,error} should support format
979         strings, variable arguments
980         <http://bugs.webkit.org/show_bug.cgi?id=17228>
981         <rdar://problem/5732828>
982
983         Console now takes care of calling ChromeClient::addMessageToConsole
984         for the appropriate messages (i.e., just messages from JavaScript). If
985         you ever want to add a message to the console, Console is the place to
986         do it.
987
988         Reviewed by Darin Adler.
989
990         * WebCore.xcodeproj/project.pbxproj: Mark Console.h Private.
991         * page/Chrome.cpp: Removed addMessageToConsole
992         * page/Chrome.h: Moved MessageSource/MessageLevel to Console.h.
993         * page/Console.cpp:
994         (WebCore::Console::addMessage): Added. Calls
995         ChromeClient::addMessageToConsole for JS messages, and calls
996         InspectorController::addMessageToConsole for all messages.
997         (WebCore::Console::error): Changed to call directly to
998         InspectorController in addition to ChromeClient.
999         (WebCore::Console::info): Ditto.
1000         (WebCore::Console::log): Ditto.
1001         (WebCore::Console::warn): Ditto.
1002         * page/Console.h: Added MessageSource/MessageLevel enums from Chrome.h.
1003
1004 2008-04-15  Adam Roben  <aroben@apple.com>
1005
1006         Pass JSConsole's arguments unmodified to Console
1007
1008         Part of Bug 17228: console.{log,warn,info,error} should support format
1009         strings, variable arguments
1010         <http://bugs.webkit.org/show_bug.cgi?id=17228>
1011         <rdar://problem/5732828>
1012
1013         All of JSConsole's methods are now custom, so that we can pass the
1014         arguments unmodified to Console. Console now handles calling
1015         toString() on the first argument. Later it will pass the arguments off
1016         to InspectorController.
1017
1018         There should be no behavioral changes caused by this patch.
1019
1020         Reviewed by Darin Adler.
1021
1022         * ForwardingHeaders/kjs/list.h: Added.
1023         * GNUmakefile.am: Added JSConsoleCustom.cpp to the project.
1024         * WebCore.pro: Ditto.
1025         * WebCore.vcproj/WebCore.vcproj: Ditto.
1026         * WebCore.xcodeproj/project.pbxproj: Ditto.
1027         * WebCoreSources.bkl: Ditto.
1028         * bindings/js/JSConsoleCustom.cpp: Added.
1029         (WebCore::JSConsole::error):
1030         (WebCore::JSConsole::info):
1031         (WebCore::JSConsole::log):
1032         (WebCore::JSConsole::warn):
1033         * page/Console.cpp: Changed all methods to take an ExecState* and a
1034         const List&. The first item in the List is toString()ed and passed to
1035         Chrome.
1036         (WebCore::Console::error):
1037         (WebCore::Console::info):
1038         (WebCore::Console::log):
1039         (WebCore::Console::warn):
1040         * page/Console.h:
1041         * page/Console.idl:
1042
1043 2008-04-16  Sam Weinig  <sam@webkit.org>
1044
1045         Reviewed by Darin Adler.
1046
1047         Rename kjs_strtod to KJS::strtod.
1048
1049         * platform/text/String.cpp:
1050         (WebCore::charactersToDouble):
1051
1052 2008-04-16  Alexey Proskuryakov  <ap@webkit.org>
1053
1054         Reviewed by Adam.
1055
1056         http://bugs.webkit.org/show_bug.cgi?id=18259
1057         XML+XSLT pages in iframe contains document.location of a parent window
1058
1059         Test: fast/xsl/subframe-location.html
1060
1061         * xml/XSLTProcessor.cpp:
1062         (WebCore::XSLTProcessor::createDocumentFromSource): Set resulting document URL before opening
1063         it, so that the document loader picks a correct URL, too.
1064
1065 2008-04-16  Dan Bernstein  <mitz@apple.com>
1066
1067         Rubber-stamped by John Sullivan.
1068
1069         - remove unreachable code which was added in r8802
1070
1071         * rendering/RenderText.cpp:
1072         (WebCore::RenderText::caretRect):
1073
1074 2008-04-15  Timothy Hatcher  <timothy@apple.com>
1075
1076         Adds a script resource icon. Update the CSS icon to better match the script icon.
1077
1078         https://bugs.webkit.org/show_bug.cgi?id=18499
1079
1080         Rubber-stamped by Adele Peterson.
1081
1082         * page/inspector/Images/resourceCSSIcon.png: Updated.
1083         * page/inspector/Images/resourceJSIcon.png: Added.
1084         * page/inspector/inspector.css: Changed the script icon rule to reference the new image.
1085
1086 2008-04-16  Eric Seidel  <eric@webkit.org>
1087
1088         Reviewed by hyatt.
1089
1090         Fix leaky ImageBuffer code.
1091
1092         * platform/graphics/GeneratedImage.cpp:
1093         (WebCore::GeneratedImage::drawPattern):
1094         * platform/graphics/ImageBuffer.h:
1095         * platform/graphics/cg/ImageBufferCG.cpp:
1096         (WebCore::ImageBuffer::image):
1097
1098 2008-04-15  Justin Garcia  <justin.garcia@apple.com>
1099
1100         Reviewed by Oliver.
1101
1102         <rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661)
1103
1104         * editing/markup.cpp:
1105         (WebCore::createFragmentFromText): Don't use clones of the enclosing block to hold
1106         paragraphs if the enclosing block is the root editable element.
1107
1108 2008-04-15  Mark Rowe  <mrowe@apple.com>
1109
1110         Reviewed by Jon Honeycutt.
1111
1112         Don't treat the misnamed NSAccessibilitySortButtonRole as an accessibility role.  It is really
1113         a subrole of NSAccessibilityButtonRole.  As it is not used inside WebCore there is no change in
1114         behaviour as a result of doing this.  This fixes <rdar://problem/5866444>.
1115
1116         * page/AccessibilityObject.cpp:
1117         (WebCore::AccessibilityObject::canSetFocusAttribute): Remove SortButtonRole as it is unused.
1118         * page/AccessibilityObject.h: Ditto.
1119         (WebCore::):
1120         * page/mac/AccessibilityObjectWrapper.mm:
1121         (RoleEntry::):
1122
1123 2008-04-15  Anders Carlsson  <andersca@apple.com>
1124
1125         Fix leaks seen on bot.
1126         
1127         * loader/SubstituteResource.h:
1128         (WebCore::SubstituteResource::~SubstituteResource):
1129         Add a virtual destructor.
1130
1131 2008-04-15  Brady Eidson  <beidson@apple.com>
1132
1133         Reviewed by Anders Carlsson
1134
1135         Fix for <rdar://problem/5820819> - Crash sometime occurs when interrupting a load.
1136
1137         Each SubresourceLoader has a client.  That client is often a Loader::Host object.  
1138         The Loader/Host/CachedResource system predates our ref-counting and ownership models, and therefore manages
1139         object lifetime manually.
1140
1141         The cause of this crash was that we would sometimes call "didFail()" on a Host object twice - Once when 
1142         beginning the new navigation, and once when the new navigation is committed.
1143
1144         The problem is after the first time Host::didFail() gets called, the Host is almost always deleted shortly 
1145         thereafter.  But the SubresourceLoader had a dangling pointer to the Host which is now invalid.
1146
1147         I explored a few options to fix this bug.  The one that was most obviously "clean" was to call cancel() on
1148         the SubresourceLoader itself, which would end up calling Host::didFail() and doing the appropriate cache
1149         cleanup.
1150
1151         This problem with that approach was that it had other side effects - when you cut off a load that had already
1152         partially displayed in the WebView, images that hadn't finished loading would be invalidated and immediately
1153         turn into broken image icons.  This was visually jarring and pretty unacceptable. 
1154
1155         So I decided to follow a much simpler approach, which was to have the Host clear the client pointer from each
1156         SubresourceLoader before it forgets about it.  This leaves things the same visually and fixes the crash.
1157
1158         Note that the layout test for this - if possible - will require other enhancements to DRT including possibly 
1159         adding support for window.stop(). That task is non-trivial, and is documented in <rdar://problem/5061826> 
1160
1161         * loader/SubresourceLoader.h:
1162         (WebCore::SubresourceLoader::clearClient): Add a method to clear the SubresourceLoaderClient.  This is 
1163           perfectly safe to do on an in-flight SubresourceLoader as they are already designed to be client-less,
1164           and already null-check the client before calling it.
1165
1166         * loader/loader.cpp:
1167         (WebCore::Loader::Host::didFail): The SubresourceLoader itself might not be finished loading and might decide 
1168           to call into its client later.  Since the client has no guaranteed lifetime and is liable to be deleted 
1169           after didFail() is called, call clearClient() on the SubresourceLoader so such an invalid call can't happen.
1170
1171 2008-04-15  Anders Carlsson  <andersca@apple.com>
1172
1173         Reviewed by Adam.
1174
1175         Add empty files for the application cache.
1176         
1177         * Configurations/WebCore.xcconfig:
1178         * WebCore.vcproj/WebCore.vcproj:
1179         * WebCore.vcproj/build-generated-files.sh:
1180         Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
1181         
1182         * WebCore.xcodeproj/project.pbxproj:
1183         * loader/appcache: Added.
1184         * loader/appcache/ApplicationCache.cpp: Added.
1185         * loader/appcache/ApplicationCache.h: Added.
1186         * loader/appcache/ApplicationCacheGroup.cpp: Added.
1187         * loader/appcache/ApplicationCacheGroup.h: Added.
1188         * loader/appcache/ApplicationCacheResource.cpp: Added.
1189         * loader/appcache/ApplicationCacheResource.h: Added.
1190         * loader/appcache/DOMApplicationCache.cpp: Added.
1191         * loader/appcache/DOMApplicationCache.h: Added.
1192         * loader/appcache/DOMApplicationCache.idl: Added.
1193         * loader/appcache/ManifestParser.cpp: Added.
1194         * loader/appcache/ManifestParser.h: Added.
1195
1196 2008-04-15  Kevin McCullough  <kmccullough@apple.com>
1197
1198         Reviewed by Tim.
1199
1200         - <rdar://problem/5792587> AJAX (XMLHttpRequest) support for the Inspector (17776)
1201         - Add XMLHttpRequest support to the inspector.
1202
1203         * English.lproj/InspectorLocalizedStrings.js: Specify capitalization
1204         instead of using text-transform because XHR must capitalize all the letters.
1205         * page/inspector/Resource.js: Assume XHRs are textType even though this
1206         may not always be true.
1207         Also add the XHR category and let all mime types be consistent with it.
1208         * page/inspector/ResourcesPanel.js: Set the XHR category color.
1209         * page/inspector/inspector.css: Make XHRs yellow and fonts red because
1210         XHRs are more common than fonts and yellow next to orange (scripts) is
1211         not as harsh on the eyes as red next to orange.
1212         * page/inspector/inspector.js: Specify capitalization again.
1213
1214 2008-04-15  David Hyatt  <hyatt@apple.com>
1215
1216         Fix the zoom property so that it works properly with font-size.
1217
1218         Reviewed by John Sullivan
1219
1220         Added fast/css/zoom-font-size.html
1221
1222         * css/CSSStyleSelector.cpp:
1223         (WebCore::CSSStyleSelector::updateFont):
1224         (WebCore::CSSStyleSelector::applyProperty):
1225         (WebCore::CSSStyleSelector::checkForZoomChange):
1226         * css/CSSStyleSelector.h:
1227
1228 2008-04-15  Timothy Hatcher  <timothy@apple.com>
1229
1230         Fixes the bug where a resource view could still be shown after the inspected
1231         page navigates to another page.
1232
1233         https://bugs.webkit.org/show_bug.cgi?id=18517
1234
1235         Reviewed by Adam Roben.
1236
1237         * page/inspector/ResourcesPanel.js:
1238         (WebInspector.ResourcesPanel.prototype.reset): Close the visible resource.
1239         Iterate over all the resources and zero errors and warnings and delete the
1240         resource view and tree element. Removes all children of resourceViews. Passes
1241         true to _updateGraphDividersIfNeeded to force an immediate update.
1242         (WebInspector.ResourcesPanel.prototype.removeResource): Added. Closes
1243         the resource view if it is visible. Removes the resource from the _resources
1244         array. Removes the tree element from the outline tree. Zeros out the errors
1245         and warnings properties. Deletes the tree element and resource view properties.
1246         (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Null check
1247         this._calculator for times when reset is called before the calculator is set.
1248         * page/inspector/inspector.js:
1249         (WebInspector.removeResource): Call ResourcesPanel.removeResource.
1250
1251 2008-04-15  Anders Carlsson  <andersca@apple.com>
1252
1253         Reviewed by Adam.
1254
1255         Rename "archive" to "substitute" in a couple of places.
1256         
1257         * loader/DocumentLoader.cpp:
1258         (WebCore::DocumentLoader::DocumentLoader):
1259         (WebCore::DocumentLoader::clearArchiveResources):
1260         (WebCore::DocumentLoader::deliverSubstituteResourcesAfterDelay):
1261         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
1262         (WebCore::DocumentLoader::isSubstituteLoadPending):
1263         (WebCore::DocumentLoader::cancelPendingSubstituteLoad):
1264         (WebCore::DocumentLoader::scheduleArchiveLoad):
1265         (WebCore::DocumentLoader::setDefersLoading):
1266         * loader/DocumentLoader.h:
1267         * loader/ResourceLoader.cpp:
1268         (WebCore::ResourceLoader::load):
1269         (WebCore::ResourceLoader::didCancel):
1270
1271 2008-04-15  Anders Carlsson  <andersca@apple.com>
1272
1273         Reviewed by Adam.
1274
1275         Move the URL, response and data to SubstituteResource.
1276         
1277         * loader/SubstituteResource.h:
1278         (WebCore::SubstituteResource::url):
1279         (WebCore::SubstituteResource::response):
1280         (WebCore::SubstituteResource::data):
1281         (WebCore::SubstituteResource::SubstituteResource):
1282         * loader/archive/ArchiveResource.cpp:
1283         (WebCore::ArchiveResource::ArchiveResource):
1284         * loader/archive/ArchiveResource.h:
1285         (WebCore::ArchiveResource::frameName):
1286
1287 2008-04-15  David Hyatt  <hyatt@apple.com>
1288
1289         https://bugs.webkit.org/show_bug.cgi?id=18467
1290
1291         Make sure to ignore zoom:0.  That is not supposed to actually do anything.  It's a hack in IE
1292         to cause an element to set "hasLayout."
1293
1294         Reviewed by Anders
1295
1296         Added fast/css/zoom-property-parsing.html
1297
1298         * css/CSSParser.cpp:
1299         (WebCore::CSSParser::parseValue):
1300         * css/CSSStyleSelector.cpp:
1301         (WebCore::CSSStyleSelector::applyProperty):
1302
1303 2008-04-15  Anders Carlsson  <andersca@apple.com>
1304
1305         Reviewed by Adam.
1306
1307         Add a (currently empty) SubstituteResource class and make ArchiveResource inherit from it.
1308         
1309         * WebCore.vcproj/WebCore.vcproj:
1310         * WebCore.xcodeproj/project.pbxproj:
1311         * loader/SubstituteResource.h: Added.
1312         * loader/archive/ArchiveResource.h:
1313
1314 2008-04-15  Antti Koivisto  <antti@apple.com>
1315
1316         Reviewed by Geoff.
1317
1318         Fix <rdar://problem/5862921>
1319         REGRESSION: Leak in SVGSVGElement::SVGSVGElement
1320         
1321         In these strange days RefCounted starts with count of one.
1322
1323         * svg/SVGSVGElement.cpp:
1324         (WebCore::SVGSVGElement::SVGSVGElement):
1325         * svg/animation/SMILTimeContainer.h:
1326         (WebCore::SMILTimeContainer::create):
1327
1328 2008-04-15  Anatoli Papirovski  <apapirovski@mac.com>
1329
1330         Reviewed by hyatt
1331
1332         [CSS1, CSS3] Fixed the background-origin calculation for root elements
1333         (background-size and background-position are affected), r10794
1334         [CSS3] Fixed the background-size transformation where width is specified in percentage and height is left to auto
1335
1336         Test: fast/backgrounds/background-origin-root-element.html
1337
1338         * rendering/RenderBox.cpp:
1339         (WebCore::RenderBox::calculateBackgroundSize):
1340         (WebCore::RenderBox::calculateBackgroundImageGeometry):
1341
1342 2008-04-15  Timothy Hatcher  <timothy@apple.com>
1343
1344         Fixes the regression where the error and warning counts did not show up in the Resources
1345         sidebar next to resources.
1346
1347         https://bugs.webkit.org/show_bug.cgi?id=18494
1348
1349         Reviewed by Adam Roben.
1350
1351         * page/inspector/ResourcesPanel.js:
1352         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Increment errors or warnings
1353         on the resource. Set the bubbleText to the total of the errors and warnings. Add a error
1354         or warning class to the bubble.
1355         (WebInspector.ResourcesPanel.prototype.clearMessages): Zero out the errors and warnings
1356         properties on each resource. Set the bubbleText back to an empty string.
1357         * page/inspector/SidebarTreeElement.js:
1358         (WebInspector.SidebarTreeElement): Create a statusElement.
1359         (WebInspector.SidebarTreeElement.prototype.get bubbleText): Return _bubbleText.
1360         (WebInspector.SidebarTreeElement.prototype.set bubbleText): Create bubbleElement if needed.
1361         Assign the value to _bubbleText and bubbleElement.textContent.
1362         (WebInspector.SidebarTreeElement.prototype.onattach): Append statusElement to _listItemNode.
1363         * page/inspector/inspector.css: Style rules for bubbles and status elements.
1364
1365 2008-04-15  Timothy Hatcher  <timothy@apple.com>
1366
1367         Fixes the regression where error and warning bubbles would not be added
1368         to the source view of a resource.
1369
1370         https://bugs.webkit.org/show_bug.cgi?id=18495
1371
1372         Reviewed by Adam Roben.
1373
1374         * css/view-source.css:
1375         (.webkit-html-message-bubble): Add a min-height to make sure the border-radius
1376         has enough room to apply.
1377         * page/inspector/Console.js:
1378         (WebInspector.Console.prototype.addMessage): Removed code that added messages
1379         to resource panels and incremented error and warning counts on resources.
1380         Now just call ResourcesPanel.addMessageToResource after assigning the resource
1381         to the console message.
1382         (WebInspector.Console.prototype.clearMessages): Removed code that cleared error
1383         and warning counts from resources an call ResourcesPanel.clearMessages.
1384         * page/inspector/ResourcesPanel.js:
1385         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call addMessage
1386         on the resource's view, if it is implemented.
1387         (WebInspector.ResourcesPanel.prototype.clearMessages): Call clearMessages
1388         on all the resource views for the ones that implement it.
1389         (WebInspector.ResourcesPanel.prototype.refreshResource): Call _resourceView
1390         to make the resource's view if needed. Use a local view variable.
1391         (WebInspector.ResourcesPanel.prototype._resourceView): Added helper function
1392         to create a resource view if needed.
1393         * page/inspector/SourceView.js:
1394         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Delete the 
1395         _frameNeedsSetup property at the beginning to prevent recursion. Get the
1396         length of the messages array when assigning the local length variable.
1397         (WebInspector.SourceView.prototype.addMessage): Renamed from addMessageToSource.
1398         (WebInspector.SourceView.prototype.clearMessages): Added. Clear all the message
1399         bubbles that might be sprinkled in the source. Also clears the messages array.
1400         (WebInspector.SourceView.prototype._addMessageToSource): Create the image
1401         element in the Inspector's document so we can use relative image URLs. Then
1402         adopt the image element into the frame's document.
1403
1404 2008-04-15  Brady Eidson  <beidson@apple.com>
1405
1406         Reviewed by Anders
1407
1408         Hook up event dispatching for window.localStorage changes.
1409
1410         Tests: storage/domstorage/localstorage/enumerate-storage.html
1411                storage/domstorage/localstorage/iframe-events.html
1412                storage/domstorage/localstorage/index-get-and-set.html
1413                storage/domstorage/localstorage/onstorage-attribute-markup.html
1414                storage/domstorage/localstorage/onstorage-attribute-setattribute.html
1415                storage/domstorage/localstorage/simple-events.html
1416                storage/domstorage/localstorage/simple-usage.html
1417                storage/domstorage/localstorage/window-open.html
1418
1419         * storage/LocalStorage.cpp:
1420         (WebCore::LocalStorage::dispatchStorageEvent): Walk every Page in the PageGroup, adding
1421           each Frame that matches the storage area's security origin to a Vector.  Then dispatch
1422           the StorageEvent to each Frame in the Vector
1423
1424         * storage/SessionStorage.cpp:
1425         (WebCore::SessionStorage::dispatchStorageEvent): Adopt the technique used in LocalStorage,
1426           which is to only add the Frames to the Vector if their security origin matches
1427
1428 2008-04-15  Olivier Goffart  <ogoffart@trolltech.com>
1429
1430         Reviewed by Simon.
1431
1432         Fixes: copy to clipboard when selecting, and paste when clicking with the middle button
1433
1434         * platform/Pasteboard.h: Added Qt-specific selection mode
1435         * platform/qt/PasteboardQt.cpp: Choose the clipboard or the selecton
1436         according to the selection mode
1437         (WebCore::Pasteboard::writeSelection):
1438         (WebCore::Pasteboard::plainText):
1439         (WebCore::Pasteboard::documentFragment):
1440         (WebCore::Pasteboard::writeURL):
1441         (WebCore::Pasteboard::clear):
1442         (WebCore::Pasteboard::isSelectionMode):
1443
1444 2008-04-15  Andre Poenitz  <andre.poenitz@trolltech.com>
1445
1446         Reviewed by Simon.
1447
1448         Fix compilation with Qt namespaces
1449
1450         Qt can be configured to have all of its classes inside a specified namespaces.
1451         This is for example used in plugin/component environments like Eclipse.
1452
1453         This change makes it possible to let the Qt port compile against a namespaced
1454         Qt by the use of macros Qt provides to properly forward declare Qt classes in
1455         the namespace.
1456
1457         * WebCore.pro:
1458         * bridge/qt/qt_class.h:
1459         * bridge/qt/qt_instance.h:
1460         * html/HTMLCanvasElement.h:
1461         * platform/DragData.h:
1462         * platform/DragImage.h:
1463         * platform/KURL.h:
1464         * platform/PlatformKeyboardEvent.h:
1465         * platform/PlatformMouseEvent.h:
1466         * platform/PlatformWheelEvent.h:
1467         * platform/Widget.h:
1468         * platform/graphics/Color.h:
1469         * platform/graphics/FloatPoint.h:
1470         * platform/graphics/FloatRect.h:
1471         * platform/graphics/Gradient.h:
1472         * platform/graphics/GraphicsContext.h:
1473         * platform/graphics/ImageBuffer.h:
1474         * platform/graphics/ImageSource.h:
1475         * platform/graphics/IntPoint.h:
1476         * platform/graphics/IntRect.h:
1477         * platform/graphics/IntSize.h:
1478         * platform/graphics/Path.h:
1479         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1480         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
1481         * platform/network/qt/QNetworkReplyHandler.h:
1482         * platform/network/qt/ResourceRequest.h:
1483         * platform/qt/ClipboardQt.h:
1484         * platform/qt/RenderThemeQt.h:
1485         * platform/text/PlatformString.h:
1486         * platform/text/qt/TextCodecQt.h:
1487         * svg/graphics/SVGPaintServer.h:
1488         * svg/graphics/SVGPaintServerGradient.h:
1489
1490 2008-04-14  Brady Eidson  <beidson@apple.com>
1491
1492         Reviewed by Anders
1493
1494         Lay the underpinnings for LocalStorage.
1495
1496         For now, this just exposes window.localStorage to the dom which returns an in-memory Storage object, much
1497         like SessionStorage.  The primary difference at this point is that the object returned is shared globally,
1498         and isn't copied for new top-level browsing contexts like SessionStorage.
1499
1500         Later, I'll add proper event dispatch and a persistent storage backing.
1501
1502         * GNUmakefile.am:
1503         * WebCore.base.exp:
1504         * WebCore.pro:
1505         * WebCore.vcproj/WebCore.vcproj:
1506         * WebCore.xcodeproj/project.pbxproj:
1507         * WebCoreSources.bkl:
1508
1509         * bindings/js/JSDOMWindowCustom.cpp:
1510         (WebCore::JSDOMWindow::mark): Mark the optionalLocalStorage
1511
1512         * page/DOMWindow.cpp:
1513         (WebCore::DOMWindow::clear):
1514         (WebCore::DOMWindow::localStorage):
1515         * page/DOMWindow.h:
1516         (WebCore::DOMWindow::optionalLocalStorage):
1517
1518         * storage/LocalStorage.cpp: Added.
1519         (WebCore::LocalStorage::sharedLocalStorage):
1520         (WebCore::LocalStorage::LocalStorage):
1521         (WebCore::LocalStorage::storageArea):
1522         (WebCore::LocalStorage::itemChanged):
1523         (WebCore::LocalStorage::itemRemoved):
1524         (WebCore::LocalStorage::dispatchStorageEvent):
1525         * storage/LocalStorage.h: Added.
1526
1527         * storage/SessionStorage.cpp: Refactor to use the client interface for event dispatching for sessionStorage objects
1528         (WebCore::SessionStorage::SessionStorage):
1529         (WebCore::SessionStorage::copy):
1530         (WebCore::SessionStorage::storageArea):
1531         (WebCore::SessionStorage::itemChanged):
1532         (WebCore::SessionStorage::itemRemoved):
1533         (WebCore::SessionStorage::dispatchStorageEvent):
1534         * storage/SessionStorage.h:
1535
1536         * storage/StorageArea.cpp: Add a client parameter, and call to the client when an item is changed or removed.
1537         (WebCore::StorageArea::create):
1538         (WebCore::StorageArea::StorageArea):
1539         (WebCore::StorageArea::copy):
1540         (WebCore::StorageArea::setItem):
1541         (WebCore::StorageArea::removeItem):
1542         (WebCore::StorageArea::setClient):
1543         * storage/StorageArea.h:
1544         (WebCore::StorageArea::page):
1545         (WebCore::StorageArea::securityOrigin):
1546
1547         * storage/StorageAreaClient.h: Added.  Break out "itemChanged" and "itemRemoved" to a StorageAreaClient
1548           This way, both SessionStorage and LocalStorage areas can have different behavior on changes with
1549           that behavior managed from a central location.
1550         (WebCore::StorageAreaClient::~StorageAreaClient):
1551         (WebCore::StorageAreaClient::StorageAreaClient):
1552         (WebCore::StorageAreaClient::itemChanged):
1553         (WebCore::StorageAreaClient::itemRemoved):
1554
1555 2008-04-14  Brady Eidson  <beidson@apple.com>
1556
1557         Reviewed by Anders
1558
1559         Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
1560         if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
1561         network and will instead fail the load with a "cannot show URL" error.
1562
1563         * loader/ResourceLoader.cpp:
1564         (WebCore::ResourceLoader::load): Do the check here.
1565
1566         * page/Settings.cpp:
1567         (WebCore::Settings::Settings):
1568         (WebCore::Settings::setWebArchiveDebugModeEnabled):
1569         * page/Settings.h:
1570         (WebCore::Settings::webArchiveDebugModeEnabled):
1571
1572 2008-04-14  Antti Koivisto  <antti@apple.com>
1573
1574         Reviewed by Eric.
1575
1576         Some preparations for additive animations and animations in <use>.
1577         - Disallow animation elements in instance trees.
1578         - Fix buggy SVGUseElement::removeDisallowedElementsFromSubtree(), make it 
1579           public and static
1580         - Invoke it from SVGElementInstance::updateInstance() to clean up the instance tree
1581           there as well.
1582         - Add mechanism for blocking instance updates when an animation changes
1583           the referenced tree.
1584         
1585         The added assert in SVGSMILElement::insertedIntoDocument() verifies the fixes
1586         with the existing test cases.
1587
1588         * svg/SVGAElement.cpp:
1589         (WebCore::SVGAElement::defaultEventHandler):
1590         * svg/SVGElementInstance.cpp:
1591         (WebCore::SVGElementInstance::updateInstance):
1592         * svg/SVGStyledElement.cpp:
1593         (WebCore::SVGStyledElement::updateElementInstance):
1594         (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
1595         * svg/SVGStyledElement.h:
1596         * svg/SVGUseElement.cpp:
1597         (WebCore::isDisallowedElement):
1598         (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree):
1599         * svg/SVGUseElement.h:
1600         * svg/animation/SVGSMILElement.cpp:
1601         (WebCore::SVGSMILElement::insertedIntoDocument):
1602         (WebCore::SVGSMILElement::isSMILElement):
1603         (WebCore::SVGSMILElement::connectConditions):
1604         (WebCore::SVGSMILElement::disconnectConditions):
1605         * svg/animation/SVGSMILElement.h:
1606
1607 2008-04-14  Adam Roben  <aroben@apple.com>
1608
1609         Don't let the inspected page overwrite properties of JS objects in the
1610         Inspector
1611
1612         <https://bugs.webkit.org/show_bug.cgi?id=16011>
1613         <rdar://problem/5604409>
1614
1615         <https://bugs.webkit.org/show_bug.cgi?id=16837>
1616         <rdar://problem/5813850>
1617
1618         Reviewed by Sam Weinig and Geoff Garen.
1619
1620         Tests (contributed by Adam Barth and Collin Jackson):
1621         manual-tests/inspector-wrappers
1622
1623         * GNUmakefile.am:
1624         * WebCore.pro:
1625         * WebCore.vcproj/WebCore.vcproj:
1626         * WebCore.xcodeproj/project.pbxproj:
1627         * WebCoreSources.bkl:
1628         Added new files to the projects.
1629
1630         * bindings/js/JSQuarantinedObjectWrapper.cpp: Added.
1631         (WebCore::):
1632         (WebCore::JSQuarantinedObjectWrapper::asWrapper): Converts a JSValue
1633         into a JSQuarantinedObjectWrapper, if the JSValue is in fact a
1634         JSQuarantinedObjectWrapper.
1635         (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Callback to
1636         be used with PropertySlot.
1637         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
1638         Hold onto the object we're wrapping and its global object. Pass the
1639         wrapped prototype up to the JSObject constructor.
1640         (WebCore::JSQuarantinedObjectWrapper::~JSQuarantinedObjectWrapper):
1641         (WebCore::JSQuarantinedObjectWrapper::unwrappedExecStateMatches):
1642         Returns true if our underlying object originated from the same global
1643         object as the passed-in ExecState.
1644         (WebCore::JSQuarantinedObjectWrapper::unwrappedExecState):
1645         (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
1646         Wraps and moves an exception from our underlying ExecState to the
1647         passed-in one.
1648         (WebCore::JSQuarantinedObjectWrapper::mark): Marks ourselves and the
1649         objects we're holding references to.
1650
1651         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
1652         (WebCore::JSQuarantinedObjectWrapper::put):
1653         (WebCore::JSQuarantinedObjectWrapper::deleteProperty):
1654         (WebCore::JSQuarantinedObjectWrapper::implementsConstruct):
1655         (WebCore::JSQuarantinedObjectWrapper::construct):
1656         (WebCore::JSQuarantinedObjectWrapper::implementsHasInstance):
1657         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
1658         (WebCore::JSQuarantinedObjectWrapper::implementsCall):
1659         (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
1660         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
1661         JSObject overrides. These each check the appropriate permission before
1662         allowing the call to proceed. We wrap all outgoing values using
1663         m_wrapOutgoingValue, and we prepare all incoming values with the
1664         virtual prepareIncomingValue function. If an exception is raised when
1665         calling the underlying object, we transfer the exception in wrapped
1666         form to the passed-in ExecState.
1667
1668         * bindings/js/JSQuarantinedObjectWrapper.h: Added.
1669         (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
1670         (WebCore::JSQuarantinedObjectWrapper::className): We return the
1671         underlying object's class name so that we can successfully masquerade
1672         as that underlying object when, e.g., Object.prototype.toString is
1673         called on us.
1674         (WebCore::JSQuarantinedObjectWrapper::classInfo):
1675
1676         (WebCore::JSQuarantinedObjectWrapper::allowsGetProperty):
1677         (WebCore::JSQuarantinedObjectWrapper::allowsSetProperty):
1678         (WebCore::JSQuarantinedObjectWrapper::allowsDeleteProperty):
1679         (WebCore::JSQuarantinedObjectWrapper::allowsConstruct):
1680         (WebCore::JSQuarantinedObjectWrapper::allowsHasInstance):
1681         (WebCore::JSQuarantinedObjectWrapper::allowsCallAsFunction):
1682         (WebCore::JSQuarantinedObjectWrapper::allowsGetPropertyNames):
1683         These virtual methods let subclasses define the allowed operations on
1684         the wrapped object. By default all operations are disabled.
1685
1686         * bindings/js/JSInspectedObjectWrapper.cpp: Added. This subclass of
1687         JSQuarantinedObjectWrapper is used to wrap objects from the inspected
1688         page being passed to the Inspector.
1689         (WebCore::wrappers):
1690         (WebCore::):
1691         (WebCore::JSInspectedObjectWrapper::wrap): Wraps the passed-in object
1692         if needed and returns the wrapper. If this object has been wrapped
1693         previously we'll return the old wrapper rather than make a new one.
1694         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Add
1695         ourselves to the wrapper map.
1696         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Remove
1697         ourselves from the wrapper map.
1698         (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Ensure that
1699         any objects passed to the inspected object are either wrappers around
1700         objects from the inspected page (in which case we unwrap them so that
1701         the inspected page never sees the wrapper), or wrapped callbacks from
1702         the Inspector.
1703         * bindings/js/JSInspectedObjectWrapper.h: Added.
1704         (WebCore::JSInspectedObjectWrapper::classInfo):
1705         (WebCore::JSInspectedObjectWrapper::allowsGetProperty):
1706         (WebCore::JSInspectedObjectWrapper::allowsSetProperty):
1707         (WebCore::JSInspectedObjectWrapper::allowsDeleteProperty):
1708         (WebCore::JSInspectedObjectWrapper::allowsConstruct):
1709         (WebCore::JSInspectedObjectWrapper::allowsHasInstance):
1710         (WebCore::JSInspectedObjectWrapper::allowsCallAsFunction):
1711         (WebCore::JSInspectedObjectWrapper::allowsGetPropertyNames):
1712         These all return true so that the Inspector can use objects from the
1713         inspected page however it needs.
1714         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): Wrap all
1715         outgoing values as JSInspectedObjectWrappers.
1716
1717         * bindings/js/JSInspectorCallbackWrapper.cpp: Added. This subclass of
1718         JSQuarantinedObjectWrapper is used to wrap callbacks that the
1719         Inspector passes to the inspected page (e.g., for event listeners or
1720         client-side storage callbacks).
1721         (WebCore::wrappers):
1722         (WebCore::):
1723         (WebCore::JSInspectorCallbackWrapper::wrap): Wraps the passed-in
1724         object if needed and returns the wrapper. If this object has been
1725         wrapped previously we'll return the old wrapper rather than make a new
1726         one.
1727         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): Add
1728         ourselves to the wrapper map.
1729         (WebCore::JSInspectorCallbackWrapper::~JSInspectorCallbackWrapper):
1730         Remove ourselves from the wrapper map.
1731         (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): Ensure
1732         that values passed from the inspected page to an Inspector callback
1733         are wrapped in JSInspectedObjectWrappers. We also allow the inspected
1734         page to pass ourselves in (which will happen in the case of a
1735         client-side storage callback, where the callback itself is passed as
1736         the `this` object). In this case we unwrap ourselves so that the
1737         Inspector doesn't have to deal with the wrapper.
1738         * bindings/js/JSInspectorCallbackWrapper.h: Added.
1739         (WebCore::JSInspectorCallbackWrapper::classInfo):
1740         (WebCore::JSInspectorCallbackWrapper::allowsCallAsFunction):
1741         This is the only allowed operation on a JSInspectorCallbackWrapper.
1742         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): Wrap all
1743         outgoing values as JSInspectorCallbackWrappers.
1744
1745         * page/InspectorController.cpp:
1746         (WebCore::getResourceDocumentNode): Wrap the Document before passing
1747         it to the Inspector.
1748         (WebCore::highlightDOMNode): Unwrap the Node that the Inspector passed
1749         to us.
1750         (WebCore::databaseTableNames): Unwrap the Database that the Inspector
1751         passed to us.
1752         (WebCore::inspectedWindow): Wrap the Window before passing it to the
1753         Inspector.
1754         (WebCore::InspectorController::focusNode): Wrap the Node before
1755         passing it to the Inspector.
1756         (WebCore::wrapCallback): Wraps the passed-in callback in a
1757         JSInspectorCallbackWrapper.
1758         (WebCore::InspectorController::addDatabaseScriptResource): Wrap the
1759         Database beore pasing it to the Inspector.
1760         (WebCore::InspectorController::windowScriptObjectAvailable): Add the
1761         new wrapCallback function to the InspectorController JS object.
1762
1763         * page/inspector/ElementsPanel.js:
1764         (WebInspector.ElementsPanel.reset): Wrap the contentLoaded callback.
1765
1766         * page/inspector/DatabaseQueryView.js:
1767         (WebInspector.DatabaseQueryView._enterKeyPressed):
1768         * page/inspector/DatabaseTableView.js:
1769         (WebInspector.DatabaseTableView.update):
1770         Pass null instead of an empty array to executeSql since we're no
1771         longer allowed to pass any unwrapped objects to the inspected page.
1772         We now wrap all callbacks being passed to the inspected page using
1773         InspectorController.wrapCallback.
1774
1775 2008-04-14  Adam Roben  <aroben@apple.com>
1776
1777         Use prototypes/constructors from the inspected page when operating on
1778         objects from the inspected page
1779
1780         Reviewed by Tim Hatcher.
1781
1782         * page/inspector/Console.js:
1783         (WebInspector.ConsolePanel._format): Use the Node constructor from the
1784         inspected Window with the instanceof operator.
1785         * page/inspector/ElementsPanel.js:
1786         (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Use the
1787         Element prototype from the inspected Window instead of the Element
1788         prototype from this Window.
1789         * page/inspector/inspector.js:
1790         (WebInspector.performSearch): Ditto for Document prototype.
1791         * page/inspector/utilities.js:
1792         (Object.type): Now takes an optional Window parameter that is used to
1793         find the built-in constructors.
1794
1795 2008-04-14  Adam Roben  <aroben@apple.com>
1796
1797         Don't store objects from the Inspector on CSSStyleRules from the
1798         inspected page
1799
1800         Reviewed by Tim Hatcher.
1801
1802         * page/inspector/StylesSidebarPane.js:
1803         (WebInspector.StylesSidebarPane.update): Don't store raw CSSStyleRules
1804         from the inspected page in the styleRules array. Instead, always use a
1805         wrapper object. This will keep us from setting Inspector objects as
1806         properties of inspected objects.
1807
1808 2008-04-14  Timothy Hatcher  <timothy@apple.com>
1809
1810         Fixes a regression where clicking a resource URL in the Console would not
1811         show the resource in the Resources panel.
1812
1813         https://bugs.webkit.org/show_bug.cgi?id=18493
1814
1815         Reviewed by Adam Roben.
1816
1817         * page/inspector/Console.js:
1818         (WebInspector.Console.prototype._messagesClicked): Removed console-message-url
1819         handling to show resources. This is now handled by WebInspector.showResourceForURL.
1820         (WebInspector.ConsoleMessage.prototype.toMessageElement): Add the webkit-html-resource-link
1821         class name to the URL anchor. Also add the line number as a property to the anchor.
1822         * page/inspector/ResourcesPanel.js:
1823         (WebInspector.ResourcesPanel): Add a reference to the tree element to each calculator.
1824         (WebInspector.ResourcesPanel.prototype.showResource): Select and reveal the resource in
1825         the sidebar. Call showLine on the resource view if it is implemented.
1826         (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Select the current calculator's
1827         tree element in the sidebar.
1828         (WebInspector.ResourcesPanel.prototype._graphSelected): Call closeVisibleResource after
1829         the calculator changes since closeVisibleResource uses the calculator.
1830         * page/inspector/SourceView.js:
1831         (WebInspector.SourceView.prototype.sourceRow): Early return if the line is null/zero.
1832         (WebInspector.SourceView.prototype.showLine):  Renamed from showSourceLine.
1833         * page/inspector/inspector.css:
1834         (body.console-visible #main-panels): Made the bottom 24px to match
1835         the height of #main-status-bar.
1836         (.console-message-url): Make the color important so it wins over
1837         the .webkit-html-resource-link rule.
1838         (.resource-view .resource-view-content): Made more generic from .image
1839         so all resource views get sized correctly.
1840         (.resource-view.image .resource-view-content): Removed.
1841         * page/inspector/inspector.js:
1842         (WebInspector.documentClick): Pass the line number from the anchor to
1843         WebInspector.showResourceForURL.
1844         (WebInspector.showResourceForURL): Add line number support. Pass the line
1845         to ResourcesPanel.showResource.
1846         (WebInspector.addMainEventListeners): Use bind for the event listeners.
1847
1848 2008-04-14  Xan Lopez  <xan@gnome.org>
1849
1850         Reviewed by Alp Toker.
1851
1852         http://bugs.webkit.org/show_bug.cgi?id=17917
1853         Bug 17917: Cookie support for HTTP soup backend
1854
1855         Initial implementation of cookies for the http soup backend.
1856
1857         Moved CookieJarGtk to CookieJarSoup in network/soup and left the original
1858         one as CookieJarCurl in network/curl.
1859
1860         * GNUmakefile.am:
1861         * platform/CookieJar.h:
1862         * platform/network/curl/CookieJarCurl.cpp: Renamed from WebCore/platform/gtk/CookieJarGtk.cpp.
1863         (WebCore::setCookies):
1864         (WebCore::cookies):
1865         * platform/network/soup/CookieJarSoup.cpp: Added.
1866         (WebCore::getCookieJar):
1867         (WebCore::setCookies):
1868         (WebCore::cookies):
1869         * platform/network/soup/ResourceHandleSoup.cpp:
1870         (WebCore::ResourceHandle::start):
1871
1872 2008-04-14  Holger Freyther  <zecke@selfish.org>
1873
1874         Reviewed by Alp Toker.
1875
1876         https://bugs.webkit.org/show_bug.cgi?id=18411
1877         Enable Page caching and create FrameViews on the fly
1878
1879         Create the FrameView on the fly and cache pages
1880
1881         - Keep a copy of the GtkAdjustment to be able to reuse it for the
1882           FrameViews
1883         - Do not initially create a FrameView and update the WebKit code to
1884           cope with not having a view.
1885         - Cache seven pages by default.
1886
1887         * platform/gtk/ScrollViewGtk.cpp:
1888         (WebCore::ScrollView::setGtkAdjustments):
1889
1890 2008-04-14  David Hyatt  <hyatt@apple.com>
1891
1892         Add a new optimized layout path for positioned objects that move.  Also avoid always marking the <html>
1893         object for layout when it has a percentage height, since the RenderView already does that when its size
1894         changes.
1895
1896         Reviewed by mjs
1897
1898         * rendering/RenderBlock.cpp:
1899         (WebCore::RenderBlock::layoutBlockChildren):
1900         (WebCore::RenderBlock::layoutPositionedObjects):
1901         * rendering/RenderBox.h:
1902         (WebCore::RenderBox::layoutDoingPositionedMovementOnly):
1903         * rendering/RenderObject.cpp:
1904         (WebCore::RenderObject::RenderObject):
1905         (WebCore::RenderObject::setNeedsLayout):
1906         (WebCore::RenderObject::setChildNeedsLayout):
1907         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
1908         (WebCore::RenderObject::setStyle):
1909         * rendering/RenderObject.h:
1910         (WebCore::RenderObject::needsLayout):
1911         (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
1912         (WebCore::RenderObject::layoutDoingPositionedMovementOnly):
1913         * rendering/RenderStyle.cpp:
1914         (WebCore::positionedObjectMoved):
1915         (WebCore::RenderStyle::diff):
1916         * rendering/RenderStyle.h:
1917         (WebCore::RenderStyle::):
1918
1919 2008-04-14  David Hyatt  <hyatt@apple.com>
1920
1921         Add support for gradients in the CSS content property.
1922
1923         Reviewed by olliej
1924
1925         Added fast/gradients/generated-gradients.html
1926
1927         * GNUmakefile.am:
1928         * WebCore.pro:
1929         * WebCore.vcproj/WebCore.vcproj:
1930         * WebCore.xcodeproj/project.pbxproj:
1931         * WebCoreSources.bkl:
1932         * css/CSSParser.cpp:
1933         (WebCore::CSSParser::parseContent):
1934         * css/CSSStyleSelector.cpp:
1935         (WebCore::CSSStyleSelector::applyProperty):
1936         (WebCore::CSSStyleSelector::styleImage):
1937         (WebCore::CSSStyleSelector::mapBackgroundImage):
1938         * css/CSSStyleSelector.h:
1939         * html/HTMLImageElement.cpp:
1940         (WebCore::HTMLImageElement::attach):
1941         * rendering/RenderContainer.cpp:
1942         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
1943         * rendering/RenderImage.cpp:
1944         (WebCore::RenderImage::RenderImage):
1945         (WebCore::RenderImage::setCachedImage):
1946         (WebCore::RenderImage::paintReplaced):
1947         (WebCore::RenderImage::calcReplacedWidth):
1948         (WebCore::RenderImage::calcReplacedHeight):
1949         (WebCore::RenderImage::calcAspectRatioWidth):
1950         (WebCore::RenderImage::calcAspectRatioHeight):
1951         * rendering/RenderImage.h:
1952         (WebCore::RenderImage::hasImage):
1953         (WebCore::RenderImage::image):
1954         (WebCore::RenderImage::errorOccurred):
1955         (WebCore::RenderImage::usesImageContainerSize):
1956         (WebCore::RenderImage::setImageContainerSize):
1957         (WebCore::RenderImage::imageHasRelativeWidth):
1958         (WebCore::RenderImage::imageHasRelativeHeight):
1959         (WebCore::RenderImage::imageSize):
1960         * rendering/RenderImageGeneratedContent.cpp: Added.
1961         (WebCore::RenderImageGeneratedContent::RenderImageGeneratedContent):
1962         (WebCore::RenderImageGeneratedContent::~RenderImageGeneratedContent):
1963         (WebCore::RenderImageGeneratedContent::setStyleImage):
1964         * rendering/RenderImageGeneratedContent.h: Added.
1965         (WebCore::RenderImageGeneratedContent::hasImage):
1966         (WebCore::RenderImageGeneratedContent::image):
1967         (WebCore::RenderImageGeneratedContent::errorOccurred):
1968         (WebCore::RenderImageGeneratedContent::usesImageContainerSize):
1969         (WebCore::RenderImageGeneratedContent::setImageContainerSize):
1970         (WebCore::RenderImageGeneratedContent::imageHasRelativeWidth):
1971         (WebCore::RenderImageGeneratedContent::imageHasRelativeHeight):
1972         (WebCore::RenderImageGeneratedContent::imageSize):
1973         * rendering/RenderObject.cpp:
1974         (WebCore::RenderObject::createObject):
1975         * rendering/RenderStyle.cpp:
1976         (WebCore::StyleCachedImage::imageHasRelativeWidth):
1977         (WebCore::StyleCachedImage::imageHasRelativeHeight):
1978         (WebCore::StyleCachedImage::usesImageContainerSize):
1979         (WebCore::RenderStyle::contentDataEquivalent):
1980         (WebCore::RenderStyle::setContent):
1981         (WebCore::ContentData::clear):
1982         * rendering/RenderStyle.h:
1983         (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
1984         (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
1985         (WebCore::StyleGeneratedImage::usesImageContainerSize):
1986         (WebCore::BackgroundLayer::setBackgroundImage):
1987         (WebCore::ContentData::):
1988         (WebCore::RenderStyle::setListStyleImage):
1989
1990 2008-04-14  Brady Eidson  <beidson@apple.com>
1991
1992         Reviewed by Sam, but Anders too, and he was more thorough in his review
1993         and thats the only reason Sam beat him
1994
1995         Swap the Page and SecurityOrigin arguments when creating a StorageArea.
1996
1997         SecurityOrigin is really the primary identifying characteristic of a StorageArea,
1998         and StorageAreas that represent LocalStorage won't have an owner Page.
1999
2000         * storage/SessionStorage.cpp:
2001         (WebCore::SessionStorage::copy):
2002         (WebCore::SessionStorage::storageArea):
2003
2004         * storage/StorageArea.cpp:
2005         (WebCore::StorageArea::create):
2006         (WebCore::StorageArea::StorageArea):
2007         (WebCore::StorageArea::copy):
2008         (WebCore::StorageArea::dispatchStorageEvent): Null check m_page here, as in the future
2009           it might be null
2010         * storage/StorageArea.h:
2011
2012 2008-04-14  Timothy Hatcher  <timothy@apple.com>
2013
2014         Add support for changing the sort order of the resources. The two sorting
2015         methods supported current are Time and Size.
2016
2017         Reviewed by Adam Roben.
2018
2019         * page/inspector/Images/statusbarMenuButton.png: Added.
2020         * page/inspector/Images/statusbarMenuButtonSelected.png: Added.
2021         * page/inspector/ResourcesPanel.js:
2022         (WebInspector.ResourcesPanel): Create the status bar menu button and
2023         setup the event listener to call _changeSortingFunction. Each option in
2024         the select references a sorting function.
2025         (WebInspector.ResourcesPanel.get statusBarItems): Add the sorting menu to the
2026         items returned.
2027         (WebInspector.ResourcesPanel._changeSortingFunction): Set the sorting function
2028         to the selected option's function in the sorting menu.
2029         * page/inspector/inspector.css: Added CSS rules for select elements in status bars.
2030
2031 2008-04-14  Timothy Hatcher  <timothy@apple.com>
2032
2033         Add support for toggling between small and large resource rows
2034         in the Resources panel.
2035
2036         Reviewed by Adam Roben.
2037
2038         * English.lproj/InspectorLocalizedStrings.js: Added new tooltip string.
2039         * page/inspector/Images/largerResourcesButtons.png: Added.
2040         * page/inspector/Images/resourceDocumentIconSmall.png: Added.
2041         * page/inspector/Images/resourcePlainIconSmall.png: Added.
2042         * page/inspector/ResourcesPanel.js:
2043         (WebInspector.ResourcesPanel): Create the status bar button and
2044         setup the event listener to call _toggleLargerResources.
2045         (WebInspector.ResourcesPanel.get statusBarItems): Return the status bar button.
2046         (WebInspector.ResourcesPanel._toggleLargerResources): Toggle the class names
2047         for the resources children list and the status bar button.
2048         * page/inspector/inspector.css: New style rules for small resources
2049         and the status bar item.
2050
2051 2008-04-14  Chris Fleizach  <cfleizach@apple.com>
2052
2053         Reviewed by Darin Adler
2054
2055         <rdar://problem/5854572> REGRESSION: AXPosition seems to be flipped in nightly build
2056         AX was using the wrong method to determine the view to use to create the screen position 
2057
2058         * page/AccessibilityObject.cpp:
2059         (WebCore::AccessibilityObject::documentFrameView):
2060         * page/mac/AccessibilityObjectWrapper.mm:
2061         (-[AccessibilityObjectWrapper position]):
2062
2063 2008-04-14  David Smith  <catfish.man@gmail.com>
2064
2065         Reviewed by Timothy Hatcher.
2066         
2067         - Fix https://bugs.webkit.org/show_bug.cgi?id=14258
2068         Response time vs. download time should be shown in the network profile
2069
2070         * page/inspector/Resource.js: Change the sorting function to sort by response received time.
2071         * page/inspector/ResourcesPanel.js: Hook up the existing infrastructure to two bars instead of one; one for the total time, one for the time post-response.
2072         * page/inspector/inspector.css: Add a new rule to make the waiting bar have a lower opacity, and change the total bar opacity to handle the overlap
2073
2074 2008-04-14  Julien Chaffraix  <jchaffraix@webkit.org>
2075
2076         Reviewed by Ap.
2077
2078         Bug 17403: WebKit Creates Invalid Xhtml Links with Ajax
2079         http://bugs.webkit.org/show_bug.cgi?id=17403
2080
2081         The previous code had callbacks for the normal parsing (full document) and fragment parsing.
2082         The difference was induced by the method we were using which did not accept a xmlParserCtxt.
2083         The code has been refactored to allow us to share the callbacks between the different cases.
2084         A drawback is that we have to use xmlParseContent which is an internal libxml method and thus
2085         some internal intialization is done in WebCore.
2086
2087         Test: fast/parser/ampersand-escaped-parseXMLFragment.xhtml
2088
2089         * dom/XMLTokenizer.cpp:
2090         (WebCore::createStringParser): Moved didInit in the global scope as it is shared by the
2091         2 create methods.
2092
2093         (WebCore::createMemoryParser): Create a memory parser similar to the previous code.
2094         Initialize the xmlParserContext to call xmlParseContent in parseXMLDocumentFragment.
2095
2096         (WebCore::XMLTokenizer::initializeParserContext): Check m_parsingFragment to know
2097         which create method to call.
2098
2099         * dom/XMLTokenizer.h: Added parseXMLDocumentFragment as a friend of XMLTokenizer.
2100
2101 2008-04-14  Rob Buis  <buis@kde.org>
2102
2103         Reviewed by Eric.
2104
2105         http://bugs.webkit.org/show_bug.cgi?id=18230
2106         tspan in link not working
2107
2108         Implement SVG Errata: "The 'a' element may contain any
2109         element that its parent may contain, except itself."
2110
2111         * svg/SVGAElement.cpp:
2112         (WebCore::SVGAElement::childShouldCreateRenderer):
2113
2114 2008-04-13  David Hyatt  <hyatt@apple.com>
2115
2116         Fix for bug 18466, WebKit exhibits slow performance on Opera DHTML benchmark.  Improve layout's rect
2117         invalidation code to only invalidate a single unioned rect once enough individual little rects have
2118         been detected.
2119
2120         Reviewed by olliej
2121
2122         * page/FrameView.cpp:
2123         (WebCore::FrameViewPrivate::reset):
2124         (WebCore::FrameView::layout):
2125         (WebCore::FrameView::repaintRectangle):
2126         (WebCore::FrameView::beginDeferredRepaints):
2127         (WebCore::FrameView::endDeferredRepaints):
2128         * page/FrameView.h:
2129
2130 2008-04-13  Eric Seidel  <eric@webkit.org>
2131
2132         Reviewed by Oliver.
2133
2134         Fix spelling error in function name, no test case.
2135
2136         * svg/SVGTextContentElement.cpp:
2137         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
2138
2139 2008-04-13  Eric Seidel  <eric@webkit.org>
2140
2141         Reviewed by Oliver.
2142
2143         Build fix for +SVG_ANIMATION -SVG_FOREIGN_OBJECT build, no tests.
2144
2145         * svg/SVGAnimateMotionElement.cpp:
2146         (WebCore::SVGAnimateMotionElement::hasValidTarget):
2147
2148 2008-04-13  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
2149
2150         Reviewed by Oliver Hunt.
2151
2152         http://bugs.webkit.org/show_bug.cgi?id=18239
2153         [Gtk] Build breaks if SVG is enabled but SVG Fonts disabled
2154
2155         * svg/SVGAltGlyphElement.idl: Add SVG_FONTS in Conditional
2156
2157 2008-04-13  Julien Chaffraix  <jchaffraix@webkit.org>
2158
2159         Reviewed by David.
2160
2161         More SVG filters build fix.
2162
2163         * svg/graphics/filters/SVGFEImage.cpp:
2164         (WebCore::SVGFEImage::~SVGFEImage):
2165         (WebCore::SVGFEImage::setCachedImage):
2166
2167 2008-04-13  David Hyatt  <hyatt@apple.com>
2168
2169         Fix build bustage on the filters SVG code path (not built by default).
2170
2171         * svg/SVGFEImageElement.cpp:
2172         (WebCore::SVGFEImageElement::~SVGFEImageElement):
2173         (WebCore::SVGFEImageElement::parseMappedAttribute):
2174
2175 2008-04-13  Dan Winship  <danw@gnome.org>
2176
2177         Reviewed by Alp Toker.
2178
2179         http://bugs.webkit.org/show_bug.cgi?id=18391
2180         return body data incrementally from libsoup backend
2181
2182         Fix libsoup backend to pass data to the loader incrementally
2183         rather than all at once at the end.
2184
2185         * platform/network/soup/ResourceHandleSoup.cpp
2186         (ResourceHandle::start): connect to "got-headers" and "got-chunk"
2187         signals on the message
2188         (gotHeadersCallback): call client->didReceiveResponse() from here
2189         (gotChunkCallback): call client->didReceiveData() from here
2190         (finishedCallback): renamed from dataCallback. mostly just calls
2191         client->didFinishLoading() now.
2192
2193 2008-04-13  Dan Bernstein  <mitz@apple.com>
2194
2195         Reviewed by Jessica Kahn.
2196
2197         - remove duplicate condition in canHaveChildrenForEditing()
2198
2199         * editing/htmlediting.cpp:
2200         (WebCore::canHaveChildrenForEditing):
2201
2202 2008-04-13  Dan Bernstein  <mitz@apple.com>
2203
2204         Reviewed by Darin Adler.
2205
2206         - fix http://bugs.webkit.org/show_bug.cgi?id=18307
2207           <rdar://problem/5842546> REGRESSION (r31620): Incorrect Hiragino Kaku Gothic, font-weight:500
2208
2209         Test: fast/css/font-weight-1.html
2210
2211         * platform/graphics/mac/FontCacheMac.mm:
2212         (WebCore::toAppKitFontWeight): Adjusted the mapping to cover the AppKit
2213         weight range from 2 to 12, because AppKit weight 1 never occurs. The
2214         new mapping matches font-weight: n00 to ISO weight Wn.
2215         * platform/mac/WebFontCache.mm:
2216         (betterChoice): Changed the midpoint used when deciding between two
2217         candidates that deviate from the desired weight by the same amount.
2218
2219 2008-04-12  David Hyatt  <hyatt@apple.com>
2220
2221         Memory management cleanup for the new StyleCachedImage and StyleGeneratedImage classes.  Make the back end
2222         values hold refptrs to cached front end values.  This will avoid malloc churn as RenderStyles get
2223         re-resolved.
2224
2225         Reviewed by olliej
2226
2227         * css/CSSCursorImageValue.cpp:
2228         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2229         (WebCore::CSSCursorImageValue::cachedImage):
2230         * css/CSSCursorImageValue.h:
2231         * css/CSSImageGeneratorValue.cpp:
2232         (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
2233         (WebCore::CSSImageGeneratorValue::generatedImage):
2234         * css/CSSImageGeneratorValue.h:
2235         * css/CSSImageValue.cpp:
2236         (WebCore::CSSImageValue::CSSImageValue):
2237         (WebCore::CSSImageValue::~CSSImageValue):
2238         (WebCore::CSSImageValue::cachedImage):
2239         * css/CSSImageValue.h:
2240         * css/CSSStyleSelector.cpp:
2241         (WebCore::CSSStyleSelector::applyProperty):
2242         (WebCore::CSSStyleSelector::createStyleImage):
2243         * css/CSSStyleSelector.h:
2244         * rendering/RenderStyle.h:
2245         (WebCore::StyleCachedImage::cachedImage):
2246         (WebCore::StyleGeneratedImage::StyleGeneratedImage):
2247         (WebCore::StyleGeneratedImage::data):
2248
2249 2008-04-12  Julien Chaffraix  <jchaffraix@webkit.org>
2250
2251         Not reviewed, Qt build fix.
2252
2253         * dom/XMLTokenizer.cpp:
2254        (WebCore::XMLTokenizer::parseEndElement):
2255         * platform/graphics/qt/GraphicsContextQt.cpp:
2256         (WebCore::GraphicsContext::clip):
2257         * platform/qt/ClipboardQt.cpp:
2258         (WebCore::ClipboardQt::setDragImage):
2259
2260 2008-04-12  David Hyatt  <hyatt@apple.com>
2261
2262         Add support for list-style-image gradients.  Also improve the image comparisons between two RenderStyles        
2263         to not mistakenly believe that images have changed.
2264
2265         Reviewed by olliej
2266
2267         Added fast/gradients/list-item-gradient.html
2268
2269         * css/CSSComputedStyleDeclaration.cpp:
2270         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2271         * css/CSSParser.cpp:
2272         (WebCore::CSSParser::parseValue):
2273         * css/CSSStyleSelector.cpp:
2274         (WebCore::CSSStyleSelector::applyProperty):
2275         (WebCore::CSSStyleSelector::createStyleImage):
2276         * rendering/RenderListMarker.cpp:
2277         (WebCore::RenderListMarker::RenderListMarker):
2278         (WebCore::RenderListMarker::paint):
2279         (WebCore::RenderListMarker::imageChanged):
2280         (WebCore::RenderListMarker::calcPrefWidths):
2281         * rendering/RenderListMarker.h:
2282         * rendering/RenderStyle.cpp:
2283         (WebCore::imagesEquivalent):
2284         (WebCore::BorderImage::operator==):
2285         (WebCore::StyleCachedImage::errorOccurred):
2286         (WebCore::BackgroundLayer::operator==):
2287         (WebCore::StyleInheritedData::StyleInheritedData):
2288         (WebCore::cursorDataEquivalent):
2289         (WebCore::StyleInheritedData::operator==):
2290         (WebCore::RenderStyle::diff):
2291         * rendering/RenderStyle.h:
2292         (WebCore::StyleImage::errorOccurred):
2293         (WebCore::RenderStyle::listStyleImage):
2294         (WebCore::RenderStyle::setListStyleImage):
2295         (WebCore::RenderStyle::initialListStyleImage):
2296
2297 2008-04-12  Dan Bernstein  <mitz@apple.com>
2298
2299         - Windows build fix
2300
2301         * platform/win/ClipboardWin.cpp:
2302         (WebCore::ClipboardWin::setDragImage):
2303
2304 2008-04-12  Kevin Ollivier  <kevino@theolliviers.com>
2305
2306         wx build fix. Update clip to take a FloatRect.
2307
2308         * platform/graphics/wx/GraphicsContextWx.cpp:
2309         (WebCore::GraphicsContext::clip):
2310
2311 2008-04-12  David Hyatt  <hyatt@apple.com>
2312
2313         Add gradient support to border-image (even though it's mostly just weird).
2314
2315         Reviewed by Dan
2316
2317         Added fast/gradients/border-image-gradient.html
2318               fast/gradients/border-image-gradient-sides-and-corners.html
2319
2320         * css/CSSBorderImageValue.h:
2321         (WebCore::CSSBorderImageValue::imageValue):
2322         * css/CSSStyleSelector.cpp:
2323         (WebCore::CSSStyleSelector::applyProperty):
2324         * platform/graphics/GeneratedImage.cpp:
2325         (WebCore::GeneratedImage::draw):
2326         * rendering/InlineFlowBox.cpp:
2327         (WebCore::InlineFlowBox::paintBoxDecorations):
2328         * rendering/RenderBox.cpp:
2329         (WebCore::RenderBox::imageChanged):
2330         * rendering/RenderObject.cpp:
2331         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
2332         (WebCore::RenderObject::paintBorderImage):
2333         (WebCore::RenderObject::paintBorder):
2334         (WebCore::RenderObject::updateBackgroundImages):
2335         (WebCore::RenderObject::arenaDelete):
2336         * rendering/RenderStyle.cpp:
2337         (WebCore::StyleCachedImage::isLoaded):
2338         * rendering/RenderStyle.h:
2339         (WebCore::StyleImage::isLoaded):
2340         (WebCore::BorderImage::image):
2341
2342 2008-04-11  Dan Bernstein  <mitz@apple.com>
2343
2344         Reviewed by Dave Hyatt.
2345
2346         - fix a regression from r31324 which caused most Arabic text to render
2347           as missing glyphs
2348
2349         Test: svg/W3C-SVG-1.1/fonts-glyph-02-t.svg
2350
2351         * svg/SVGFont.cpp:
2352         (WebCore::SVGTextRunWalker::walk): Changed to always process characters
2353         in logical order and therefore dispatch the callbacks with a logically-
2354         ordered glyph stream. Changed the call to isCompatibleGlyph() to check
2355         for compatibility only with the range of characters the candidate glyph
2356         is derived from rather than with the entire lookup range. Changed to
2357         mark the <missing-glyph> glyph identifier as valid, to facilitate the
2358         use of invalid glyph identifiers to mark font fallback.
2359         (WebCore::drawTextUsingSVGFontCallback): Changed to only append the
2360         glyph identifier to a vector.
2361         (WebCore::drawTextMissingGlyphCallback): Changed to only append the
2362         character to a vector and append an invalid glyph identifier to the
2363         glyph vector.
2364         (WebCore::Font::drawTextUsingSVGFont): Moved the drawing from the
2365         callbacks into this function, iterating over the glyph and fallback
2366         characters vector in visual order.
2367
2368 2008-04-11  Dirk Schulze <vbs85@gmx.de>
2369
2370         Reviewed by eseidel.
2371
2372         Attempt to fix Cairo build.
2373
2374         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2375         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2376
2377 2008-04-11  David Hyatt  <hyatt@apple.com>
2378
2379         Rename CachedResource's ref/deref methods to addClient/removeClient.  This matches the new
2380         StyleImage class and is a more accurate description of what those methods really do.
2381
2382         Reviewed by olliej
2383
2384         * WebCore.base.exp:
2385         * css/CSSCursorImageValue.cpp:
2386         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2387         * css/CSSFontFaceSource.cpp:
2388         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
2389         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
2390         * css/CSSImageValue.cpp:
2391         (WebCore::CSSImageValue::~CSSImageValue):
2392         (WebCore::CSSImageValue::image):
2393         * css/CSSImportRule.cpp:
2394         (WebCore::CSSImportRule::~CSSImportRule):
2395         (WebCore::CSSImportRule::insertedIntoParent):
2396         * dom/ProcessingInstruction.cpp:
2397         (WebCore::ProcessingInstruction::~ProcessingInstruction):
2398         (WebCore::ProcessingInstruction::checkStyleSheet):
2399         (WebCore::ProcessingInstruction::parseStyleSheet):
2400         * dom/XMLTokenizer.cpp:
2401         (WebCore::XMLTokenizer::~XMLTokenizer):
2402         (WebCore::XMLTokenizer::endElementNs):
2403         (WebCore::XMLTokenizer::notifyFinished):
2404         * html/CanvasPattern.cpp:
2405         (WebCore::CanvasPattern::CanvasPattern):
2406         (WebCore::CanvasPattern::~CanvasPattern):
2407         * html/HTMLImageLoader.cpp:
2408         (WebCore::HTMLImageLoader::~HTMLImageLoader):
2409         (WebCore::HTMLImageLoader::setImage):
2410         (WebCore::HTMLImageLoader::updateFromElement):
2411         * html/HTMLLinkElement.cpp:
2412         (WebCore::HTMLLinkElement::~HTMLLinkElement):
2413         (WebCore::HTMLLinkElement::process):
2414         * html/HTMLScriptElement.cpp:
2415         (WebCore::HTMLScriptElement::~HTMLScriptElement):
2416         (WebCore::HTMLScriptElement::parseMappedAttribute):
2417         (WebCore::HTMLScriptElement::insertedIntoDocument):
2418         (WebCore::HTMLScriptElement::removedFromDocument):
2419         (WebCore::HTMLScriptElement::notifyFinished):
2420         * html/HTMLTokenizer.cpp:
2421         (WebCore::HTMLTokenizer::reset):
2422         (WebCore::HTMLTokenizer::scriptHandler):
2423         (WebCore::HTMLTokenizer::notifyFinished):
2424         * loader/CachedCSSStyleSheet.cpp:
2425         (WebCore::CachedCSSStyleSheet::addClient):
2426         * loader/CachedCSSStyleSheet.h:
2427         * loader/CachedFont.cpp:
2428         (WebCore::CachedFont::addClient):
2429         * loader/CachedFont.h:
2430         * loader/CachedImage.cpp:
2431         (WebCore::CachedImage::addClient):
2432         * loader/CachedImage.h:
2433         * loader/CachedResource.cpp:
2434         (WebCore::CachedResource::addClient):
2435         (WebCore::CachedResource::removeClient):
2436         * loader/CachedResource.h:
2437         * loader/CachedScript.cpp:
2438         (WebCore::CachedScript::addClient):
2439         * loader/CachedScript.h:
2440         * loader/CachedXBLDocument.h:
2441         * loader/CachedXSLStyleSheet.cpp:
2442         (WebCore::CachedXSLStyleSheet::addClient):
2443         * loader/CachedXSLStyleSheet.h:
2444         * loader/mac/UserStyleSheetLoader.cpp:
2445         (UserStyleSheetLoader::UserStyleSheetLoader):
2446         (UserStyleSheetLoader::~UserStyleSheetLoader):
2447         * platform/mac/ClipboardMac.mm:
2448         (WebCore::ClipboardMac::setDragImage):
2449         * rendering/RenderImage.cpp:
2450         (WebCore::RenderImage::~RenderImage):
2451         (WebCore::RenderImage::setCachedImage):
2452         * rendering/RenderListMarker.cpp:
2453         (WebCore::RenderListMarker::~RenderListMarker):
2454         (WebCore::RenderListMarker::setStyle):
2455         * rendering/RenderObject.cpp:
2456         (WebCore::RenderObject::updateBackgroundImages):
2457         (WebCore::RenderObject::arenaDelete):
2458         * rendering/RenderStyle.cpp:
2459         (WebCore::StyleCachedImage::addClient):
2460         (WebCore::StyleCachedImage::removeClient):
2461         * svg/SVGImageLoader.cpp:
2462         (WebCore::SVGImageLoader::updateFromElement):
2463         * xml/XSLImportRule.cpp:
2464         (WebCore::XSLImportRule::~XSLImportRule):
2465         (WebCore::XSLImportRule::loadSheet):
2466
2467 2008-04-11  David Hyatt  <hyatt@apple.com>
2468
2469         This patch adds support for CSS gradients as background images.  RenderStyles now hold a StyleImage
2470         RefPtr, which is a wrapper for two types of images: CachedImages (loaded from URLs) and generated images
2471         (patterns created on the fly such as gradients).
2472
2473         All of the features of <canvas> are supported: gradients can be linear or radial, have multiple stops, and
2474         can specify their points as percentages (for reusable gradients across different box sizes).
2475
2476         Reviewed by olliej
2477
2478         Added fast/gradients/simple-gradients.html
2479
2480         * WebCore.xcodeproj/project.pbxproj:
2481         * css/CSSBorderImageValue.cpp:
2482         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
2483         * css/CSSBorderImageValue.h:
2484         (WebCore::CSSBorderImageValue::imageValue):
2485         (WebCore::CSSBorderImageValue::generatorValue):
2486         * css/CSSComputedStyleDeclaration.cpp:
2487         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2488         * css/CSSGradientValue.cpp: Added.
2489         (WebCore::CSSGradientValue::cssText):
2490         (WebCore::CSSGradientValue::createGradient):
2491         (WebCore::CSSGradientValue::image):
2492         (WebCore::compareStops):
2493         (WebCore::CSSGradientValue::sortStopsIfNeeded):
2494         (WebCore::CSSGradientValue::resolvePoint):
2495         (WebCore::CSSGradientValue::resolveRadius):
2496         * css/CSSGradientValue.h: Added.
2497         (WebCore::):
2498         (WebCore::CSSGradientColorStop::CSSGradientColorStop):
2499         (WebCore::CSSGradientValue::CSSGradientValue):
2500         (WebCore::CSSGradientValue::type):
2501         (WebCore::CSSGradientValue::setType):
2502         (WebCore::CSSGradientValue::setFirstX):
2503         (WebCore::CSSGradientValue::setFirstY):
2504         (WebCore::CSSGradientValue::setSecondX):
2505         (WebCore::CSSGradientValue::setSecondY):
2506         (WebCore::CSSGradientValue::setFirstRadius):
2507         (WebCore::CSSGradientValue::setSecondRadius):
2508         (WebCore::CSSGradientValue::addStop):
2509         * css/CSSImageGeneratorValue.cpp: Added.
2510         (WebCore::CSSImageGeneratorValue::~CSSImageGeneratorValue):
2511         (WebCore::CSSImageGeneratorValue::addClient):
2512         (WebCore::CSSImageGeneratorValue::removeClient):
2513         (WebCore::CSSImageGeneratorValue::getImage):
2514         (WebCore::CSSImageGeneratorValue::putImage):
2515         * css/CSSImageGeneratorValue.h: Added.
2516         (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
2517         * css/CSSImageValue.h:
2518         (WebCore::CSSImageValue::isImageValue):
2519         * css/CSSParser.cpp:
2520         (WebCore::CSSParser::parseBackgroundImage):
2521         (WebCore::BorderImageParseContext::commitImage):
2522         (WebCore::CSSParser::parseBorderImage):
2523         (WebCore::parseGradientPoint):
2524         (WebCore::parseGradientColorStop):
2525         (WebCore::CSSParser::parseGradient):
2526         * css/CSSParser.h:
2527         * css/CSSStyleSelector.cpp:
2528         (WebCore::CSSStyleSelector::applyProperty):
2529         (WebCore::CSSStyleSelector::createStyleImage):
2530         (WebCore::CSSStyleSelector::mapBackgroundImage):
2531         * css/CSSStyleSelector.h:
2532         * css/CSSValue.h:
2533         (WebCore::CSSValue::isImageValue):
2534         (WebCore::CSSValue::isImageGeneratorValue):
2535         * html/CanvasRenderingContext2D.cpp:
2536         (WebCore::CanvasRenderingContext2D::isPointInPath):
2537         * platform/graphics/BitmapImage.cpp:
2538         (WebCore::BitmapImage::BitmapImage):
2539         (WebCore::BitmapImage::dataChanged):
2540         (WebCore::BitmapImage::frameCount):
2541         * platform/graphics/BitmapImage.h:
2542         * platform/graphics/GraphicsContext.cpp:
2543         (WebCore::GraphicsContext::clipToImageBuffer):
2544         * platform/graphics/GraphicsContext.h:
2545         * platform/graphics/ImageBuffer.h:
2546         (WebCore::ImageBuffer::cgImage):
2547         (WebCore::ImageBuffer::image):
2548         * platform/graphics/cg/GraphicsContextCG.cpp:
2549         (WebCore::GraphicsContext::clipToImageBuffer):
2550         (WebCore::GraphicsContext::paintBuffer):
2551         (WebCore::GraphicsContext::drawImage):
2552         * platform/graphics/cg/ImageBufferCG.cpp:
2553         (WebCore::ImageBuffer::create):
2554         (WebCore::ImageBuffer::ImageBuffer):
2555         (WebCore::ImageBuffer::~ImageBuffer):
2556         (WebCore::ImageBuffer::image):
2557         (WebCore::ImageBuffer::getImageData):
2558         (WebCore::ImageBuffer::putImageData):
2559         (WebCore::ImageBuffer::toDataURL):
2560         * platform/graphics/cg/ImageCG.cpp:
2561         (WebCore::BitmapImage::BitmapImage):
2562         (WebCore::BitmapImage::draw):
2563         (WebCore::Image::drawPattern):
2564         * platform/graphics/qt/ImageQt.cpp:
2565         (WebCore::BitmapImage::BitmapImage):
2566         * rendering/InlineFlowBox.cpp:
2567         (WebCore::InlineFlowBox::paintBackground):
2568         * rendering/RenderBox.cpp:
2569         (WebCore::RenderBox::calculateBackgroundSize):
2570         (WebCore::RenderBox::imageChanged):
2571         (WebCore::RenderBox::paintBackgroundExtended):
2572         * rendering/RenderObject.cpp:
2573         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
2574         (WebCore::RenderObject::updateBackgroundImages):
2575         (WebCore::RenderObject::arenaDelete):
2576         * rendering/RenderStyle.cpp:
2577         (WebCore::StyleCachedImage::cssValue):
2578         (WebCore::StyleCachedImage::canRender):
2579         (WebCore::StyleCachedImage::imageSize):
2580         (WebCore::StyleCachedImage::setImageContainerSize):
2581         (WebCore::StyleCachedImage::addClient):
2582         (WebCore::StyleCachedImage::removeClient):
2583         (WebCore::StyleCachedImage::image):
2584         (WebCore::StyleGeneratedImage::cssValue):
2585         (WebCore::StyleGeneratedImage::imageSize):
2586         (WebCore::StyleGeneratedImage::setImageContainerSize):
2587         (WebCore::StyleGeneratedImage::addClient):
2588         (WebCore::StyleGeneratedImage::removeClient):
2589         (WebCore::StyleGeneratedImage::image):
2590         * rendering/RenderStyle.h:
2591         (WebCore::StyleImage::StyleImage):
2592         (WebCore::StyleImage::~StyleImage):
2593         (WebCore::StyleImage::operator==):
2594         (WebCore::StyleImage::canRender):
2595         (WebCore::StyleImage::isCachedImage):
2596         (WebCore::StyleImage::isGeneratedImage):
2597         (WebCore::StyleCachedImage::StyleCachedImage):
2598         (WebCore::StyleCachedImage::data):
2599         (WebCore::StyleCachedImage::isCachedImage):
2600         (WebCore::StyleGeneratedImage::StyleGeneratedImage):
2601         (WebCore::StyleGeneratedImage::data):
2602         (WebCore::StyleGeneratedImage::isGeneratedImage):
2603         (WebCore::BackgroundLayer::backgroundImage):
2604         (WebCore::BackgroundLayer::setBackgroundImage):
2605         (WebCore::BackgroundLayer::containsImage):
2606         (WebCore::RenderStyle::backgroundImage):
2607         (WebCore::RenderStyle::initialBackgroundImage):
2608         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2609         (WebCore::SVGPaintServerGradient::teardown):
2610         * svg/graphics/cg/SVGResourceMaskerCg.mm:
2611         (WebCore::SVGResourceMasker::applyMask):
2612
2613 2008-04-11  Dan Bernstein  <mitz@apple.com>
2614
2615         Reviewed by Oliver Hunt.
2616
2617         - add SVGGlyphMap.h to project files
2618
2619         * WebCore.vcproj/WebCore.vcproj:
2620         * WebCore.xcodeproj/project.pbxproj:
2621
2622 2008-04-11  Anders Carlsson  <andersca@apple.com>
2623
2624         Fix release build.
2625         
2626         * WebCore.base.exp:
2627         
2628         * loader/archive/ArchiveResource.h:
2629         (WebCore::ArchiveResource::response):
2630         This should be const.
2631
2632 2008-04-11  Antti Koivisto  <antti@apple.com>
2633
2634         Try to fix Qt build.
2635
2636         * svg/animation/SMILTime.cpp:
2637
2638 2008-04-11  Anders Carlsson  <andersca@apple.com>
2639
2640         Reviewed by Brady.
2641
2642         Don't create the ArchiveResource response lazily.
2643         
2644         * loader/archive/ArchiveResource.cpp:
2645         (WebCore::ArchiveResource::ArchiveResource):
2646         * loader/archive/ArchiveResource.h:
2647         (WebCore::ArchiveResource::response):
2648
2649 2008-04-11  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
2650
2651         Reviewed by Mark Rowe.
2652
2653         Added missing '\' in the svg include path
2654
2655         * GNUmakefile.am:
2656
2657 2008-04-11  Antti Koivisto  <antti@apple.com>
2658
2659         Another attempted Qt build fix.
2660
2661         * WebCore.pro:
2662
2663 2008-04-11  Antti Koivisto  <antti@apple.com>
2664
2665         Reviewed by Oliver.
2666
2667         Fix build when SVG is enabled but SVG_ANIMATION is not.
2668
2669         * ChangeLog:
2670         * bindings/js/JSSVGElementWrapperFactory.cpp:
2671         * bindings/objc/DOM.mm:
2672         (WebCore::createElementClassMap):
2673         * svg/SVGAElement.cpp:
2674         (WebCore::SVGAElement::defaultEventHandler):
2675         * svg/SVGAnimateColorElement.cpp:
2676         * svg/SVGAnimateColorElement.h:
2677         * svg/SVGAnimateColorElement.idl:
2678         * svg/SVGAnimateMotionElement.h:
2679         * svg/SVGAnimationElement.cpp:
2680         (WebCore::SVGAnimationElement::animationMode):
2681         * svg/SVGAnimationElement.h:
2682         * svg/SVGAnimationElement.idl:
2683         * svg/SVGSetElement.cpp:
2684         * svg/SVGSetElement.h:
2685         * svg/SVGSetElement.idl:
2686         * svg/animation/SMILTimeContainer.cpp:
2687         (WebCore::SMILTimeContainer::begin):
2688         (WebCore::SMILTimeContainer::pause):
2689         (WebCore::SMILTimeContainer::resume):
2690         (WebCore::SMILTimeContainer::elapsed):
2691         (WebCore::SMILTimeContainer::isPaused):
2692         (WebCore::SMILTimeContainer::timerFired):
2693         * svg/animation/SMILTimeContainer.h:
2694         * svg/animation/SVGSMILElement.cpp:
2695         * svg/animation/SVGSMILElement.h:
2696         * svg/svgtags.in:
2697
2698 2008-04-11  Anders Carlsson  <andersca@apple.com>
2699
2700         Reviewed by Brady.
2701
2702         Move archive loading from FrameLoader to DocumentLoader.
2703         
2704         * loader/DocumentLoader.cpp:
2705         (WebCore::DocumentLoader::DocumentLoader):
2706         (WebCore::DocumentLoader::clearArchiveResources):
2707         (WebCore::DocumentLoader::deliverArchivedResourcesAfterDelay):
2708         (WebCore::DocumentLoader::archiveResourceDeliveryTimerFired):
2709         (WebCore::DocumentLoader::isArchiveLoadPending):
2710         (WebCore::DocumentLoader::cancelPendingArchiveLoad):
2711         (WebCore::DocumentLoader::scheduleArchiveLoad):
2712         (WebCore::DocumentLoader::setDefersLoading):
2713         * loader/DocumentLoader.h:
2714         * loader/FrameLoader.cpp:
2715         (WebCore::FrameLoader::FrameLoader):
2716         (WebCore::FrameLoader::setDefersLoading):
2717         (WebCore::FrameLoader::stopAllLoaders):
2718         * loader/FrameLoader.h:
2719         * loader/ResourceLoader.cpp:
2720         (WebCore::ResourceLoader::load):
2721         (WebCore::ResourceLoader::didCancel):
2722
2723 2008-04-11  Timothy Hatcher  <timothy@apple.com>
2724
2725         Fixes the regression where the DOM tree does not update when navigating
2726         to another page with the Inspector open.
2727
2728         https://bugs.webkit.org/show_bug.cgi?id=18418
2729
2730         Reviewed by Adam Roben.
2731
2732         * page/inspector/ElementsPanel.js:
2733         (WebInspector.ElementsPanel.prototype.reset): If the inspected document does not have a
2734         firstChild yet, add an event listener for DOMContentLoaded. The event listener just sets
2735         a proeprty that a polling functions looks for then triggers the reset.
2736         (WebInspector.ElementsPanel.prototype._focusedNodeChanged): Always call updateStyles with
2737         forceUpdate as true. This makes sure the Styles pane clears when there isn't a focused node.
2738
2739 2008-04-11  Dan Bernstein  <mitz@apple.com>
2740
2741         Reviewed by Timothy Hatcher.
2742
2743         - fix http://bugs.webkit.org/show_bug.cgi?id=18412
2744           Inspector truncates text when editing a CSS property
2745
2746         * page/inspector/inspector.css:
2747
2748 2008-04-11  Antti Koivisto  <antti@apple.com>
2749
2750         Try to fix Qt build by including some headers.
2751
2752         * ChangeLog:
2753         * platform/graphics/UnitBezier.h:
2754         * svg/SVGAnimationElement.cpp:
2755         * svg/animation/SMILTime.h:
2756         * svg/animation/SVGSMILElement.cpp:
2757
2758 2008-04-11  Antti Koivisto  <antti@apple.com>
2759
2760         Try to fix Windows build by switching to std::sort().
2761
2762         * svg/animation/SVGSMILElement.cpp:
2763         (WebCore::sortTimeList):
2764
2765 2008-04-11  Rob Buis  <buis@kde.org>
2766
2767         Reviewed by Eric.
2768
2769         http://bugs.webkit.org/show_bug.cgi?id=18340
2770         Elements with display="none" in a <clipPath> still contribute to clipping path
2771
2772         Skip elements in clip-path container that have display=none specified.
2773
2774         * svg/SVGClipPathElement.cpp:
2775         (WebCore::SVGClipPathElement::canvasResource):
2776
2777 2008-04-10  Antti Koivisto  <antti@apple.com>
2778
2779         Reviewed by Eric.
2780
2781         Redo the SVG animation support.
2782         
2783         It does
2784         - Full SMIL interval timing model including syncbase and event base timing (the hard part).
2785         - CSS and XML attribute animation.
2786         - Linear, discrete and spline calcModes.
2787         - Values animation with keyTimes and keySplines.
2788         - Link activated animations.
2789         - Pretty good support for <animate> and <set> animations
2790         - Basic support for <animateColor>, <animateMotion> and <animateTransform>.
2791
2792         This passes some 35 of the 56 tests in W3C SVG animation test suite, a bunch more
2793         with some subtest failures.
2794
2795         What is still missing
2796         - Additive animation with multiple animations operating on the same property. This is a
2797           major architectural feature in animation code. It shouldn't be too hard to add.
2798         - Only <animate> implements accumulate.
2799         - <animateMotion> does not do paths, keypoints, rotate.
2800         - <animateTransform> does not work correctly in all cases
2801         - calcMode paced is missing.
2802         - repeat, beginEvent, endEvent are missing.
2803         - accesskey() is missing.
2804         - JS does not see correct values for baseVal/animVal, changing values that are being
2805           animted for a script produces wrong results. This problem needs to be solved outside
2806           the animation code.
2807         - Some other stuff I forgot or do not know about.
2808
2809         * GNUmakefile.am:
2810         * WebCore.pro:
2811         * WebCore.vcproj/WebCore.vcproj:
2812         * WebCore.xcodeproj/project.pbxproj:
2813         * dom/Document.cpp:
2814         * history/CachedPage.cpp:
2815         (WebCore::CachedPage::CachedPage):
2816         
2817         Use cache notification mechanism to start/stop animations.
2818
2819         * svg/SVGAElement.cpp:
2820         (WebCore::SVGAElement::defaultEventHandler):
2821         
2822         Start target animation on link activation.
2823         
2824         * svg/SVGAnimateColorElement.cpp:
2825         (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement):
2826         (WebCore::SVGAnimateColorElement::updateAnimatedValue):
2827         (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
2828         (WebCore::SVGAnimateColorElement::calculateFromAndByValues):
2829         * svg/SVGAnimateColorElement.h:
2830         * svg/SVGAnimateElement.cpp:
2831         (WebCore::SVGAnimateElement::SVGAnimateElement):
2832         (WebCore::parseNumberValueAndUnit):
2833         (WebCore::SVGAnimateElement::applyAnimatedValueToElement):
2834         (WebCore::SVGAnimateElement::updateAnimatedValue):
2835         (WebCore::isColorAttribute):
2836         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2837         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2838         * svg/SVGAnimateElement.h:
2839         (WebCore::SVGAnimateElement::):
2840         * svg/SVGAnimateMotionElement.cpp:
2841         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
2842         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
2843         (WebCore::SVGAnimateMotionElement::updateAnimatedValue):
2844         (WebCore::parsePoint):
2845         (WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
2846         (WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
2847         (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement):
2848         (WebCore::SVGAnimateMotionElement::startedActiveInterval):
2849         * svg/SVGAnimateMotionElement.h:
2850         * svg/SVGAnimateTransformElement.cpp:
2851         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
2852         (WebCore::SVGAnimateTransformElement::hasValidTarget):
2853         (WebCore::SVGAnimateTransformElement::updateAnimatedValue):
2854         (WebCore::transformListFor):
2855         (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement):
2856         (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
2857         (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
2858         (WebCore::SVGAnimateTransformElement::startedActiveInterval):
2859         (WebCore::SVGAnimateTransformElement::parseTransformValue):
2860         * svg/SVGAnimateTransformElement.h:
2861         
2862         Concrete anmation element classes.
2863         
2864         * svg/SVGAnimationElement.cpp:
2865         (WebCore::SVGAnimationElement::SVGAnimationElement):
2866         (WebCore::SVGAnimationElement::~SVGAnimationElement):
2867         (WebCore::parseKeyTimes):
2868         (WebCore::parseKeySplines):
2869         (WebCore::SVGAnimationElement::parseMappedAttribute):
2870         (WebCore::SVGAnimationElement::attributeChanged):
2871         (WebCore::SVGAnimationElement::getStartTime):
2872         (WebCore::SVGAnimationElement::getCurrentTime):
2873         (WebCore::SVGAnimationElement::getSimpleDuration):
2874         (WebCore::SVGAnimationElement::beginElement):
2875         (WebCore::SVGAnimationElement::beginElementAt):
2876         (WebCore::SVGAnimationElement::endElement):
2877         (WebCore::SVGAnimationElement::endElementAt):
2878         (WebCore::SVGAnimationElement::animationMode):
2879         (WebCore::SVGAnimationElement::calcMode):
2880         (WebCore::SVGAnimationElement::attributeType):
2881         (WebCore::SVGAnimationElement::toValue):
2882         (WebCore::SVGAnimationElement::byValue):
2883         (WebCore::SVGAnimationElement::fromValue):
2884         (WebCore::SVGAnimationElement::attributeName):
2885         (WebCore::SVGAnimationElement::isAdditive):
2886         (WebCore::SVGAnimationElement::isAccumulated):
2887         (WebCore::SVGAnimationElement::hasValidTarget):
2888         (WebCore::SVGAnimationElement::targetAttributeIsCSS):
2889         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2890         (WebCore::SVGAnimationElement::targetAttributeBaseValue):
2891         (WebCore::solveEpsilon):
2892         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2893         (WebCore::SVGAnimationElement::startedActiveInterval):
2894         (WebCore::SVGAnimationElement::applyAnimation):
2895         (WebCore::SVGAnimationElement::unapplyAnimation):
2896         (WebCore::SVGAnimationElement::endedActiveInterval):
2897         * svg/SVGAnimationElement.h:
2898         (WebCore::SVGAnimationElement::):
2899         
2900         This is pretty much a complete rewrite of the SVGAnimationElement. Timing related functionality
2901         was refactored to SMILTimingElement class that this class now inherits.
2902         
2903         * svg/SVGDocumentExtensions.cpp:
2904         (WebCore::SVGDocumentExtensions::startAnimations):
2905         * svg/SVGElement.cpp:
2906         (WebCore::SVGElement::ownerSVGElement):
2907         * svg/SVGSVGElement.cpp:
2908         
2909         We need to reach the <svg> element from <use> too so go out from the shadow tree.
2910         
2911         (WebCore::SVGSVGElement::SVGSVGElement):
2912         (WebCore::SVGSVGElement::~SVGSVGElement):
2913         (WebCore::SVGSVGElement::pauseAnimations):
2914         (WebCore::SVGSVGElement::unpauseAnimations):
2915         (WebCore::SVGSVGElement::animationsPaused):
2916         (WebCore::SVGSVGElement::getCurrentTime):
2917         (WebCore::SVGSVGElement::willSaveToCache):
2918         (WebCore::SVGSVGElement::willRestoreFromCache):
2919         * svg/SVGSVGElement.h:
2920         (WebCore::SVGSVGElement::timeContainer):
2921         * svg/SVGSetElement.cpp:
2922         (WebCore::SVGSetElement::applyAnimatedValueToElement):
2923         (WebCore::SVGSetElement::calculateFromAndToValues):
2924         (WebCore::SVGSetElement::calculateFromAndByValues):
2925         (WebCore::SVGSetElement::updateAnimatedValue):
2926         * svg/SVGSetElement.h:
2927         
2928         Concrete anmation element classes.
2929         
2930         * svg/SVGTimer.cpp: Removed.
2931         * svg/SVGTimer.h: Removed.
2932         * svg/SVGUseElement.cpp:
2933         (WebCore::SVGUseElement::removedFromDocument):
2934         * svg/TimeScheduler.cpp: Removed.
2935         * svg/TimeScheduler.h: Removed.
2936         
2937         Replaced these with SMILTimeContainer class.
2938         
2939         * svg/animation: Added.
2940         * svg/animation/SMILTime.cpp: Added.
2941         (WebCore::operator+):
2942         (WebCore::operator-):
2943         (WebCore::operator*):
2944         * svg/animation/SMILTime.h: Added.
2945         (WebCore::SMILTime::SMILTime):
2946         (WebCore::SMILTime::unresolved):
2947         (WebCore::SMILTime::indefinite):
2948         (WebCore::SMILTime::operator=):
2949         (WebCore::SMILTime::value):
2950         (WebCore::SMILTime::isFinite):
2951         (WebCore::SMILTime::isIndefinite):
2952         (WebCore::SMILTime::isUnresolved):
2953         (WebCore::operator==):
2954         (WebCore::operator!=):
2955         (WebCore::operator>):
2956         (WebCore::operator<):
2957         (WebCore::operator>=):
2958         (WebCore::operator<=):
2959         (WebCore::max):
2960         (WebCore::min):
2961         
2962         A floating point number with special values "indefinite" and "unresolved". Defines math for those.
2963         
2964         * svg/animation/SMILTimeContainer.cpp: Added.
2965         (WebCore::SMILTimeContainer::SMILTimeContainer):
2966         (WebCore::SMILTimeContainer::schedule):
2967         (WebCore::SMILTimeContainer::unschedule):
2968         (WebCore::SMILTimeContainer::elapsed):
2969         (WebCore::SMILTimeContainer::isActive):
2970         (WebCore::SMILTimeContainer::isPaused):
2971         (WebCore::SMILTimeContainer::begin):
2972         (WebCore::SMILTimeContainer::pause):
2973         (WebCore::SMILTimeContainer::resume):
2974         (WebCore::SMILTimeContainer::startTimer):
2975         (WebCore::SMILTimeContainer::timerFired):
2976         (WebCore::SMILTimeContainer::updateAnimations):
2977         * svg/animation/SMILTimeContainer.h: Added.
2978         
2979         Manages the clock and time line for active animations in a document.
2980         
2981         * svg/animation/SVGSMILElement.cpp: Added.
2982         (WebCore::ConditionEventListener::ConditionEventListener):
2983         (WebCore::ConditionEventListener::handleEvent):
2984         (WebCore::SVGSMILElement::Condition::Condition):
2985         (WebCore::SVGSMILElement::SVGSMILElement):
2986         (WebCore::SVGSMILElement::~SVGSMILElement):
2987         (WebCore::SVGSMILElement::insertedIntoDocument):
2988         (WebCore::SVGSMILElement::removedFromDocument):
2989         (WebCore::SVGSMILElement::finishParsingChildren):
2990         (WebCore::SVGSMILElement::parseOffsetValue):
2991         (WebCore::SVGSMILElement::parseClockValue):
2992         (WebCore::smilTimeSortFunction):
2993         (WebCore::sortTimeList):
2994         (WebCore::SVGSMILElement::parseCondition):
2995         (WebCore::SVGSMILElement::isTimingElement):
2996         (WebCore::SVGSMILElement::parseBeginOrEnd):
2997         (WebCore::SVGSMILElement::parseMappedAttribute):
2998         (WebCore::SVGSMILElement::attributeChanged):
2999         (WebCore::SVGSMILElement::connectConditions):
3000         (WebCore::SVGSMILElement::disconnectConditions):
3001         (WebCore::SVGSMILElement::reschedule):
3002         (WebCore::SVGSMILElement::targetElement):
3003         (WebCore::SVGSMILElement::elapsed):
3004         (WebCore::SVGSMILElement::restart):
3005         (WebCore::SVGSMILElement::fill):
3006         (WebCore::SVGSMILElement::xlinkHref):
3007         (WebCore::SVGSMILElement::dur):
3008         (WebCore::SVGSMILElement::repeatDur):
3009         (WebCore::SVGSMILElement::repeatCount):
3010         (WebCore::SVGSMILElement::maxValue):
3011         (WebCore::SVGSMILElement::minValue):
3012         (WebCore::SVGSMILElement::simpleDuration):
3013         (WebCore::SVGSMILElement::addBeginTime):
3014         (WebCore::SVGSMILElement::addEndTime):
3015         (WebCore::SVGSMILElement::findInstanceTime):
3016         (WebCore::SVGSMILElement::repeatingDuration):
3017         (WebCore::SVGSMILElement::resolveActiveEnd):
3018         (WebCore::SVGSMILElement::resolveInterval):
3019         (WebCore::SVGSMILElement::resolveFirstInterval):
3020         (WebCore::SVGSMILElement::resolveNextInterval):
3021         (WebCore::SVGSMILElement::nextProgressTime):
3022         (WebCore::SVGSMILElement::beginListChanged):
3023         (WebCore::SVGSMILElement::endListChanged):
3024         (WebCore::SVGSMILElement::checkRestart):
3025         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
3026         (WebCore::SVGSMILElement::calculateNextProgressTime):
3027         (WebCore::SVGSMILElement::determineActiveState):
3028         (WebCore::SVGSMILElement::progress):
3029         (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
3030         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
3031         (WebCore::SVGSMILElement::addTimeDependent):
3032         (WebCore::SVGSMILElement::removeTimeDependent):
3033         (WebCore::SVGSMILElement::handleConditionEvent):
3034         (WebCore::SVGSMILElement::beginByLinkActivation):
3035         * svg/animation/SVGSMILElement.h: Added.
3036         (WebCore::SVGSMILElement::timeContainer):
3037         (WebCore::SVGSMILElement::):
3038         (WebCore::SVGSMILElement::intervalBegin):
3039         (WebCore::SVGSMILElement::intervalEnd):
3040         (WebCore::SVGSMILElement::Condition::):
3041         
3042             This abstract class implements the SMIL timing model. As an output it produces calls
3043             to these virtual functions:
3044         
3045             virtual void startedActiveInterval() = 0;
3046             virtual void applyAnimation(float percent, unsigned repeat) = 0;
3047             virtual void unapplyAnimation() = 0;
3048             virtual void endedActiveInterval() = 0;
3049
3050 2008-04-10  Antti Koivisto  <antti@apple.com>
3051
3052         Reviewed by Eric.
3053
3054         Move CurveData out from AnimationController.cpp and rename
3055         it to UnitBezier. This makes it possible to reuse this nice class from the 
3056         SVG animation code.
3057
3058         * WebCore.vcproj/WebCore.vcproj:
3059         * WebCore.xcodeproj/project.pbxproj:
3060         * page/AnimationController.cpp:
3061         (WebCore::solveCubicBezierFunction):
3062         * platform/graphics/UnitBezier.h: Added.
3063         (WebCore::UnitBezier::UnitBezier):
3064         (WebCore::UnitBezier::sampleCurveX):
3065         (WebCore::UnitBezier::sampleCurveY):
3066         (WebCore::UnitBezier::sampleCurveDerivativeX):
3067         (WebCore::UnitBezier::solveCurveX):
3068         (WebCore::UnitBezier::solve):
3069
3070 2008-04-10  Brady Eidson  <beidson@apple.com>
3071
3072         Reviewed by Sam Weinig
3073
3074         The name "OriginStorage" never felt right to a few of us.  The HTML5 spec refers to our 
3075         concept of "OriginStorage" as a "storage area", which makes more sense here.
3076
3077         This patch is basically:
3078         s/OriginStorage/StorageArea/
3079
3080         * GNUmakefile.am:
3081         * WebCore.pro:
3082         * WebCore.vcproj/WebCore.vcproj:
3083         * WebCore.xcodeproj/project.pbxproj:
3084         * WebCoreSources.bkl:
3085
3086         * loader/FrameLoader.cpp:
3087
3088         * page/DOMWindow.cpp:
3089         (WebCore::DOMWindow::sessionStorage):
3090         * page/Page.cpp:
3091
3092         * storage/OriginStorage.cpp: Removed.
3093         * storage/OriginStorage.h: Removed.
3094
3095         * storage/SessionStorage.cpp:
3096         (WebCore::SessionStorage::copy):
3097         (WebCore::SessionStorage::storageArea):
3098         * storage/SessionStorage.h:
3099
3100         * storage/Storage.cpp:
3101         (WebCore::Storage::create):
3102         (WebCore::Storage::Storage):
3103         (WebCore::Storage::length):
3104         (WebCore::Storage::key):
3105         (WebCore::Storage::getItem):
3106         (WebCore::Storage::setItem):
3107         (WebCore::Storage::removeItem):
3108         (WebCore::Storage::contains):
3109         * storage/Storage.h:
3110
3111         * storage/StorageArea.cpp: Copied from storage/OriginStorage.cpp.
3112         (WebCore::StorageArea::create):
3113         (WebCore::StorageArea::StorageArea):
3114         (WebCore::StorageArea::~StorageArea):
3115         (WebCore::StorageArea::copy):
3116         (WebCore::StorageArea::length):
3117         (WebCore::StorageArea::key):
3118         (WebCore::StorageArea::getItem):
3119         (WebCore::StorageArea::setItem):
3120         (WebCore::StorageArea::removeItem):
3121         (WebCore::StorageArea::contains):
3122         (WebCore::StorageArea::dispatchStorageEvent):
3123         * storage/StorageArea.h: Copied from storage/OriginStorage.h.
3124
3125 2008-04-10  Xan Lopez  <xan@gnome.org>
3126
3127         Reviewed by Alp Toker.
3128
3129         http://bugs.webkit.org/show_bug.cgi?id=18342
3130         Bug #18342 - Add logging to HTTP soup backend
3131         
3132         Add soup logging facilities to HTTP soup backend.
3133         Enable defining WEBKIT_SOUP_LOGGING, with values from
3134         0 to 3 for more verbosity.
3135         
3136         * platform/network/soup/ResourceHandleSoup.cpp:
3137         (WebCore::ResourceHandle::start):
3138
3139 2008-04-10  Timothy Hatcher  <timothy@apple.com>
3140
3141         Fixes floating point precision in the Resources graph labels by using String.sprintf to
3142         format the values. Also makes the image view use Number.bytesToString when showing the file
3143         size. Makes Number.bytesToString and Number.secondsToString take an optional formatter function
3144         so the Inspector can pass WebInspector.UIString, so the format strings can be localized.
3145
3146         https://bugs.webkit.org/show_bug.cgi?id=18381
3147         https://bugs.webkit.org/show_bug.cgi?id=14333
3148
3149         Reviewed by Adam Roben.
3150
3151         * English.lproj/InspectorLocalizedStrings.js: Added the new strings.
3152         * page/inspector/ImageView.js:
3153         (WebInspector.ImageView): Use Number.bytesToString to format this.resource.contentLength.
3154         * page/inspector/ResourcesPanel.js:
3155         (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue): Pass WebInspector.UIString
3156         to Number.secondsToString.
3157         (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue): Pass WebInspector.UIString
3158         to Number.bytesToString.
3159         * page/inspector/utilities.js:
3160         (Number.secondsToString): Added a formatterFunction argument. Use the formatter and format strings
3161         to control the number precision.
3162         (Number.bytesToString): Ditto.
3163
3164 2008-04-010  Alice Liu  <alice.liu@apple.com>
3165
3166         Reviewed by Dan Bernstein.
3167
3168         Fixed <rdar://5815856> CrashTracer: [USER] 8384 crashes in WebCore::Widget::getView const + 6
3169
3170         Test: fast/events/mouseout-dead-subframe.html
3171
3172         * page/EventHandler.cpp:
3173         dispatching a mouse event can change the document structure, necessitating
3174         a check for whether we still want to pass the event to the pre-determined subframe 
3175         (WebCore::EventHandler::handleMouseMoveEvent):
3176
3177 2008-04-10  Antti Koivisto  <antti@apple.com>
3178
3179         Reviewed by Eric.
3180
3181         Fix scale transform. This will be tested by the animation test suite when
3182         SVG animation support lands.
3183
3184         * svg/SVGTransformDistance.cpp:
3185         (WebCore::SVGTransformDistance::SVGTransformDistance):
3186
3187 2008-04-10  David Hyatt  <hyatt@apple.com>
3188
3189         Add a gradient fillRect method to GraphicsContext.  This is implemented only in the CG port.  I stubbed
3190         out a method in GraphicsContext.cpp with notImplemented().  Other platforms will need to add their own
3191         gradient fill methods.
3192
3193         Reviewed by aroben
3194
3195         * platform/graphics/GraphicsContext.cpp:
3196         (WebCore::GraphicsContext::fillRect):
3197         * platform/graphics/GraphicsContext.h:
3198         * platform/graphics/cg/GraphicsContextCG.cpp:
3199         (WebCore::GraphicsContext::fillRect):
3200
3201 2008-04-10  David Hyatt  <hyatt@apple.com>
3202
3203         Gradient improvements.  Support for adding color stops by Color and not just by String.  Add the ability to mark
3204         stops as already being sorted.
3205
3206         Reviewed by aroben
3207
3208         * platform/graphics/Gradient.cpp:
3209         (WebCore::Gradient::addColorStop):
3210         * platform/graphics/Gradient.h:
3211         (WebCore::Gradient::setStopsSorted):
3212
3213 2008-04-10  Timothy Hatcher  <timothy@apple.com>
3214
3215         Fixes the build where some wtf headers would not be copied due
3216         to a bug in some older versions of Xcode.
3217
3218         Rubber-stamped by Adam Roben.
3219
3220         * WebCore.xcodeproj/project.pbxproj: Adds a new script phase to handle
3221         the copying of the icu and ForwardingHeaders folder to WebCore's PrivateHeaders.
3222         Removes the old copy files phase and the icu and ForwardingHeaders folder references.
3223
3224 2008-04-09  Brady Eidson  <beidson@apple.com>
3225
3226         Reviewed by Mitz Pettel
3227
3228         Add the "onstorage" attribute for the body element to provide easy setup of StorageEvent handling.
3229
3230         Tests: storage/domstorage/sessionstorage/onstorage-attribute-markup.html
3231                storage/domstorage/sessionstorage/onstorage-attribute-setattribute.html
3232
3233         * html/HTMLAttributeNames.in: Added "onstorage"
3234         * html/HTMLBodyElement.cpp:
3235         (WebCore::HTMLBodyElement::parseMappedAttribute): Handle this attribute on the body element *only*
3236           because that's where the HTML5 spec says StorageEvents go.  This might change in the future
3237
3238 2008-04-09  Antti Koivisto  <antti@apple.com>
3239
3240         Reviewed by Mitz.
3241
3242         Remove a less-than-critical bit from Node and replace it with a hash. Those bits are valuable!
3243
3244         Also moved setting of the guard to dispatchSimulatedClick for better consistency. 
3245         No one else calls dispatchSimulatedMouseEvent() currently and this is really a click() specific behavior.
3246
3247         * dom/EventTargetNode.cpp:
3248         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent):
3249         (WebCore::EventTargetNode::dispatchSimulatedClick):
3250         * dom/Node.cpp:
3251         (WebCore::Node::Node):
3252         * dom/Node.h:
3253
3254 2008-04-09  Sam Weinig  <sam@webkit.org>
3255
3256         Reviewed by Geoffrey Garen.
3257
3258         Fix for https://bugs.webkit.org/show_bug.cgi?id=18389
3259         Crash in JSDOMWindowWrapper::mark loading digg.com
3260
3261         - Add a null check to JSDOMWindowWrapper::mark for the case when the collector
3262           runs during its allocation.
3263         - Cleans up the creation of the window to be a little more straight forward.
3264
3265         * bindings/js/JSDOMWindowBase.cpp:
3266         (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
3267         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3268         (WebCore::JSDOMWindowBase::clear):
3269         (WebCore::JSDOMWindowBase::wrapper):
3270         * bindings/js/JSDOMWindowBase.h:
3271         * bindings/js/JSDOMWindowWrapper.cpp:
3272         (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper):
3273         (WebCore::JSDOMWindowWrapper::mark):
3274         * bindings/js/JSDOMWindowWrapper.h:
3275         * bindings/js/kjs_proxy.cpp:
3276         (WebCore::KJSProxy::initScript):
3277         * bindings/scripts/CodeGeneratorJS.pm:
3278
3279 2008-04-09  Brady Eidson  <beidson@apple.com>
3280
3281         Rubberstamped by Mitzpettel
3282
3283         Added HTMLAttributeNames.in and HTMLTagNames.in to the xcodeproj for easy editing, 
3284         and sorted the html group
3285
3286         * WebCore.xcodeproj/project.pbxproj:
3287
3288 2008-04-09  Brent Fulgham  <bfulgham@gmail.com>
3289
3290         Reviewed by Mitz.
3291
3292         Correct build regression in Windows (Cairo) build due to changes
3293         in FontDescription.h signature.  (see http://bugs.webkit.org/show_bug.cgi?id=18394)
3294
3295         * rendering/RenderThemeWin.cpp:  Change for new font methods.
3296         (WebCore::RenderThemeWin::systemFont):
3297
3298 2008-04-09  Brady Eidson  <beidson@apple.com>
3299
3300         Reviewed by Sam Weinig
3301
3302         When enumerating a Storage object, the Storage built-ins should not be included, but the 
3303         prototype chain SHOULD be included.
3304
3305         * bindings/js/JSStorageCustom.cpp:
3306         (WebCore::JSStorage::customGetPropertyNames): Return false so the prototype chain is walked
3307
3308         * storage/Storage.idl: Mark all built-ins as "DontEnum"
3309
3310 2008-04-09  Brady Eidson  <beidson@apple.com>
3311
3312         Reviewed by Adam Roben
3313
3314         Per the HTML5 spec, enumerating a Storage object should walk the keys in the storage area, 
3315         and should not return the built-in properties.
3316
3317         Test: storage/domstorage/sessionstorage/enumerate-storage.html
3318
3319         * bindings/js/JSLocationCustom.cpp:
3320         (WebCore::JSLocation::customGetPropertyNames): Removed the name from an unused parameter
3321
3322         * bindings/js/JSStorageCustom.cpp:
3323         (WebCore::JSStorage::customGetPropertyNames): Copy all of the keys into the property names array
3324
3325         * storage/Storage.idl: Add CustomGetPropertyNames
3326
3327 2008-04-09  Timothy Hatcher  <timothy@apple.com>
3328
3329         Fixes the regression where resource time/size pills do not
3330         update during a load in the Inspector.
3331
3332         http://bugs.webkit.org/show_bug.cgi?id=18374
3333
3334         Reviewed by John Sullivan.
3335
3336         * page/inspector/ResourcesPanel.js:
3337         (ResourcesPanel.prototype.show): Remove an unneeded call to _updateGraphBars,
3338         since _updateSidebarWidth already calls _updateGraphBars.
3339         (ResourcesPanel.prototype.addResource): Call updateGraphSideWidth.
3340         (ResourcesPanel.prototype._updateGraphBars): Ditto.
3341         (ResourceSidebarTreeElement.prototype.updateGraphSideWidth): Update the
3342         style for graphSideElement with the passed in width.
3343
3344 2008-04-09  Antti Koivisto  <antti@apple.com>
3345
3346         Reviewed by Mitz.
3347
3348         Avoid unnecessary calls to virtual updateStyleAttributeIfNeeded() method.
3349         - do the the checking in call sites instead of inside the function
3350         - rename to updateStyleAttribute()
3351         - use namedAttrMap directly (for getting id attribute) in insertedIntoDocument/removedFromDocument 
3352           to avoid calling attributes() which may trigger style attribute update.
3353         
3354         * dom/Element.cpp:
3355         (WebCore::Element::attributes):
3356         (WebCore::Element::getAttribute):
3357         (WebCore::Element::hasAttributes):
3358         (WebCore::Element::insertedIntoDocument):
3359         (WebCore::Element::removedFromDocument):
3360         * dom/Element.h:
3361         (WebCore::Element::updateStyleAttribute):
3362         * dom/NamedAttrMap.cpp:
3363         (WebCore::NamedAttrMap::addAttribute):
3364         * dom/StyledElement.cpp:
3365         (WebCore::StyledElement::updateStyleAttribute):
3366         * dom/StyledElement.h:
3367
3368 2008-04-09  Timothy Hatcher  <timothy@apple.com>
3369
3370         A more complete fix for: can't drag the Web Inspector when grabbing
3371         in the toolbar area. Makes dragging under the search field in the
3372         empty space work again.
3373
3374         http://bugs.webkit.org/show_bug.cgi?id=18373
3375
3376         Reviewed by Adam Roben.
3377
3378         * page/inspector/inspector.js:
3379         (WebInspector.toolbarDragStart): Prevent dragging if the event target
3380         is a toggleable toolbar item. Allow dragging when the target is a
3381         normal toolbar item.
3382
3383 2008-04-08  Sam Weinig  <sam@webkit.org>
3384
3385         Reviewed by Timothy Hatcher.
3386
3387         Fix for http://bugs.webkit.org/show_bug.cgi?id=18373
3388         REGRESSION: Can't drag the Web Inspector when grabbing in the toolbar area
3389
3390         * page/inspector/inspector.css:
3391
3392 2008-04-08  Christian Persch  <chpe@gnome.org>
3393
3394         Reviewed by Alp Toker.
3395
3396         http://bugs.webkit.org/show_bug.cgi?id=18360
3397         "missing sentinel" warnings in PluginDatabaseGtk.cpp
3398
3399         Use NULL, not 0 as sentinel in varargs calls.
3400
3401         * plugins/gtk/PluginDatabaseGtk.cpp:
3402         (WebCore::PluginDatabase::getPluginPathsInDirectories):
3403         (WebCore::PluginDatabase::defaultPluginDirectories):
3404
3405 2008-04-04  Sam Weinig  <sam@webkit.org>
3406
3407         Reviewed by Geoffrey Garen.
3408
3409         First step in implementing the "split window"
3410
3411         - This patch takes the first step in changing the window navigation model
3412           from clearing the window properties on navigation, to replacing
3413           an inner window.  This is necessary to safely perform security checks
3414           using the lexical global object.
3415
3416           This first step adds a new class called JSDOMWindowWrapper, which wraps
3417           the real window object.  All JS calls that would go to the window object
3418           now go to it, which it forwards to the current inner window.  To accomplish
3419           this, the wrapper window is used as the ThisValue wherever the window was used
3420           before.
3421
3422         * WebCore.base.exp:
3423         * WebCore.xcodeproj/project.pbxproj:
3424         * bindings/js/JSDOMWindowBase.cpp:
3425         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3426         (WebCore::JSDOMWindowBase::clear): Reset the wrapper windows prototype too.
3427         (WebCore::JSDOMWindowBase::toThisObject):
3428         (WebCore::JSDOMWindowBase::wrapper):
3429         (WebCore::windowProtoFuncAToB):
3430         (WebCore::windowProtoFuncBToA):
3431         (WebCore::windowProtoFuncOpen):
3432         (WebCore::windowProtoFuncSetTimeout):
3433         (WebCore::windowProtoFuncClearTimeout):
3434         (WebCore::windowProtoFuncSetInterval):
3435         (WebCore::windowProtoFuncAddEventListener):
3436         (WebCore::windowProtoFuncRemoveEventListener):
3437         (WebCore::windowProtoFuncShowModalDialog):
3438         (WebCore::windowProtoFuncNotImplemented):
3439         (WebCore::toJS):
3440         * bindings/js/JSDOMWindowBase.h:
3441         Fix to expect the wrapper as the thisObj.
3442         * bindings/js/JSDOMWindowCustom.cpp:
3443         (WebCore::JSDOMWindow::postMessage):
3444         (WebCore::toDOMWindow):
3445         * bindings/js/JSDOMWindowWrapper.cpp: Added.
3446         (WebCore::):
3447         (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper):
3448         (WebCore::JSDOMWindowWrapper::~JSDOMWindowWrapper):
3449         (WebCore::JSDOMWindowWrapper::mark):
3450         (WebCore::JSDOMWindowWrapper::className):
3451         (WebCore::JSDOMWindowWrapper::getOwnPropertySlot):
3452         (WebCore::JSDOMWindowWrapper::put):
3453         (WebCore::JSDOMWindowWrapper::deleteProperty):
3454         (WebCore::JSDOMWindowWrapper::getPropertyNames):
3455         (WebCore::JSDOMWindowWrapper::getPropertyAttributes):
3456         (WebCore::JSDOMWindowWrapper::defineGetter):
3457         (WebCore::JSDOMWindowWrapper::defineSetter):
3458         (WebCore::JSDOMWindowWrapper::lookupGetter):
3459         (WebCore::JSDOMWindowWrapper::lookupSetter):
3460         (WebCore::JSDOMWindowWrapper::toGlobalObject):
3461         (WebCore::JSDOMWindowWrapper::impl):
3462         (WebCore::JSDOMWindowWrapper::disconnectFrame):
3463         (WebCore::JSDOMWindowWrapper::clear):
3464         (WebCore::toJS):
3465         * bindings/js/JSDOMWindowWrapper.h: Added.
3466         (WebCore::JSDOMWindowWrapper::innerWindow):
3467         (WebCore::JSDOMWindowWrapper::setInnerWindow):
3468         (WebCore::JSDOMWindowWrapper::classInfo):
3469         Forward methods to the innerWindow.
3470         * bindings/js/JSHTMLDocumentCustom.cpp:
3471         (WebCore::JSHTMLDocument::open):
3472         * bindings/js/ScheduledAction.cpp:
3473         (WebCore::ScheduledAction::execute):
3474         * bindings/js/kjs_events.cpp:
3475         (WebCore::JSAbstractEventListener::handleEvent):
3476         * bindings/js/kjs_proxy.cpp:
3477         (WebCore::KJSProxy::~KJSProxy):
3478         (WebCore::KJSProxy::evaluate):
3479         (WebCore::KJSProxy::clear):
3480         (WebCore::KJSProxy::initScript):
3481         (WebCore::KJSProxy::clearDocumentWrapper):
3482         (WebCore::KJSProxy::processingUserGesture):
3483         (WebCore::KJSProxy::attachDebugger):
3484         * bindings/js/kjs_proxy.h:
3485         (WebCore::KJSProxy::haveWindowWrapper):
3486         (WebCore::KJSProxy::windowWrapper):
3487         (WebCore::KJSProxy::globalObject):
3488         (WebCore::KJSProxy::initScriptIfNeeded):
3489         Hold onto the wrapper window instead of global object.  As a convenience,
3490         keep the globalObject() as a forward to the inner window.
3491         * bindings/objc/DOMUtility.mm:
3492         (KJS::createDOMWrapper):
3493         * bindings/scripts/CodeGeneratorJS.pm:
3494         * dom/Document.cpp:
3495         (WebCore::Document::domWindow):
3496         * dom/Document.h:
3497         (WebCore::Document::defaultView):
3498         * loader/FrameLoader.cpp:
3499         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
3500         * page/DOMWindow.idl:
3501         * page/Frame.cpp:
3502         (WebCore::Frame::~Frame):
3503         (WebCore::Frame::pageDestroyed):
3504
3505 2008-04-08  Brady Eidson  <beidson@apple.com>
3506
3507         Encourage Windows to rebuild - AGAIN...
3508
3509         * WebCore.vcproj/build-generated-files.sh:
3510         * bindings/scripts/CodeGenerator.pm:
3511         * bindings/scripts/CodeGeneratorJS.pm:
3512         * config.h:
3513
3514 2008-04-08  Brady Eidson  <beidson@apple.com>
3515
3516         OMG release builds didn't have this flag Windows build bots I'm so 
3517         sorry will you ever forgive me?
3518
3519         (Found by Stephanie, rubberstamped and landed by Brady)
3520
3521         * WebCore.vcproj/WebCore.vcproj: Add ENABLE_DOM_STORAGE for release builds
3522
3523 2008-04-08  Timothy Hatcher  <timothy@apple.com>
3524
3525         Fixes a crash in KJS::JSValue::toObject when closing
3526         Safari with Inspector open.
3527
3528         http://bugs.webkit.org/show_bug.cgi?id=18371
3529
3530         Reviewed by Adam Roben.
3531
3532         * page/InspectorController.cpp:
3533         (WebCore::inspectedWindow): NULL check the result of toJSDOMWindow.
3534         Return JSNull if JSDOMWindow is 0.
3535         * page/inspector/ElementsPanel.js:
3536         (ElementsPanel.prototype.reset): NULL check the result of
3537         InspectorController.inspectedWindow.
3538
3539 2008-04-08  Adam Roben  <aroben@apple.com>
3540
3541         Wx build fix
3542
3543         * webcore-wx.bkl: Removed entry for non-existent file.
3544
3545 2008-04-08  Adam Roben  <aroben@apple.com>
3546
3547         qmake build fixes
3548
3549         * WebCore.pro: Removed entries for non-existent files.
3550
3551 2008-04-08  Brady Eidson  <beidson@apple.com>
3552
3553         Rubberstamped by Adam Roben
3554         
3555         Touch some files to *strongly* encourage Windows to rebuilt with DOM_STORAGE enabled
3556
3557         * WebCore.vcproj/build-generated-files.sh:
3558         * bindings/scripts/CodeGenerator.pm:
3559         * config.h:
3560
3561 2008-04-08  Timothy Hatcher  <timothy@apple.com>
3562
3563         Implements the majority of the Inspector UI refresh as shown at:
3564         http://trac.webkit.org/projects/webkit/wiki/ProposedWebInspectorUIRefresh
3565
3566         http://bugs.webkit.org/show_bug.cgi?id=17773
3567
3568         A few areas that have not been re-implemented with the new UI are:
3569         * Search and search results.
3570         * Request and response headers in the Resources panel.
3571         * Changing the sorting, grouping or toggling small rows in Resources.
3572         * Image and font previews in the icon of resources.
3573
3574         Reviewed by Adam Roben.
3575
3576         * English.lproj/InspectorLocalizedStrings.js: Updated to match actual strings.
3577         * WebCore.vcproj/WebCore.vcproj: Added new files.
3578         * page/InspectorController.cpp:
3579         (WebCore::InspectorController::setWindowVisible): Call resetScriptObjects()
3580         instead of individual clear functions.
3581         (WebCore::InspectorController::populateScriptObjects): Renamed from
3582         populateScriptResources.
3583         (WebCore::InspectorController::addDatabaseScriptResource): Call
3584         addDatabase instead of addResource.
3585         (WebCore::InspectorController::removeDatabaseScriptResource): Call
3586         removeDatabase instead of removeResource.
3587         (WebCore::InspectorController::resetScriptObjects): Renamed from
3588         clearScriptResources.
3589         (WebCore::InspectorController::didCommitLoad): Call resetScriptObjects()
3590         instead of individual clear functions.
3591         * page/InspectorController.h: Rename functions.
3592         * page/inspector/Console.js: Changed the object name to Console from
3593         ConsolePanel. Made it inherit the prototype from View. Added code
3594         to animate in and out.
3595         * page/inspector/Database.js: Removed title updating and Resource
3596         pseudo-subclassing. Made more of a Model object that just encapsulates
3597         data. Add a getter for table names.
3598         * page/inspector/DatabaseQueryView.js: Added. Implements the view seen
3599         when selecting a Database in the DatabasesPanel. Implemented as an
3600         interactive console-like area.
3601         * page/inspector/DatabaseTableView.js: Added. Implements the view seen
3602         when selecting a Database Table in the DatabasesPanel. Matches the old
3603         Browse view of Database panels.
3604         * page/inspector/DatabasesPanel.js: Changed the object name to DatabasesPanel
3605         from DatabasePanel. Implements a panel that shows a sidebar of Databases
3606         and Database Tables.
3607         * page/inspector/ElementsPanel.js:  Changed the object name to ElementsPanel
3608         from DocumentPanel. Implements the DOM tree that shows the DOM rooted at the
3609         main resource.
3610         * page/inspector/FontView.js: Use this.contentElement instead of this.element.
3611         * page/inspector/ImageView.js: Ditto.
3612         * page/inspector/Images/clearConsoleButtons.png: Added.
3613         * page/inspector/Images/consoleButtons.png: Added.
3614         * page/inspector/Images/darkShadow.png: Flipped.
3615         * page/inspector/Images/database.png: Modified to be 32x32.
3616         * page/inspector/Images/databaseTable.png: Added.
3617         * page/inspector/Images/databasesIcon.png: Added.
3618         * page/inspector/Images/disclosureTriangleSmallDown.png: Added.
3619         * page/inspector/Images/disclosureTriangleSmallDownBlack.png: Added.
3620         * page/inspector/Images/disclosureTriangleSmallDownWhite.png: Added.
3621         * page/inspector/Images/disclosureTriangleSmallRight.png: Added.
3622         * page/inspector/Images/disclosureTriangleSmallRightBlack.png: Added.
3623         * page/inspector/Images/disclosureTriangleSmallRightDown.png: Added.
3624         * page/inspector/Images/disclosureTriangleSmallRightDownBlack.png: Added.
3625         * page/inspector/Images/disclosureTriangleSmallRightDownWhite.png: Added.
3626         * page/inspector/Images/disclosureTriangleSmallRightWhite.png: Added.
3627         * page/inspector/Images/dockButtons.png: Added.
3628         * page/inspector/Images/elementsIcon.png: Added.
3629         * page/inspector/Images/gradientHighlightBottom.png:
3630         * page/inspector/Images/resourceCSSIcon.png: Added.
3631         * page/inspector/Images/resourceDocumentIcon.png: Added.
3632         * page/inspector/Images/resourcePlainIcon.png: Added.
3633         * page/inspector/Images/resourcesIcon.png: Added.
3634         * page/inspector/Images/resourcesSizeGraphIcon.png: Added.
3635         * page/inspector/Images/resourcesTimeGraphIcon.png: Added.
3636         * page/inspector/Images/scriptsIcon.png: Added.
3637         * page/inspector/Images/segment.png: Modified to fit the taller status bar.
3638         * page/inspector/Images/segmentEnd.png: Ditto.
3639         * page/inspector/Images/segmentHover.png: Ditto.
3640         * page/inspector/Images/segmentHoverEnd.png: Ditto.
3641         * page/inspector/Images/segmentSelected.png: Ditto.
3642         * page/inspector/Images/segmentSelectedEnd.png: Ditto.
3643         * page/inspector/Images/sidebarSelectionBackground.png: Added.
3644         * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Added.
3645         * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Added.
3646         * page/inspector/Images/sidebarSmallSelectionBackground.png: Added.
3647         * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Added.
3648         * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Added.
3649         * page/inspector/Images/statusbarBackground.png: Added.
3650         * page/inspector/Images/statusbarBottomBackground.png: Added.
3651         * page/inspector/Images/statusbarButtons.png: Added.
3652         * page/inspector/Images/statusbarResizerVertical.png: Added.
3653         * page/inspector/Images/toolbarItemSelected.png: Added.
3654         * page/inspector/Panel.js: Added support for toolbar items and status bar items.
3655         Inherits from the View prototype.
3656         * page/inspector/Resource.js: Removed title updating and the ResourceTreeElement.
3657         Made more of a Model object that just encapsulates data.
3658         * page/inspector/ResourceCategory.js: Removed the ResourceCategoryTreeElement.
3659         Made more of a Model object that just encapsulates data.
3660         * page/inspector/ResourceView.js: A simple base object for Resource views
3661         shown in ResourcesPanel. Inherits from the View prototype.
3662         * page/inspector/ResourcesPanel.js: Changed the object name to ResourcesPanel
3663         from NetworkPanel. Implements the timeline graph, size graph and resource
3664         viewing by using ResourceViews.
3665         * page/inspector/SidebarTreeElement.js: Added. Inherits from TreeElement and implements
3666         a section element and a regular element that has an icon, title and optional subtitle.
3667         * page/inspector/SourceView.js: Use this.contentElement instead of this.element.
3668         * page/inspector/StylesSidebarPane.js: Null check WebInspector.mainResource.
3669         * page/inspector/View.js: Added. A simple object to manage showing and hiding an element.
3670         * page/inspector/WebKit.qrc: Added new files.
3671         * page/inspector/inspector.css: New and changed style rules to support the new UI.
3672         * page/inspector/inspector.html: New and changed HTML for the UI. The search field
3673         is disabled until search is reimplemented.
3674         * page/inspector/inspector.js: Removed code related to the sidebar and back-forward lists.
3675         Also removed code related to navigation to panels. Added code to instantiate the new
3676         panels and setup the toolbar.
3677
3678 2008-04-08  Dan Bernstein  <mitz@apple.com>
3679
3680         Reviewed by Antti Koivisto.
3681
3682         - fix a regression from r31313 which made the inspector highlight and
3683           yellow find highlight for table cells with extra top appear in the
3684           wrong position
3685
3686         * rendering/LayoutState.cpp:
3687         (WebCore::LayoutState::LayoutState): Changed absolutePosition() to
3688         absolutePositionForContent(), to get the right position for children of
3689         table cells. This is the correct fix for this part of r31313.
3690         * rendering/RenderBox.cpp:
3691         (WebCore::RenderBox::absolutePosition): Reverted the change from r31313
3692         by changing absolutePosition() to absolutePositionForContent() here too.
3693         * rendering/RenderObject.h:
3694         (WebCore::RenderObject::absolutePositionForContent): Changed to return
3695         the result from absolutePosition().
3696         * rendering/RenderTableCell.cpp:
3697         (WebCore::RenderTableCell::absoluteClippedOverflowRect): Turned the
3698         "else" case into an early return.
3699         (WebCore::RenderTableCell::absolutePosition): Reverted the change from
3700         r31313.
3701
3702 2008-04-08  Dan Bernstein  <mitz@apple.com>
3703
3704         Reviewed by Antti Koivisto.
3705
3706         - fix http://bugs.webkit.org/show_bug.cgi?id=18172
3707           REGRESSION (r31114-31132): Page renders structured almost horizontally (at flickr.com)
3708
3709         Test: fast/block/float/br-with-clear-2.html
3710
3711         * rendering/bidi.cpp:
3712         (WebCore::RenderBlock::layoutInlineChildren): The existing code for
3713         handling a float-clearing <br> in incremental layout had several bugs in
3714         it: it only applied when the <br> was on the last line of the block; it
3715         assumed that the <br> was always the rightmost box on the line (which is
3716         false in right-to-left runs); and in some places it looked at the last
3717         child of the block instead of the last box on the line. Fixed these
3718         bugs.
3719
3720 2008-04-08  Adam Roben  <aroben@apple.com>
3721
3722         Mac build fix
3723
3724         * WebCore.xcodeproj/project.pbxproj: Removed MainThread* files which
3725         were moved to WTF.
3726
3727 2008-04-08  Timothy Hatcher  <timothy@apple.com>
3728
3729         Change WebInspector.elementDragStart and WebInspector.elementDragEnd to have more
3730         state, so calling elementDragEnd does not need the listener functions. Also makes
3731         calling elementDragStart again without elementDragEnd work correctly.
3732
3733         Reviewed by Adam Roben.
3734
3735         * page/inspector/ElementsPanel.js:
3736         (DocumentPanel.prototype.rightSidebarResizerDragStart): Just call WebInspector.elementDragStart.
3737         Removed code that stored away the listeners now that elementDragStart does it.
3738         (DocumentPanel.prototype.rightSidebarResizerDragEnd): Just call WebInspector.elementDragEnd.
3739         Removed code that deleted listeners properties now that elementDragEnd does it.
3740         * page/inspector/inspector.js:
3741         (WebInspector.sidebarResizerDragEnd): Pass less arguments to elementDragEnd.
3742         (WebInspector.searchResultsResizerDragEnd): Ditto.
3743         (WebInspector.elementDragStart): Store the listeners as private properties on WebInspector.
3744         If the properties are already defined, call elementDragEnd first.
3745         (WebInspector.elementDragEnd): Remove the event listeners using the stored properties.
3746         Delete the private listener properties.
3747
3748 2008-04-08  Adam Roben  <aroben@apple.com>
3749
3750         Build fix
3751
3752         * ForwardingHeaders/wtf/MainThread.h: Added. Forgot to commit this.
3753
3754 2008-04-08  Adam Roben  <aroben@apple.com>
3755
3756         Move callOnMainThread to WTF
3757
3758         Reviewed by Alexey Proskuryakov.
3759
3760         * GNUmakefile.am:
3761         * WebCore.pro:
3762         * WebCore.vcproj/WebCore.vcproj:
3763         * WebCoreSources.bkl:
3764         Removed MainThread files.
3765
3766         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3767         * loader/icon/IconDatabase.cpp:
3768         (WebCore::iconDatabase):
3769         * storage/Database.cpp:
3770         (WebCore::Database::Database):
3771         * storage/DatabaseTracker.cpp:
3772         Updated #includes and replaced calls to
3773         WebCore::initializeThreadingAndMainThread with calls to
3774         KJS::initializeThreading.
3775
3776         * platform/MainThread.cpp: Removed.
3777         * platform/MainThread.h: Removed.
3778         * platform/gtk/MainThreadGtk.cpp: Removed.
3779         * platform/mac/MainThreadMac.mm: Removed.
3780         * platform/qt/MainThreadQt.cpp: Removed.
3781         * platform/win/MainThreadWin.cpp: Removed.
3782         * platform/wx/MainThreadWx.cpp: Removed.
3783
3784 2008-04-07  Timothy Hatcher  <timothy@apple.com>
3785
3786         Makes the Network timeline graph resource sizes on the bar graph
3787         when Transfer Size is selected.
3788
3789         http://bugs.webkit.org/show_bug.cgi?id=18351
3790
3791         Reviewed by Adam Roben.
3792
3793         * page/inspector/Resource.js:
3794         (WebInspector.Resource.CompareByTime): Array sorting function for time.
3795         Copied from WebInspector.NetworkPanel.timelineEntryCompare.
3796
3797         * page/inspector/ResourcesPanel.js:
3798         (WebInspector.NetworkPanel): Set the selectedIndex of graphModeSelectElement to
3799         make Transfer Time the default graph.
3800         (WebInspector.NetworkPanel.prototype.changeGraphMode): Call calculator.reset,
3801         _refreshAllResources and _updateGraphDividersIfNeeded.
3802         (WebInspector.NetworkPanel.prototype.get totalDuration): Removed.
3803         (WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded): Removed boundary
3804         checking code and just call calculator.updateBoundries.
3805         (WebInspector.NetworkPanel.prototype._updateGraphDividersIfNeeded): Add a force argument.
3806         Use calculator.boundarySpan when computing the slice. If the slice is NaN, don't make a label.
3807         Ask the calculator to format the label values for each slice.
3808         (WebInspector.NetworkPanel.prototype.clearTimeline): Call calculator.reset.
3809         (WebInspector.NetworkPanel.timelineEntryCompare): Call WebInspector.Resource.CompareByTime.
3810
3811         (WebInspector.NetworkTimelineEntry.prototype.refresh): Ask the panel's calculator to compute
3812         bar graph percentages for a resource. Use those percentages to change the bar style.
3813
3814         (WebInspector.ResourceCalculator): Renamed from WebInspector.TimelineValueCalculator.
3815         (WebInspector.ResourceCalculator.prototype.computeSummaryValues): Changed the Array.forEach
3816         to a normal for loop. Work with resources instead of TimelineEntries.
3817         (WebInspector.ResourceCalculator.prototype.computeBarGraphPercentages): Return basic bar graph
3818         percents with start always being zero.
3819         (WebInspector.ResourceCalculator.prototype.get boundarySpan): Return the difference between
3820         maximumBoundary and minimumBoundary.
3821         (WebInspector.ResourceCalculator.prototype.updateBoundries): Update maximumBoundary based on _value.
3822         The minimumBoundary is always zero.
3823         (WebInspector.ResourceCalculator.prototype.reset): Delete maximumBoundary and minimumBoundary.
3824         (WebInspector.ResourceCalculator.prototype._value): Takes a Resource instead of TimelineEntry.
3825
3826         (WebInspector.ResourceTransferTimeCalculator): Renamed from TransferTimeCalculator.
3827         (WebInspector.ResourceTransferTimeCalculator.prototype.computeSummaryValues): Work with resources
3828         instead of entries. Changed the Array.forEach to a normal for loop.
3829         (WebInspector.ResourceTransferTimeCalculator.prototype.computeBarGraphPercentages): Return percents
3830         just like WebInspector.NetworkTimelineEntry.prototype.refresh was doing before.
3831         (WebInspector.ResourceTransferTimeCalculator.prototype.updateBoundries): Update minimumBoundary and
3832         maximumBoundary just like the checks WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded was doing.
3833
3834         (WebInspector.ResourceTransferSizeCalculator): Renamed from TransferSizeCalculator.
3835         (WebInspector.ResourceTransferSizeCalculator.prototype._value): Takes a Resource instead of TimelineEntry.
3836
3837 2008-04-08  Rob Buis  <buis@kde.org>
3838
3839         Fix the SVG build.
3840
3841         * svg/SVGFEFloodElement.cpp:
3842         (WebCore::SVGFEFloodElement::filterEffect):
3843
3844 2008-04-08  Alice Liu  <alice.liu@apple.com>
3845
3846         Reviewed by Dan Bernstein.
3847         
3848         fixed http://bugs.webkit.org/show_bug.cgi?id=18329
3849         REGRESSION: Assertion failure in -[WebViewFactory endOfTextMarkerRange:] 
3850         when invoking the Dictionary pop-up
3851
3852         * page/mac/AccessibilityObjectWrapper.mm:
3853         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3854         In the section of code where WebCore-equivalents of mac-specific types are
3855         prepared, some functions weren't meant to operate on the default initialized
3856         values.  Checking for nil in certain places will better maintain the original
3857         pre-refactoring code path. 
3858
3859 2008-04-08  Dan Bernstein  <mitz@apple.com>
3860
3861         Reviewed by Maciej Stachowiak.
3862
3863         - fix most of the Windows layout test regressions from the font-weight patch
3864
3865         * platform/graphics/win/FontCacheWin.cpp:
3866         (WebCore::matchImprovingEnumProc): Changed to be symmetric with respect
3867         to italics: always prefer (reject) a candidate that changes the italics
3868         trait to (from) the desired value.
3869         (WebCore::createGDIFont): Added code to set more members of the LOGFONT
3870         structure before creating the font.
3871
3872 2008-04-07  Rob Buis  <buis@kde.org>
3873
3874         Reviewed by Ollie.
3875
3876         http://bugs.webkit.org/show_bug.cgi?id=18354
3877         feFlood in attribute should be removed according to SVG 1.1 Errata
3878
3879         Remove the in attribute from SVGFEFlood DOM.
3880
3881         * svg/SVGFEFloodElement.cpp:
3882         (WebCore::SVGFEFloodElement::parseMappedAttribute):
3883         * svg/SVGFEFloodElement.h:
3884         * svg/SVGFEFloodElement.idl:
3885
3886 2008-04-07  Brady Eidson  <beidson@apple.com>
3887
3888         Touch JSStorageCustom.cpp to try to FORCE a recompile on bots that haven't gotten the message
3889
3890         * bindings/js/JSStorageCustom.cpp:
3891         (WebCore::JSStorage::customPut):
3892
3893 2008-04-07  Brady Eidson  <beidson@apple.com>
3894
3895         Reviewed by John Honeycutt
3896
3897         ENABLE_DOM_STORAGE for Windows
3898
3899         * WebCore.vcproj/WebCore.vcproj:
3900         * WebCore.vcproj/build-generated-files.sh:
3901
3902 2008-04-07  Brady Eidson  <beidson@apple.com>
3903
3904         Fix build for builds without DOM_STORAGE enabled
3905
3906         * dom/EventTargetNode.cpp:
3907         (WebCore::EventTargetNode::dispatchStorageEvent):
3908         * dom/EventTargetNode.h:
3909
3910 2008-04-07  Alice Liu  <alice.liu@apple.com>
3911
3912         Reviewed by Beth Dakin.
3913
3914         * WebCore.vcproj/WebCore.vcproj:
3915             Added a few cross-platform accessibility source files
3916             
3917         * WebCore.xcodeproj/project.pbxproj:
3918             Added AXObjectCache.cpp
3919             
3920         * page/AXObjectCache.cpp: Added.
3921             These were made cross-platform:
3922         (WebCore::AXObjectCache::~AXObjectCache):
3923         (WebCore::AXObjectCache::get):
3924         (WebCore::AXObjectCache::remove):
3925         (WebCore::AXObjectCache::childrenChanged):
3926         
3927         * page/AXObjectCache.h:
3928             These were made platform-specific
3929         (WebCore::AXObjectCache::isIDinUse):
3930         (WebCore::AXObjectCache::detachWrapper):
3931         (WebCore::AXObjectCache::attachWrapper):
3932         (WebCore::AXObjectCache::postNotificationToElement):
3933         
3934         * page/AccessibilityObject.cpp:
3935         (WebCore::AccessibilityObject::detach):
3936             Since only the mac has a wrapper for now, so temporarily 
3937             wrapping this line in #if PLATFORM(MAC)
3938             
3939         (WebCore::AccessibilityObject::removeAXObjectID):
3940             Since only the mac has uses Accessibility Object IDs,
3941             wrap this line in #if PLATFORM(MAC)
3942             
3943         * page/mac/AXObjectCacheMac.mm:
3944             Detaching and attaching the wrapper is platform-specific 
3945             since each wrapper class is platform-specific.
3946         (WebCore::AXObjectCache::detachWrapper):
3947         (WebCore::AXObjectCache::attachWrapper):        
3948
3949 2008-04-07  Brady Eidson  <beidson@apple.com>
3950
3951         Lovingly reviewed by Sam Weinig
3952
3953         <rdar://problem/5797684> - HTML5 SessionStorage and underpinnings for LocalStorage
3954
3955         Tests: storage/domstorage/sessionstorage/iframe-events.html
3956                storage/domstorage/sessionstorage/index-get-and-set.html
3957                storage/domstorage/sessionstorage/simple-events.html
3958                storage/domstorage/sessionstorage/simple-usage.html
3959                storage/domstorage/sessionstorage/window-open.html
3960                storage/domstorage/window-attributes-exist.html
3961
3962         * Configurations/WebCore.xcconfig: Define to enable DOM_STORAGE
3963
3964         * bindings/js/JSDOMWindowCustom.cpp:
3965         (WebCore::JSDOMWindow::mark): Add optionalSessionStorage case
3966
3967         * bindings/js/JSEventCustom.cpp:
3968         (WebCore::toJS): Add StorageEvent case
3969
3970         * bindings/js/JSStorageCustom.cpp:
3971         (WebCore::JSStorage::canGetItemsForName):
3972         (WebCore::JSStorage::nameGetter): If the property doesn't exist on the object, call through to getItem()
3973         (WebCore::JSStorage::customPut): If the property doesn't exist on the object, call through to setItem()
3974
3975         * dom/Event.cpp:
3976         (WebCore::Event::isStorageEvent):
3977         * dom/Event.h:
3978
3979         * dom/EventNames.h: Add "storage"
3980
3981         * dom/EventTargetNode.cpp:
3982         (WebCore::EventTargetNode::dispatchStorageEvent):
3983         * dom/EventTargetNode.h:
3984
3985         * loader/FrameLoader.cpp:
3986         (WebCore::FrameLoader::createWindow): After a new page has been created, set its SessionStorage object
3987           to a copy of the previous Page's
3988
3989         * page/DOMWindow.cpp:
3990         (WebCore::DOMWindow::sessionStorage): Accessor to pull the appropriate OriginStorage out of the Page's
3991           SessionStorage.
3992         (WebCore::DOMWindow::localStorage): To be filled in later
3993         * page/DOMWindow.h:
3994         (WebCore::DOMWindow::optionalSessionStorage): Return the session Storage object for this window to mark, 
3995           if any exists
3996         * page/DOMWindow.idl:
3997
3998         * page/Page.cpp:
3999         (WebCore::Page::sessionStorage):  Create and/or return the SessionStorage for this Page.
4000         (WebCore::Page::setSessionStorage): Set the SessionStorage for this Page - used in FrameLoader after a
4001           Window.open();
4002         * page/Page.h:
4003
4004         * storage/OriginStorage.cpp: Intermediate layer between individual Storage objects, and shared StorageMap 
4005           objects.  There is one OriginStorage object per SecurityOrigin in each "unique set of storage areas", such
4006           as the SessionStorage.  This layer forwards DOM-level calls down to the backing StorageMap, handles 
4007           copy-on-write along with the StorageMap, fires StorageEvents to the DOM when a value is changed, and will
4008           eventually handle quota enforcement.
4009         (WebCore::OriginStorage::create):
4010         (WebCore::OriginStorage::OriginStorage):
4011         (WebCore::OriginStorage::~OriginStorage):
4012         (WebCore::OriginStorage::copy):
4013         (WebCore::OriginStorage::length):
4014         (WebCore::OriginStorage::key):
4015         (WebCore::OriginStorage::getItem):
4016         (WebCore::OriginStorage::setItem):
4017         (WebCore::OriginStorage::removeItem):
4018         (WebCore::OriginStorage::contains):
4019         (WebCore::OriginStorage::dispatchStorageEvent):
4020         * storage/OriginStorage.h:
4021
4022         * storage/SessionStorage.cpp: From the HTML5 spec:
4023           "Each top-level browsing context has a unique set of session storage areas, one for each origin."
4024           This object represents that "unique set of session storage areas", and creates or returns the Storage
4025           object for the requested SecurityOrigin
4026         (WebCore::SessionStorage::create):
4027         (WebCore::SessionStorage::SessionStorage):
4028         (WebCore::SessionStorage::copy):
4029         (WebCore::SessionStorage::originStorage):
4030         * storage/SessionStorage.h:
4031         (WebCore::SessionStorage::page):
4032
4033         * storage/Storage.cpp: Representation of the DOM-level object, wrapped by JSStorage.  There is a unique
4034           Storage object per Window (per-Frame) that wraps a specific shared OriginStorage object.
4035         (WebCore::Storage::create):
4036         (WebCore::Storage::Storage):
4037         (WebCore::Storage::length):
4038         (WebCore::Storage::key):
4039         (WebCore::Storage::getItem):
4040         (WebCore::Storage::setItem):
4041         (WebCore::Storage::removeItem):
4042         (WebCore::Storage::contains):
4043         * storage/Storage.h:
4044         * storage/Storage.idl:
4045
4046         * storage/StorageEvent.cpp:
4047         (WebCore::StorageEvent::StorageEvent):
4048         (WebCore::StorageEvent::initStorageEvent):
4049         * storage/StorageEvent.h:
4050         (WebCore::StorageEvent::isStorageEvent):
4051
4052         * storage/StorageMap.cpp: The physical map of key/value pairs that is shared between OriginStorage objects, 
4053           and implements copy-on-write semantics whenever a value is changed
4054         (WebCore::StorageMap::create):
4055         (WebCore::StorageMap::StorageMap):
4056         (WebCore::StorageMap::copy):
4057         (WebCore::StorageMap::invalidateIterator): Used to support the key(unsigned i) part of the API
4058         (WebCore::StorageMap::setIteratorToIndex): Ditto
4059         (WebCore::StorageMap::length):
4060         (WebCore::StorageMap::key):
4061         (WebCore::StorageMap::getItem):
4062         (WebCore::StorageMap::setItem):
4063         (WebCore::StorageMap::removeItem):
4064         (WebCore::StorageMap::contains):
4065         * storage/StorageMap.h:
4066
4067 2008-04-07  Timothy Hatcher  <timothy@apple.com>
4068
4069         Renamed various functions that are internal to the Console
4070         object to have an underscore prefix.
4071
4072         Rubber-stamped by Adam Roben.
4073
4074         * page/inspector/Console.js:
4075
4076 2008-04-07  Timothy Hatcher  <timothy@apple.com>
4077
4078         Renamed various functions and properties that are internal
4079         to an object to have an underscore prefix.
4080
4081         Rubber-stamped by Adam Roben.
4082
4083         * page/inspector/Resource.js:
4084         * page/inspector/ResourcesPanel.js:
4085
4086 2008-04-07  Timothy Hatcher  <timothy@apple.com>
4087
4088         Fixes coding style for two utility getters.
4089
4090         * page/inspector/utilities.js: Fix coding style for the
4091         totalOffsetLeft and totalOffsetTop getters.
4092
4093 2008-04-07  Dan Bernstein  <mitz@apple.com>
4094
4095         Reviewed by Dave Hyatt.
4096
4097         - fix http://bugs.webkit.org/show_bug.cgi?id=18311
4098           <rdar://problem/5842980> REGRESSION (r31620): Font variants (e.g. Helvetica Neue *Light*) don't render correctly
4099
4100         * platform/mac/WebFontCache.mm:
4101         (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to
4102         match by family name first, and only if that fails, look for a match by
4103         full (PostScript) name. Reverted the full name-based match logic to only
4104         distinguish between the broad categories of "bold" and "not bold".
4105
4106 2008-04-07  Timothy Hatcher  <timothy@apple.com>
4107
4108         When the WebInspector.currentFocusElement changes, move the caret
4109         selection to be inside the focused element. This makes sure the
4110         caret moves in and out of the console when the focus changes.
4111
4112         Reviewed by Adam Roben.
4113
4114         * page/inspector/TextPrompt.js:
4115         (TextPrompt.prototype.isCaretInsidePrompt): Just call isInsertionCaretInside.
4116         * page/inspector/inspector.js: 
4117         (WebInspector.set currentFocusElement): Make a caret selection inside
4118         the focused element if there isn't a range selection and there isn't
4119         already a caret selection inside.
4120         * page/inspector/utilities.js:
4121         (Element.prototype.isInsertionCaretInside): Added. Tests if the
4122         selection is collapsed and is inside the element.
4123
4124 2008-04-07  Brady Eidson  <beidson@apple.com>
4125
4126         Reviewed by Tim Hatcher
4127
4128         Add 1 more empty file for upcoming work, as a separate step, to keep all build-systems working
4129
4130         * GNUmakefile.am:
4131         * WebCore.pro:
4132         * WebCore.vcproj/WebCore.vcproj:
4133         * WebCore.xcodeproj/project.pbxproj:
4134         * WebCoreSources.bkl:
4135
4136         * bindings/js/JSStorageCustom.cpp: Added.
4137
4138 2008-04-07  Alexey Proskuryakov  <ap@webkit.org>
4139
4140         Reviewed by Dan Bernstein.
4141
4142         <rdar://problem/5574946> Inline frame ISO-8859-1 even though parent character set is UTF-8
4143
4144         Test: fast/loader/inherit-charset-to-empty-frame.html
4145
4146         * loader/FrameLoader.cpp:
4147         (WebCore::FrameLoader::write): Treat an empty m_encoding the same as null one.
4148
4149 2008-04-07  Timothy Hatcher  <timothy@apple.com>
4150
4151         Rename some Inspector panel objects to facilitate the up-coming
4152         UI refresh changes.
4153
4154         Reviewed by Adam Roben.
4155
4156         * page/inspector/DatabasesPanel.js: Renamed ResourcePanel to ResourceView.
4157         * page/inspector/ElementsPanel.js: Renamed SourcePanel to SourceView.
4158         * page/inspector/FontView.js: Renamed FontPanel to FontView.
4159         * page/inspector/ImageView.js: Renamed ImagePanel to ImageView.
4160         * page/inspector/Resource.js: Instantiate the new "View" named objects.
4161         * page/inspector/ResourceView.js: Renamed ResourcePanel to ResourceView.
4162         * page/inspector/SourceView.js: Renamed SourcePanel to SourceView.
4163
4164 2008-04-07  Timothy Hatcher  <timothy@apple.com>