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