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