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