fb1fed224d60784ccf95c30a0b5f070a536cc056
[WebKit-https.git] / WebCore / ChangeLog
1 2008-04-30  Rob Buis  <buis@kde.org>
2
3         Reviewed by Nikolas.
4
5         https://bugs.webkit.org/show_bug.cgi?id=16447
6         onload called too many times for <svg:image>
7         https://bugs.webkit.org/show_bug.cgi?id=12282
8         SVG wastes time in malloc to send loadEvents to non-existent listeners
9
10         Postpone load event dispatching for image when externalResourcesRequired
11         is true, delaying parents but not siblings, and make sure the load event
12         is sent once for image in all cases.
13
14         * svg/SVGElement.cpp:
15         (WebCore::hasLoadListener):
16         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
17         * svg/SVGImageElement.cpp:
18         (WebCore::SVGImageElement::haveLoadedRequiredResources):
19         * svg/SVGImageLoader.cpp:
20         (WebCore::SVGImageLoader::dispatchLoadEvent):
21
22 2008-04-30  David Hyatt  <hyatt@apple.com>
23
24         Fix crashes when dynamically removing <video> elements with layers that establish stacking contexts.  This
25         won't typically crash release builds because of arena recycling.
26
27         Reviewed by Dan Bernstein
28         
29         * rendering/RenderLayer.cpp:
30         (WebCore::RenderLayer::~RenderLayer):
31         Make sure to remove the reflection's child layer from its parent.
32
33         * rendering/RenderMedia.cpp:
34         (WebCore::RenderMedia::~RenderMedia):
35         (WebCore::RenderMedia::destroy):
36         (WebCore::RenderMedia::removeChild):
37         * rendering/RenderMedia.h:
38         Adjust the teardown of RenderMedia so that it does all of its teardown inside destroy() (this makes it more
39         like other renderers and doesn't leave you staring at a trashed layer hierarchy in the RenderMedia
40         destructor).
41
42 2008-04-30  Rémi Zara  <remi_zara@mac.com>
43
44         Reviewed by Dave Hyatt.
45
46         fix https://bugs.webkit.org/show_bug.cgi?id=18618
47         <rdar://problem/5876063> REGRESSION (r31823-r31847): Patterns are upside down
48
49         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
50         (WebCore::patternCallback): flip the y axis when drawing the tile
51
52 2008-04-30  Timothy Hatcher  <timothy@apple.com>
53
54         Fixes an undefined type exception that fires when adding a resource to the inspector
55         that has a MIME type warning.
56
57         Reviewed by Adam Roben.
58
59         * page/inspector/Resource.js:
60         (WebInspector.Resource.prototype._addTip): Call WebInspector.console instead of
61         WebInspector.consolePanel.
62         (WebInspector.Resource.prototype._checkWarning): Ditto.
63
64 2008-04-30  Timothy Hatcher  <timothy@apple.com>
65
66         Fixes the bug where the selected resource would be deselected after
67         changing the sort order in the Resources panel.
68
69         Reviewed by Dan Bernstein.
70
71         * page/inspector/ResourcesPanel.js:
72         (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
73         Rememebr if the tree element that we are sorting was selected, so
74         the selection can be restored after it is re-inserted. The onSelect
75         is suppressed since we don't need to show the resource again.
76
77 2008-04-29  Timothy Hatcher  <timothy@apple.com>
78
79         Fixes the regression where error bubbles in source views always show
80         "undefined" for the content because the message property on
81         ConsoleMessage was removed. Adds support for a plain text formated
82         message that is stored in the message proeprty.
83
84         Reviewed by Adam Roben.
85
86         * page/inspector/Console.js:
87         (WebInspector.Console.prototype._format): Add a plainText argument that is passed to
88         the formatters.
89         (WebInspector.Console.prototype._formatvalue): Add a plainText argument, and a comment
90         about needing to honor it if the textContent of the output doesn't make sense.
91         (WebInspector.Console.prototype._formatvalue): Ditto.
92         (WebInspector.Console.prototype._formatstring): Ditto.
93         (WebInspector.Console.prototype._formatregexp): Ditto.
94         (WebInspector.Console.prototype._formatarray): Ditto.
95         (WebInspector.Console.prototype._formatnode): Ditto.
96         (WebInspector.Console.prototype._formatobject): Ditto.
97         (WebInspector.Console.prototype._formaterror): Ditto.
98         (WebInspector.ConsoleMessage): Call _format passing true for plainText. Get the 
99         textContnet of the result and assign to the message proeprty. This property is 
100         referenced from the SourceView.
101         (WebInspector.ConsoleMessage.prototype._format): Add a plainText argument. Build the 
102         result element as a local and return it, instead of using formatedMessage directly.
103
104 2008-04-30  Timothy Hatcher  <timothy@apple.com>
105
106         Adds a helper function to convert a JSValueRef to a String.
107
108         Reviewed by Adam Roben.
109
110         * page/InspectorController.cpp:
111         (WebCore::toString): Converts a JSValueRef to a String.
112         (WebCore::search): Use toString.
113         (WebCore::InspectorController::handleException): Ditto.
114
115 2008-04-30  Ariya Hidayat  <ariya.hidayat@trolltech.com>
116
117         Reviewed by Simon.
118         
119         Build the Qt port with SVG Foreign Object support.
120
121         * WebCore.pro:
122
123 2008-04-30  Simon Hausmann  <hausmann@webkit.org>
124
125         Reviewed by Holger.
126
127         Fix null pointer deference triggered by
128         LayoutTests/fast/loader/cancel-load-during-port-block-timer.html
129
130         * platform/network/qt/ResourceHandleQt.cpp:
131         (WebCore::ResourceHandle::cancel): Check m_job before dereferencing.
132
133 2008-04-29  David Hyatt  <hyatt@apple.com>
134
135         Improve the performance of masks by adding code to set more precise clips on the transparency layers
136         used to paint the content under the mask, and then also avoid creating transparency layers for the masks
137         themselves in common cases.
138
139         Reviewed by Dan Bernstein
140
141         * platform/graphics/GraphicsContext.cpp:
142         (WebCore::GraphicsContext::drawTiledImage):
143         Fix a bug in drawTiledImage where the composite mode got lost in the double stretch case for nine piece
144         images.
145
146         * rendering/InlineFlowBox.cpp:
147         (WebCore::InlineFlowBox::paintFillLayers):
148         (WebCore::InlineFlowBox::paintFillLayer):
149         (WebCore::InlineFlowBox::paintMask):
150         Optimize to only push a transparency layer for the mask if multiple images are combining.  Add a new
151         composite operator argument for use when painting fill layers to do direct destination-in compositing while
152         painting images.
153
154
155         * rendering/InlineFlowBox.h:
156         * rendering/RenderBox.cpp:
157         (WebCore::RenderBox::paintMask):
158         (WebCore::RenderBox::paintMaskImages):
159         Optimize to only push a transparency layer for the mask if multiple images are combining.
160
161         (WebCore::RenderBox::maskClipRect):
162         A new method that attempts to compute a precise clip rect for the mask images.
163
164         (WebCore::RenderBox::paintFillLayers):
165         (WebCore::RenderBox::paintFillLayer):
166         (WebCore::RenderBox::paintFillLayerExtended):
167         * rendering/RenderBox.h:
168         Added the composite operator argument to the paintFillLayer methods.
169
170         * rendering/RenderFieldset.cpp:
171         (WebCore::RenderFieldset::paintMask):
172         Call the new base class paintMaskImages method for optimized mask painting.
173
174         * rendering/RenderLayer.cpp:
175         (WebCore::transparencyClipBox):
176         Fix a coordinate space issue with transparencyClipBox when masks were used.  The border box was in the
177         wrong coordinate space.  Moved the code into the layer's boundingBox() method instead.
178
179         (WebCore::RenderLayer::paintLayer):
180         Removed the code that always pushed a transparency layer before painting masks.
181
182         (WebCore::RenderLayer::boundingBox):
183         Call maskClipRect to shrink the bounding box of the layer to fit the mask clip.
184
185         * rendering/RenderObject.cpp:
186         (WebCore::RenderObject::paintNinePieceImage):
187         Added a composite operator argument for direct destination-in painting of nine piece images.
188
189         * rendering/RenderObject.h:
190         (WebCore::RenderObject::maskClipRect):
191         (WebCore::RenderObject::paintFillLayerExtended):
192         Base class stubs for RenderBox-implemented methods.
193
194         * rendering/RenderTable.cpp:
195         (WebCore::RenderTable::paintMask):
196         * rendering/RenderTableCell.cpp:
197         (WebCore::RenderTableCell::paintMask):
198         Modified to call the new paintMaskImages function.
199
200         * svg/graphics/SVGImage.cpp:
201         (WebCore::SVGImage::draw):
202         SVG images now respect composite modes by pushing a transparency layer when the composite mode
203         is anything other than source-over.
204
205 2008-04-30  Ariya Hidayat  <ariya.hidayat@trolltech.com>
206
207         Rubber-stamped by Rob Buis.
208
209         Fixed crash or assertion if SVG_FOREIGN_OBJECT is not enabled
210
211         * svg/SVGUseElement.cpp:
212         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
213
214 2008-04-30  Ariya Hidayat  <ariya.hidayat@trolltech.com>
215
216         Rubber-stamped by Rob Buis.
217
218         Fixed compile, due to API change in XMLSerializer
219
220         * svg/SVGUseElement.cpp:
221         (WebCore::SVGUseElement::buildPendingResource):
222
223 2008-04-30  Rob Buis  <buis@kde.org>
224
225         Reviewed by Eric.
226
227         https://bugs.webkit.org/show_bug.cgi?id=11939
228         Quirksmode: Ignores media types in stylesheet PIs
229
230         Transfer the xml-stylesheet pseudo attribute media to the css
231         stylesheet created from the ProcessingInstruction.
232
233         Tests: fast/css/xml-stylesheet-media-processing.xhtml
234
235         * css/StyleSheet.cpp:
236         (WebCore::StyleSheet::setMedia):
237         * css/StyleSheet.h:
238         * dom/ProcessingInstruction.cpp:
239         (WebCore::ProcessingInstruction::checkStyleSheet):
240         (WebCore::ProcessingInstruction::setCSSStyleSheet):
241         * dom/ProcessingInstruction.h:
242
243 2008-04-29  David D. Kilzer  <ddkilzer@apple.com>
244
245         BUILD FIX for export of WTF::RefCounted<WebCore::FormData>::deref()
246
247         On the buildbot, this is a fatal error:
248
249         ld: symbols names listed in -exported_symbols_list: WebKitBuild/Release/DerivedSources/WebCore/WebCore.exp not in linked objects
250         __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv
251         /usr/bin/libtool: internal link edit command failed
252
253         Newer dev tools only produce a warning:
254
255         ld warning: cannot export hidden symbol __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv from WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/i386/DocumentLoader.o
256
257         * WebCore.base.exp: Remove hidden symbol from export list.
258
259 2008-04-29  David Kilzer  <ddkilzer@apple.com>
260
261         Another BUILD FIX for ENABLE(DASHBOARD_SUPPORT)
262
263         * dom/make_names.pl: Added #if ENABLE(DASHBOARD_SUPPORT) to Dashboard code.
264
265 2008-04-29  David Kilzer  <ddkilzer@apple.com>
266
267         BUILD FIX for ENABLE(DASHBOARD_SUPPORT)
268
269         * DerivedSources.make: Removed duplication of targets for
270         generating CSSPropertyNames.h and CSSValueKeywords.h.
271         * GNUmakefile.am: Ditto.  Added support for ENABLE_DASHBOARD_SUPPORT.
272         * WebCore.pro: Added support for ENABLE_DASHBOARD_SUPPORT.
273         Made both SVG and non-SVG variables of GENERATOR 6-A use new
274         DASHBOARDSUPPORTCSSPROPERTIES variable.
275
276 2008-04-29  Ada Chan  <adachan@apple.com>
277
278         Added missing return.        
279
280         * platform/win/COMPtr.h:
281         (WTF::):
282
283 2008-04-29  Alp Toker  <alp@nuanti.com>
284
285         GTK+ build fix attempt following breakage in r32700 which
286         conditionalised dashboard support.
287
288         * GNUmakefile.am:
289
290 2008-04-29  Adam Roben  <aroben@apple.com>
291
292         Restore the beloved COMPtr::operator&
293
294         * platform/win/COMPtr.h: Removed the HashTableDeletedValueType
295         constructor and isHashTableDeletedValue and hashTableDeletedValue
296         functions.
297         (WTF::): Changed constructDeletedValue to play nicely with
298         COMPtr::operator&.
299
300 2008-04-29  Adam Roben  <aroben@apple.com>
301
302         Fix assertion on launch on Windows
303
304         * platform/graphics/win/FontPlatformData.h: Pass
305         WTF::HashTableDeletedValue to the m_font constructor instead of a
306         bogus -1 value. This is needed because m_font is a RefPtr.
307
308 2008-04-29  Greg Bolsinga  <bolsinga@apple.com>
309
310         Reviewed by Darin.
311
312         Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
313
314         * DerivedSources.make:
315         * WebCore.DashboardSupport.exp: Added.
316         * WebCore.base.exp:
317         * WebCore.xcodeproj/project.pbxproj:
318         * bindings/js/JSDOMWindowCustom.cpp:
319         (WebCore::JSDOMWindow::setLocation):
320         * css/CSSComputedStyleDeclaration.cpp:
321         (WebCore::):
322         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
323         * css/CSSParser.cpp:
324         (WebCore::CSSParser::parseValue):
325         * css/CSSPrimitiveValue.cpp:
326         (WebCore::CSSPrimitiveValue::cleanup):
327         (WebCore::CSSPrimitiveValue::cssText):
328         * css/CSSPropertyNames.in:
329         * css/CSSStyleSelector.cpp:
330         (WebCore::CSSStyleSelector::applyProperty):
331         * css/DashboardRegion.h:
332         * css/DashboardSupportCSSPropertyNames.in: Added.
333         * dom/DOMImplementation.cpp:
334         (WebCore::DOMImplementation::createDocument):
335         * dom/Document.cpp:
336         (WebCore::Document::Document):
337         (WebCore::Document::importNode):
338         * dom/Document.h:
339         * html/CanvasRenderingContext2D.cpp:
340         (WebCore::CanvasRenderingContext2D::fill):
341         (WebCore::CanvasRenderingContext2D::stroke):
342         (WebCore::CanvasRenderingContext2D::clip):
343         * html/CanvasRenderingContext2D.h:
344         * html/HTMLCanvasElement.cpp:
345         * html/HTMLCanvasElement.h:
346         * page/Chrome.cpp:
347         * page/ChromeClient.h:
348         * page/Frame.cpp:
349         (WebCore::Frame::paint):
350         * page/Frame.h:
351         * page/FrameView.cpp:
352         (WebCore::FrameView::layout):
353         * page/FrameView.h:
354         * page/Settings.cpp:
355         (WebCore::Settings::Settings):
356         * page/Settings.h:
357         * page/mac/EventHandlerMac.mm:
358         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
359         * page/mac/FrameMac.mm:
360         * page/mac/WebDashboardRegion.h:
361         * page/mac/WebDashboardRegion.m:
362         * rendering/RenderLayer.cpp:
363         (WebCore::RenderLayer::scrollToOffset):
364         (WebCore::RenderLayer::setHasHorizontalScrollbar):
365         (WebCore::RenderLayer::setHasVerticalScrollbar):
366         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
367         * rendering/RenderObject.cpp:
368         (WebCore::RenderObject::setStyle):
369         * rendering/RenderObject.h:
370         * rendering/RenderStyle.cpp:
371         (WebCore::StyleRareNonInheritedData::operator==):
372         (WebCore::RenderStyle::diff):
373         * rendering/RenderStyle.h:
374         * xml/XMLHttpRequest.cpp:
375         (WebCore::XMLHttpRequest::send):
376         (WebCore::XMLHttpRequest::setRequestHeader):
377
378 2008-04-29  Adam Roben  <aroben@apple.com>
379
380         Windows build fix
381
382         This removes COMPtr::operator&, which didn't jive with HashTable. It
383         is replaced by COMPtr::adoptionPointer.
384
385         Discussed with Darin Adler and Anders Carlsson.
386
387         * platform/win/COMPtr.h: Replaced operator& with adoptionPointer.
388
389 2008-04-29  David Hyatt  <hyatt@apple.com>
390
391         Implement the new box-reflect property in CSS.  This property enables real-time reflections on
392         objects (yes you can reflect <video>!).
393
394         Reviewed by Dan Bernstein
395
396         Test cases added in fast/reflections/
397
398         * GNUmakefile.am:
399         * WebCore.pro:
400         * WebCore.xcodeproj/project.pbxproj:
401         * WebCoreSources.bkl:
402         * css/CSSComputedStyleDeclaration.cpp:
403         (WebCore::):
404         (WebCore::valueForReflection):
405         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
406         * css/CSSParser.cpp:
407         (WebCore::CSSParser::parseValue):
408         (WebCore::CSSParser::parseReflect):
409         (WebCore::BorderImageParseContext::commitBorderImage):
410         (WebCore::CSSParser::parseBorderImage):
411         (WebCore::parseGradientColorStop):
412         (WebCore::CSSParser::parseTransform):
413         * css/CSSParser.h:
414         * css/CSSPropertyNames.in:
415         * css/CSSReflectValue.cpp: Added.
416         (WebCore::CSSReflectValue::cssText):
417         * css/CSSReflectValue.h: Added.
418         (WebCore::):
419         (WebCore::CSSReflectValue::CSSReflectValue):
420         (WebCore::CSSReflectValue::direction):
421         (WebCore::CSSReflectValue::offset):
422         (WebCore::CSSReflectValue::mask):
423         (WebCore::CSSReflectValue::setDirection):
424         (WebCore::CSSReflectValue::setOffset):
425         (WebCore::CSSReflectValue::setMask):
426         * css/CSSStyleSelector.cpp:
427         (WebCore::CSSStyleSelector::adjustRenderStyle):
428         (WebCore::CSSStyleSelector::applyProperty):
429         (WebCore::CSSStyleSelector::mapNinePieceImage):
430         * css/CSSStyleSelector.h:
431         * rendering/InlineFlowBox.cpp:
432         (WebCore::InlineFlowBox::placeBoxesVertically):
433         (WebCore::InlineFlowBox::paintMask):
434         * rendering/Length.h:
435         (WebCore::Length::calcFloatValue):
436         * rendering/RenderBlock.cpp:
437         (WebCore::RenderBlock::overflowHeight):
438         (WebCore::RenderBlock::overflowWidth):
439         (WebCore::RenderBlock::overflowLeft):
440         (WebCore::RenderBlock::overflowTop):
441         (WebCore::RenderBlock::overflowRect):
442         (WebCore::RenderBlock::layoutBlock):
443         * rendering/RenderBox.cpp:
444         (WebCore::RenderBox::setStyle):
445         (WebCore::RenderBox::paintMask):
446         (WebCore::RenderBox::imageChanged):
447         (WebCore::RenderBox::computeAbsoluteRepaintRect):
448         * rendering/RenderFlexibleBox.cpp:
449         (WebCore::RenderFlexibleBox::layoutBlock):
450         * rendering/RenderLayer.cpp:
451         (WebCore::RenderLayer::RenderLayer):
452         (WebCore::RenderLayer::~RenderLayer):
453         (WebCore::RenderLayer::updateLayerPositions):
454         (WebCore::RenderLayer::enclosingPositionedAncestor):
455         (WebCore::RenderLayer::enclosingTransformedAncestor):
456         (WebCore::RenderLayer::isTransparent):
457         (WebCore::transparencyClipBox):
458         (WebCore::RenderLayer::operator delete):
459         (WebCore::RenderLayer::destroy):
460         (WebCore::RenderLayer::removeOnlyThisLayer):
461         (WebCore::RenderLayer::insertOnlyThisLayer):
462         (WebCore::RenderLayer::paintLayer):
463         (WebCore::RenderLayer::updateZOrderLists):
464         (WebCore::RenderLayer::updateOverflowList):
465         (WebCore::RenderLayer::collectLayers):
466         (WebCore::RenderLayer::shouldBeOverflowOnly):
467         (WebCore::RenderLayer::styleChanged):
468         (WebCore::RenderLayer::reflectionLayer):
469         (WebCore::RenderLayer::createReflection):
470         (WebCore::RenderLayer::updateReflectionStyle):
471         * rendering/RenderLayer.h:
472         (WebCore::RenderLayer::hasReflection):
473         (WebCore::RenderLayer::reflection):
474         (WebCore::RenderLayer::paintingInsideReflection):
475         * rendering/RenderObject.cpp:
476         (WebCore::RenderObject::RenderObject):
477         (WebCore::RenderObject::requiresLayer):
478         (WebCore::RenderObject::setStyle):
479         (WebCore::RenderObject::updateImage):
480         (WebCore::RenderObject::reflectionBox):
481         (WebCore::RenderObject::reflectionOffset):
482         * rendering/RenderObject.h:
483         (WebCore::RenderObject::hasTransform):
484         (WebCore::RenderObject::setHasReflection):
485         (WebCore::RenderObject::hasReflection):
486         * rendering/RenderReplica.cpp: Added.
487         (WebCore::RenderReplica::RenderReplica):
488         (WebCore::RenderReplica::~RenderReplica):
489         (WebCore::RenderReplica::layout):
490         (WebCore::RenderReplica::calcPrefWidths):
491         (WebCore::RenderReplica::paint):
492         * rendering/RenderReplica.h: Added.
493         (WebCore::RenderReplica::renderName):
494         (WebCore::RenderReplica::requiresLayer):
495         * rendering/RenderStyle.cpp:
496         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
497         (WebCore::StyleRareNonInheritedData::operator==):
498         (WebCore::StyleRareNonInheritedData::reflectionDataEquivalent):
499         (WebCore::RenderStyle::diff):
500         (WebCore::RenderStyle::applyTransform):
501         * rendering/RenderStyle.h:
502         (WebCore::TranslateTransformOperation::apply):
503         (WebCore::StyleReflection::StyleReflection):
504         (WebCore::StyleReflection::operator==):
505         (WebCore::StyleReflection::operator!=):
506         (WebCore::StyleReflection::direction):
507         (WebCore::StyleReflection::offset):
508         (WebCore::StyleReflection::mask):
509         (WebCore::StyleReflection::setDirection):
510         (WebCore::StyleReflection::setOffset):
511         (WebCore::StyleReflection::setMask):
512         (WebCore::RenderStyle::boxReflect):
513         (WebCore::RenderStyle::setBoxReflect):
514         (WebCore::RenderStyle::initialBoxReflect):
515         * rendering/RenderTable.cpp:
516         (WebCore::RenderTable::layout):
517         (WebCore::RenderTable::paintMask):
518         * rendering/RenderTableCell.cpp:
519         (WebCore::RenderTableCell::requiresLayer):
520         (WebCore::RenderTableCell::paintMask):
521
522 2008-04-29  Beth Dakin  <bdakin@apple.com>
523
524         Reviewed by Alice.
525
526         Initial implementation of the following ARIA roles: button, 
527         checkbox, heading, link, radio, textbox.
528
529         * html/HTMLAttributeNames.in: Add 'role' to list of attributes.
530
531         * page/AccessibilityObject.cpp:
532          When an ARIA role is set, the role overrides whatever the actual 
533 element is when the element reports itself to the screen reader. So all of these isBlah functions report based on their roleValue now.
534         (WebCore::AccessibilityObject::isWebArea):
535         (WebCore::AccessibilityObject::isImageButton):
536         (WebCore::AccessibilityObject::isAnchor):
537         (WebCore::AccessibilityObject::isTextControl):
538         (WebCore::AccessibilityObject::isImage):
539         (WebCore::AccessibilityObject::isAttachment):
540         (WebCore::AccessibilityObject::isPasswordField):
541         (WebCore::AccessibilityObject::isCheckboxOrRadio):
542         (WebCore::AccessibilityObject::isHeading):
543         (WebCore::AccessibilityObject::isLink):
544
545         Check for ARIA information:
546         (WebCore::AccessibilityObject::headingLevel):
547         (WebCore::AccessibilityObject::anchorElement):
548         (WebCore::AccessibilityObject::actionElement):
549         (WebCore::AccessibilityObject::hasIntValue):
550         (WebCore::AccessibilityObject::intValue):
551         (WebCore::AccessibilityObject::stringValue):
552         (WebCore::AccessibilityObject::title):
553         (WebCore::AccessibilityObject::accessibilityIsIgnored):
554         (WebCore::AccessibilityObject::roleValue):
555
556         There are a few places in the code where it is important to identify the difference between ARIA and non-ARIA.
557         (WebCore::AccessibilityObject::isNativeImage):
558         (WebCore::AccessibilityObject::isNativeTextControl):
559         (WebCore::isARIAInput):
560         (WebCore::isARIAControl):
561
562         A lot of spots in the code used to cast to RenderTextControl to get information about the text inside the element. Now that non-native text controls can run this code with the ARIA role 'textbox', it needs to be as general as possible. 
563         (WebCore::AccessibilityObject::text): Still calls into 
564         RenderTextControl's text() for native text controls. Uses Element's 
565         innerText() for ARIA textboxes.
566         (WebCore::AccessibilityObject::textLength): Call 
567         AccessibilityObject's text() instead of RenderTextControl's.
568         (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
569         (WebCore::AccessibilityObject::selectedText):
570         (WebCore::AccessibilityObject::selectedTextRange):
571         (WebCore::AccessibilityObject::selectionStart):
572         (WebCore::AccessibilityObject::selectionEnd):
573         (WebCore::AccessibilityObject::setSelectedTextRange):
574         (WebCore::AccessibilityObject::setValue):
575         (WebCore::AccessibilityObject::visiblePositionForIndex):
576         (WebCore::AccessibilityObject::indexForVisiblePosition):
577         (WebCore::AccessibilityObject::textMarkerRangeForRange):
578         (WebCore::AccessibilityObject::textMarkerForIndex):
579         (WebCore::AccessibilityObject::indexForTextMarker):
580         (WebCore::AccessibilityObject::doAXRangeForLine):
581         (WebCore::AccessibilityObject::doAXRangeForIndex):
582         (WebCore::AccessibilityObject::doAXStringForRange):
583         (WebCore::AccessibilityObject::doAXBoundsForRange):
584         
585         Reports ARIA role. If the role is not valid or simply not set, return UnknownRole.
586         (WebCore::AccessibilityObject::ariaRoleAttribute):
587         
588         Added several new functions. Most of them existed before but were static, or have been added to reduce the dependency on RenderTextControl for a lot of the text functionality.
589         * page/AccessibilityObject.h:
590
591         Eliminated dependency on RenderTextControl cast. The information is generalized now and available directly through the AccessibilityObject.
592         * page/mac/AccessibilityObjectWrapper.mm:
593         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
594         (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
595
596 2008-04-29  Timothy Hatcher  <timothy@apple.com>
597
598         Make the exceptions that the InspectorController catches log the
599         original file and line number, if present on the exception object.
600
601         Reviewed by Adam Roben.
602
603         * page/InspectorController.cpp:
604         (WebCore::InspectorController::callFunction): Pass the context to HANDLE_EXCEPTION.
605         (WebCore::InspectorController::~InspectorController): Ditto.
606         (WebCore::InspectorController::scriptObjectReady): Ditto.
607         (WebCore::InspectorController::addScriptResource): Ditto.
608         (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
609         (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
610         (WebCore::InspectorController::updateScriptResource): Ditto.
611         (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
612         (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
613         (WebCore::InspectorController::handleException): Take a context. Pull the line
614         and sourceURL properties off the exception if it is an object.
615         * page/InspectorController.h: Change handleException to take a context.
616
617 2008-04-29  Timothy Hatcher  <timothy@apple.com>
618
619         Fixes a regression where the Page's debugger would not be reattached
620         when a new JSDOMWindow is created.
621
622         Reviewed by Sam Weinig.
623
624         * bindings/js/kjs_proxy.cpp:
625         (WebCore::KJSProxy::clear): Call attachDebugger after creating the JSDOMWindow.
626         * history/CachedPage.cpp:
627         (WebCore::CachedPage::restore): For the case where the CachedPage doesn't
628         contain a window, reattach the debugger to the new JSDOMWindow by calling
629         proxy->attachDebugger. Also restore the setPageGroupIdentifier.
630
631 2008-04-29  Anatoli Papirovski  <apapirovski@mac.com>
632
633         Reviewed by Darin Adler.
634
635         Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
636         Fixed RGB and RGBA parsing to ignore the declaration when the value is not
637         "either three integer values or three percentage values."
638
639         * css/CSSParser.cpp:
640         (WebCore::CSSParser::parseColorParameters):
641
642 2008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
643
644         Reviewed by Simon.
645
646         Fix crash when setHtml gets called from slots connected to QWebPage::unsupportedContent
647
648         Ben found this crash in the demo browser.
649
650         In void MainResourceLoader::continueAfterContentPolicy(PolicyAction contentPolicy,
651
652         case PolicyDownload:
653         frameLoader()->client()->download(m_handle.get(), request(), m_handle.get()->request(), r);
654         receivedError(interruptionForPolicyChangeError());
655
656         We are in a policy check, the download() call will call setHtml, which will start loading
657         the data into a frame. The loading will cancel all policy checks and call ResourceLoader::releaseResources
658         which will set m_frame to 0. Then we return and invoke interruptionForPolicyChangeError() which
659         will use the m_frame->loader() but it is gone. Do not call into receivedError and
660         interruptionForPolicyChangeError if we are gone anyway...
661
662         * loader/MainResourceLoader.cpp:
663         (WebCore::MainResourceLoader::continueAfterContentPolicy):
664
665 2008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
666
667         Reviewed by Simon.
668
669         Rely on auto-boxing of C++ for the QCursor c'tor
670
671         * platform/qt/CursorQt.cpp:
672
673 2008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
674
675         Reviewed by Simon.
676
677         Add the remaining cursors that defaulted to PointerCursor
678
679         * Resources/WebKitResources.qrc:
680         * platform/qt/CursorQt.cpp:
681         (WebCore::verticalTextCursor):
682         (WebCore::cellCursor):
683         (WebCore::contextMenuCursor):
684         (WebCore::copyCursor):
685         (WebCore::progressCursor):
686         (WebCore::aliasCursor):
687
688 2008-04-29  Alice Liu  <alice.liu@apple.com>
689
690         Reviewed by Beth Dakin.
691
692         Comply with HTML5 spec about parsing tabindex property according to
693         integer parsing rules
694
695         Test: fast/parser/tabindex-parsing.html
696
697         * html/HTMLElement.cpp:
698         (WebCore::HTMLElement::parseMappedAttribute):
699
700 2008-04-29  Tor Arne Vestbø  <tavestbo@trolltech.com>
701
702         Reviewed by Simon.
703
704         Fixes: Fix timing problem where scrollbars in subframes were sometimes not property repainted.
705
706         https://bugs.webkit.org/show_bug.cgi?id=18482
707
708         We need to repaint scrollbars after a geometry change, and also make sure
709         the computed clipping rect for the corners between scrollbars is propagated
710         to the chrome client without beeing intersected by the visible content rect
711         of the frame.
712
713         * platform/ScrollView.h:
714         * platform/qt/ScrollViewQt.cpp:
715         (WebCore::ScrollView::geometryChanged):
716         (WebCore::ScrollView::suppressScrollbars):
717         (WebCore::ScrollView::invalidateScrollbars):
718
719 2008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
720
721         Reviewed by Simon.
722
723         Calling QWebView::setCursor will override the WebCore Cursor.
724         Calling QWebView::setCursor will override the WebCore Cursor using
725         QWidget::unsetCursor will revert to the WebCore Cursor.
726
727         For detecting the unset we have to compare the shape of the
728         cursor to the default arrow. Qt::WA_SetCursor can not be used
729         as it is set unconditionally but conditionally removed.
730
731         Calling QWidget::setCursor will immediately send the CursorChange
732         event. We listen to this event to decide if we currently use a
733         WebCore cursor, got a cursor from outside, or revert to the default.
734
735         This should be race free and work reliable, the manual test for this
736         is WebCore/manual-tests/cursor.html
737
738         * platform/qt/WidgetQt.cpp:
739         (WebCore::Widget::setCursor):
740
741 2008-04-28  Dan Bernstein  <mitz@apple.com>
742
743         Reviewed by Maciej Stachowiak.
744
745         - fix https://bugs.webkit.org/show_bug.cgi?id=18795
746           REGRESSION (r32660): Text heavier with text-shadow
747
748         * rendering/InlineTextBox.cpp:
749         (WebCore::paintTextWithShadows): The loop was doing one extra pass
750         without shadow even in cases where the last pass with a shadow was
751         painting the text at the right position (rather than outside the clip).
752         Fixed that. The only case where a separate pass without shadow is needed
753         is when there is text-stroke, since in that case all shadow passes
754         paint the text outside the clip.
755
756 2008-04-28  Brady Eidson <beidson@apple.com>
757
758         Reviewed by Sam Weinig
759
760         Add Storage.clear(), per updates to HTML5
761
762         Tests: storage/domstorage/localstorage/clear.html
763                storage/domstorage/sessionstorage/clear.html
764
765         * storage/LocalStorageArea.cpp:
766         (WebCore::LocalStorageArea::areaCleared):
767         * storage/LocalStorageArea.h:
768
769         * storage/SessionStorageArea.cpp:
770         (WebCore::SessionStorageArea::areaCleared):
771         * storage/SessionStorageArea.h:
772
773         * storage/Storage.cpp:
774         (WebCore::Storage::clear):
775         * storage/Storage.h:
776         * storage/Storage.idl:
777
778         * storage/StorageArea.cpp:
779         (WebCore::StorageArea::internalClear):
780         * storage/StorageArea.h:
781         (WebCore::StorageArea::clear):
782
783 2008-04-28  Adele Peterson  <adele@apple.com>
784
785         Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
786
787         WebCore part of fix for <rdar://problem/3709505>
788         Safari should have a way to upload bundles from the file upload control (as zip)
789
790         * WebCore.base.exp: Added symbols.
791
792         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ask the application if a file will need to be replaced before it's uploaded.
793           It will also give the replacement filename which is used to determine the correct mime-type and to construct the correct header.
794
795         * loader/FrameLoader.cpp:
796         (WebCore::FrameLoader::submitForm): Asks the application to generate any files for the form data before a form submission starts.
797         (WebCore::FrameLoader::loadItem): ditto.
798         * loader/ResourceLoader.cpp:
799         (WebCore::ResourceLoader::didReceiveResponse): Tells the FormData from the request to remove any generated files if it needs to.
800         (WebCore::ResourceLoader::didCancel): ditto.
801         (WebCore::ResourceLoader::didFail): ditto.
802
803         * platform/network/FormData.cpp:
804         (WebCore::FormData::FormData): Initializes m_hasGeneratedFiles, which keeps track of whether there are files that will need to be removed.
805         (WebCore::FormData::~FormData): Added.  Assert that there are no files that need to be removed, but if there are, release builds will still remove them here.
806         (WebCore::FormData::appendFile): Passes along a shouldGenerateFile flag to the FormDataElement.
807         (WebCore::FormData::generateFiles): Added. Iterates through the FormDataElements, and using the ChromeClient pointer, asks the application to
808          create any compressed files so the FormDataElements can store the paths.
809         (WebCore::FormData::removeGeneratedFilesIfNeeded): Added.  Removes generated files and their directories (if empty).
810         * platform/network/FormData.h:
811         (WebCore::FormDataElement::FormDataElement): Added a boolean to track whether the file will need to be generated,
812          and a string to hold the path of the generated file.
813
814         * platform/network/mac/FormDataStreamMac.mm:
815         (WebCore::advanceCurrentStream): Uses the generated file path instead of the original file path when streaming the file.
816         (WebCore::setHTTPBody): Uses the generated file path when determining the size of the file to be uploaded.
817
818         * platform/FileSystem.h: Added directoryName.
819         * platform/posix/FileSystemPOSIX.cpp: (WebCore::directoryName): Added.
820         * platform/gtk/FileSystemGtk.cpp: (WebCore::directoryName): Added empty implementation.
821         * platform/qt/FileSystemQt.cpp: (WebCore::directoryName): ditto.
822         * platform/win/FileSystemWin.cpp: (WebCore::directoryName): ditto.
823         * platform/wx/FileSystemWx.cpp: (WebCore::directoryName): ditto.
824
825         Added new ChromeClient methods to give the application control over the file compression for uploading.
826         * page/Chrome.cpp:
827         (WebCore::ChromeClient::shouldReplaceWithGeneratedFileForUpload): Added a default implementation.
828         (WebCore::ChromeClient::generateReplacementFile): ditto.
829         * page/ChromeClient.h:
830
831 2008-04-28  Anders Carlsson  <andersca@apple.com>
832
833         Reviewed by Sam, Mark, Adele and Darin.
834
835         Add a (currently not called) method for opening the application cache database.
836         
837         * WebCore.base.exp:
838         * loader/appcache/ApplicationCacheStorage.cpp:
839         (WebCore::ApplicationCacheStorage::setCacheDirectory):
840         (WebCore::ApplicationCacheStorage::openDatabase):
841         * loader/appcache/ApplicationCacheStorage.h:
842
843 2008-04-28  Alice Liu  <alice.liu@apple.com>
844
845         Reviewed by Darin.
846
847         Fix <rdar://problem/4911289> Add tabindex property to all children 
848         of HTMLElement (7138)
849         http://bugs.webkit.org/show_bug.cgi?id=7138
850
851         Test: fast/events/tabindex-focus-blur-all.html
852
853         * WebCore.xcodeproj/project.pbxproj:
854         * bindings/objc/DOMPrivate.h:
855         -DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h are no
856          longer needed
857
858         * bindings/objc/PublicDOMInterfaces.h:
859         -Moving focus, blur, tabindex to HTMLElement from its descendants.
860
861         * dom/Node.cpp:
862         (WebCore::Node::Node):
863         (WebCore::Node::isFocusable):
864         (WebCore::Node::isKeyboardFocusable):
865         -The concept of being focusable now needs to account for tabindex
866         attribute.
867
868         * dom/Node.h:
869         -Need to use a bit to keep track of whether tabindex was explicitly set
870          to 0 or was just initialized to 0.
871         (WebCore::Node::tabIndex):
872         -Make this virtual so that Anchors and GenericFormElements can determine
873          tabindex without accounting for focusability
874         (WebCore::Node::setTabIndexExplicitly):
875         -Renamed setTabIndex() to setTabIndexExplicitly() so as not to hide
876          behind and/or be confused for HTMLElement::setTabIndex
877
878         * html/HTMLAnchorElement.cpp:
879         * html/HTMLAnchorElement.h:
880         (WebCore::HTMLAnchorElement::tabIndex):
881         * html/HTMLGenericFormElement.cpp:
882         * html/HTMLGenericFormElement.h:
883         (WebCore::HTMLGenericFormElement::tabIndex):
884         -Anchors and form elements are normally focusable, and need to avert the
885          check for focusability in HTMLElement::tabIndex
886          because tabIndex could be queried before a first layout happens.
887
888         * html/HTMLElement.cpp:
889         (WebCore::HTMLElement::parseMappedAttribute):
890         -Function Node::setTabIndex changed to Node::setTabIndexExplicitly
891         (WebCore::HTMLElement::isFocusable):
892         -The concept of being focusable now needs to account for tabindex
893          attribute.
894         (WebCore::HTMLElement::tabIndex):
895         -HTML5 specifies that querying tabindex for elements that aren't
896          focusable shall return -1
897         (WebCore::HTMLElement::setTabIndex):
898         -New default implementation
899         * html/HTMLElement.h:
900
901         * html/HTMLLegendElement.cpp:
902         (WebCore::HTMLLegendElement::focus):
903         -Now with HTML5's enhanced specification of tabindex, legend elements
904          themselves shall focus (if they should), and not the first form element 
905          they encapsulate.  This matches Firefox behavior.  HTMLLabelElements
906          still forward focus to the encapsulated element.  This also matches
907          other browsers. 
908
909         * html/HTMLAreaElement.cpp:
910         (WebCore::HTMLAreaElement::isFocusable):
911         * html/HTMLAreaElement.h:
912         -HTMLAreaElement isn't subject to the same focusability requirements as
913          its parent, HTMLAnchorElement. Default HTMLElement implementation is
914          desired.  
915
916         * html/HTMLFieldSetElement.cpp:
917         (WebCore::HTMLFieldSetElement::isFocusable):
918         * html/HTMLLegendElement.cpp:
919         (WebCore::HTMLLegendElement::isFocusable):
920         * html/HTMLOptGroupElement.cpp:
921         (WebCore::HTMLOptGroupElement::isFocusable):
922         * html/HTMLOptionElement.cpp:
923         (WebCore::HTMLOptionElement::isFocusable):
924         -These elements aren't subject to the same focusability requirements as
925          their parent, HTMLGenericFormElement. Default HTMLElement 
926          implementation is desired.  
927
928         * html/HTMLAnchorElement.idl:
929         * html/HTMLAreaElement.idl:
930         * html/HTMLButtonElement.idl:
931         * html/HTMLElement.idl:
932         * html/HTMLInputElement.idl:
933         * html/HTMLLabelElement.idl:
934         * html/HTMLLegendElement.idl:
935         * html/HTMLObjectElement.idl:
936         * html/HTMLSelectElement.idl:
937         * html/HTMLTextAreaElement.idl:
938         -Moving tabindex attribute, focus and blur methods from descendants of
939          HTMLElement to HTMLElement
940
941 2008-04-28  Dan Bernstein  <mitz@apple.com>
942
943         Reviewed by Dave Hyatt.
944
945         - support multiple box- and text-shadows
946
947         Tests: fast/css/shadow-multiple.html
948                fast/repaint/shadow-multiple-horizontal.html
949                fast/repaint/shadow-multiple-strict-horizontal.html
950                fast/repaint/shadow-multiple-strict-vertical.html
951                fast/repaint/shadow-multiple-vertical.html
952
953         * css/CSSComputedStyleDeclaration.cpp:
954         (WebCore::valueForShadow): Changed to account for reversing the order
955         of the shadow values in the ShadowData list.
956
957         * css/CSSValueList.cpp:
958         (WebCore::CSSValueList::prepend): Added.
959         * css/CSSValueList.h:
960
961         * rendering/InlineFlowBox.cpp:
962         (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for
963         all shadows in overflow calculation.
964         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
965         (WebCore::InlineFlowBox::paint): Changed to account for all shadows
966         when testing for intersection with the damage rect.
967         (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all
968         shadows.
969
970         * rendering/InlineTextBox.cpp:
971         (WebCore::paintTextWithShadows): Factored out from paint() and changed
972         to paint all shadows.
973         (WebCore::InlineTextBox::paint): Moved the text painting code out to
974         paintTextWithShadows(). Changed to not paint shadows for markers and
975         composition underlines and in "force black text" mode.
976         (WebCore::InlineTextBox::paintSelection):
977         (WebCore::InlineTextBox::paintCompositionBackground):
978         (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows.
979         * rendering/InlineTextBox.h: Changed some public methods to private
980         or protected.
981
982         * rendering/RenderBlock.cpp:
983         (WebCore::RenderBlock::overflowHeight): Changed to account for all
984         shadows.
985         (WebCore::RenderBlock::overflowWidth): Ditto.
986         (WebCore::RenderBlock::overflowLeft): Ditto.
987         (WebCore::RenderBlock::overflowTop): Ditto.
988         (WebCore::RenderBlock::overflowRect): Ditto.
989         (WebCore::RenderBlock::layoutBlock): Ditto.
990
991         * rendering/RenderFlexibleBox.cpp:
992         (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
993
994         * rendering/RenderLayer.cpp:
995         (WebCore::RenderLayer::calculateRects): Ditto.
996
997         * rendering/RenderObject.cpp:
998         (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows.
999         Changed to avoid clipping out the box if it has a fully opaque
1000         background.
1001         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account
1002         for all shadows.
1003         (WebCore::RenderObject::selectionForegroundColor): Cleaned up.
1004         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to
1005         account for all shadows.
1006
1007         * rendering/RenderReplaced.cpp:
1008         (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto.
1009
1010         * rendering/RenderStyle.cpp:
1011         (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding
1012         so that the stacking order of shadows when painting will be "first o
1013         top".
1014         (WebCore::RenderStyle::setBoxShadow): Ditto.
1015
1016         * rendering/RenderTable.cpp:
1017         (WebCore::RenderTable::layout): Changed to account for all shadows.
1018
1019 2008-04-28  Adam Roben  <aroben@apple.com>
1020
1021         Fix some more Windows build errors in COMPtr
1022
1023         * platform/win/COMPtr.h:
1024         (WTF::): Define DefaultHash<COMPtr<P> > by using PtrHash<COMPtr<P> >,
1025         which is just a copy of PtrHash<RefPtr<P> >.
1026
1027 2008-04-28  Adam Roben  <aroben@apple.com>
1028
1029         Fix some Windows build errors in COMPtr
1030
1031         * platform/win/COMPtr.h: Explicitly name the WTF namespace when using
1032         HashTableDeletedValueType.
1033
1034 2008-04-28  Adam Roben  <aroben@apple.com>
1035
1036         Fix some Windows build errors in FontPlatfomrData
1037
1038         * platform/graphics/win/FontPlatformData.h: Removed the Deleted
1039         constructor and replaced it with a HashTableDeletedValueType
1040         constructor. Also added isHashTableDeletedValue() and
1041         hashTableDeletedFontValue().
1042
1043 2008-04-28  David Hyatt  <hyatt@apple.com>
1044
1045         https://bugs.webkit.org/show_bug.cgi?id=18780
1046
1047         Canvas can't draw itself into its own buffer.  Make sure the dirtying call comes after the image()
1048         has been accessed.  Technically willDraw should be renamed to didDraw and all calls should be moved
1049         to after draws have occurred (since if the draw op itself wants to reference the image it shouldn't get
1050         a dirty copy either), but I'll take that up with olliej when he wakes up. :)
1051
1052         Reviewed by Dan Bernstein
1053
1054         Added fast/canvas/canvasDrawsIntoSelf.html
1055
1056         * html/CanvasRenderingContext2D.cpp:
1057         (WebCore::CanvasRenderingContext2D::drawImage):
1058
1059 2008-04-28  Alexey Proskuryakov  <ap@webkit.org>
1060
1061         Reviewed by Geoff Garen.
1062
1063         <rdar://problem/5825192> Replace use of Gestalt with BSD sysctl
1064
1065         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1066         (WebCore::MediaPlayerPrivate::isAvailable): There is no need to check QuickTime version post-Tiger,
1067         as it will never be below 7.3 again. This change may make library loading happen earlier in
1068         some cases, hopefully, that's not a big deal.
1069
1070 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
1071
1072         Reviewed by Darin.
1073
1074         Fix run-webkit-tests --threading
1075         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
1076         Proxy server issue in Sunday's Nightly
1077
1078         Adjusted for JavaScriptCore changes: added a new member to ClassInfo objects, turned
1079         ClassInfo::propHashTable into a function, made getPropertyAttributes() take an ExecState pointer.
1080
1081         * bindings/js/JSAudioConstructor.cpp:
1082         (WebCore::):
1083         * bindings/js/JSDOMWindowBase.cpp:
1084         (WebCore::):
1085         * bindings/js/JSDOMWindowCustom.cpp:
1086         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1087         * bindings/js/JSDOMWindowWrapper.cpp:
1088         (WebCore::):
1089         (WebCore::JSDOMWindowWrapper::getPropertyAttributes):
1090         * bindings/js/JSDOMWindowWrapper.h:
1091         * bindings/js/JSEventTargetBase.h:
1092         (WebCore::JSEventTargetPrototype::classInfo):
1093         * bindings/js/JSHTMLInputElementBase.cpp:
1094         (WebCore::):
1095         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1096         (WebCore::):
1097         * bindings/js/JSHistoryCustom.cpp:
1098         (WebCore::JSHistory::customGetOwnPropertySlot):
1099         * bindings/js/JSImageConstructor.cpp:
1100         (WebCore::):
1101         * bindings/js/JSInspectedObjectWrapper.cpp:
1102         (WebCore::):
1103         * bindings/js/JSInspectorCallbackWrapper.cpp:
1104         (WebCore::):
1105         * bindings/js/JSLocationCustom.cpp:
1106         (WebCore::JSLocation::customGetOwnPropertySlot):
1107         (WebCore::JSLocation::customPut):
1108         * bindings/js/JSNamedNodesCollection.cpp:
1109         (WebCore::):
1110         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1111         (WebCore::):
1112         * bindings/js/JSRGBColor.cpp:
1113         (WebCore::):
1114         * bindings/js/JSStorageCustom.cpp:
1115         (WebCore::JSStorage::customPut):
1116         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1117         (WebCore::):
1118         * bindings/js/JSXSLTProcessor.cpp:
1119         (WebCore::):
1120         * bindings/scripts/CodeGeneratorJS.pm:
1121         * bridge/objc/objc_runtime.mm:
1122         * bridge/runtime_array.cpp:
1123         * bridge/runtime_object.cpp:
1124
1125 2008-04-28  David Hyatt  <hyatt@apple.com>
1126
1127         https://bugs.webkit.org/show_bug.cgi?id=18779
1128
1129         The arguments in drawImage were reversed when I switched away from the image buffer method.
1130
1131         Reviewed by Tim Hatcher
1132
1133         Added fast/canvas/drawImage.html
1134
1135         * html/CanvasRenderingContext2D.cpp:
1136         (WebCore::CanvasRenderingContext2D::drawImage):
1137
1138 2008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
1139
1140         Reviewed by Simon.
1141
1142         Fix the crash on http://www.orad.pl. We called end too early.
1143
1144         1. we need a ::write that will pause the parser due a pending
1145         script
1146         2. we need a second write to queue data (tricky part)
1147         3. we need to get a finish call (document loaded)
1148         4. we resume the script and parse, schedule loading of a new script
1149         and have called end
1150         5. we resume the new script and we get a crash
1151
1152         This bug is hard to trigger, e.g. if the web server is only allowing
1153         one connection per client/IP. This is why we need to sleep in the scripts. We
1154         want to make sure that the page is first fully received before serving the
1155         scripts.
1156
1157         Test: http/tests/misc/xmltokenizer-do-not-crash.pl
1158
1159         * dom/XMLTokenizer.cpp:
1160
1161 2008-04-28  Ariya Hidayat  <ahidayat@trolltech.com>
1162
1163         Reviewed by Simon.
1164
1165         Fix rounded corner on combo box with CSS border
1166
1167         * platform/qt/RenderThemeQt.cpp:
1168         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1169
1170 2008-04-28  Ariya Hidayat  <ahidayat@trolltech.com>
1171
1172         Reviewed by Simon.
1173
1174         Fix CSS border does not show up for combo boxes
1175
1176         Do not clear the border when painting the combo box for 'select' form element
1177
1178         * platform/qt/RenderThemeQt.cpp:
1179
1180 2008-04-28  Olivier Goffart  <ogoffart@trolltech.com>
1181
1182         Reviewed by Simon.
1183
1184         Avoid comparing to 0 in qFuzzyCompare for increased
1185         numeric stability.
1186
1187         * platform/graphics/qt/PathQt.cpp:
1188         (WebCore::Path::addArc):
1189
1190 2008-04-28  Benjamin Meyer  <bmeyer@trolltech.com>
1191
1192         Reviewed by Simon.
1193
1194         Fixes: Pages returning 404 with content are not displayed.
1195
1196         A web page that returns 404 can still have content.
1197
1198         * platform/network/qt/QNetworkReplyHandler.cpp:
1199         (WebCore::QNetworkReplyHandler::finish):
1200
1201 2008-04-28  Paul Olav Tvete  <paul@trolltech.com>
1202
1203         Reviewed by Simon.
1204
1205         Fix compiler warning; Avoid the implicity QString(const char *)
1206         constructor
1207
1208         * platform/qt/RenderThemeQt.cpp:
1209         (WebCore::RenderThemeQt::fallbackStyle):
1210
1211 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
1212
1213         Reviewed by Simon.
1214
1215         Prevent middle-click from triggering open URL from clipboard when the event has already been accepted.
1216
1217         * platform/qt/PlatformScrollBarQt.cpp:
1218         (WebCore::PlatformScrollbar::handleMousePressEvent):
1219
1220 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
1221
1222         Reviewed by Simon.
1223
1224         Fix scrollbar behavior in QtWebKit to match QScrollBar.
1225
1226         Right click context menu is now supported, along with
1227         middle click to center slider thumb over mouse cursor.
1228
1229         * platform/qt/PlatformScrollBar.h:
1230         * platform/qt/PlatformScrollBarQt.cpp:
1231         (tr):
1232         (WebCore::PlatformScrollbar::pixelPosToRangeValue):
1233         (WebCore::PlatformScrollbar::handleMousePressEvent):
1234         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1235         (WebCore::PlatformScrollbar::handleContextMenuEvent):
1236
1237 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
1238
1239         Reviewed by Simon.
1240
1241         Implemented channel-based logging for QtWebKit.
1242
1243         Comma-separated log channels are read from the QT_WEBKIT_LOG environment variable.
1244         Warnings for notImplemented() is still output by default, but can be disabled
1245         by setting DISABLE_NI_WARNINGS=1.
1246
1247         * WebCore.pro:
1248         * platform/NotImplemented.h:
1249         * platform/qt/LoggingQt.cpp: Added.
1250         (WebCore::getChannelFromName):
1251         (WebCore::InitializeLoggingChannelsIfNecessary):
1252
1253 2008-04-28  Simon Hausmann  <shausman@trolltech.com>
1254
1255         Reviewed by Holger.
1256
1257         Fixes: Popups/Context menu in WebKit appearing at the wrong location when embedded in the graphics view or using multiple screens
1258
1259         Give the popups the right parent widget and the right coordinates relative within the parent.
1260
1261         * platform/qt/PopupMenuQt.cpp:
1262         (WebCore::PopupMenu::show):
1263
1264 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
1265
1266         Reviewed by Simon.
1267
1268         Fixes: Tabbing to a checkbox/button doesn't work on Win/X11
1269
1270         Respect platform settings for tabbing to all controls.
1271
1272         * page/qt/EventHandlerQt.cpp:
1273
1274 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
1275
1276         Reviewed by Simon.
1277
1278         First part of the fix for tabbing to a checkbox/button doesn't work on Win/X11
1279
1280         Draw controls instead of pimitive elements, to get focus rects for free.
1281
1282         * platform/qt/RenderThemeQt.cpp:
1283         (WebCore::RenderThemeQt::paintButton):
1284
1285 2008-04-28  Lincoln Ramsay  <lincoln.ramsay@trolltech.com>
1286
1287         Reviewed by Simon.
1288
1289         Compile when QT_NO_CLIPBOARD is defined.
1290
1291         * platform/qt/ClipboardQt.cpp:
1292         (WebCore::ClipboardQt::ClipboardQt):
1293         (WebCore::ClipboardQt::clearData):
1294         (WebCore::ClipboardQt::clearAllData):
1295         (WebCore::ClipboardQt::setData):
1296         (WebCore::ClipboardQt::declareAndWriteDragImage):
1297         (WebCore::ClipboardQt::writeURL):
1298         (WebCore::ClipboardQt::writeRange):
1299         * platform/qt/PasteboardQt.cpp:
1300         (WebCore::Pasteboard::writeSelection):
1301         (WebCore::Pasteboard::plainText):
1302         (WebCore::Pasteboard::documentFragment):
1303         (WebCore::Pasteboard::writeURL):
1304         (WebCore::Pasteboard::writeImage):
1305
1306 2008-04-28  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1307
1308         Reviewed by Simon.
1309
1310         Draw the arrow button on the styled combo box using the fallback ("Windows") style
1311
1312         * platform/qt/RenderThemeQt.cpp:
1313         (WebCore::RenderThemeQt::RenderThemeQt):
1314         (WebCore::RenderThemeQt::~RenderThemeQt):
1315         (WebCore::RenderThemeQt::fallbackStyle):
1316         (WebCore::RenderThemeQt::paintMenuListButton):
1317         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1318         * platform/qt/RenderThemeQt.h:
1319
1320 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
1321
1322         Reviewed by Holger.
1323
1324         Fix positioning of native widgets (plugins).
1325
1326         Correctly convert the coordinates of the Widget in Widget::setFrameGeometry()
1327         to be relative to the containing toplevel QWidget using convertToContainingWindow().
1328
1329         Note: convertToContainingWindow() takes child coordinates.
1330
1331         * platform/qt/WidgetQt.cpp:
1332         (WebCore::Widget::frameGeometry):
1333         (WebCore::Widget::setFrameGeometry):
1334
1335 2008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
1336
1337         Reviewed by Simon.
1338
1339         plugins: fix scrolling issues
1340
1341         When scrolling you can see artefacts that remain on the screen, they
1342         seem to originate from the backingstore handling. I'm not entirely sure
1343         where they come from, my workarounds involved a
1344         data->m_widget->parentWidget()->update() call in Widget::geometryChanged or
1345         handling widgets with a native QWidget embedded like web pages with a
1346         static background. This needs more investigations, I think the ScrollView
1347         change is cleaner than the brute force in Widget::geometryChanged
1348
1349         Focus handling seems to be broken as well and needs further work, we don't
1350         clip plugin QWidgets and they can draw out of their bounds, e.g. on the ScrollBar,
1351         the z-order is likely not honored as well.
1352
1353         * platform/ScrollView.h:
1354         * platform/qt/ScrollViewQt.cpp:
1355         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1356         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1357         (WebCore::ScrollView::addChild):
1358         (WebCore::ScrollView::removeChild):
1359         (WebCore::ScrollView::incrementNativeWidgetCount):
1360         (WebCore::ScrollView::decrementNativeWidgetCount):
1361         (WebCore::ScrollView::hasNativeWidgets):
1362
1363 2008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
1364
1365         Reviewed by Simon.
1366
1367         Add manual test to test placement of QWidgets in iframe's
1368
1369         * manual-tests/qt/main.html: Added.
1370         * manual-tests/qt/qtplugin.html: Added.
1371
1372 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
1373
1374         Fix the build with ENABLE_DATABASE=0 (Qt/Windows) by including
1375         SecurityOrigin.h. It's used in the file and also implicitly included
1376         through the database headers.
1377
1378         * page/DOMWindow.cpp:
1379
1380 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
1381
1382         Prospective Wx build fix.
1383
1384         * platform/graphics/wx/FontPlatformData.h:
1385
1386 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
1387
1388         Reviewed by Alp.
1389
1390         Gtk build fix, similar to the changes done in r32609.
1391
1392         * platform/graphics/gtk/FontPlatformData.h:
1393         (WebCore::FontPlatformData::FontPlatformData):
1394         (WebCore::FontPlatformData::isHashTableDeletedValue):
1395         (WebCore::FontPlatformData::hashTableDeletedFontValue):
1396
1397 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
1398
1399         Prospective build fix. After r32609 it seems the workaround here
1400         is not needed anymore. With gcc 4.2/4.3 before 32609 the workaround
1401         is needed for compilation, after 32609 compilation only succeeds
1402         without the workaround.
1403
1404         * plugins/PluginPackage.h: Removed workaround of extra StorageTraits
1405         specification for the custom hash function of PluginPackage used in
1406         PluginSet.
1407
1408 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
1409
1410         Reviewed by Simon.
1411
1412         https://bugs.webkit.org/show_bug.cgi?id=18713
1413
1414         Fix scrollbar painting issues in QtWebKit.
1415
1416         Hovering and click-draging outside of the scrollbar would
1417         produce unexpected and inconcistent results. We also didn't
1418         pass on leave-events to the underlying WebKit code, which
1419         was nessecary to implement the paint fix.
1420
1421         * platform/qt/PlatformScrollBarQt.cpp:
1422         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1423         (WebCore::PlatformScrollbar::handleMouseOutEvent):
1424         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1425
1426 2008-04-27  Oliver Hunt  <oliver@apple.com>
1427
1428         Reviewed by Maciej.
1429
1430         Bug 17173: HTML5 Canvas API requires us to ignore certain operations
1431         <https://bugs.webkit.org/show_bug.cgi?id=17173>
1432
1433         This fixes the semantics of a number of Canvas functions to match
1434         the new HTML5 non-throwing semantics.
1435
1436         Test: fast/canvas/canvas-path-with-inf-nan-dimensions.html
1437
1438         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1439         (WebCore::JSCanvasRenderingContext2D::strokeRect):
1440         * html/CanvasRenderingContext2D.cpp:
1441         (WebCore::CanvasRenderingContext2D::moveTo):
1442         (WebCore::CanvasRenderingContext2D::lineTo):
1443         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1444         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
1445         (WebCore::CanvasRenderingContext2D::arcTo):
1446         (WebCore::CanvasRenderingContext2D::arc):
1447         (WebCore::validateRectForCanvas):
1448         (WebCore::CanvasRenderingContext2D::rect):
1449         (WebCore::CanvasRenderingContext2D::clearRect):
1450         (WebCore::CanvasRenderingContext2D::fillRect):
1451         (WebCore::CanvasRenderingContext2D::strokeRect):
1452         * html/CanvasRenderingContext2D.h:
1453         * html/CanvasRenderingContext2D.idl:
1454
1455 2008-04-27  Rob Buis  <buis@kde.org>
1456
1457         Reviewed by Adele.
1458
1459         https://bugs.webkit.org/show_bug.cgi?id=18652
1460         onchange events don't seem to fire for input[type=range] controls.
1461
1462         Fire changeEvent when dragging the slider.
1463
1464         Test: fast/forms/slider-onchange-event.html
1465
1466         * rendering/RenderSlider.cpp:
1467         (WebCore::RenderSlider::valueChanged):
1468
1469 2008-04-25  Darin Adler  <darin@apple.com>
1470
1471         Reviewed by Maciej.
1472
1473         - update for compatibility with HashTable that no longer has optimization to share
1474           implementation between hash tables with integers, pointers, RefPtr, and String
1475           objects as keys
1476
1477         * bindings/js/JSSVGPODTypeWrapper.h:
1478         (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor
1479         for HashTableDeletedValue.
1480         (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added.
1481         (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added.
1482         (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added.
1483
1484         * dom/Document.cpp: Made changedDocuments internal to the file rather than a
1485         static data member of Document.
1486         (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this
1487         will never be called on a deleted element.
1488         (WebCore::FormElementKey::deref): Ditto.
1489
1490         * dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue
1491         to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue.
1492         Got rid of the changedDocuments data member. Changed iconURL to be an inline that
1493         returns a const String&.
1494
1495         * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use
1496         construct/isDeletedValue.
1497
1498         * page/mac/AXObjectCacheMac.mm:
1499         (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue.
1500
1501         * platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work
1502         with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated
1503         SecurityOriginTraits, since we can now use the default traits. Changed the value of
1504         safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted
1505         value using this hash function. I don't think it was safe before either; I'm not sure
1506         why it didn't cause a problem before.
1507
1508         * platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no
1509         longer needed.
1510
1511         * platform/graphics/FontCache.cpp:
1512         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor
1513         for HashTableDeletedValue.
1514         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added.
1515         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added.
1516         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added.
1517         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added.
1518         (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added.
1519         (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added.
1520
1521         * platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use
1522         construct/isDeletedValue.
1523
1524         * platform/graphics/mac/FontPlatformData.h:
1525         (WebCore::FontPlatformData::FontPlatformData): Added constructor for
1526         HashTableDeletedValue.
1527         (WebCore::FontPlatformData::isHashTableDeletedValue): Added.
1528         (WebCore::FontPlatformData::hashTableDeletedFontValue): Added.
1529
1530         * platform/text/PlatformString.h:
1531         (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings.
1532         (WebCore::String::String): Added constructor for HashTableDeletedValue.
1533         (WebCore::String::isHashTableDeletedValue): Added.
1534         (WebCore::swap): Added. Avoids any refcount churn when swapping two strings.
1535
1536         * platform/text/StringHash.h: Changed specialization of HashTraits for
1537         WebCore::String to use the deleted value now defined in that class and removed
1538         the code to do ref/deref. Removed HashKeyStorageTraits specializations.
1539         
1540         * platform/win/COMPtr.h: Changed specialization of HashTraits for
1541         COMPtr to use the deleted value now defined in that class and removed
1542         the code to do ref/deref. Removed HashKeyStorageTraits specializations.
1543         (COMPtr::COMPtr): Added constructor for HashTableDeletedValue.
1544         (COMPtr::isHashTableDeletedValue): Added.
1545         (COMPtr::query): Removed inline keyword not needed since functions defined in the
1546         class definition are automatically marked inline.
1547         (COMPtr::hashTableDeletedValue): Added.
1548
1549         * storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits.
1550         * storage/LocalStorage.h: Ditto.
1551         * storage/OriginQuotaManager.h: Ditto.
1552         * storage/SessionStorage.h: Ditto.
1553
1554         * svg/SVGAnimatedTemplate.h:
1555         (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor
1556         for HashTableDeletedValue.
1557         (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added.
1558         (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added.
1559         (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added.
1560
1561 2008-04-27  Mark Rowe  <mrowe@apple.com>
1562
1563         Reviewed by Tim Hatcher.
1564
1565         Initialize the extra member of the xmlEntity struct when using libxml2 >= 2.6.27.
1566
1567         * dom/XMLTokenizer.cpp:
1568         (WebCore::):
1569
1570 2008-04-27  Dan Bernstein  <mitz@apple.com>
1571
1572         Reviewed by Darin Adler.
1573
1574         - fix https://bugs.webkit.org/show_bug.cgi?id=3729
1575           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
1576
1577         Test: editing/selection/move-left-right.html
1578
1579         * editing/SelectionController.cpp:
1580         (WebCore::SelectionController::modifyMovingRight): Added. Currently
1581         implemented for character granularity, all other being treated as
1582         "forward".
1583         (WebCore::SelectionController::modifyMovingForward): Renamed
1584         modifyMovingRightForward() to this.
1585         (WebCore::SelectionController::modifyMovingLeft): Added. Currently
1586         implemented for character granularity, all other being treated as
1587         "backward".
1588         (WebCore::SelectionController::modifyMovingBackward): Renamed
1589         modifyMovingLeftBackward() to this.
1590         (WebCore::SelectionController::modify): Changed to call either the
1591         visual (left/right) or logical (backward/forward) methods depending on
1592         the 'dir' argument for moves.
1593         * editing/SelectionController.h:
1594         * editing/VisiblePosition.cpp:
1595         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Added.
1596         (WebCore::VisiblePosition::left): Added.
1597         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Added.
1598         (WebCore::VisiblePosition::right): Added.
1599         * editing/VisiblePosition.h:
1600
1601 2008-04-27  Sam Weinig  <sam@webkit.org>
1602
1603         Reviewed by Maciej Stachowiak.
1604
1605         Fix for <rdar://problem/5893385> Need to provide access to the CanvasRenderingContext2D prototype
1606         Add a JS constructor for CanvasRenderingContext2D.
1607
1608         * html/CanvasRenderingContext2D.idl:
1609         * page/DOMWindow.idl:
1610
1611 2008-04-26  Adam Barth  <hk9565@gmail.com>
1612
1613         Reviewed by Adam Roben and Sam Weinig.
1614
1615         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=17331
1616         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=16848
1617         
1618         Updates postMessage implementation to match HTML 5 specification:
1619         1) Adds origin parameter to postMessage.
1620         2) Removes domain and uri attributes of MessageEvent in favor of
1621            origin attribute.
1622
1623         In order to do this correctly, we need to distinguish between hosts and domains
1624         in the SecurityOrigin class. There are now three ways to compare security origins:
1625         1) isSameSchemeHostPort compares scheme, host, and port, and is used for postMessage
1626         2) equal compares all aspects of the security origin, and is used for hash keys
1627         3) canAccess understands the semantics of schemes such as file:// and data:// URLs,
1628            and should be used for scripting access checks.
1629
1630         Changed SecurityOrigin::toString() to generate identifiers that are suitable for 
1631         being used as a MessageEvent's origin property. In the future, they could be used 
1632         as database string identifiers as well. Re-used KURL parser to parse serialized 
1633         SecurityOrigins.
1634
1635         Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
1636         
1637         Tests: http/tests/security/postMessage/invalid-origin-throws-exception.html
1638                http/tests/security/postMessage/javascript-page-still-sends-origin.html
1639                http/tests/security/postMessage/origin-unaffected-by-base-tag.html
1640                http/tests/security/postMessage/origin-unaffected-by-document-domain.html
1641                http/tests/security/postMessage/target-origin.html
1642
1643         * WebCore.base.exp:
1644         * bindings/js/JSDOMWindowCustom.cpp:
1645         (WebCore::JSDOMWindow::postMessage):
1646         * dom/Document.cpp:
1647         (WebCore::Document::domain):
1648         * dom/MessageEvent.cpp:
1649         (WebCore::MessageEvent::MessageEvent):
1650         (WebCore::MessageEvent::initMessageEvent):
1651         * dom/MessageEvent.h:
1652         (WebCore::MessageEvent::origin):
1653         * dom/MessageEvent.idl:
1654         * html/CanvasRenderingContext2D.cpp:
1655         (WebCore::CanvasRenderingContext2D::checkOrigin):
1656         (WebCore::CanvasRenderingContext2D::createPattern):
1657         * page/DOMWindow.cpp:
1658         (WebCore::DOMWindow::postMessage):
1659         * page/DOMWindow.h:
1660         * page/DOMWindow.idl:
1661         * platform/SecurityOrigin.cpp:
1662         (WebCore::SecurityOrigin::SecurityOrigin):
1663         (WebCore::SecurityOrigin::create):
1664         (WebCore::SecurityOrigin::createForFrame):
1665         (WebCore::SecurityOrigin::copy):
1666         (WebCore::SecurityOrigin::setDomainFromDOM):
1667         (WebCore::SecurityOrigin::canAccess):
1668         (WebCore::SecurityOrigin::isSecureTransitionTo):
1669         (WebCore::SecurityOrigin::toString):
1670         (WebCore::SecurityOrigin::createFromString):
1671         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
1672         (WebCore::SecurityOrigin::databaseIdentifier):
1673         (WebCore::SecurityOrigin::equal):
1674         (WebCore::SecurityOrigin::isSameSchemeHostPort):
1675         * platform/SecurityOrigin.h:
1676         (WebCore::SecurityOrigin::host):
1677         (WebCore::SecurityOrigin::domain):
1678         * platform/SecurityOriginHash.h:
1679         (WebCore::SecurityOriginTraits::deletedValue):
1680         * storage/DatabaseTracker.cpp:
1681         (WebCore::DatabaseTracker::hasEntryForDatabase):
1682         (WebCore::DatabaseTracker::originPath):
1683         (WebCore::DatabaseTracker::fullPathForDatabase):
1684         (WebCore::DatabaseTracker::populateOrigins):
1685         (WebCore::DatabaseTracker::databaseNamesForOrigin):
1686         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1687         (WebCore::DatabaseTracker::setDatabaseDetails):
1688         (WebCore::DatabaseTracker::setQuota):
1689         (WebCore::DatabaseTracker::addDatabase):
1690         (WebCore::DatabaseTracker::deleteOrigin):
1691         (WebCore::DatabaseTracker::deleteDatabase):
1692
1693 2008-04-26  Kevin Ollivier  <kevino@theolliviers.com>
1694
1695         wx build fix. Add the AX*ActionVerb functions to the wx build.
1696         
1697         * platform/wx/LocalizedStringsWx.cpp:
1698         (WebCore::AXButtonActionVerb):
1699         (WebCore::AXRadioButtonActionVerb):
1700         (WebCore::AXTextFieldActionVerb):
1701         (WebCore::AXCheckedCheckBoxActionVerb):
1702         (WebCore::AXUncheckedCheckBoxActionVerb):
1703         (WebCore::AXLinkActionVerb):
1704
1705 2008-04-26  Robin Dunn  <robin@alldunn.com>
1706
1707         Reviewed by Kevin Ollivier.
1708
1709         wx build fix. Add needed wx includes for compilation.
1710
1711         https://bugs.webkit.org/show_bug.cgi?id=18758
1712
1713         * platform/wx/FileSystemWx.cpp:
1714
1715 2008-04-26  Anatoli Papirovski  <apapirovski@mac.com>
1716
1717         Reviewed by Dave Hyatt.
1718
1719         Fix for https://bugs.webkit.org/show_bug.cgi?id=18583
1720         WebKit should ignore declarations with a negative value for
1721         line-height and font-size, including in the shorthand font form.
1722
1723         Tests: fast/css/font-size-negative.html
1724                fast/css/line-height-negative.html
1725
1726         * css/CSSParser.cpp:
1727         (WebCore::CSSParser::parseValue):
1728         (WebCore::CSSParser::parseFont):
1729
1730 2008-04-25  Anders Carlsson  <andersca@apple.com>
1731
1732         Reviewed by Sam.
1733
1734         Add empty ApplicationCacheStorage class.
1735         
1736         * WebCore.vcproj/WebCore.vcproj:
1737         * WebCore.xcodeproj/project.pbxproj:
1738         * loader/appcache/ApplicationCacheStorage.cpp: Added.
1739         (WebCore::cacheStorage):
1740         * loader/appcache/ApplicationCacheStorage.h: Added.
1741
1742 2008-04-24  Sam Weinig  <sam@webkit.org>
1743
1744         Reviewed by Geoffrey Garen.
1745
1746         Replace the JSDOMWindow with a new one instead of clearing it.
1747
1748         * bindings/js/JSDOMWindowBase.cpp:
1749         (WebCore::JSDOMWindowBase::clear):
1750         Don't reset the window.
1751
1752         * bindings/js/kjs_proxy.cpp:
1753         (WebCore::KJSProxy::clear):
1754         Replace the current JSDOMWindow stored in the wrapper window
1755         with a new one.
1756
1757         * history/CachedPage.cpp:
1758         (WebCore::CachedPage::CachedPage):
1759         (WebCore::CachedPage::restore):
1760         (WebCore::CachedPage::clear):
1761         * history/CachedPage.h:
1762         Instead of storing the builtins, properties and localstorage in
1763         special holding structs, store the entire JSDOMWindow.
1764
1765         For the case of a page that has no JSDOMWindow before it's first
1766         navigation, has one created while it is in the cache and is then
1767         navigated back, create a new JSDOMWindow to keep the assumption
1768         in JSDOMWindowWrapper that it always has the correct window.
1769
1770         * loader/FrameLoader.cpp:
1771         (WebCore::FrameLoader::clear):
1772         We must clear the DOMWindow first, so that we create a new JSDOMWindow,
1773         it gets a new one.
1774
1775         * page/Frame.cpp:
1776         (WebCore::Frame::clearDOMWindow):
1777         Null out the domWindow so that on the next access, a new one is
1778         created.
1779
1780 2008-04-25  Sam Weinig  <sam@webkit.org>
1781
1782         Reviewed by Mark Rowe.
1783
1784         The EventListeners need to operate and store JSDOMWindows, not JSDOMWrapperWindows.
1785
1786         * bindings/js/JSDOMWindowBase.cpp:
1787         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1788         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1789         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1790         * bindings/js/JSSVGLazyEventListener.cpp:
1791         (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
1792         * bindings/js/JSSVGLazyEventListener.h:
1793         * bindings/js/kjs_events.cpp:
1794         (WebCore::JSAbstractEventListener::handleEvent):
1795         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1796         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1797         (WebCore::JSUnprotectedEventListener::window):
1798         (WebCore::JSUnprotectedEventListener::clearWindow):
1799         (WebCore::JSEventListener::JSEventListener):
1800         (WebCore::JSEventListener::~JSEventListener):
1801         (WebCore::JSEventListener::window):
1802         (WebCore::JSEventListener::clearWindow):
1803         (WebCore::JSLazyEventListener::JSLazyEventListener):
1804         (WebCore::JSLazyEventListener::parseCode):
1805         * bindings/js/kjs_events.h:
1806         * bindings/js/kjs_proxy.cpp:
1807         (WebCore::KJSProxy::createHTMLEventHandler):
1808         (WebCore::KJSProxy::createSVGEventHandler):
1809
1810 2008-04-25  Mark Rowe  <mrowe@apple.com>
1811
1812         Rubber-stamped by Sam Weinig.
1813
1814         Add some content to an empty ICU header file to prevent verification errors.
1815
1816         * icu/unicode/utf_old.h:
1817
1818 2008-04-25  Anders Carlsson  <andersca@apple.com>
1819
1820         Fix tyop.
1821         
1822         * loader/DocumentLoader.cpp:
1823         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
1824
1825 2008-04-25  Anders Carlsson  <andersca@apple.com>
1826
1827         Reviewed by Sam.
1828
1829         Add and honor offlineWebApplicationCacheEnabled setting.
1830         
1831         * WebCore.base.exp:
1832         * loader/DocumentLoader.cpp:
1833         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
1834         * loader/MainResourceLoader.cpp:
1835         (WebCore::MainResourceLoader::load):
1836         * loader/appcache/ApplicationCacheGroup.cpp:
1837         (WebCore::ApplicationCacheGroup::selectCache):
1838         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
1839         * page/Settings.cpp:
1840         (WebCore::Settings::Settings):
1841         (WebCore::Settings::setOfflineWebApplicationCacheEnabled):
1842         * page/Settings.h:
1843         (WebCore::Settings::offlineWebApplicationCacheEnabled):
1844
1845 2008-04-25  Anders Carlsson  <andersca@apple.com>
1846
1847         Reviewed by Adam.
1848
1849         <rdar://problem/5629139>
1850         PluginInfoStoreWin needs to implement pluginNameForMIMEType().
1851         
1852         * plugins/PluginInfoStore.cpp:
1853         (WebCore::PluginInfoStore::pluginNameForMIMEType):
1854
1855 2008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
1856
1857         Reviewed by Simon.
1858
1859         Respect antialiasing hint when drawing focus rects.
1860
1861         * platform/graphics/qt/GraphicsContextQt.cpp:
1862         (WebCore::GraphicsContext::drawFocusRing):
1863
1864 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1865
1866         Reviewed by Simon.
1867
1868         networking: Use Qt::QueuedConnection in QNetworkReplyHandler
1869
1870         Make sure we leave the networking backend before calling
1871         into WebCore. Otheriwse we might return to the networking
1872         backend when it is already deleted.
1873
1874         * platform/network/qt/QNetworkReplyHandler.cpp:
1875         (WebCore::FormDataIODevice::setParent):
1876         (WebCore::QNetworkReplyHandler::start):
1877
1878 2008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
1879
1880         Reviewed by Simon.
1881
1882         Fix propagation of mouse double click events.
1883
1884         Treat a mouse double click as a regular mouse press with just a different click count.
1885
1886         * platform/qt/PlatformMouseEventQt.cpp:
1887         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1888
1889 2008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
1890
1891         Reviewed by Simon.
1892
1893         Fixes: Fix strange button sizes (push, radio, and check) in QtWebKit.
1894
1895         We now use pixel metrics instead of fixed sizes for the
1896         button margins, or if the style supports layout rects we
1897         use the delta between the content rect and the layout rect.
1898
1899         In adition we compensate for the difference between the size
1900         for content and the actual layout rect (if supported) by
1901         reporting back the layout rect to WebKit for page layout,
1902         and then inflating the rect we actually paint to.
1903
1904         * platform/qt/RenderThemeQt.cpp:
1905         (WebCore::StylePainter::StylePainter):
1906         (WebCore::StylePainter::~StylePainter):
1907         (WebCore::RenderThemeQt::RenderThemeQt):
1908         (WebCore::inflateButtonRect):
1909         (WebCore::RenderThemeQt::adjustRepaintRect):
1910         (WebCore::RenderThemeQt::isControlStyled):
1911         (WebCore::computeSizeBasedOnStyle):
1912         (WebCore::RenderThemeQt::setCheckboxSize):
1913         (WebCore::RenderThemeQt::paintCheckbox):
1914         (WebCore::RenderThemeQt::setRadioSize):
1915         (WebCore::RenderThemeQt::adjustButtonStyle):
1916         (WebCore::RenderThemeQt::setButtonSize):
1917         (WebCore::RenderThemeQt::setButtonPadding):
1918         (WebCore::RenderThemeQt::paintButton):
1919         (WebCore::RenderThemeQt::adjustMenuListStyle):
1920         (WebCore::RenderThemeQt::setPopupPadding):
1921         (WebCore::RenderThemeQt::paintMenuList):
1922         * platform/qt/RenderThemeQt.h:
1923
1924 2008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
1925
1926         Reviewed by Holger.
1927
1928         Fixes: Valgrind warnings about uninitilized variables used in jumps
1929
1930         * rendering/RenderText.cpp:
1931         (WebCore::RenderText::trimmedPrefWidths):
1932
1933 2008-04-25  Warwick Allison  <warwick@trolltech.com>
1934
1935         Reviewed by Simon.
1936
1937         Added simple getter function to PlatformScrollBar to return the
1938         maximum value. Needed in the WebKit/qt API.
1939
1940         * platform/qt/PlatformScrollBar.h:
1941
1942 2008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
1943
1944         Reviewed by Holger, Simon.
1945
1946         Implement NoDrop, ZoomIn, and ZoomOut cursors
1947
1948         * Resources/WebKitResources.qrc:
1949         * platform/qt/CursorQt.cpp:
1950         (WebCore::noDropCursor):
1951         (WebCore::notAllowedCursor):
1952         (WebCore::zoomInCursor):
1953         (WebCore::zoomOutCursor):
1954
1955 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1956
1957         Reviewed by Simon.
1958
1959         Handle the ListboxAppearance as 'TextField' as well. We are mainly interested in the background.
1960
1961         RenderBox will call us to paint the outline/background, it is handled the same as a
1962         TextAreaAppearance in RenderTheme, handle it the same in the RenderThemeQt
1963
1964         * platform/qt/RenderThemeQt.cpp:
1965         (WebCore::RenderThemeQt::paintTextField):
1966
1967 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1968
1969         Reviewed by Simon.
1970
1971         No reason to exit the application when we can not paint something. Replace the Q_ASSERT
1972         with a runtime check. Return true to indicate that we did not handle the painting
1973         of this element.
1974
1975         * platform/qt/RenderThemeQt.cpp:
1976         (WebCore::RenderThemeQt::paintTextField):
1977
1978 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1979
1980         Reviewed by Simon.
1981
1982         Correct the comment. We are in painTextField and don't paint a button.
1983
1984         * platform/qt/RenderThemeQt.cpp:
1985         (WebCore::RenderThemeQt::paintTextField):
1986
1987 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1988
1989         Reviewed by Simon.
1990
1991         Allow ListboxAppearance to take focus as well. Stolen from Tor Arne
1992
1993         * platform/qt/RenderThemeQt.cpp:
1994         (WebCore::RenderThemeQt::supportsFocus):
1995
1996 2008-04-25  Simon Hausmann  <hausmann@webkit.org>
1997
1998         Reviewed by Holger.
1999
2000         Remove debug output.
2001
2002         * platform/network/qt/ResourceHandleQt.cpp:
2003         (WebCore::ResourceHandle::loadResourceSynchronously):
2004
2005 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
2006
2007         Reviewed by Simon.
2008
2009         Change the string for searchableIndexIntroduction() to match the mac
2010         and pass http/tests/misc/isindex-formdata.html
2011
2012         * platform/qt/Localizations.cpp:
2013
2014 2008-04-25  Simon Hausmann  <hausmann@webkit.org>
2015
2016         Reviewed by Holger.
2017
2018         When we encounter a new/unknown HTTP request type report it back to WebCore as loading error.
2019
2020         * platform/network/qt/QNetworkReplyHandler.cpp:
2021         (WebCore::QNetworkReplyHandler::start):
2022
2023 2008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
2024
2025         Reviewed by Simon.
2026
2027         Fix crash in the networking layer.
2028
2029         Set the m_reply to null right after calling deleteLater().
2030
2031         * platform/network/qt/QNetworkReplyHandler.cpp:
2032         (WebCore::QNetworkReplyHandler::finish):
2033
2034 2008-04-24  Mark Rowe  <mrowe@apple.com>
2035
2036         Rubber-stamped by Oliver Hunt.
2037
2038         * WebCore.base.exp: Remove two symbols from the export list that don't need to be exported.
2039
2040 2008-04-24  Dan Bernstein  <mitz@apple.com>
2041
2042         Reviewed by Dave Hyatt.
2043
2044         - fix https://bugs.webkit.org/show_bug.cgi?id=18722
2045           <rdar://problem/5888360> REGRESSION (3.1 -> TOT): Webkit Nightly Build crashes when visiting i has a hotdog
2046
2047         Test: fast/dynamic/float-remove-above-line.html
2048
2049         * rendering/bidi.cpp:
2050         (WebCore::RenderBlock::layoutInlineChildren): Avoid adding floats that
2051         do not intrude into the line to its floats vector. When such floats go
2052         away, they do not dirty the line (because they do not intersect with it)
2053         and having it keep them in its floats vector is what caused the crash.
2054
2055 2008-04-24  Justin Garcia  <justin.garcia@apple.com>
2056
2057         Reviewed by John Sullivan.
2058         
2059         It is possible, despite our safeguards, for createMarkup to iterate past the end of the Range
2060         that is passed to it.  Added a null check to prevent crashes in this situation (we won't crash but
2061         we will create too much markup), and added an ASSERT to hopefully catch the scenario in a debugger 
2062         and help us understand what's going on.
2063
2064         * editing/markup.cpp:
2065         (WebCore::createMarkup):
2066
2067 2008-04-24  Mark Rowe  <mrowe@apple.com>
2068
2069         Reviewed by Sam Weinig.
2070
2071         Remove code for calculating the glyph cache size.
2072
2073         * WebCore.base.exp: Remove unused symbol.
2074         * platform/graphics/mac/FontCacheMac.mm: Remove code that is unused now that we do not compute the glyph cache size.
2075         * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
2076         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2077
2078 2008-04-24  Mark Rowe  <mrowe@apple.com>
2079
2080         Reviewed by Sam Weinig.
2081
2082         Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
2083
2084         * WebCorePrefix.h:
2085
2086 2008-04-24  Cameron McCormack  <cam@mcc.id.au>
2087
2088         Reviewed by Maciej Stachowiak.
2089
2090         Ensure that changes to rx="" and ry="" attributes on an SVG <rect>
2091         element cause a relayout.
2092
2093         Test: svg/dom/SVGRectElement/rect-modify-rx.svg
2094
2095         * svg/SVGRectElement.cpp:
2096         (WebCore::SVGRectElement::svgAttributeChanged): Call needsLayout()
2097         when the attribute is rx or ry.
2098         (WebCore::SVGRectElement::hasRelativeValues): Return true when the
2099         attribute is rx or ry, since they also can have relative values.
2100
2101 2008-04-24  Adam Barth  <hk9565@gmail.com>
2102
2103         Reviewed by Sam Weinig.
2104
2105         Update the XMLHttpRequest header black list to match the spec.
2106
2107         * xml/XMLHttpRequest.cpp:
2108         (WebCore::isSafeRequestHeader):
2109
2110 2008-04-22  Feng Qian  <ian.eng.webkit@gmail.com>
2111
2112         Reviewed by Geoff Garen.
2113
2114         Fix https://bugs.webkit.org/show_bug.cgi?id=18677
2115         Bug 18677: Synchronous event dispatch confuses the popup blocker into incorrectly blocking chat popups in gmail.com.
2116
2117         Test: fast/events/nested-window-event.html
2118
2119         * bindings/js/kjs_events.cpp:
2120         (WebCore::JSAbstractEventListener::handleEvent): Save and restore the current event around the event dispatch.
2121
2122 2008-04-24  Brady Eidson  <beidson@apple.com>
2123
2124         Reviewed by Teh Mitzpettel
2125
2126         Make it so PageGroups know what their own name is.
2127
2128         * WebCore.base.exp:
2129
2130         * page/Page.cpp:
2131         (WebCore::Page::setGroupName):
2132         (WebCore::Page::groupName):
2133         * page/Page.h:
2134
2135         * page/PageGroup.cpp: Move the PageGroupMap into the PageGroup class.
2136         (WebCore::PageGroup::PageGroup): Added a c'tor that takes the group name as an argument instead of
2137           the initial Page.
2138         (WebCore::PageGroup::pageGroup): Handles creating and mapping names to groups
2139         * page/PageGroup.h:
2140         (WebCore::PageGroup::name):
2141
2142 2008-04-24  Adele Peterson  <adele@apple.com>
2143
2144         Reviewed by Darin.
2145
2146         Consolidate two versions of pathGetFileName.
2147
2148         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Call FileSystem.h version of pathGetFileName and removed the static helper function.
2149         * platform/posix/FileSystemPOSIX.cpp: (WebCore::pathGetFileName): Moved general case from HTMLFormElement version here.
2150           If other platforms relied on that default they should implement this function for their platform specific version of FileSystem.cpp
2151         * platform/win/FileSystemWin.cpp: (WebCore::pathGetFileName): Moved win implementation from HTMLFormElement here.
2152         * platform/wx/FileSystemWx.cpp: (WebCore::pathGetFileName): Moved wx implementation from HTMLFormElement here.
2153
2154 2008-04-24  Anders Carlsson  <andersca@apple.com>
2155
2156         Windows build fix.
2157         
2158         * html/HTMLFormElement.cpp:
2159         (WebCore::pathGetFilename):
2160
2161 2008-04-24  Anders Carlsson  <andersca@apple.com>
2162
2163         Don't crash when the string is empty.
2164         
2165         * html/HTMLMediaElement.cpp:
2166         (WebCore::parseTimeOffset):
2167
2168 2008-04-24  Dan Bernstein  <mitz@apple.com>
2169
2170         Reviewed by Darin Adler.
2171
2172         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
2173           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
2174
2175         The three main changes in this patch are:
2176
2177         1) Making all inline boxes know their bidi level, instead of just text
2178            boxes knowing whether their bidi level is odd or even. This is
2179            required for the next change.
2180
2181         2) Replacing RenderObject::inlineBox() with
2182            Position::getInlineBoxAndOffset() in recognition of the fact that the
2183            inline box containing the primary caret for a position in a given
2184            node may belong to a different node's renderer.
2185
2186         3) Changing RenderObject::caretRect() to take an InlineBox parameter,
2187            and changing callers to call VisiblePosition::caretRect(), which
2188            locates the inline box, then calls caretRect() on the renderer for
2189            that box. This, combined with the previous change, ensures that the
2190            primary caret is rendered at the right place for positions that
2191            lie on a directionality boundary.
2192
2193         Test: platform/mac/editing/input/caret-primary-bidi.html
2194
2195         * WebCore.base.exp: Added the VisiblePosition(Node*, int, EAffinity)
2196         constructor and VisiblePosition::caretRect(), and sorted.
2197
2198         * dom/Position.cpp:
2199         (WebCore::nextRenderedEditable): Adjusted for the removal of
2200         RenderObject::inlineBox().
2201         (WebCore::previousRenderedEditable): Ditto.
2202         (WebCore::Position::rendersInDifferentPosition): Ditto.
2203         (WebCore::Position::getInlineBoxAndOffset): Added. Gets the inline box
2204         and the offset within that box at which the primary caret for this
2205         position should render.
2206
2207         * dom/Position.h:
2208
2209         * editing/DeleteSelectionCommand.cpp:
2210         (WebCore::DeleteSelectionCommand::mergeParagraphs): Changed to call
2211         VisiblePosition::caretRect() instead of calling the RenderObject method.
2212
2213         * editing/SelectionController.cpp:
2214         (WebCore::caretY): Ditto.
2215         (WebCore::SelectionController::xPosForVerticalArrowNavigation): Ditto.
2216         (WebCore::SelectionController::layout): Ditto.
2217
2218         * editing/VisiblePosition.cpp:
2219         (WebCore::VisiblePosition::caretRect): Changed to call
2220         getInlineBoxAndOffset() to get the correct inline box and call the
2221         renderer for that box.
2222
2223         * editing/VisiblePosition.h:
2224         (WebCore::VisiblePosition::getInlineBoxAndOffset): Added convenience
2225         methods for getting the inline box and caret offset for a visible
2226         position, accounting for its affinity.
2227
2228         * editing/visible_units.cpp:
2229         (WebCore::rootBoxForLine): Changed to use getInlineBoxAndOffset()
2230         instead of RenderObject::inlineBox().
2231         (WebCore::startPositionForLine):
2232         (WebCore::endPositionForLine):
2233         (WebCore::previousLinePosition): Ditto.
2234         (WebCore::nextLinePosition): Ditto.
2235
2236         * page/AccessibilityObject.cpp:
2237         (WebCore::updateAXLineStartForVisiblePosition): Ditto.
2238
2239         * page/Frame.cpp:
2240         (WebCore::Frame::firstRectForRange): Ditto.
2241
2242         * rendering/InlineBox.cpp:
2243         (WebCore::InlineBox::caretMinOffset): Changed to forward to the
2244         renderer.
2245         (WebCore::InlineBox::caretMaxOffset): Ditto.
2246         * rendering/InlineBox.h: Replaced the m_reversed bit, intended for use
2247         in InlineTextBox only, with six bits of the bidi level of the box,
2248         intended for use in all leaf inline boxes.
2249         (WebCore::InlineBox::InlineBox): Added missing initializer for
2250         m_dirOverride and initialized the bidi level.
2251         (WebCore::InlineBox::bidiLevel): Added this accessor.
2252         (WebCore::InlineBox::setBidiLevel): Ditto.
2253         (WebCore::InlineBox::direction): Ditto.
2254         (WebCore::InlineBox::caretLeftmostOffset): Added this convenience
2255         method.
2256         (WebCore::InlineBox::caretRightmostOffset): Ditto.
2257
2258         * rendering/InlineTextBox.cpp: Replaced all references to m_reversed
2259         with checking of direction().
2260         (WebCore::InlineTextBox::selectionRect):
2261         (WebCore::InlineTextBox::placeEllipsisBox):
2262         (WebCore::InlineTextBox::paint):
2263         (WebCore::InlineTextBox::paintSelection):
2264         (WebCore::InlineTextBox::paintCompositionBackground):
2265         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2266         (WebCore::InlineTextBox::paintTextMatchMarker):
2267         (WebCore::InlineTextBox::textPos):
2268         (WebCore::InlineTextBox::offsetForPosition):
2269         (WebCore::InlineTextBox::positionForOffset):
2270
2271         * rendering/RenderBR.cpp: Removed inlineBox().
2272         * rendering/RenderBR.h: Ditto.
2273
2274         * rendering/RenderBox.cpp:
2275         (WebCore::RenderBox::caretRect): Changed to take an inline box and
2276         account for the direction of the box (or the renderer) in positioning
2277         the caret: in right-to-left boxes, the "before" position is to the right
2278         while "after" is to the left.
2279         * rendering/RenderBox.h:
2280
2281         * rendering/RenderFlow.cpp:
2282         (WebCore::RenderFlow::caretRect): Updated the signature.
2283         * rendering/RenderFlow.h:
2284
2285         * rendering/RenderObject.cpp:
2286         (WebCore::RenderObject::caretRect): Updated the signature.
2287         (WebCore::RenderObject::caretMaxOffset): Changed to return the child
2288         node count (or 1 if there are no children) for replaced elements, such
2289         as <select>s.
2290         * rendering/RenderObject.h:
2291
2292         * rendering/RenderReplaced.cpp: Removed caretMinOffset() and
2293         caretMaxOffset() because the base class implementation does the right
2294         thing for replaced objects now.
2295         * rendering/RenderReplaced.h:
2296
2297         * rendering/RenderSVGInlineText.cpp:
2298         (WebCore::RenderSVGInlineText::caretRect): Updated the signature.
2299         (WebCore::RenderSVGInlineText::positionForCoordinates): Updated for
2300         the change from m_reversed to direction().
2301         * rendering/RenderSVGInlineText.h:
2302
2303         * rendering/RenderText.cpp:
2304         (WebCore::RenderText::caretRect): Changed to take an inline box and
2305         removed the code that used to find the inline for the given position.
2306         Changed use of m_reversed to use direction().
2307         (WebCore::RenderText::position): Changed use of m_reversed to use
2308         direction().
2309         * rendering/RenderText.h:
2310
2311         * rendering/RenderTextControl.cpp:
2312         (WebCore::RenderTextControl::textWithHardLineBreaks): Adjusted for the
2313         removal of RenderObject::inlineBox().
2314
2315         * rendering/RenderTreeAsText.cpp:
2316         (WebCore::writeTextRun): Changed to use direction() instead of
2317         m_reversed.
2318
2319         * rendering/SVGInlineTextBox.cpp: Ditto.
2320         (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
2321         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
2322         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
2323
2324         * rendering/SVGRenderTreeAsText.cpp: Ditto.
2325         (WebCore::writeSVGInlineTextBox):
2326
2327         * rendering/SVGRootInlineBox.cpp: Ditto.
2328         (WebCore::svgTextRunForInlineTextBox):
2329         (WebCore::cummulatedWidthOrHeightOfTextChunk):
2330         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2331
2332         * rendering/bidi.cpp:
2333         (WebCore::RenderBlock::constructLine): Made this function set the
2334         bidi level on all leaf boxes.
2335
2336         * svg/SVGTextContentElement.cpp: Changed to use direction() instead of
2337         m_reversed.
2338         (WebCore::cumulativeCharacterRangeLength):
2339         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
2340
2341 2008-04-24  Sam Weinig  <sam@webkit.org>
2342
2343         Fix the world.
2344
2345         * bindings/js/kjs_proxy.cpp:
2346         (WebCore::KJSProxy::clear):
2347
2348 2008-04-24  Darin Adler  <darin@apple.com>
2349
2350         Reviewed by Geoff.
2351
2352         - fix crash in regression test where we'd ask a frame for a user agent string
2353           after the WebView was already closed
2354
2355         * loader/FrameLoader.cpp:
2356         (WebCore::FrameLoader::scheduleHTTPRedirection): Quietly do nothing if this is
2357         called on a frame that's already detached from its page.
2358         (WebCore::FrameLoader::scheduleLocationChange): Ditto.
2359         (WebCore::FrameLoader::scheduleRefresh): Ditto.
2360         (WebCore::FrameLoader::scheduleHistoryNavigation): Ditto.
2361         (WebCore::FrameLoader::redirectionTimerFired): Assert that this is never called
2362         for a frame that's already detached from its page.
2363         (WebCore::FrameLoader::scheduleRedirection): Ditto.
2364         (WebCore::FrameLoader::startRedirectionTimer): Ditto.
2365
2366 2008-04-23  Timothy Hatcher  <timothy@apple.com>
2367
2368         Add a new callFunction helper function to remove duplicate code
2369         for calling JavaScript functions with arguments.
2370
2371         Reviewed by Darin Adler.
2372
2373         * page/InspectorController.cpp:
2374         (WebCore::InspectorController::callSimpleFunction): Call callFunction.
2375         (WebCore::InspectorController::callFunction): Extended version of the original
2376         callSimpleFunction, with script function arguments and an exception argument.
2377         (WebCore::InspectorController::focusNode): Use callFunction.
2378         (WebCore::InspectorController::addScriptResource): Ditto.
2379         (WebCore::InspectorController::removeScriptResource): Ditto.
2380         (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
2381         (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
2382         (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
2383         * page/InspectorController.h: Add callFunction.
2384
2385 2008-04-24  Anders Carlsson  <andersca@apple.com>
2386
2387         Reviewed by Sam.
2388
2389         Change some String arguments to be const references instead.
2390         
2391         * css/CSSRule.cpp:
2392         (WebCore::CSSRule::setCssText):
2393         * css/CSSRule.h:
2394         * html/HTMLFormElement.cpp:
2395         (WebCore::pathGetFilename):
2396         * html/HTMLMediaElement.cpp:
2397         (WebCore::parseTimeOffset):
2398         * page/EditorClient.h:
2399         * platform/SecurityOrigin.cpp:
2400         (WebCore::isDefaultPortForProtocol):
2401         * platform/graphics/MediaPlayer.cpp:
2402         (WebCore::MediaPlayer::load):
2403         * platform/graphics/MediaPlayer.h:
2404         * rendering/MediaControlElements.cpp:
2405         (WebCore::MediaControlInputElement::MediaControlInputElement):
2406         * rendering/MediaControlElements.h:
2407         * svg/animation/SVGSMILElement.cpp:
2408         (WebCore::SVGSMILElement::Condition::Condition):
2409         * svg/animation/SVGSMILElement.h:
2410         * svg/graphics/SVGImageEmptyClients.h:
2411         (WebCore::SVGEmptyEditorClient::shouldInsertText):
2412         * xml/XSLTProcessor.cpp:
2413         (WebCore::createFragmentFromSource):
2414
2415 2008-04-24  Justin Garcia  <justin.garcia@apple.com>
2416
2417         Reviewed by Darin Adler.
2418
2419         <rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004)
2420         
2421         * editing/TextIterator.cpp:
2422         (WebCore::TextIterator::advance): We emit an extra newline when leaving a
2423         block element that has atypical margin/padding. When we emit the extra newline, 
2424         it needs to be positioned after that block's contents, not after the block. 
2425         This is how we position the first newline, too, since the range for emitted newlines 
2426         should start where the line break begins visually.
2427
2428 2008-04-24  Anders Carlsson  <andersca@apple.com>
2429
2430         Reviewed by Adam.
2431
2432         Only avoid implicit entries when doing the initial caching.
2433         
2434         * loader/appcache/ApplicationCacheGroup.cpp:
2435         (WebCore::ApplicationCacheGroup::didReceiveResponse):
2436         (WebCore::ApplicationCacheGroup::startLoadingEntry):
2437
2438 2008-04-24  Kevin McCullough  <kmccullough@apple.com>
2439
2440         Reviewed by Adam and Sam.
2441
2442         -<rdar://problem/5770054> JavaScript profiler (10928)
2443         -Only profile the page group that starts profiling to avoid profiling
2444         tools that shouldn't be profiled unless explicitly requested to.
2445
2446         * bindings/js/kjs_proxy.cpp: When a new global object is created set its
2447         page group identifier.
2448         (WebCore::KJSProxy::clear):
2449         (WebCore::KJSProxy::initScript):
2450         * page/Console.cpp: When calling console.profile set the identifier of
2451         the page group being profiled.
2452         (WebCore::Console::profile):
2453         * page/PageGroup.cpp: Implement unique identifiers.
2454         (WebCore::getUniqueIdentifier):
2455         (WebCore::PageGroup::PageGroup):
2456         * page/PageGroup.h: Ditto.
2457         (WebCore::PageGroup::identifier):
2458
2459 2008-04-24  John Sullivan  <sullivan@apple.com>
2460
2461         Mac buid fix
2462
2463         * page/mac/WebCoreViewFactory.h:
2464         add declarations of six new AX methods that were added to LocalizedStrings.h
2465         
2466         * platform/mac/LocalizedStringsMac.mm:
2467         (WebCore::AXButtonActionVerb):
2468         implement by calling through to WebCoreViewFactory as we do with the other functions here
2469         (WebCore::AXRadioButtonActionVerb):
2470         ditto
2471         (WebCore::AXTextFieldActionVerb):
2472         ditto
2473         (WebCore::AXCheckedCheckBoxActionVerb):
2474         ditto
2475         (WebCore::AXUncheckedCheckBoxActionVerb):
2476         ditto
2477         (WebCore::AXLinkActionVerb):
2478         ditto
2479
2480 2008-04-24  Simon Hausmann  <hausmann@webkit.org>
2481
2482         Rubber-stamped by Lars
2483
2484         Fix text rendering in -reverse mode on Qt/Mac.
2485
2486         For Font::width() don't use a plain QFontMetrics object but also the properly
2487         setup QTextLayout that has the RTL/LTR force flags set.
2488
2489         * platform/graphics/qt/FontQt.cpp:
2490         (WebCore::Font::width):
2491
2492 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2493
2494         Reviewed by Simon.
2495
2496         Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias
2497         all drawing primitives in the HTML Canvas element.
2498
2499         This speeds up drawing of dashed outlines significantly.
2500
2501         Also preserve the anti-aliasing renderhint for transparency layers and
2502         get rid of the mostly unused device pointer.
2503
2504         * platform/graphics/qt/GraphicsContextQt.cpp:
2505         (WebCore::TransparencyLayer::TransparencyLayer):
2506         (WebCore::GraphicsContextPlatformPrivate::p):
2507         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2508         (WebCore::GraphicsContext::beginTransparencyLayer):
2509         (WebCore::GraphicsContext::drawRect):
2510         (WebCore::GraphicsContext::drawLine):
2511         (WebCore::GraphicsContext::strokeArc):
2512
2513 2008-04-24  Paul Olav Tvete <paul@trolltech.com>
2514
2515         Reviewed by Simon.
2516
2517         Fix various compiler warnings related to QString(const char *)
2518         construction by using QLatin1String.
2519
2520         * bridge/qt/qt_instance.cpp:
2521         (KJS::Bindings::QtField::valueFromInstance):
2522         (KJS::Bindings::QtField::setValueToInstance):
2523         * dom/XMLTokenizer.cpp:
2524         (WebCore::):
2525         * platform/graphics/qt/PathQt.cpp:
2526         (WebCore::Path::debugString):
2527
2528 2008-04-24  Morten Johan Sørvig  <msorvig@trolltech.com>
2529
2530         Reviewed by Simon.
2531
2532         Work around QMacStyle bug in repainting the vertical scrollbar.
2533
2534         We draw the scrollbar using HITheme but somehow the translation and the
2535         clipping we previously set using ClipCGContextToRegion is ignored. Drawing
2536         without the translation fixes the clip.
2537
2538         * platform/qt/PlatformScrollBarQt.cpp:
2539         (WebCore::PlatformScrollbar::paint):
2540
2541 2008-04-24  Holger Hans Peter Freyther  <zecke@selfish.org>
2542
2543         Reviewed by Simon.
2544
2545         * Set an expiration date for local files as we do not know what will happen
2546         to these files (in contrast to a http server with max-age and other headers)
2547         * Remember the time when we started the job and use that for the expiration date
2548         * QNetworkManager does not handle expiration at all, we might want to set the
2549         expiration for all downloads but this will be a performance nightmare.
2550
2551         * platform/network/qt/QNetworkReplyHandler.cpp:
2552         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2553         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2554         (WebCore::QNetworkReplyHandler::start):
2555         * platform/network/qt/QNetworkReplyHandler.h:
2556
2557 2008-04-24  Simon Hausmann  <hausmann@webkit.org>
2558
2559         Fix the Gtk and Qt builds.
2560
2561         Added missing localization stubs for accessibility.
2562
2563         * platform/gtk/LocalizedStringsGtk.cpp:
2564         (WebCore::AXButtonActionVerb):
2565         (WebCore::AXRadioButtonActionVerb):
2566         (WebCore::AXTextFieldActionVerb):
2567         (WebCore::AXCheckedCheckBoxActionVerb):
2568         (WebCore::AXUncheckedCheckBoxActionVerb):
2569         (WebCore::AXLinkActionVerb):
2570         * platform/qt/Localizations.cpp:
2571         (WebCore::AXButtonActionVerb):
2572         (WebCore::AXRadioButtonActionVerb):
2573         (WebCore::AXTextFieldActionVerb):
2574         (WebCore::AXCheckedCheckBoxActionVerb):
2575         (WebCore::AXUncheckedCheckBoxActionVerb):
2576         (WebCore::AXLinkActionVerb):
2577
2578 2008-04-24  Olivier Goffart  <ogoffart@trolltech.com>
2579
2580         Reviewed by Simon
2581
2582         Fix various compiler warnings in the Qt port.
2583
2584         * platform/graphics/qt/ImageQt.cpp:
2585         (loadResourcePixmap):
2586         * platform/qt/CookieJarQt.cpp:
2587         (WebCore::cookies):
2588         * platform/qt/ScrollViewQt.cpp:
2589         (WebCore::ScrollView::wheelEvent):
2590         * plugins/qt/PluginDataQt.cpp:
2591         (WebCore::PluginData::initPlugins):
2592
2593 2008-04-24  Andre Poenitz  <andre.poenitz@trolltech.com>
2594
2595         Reviewed by Simon.
2596
2597         Removed spurious QHideEvent forward declaration.
2598
2599         * platform/qt/QWebPopup.h:
2600
2601 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2602
2603         Reviewed by Simon.
2604
2605         Render text areas using Qt (ensures proper style).
2606
2607         * platform/qt/RenderThemeQt.cpp:
2608         (WebCore::RenderThemeQt::paintTextField):
2609         (WebCore::RenderThemeQt::adjustTextFieldStyle):
2610         (WebCore::RenderThemeQt::paintTextArea):
2611         (WebCore::RenderThemeQt::supportsFocus):
2612         * platform/qt/RenderThemeQt.h:
2613
2614 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2615
2616         Reviewed by Simon.
2617
2618         Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both
2619         horizontal and vertical wheel events will scroll the view in the orientation
2620         of the scrollbar underneath the cursor.
2621
2622         * platform/qt/ScrollViewQt.cpp:
2623         (WebCore::ScrollView::paint):
2624         (WebCore::ScrollView::wheelEvent):
2625
2626 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
2627
2628         Reviewed by Brady.
2629
2630         * page/AccessibilityObject.cpp:
2631         (WebCore::AccessibilityObject::press): Return false if this object
2632         doesn't have an action element associated with it.
2633         * page/AccessibilityObject.h: Added a performDefaultAction() method,
2634         which just calls press(). Marked press() const and changed its return
2635         type to bool.
2636
2637 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
2638
2639         Reviewed by Adam.
2640
2641         Don't allow a hit test to return an AccessibilityObject that should be
2642         ignored.
2643
2644         * page/AccessibilityObject.cpp:
2645         (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result
2646         object's accessibility is ignored, return the parent unignored object.
2647
2648 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
2649
2650         Reviewed by Adam.
2651
2652         Fix a crash when performing a hit test on an AccessibilityObject with
2653         no layer (e.g., an AccessibilityObject for a RenderText object).
2654
2655         * page/AccessibilityObject.cpp:
2656         (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null
2657         check for layer. Removed a null check for m_renderer, which shouldn't
2658         occur.
2659
2660 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
2661
2662         * page/AccessibilityObject.cpp:
2663         (WebCore::AccessibilityObject::boundingBoxRect): Added FIXME about this
2664         method not working correctly for objects with CSS transforms applied.
2665
2666 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
2667
2668         Reviewed by Adam.
2669
2670         Implement contentsToScreen() and screenToContents() on Windows.
2671
2672         * platform/ScrollView.h: Make these declarations conditional on
2673         HAVE(ACCESSIBILITY) instead of PLATFORM(MAC).
2674         * platform/win/ScrollViewWin.cpp:
2675         (WebCore::ScrollView::contentsToScreen): Translate from coordinates
2676         relative to the ScrollView to coordinates relative to the screen. Do
2677         this by getting the offset of the ScrollView in screen coordinates and
2678         moving the rect by this amount.
2679         (WebCore::ScrollView::screenToContents): Translate from coordinates
2680         relative to the screen to coordinates relative to the ScrollView.
2681
2682 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
2683
2684         Reviewed by Oliver.
2685
2686         Add a method to get a localized, human-readable string stating this
2687         object's default action, e.g., a button's default action is "press."
2688
2689         * page/AccessibilityObject.cpp:
2690         (WebCore::AccessibilityObject::actionVerb): Added.
2691         * page/AccessibilityObject.h: Added declaration for actionVerb().
2692         * platform/LocalizedStrings.h: Added declarations for:
2693             AXButtonActionVerb()
2694             AXRadioButtonActionVerb()
2695             AXTextFieldActionVerb()
2696             AXCheckedCheckBoxActionVerb()
2697             AXUncheckedCheckBoxActionVerb()
2698             AXLinkActionVerb()
2699
2700 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2701
2702         Reviewed by Simon.
2703
2704         Cleaned up copyright headers in the Qt port (removed misplaced class
2705         descriptions and fixed inconsistent whitespace and indentation).
2706
2707         * platform/graphics/qt/FontQt.cpp:
2708         * platform/qt/WheelEventQt.cpp:
2709
2710 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2711
2712         Reviewed by Simon.
2713
2714         Disable vanlilla focus rings since Qt provides this as part of the style.
2715
2716         * platform/qt/RenderThemeQt.cpp:
2717
2718 2008-04-24  George Staikos  <george@staikos.net>
2719
2720         Reviewed by Simon.
2721
2722         This optimization in BitmapImage::drawPattern for the identity
2723         transform is bogus and causes incorrect results on sites like youtube.
2724
2725         * platform/graphics/qt/ImageQt.cpp:
2726         (WebCore::BitmapImage::drawPattern):
2727
2728 2008-04-23  Brady Eidson  <beidson@apple.com>
2729
2730         Reviewed by Jon Honeycutt
2731
2732         Preparing for making LocalStorageAreas persistent.
2733
2734         Since LocalStorageAreas will need to do a lot of additional work for each of the basic
2735         operations a Storage object supports, this patch makes the API entry points virtual so
2736         LocalStorageArea can override them.  The behavior for both Local and Session StorageAreas
2737         is unchanged with this patch, but LocalStorageArea will override them in the future.
2738
2739         * storage/StorageArea.cpp: Rename the implementations to internalFoo
2740         (WebCore::StorageArea::internalLength):
2741         (WebCore::StorageArea::internalKey):
2742         (WebCore::StorageArea::internalGetItem):
2743         (WebCore::StorageArea::internalSetItem):
2744         (WebCore::StorageArea::internalRemoveItem):
2745         (WebCore::StorageArea::internalContains):
2746
2747         * storage/StorageArea.h: Call internalFoo variants
2748         (WebCore::StorageArea::length):
2749         (WebCore::StorageArea::key):
2750         (WebCore::StorageArea::getItem):
2751         (WebCore::StorageArea::setItem):
2752         (WebCore::StorageArea::removeItem):
2753         (WebCore::StorageArea::contains):
2754
2755 2008-04-23  David Hyatt  <hyatt@apple.com>
2756
2757         Implement getComputedStyle for border-image.
2758
2759         Reviewed by Dan Bernstein
2760
2761         Added fast/css/getComputedStyle-border-image.html
2762
2763         * css/CSSComputedStyleDeclaration.cpp:
2764         (WebCore::):
2765         (WebCore::valueForRepeatRule):
2766         (WebCore::valueForNinePieceImage):
2767         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2768
2769 2008-04-22  Darin Adler  <darin@apple.com>
2770
2771         Reviewed by Anders.
2772
2773         - simplify use of HashTraits to prepare for some upcoming hash table changes
2774
2775         * page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different
2776         from the default hash traits for unsigned.
2777         * page/mac/AXObjectCacheMac.mm:
2778         (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done
2779         by HashTable that the value is not the deleted value.
2780
2781         * platform/graphics/StringTruncator.cpp: Removed unneeded include.
2782         * svg/SVGFontFaceElement.cpp: Removed unneeded include.
2783
2784 2008-04-23  Kevin Ollivier  <kevino@theolliviers.com>
2785
2786         wx build fixes. Changing BackgroundLayer -> FillLayer and adding
2787         Frame::disconnectPlatformScriptObjects().
2788
2789         * platform/wx/RenderThemeWx.cpp:
2790         (WebCore::RenderThemeWx::isControlStyled):
2791         * platform/wx/TemporaryLinkStubs.cpp:
2792         (Frame::disconnectPlatformScriptObjects):
2793
2794 2008-04-23  David Hyatt  <hyatt@apple.com>
2795
2796         Add support for mask-box-image (similar to border-image).  This property enables a single image
2797         to overlay the entire mask area (with nine-piece slicing rules similar to border image).
2798
2799         Reviewed by Dan Bernstein
2800
2801         Added inline-mask-overlay.html, block-mask-overlay.html
2802
2803         * css/CSSComputedStyleDeclaration.cpp:
2804         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2805         * css/CSSParser.cpp:
2806         (WebCore::CSSParser::parseValue):
2807         (WebCore::CSSParser::parseBorderImage):
2808         * css/CSSPropertyNames.in:
2809         * css/CSSStyleSelector.cpp:
2810         (WebCore::CSSStyleSelector::applyProperty):
2811         * rendering/InlineFlowBox.cpp:
2812         (WebCore::InlineFlowBox::paintMask):
2813         * rendering/RenderBox.cpp:
2814         (WebCore::RenderBox::paintMask):
2815         * rendering/RenderFlow.cpp:
2816         (WebCore::RenderFlow::paintLines):
2817         * rendering/RenderObject.cpp:
2818         (WebCore::RenderObject::paintNinePieceImage):
2819         (WebCore::RenderObject::paintBorder):
2820         * rendering/RenderObject.h:
2821         * rendering/RenderStyle.cpp:
2822         (WebCore::NinePieceImage::operator==):
2823         * rendering/RenderStyle.h:
2824         (WebCore::):
2825         (WebCore::NinePieceImage::m_verticalRule):
2826         (WebCore::NinePieceImage::horizontalRule):
2827         (WebCore::NinePieceImage::verticalRule):
2828         (WebCore::RenderStyle::borderImage):
2829         (WebCore::RenderStyle::maskOverlayImage):
2830         (WebCore::RenderStyle::hasMask):
2831         (WebCore::RenderStyle::resetBorderImage):
2832         (WebCore::RenderStyle::setBorderImage):
2833         (WebCore::RenderStyle::setMaskOverlayImage):
2834         (WebCore::RenderStyle::initialNinePieceImage):
2835         * rendering/RenderTable.cpp:
2836         (WebCore::RenderTable::paintMask):
2837         * rendering/RenderTableCell.cpp:
2838         (WebCore::RenderTableCell::paintMask):
2839
2840 2008-04-23  Justin Garcia  <justin.garcia@apple.com>
2841
2842         Reviewed by Darin Adler.
2843
2844         <rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div
2845
2846         * editing/htmlediting.cpp:
2847         (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if
2848         this function moves out of highestRoot.  Re-wrote so as to not duplicate code inside
2849         and outside of the while loop.
2850         (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
2851
2852 2008-04-23  Daniel Zucker  <zucker@wake3.com>
2853
2854         Reviewed by Adam Roben.
2855
2856         Fix build errors needed to compile Curl in Cairo build.  Add stubs for
2857         didReceiveAuthenticationChallenge, receivedCredential,
2858         receivedRequestToContinueWithoutCredential, and receivedCancellation.
2859         <https://bugs.webkit.org/show_bug.cgi?id=18468>
2860
2861         * platform/network/ResourceHandle.h:  
2862         * platform/network/curl/ResourceHandleCurl.cpp:
2863         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2864         (WebCore::ResourceHandle::receivedCredential):
2865         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
2866         (WebCore::ResourceHandle::receivedCancellation):
2867
2868 2008-04-23  Dan Bernstein  <mitz@apple.com>
2869
2870         Reviewed by Darin Adler.
2871
2872         - fix a bug where moving forward in bidirectional text skips over the
2873           position after the end of the line
2874
2875         Test: editing/selection/move-past-trailing-space.html
2876
2877         * dom/Position.cpp:
2878         (WebCore::Position::upstream): Changed the logic for identifying when a
2879         position is after the last character of a text box of a text node that
2880         continues on the next line, to make it work correctly when boxes are not
2881         laid out in logical order.
2882         (WebCore::Position::downstream): Ditto.
2883
2884 2008-04-23  Brad Hughes  <bhughes@trolltech.com>
2885
2886         Reviewed by Simon.
2887
2888         Fix release build with the intel compiler
2889
2890         Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0
2891
2892         * WebCore.pro:
2893
2894 2008-04-22  Dan Bernstein  <mitz@apple.com>
2895
2896         Reviewed by Anders Carlsson.
2897
2898         - remove unused calls to Position::upstream()
2899
2900         * editing/InsertLineBreakCommand.cpp:
2901         (WebCore::InsertLineBreakCommand::insertNodeAfterPosition):
2902         (WebCore::InsertLineBreakCommand::insertNodeBeforePosition):
2903
2904 2008-04-22  Jon Honeycutt  <jhoneycutt@apple.com>
2905
2906         Reviewed by Sam.
2907
2908         Add a method to query which modifier keys the platform uses for access
2909         key actions.
2910
2911         * page/EventHandler.cpp:
2912         (WebCore::EventHandler::handleAccessKey): Bitwise and the event's
2913         modifier keys with the platform's access key modifier mask to determine
2914         whether this event can perform an access key action.
2915         * page/EventHandler.h: Added s_accessKeyModifiers, a platform-defined
2916         mask of modifier keys used for access key actions, and a getter.
2917         * page/mac/EventHandlerMac.mm: Use PlatformKeyboardEvent::CtrlKey for
2918         access key actions.
2919         * page/qt/EventHandlerQt.cpp: Same.
2920         * page/gtk/EventHandlerGtk.cpp: Use AltKey.
2921         * page/win/EventHandlerWin.cpp: Same.
2922         * page/wx/EventHandlerWx.cpp: Same.
2923         * platform/PlatformKeyboardEvent.h: Added an enum, ModifierKey.
2924         (WebCore::PlatformKeyboardEvent::):
2925         (WebCore::PlatformKeyboardEvent::modifiers): Return which modifier keys
2926         were active, a combination of ModifierKey values.
2927
2928 2008-04-22  Sam Weinig  <sam@webkit.org>
2929
2930         Reviewed by Maciej Stachowiak.
2931
2932         Make the KJSProxy and FrameLoader member variables instead of pointers
2933         in FramePrivate in a bid to do a little clean up before the last of the
2934         split window patches.  Also, make the KJSProxy not lazily created, as the
2935         real benefit comes from lazily creating the JSDOMWindowWrapper, which we
2936         still do.
2937
2938         * page/Frame.cpp:
2939         (WebCore::Frame::~Frame):
2940         (WebCore::Frame::init):
2941         (WebCore::Frame::loader):
2942         (WebCore::Frame::scriptProxy):
2943         (WebCore::Frame::document):
2944         (WebCore::Frame::setDocument):
2945         (WebCore::Frame::clearScriptProxy):
2946         (WebCore::Frame::pageDestroyed):
2947         (WebCore::FramePrivate::FramePrivate):
2948         (WebCore::FramePrivate::~FramePrivate):
2949         * page/FramePrivate.h:
2950
2951 2008-04-22  Anatoli Papirovski  <apapirovski@mac.com>
2952
2953         Reviewed by Dan Bernstein.
2954
2955         - fix https://bugs.webkit.org/show_bug.cgi?id=18584
2956         border-color, outline-color, column-color, -webkit-text-stroke-color,
2957         and -webkit-text-fill-color inheritance to correctly use parent's color
2958         if the parent's corresponding (border, outline, etc.)-color property
2959         wasn't set.
2960
2961         Test: fast/borders/border-color-inherit.html
2962
2963         * css/CSSStyleSelector.cpp:
2964         (WebCore::CSSStyleSelector::applyProperty):
2965
2966 2008-04-22  Alp Toker  <alp@nuanti.com>
2967
2968         Rubber-stamped by Dave Hyatt.
2969
2970         Move GraphicsContext::clipToImageBuffer() notImplemented() stub to
2971         GraphicsContextCairo.
2972
2973         * platform/graphics/GraphicsContext.cpp:
2974         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2975         (WebCore::GraphicsContext::clipToImageBuffer):
2976
2977 2008-04-22  David Hyatt  <hyatt@apple.com>
2978
2979         Add support for mask-composite to match background-composite.
2980
2981         Reviewed by Sam Weinig
2982
2983         Added fast/backgrounds/mask-composite.html
2984
2985         * css/CSSComputedStyleDeclaration.cpp:
2986         (WebCore::):
2987         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2988         * css/CSSParser.cpp:
2989         (WebCore::CSSParser::parseValue):
2990         (WebCore::CSSParser::parseFillProperty):
2991         * css/CSSPropertyNames.in:
2992         * css/CSSStyleSelector.cpp:
2993         (WebCore::CSSStyleSelector::applyProperty):
2994         * rendering/InlineFlowBox.cpp:
2995         (WebCore::InlineFlowBox::paintMask):
2996
2997 2008-04-22  David Hyatt  <hyatt@apple.com>
2998
2999         Fix for bug 18688, background-color stopped painting on inlines.  Fix a virtual function
3000         misnaming that led to the derived class not getting called properly.
3001
3002         Reviewed by Mark Rowe
3003
3004         * ChangeLog:
3005         * rendering/InlineFlowBox.cpp:
3006         (WebCore::InlineFlowBox::paintFillLayer):
3007         * rendering/RenderObject.h:
3008         (WebCore::RenderObject::paintFillLayerExtended):
3009
3010 2008-04-22  Brady Eidson  <beidson@apple.com>
3011
3012         Reviewed by Sam Weinig
3013
3014         <rdar://problem/5733282> and https://bugs.webkit.org/show_bug.cgi?id=18680
3015         Always loads default shortcut icon URL when an external <script> is referenced before the icon URL is set.
3016
3017         * dom/Document.cpp:
3018         (WebCore::Document::implicitClose): Call FrameLoader->startIconLoader() here, when the document is
3019           finished parsing.
3020
3021         * loader/FrameLoader.cpp:
3022         (WebCore::FrameLoader::endIfNotLoadingMainResource):  Don't start the icon load here, when the
3023           document is finished parsing.  This was often too early, as document parsing may be blocked
3024           on an external script and therefore the correct iconURL is not set yet.
3025           The isLoadingFromCachedPage() check was when we started the icon load based on *loading* instead parsing,
3026           and is now irrelevant.
3027         * loader/FrameLoader.h:  Make startIconLoader() public
3028
3029 2008-04-22  Antti Koivisto  <antti@apple.com>
3030
3031         Reviewed by Oliver.
3032
3033         Support keyPoints attribute of <animateMotion>.
3034         
3035         Tested by SVG test suite test
3036         animate-elem-33-t.svg
3037
3038         * svg/SVGAnimateMotionElement.cpp:
3039         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
3040         * svg/SVGAnimationElement.cpp:
3041         (WebCore::parseKeyTimes):
3042         (WebCore::SVGAnimationElement::parseMappedAttribute):
3043         (WebCore::SVGAnimationElement::calculatePercentForSpline):
3044         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
3045         (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
3046         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
3047         (WebCore::SVGAnimationElement::startedActiveInterval):
3048         (WebCore::SVGAnimationElement::updateAnimation):
3049         * svg/SVGAnimationElement.h:
3050
3051 2008-04-22  Holger Hans Peter Freyther  <zecke@selfish.org>
3052
3053         Unreviewed build fix.
3054
3055         Update WebKit.qrc to catch up with the addition and removal of images
3056         from page/inspector/Images in recent commits.
3057
3058         * page/inspector/WebKit.qrc:
3059
3060 2008-04-22  David Hyatt  <hyatt@apple.com>
3061
3062         Fix for <rdar://5589634>.
3063
3064         Implement CSS alpha masks.  The syntax is very similar to that used for backgrounds.  Multiple mask images
3065         can be specified, and each one can be tiled, positioned, etc.  The following new properties have been
3066         added (all of which are analogous to their background-* counterparts).
3067
3068         mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position
3069
3070         The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show,
3071         alpha of 0 = don't show).
3072
3073         SVG images and CSS gradients can also be used as masks.
3074
3075         Reviewed by Dan
3076
3077         Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html
3078
3079         * css/CSSMutableStyleDeclaration.cpp:
3080         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3081         (WebCore::initShorthandMap):
3082         * css/CSSParser.cpp:
3083         (WebCore::CSSParser::parseFillProperty):
3084         (WebCore::CSSParser::parseTransformOrigin):
3085         * css/CSSStyleSelector.cpp:
3086         (WebCore::CSSStyleSelector::adjustRenderStyle):
3087         (WebCore::CSSStyleSelector::applyProperty):
3088         * rendering/InlineFlowBox.cpp:
3089         (WebCore::InlineFlowBox::paint):
3090         (WebCore::InlineFlowBox::paintFillLayers):
3091         (WebCore::InlineFlowBox::paintFillLayer):
3092         (WebCore::InlineFlowBox::paintBoxDecorations):
3093         (WebCore::InlineFlowBox::paintMask):
3094         * rendering/InlineFlowBox.h:
3095         * rendering/RenderBlock.cpp:
3096         (WebCore::RenderBlock::paint):
3097         (WebCore::RenderBlock::paintObject):
3098         * rendering/RenderBox.cpp:
3099         (WebCore::RenderBox::paintRootBoxDecorations):
3100         (WebCore::RenderBox::paintBoxDecorations):
3101         (WebCore::RenderBox::paintMask):
3102         (WebCore::RenderBox::paintFillLayers):
3103         (WebCore::RenderBox::paintFillLayer):
3104         (WebCore::RenderBox::paintFillLayerExtended):
3105         * rendering/RenderBox.h:
3106         * rendering/RenderFieldset.cpp:
3107         (WebCore::RenderFieldset::paintBoxDecorations):
3108         (WebCore::RenderFieldset::paintMask):
3109         * rendering/RenderFieldset.h:
3110         * rendering/RenderInline.cpp:
3111         (WebCore::RenderInline::requiresLayer):
3112         * rendering/RenderLayer.cpp:
3113         (WebCore::RenderLayer::isTransparent):
3114         (WebCore::RenderLayer::paintLayer):
3115         * rendering/RenderObject.cpp:
3116         (WebCore::RenderObject::requiresLayer):
3117         (WebCore::mustRepaintFillLayers):
3118         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
3119         (WebCore::RenderObject::setStyle):
3120         (WebCore::RenderObject::updateFillImages):
3121         * rendering/RenderObject.h:
3122         (WebCore::):
3123         (WebCore::RenderObject::hasMask):
3124         (WebCore::RenderObject::paintMask):
3125         (WebCore::RenderObject::paintFillExtended):
3126         * rendering/RenderReplaced.cpp:
3127         (WebCore::RenderReplaced::paint):
3128         * rendering/RenderStyle.cpp:
3129         (WebCore::FillLayer::FillLayer):
3130         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3131         * rendering/RenderStyle.h:
3132         (WebCore::FillLayer::initialFillComposite):
3133         (WebCore::FillLayer::initialFillSize):
3134         (WebCore::FillLayer::FillLayer):
3135         (WebCore::RenderStyle::hasMask):
3136         * rendering/RenderTable.cpp:
3137         (WebCore::RenderTable::paint):
3138         (WebCore::RenderTable::paintBoxDecorations):
3139         (WebCore::RenderTable::paintMask):
3140         * rendering/RenderTable.h:
3141         * rendering/RenderTableCell.cpp:
3142         (WebCore::RenderTableCell::requiresLayer):
3143         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3144         (WebCore::RenderTableCell::paintMask):
3145         * rendering/RenderTableCell.h:
3146         * rendering/RenderWidget.cpp:
3147         (WebCore::RenderWidget::paint):
3148         * svg/graphics/SVGImage.cpp:
3149         (WebCore::SVGImage::draw):
3150         (WebCore::SVGImage::dataChanged):
3151
3152 2008-04-22  Sam Weinig  <sam@webkit.org>
3153
3154         Reviewed by Geoffrey Garen.
3155
3156         Make DOMAbstractView have a weak reference to the Frame instead of ref'ing
3157         the DOMWindow.
3158
3159         To ensure that the WindowScriptObject (which is a DOMAbstractView) stays valid
3160         after a navigation once the split window is completed, the DOMAbstractView must
3161         wrap the Frame instead of a DOMWindow since the DOMWindow will change.
3162
3163         * WebCore.xcodeproj/project.pbxproj:
3164         * bindings/objc/DOMAbstractView.mm: Added.
3165         (-[DOMAbstractView dealloc]):
3166         (-[DOMAbstractView finalize]):
3167         (-[DOMAbstractView document]):
3168         (-[DOMAbstractView _disconnectFrame]):
3169         (-[DOMAbstractView WebCore::]):
3170         (-[DOMAbstractView _initWithFrame:WebCore::]):
3171         (+[DOMAbstractView _wrapAbstractView:WebCore::]):
3172         Add custom implementation to implement weak reference semantics.
3173
3174         * bindings/objc/DOMAbstractViewFrame.h: Added.
3175         Declare the [DOMAbstractView _disconectFrame] selector.
3176         * bindings/objc/DOMInternal.h:
3177         Remove DOMRGBColor Internal category since it is now generated.
3178
3179         * bindings/objc/DOMUtility.mm:
3180         (KJS::createDOMWrapper):
3181         Don't ever create a DOMAbstractView from a JSDOMWindow, only from JSDOMWindowWrapper.
3182
3183         * bindings/scripts/CodeGeneratorObjC.pm:
3184         Generate internal header for IDLs that want custom implementations.
3185
3186         * css/RGBColor.idl:
3187         Make this a PODType as it really is in the implementation.
3188
3189         * page/AbstractView.idl:
3190         This now needs a custom objective-c binding implementation.
3191
3192         * page/Frame.cpp:
3193         (WebCore::Frame::~Frame):
3194         disconnect the weak frame reference in the WindowScriptObject.
3195
3196         * page/Frame.h:
3197         * page/gtk/FrameGtk.cpp:
3198         (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
3199         * page/mac/FrameMac.mm:
3200         (WebCore::Frame::windowScriptObject): ASSERT that the windowScriptObject is a DOMAbstractView.
3201         (WebCore::Frame::disconnectPlatformScriptObjects): Disconnect the frame pointer from the windowScriptObject.
3202         * page/qt/FrameQt.cpp:
3203         (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
3204         * page/win/FrameWin.cpp:
3205         (WebCore::Frame::disconnectPlatformScriptObjects): Ditto.
3206
3207 2008-04-22  Dan Bernstein  <mitz@apple.com>
3208
3209         Reviewed by Sam Weinig.
3210
3211         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
3212           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
3213
3214         * rendering/bidi.cpp:
3215         (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the
3216         trailing white space a bidi level consistent with its position.
3217
3218 2008-04-22  Timothy Hatcher  <timothy@apple.com>
3219
3220         Remove many unused Web Inspector images.
3221
3222         Rubber-stamped by Adam Roben and Sam Weinig.
3223
3224         * page/inspector/Images/attachedShadow.png: Removed.
3225         * page/inspector/Images/backNormal.png: Removed.
3226         * page/inspector/Images/bottomShadow.png: Removed.
3227         * page/inspector/Images/breadcrumbBackground.png: Removed.
3228         * page/inspector/Images/console.png: Removed.
3229         * page/inspector/Images/databaseBrowserViewNormal.png: Removed.
3230         * page/inspector/Images/databaseBrowserViewNormalSelected.png: Removed.
3231         * page/inspector/Images/databaseBrowserViewSmall.png: Removed.
3232         * page/inspector/Images/databaseBrowserViewSmallSelected.png: Removed.
3233         * page/inspector/Images/databaseQueryViewNormal.png: Removed.
3234         * page/inspector/Images/databaseQueryViewNormalSelected.png: Removed.
3235         * page/inspector/Images/databaseQueryViewSmall.png: Removed.
3236         * page/inspector/Images/databaseQueryViewSmallSelected.png: Removed.
3237         * page/inspector/Images/disclosureDownPressed.png: Removed.
3238         * page/inspector/Images/disclosureRightDown.png: Removed.
3239         * page/inspector/Images/disclosureRightPressed.png: Removed.
3240         * page/inspector/Images/document.png: Removed.
3241         * page/inspector/Images/domViewNormal.png: Removed.
3242         * page/inspector/Images/domViewNormalSelected.png: Removed.
3243         * page/inspector/Images/domViewSmall.png: Removed.
3244         * page/inspector/Images/domViewSmallSelected.png: Removed.
3245         * page/inspector/Images/downTriangle.png: Removed.
3246         * page/inspector/Images/folder.png: Removed.
3247         * page/inspector/Images/forwardNormal.png: Removed.
3248         * page/inspector/Images/gradient.png: Removed.
3249         * page/inspector/Images/gradientHighlight.png: Removed.
3250         * page/inspector/Images/gradientHighlightBottom.png: Removed.
3251         * page/inspector/Images/hideStatusWidget.png: Removed.
3252         * page/inspector/Images/hideStatusWidgetPressed.png: Removed.
3253         * page/inspector/Images/network.png: Removed.
3254         * page/inspector/Images/plainDocument.png: Removed.
3255         * page/inspector/Images/popupArrows.png: Removed.
3256         * page/inspector/Images/popupArrowsBlack.png: Removed.
3257         * page/inspector/Images/reload.png: Removed.
3258         * page/inspector/Images/rightTriangle.png: Removed.
3259         * page/inspector/Images/showStatusWidget.png: Removed.
3260         * page/inspector/Images/showStatusWidgetPressed.png: Removed.
3261         * page/inspector/Images/sidbarItemBackground.png: Removed.
3262         * page/inspector/Images/sidebarActionWidget.png: Removed.
3263         * page/inspector/Images/sidebarActionWidgetPressed.png: Removed.
3264         * page/inspector/Images/sidebarAttachWidget.png: Removed.
3265         * page/inspector/Images/sidebarAttachWidgetPressed.png: Removed.
3266         * page/inspector/Images/sidebarDetachWidget.png: Removed.
3267         * page/inspector/Images/sidebarDetachWidgetPressed.png: Removed.
3268         * page/inspector/Images/sidebarResizeWidget.png: Removed.
3269         * page/inspector/Images/sidebarStatusAreaBackground.png: Removed.
3270         * page/inspector/Images/sourceViewNormal.png: Removed.
3271         * page/inspector/Images/sourceViewNormalSelected.png: Removed.
3272         * page/inspector/Images/sourceViewSmall.png: Removed.
3273         * page/inspector/Images/sourceViewSmallSelected.png: Removed.
3274         * page/inspector/Images/tab.png: Removed.
3275         * page/inspector/Images/tabSelected.png: Removed.
3276         * page/inspector/Images/toggleDown.png: Removed.
3277         * page/inspector/Images/toggleUp.png: Removed.
3278         * page/inspector/Images/toolbarButtonNormal.png: Removed.
3279         * page/inspector/Images/toolbarButtonNormalInactive.png: Removed.
3280         * page/inspector/Images/toolbarButtonNormalPressed.png: Removed.
3281         * page/inspector/Images/toolbarButtonNormalSelected.png: Removed.
3282         * page/inspector/Images/toolbarButtonNormalSelectedInactive.png: Removed.
3283         * page/inspector/Images/toolbarButtonSmall.png: Removed.
3284         * page/inspector/Images/toolbarButtonSmallInactive.png: Removed.
3285         * page/inspector/Images/toolbarButtonSmallPressed.png: Removed.
3286         * page/inspector/Images/toolbarButtonSmallSelected.png: Removed.
3287         * page/inspector/Images/toolbarButtonSmallSelectedInactive.png: Removed.
3288         * page/inspector/Images/toolbarPopupButtonNormal.png: Removed.
3289         * page/inspector/Images/toolbarPopupButtonNormalInactive.png: Removed.
3290         * page/inspector/Images/toolbarPopupButtonNormalPressed.png: Removed.
3291         * page/inspector/Images/toolbarPopupButtonSmall.png: Removed.
3292         * page/inspector/Images/toolbarPopupButtonSmallInactive.png: Removed.
3293         * page/inspector/Images/toolbarPopupButtonSmallPressed.png: Removed.
3294         * page/inspector/Images/toolbarSplitButtonDividerNormal.png: Removed.
3295         * page/inspector/Images/toolbarSplitButtonDividerNormalInactive.png: Removed.
3296         * page/inspector/Images/toolbarSplitButtonDividerSmall.png: Removed.
3297         * page/inspector/Images/toolbarSplitButtonDividerSmallInactive.png: Removed.
3298         * page/inspector/Images/treeLeftTriangleBlack.png: Removed.
3299
3300 2008-04-22  Anders Carlsson  <andersca@apple.com>
3301
3302         Reviewed by Darin.
3303
3304         Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
3305
3306         * bridge/npapi.h:
3307         * bridge/npruntime.h:
3308         * plugins/npfunctions.h:
3309
3310 2008-04-22  Alice Liu  <alice.liu@apple.com>
3311
3312         Reviewed by John Sullivan and Adam Roben.
3313
3314         Test: fast/events/tabindex-focus-chain.html
3315
3316         * dom/Document.cpp:
3317         (WebCore::Document::nextFocusableNode):
3318         (WebCore::Document::previousFocusableNode):
3319         If the focused node has been removed from the normal tabbing order,
3320         advancing focus from this node should advance to the next focusable
3321         node in tree order, and not start over at the beginning of the focus
3322         chain. 
3323
3324 2008-04-22  Timothy Hatcher  <timothy@apple.com>
3325
3326         Adds a debugger toggle button to the scripts status bar that will start
3327         and stop debugging of the inspected page.
3328
3329         Reviewed by Adam Roben.
3330
3331         * English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings.
3332         * page/InspectorController.cpp:
3333         (WebCore::debuggerAttached): Call InspectorController::debuggerAttached.
3334         (WebCore::InspectorController::InspectorController): Initialize
3335         m_debuggerAttached to false.
3336         (WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached
3337         property to the InspectorController class.
3338         (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
3339         Set m_debuggerAttached to true.
3340         (WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false.
3341         * page/InspectorController.h:
3342         * page/inspector/Images/debuggingButtons.png: Added.
3343         * page/inspector/ScriptsPanel.js:
3344         (WebInspector.ScriptsPanel): Disable the pause button. Create the debugging
3345         button and setup the id, className and event listener. Call reset.
3346         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array
3347         (WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons.
3348         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of
3349         the debugging button to match what will happen when clicked. Change the style class,
3350         and toggle the disabled state of the pause button.
3351         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging
3352         depending on InspectorController.debuggerAttached().
3353         * page/inspector/inspector.css: Added style rules for the debugger button.
3354
3355 2008-04-21  Adam Roben  <aroben@apple.com>
3356
3357         Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM
3358
3359         Reviewed by Dan Bernstein.
3360
3361         * platform/win/WheelEventWin.cpp:
3362         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
3363         GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel
3364         delta (it is equivalent to what we were previously doing, however).
3365
3366 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
3367
3368         Qt build fix.
3369
3370         Adjust the Qt resource file to removed image files.
3371
3372         * page/inspector/WebKit.qrc:
3373
3374 2008-04-21  Timothy Hatcher  <timothy@apple.com>
3375
3376         Use CSS gradients to replace many image files in the Web Inspector.
3377
3378         Rubber-stamped by Adam Roben.
3379
3380         * page/inspector/Images/alternateTableRows.png: Removed.
3381         * page/inspector/Images/darkShadow.png: Removed.
3382         * page/inspector/Images/paneHeader.png: Removed.
3383         * page/inspector/Images/paneHeaderActive.png: Removed.
3384         * page/inspector/Images/sidebarSelection.png: Removed.
3385         * page/inspector/Images/sidebarSelectionBackground.png: Removed.
3386         * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed.
3387         * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed.
3388         * page/inspector/Images/sidebarSelectionBlurred.png: Removed.
3389         * page/inspector/Images/sidebarSelectionBlurredTall.png: Removed.
3390         * page/inspector/Images/sidebarSelectionGray.png: Removed.
3391         * page/inspector/Images/sidebarSelectionGrayTall.png: Removed.
3392         * page/inspector/Images/sidebarSelectionTall.png: Removed.
3393         * page/inspector/Images/sidebarSmallSelectionBackground.png: Removed.
3394         * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed.
3395         * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed.
3396         * page/inspector/Images/toolbarBackground.png: Removed.
3397         * page/inspector/Images/toolbarBackgroundInactive.png: Removed.
3398         * page/inspector/inspector.css:
3399
3400 2008-04-22  Andre Poenitz  <andre.poenitz@trolltech.com>
3401
3402         Reviewed by Simon.
3403
3404         Remove compiler warnings on string literals used to construct QStrings
3405         in webkit.
3406
3407         * bridge/qt/qt_instance.cpp:
3408         (KJS::Bindings::QtField::valueFromInstance):
3409         (KJS::Bindings::QtField::setValueToInstance):
3410         * bridge/qt/qt_runtime.cpp:
3411         (KJS::Bindings::convertValueToQVariant):
3412         (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
3413
3414 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
3415
3416         Reviewed by Simon.
3417
3418         Fall back to last path component for suggested filename if the HTTP content disposition is not set.
3419
3420         * platform/network/qt/QNetworkReplyHandler.cpp:
3421         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3422
3423 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
3424
3425         Reviewed by Simon.
3426
3427         Implemented the generation of the title string for images.
3428
3429         * platform/qt/Localizations.cpp:
3430
3431 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
3432
3433         Qt build fix.
3434
3435         * platform/qt/RenderThemeQt.cpp: Adjust isControlStyled signature to
3436         the signature in the base class.
3437         * platform/qt/RenderThemeQt.h: Ditto.
3438
3439 2008-04-19  Jon Honeycutt  <jhoneycutt@apple.com>
3440
3441         Reviewed by Darin.
3442
3443         Add a method to get the AccessibilityObject's access key,
3444
3445         * page/AccessibilityObject.cpp:
3446         (WebCore::AccessibilityObject::accessKey): Added; returns the object's
3447         access key attribute.
3448         * page/AccessibilityObject.h: Added declaration for accessKey().
3449
3450 2008-04-21  Sam Weinig  <sam@webkit.org>
3451
3452         Reviewed by Anders Carlsson.
3453
3454         Fix numerous crashing tests.
3455
3456         * html/HTMLHtmlElement.cpp:
3457         (WebCore::HTMLHtmlElement::insertedIntoDocument): Null check document->frame().
3458
3459 2008-04-21  Dan Bernstein  <mitz@apple.com>
3460
3461         Reviewed by Darin Adler.
3462
3463         Tests: fast/media/implicit-media-all.html
3464                fast/media/monochrome.html
3465
3466         - allow implicit "all" media in media queries
3467         - use a value of 0 for the monochrome media feature on color displays
3468
3469         * css/CSSGrammar.y:
3470         * css/CSSParser.cpp:
3471         (WebCore::CSSParser::createFloatingMediaQuery):
3472         * css/CSSParser.h:
3473         * css/MediaQueryEvaluator.cpp:
3474         (WebCore::monochromeMediaFeatureEval):
3475
3476 2008-04-21  Brady Eidson  <beidson@apple.com>
3477
3478         Rockingly reviewed by Adele
3479
3480         Small StorageArea cleanups
3481
3482         * storage/SessionStorageArea.cpp:
3483         (WebCore::SessionStorageArea::copy): Pass "this" instead of the StorageMap belonging to this
3484         (WebCore::SessionStorageArea::SessionStorageArea):
3485         * storage/SessionStorageArea.h:
3486
3487         * storage/StorageArea.cpp:  Changed to not expose the StorageMap at all - it's dangerous to expose
3488           it since we rely explicitly on its ref-count
3489         (WebCore::StorageArea::StorageArea): Take another StorageArea as the c'tor argument and get the 
3490           StorageMap from that.
3491         (WebCore::StorageArea::setItem):  The previous comment/code here was bogus.  All JS objects passed in
3492           to this API are stringified, so there's no such thing as "null" for setItem()
3493         * storage/StorageArea.h:
3494
3495 2008-04-21  Justin Garcia  <justin.garcia@apple.com>
3496
3497         Reviewed by John Sullivan.
3498
3499         <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
3500         
3501         If we're doing InsertParagraphSeparator at the end of a header element, do not clone it.
3502         Renamed m_useDefaultParagraphElement to m_mustUseDefaultParagraphElement, since now,
3503         when it is false, that does not necessarily mean that a default paragraph element
3504         will not be used.  Callers that passed false for this argument are OK with this.
3505
3506         * editing/InsertParagraphSeparatorCommand.cpp:
3507         (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): 
3508         (WebCore::InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement):
3509         (WebCore::InsertParagraphSeparatorCommand::doApply):
3510         * editing/InsertParagraphSeparatorCommand.h:
3511
3512 2008-04-21  Anders Carlsson  <andersca@apple.com>
3513
3514         Reviewed by Adam.
3515
3516         Perform cache selection. If a main resource has a URL that exists in a cache, load it from there.
3517         
3518         * html/HTMLAttributeNames.in:
3519         Add manifest attribute.
3520         
3521         * html/HTMLHtmlElement.cpp:
3522         (WebCore::HTMLHtmlElement::insertedIntoDocument):
3523         * html/HTMLHtmlElement.h:
3524         Perform cache selection.
3525         
3526         * loader/MainResourceLoader.cpp:
3527         (WebCore::MainResourceLoader::load):
3528         * loader/appcache/ApplicationCacheGroup.cpp:
3529         (WebCore::cacheHostSet):
3530         (WebCore::urlHostHash):
3531         (WebCore::ApplicationCacheGroup::cacheForRequest):
3532         (WebCore::ApplicationCacheGroup::selectCache):
3533         * loader/appcache/ApplicationCacheGroup.h:
3534         * platform/KURL.h:
3535         (WebCore::KURL::hostStart):
3536         (WebCore::KURL::hostEnd):
3537
3538 2008-04-21  Mike Belshe  <mike@belshe.com>
3539
3540         Reviewed by eseidel and darin.  Landed by eseidel.
3541
3542         Fix broken optimization in createStrippingNullCharacters.
3543
3544         * platform/text/StringImpl.cpp:
3545         (WebCore::StringImpl::createStrippingNullCharacters):
3546
3547 2008-04-21  David Hyatt  <hyatt@apple.com>
3548
3549         Make the back end parsing of background properties generic.  Rename all the parsing functions from
3550         background -> fill.
3551
3552         Add a new set of properties for doing masks.  The code is now refactored so that the mask properties
3553         and the background properties share parsing routines.
3554
3555         Reviewed by Dan
3556
3557         * css/CSSComputedStyleDeclaration.cpp:
3558         (WebCore::):
3559         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3560         * css/CSSParser.cpp:
3561         (WebCore::CSSParser::parseValue):
3562         (WebCore::CSSParser::addFillValue):
3563         (WebCore::CSSParser::parseFillShorthand):
3564         (WebCore::CSSParser::parseFillImage):
3565         (WebCore::CSSParser::parseFillPositionXY):
3566         (WebCore::CSSParser::parseFillPosition):
3567         (WebCore::CSSParser::parseFillSize):
3568         (WebCore::CSSParser::parseFillProperty):
3569         (WebCore::CSSParser::parseTransformOrigin):
3570         * css/CSSParser.h:
3571         * css/CSSPropertyNames.in:
3572         * css/CSSStyleSelector.cpp:
3573         (WebCore::CSSStyleSelector::CSSStyleSelector):
3574         (WebCore::CSSStyleSelector::mapFillAttachment):
3575         (WebCore::CSSStyleSelector::mapFillClip):
3576         (WebCore::CSSStyleSelector::mapFillComposite):
3577         (WebCore::CSSStyleSelector::mapFillOrigin):
3578         (WebCore::CSSStyleSelector::mapFillImage):
3579         (WebCore::CSSStyleSelector::mapFillRepeat):
3580         (WebCore::CSSStyleSelector::mapFillSize):
3581         (WebCore::CSSStyleSelector::mapFillXPosition):
3582         (WebCore::CSSStyleSelector::mapFillYPosition):
3583         * rendering/RenderStyle.cpp:
3584         (WebCore::FillLayer::FillLayer):
3585         (WebCore::FillLayer::operator=):
3586         (WebCore::FillLayer::operator==):
3587         (WebCore::StyleBackgroundData::StyleBackgroundData):
3588         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3589         (WebCore::StyleRareNonInheritedData::operator==):
3590         (WebCore::RenderStyle::diff):
3591         * rendering/RenderStyle.h:
3592         (WebCore::LengthSize::LengthSize):
3593         (WebCore::):
3594         (WebCore::FillLayer::type):
3595         (WebCore::FillLayer::initialFillAttachment):
3596         (WebCore::FillLayer::initialFillClip):
3597         (WebCore::FillLayer::initialFillOrigin):
3598         (WebCore::FillLayer::initialFillRepeat):
3599         (WebCore::FillLayer::initialFillComposite):
3600         (WebCore::FillLayer::initialFillSize):
3601         (WebCore::FillLayer::initialFillXPosition):
3602         (WebCore::FillLayer::initialFillYPosition):
3603         (WebCore::FillLayer::initialFillImage):
3604         (WebCore::RenderStyle::maskImage):
3605         (WebCore::RenderStyle::maskRepeat):
3606         (WebCore::RenderStyle::maskComposite):
3607         (WebCore::RenderStyle::maskAttachment):
3608         (WebCore::RenderStyle::maskClip):
3609         (WebCore::RenderStyle::maskOrigin):
3610         (WebCore::RenderStyle::maskXPosition):
3611         (WebCore::RenderStyle::maskYPosition):
3612         (WebCore::RenderStyle::maskSize):
3613         (WebCore::RenderStyle::accessMaskLayers):
3614         (WebCore::RenderStyle::maskLayers):
3615         (WebCore::RenderStyle::clearBackgroundLayers):
3616         (WebCore::RenderStyle::clearMaskLayers):
3617         (WebCore::RenderStyle::inheritMaskLayers):
3618
3619 2008-04-21  Timothy Hatcher  <timothy@apple.com>
3620
3621         Fixes the issue were a Database view could still be visible after navigating to a new page.
3622
3623         Reviewed by Darin Adler.
3624
3625         * page/inspector/DatabasesPanel.js:
3626         (WebInspector.DatabasesPanel.prototype.reset): Delete the _tableViews and _queryView properties
3627         from all databases. Remove all the children from databaseViews.
3628
3629 2008-04-21  Timothy Hatcher  <timothy@apple.com>
3630
3631         Adds the ability to enter multi-line commands in the console by holding the
3632         alt/option key when pressing enter/return.
3633
3634         https://bugs.webkit.org/show_bug.cgi?id=18454
3635
3636         Reviewed by Darin Adler.
3637
3638         * page/inspector/Console.js:
3639         (WebInspector.Console.prototype._enterKeyPressed): Return early if the
3640         alt/option key is held when enter is pressed.
3641         * page/inspector/inspector.css:
3642         (.console-message-text): Added. Set white-space: pre-wrap.
3643
3644 2008-04-21  Timothy Hatcher  <timothy@apple.com>
3645
3646         Fixes the bug where the Database table names do not update when
3647         running the CREATE TABLE or DROP TABLE queries. Also makes the
3648         table names update every time the database is collapsed and expanded.
3649
3650         https://bugs.webkit.org/show_bug.cgi?id=18453
3651
3652         Reviewed by Darin Adler.
3653
3654         * page/inspector/DatabasesPanel.js:
3655         (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
3656         Set shouldRefreshChildren to true on the Database's tree element.
3657         The refreshChildren property was renamed to shouldRefreshChildren.
3658         (WebInspector.DatabaseSidebarTreeElement.prototype.oncollapse):
3659         Request a refresh after every collapse so the next expand will
3660         have an updated table list.
3661
3662 2008-04-21  Timothy Hatcher  <timothy@apple.com>
3663
3664         Adds INDEX to the list of completion words for the Databases query view.
3665
3666         https://bugs.webkit.org/show_bug.cgi?id=18452
3667
3668         Reviewed by Darin Adler.
3669
3670         * page/inspector/DatabaseQueryView.js:
3671         (WebInspector.DatabaseQueryView.prototype.completions): Split up "CREATE TABLE "
3672         and "DROP TABLE " into "CREATE ", "DROP ", "TABLE ". And added "INDEX ".
3673
3674 2008-04-21  Timothy Hatcher  <timothy@apple.com>
3675
3676         Adds the UI portions of the Scripts panel to the Web Inspector.
3677         The Scripts panel has not been added to the toolbar yet.
3678
3679         https://bugs.webkit.org/show_bug.cgi?id=18601
3680
3681         Reviewed by Adam Roben.
3682
3683         * English.lproj/InspectorLocalizedStrings.js: Changed "Show inherited properties"
3684         to "Show inherited". Adds new strings for the Scripts' panel tooltips.
3685         * page/inspector/BreakpointsSidebarPane.js: Added.
3686         * page/inspector/CallStackSidebarPane.js: Added.
3687         * page/inspector/Images/back.png: Added.
3688         * page/inspector/Images/debuggerContinue.png: Added.
3689         * page/inspector/Images/debuggerPause.png: Added.
3690         * page/inspector/Images/debuggerStepInto.png: Added.
3691         * page/inspector/Images/debuggerStepOut.png: Added.
3692         * page/inspector/Images/debuggerStepOver.png: Added.
3693         * page/inspector/Images/forward.png: Added.
3694         * page/inspector/Images/statusbarResizerHorizontal.png: Added.
3695         * page/inspector/PropertiesSection.js:
3696         (WebInspector.PropertiesSection): Flip the order the subtile is appended
3697         so it can float right in the CSS.
3698         * page/inspector/ScriptsPanel.js: Added.
3699         * page/inspector/StylesSidebarPane.js:
3700         (WebInspector.StylePropertiesSection): Changed "Show inherited properties"
3701         to "Show inherited".
3702         * page/inspector/inspector.css: Added new CSS rules for the Scripts panel. 
3703         Also changes the look of the section to match the mockup, this affects
3704         Styles and Properties in Elements.
3705         * page/inspector/inspector.html: Import new files.
3706         * page/inspector/inspector.js:
3707         (Preferences.minScriptsSidebarWidth): Added.
3708
3709 2008-04-21  Kevin McCullough  <kmccullough@apple.com>
3710
3711         Reviewed by Adam.
3712
3713         <rdar://problem/5770054> JavaScript profiler (10928)
3714         Took out debugging printing since we really want to hook into the
3715         inspector and not to print to the terminal.
3716
3717         * page/Console.cpp:
3718         (WebCore::Console::profileEnd):
3719
3720 2008-04-21  Sam Weinig  <sam@webkit.org>
3721
3722         Reviewed by Alexey Proskuryakov.
3723
3724         Fix up XMLHttpRequestProgressEvent.
3725
3726         * bindings/js/JSEventCustom.cpp:
3727         (WebCore::toJS):
3728         * xml/XMLHttpRequestProgressEvent.cpp:
3729         * xml/XMLHttpRequestProgressEvent.h:
3730
3731 2008-04-21  Adam Roben  <aroben@apple.com>
3732
3733         Fix Bug 18615: Crash in PluginPackage::hash
3734
3735         <https://bugs.webkit.org/show_bug.cgi?id=18615>
3736
3737         Reviewed by Anders Carlsson.
3738
3739         * plugins/PluginDatabase.cpp:
3740         (WebCore::PluginDatabase::refresh): Don't pass a null PluginPackage*
3741         to add().
3742
3743 2008-04-21  Anders Carlsson  <andersca@apple.com>
3744
3745         Reviewed by Adam.
3746
3747         Add cache group implementation.
3748
3749         * loader/DocumentLoader.cpp:
3750         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
3751         * loader/appcache/ApplicationCache.cpp:
3752         (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
3753         (WebCore::ApplicationCache::resourceForRequest):
3754         * loader/appcache/ApplicationCache.h:
3755         * loader/appcache/ApplicationCacheGroup.cpp:
3756         (WebCore::cacheGroupMap):
3757         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
3758         (WebCore::ApplicationCacheGroup::selectCache):
3759         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
3760         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
3761         (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
3762         (WebCore::ApplicationCacheGroup::cacheDestroyed):
3763         (WebCore::ApplicationCacheGroup::update):
3764         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3765         (WebCore::ApplicationCacheGroup::didReceiveData):
3766         (WebCore::ApplicationCacheGroup::didFinishLoading):
3767         (WebCore::ApplicationCacheGroup::didFail):
3768         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
3769         (WebCore::ApplicationCacheGroup::didReceiveManifestData):
3770         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
3771         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
3772         (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
3773         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
3774         (WebCore::ApplicationCacheGroup::startLoadingEntry):
3775         (WebCore::ApplicationCacheGroup::addEntry):
3776         (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
3777         (WebCore::ApplicationCacheGroup::callListenersOnAssociatedDocuments):
3778         (WebCore::ApplicationCacheGroup::callListeners):
3779         * loader/appcache/ApplicationCacheGroup.h:
3780         (WebCore::ApplicationCacheGroup::status):
3781         (WebCore::ApplicationCacheGroup::newestCache):
3782         * platform/KURL.h:
3783         (WebCore::KURL::hostStart):
3784         (WebCore::KURL::hostEnd):
3785
3786 2008-04-21  David Hyatt  <hyatt@apple.com>
3787
3788         Rename BackgroundLayer -> FillLayer in preparation for it being used for other types of fills.
3789
3790         Reviewed by Dan
3791
3792         * css/CSSComputedStyleDeclaration.cpp:
3793         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3794         * css/CSSPrimitiveValueMappings.h:
3795         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3796         (WebCore::CSSPrimitiveValue::operator EFillBox):
3797         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
3798         * css/CSSStyleSelector.cpp:
3799         (WebCore::CSSStyleSelector::applyProperty):
3800         (WebCore::CSSStyleSelector::mapFillAttachment):
3801         (WebCore::CSSStyleSelector::mapFillClip):
3802         (WebCore::CSSStyleSelector::mapFillComposite):
3803         (WebCore::CSSStyleSelector::mapFillOrigin):
3804         (WebCore::CSSStyleSelector::mapFillImage):
3805         (WebCore::CSSStyleSelector::mapFillRepeat):
3806         (WebCore::CSSStyleSelector::mapFillSize):
3807         (WebCore::CSSStyleSelector::mapFillXPosition):
3808         (WebCore::CSSStyleSelector::mapFillYPosition):
3809         (WebCore::CSSStyleSelector::mapTransitionDuration):
3810         (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
3811         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
3812         (WebCore::CSSStyleSelector::mapTransitionProperty):
3813         * css/CSSStyleSelector.h:
3814         * page/AnimationController.cpp:
3815         (WebCore::ImplicitAnimation::ImplicitAnimation):
3816         (WebCore::CompositeImplicitAnimation::animate):
3817         * rendering/InlineFlowBox.cpp:
3818         (WebCore::InlineFlowBox::paintBackgrounds):
3819         (WebCore::InlineFlowBox::paintBackground):
3820         * rendering/InlineFlowBox.h:
3821         * rendering/RenderBox.cpp:
3822         (WebCore::RenderBox::paintRootBoxDecorations):
3823         (WebCore::RenderBox::paintBackgrounds):
3824         (WebCore::RenderBox::paintBackground):
3825         (WebCore::RenderBox::calculateBackgroundSize):
3826         (WebCore::RenderBox::imageChanged):
3827         (WebCore::RenderBox::calculateBackgroundImageGeometry):
3828         (WebCore::RenderBox::paintBackgroundExtended):
3829         * rendering/RenderBox.h:
3830         * rendering/RenderObject.cpp:
3831         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
3832         (WebCore::RenderObject::updateBackgroundImages):
3833         (WebCore::RenderObject::arenaDelete):
3834         * rendering/RenderObject.h:
3835         (WebCore::RenderObject::paintBackgroundExtended):
3836         * rendering/RenderStyle.cpp:
3837         (WebCore::FillLayer::FillLayer):
3838         (WebCore::FillLayer::~FillLayer):
3839         (WebCore::FillLayer::operator=):
3840         (WebCore::FillLayer::operator==):
3841         (WebCore::FillLayer::fillUnsetProperties):
3842         (WebCore::FillLayer::cullEmptyLayers):
3843         (WebCore::Transition::fillUnsetProperties):
3844         * rendering/RenderStyle.h:
3845         (WebCore::):
3846         (WebCore::FillLayer::image):
3847         (WebCore::FillLayer::xPosition):
3848         (WebCore::FillLayer::yPosition):
3849         (WebCore::FillLayer::attachment):
3850         (WebCore::FillLayer::clip):
3851         (WebCore::FillLayer::origin):
3852         (WebCore::FillLayer::repeat):
3853         (WebCore::FillLayer::composite):
3854         (WebCore::FillLayer::size):
3855         (WebCore::FillLayer::next):
3856         (WebCore::FillLayer::isImageSet):
3857         (WebCore::FillLayer::isXPositionSet):
3858         (WebCore::FillLayer::isYPositionSet):
3859         (WebCore::FillLayer::isAttachmentSet):
3860         (WebCore::FillLayer::isClipSet):
3861         (WebCore::FillLayer::isOriginSet):
3862         (WebCore::FillLayer::isRepeatSet):
3863         (WebCore::FillLayer::isCompositeSet):
3864         (WebCore::FillLayer::isSizeSet):
3865         (WebCore::FillLayer::setImage):
3866         (WebCore::FillLayer::setXPosition):
3867         (WebCore::FillLayer::setYPosition):
3868         (WebCore::FillLayer::setAttachment):
3869         (WebCore::FillLayer::setClip):
3870         (WebCore::FillLayer::setOrigin):
3871         (WebCore::FillLayer::setRepeat):
3872         (WebCore::FillLayer::setComposite):
3873         (WebCore::FillLayer::setSize):
3874         (WebCore::FillLayer::clearImage):
3875         (WebCore::FillLayer::clearXPosition):
3876         (WebCore::FillLayer::clearYPosition):
3877         (WebCore::FillLayer::clearAttachment):
3878         (WebCore::FillLayer::clearClip):
3879         (WebCore::FillLayer::clearOrigin):
3880         (WebCore::FillLayer::clearRepeat):
3881         (WebCore::FillLayer::clearComposite):
3882         (WebCore::FillLayer::clearSize):
3883         (WebCore::FillLayer::setNext):
3884         (WebCore::FillLayer::operator!=):
3885         (WebCore::FillLayer::hasFixedImage):
3886         (WebCore::Transition::isDurationSet):
3887         (WebCore::Transition::isRepeatCountSet):
3888         (WebCore::Transition::isTimingFunctionSet):
3889         (WebCore::Transition::isPropertySet):
3890         (WebCore::Transition::clearDuration):
3891         (WebCore::Transition::clearRepeatCount):
3892         (WebCore::Transition::clearTimingFunction):
3893         (WebCore::Transition::clearProperty):
3894         (WebCore::Transition::duration):
3895         (WebCore::Transition::repeatCount):
3896         (WebCore::Transition::timingFunction):
3897         (WebCore::Transition::property):
3898         (WebCore::Transition::setDuration):
3899         (WebCore::Transition::setRepeatCount):
3900         (WebCore::Transition::setTimingFunction):
3901         (WebCore::Transition::setProperty):
3902         (WebCore::RenderStyle::NonInheritedFlags::operator==):
3903         (WebCore::RenderStyle::setBitDefaults):
3904         (WebCore::RenderStyle::backgroundRepeat):
3905         (WebCore::RenderStyle::backgroundComposite):
3906         (WebCore::RenderStyle::backgroundAttachment):
3907         (WebCore::RenderStyle::backgroundClip):
3908         (WebCore::RenderStyle::backgroundOrigin):
3909         (WebCore::RenderStyle::backgroundSize):
3910         (WebCore::RenderStyle::accessBackgroundLayers):
3911         (WebCore::RenderStyle::backgroundLayers):
3912         (WebCore::RenderStyle::clearBackgroundLayers):
3913         (WebCore::RenderStyle::inheritBackgroundLayers):
3914         (WebCore::RenderStyle::initialFillAttachment):
3915         (WebCore::RenderStyle::initialFillClip):
3916         (WebCore::RenderStyle::initialFillOrigin):
3917         (WebCore::RenderStyle::initialFillRepeat):
3918         (WebCore::RenderStyle::initialFillComposite):
3919         (WebCore::RenderStyle::initialFillSize):
3920         (WebCore::RenderStyle::initialFillXPosition):
3921         (WebCore::RenderStyle::initialFillYPosition):
3922         (WebCore::RenderStyle::initialFillImage):
3923         (WebCore::RenderStyle::initialWhiteSpace):
3924         (WebCore::RenderStyle::initialColor):
3925         * rendering/RenderTableCell.cpp:
3926         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3927         * rendering/RenderTheme.cpp:
3928         (WebCore::RenderTheme::adjustStyle):
3929         (WebCore::RenderTheme::isControlStyled):
3930         * rendering/RenderTheme.h:
3931         * rendering/RenderThemeMac.h:
3932         * rendering/RenderThemeMac.mm:
3933         (WebCore::RenderThemeMac::isControlStyled):
3934
3935 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
3936
3937         Rubber-stamped by Ap.
3938
3939         Add 2 explicit casts.
3940         Fixes built on 64-bit machines (64-bit to 32-bit conversion warning).
3941
3942         * xml/XMLHttpRequest.cpp:
3943         (WebCore::XMLHttpRequest::dispatchProgressEvent):
3944
3945 2008-04-21  Anders Carlsson  <andersca@apple.com>
3946
3947         Reviewed by Adam.
3948
3949         Make it possible to load resources from the cache. 
3950         (Currently no documents are ever associated with a cache though.)
3951         
3952         * loader/DocumentLoader.cpp:
3953         (WebCore::DocumentLoader::setPrimaryLoadComplete):
3954         (WebCore::DocumentLoader::mainResourceApplicationCache):
3955         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
3956         * loader/DocumentLoader.h:
3957         * loader/MainResourceLoader.cpp:
3958         (WebCore::MainResourceLoader::didFinishLoading):
3959         (WebCore::MainResourceLoader::load):
3960         * loader/MainResourceLoader.h:
3961         (WebCore::MainResourceLoader::applicationCache):
3962         * loader/ResourceLoader.cpp:
3963         (WebCore::ResourceLoader::ResourceLoader):
3964         (WebCore::ResourceLoader::load):
3965         * loader/ResourceLoader.h:
3966         * loader/appcache/ApplicationCacheGroup.h:
3967         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
3968
3969 2008-04-21  MorganL  <morganl.webkit@yahoo.com>
3970
3971         Reviewed by eseidel.  Landed by eseidel.
3972
3973         Add FrameLoader::policyDocumentLoader, and change
3974         provisionalDocumentLoader to have a const signature to be
3975         consistent with documentLoader and activeDocumentLoader.
3976
3977         * WebCore.base.exp:
3978         * WebCore.order:
3979         * loader/FrameLoader.cpp:
3980         (WebCore::FrameLoader::policyDocumentLoader):
3981         (WebCore::FrameLoader::provisionalDocumentLoader):
3982         * loader/FrameLoader.h:
3983
3984 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
3985
3986         Not reviewed, add missing files in my previous commit.
3987
3988         Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
3989
3990         * xml/XMLHttpRequestProgressEvent.cpp: Added.
3991         (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
3992         (WebCore::XMLHttpRequestProgressEvent::position):
3993         (WebCore::XMLHttpRequestProgressEvent::totalSize):
3994         * xml/XMLHttpRequestProgressEvent.h: Added.
3995         (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
3996         (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
3997         (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
3998         (WebCore::XMLHttpRequestProgressEvent::loaded):
3999         (WebCore::XMLHttpRequestProgressEvent::total):
4000         * xml/XMLHttpRequestProgressEvent.idl: Added.
4001
4002 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
4003
4004         Reviewed by Ap.
4005
4006         Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support
4007         progressive download content length information.
4008
4009         - Add the onprogress attribute to XMLHttpRequest and the necessary bindings.
4010
4011         - We use a custom event XMLHttpRequestProgressEvent that is derived from ProgressEvent
4012          (as specified by the XHR2 specification) but also implement LSProgressEvent interface
4013          (to be compliant with Firefox event).
4014
4015         Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
4016
4017         * DerivedSources.make:
4018         * GNUmakefile.am:
4019         * WebCore.pro:
4020         * WebCore.vcproj/WebCore.vcproj:
4021         * WebCore.xcodeproj/project.pbxproj:
4022         * WebCoreSources.bkl:
4023         * bindings/js/JSEventCustom.cpp:
4024         (WebCore::toJS):
4025         * bindings/js/JSXMLHttpRequestCustom.cpp:
4026         (WebCore::JSXMLHttpRequest::mark):
4027         (WebCore::JSXMLHttpRequest::onprogress):
4028         (WebCore::JSXMLHttpRequest::setOnprogress):
4029         * dom/Event.cpp:
4030         (WebCore::Event::isXMLHttpRequestProgressEvent):
4031         * dom/Event.h:
4032         * dom/ProgressEvent.h: Replaced 'private' by 'protected' to enable derivation.
4033         * xml/XMLHttpRequest.cpp:
4034         (WebCore::XMLHttpRequest::onProgressListener): onprogress getter.
4035         (WebCore::XMLHttpRequest::setOnProgressListener): onprogress setter.
4036         (WebCore::XMLHttpRequest::XMLHttpRequest): initialize m_receivedLength.
4037         (WebCore::XMLHttpRequest::internalAbort): reset m_receivedLength on abort.
4038         (WebCore::XMLHttpRequest::didReceiveData): add updateAndDispatchOnProgress call.
4039         (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
4040         (WebCore::XMLHttpRequest::dispatchProgressEvent):
4041         * xml/XMLHttpRequest.h:
4042         * xml/XMLHttpRequest.idl: Add onprogress event handler.
4043         * xml/XMLHttpRequestProgressEvent.cpp: Added.
4044         (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
4045         (WebCore::XMLHttpRequestProgressEvent::position):
4046         (WebCore::XMLHttpRequestProgressEvent::totalSize):
4047         The two previous methods are used for Firefox compatibility and map to the
4048         same value as the ProgressEvent methods (but they are deprecated and display
4049
4050         * xml/XMLHttpRequestProgressEvent.h: Added.
4051         (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
4052         (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
4053         (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
4054         (WebCore::XMLHttpRequestProgressEvent::loaded):
4055         (WebCore::XMLHttpRequestProgressEvent::total):
4056         * xml/XMLHttpRequestProgressEvent.idl: Added.
4057
4058 2008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
4059
4060         Reviewed by Simon.
4061
4062         Better handle Qt binding object lifetime in JS.
4063         Add explicit marking of JS objects created for Qt
4064         bindings, and remove the gcProtect calls.
4065
4066         * bridge/qt/qt_class.cpp:
4067         (KJS::Bindings::QtClass::fallbackObject):
4068         * bridge/qt/qt_instance.cpp:
4069         (KJS::Bindings::QtRuntimeObjectImp::mark):
4070         (KJS::Bindings::QtInstance::~QtInstance):
4071         (KJS::Bindings::QtInstance::mark):
4072         (KJS::Bindings::QtInstance::invokeDefaultMethod):
4073         (KJS::Bindings::QtField::valueFromInstance):
4074         * bridge/qt/qt_instance.h:
4075
4076 2008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
4077
4078         Reviewed by Simon.
4079
4080         Add better support for RuntimeArray type conversions.
4081         It seems that RuntimeArray claims to inherit ArrayInstance
4082         (in the JS sense), but the C++ class doesn't, so properly
4083         access RuntimeArrays.  Also, properly support turning
4084         a JS object into a QVariantMap, since we support the
4085         reverse.
4086
4087         * bridge/qt/qt_runtime.cpp:
4088         (KJS::Bindings::):
4089         (KJS::Bindings::operator<<):
4090         (KJS::Bindings::valueRealType):
4091         (KJS::Bindings::convertValueToQVariant):
4092         (KJS::Bindings::convertQVariantToValue):
4093
4094 2008-04-21  Simon Hausmann  <hausmann@webkit.org>
4095
4096         Reviewed by Holger.
4097
4098         Fix painting of text fields in the CleanLooks style.
4099
4100         The CleanLooks style calls painter->drawRect() and expects a painter
4101         that has no brush set. This is a fairly common assumption and therefore
4102         we now always set the brush to NoBrush before calling a style. This
4103         is done by centralizing the painter setup code into StylePainter
4104         and restore the old brush in the StylePainter destructor.
4105
4106         In addition for textfields it is not necessary anymore to draw
4107         PE_FrameLineEdit as we set the lineWidth in the style option correctly
4108         and it's the style responsibility (QCommonStyle usually) to draw
4109         PE_FrameLineEdit.
4110
4111         * platform/qt/RenderThemeQt.cpp:
4112         (WebCore::RenderThemeQt::paintButton):
4113         (WebCore::RenderThemeQt::paintTextField):
4114         (WebCore::RenderThemeQt::paintMenuList):
4115         (WebCore::StylePainter::StylePainter):
4116         (WebCore::StylePainter::~StylePainter):
4117         * platform/qt/RenderThemeQt.h:
4118         (WebCore::StylePainter::isValid):
4119         (WebCore::StylePainter::drawPrimitive):
4120         (WebCore::StylePainter::drawControl):
4121         (WebCore::StylePainter::drawComplexControl):
4122
4123 2008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
4124
4125         Reviewed by Simon.
4126
4127         Fixes copy and paste of international characters.
4128
4129         When exporting HTML to the clipboard we need meta tags for now that confirm the
4130         conversion to utf-8 done inside QClipboard.
4131
4132         * platform/qt/PasteboardQt.cpp:
4133         (WebCore::Pasteboard::writeSelection):
4134
4135 2008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
4136
4137         Reviewed by Simon.
4138
4139         Fixes: Copying on X11 doesn't always work in webkit
4140
4141         Calling QClipboard::clear right before QClipboard::setData create a race condition with klipper. So don't call QClipboard::clear since it's not required.
4142
4143         * platform/qt/PasteboardQt.cpp:
4144
4145 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
4146
4147         Reviewed by Simon.
4148
4149         * Assume that our lineedit has a frame. This is needed for the motif style
4150
4151         * platform/qt/RenderThemeQt.cpp:
4152         (WebCore::RenderThemeQt::paintTextField):
4153
4154 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
4155
4156         Reviewed by Simon.
4157
4158         * Follow the windows render theme when determining whether to style
4159         listboxes or not.
4160
4161         * platform/qt/RenderThemeQt.cpp:
4162         (WebCore::RenderThemeQt::isControlStyled):
4163
4164 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
4165
4166         Reviewed by Simon.
4167
4168         * Try to bring the notImplemented implementations closer together. This will
4169         print each unimplemted method name only once.
4170
4171         * We might want to change wtf/Assertions.cpp to use qDebug
4172
4173         * platform/NotImplemented.h:
4174
4175 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
4176
4177         Reviewed by Simon.
4178
4179         * Remove the special Qt ctor of BitmapImage as it did not work. The Bitmap returned
4180         0 as width and after intialising drawing would fail. BitmapImage relies on a proper
4181         ImageSource.
4182         * Instead of adding more special cases to BitmapImage create a new class called StillImage
4183         which is getting one QPixmap and is implementing Image::draw and Image::size. This is
4184         working well for the images created using Image::loadPlatformResource.
4185
4186         * platform/graphics/BitmapImage.h:
4187         * platform/graphics/qt/ImageQt.cpp:
4188         (WebCore::BitmapImage::initPlatformData):
4189         (WebCore::BitmapImage::getPixmap):
4190         (WebCore::StillImage::StillImage):
4191         (WebCore::StillImage::size):
4192         (WebCore::StillImage::getPixmap):
4193         (WebCore::StillImage::draw):
4194
4195 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
4196
4197         Reviewed by Simon.
4198
4199         * Package the Resources into a qrc
4200
4201         * Resources/WebKitResources.qrc: Added.
4202         * WebCore.pro:
4203
4204 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
4205
4206         Reviewed by Simon.
4207
4208         * Make sure every resource is available als png as well.
4209
4210         * Resources/deleteButton.png: Added.
4211         * Resources/deleteButtonPressed.png: Added.
4212         * Resources/missingImage.png: Added.
4213         * Resources/nullPlugin.png: Copied from WebKit/win/WebKit.vcproj/nullplugin.png.
4214         * Resources/textAreaResizeCorner.png: Added.
4215         * Resources/urlIcon.png: Copied from WebKit/win/WebKit.vcproj/urlIcon.png.
4216
4217 2008-04-20  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
4218
4219         Reviewed by Alp Toker.
4220
4221         Implement FileSystemGtk's getFileModificationTime() with GLib.
4222
4223         * platform/gtk/FileSystemGtk.cpp:
4224         (WebCore::getFileModificationTime):
4225
4226 2008-04-20  Christian Persch  <chpe@gnome.org>
4227
4228         Reviewed by Alp Toker.
4229
4230         Bundle GTK+ Xt compatibility code from Mozilla. These files are used
4231         by all currently proposed GTK+ plugin patches and will make the
4232         proposed patches smaller and easier to review.
4233
4234         These files should be kept as close to the upstream versions as
4235         possible so fixes can be shared between projects and to ensure
4236         compatibility with the reference implementation.
4237
4238         * plugins/gtk/gtk2xtbin.c: Added.
4239    &