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