162829719c86ea9531287569692972284afd1abd
[WebKit-https.git] / WebCore / ChangeLog
1 2009-08-25  Kent Tamura  <tkent@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         Support for HTMLInputElement::list and HTMLInputElement::selectedOption.
6         https://bugs.webkit.org/show_bug.cgi?id=27756
7
8         Tests: fast/forms/input-list.html
9                fast/forms/input-selectedoption.html
10
11         * html/HTMLAttributeNames.in:
12         * html/HTMLInputElement.cpp:
13         (WebCore::HTMLInputElement::parseMappedAttribute):
14         (WebCore::HTMLInputElement::list):
15         (WebCore::HTMLInputElement::selectedOption):
16         * html/HTMLInputElement.h:
17         * html/HTMLInputElement.idl:
18
19 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
20
21         Reviewed by Oliver Hunt.
22
23         <video> and <audio> controller should be accessible (edit)
24         https://bugs.webkit.org/show_bug.cgi?id=28081
25
26         Test: accessibility/media-element.html
27
28         * GNUmakefile.am:
29         * WebCore.gypi:
30         * WebCore.pro:
31         * WebCore.vcproj/WebCore.vcproj:
32         * WebCore.xcodeproj/project.pbxproj:
33         * WebCoreSources.bkl:
34             Add AccessibilityMediaControls.cpp/.h
35
36         * accessibility/AXObjectCache.cpp:
37         * accessibility/AXObjectCache.h:
38         (WebCore::AXObjectCache::getOrCreate):
39             Create AccessibilityMediaControl. Update Copyright
40
41         * accessibility/AccessibilityMediaControls.cpp:
42         * accessibility/AccessibilityMediaControls.h:
43             Added.
44
45         * accessibility/AccessibilityObject.cpp:
46         * accessibility/AccessibilityObject.h:
47             Add isMediaTimeline. Update Copyright.
48
49         * accessibility/AccessibilitySlider.h:
50             Make constructor protected instead of private so AccessibilityMediaTimeline can
51             call it.
52
53         * accessibility/mac/AccessibilityObjectWrapper.mm:
54         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
55             Add NSAccessibilityValueDescriptionAttribute to range attributes. 
56         (-[AccessibilityObjectWrapper subrole]):
57             Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.
58
59         * dom/Node.h:
60             add isMediaControlElement.
61
62         * page/mac/WebCoreViewFactory.h:
63         * platform/LocalizedStrings.h:
64         * platform/mac/LocalizedStringsMac.mm:
65         (WebCore::localizedMediaControlElementString): 
66         (WebCore::localizedMediaControlElementHelpText):
67         (WebCore::localizedMediaTimeDescription): 
68             New, return localized media controller strings.
69
70         * platform/gtk/LocalizedStringsGtk.cpp:
71         (WebCore::mediaElementLoadingStateText):
72         (WebCore::mediaElementLiveBroadcastStateText):
73             Move inside of "#if ENABLE(VIDEO)"
74         (WebCore::localizedMediaControlElementString):
75         (WebCore::localizedMediaControlElementHelpText):
76         (WebCore::localizedMediaTimeDescription):
77
78         * rendering/MediaControlElements.cpp:
79         (WebCore::MediaControlElement::MediaControlElement):
80             Initialize m_displayType.
81         (WebCore::MediaControlElement::MediaControlElement):
82         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
83             Fix style.
84         (WebCore::MediaControlInputElement::MediaControlInputElement):
85             Set m_displayType based on pseudo style ID.
86         (WebCore::MediaControlInputElement::MediaControlInputElement):
87             rename local "o" to "object".
88         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
89         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
90         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
91         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
92         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
93         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
94         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
95         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
96         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
97         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
98             Update for MediaControlInputElement constructor change.
99         (WebCore::MediaControlTimeDisplayElement::formatTime):
100             New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
101         (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
102             New, set text to current time.
103         * rendering/MediaControlElements.h:
104
105         * rendering/RenderMedia.cpp:
106         (WebCore::RenderMedia::updateControls):
107             Create controls in tab order.
108         (WebCore::RenderMedia::formatTime):
109             Moved to MediaControlTimeDisplayElement::formatTime.
110         (WebCore::RenderMedia::updateTimeDisplay):
111             Call MediaControlTimeDisplayElement::setCurrentValue.
112         * rendering/RenderMedia.h:
113
114 2009-08-25  Jian Li  <jianli@chromium.org>
115
116         Reviewed by David Levin.
117
118         [V8] Fix Canvas layout test failures in Chromium build.
119         https://bugs.webkit.org/show_bug.cgi?id=28720
120
121         The previous fix r47757 does not handle the V8 object conversion correctly.
122
123         * bindings/v8/custom/V8DocumentCustom.cpp:
124         (WebCore::CALLBACK_FUNC_DECL):
125         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
126         (WebCore::CALLBACK_FUNC_DECL):
127
128 2009-08-25  Jian Li  <jianli@chromium.org>
129
130         Reviewed by David Levin.
131
132         [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
133         https://bugs.webkit.org/show_bug.cgi?id=28717
134
135         * bindings/v8/DOMObjectsInclude.h:
136         * bindings/v8/DerivedSourcesAllInOne.cpp:
137         * bindings/v8/V8Index.cpp:
138         * bindings/v8/V8Index.h:
139         * bindings/v8/custom/V8DocumentCustom.cpp:
140         (WebCore::CALLBACK_FUNC_DECL):
141         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
142         (WebCore::CALLBACK_FUNC_DECL):
143
144 2009-08-25  Alpha Lam  <hclam@chromium.org>
145
146         Reviewed by David Levin.
147
148         [chromium] Implement media volume slider for chromium
149         https://bugs.webkit.org/show_bug.cgi?id=28715
150
151         Provided the implementation of the volume slider and its container for
152         chromium port. With this change there will be a usable volume control
153         slider for chromium theme.
154
155         No new tests since this is covered by existing media layout tests.
156
157         * css/mediaControlsChromium.css: CSS style for the volume slider.
158         * rendering/RenderThemeChromiumSkia.cpp:
159         (WebCore::mediaSliderThumbImage): Returns the image for slider thumb.
160         (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb.
161         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line.
162         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images.
163         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image.
164         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image.
165
166 2009-08-25  Chris Marrin  <cmarrin@apple.com>
167
168         Reviewed by Simon Fraser.
169
170         Missed checking in 2 Canvas3D files
171         https://bugs.webkit.org/show_bug.cgi?id=28018
172
173         * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding
174         * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls
175
176 2009-08-25  Mads Ager  <ager@chromium.org>
177
178         Reviewed by Adam Barth.
179
180         [V8] Exception from JavaScript propagates to main script
181         https://bugs.webkit.org/show_bug.cgi?id=26433
182
183         Make sure that exceptions thrown both at compile time and at
184         runtime in javascript URLs are isolated from the main script.
185
186         Test: fast/dom/javascript-url-exception-isolation.html
187
188         * bindings/v8/V8Proxy.cpp:
189         (WebCore::V8Proxy::evaluate):
190
191 2009-08-25  Chris Marrin  <cmarrin@apple.com>
192
193         Reviewed by Simon Fraser.
194
195         Added all new Canvas3D files to the build
196         https://bugs.webkit.org/show_bug.cgi?id=28018
197
198         This also hooks up CanvasRenderingContext as the common base class for
199         CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit
200         of logic throughout to support the new CanvasRenderingContext3D object.
201         But nothing is hooked up yet.
202
203         * DerivedSources.make:
204         * WebCore.pro:
205         * WebCore.vcproj/WebCore.vcproj:
206         * WebCore/GNUmakefile.am:
207         * WebCore/WebCore.gypi:
208         * WebCore/WebCoreSources.bkl:
209         * WebCore.xcodeproj/project.pbxproj:
210         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
211         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
212         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
213         (WebCore::JSCanvasRenderingContext2D::fillStyle):
214         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
215         (WebCore::JSCanvasRenderingContext2D::setFillColor):
216         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
217         (WebCore::JSCanvasRenderingContext2D::strokeRect):
218         (WebCore::JSCanvasRenderingContext2D::drawImage):
219         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
220         (WebCore::JSCanvasRenderingContext2D::setShadow):
221         (WebCore::JSCanvasRenderingContext2D::createPattern):
222         (WebCore::JSCanvasRenderingContext2D::putImageData):
223         (WebCore::JSCanvasRenderingContext2D::fillText):
224         (WebCore::JSCanvasRenderingContext2D::strokeText):
225         * bindings/js/JSDOMBinding.cpp:
226         (WebCore::isObservableThroughDOM):
227         * bindings/js/JSDocumentCustom.cpp:
228         * bindings/js/JSHTMLCanvasElementCustom.cpp:
229         (WebCore::JSHTMLCanvasElement::markChildren):
230         * dom/Document.cpp:
231         (WebCore::Document::getCSSCanvasContext):
232         * dom/Document.h:
233         * html/HTMLCanvasElement.cpp:
234         (WebCore::HTMLCanvasElement::getContext):
235         (WebCore::HTMLCanvasElement::willDraw):
236         (WebCore::HTMLCanvasElement::reset):
237         (WebCore::HTMLCanvasElement::paint):
238         (WebCore::HTMLCanvasElement::is3D):
239         (WebCore::HTMLCanvasElement::context3D):
240         (WebCore::HTMLCanvasElement::texture3D):
241         * html/HTMLCanvasElement.h:
242         (WebCore::HTMLCanvasElement::renderingContext):
243         * html/canvas/CanvasObject.cpp:
244         (WebCore::CanvasObject::~CanvasObject):
245         * html/canvas/CanvasRenderingContext.idl:
246         * html/canvas/CanvasRenderingContext2D.cpp:
247         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
248         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
249         * html/canvas/CanvasRenderingContext2D.h:
250         (WebCore::CanvasRenderingContext2D::is2d):
251         * html/canvas/CanvasRenderingContext2D.idl:
252         * html/canvas/CanvasRenderingContext3D.cpp:
253         * html/canvas/CanvasRenderingContext3D.idl:
254
255 2009-08-25  Dan Bernstein  <mitz@apple.com>
256
257         Reviewed by Anders Carlsson.
258
259         REGRESSION (r47630): fast/repaint/background-generated.html is failing
260         https://bugs.webkit.org/show_bug.cgi?id=28704
261
262         * rendering/RenderBoxModelObject.cpp:
263         (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone.
264         * rendering/style/FillLayer.cpp:
265         (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone.
266         * rendering/style/FillLayer.h:
267         (WebCore::FillSize::FillSize): Changed assignment to initialization and
268             removed redundant assignment to size.
269
270 2009-08-25  Yusuke Sato  <yusukes@chromium.org>
271
272         Reviewed by Darin Fisher.
273
274         [Chromium] Complex text doesn't show up with text stroking
275         https://bugs.webkit.org/show_bug.cgi?id=28707
276
277         Skip the NULL check of m_hdc if Windows GDI is not in use.
278
279         * platform/graphics/chromium/FontChromiumWin.cpp:
280         (WebCore::Font::drawComplexText):
281
282 2009-08-25  Alpha Lam  <hclam@chromium.org>
283
284         Reviewed by David Levin.
285
286         Media controls panel does not have a volume control slider
287         https://bugs.webkit.org/show_bug.cgi?id=28241
288
289         Introduced "-webkit-media-controls-volume-slider",
290         "-webkit-media-controls-volume-slider-container" and the supporting
291         implementation. Also added appearances of "media-volume-slider" and
292         "media-volume-slider-container".
293
294         The implementation of the controls are in WebCore::MediaControlElements.
295         Logic to trigger the display of the volume controls are in WebCore::RenderMedia.
296
297         No new tests since this change doesn't have theme implementation and the
298         volume slider is disabled by default.
299
300         * accessibility/AccessibilitySlider.cpp:
301         (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical.
302         * css/CSSPrimitiveValueMappings.h:
303         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values.
304         * css/CSSSelector.cpp:
305         (WebCore::CSSSelector::extractPseudoType): ditto.
306         * css/CSSSelector.h:
307         (WebCore::CSSSelector::): ditto.
308         * css/CSSStyleSelector.cpp:
309         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
310         * css/CSSValueKeywords.in: ditto.
311         * css/mediaControls.css: Makes the volume slider disabled by default.
312         * platform/ThemeTypes.h: Defines theme parts for volume slider and its container.
313         (WebCore::):
314         * rendering/MediaControlElements.cpp:
315         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
316         (WebCore::MediaControlVolumeSliderContainerElement::styleForElement):
317         Adjust the CSS values for "display", "postion", "left" and "top" according to member variables.
318         (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value.
319         (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values.
320         (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element.
321         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
322         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging.
323         * rendering/MediaControlElements.h:
324         (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement.
325         (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter.
326         * rendering/RenderMedia.cpp:
327         (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider.
328         (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel.
329         (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container.
330         (WebCore::RenderMedia::updateControls): Updates volume container and volume slider.
331         (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child.
332         (WebCore::RenderMedia::forwardEvent):
333         Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider.
334         * rendering/RenderMedia.h:
335         Added definition for RenderMedia::updateVolumeSliderContainer().
336         * rendering/RenderMediaControls.cpp:
337         (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented.
338         * rendering/RenderSlider.cpp:
339         (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical.
340         (WebCore::RenderSlider::thumbRect): ditto.
341         (WebCore::RenderSlider::mouseEventIsInThumb): ditto.
342         (WebCore::RenderSlider::setValueForPosition): ditto.
343         (WebCore::RenderSlider::positionForOffset): ditto.
344         (WebCore::RenderSlider::currentPosition): ditto.
345         (WebCore::RenderSlider::trackSize): ditto.
346         * rendering/RenderTheme.cpp:
347         (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb.
348         (WebCore::RenderTheme::paint): Paints volume control parts using theme.
349         * rendering/RenderTheme.h:
350         (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden.
351         (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto.
352         (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto.
353         * rendering/style/RenderStyleConstants.h:
354         (WebCore::): Constants for volume control parts.
355
356 2009-08-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
357
358         Reviewed by Ariya Hidayat.
359
360         [Qt/Mac] Use CONFIG+=build_all only when building libraries
361
362         If no configuration is specified when building WebKit we pass the
363         debug_and_release option to QMake which results in Makefiles for
364         both configurations being generated.
365
366         Previously we built both of these configurations by default, for
367         all targets (both the QtWebKit framework/dyldlib and the various
368         executables such as QtLauncher and tests). This makes sense for
369         the libraries, which get the _debug suffix and can be loaded on
370         demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
371         ended up building the same executable twice.
372
373         We now only build one instance of each executable, and since this
374         is a developer build we build the debug-version. Passing either
375         --debug or --release to build-webkit will override this, and
376         even in the default case the release version can still be built
377         by running 'make release' in the the build directory of each
378         target.
379
380         * WebCore.pro:
381
382 2009-08-25  Xan Lopez  <xlopez@igalia.com>
383
384         Reviewed by Jan Alonzo.
385
386         https://bugs.webkit.org/show_bug.cgi?id=28690
387         Build failure in webkitgtk+-1.1.3
388
389         Do not use deprecated function to unref a pixbuf.
390
391         * platform/gtk/CursorGtk.cpp:
392         (WebCore::Cursor::Cursor):
393
394 2009-08-24  Hironori Bono  <hbono@chromium.org>
395
396         Reviewed by Adam Barth.
397
398         Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
399         <https://bugs.webkit.org/show_bug.cgi?id=27827>.
400
401         Because of the lack of mappings from GDK key-codes to WebKit key-codes,
402         Chromium cannot send valid key-codes to JavaScript when a user types
403         function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
404
405         To write layout tests for this issue, added mappings from function-key
406         names to platform-specific key-codes to EventSendingController objects
407         so that eventSender.keyDown() can send function-key events without using
408         platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
409         is only for Mac. So this change adds this new test to Skipped tests for other
410         platforms to prevent this change from crashing the build trees.)
411
412         Test: fast/events/keydown-function-keys.html
413
414        * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes
415         to WebKit key-code for function keys.
416         (WebCore::windowsKeyCodeForKeyEvent):
417
418 2009-08-24  Antti Koivisto  <antti@apple.com>
419
420         Reviewed by Simon Fraser.
421         
422         https://bugs.webkit.org/show_bug.cgi?id=28698
423         Avoid unnecessary transformations for the window resizer rect.
424
425         * platform/Scrollbar.cpp:
426         (WebCore::Scrollbar::setFrameRect):
427
428 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
429
430         Reviewed by Anders Carlsson.
431
432         <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391
433         (DNS prefetching support)
434
435         * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary
436         thread on Windows, because there isn't one on main one.
437
438 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
439
440         Reviewed by Darin Adler.
441
442         https://bugs.webkit.org/show_bug.cgi?id=28374
443         Cross-scheme requests should not be blocked by appcache rules
444
445         Test: http/tests/appcache/different-scheme.html
446
447         * loader/appcache/ApplicationCacheHost.cpp:
448         (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
449         Resources with different schemes can never be loaded from appcache.
450
451 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
452
453         Reviewed by Darin Adler and Sam Weinig.
454
455         https://bugs.webkit.org/show_bug.cgi?id=28688
456         REGRESSION(r24994): Cannot create a frame with a javascript URL
457
458         Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html
459
460         * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue):
461         * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL):
462         * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL):
463         * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc):
464         Omit the checks if there is no document in frame yet.
465
466 2009-08-24  Nate Chapin  <japhet@chromium.org>
467
468         Reviewed by Eric Seidel.
469
470         Fix crash in fast/css/rem-dynamic-scaling.html due to a freed
471         RenderStyle being accessed.
472
473         https://bugs.webkit.org/show_bug.cgi?id=28681
474
475         * dom/Element.cpp:
476         (WebCore::Element::recalcStyle): Make currentStyle a RefPtr.
477
478 2009-08-24  Dan Bernstein  <mitz@apple.com>
479
480         Reviewed by Simon Fraser.
481
482         <rdar://problem/5743105> Long freezing during loading and selecting text
483         of a large table
484         https://bugs.webkit.org/show_bug.cgi?id=14918
485
486         * rendering/RenderView.cpp:
487         (WebCore::RenderView::setSelection): Added calls to
488             beginDeferredRepaints() and endDeferredRepaints() around the
489             invalidation of the selection, in order to better coalesce multiple
490             invalid rectangles.
491
492 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
493
494         Reviewed by Timothy Hatcher.
495
496         WebInspector: Simplify findTreeElement code, get rid of potential infinite loop.
497
498         https://bugs.webkit.org/show_bug.cgi?id=28680
499
500         * inspector/front-end/ElementsPanel.js:
501         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
502         * inspector/front-end/ElementsTreeOutline.js:
503         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
504         * inspector/front-end/treeoutline.js:
505         (TreeOutline.prototype.getCachedTreeElement):
506         (TreeOutline.prototype.findTreeElement):
507         * inspector/front-end/utilities.js:
508         (isAncestorNode):
509         ():
510
511 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
512
513         Reviewed by Timothy Hatcher.
514
515         WebInspector: Do expand local scope when hitting the break
516
517         https://bugs.webkit.org/show_bug.cgi?id=28678
518
519         * inspector/front-end/ScopeChainSidebarPane.js:
520         (WebInspector.ScopeChainSidebarPane.prototype.update):
521
522 2009-08-24  Ada Chan  <adachan@apple.com>
523
524         Reviewed by Steve Falkenburg.
525
526         Make sure we use the current FrameView's frame rect when
527         going back to a cached page.
528         
529         https://bugs.webkit.org/show_bug.cgi?id=28659
530
531         * loader/FrameLoader.cpp:
532         (WebCore::FrameLoader::open):
533
534 2009-08-24  Cameron McCormack  <cam@mcc.id.au>
535
536         Reviewed by Darin Adler.
537
538         Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList
539         https://bugs.webkit.org/show_bug.cgi?id=28673
540
541         Test: svg/dom/text-rotate-live.html
542
543         * svg/SVGNumberList.cpp:
544         (WebCore::SVGNumberList::parse): Clear the list before adding the parsed
545         numbers.
546
547 2009-08-24  Simon Fraser  <simon.fraser@apple.com>
548
549         Reviewed by NOBODY (build fix)
550
551         Turn off ENABLE_3D_CANVAS in the xconfig files.
552
553         * Configurations/FeatureDefines.xcconfig:
554
555 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
556
557         Reviewed by Timothy Hatcher.
558
559         WebInspector: Only expand local scope when hitting the break
560
561         https://bugs.webkit.org/show_bug.cgi?id=28678
562
563         * inspector/front-end/ScopeChainSidebarPane.js:
564         (WebInspector.ScopeChainSidebarPane.prototype.update):
565
566 2009-08-24  Dan Bernstein  <mitz@apple.com>
567
568         Reviewed by Simon Fraser.
569
570         background-size fails to parse if a single length/percentage/auto is followed by a comma
571         https://bugs.webkit.org/show_bug.cgi?id=28674
572
573         * css/CSSParser.cpp:
574         (WebCore::CSSParser::parseFillSize): Added an allowComma parameter,
575             which is set to false when this method consumes a comma. Moved
576             handling of 'contain' and 'cover' from parseFillProperty into this
577             method.
578         (WebCore::CSSParser::parseFillProperty): Set allowComma to true before
579             processing the next value, and pass allowComma to parseFillSize.
580         * css/CSSParser.h:
581
582 2009-08-17  Martin Robinson  <martin.james.robinson@gmail.com>
583
584         Reviewed by Gustavo Noronha.
585
586         [GTK] Support for cursors that are images
587         https://bugs.webkit.org/show_bug.cgi?id=28346
588
589         Added support for cursors which are images for CursorGtk. Added
590         a manual test for this.
591
592         * manual-tests/gtk/cursor-image.html: Added.
593         * manual-tests/gtk/resources/redcursor.cur: Added.
594         * platform/gtk/CursorGtk.cpp:
595         (WebCore::Cursor::Cursor):
596
597 2009-08-24  Zan Dobersek  <zandobersek@gmail.com>
598
599         Reviewed by Gustavo Noronha.
600
601         [GTK] Integrate GStreamer video with the graphics backend
602         https://bugs.webkit.org/show_bug.cgi?id=16356
603
604         Improves GStreamer backend implementation of MediaPlayerPrivate class.
605
606         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
607         (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer
608         error for different GStreamer errors to MediaPlayerPrivate.
609         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static
610         initialization boolean to a better place.
611         (WebCore::MediaPlayerPrivate::play):
612         (WebCore::MediaPlayerPrivate::pause):
613         (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not
614         consider the source as stream if duration query failed.
615         (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use
616         an early return.
617         (WebCore::MediaPlayerPrivate::seek): Return if error occured.
618         (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this
619         function doesn't seem to be used anywhere in WebCore.
620         (WebCore::MediaPlayerPrivate::paused):
621         (WebCore::MediaPlayerPrivate::seeking):
622         (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set.
623         (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured.
624         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
625         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
626         (WebCore::MediaPlayerPrivate::bytesLoaded):
627         (WebCore::MediaPlayerPrivate::totalBytesKnown):
628         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
629         (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update
630         after seek ended with a successful change
631         (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached.
632         (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error.
633         (WebCore::mimeTypeCache): Gather supported mime types from GStreamer.
634         (WebCore::MediaPlayerPrivate::getSupportedTypes):
635         (WebCore::MediaPlayerPrivate::supportsType):
636         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
637         (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen
638         support.
639         (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin,
640         do not set playbin's audio sink.
641         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
642         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
643         (webkit_video_sink_idle_func): Use C++ casts, decrease reference count of async
644         queue at the end of the idle function.
645         (webkit_video_sink_render): Increase reference count of async queue.
646         (webkit_video_sink_stop): Remove any idle functions with the sink as data.
647
648 2009-08-23  Chris Marrin  <cmarrin@apple.com>
649
650         Reviewed by Simon Fraser.
651
652         Remaining new files for Canvas3D
653         https://bugs.webkit.org/show_bug.cgi?id=28018
654
655         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef
656         * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions
657         * html/canvas/CanvasByteArray.h: Added.
658         * html/canvas/CanvasByteArray.idl: Added.
659         * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions
660         * html/canvas/CanvasNumberArray.h: Added.
661         * html/canvas/CanvasNumberArray.idl: Added.
662
663 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
664
665         Reviewed by Timothy Hatcher.
666
667         WebInspector: Migrate call frames interaction to the InjectedScript-based schema.
668
669         https://bugs.webkit.org/show_bug.cgi?id=28408
670
671         * inspector/front-end/CallStackSidebarPane.js:
672         (WebInspector.CallStackSidebarPane.prototype.update):
673         * inspector/front-end/ConsoleView.js:
674         (WebInspector.ConsoleView.prototype.doEvalInWindow):
675         (WebInspector.ConsoleTextMessage):
676         * inspector/front-end/DOMAgent.js:
677         (WebInspector.DOMAgent.prototype.get domWindow):
678         (InspectorController.openInInspectedWindow):
679         (InspectorController.getCallFrames):
680         (InspectorController.evaluateInCallFrame):
681         * inspector/front-end/ElementsPanel.js:
682         (WebInspector.ElementsPanel.prototype.reset):
683         (WebInspector.ElementsPanel.prototype.generateStylesheet):
684         * inspector/front-end/InjectedScript.js:
685         (InjectedScript.evaluate):
686         (InjectedScript._evaluateOn):
687         (InjectedScript.openInInspectedWindow):
688         (InjectedScript.getCallFrames):
689         (InjectedScript.evaluateInCallFrame):
690         (InjectedScript._callFrameForId):
691         (InjectedScript._objectForId):
692         (InjectedScript.CallFrameProxy):
693         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
694         * inspector/front-end/ObjectPropertiesSection.js:
695         (WebInspector.ObjectPropertiesSection.prototype._update):
696         * inspector/front-end/ObjectProxy.js:
697         (WebInspector.ObjectPropertyProxy):
698         * inspector/front-end/ResourcesPanel.js:
699         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
700         * inspector/front-end/ScopeChainSidebarPane.js:
701         (WebInspector.ScopeChainSidebarPane):
702         (WebInspector.ScopeChainSidebarPane.prototype.update):
703         (WebInspector.ScopeVariableTreeElement.prototype.onattach):
704         (WebInspector.ScopeVariableTreeElement.prototype.onexpand):
705         (WebInspector.ScopeVariableTreeElement.prototype.oncollapse):
706         * inspector/front-end/ScriptsPanel.js:
707         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
708         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
709         (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback):
710         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
711
712 2009-08-24  Kent Tamura  <tkent@chromium.org>
713
714         Reviewed by Eric Seidel.
715
716         Add support for the placeholder attribute and DOM property of the textarea element.
717         https://bugs.webkit.org/show_bug.cgi?id=21248
718
719         A DOM node for an INPUT element doesn't have a flag for placeholder
720         visibility anymore.  This patch also fixes a bug that a renderer
721         doesn't reflect a corresponding DOM value change.
722
723         Tests: fast/forms/textarea-placeholder-dom-property.html
724                fast/forms/textarea-placeholder-pseudo-style.html
725                fast/forms/textarea-placeholder-set-attribute.html
726                fast/forms/textarea-placeholder-set-value.html
727
728         * css/html.css: Add the default style for placeholder of textarea.
729         * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal
730         (WebCore::InputElement::dispatchFocusEvent):
731         (WebCore::InputElement::dispatchBlurEvent):
732         (WebCore::InputElement::placeholderShouldBeVisible):
733         (WebCore::InputElement::updatePlaceholderVisibility):
734         (WebCore::InputElement::setValueFromRenderer):
735         (WebCore::InputElementData::InputElementData):
736         * dom/InputElement.h:
737         * html/HTMLInputElement.cpp:
738         (WebCore::HTMLInputElement::dispatchFocusEvent):
739         (WebCore::HTMLInputElement::dispatchBlurEvent):
740         (WebCore::HTMLInputElement::setValue):
741         (WebCore::HTMLInputElement::placeholderShouldBeVisible):
742         * html/HTMLInputElement.h:
743         (WebCore::HTMLInputElement::updatePlaceholderVisibility):
744         * html/HTMLTextAreaElement.cpp:
745         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
746         (WebCore::HTMLTextAreaElement::setValue):
747         (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible):
748         (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility):
749         (WebCore::HTMLTextAreaElement::dispatchFocusEvent):
750         (WebCore::HTMLTextAreaElement::dispatchBlurEvent):
751         * html/HTMLTextAreaElement.h:
752         * html/HTMLTextAreaElement.idl:
753         * rendering/RenderTextControl.cpp:
754         (WebCore::RenderTextControl::RenderTextControl):
755         (WebCore::RenderTextControl::styleDidChange):
756         (WebCore::RenderTextControl::setInnerTextStyle):
757         (WebCore::RenderTextControl::updatePlaceholderVisibility):
758         * rendering/RenderTextControl.h:
759         * rendering/RenderTextControlMultiLine.cpp:
760         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
761         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
762         (WebCore::RenderTextControlMultiLine::updateFromElement):
763         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
764         (WebCore::RenderTextControlMultiLine::textBaseStyle):
765         * rendering/RenderTextControlMultiLine.h:
766         * rendering/RenderTextControlSingleLine.cpp:
767         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
768         (WebCore::RenderTextControlSingleLine::textBaseStyle):
769         (WebCore::RenderTextControlSingleLine::updateFromElement):
770         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
771         * rendering/RenderTextControlSingleLine.h:
772         * wml/WMLInputElement.cpp:
773         (WebCore::WMLInputElement::dispatchFocusEvent):
774         (WebCore::WMLInputElement::dispatchBlurEvent):
775         (WebCore::WMLInputElement::setValue):
776         (WebCore::WMLInputElement::placeholderShouldBeVisible):
777
778 2009-08-23  Dirk Schulze  <krit@webkit.org>
779
780         Reviewed by Mark Rowe.
781
782         Code clean-up and build fix for filters enabled builds. Moved SVGNames.h
783         into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other
784         files. They are needed there after r47688.
785
786         * dom/Document.cpp:
787         * svg/SVGComponentTransferFunctionElement.h:
788         * svg/SVGFELightElement.h:
789         * svg/SVGFEMergeNodeElement.h:
790         * svg/SVGFilterPrimitiveStandardAttributes.h:
791
792 2009-08-23  Gustavo Noronha Silva  <gns@gnome.org>
793
794         Unreviewed, build fix for make distcheck on GTK+.
795
796         * GNUmakefile.am: Added files needed for the build.
797         * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include
798         with #if clause.
799         * bindings/js/JSEventTarget.cpp: Dito.
800         * dom/Document.cpp: Dito.
801         * loader/FrameLoader.cpp: Dito.
802
803 2009-08-23  Joseph Pecoraro  <joepeck@webkit.org>
804
805         Reviewed by Timothy Hatcher.
806
807         Inspector: Throws an Error on "null"
808         https://bugs.webkit.org/show_bug.cgi?id=28665
809
810         * inspector/front-end/InjectedScript.js:
811         (InjectedScript.evaluate):
812
813 2009-08-23  Pavel Feldman  <pfeldman@chromium.org>
814
815         Reviewed by Timothy Hatcher.
816
817         Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often
818
819         https://bugs.webkit.org/show_bug.cgi?id=28666
820
821         * inspector/front-end/InjectedScript.js:
822         (InjectedScript.getProperties):
823         (InjectedScript.createProxyObject):
824
825 2009-08-22  Martin Robinson  <martin.james.robinson@gmail.com>
826
827         Reviewed by Xan Lopez.
828
829         [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly
830         https://bugs.webkit.org/show_bug.cgi?id=28345
831
832         When doing the conversion between cairo_surface_t* and GdkPixbuf*
833         account for the differences in the respective formats' in-memory
834         image format.
835
836         * platform/graphics/gtk/ImageGtk.cpp:
837         (WebCore::getCairoSurfacePixel):
838         (WebCore::getGdkPixbufPixel):
839         (WebCore::BitmapImage::getGdkPixbuf):
840
841 2009-08-22  Darin Adler  <darin@apple.com>
842
843         Reviewed by Oliver Hunt.
844
845         Make DOM classes start with a reference count of 1, like all other RefCounted
846         
847         Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
848         HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
849         HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.
850
851         * DerivedSources.make: Fix error seen every time we build by escaping the $
852         in the build rule, since you have to use $$ for that in make.
853
854         * WebCore.base.exp: Updated.
855
856         * bindings/objc/DOM.mm:
857         Added now-needed include of SVGNames.h.
858
859         * dom/Document.cpp: Added now-needed include of SVGNames.h.
860         (WebCore::Document::createElement): Use create instead of new.
861
862         * dom/Element.cpp:
863         (WebCore::Element::Element): Added ConstructionType argument so the caller
864         can determine whether this starts with a reference count of either 0 or 1.
865         Later we will remove this again once they are all 1.
866         (WebCore::Element::create): Added.
867
868         * dom/Element.h: Added create and made constructor protected.
869
870         * dom/StyledElement.cpp:
871         (WebCore::StyledElement::StyledElement): Added ConstructionType argument.
872         * dom/StyledElement.h: Made many functions protected or private, including
873         the constructor.
874
875         * dom/make_names.pl: Use create to create the base elements HTMLElement,
876         SVGElement, and WMLElement.
877
878         * editing/CreateLinkCommand.cpp:
879         (WebCore::CreateLinkCommand::doApply): Use create instead of new.
880         * editing/UnlinkCommand.cpp:
881         (WebCore::UnlinkCommand::doApply): Ditto.
882
883         * html/HTMLAnchorElement.cpp:
884         (WebCore::HTMLAnchorElement::create): Added.
885         * html/HTMLAnchorElement.h: Made constructor protected and added create.
886         Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.
887
888         * html/HTMLAppletElement.cpp:
889         (WebCore::HTMLAppletElement::create): Added.
890         * html/HTMLAppletElement.h: Made constructor private and added create.
891
892         * html/HTMLAreaElement.cpp:
893         (WebCore::HTMLAreaElement::create): Added.
894         * html/HTMLAreaElement.h: Made constructor private and added create.
895
896         * html/HTMLElement.cpp:
897         (WebCore::HTMLElement::create): Added.
898         * html/HTMLElement.h: Made constructor protected and added create.
899         Made other functions protected and private. Also added inline
900         definition of constructor.
901
902         * html/HTMLEmbedElement.cpp:
903         (WebCore::HTMLEmbedElement::create): Added.
904         * html/HTMLEmbedElement.h: Made constructor private and added create.
905         Made other functions private.
906
907         * html/HTMLFrameElement.cpp:
908         (WebCore::HTMLFrameElement::create): Added.
909         (WebCore::HTMLFrameElement::parseMappedAttribute):
910         * html/HTMLFrameElement.h: Made constructor private and added create.
911         Made other functions private.
912
913         * html/HTMLFrameElementBase.h: Made functions protected and private.
914
915         * html/HTMLFrameOwnerElement.cpp:
916         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
917         CreateElement so reference count starts at 1.
918
919         * html/HTMLFrameOwnerElement.h: Made functions protected and private.
920
921         * html/HTMLIFrameElement.cpp:
922         (WebCore::HTMLIFrameElement::create): Added.
923         * html/HTMLIFrameElement.h: Made constructor private and added create.
924         Made other functions private.
925
926         * html/HTMLObjectElement.cpp:
927         (WebCore::HTMLObjectElement::create): Added.
928         (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
929         into a for loop and tweaked formatting.
930
931         * html/HTMLObjectElement.h: Made constructor private and added create.
932         Made other functions private.
933
934         * html/HTMLPlugInElement.h: Made constructor protected.
935         Made other functions protected and private.
936
937         * html/HTMLPlugInImageElement.h: Made constructor and another function
938         protected.
939
940         * html/HTMLTagNames.in: Removed createWithNew from all classes that
941         now have create functions. Moved conditional noscript to a separate
942         paragraph.
943
944         * html/HTMLViewSourceDocument.cpp:
945         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
946         (WebCore::HTMLViewSourceDocument::addLink): Ditto.
947         * page/DragController.cpp:
948         (WebCore::documentFragmentFromDragData): Ditto.
949
950         * svg/SVGElement.cpp:
951         (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
952         so reference count still starts at 0. Will change this class later.
953         (WebCore::SVGElement::create): Added.
954         * svg/SVGElement.h: Added create, made constructor protected, and
955         made other functions protected and private. Removed unneeded
956         SVGNames.h include.
957
958         * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h
959         include.
960
961         * svg/SVGStopElement.h: Added now-needed SVGNames.h include.
962         Made functions private.
963
964         * wml/WMLElement.cpp:
965         (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
966         so reference count still starts at 0. Will change this class later.
967         (WebCore::WMLElement::create): Added.
968         * wml/WMLElement.h: Added create and made constructor protected.
969
970         * wml/WMLTagNames.in: Removed createWithNew from WMLElement.
971
972 2009-08-22  Adele Peterson  <adele@apple.com>
973
974         Reviewed by Anders Carlsson.
975
976         Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars
977
978         Custom scrollbars normally get detached when a document gets detached.  In this case, a crash was happening when the document had gone into the page cache 
979         and then was getting destroyed without proper scrollbar teardown.  This change makes custom scrollbars get detached when the document enters the cache.
980
981         I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time.
982
983         * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created.  
984           They'll get reattached when the document comes out of the page cache.
985         * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.
986
987 2009-08-22  David Hyatt  <hyatt@apple.com>
988
989         Reviewed by Dan Bernstein.
990
991         Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
992         the bottom of their parent blocks.  The old code prevented all collapsing, but all CSS2.1 states is that:
993         "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."
994         
995         The implication is that the bottom margin can still collapse, and the block-inside-inline form of
996         fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
997         on it to get comparable results.
998
999         Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/
1000
1001         * rendering/RenderBlock.cpp:
1002         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1003         (WebCore::RenderBlock::collapseMargins):
1004         (WebCore::RenderBlock::clearFloatsIfNeeded):
1005         (WebCore::RenderBlock::handleBottomOfBlock):
1006         * rendering/RenderBlock.h:
1007         (WebCore::RenderBlock::MarginInfo::clearMargin):
1008         (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):
1009
1010 2009-08-22  Chris Fleizach  <cfleizach@apple.com>
1011
1012         Reviewed by Darin Adler.
1013
1014         Need to implement ARIA role="listitem" and role="list"
1015         https://bugs.webkit.org/show_bug.cgi?id=28606
1016
1017         Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html
1018
1019         * accessibility/AXObjectCache.cpp:
1020         (WebCore::AXObjectCache::getOrCreate):
1021         * accessibility/AccessibilityList.cpp:
1022         (WebCore::AccessibilityList::isUnorderedList):
1023         * accessibility/AccessibilityRenderObject.cpp:
1024         (WebCore::RoleEntry::):
1025
1026 2009-08-21  Dan Bernstein  <mitz@apple.com>
1027
1028         Reviewed by Darin Adler.
1029
1030         Clean up fill image geometry calculation
1031         https://bugs.webkit.org/show_bug.cgi?id=28652
1032
1033         * rendering/RenderBoxModelObject.cpp:
1034         (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed
1035             calculateBackgroundSize() to this. Replaced separate scaledWidth and
1036             scaledHeight parameters with a single scaledSize parameter. Renamed
1037             parameters and local variables.
1038         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed
1039             to use CSS3 Backgrounds and Borders terminology in comments and
1040             local variable names. Renamed, clarified and consolidated some local
1041             variables.
1042         * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.
1043
1044 2009-08-22  Chris Marrin  <cmarrin@apple.com>
1045
1046         Unreviewed, build fix.
1047
1048         Backing out http://trac.webkit.org/changeset/47669
1049
1050         * html/canvas/CanvasRenderingContext2D.cpp:
1051         * html/canvas/CanvasRenderingContext2D.h:
1052
1053 2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
1054
1055         Unreviewed, build fix.
1056
1057         Backing out http://trac.webkit.org/changeset/47671 in preparation of
1058         rolling out http://trac.webkit.org/changeset/47669.
1059
1060 2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
1061
1062         Reviewed by Anders Carlsson.
1063
1064         Build fix, add CanvasRenderingContext to build systems.
1065         https://bugs.webkit.org/show_bug.cgi?id=28018
1066
1067         * DerivedSources.make: Added CanvasRenderinContext.
1068         * GNUmakefile.am: Ditto.
1069         * WebCore.gypi: Ditto.
1070         * WebCore.pro: Ditto.
1071         * WebCore.xcodeproj/project.pbxproj: Ditto.
1072         * WebCoreSources.bkl: Ditto.
1073
1074 2009-08-21  Chris Marrin  <cmarrin@apple.com>
1075
1076         Reviewed by Oliver Hunt.
1077
1078         New files implementing GL buffer wrappers, and support to make them platform independent
1079         https://bugs.webkit.org/show_bug.cgi?id=28018
1080
1081         * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object
1082         * html/canvas/CanvasBuffer.h: Added.
1083         * html/canvas/CanvasBuffer.idl: Added.
1084         * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object
1085         * html/canvas/CanvasFramebuffer.h: Added.
1086         * html/canvas/CanvasFramebuffer.idl: Added.
1087         * html/canvas/CanvasObject.h: Expose m_context
1088         * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object
1089         * html/canvas/CanvasProgram.h: Added.
1090         * html/canvas/CanvasProgram.idl: Added.
1091         * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object
1092         * html/canvas/CanvasRenderbuffer.h: Added.
1093         * html/canvas/CanvasRenderbuffer.idl: Added.
1094         * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here
1095         * html/canvas/CanvasRenderingContext3D.h:
1096         * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object
1097         * html/canvas/CanvasShader.h: Added.
1098         * html/canvas/CanvasShader.idl: Added.
1099         * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object
1100         * html/canvas/CanvasTexture.h: Added.
1101         * html/canvas/CanvasTexture.idl: Added.
1102         * platform/graphics/GraphicsContext3D.cpp: Removed.
1103         * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D
1104         * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction
1105
1106 2009-08-21  Darin Adler  <darin@apple.com>
1107
1108         * WebCore.vcproj/build-generated-files.sh:
1109         * make-generated-sources.sh:
1110         Removed obsolete code to set up CREATE_HASH_TABLE.
1111
1112 2009-08-21  Adele Peterson  <adele@apple.com>
1113
1114         Reviewed by Mark Rowe.
1115
1116         <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled 
1117
1118         * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): 
1119         No need to open the file with write access.  Only read access is needed.
1120
1121 2009-08-21  Alexey Proskuryakov  <ap@apple.com>
1122
1123         Reviewed by Darin Adler.
1124
1125         <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html
1126
1127         Also fixes leaks seen on appcache tests.
1128
1129         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around
1130         something that's likely a CFNetwork issue. Note that on Windows, there is no matching API
1131         to call, and we do not think that the leak occurs there anyway.
1132
1133 2009-08-21  Dmitry Titov  <dimich@chromium.org>
1134
1135         Reviewed by David Levin.
1136
1137         https://bugs.webkit.org/show_bug.cgi?id=28650
1138         Remove cross-thread code from CrossOriginPreflightResultCache.
1139         Removed mutexes, atomic initializer and string copy.
1140
1141         No new tests, the worker tests cover this.
1142
1143         * loader/CrossOriginPreflightResultCache.cpp:
1144         (WebCore::addToAccessControlAllowList):
1145         (WebCore::CrossOriginPreflightResultCache::shared):
1146         (WebCore::CrossOriginPreflightResultCache::appendEntry):
1147         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
1148         (WebCore::CrossOriginPreflightResultCache::empty):
1149         * loader/CrossOriginPreflightResultCache.h:
1150
1151 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
1152
1153         Reviewed by Jan Alonzo.
1154
1155         Buildfix after http://trac.webkit.org/changeset/47655.
1156
1157         * html/HTMLFormControlElement.h:
1158
1159 2009-08-19  Joseph Pecoraro  <joepeck@webkit.org>
1160
1161         Reviewed by Timothy Hatcher.
1162
1163         Inspector: Improve Cookie DataGrid to Show Hidden Data
1164         https://bugs.webkit.org/show_bug.cgi?id=28269
1165
1166           Removed Custom Bindings
1167
1168         * bindings/js/JSInspectorBackendCustom.cpp:
1169         * bindings/v8/custom/V8CustomBinding.h:
1170         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
1171         * inspector/InspectorBackend.cpp:
1172
1173           Made Non-Custom Bindings in the Backend
1174
1175         (WebCore::InspectorBackend::getCookies):
1176         (WebCore::InspectorBackend::deleteCookie):
1177         * inspector/InspectorBackend.h:
1178         * inspector/InspectorBackend.idl:
1179         * inspector/InspectorController.cpp:
1180         (WebCore::InspectorController::deleteCookie):
1181         * inspector/InspectorController.h:
1182
1183           Build the Cookie ScriptObjects, handles using document.cookie in
1184           case the platform hasn't implemented raw cookie access.
1185
1186         * inspector/InspectorDOMAgent.cpp:
1187         (WebCore::InspectorDOMAgent::getCookies):
1188         (WebCore::InspectorDOMAgent::buildObjectForCookie):
1189         (WebCore::InspectorDOMAgent::buildArrayForCookies):
1190         * inspector/InspectorDOMAgent.h:
1191
1192           Complete the Asynchronous Calls
1193
1194         * inspector/InspectorFrontend.cpp:
1195         (WebCore::InspectorFrontend::didGetCookies):
1196         * inspector/InspectorFrontend.h:
1197
1198           Asynchronous Functions to get Cookie Data
1199
1200         * inspector/front-end/DOMAgent.js:
1201         (WebInspector.Cookies.getCookiesAsync):
1202         (WebInspector.Cookies.buildCookiesFromString): fallback behavior
1203
1204           Refactor to use the Asynchronous Functions
1205
1206         * inspector/front-end/CookieItemsView.js:
1207         (WebInspector.CookieItemsView):
1208         (WebInspector.CookieItemsView.prototype.get statusBarItems):
1209         (WebInspector.CookieItemsView.prototype.update.callback):
1210         (WebInspector.CookieItemsView.prototype.update):
1211         (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies):
1212         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
1213
1214           Cleaned/Commented Related Code
1215
1216         (InspectorController.searchCanceled):
1217         * inspector/front-end/InjectedScript.js:
1218         * platform/Cookie.h:
1219         * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
1220
1221 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
1222
1223         Reviewed by Adele Peterson.
1224
1225         https://bugs.webkit.org/show_bug.cgi?id=28145
1226         Add support for novalidate/formnovalidate attribute, from HTML5 specs:
1227         http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate
1228
1229         Tests: fast/forms/formnovalidate-attribute.html
1230                fast/forms/novalidate-attribute.html
1231
1232         * html/HTMLAttributeNames.in: added novalidate, formnovalidate
1233         * html/HTMLButtonElement.idl: formnovalidate attribute exposed
1234         * html/HTMLFormControlElement.cpp:
1235         (WebCore::HTMLFormControlElement::formNoValidate): attribute getter
1236         (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter
1237         * html/HTMLFormControlElement.h:
1238         * html/HTMLFormElement.cpp:
1239         (WebCore::HTMLFormElement::novalidate): attribute getter
1240         (WebCore::HTMLFormElement::setNovalidate): attribute setter
1241         * html/HTMLFormElement.h:
1242         * html/HTMLFormElement.idl: novalidate attribute exposed
1243         * html/HTMLInputElement.idl: formNoValidate attribute exposed
1244
1245 2009-08-21  Dan Bernstein  <mitz@apple.com>
1246
1247         Reviewed by Beth Dakin.
1248
1249         Rendering changes to complete
1250         [CSS3 Backgrounds and Borders] Add support for the "contain" value for
1251         background-size
1252         https://bugs.webkit.org/show_bug.cgi?id=27573
1253         and
1254         [CSS3 Backgrounds and Borders] Add support for the "cover" value for
1255         background-size
1256         https://bugs.webkit.org/show_bug.cgi?id=27574
1257
1258         Test: fast/backgrounds/size/contain-and-cover.html
1259
1260         * rendering/RenderBoxModelObject.cpp:
1261         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
1262         * rendering/RenderObject.cpp:
1263         (WebCore::mustRepaintFillLayers):
1264
1265 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
1266
1267         Reviewed by Adele Peterson.
1268
1269         https://bugs.webkit.org/show_bug.cgi?id=27452
1270         Add support for checkValidity() method and invalid event, from HTML5
1271         specs:
1272         http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity
1273
1274         Tests: fast/events/invalid-001.html
1275                fast/events/invalid-002.html
1276                fast/events/invalid-003.html
1277                fast/events/invalid-004.html
1278                fast/events/invalid-005.html
1279                fast/forms/checkValidity-001.html
1280                fast/forms/checkValidity-002.html
1281                fast/forms/checkValidity-003.html
1282                fast/forms/checkValidity-004.html
1283
1284         * dom/Document.idl: oninvalid event handler
1285         * dom/Element.idl: ditto
1286         * dom/EventNames.h: added invalid event
1287         * dom/Node.cpp:
1288         (WebCore::Node::oninvalid): ditto
1289         (WebCore::Node::setOninvalid): ditto
1290         * dom/Node.h: ditto
1291         * html/HTMLAttributeNames.in: oninvalid attribute
1292         * html/HTMLButtonElement.idl: added checkValidity() method
1293         * html/HTMLElement.cpp:
1294         (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid
1295         * html/HTMLFieldSetElement.idl: added checkValidity() method
1296         * html/HTMLFormControlElement.cpp:
1297         (WebCore::HTMLFormControlElement::checkValidity): checkValidity()
1298         implementation
1299         * html/HTMLFormControlElement.h:
1300         * html/HTMLFormElement.cpp:
1301         (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
1302         for form elements
1303         * html/HTMLFormElement.h: checkValidity() definition
1304         * html/HTMLFormElement.idl: added checkValidity() method
1305         * html/HTMLInputElement.idl: added checkValidity() method
1306         * html/HTMLSelectElement.idl: added checkValidity() method
1307         * html/HTMLTextAreaElement.idl: added checkValidity() method
1308         * page/DOMWindow.cpp:
1309         (WebCore::DOMWindow::oninvalid): oninvalid event handler
1310         (WebCore::DOMWindow::setOninvalid): ditto
1311         * page/DOMWindow.h: ditto
1312         * page/DOMWindow.idl: ditto
1313
1314 2009-08-21  Beth Dakin  <bdakin@apple.com>
1315
1316         Reviewed by Dan Bernstein.
1317
1318         The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 
1319         Backgrounds and Borders] Add support for the "round" value for 
1320         background-repeat
1321         -and-
1322         https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and 
1323         Borders] Add support for the "space" value for background-repeat
1324
1325         * css/CSSParser.cpp:
1326         (WebCore::CSSParser::parseFillProperty):
1327         * css/CSSPrimitiveValueMappings.h:
1328         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1329         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
1330         * css/CSSValueKeywords.in:
1331         * rendering/style/FillLayer.h:
1332         * rendering/style/RenderStyleConstants.h:
1333         (WebCore::):
1334
1335 2009-08-21  Chris Marrin  <cmarrin@apple.com>
1336
1337         Reviewed by Oliver Hunt.
1338
1339         New files for Canvas 3D feature
1340         https://bugs.webkit.org/show_bug.cgi?id=28018
1341
1342         This is all the new files for implementing Canvas 3D. None of them are hooked up and
1343         are not even included in the build yet. This incorporates the reviews from Simon
1344         and Ollie for these files.
1345
1346         * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array
1347         * html/CanvasObject.cpp: Added. Base class for all GL object containers
1348         * html/CanvasObject.h: Added.
1349         * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D
1350         * html/CanvasRenderingContext.h: Added.
1351         * html/CanvasRenderingContext.idl: Added.
1352         * html/CanvasRenderingContext3D.cpp: Added. 3D context returned from Canvas.getContext()
1353         * html/CanvasRenderingContext3D.h: Added.
1354         * html/CanvasRenderingContext3D.idl: Added.
1355         * platform/graphics/GraphicsContext3D.cpp: Added. Platform interface between CanvasRenderingContext3D and 3D graphics engine
1356         * platform/graphics/GraphicsContext3D.h: Added.
1357         * platform/graphics/mac/Canvas3DLayer.h: Added. CALayer subclass to composite 3D canvas
1358         * platform/graphics/mac/Canvas3DLayer.mm: Added.
1359         * platform/graphics/mac/GraphicsContext3DMac.cpp: Added. Mac specific interface (OpenGL based)
1360
1361 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
1362
1363         No Review.
1364
1365         Another Windows build fix.
1366
1367         * editing/ApplyStyleCommand.cpp:
1368         (WebCore::diffTextDecorations):
1369
1370 2009-08-21  David Hyatt  <hyatt@apple.com>
1371
1372         Reviewed by Simon Fraser.
1373
1374         https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode
1375         line box shrinking quirk.  Make sure outlines don't extend outside the lineTop and lineBottom
1376         of the root line box.
1377
1378         Covered by existing tests.
1379
1380         * rendering/RenderBlock.cpp:
1381         (WebCore::RenderBlock::addFocusRingRects):
1382         * rendering/RenderInline.cpp:
1383         (WebCore::RenderInline::addFocusRingRects):
1384         (WebCore::RenderInline::paintOutline):
1385
1386 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
1387
1388         No Review.
1389
1390         Windows build fix.
1391
1392         * editing/ApplyStyleCommand.cpp:
1393         (WebCore::setTextDecorationProperty): Made it static
1394         (WebCore::diffTextDecorations): Made it static
1395
1396 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
1397
1398         Reviewed by Eric Seidel.
1399
1400         execCommand("Underline") uses CSS even when styleWithCSS has been turned off
1401         https://bugs.webkit.org/show_bug.cgi?id=23892
1402
1403         This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that
1404         WebKit does not use CSS to decorate texts when styleWithCSS is set to false.
1405
1406         * css/CSSValueList.cpp:
1407         (WebCore::CSSValueList::copy): Added.
1408         * css/CSSValueList.h: Added copy.
1409         * editing/ApplyStyleCommand.cpp:
1410         (WebCore::StyleChange::applyUnderline):
1411         (WebCore::StyleChange::applyLineThrough):
1412         (WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument.
1413         (WebCore::StyleChange::init): Ditto.
1414         (WebCore::StyleChange::extractTextStyles): Handles text decorations.
1415         (WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly.
1416         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed.
1417
1418 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
1419
1420         Reviewed by Timothy Hatcher.
1421
1422         Inspector: Rename "Databases" Panel as "Storage"
1423         https://bugs.webkit.org/show_bug.cgi?id=28620
1424
1425           Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used.
1426
1427         * inspector/InspectorController.cpp:
1428         (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage"
1429         * inspector/InspectorController.h:
1430         (WebCore::InspectorController::):
1431         * inspector/InspectorFrontend.cpp:
1432         (WebCore::InspectorFrontend::showPanel):
1433
1434           Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage,
1435           any DatabasesPanel constructors and appropriate function names.
1436
1437         * inspector/front-end/DOMStorageDataGrid.js:
1438         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
1439         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
1440         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
1441         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
1442         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
1443         * inspector/front-end/DOMStorageItemsView.js:
1444         (WebInspector.DOMStorageItemsView.prototype.update):
1445         * inspector/front-end/DatabaseQueryView.js:
1446         (WebInspector.DatabaseQueryView.prototype._queryFinished):
1447         * inspector/front-end/DatabaseTableView.js:
1448         (WebInspector.DatabaseTableView.prototype._queryFinished):
1449         * inspector/front-end/inspector.js:
1450         (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage"
1451         (WebInspector.showStoragePanel):
1452         (WebInspector.selectDatabase):
1453         (WebInspector.selectDOMStorage):
1454         (WebInspector.addDatabase):
1455         (WebInspector.addDOMStorage):
1456
1457           Renamed some files and Updated Accordingly.
1458
1459         * inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js.
1460         * inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png.
1461         * inspector/front-end/WebKit.qrc: use new file names
1462         * inspector/front-end/inspector.css: use new images name and class names
1463         * inspector/front-end/inspector.html: use new file name
1464         * WebCore.gypi: use new file names
1465
1466           Miscellaneous Updates.
1467
1468         * English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage"
1469
1470 2009-08-21  Maxime Simon  <simon.maxime@gmail.com>
1471
1472         Reviewed by Oliver Hunt.
1473
1474         [Haiku] Adding three font-specific files to WebCore:
1475         FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp
1476         https://bugs.webkit.org/show_bug.cgi?id=28131
1477
1478         * platform/graphics/haiku/FontCacheHaiku.cpp: Added.
1479         (WebCore::FontCache::platformInit):
1480         (WebCore::FontCache::getFontDataForCharacters):
1481         (WebCore::FontCache::getSimilarFontPlatformData):
1482         (WebCore::FontCache::getLastResortFallbackFont):
1483         (WebCore::FontCache::createFontPlatformData):
1484         (WebCore::FontCache::getTraitsInFamily):
1485         * platform/graphics/haiku/FontHaiku.cpp: Added.
1486         (charUnicodeToUTF8HACK):
1487         (WebCore::Font::canReturnFallbackFontsForComplexText):
1488         (WebCore::Font::drawGlyphs):
1489         (WebCore::Font::drawComplexText):
1490         (WebCore::Font::floatWidthForComplexText):
1491         (WebCore::Font::selectionRectForComplexText):
1492         (WebCore::Font::offsetForPositionForComplexText):
1493         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added.
1494         (WebCore::SimpleFontData::platformInit):
1495         (WebCore::SimpleFontData::platformCharWidthInit):
1496         (WebCore::SimpleFontData::platformDestroy):
1497         (WebCore::SimpleFontData::smallCapsFontData):
1498         (WebCore::SimpleFontData::containsCharacters):
1499         (WebCore::SimpleFontData::determinePitch):
1500         (WebCore::SimpleFontData::platformWidthForGlyph):
1501
1502 2009-08-21  Philippe Beauchamp  <philippe.beauchamp@gmail.com>
1503
1504         Reviewed by Adam Roben.
1505
1506         Middle click panning icon is offset by 3 pixels
1507         https://bugs.webkit.org/show_bug.cgi?id=28611
1508
1509         * platform/ScrollView.cpp:
1510         panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset)
1511         * platform/win/CursorWin.cpp:
1512         (WebCore::middlePanningCursor):
1513         Hotspot initialized to (8,8) instead of (7,7) (one pixel offset)
1514         
1515 2009-08-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1516
1517         Reviewed by Eric Seidel.
1518
1519         [Qt] Remove inspector resources for Symbian
1520         https://bugs.webkit.org/show_bug.cgi?id=28610
1521
1522         Based on an idea from Simon Hausmann.
1523
1524         * WebCore.pro:
1525
1526 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
1527
1528         Reviewed by Eric Seidel.
1529
1530         Inspector: Remove Unused Variable
1531         https://bugs.webkit.org/show_bug.cgi?id=28616
1532
1533         * inspector/front-end/Resource.js:
1534         (WebInspector.Resource.prototype._checkWarning):
1535
1536 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
1537
1538         Reviewed by Timothy Hatcher.
1539
1540         Inspector: Console Array Formatter Shows Extra Properties
1541         https://bugs.webkit.org/show_bug.cgi?id=28615
1542
1543         * inspector/front-end/ConsoleView.js:
1544         (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties
1545
1546 2009-08-21  Beth Dakin  <bdakin@apple.com>
1547
1548         Reviewed by Dan Bernstein.
1549
1550         The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 
1551         Backgrounds and Borders] Add support for the "contain" value for 
1552         background-size
1553         -and-
1554         https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and 
1555         Borders] Add support for the "cover" value for background-size
1556
1557         Return contain or cover when appropriate, and otherwise do what we 
1558         used to do.
1559         * css/CSSComputedStyleDeclaration.cpp:
1560         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1561
1562         Accept contain and cover as valid values for background-size.
1563         * css/CSSParser.cpp:
1564         (WebCore::CSSParser::parseFillProperty):
1565
1566         Handle setting the size and the sizeLength if appropriate.
1567         * css/CSSStyleSelector.cpp:
1568         (WebCore::CSSStyleSelector::mapFillSize):
1569
1570         Added new keywords contain and cover.
1571         * css/CSSValueKeywords.in:
1572
1573         Use just sizeLength instead of size to match old behavior.
1574         * page/animation/AnimationBase.cpp:
1575         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
1576         * rendering/RenderBoxModelObject.cpp:
1577         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
1578         * rendering/RenderObject.cpp:
1579         (WebCore::mustRepaintFillLayers):
1580
1581         The variable m_sizeType is an EBackgroundSize, and m_sizeLength is 
1582         a LengthSize (the equivalent of what m_size used to be). I got rid 
1583         of m_sizeSet and made isSizeSet() dynamic. I also defined a new 
1584         struct, FillSize that can be used to set or get m_size and 
1585         m_sizeLength both at once. 
1586         * rendering/style/FillLayer.cpp:
1587         (WebCore::FillLayer::FillLayer):
1588         (WebCore::FillLayer::operator=):
1589         (WebCore::FillLayer::operator==):
1590         (WebCore::FillLayer::fillUnsetProperties):
1591         * rendering/style/FillLayer.h:
1592         (WebCore::FillSize::FillSize):
1593         (WebCore::FillSize::operator==):
1594         (WebCore::FillSize::operator!=):
1595         (WebCore::FillLayer::sizeLength):
1596         (WebCore::FillLayer::size):
1597         (WebCore::FillLayer::isSizeSet):
1598         (WebCore::FillLayer::setSizeType):
1599         (WebCore::FillLayer::setSizeLength):
1600         (WebCore::FillLayer::setSize):
1601         (WebCore::FillLayer::clearSize):
1602         (WebCore::FillLayer::initialFillSizeType):
1603         (WebCore::FillLayer::initialFillSizeLength):
1604         (WebCore::FillLayer::initialFillSize):
1605
1606         This is all boiler-plate stuff to adjust to the new size() vs. 
1607         sizeType() vs. sizeLength() distinction.
1608         * rendering/style/RenderStyle.h:
1609         (WebCore::InheritedFlags::backgroundSizeType):
1610         (WebCore::InheritedFlags::backgroundSizeLength):
1611         (WebCore::InheritedFlags::maskSize):
1612         (WebCore::InheritedFlags::setBackgroundSize):
1613         (WebCore::InheritedFlags::setBackgroundSizeLength):
1614         (WebCore::InheritedFlags::setMaskSize):
1615
1616         Definition for EBackgroundSizeType.
1617         * rendering/style/RenderStyleConstants.h:
1618         (WebCore::):
1619
1620 2009-08-21  Ariya Hidayat  <ariya.hidayat@nokia.com>
1621
1622         Not reviewed, build fix after r47580.
1623
1624         [Qt] Adjust the files.
1625
1626         * inspector/front-end/WebKit.qrc:
1627
1628 2009-08-20  Chris Fleizach  <cfleizach@apple.com>
1629
1630         Reviewed by Darin Adler.
1631
1632         Enable various "grouping" ARIA roles
1633         https://bugs.webkit.org/show_bug.cgi?id=28486
1634
1635         Test: platform/mac/accessibility/aria-grouping-roles.html
1636
1637         * accessibility/AccessibilityObject.h:
1638         * accessibility/AccessibilityRenderObject.cpp:
1639         * accessibility/mac/AccessibilityObjectWrapper.mm:
1640         * page/mac/WebCoreViewFactory.h:
1641         * platform/LocalizedStrings.h:
1642         * platform/mac/LocalizedStringsMac.mm:
1643
1644 2009-08-20  David Levin  <levin@chromium.org>
1645
1646         Unreviewed trivial comment fix.
1647
1648         Update a bug link in a comment due to bugzilla amnesia.
1649
1650         * loader/CachedResource.cpp:
1651         (WebCore::CachedResource::setResourceToRevalidate):
1652
1653 2009-08-20  Albert J. Wong  <ajwong@chromium.org>
1654
1655         Reviewed by David Levin.
1656
1657         HTML5 media elements do not fire waiting events correctly
1658         https://bugs.webkit.org/show_bug.cgi?id=28335
1659
1660         Fire the waiting event before seeking, and fix a case where firing of
1661         the seeked event is missed when the ready state is changed during
1662         a seek.
1663
1664         Added video-waiting-seeking.html into manual tests because not
1665         all platforms allow seeking into non-buffered ranges.
1666
1667         * html/HTMLMediaElement.cpp:
1668         (WebCore::HTMLMediaElement::setReadyState): add support for
1669         waiting event when seeking.
1670         (WebCore::HTMLMediaElement::finishSeek): send seeked event
1671         whenever seeking finishes.
1672         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to
1673         new function.
1674         * html/HTMLMediaElement.h:
1675         * manual-tests/video-waiting-seeking.html: Added.
1676
1677 2009-08-20  Dan Bernstein  <mitz@apple.com>
1678
1679         Reviewed by John Sullivan.
1680
1681         Fix more cases of
1682         <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
1683         the console with certain content
1684
1685         If the border box is empty, simply avoid painting instead of trying to
1686         clip to the empty path.
1687
1688         * rendering/RenderBoxModelObject.cpp:
1689         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1690         * rendering/RenderReplaced.cpp:
1691         (WebCore::RenderReplaced::paint):
1692         * rendering/RenderWidget.cpp:
1693         (WebCore::RenderWidget::paint):
1694
1695 2009-08-20  Jeremy Orlow  <jorlow@chromium.org>
1696
1697         Build fix.  Forgot a svn add for a patch I landed.  :-(
1698
1699         * storage/SQLTransactionClient.cpp: Added.
1700         (WebCore::SQLTransactionClient::didCommitTransaction):
1701         (WebCore::SQLTransactionClient::didExecuteStatement):
1702         (WebCore::SQLTransactionClient::didExceedQuota):
1703         * storage/SQLTransactionClient.h: Added.
1704
1705 2009-08-20  Dumitru Daniliuc  <dumi@chromium.org>
1706
1707         Reviewed by Dimitri Glazkov.
1708
1709         Added a client to SQLTransaction. In addition to being a place to
1710         get notifications about certain events in a transaction, it is
1711         also an abstraction layer that allows us to plug in different
1712         implementations for each port for how transactions interract with
1713         the main DB. For example, WebCore's default implementation will
1714         make direct calls to DatabaseTracker's methods. At the same time,
1715         Chromium's implementation will send IPCs to the browser process
1716         whenever a transaction needs something from the main DB.
1717
1718         All storage tests pass.
1719
1720         https://bugs.webkit.org/show_bug.cgi?id=27967
1721
1722         * GNUmakefile.am:
1723         * WebCore.gypi:
1724         * WebCore.pro:
1725         * WebCore.vcproj/WebCore.vcproj:
1726         * WebCore.xcodeproj/project.pbxproj:
1727         * WebCoreSources.bkl:
1728         * storage/Database.cpp:
1729         (WebCore::Database::transactionClient):
1730         * storage/Database.h:
1731         * storage/DatabaseThread.cpp:
1732         (WebCore::DatabaseThread::DatabaseThread):
1733         * storage/DatabaseThread.h:
1734         (WebCore::DatabaseThread::transactionClient):
1735         * storage/SQLTransaction.cpp:
1736         (WebCore::SQLTransaction::runCurrentStatement):
1737         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
1738         (WebCore::SQLTransaction::postflightAndCommit):
1739         * storage/SQLTransactionClient.cpp: Added.
1740         * storage/SQLTransactionClient.h: Added.
1741
1742 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
1743
1744         Reviewed by Steve Falkenburg.
1745
1746         Fix of <https://bugs.webkit.org/show_bug.cgi?id=24793>
1747         Auto scroll speed is faster than in IE, Firefox.
1748         
1749         Changed pan scrolling speed to match Firefox's algorithm.
1750
1751         * rendering/RenderLayer.cpp:
1752         (WebCore::adjustedScrollDelta):
1753         (WebCore::RenderLayer::panScrollFromPoint):
1754
1755 2009-08-20  Stephen White  <senorblanco@chromium.org>
1756
1757         Reviewed by Eric Seidel.
1758
1759         Fix for assert in Chromium page cycler:  drawRect() was re-using
1760         an SkPaint, but not resetting it before calling
1761         PlatformGraphicsSkia::setupPaintForFilling() a second time.  This
1762         CL fixes drawRect(), and re-enables the assert.
1763         http://bugs.webkit.org/show_bug.cgi?id=28172
1764         http://crbug.com/19797
1765
1766         Covered by Chromium page cycler tests.
1767
1768         * platform/graphics/skia/PlatformContextSkia.cpp:
1769         (PlatformContextSkia::drawRect):
1770         (PlatformContextSkia::setupPaintCommon):
1771
1772 2009-08-20  Anders Carlsson  <andersca@apple.com>
1773
1774         Reviewed by Dan Bernstein.
1775
1776         <rdar://problem/7159016> Popup menus don't disappear when you click outside the window.
1777         
1778         Revert r47535 which introduced this.
1779         
1780         * platform/win/PopupMenuWin.cpp:
1781         (WebCore::PopupMenu::show):
1782         (WebCore::PopupWndProc):
1783
1784 2009-08-20  David Levin  <levin@chromium.org>
1785
1786         Reviewed by Alexey Proskuryakov.
1787
1788         Crashes on sites with lots of images
1789         https://bugs.webkit.org/show_bug.cgi?id=28473
1790
1791         The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while
1792         CachedResource is still referring to it, so it may get deleted before
1793         Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate.
1794
1795         * loader/Cache.cpp:
1796         (WebCore::Cache::revalidateResource): Added assert to verify the resource
1797         being revalidated is physically in the cache.
1798         (WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating
1799         resource to the revalidated resource.  This allows for proper lifetime management of the
1800         revalidated resource. Added assert to verify that the revalidatingResource is in the cache.
1801         (WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the
1802         process of being validated (or else they can get added twice: Once through the normal mechanism
1803         and then again during revalidateResource).
1804
1805         * loader/CachedResource.cpp:
1806         (WebCore::CachedResource::CachedResource):
1807         (WebCore::CachedResource::isSafeToMakePurgeable):
1808         Changed m_isBeingRevalidated to m_proxyResource to allow finding out
1809         who the validating resource (or proxy) is.
1810
1811         (WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate
1812         being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts
1813         as well.
1814         (WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource
1815         and added a comment about the assert.
1816         (WebCore::CachedResource::clearResourceToRevalidate):
1817         Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource.
1818         * loader/CachedResource.h:
1819         (WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource
1820         is still being referred to by it and the code it robust to this being switched to a new proxy
1821         resource without it being cleared first.
1822         (WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource.
1823
1824 2009-08-20  Xiaomei Ji  <xji@chromium.org>
1825
1826         Reviewed by Eric Seidel.
1827
1828         Fix "Chromium RTL autocomplete popup is not layout correctly".
1829         https://bugs.webkit.org/show_bug.cgi?id=27889
1830
1831         The complete fix of the issue consists 2 parts: the patch in webkit
1832         and the patch in Chromium's own code.
1833
1834         This webkit patch only affects Chromium autofill. It
1835         1. introduces a new flag in WebCore::PopupContainerSettings to
1836            distinguish whether the width of the drop-down should be restricted
1837            or not.
1838            For autofill, the width of the drop-down is restricted to
1839            be the same as that of the input field (the new flag is set in
1840            Chromium's own code). But width is not restricted for <select> (same as before).
1841         2. introduce a new flag in WebCore::PopContainerSettings to
1842            indicate what heuristics to use when displaying text in drop-down menu.
1843            For autofill, use drop-down item's directionality to display drop-down items.
1844            Previously, drop-down item is displayed in the its first strong
1845            directional character's directionality.
1846            (drop-down item's directionality is set in Chromium's own code.
1847            It is set the same as the directionality of the element. 
1848            For autofill, it is the same directionality as that of the input field.)
1849            For <select>, still use the text's first strong directional character's
1850            directionality to display the text.
1851
1852
1853         Since the patch only affects the chromium client, not webcore part or
1854         other clients. No automatic tests is possible.
1855
1856         * manual-tests/autofill-popup-width-and-item-direction.html: Added.
1857         * platform/chromium/PopupMenuChromium.cpp:
1858         (WebCore::):
1859         (WebCore::PopupListBox::paintRow): If list box width is restricted and 
1860         an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses.
1861         (WebCore::PopupListBox::layout): Restrict width of list box if applicable.
1862         * platform/chromium/PopupMenuChromium.h: 
1863         (WebCore::PopupItem::PopupItem): style change.
1864         (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to 
1865         distinguish whether to restrict width of list box and 
1866         in what directionality to display the text in drop-down.
1867
1868 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
1869
1870         Reviewed by Adele Peterson.
1871
1872         Fix of <https://bugs.webkit.org/show_bug.cgi?id=28504>. 
1873         Pan Scrolling can scroll while showing the middlePanScroll icon.
1874         
1875         Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState. 
1876         In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start
1877         of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would
1878         set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix
1879         the off by one error.
1880
1881         * rendering/RenderLayer.cpp:
1882         (WebCore::RenderLayer::panScrollFromPoint):
1883
1884 2009-08-20  David Hyatt  <hyatt@apple.com>
1885
1886         Reviewed by Dan Bernstein.
1887
1888         Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method,
1889         layoutBlockChild.
1890
1891         * rendering/RenderBlock.cpp:
1892         (WebCore::RenderBlock::layoutBlockChildren):
1893         (WebCore::RenderBlock::layoutBlockChild):
1894         * rendering/RenderBlock.h:
1895
1896 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
1897
1898         Reviewed by Adam Roben.
1899
1900         Made subframeForHitTargetNode a public static method, so WebView can call it
1901         during hit testing.
1902
1903         * page/EventHandler.cpp:
1904         (WebCore::subframeForHitTestResult):
1905         (WebCore::EventHandler::subframeForTargetNode):
1906         * page/EventHandler.h:
1907
1908 2009-08-20  Brent Fulgham  <bfulgham@webkit.org>
1909
1910         Rubberstamped by Kevin Ollivier.
1911
1912         Check for null bundle before attempting to use it.
1913
1914         * platform/network/curl/ResourceHandleManager.cpp:
1915         (WebCore::certificatePath): Add null check on return of
1916           CFBundleGetBundleWithIdentifier.
1917
1918 2009-08-20  David Hyatt  <hyatt@apple.com>
1919
1920         Reviewed by Dan Bernstein.
1921
1922         https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line.
1923
1924         Added fast/repaint/inline-block-overflow.html and updated another test.
1925
1926         * rendering/InlineFlowBox.cpp:
1927         (WebCore::InlineFlowBox::placeBoxesHorizontally):
1928         (WebCore::InlineFlowBox::computeVerticalOverflow):
1929         Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the
1930         replaced element.  Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the
1931         RenderBox has not been updated to the new values yet.
1932         
1933         * rendering/RenderLineBoxList.cpp:
1934         (WebCore::RenderLineBoxList::paint):
1935         Don't use the root line box's overflow.  Use the actual line box overflow values instead.  In the case of an inline
1936         with a layer, our overflow didn't propagate to the root line, so we always need to use our values.
1937
1938         * rendering/RenderPartObject.cpp:
1939         (WebCore::RenderPartObject::layout):
1940         * rendering/RenderReplaced.cpp:
1941         (WebCore::RenderReplaced::layout):
1942         Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow
1943         value around if a box-shadow goes away.
1944
1945 2009-08-20  Dmitry Titov  <dimich@chromium.org>
1946
1947         Another attempt to fix Chromium build.
1948
1949         * WebCore.gypi: now use the correct name of the image file.
1950
1951 2009-08-20  Dan Bernstein  <mitz@apple.com>
1952
1953         Make the Windows build even fixeder
1954
1955         * platform/graphics/win/GraphicsContextCGWin.cpp:
1956         (WebCore::GraphicsContextPlatformPrivate::flush):
1957
1958 2009-08-20  Dmitry Titov  <dimich@chromium.org>
1959
1960         Not reviewed, Chromium build fix.
1961
1962         * WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png)
1963
1964 2009-08-20  Dan Bernstein  <mitz@apple.com>
1965
1966         Windows build fix after the last change
1967
1968         * platform/graphics/win/GraphicsContextCGWin.cpp:
1969         (WebCore::GraphicsContext::GraphicsContext):
1970         (WebCore::GraphicsContext::releaseWindowsContext):
1971         (WebCore::GraphicsContext::drawWindowsBitmap):
1972
1973 2009-08-20  Dan Bernstein  <mitz@apple.com>
1974
1975         Reviewed by Geoffrey Garen.
1976
1977         Replace many manually-released CFTypeRefs with RetainPtrs
1978         https://bugs.webkit.org/show_bug.cgi?id=28498
1979
1980         * platform/graphics/cg/ColorCG.cpp:
1981         (WebCore::createCGColor):
1982         * platform/graphics/cg/GradientCG.cpp:
1983         (WebCore::Gradient::platformGradient):
1984         * platform/graphics/cg/GraphicsContextCG.cpp:
1985         (WebCore::GraphicsContext::platformContext):
1986         (WebCore::GraphicsContext::applyStrokePattern):
1987         (WebCore::GraphicsContext::applyFillPattern):
1988         (WebCore::GraphicsContext::setPlatformShadow):
1989         (WebCore::GraphicsContext::setURLForRect):
1990         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1991         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1992         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1993         * platform/graphics/cg/ImageBufferCG.cpp:
1994         (WebCore::ImageBuffer::ImageBuffer):
1995         * platform/graphics/cg/ImageCG.cpp:
1996         (WebCore::BitmapImage::checkForSolidColor):
1997         (WebCore::Image::drawPattern):
1998         * platform/graphics/cg/ImageSourceCG.cpp:
1999         (WebCore::ImageSource::setData):
2000         (WebCore::ImageSource::isSizeAvailable):
2001         (WebCore::ImageSource::frameSizeAtIndex):
2002         (WebCore::ImageSource::repetitionCount):
2003         (WebCore::ImageSource::createFrameAtIndex):
2004         (WebCore::ImageSource::frameDurationAtIndex):
2005         * platform/graphics/cg/PDFDocumentImage.cpp:
2006         (WebCore::PDFDocumentImage::dataChanged):
2007         * platform/graphics/cg/PathCG.cpp:
2008         (WebCore::createScratchContext):
2009         (WebCore::Path::contains):
2010         * platform/graphics/mac/FontCustomPlatformData.cpp:
2011         (WebCore::createFontCustomPlatformData):
2012         * platform/graphics/mac/GraphicsContextMac.mm:
2013         (WebCore::GraphicsContext::drawFocusRing):
2014         * platform/graphics/mac/ImageMac.mm:
2015         (WebCore::BitmapImage::getTIFFRepresentation):
2016         * platform/mac/ClipboardMac.mm:
2017         (WebCore::cocoaTypeFromMIMEType):
2018         (WebCore::MIMETypeFromCocoaType):
2019         * platform/mac/WebCoreNSStringExtras.mm:
2020         (stringEncodingForResource):
2021         * platform/network/mac/FormDataStreamMac.mm:
2022         (WebCore::advanceCurrentStream):
2023         (WebCore::setHTTPBody):
2024         * platform/text/mac/TextCodecMac.cpp:
2025         (WebCore::TextCodecMac::encode):
2026
2027 2009-08-20  Shinichiro Hamaji  <hamaji@chromium.org>
2028
2029         Reviewed by Eric Seidel.
2030
2031         Output actual values of counters in showTree
2032         https://bugs.webkit.org/show_bug.cgi?id=28481
2033
2034         No new tests because this patch just improves debugging outputs.
2035
2036         * rendering/CounterNode.cpp:
2037         (WebCore::showTreeAndMark):
2038
2039 2009-08-20  Eric Carlson  <eric.carlson@apple.com>
2040
2041         Reviewed by NOBODY (build fix).
2042
2043         Add file missed in last check-in.
2044
2045         * html/HTMLAttributeNames.in:
2046
2047 2009-08-19  Timothy Hatcher  <timothy@apple.com>
2048
2049         Adds new icons to the Web Inspector for Local Storage,
2050         Session Storage and Cookies.
2051
2052         https://bugs.webkit.org/show_bug.cgi?id=28470
2053
2054         Reviewed by Eric Seidel.
2055
2056         * inspector/front-end/DatabasesPanel.js:
2057         (WebInspector.DatabasesPanel.prototype.addDOMStorage):
2058         (WebInspector.DOMStorageSidebarTreeElement):
2059         * inspector/front-end/Images/cookie.png:
2060         * inspector/front-end/Images/domStorage.png: Removed.
2061         * inspector/front-end/Images/localStorage.png: Added.
2062         * inspector/front-end/Images/sessionStorage.png: Added.
2063         * inspector/front-end/inspector.css:
2064
2065 2009-08-20  Eric Carlson  <eric.carlson@apple.com>
2066
2067         Reviewed by Anders Carlsson.
2068
2069         HTML5 media elements must fire 'loadend' progress event
2070         https://bugs.webkit.org/show_bug.cgi?id=28419
2071
2072         * dom/EventNames.h:
2073             Define loadend.
2074
2075         * html/HTMLMediaElement.cpp:
2076         (WebCore::HTMLMediaElement::parseMappedAttribute):
2077             Deal with onloadend.
2078         (WebCore::HTMLMediaElement::loadInternal):
2079             Post 'loadend' immediately after 'abort'.
2080         (WebCore::HTMLMediaElement::noneSupported):
2081             Post 'loadend' immediately after 'error'.
2082         (WebCore::HTMLMediaElement::mediaEngineError):
2083             Ditto.
2084         (WebCore::HTMLMediaElement::setNetworkState):
2085             Post 'loadend' immediately after 'load'.
2086         (WebCore::HTMLMediaElement::userCancelledLoad):
2087             Post 'loadend' immediately after 'abort'.
2088
2089 2009-08-20  Ryosuke Niwa  <rniwa@webkit.org>
2090
2091         Reviewed by Darin Adler.
2092
2093         REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table
2094         https://bugs.webkit.org/show_bug.cgi?id=28474
2095
2096         This patch fixes a crash when indenting at right after a table.
2097         The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
2098         where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to
2099         enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode());
2100
2101         Test: editing/execCommand/indent-right-after-table.html
2102
2103         * editing/IndentOutdentCommand.cpp:
2104         (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node()
2105
2106 2009-08-20  Andrew Scherkus  <scherkus@chromium.org>
2107
2108         Reviewed by David Levin.
2109
2110         Render disabled mute button during an error or if no audio is present.
2111
2112         https://bugs.webkit.org/show_bug.cgi?id=28475
2113
2114         Covered by existing layout tests:
2115         media/video-controls-visible-audio-only.html
2116         media/video-no-audio.html
2117
2118         * rendering/RenderThemeChromiumSkia.cpp:
2119         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
2120
2121 2009-08-20  Dan Bernstein  <mitz@apple.com>
2122
2123         Reviewed by Darin Adler.
2124
2125         <rdar://problem/7154605> Loading page with 1px wide <select> makes the
2126         toolbar go blank
2127         and
2128         <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
2129         the console with certain content
2130
2131         * rendering/RenderThemeMac.mm:
2132         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Return early
2133         if the rectangle is empty. Use RenderStyle::getBorderRadiiForRect() to
2134         adjust the radii in case the sides of the rectangle are smaller than sum
2135         of the radii, so that the gradient background matches the border (which
2136         already uses getBorderRadiiForRect()). Check if bottomGradient is empty
2137         to avoid clipping to an empty path.
2138         (WebCore::RenderThemeMac::paintMenuListButton): Moved a
2139         GraphicContext::save() down to avoid a save/restore imbalance in the
2140         early return case.
2141
2142         * rendering/RenderThemeSafari.cpp: Made the same changes.
2143         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2144         (WebCore::RenderThemeSafari::paintMenuListButton):
2145
2146 2009-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
2147
2148         Reviewed by Gustavo Noronha.
2149
2150         [Gtk][REGRESSION] XHR test failures after r45558
2151         https://bugs.webkit.org/show_bug.cgi?id=27143
2152
2153         Disable sniffing if it's explicitly requested. Updated patch
2154         originally by Gustavo Noronha.
2155
2156         * platform/network/soup/ResourceHandleSoup.cpp:
2157         (WebCore::statusWillBeHandledBySoup):
2158         (WebCore::gotHeadersCallback):
2159         (WebCore::contentSniffedCallback):
2160         (WebCore::gotChunkCallback):
2161         (WebCore::startHttp):
2162
2163 2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
2164
2165         Reviewed by Simon Hausmann.
2166
2167         [Qt] Swap the pixels since QImage expect ARGB while ImageData
2168         stores them as RGBA.
2169
2170         This fixes the fast/canvas/canvas-copyPixels.html test.
2171
2172         * platform/graphics/qt/ImageBufferQt.cpp:
2173         (WebCore::putImageData):
2174
2175 2009-08-20  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
2176
2177         Reviewed by David Levin.
2178
2179         [v8] Use atomic string caching for createElement
2180         Extend atomic string caching to createElement.  Fix a bug in idl
2181         parser that caused incorrect parsing if a function argument
2182         attribute list contained a comma.
2183         https://bugs.webkit.org/show_bug.cgi?id=28449
2184
2185         * bindings/scripts/CodeGeneratorV8.pm:
2186         * bindings/scripts/IDLParser.pm:
2187         * bindings/v8/V8Binding.h:
2188         (WebCore::v8ValueToAtomicWebCoreStringWithNullCheck):
2189         * dom/Document.idl:
2190
2191 2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
2192
2193         Not reviewed, build fix after r47515.
2194
2195         [Qt] There is no Phonon::MediaObject::hasAudio() function.
2196
2197         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2198         (WebCore::MediaPlayerPrivate::hasAudio): Assume true.
2199
2200 2009-08-20  Darin Fisher  <darin@chromium.org>
2201
2202         Reviewed by Eric Seidel.
2203
2204         https://bugs.webkit.org/show_bug.cgi?id=28483
2205         The V8 ScriptController's cleanupScriptObjectsForPlugin should take a
2206         Widget* instead of void* to avoid the need for manual casting to Widget*
2207         at the callsite.
2208
2209         * bindings/v8/ScriptController.cpp:
2210         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
2211         * bindings/v8/ScriptController.h:
2212
2213 2009-08-19  David Levin  <levin@chromium.org>
2214
2215         Unreviewed speculative build fix for qt.
2216
2217         * page/OriginAccessEntry.cpp:
2218
2219 2009-08-19  Aaron Boodman  <aa@chromium.org>
2220
2221         Reviewed by David Levin.
2222
2223         https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
2224         specify a more granular policy for cross-origin XHR access.
2225
2226         Tests: http/tests/xmlhttprequest/origin-whitelisting-all.html
2227                http/tests/xmlhttprequest/origin-whitelisting-exact-match.html
2228                http/tests/xmlhttprequest/origin-whitelisting-https.html
2229                http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html
2230                http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html
2231                http/tests/xmlhttprequest/origin-whitelisting-subdomains.html
2232
2233         * WebCore.base.exp: Export methods to manipulate origin access whitelists to enable
2234         testing via layout tests.
2235
2236         * WebCore.xcodeproj/project.pbxproj: Add OriginAccessEntry.*
2237         * GNUmakefile.am: Ditto.
2238         * WebCore.gypi: Ditto.
2239         * WebCore.pro: Ditto.
2240         * WebCore.vcproj/WebCore.vcproj: Ditto.
2241         * WebCoreSources.blk: Ditto.
2242
2243         * page/SecurityOrigin.h: Implement origin access whitelists.
2244         (WebCore::originAccessMap): Static getter for access whitelists.
2245         (WebCore::SecurityOrigin::canRequest): Modify request checking logic to check whitelists.
2246         (WebCore::SecurityOrigin::whiteListAccessFromOrigin): Add an entry to a whitelist.
2247         (WebCore::SecurityOrigin::resetOriginAccessWhiteLists): Clear all the whitelists.
2248
2249         * page/OriginAccessEntry.h: Added. An entry in an origin access whitelist.
2250         * page/OriginAccessEntry.cpp: Ditto.
2251
2252 2009-08-19  Kevin Ollivier  <kevino@theolliviers.com>
2253
2254         Non-precomp headers build fix.
2255
2256         * platform/image-decoders/ImageDecoder.cpp:
2257
2258 2009-08-19  Jeremy Orlow  <jorlow@chromium.org>
2259
2260         Reviewed by Darin Fisher.
2261
2262         Disable a bad SKIA assert
2263         https://bugs.webkit.org/show_bug.cgi?id=28482
2264
2265         In http://trac.webkit.org/changeset/47386/ an assert was "fixed" in SKIA code. 
2266         When this was pulled into Chromium, it started breaking the page cycler. 
2267         Disable it again until we can figure out what's going on.
2268
2269         * platform/graphics/skia/PlatformContextSkia.cpp:
2270         (PlatformContextSkia::setupPaintCommon):
2271
2272 2009-08-19  Ryosuke Niwa  <rniwa@webkit.org>
2273
2274         Reviewed by Darin Adler.
2275
2276         queryCommandState('underline') returns false if the selected text is also bold and italic
2277         https://bugs.webkit.org/show_bug.cgi?id=11022
2278
2279         This patch modifies stateStrikethrough and stateUnderline to use the value -webkit-text-decorations-in-effect
2280         instead of text-decoration.  Because text-decoration only retrieves explicit styling at the node on which
2281         the query was sent, we need to use -webkit-text-decorations-in-effect to include decorations added by ancestors
2282         and also u, s, and strike tags.
2283
2284         Test: editing/style/text-decoration-state.html
2285
2286         * editing/EditorCommand.cpp:
2287         (WebCore::stateStrikethrough): Use -webkit-test-decorations-in-effect instead of text-decoration.
2288         (WebCore::stateUnderline): Ditto.
2289
2290 2009-08-19  Anders Carlsson  <andersca@apple.com>
2291
2292         Reviewed by Darin Adler.
2293
2294         - Fix <rdar://problem/7155710>
2295         HTML selects on windows cause containing window to become inactive when opened.
2296
2297         * platform/win/PopupMenuWin.cpp:
2298         (WebCore::PopupMenu::show):
2299         Pass SWP_NOACTIVATE to SetWindowPos, remove AW_ACTIVATE from AnimateWindow and pass
2300         SW_SHOWNOACTIVATE to ShowWindow.
2301         
2302         (WebCore::PopupWndProc):
2303         Prevent mouse activation from activating the window.
2304
2305 2009-08-19  Simon Fraser  <simon.fraser@apple.com>
2306
2307         Reviewed by Darin Adler.
2308
2309         Images flash as you hover them on http://www.atebits.com/scribbles/
2310         <rdar://problem/7143958>
2311         
2312         Tag images with the device colorspace with the colorspace of the main display, rather than
2313         GenericRGB, so that composited images color-match those rendered via Core Graphics.
2314         
2315         Covered by LayoutTests/compositing/color-matching/image-color-matching.html
2316
2317         * platform/graphics/mac/GraphicsLayerCA.mm:
2318         (WebCore::GraphicsLayerCA::setContentsToImage):
2319
2320 2009-08-19  Anders Carlsson  <andersca@apple.com>
2321
2322         Reviewed by David Hyatt and Dan Bernstein.
2323
2324         - Fix <rdar://problem/7152589> Stylable scrollbar corners aren't working.
2325
2326         * page/FrameView.cpp:
2327         (WebCore::FrameView::FrameView):
2328         Initialize m_scrollCorner.
2329
2330         (WebCore::FrameView::~FrameView):
2331         Assert that m_scrollCorner is null.
2332
2333         (WebCore::FrameView::detachCustomScrollbars):
2334         Destroy m_scrollCorner.
2335
2336         (WebCore::FrameView::invalidateScrollCorner):
2337         Invalidate the scroll corner.
2338         
2339         (WebCore::FrameView::updateScrollCorner):
2340         Create/destroy the scroll corner.
2341         
2342         (WebCore::FrameView::paintScrollCorner):
2343         Paint the scroll corner.
2344         
2345         * page/FrameView.h:
2346         (WebCore::FrameView::isFrameViewScrollCorner):
2347         Return whether a RenderScrollbarPart is the frame view scroll corner.
2348         
2349         * platform/ScrollView.cpp:
2350         (WebCore::ScrollView::updateScrollbars):
2351         Go ahead and update the scroll corner.
2352         
2353         (WebCore::ScrollView::setScrollbarsSuppressed):
2354         Pass the scroll corner rect to invalidateRect.
2355         
2356         (WebCore::ScrollView::scrollCornerRect):
2357         Return the scroll corner rect.
2358         
2359         * platform/ScrollView.h:
2360         * rendering/RenderScrollbarPart.cpp:
2361         (WebCore::RenderScrollbarPart::imageChanged):
2362         If this scrollbar part is the frame view scroll corner, invalidate it.
2363
2364 2009-08-19  Dirk Schulze  <krit@webkit.org>
2365
2366         Reviewed by Oliver Hunt.
2367
2368         SVG feComponentTransfer needs to be implemented
2369         [https://bugs.webkit.org/show_bug.cgi?id=27768]
2370
2371         Implementation of SVG Filter feComponentTransfer.
2372
2373         There is already a test case
2374         Test: svg/W3C-SVG-1.1/filters-comptran-01-b.svg
2375
2376         * platform/graphics/filters/FEComponentTransfer.cpp:
2377         (WebCore::identity):
2378         (WebCore::table):
2379         (WebCore::discrete):
2380         (WebCore::linear):
2381         (WebCore::gamma):
2382         (WebCore::FEComponentTransfer::apply):
2383
2384 2009-08-19  Dan Bernstein  <mitz@apple.com>
2385
2386         Reviewed by Dave Hyatt.
2387
2388         <rdar://problem/7141522> Incorrect layout of product table at henry.com
2389
2390         Test: fast/block/basic/quirk-percent-height-table-cell.html
2391
2392         * rendering/RenderBox.cpp:
2393         (WebCore::RenderBox::calcPercentageHeight): Tweak the quirk that allows
2394         percentage-height children of auto-height blocks to look for an ancestor
2395         with non-auto height and compute their height based on it. The change is
2396         that if that ancestor is a table cell, it is ignored and the percent
2397         height computes to zero (just like in strict mode). This matches Firefox
2398         and IE.
2399
2400 2009-08-19  Jungshik Shin  <jshin@chromium.org>
2401
2402         Reviewed by Eric Seidel.
2403
2404         Add 'icu::' qualifier when refering to ICU C++ names to the other
2405         file with this issue missed in the previous check-in.
2406
2407         https://bugs.webkit.org/show_bug.cgi?id=28410
2408
2409         No change in the test result.
2410
2411         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
2412         (WebCore::):
2413
2414 2009-08-19  Peter Kasting  <pkasting@google.com>
2415
2416         Unreviewed (build fix for Skia).
2417
2418         https://bugs.webkit.org/show_bug.cgi?id=28268
2419
2420         * platform/graphics/skia/GraphicsContextSkia.cpp:
2421         (WebCore::GraphicsContext::drawLine):
2422
2423 2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
2424
2425         Reviewed by Eric Seidel.
2426
2427         [CAIRO] Remove setFont indirection
2428         https://bugs.webkit.org/show_bug.cgi?id=28453
2429
2430         Remove the indirection and just set the font in Font::drawGlyphs.
2431
2432         * platform/graphics/SimpleFontData.h:
2433         * platform/graphics/cairo/FontCairo.cpp:
2434         (WebCore::Font::drawGlyphs):
2435         * platform/graphics/gtk/FontPlatformData.h:
2436         (WebCore::FontPlatformData::scaledFont):
2437         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2438         (WebCore::FontPlatformData::~FontPlatformData):
2439         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2440         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2441         * platform/graphics/gtk/SimpleFontDataPango.cpp:
2442         * platform/graphics/win/FontPlatformData.h:
2443         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2444         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2445
2446 2009-08-19  Pavel Feldman  <pfeldman@chromium.org>
2447
2448         Reviewed by Timothy Hatcher.
2449
2450         WebInspector: When adding style selector, generate default name based
2451         on id / class / type.
2452
2453         https://bugs.webkit.org/show_bug.cgi?id=28468
2454
2455         * inspector/front-end/StylesSidebarPane.js:
2456         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode):
2457
2458 2009-08-19  David Hyatt  <hyatt@apple.com>
2459
2460         Reviewed by Dan Bernstein.
2461
2462         Rename combinedOverflow to visibleOverflow, since that's what it actually represents.
2463
2464         * rendering/InlineFlowBox.cpp:
2465         (WebCore::InlineFlowBox::nodeAtPoint):
2466         (WebCore::InlineFlowBox::paint):
2467         * rendering/InlineFlowBox.h:
2468         (WebCore::InlineFlowBox::topvisibleOverflow):
2469         (WebCore::InlineFlowBox::bottomvisibleOverflow):
2470         (WebCore::InlineFlowBox::leftvisibleOverflow):
2471         (WebCore::InlineFlowBox::rightvisibleOverflow):
2472         (WebCore::InlineFlowBox::visibleOverflowRect):
2473         * rendering/RenderBlock.cpp:
2474         (WebCore::RenderBlock::layoutBlock):
2475         (WebCore::RenderBlock::paint):
2476         (WebCore::RenderBlock::floatRect):
2477         (WebCore::RenderBlock::nodeAtPoint):
2478         * rendering/RenderBlock.h:
2479         * rendering/RenderBlockLineLayout.cpp:
2480         (WebCore::RenderBlock::layoutInlineChildren):
2481         (WebCore::RenderBlock::matchedEndLine):
2482         * rendering/RenderBox.cpp:
2483         (WebCore::RenderBox::clippedOverflowRectForRepaint):
2484         * rendering/RenderBox.h:
2485         (WebCore::RenderBox::visibleOverflowRect):
2486         (WebCore::RenderBox::topvisibleOverflow):
2487         (WebCore::RenderBox::bottomvisibleOverflow):
2488         (WebCore::RenderBox::leftvisibleOverflow):
2489         (WebCore::RenderBox::rightvisibleOverflow):
2490         * rendering/RenderLayer.cpp:
2491         (WebCore::RenderLayer::localBoundingBox):
2492         * rendering/RenderLineBoxList.cpp:
2493         (WebCore::RenderLineBoxList::paint):
2494         (WebCore::RenderLineBoxList::hitTest):
2495         * rendering/RenderOverflow.h:
2496         (WebCore::RenderOverflow::visibleOverflowRect):
2497         * rendering/RenderReplaced.cpp:
2498         (WebCore::RenderReplaced::shouldPaint):
2499         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2500         * rendering/RenderTable.cpp:
2501         (WebCore::RenderTable::layout):
2502         (WebCore::RenderTable::paint):
2503         * rendering/RenderTableCell.cpp:
2504         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2505
2506 2009-08-19  Eric Carlson  <eric.carlson@apple.com>
2507
2508         Reviewed by Eric Seidel.
2509
2510         Sound button appears in controller with movies that have no audio
2511         https://bugs.webkit.org/show_bug.cgi?id=28464
2512
2513         Test: media/video-no-audio.html
2514
2515         * html/HTMLMediaElement.cpp:
2516         * html/HTMLMediaElement.h:
2517         (WebCore::HTMLMediaElement::hasAudio):
2518             Added hasAudio.
2519
2520         * platform/graphics/MediaPlayer.h:
2521         * platform/graphics/MediaPlayer.cpp:
2522         (WebCore::NullMediaPlayerPrivate::hasAudio):
2523         (WebCore::MediaPlayer::hasVideo):
2524             Make const.
2525         (WebCore::MediaPlayer::hasAudio):
2526             Added hasAudio.
2527
2528         * platform/graphics/MediaPlayerPrivate.h:
2529             Add hasAudio.
2530
2531         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2532         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2533         (WebCore::MediaPlayerPrivate::hasAudio):
2534             Ditto.
2535
2536         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2537         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2538         (WebCore::MediaPlayerPrivate::hasAudio):
2539             Ditto.
2540
2541         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2542         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2543         (WebCore::MediaPlayerPrivate::hasAudio):
2544             Ditto.
2545
2546         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2547         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2548         (WebCore::MediaPlayerPrivate::hasAudio):
2549             Ditto.
2550
2551         * platform/graphics/win/QTMovieWin.h:
2552         * platform/graphics/win/QTMovieWin.cpp:
2553         (QTMovieWin::hasAudio):
2554             Ditto.
2555
2556         * rendering/MediaControlElements.cpp:
2557         (WebCore::MediaControlMuteButtonElement::disabled):
2558             New, return true if media element doesn't have audio.
2559         (WebCore::MediaControlMuteButtonElement::rendererIsNeeded):
2560             Renderer is not needed if element has no audio.
2561         * rendering/MediaControlElements.h:
2562         (WebCore::MediaControlInputElement::disabled):
2563
2564         * rendering/RenderThemeMac.mm:
2565         (WebCore::getMediaUIPartStateFlags):
2566             Return MediaUIPartDisabledFlag if node is disabled.
2567             
2568
2569 2009-08-19  Michelangelo De Simone  <micdesim@gmail.com>
2570
2571         Reviewed by Darin Adler.
2572
2573         https://bugs.webkit.org/show_bug.cgi?id=27357
2574         Removed the two unnecessary overridden willValidate() methods introduced
2575         in r47444.
2576
2577         * html/HTMLKeygenElement.h:
2578         * html/HTMLObjectElement.h:
2579
2580 2009-08-19  Pavel Feldman  <pfeldman@chromium.org>
2581
2582         Reviewed by Timothy Hatcher.
2583
2584         WebInspector: Allow dumping dangling nodes to the console.
2585
2586         https://bugs.webkit.org/show_bug.cgi?id=28458
2587
2588         * bindings/js/JSInspectorBackendCustom.cpp:
2589         * bindings/v8/custom/V8CustomBinding.h:
2590         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
2591         * inspector/InspectorBackend.cpp:
2592         * inspector/InspectorBackend.h:
2593         * inspector/InspectorBackend.idl:
2594         * inspector/InspectorController.cpp:
2595         (WebCore::InspectorController::clearConsoleMessages):
2596         * inspector/InspectorDOMAgent.cpp:
2597         (WebCore::InspectorDOMAgent::releaseDanglingNodes):
2598         (WebCore::InspectorDOMAgent::startListening):
2599         (WebCore::InspectorDOMAgent::stopListening):
2600         (WebCore::InspectorDOMAgent::handleEvent):
2601         (WebCore::InspectorDOMAgent::bind):
2602         (WebCore::InspectorDOMAgent::unbind):
2603         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
2604         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2605         (WebCore::InspectorDOMAgent::discardBindings):
2606         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2607         (WebCore::InspectorDOMAgent::buildObjectForNode):
2608         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
2609         * inspector/InspectorDOMAgent.h:
2610         * inspector/InspectorFrontend.cpp:
2611         (WebCore::InspectorFrontend::setDetachedRoot):
2612         (WebCore::InspectorFrontend::childNodeCountUpdated):
2613         * inspector/InspectorFrontend.h:
2614         * inspector/front-end/ConsoleView.js:
2615         (WebInspector.ConsoleView.prototype._formatnode):
2616         * inspector/front-end/DOMAgent.js:
2617         (WebInspector.DOMAgent.prototype._setDetachedRoot):
2618         (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
2619         (WebInspector.setDetachedRoot):
2620         (WebInspector.childNodeCountUpdated):
2621         (InspectorController.pushNodeToFrontend):
2622         * inspector/front-end/InjectedScript.js:
2623         (InjectedScript.pushNodeToFrontend):
2624         (InjectedScript.createProxyObject):
2625
2626 2009-08-19  Alexey Proskuryakov  <ap@apple.com>
2627
2628         Reviewed by Anders Carlsson.
2629
2630         https://bugs.webkit.org/show_bug.cgi?id=27464
2631         Implement application cache online whitelist wildcard flag
2632
2633         Test: http/tests/appcache/whitelist-wildcard.html
2634
2635         A "*" in NETWORK section means that network loading needn't be blocked.
2636
2637         * loader/appcache/ApplicationCache.cpp:
2638         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
2639         * loader/appcache/ApplicationCache.h:
2640         (WebCore::ApplicationCache::setAllowsAllNetworkRequests):
2641         (WebCore::ApplicationCache::allowsAllNetworkRequests):
2642         * loader/appcache/ApplicationCacheGroup.cpp:
2643         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2644         * loader/appcache/ApplicationCacheStorage.cpp:
2645         (WebCore::ApplicationCacheStorage::openDatabase):
2646         (WebCore::ApplicationCacheStorage::store):
2647         (WebCore::ApplicationCacheStorage::loadCache):
2648         * loader/appcache/ManifestParser.cpp:
2649         (WebCore::parseManifest):
2650         * loader/appcache/ManifestParser.h:
2651
2652 2009-08-19  Brady Eidson <beidson@apple.com>
2653
2654         Reviewed by Kevin Decker.
2655
2656         <rdar://problem/7042555> Loading certain pages on Tiger will start a spurious download
2657         
2658         Get rid of method swizzling entirely. This created problems when lower level
2659         Foundation code would call into our own swizzled method.
2660         
2661         * platform/network/mac/ResourceHandleMac.mm: 
2662         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 
2663         * platform/network/mac/WebCoreURLResponse.h:
2664         * platform/network/mac/WebCoreURLResponse.mm:
2665         (-[NSURLResponse adjustMIMETypeIfNecessary]):
2666
2667 2009-08-19  Adam Roben  <aroben@apple.com>
2668
2669         Fix linker warnings on Windows
2670
2671         Reviewed by Anders Carlsson.
2672
2673         Fixes <http://webkit.org/b/28462> WebCore causes linker warnings on
2674         Windows about multiply-defined JSHTMLDataListElement symbols
2675
2676         * WebCore.vcproj/WebCore.vcproj: Exclude JSHTMLDataListElement.cpp
2677         from the build (just like we do for the other generated bindings
2678         files) so that we don't get warnings about multiply-defined symbols in
2679         JSHTMLDataListElement.cpp and DerivedSources.cpp. Also removed
2680         duplicate versions of JSSVGElementWrapperFactory.cpp, and let VS
2681         reorder a few files.
2682
2683 2009-08-19  Jungshik Shin  <jshin@chromium.org>
2684
2685         Reviewed by Eric Seidel
2686
2687         Add 'icu::' qualifier when refering to ICU C++ names.
2688
2689         https://bugs.webkit.org/show_bug.cgi?id=28410
2690
2691         No change in the test result.
2692
2693         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2694         (WebCore::fontContainsCharacter):
2695
2696 2009-08-19  David Hyatt  <hyatt@apple.com>
2697
2698         Reviewed by Dan Bernstein.
2699
2700         Cleanup from my patch thet rewrote overflow.  Remove unused member variables from RenderTableSection and
2701         move the addition of overflow from children into a separate pass after the height of the section has been
2702         set.  This prevents the RenderOverflow struct from being aggressively allocated for all table sections.
2703         (Not a a correctness issue, just a memory issue.)
2704
2705         * rendering/RenderTableSection.cpp:
2706         (WebCore::RenderTableSection::RenderTableSection):
2707         (WebCore::RenderTableSection::layoutRows):
2708         * rendering/RenderTableSection.h:
2709
2710 2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
2711
2712         Reviewed by Xan Lopez.
2713
2714         [Gtk] Remove bogus dependency rules for built sources that derive
2715         from HTMLTagNames.in, HTMLAttributeNames.in and xmlattrs.in. The
2716         header files should be generated regardless of whether the source
2717         file changed or not. We should only rely on the *.in files being
2718         changed.
2719
2720         * GNUmakefile.am:
2721
2722 2009-08-18  Maciej Stachowiak  <mjs@apple.com>
2723
2724         Reviewed by Oliver Hunt.
2725
2726         convert FormatBlock candidate tag list from if chain to hash lookup
2727         https://bugs.webkit.org/show_bug.cgi?id=28448
2728
2729         No behavior change, just cleanup.
2730
2731         * editing/htmlediting.cpp:
2732         (WebCore::validBlockTag):
2733         * editing/htmlediting.h:
2734
2735 2009-08-19  Mike Fenton  <mike.fenton@torchmobile.com>
2736
2737         Reviewed by Eric Seidel.
2738
2739         Update GraphicsContextSkia's version of drawLine to make use of the shared
2740         adjustLineToPixelBoundaries function and elimination overlapping code.
2741
2742         https://bugs.webkit.org/show_bug.cgi?id=28268
2743
2744         * platform/graphics/skia/GraphicsContextSkia.cpp:
2745         (WebCore::GraphicsContext::drawLine):
2746
2747 2009-08-18  Mike Fenton  <mike.fenton@torchmobile.com>
2748
2749         Reviewed by Eric Seidel.
2750
2751         Style fixes based on cpp_style.py and WebKit Style guide for
2752         GraphicsContextSkia.cpp
2753
2754         https://bugs.webkit.org/show_bug.cgi?id=28268
2755
2756         * platform/graphics/skia/GraphicsContextSkia.cpp:
2757         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2758         (WebCore::GraphicsContext::drawFocusRing):
2759         (WebCore::GraphicsContext::roundToDevicePixels):
2760         (WebCore::GraphicsContext::setLineDash):
2761         (WebCore::GraphicsContext::setPlatformShadow):
2762
2763 2009-08-18  Alexey Proskuryakov  <ap@webkit.org>
2764
2765         Reviewed by Maciej Stachowiak.
2766
2767         https://bugs.webkit.org/show_bug.cgi?id=28446
2768         Custom request headers shouldn't be sent with cross-origin preflight request
2769
2770         Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html
2771                http/tests/xmlhttprequest/access-control-preflight-headers-sync.html
2772
2773         * loader/DocumentThreadableLoader.cpp:
2774         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
2775         Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was
2776         that they shouldn't be sent, and Firefox doesn't send them.
2777
2778 2009-08-18  John Gregg  <johnnyg@google.com>
2779
2780         Reviewed by Dimitri Glazkov.
2781
2782         V8 Bindings for Desktop Notifications feature.
2783         https://bugs.webkit.org/show_bug.cgi?id=28271
2784
2785         * WebCore.gypi: 
2786         added notification files to build (all still behind a flag that's not on)
2787         * bindings/scripts/CodeGeneratorV8.pm:
2788         added special case in DOMWindow/AppCache style for named event handlers
2789         * bindings/v8/DOMObjectsInclude.h:
2790         * bindings/v8/DerivedSourcesAllInOne.cpp:
2791         * bindings/v8/V8DOMWrapper.cpp:
2792         (WebCore::V8DOMWrapper::getTemplate):
2793         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2794         * bindings/v8/V8Index.cpp:
2795         * bindings/v8/V8Index.h:
2796         * bindings/v8/V8Proxy.h:
2797         * bindings/v8/WorkerContextExecutionProxy.cpp:
2798         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
2799         * bindings/v8/custom/V8CustomBinding.h:
2800         * bindings/v8/custom/V8NotificationCenterCustom.cpp: Added.
2801         * notifications/Notification.h:
2802         made event handler routines public (as they are in DOMWindow, eg) for
2803         binding access.
2804         * notifications/NotificationCenter.idl:
2805         needed to make methods V8Custom to support different behaviors in 
2806         worker/page context in chromium. 
2807         * workers/WorkerThread.h:
2808         (WebCore::WorkerThread::getNotificationPresenter):
2809         (WebCore::WorkerThread::setNotificationPresenter):
2810         needed to make these methods public as well so chromium can inject
2811         the notification presenter into the worker thread.
2812
2813 2009-08-13  Maciej Stachowiak  <mjs@apple.com>
2814
2815         Reviewed by Sam Weinig.
2816
2817         - Implement HTML5 nav element
2818         https://bugs.webkit.org/show_bug.cgi?id=27937
2819
2820         <nav> should behave essentially the same as <div> for parsing
2821         etc. This is implemented by the changes below.
2822         
2823         Tests: fast/html/nav-element.html
2824
2825         * css/html.css:
2826         * editing/htmlediting.cpp:
2827         (WebCore::validBlockTag):
2828         * html/HTMLElement.cpp:
2829         (WebCore::HTMLElement::tagPriority):
2830         (WebCore::blockTagList):
2831         * html/HTMLParser.cpp:
2832         (WebCore::HTMLParser::getNode):
2833         * html/HTMLTagNames.in:
2834
2835 2009-08-18  Anders Carlsson  <andersca@apple.com>
2836
2837         Reviewed by Adele Peterson, David Hyatt and Dan Bernstein.
2838
2839         - Fix <rdar://problem/7152727>
2840
2841         If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated.
2842         
2843         * page/FrameView.cpp:
2844         (WebCore::FrameView::hasCustomScrollbars):
2845         Check if the frame view or any of its subviews have custom scroll bars.
2846         
2847         (WebCore::FrameView::updateControlTints):
2848         Go ahead and update control tints if the frame view has custom scroll bars.
2849         
2850         * page/FrameView.h:
2851
2852 2009-08-18  Mark Rowe  <mrowe@apple.com>
2853
2854         Roll out r47477 as it introduced assertion failures and crashes on the build bots.
2855
2856         * GNUmakefile.am:
2857         * WebCore.gypi:
2858         * WebCore.pro:
2859         * WebCore.vcproj/WebCore.vcproj:
2860         * WebCore.xcodeproj/project.pbxproj:
2861         * WebCoreSources.bkl:
2862         * storage/Database.cpp:
2863         * storage/Database.h:
2864         * storage/DatabaseThread.cpp:
2865         (WebCore::DatabaseThread::DatabaseThread):
2866         * storage/DatabaseThread.h:
2867         * storage/SQLTransaction.cpp:
2868         (WebCore::SQLTransaction::runCurrentStatement):
2869         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
2870         (WebCore::SQLTransaction::postflightAndCommit):
2871         * storage/SQLTransactionClient.cpp: Removed.
2872         * storage/SQLTransactionClient.h: Removed.
2873
2874 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
2875
2876         Reviewed by Eric Seidel.
2877
2878         [Haiku] Adding the SharedTimer file for WebCore.
2879         https://bugs.webkit.org/show_bug.cgi?id=28126
2880
2881         * platform/haiku/SharedTimerHaiku.cpp: Added.
2882         (WebCore::):
2883         (WebCore::SharedTimerHaiku::SharedTimerHaiku):
2884         (WebCore::SharedTimerHaiku::~SharedTimerHaiku):
2885         (WebCore::SharedTimerHaiku::instance):
2886         (WebCore::SharedTimerHaiku::start):
2887         (WebCore::SharedTimerHaiku::stop):
2888         (WebCore::SharedTimerHaiku::Filter):
2889         (WebCore::setSharedTimerFiredFunction):
2890         (WebCore::setSharedTimerFireTime):
2891         (WebCore::stopSharedTimer):
2892
2893 2009-08-18  Mark Rowe  <mrowe@apple.com>
2894
2895         Release build fix.
2896
2897         * xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around.
2898         (WebCore::XMLHttpRequest::XMLHttpRequest):
2899         (WebCore::XMLHttpRequest::~XMLHttpRequest):
2900
2901 2009-08-18  Aaron Boodman  <aa@chromium.org>
2902
2903         Reviewed by Maciej Stachowiak.
2904
2905         https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.
2906
2907         No new tests: Already covered by existing tests.
2908
2909         * xml/XMLHttpRequest.cpp:
2910         (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak.
2911         (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto.
2912         (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also,
2913         restore a call to nonCacheRequestInFlight() that got lost in a recent refactor.
2914
2915 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
2916
2917         Reviewed by Dimitri Glazkov.
2918
2919         Added a client to SQLTransaction. In addition to being a place to
2920         get notifications about certain events in a transaction, it is
2921         also an abstraction layer that allows us to plug in different
2922         implementations for each port for how transactions interract with
2923         the main DB. For example, WebCore's default implementation will
2924         make direct calls to DatabaseTracker's methods. At the same time,
2925         Chromium's implementation will send IPCs to the browser process
2926         whenever a transaction needs something from the main DB.
2927
2928         All storage tests pass.
2929
2930         https://bugs.webkit.org/show_bug.cgi?id=27967
2931
2932         * GNUmakefile.am:
2933         * WebCore.gypi:
2934         * WebCore.pro:
2935         * WebCore.vcproj/WebCore.vcproj:
2936         * WebCore.xcodeproj/project.pbxproj:
2937         * WebCoreSources.bkl:
2938         * storage/Database.cpp:
2939         (WebCore::Database::transactionClient):
2940         * storage/Database.h:
2941         * storage/DatabaseThread.cpp:
2942         (WebCore::DatabaseThread::DatabaseThread):
2943         * storage/DatabaseThread.h:
2944         (WebCore::DatabaseThread::transactionClient):
2945         * storage/SQLTransaction.cpp:
2946         (WebCore::SQLTransaction::runCurrentStatement):
2947         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
2948         (WebCore::SQLTransaction::postflightAndCommit):
2949         * storage/SQLTransactionClient.cpp: Added.
2950         * storage/SQLTransactionClient.h: Added.
2951
2952 2009-08-18  Julie Parent  <jparent@chromium.org>
2953
2954         Not reviewed, build fix for Chromium.
2955
2956         Final change for v8 corresponding to http://trac.webkit.org/changeset/47469.
2957
2958         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment
2959
2960 2009-08-18  Julie Parent  <jparent@chromium.org>
2961
2962         Not reviewed, build fix for Chromium.
2963
2964        More corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
2965
2966         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
2967         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
2968
2969 2009-08-18  Julie Parent  <jparent@chromium.org>
2970
2971         Not reviewed, build fix for Chromium.
2972
2973         Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
2974
2975         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
2976         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
2977
2978 2009-08-18  Dan Bernstein  <mitz@apple.com>
2979
2980         Build fix.
2981
2982         * editing/ApplyStyleCommand.cpp:
2983         (WebCore::getIdentifierValue):
2984
2985 2009-08-18  Darin Adler  <darin@apple.com>
2986
2987         Reviewed by Sam Weinig.
2988
2989         More work on making DOM classes start with reference count of 1
2990         https://bugs.webkit.org/show_bug.cgi?id=28068
2991
2992         Some related clean-up and preparation steps so the subsequent
2993         patches will be as small as possible.
2994
2995         * WebCore.base.exp: Sorted this file.
2996
2997         * accessibility/AccessibilityRenderObject.cpp:
2998         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2999         Use nameAttr instead of the name function.
3000
3001         * bindings/js/JSHTMLFrameElementCustom.cpp:
3002         (WebCore::JSHTMLFrameElement::setSrc):
3003         Use srcAttr instead of the src function.
3004
3005         * bindings/js/JSHTMLIFrameElementCustom.cpp:
3006         (WebCore::JSHTMLIFrameElement::setSrc):
3007         Use srcAttr instead of the src function.
3008
3009         * bindings/objc/DOM.mm: Sorted includes.
3010         * dom/Document.cpp: Ditto.
3011
3012         * dom/StyledElement.cpp: Made invalidateStyleAttribute inline.
3013         * dom/StyledElement.h: Ditto.
3014
3015         * dom/make_names.pl: Changed default of createWithNew to 0.
3016         Eventually all elements will be created with create instead of new.
3017
3018         * html/HTMLTagNames.in:
3019         * svg/svgtags.in:
3020         * wml/WMLTagNames.in:
3021         Added createWithNew for every tag. We'll remove it as we convert
3022         element classes to use create.
3023
3024         * html/HTMLAppletElement.h: Removed unneeded forward declarations.
3025         * html/HTMLFrameElement.h: Ditto.
3026
3027         * html/HTMLEmbedElement.cpp: Removed many attribute get and
3028         set functions.
3029         * html/HTMLEmbedElement.h: Ditto.
3030         * html/HTMLIFrameElement.cpp: Ditto.
3031         * html/HTMLIFrameElement.h: Ditto.
3032         * html/HTMLObjectElement.cpp: Ditto.
3033         * html/HTMLObjectElement.h: Ditto.
3034         * html/HTMLPlugInElement.cpp: Ditto.
3035         * html/HTMLPlugInElement.h: Ditto.
3036
3037         * html/HTMLFrameElementBase.cpp: Removed many attribute get and
3038         set functions.
3039         (WebCore::HTMLFrameElementBase::location): Changed to use
3040         srcAttr instead of src.
3041         * html/HTMLFrameElementBase.h: Removed many attribute get and set
3042         functions.
3043
3044         * loader/MediaDocument.cpp:
3045         (WebCore::MediaDocument::replaceMediaElementTimerFired):
3046         Use srcAttr and typeAttr instead of setSrc and setType.
3047         * loader/PluginDocument.cpp:
3048         (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
3049
3050         * rendering/RenderPartObject.cpp:
3051         (WebCore::RenderPartObject::updateWidget): Use nameAttr instead
3052         of name -- this avoids an extra AtomicString round trip and a little
3053         ref count churn too.
3054
3055 2009-08-18  Drew Wilson  <atwilson@google.com>
3056
3057         Reviewed by David Levin.
3058
3059         SharedWorkers need to support loading.
3060         https://bugs.webkit.org/show_bug.cgi?id=28342
3061
3062         Added loader support to shared workers, and refactored worker tests to also test SharedWorkers
3063
3064         * workers/DefaultSharedWorkerRepository.cpp:
3065         (WebCore::SharedWorkerProxy::postTaskToLoader):
3066         Forwards load requests to an arbitrary document from the list of worker's documents.
3067         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
3068         Posts responses back to the shared worker thread.
3069
3070 2009-08-18  Ryosuke Niwa  <rniwa@webkit.org>
3071
3072         Reviewed by Darin Adler.
3073
3074         StyleChange::init needs clean up before fixing the bug 23892
3075         https://bugs.webkit.org/show_bug.cgi?id=27749
3076
3077         This patch simplifies StyleChange::init by removing the iteration on CSS properties,
3078         and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style.
3079
3080         Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle,
3081         this patch simplifies the treatment in order to preserve the original behavior of WebKit.
3082         However, the current implementation is not best (adds redundant text-decorations) and we should fix it later.
3083
3084         No test is added since there is no change in behavior.
3085
3086         * editing/ApplyStyleCommand.cpp:
3087         (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties
3088         (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none"
3089         (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue
3090         (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property
3091         (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated
3092
3093 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
3094
3095         Reviewed by Dimitri Glazkov.
3096
3097         Fixing a DB file naming bug in Chromium. The origin should come
3098         before the DB name in the file name.
3099
3100         https://bugs.webkit.org/show_bug.cgi?id=28331
3101
3102         * storage/DatabaseTracker.cpp:
3103         (WebCore::DatabaseTracker::fullPathForDatabase):
3104
3105 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
3106
3107         Reviewed by Eric Seidel.
3108
3109         [Haiku] Adding four image-specific files to WebCore:
3110         IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp
3111         https://bugs.webkit.org/show_bug.cgi?id=28130
3112
3113         * platform/graphics/Icon.h:
3114         * platform/graphics/haiku/IconHaiku.cpp: Added.
3115         (WebCore::Icon::~Icon):
3116         (WebCore::Icon::createIconForFile):
3117         (WebCore::Icon::createIconForFiles):
3118         (WebCore::Icon::paint):
3119         * platform/graphics/haiku/ImageBufferData.h: Added.
3120         * platform/graphics/haiku/ImageBufferHaiku.cpp: Added.
3121         (WebCore::ImageBufferData::ImageBufferData):
3122         (WebCore::ImageBuffer::ImageBuffer):
3123         (WebCore::ImageBuffer::~ImageBuffer):
3124         (WebCore::ImageBuffer::context):
3125         (WebCore::ImageBuffer::getUnmultipliedImageData):
3126         (WebCore::ImageBuffer::getPremultipliedImageData):
3127         (WebCore::ImageBuffer::putUnmultipliedImageData):
3128         (WebCore::ImageBuffer::putPremultipliedImageData):
3129         (WebCore::ImageBuffer::toDataURL):
3130         (WebCore::ImageBuffer::image):
3131         (WebCore::ImageBuffer::platformTransformColorSpace):
3132         * platform/graphics/haiku/ImageHaiku.cpp: Added.
3133         (WebCore::FrameData::clear):
3134         (WebCore::Image::loadPlatformResource):
3135         (WebCore::BitmapImage::initPlatformData):
3136         (WebCore::BitmapImage::invalidatePlatformData):
3137         (WebCore::BitmapImage::draw):
3138         (WebCore::Image::drawPattern):
3139         (WebCore::BitmapImage::checkForSolidColor):
3140         (WebCore::BitmapImage::getBBitmap):
3141
3142 2009-08-18  Beth Dakin  <bdakin@apple.com>
3143
3144         Reviewed by Dan Bernstein.
3145
3146         Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3 
3147         Backgrounds and Borders] Drop the prefix from background-size
3148
3149         * css/CSSComputedStyleDeclaration.cpp:
3150         (WebCore::):
3151         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3152         * css/CSSParser.cpp:
3153         (WebCore::CSSParser::parseValue):
3154         (WebCore::CSSParser::parseFillProperty):
3155         (WebCore::cssPropertyID):
3156         * css/CSSPropertyNames.in:
3157         * css/CSSStyleSelector.cpp:
3158         (WebCore::CSSStyleSelector::applyProperty):
3159         * page/animation/AnimationBase.cpp:
3160         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
3161         (WebCore::ensurePropertyMap):
3162
3163 2009-08-18  Drew Wilson  <atwilson@google.com>
3164
3165         Reviewed by David Levin.
3166
3167         SharedWorkers need to forward exceptions to parent documents
3168         https://bugs.webkit.org/show_bug.cgi?id=28320
3169
3170         Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention).
3171
3172         Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents.
3173
3174         * bindings/js/JSSharedWorkerConstructor.cpp:
3175         Cleaned up bitrot - added missing include.
3176         * workers/DefaultSharedWorkerRepository.cpp:
3177         (WebCore::postExceptionTask):
3178         Callback used to deliver exceptions to a document.
3179         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
3180         Forwards exceptions to all parent documents for presentation to the user.
3181         (WebCore::postConsoleMessageTask):
3182         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
3183         Forwards console messages to all parent documents for presentation to the user.
3184         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
3185         Grabs the mutex before accessing workerDocuments.
3186         (WebCore::SharedWorkerProxy::documentDetached):
3187         Grabs the mutex before accessing workerDocuments.
3188
3189 2009-08-18  Anders Carlsson  <andersca@apple.com>
3190
3191         Reviewed by Adele Peterson.
3192
3193         <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
3194         
3195         * html/HTMLMediaElement.cpp:
3196         (WebCore::HTMLMediaElement::isSafeToLoadURL):
3197         Call FrameLoaderClient::shouldLoadMediaElementURL.
3198         
3199         * loader/FrameLoaderClient.h:
3200         (WebCore::FrameLoaderClient::shouldLoadMediaElementURL):
3201         Return true by default.
3202
3203 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
3204
3205         Reviewed by Dimitri Glazkov.
3206
3207         openDatabase() should not execute any SQL statement on the
3208         database it's trying to open, unless there are no other open
3209         handles to the same database. Otherwise, we might run into a
3210         deadlock.
3211
3212         Test: storage/open-database-while-transaction-in-progress.html
3213
3214         https://bugs.webkit.org/show_bug.cgi?id=28207
3215
3216         * storage/Database.cpp:
3217         (WebCore::Database::performOpenAndVerify):
3218
3219 2009-08-18  Dirk Schulze  <krit@webkit.org>
3220
3221         Reviewed by Oliver Hunt.
3222
3223         SVG Filter feBlend implementation missing
3224         [https://bugs.webkit.org/show_bug.cgi?id=28133]
3225
3226         Implementation of SVG Filter feBlend.
3227
3228         FilterEffect.cp needed changes to optimize the rendering. With the old code
3229         we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray,
3230         cleared the drawing area, drew the next FilterEffect with drawImage and picked this
3231         PixelArray again. This was unefficient and slow. Now we calculate the requested area
3232         of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly,
3233         without any drawing operations on GraphicsContext.
3234
3235         There is already a test case
3236         Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg
3237
3238         * html/canvas/CanvasPixelArray.h:
3239         (WebCore::CanvasPixelArray::set):
3240         (WebCore::CanvasPixelArray::get):
3241         * platform/graphics/filters/FEBlend.cpp:
3242         (WebCore::unknown):
3243         (WebCore::normal):
3244         (WebCore::multiply):
3245         (WebCore::screen):
3246         (WebCore::darken):
3247         (WebCore::lighten):
3248         (WebCore::FEBlend::apply):
3249         * platform/graphics/filters/FEBlend.h:
3250         * platform/graphics/filters/FilterEffect.cpp:
3251         (WebCore::FilterEffect::calculateDrawingIntRect):
3252         * platform/graphics/filters/FilterEffect.h:
3253
3254 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
3255
3256         Reviewed by Timothy Hatcher.
3257
3258         WebInspector: Fix array formatter followup: node formatter.
3259
3260         https://bugs.webkit.org/show_bug.cgi?id=28427
3261
3262         * inspector/front-end/ConsoleView.js:
3263         (WebInspector.ConsoleView.prototype._format):
3264
3265 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
3266
3267         Reviewed by Timothy Hatcher.
3268
3269         WebInspector: Metrics sidebar broken
3270
3271         https://bugs.webkit.org/show_bug.cgi?id=28434
3272
3273         * inspector/front-end/MetricsSidebarPane.js:
3274
3275 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
3276
3277         Reviewed by Darin Adler.
3278
3279         https://bugs.webkit.org/show_bug.cgi?id=28432
3280         String::createCFString() returns a non-retained empty string
3281
3282         No known change in functionality, so no test.
3283
3284         * platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result.
3285     
3286 2009-08-18  Brian Weinstein  <bweinstein@apple.com>
3287
3288         Reviewed by Oliver Hunt.
3289
3290         Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 
3291         LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
3292         
3293         Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when
3294         it doesn't have to.
3295
3296         * storage/DatabaseTracker.cpp:
3297         (WebCore::DatabaseTracker::deleteOrigin):
3298
3299 2009-08-18  Michelangelo De Simone  <micdesim@gmail.com>
3300
3301         Reviewed by Adele Peterson.
3302
3303         https://bugs.webkit.org/show_bug.cgi?id=27357
3304         Support for :valid and :invalid CSS selectors, from HTML5 specs.
3305         http://www.whatwg.org/specs/web-apps/current-work/#selector-valid
3306
3307         Tests: fast/css/pseudo-invalid-001.html
3308                fast/css/pseudo-invalid-002.html
3309                fast/css/pseudo-valid-001.html
3310                fast/css/pseudo-valid-002.html
3311                fast/css/pseudo-valid-003.html
3312                fast/css/pseudo-valid-004.html
3313                fast/css/pseudo-valid-005.html
3314                fast/css/pseudo-valid-006.html
3315                fast/css/pseudo-valid-007.html
3316
3317         * css/CSSSelector.cpp:
3318         (WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes
3319         * css/CSSSelector.h:
3320         (WebCore::CSSSelector::):
3321         * css/CSSStyleSelector.cpp:
3322         (WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between
3323 form controls that have different validity states.
3324         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
3325         style associated to new pseudo-classes
3326         * dom/Element.h:
3327         (WebCore::Element::willValidate): pushed up in hierarchy
3328         (WebCore::Element::isValidFormControlElement): checks for valid form
3329         control elements (wraps ValidityState::valid())
3330         * html/HTMLFormControlElement.cpp:
3331         (WebCore::HTMLFormControlElement::willValidate): minor clean up
3332         (WebCore::HTMLFormControlElement::isValidFormControlElement): ditto
3333         * html/HTMLFormControlElement.h:
3334         * html/HTMLKeygenElement.h:
3335         (WebCore::HTMLKeygenElement::willValidate): added
3336         * html/HTMLObjectElement.h:
3337         (WebCore::HTMLObjectElement::willValidate): added
3338         * html/HTMLObjectElement.idl:
3339
3340 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
3341
3342         Reviewed by Timothy Hatcher.
3343
3344         WebInspector: Fix array formatter.
3345
3346         https://bugs.webkit.org/show_bug.cgi?id=28427
3347
3348         * inspector/front-end/ConsoleView.js:
3349         (WebInspector.ConsoleView.prototype._formatarray):
3350
3351 2009-08-17  Joe Mason  <joe.mason@torchmobile.com>
3352
3353         Reviewed by George Staikos
3354
3355         Replace repeated string of PLATFORM(FOO) with a single define
3356         https://bugs.webkit.org/show_bug.cgi?id=27734
3357
3358         * loader/CachedFont.cpp:
3359         (WebCore::CachedFont::~CachedFont):
3360         (WebCore::CachedFont::ensureCustomFontData):
3361         (WebCore::CachedFont::platformDataFromCustomData):
3362         (WebCore::CachedFont::allClientsRemoved):
3363
3364 2009-08-16  David Hyatt  <hyatt@apple.com>
3365
3366         Reviewed by Dan Bernstein.
3367
3368         https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
3369         considered part of scrollable overflow.
3370
3371         This patch takes the engine's concept of overflow and splits it into two types:
3372         layout overflow and visual overflow.
3373         
3374         Layout overflow is about other boxes that spill out of an enclosing box,  For example,
3375         in the inline flow case a tall image could spill out of a line box. Examples of 
3376         visual overflow are shadows, text stroke (and eventually outline and
3377         border-image).
3378
3379         Three objects tracked overflow before this patch: RenderBlock had 
3380         m_overflowLeft/Top/Width/Height variables.  RootInlineBox had an Overflow*
3381         that also had four overflow values.  Finally RenderReplaced elements tracked shadow/reflection
3382         overflow using a map that cached four values.
3383         
3384         This patch takes all of these different overflow models and unifies them into a single
3385         new class called RenderOverflow.   This class is now a member variable in RenderBox and
3386         InlineFlowBoxes.  It is only allocated if overflow actually exists.  Instead of tracking
3387         four values, it tracks eight: left/top/right/bottom for layout overflow and 
3388         left/top/right/bottom for visual overflow.
3389         
3390         Overflow computation is now done after layout is finished rather than during layout
3391         (when child objects can be churning and moving around).  A number of layout tests progressed
3392         by deferring overflow computation to a separate pass.
3393         
3394         All inline flow boxes now track overflow (and not just the root line box).  This allows
3395         repainting of line boxes to actually be tight and bail early if the overflow rect of a box
3396         doesn't intersect.  The old code always visited all object on a line if the root line box
3397         intersected at all.
3398         
3399         Line box overflow no longer propagates across self-painting layers.  This fixes a number of
3400         issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.
3401         
3402         Layer bounds have been modified to exclude visual overflow.  The width/height members only really
3403         have one reason for continued existence, and that is that they happen to be used in repaint()
3404         when an overflow clip object's height isn't accurate.  In this case, the bounds should exclude
3405         visual overflow anyway, so this change tightens that repaint up.
3406         
3407         Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
3408         been changed to use these instead of relying on overflow (which was totally wrong).
3409
3410         Significant changes have been made to the "almost strict mode" line box quirk where objects with no
3411         text children have no effect on the height of a line.  Instead of making the height() of the objects
3412         variable and dependent on overflow, the objects now have their full height and get placed on
3413         the baseline properly.  They simply don't contribute to overflow above lineTop/Bottom.
3414         
3415         Reflections are no longer considered overflow of any kind.  Because reflections have their own layers,
3416         it is not necessary to treat them as visual or layout overflow in the RenderObject tree.  The end result
3417         of not incorporating them into RenderOverflow is that they have no effect on scrolling.  transparencyClipBox
3418         has been extended to support fully reflecting the entire clip box when a reflection exists.  This fixes
3419         numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
3420         sublayers.
3421
3422         * WebCore.xcodeproj/project.pbxproj:
3423         * dom/ContainerNode.cpp:
3424         (WebCore::ContainerNode::getUpperLeftCorner):
3425         * editing/visible_units.cpp:
3426         (WebCore::previousLinePosition):
3427         (WebCore::nextLinePosition):
3428         * page/FrameView.cpp:
3429         (WebCore::FrameView::adjustViewSize):
3430         (WebCore::FrameView::adjustPageHeight):
3431         * rendering/InlineBox.cpp:
3432         (WebCore::InlineBox::height):
3433         * rendering/InlineBox.h:
3434         * rendering/InlineFlowBox.cpp:
3435         (WebCore::InlineFlowBox::adjustPosition):
3436         (WebCore::InlineFlowBox::placeBoxesHorizontally):
3437         (WebCore::InlineFlowBox::placeBoxesVertically):
3438         (WebCore::InlineFlowBox::computeVerticalOverflow):
3439         (WebCore::InlineFlowBox::nodeAtPoint):
3440         (WebCore::InlineFlowBox::paint):
3441         * rendering/InlineFlowBox.h:
3442         (WebCore::InlineFlowBox::InlineFlowBox):
3443         (WebCore::InlineFlowBox::topCombinedOverflow):
3444         (WebCore::InlineFlowBox::bottomCombinedOverflow):
3445         (WebCore::InlineFlowBox::leftCombinedOverflow):
3446         (WebCore::InlineFlowBox::rightCombinedOverflow):
3447         (WebCore::InlineFlowBox::combinedOverflowRect):
3448         (WebCore::InlineFlowBox::topLayoutOverflow):
3449         (WebCore::InlineFlowBox::bottomLayoutOverflow):
3450         (WebCore::InlineFlowBox::leftLayoutOverflow):
3451         (WebCore::InlineFlowBox::rightLayoutOverflow):
3452         (WebCore::InlineFlowBox::layoutOverflowRect):
3453         (WebCore::InlineFlowBox::topVisualOverflow):
3454         (WebCore::InlineFlowBox::bottomVisualOverflow):
3455         (WebCore::InlineFlowBox::leftVisualOverflow):
3456         (WebCore::InlineFlowBox::rightVisualOverflow):
3457         (WebCore::InlineFlowBox::visualOverflowRect):
3458         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
3459         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
3460         * rendering/InlineTextBox.cpp:
3461         (WebCore::InlineTextBox::paint):
3462         * rendering/RenderBlock.cpp:
3463         (WebCore::RenderBlock::RenderBlock):
3464         (WebCore::RenderBlock::layout):
3465         (WebCore::RenderBlock::layoutBlock):
3466         (WebCore::RenderBlock::addOverflowFromBlockChildren):
3467         (WebCore::RenderBlock::handleBottomOfBlock):
3468         (WebCore::RenderBlock::layoutBlockChildren):
3469         (WebCore::RenderBlock::paint):
3470         (WebCore::RenderBlock::fillInlineSelectionGaps):
3471         (WebCore::RenderBlock::floatRect):
3472         (WebCore::RenderBlock::lowestPosition):
3473         (WebCore::RenderBlock::rightmostPosition):
3474         (WebCore::RenderBlock::leftmostPosition):
3475         (WebCore::RenderBlock::addOverhangingFloats):
3476         (WebCore::RenderBlock::nodeAtPoint):
3477         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3478         (WebCore::RenderBlock::layoutColumns):
3479         (WebCore::getHeightForLineCount):
3480         * rendering/RenderBlock.h:
3481         * rendering/RenderBlockLineLayout.cpp:
3482         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
3483         (WebCore::RenderBlock::computeVerticalPositionsForLine):
3484         (WebCore::RenderBlock::layoutInlineChildren):
3485         (WebCore::RenderBlock::matchedEndLine):
3486         (WebCore::RenderBlock::addOverflowFromInlineChildren):
3487         * rendering/RenderBox.cpp:
3488         (WebCore::RenderBox::destroy):
3489         (WebCore::RenderBox::clippedOverflowRectForRepaint):
3490         (WebCore::RenderBox::localCaretRect):
3491         (WebCore::RenderBox::addShadowAndReflectionOverflow):
3492         (WebCore::RenderBox::addOverflowFromChild):
3493         (WebCore::RenderBox::addLayoutOverflow):
3494         (WebCore::RenderBox::addVisualOverflow):
3495         (WebCore::RenderBox::clearLayoutOverflow):
3496         * rendering/RenderBox.h:
3497         (WebCore::RenderBox::combinedOverflowRect):
3498         (WebCore::RenderBox::topCombinedOverflow):
3499         (WebCore::RenderBox::bottomCombinedOverflow):
3500         (WebCore::RenderBox::leftCombinedOverflow):
3501         (WebCore::RenderBox::rightCombinedOverflow):
3502         (WebCore::RenderBox::layoutOverflowRect):
3503         (WebCore::RenderBox::topLayoutOverflow):
3504         (WebCore::RenderBox::bottomLayoutOverflow):
3505         (WebCore::RenderBox::leftLayoutOverflow):
3506         (WebCore::RenderBox::rightLayoutOverflow):
3507         (WebCore::RenderBox::visualOverflowRect):
3508         (WebCore::RenderBox::topVisualOverflow):
3509         (WebCore::RenderBox::bottomVisualOverflow):
3510         (WebCore::RenderBox::leftVisualOverflow):
3511         (WebCore::RenderBox::rightVisualOverflow):
3512         * rendering/RenderFlexibleBox.cpp:
3513         (WebCore::RenderFlexibleBox::layoutBlock):
3514         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3515         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3516         * rendering/RenderLayer.cpp:
3517         (WebCore::RenderLayer::updateLayerPosition):
3518         (WebCore::RenderLayer::localBoundingBox):
3519         * rendering/RenderLayerCompositor.cpp:
3520         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3521         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
3522         * rendering/RenderLineBoxList.cpp:
3523         (WebCore::RenderLineBoxList::paint):
3524         (WebCore::RenderLineBoxList::hitTest):
3525         * rendering/RenderListItem.cpp:
3526         (WebCore::RenderListItem::positionListMarker):
3527         * rendering/RenderObject.cpp:
3528         (WebCore::RenderObject::RenderObject):
3529         * rendering/RenderObject.h:
3530         * rendering/RenderOverflow.h: Added.
3531         (WebCore::RenderOverflow::RenderOverflow):
3532         (WebCore::RenderOverflow::topLayoutOverflow):
3533         (WebCore::RenderOverflow::bottomLayoutOverflow):
3534         (WebCore::RenderOverflow::leftLayoutOverflow):
3535         (WebCore::RenderOverflow::rightLayoutOverflow):
3536         (WebCore::RenderOverflow::topVisualOverflow):
3537         (WebCore::RenderOverflow::bottomVisualOverflow):
3538         (WebCore::RenderOverflow::leftVisualOverflow):
3539         (WebCore::RenderOverflow::rightVisualOverflow):
3540         (WebCore::RenderOverflow::setTopLayoutOverflow):
3541         (WebCore::RenderOverflow::setBottomLayoutOverflow):
3542         (WebCore::RenderOverflow::setLeftLayoutOverflow):
3543         (WebCore::RenderOverflow::setRightLayoutOverflow):
3544         (WebCore::RenderOverflow::setTopVisualOverflow):
3545         (WebCore::RenderOverflow::setBottomVisualOverflow):
3546         (WebCore::RenderOverflow::setLeftVisualOverflow):
3547         (WebCore::RenderOverflow::setRightVisualOverflow):
3548         (WebCore::RenderOverflow::layoutOverflowRect):
3549         (WebCore::RenderOverflow::visualOverflowRect):
3550         (WebCore::RenderOverflow::combinedOverflowRect):
3551         (WebCore::RenderOverflow::move):
3552         (WebCore::RenderOverflow::addLayoutOverflow):
3553         (WebCore::RenderOverflow::addVisualOverflow):
3554         (WebCore::RenderOverflow::resetLayoutOverflow):
3555         * rendering/RenderPartObject.cpp:
3556         (WebCore::RenderPartObject::layout):
3557         * rendering/RenderReplaced.cpp:
3558         (WebCore::RenderReplaced::~RenderReplaced):
3559         (WebCore::RenderReplaced::layout):
3560         (WebCore::RenderReplaced::shouldPaint):
3561         (WebCore::RenderReplaced::positionForPoint):
3562         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
3563         * rendering/RenderReplaced.h:
3564         * rendering/RenderScrollbarPart.cpp:
3565         (WebCore::RenderScrollbarPart::layout):
3566         (WebCore::RenderScrollbarPart::paintIntoRect):
3567         * rendering/RenderSlider.cpp:
3568         (WebCore::RenderSlider::layout):
3569         * rendering/RenderTable.cpp:
3570         (WebCore::RenderTable::layout):
3571         (WebCore::RenderTable::paint):
3572         * rendering/RenderTableCell.cpp:
3573         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3574         * rendering/RenderTableSection.cpp:
3575         (WebCore::RenderTableSection::layoutRows):
3576         * rendering/RenderTableSection.h:
3577         * rendering/RenderText.cpp:
3578         (WebCore::RenderText::positionForPoint):
3579         (WebCore::RenderText::localCaretRect):
3580         * rendering/RenderView.cpp:
3581         (WebCore::RenderView::layout):
3582         * rendering/RootInlineBox.cpp:
3583         (WebCore::RootInlineBox::addHighlightOverflow):
3584         (WebCore::RootInlineBox::adjustPosition):
3585         (WebCore::RootInlineBox::verticallyAlignBoxes):
3586         (WebCore::RootInlineBox::selectionTop):
3587         * rendering/RootInlineBox.h:
3588         (WebCore::RootInlineBox::RootInlineBox):
3589         (WebCore::RootInlineBox::nextRootBox):
3590         (WebCore::RootInlineBox::prevRootBox):
3591         (WebCore::RootInlineBox::lineTop):
3592         (WebCore::RootInlineBox::lineBottom):
3593         (WebCore::RootInlineBox::selectionBottom):
3594         (WebCore::RootInlineBox::selectionHeight):
3595         (WebCore::RootInlineBox::floats):
3596         (WebCore::RootInlineBox::floatsPtr):
3597         (WebCore::RootInlineBox::setLineTopBottomPositions):
3598         * rendering/SVGRootInlineBox.cpp:
3599         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
3600
3601 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
3602
3603         Reviewed by Darin Adler.
3604
3605         https://bugs.webkit.org/show_bug.cgi?id=28431
3606         <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication
3607
3608         Test: http/tests/appcache/auth.html
3609
3610         * loader/appcache/ApplicationCacheGroup.h:
3611         (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled,
3612         always allow it to use stored credentials (we can't ask WebKit client, and maybe we
3613         shouldn't ask it, because it's not a document that's loading these resources).
3614
3615 2009-08-18  Anders Carlsson  <andersca@apple.com>
3616
3617         Reviewed by John Sullivan and David Hyatt.
3618
3619         Fix <rdar://problem/7147996>
3620
3621         * platform/ScrollView.cpp:
3622         (WebCore::ScrollView::setHasHorizontalScrollbar):
3623         (WebCore::ScrollView::setHasVerticalScrollbar):
3624         Update the style of the scroll bars.
3625         
3626         * rendering/RenderScrollbar.cpp:
3627         (WebCore::RenderScrollbar::RenderScrollbar):
3628         Calculate the size of the scrollbar and set it as the frame size.
3629
3630 2009-08-18  Eric Carlson  <eric.carlson@apple.com>
3631
3632         Reviewed by Simon Fraser.
3633
3634         HTMLMediaElement should fire 'progress' event before 'load'
3635         https://bugs.webkit.org/show_bug.cgi?id=28314
3636
3637         Test: media/progress-event-at-least-one.html
3638
3639         * html/HTMLMediaElement.cpp:
3640         (WebCore::HTMLMediaElement::setNetworkState):
3641             Schedule 'progress' event before 'load'.
3642
3643 2009-08-18  Peter Kasting  <pkasting@google.com>
3644
3645         Reviewed by Eric Seidel.
3646
3647         https://bugs.webkit.org/show_bug.cgi?id=28415
3648         Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
3649         have it.
3650
3651         * WebCore.vcproj/QTMovieWin.vcproj:
3652         * WebCore.vcproj/WebCoreGenerated.vcproj:
3653
3654 2009-08-18  Drew Wilson  <atwilson@google.com>
3655
3656         Reviewed by Eric Seidel.
3657
3658         Need to extend DumpRenderTree to expose number of worker threads
3659         https://bugs.webkit.org/show_bug.cgi?id=28292
3660
3661         Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.
3662
3663         Tests: fast/workers/shared-worker-lifecycle.html-disabled
3664                fast/workers/worker-lifecycle.html
3665
3666         * WebCore.base.exp:
3667         Exported WorkerThread::workerThreadCount().
3668         * WebCore.xcodeproj/project.pbxproj:
3669         * workers/WorkerThread.cpp:
3670         Added tracking of the number of worker threads.
3671         (WebCore::threadCountMutex):
3672         (WebCore::WorkerThread::workerThreadCount):
3673         (WebCore::WorkerThread::WorkerThread):
3674         (WebCore::WorkerThread::~WorkerThread):
3675         * workers/WorkerThread.h:
3676
3677 2009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
3678
3679         Unreviewed, build fix.
3680
3681         [Qt] Add new files I forgot to add in r47424.
3682
3683 2009-08-18  Markus Goetz <Markus.Goetz@nokia.com>
3684
3685         Reviewed by Ariya Hidayat.
3686
3687         [Qt] Implement prefetchDNS() function.
3688
3689         * WebCore.pro:
3690         * platform/qt/TemporaryLinkStubs.cpp:
3691
3692 2009-08-18  Kent Tamura  <tkent@chromium.org>
3693
3694         Reviewed by Eric Seidel.
3695
3696         Support for parsing <datalist> element and generating HTMLDataListElement nodes.
3697         https://bugs.webkit.org/show_bug.cgi?id=26915
3698
3699         Tests: fast/forms/datalist-nonoption-child.html
3700                fast/forms/datalist.html
3701
3702         * WebCore.gypi:
3703         * WebCore.pro:
3704         * WebCore.vcproj/WebCore.vcproj:
3705         * WebCore.vcproj/WebCoreCommon.vsprops:
3706         * WebCore.vcproj/build-generated-files.sh:
3707         * WebCore.xcodeproj/project.pbxproj:
3708         * WebCoreSources.bkl:
3709         * css/html.css:
3710         * html/CollectionType.h:
3711         (WebCore::):
3712         * html/HTMLCollection.cpp:
3713         (WebCore::HTMLCollection::itemAfter):
3714         * html/HTMLDataListElement.cpp: Added.
3715         (WebCore::HTMLDataListElement::HTMLDataListElement):
3716         (WebCore::HTMLDataListElement::~HTMLDataListElement):
3717         (WebCore::HTMLDataListElement::checkDTD):
3718         (WebCore::HTMLDataListElement::options):
3719         * html/HTMLDataListElement.h: Added.
3720         * html/HTMLDataListElement.idl: Added.
3721         * html/HTMLElement.cpp:
3722         (WebCore::inlineTagList):
3723         * html/HTMLParser.cpp:
3724         (WebCore::HTMLParser::isAffectedByResidualStyle):
3725         * html/HTMLTagNames.in:
3726
3727 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
3728
3729         Reviewed by Eric Seidel.
3730
3731         -webkit-box-orient:horizontal doesn't work on <button> tag
3732         https://bugs.webkit.org/show_bug.cgi?id=34445
3733
3734         Make a flexible button's anonymous child flexible and pass the
3735         parent's box-orient to the anonymous child.
3736
3737         Also, added a renderName for anonymous flexible boxes.
3738
3739         Test: fast/flexbox/box-orient-button.html
3740
3741         * rendering/RenderBlock.cpp:
3742         (WebCore::RenderBlock::createAnonymousBlock):
3743         * rendering/RenderBlock.h:
3744         * rendering/RenderButton.cpp:
3745         (WebCore::RenderButton::addChild):
3746         (WebCore::RenderButton::setupInnerStyle):
3747         * rendering/RenderFlexibleBox.cpp:
3748         (WebCore::RenderFlexibleBox::renderName):
3749
3750 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
3751
3752         Reviewed by Dave Hyatt.
3753         
3754         Render -webkit-mask via compositing layers when possible
3755         https://bugs.webkit.org/show_bug.cgi?id=28414
3756         
3757         Implement accelerated compositing of -webkit-mask, when combined
3758         with already-composited content.
3759         
3760         RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
3761         and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
3762         GraphicsLayerCA then applies the mask using -[CALayer setMask:].
3763         
3764         The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
3765         confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
3766         indicates that just the mask is painting.
3767         
3768         When painting the composited mask, we need to paint with the normal compositing
3769         mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
3770         layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
3771         need to make transparency layers.
3772         
3773         We no longer have to throw video rendering into software because of masks.
3774         
3775         When a masked element has composited descendants, that element needs to
3776         become composited so that the mask can be applied via compositing.
3777
3778         Tests: compositing/masks/masked-ancestor.html
3779                compositing/masks/simple-composited-mask.html
3780
3781         * platform/graphics/GraphicsLayer.cpp:
3782         (WebCore::GraphicsLayer::GraphicsLayer):
3783         * platform/graphics/GraphicsLayer.h:
3784         (WebCore::GraphicsLayer::maskLayer):
3785         (WebCore::GraphicsLayer::setMaskLayer):
3786         (WebCore::GraphicsLayer::paintingPhase):
3787         (WebCore::GraphicsLayer::setPaintingPhase):
3788         * platform/graphics/GraphicsLayerClient.h:
3789         (WebCore::):
3790         * platform/graphics/mac/GraphicsLayerCA.h:
3791         (WebCore::GraphicsLayerCA::):
3792         * platform/graphics/mac/GraphicsLayerCA.mm:
3793         (WebCore::GraphicsLayerCA::setMaskLayer):
3794         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
3795         (WebCore::GraphicsLayerCA::commitLayerChanges):
3796         (WebCore::GraphicsLayerCA::updateMaskLayer):
3797         * rendering/InlineFlowBox.cpp:
3798         (WebCore::InlineFlowBox::paintMask):
3799         * rendering/RenderBox.cpp:
3800         (WebCore::RenderBox::paintMaskImages):
3801         * rendering/RenderLayer.cpp:
3802         (WebCore::RenderLayer::hasCompositedMask):
3803         * rendering/RenderLayer.h:
3804         (WebCore::RenderLayer::hasCompositedMask):
3805         * rendering/RenderLayerBacking.cpp:
3806         (WebCore::RenderLayerBacking::~RenderLayerBacking):
3807         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
3808         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3809         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3810         (WebCore::RenderLayerBacking::updateForegroundLayer):
3811         (WebCore::RenderLayerBacking::updateMaskLayer):
3812         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
3813         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
3814         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
3815         (WebCore::RenderLayerBacking::paintIntoLayer):
3816         (WebCore::RenderLayerBacking::paintContents):
3817         * rendering/RenderLayerBacking.h:
3818         (WebCore::RenderLayerBacking::hasMaskLayer):
3819         * rendering/RenderLayerCompositor.cpp:
3820         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3821         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
3822         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
3823         * rendering/RenderLayerCompositor.h:
3824
3825 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
3826
3827         Reviewed by Dave Hyatt.
3828
3829         Layer content misplaced with compositing, z-index and overflow
3830         https://bugs.webkit.org/show_bug.cgi?id=28361
3831         
3832         The foreground GraphicsLayer (used to render element foreground when the element has 
3833         negative z-order children) was misplaced when there is a clipping layer (which clips
3834         children). The foreground layer is parented under the clipping layer so that the foreground
3835         depth-sorts with the layer's children, so its geometry needs to be computed relative to
3836         that clipping layer.
3837         
3838         Also clarified some FIXME comments, and corrected a debug-only layer name.
3839
3840         Test: compositing/geometry/clipping-foreground.html
3841
3842         * platform/graphics/mac/GraphicsLayerCA.mm:
3843         (WebCore::GraphicsLayerCA::updateSublayerList):
3844         * rendering/RenderLayerBacking.cpp:
3845         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3846         (WebCore::RenderLayerBacking::updateForegroundLayer):
3847         * rendering/RenderLayerCompositor.cpp:
3848         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3849
3850 2009-08-17  Mark Rowe  <mrowe@apple.com>
3851
3852         Reviewed by Sam Weinig.
3853
3854         Fix leaks of SVGElementInstance seen during regression tests.
3855
3856         r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
3857         not updated to have a create method that adopted the initial reference.  This lead to the instances
3858         of SVGElementInstance allocated by SVGUseElement being leaked.
3859
3860         * svg/SVGElementInstance.h:
3861         (WebCore::SVGElementInstance::create):
3862         * svg/SVGUseElement.cpp:
3863         (WebCore::SVGUseElement::buildPendingResource):
3864         (WebCore::SVGUseElement::buildInstanceTree):
3865         (WebCore::SVGUseElement::handleDeepUseReferencing):
3866
3867 2009-08-17  Brady Eidson  <beidson@apple.com>
3868
3869         Reviewed by Sam Weinig.
3870
3871         Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
3872         Page Cache should support pages with frames.
3873
3874         - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
3875           are solely the responsibility of FrameLoader.
3876         - Enhance some page cache related Logging to help development.
3877
3878         * inspector/InspectorController.cpp:
3879         (WebCore::InspectorController::didCommitLoad):
3880         (WebCore::InspectorController::identifierForInitialRequest):
3881
3882         * loader/DocumentLoader.cpp:
3883         (WebCore::DocumentLoader::DocumentLoader):
3884         * loader/DocumentLoader.h:
3885
3886         * loader/FrameLoader.cpp:
3887         (WebCore::FrameLoader::FrameLoader):
3888         (WebCore::FrameLoader::commitProvisionalLoad):
3889         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
3890         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
3891         * loader/FrameLoader.h:
3892         (WebCore::FrameLoader::isLoadingFromCachedPage):
3893
3894 2009-08-17  Roland Steiner  <rolandsteiner@google.com>
3895
3896         Reviewed by Eric Seidel.
3897
3898         Moved implementation of isAfterContent to RenderObject
3899         (as inline method to avoid potential performance regressions).
3900
3901         BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
3902         (https://bugs.webkit.org/show_bug.cgi?id=28376)
3903
3904         * rendering/RenderBox.cpp:
3905         * rendering/RenderBox.h:
3906         * rendering/RenderInline.cpp:
3907         * rendering/RenderObject.h:
3908         (WebCore::RenderObject::isAfterContent):
3909
3910 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
3911
3912         Reviewed by Darin Adler.
3913
3914         Assertion failure in WebCore::RenderHTMLCanvas::layout
3915         https://bugs.webkit.org/show_bug.cgi?id=12052
3916
3917         Don't handle run-in if the element is not a block element.
3918
3919         Test: fast/runin/nonblock-runin.html
3920
3921         * rendering/RenderBlock.cpp:
3922         (WebCore::RenderBlock::handleRunInChild):
3923
3924 2009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
3925
3926         Reviewed by Darin Adler.
3927
3928         Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
3929         either of the arguments are not finite.
3930
3931         According to
3932         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
3933         "If any of the arguments to createImageData() or getImageData() are
3934         infinite or NaN, or if the createImageData()  method is invoked with
3935         only one argument but that argument is null, the method must instead
3936         raise a NOT_SUPPORTED_ERR  exception."
3937
3938         Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html
3939
3940         * html/canvas/CanvasRenderingContext2D.cpp:
3941         (WebCore::CanvasRenderingContext2D::createImageData):
3942         * html/canvas/CanvasRenderingContext2D.h:
3943         * html/canvas/CanvasRenderingContext2D.idl:
3944
3945 2009-08-17  Jeremy Orlow  <jorlow@chromium.org>
3946
3947         Reviewed by Darin Fisher.
3948
3949         Add a way to release the storage lock
3950         https://bugs.webkit.org/show_bug.cgi?id=28411
3951
3952         Two scripts within the same origin that are accessing LocalStorage must not do
3953         it simultaneously, according to the spec.  There are some cases, however, where
3954         a script might want to override this behavior.  navigator.getStorageUpdates()
3955         was added for this reason:
3956         http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex
3957
3958         Add this function to navigator and hook it up to DOM Storage.
3959
3960         * page/Navigator.cpp:
3961         (WebCore::Navigator::getStorageUpdates):
3962         * page/Navigator.h:
3963         * page/Navigator.idl:
3964         * storage/StorageNamespace.h:
3965         * storage/StorageNamespaceImpl.cpp:
3966         (WebCore::StorageNamespaceImpl::unlock):
3967         * storage/StorageNamespaceImpl.h:
3968
3969 2009-08-17  Mark Rowe  <mrowe@apple.com>
3970
3971         Build fix.
3972
3973         CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
3974         We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
3975         results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
3976         Windows though so we explicitly include this header from the prefix header when on Windows.
3977
3978         * WebCorePrefix.h:
3979         * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
3980
3981 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
3982
3983         Trying a better build fix (the previous one broke Leopard bots, although it did build for me).
3984
3985         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
3986
3987 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
3988
3989         Trying to fix Windows build.
3990
3991         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
3992
3993 2009-08-17  Peter Kasting  <pkasting@google.com>
3994
3995         Reviewed by Steve Falkenburg.
3996
3997         https://bugs.webkit.org/show_bug.cgi?id=27323
3998         Only add Cygwin to the path when it isn't already there.  This avoids
3999         causing problems for people who purposefully have non-Cygwin versions of
4000         executables like svn in front of the Cygwin ones in their paths.
4001
4002         * WebCore.vcproj/QTMovieWin.vcproj:
4003         * WebCore.vcproj/WebCoreCommon.vsprops:
4004         * WebCore.vcproj/WebCoreGenerated.vcproj:
4005
4006 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
4007
4008         Reviewed by Geoff Garen.
4009
4010         https://bugs.webkit.org/show_bug.cgi?id=28401
4011         Add support for DNS prefetching with CFNetwork
4012
4013         This is just an optimization, no behavior change, so no tests.
4014
4015         * platform/network/cf/DNSCFNet.cpp:
4016         (WebCore::clientCallback):
4017         (WebCore::prefetchDNS):
4018         Use async CFHostStartInfoResolution() for implementation.
4019
4020 2009-08-17  Aaron Boodman  <aa@chromium.org>
4021
4022         Reviewed by Alexey Proskuryakov.
4023
4024         https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
4025         ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.
4026
4027         Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
4028         redirects access control, so we should never redirect across origins. But in two edge cases, we were:
4029
4030         * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
4031           authorization headers) to a resource on origin A.
4032         * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
4033           authorization headers) to another resource on origin B (this time sending access control authorization headers).
4034
4035         Test: http/tests/xmlhttprequest/access-control-and-redirects.html
4036
4037         * loader/DocumentThreadableLoader.cpp:
4038         (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
4039         (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
4040         (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
4041         * loader/DocumentThreadableLoader.h:
4042         * loader/ThreadableLoader.h:
4043         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
4044         * page/EventSource.cpp:
4045         (WebCore::EventSource::connect): Ditto.
4046         * workers/Worker.cpp: Ditto.
4047         (WebCore::Worker::Worker): Ditto.
4048         * workers/WorkerContext.cpp: Ditto.
4049         (WebCore::WorkerContext::importScripts): Ditto.
4050         * workers/WorkerScriptLoader.cpp:
4051         (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
4052         (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
4053         * workers/WorkerScriptLoader.h: 
4054         * xml/XMLHttpRequest.cpp:
4055         (WebCore::XMLHttpRequest::createRequest): Ditto.
4056
4057 2009-08-17  Adam Langley  <agl@google.com>
4058
4059         Reviewed by Dan Bernstein (relanding of r47157).
4060
4061         Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
4062
4063         https://bugs.webkit.org/show_bug.cgi?id=28172
4064
4065         This was originally fixed in r47157, however it triggered a bug in
4066         Skia which caused Chromium Linux to fail layout tests in debug mode.
4067         It was reverted in r47189 while we sorted it out.
4068
4069         The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
4070         Chromium's r23523. This is a reland of the original patch.
4071
4072         No new tests because it's a just typo fix.
4073
4074         [1] http://code.google.com/p/skia/source/detail?r=321
4075
4076         * platform/graphics/skia/PlatformContextSkia.cpp:
4077         (PlatformContextSkia::setupPaintCommon):
4078
4079 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
4080
4081         Reviewed by Xan Lopez.
4082
4083         Protect ResourceHandle for g_file_query_info_async call, using the
4084         same technique we already use for HTTP requests that take the soup
4085         path.
4086
4087         * platform/network/soup/ResourceHandleSoup.cpp:
4088         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
4089         (WebCore::ResourceHandle::~ResourceHandle):
4090         (WebCore::finishedCallback):
4091         (WebCore::):
4092
4093 2009-08-17  Dan Bernstein  <mitz@apple.com>
4094
4095         Reviewed by Darin Adler.
4096
4097         REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
4098         appears below the main content
4099         https://bugs.webkit.org/show_bug.cgi?id=28350
4100
4101         A particular version of the MediaWiki software detects WebKit through
4102         user agent sniffing and imports a style sheet called KHTMLFixes.css,
4103         which contains a single rule that was meant to work around some KHTML
4104         bug, but currently has the sole effect of causing the float containing
4105         the main article content to extend all the way to the left and thus push
4106         down the left navigation pane.
4107
4108         * css/CSSImportRule.cpp:
4109         (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
4110         enabled, check if the imported style sheet is the MediaWiki
4111         KHTMLFixes.css. If so, remove the offending rule.
4112
4113 2009-08-17  Brent Fulgham  <bfulgham@webkit.org>
4114
4115         Reviewed by Kevin Ollivier.
4116
4117         Correct crash when processing local cancelled requests.
4118
4119         No new tests. Existing fast/images/favicon-as-image.html
4120         displays the problem.
4121
4122         * platform/network/curl/ResourceHandleManager.cpp:
4123         (WebCore::writeCallback): Add check for m_cancelled after
4124           performing local-file processing.
4125         (WebCore::ResourceHandleManager::downloadTimerCallback): Add
4126           check for m_cancelled after performing local-file processing.
4127
4128 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
4129
4130         Unreviewed. Reverts 47371, since it breaks GTK+.
4131
4132         * platform/graphics/ImageSource.cpp:
4133         (WebCore::ImageSource::setData):
4134         * platform/image-decoders/ImageDecoder.cpp: Removed.
4135         * platform/image-decoders/ImageDecoder.h:
4136         (WebCore::ImageDecoder::ImageDecoder):
4137         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
4138         (WebCore::convertCMYKToRGBA):
4139         (WebCore::convertRGBToRGBA):
4140         (WebCore::JPEGImageDecoder::outputScanlines):
4141         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
4142         * platform/image-decoders/png/PNGImageDecoder.cpp:
4143         (WebCore::PNGImageDecoder::headerAvailable):
4144         (WebCore::PNGImageDecoder::rowAvailable):
4145
4146 2009-08-17  Yong Li  <yong.li@torchmobile.com>
4147
4148         Reviewed by Adam Treat.
4149
4150         Allow image decoders to down-sample the image directly
4151         to scaled output buffer. This can be enabled/disabled by
4152         macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
4153         Only JPEG and PNG decoders are modified to support it now.
4154         https://bugs.webkit.org/show_bug.cgi?id=28308
4155
4156         * platform/graphics/ImageSource.cpp:
4157         (WebCore::ImageSource::setData):
4158         * platform/image-decoders/ImageDecoder.cpp: Added.
4159         * platform/image-decoders/ImageDecoder.h:
4160         (WebCore::ImageDecoder::ImageDecoder):
4161         (WebCore::ImageDecoder::setMaxNumPixels):
4162         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
4163         (WebCore::convertCMYKToRGBA):
4164         (WebCore::convertRGBToRGBA):
4165         (WebCore::JPEGImageDecoder::outputScanlines):
4166         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
4167         (WebCore::JPEGImageDecoder::setSize):
4168         * platform/image-decoders/png/PNGImageDecoder.cpp:
4169         (WebCore::PNGImageDecoder::headerAvailable):
4170         (WebCore::PNGImageDecoder::rowAvailable):
4171
4172 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
4173
4174         Build fix: fix float literals to avoid casting warnings.
4175
4176         * rendering/MediaControlElements.cpp:
4177
4178 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
4179
4180         Reviewed by Eric Seidel.
4181
4182         Use OwnPtrs for GraphicsLayers
4183         https://bugs.webkit.org/show_bug.cgi?id=28399
4184
4185         Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
4186         for their references to GraphicsLayers.
4187
4188         * platform/graphics/GraphicsLayer.h:
4189         * platform/graphics/mac/GraphicsLayerCA.mm:
4190         (WebCore::GraphicsLayer::create):
4191         * rendering/RenderLayerBacking.cpp:
4192         (WebCore::RenderLayerBacking::RenderLayerBacking):
4193         (WebCore::RenderLayerBacking::createGraphicsLayer):
4194         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
4195         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
4196         (WebCore::RenderLayerBacking::updateInternalHierarchy):
4197         (WebCore::RenderLayerBacking::updateClippingLayers):
4198         (WebCore::RenderLayerBacking::updateForegroundLayer):
4199         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
4200         * rendering/RenderLayerBacking.h:
4201         (WebCore::RenderLayerBacking::graphicsLayer):
4202         (WebCore::RenderLayerBacking::clippingLayer):
4203         (WebCore::RenderLayerBacking::ancestorClippingLayer):
4204         (WebCore::RenderLayerBacking::foregroundLayer):
4205         (WebCore::RenderLayerBacking::parentForSublayers):
4206         (WebCore::RenderLayerBacking::childForSuperlayers):
4207         * rendering/RenderLayerCompositor.cpp:
4208         (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
4209         (WebCore::RenderLayerCompositor::rootPlatformLayer):
4210         (WebCore::RenderLayerCompositor::didMoveOnscreen):
4211         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
4212         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):