Adds a debugger toggle button to the scripts status bar that will start
[WebKit-https.git] / WebCore / ChangeLog
1 2008-04-22  Timothy Hatcher  <timothy@apple.com>
2
3         Adds a debugger toggle button to the scripts status bar that will start
4         and stop debugging of the inspected page.
5
6         Reviewed by Adam Roben.
7
8         * English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings.
9         * page/InspectorController.cpp:
10         (WebCore::debuggerAttached): Call InspectorController::debuggerAttached.
11         (WebCore::InspectorController::InspectorController): Initialize
12         m_debuggerAttached to false.
13         (WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached
14         property to the InspectorController class.
15         (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
16         Set m_debuggerAttached to true.
17         (WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false.
18         * page/InspectorController.h:
19         * page/inspector/Images/debuggingButtons.png: Added.
20         * page/inspector/ScriptsPanel.js:
21         (WebInspector.ScriptsPanel): Disable the pause button. Create the debugging
22         button and setup the id, className and event listener. Call reset.
23         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array
24         (WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons.
25         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of
26         the debugging button to match what will happen when clicked. Change the style class,
27         and toggle the disabled state of the pause button.
28         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging
29         depending on InspectorController.debuggerAttached().
30         * page/inspector/inspector.css: Added style rules for the debugger button.
31
32 2008-04-21  Adam Roben  <aroben@apple.com>
33
34         Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM
35
36         Reviewed by Dan Bernstein.
37
38         * platform/win/WheelEventWin.cpp:
39         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
40         GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel
41         delta (it is equivalent to what we were previously doing, however).
42
43 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
44
45         Qt build fix.
46
47         Adjust the Qt resource file to removed image files.
48
49         * page/inspector/WebKit.qrc:
50
51 2008-04-21  Timothy Hatcher  <timothy@apple.com>
52
53         Use CSS gradients to replace many image files in the Web Inspector.
54
55         Rubber-stamped by Adam Roben.
56
57         * page/inspector/Images/alternateTableRows.png: Removed.
58         * page/inspector/Images/darkShadow.png: Removed.
59         * page/inspector/Images/paneHeader.png: Removed.
60         * page/inspector/Images/paneHeaderActive.png: Removed.
61         * page/inspector/Images/sidebarSelection.png: Removed.
62         * page/inspector/Images/sidebarSelectionBackground.png: Removed.
63         * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed.
64         * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed.
65         * page/inspector/Images/sidebarSelectionBlurred.png: Removed.
66         * page/inspector/Images/sidebarSelectionBlurredTall.png: Removed.
67         * page/inspector/Images/sidebarSelectionGray.png: Removed.
68         * page/inspector/Images/sidebarSelectionGrayTall.png: Removed.
69         * page/inspector/Images/sidebarSelectionTall.png: Removed.
70         * page/inspector/Images/sidebarSmallSelectionBackground.png: Removed.
71         * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed.
72         * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed.
73         * page/inspector/Images/toolbarBackground.png: Removed.
74         * page/inspector/Images/toolbarBackgroundInactive.png: Removed.
75         * page/inspector/inspector.css:
76
77 2008-04-22  Andre Poenitz  <andre.poenitz@trolltech.com>
78
79         Reviewed by Simon.
80
81         Remove compiler warnings on string literals used to construct QStrings
82         in webkit.
83
84         * bridge/qt/qt_instance.cpp:
85         (KJS::Bindings::QtField::valueFromInstance):
86         (KJS::Bindings::QtField::setValueToInstance):
87         * bridge/qt/qt_runtime.cpp:
88         (KJS::Bindings::convertValueToQVariant):
89         (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
90
91 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
92
93         Reviewed by Simon.
94
95         Fall back to last path component for suggested filename if the HTTP content disposition is not set.
96
97         * platform/network/qt/QNetworkReplyHandler.cpp:
98         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
99
100 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
101
102         Reviewed by Simon.
103
104         Implemented the generation of the title string for images.
105
106         * platform/qt/Localizations.cpp:
107
108 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
109
110         Qt build fix.
111
112         * platform/qt/RenderThemeQt.cpp: Adjust isControlStyled signature to
113         the signature in the base class.
114         * platform/qt/RenderThemeQt.h: Ditto.
115
116 2008-04-19  Jon Honeycutt  <jhoneycutt@apple.com>
117
118         Reviewed by Darin.
119
120         Add a method to get the AccessibilityObject's access key,
121
122         * page/AccessibilityObject.cpp:
123         (WebCore::AccessibilityObject::accessKey): Added; returns the object's
124         access key attribute.
125         * page/AccessibilityObject.h: Added declaration for accessKey().
126
127 2008-04-21  Sam Weinig  <sam@webkit.org>
128
129         Reviewed by Anders Carlsson.
130
131         Fix numerous crashing tests.
132
133         * html/HTMLHtmlElement.cpp:
134         (WebCore::HTMLHtmlElement::insertedIntoDocument): Null check document->frame().
135
136 2008-04-21  Dan Bernstein  <mitz@apple.com>
137
138         Reviewed by Darin Adler.
139
140         Tests: fast/media/implicit-media-all.html
141                fast/media/monochrome.html
142
143         - allow implicit "all" media in media queries
144         - use a value of 0 for the monochrome media feature on color displays
145
146         * css/CSSGrammar.y:
147         * css/CSSParser.cpp:
148         (WebCore::CSSParser::createFloatingMediaQuery):
149         * css/CSSParser.h:
150         * css/MediaQueryEvaluator.cpp:
151         (WebCore::monochromeMediaFeatureEval):
152
153 2008-04-21  Brady Eidson  <beidson@apple.com>
154
155         Rockingly reviewed by Adele
156
157         Small StorageArea cleanups
158
159         * storage/SessionStorageArea.cpp:
160         (WebCore::SessionStorageArea::copy): Pass "this" instead of the StorageMap belonging to this
161         (WebCore::SessionStorageArea::SessionStorageArea):
162         * storage/SessionStorageArea.h:
163
164         * storage/StorageArea.cpp:  Changed to not expose the StorageMap at all - it's dangerous to expose
165           it since we rely explicitly on its ref-count
166         (WebCore::StorageArea::StorageArea): Take another StorageArea as the c'tor argument and get the 
167           StorageMap from that.
168         (WebCore::StorageArea::setItem):  The previous comment/code here was bogus.  All JS objects passed in
169           to this API are stringified, so there's no such thing as "null" for setItem()
170         * storage/StorageArea.h:
171
172 2008-04-21  Justin Garcia  <justin.garcia@apple.com>
173
174         Reviewed by John Sullivan.
175
176         <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
177         
178         If we're doing InsertParagraphSeparator at the end of a header element, do not clone it.
179         Renamed m_useDefaultParagraphElement to m_mustUseDefaultParagraphElement, since now,
180         when it is false, that does not necessarily mean that a default paragraph element
181         will not be used.  Callers that passed false for this argument are OK with this.
182
183         * editing/InsertParagraphSeparatorCommand.cpp:
184         (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): 
185         (WebCore::InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement):
186         (WebCore::InsertParagraphSeparatorCommand::doApply):
187         * editing/InsertParagraphSeparatorCommand.h:
188
189 2008-04-21  Anders Carlsson  <andersca@apple.com>
190
191         Reviewed by Adam.
192
193         Perform cache selection. If a main resource has a URL that exists in a cache, load it from there.
194         
195         * html/HTMLAttributeNames.in:
196         Add manifest attribute.
197         
198         * html/HTMLHtmlElement.cpp:
199         (WebCore::HTMLHtmlElement::insertedIntoDocument):
200         * html/HTMLHtmlElement.h:
201         Perform cache selection.
202         
203         * loader/MainResourceLoader.cpp:
204         (WebCore::MainResourceLoader::load):
205         * loader/appcache/ApplicationCacheGroup.cpp:
206         (WebCore::cacheHostSet):
207         (WebCore::urlHostHash):
208         (WebCore::ApplicationCacheGroup::cacheForRequest):
209         (WebCore::ApplicationCacheGroup::selectCache):
210         * loader/appcache/ApplicationCacheGroup.h:
211         * platform/KURL.h:
212         (WebCore::KURL::hostStart):
213         (WebCore::KURL::hostEnd):
214
215 2008-04-21  Mike Belshe  <mike@belshe.com>
216
217         Reviewed by eseidel and darin.  Landed by eseidel.
218
219         Fix broken optimization in createStrippingNullCharacters.
220
221         * platform/text/StringImpl.cpp:
222         (WebCore::StringImpl::createStrippingNullCharacters):
223
224 2008-04-21  David Hyatt  <hyatt@apple.com>
225
226         Make the back end parsing of background properties generic.  Rename all the parsing functions from
227         background -> fill.
228
229         Add a new set of properties for doing masks.  The code is now refactored so that the mask properties
230         and the background properties share parsing routines.
231
232         Reviewed by Dan
233
234         * css/CSSComputedStyleDeclaration.cpp:
235         (WebCore::):
236         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
237         * css/CSSParser.cpp:
238         (WebCore::CSSParser::parseValue):
239         (WebCore::CSSParser::addFillValue):
240         (WebCore::CSSParser::parseFillShorthand):
241         (WebCore::CSSParser::parseFillImage):
242         (WebCore::CSSParser::parseFillPositionXY):
243         (WebCore::CSSParser::parseFillPosition):
244         (WebCore::CSSParser::parseFillSize):
245         (WebCore::CSSParser::parseFillProperty):
246         (WebCore::CSSParser::parseTransformOrigin):
247         * css/CSSParser.h:
248         * css/CSSPropertyNames.in:
249         * css/CSSStyleSelector.cpp:
250         (WebCore::CSSStyleSelector::CSSStyleSelector):
251         (WebCore::CSSStyleSelector::mapFillAttachment):
252         (WebCore::CSSStyleSelector::mapFillClip):
253         (WebCore::CSSStyleSelector::mapFillComposite):
254         (WebCore::CSSStyleSelector::mapFillOrigin):
255         (WebCore::CSSStyleSelector::mapFillImage):
256         (WebCore::CSSStyleSelector::mapFillRepeat):
257         (WebCore::CSSStyleSelector::mapFillSize):
258         (WebCore::CSSStyleSelector::mapFillXPosition):
259         (WebCore::CSSStyleSelector::mapFillYPosition):
260         * rendering/RenderStyle.cpp:
261         (WebCore::FillLayer::FillLayer):
262         (WebCore::FillLayer::operator=):
263         (WebCore::FillLayer::operator==):
264         (WebCore::StyleBackgroundData::StyleBackgroundData):
265         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
266         (WebCore::StyleRareNonInheritedData::operator==):
267         (WebCore::RenderStyle::diff):
268         * rendering/RenderStyle.h:
269         (WebCore::LengthSize::LengthSize):
270         (WebCore::):
271         (WebCore::FillLayer::type):
272         (WebCore::FillLayer::initialFillAttachment):
273         (WebCore::FillLayer::initialFillClip):
274         (WebCore::FillLayer::initialFillOrigin):
275         (WebCore::FillLayer::initialFillRepeat):
276         (WebCore::FillLayer::initialFillComposite):
277         (WebCore::FillLayer::initialFillSize):
278         (WebCore::FillLayer::initialFillXPosition):
279         (WebCore::FillLayer::initialFillYPosition):
280         (WebCore::FillLayer::initialFillImage):
281         (WebCore::RenderStyle::maskImage):
282         (WebCore::RenderStyle::maskRepeat):
283         (WebCore::RenderStyle::maskComposite):
284         (WebCore::RenderStyle::maskAttachment):
285         (WebCore::RenderStyle::maskClip):
286         (WebCore::RenderStyle::maskOrigin):
287         (WebCore::RenderStyle::maskXPosition):
288         (WebCore::RenderStyle::maskYPosition):
289         (WebCore::RenderStyle::maskSize):
290         (WebCore::RenderStyle::accessMaskLayers):
291         (WebCore::RenderStyle::maskLayers):
292         (WebCore::RenderStyle::clearBackgroundLayers):
293         (WebCore::RenderStyle::clearMaskLayers):
294         (WebCore::RenderStyle::inheritMaskLayers):
295
296 2008-04-21  Timothy Hatcher  <timothy@apple.com>
297
298         Fixes the issue were a Database view could still be visible after navigating to a new page.
299
300         Reviewed by Darin Adler.
301
302         * page/inspector/DatabasesPanel.js:
303         (WebInspector.DatabasesPanel.prototype.reset): Delete the _tableViews and _queryView properties
304         from all databases. Remove all the children from databaseViews.
305
306 2008-04-21  Timothy Hatcher  <timothy@apple.com>
307
308         Adds the ability to enter multi-line commands in the console by holding the
309         alt/option key when pressing enter/return.
310
311         https://bugs.webkit.org/show_bug.cgi?id=18454
312
313         Reviewed by Darin Adler.
314
315         * page/inspector/Console.js:
316         (WebInspector.Console.prototype._enterKeyPressed): Return early if the
317         alt/option key is held when enter is pressed.
318         * page/inspector/inspector.css:
319         (.console-message-text): Added. Set white-space: pre-wrap.
320
321 2008-04-21  Timothy Hatcher  <timothy@apple.com>
322
323         Fixes the bug where the Database table names do not update when
324         running the CREATE TABLE or DROP TABLE queries. Also makes the
325         table names update every time the database is collapsed and expanded.
326
327         https://bugs.webkit.org/show_bug.cgi?id=18453
328
329         Reviewed by Darin Adler.
330
331         * page/inspector/DatabasesPanel.js:
332         (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
333         Set shouldRefreshChildren to true on the Database's tree element.
334         The refreshChildren property was renamed to shouldRefreshChildren.
335         (WebInspector.DatabaseSidebarTreeElement.prototype.oncollapse):
336         Request a refresh after every collapse so the next expand will
337         have an updated table list.
338
339 2008-04-21  Timothy Hatcher  <timothy@apple.com>
340
341         Adds INDEX to the list of completion words for the Databases query view.
342
343         https://bugs.webkit.org/show_bug.cgi?id=18452
344
345         Reviewed by Darin Adler.
346
347         * page/inspector/DatabaseQueryView.js:
348         (WebInspector.DatabaseQueryView.prototype.completions): Split up "CREATE TABLE "
349         and "DROP TABLE " into "CREATE ", "DROP ", "TABLE ". And added "INDEX ".
350
351 2008-04-21  Timothy Hatcher  <timothy@apple.com>
352
353         Adds the UI portions of the Scripts panel to the Web Inspector.
354         The Scripts panel has not been added to the toolbar yet.
355
356         https://bugs.webkit.org/show_bug.cgi?id=18601
357
358         Reviewed by Adam Roben.
359
360         * English.lproj/InspectorLocalizedStrings.js: Changed "Show inherited properties"
361         to "Show inherited". Adds new strings for the Scripts' panel tooltips.
362         * page/inspector/BreakpointsSidebarPane.js: Added.
363         * page/inspector/CallStackSidebarPane.js: Added.
364         * page/inspector/Images/back.png: Added.
365         * page/inspector/Images/debuggerContinue.png: Added.
366         * page/inspector/Images/debuggerPause.png: Added.
367         * page/inspector/Images/debuggerStepInto.png: Added.
368         * page/inspector/Images/debuggerStepOut.png: Added.
369         * page/inspector/Images/debuggerStepOver.png: Added.
370         * page/inspector/Images/forward.png: Added.
371         * page/inspector/Images/statusbarResizerHorizontal.png: Added.
372         * page/inspector/PropertiesSection.js:
373         (WebInspector.PropertiesSection): Flip the order the subtile is appended
374         so it can float right in the CSS.
375         * page/inspector/ScriptsPanel.js: Added.
376         * page/inspector/StylesSidebarPane.js:
377         (WebInspector.StylePropertiesSection): Changed "Show inherited properties"
378         to "Show inherited".
379         * page/inspector/inspector.css: Added new CSS rules for the Scripts panel. 
380         Also changes the look of the section to match the mockup, this affects
381         Styles and Properties in Elements.
382         * page/inspector/inspector.html: Import new files.
383         * page/inspector/inspector.js:
384         (Preferences.minScriptsSidebarWidth): Added.
385
386 2008-04-21  Kevin McCullough  <kmccullough@apple.com>
387
388         Reviewed by Adam.
389
390         <rdar://problem/5770054> JavaScript profiler (10928)
391         Took out debugging printing since we really want to hook into the
392         inspector and not to print to the terminal.
393
394         * page/Console.cpp:
395         (WebCore::Console::profileEnd):
396
397 2008-04-21  Sam Weinig  <sam@webkit.org>
398
399         Reviewed by Alexey Proskuryakov.
400
401         Fix up XMLHttpRequestProgressEvent.
402
403         * bindings/js/JSEventCustom.cpp:
404         (WebCore::toJS):
405         * xml/XMLHttpRequestProgressEvent.cpp:
406         * xml/XMLHttpRequestProgressEvent.h:
407
408 2008-04-21  Adam Roben  <aroben@apple.com>
409
410         Fix Bug 18615: Crash in PluginPackage::hash
411
412         <https://bugs.webkit.org/show_bug.cgi?id=18615>
413
414         Reviewed by Anders Carlsson.
415
416         * plugins/PluginDatabase.cpp:
417         (WebCore::PluginDatabase::refresh): Don't pass a null PluginPackage*
418         to add().
419
420 2008-04-21  Anders Carlsson  <andersca@apple.com>
421
422         Reviewed by Adam.
423
424         Add cache group implementation.
425
426         * loader/DocumentLoader.cpp:
427         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
428         * loader/appcache/ApplicationCache.cpp:
429         (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
430         (WebCore::ApplicationCache::resourceForRequest):
431         * loader/appcache/ApplicationCache.h:
432         * loader/appcache/ApplicationCacheGroup.cpp:
433         (WebCore::cacheGroupMap):
434         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
435         (WebCore::ApplicationCacheGroup::selectCache):
436         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
437         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
438         (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
439         (WebCore::ApplicationCacheGroup::cacheDestroyed):
440         (WebCore::ApplicationCacheGroup::update):
441         (WebCore::ApplicationCacheGroup::didReceiveResponse):
442         (WebCore::ApplicationCacheGroup::didReceiveData):
443         (WebCore::ApplicationCacheGroup::didFinishLoading):
444         (WebCore::ApplicationCacheGroup::didFail):
445         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
446         (WebCore::ApplicationCacheGroup::didReceiveManifestData):
447         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
448         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
449         (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
450         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
451         (WebCore::ApplicationCacheGroup::startLoadingEntry):
452         (WebCore::ApplicationCacheGroup::addEntry):
453         (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
454         (WebCore::ApplicationCacheGroup::callListenersOnAssociatedDocuments):
455         (WebCore::ApplicationCacheGroup::callListeners):
456         * loader/appcache/ApplicationCacheGroup.h:
457         (WebCore::ApplicationCacheGroup::status):
458         (WebCore::ApplicationCacheGroup::newestCache):
459         * platform/KURL.h:
460         (WebCore::KURL::hostStart):
461         (WebCore::KURL::hostEnd):
462
463 2008-04-21  David Hyatt  <hyatt@apple.com>
464
465         Rename BackgroundLayer -> FillLayer in preparation for it being used for other types of fills.
466
467         Reviewed by Dan
468
469         * css/CSSComputedStyleDeclaration.cpp:
470         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
471         * css/CSSPrimitiveValueMappings.h:
472         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
473         (WebCore::CSSPrimitiveValue::operator EFillBox):
474         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
475         * css/CSSStyleSelector.cpp:
476         (WebCore::CSSStyleSelector::applyProperty):
477         (WebCore::CSSStyleSelector::mapFillAttachment):
478         (WebCore::CSSStyleSelector::mapFillClip):
479         (WebCore::CSSStyleSelector::mapFillComposite):
480         (WebCore::CSSStyleSelector::mapFillOrigin):
481         (WebCore::CSSStyleSelector::mapFillImage):
482         (WebCore::CSSStyleSelector::mapFillRepeat):
483         (WebCore::CSSStyleSelector::mapFillSize):
484         (WebCore::CSSStyleSelector::mapFillXPosition):
485         (WebCore::CSSStyleSelector::mapFillYPosition):
486         (WebCore::CSSStyleSelector::mapTransitionDuration):
487         (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
488         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
489         (WebCore::CSSStyleSelector::mapTransitionProperty):
490         * css/CSSStyleSelector.h:
491         * page/AnimationController.cpp:
492         (WebCore::ImplicitAnimation::ImplicitAnimation):
493         (WebCore::CompositeImplicitAnimation::animate):
494         * rendering/InlineFlowBox.cpp:
495         (WebCore::InlineFlowBox::paintBackgrounds):
496         (WebCore::InlineFlowBox::paintBackground):
497         * rendering/InlineFlowBox.h:
498         * rendering/RenderBox.cpp:
499         (WebCore::RenderBox::paintRootBoxDecorations):
500         (WebCore::RenderBox::paintBackgrounds):
501         (WebCore::RenderBox::paintBackground):
502         (WebCore::RenderBox::calculateBackgroundSize):
503         (WebCore::RenderBox::imageChanged):
504         (WebCore::RenderBox::calculateBackgroundImageGeometry):
505         (WebCore::RenderBox::paintBackgroundExtended):
506         * rendering/RenderBox.h:
507         * rendering/RenderObject.cpp:
508         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
509         (WebCore::RenderObject::updateBackgroundImages):
510         (WebCore::RenderObject::arenaDelete):
511         * rendering/RenderObject.h:
512         (WebCore::RenderObject::paintBackgroundExtended):
513         * rendering/RenderStyle.cpp:
514         (WebCore::FillLayer::FillLayer):
515         (WebCore::FillLayer::~FillLayer):
516         (WebCore::FillLayer::operator=):
517         (WebCore::FillLayer::operator==):
518         (WebCore::FillLayer::fillUnsetProperties):
519         (WebCore::FillLayer::cullEmptyLayers):
520         (WebCore::Transition::fillUnsetProperties):
521         * rendering/RenderStyle.h:
522         (WebCore::):
523         (WebCore::FillLayer::image):
524         (WebCore::FillLayer::xPosition):
525         (WebCore::FillLayer::yPosition):
526         (WebCore::FillLayer::attachment):
527         (WebCore::FillLayer::clip):
528         (WebCore::FillLayer::origin):
529         (WebCore::FillLayer::repeat):
530         (WebCore::FillLayer::composite):
531         (WebCore::FillLayer::size):
532         (WebCore::FillLayer::next):
533         (WebCore::FillLayer::isImageSet):
534         (WebCore::FillLayer::isXPositionSet):
535         (WebCore::FillLayer::isYPositionSet):
536         (WebCore::FillLayer::isAttachmentSet):
537         (WebCore::FillLayer::isClipSet):
538         (WebCore::FillLayer::isOriginSet):
539         (WebCore::FillLayer::isRepeatSet):
540         (WebCore::FillLayer::isCompositeSet):
541         (WebCore::FillLayer::isSizeSet):
542         (WebCore::FillLayer::setImage):
543         (WebCore::FillLayer::setXPosition):
544         (WebCore::FillLayer::setYPosition):
545         (WebCore::FillLayer::setAttachment):
546         (WebCore::FillLayer::setClip):
547         (WebCore::FillLayer::setOrigin):
548         (WebCore::FillLayer::setRepeat):
549         (WebCore::FillLayer::setComposite):
550         (WebCore::FillLayer::setSize):
551         (WebCore::FillLayer::clearImage):
552         (WebCore::FillLayer::clearXPosition):
553         (WebCore::FillLayer::clearYPosition):
554         (WebCore::FillLayer::clearAttachment):
555         (WebCore::FillLayer::clearClip):
556         (WebCore::FillLayer::clearOrigin):
557         (WebCore::FillLayer::clearRepeat):
558         (WebCore::FillLayer::clearComposite):
559         (WebCore::FillLayer::clearSize):
560         (WebCore::FillLayer::setNext):
561         (WebCore::FillLayer::operator!=):
562         (WebCore::FillLayer::hasFixedImage):
563         (WebCore::Transition::isDurationSet):
564         (WebCore::Transition::isRepeatCountSet):
565         (WebCore::Transition::isTimingFunctionSet):
566         (WebCore::Transition::isPropertySet):
567         (WebCore::Transition::clearDuration):
568         (WebCore::Transition::clearRepeatCount):
569         (WebCore::Transition::clearTimingFunction):
570         (WebCore::Transition::clearProperty):
571         (WebCore::Transition::duration):
572         (WebCore::Transition::repeatCount):
573         (WebCore::Transition::timingFunction):
574         (WebCore::Transition::property):
575         (WebCore::Transition::setDuration):
576         (WebCore::Transition::setRepeatCount):
577         (WebCore::Transition::setTimingFunction):
578         (WebCore::Transition::setProperty):
579         (WebCore::RenderStyle::NonInheritedFlags::operator==):
580         (WebCore::RenderStyle::setBitDefaults):
581         (WebCore::RenderStyle::backgroundRepeat):
582         (WebCore::RenderStyle::backgroundComposite):
583         (WebCore::RenderStyle::backgroundAttachment):
584         (WebCore::RenderStyle::backgroundClip):
585         (WebCore::RenderStyle::backgroundOrigin):
586         (WebCore::RenderStyle::backgroundSize):
587         (WebCore::RenderStyle::accessBackgroundLayers):
588         (WebCore::RenderStyle::backgroundLayers):
589         (WebCore::RenderStyle::clearBackgroundLayers):
590         (WebCore::RenderStyle::inheritBackgroundLayers):
591         (WebCore::RenderStyle::initialFillAttachment):
592         (WebCore::RenderStyle::initialFillClip):
593         (WebCore::RenderStyle::initialFillOrigin):
594         (WebCore::RenderStyle::initialFillRepeat):
595         (WebCore::RenderStyle::initialFillComposite):
596         (WebCore::RenderStyle::initialFillSize):
597         (WebCore::RenderStyle::initialFillXPosition):
598         (WebCore::RenderStyle::initialFillYPosition):
599         (WebCore::RenderStyle::initialFillImage):
600         (WebCore::RenderStyle::initialWhiteSpace):
601         (WebCore::RenderStyle::initialColor):
602         * rendering/RenderTableCell.cpp:
603         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
604         * rendering/RenderTheme.cpp:
605         (WebCore::RenderTheme::adjustStyle):
606         (WebCore::RenderTheme::isControlStyled):
607         * rendering/RenderTheme.h:
608         * rendering/RenderThemeMac.h:
609         * rendering/RenderThemeMac.mm:
610         (WebCore::RenderThemeMac::isControlStyled):
611
612 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
613
614         Rubber-stamped by Ap.
615
616         Add 2 explicit casts.
617         Fixes built on 64-bit machines (64-bit to 32-bit conversion warning).
618
619         * xml/XMLHttpRequest.cpp:
620         (WebCore::XMLHttpRequest::dispatchProgressEvent):
621
622 2008-04-21  Anders Carlsson  <andersca@apple.com>
623
624         Reviewed by Adam.
625
626         Make it possible to load resources from the cache. 
627         (Currently no documents are ever associated with a cache though.)
628         
629         * loader/DocumentLoader.cpp:
630         (WebCore::DocumentLoader::setPrimaryLoadComplete):
631         (WebCore::DocumentLoader::mainResourceApplicationCache):
632         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
633         * loader/DocumentLoader.h:
634         * loader/MainResourceLoader.cpp:
635         (WebCore::MainResourceLoader::didFinishLoading):
636         (WebCore::MainResourceLoader::load):
637         * loader/MainResourceLoader.h:
638         (WebCore::MainResourceLoader::applicationCache):
639         * loader/ResourceLoader.cpp:
640         (WebCore::ResourceLoader::ResourceLoader):
641         (WebCore::ResourceLoader::load):
642         * loader/ResourceLoader.h:
643         * loader/appcache/ApplicationCacheGroup.h:
644         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
645
646 >>>>>>> .r32341
647 2008-04-21  MorganL  <morganl.webkit@yahoo.com>
648
649         Reviewed by eseidel.  Landed by eseidel.
650
651         Add FrameLoader::policyDocumentLoader, and change
652         provisionalDocumentLoader to have a const signature to be
653         consistent with documentLoader and activeDocumentLoader.
654
655         * WebCore.base.exp:
656         * WebCore.order:
657         * loader/FrameLoader.cpp:
658         (WebCore::FrameLoader::policyDocumentLoader):
659         (WebCore::FrameLoader::provisionalDocumentLoader):
660         * loader/FrameLoader.h:
661
662 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
663
664         Not reviewed, add missing files in my previous commit.
665
666         Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
667
668         * xml/XMLHttpRequestProgressEvent.cpp: Added.
669         (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
670         (WebCore::XMLHttpRequestProgressEvent::position):
671         (WebCore::XMLHttpRequestProgressEvent::totalSize):
672         * xml/XMLHttpRequestProgressEvent.h: Added.
673         (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
674         (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
675         (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
676         (WebCore::XMLHttpRequestProgressEvent::loaded):
677         (WebCore::XMLHttpRequestProgressEvent::total):
678         * xml/XMLHttpRequestProgressEvent.idl: Added.
679
680 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
681
682         Reviewed by Ap.
683
684         Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support
685         progressive download content length information.
686
687         - Add the onprogress attribute to XMLHttpRequest and the necessary bindings.
688
689         - We use a custom event XMLHttpRequestProgressEvent that is derived from ProgressEvent
690          (as specified by the XHR2 specification) but also implement LSProgressEvent interface
691          (to be compliant with Firefox event).
692
693         Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
694
695         * DerivedSources.make:
696         * GNUmakefile.am:
697         * WebCore.pro:
698         * WebCore.vcproj/WebCore.vcproj:
699         * WebCore.xcodeproj/project.pbxproj:
700         * WebCoreSources.bkl:
701         * bindings/js/JSEventCustom.cpp:
702         (WebCore::toJS):
703         * bindings/js/JSXMLHttpRequestCustom.cpp:
704         (WebCore::JSXMLHttpRequest::mark):
705         (WebCore::JSXMLHttpRequest::onprogress):
706         (WebCore::JSXMLHttpRequest::setOnprogress):
707         * dom/Event.cpp:
708         (WebCore::Event::isXMLHttpRequestProgressEvent):
709         * dom/Event.h:
710         * dom/ProgressEvent.h: Replaced 'private' by 'protected' to enable derivation.
711         * xml/XMLHttpRequest.cpp:
712         (WebCore::XMLHttpRequest::onProgressListener): onprogress getter.
713         (WebCore::XMLHttpRequest::setOnProgressListener): onprogress setter.
714         (WebCore::XMLHttpRequest::XMLHttpRequest): initialize m_receivedLength.
715         (WebCore::XMLHttpRequest::internalAbort): reset m_receivedLength on abort.
716         (WebCore::XMLHttpRequest::didReceiveData): add updateAndDispatchOnProgress call.
717         (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
718         (WebCore::XMLHttpRequest::dispatchProgressEvent):
719         * xml/XMLHttpRequest.h:
720         * xml/XMLHttpRequest.idl: Add onprogress event handler.
721         * xml/XMLHttpRequestProgressEvent.cpp: Added.
722         (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
723         (WebCore::XMLHttpRequestProgressEvent::position):
724         (WebCore::XMLHttpRequestProgressEvent::totalSize):
725         The two previous methods are used for Firefox compatibility and map to the
726         same value as the ProgressEvent methods (but they are deprecated and display
727
728         * xml/XMLHttpRequestProgressEvent.h: Added.
729         (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
730         (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
731         (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
732         (WebCore::XMLHttpRequestProgressEvent::loaded):
733         (WebCore::XMLHttpRequestProgressEvent::total):
734         * xml/XMLHttpRequestProgressEvent.idl: Added.
735
736 2008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
737
738         Reviewed by Simon.
739
740         Better handle Qt binding object lifetime in JS.
741         Add explicit marking of JS objects created for Qt
742         bindings, and remove the gcProtect calls.
743
744         * bridge/qt/qt_class.cpp:
745         (KJS::Bindings::QtClass::fallbackObject):
746         * bridge/qt/qt_instance.cpp:
747         (KJS::Bindings::QtRuntimeObjectImp::mark):
748         (KJS::Bindings::QtInstance::~QtInstance):
749         (KJS::Bindings::QtInstance::mark):
750         (KJS::Bindings::QtInstance::invokeDefaultMethod):
751         (KJS::Bindings::QtField::valueFromInstance):
752         * bridge/qt/qt_instance.h:
753
754 2008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
755
756         Reviewed by Simon.
757
758         Add better support for RuntimeArray type conversions.
759         It seems that RuntimeArray claims to inherit ArrayInstance
760         (in the JS sense), but the C++ class doesn't, so properly
761         access RuntimeArrays.  Also, properly support turning
762         a JS object into a QVariantMap, since we support the
763         reverse.
764
765         * bridge/qt/qt_runtime.cpp:
766         (KJS::Bindings::):
767         (KJS::Bindings::operator<<):
768         (KJS::Bindings::valueRealType):
769         (KJS::Bindings::convertValueToQVariant):
770         (KJS::Bindings::convertQVariantToValue):
771
772 2008-04-21  Simon Hausmann  <hausmann@webkit.org>
773
774         Reviewed by Holger.
775
776         Fix painting of text fields in the CleanLooks style.
777
778         The CleanLooks style calls painter->drawRect() and expects a painter
779         that has no brush set. This is a fairly common assumption and therefore
780         we now always set the brush to NoBrush before calling a style. This
781         is done by centralizing the painter setup code into StylePainter
782         and restore the old brush in the StylePainter destructor.
783
784         In addition for textfields it is not necessary anymore to draw
785         PE_FrameLineEdit as we set the lineWidth in the style option correctly
786         and it's the style responsibility (QCommonStyle usually) to draw
787         PE_FrameLineEdit.
788
789         * platform/qt/RenderThemeQt.cpp:
790         (WebCore::RenderThemeQt::paintButton):
791         (WebCore::RenderThemeQt::paintTextField):
792         (WebCore::RenderThemeQt::paintMenuList):
793         (WebCore::StylePainter::StylePainter):
794         (WebCore::StylePainter::~StylePainter):
795         * platform/qt/RenderThemeQt.h:
796         (WebCore::StylePainter::isValid):
797         (WebCore::StylePainter::drawPrimitive):
798         (WebCore::StylePainter::drawControl):
799         (WebCore::StylePainter::drawComplexControl):
800
801 2008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
802
803         Reviewed by Simon.
804
805         Fixes copy and paste of international characters.
806
807         When exporting HTML to the clipboard we need meta tags for now that confirm the
808         conversion to utf-8 done inside QClipboard.
809
810         * platform/qt/PasteboardQt.cpp:
811         (WebCore::Pasteboard::writeSelection):
812
813 2008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
814
815         Reviewed by Simon.
816
817         Fixes: Copying on X11 doesn't always work in webkit
818
819         Calling QClipboard::clear right before QClipboard::setData create a race condition with klipper. So don't call QClipboard::clear since it's not required.
820
821         * platform/qt/PasteboardQt.cpp:
822
823 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
824
825         Reviewed by Simon.
826
827         * Assume that our lineedit has a frame. This is needed for the motif style
828
829         * platform/qt/RenderThemeQt.cpp:
830         (WebCore::RenderThemeQt::paintTextField):
831
832 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
833
834         Reviewed by Simon.
835
836         * Follow the windows render theme when determining whether to style
837         listboxes or not.
838
839         * platform/qt/RenderThemeQt.cpp:
840         (WebCore::RenderThemeQt::isControlStyled):
841
842 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
843
844         Reviewed by Simon.
845
846         * Try to bring the notImplemented implementations closer together. This will
847         print each unimplemted method name only once.
848
849         * We might want to change wtf/Assertions.cpp to use qDebug
850
851         * platform/NotImplemented.h:
852
853 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
854
855         Reviewed by Simon.
856
857         * Remove the special Qt ctor of BitmapImage as it did not work. The Bitmap returned
858         0 as width and after intialising drawing would fail. BitmapImage relies on a proper
859         ImageSource.
860         * Instead of adding more special cases to BitmapImage create a new class called StillImage
861         which is getting one QPixmap and is implementing Image::draw and Image::size. This is
862         working well for the images created using Image::loadPlatformResource.
863
864         * platform/graphics/BitmapImage.h:
865         * platform/graphics/qt/ImageQt.cpp:
866         (WebCore::BitmapImage::initPlatformData):
867         (WebCore::BitmapImage::getPixmap):
868         (WebCore::StillImage::StillImage):
869         (WebCore::StillImage::size):
870         (WebCore::StillImage::getPixmap):
871         (WebCore::StillImage::draw):
872
873 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
874
875         Reviewed by Simon.
876
877         * Package the Resources into a qrc
878
879         * Resources/WebKitResources.qrc: Added.
880         * WebCore.pro:
881
882 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
883
884         Reviewed by Simon.
885
886         * Make sure every resource is available als png as well.
887
888         * Resources/deleteButton.png: Added.
889         * Resources/deleteButtonPressed.png: Added.
890         * Resources/missingImage.png: Added.
891         * Resources/nullPlugin.png: Copied from WebKit/win/WebKit.vcproj/nullplugin.png.
892         * Resources/textAreaResizeCorner.png: Added.
893         * Resources/urlIcon.png: Copied from WebKit/win/WebKit.vcproj/urlIcon.png.
894
895 2008-04-20  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
896
897         Reviewed by Alp Toker.
898
899         Implement FileSystemGtk's getFileModificationTime() with GLib.
900
901         * platform/gtk/FileSystemGtk.cpp:
902         (WebCore::getFileModificationTime):
903
904 2008-04-20  Christian Persch  <chpe@gnome.org>
905
906         Reviewed by Alp Toker.
907
908         Bundle GTK+ Xt compatibility code from Mozilla. These files are used
909         by all currently proposed GTK+ plugin patches and will make the
910         proposed patches smaller and easier to review.
911
912         These files should be kept as close to the upstream versions as
913         possible so fixes can be shared between projects and to ensure
914         compatibility with the reference implementation.
915
916         * plugins/gtk/gtk2xtbin.c: Added.
917         (xt_event_prepare):
918         (xt_event_check):
919         (xt_event_dispatch):
920         (xt_event_polling_timer_callback):
921         (gtk_xtbin_get_type):
922         (gtk_xtbin_class_init):
923         (gtk_xtbin_init):
924         (gtk_xtbin_realize):
925         (gtk_xtbin_new):
926         (gtk_xtbin_set_position):
927         (gtk_xtbin_resize):
928         (gtk_xtbin_unrealize):
929         (gtk_xtbin_destroy):
930         (xt_client_init):
931         (xt_client_create):
932         (xt_client_unrealize):
933         (xt_client_destroy):
934         (xt_client_set_info):
935         (xt_client_handle_xembed_message):
936         (xt_client_event_handler):
937         (send_xembed_message):
938         (error_handler):
939         (trap_errors):
940         (untrap_error):
941         (xt_client_focus_listener):
942         (xt_add_focus_listener):
943         (xt_remove_focus_listener):
944         (xt_add_focus_listener_tree):
945         * plugins/gtk/gtk2xtbin.h: Added.
946
947 2008-04-20  Dirk Schulze  <vbs85@gmx.de>
948
949         Reviewed by Alp Toker.
950
951         http://bugs.webkit.org/show_bug.cgi?id=15449
952         [CAIRO] SVG gradients do not work properly
953
954         Fixed SVG-gradients in Cairo.
955
956         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
957         (WebCore::SVGPaintServerGradient::setup):
958
959 2008-04-20  Simon Hausmann  <hausmann@webkit.org>
960
961         Reviewed by Alp Toker.
962
963         http://bugs.webkit.org/show_bug.cgi?id=18578
964         Share the printing code between the Gtk and the Qt port
965
966         Share the printing code between the Gtk and the Qt port
967         and added printing to the Qt WebKit API.
968
969         * GNUmakefile.am:
970         * WebCore.pro:
971         * page/PrintContext.cpp: Added.
972         (WebCore::PrintContext::PrintContext):
973         (WebCore::PrintContext::~PrintContext):
974         (WebCore::PrintContext::pageCount):
975         (WebCore::PrintContext::computePageRects):
976         (WebCore::PrintContext::begin):
977         (WebCore::PrintContext::spoolPage):
978         * page/PrintContext.h: Added.
979
980 2008-04-19  Alp Toker  <alp@nuanti.com>
981
982         Reviewed by Mark Rowe.
983
984         Complete the Cairo (CSS) gradient implementation.
985
986         * platform/graphics/Gradient.h:
987         * platform/graphics/cairo/GradientCairo.cpp:
988         (WebCore::Gradient::platformDestroy):
989         (WebCore::Gradient::fill):
990
991 2008-04-19  Alp Toker  <alp@nuanti.com>
992
993         Reviewed by Dave Hyatt.
994
995         Restore Cairo canvas support following the recent changes in
996         BitmapImage and ImageBuffer integrating canvas with CSS. Some
997         drawing regressions remain unfixed.
998
999         * platform/graphics/BitmapImage.h:
1000         * platform/graphics/ImageBuffer.h:
1001         * platform/graphics/cairo/ImageBufferCairo.cpp:
1002         (WebCore::ImageBuffer::image):
1003         * platform/graphics/cairo/ImageCairo.cpp:
1004         (WebCore::BitmapImage::BitmapImage):
1005         (WebCore::BitmapImage::draw):
1006         * platform/graphics/cairo/ImageSourceCairo.cpp:
1007         (WebCore::ImageSource::createFrameAtIndex):
1008
1009 2008-04-19  Dan Bernstein  <mitz@apple.com>
1010
1011         Reviewed by Dave Hyatt.
1012
1013         - fix additional cases of https://bugs.webkit.org/show_bug.cgi?id=17921
1014           namely cases where the trailing white space is already in a separate
1015           run but still needs to be re-ordered.
1016
1017         Test: fast/text/trailing-white-space-2.html
1018
1019         * platform/text/BidiResolver.h:
1020         (WebCore::::moveRunToEnd):
1021         (WebCore::::moveRunToBeginning):
1022         * rendering/bidi.cpp:
1023         (WebCore::RenderBlock::layoutInlineChildren):
1024
1025 2008-04-19  Alp Toker  <alp@nuanti.com>
1026
1027         Reviewed by Nikolas.
1028
1029         Add text shadow support for simple text in FontCairo.
1030
1031         * platform/graphics/cairo/FontCairo.cpp:
1032         (WebCore::Font::drawGlyphs):
1033
1034 2008-04-19  David Hyatt  <hyatt@apple.com>
1035
1036         Fix a minor typo in CSSGradientValue's cssText() method.
1037
1038         Reviewed by olliej
1039
1040         * css/CSSGradientValue.cpp:
1041         (WebCore::CSSGradientValue::cssText):
1042
1043 2008-04-19  Brady Eidson  <beidson@apple.com>
1044
1045         Reviewed by Tim Hatcher
1046
1047         Add LocalStorageDatabasePath to the settings for the location of persistent local storage.
1048
1049         * WebCore.base.exp:
1050
1051         * page/Settings.cpp:
1052         (WebCore::Settings::setLocalStorageDatabasePath):
1053         * page/Settings.h:
1054         (WebCore::Settings::localStorageDatabasePath):
1055
1056 2008-04-18 Jan  Michael Alonzo  <jmalonzo@unpluggable.com>
1057
1058         Reviewed by Alp Toker.
1059
1060         http://bugs.webkit.org/show_bug.cgi?id=16620
1061         [GTK] Autotools make dist and make check support
1062
1063         Cleanups.
1064
1065         * GNUmakefile.am:
1066
1067 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
1068
1069         Reviewed by Ollie.
1070
1071         Change when AccessibilityObject children are added.
1072
1073         Children are now added when children() is called if the children vector
1074         is not up to date. This removes the need for addChildren() and
1075         hasChildren() to be called from outside of AccessibilityObject.
1076
1077         * page/AccessibilityObject.cpp:
1078         (WebCore::AccessibilityObject::AccessibilityObject): Initialize
1079         m_haveChildren to false.
1080         (WebCore::AccessibilityObject::clearChildren): Set m_haveChildren to
1081         false.
1082         (WebCore::AccessibilityObject::children): If m_haveChildren is false,
1083         call addChildren().
1084         (WebCore::AccessibilityObject::addChildren): Set m_haveChildren to true.
1085         * page/AccessibilityObject.h: Removed hasChildren(). Made addChildren()
1086         private and const. Added m_haveChildren. Made m_children mutable so
1087         children() could modify it.
1088         * page/mac/AccessibilityObjectWrapper.mm:
1089         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Don't
1090         call hasChildren() or addChildren().
1091
1092 2008-04-18  Marco Barisione  <marco.barisione@collabora.co.uk>
1093
1094         Reviewed by Alexey.
1095
1096         http://bugs.webkit.org/show_bug.cgi?id=18357
1097         [GTK] Enter on buttons doesn't work
1098
1099         * platform/gtk/KeyEventGtk.cpp:
1100         (WebCore::singleCharacterString): Set the text of a keyboard event for
1101         GDK_ISO_Enter, GDK_KP_Enter, GDK_Return to "\r" instead of an empty
1102         string.
1103
1104 2008-04-18  Marco Barisione  <marco@barisione.org>
1105
1106         Reviewed by Alp Toker.
1107
1108         https://bugs.webkit.org/show_bug.cgi?id=18576
1109         [GTK] windowsKeyCodeForKeyEvent doesn't handle GDK_ISO_Enter and
1110         GDK_KP_Enter
1111
1112         * platform/gtk/KeyEventGtk.cpp:
1113         (WebCore::windowsKeyCodeForKeyEvent): handle GDK_ISO_Enter and
1114         GDK_KP_Enter in windowsKeyCodeForKeyEvent.
1115
1116 2008-04-18  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
1117
1118         Reviewed by Mark Rowe.
1119
1120         Gtk build fix.  Profiler.h does not live inside the kjs directory of JavaScriptCore
1121         so it doesn't make sense to include it as kjs/Profiler.h from WebCore.
1122
1123         * ForwardingHeaders/profiler/Profiler.h: Renamed from WebCore/ForwardingHeaders/kjs/Profiler.h.
1124         * page/Console.cpp:
1125
1126 2008-04-18  Antti Koivisto  <antti@apple.com>
1127
1128         Reviewed by Oliver.
1129
1130         Implement path animation for <animateMotion>.
1131         
1132         SVG test suite tests
1133         animate-elem-07-t.svg
1134         animate-elem-08-t.svg
1135         animate-elem-24-t.svg
1136         animate-elem-30-t.svg
1137
1138         * svg/SVGAnimateMotionElement.cpp:
1139         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
1140         (WebCore::SVGAnimateMotionElement::hasValidTarget):
1141         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
1142         (WebCore::SVGAnimateMotionElement::rotateMode):
1143         (WebCore::SVGAnimateMotionElement::animationPath):
1144         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
1145         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
1146         * svg/SVGAnimateMotionElement.h:
1147         (WebCore::SVGAnimateMotionElement::):
1148         * svg/SVGAnimationElement.cpp:
1149         (WebCore::SVGAnimationElement::animationMode):
1150         (WebCore::SVGAnimationElement::startedActiveInterval):
1151         * svg/SVGAnimationElement.h:
1152         (WebCore::SVGAnimationElement::):
1153         (WebCore::SVGAnimationElement::calculateDistance):
1154         (WebCore::SVGAnimationElement::animationPath):
1155
1156 2008-04-11  Mark Rowe  <mrowe@apple.com>
1157
1158         Rubber-stamped by Antti Koivisto.
1159
1160         Silence GCC 4.3 warnings by removing extraneous consts.
1161
1162         * platform/graphics/Font.h:
1163         * platform/network/ResourceRequestBase.cpp:
1164         * platform/network/ResourceRequestBase.h:
1165
1166 2008-04-18  Brady Eidson  <beidson@apple.com>
1167
1168         Rubberstamped by Mark Rowe
1169
1170         Roll out http://trac.webkit.org/projects/webkit/changeset/32204 as it was an incorrect build fix.
1171         The feature in question was NOT database support.
1172
1173         The proper build fix was later applied by Mark in http://trac.webkit.org/projects/webkit/changeset/32225
1174
1175         * page/PageGroup.cpp:
1176         (WebCore::PageGroup::localStorage):
1177
1178 2008-04-18  Brady Eidson  <beidson@apple.com>
1179
1180         Reviewed by Darin and Sam
1181
1182         Don't forget PageGroups when their last Page goes away, as this hurts visited links and anything
1183         else that will be per-PageGroup in the future (such as LocalStorage).
1184
1185         This also fixes a leak, since PageGroups are ref-counted and therefore clearing the raw pointer out
1186         of the PageGroups map without manual deletion leaked it!
1187
1188         * page/Page.cpp:
1189         (WebCore::Page::setGroupName):
1190
1191 2008-04-18  Dan Bernstein  <mitz@apple.com>
1192
1193         Reviewed by Brady Eidson.
1194
1195         - fix <rdar://problem/5872671> REGRESSION (3.1.1-TOT): Repro crash going to Ortega Park home page
1196
1197         Test: fast/dynamic/5872671.html
1198
1199         * rendering/bidi.cpp:
1200         (WebCore::RenderBlock::layoutInlineChildren): Added a missing null
1201         check.
1202
1203 2008-04-18  Sam Weinig  <sam@webkit.org>
1204
1205         Rubber-stamped by Mark Rowe.
1206
1207         responseText and responseXML don't throw exceptions so they don't need an ExceptionCode parameter.
1208
1209         * bindings/js/JSXMLHttpRequestCustom.cpp:
1210         * xml/XMLHttpRequest.cpp:
1211         (WebCore::XMLHttpRequest::responseText):
1212         (WebCore::XMLHttpRequest::responseXML):
1213         * xml/XMLHttpRequest.h:
1214         * xml/XMLHttpRequest.idl:
1215
1216 2008-04-18  Kevin McCullough  <kmccullough@apple.com>
1217
1218         Reviewed by Sam.
1219
1220         - Build fix.
1221
1222         * page/Console.cpp:
1223         (WebCore::Console::profile):
1224         * page/Console.h:
1225         * page/Console.idl:
1226
1227 2008-04-18  Eric Seidel  <eric@webkit.org>
1228
1229         Reviewed by darin.
1230
1231         Fix probable crasher caused by invalid static_cast
1232         https://bugs.webkit.org/show_bug.cgi?id=18585
1233
1234         * page/Frame.cpp:
1235         (WebCore::Frame::contentRenderer):
1236         (WebCore::Frame::ownerRenderer):
1237         * rendering/RenderObject.h: sort the "is*" functions
1238         (WebCore::RenderObject::isApplet):
1239         (WebCore::RenderObject::isBR):
1240         (WebCore::RenderObject::isBlockFlow):
1241         (WebCore::RenderObject::isCounter):
1242         (WebCore::RenderObject::isFrame):
1243         (WebCore::RenderObject::isFrameSet):
1244         (WebCore::RenderObject::isImage):
1245         (WebCore::RenderObject::isInlineBlockOrInlineTable):
1246         (WebCore::RenderObject::isInlineFlow):
1247         (WebCore::RenderObject::isListBox):
1248         (WebCore::RenderObject::isListItem):
1249         (WebCore::RenderObject::isListMarker):
1250         (WebCore::RenderObject::isMedia):
1251         (WebCore::RenderObject::isMenuList):
1252         (WebCore::RenderObject::isRenderBlock):
1253         (WebCore::RenderObject::isRenderImage):
1254         (WebCore::RenderObject::isRenderInline):
1255         (WebCore::RenderObject::isRenderPart):
1256         (WebCore::RenderObject::isRenderView):
1257         (WebCore::RenderObject::isSlider):
1258         (WebCore::RenderObject::isTable):
1259         (WebCore::RenderObject::isTableCell):
1260         (WebCore::RenderObject::isTableCol):
1261         (WebCore::RenderObject::isTableRow):
1262         (WebCore::RenderObject::isTableSection):
1263         (WebCore::RenderObject::isTextArea):
1264         * rendering/RenderPart.h:
1265
1266 2008-04-17  Eric Seidel  <eric@webkit.org>
1267
1268         Reviewed by beth.
1269
1270         Rename Frame::renderer() to contentRenderer() and fix uses.
1271
1272         * WebCore.base.exp:
1273         * editing/Editor.cpp:
1274         (WebCore::Editor::respondToChangedContents):
1275         * loader/FrameLoader.cpp:
1276         (WebCore::FrameLoader::gotoAnchor):
1277         * page/DragController.cpp:
1278         (WebCore::DragController::canProcessDrag):
1279         (WebCore::DragController::mayStartDragAtEventLocation):
1280         (WebCore::DragController::startDrag):
1281         * page/EventHandler.cpp:
1282         (WebCore::EventHandler::eventMayStartDrag):
1283         (WebCore::EventHandler::updateSelectionForMouseDrag):
1284         (WebCore::EventHandler::hitTestResultAtPoint):
1285         (WebCore::EventHandler::hoverTimerFired):
1286         (WebCore::EventHandler::handleDrag):
1287         * page/Frame.cpp:
1288         (WebCore::Frame::selectionLayoutChanged):
1289         (WebCore::Frame::contentRenderer):
1290         (WebCore::Frame::paint):
1291         (WebCore::Frame::markAllMatchesForText):
1292         (WebCore::Frame::documentAtPoint):
1293         * page/Frame.h:
1294         * page/FrameView.cpp:
1295         (WebCore::FrameView::~FrameView):
1296         (WebCore::FrameView::adjustViewSize):
1297         (WebCore::FrameView::layout):
1298         (WebCore::FrameView::scheduleRelayoutOfSubtree):
1299         (WebCore::FrameView::needsLayout):
1300         (WebCore::FrameView::setNeedsLayout):
1301         (WebCore::FrameView::updateControlTints):
1302         * rendering/RenderTreeAsText.cpp:
1303         (WebCore::write):
1304         * svg/graphics/SVGImage.cpp:
1305         (WebCore::SVGImage::nativeImageForCurrentFrame):
1306
1307 2008-04-18  Antti Koivisto  <antti@apple.com>
1308
1309         Reviewed by Oliver.
1310
1311         https://bugs.webkit.org/show_bug.cgi?id=18551
1312         REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests
1313         
1314         Fix for test svg/W3C-SVG-1.1/animate-elem-62-t.svg which was still
1315         crashing under guard malloc after the previous fix.
1316         
1317         If the event base element was a parent of the current element, dereffing it during 
1318         removedFromDocument() would cause problems. Avoid this by not holding ref pointer
1319         to the event base but instead checking from the ref count of the event listener whether
1320         it is still alive and in need for unregistering.
1321         
1322         This shold not be a problem for syncbase pointers since those are always animation elements
1323         and leaf nodes.
1324
1325         * svg/animation/SVGSMILElement.cpp:
1326         (WebCore::ConditionEventListener::ConditionEventListener):
1327         (WebCore::ConditionEventListener::unregister):
1328         (WebCore::ConditionEventListener::handleEvent):
1329         (WebCore::SVGSMILElement::connectConditions):
1330         (WebCore::SVGSMILElement::disconnectConditions):
1331         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
1332         * svg/animation/SVGSMILElement.h:
1333
1334 2008-04-18  Kevin McCullough  <kmccullough@apple.com>
1335
1336         Reviewed by Sam and Adam.
1337
1338         -<rdar://problem/5770054> JavaScript profiler (10928)
1339         - Added support for console.profile() and console.profileEnd().
1340
1341         * ForwardingHeaders/kjs/FunctionCallProfile.h: Added.
1342         * ForwardingHeaders/kjs/Profiler.h: Added.
1343         * page/Console.cpp:
1344         (WebCore::Console::profile):
1345         (WebCore::Console::profileEnd):
1346         * page/Console.h:
1347         * page/Console.idl:
1348
1349 2008-04-18  Kevin Ollivier  <kevino@theolliviers.com>
1350
1351         wx build fix. Add the new loader/appcache files.
1352
1353         * WebCoreSources.bkl:
1354
1355 2008-04-18  Dan Bernstein  <mitz@apple.com>
1356
1357         Reviewed by Darin Adler.
1358
1359         - fix https://bugs.webkit.org/show_bug.cgi?id=17921
1360           Extra white space at the end of right-aligned or justified text with -webkit-line-break: after-white-space
1361
1362         Test: fast/text/trailing-white-space.html
1363
1364         Made trailing white space on the line always behave like it has the base
1365         bidi level of the block, meaning it will always go on the right (left)
1366         of the line in a left-to-right (right-to-left) block. Made the trailing
1367         white space vanish when it is next to a margin that the text should
1368         be touching, and made its width not count when computing the center
1369         point for center alignment.
1370
1371         * platform/text/BidiResolver.h:
1372         (WebCore::::prependRun): Added.
1373         * rendering/RenderBlock.h:
1374         * rendering/bidi.cpp:
1375         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed the
1376         logicallyLastRun parameter to an optional trailingSpaceRun and changed
1377         the alignment logic to implement the above rules.
1378         (WebCore::RenderBlock::layoutInlineChildren): Added code to identify
1379         when there is trailing white space that needs to be split into its own
1380         run and optionally re-ordered.
1381         (WebCore::RenderBlock::findNextLineBreak): Removed code that split some
1382         trailing space into a separate run in one special case.
1383
1384 2008-04-10  Mark Rowe  <mrowe@apple.com>
1385
1386         Rubber-stamped by Brady Eidson.
1387
1388         Fix builds that do not have DOM storage enabled.
1389
1390         * page/DOMWindow.cpp:
1391         * page/Page.cpp:
1392         * page/PageGroup.cpp:
1393         * page/PageGroup.h:
1394
1395 2008-04-18  Timothy Hatcher  <timothy@apple.com>
1396
1397         Fixes the regression where style rules in the Inspector always show "inline stylesheet"
1398         for the source of the rule and not the URL or other sources.
1399
1400         https://bugs.webkit.org/show_bug.cgi?id=18592
1401
1402         Reviewed by Dan Bernstein.
1403
1404         * page/inspector/StylesSidebarPane.js:
1405         (WebInspector.StylesSidebarPane.prototype.update): Add parentStyleSheet to the anonymous obejct
1406         that we make for each matched rule. The parentStyleSheet property is used later to make the subtitle.
1407
1408 2008-04-18  Dean Jackson <dino@apple.com>
1409
1410         Fixed marquee suspension on wrong document. Passes current
1411         document into Frame::clearTimers.
1412
1413         Reviewed by hyatt.
1414
1415         * history/CachedPage.cpp:
1416         (WebCore::CachedPage::clear):
1417         * page/Frame.cpp:
1418         (WebCore::Frame::clearTimers):
1419         * page/Frame.h:
1420
1421 2008-04-18  Dean Jackson <dino@apple.com>
1422
1423         Add 'ease' timing function to transitions and
1424         make it the default. See latest specification proposal at:
1425         http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html
1426
1427         Reviewed by hyatt.
1428
1429         NOTE: still working on a way to test animating/transitioning content
1430
1431         * css/CSSParser.cpp:
1432         (WebCore::CSSParser::parseTransitionTimingFunction):
1433         * css/CSSStyleSelector.cpp:
1434         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
1435         * css/CSSValueKeywords.in:
1436
1437 2008-04-18  Adam Roben  <aroben@apple.com>
1438
1439         Change JavaScriptDebugListener to use KJS::UString instead of
1440         WebCore::String
1441
1442         This should reduce the number of string allocations performed while
1443         debugging.
1444
1445         Reviewed by Tim Hatcher.
1446
1447         * page/InspectorController.cpp: Updated JavaScriptDebugListener
1448         functions.
1449         * page/InspectorController.h: Ditto.
1450         * page/JavaScriptDebugListener.h: Changed to use KJS::UString instead
1451         of WebCore::String.
1452         * page/JavaScriptDebugServer.cpp: Ditto.
1453         * platform/win/BString.cpp:
1454         (WebCore::BString::BString): Added a constructor that takes a
1455         KJS::UString.
1456         * platform/win/BString.h:
1457
1458 2008-04-18  Adam Roben  <aroben@apple.com>
1459
1460         Mac build fix
1461
1462         * WebCore.xcodeproj/project.pbxproj: Mark JavaScriptDebugListener.h
1463         private.
1464
1465 2008-04-18  Adam Roben  <aroben@apple.com>
1466
1467         Make InspectorController a JavaScriptDebugListener
1468
1469         I added two new functions to the InspectorController JS object:
1470         reloadInspectedPageAndStartDebugging and stopDebugging. These control
1471         when the InspectorController adds/removes itself to/from the
1472         JavaScriptDebugServer.
1473
1474         Reviewed by Tim Hatcher.
1475
1476         * page/InspectorController.cpp:
1477         (WebCore::reloadInspectedPageAndStartDebugging): Added. Just calls
1478         through to InspectorController.
1479         (WebCore::stopDebugging): Ditto.
1480         (WebCore::InspectorController::~InspectorController): Make sure we
1481         stop debugging before we are destroyed so the JavaScriptDebugServer
1482         won't be left with a stale pointer.
1483         (WebCore::InspectorController::windowScriptObjectAvailable): Added two
1484         new functions to our JS object.
1485         (WebCore::InspectorController::closeWindow): Stop debugging when the
1486         window closes.
1487         (WebCore::InspectorController::reloadInspectedPageAndStartDebugging):
1488         Added.
1489         (WebCore::InspectorController::stopDebugging): Added.
1490
1491         (WebCore::InspectorController::didParseSource):
1492         (WebCore::InspectorController::failedToParseSource):
1493         (WebCore::InspectorController::didEnterCallFrame):
1494         (WebCore::InspectorController::willExecuteStatement):
1495         (WebCore::InspectorController::willLeaveCallFrame):
1496         Added empty implementations of the JavaScriptDebugListener functions.
1497
1498         * page/InspectorController.h:
1499
1500 2008-04-17  Adam Roben  <aroben@apple.com>
1501
1502         Rename ExecState* instances from state to exec
1503
1504         Requested by Darin Adler and Sam Weinig.
1505
1506         * bindings/js/JSConsoleCustom.cpp:
1507
1508 2008-04-17  Adam Roben  <aroben@apple.com>
1509
1510         Clean up InspectorController's use of JSStringRef
1511
1512         All JSStringRef creation now happens through a helper function,
1513         jsStringRef, which takes either a const char* or a const String& and
1514         returns a JSRetainPtr<JSStringRef>.
1515
1516         Reviewed by Mitz Pettel.
1517
1518         * page/InspectorController.cpp:
1519         Added jsStringRef and converted all callers to
1520         JSStringCreateWithUTF8CString or JSStringCreateWithCharacters to use
1521         it.
1522
1523 2008-04-17  Adam Roben  <aroben@apple.com>
1524
1525         Add wrappers around InspectorClient::{show,close}Window
1526
1527         This will let us perform actions when the window is actually
1528         showing/closing (InspectorController::show doesn't always directly
1529         show the window).
1530
1531         Reviewed by Tim Hatcher.
1532
1533         * page/InspectorController.cpp:
1534         (WebCore::InspectorController::scriptObjectReady): Call showWindow()
1535         instead of m_client->showWindow().
1536         (WebCore::InspectorController::show): Ditto.
1537         (WebCore::InspectorController::close): Ditto for closeWindow().
1538         (WebCore::InspectorController::showWindow):
1539         (WebCore::InspectorController::closeWindow):
1540         * page/InspectorController.h:
1541
1542 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
1543
1544         Reviewed by Holger.
1545
1546         Adapt to the API changes in WebKit/qt/
1547
1548         * platform/graphics/qt/ImageQt.cpp:
1549         (loadResourcePixmap):
1550
1551 2008-04-18  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1552
1553         Reviewed by Adam Roben.
1554
1555         https://bugs.webkit.org/show_bug.cgi?id=18477
1556
1557         No resize indication is shown when moving/hovering over the frame
1558         border/splitter.
1559
1560         * page/EventHandler.cpp:
1561         (WebCore::EventHandler::selectCursor):
1562
1563 2008-04-18  Adam Roben  <aroben@apple.com>
1564
1565         Windows build fix
1566
1567         Same as before, but for fabs/fabsf.
1568
1569         * svg/SVGAnimateTransformElement.cpp:
1570         (WebCore::SVGAnimateTransformElement::calculateDistance): Changed to
1571         use fabsf and removed narrowPrecisionToFloat.
1572
1573 2008-04-18  Adam Roben  <aroben@apple.com>
1574
1575         Windows build fix
1576
1577         In MSVC, sqrt() has three overloads: float, double, and long
1578         double. In GCC, sqrt() is only for doubles. Both MSVC and GCC have
1579         sqrtf() to operate explicitly on floats.
1580
1581         * svg/SVGAnimateMotionElement.cpp:
1582         (WebCore::SVGAnimateMotionElement::calculateDistance): Changed to use
1583         sqrtf and removed narrowPrecisionToFloat.
1584         * svg/SVGAnimateTransformElement.cpp:
1585         (WebCore::SVGAnimateTransformElement::calculateDistance): Ditto.
1586
1587 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
1588
1589         Fix the build without Database support (fixes the Qt/win build).
1590
1591         * page/PageGroup.cpp:
1592         (WebCore::PageGroup::localStorage):
1593
1594 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
1595
1596         Fix the Gtk build on the build bot.
1597
1598         * GNUmakefile.am: Back out the previous LocalStorage, etc. additions
1599         as they're already listed in another sources group that wasn't used
1600         due to a local configure error.
1601
1602 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
1603
1604         Prospective wx build fix.
1605
1606         * webcore-base.bkl: Add loader/appcache to include paths.
1607
1608 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
1609
1610         Build fix. Back out previous #include fix for PageGroup.h as it broke
1611         the Mac build due to forwarding headers.
1612
1613         * page/PageGroup.h:
1614
1615 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
1616
1617         Build fix for Qt and gcc 4.3.
1618
1619         * WebCore.pro: Added missing files and include paths, re-ordered
1620         the storage/ include path to avoid conflict of storage/LocalStorage.h
1621         with kjs/LocalStorage.h
1622         * page/PageGroup.h: Include LocalStorage.h instead of forward
1623         declaration to fix compilation with gcc 4.3.
1624
1625 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
1626
1627         Build fix for Gtk and gcc 4.3.
1628
1629         * GNUmakefile.am: Added missing files and include paths.
1630         * storage/LocalStorage.h: Include LocalStorageArea.h instead of
1631         forward declaring it due to the HashMap use where gcc 4.3 needs to
1632         see the class.
1633
1634 2008-04-17  Antti Koivisto  <antti@apple.com>
1635
1636         Reviewed by Oliver.
1637         
1638         https://bugs.webkit.org/show_bug.cgi?id=18573
1639
1640         Implement supplemental transforms and use them for <animateMotion> instead of the transform list.
1641         This will allow <animateTransform> and <animateMotion> combine properly.
1642
1643         * svg/SVGAnimateMotionElement.cpp:
1644         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
1645         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
1646         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
1647         * svg/SVGElement.h:
1648         (WebCore::SVGElement::supplementalTransform):
1649         * svg/SVGStyledTransformableElement.cpp:
1650         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
1651         * svg/SVGStyledTransformableElement.h:
1652         (WebCore::SVGStyledTransformableElement::supplementalTransform):
1653         * svg/SVGTextElement.cpp:
1654         (WebCore::SVGTextElement::animatedLocalTransform):
1655         * svg/SVGTextElement.h:
1656         (WebCore::SVGTextElement::supplementalTransform):
1657
1658 2008-04-17  Antti Koivisto  <antti@apple.com>
1659
1660         Reviewed by Oliver.
1661
1662         Implement calcMode=paced.
1663         
1664         Tested by SVG testsuite tests
1665         animate-elem-11-t.svg
1666         animate-elem-15-t.svg
1667         animate-elem-82-t.svg
1668
1669         * svg/SVGAnimateElement.cpp:
1670         (WebCore::SVGAnimateElement::calculateDistance):
1671         * svg/SVGAnimateElement.h:
1672         * svg/SVGAnimateMotionElement.cpp:
1673         (WebCore::SVGAnimateMotionElement::calculateDistance):
1674         * svg/SVGAnimateMotionElement.h:
1675         * svg/SVGAnimateTransformElement.cpp:
1676         (WebCore::SVGAnimateTransformElement::calculateDistance):
1677         * svg/SVGAnimateTransformElement.h:
1678         * svg/SVGAnimationElement.cpp:
1679         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
1680         (WebCore::SVGAnimationElement::startedActiveInterval):
1681         * svg/SVGAnimationElement.h:
1682         (WebCore::SVGAnimationElement::calculateDistance):
1683
1684 2008-04-17  David Hyatt  <hyatt@apple.com>
1685
1686         Fix a leak in ImageBuffer's clearImage method.
1687
1688         Reviewed by olliej
1689
1690         * platform/graphics/ImageBuffer.h:
1691         (WebCore::ImageBuffer::clearImage):
1692
1693 2008-04-17  Antti Koivisto  <antti@apple.com>
1694
1695         Reviewed by Eric.
1696         
1697         https://bugs.webkit.org/show_bug.cgi?id=12438
1698
1699         More SVG animation:
1700         
1701         - Make multiple additive animations work
1702         - Support animating <use> instance trees
1703
1704         * svg/SVGAnimateColorElement.cpp:
1705         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
1706         * svg/SVGAnimateColorElement.h:
1707         
1708         Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
1709         
1710         * svg/SVGAnimateElement.cpp:
1711         (WebCore::SVGAnimateElement::determinePropertyType):
1712         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1713         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1714         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1715         (WebCore::SVGAnimateElement::resetToBaseValue):
1716         (WebCore::SVGAnimateElement::applyResultsToTarget):
1717         * svg/SVGAnimateElement.h:
1718         * svg/SVGAnimateMotionElement.cpp:
1719         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
1720         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
1721         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
1722         * svg/SVGAnimateMotionElement.h:
1723         * svg/SVGAnimateTransformElement.cpp:
1724         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
1725         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
1726         (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
1727         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
1728         * svg/SVGAnimateTransformElement.h:
1729         
1730         Switch to new model where
1731         - resetToBaseValue() resets the animated value back to the base value
1732         - calculateAnimatedValue() computes the value and adds it to the element used for accumulation
1733         - applyResultsToTarget() sets the computed value the target element
1734         
1735         * svg/SVGAnimationElement.cpp:
1736         (WebCore::SVGAnimationElement::fromValue):
1737         (WebCore::SVGAnimationElement::attributeIsCSS):
1738         (WebCore::SVGAnimationElement::targetAttributeIsCSS):
1739         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
1740         
1741         Update instances too.
1742         
1743         (WebCore::SVGAnimationElement::startedActiveInterval):
1744         (WebCore::SVGAnimationElement::updateAnimation):
1745         (WebCore::SVGAnimationElement::endedActiveInterval):
1746         * svg/SVGAnimationElement.h:
1747         * svg/SVGSVGElement.cpp:
1748         (WebCore::SVGSVGElement::SVGSVGElement):
1749         * svg/SVGSetElement.cpp:
1750         (WebCore::SVGSetElement::SVGSetElement):
1751         * svg/SVGSetElement.h:
1752         
1753         Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
1754         
1755         * svg/animation/SMILTimeContainer.cpp:
1756         (WebCore::SMILTimeContainer::SMILTimeContainer):
1757         (WebCore::SMILTimeContainer::unschedule):
1758         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
1759         (WebCore::PriorityCompare::PriorityCompare):
1760         (WebCore::PriorityCompare::operator()):
1761         (WebCore::SMILTimeContainer::sortByPriority):
1762         (WebCore::applyOrderSortFunction):
1763         (WebCore::sortByApplyOrder):
1764         (WebCore::SMILTimeContainer::baseValueFor):
1765         (WebCore::SMILTimeContainer::updateAnimations):
1766         * svg/animation/SMILTimeContainer.h:
1767         (WebCore::SMILTimeContainer::create):
1768         (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
1769         
1770         Do additive animation with the following steps
1771         - sort active animations based on their priority (begin time, document order).
1772         - if not yet saved for each (element, attribute) pair save the base value.
1773         - lowest priority animation for each (element, attribute) acts as the result element.
1774         - animation results are resolved in priority order and results are accumulated to the result element.
1775         - after all active animations have been processed the values in result elements are applied to the target elements.
1776         
1777         * svg/animation/SVGSMILElement.cpp:
1778         (WebCore::SVGSMILElement::SVGSMILElement):
1779         (WebCore::SVGSMILElement::insertedIntoDocument):
1780         
1781         Invalidate document order index.
1782         
1783         (WebCore::SVGSMILElement::attributeName):
1784         (WebCore::SVGSMILElement::isInactive):
1785         (WebCore::SVGSMILElement::isFrozen):
1786         (WebCore::SVGSMILElement::beginListChanged):
1787         (WebCore::SVGSMILElement::determineActiveState):
1788         (WebCore::SVGSMILElement::isContributing):
1789         (WebCore::SVGSMILElement::progress):
1790         
1791         Take care that animations in frozen state still contribute to the total. Since we now build the result starting
1792         from the base value, fill="replace" works magically simply by not contributing anything.
1793         
1794         * svg/animation/SVGSMILElement.h:
1795         (WebCore::SVGSMILElement::previousIntervalBegin):
1796         (WebCore::SVGSMILElement::documentOrderIndex):
1797         (WebCore::SVGSMILElement::setDocumentOrderIndex):
1798
1799 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
1800
1801         Reviewed by Darin, Alice.
1802
1803         Implement AXObjectCache::detachWrapper() on Windows.
1804
1805         * page/win/AXObjectCacheWin.cpp:
1806         (WebCore::AXObjectCache::detachWrapper): If this object has a wrapper,
1807         call its detach() method.
1808
1809 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
1810
1811         Reviewed by mrowe.
1812
1813         Define HAVE_ACCESSIBILITY in a way that WebKit and WebCore can see it.
1814
1815         * config.h: Remove HAVE_ACCESSIBILITY.
1816         * page/AccessibilityObject.h: Include wtf/Platform.h to pick up
1817         HAVE_ACCESSIBILITY.
1818
1819 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
1820
1821         Reviewed by aliu.
1822
1823         * page/AccessibilityObject.cpp:
1824         (WebCore::AccessibilityObject::layoutCount): Check isRenderView() before
1825         casting to RenderView.
1826
1827 2008-04-17  Antti Koivisto  <antti@apple.com>
1828
1829         Reviewed by Oliver.
1830         
1831         Fix https://bugs.webkit.org/show_bug.cgi?id=18551
1832         Bug 18551: REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests under guard malloc
1833         
1834         Freeing a RefPtr that is the last ref to the parent from removedFromDocument() is a bad idea.
1835
1836         Caching the target element is too dangerous, let's simply not do it. Getting it is very cheap anyway.
1837
1838         * svg/animation/SVGSMILElement.cpp:
1839         (WebCore::SVGSMILElement::removedFromDocument):
1840         (WebCore::SVGSMILElement::attributeChanged):
1841         (WebCore::SVGSMILElement::targetElement):
1842         * svg/animation/SVGSMILElement.h:
1843
1844 2008-04-17  Sam Weinig  <sam@webkit.org>
1845
1846         Reviewed by Anders Carlsson.
1847
1848         Autogenerate the XMLHttpRequest javascript binding.
1849
1850         * GNUmakefile.am:
1851         * WebCore.pro:
1852         * WebCore.vcproj/WebCore.vcproj:
1853         * WebCoreSources.bkl:
1854         * DerivedSources.make:
1855         * WebCore.xcodeproj/project.pbxproj:
1856         * bindings/js/JSDOMWindowBase.cpp:
1857         * bindings/js/JSXMLHttpRequest.cpp: Removed.
1858         * bindings/js/JSXMLHttpRequest.h: Removed.
1859         * bindings/js/JSXMLHttpRequestConstructor.cpp: Added.
1860         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1861         (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
1862         (WebCore::JSXMLHttpRequestConstructor::construct):
1863         * bindings/js/JSXMLHttpRequestConstructor.h: Added.
1864         (WebCore::JSXMLHttpRequestConstructor::classInfo):
1865         * bindings/js/JSXMLHttpRequestCustom.cpp: Added.
1866         (WebCore::JSXMLHttpRequest::mark):
1867         (WebCore::JSXMLHttpRequest::onreadystatechange):
1868         (WebCore::JSXMLHttpRequest::setOnreadystatechange):
1869         (WebCore::JSXMLHttpRequest::onload):
1870         (WebCore::JSXMLHttpRequest::setOnload):
1871         (WebCore::JSXMLHttpRequest::responseXML):
1872         (WebCore::JSXMLHttpRequest::open):
1873         (WebCore::JSXMLHttpRequest::setRequestHeader):
1874         (WebCore::JSXMLHttpRequest::send):
1875         (WebCore::JSXMLHttpRequest::getResponseHeader):
1876         (WebCore::JSXMLHttpRequest::overrideMimeType):
1877         (WebCore::JSXMLHttpRequest::addEventListener):
1878         (WebCore::JSXMLHttpRequest::removeEventListener):
1879         (WebCore::JSXMLHttpRequest::dispatchEvent):
1880         * xml/XMLHttpRequest.cpp:
1881         (WebCore::XMLHttpRequest::readyState):
1882         (WebCore::XMLHttpRequest::responseText):
1883         * xml/XMLHttpRequest.h:
1884         * xml/XMLHttpRequest.idl: Added.
1885
1886 2008-04-17  Brady Eidson  <beidson@apple.com>
1887
1888         Reviewed by Anders
1889
1890         The SessionStorage for a Page has to be copied every time a new Page is created.
1891
1892         I thought I had the right choke point for creating new Pages at FrameLoader::createWindow(),
1893         but it just so happens there was another - in the ContextMenuController.
1894
1895         The *real* choke point for this, then, is in the Chrome itself.
1896
1897         * loader/FrameLoader.cpp:
1898         (WebCore::FrameLoader::createWindow): Don't do the SessionStorage copy here...
1899
1900         * page/Chrome.cpp:
1901         (WebCore::Chrome::createWindow): Do it here, instead!
1902
1903 2008-04-17  Alice Liu  <alice.liu@apple.com>
1904
1905         Reviewed by Jon Honeycutt.
1906
1907         Added some asserts to catch undesirable usage of setWrapper and addChildren.
1908         * page/AccessibilityObject.cpp:
1909         (WebCore::AccessibilityObject::addChildren):
1910         * page/AccessibilityObject.h:
1911         (WebCore::AccessibilityObject::setWrapper):
1912
1913 2008-04-17  Brady Eidson  <beidson@apple.com>
1914
1915         Reviewed by the Mitzpettel
1916
1917         Before things get much more intertwined, move away from a global LocalStorage model
1918         to a per-PageGroup LocalStorage model.
1919
1920         * page/DOMWindow.cpp:
1921         (WebCore::DOMWindow::localStorage): Get it from the current PageGroup, not the global
1922           LocalStorage (which doesn't exist anymore).
1923
1924         * page/Page.cpp:
1925         * page/PageGroup.cpp:
1926         (WebCore::PageGroup::localStorage): Create a LocalStorage object on demand.
1927         * page/PageGroup.h:
1928
1929         * storage/LocalStorage.cpp:
1930         (WebCore::LocalStorage::LocalStorage): Hold a back pointer to the owning PageGroup.
1931         (WebCore::LocalStorage::storageArea):
1932         * storage/LocalStorage.h:
1933         (WebCore::LocalStorage::create):
1934
1935         * storage/LocalStorageArea.cpp:
1936         (WebCore::LocalStorageArea::LocalStorageArea): Hold a back pointer to the owning LocalStorage.
1937         * storage/LocalStorageArea.h:
1938         (WebCore::LocalStorageArea::create):
1939
1940 2008-04-17  Anders Carlsson  <andersca@apple.com>
1941
1942         Fix indentation.
1943         
1944         * loader/DocumentLoader.cpp:
1945         (WebCore::DocumentLoader::scheduleArchiveLoad):
1946
1947 2008-04-17  Anders Carlsson  <andersca@apple.com>
1948
1949         Reviewed by Brady.
1950
1951         When in the web archive debug mode, don't call didFail immediately. Instead,
1952         add the loader to the substitute resource map, but with a null resource, which
1953         indicates to substituteResourceDeliveryTimerFired that the load should fail.
1954         
1955         * loader/DocumentLoader.cpp:
1956         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
1957         (WebCore::DocumentLoader::scheduleArchiveLoad):
1958         * loader/ResourceLoader.cpp:
1959         (WebCore::ResourceLoader::load):
1960
1961 2008-04-17  Anders Carlsson  <andersca@apple.com>
1962
1963         Reviewed by Sam.
1964
1965         Add JS bindings for the DOMApplicationCache object.
1966         
1967         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1968         (WebCore::JSDOMApplicationCache::add):
1969         (WebCore::JSDOMApplicationCache::remove):
1970         (WebCore::JSDOMApplicationCache::addEventListener):
1971         (WebCore::JSDOMApplicationCache::removeEventListener):
1972         (WebCore::JSDOMApplicationCache::dispatchEvent):
1973         (WebCore::JSDOMApplicationCache::setOnchecking):
1974         (WebCore::JSDOMApplicationCache::onchecking):
1975         (WebCore::JSDOMApplicationCache::setOnerror):
1976         (WebCore::JSDOMApplicationCache::onerror):
1977         (WebCore::JSDOMApplicationCache::setOnnoupdate):
1978         (WebCore::JSDOMApplicationCache::onnoupdate):
1979         (WebCore::JSDOMApplicationCache::setOndownloading):
1980         (WebCore::JSDOMApplicationCache::ondownloading):
1981         (WebCore::JSDOMApplicationCache::setOnprogress):
1982         (WebCore::JSDOMApplicationCache::onprogress):
1983         (WebCore::JSDOMApplicationCache::setOnupdateready):
1984         (WebCore::JSDOMApplicationCache::onupdateready):
1985         (WebCore::JSDOMApplicationCache::setOncached):
1986         (WebCore::JSDOMApplicationCache::oncached):
1987         (WebCore::JSDOMApplicationCache::mark):
1988         * bindings/js/JSDOMWindowCustom.cpp:
1989         (WebCore::JSDOMWindow::mark):
1990         * bindings/js/JSEventTargetBase.cpp:
1991         (WebCore::toJS):
1992         * loader/appcache/DOMApplicationCache.idl:
1993         * page/DOMWindow.idl:
1994
1995 2008-04-17 Eric Carlson  <eric.carlson@apple.com> 
1996
1997         Reviewed by Adele. 
1998
1999         Fix for <rdar://problem/5861642> QTMovieWin returns uninitialized values
2000
2001         * platform/graphics/win/QTMovieWin.cpp:
2002         (QTMovieWin::rate):
2003         (QTMovieWin::setRate):
2004         (QTMovieWin::setVolume):
2005         (QTMovieWin::getNaturalSize):
2006
2007 2008-04-17  Marco Barisione  <marco.barisione@collabora.co.uk>
2008
2009         Reviewed by Alp Toker.
2010
2011         http://bugs.webkit.org/show_bug.cgi?id=18335
2012         Pango font backend unable to display japanese properly
2013
2014         Different fonts can have different glyph indices, so we need to pass
2015         the right font when retrieving a glyph index.
2016
2017         * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
2018         (WebCore::pango_font_get_glyph): Temporarily override the font in the
2019         PangoAnalysis passed to pango_shape.
2020
2021 2008-04-17  Anders Carlsson  <andersca@apple.com>
2022
2023         According to Sam and David, it's "topLevel", not "toplevel".
2024         
2025         * loader/DocumentLoader.cpp:
2026         (WebCore::DocumentLoader::topLevelApplicationCache):
2027         * loader/DocumentLoader.h:
2028         * loader/appcache/DOMApplicationCache.cpp:
2029         (WebCore::DOMApplicationCache::associatedCache):
2030
2031 2008-04-17  Anders Carlsson  <andersca@apple.com>
2032
2033         Reviewed by Sam.
2034
2035         Add DOMApplicationCache implementation.
2036         
2037         * dom/EventNames.h:
2038         Add new event names.
2039         
2040         * dom/EventTarget.cpp:
2041         (WebCore::EventTarget::toDOMApplicationCache):
2042         * dom/EventTarget.h:
2043         Add EventTarget conversion method.
2044         
2045         * loader/appcache/ApplicationCacheGroup.h:
2046         (WebCore::ApplicationCacheGroup::):
2047         (WebCore::ApplicationCacheGroup::status):
2048         (WebCore::ApplicationCacheGroup::update):
2049         (WebCore::ApplicationCacheGroup::newestCache):
2050         Add more stubs.
2051         
2052         * loader/appcache/DOMApplicationCache.cpp:
2053         * loader/appcache/DOMApplicationCache.h:
2054
2055         * page/DOMWindow.cpp:
2056         (WebCore::DOMWindow::clear):
2057         (WebCore::DOMWindow::applicationCache):
2058         * page/DOMWindow.h:
2059         (WebCore::DOMWindow::optionalApplicationCache):
2060         Add ApplicationCache member.
2061         
2062 2008-04-17  Anders Carlsson  <andersca@apple.com>
2063
2064         Build fix.
2065
2066         * WebCore.vcproj/WebCore.vcproj:
2067
2068 2008-04-17  Dean Jackson  <dino@apple.com>
2069
2070         Reviewed by Hyatt.
2071
2072         Fix for <rdar://problem/5849968> translate method should have Y=0 when only X is present
2073
2074         Test: fast/css/transform-default-parameter.html
2075
2076         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
2077         translate function with only X parameter now leaves the Y parameter as zero.
2078
2079 2008-04-17  Anders Carlsson  <andersca@apple.com>
2080
2081         Reviewed by Sam.
2082         
2083         Add plumbing for associating document loaders with application caches.
2084         
2085         * loader/DocumentLoader.cpp:
2086         (WebCore::DocumentLoader::DocumentLoader):
2087         (WebCore::DocumentLoader::~DocumentLoader):
2088         (WebCore::DocumentLoader::originalURL):
2089         (WebCore::DocumentLoader::requestURL):
2090         (WebCore::DocumentLoader::responseURL):
2091         (WebCore::DocumentLoader::responseMIMEType):
2092         (WebCore::DocumentLoader::setCandidateApplicationCacheGroup):
2093         (WebCore::DocumentLoader::setApplicationCache):
2094         (WebCore::DocumentLoader::toplevelApplicationCache):
2095         * loader/DocumentLoader.h:
2096         (WebCore::DocumentLoader::candidateApplicationCacheGroup):
2097         (WebCore::DocumentLoader::applicationCache):
2098         * loader/appcache/ApplicationCacheGroup.h:
2099         (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
2100
2101 2008-04-17  Adam Roben  <aroben@apple.com>
2102
2103         Fix Bug 18544: REGRESSION (r31951): Two fast/xsl tests crash
2104
2105         <https://bugs.webkit.org/show_bug.cgi?id=18544>
2106
2107         r31951 changed XSLTProcessor::parseErrorFunc to expect a Console* as
2108         the context parameter. The caller in XSLTProcessor was changed, but
2109         the one in XSLStyleSheet was missed.
2110
2111         Reviewed by Alexey Proskuryakov.
2112
2113         * xml/XSLStyleSheet.cpp:
2114         (WebCore::XSLStyleSheet::parseString): Pass the Console as the context
2115         to parseErrorFunc.
2116
2117 2008-04-17  Adam Roben  <aroben@apple.com>
2118
2119         Windows build fix after r31981
2120
2121         * dom/Document.idl: Omit getCSSCanvasContext from the COM bindings.
2122
2123 2008-04-17  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2124
2125         Reviewed by Simon.
2126
2127         Implemented getFileModificationTime and pathGetFileName for the Qt port.
2128
2129         * platform/qt/FileSystemQt.cpp:
2130         (WebCore::getFileModificationTime):
2131
2132 2008-04-17  Mark Rowe  <mrowe@apple.com>
2133
2134         Fix the non-Mac builds that I broke with my Mac build fix.
2135
2136         * css/CSSMutableStyleDeclaration.cpp:
2137         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Explicitly use the size_t version of max
2138         to avoid making assumptions about sizeof(size_t).
2139
2140 2008-04-17  Mark Rowe  <mrowe@apple.com>
2141
2142         Rubber-stamped by Dan Bernstein.
2143
2144         Fix the Mac build.
2145
2146         * css/CSSMutableStyleDeclaration.cpp:
2147         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Update to use size_t in place of unsigned.
2148         * dom/NamedNodeMap.h: Ditto.
2149         * page/AccessibilityObject.h: Forward-declare AccessibilityObjectWrapper in the non-Objective-C case too.
2150
2151 2008-04-16  Jon Honeycutt  <jhoneycutt@apple.com>
2152
2153         Reviewed by Darin.
2154
2155         Use size_t instead of unsigned where appropriate.
2156
2157         * css/CSSValueList.h:
2158         * dom/NamedAttrMap.h:
2159         * rendering/RenderStyle.h:
2160
2161 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
2162
2163         Reviewed by Darin.
2164
2165         Add some methods to check AccessibilityObject state.
2166
2167         * page/AccessibilityObject.cpp:
2168         (WebCore::AccessibilityObject::AccessibilityObject): Assert that the
2169         passed renderer is not null.
2170         (WebCore::AccessibilityObject::isPasswordField): Refactored to use early
2171         return.
2172         (WebCore::AccessibilityObject::isPressed): Return true if this is a
2173         button in the pressed state.
2174         (WebCore::AccessibilityObject::isIndeterminate): Return true if this is
2175         a tri-state checkbox in the indeterminate state.
2176         (WebCore::AccessibilityObject::isChecked): True if this is a radio
2177         button or checkbox in the checked state.
2178         (WebCore::AccessibilityObject::isHovered): True if object is currently
2179         under the mouse cursor.
2180         (WebCore::AccessibilityObject::isMultiSelect): True if this is a select
2181         element capable of multi-select.
2182         (WebCore::AccessibilityObject::isReadOnly): False if this object has
2183         editable content.
2184         (WebCore::AccessibilityObject::isOffScreen): True if this object is not
2185         in the visible portion of the view.
2186         * page/AccessibilityObject.h: Grouped methods into is-state and is-kind.
2187
2188 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
2189
2190         Reviewed by Darin.
2191
2192         Add AccessibilityObjectWrapper to Windows.
2193
2194         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityObjectWrapperWin.h
2195         * page/AccessibilityObject.h: Include COMPtr.h,
2196         AccessibilityObjectWrapperWin.h on Windows. Define wrapper() and
2197         setWrapper() if accessibility is present. Add an m_wrapper on Windows.
2198         * page/AccessibilityObject.cpp:
2199         (WebCore::AccessibilityObject::detach): Clear m_wrapper if
2200         accessibility is present.
2201         * page/win/AccessibilityObjectWrapperWin.h: Added; defines a wrapper for
2202         AccessibilityObjects on Windows.
2203         (WebCore::AccessibilityObjectWrapper::attached): Return true if attached
2204         to an object.
2205         (WebCore::AccessibilityObjectWrapper::accessibilityObject): Return the
2206         wrapped object.
2207         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
2208
2209 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
2210
2211         Reviewed by Darin.
2212
2213         Add AXObjectCache to Windows.
2214
2215         * WebCore.vcproj/WebCore.vcproj: Add AXObjectCacheWin.cpp.
2216         * page/AXObjectCache.h: Add handleFocusedUIElementChanged definition to
2217         non-Mac platforms, and added stub for it. Replace PLATFORM(MAC)
2218         conditional with HAVE(ACCESSIBILITY) for stubs.
2219         (WebCore::AXObjectCache::enableAccessibility):
2220         (WebCore::AXObjectCache::accessibilityEnabled):
2221         * page/win/AXObjectCacheWin.cpp: Added; contains stubs for the methods
2222         below.
2223         (WebCore::AXObjectCache::detachWrapper):
2224         (WebCore::AXObjectCache::attachWrapper):
2225         (WebCore::AXObjectCache::postNotification):
2226         (WebCore::AXObjectCache::postNotificationToElement):
2227         * config.h: Define HAVE_ACCESSIBILITY on Mac and Windows.
2228
2229 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
2230
2231         Reviewed by Darin.
2232
2233         * WebCore.vcproj/WebCore.vcproj: Fix path to AXObjectCache.h.
2234
2235 2008-04-16  Brady Eidson  <beidson@apple.com>
2236
2237         Reviewed by Darin Adler
2238
2239         Merge the StorageAreaClient into the StorageArea class itself as pure virtual methods.
2240         Add "LocalStorageArea" and "SessionStorageArea" implementations, and have SessionStorage
2241         and LocalStorage instantiate the appropriate type of StorageArea object.
2242
2243         This purpose of this change is because while adding the persistent store to LocalStorage,
2244         it became obvious that the client approach wasn't scaling well.  Additionally, a StorageArea
2245         backing a local storage area required vastly different data members compared to one backing
2246         a session storage area.
2247
2248         This will be much cleaner going forward.
2249
2250         * GNUmakefile.am:
2251         * WebCore.pro:
2252         * WebCore.vcproj/WebCore.vcproj:
2253         * WebCore.xcodeproj/project.pbxproj:
2254         * WebCoreSources.bkl:
2255
2256         * storage/LocalStorage.cpp:
2257         (WebCore::LocalStorage::storageArea):
2258         * storage/LocalStorage.h:
2259
2260         * storage/LocalStorageArea.cpp: Added.
2261         (WebCore::LocalStorageArea::LocalStorageArea):
2262         (WebCore::LocalStorageArea::itemChanged):
2263         (WebCore::LocalStorageArea::itemRemoved):
2264         (WebCore::LocalStorageArea::dispatchStorageEvent):
2265         * storage/LocalStorageArea.h: Added.
2266         (WebCore::LocalStorageArea::create):
2267
2268         * storage/SessionStorage.cpp:
2269         (WebCore::SessionStorage::copy):
2270         (WebCore::SessionStorage::storageArea):
2271         * storage/SessionStorage.h:
2272
2273         * storage/SessionStorageArea.cpp: Added.
2274         (WebCore::SessionStorageArea::copy):
2275         (WebCore::SessionStorageArea::SessionStorageArea):
2276         (WebCore::SessionStorageArea::itemChanged):
2277         (WebCore::SessionStorageArea::itemRemoved):
2278         (WebCore::SessionStorageArea::dispatchStorageEvent):
2279         * storage/SessionStorageArea.h: Added.
2280         (WebCore::SessionStorageArea::create):
2281         (WebCore::SessionStorageArea::page):
2282
2283         * storage/StorageArea.cpp:
2284         (WebCore::StorageArea::StorageArea):
2285         (WebCore::StorageArea::setItem):
2286         (WebCore::StorageArea::removeItem):
2287         (WebCore::StorageArea::storageMap):
2288         * storage/StorageArea.h:
2289
2290         * storage/StorageAreaClient.h: Removed.
2291
2292 2008-04-16  David Hyatt  <hyatt@apple.com>
2293
2294         Add support for the ability to draw directly into CSS images using CanvasRenderingContext2D.
2295
2296         Reviewed by olliej
2297
2298         Added fast/canvas/canvas-bg.html
2299
2300         * GNUmakefile.am:
2301         * WebCore.pro:
2302         * WebCore.vcproj/WebCore.vcproj:
2303         * WebCore.xcodeproj/project.pbxproj:
2304         * WebCoreSources.bkl:
2305         * css/CSSCanvasValue.cpp: Added.
2306         (WebCore::CSSCanvasValue::~CSSCanvasValue):
2307         (WebCore::CSSCanvasValue::cssText):
2308         (WebCore::CSSCanvasValue::canvasChanged):
2309         (WebCore::CSSCanvasValue::canvasResized):
2310         (WebCore::CSSCanvasValue::fixedSize):
2311         (WebCore::CSSCanvasValue::element):
2312         (WebCore::CSSCanvasValue::image):
2313         * css/CSSCanvasValue.h: Added.
2314         (WebCore::CSSCanvasValue::CSSCanvasValue):
2315         (WebCore::CSSCanvasValue::isFixedSize):
2316         (WebCore::CSSCanvasValue::setName):
2317         * css/CSSGradientValue.cpp:
2318         * css/CSSGradientValue.h:
2319         * css/CSSImageGeneratorValue.cpp:
2320         (WebCore::CSSImageGeneratorValue::generatedImage):
2321         * css/CSSImageGeneratorValue.h:
2322         (WebCore::CSSImageGeneratorValue::isFixedSize):
2323         (WebCore::CSSImageGeneratorValue::fixedSize):
2324         * css/CSSParser.cpp:
2325         (WebCore::CSSParser::parseContent):
2326         (WebCore::CSSParser::parseBackgroundImage):
2327         (WebCore::CSSParser::parseBorderImage):
2328         (WebCore::CSSParser::parseCanvas):
2329         * css/CSSParser.h:
2330         * dom/Document.cpp:
2331         (WebCore::Document::getCSSCanvasContext):
2332         (WebCore::Document::getCSSCanvasElement):
2333         * dom/Document.h:
2334         * dom/Document.idl:
2335         * html/HTMLCanvasElement.cpp:
2336         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2337         (WebCore::HTMLCanvasElement::reset):
2338         * html/HTMLCanvasElement.h:
2339         (WebCore::HTMLCanvasElement::setSize):
2340         * rendering/RenderBox.cpp:
2341         (WebCore::RenderBox::calculateBackgroundSize):
2342         (WebCore::RenderBox::imageChanged):
2343         * rendering/RenderBox.h:
2344         * rendering/RenderImage.cpp:
2345         (WebCore::RenderImage::imageChanged):
2346         * rendering/RenderImage.h:
2347         (WebCore::RenderImage::imagePtr):
2348         (WebCore::RenderImage::intrinsicSizeChanged):
2349         * rendering/RenderImageGeneratedContent.h:
2350         (WebCore::RenderImageGeneratedContent::imageSize):
2351         (WebCore::RenderImageGeneratedContent::imagePtr):
2352         * rendering/RenderListMarker.cpp:
2353         (WebCore::RenderListMarker::layout):
2354         (WebCore::RenderListMarker::imageChanged):
2355         (WebCore::RenderListMarker::calcPrefWidths):
2356         (WebCore::RenderListMarker::getRelativeMarkerRect):
2357         * rendering/RenderListMarker.h:
2358         * rendering/RenderObject.cpp:
2359         (WebCore::RenderObject::paintBorderImage):
2360         (WebCore::RenderObject::imageChanged):
2361         * rendering/RenderObject.h:
2362         (WebCore::RenderObject::imageChanged):
2363         * rendering/RenderSVGImage.cpp:
2364         (WebCore::RenderSVGImage::imageChanged):
2365         * rendering/RenderSVGImage.h:
2366         * rendering/RenderStyle.cpp:
2367         (WebCore::StyleCachedImage::imageSize):
2368         (WebCore::StyleGeneratedImage::imageSize):
2369         * rendering/RenderStyle.h:
2370         (WebCore::StyleCachedImage::data):
2371         (WebCore::StyleGeneratedImage::StyleGeneratedImage):
2372         (WebCore::StyleGeneratedImage::data):
2373         (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
2374         (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
2375         (WebCore::StyleGeneratedImage::usesImageContainerSize):
2376         * rendering/RenderTableCol.cpp:
2377         (WebCore::RenderTableCol::imageChanged):
2378         * rendering/RenderTableCol.h:
2379         * rendering/RenderTableRow.cpp:
2380         (WebCore::RenderTableRow::imageChanged):
2381         * rendering/RenderTableRow.h:
2382         * rendering/RenderTableSection.cpp:
2383         (WebCore::RenderTableSection::imageChanged):
2384         * rendering/RenderTableSection.h:
2385
2386 2008-04-16  Anders Carlsson  <andersca@apple.com>
2387
2388         Reviewed by Darin.
2389
2390         Add manifest parser.
2391
2392         * loader/appcache/ManifestParser.cpp:
2393         (WebCore::):
2394         (WebCore::parseManifest):
2395         * loader/appcache/ManifestParser.h:
2396         * platform/text/CharacterNames.h:
2397
2398 2008-04-16  Darin Adler  <darin@apple.com>
2399
2400         Reviewed by Mitz.
2401
2402         - fix <rdar://problem/5858617> REGRESSION (r21452-Safari 3.1):
2403           Safari does not find words containing ß (German letter sharp-s)
2404
2405         Test: fast/text/find-case-folding.html
2406
2407         * platform/text/StringImpl.cpp:
2408         (WebCore::StringImpl::foldCase):
2409         Pass the folded length to foldCase rather than the original string length.
2410         Without this, we get an error code every time.
2411
2412 2008-04-16  Anders Carlsson  <andersca@apple.com>
2413
2414         Fix build.
2415         
2416         * loader/appcache/ApplicationCache.cpp:
2417         (WebCore::ApplicationCache::ApplicationCache):
2418         (WebCore::ApplicationCache::setManifestResource):
2419         (WebCore::ApplicationCache::addResource):
2420
2421 2008-04-16  Anders Carlsson  <andersca@apple.com>
2422
2423         Reviewed by Darin.
2424
2425         Add new protocolHostAndPortAreEqual function.
2426         
2427         * platform/KURL.cpp:
2428         (WebCore::KURL::host):
2429         (WebCore::KURL::setHost):
2430         (WebCore::KURL::setHostAndPort):
2431         (WebCore::protocolHostAndPortAreEqual):
2432         * platform/KURL.h:
2433         (WebCore::KURL::hostStart):
2434
2435 2008-04-16  Anders Carlsson  <andersca@apple.com>
2436
2437         Reviewed by Sam.
2438         
2439         Fix some style nits.
2440         
2441         * loader/appcache/ApplicationCache.cpp:
2442         (WebCore::ApplicationCache::ApplicationCache):
2443         (WebCore::ApplicationCache::setManifestResource):
2444         (WebCore::ApplicationCache::addResource):
2445         (WebCore::ApplicationCache::removeResource):
2446         (WebCore::ApplicationCache::dump):
2447         * loader/appcache/ApplicationCacheGroup.h:
2448
2449 2008-04-16  Anders Carlsson  <andersca@apple.com>
2450
2451         Reviewed by Brady and Sam.
2452
2453         Add ApplicationCache implementation. Stub out ApplicationCacheGroup methods
2454         needed by ApplicationCache.
2455         
2456         * loader/appcache/ApplicationCache.cpp:
2457         (WebCore::ApplicationCache::ApplicationCache):
2458         (WebCore::ApplicationCache::~ApplicationCache):
2459         (WebCore::ApplicationCache::setManifestResource):
2460         (WebCore::ApplicationCache::addResource):
2461         (WebCore::ApplicationCache::removeResource):
2462         (WebCore::ApplicationCache::resourceForURL):
2463         (WebCore::ApplicationCache::resourceForRequest):
2464         (WebCore::ApplicationCache::numDynamicEntries):
2465         (WebCore::ApplicationCache::dynamicEntry):
2466         (WebCore::ApplicationCache::addDynamicEntry):
2467         (WebCore::ApplicationCache::removeDynamicEntry):
2468         (WebCore::ApplicationCache::setOnlineWhitelist):
2469         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
2470         (WebCore::ApplicationCache::dump):
2471         * loader/appcache/ApplicationCache.h:
2472         (WebCore::ApplicationCache::create):
2473         (WebCore::ApplicationCache::manifestResource):
2474         (WebCore::ApplicationCache::group):
2475         (WebCore::ApplicationCache::begin):
2476         (WebCore::ApplicationCache::end):
2477         * loader/appcache/ApplicationCacheGroup.h:
2478         (WebCore::ApplicationCacheGroup::manifestURL):
2479         (WebCore::ApplicationCacheGroup::cacheDestroyed):
2480
2481 2008-04-16  Adam Roben  <aroben@apple.com>
2482
2483         Fix Bug 18505: REGRESSION: Search is disabled and not functional
2484
2485         <https://bugs.webkit.org/show_bug.cgi?id=18505>
2486
2487         Reviewed by Tim Hatcher.
2488
2489         * page/inspector/ResourcesPanel.js:
2490         (WebInspector.ResourcesPanel.sourceFrameForResource): Added.
2491         * page/inspector/inspector.css: Added back rules for the search field
2492         that were removed in r31736.
2493         * page/inspector/inspector.html:
2494           - Removed the disabled attribute from the search field
2495           - Added back the #searchResults and #searchResultsResizer divs which
2496             were removed in r31736
2497         * page/inspector/inspector.js:
2498         (WebInspector.set showingSearchResults): Updated for class rename
2499         panels -> main-panels.
2500         (WebInspector.loaded): Added back the mousedown event listener for the
2501         search results resizer that was removed in r31736.
2502         (WebInspector.searchResultsResizerDrag): Updated for class rename
2503         panels -> main-panels.
2504         (WebInspector.performSearch):
2505           - Changed to use sourceFrameForResource
2506           - Changed to use showResource
2507           - Changed to save/restore the focused element around the setting of
2508             the current panel
2509           - Changed to get the source document from the match range instead of
2510             by crawling back up to the source view
2511           - Changed to bind the onselect handlers to this so that we can
2512             access the Elements/Resources panels
2513
2514 2008-04-16  Brady Eidson  <beidson@apple.com>
2515
2516         Reviewed by Sam Weinig
2517
2518         Changing ThreadSafeShared to start with a ref count of 1, so updating all users to
2519         adoptRef() that initial reference.
2520
2521         * bindings/js/JSCustomSQLStatementCallback.h:
2522         (WebCore::JSCustomSQLStatementCallback::create):
2523         * bindings/js/JSCustomSQLStatementErrorCallback.h:
2524         (WebCore::JSCustomSQLStatementErrorCallback::create):
2525         * bindings/js/JSCustomSQLTransactionCallback.h:
2526         (WebCore::JSCustomSQLTransactionCallback::create):
2527         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
2528         (WebCore::JSCustomSQLTransactionErrorCallback::create):
2529
2530         * bindings/js/JSDatabaseCustom.cpp:
2531         (WebCore::JSDatabase::changeVersion):
2532         (WebCore::JSDatabase::transaction):
2533
2534         * bindings/js/JSSQLTransactionCustom.cpp:
2535         (WebCore::JSSQLTransaction::executeSql):
2536
2537         * dom/Document.cpp:
2538         (WebCore::Document::databaseThread):
2539
2540         * platform/SecurityOrigin.cpp:
2541         (WebCore::SecurityOrigin::create):
2542
2543         * platform/sql/SQLiteAuthorizer.h:
2544         (WebCore::SQLiteAuthorizer::create):
2545         (WebCore::SQLiteAuthorizer::SQLiteAuthorizer):
2546
2547         * storage/ChangeVersionWrapper.cpp:
2548         (WebCore::ChangeVersionWrapper::performPreflight):
2549         (WebCore::ChangeVersionWrapper::performPostflight):
2550         * storage/ChangeVersionWrapper.h:
2551         (WebCore::ChangeVersionWrapper::create):
2552
2553         * storage/Database.cpp:
2554         (WebCore::Database::openAndVerifyVersion):
2555         (WebCore::Database::markAsDeletedAndClose):
2556         (WebCore::Database::changeVersion):
2557         (WebCore::Database::transaction):
2558         (WebCore::Database::scheduleTransaction):
2559         (WebCore::Database::scheduleTransactionStep):
2560         (WebCore::Database::tableNames):
2561
2562         * storage/DatabaseAuthorizer.h:
2563         (WebCore::DatabaseAuthorizer::create):
2564
2565         * storage/DatabaseTask.h:
2566         (WebCore::DatabaseOpenTask::create):
2567         (WebCore::DatabaseCloseTask::create):
2568         (WebCore::DatabaseTransactionTask::create):
2569         (WebCore::DatabaseTableNamesTask::create):
2570
2571         * storage/DatabaseThread.cpp:
2572         (WebCore::DatabaseThread::scheduleTask): Change to take a PassRefPtr instead of raw
2573         (WebCore::DatabaseThread::scheduleImmediateTask): Ditto
2574         * storage/DatabaseThread.h:
2575         (WebCore::DatabaseThread::create):
2576
2577         * storage/SQLError.h:
2578         (WebCore::SQLError::create):
2579         (WebCore::SQLError::SQLError):
2580
2581         * storage/SQLResultSet.h:
2582         (WebCore::SQLResultSet::create):
2583
2584         * storage/SQLStatement.cpp:
2585         (WebCore::SQLStatement::create):
2586         (WebCore::SQLStatement::execute):
2587         (WebCore::SQLStatement::setDatabaseDeletedError):
2588         (WebCore::SQLStatement::setVersionMismatchedError):
2589         (WebCore::SQLStatement::setFailureDueToQuota):
2590         * storage/SQLStatement.h:
2591
2592         * storage/SQLTransaction.cpp:
2593         (WebCore::SQLTransaction::create):
2594         (WebCore::SQLTransaction::executeSQL):
2595         (WebCore::SQLTransaction::openTransactionAndPreflight):
2596         (WebCore::SQLTransaction::deliverTransactionCallback):
2597         (WebCore::SQLTransaction::handleCurrentStatementError):
2598         (WebCore::SQLTransaction::deliverStatementCallback):
2599         (WebCore::SQLTransaction::postflightAndCommit):
2600         * storage/SQLTransaction.h:
2601
2602 2008-04-16  Anders Carlsson  <andersca@apple.com>
2603
2604         Reviewed by Adam and Brady.
2605         
2606         Add implementation of ApplicationCacheResource.
2607         
2608         * loader/appcache/ApplicationCacheResource.cpp:
2609         (WebCore::ApplicationCacheResource::ApplicationCacheResource):
2610         (WebCore::ApplicationCacheResource::dumpType):
2611         * loader/appcache/ApplicationCacheResource.h:
2612         (WebCore::ApplicationCacheResource::):
2613         (WebCore::ApplicationCacheResource::create):
2614         (WebCore::ApplicationCacheResource::type):
2615         (WebCore::ApplicationCacheResource::addType):
2616
2617 2008-04-16  Timothy Hatcher  <timothy@apple.com>
2618
2619         Fixes an issue where the source for a resource that had errors would
2620         not be shown because the view was created before the resource load
2621         finished. The right view is now created, even if the resource isn't 
2622         finished. The SourceView just makes sure to not load the source until
2623         the resource is finished. Only if the category changes, does the view
2624         need to be recreated.
2625
2626         Reviewed by Adam Roben.
2627
2628         * page/inspector/Resource.js:
2629         (WebInspector.Resource.prototype.set category): Call recreateViewForResourceIfNeeded.
2630         * page/inspector/ResourcesPanel.js:
2631         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
2632         Added. Tries to make a new view, if the view is the same prototype of the
2633         previous view, return early. If they differ, close and detach the old view
2634         and associate the resource with the new view. Calling updateErrorsAndWarnings
2635         is needed, because the errors and warnings that might have been added to the
2636         previous view will be lost, so make the tree element match.
2637         (WebInspector.Resource.prototype._createResourceView): Always create a view
2638         that matches the resource category. Ignore the loading and failed status.
2639         * page/inspector/SourceView.js:
2640         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't setup the
2641         frame if the resource hasn't finished or if the load failed.
2642
2643 2008-04-16  Timothy Hatcher  <timothy@apple.com>
2644
2645         Adds a console formatter for Error objects. So typing a expression in the
2646         console that ends in an exception will print meaningful info. Also calling
2647         console.{log,error,warn,info} with an error object will output nicely.
2648
2649         Reviewed by Adam Roben.
2650
2651         * page/inspector/Console.js:
2652         (WebInspector.Console.prototype._formaterror): Added. Formats an error
2653         object by showing it like other exceptions, with a clickable file URL.
2654
2655 2008-04-16  Timothy Hatcher  <timothy@apple.com>
2656
2657         Refactors code that updates the errors and warnings count in the
2658         resources sidebar so other functions can easily trigger updates.
2659
2660         Reviewed by Adam Roben.
2661
2662         * page/inspector/ResourcesPanel.js:
2663         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call updateErrorsAndWarnings.
2664         Removes code that updates the bubbleText and class names.
2665         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
2666         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings):
2667         Added. Updates the bubbleText and adds or removes the class names
2668         depending on if the values are zero.
2669
2670 2008-04-16  Antti Koivisto  <antti@apple.com>
2671
2672         Reviewed by Alexey.
2673         
2674         Fix <rdar://problem/5863728>
2675         REGRESSION: Garbage character shown in temperatures in the Weather widget (encoding issue with degree symbol)
2676         
2677         Parse the encoding attribute in PreloadScanner.
2678
2679         Test: fast/encoding/script-preload-encoding.html
2680
2681         * html/PreloadScanner.cpp:
2682         (WebCore::PreloadScanner::processAttribute):
2683         (WebCore::PreloadScanner::emitTag):
2684         (WebCore::PreloadScanner::emitCSSRule):
2685         * html/PreloadScanner.h:
2686         * loader/DocLoader.cpp:
2687         (WebCore::DocLoader::preload):
2688         * loader/DocLoader.h:
2689
2690 2008-04-16  Anders Carlsson  <andersca@apple.com>
2691
2692         Reviewed by Adam.
2693
2694         Generate the DOMApplicationCache JS wrapper, add JSDOMApplicationCacheCustom.cpp and 
2695         fix typos in the #if line.
2696         
2697         * DerivedSources.make:
2698         * WebCore.vcproj/WebCore.vcproj:
2699         * WebCore.xcodeproj/project.pbxproj:
2700         * bindings/js/JSDOMApplicationCacheCustom.cpp: Added.
2701         * loader/appcache/ApplicationCache.cpp:
2702         * loader/appcache/ApplicationCache.h:
2703         * loader/appcache/ApplicationCacheGroup.cpp:
2704         * loader/appcache/ApplicationCacheGroup.h:
2705         * loader/appcache/ApplicationCacheResource.cpp:
2706         * loader/appcache/ApplicationCacheResource.h:
2707         * loader/appcache/DOMApplicationCache.cpp:
2708         * loader/appcache/DOMApplicationCache.h:
2709         * loader/appcache/DOMApplicationCache.idl:
2710         * loader/appcache/ManifestParser.cpp:
2711         * loader/appcache/ManifestParser.h:
2712
2713 2008-04-16  Sam Weinig  <sam@webkit.org>
2714
2715         Reviewed by Geoffrey Garen.
2716
2717         - To keep the behavior of the WebKit and JavaScriptCore API's the same,
2718           we need to hide the fact that the global object and the window object
2719           are no longer the same thing, and the the global object now changes on
2720           navigations.  To do this, only the wrapper should ever be exposed.  This
2721           fixes the two remaining spots where the internal global object is exposed,
2722           the windowScriptObject returned from [WebFrame windowObject] and the object
2723           return by calling JSContextGetGlobalObject on [WebFrame globalContext]
2724
2725         * bindings/js/JSDOMWindowWrapper.cpp:
2726         (WebCore::JSDOMWindowWrapper::putWithAttributes):
2727         * bindings/js/JSDOMWindowWrapper.h:
2728         Forward this new method so that JSObjectSetProperty doesn't set properties on the 
2729         wrapper.
2730
2731         * page/mac/FrameMac.mm:
2732         (WebCore::Frame::windowScriptObject):
2733         Return the wrapper instead of the global object.
2734
2735 2008-04-16  David Hyatt  <hyatt@apple.com>
2736
2737         Eliminate the paintBuffer and drawImage(ImageBuffer*) methods from GraphicsContext* in favor of just
2738         snagging an Image* from the ImageBuffer and drawing that instead.
2739
2740         Enhance canvas with a CanvasObserver so that notifications of dirtying or resizing can be tracked by
2741         a consumer.
2742
2743         Reviewed by olliej
2744
2745         * html/CanvasRenderingContext2D.cpp:
2746         (WebCore::CanvasRenderingContext2D::drawImage):
2747         * html/HTMLCanvasElement.cpp:
2748         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2749         (WebCore::HTMLCanvasElement::willDraw):
2750         (WebCore::HTMLCanvasElement::reset):
2751         (WebCore::HTMLCanvasElement::paint):
2752         * html/HTMLCanvasElement.h:
2753         (WebCore::CanvasObserver::~CanvasObserver):
2754         (WebCore::HTMLCanvasElement::setSize):
2755         (WebCore::HTMLCanvasElement::setObserver):
2756         * platform/graphics/GraphicsContext.cpp:
2757         (WebCore::GraphicsContext::drawImage):
2758         (WebCore::GraphicsContext::drawTiledImage):
2759         * platform/graphics/GraphicsContext.h:
2760         * platform/graphics/ImageBuffer.h:
2761         (WebCore::ImageBuffer::clearImage):
2762         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2763         * platform/graphics/cg/GraphicsContextCG.cpp:
2764         * platform/graphics/cg/ImageCG.cpp:
2765         (WebCore::BitmapImage::draw):
2766         (WebCore::Image::drawPattern):
2767         * platform/graphics/cg/ImageSourceCG.cpp:
2768         (WebCore::ImageSource::createFrameAtIndex):
2769         * platform/graphics/qt/GraphicsContextQt.cpp:
2770         * platform/graphics/wx/GraphicsContextWx.cpp:
2771
2772 2008-04-16  Steve Falkenburg  <sfalken@apple.com>
2773
2774         Improve timer latency/resolution.
2775                 
2776         The primary timing mechanism is now CreateTimerQueueTimer, with a PostMessage from
2777         the callback proc.  This event will be delivered sooner than if we used SetTimer(),
2778         since it is higher priority than other messages.
2779         
2780         If there is an input message pending, we'll use we SetTimer() based timers to avoid
2781         starving user input.
2782
2783         Don't call PostMessage immediately on all timers < 10ms.  Only call immediately if
2784         timer is already expired.  This avoids the case where no timers would be processed,
2785         causing the timer to be re-posted via the slower SetTimer method.
2786
2787         Don't call PostMessage immediately if there's a pending WM_PAINT, since
2788         we don't want to starve all paints when bombarded with a continuous stream of low
2789         duration timers.
2790
2791         Removed reentrancy check, since we're now looking for specific starvation cases,
2792         and will typically defer non-expired timers through CreateTimerQueueTimer.
2793
2794         The reason Windows wouldn't starve paints in favor of timers with the old code:
2795         When we went to reset the timer when it fired, the timer reset code treated this as a
2796         reentrant timer, causing us to hit the slow SetTimer code rather than calling PostMessage,
2797         even for timers expiring in < 10ms.  I corrected that, exposing the paint starvation problem.
2798
2799         Use timeBeginPeriod/timeEndPeriod to improve resolution of system timers.
2800         Limit this resolution change to within 20ms of the last high resolution timer request.
2801                         
2802         Corrected GetQueueStatus to check for specific input (and paint) messages rather than
2803         checking QS_ALLINPUT.  Contrary to its name, QS_ALLINPUT actually indicates interest
2804         in ALL queued messages, not just input messages.
2805         
2806         Fix SetTimer/KillTimer calls to pass our window handle.
2807
2808         Reviewed by Brady.
2809
2810         * platform/win/SharedTimerWin.cpp:
2811         (WebCore::):
2812         (WebCore::TimerWindowWndProc):
2813         (WebCore::queueTimerProc):
2814         (WebCore::setSharedTimerFireTime):
2815         (WebCore::stopSharedTimer):
2816
2817 2008-04-16  Adam Roben  <aroben@apple.com>
2818
2819         Fix console-log-formatting to truly test formatting an undefined value
2820
2821         Exceptions thrown by the test will also now be shown as errors.
2822
2823         Reviewed by Tim Hatcher.
2824
2825         * manual-tests/inspector/console-log-formatting.html:
2826         (test): Use console.error to report exceptions.
2827         (runTests): Use window.noSuchVariable instead of just noSuchVariable
2828         to avoid an exception.
2829
2830 2008-04-16  Anatoli Papirovski  <apapirovski@mac.com>
2831
2832         Reviewed by David.
2833
2834         Optimized the calculation of background-size.
2835
2836         * rendering/RenderBox.cpp:
2837         (WebCore::RenderBox::calculateBackgroundSize):
2838
2839 2008-04-16  Adam Roben  <aroben@apple.com>
2840
2841         Fix Bug 17228: console.{log,warn,info,error} should support format
2842         strings, variable arguments
2843
2844         <https://bugs.webkit.org/show_bug.cgi?id=17228>
2845         <rdar://problem/5732828>
2846
2847         Reviewed by Tim Hatcher.
2848
2849         Test: manual-tests/inspector/console-log-formatting.html
2850
2851         * page/inspector/Console.js:
2852         (WebInspector.ConsoleMessage): Pass any extra arguments down to
2853         _format.
2854         (WebInspector.ConsoleMessage._format): This method constructs
2855         this.formattedMessage. We treat the first parameter as a format
2856         string. Any parameters that have not been used after substituting into
2857         the format string are concatenated together, separated by spaces.
2858         (WebInspector.ConsoleMessage.toMessageElement): Updated to use
2859         this.formattedMessage.
2860         (WebInspector.ConsoleMessage.toString): Ditto.
2861
2862 2008-04-15  Adam Roben  <aroben@apple.com>
2863
2864         Make String.format return an array of unused substitutions
2865
2866         String.format now returns an object with two properties:
2867         formattedResult and unusedSubstitutions.
2868
2869         Reviewed by Tim Hatcher.
2870
2871         * page/inspector/utilities.js:
2872         (String.vsprintf): Updated for changes to String.format. We throw away
2873         the array of unused substitutions.
2874         (String.format): Changed to keep track of which substitutions are used
2875         when formatting. We then return both the formatted result and the
2876         array of unused substitutions.
2877
2878 2008-04-15  Adam Roben  <aroben@apple.com>
2879
2880         Generalize String.format some more
2881
2882         String.format now takes an initial value and an append function which
2883         it uses to build the result. Each time a token is processed,
2884         append(valueSoFar, newValue) is called.
2885
2886         Reviewed by Tim Hatcher.
2887
2888         * page/inspector/utilities.js:
2889         (String.vsprintf): Pass the empty string for the initial value, and
2890         a function that concatenates two strings as the append function.
2891         (String.format): Use initialValue and append to build the result
2892         instead of only working with strings.
2893
2894 2008-04-15  Adam Roben  <aroben@apple.com>
2895
2896         Add String.format
2897
2898         String.format is a more generic form of String.vsprintf that takes a
2899         set of formatter functions, one for each supported format specifier.
2900         Each formatter function is passed the relevant token and substitution
2901         value, and returns the formatted result.
2902
2903         Reviewed by Tim Hatcher.
2904
2905         * page/inspector/utilities.js:
2906         (String.standardFormatters): Added.
2907         (String.vsprintf): Changed to call through to String.format.
2908         (String.format): Added. Most of the code came from String.vsprintf,
2909         except that we use the passed-in formatters to format the
2910         substitutions rather than hard-coding how to handle each format
2911         specifier.
2912
2913 2008-04-15  Adam Roben  <aroben@apple.com>
2914
2915         Refactor String.vsprintf to separate tokenizing and substituting
2916
2917         This will eventually be useful for the various console methods that
2918         take a format string.
2919
2920         Reviewed by Tim Hatcher.
2921
2922         * page/inspector/utilities.js:
2923         (String.tokenizeFormatString): Added. This uses the format parsing
2924         code from String.vsprintf but just returns an array of "string" and
2925         "specifier" tokens.
2926         (String.vsprintf): Now calls String.tokenizeFormatString and processes
2927         the tokens one at a time.
2928
2929 2008-04-15  Adam Roben  <aroben@apple.com>
2930
2931         Pass all arguments to console.{log,warn,info,error} into the Inspector's JS
2932
2933         Part of Bug 17228: console.{log,warn,info,error} should support format
2934         strings, variable arguments
2935         <http://bugs.webkit.org/show_bug.cgi?id=17228>
2936         <rdar://problem/5732828>
2937
2938         We don't use the extra arguments yet.
2939
2940         Reviewed by Tim Hatcher.
2941
2942         * page/Console.cpp:
2943         (WebCore::Console::error): Pass the arguments list to
2944         InspectorController.
2945         (WebCore::Console::info): Ditto.
2946         (WebCore::Console::log): Ditto.
2947         (WebCore::Console::warn): Ditto.
2948         * page/InspectorController.cpp:
2949         (WebCore::ConsoleMessage::ConsoleMessage): Added a new constructor
2950         that takes an ExecState and a List instead of a String. We wrap and
2951         store the JSValues from the List in a Vector<ProtectedPtr<JSValue> >.
2952         (WebCore::InspectorController::addMessageToConsole): Added an overload
2953         that takes an ExecState and a List.
2954         (WebCore::InspectorController::addConsoleMessage): Moved code here
2955         from addMessageToConsole. Both overloads of addMessageToConsole now
2956         call this helper method.
2957         (WebCore::InspectorController::addScriptConsoleMessage): Updated for
2958         the new parameter order of WebInspector.ConsoleMessage. If the
2959         ConsoleMessage has a non-empty wrappedArguments Vector, we use that
2960         instead of the ConsoleMessage's message String.
2961         * page/InspectorController.h:
2962         * page/inspector/Console.js:
2963         (WebInspector.ConsoleMessage): Removed the explicit message parameter.
2964         We now get the message from the unnamed 5th parameter.
2965         * page/inspector/Resource.js: Updated for the change to
2966         WebInspector.ConsoleMessage's parameter order.
2967
2968 2008-04-15  Adam Roben  <aroben@apple.com>
2969
2970         Change calls to Chrome::addMessageToConsole to use Console::addMessage
2971
2972         Part of Bug 17228: console.{log,warn,info,error} should support format
2973         strings, variable arguments
2974         <http://bugs.webkit.org/show_bug.cgi?id=17228>
2975         <rdar://problem/5732828>
2976
2977         Console now takes care of calling ChromeClient::addMessageToConsole
2978         for the appropriate messages (i.e., just messages from JavaScript). If
2979         you ever want to add a message to the console, Console is the place to
2980         do it.
2981
2982         Reviewed by Darin Adler.
2983
2984         * WebCore.xcodeproj/project.pbxproj: Mark Console.h Private.
2985         * page/Chrome.cpp: Removed addMessageToConsole
2986         * page/Chrome.h: Moved MessageSource/MessageLevel to Console.h.
2987         * page/Console.cpp:
2988         (WebCore::Console::addMessage): Added. Calls
2989         ChromeClient::addMessageToConsole for JS messages, and calls
2990         InspectorController::addMessageToConsole for all messages.
2991         (WebCore::Console::error): Changed to call directly to
2992         InspectorController in addition to ChromeClient.
2993         (WebCore::Console::info): Ditto.
2994         (WebCore::Console::log): Ditto.
2995         (WebCore::Console::warn): Ditto.
2996         * page/Console.h: Added MessageSource/MessageLevel enums from Chrome.h.
2997
2998 2008-04-15  Adam Roben  <aroben@apple.com>
2999
3000         Pass JSConsole's arguments unmodified to Console
3001
3002         Part of Bug 17228: console.{log,warn,info,error} should support format
3003         strings, variable arguments
3004         <http://bugs.webkit.org/show_bug.cgi?id=17228>
3005         <rdar://problem/5732828>
3006
3007         All of JSConsole's methods are now custom, so that we can pass the
3008         arguments unmodified to Console. Console now handles calling
3009         toString() on the first argument. Later it will pass the arguments off
3010         to InspectorController.
3011
3012         There should be no behavioral changes caused by this patch.
3013
3014         Reviewed by Darin Adler.
3015
3016         * ForwardingHeaders/kjs/list.h: Added.
3017         * GNUmakefile.am: Added JSConsoleCustom.cpp to the project.
3018         * WebCore.pro: Ditto.
3019         * WebCore.vcproj/WebCore.vcproj: Ditto.
3020         * WebCore.xcodeproj/project.pbxproj: Ditto.
3021         * WebCoreSources.bkl: Ditto.
3022         * bindings/js/JSConsoleCustom.cpp: Added.
3023         (WebCore::JSConsole::error):
3024         (WebCore::JSConsole::info):
3025         (WebCore::JSConsole::log):
3026         (WebCore::JSConsole::warn):
3027         * page/Console.cpp: Changed all methods to take an ExecState* and a
3028         const List&. The first item in the List is toString()ed and passed to
3029         Chrome.
3030         (WebCore::Console::error):
3031         (WebCore::Console::info):
3032         (WebCore::Console::log):
3033         (WebCore::Console::warn):
3034         * page/Console.h:
3035         * page/Console.idl:
3036
3037 2008-04-16  Sam Weinig  <sam@webkit.org>
3038
3039         Reviewed by Darin Adler.
3040
3041         Rename kjs_strtod to KJS::strtod.
3042
3043         * platform/text/String.cpp:
3044         (WebCore::charactersToDouble):
3045
3046 2008-04-16  Alexey Proskuryakov  <ap@webkit.org>
3047
3048         Reviewed by Adam.
3049
3050         http://bugs.webkit.org/show_bug.cgi?id=18259
3051         XML+XSLT pages in iframe contains document.location of a parent window
3052
3053         Test: fast/xsl/subframe-location.html
3054
3055         * xml/XSLTProcessor.cpp:
3056         (WebCore::XSLTProcessor::createDocumentFromSource): Set resulting document URL before opening
3057         it, so that the document loader picks a correct URL, too.
3058
3059 2008-04-16  Dan Bernstein  <mitz@apple.com>
3060
3061         Rubber-stamped by John Sullivan.
3062
3063         - remove unreachable code which was added in r8802
3064
3065         * rendering/RenderText.cpp:
3066         (WebCore::RenderText::caretRect):
3067
3068 2008-04-15  Timothy Hatcher  <timothy@apple.com>
3069
3070         Adds a script resource icon. Update the CSS icon to better match the script icon.
3071
3072         https://bugs.webkit.org/show_bug.cgi?id=18499
3073
3074         Rubber-stamped by Adele Peterson.
3075
3076         * page/inspector/Images/resourceCSSIcon.png: Updated.
3077         * page/inspector/Images/resourceJSIcon.png: Added.
3078         * page/inspector/inspector.css: Changed the script icon rule to reference the new image.
3079
3080 2008-04-16  Eric Seidel  <eric@webkit.org>
3081
3082         Reviewed by hyatt.
3083
3084         Fix leaky ImageBuffer code.
3085
3086         * platform/graphics/GeneratedImage.cpp:
3087         (WebCore::GeneratedImage::drawPattern):
3088         * platform/graphics/ImageBuffer.h:
3089         * platform/graphics/cg/ImageBufferCG.cpp:
3090         (WebCore::ImageBuffer::image):
3091
3092 2008-04-15  Justin Garcia  <justin.garcia@apple.com>
3093
3094         Reviewed by Oliver.
3095
3096         <rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661)
3097
3098         * editing/markup.cpp:
3099         (WebCore::createFragmentFromText): Don't use clones of the enclosing block to hold
3100         paragraphs if the enclosing block is the root editable element.
3101
3102 2008-04-15  Mark Rowe  <mrowe@apple.com>
3103
3104         Reviewed by Jon Honeycutt.
3105
3106         Don't treat the misnamed NSAccessibilitySortButtonRole as an accessibility role.  It is really
3107         a subrole of NSAccessibilityButtonRole.  As it is not used inside WebCore there is no change in
3108         behaviour as a result of doing this.  This fixes <rdar://problem/5866444>.
3109
3110         * page/AccessibilityObject.cpp:
3111         (WebCore::AccessibilityObject::canSetFocusAttribute): Remove SortButtonRole as it is unused.
3112         * page/AccessibilityObject.h: Ditto.
3113         (WebCore::):
3114         * page/mac/AccessibilityObjectWrapper.mm:
3115         (RoleEntry::):
3116
3117 2008-04-15  Anders Carlsson  <andersca@apple.com>
3118
3119         Fix leaks seen on bot.
3120         
3121         * loader/SubstituteResource.h:
3122         (WebCore::SubstituteResource::~SubstituteResource):
3123         Add a virtual destructor.
3124
3125 2008-04-15  Brady Eidson  <beidson@apple.com>
3126
3127         Reviewed by Anders Carlsson
3128
3129         Fix for <rdar://problem/5820819> - Crash sometime occurs when interrupting a load.
3130
3131         Each SubresourceLoader has a client.  That client is often a Loader::Host object.  
3132         The Loader/Host/CachedResource system predates our ref-counting and ownership models, and therefore manages
3133         object lifetime manually.
3134
3135         The cause of this crash was that we would sometimes call "didFail()" on a Host object twice - Once when 
3136         beginning the new navigation, and once when the new navigation is committed.
3137
3138         The problem is after the first time Host::didFail() gets called, the Host is almost always deleted shortly 
3139         thereafter.  But the SubresourceLoader had a dangling pointer to the Host which is now invalid.
3140
3141         I explored a few options to fix this bug.  The one that was most obviously "clean" was to call cancel() on
3142         the SubresourceLoader itself, which would end up calling Host::didFail() and doing the appropriate cache
3143         cleanup.
3144
3145         This problem with that approach was that it had other side effects - when you cut off a load that had already
3146         partially displayed in the WebView, images that hadn't finished loading would be invalidated and immediately
3147         turn into broken image icons.  This was visually jarring and pretty unacceptable. 
3148
3149         So I decided to follow a much simpler approach, which was to have the Host clear the client pointer from each
3150         SubresourceLoader before it forgets about it.  This leaves things the same visually and fixes the crash.
3151
3152         Note that the layout test for this - if possible - will require other enhancements to DRT including possibly 
3153         adding support for window.stop(). That task is non-trivial, and is documented in <rdar://problem/5061826> 
3154
3155         * loader/SubresourceLoader.h:
3156         (WebCore::SubresourceLoader::clearClient): Add a method to clear the SubresourceLoaderClient.  This is 
3157           perfectly safe to do on an in-flight SubresourceLoader as they are already designed to be client-less,
3158           and already null-check the client before calling it.
3159
3160         * loader/loader.cpp:
3161         (WebCore::Loader::Host::didFail): The SubresourceLoader itself might not be finished loading and might decide 
3162           to call into its client later.  Since the client has no guaranteed lifetime and is liable to be deleted 
3163           after didFail() is called, call clearClient() on the SubresourceLoader so such an invalid call can't happen.
3164
3165 2008-04-15  Anders Carlsson  <andersca@apple.com>
3166
3167         Reviewed by Adam.
3168
3169         Add empty files for the application cache.
3170         
3171         * Configurations/WebCore.xcconfig:
3172         * WebCore.vcproj/WebCore.vcproj:
3173         * WebCore.vcproj/build-generated-files.sh:
3174         Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
3175         
3176         * WebCore.xcodeproj/project.pbxproj:
3177         * loader/appcache: Added.
3178         * loader/appcache/ApplicationCache.cpp: Added.
3179         * loader/appcache/ApplicationCache.h: Added.
3180         * loader/appcache/ApplicationCacheGroup.cpp: Added.
3181         * loader/appcache/ApplicationCacheGroup.h: Added.
3182         * loader/appcache/ApplicationCacheResource.cpp: Added.
3183         * loader/appcache/ApplicationCacheResource.h: Added.
3184         * loader/appcache/DOMApplicationCache.cpp: Added.
3185         * loader/appcache/DOMApplicationCache.h: Added.
3186         * loader/appcache/DOMApplicationCache.idl: Added.
3187         * loader/appcache/ManifestParser.cpp: Added.
3188         * loader/appcache/ManifestParser.h: Added.
3189
3190 2008-04-15  Kevin McCullough  <kmccullough@apple.com>
3191
3192         Reviewed by Tim.
3193
3194         - <rdar://problem/5792587> AJAX (XMLHttpRequest) support for the Inspector (17776)
3195         - Add XMLHttpRequest support to the inspector.
3196
3197         * English.lproj/InspectorLocalizedStrings.js: Specify capitalization
3198         instead of using text-transform because XHR must capitalize all the letters.
3199         * page/inspector/Resource.js: Assume XHRs are textType even though this
3200         may not always be true.
3201         Also add the XHR category and let all mime types be consistent with it.
3202         * page/inspector/ResourcesPanel.js: Set the XHR category color.
3203         * page/inspector/inspector.css: Make XHRs yellow and fonts red because
3204         XHRs are more common than fonts and yellow next to orange (scripts) is
3205         not as harsh on the eyes as red next to orange.
3206         * page/inspector/inspector.js: Specify capitalization again.
3207
3208 2008-04-15  David Hyatt  <hyatt@apple.com>
3209
3210         Fix the zoom property so that it works properly with font-size.
3211
3212         Reviewed by John Sullivan
3213
3214         Added fast/css/zoom-font-size.html
3215
3216         * css/CSSStyleSelector.cpp:
3217         (WebCore::CSSStyleSelector::updateFont):
3218         (WebCore::CSSStyleSelector::applyProperty):
3219         (WebCore::CSSStyleSelector::checkForZoomChange):
3220         * css/CSSStyleSelector.h:
3221
3222 2008-04-15  Timothy Hatcher  <timothy@apple.com>
3223
3224         Fixes the bug where a resource view could still be shown after the inspected
3225         page navigates to another page.
3226
3227         https://bugs.webkit.org/show_bug.cgi?id=18517
3228
3229         Reviewed by Adam Roben.
3230
3231         * page/inspector/ResourcesPanel.js:
3232         (WebInspector.ResourcesPanel.prototype.reset): Close the visible resource.
3233         Iterate over all the resources and zero errors and warnings and delete the
3234         resource view and tree element. Removes all children of resourceViews. Passes
3235         true to _updateGraphDividersIfNeeded to force an immediate update.
3236         (WebInspector.ResourcesPanel.prototype.removeResource): Added. Closes
3237         the resource view if it is visible. Removes the resource from the _resources
3238         array. Removes the tree element from the outline tree. Zeros out the errors
3239         and warnings properties. Deletes the tree element and resource view properties.
3240         (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Null check
3241         this._calculator for times when reset is called before the calculator is set.
3242         * page/inspector/inspector.js:
3243         (WebInspector.removeResource): Call ResourcesPanel.removeResource.
3244
3245 2008-04-15  Anders Carlsson  <andersca@apple.com>
3246
3247         Reviewed by Adam.
3248
3249         Rename "archive" to "substitute" in a couple of places.
3250         
3251         * loader/DocumentLoader.cpp:
3252         (WebCore::DocumentLoader::DocumentLoader):
3253         (WebCore::DocumentLoader::clearArchiveResources):
3254         (WebCore::DocumentLoader::deliverSubstituteResourcesAfterDelay):
3255         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
3256         (WebCore::DocumentLoader::isSubstituteLoadPending):
3257         (WebCore::DocumentLoader::cancelPendingSubstituteLoad):
3258         (WebCore::DocumentLoader::scheduleArchiveLoad):
3259         (WebCore::DocumentLoader::setDefersLoading):
3260         * loader/DocumentLoader.h:
3261         * loader/ResourceLoader.cpp:
3262         (WebCore::ResourceLoader::load):
3263         (WebCore::ResourceLoader::didCancel):
3264
3265 2008-04-15  Anders Carlsson  <andersca@apple.com>
3266
3267         Reviewed by Adam.
3268
3269         Move the URL, response and data to SubstituteResource.
3270         
3271         * loader/SubstituteResource.h:
3272         (WebCore::SubstituteResource::url):
3273         (WebCore::SubstituteResource::response):
3274         (WebCore::SubstituteResource::data):
3275         (WebCore::SubstituteResource::SubstituteResource):
3276         * loader/archive/ArchiveResource.cpp:
3277         (WebCore::ArchiveResource::ArchiveResource):
3278         * loader/archive/ArchiveResource.h:
3279         (WebCore::ArchiveResource::frameName):
3280
3281 2008-04-15  David Hyatt  <hyatt@apple.com>
3282
3283         https://bugs.webkit.org/show_bug.cgi?id=18467
3284
3285         Make sure to ignore zoom:0.  That is not supposed to actually do anything.  It's a hack in IE
3286         to cause an element to set "hasLayout."
3287
3288         Reviewed by Anders
3289
3290         Added fast/css/zoom-property-parsing.html
3291
3292         * css/CSSParser.cpp:
3293         (WebCore::CSSParser::parseValue):
3294         * css/CSSStyleSelector.cpp:
3295         (WebCore::CSSStyleSelector::applyProperty):
3296
3297 2008-04-15  Anders Carlsson  <andersca@apple.com>
3298
3299         Reviewed by Adam.
3300
3301         Add a (currently empty) SubstituteResource class and make ArchiveResource inherit from it.
3302         
3303         * WebCore.vcproj/WebCore.vcproj:
3304         * WebCore.xcodeproj/project.pbxproj:
3305         * loader/SubstituteResource.h: Added.
3306         * loader/archive/ArchiveResource.h:
3307
3308 2008-04-15  Antti Koivisto  <antti@apple.com>
3309
3310         Reviewed by Geoff.
3311
3312         Fix <rdar://problem/5862921>
3313         REGRESSION: Leak in SVGSVGElement::SVGSVGElement
3314         
3315         In these strange days RefCounted starts with count of one.
3316
3317         * svg/SVGSVGElement.cpp:
3318         (WebCore::SVGSVGElement::SVGSVGElement):
3319         * svg/animation/SMILTimeContainer.h:
3320         (WebCore::SMILTimeContainer::create):
3321
3322 2008-04-15  Anatoli Papirovski  <apapirovski@mac.com>
3323
3324         Reviewed by hyatt
3325
3326         [CSS1, CSS3] Fixed the background-origin calculation for root elements
3327         (background-size and background-position are affected), r10794
3328         [CSS3] Fixed the background-size transformation where width is specified in percentage and height is left to auto
3329
3330         Test: fast/backgrounds/background-origin-root-element.html
3331
3332         * rendering/RenderBox.cpp:
3333         (WebCore::RenderBox::calculateBackgroundSize):
3334         (WebCore::RenderBox::calculateBackgroundImageGeometry):
3335
3336 2008-04-15  Timothy Hatcher  <timothy@apple.com>
3337
3338         Fixes the regression where the error and warning counts did not show up in the Resources
3339         sidebar next to resources.
3340
3341         https://bugs.webkit.org/show_bug.cgi?id=18494
3342
3343         Reviewed by Adam Roben.
3344
3345         * page/inspector/ResourcesPanel.js:
3346         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Increment errors or warnings
3347         on the resource. Set the bubbleText to the total of the errors and warnings. Add a error
3348         or warning class to the bubble.
3349         (WebInspector.ResourcesPanel.prototype.clearMessages): Zero out the errors and warnings
3350         properties on each resource. Set the bubbleText back to an empty string.
3351         * page/inspector/SidebarTreeElement.js:
3352         (WebInspector.SidebarTreeElement): Create a statusElement.
3353         (WebInspector.SidebarTreeElement.prototype.get bubbleText): Return _bubbleText.
3354         (WebInspector.SidebarTreeElement.prototype.set bubbleText): Create bubbleElement if needed.
3355         Assign the value to _bubbleText and bubbleElement.textContent.
3356         (WebInspector.SidebarTreeElement.prototype.onattach): Append statusElement to _listItemNode.
3357         * page/inspector/inspector.css: Style rules for bubbles and status elements.
3358
3359 2008-04-15  Timothy Hatcher  <timothy@apple.com>
3360
3361         Fixes the regression where error and warning bubbles would not be added
3362         to the source view of a resource.
3363
3364         https://bugs.webkit.org/show_bug.cgi?id=18495
3365
3366         Reviewed by Adam Roben.
3367
3368         * css/view-source.css:
3369         (.webkit-html-message-bubble): Add a min-height to make sure the border-radius
3370         has enough room to apply.
3371         * page/inspector/Console.js:
3372         (WebInspector.Console.prototype.addMessage): Removed code that added messages
3373         to resource panels and incremented error and warning counts on resources.
3374         Now just call ResourcesPanel.addMessageToResource after assigning the resource
3375         to the console message.
3376         (WebInspector.Console.prototype.clearMessages): Removed code that cleared error
3377         and warning counts from resources an call ResourcesPanel.clearMessages.
3378         * page/inspector/ResourcesPanel.js:
3379         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call addMessage
3380         on the resource's view, if it is implemented.
3381         (WebInspector.ResourcesPanel.prototype.clearMessages): Call clearMessages
3382         on all the resource views for the ones that implement it.
3383         (WebInspector.ResourcesPanel.prototype.refreshResource): Call _resourceView
3384         to make the resource's view if needed. Use a local view variable.
3385         (WebInspector.ResourcesPanel.prototype._resourceView): Added helper function
3386         to create a resource view if needed.
3387         * page/inspector/SourceView.js:
3388         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Delete the 
3389         _frameNeedsSetup property at the beginning to prevent recursion. Get the
3390         length of the messages array when assigning the local length variable.
3391         (WebInspector.SourceView.prototype.addMessage): Renamed from addMessageToSource.
3392         (WebInspector.SourceView.prototype.clearMessages): Added. Clear all the message
3393         bubbles that might be sprinkled in the source. Also clears the messages array.
3394         (WebInspector.SourceView.prototype._addMessageToSource): Create the image
3395         element in the Inspector's document so we can use relative image URLs. Then
3396         adopt the image element into the frame's document.
3397
3398 2008-04-15  Brady Eidson  <beidson@apple.com>
3399
3400         Reviewed by Anders
3401
3402         Hook up event dispatching for window.localStorage changes.
3403
3404         Tests: storage/domstorage/localstorage/enumerate-storage.html
3405                storage/domstorage/localstorage/iframe-events.html
3406                storage/domstorage/localstorage/index-get-and-set.html
3407                storage/domstorage/localstorage/onstorage-attribute-markup.html
3408                storage/domstorage/localstorage/onstorage-attribute-setattribute.html
3409                storage/domstorage/localstorage/simple-events.html
3410                storage/domstorage/localstorage/simple-usage.html
3411                storage/domstorage/localstorage/window-open.html
3412
3413         * storage/LocalStorage.cpp:
3414         (WebCore::LocalStorage::dispatchStorageEvent): Walk every Page in the PageGroup, adding
3415           each Frame that matches the storage area's security origin to a Vector.  Then dispatch
3416           the StorageEvent to each Frame in the Vector
3417
3418         * storage/SessionStorage.cpp:
3419         (WebCore::SessionStorage::dispatchStorageEvent): Adopt the technique used in LocalStorage,
3420           which is to only add the Frames to the Vector if their security origin matches
3421
3422 2008-04-15  Olivier Goffart  <ogoffart@trolltech.com>
3423
3424         Reviewed by Simon.
3425
3426         Fixes: copy to clipboard when selecting, and paste when clicking with the middle button
3427
3428         * platform/Pasteboard.h: Added Qt-specific selection mode
3429         * platform/qt/PasteboardQt.cpp: Choose the clipboard or the selecton
3430         according to the selection mode
3431         (WebCore::Pasteboard::writeSelection):
3432         (WebCore::Pasteboard::plainText):
3433         (WebCore::Pasteboard::documentFragment):
3434         (WebCore::Pasteboard::writeURL):
3435         (WebCore::Pasteboard::clear):
3436         (WebCore::Pasteboard::isSelectionMode):
3437
3438 2008-04-15  Andre Poenitz  <andre.poenitz@trolltech.com>
3439
3440         Reviewed by Simon.
3441
3442         Fix compilation with Qt namespaces
3443
3444         Qt can be configured to have all of its classes inside a specified namespaces.
3445         This is for example used in plugin/component environments like Eclipse.
3446
3447         This change makes it possible to let the Qt port compile against a namespaced
3448         Qt by the use of macros Qt provides to properly forward declare Qt classes in
3449         the namespace.
3450
3451         * WebCore.pro:
3452         * bridge/qt/qt_class.h:
3453         * bridge/qt/qt_instance.h:
3454         * html/HTMLCanvasElement.h:
3455         * platform/DragData.h:
3456         * platform/DragImage.h:
3457         * platform/KURL.h:
3458         * platform/PlatformKeyboardEvent.h:
3459         * platform/PlatformMouseEvent.h:
3460         * platform/PlatformWheelEvent.h:
3461         * platform/Widget.h:
3462         * platform/graphics/Color.h:
3463         * platform/graphics/FloatPoint.h:
3464         * platform/graphics/FloatRect.h:
3465         * platform/graphics/Gradient.h:
3466         * platform/graphics/GraphicsContext.h:
3467         * platform/graphics/ImageBuffer.h:
3468         * platform/graphics/ImageSource.h:
3469         * platform/graphics/IntPoint.h:
3470         * platform/graphics/IntRect.h:
3471         * platform/graphics/IntSize.h:
3472         * platform/graphics/Path.h:
3473         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3474         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3475         * platform/network/qt/QNetworkReplyHandler.h:
3476         * platform/network/qt/ResourceRequest.h:
3477         * platform/qt/ClipboardQt.h:
3478         * platform/qt/RenderThemeQt.h:
3479         * platform/text/PlatformString.h:
3480         * platform/text/qt/TextCodecQt.h:
3481         * svg/graphics/SVGPaintServer.h:
3482         * svg/graphics/SVGPaintServerGradient.h:
3483
3484 2008-04-14  Brady Eidson  <beidson@apple.com>
3485
3486         Reviewed by Anders
3487
3488         Lay the underpinnings for LocalStorage.
3489
3490         For now, this just exposes window.localStorage to the dom which returns an in-memory Storage object, much
3491         like SessionStorage.  The primary difference at this point is that the object returned is shared globally,
3492         and isn't copied for new top-level browsing contexts like SessionStorage.
3493
3494         Later, I'll add proper event dispatch and a persistent storage backing.
3495
3496         * GNUmakefile.am:
3497         * WebCore.base.exp:
3498         * WebCore.pro:
3499         * WebCore.vcproj/WebCore.vcproj:
3500         * WebCore.xcodeproj/project.pbxproj:
3501         * WebCoreSources.bkl:
3502
3503         * bindings/js/JSDOMWindowCustom.cpp:
3504         (WebCore::JSDOMWindow::mark): Mark the optionalLocalStorage
3505
3506         * page/DOMWindow.cpp:
3507         (WebCore::DOMWindow::clear):
3508         (WebCore::DOMWindow::localStorage):
3509         * page/DOMWindow.h:
3510         (WebCore::DOMWindow::optionalLocalStorage):
3511
3512         * storage/LocalStorage.cpp: Added.
3513         (WebCore::LocalStorage::sharedLocalStorage):
3514         (WebCore::LocalStorage::LocalStorage):
3515         (WebCore::LocalStorage::storageArea):
3516         (WebCore::LocalStorage::itemChanged):
3517         (WebCore::LocalStorage::itemRemoved):
3518         (WebCore::LocalStorage::dispatchStorageEvent):
3519         * storage/LocalStorage.h: Added.
3520
3521         * storage/SessionStorage.cpp: Refactor to use the client interface for event dispatching for sessionStorage objects
3522         (WebCore::SessionStorage::SessionStorage):
3523         (WebCore::SessionStorage::copy):
3524         (WebCore::SessionStorage::storageArea):
3525         (WebCore::SessionStorage::itemChanged):
3526         (WebCore::SessionStorage::itemRemoved):
3527         (WebCore::SessionStorage::dispatchStorageEvent):
3528         * storage/SessionStorage.h:
3529
3530         * storage/StorageArea.cpp: Add a client parameter, and call to the client when an item is changed or removed.
3531         (WebCore::StorageArea::create):
3532         (WebCore::StorageArea::StorageArea):
3533         (WebCore::StorageArea::copy):
3534         (WebCore::StorageArea::setItem):
3535         (WebCore::StorageArea::removeItem):
3536         (WebCore::StorageArea::setClient):
3537         * storage/StorageArea.h:
3538         (WebCore::StorageArea::page):
3539         (WebCore::StorageArea::securityOrigin):
3540
3541         * storage/StorageAreaClient.h: Added.  Break out "itemChanged" and "itemRemoved" to a StorageAreaClient
3542           This way, both SessionStorage and LocalStorage areas can have different behavior on changes with
3543           that behavior managed from a central location.
3544         (WebCore::StorageAreaClient::~StorageAreaClient):
3545         (WebCore::StorageAreaClient::StorageAreaClient):
3546         (WebCore::StorageAreaClient::itemChanged):
3547         (WebCore::StorageAreaClient::itemRemoved):
3548
3549 2008-04-14  Brady Eidson  <beidson@apple.com>
3550
3551         Reviewed by Anders
3552
3553         Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
3554         if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
3555         network and will instead fail the load with a "cannot show URL" error.
3556
3557         * loader/ResourceLoader.cpp:
3558         (WebCore::ResourceLoader::load): Do the check here.
3559
3560         * page/Settings.cpp:
3561         (WebCore::Settings::Settings):
3562         (WebCore::Settings::setWebArchiveDebugModeEnabled):
3563         * page/Settings.h:
3564         (WebCore::Settings::webArchiveDebugModeEnabled):
3565
3566 2008-04-14  Antti Koivisto  <antti@apple.com>
3567
3568         Reviewed by Eric.
3569
3570         Some preparations for additive animations and animations in <use>.
3571         - Disallow animation elements in instance trees.
3572         - Fix buggy SVGUseElement::removeDisallowedElementsFromSubtree(), make it 
3573           public and static
3574         - Invoke it from SVGElementInstance::updateInstance() to clean up the instance tree
3575           there as well.
3576         - Add mechanism for blocking instance updates when an animation changes
3577           the referenced tree.
3578         
3579         The added assert in SVGSMILElement::insertedIntoDocument() verifies the fixes
3580         with the existing test cases.
3581
3582         * svg/SVGAElement.cpp:
3583         (WebCore::SVGAElement::defaultEventHandler):
3584         * svg/SVGElementInstance.cpp:
3585         (WebCore::SVGElementInstance::updateInstance):
3586         * svg/SVGStyledElement.cpp:
3587         (WebCore::SVGStyledElement::updateElementInstance):
3588         (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
3589         * svg/SVGStyledElement.h:
3590         * svg/SVGUseElement.cpp:
3591         (WebCore::isDisallowedElement):
3592         (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree):
3593         * svg/SVGUseElement.h:
3594         * svg/animation/SVGSMILElement.cpp:
3595         (WebCore::SVGSMILElement::insertedIntoDocument):
3596         (WebCore::SVGSMILElement::isSMILElement):
3597         (WebCore::SVGSMILElement::connectConditions):
3598         (WebCore::SVGSMILElement::disconnectConditions):
3599         * svg/animation/SVGSMIL