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