<rdar://problem/10350775> REGRESSION (r97032): Slider thumb is not drawn
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-26  Dan Bernstein  <mitz@apple.com>
2
3         <rdar://problem/10350775> REGRESSION (r97032): Slider thumb is not drawn
4         https://bugs.webkit.org/show_bug.cgi?id=70891
5
6         Reviewed by Anders Carlsson.
7
8         * platform/mac/ThemeMac.mm:
9         (WebCore::ThemeMac::ensuredView): Set the WebCoreFlippedView’s size, because NSSliderCell
10         always shrinks the slider thumb to fit in the control view’s bounds.
11         * rendering/RenderThemeMac.mm:
12         (WebCore::RenderThemeMac::paintSliderThumb): Removed workaround code no longer needed after
13         r97032.
14
15 2011-10-26  Chris Rogers  <crogers@google.com>
16
17         Add AudioSourceProviderClient and setFormat() method so we can know audio stream format
18         https://bugs.webkit.org/show_bug.cgi?id=70155
19
20         Reviewed by Eric Carlson.
21
22         No new tests.  There isn't yet an implementation to test.
23
24         * html/HTMLMediaElement.cpp:
25         (WebCore::HTMLMediaElement::createMediaPlayer):
26         (WebCore::HTMLMediaElement::setAudioSourceNode):
27         Let MediaPlayer know about the MediaElementAudioSourceNode so it can callback with audio stream format information.
28         * platform/audio/AudioSourceProvider.h:
29         (WebCore::AudioSourceProvider::setClient):
30         Add abstract setClient() method so a client may know about stream format information when it becomes available.
31         * platform/audio/AudioSourceProviderClient.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
32         (WebCore::AudioSourceProviderClient::~AudioSourceProviderClient):
33         Add abstract class AudioSourceProviderClient which implements setFormat() to receive audio stream format information.
34         * webaudio/MediaElementAudioSourceNode.cpp:
35         (WebCore::MediaElementAudioSourceNode::setFormat):
36         Concrete implementation of setFormat() so MediaElementAudioSourceNode can create necessary audio converters.
37         * webaudio/MediaElementAudioSourceNode.h:
38         Make MediaElementAudioSourceNode implement AudioSourceProviderClient so it can get audio stream format information
39         when its setFormat() method is called.
40
41 2011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
42
43         Unreviewed, rolling out r98483.
44         http://trac.webkit.org/changeset/98483
45         https://bugs.webkit.org/show_bug.cgi?id=47156
46
47         Change is causing some crashes and ASSERTs.
48
49         * loader/cache/CachedImage.cpp:
50         (WebCore::CachedImage::lookupImageForSize):
51         (WebCore::CachedImage::lookupImageForRenderer):
52         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
53         (WebCore::CachedImage::setContainerSizeForRenderer):
54         (WebCore::CachedImage::imageSizeForRenderer):
55         (WebCore::CachedImage::computeIntrinsicDimensions):
56         (WebCore::CachedImage::createImage):
57         * loader/cache/CachedImage.h:
58         * page/ChromeClient.h:
59         * rendering/ImageBySizeCache.cpp:
60         (WebCore::ImageBySizeCache::addClient):
61         (WebCore::ImageBySizeCache::removeClient):
62         (WebCore::ImageBySizeCache::imageForSize):
63         (WebCore::ImageBySizeCache::sizeForClient):
64         * rendering/ImageBySizeCache.h:
65         * rendering/RenderBoxModelObject.cpp:
66         (WebCore::RenderBoxModelObject::calculateFillTileSize):
67         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
68         (WebCore::RenderBoxModelObject::paintNinePieceImage):
69         * rendering/RenderBoxModelObject.h:
70         * rendering/RenderImage.cpp:
71         (WebCore::RenderImage::RenderImage):
72         (WebCore::RenderImage::imageDimensionsChanged):
73         (WebCore::RenderImage::isLogicalWidthSpecified):
74         (WebCore::RenderImage::isLogicalHeightSpecified):
75         (WebCore::RenderImage::computeReplacedLogicalWidth):
76         (WebCore::RenderImage::computeReplacedLogicalHeight):
77         (WebCore::RenderImage::calcAspectRatioLogicalWidth):
78         (WebCore::RenderImage::calcAspectRatioLogicalHeight):
79         * rendering/RenderImage.h:
80         * rendering/RenderImageResource.cpp:
81         (WebCore::RenderImageResource::setContainerSizeForRenderer):
82         * rendering/RenderImageResourceStyleImage.cpp:
83         * rendering/RenderImageResourceStyleImage.h:
84         (WebCore::RenderImageResourceStyleImage::image):
85         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer):
86         * rendering/RenderListMarker.cpp:
87         (WebCore::RenderListMarker::computePreferredLogicalWidths):
88         * rendering/RenderReplaced.cpp:
89         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
90         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
91         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
92         * rendering/style/StyleCachedImage.cpp:
93         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
94         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
95         (WebCore::StyleCachedImage::addClient):
96         (WebCore::StyleCachedImage::removeClient):
97         * rendering/style/StyleCachedImage.h:
98         * rendering/style/StyleGeneratedImage.h:
99         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer):
100         * rendering/style/StyleImage.h:
101         * rendering/style/StylePendingImage.h:
102         (WebCore::StylePendingImage::setContainerSizeForRenderer):
103         * rendering/svg/RenderSVGImage.cpp:
104         (WebCore::RenderSVGImage::layout):
105         * rendering/svg/RenderSVGRoot.cpp:
106         (WebCore::RenderSVGRoot::computeIntrinsicWidth):
107         (WebCore::RenderSVGRoot::computeIntrinsicHeight):
108         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
109         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
110         (WebCore::RenderSVGRoot::layout):
111         (WebCore::RenderSVGRoot::paint):
112         (WebCore::RenderSVGRoot::calcViewport):
113         (WebCore::RenderSVGRoot::computeRectForRepaint):
114         * rendering/svg/RenderSVGRoot.h:
115         * svg/SVGLength.cpp:
116         (WebCore::SVGLength::determineViewport):
117         * svg/SVGSVGElement.cpp:
118         (WebCore::SVGSVGElement::SVGSVGElement):
119         (WebCore::SVGSVGElement::relativeWidthValue):
120         (WebCore::SVGSVGElement::relativeHeightValue):
121         (WebCore::SVGSVGElement::currentViewBoxRect):
122         * svg/SVGSVGElement.h:
123         (WebCore::SVGSVGElement::setContainerSize):
124         (WebCore::SVGSVGElement::containerSize):
125         (WebCore::SVGSVGElement::hasSetContainerSize):
126         * svg/graphics/SVGImage.cpp:
127         (WebCore::SVGImage::setContainerSize):
128         (WebCore::SVGImage::usesContainerSize):
129         (WebCore::SVGImage::size):
130         (WebCore::SVGImage::hasRelativeWidth):
131         (WebCore::SVGImage::hasRelativeHeight):
132         (WebCore::SVGImage::draw):
133         (WebCore::SVGImage::computeIntrinsicDimensions):
134         (WebCore::SVGImage::dataChanged):
135         * svg/graphics/SVGImage.h:
136
137 2011-10-26  Eric Carlson  <eric.carlson@apple.com>
138
139         Constructors for all TextTrack interfaces should be available on DOMWindow
140         https://bugs.webkit.org/show_bug.cgi?id=70734
141
142         Reviewed by Sam Weinig.
143         
144         window-properties-expected.txt and global-constructors-expected.txt updated for this change.
145
146         * page/DOMWindow.idl: Add HTMLTrackElement, TextTrack, and TextTrackCueList.
147
148 2011-10-25  Andy Estes  <aestes@apple.com>
149
150         REGRESSION (r93108): Shadow DOM media controls created for plug-in backed media elements.
151         https://bugs.webkit.org/show_bug.cgi?id=70872
152
153         Reviewed by Eric Carlson.
154
155         r93108 added a call to HTMLMediaElement::configureMediaControls() in
156         HTMLMediaElement::prepareForLoad(), which creates shadow DOM media
157         controls and is only appropriate to call when media elements are not
158         backed by plug-in proxies.
159
160         Resolve this by refactoring configureMediaControls() to do the right
161         thing for the plug-in proxy case by calling MediaPlayer::setControls().
162
163         * html/HTMLMediaElement.cpp:
164         (WebCore::HTMLMediaElement::attributeChanged): Call
165         configureMediaControls() directly and remove the preprocessor
166         conditional.
167         (WebCore::HTMLMediaElement::configureMediaControls): Call
168         MediaPlayer::setControls() if PLUGIN_PROXY_FOR_VIDEO is enabled.
169
170 2011-10-26  Jon Lee  <jonlee@apple.com>
171
172         selectedIndex gets set from -1 to 0 when modifying options
173         https://bugs.webkit.org/show_bug.cgi?id=70547
174         <rdar://problem/8388856>
175
176         Reviewed by Darin Adler.
177
178         Changing the text causes a recalculation of the list items, which in the menu list case
179         forces the first element to be selected. We check the value of the selected option prior,
180         and restore it if it differs.
181
182         Test: fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes.html
183
184         * html/HTMLOptionElement.cpp:
185         (WebCore::HTMLOptionElement::setText):
186         * html/HTMLSelectElement.h: promote usesMenuList() from private to public for use by HTMLOptionElement
187
188 2011-10-25  Alexey Proskuryakov  <ap@apple.com>
189
190         Embedded PDFs should be known to DocumentLoader
191         https://bugs.webkit.org/show_bug.cgi?id=70864
192
193         Reviewed by Darin Adler.
194
195         * WebCore.exp.in: Added exports.
196
197 2011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
198
199         Remove getOwnPropertySlotVirtual
200         https://bugs.webkit.org/show_bug.cgi?id=70741
201
202         Reviewed by Geoffrey Garen.
203
204         No new tests.
205
206         Removed all declarations and definitions of getOwnPropertySlotVirtual.
207         Also replaced all call sites to getOwnPropertyVirtualVirtual with a 
208         corresponding lookup in the MethodTable.
209
210         * WebCore.exp.in:
211         * bindings/js/JSDOMWindowCustom.cpp:
212         (WebCore::DialogHandler::returnValue):
213         * bindings/js/JSDOMWindowShell.cpp:
214         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
215         * bindings/js/JSDOMWindowShell.h:
216         * bindings/js/SerializedScriptValue.cpp:
217         (WebCore::CloneSerializer::getSparseIndex):
218         (WebCore::CloneSerializer::getProperty):
219         * bindings/scripts/CodeGeneratorJS.pm:
220         (GenerateHeader):
221         (GenerateImplementation):
222         (GenerateConstructorDeclaration):
223         (GenerateConstructorDefinition):
224         * bridge/objc/objc_runtime.h:
225         * bridge/objc/objc_runtime.mm:
226         * bridge/qt/qt_runtime.cpp:
227         * bridge/qt/qt_runtime.h:
228         * bridge/runtime_array.cpp:
229         * bridge/runtime_array.h:
230         * bridge/runtime_method.cpp:
231         * bridge/runtime_method.h:
232         * bridge/runtime_object.cpp:
233         * bridge/runtime_object.h:
234
235 2011-10-26  Alejandro G. Castro  <alex@igalia.com>
236
237         [GTK] Fix distcheck compilation
238         https://bugs.webkit.org/show_bug.cgi?id=70921
239
240         Add EventTargetFactory.in to the dist files, required after
241         r98388.
242
243         Reviewed by Martin Robinson.
244
245         * GNUmakefile.am:
246
247 2011-10-26  Michael Saboff  <msaboff@apple.com>
248
249         Increase StringImpl Flag Bits for 8 bit Strings
250         https://bugs.webkit.org/show_bug.cgi?id=70937
251
252         Increased the number of bits used for flags in StringImpl
253         from 6 to 8 bits. This frees up 2 flag bits that will be
254         used for 8-bit string support. Updated hash methods accordingly.
255         Changed hash value masking from the low bits to the high
256         bits.
257
258         Reviewed by Darin Adler.
259
260         * bindings/scripts/CodeGeneratorJS.pm:
261         (GenerateHashValue):
262
263 2011-10-26  Dimitri Glazkov  <dglazkov@chromium.org>
264
265         REGRESSION (r94887): Scrolling the HTML spec is more jerky now than it was (regression)
266         https://bugs.webkit.org/show_bug.cgi?id=70857
267
268         Revert r94887, because it regressed performance.
269
270         Rubber-stamped by Antti Koivisto.
271
272         * css/CSSStyleSelector.cpp:
273         (WebCore::CSSStyleSelector::canShareStyleWithElement):
274         (WebCore::parentStylePreventsSharing):
275         * css/SelectorChecker.cpp:
276         (WebCore::SelectorChecker::checkSelector):
277         * dom/Element.cpp:
278         (WebCore::Element::recalcStyle):
279         (WebCore::checkForSiblingStyleChanges):
280         * rendering/style/RenderStyle.cpp:
281         (WebCore::RenderStyle::RenderStyle):
282         * rendering/style/RenderStyle.h:
283         (WebCore::InheritedFlags::childrenAffectedByDirectAdjacentRules):
284         (WebCore::InheritedFlags::setChildrenAffectedByDirectAdjacentRules):
285
286 2011-10-26  Alexander Pavlov  <apavlov@chromium.org>
287
288         Web Inspector: Need workaround for the red crossed circle in the status bar not bringing up the console when clicked
289         https://bugs.webkit.org/show_bug.cgi?id=70928
290
291         Reviewed by Pavel Feldman.
292
293         * inspector/front-end/inspector.css:
294         (#error-count-img):
295         (#error-count + #warning-count-img):
296         (#warning-count-img):
297         * inspector/front-end/inspector.js:
298         (WebInspector._updateErrorAndWarningCounts):
299
300 2011-10-26  Mike Reed  <reed@google.com>
301
302         [skia] replace offscreen technique with native support for antialiased clipping
303         https://bugs.webkit.org/show_bug.cgi?id=70748
304
305         Reviewed by Stephen White.
306
307         ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
308         bits of the result. Other than that, the results should be the same, except that now the drawing
309         can go directly to the canvas, rather than being direct offscreen and then have that result
310         "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
311         antialiased clip area.
312
313         * platform/graphics/skia/PlatformContextSkia.cpp:
314         (WebCore::PlatformContextSkia::State::State):
315         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
316         (WebCore::PlatformContextSkia::clipPathAntiAliased):
317         (WebCore::PlatformContextSkia::restore):
318
319 2011-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
320
321         CSS 2.1 failure: background-intrinsic-*
322         https://bugs.webkit.org/show_bug.cgi?id=47156
323
324         SVGs do not work as tiled background images
325         https://bugs.webkit.org/show_bug.cgi?id=16281
326
327         Apply preserveAspectRatio and synthesize viewboxes in <img>
328         https://bugs.webkit.org/show_bug.cgi?id=34521
329
330         SVG background doesn't resize properly when dimensions are changed
331         https://bugs.webkit.org/show_bug.cgi?id=42944
332
333         Images with percent height inside a floated div should use intrinsic height.
334         https://bugs.webkit.org/show_bug.cgi?id=45439
335
336         SVG image in HTML changes size as the window is resized
337         https://bugs.webkit.org/show_bug.cgi?id=52045
338
339         Reviewed by Antti Koivisto.
340
341         Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
342         This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
343
344         Tests: css2.1/20110323/background-intrinsic-001.htm
345                css2.1/20110323/background-intrinsic-002.htm
346                css2.1/20110323/background-intrinsic-003.htm
347                css2.1/20110323/background-intrinsic-004.htm
348                css2.1/20110323/background-intrinsic-005.htm
349                css2.1/20110323/background-intrinsic-006.htm
350                css2.1/20110323/background-intrinsic-007.htm
351                css2.1/20110323/background-intrinsic-008.htm
352                css2.1/20110323/background-intrinsic-009.htm
353                svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
354                svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
355                svg/as-background-image/same-image-two-instances-background-image.html
356                svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
357                svg/as-image/same-image-two-instances.html
358                svg/as-image/svg-as-relative-image-with-explicit-size.html
359                svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
360                svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
361
362         * loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
363         (WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
364         (WebCore::CachedImage::lookupImageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
365         (WebCore::createSVGImage): Refactored from createImage(), contains the SVGImage creation part only.
366         (WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
367         (WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
368         (WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
369         (WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
370         (WebCore::CachedImage::addClientForRenderer): Special variant of addClient(), overriding the existing in CachedResource.
371         (WebCore::CachedImage::removeClientForRenderer): Special variant of removeClient(), that also clears the image in the ImageBySizeCache.
372         (WebCore::CachedImage::createImage): Refactor SVGImage creation into createSVGImage() free function, to be useable from lookupOrCreateImageForRenderer().
373         * loader/cache/CachedImage.h: Expose removeClientForRenderer().
374         * page/ChromeClient.h:
375         (WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
376         * rendering/ImageBySizeCache.cpp:
377         (WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
378         (WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
379         (WebCore::ImageBySizeCache::setClient): New helper function, that combines the usage of addClient/removeClient, for the use in CachedImage.
380         (WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
381         (WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
382         * rendering/ImageBySizeCache.h: Expose setClient() & imageForRenderer().
383         * rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
384         (WebCore::resolveWidthForRatio): New inline helper function used bz calculateImageIntrinsicDimensions.
385         (WebCore::resolveHeightForRatio): Ditto.
386         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
387         (WebCore::resolveAgainstIntrinsicRatio):  Ditto.
388         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
389         (WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
390         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
391         (WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
392         * rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
393         * rendering/RenderImage.cpp:
394         (WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
395         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
396         (WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
397         (WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
398         (WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
399         (WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
400         (WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
401         * rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
402         * rendering/RenderImageResource.cpp:
403         (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
404         * rendering/RenderImageResourceStyleImage.cpp:
405         (WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
406         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
407         * rendering/RenderImageResourceStyleImage.h:
408         * rendering/RenderListMarker.cpp:
409         (WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
410         * rendering/RenderReplaced.cpp:
411         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
412         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
413         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
414         * rendering/style/StyleCachedImage.cpp:
415         (WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
416         (WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
417         (WebCore::StyleCachedImage::addClient): Forward to new addClientForRenderer().
418         (WebCore::StyleCachedImage::removeClient): Call new removeClientForRenderer() instead of removeClient(), so the ImageBySizeCache is also updated.
419         * rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
420         * rendering/style/StyleGeneratedImage.h:
421         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
422         * rendering/style/StyleImage.h: Ditto.
423         * rendering/style/StylePendingImage.h:
424         (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
425         * rendering/svg/RenderSVGImage.cpp:
426         (WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
427         * rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
428         (WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
429         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
430         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
431         (WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
432         (WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize. 
433         (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
434         * rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
435         (WebCore::RenderSVGRoot::containerSize):
436         (WebCore::RenderSVGRoot::setContainerSize):
437         * svg/SVGLength.cpp:
438         (WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
439         * svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
440         (WebCore::SVGSVGElement::SVGSVGElement): Ditto.
441         (WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
442         * svg/SVGSVGElement.h:
443         * svg/graphics/SVGImage.cpp:
444         (WebCore::SVGImageChromeClient::setObserver): Helper function.
445         (WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
446         (WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
447         (WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
448         (WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
449         (WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
450         (WebCore::SVGImage::draw): Stop calling layout() while painting!
451         (WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
452         (WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation. 
453         (WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
454         * svg/graphics/SVGImage.h:
455
456 2011-10-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
457
458         Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
459         https://bugs.webkit.org/show_bug.cgi?id=70328
460
461         Reviewed by Simon Hausmann.
462
463         Also remove checks for m_client in DeviceMotionController as it can never be null.
464
465         No new tests, as the suspend/resume functionality is not fully working yet.
466
467         * dom/DeviceMotionController.cpp:
468         (WebCore::DeviceMotionController::timerFired):
469         (WebCore::DeviceMotionController::addListener):
470         (WebCore::DeviceMotionController::removeListener):
471         (WebCore::DeviceMotionController::removeAllListeners):
472         (WebCore::DeviceMotionController::suspend):
473         (WebCore::DeviceMotionController::resume):
474         * dom/DeviceMotionController.h:
475         * dom/DeviceOrientationController.cpp:
476         (WebCore::DeviceOrientationController::suspend):
477         (WebCore::DeviceOrientationController::resume):
478         * dom/DeviceOrientationController.h:
479         * dom/Document.cpp:
480         (WebCore::Document::suspendActiveDOMObjects):
481         (WebCore::Document::resumeActiveDOMObjects):
482         (WebCore::Document::stopActiveDOMObjects):
483         * dom/Document.h:
484         * dom/ScriptExecutionContext.h:
485         * page/GeolocationController.cpp:
486         (WebCore::GeolocationController::GeolocationController):
487         (WebCore::GeolocationController::removeObserver):
488         (WebCore::GeolocationController::suspend):
489         (WebCore::GeolocationController::resume):
490         * page/GeolocationController.h:
491
492 2011-10-26  Pavel Feldman  <pfeldman@google.com>
493
494         Not reviewed: follow up to 98236 - moved inspector settings initialization earlier to unbreak settings panel.
495
496         * inspector/front-end/TextEditorModel.js:
497         (WebInspector.TextEditorModel):
498
499 2011-10-26  Zalan Bujtas  <zbujtas@gmail.com>
500
501         Name viewport change event consistently.
502         https://bugs.webkit.org/show_bug.cgi?id=70901
503
504         Reviewed by Kenneth Rohde Christiansen.
505
506         Use ViewportPropertiesDidChange term consistently throughout WebKit.
507
508         No tests needed as the change is only method renaming.
509
510         * page/Chrome.cpp:
511         (WebCore::Chrome::dispatchViewportPropertiesDidChange):
512         * page/Chrome.h:
513         * page/ChromeClient.h:
514         (WebCore::ChromeClient::dispatchViewportPropertiesDidChange):
515         * page/Page.cpp:
516         (WebCore::Page::updateViewportArguments):
517
518 2011-10-25  Stephen White  <senorblanco@chromium.org>
519
520         [chromium] Canvas2D should rate-limit drawing to prevent swamping the GPU process.
521         https://bugs.webkit.org/show_bug.cgi?id=70367
522
523         Reviewed by James Robinson.
524
525         Sadly, we don't have infrastructure to test this kind of GPU swamping
526         yet.
527
528         * WebCore.gypi:
529         Add RateLimiter.* to the Chromium build.
530         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
531         (WebCore::Canvas2DLayerChromium::contentChanged):
532         When the layer is notified that the contents have changed, ping the
533         rate limiter.
534         * platform/graphics/chromium/Canvas2DLayerChromium.h:
535         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
536         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
537         Call (new) virtual contentChanged() on a layer when its contents have
538         been changed (e.g., by a drawing call).
539         * platform/graphics/chromium/LayerChromium.h:
540         (WebCore::LayerChromium::contentChanged):
541         New virtual contentChanged().
542         * platform/graphics/chromium/RateLimiter.cpp: Added.
543         (WebCore::RateLimiter::create):
544         Rate limiter factory function.
545         (WebCore::RateLimiter::RateLimiter):
546         (WebCore::RateLimiter::start):
547         Public API to start rate limiting a context.
548         (WebCore::RateLimiter::stop):
549         Public API to stop rate limiting a context.
550         (WebCore::RateLimiter::rateLimitContext):
551         Internal timer callback when a context should be rate limited.
552         * platform/graphics/chromium/RateLimiter.h: Added.
553         * platform/graphics/chromium/WebGLLayerChromium.cpp:
554         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
555         Remove rate limiting timer and extension check (moved to RateLimiter).
556         (WebCore::WebGLLayerChromium::contentChanged):
557         The function formerly known as setTextureUpdated(), now renamed to
558         match the base class virtual contentChanged().  Call rate limiter in
559         CCLayerTreeHost (local implementation removed).
560         (WebCore::WebGLLayerChromium::setContext):
561         When the context is changed, stop the pending rate limiter on the old
562         context.  Remove extension check (moved to RateLimiter).
563         * platform/graphics/chromium/WebGLLayerChromium.h:
564         Remove rate limiting timer and extension check (moved to RateLimiter).
565         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
566         (WebCore::CCLayerTreeHost::startRateLimiter):
567         Public API for starting per-context rate limiter.
568         (WebCore::CCLayerTreeHost::stopRateLimiter):
569         Public API for stopping per-context rate limiter.
570         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
571         Implementation of per-GraphicsContext3D RateLimiter.
572
573
574 2011-10-26  Pavel Feldman  <pfeldman@chromium.org>
575
576         Not reviewed: fixing inspector extensions tests.
577
578         * inspector/front-end/ConsoleMessage.js:
579         (WebInspector.ConsoleMessageImpl):
580         * inspector/front-end/ExtensionServer.js:
581         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
582
583 2011-10-26  Balazs Kelemen  <kbalazs@webkit.org>
584
585         ParallelJobs path of FEConvolveMatrix is erroneous
586         https://bugs.webkit.org/show_bug.cgi?id=70409
587
588         Reviewed by Zoltan Herczeg.
589
590         Covered by existing tests.
591
592         * platform/graphics/filters/FEConvolveMatrix.cpp:
593         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
594         Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
595         The bug was hidden so far because that computation has no effect when we are going
596         with the full inferior area in one round (in that case clipBottom and yEnd are equals
597         and the value of the expression is always 0). With ParallelJobs we process sub-areas
598         on each thread which has triggered the issue.
599
600 2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
601
602         Unreviewed, rolling out r98393.
603         http://trac.webkit.org/changeset/98393
604         https://bugs.webkit.org/show_bug.cgi?id=70892
605
606         "Compilation is broken on Chromium Webkit Mac Builder (dbg) "
607         (Requested by yurys on #webkit).
608
609         * platform/graphics/chromium/LayerChromium.h:
610         (WebCore::LayerChromium::setMasksToBounds):
611         (WebCore::LayerChromium::setMaskLayer):
612
613 2011-10-26  Pavel Feldman  <pfeldman@google.com>
614
615         Web Inspector: order console message parameters for better optional parameters handling.
616         https://bugs.webkit.org/show_bug.cgi?id=70809
617
618         Reviewed by Yury Semikhatsky.
619
620         * inspector/Inspector.json:
621         * inspector/front-end/ConsoleMessage.js:
622         (WebInspector.ConsoleMessageImpl):
623         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
624         * inspector/front-end/ConsoleModel.js:
625         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
626         (WebInspector.ConsoleMessage.create):
627         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
628         * inspector/front-end/ConsoleView.js:
629         (WebInspector.ConsoleCommandResult):
630         (WebInspector.ConsoleMessage.create):
631         * inspector/front-end/ExtensionServer.js:
632         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
633         * inspector/front-end/NetworkManager.js:
634         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
635         * inspector/front-end/inspector.js:
636         (WebInspector.log.logMessage):
637         (WebInspector.log):
638
639 2011-10-26  Vsevolod Vlasov  <vsevik@chromium.org>
640
641         Web Inspector: Debugger fails when there is an invalid watch expression.
642         https://bugs.webkit.org/show_bug.cgi?id=70718
643
644         Reviewed by Pavel Feldman.
645
646         Test: inspector/debugger/watch-expressions-panel-switch.html
647
648         * inspector/front-end/ScriptsPanel.js:
649         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
650
651 2011-10-26  Fady Samuel  <fsamuel@chromium.org>
652
653         Page Scale Factor broken when navigating history on pages with child frames
654         https://bugs.webkit.org/show_bug.cgi?id=70459
655
656         Reviewed by Darin Fisher.
657
658         With frameScaleFactor now always returning 1.0 for subframes and pageScaleFactor for the mainFrame,
659         and there being only a single pageScaleFactor, history for scaling is broken. Scaling history is
660         saved on a per frame basis but restored, overriding the per-page pageScaleFactor multiple times.
661         As a result, sometimes pages that have subframes end up getting a scale factor of 1.0 instead
662         of the correct scale factor that was assigned to the main frame.
663
664         No new tests because I don't know how to test this.
665
666         * loader/HistoryController.cpp:
667         (WebCore::HistoryController::restoreScrollPositionAndViewState):
668
669 2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
670
671         Unreviewed, rolling out r98429.
672         http://trac.webkit.org/changeset/98429
673         https://bugs.webkit.org/show_bug.cgi?id=70881
674
675         "webkit_gpu_tests fail in Chromium" (Requested by yurys on
676         #webkit).
677
678         * platform/graphics/chromium/LayerRendererChromium.cpp:
679         (WebCore::LayerRendererChromium::initialize):
680         * platform/graphics/chromium/WebGLLayerChromium.cpp:
681         (WebCore::WebGLLayerChromium::layerRendererContext):
682         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
683         (WebCore::CCHeadsUpDisplay::enabled):
684         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
685         (WebCore::CCLayerTreeHost::initialize):
686         (WebCore::CCLayerTreeHost::context):
687         (WebCore::CCLayerTreeHost::setNeedsAnimate):
688         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
689         (WebCore::CCLayerTreeHost::setNeedsRedraw):
690         (WebCore::CCLayerTreeHost::composite):
691         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
692         (WebCore::CCSettings::CCSettings):
693         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
694         (WebCore::CCThreadProxy::setThread):
695         * platform/graphics/chromium/cc/CCThreadProxy.h:
696
697 2011-10-26  Ben Wells  <benwells@chromium.org>
698
699         Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
700         https://bugs.webkit.org/show_bug.cgi?id=66920
701
702         Reviewed by James Robinson.
703
704         Test: fast/canvas/canvas-composite-image.html
705
706         Use the same method as fills to handle composited drawImage calls that will affect the whole
707         canvas. To do this code used when doing fills has been factored into seperate functions and
708         used by drawImage. Some functions used to do these types of operations have also been renamed.
709
710         * html/canvas/CanvasRenderingContext2D.cpp:
711         (WebCore::isFullCanvasCompositeMode):
712         (WebCore::CanvasRenderingContext2D::fill):
713         (WebCore::CanvasRenderingContext2D::fillRect):
714         (WebCore::CanvasRenderingContext2D::drawImage):
715         (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
716         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
717         (WebCore::CanvasRenderingContext2D::compositeBuffer):
718         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
719         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
720         * html/canvas/CanvasRenderingContext2D.h:
721
722 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
723
724         Unreviewed, rolling out r98379.
725         http://trac.webkit.org/changeset/98379
726         https://bugs.webkit.org/show_bug.cgi?id=70875
727
728         Did not pass on JSC ports (Requested by abarth on #webkit).
729
730         * bindings/scripts/CodeGeneratorJS.pm:
731         (GenerateHeader):
732         (GenerateImplementation):
733         * bindings/scripts/CodeGeneratorV8.pm:
734         (GenerateHeader):
735         (GenerateArgumentsCountCheck):
736         (GenerateImplementation):
737         * html/canvas/CanvasRenderingContext2D.idl:
738         * page/DOMWindow.idl:
739
740 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
741
742         Unreviewed, rolling out r98346.
743         http://trac.webkit.org/changeset/98346
744         https://bugs.webkit.org/show_bug.cgi?id=70874
745
746         Breaks JSC-based bots. (Requested by pfeldman on #webkit).
747
748         * inspector/front-end/ScriptsPanel.js:
749         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
750
751 2011-10-25  Nat Duca  <nduca@chromium.org>
752
753         [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
754         https://bugs.webkit.org/show_bug.cgi?id=70838
755
756         Reviewed by James Robinson.
757
758         * platform/graphics/chromium/LayerRendererChromium.cpp:
759         (WebCore::LayerRendererChromium::initialize):
760         * platform/graphics/chromium/WebGLLayerChromium.cpp:
761         (WebCore::WebGLLayerChromium::layerRendererContext):
762         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
763         (WebCore::CCHeadsUpDisplay::enabled):
764         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
765         (WebCore::CCLayerTreeHost::initialize):
766         (WebCore::CCLayerTreeHost::context):
767         (WebCore::CCLayerTreeHost::setNeedsAnimate):
768         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
769         (WebCore::CCLayerTreeHost::setNeedsRedraw):
770         (WebCore::CCLayerTreeHost::composite):
771         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
772         (WebCore::CCSettings::CCSettings):
773         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
774         (WebCore::CCThreadProxy::hasThread):
775         * platform/graphics/chromium/cc/CCThreadProxy.h:
776
777 2011-10-25  Xiaomei Ji  <xji@chromium.org>
778
779         --webkit-visual-word does not work in multi-line
780         https://bugs.webkit.org/show_bug.cgi?id=61344
781
782         Reviewed by Ryosuke Niwa.
783
784         Get next or previous root inline box (which is not in the same
785         render object as the current root inline box) by traversing DOM node.
786
787         Test: editing/selection/move-by-word-visually-inline-block-positioned-element.html
788
789         * editing/visible_units.cpp:
790         (WebCore::previousRootInlineBox):
791         (WebCore::nextRootInlineBox):
792         (WebCore::leftInlineBox):
793         (WebCore::rightInlineBox):
794
795 2011-10-25  Adam Barth  <abarth@webkit.org>
796
797         JSEventTarget.cpp has a bunch of unnessary includes
798         https://bugs.webkit.org/show_bug.cgi?id=70865
799
800         Reviewed by Eric Seidel.
801
802         In the process of removing these includes, I noticed we had a bunch of
803         non-autogenerated code in this file, which I've now autogenerated.
804
805         * bindings/js/JSEventTarget.cpp:
806         (WebCore::toEventTarget):
807             - One subtly here is the outter static_cast, which is caused by an
808               inheritance infelicity in JavaScriptAudioNode, which I've noted
809               with a FIXME.  In any case, the extra static_cast shouldn't cause
810               any trouble.
811         * webaudio/JavaScriptAudioNode.h:
812
813 2011-10-25  Adam Barth  <abarth@webkit.org>
814
815         V8DOMWrapper.cpp has unneeded header includes
816         https://bugs.webkit.org/show_bug.cgi?id=70863
817
818         Reviewed by Eric Seidel.
819
820         * bindings/v8/V8DOMWrapper.cpp:
821
822 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
823
824         Resetting baseline for test bindings
825
826         Unreviewed preemptive build fix
827
828         No new tests.
829
830         * bindings/scripts/test/JS/JSTestObj.cpp:
831         * bindings/scripts/test/JS/JSTestObj.h:
832
833 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
834
835         Remove deletePropertyVirtual
836         https://bugs.webkit.org/show_bug.cgi?id=70738
837
838         Reviewed by Geoffrey Garen.
839
840         No new tests.
841
842         Removed all declarations and definitions of deletePropertyVirtual.
843         Also replaced all call sites to deletePropertyVirtual with a 
844         corresponding lookup in the MethodTable.
845
846         * WebCore.exp.in:
847         * bindings/js/JSDOMStringMapCustom.cpp:
848         (WebCore::JSDOMStringMap::deleteProperty):
849         * bindings/js/JSDOMWindowCustom.cpp:
850         (WebCore::JSDOMWindow::deleteProperty):
851         * bindings/js/JSDOMWindowShell.cpp:
852         (WebCore::JSDOMWindowShell::deleteProperty):
853         * bindings/js/JSDOMWindowShell.h:
854         * bindings/js/JSHistoryCustom.cpp:
855         (WebCore::JSHistory::deleteProperty):
856         * bindings/js/JSLocationCustom.cpp:
857         (WebCore::JSLocation::deleteProperty):
858         * bindings/js/JSStorageCustom.cpp:
859         (WebCore::JSStorage::deleteProperty):
860         * bindings/js/ScriptObject.cpp:
861         (WebCore::ScriptGlobalObject::remove):
862         * bindings/objc/WebScriptObject.mm:
863         (-[WebScriptObject removeWebScriptKey:]):
864         * bindings/scripts/CodeGeneratorJS.pm:
865         (GenerateHeader):
866         * bridge/NP_jsobject.cpp:
867         (_NPN_RemoveProperty):
868         * bridge/jni/jni_jsobject.mm:
869         (JavaJSObject::removeMember):
870         * bridge/objc/objc_runtime.h:
871         * bridge/objc/objc_runtime.mm:
872         * bridge/runtime_array.cpp:
873         * bridge/runtime_array.h:
874         * bridge/runtime_object.cpp:
875         * bridge/runtime_object.h:
876
877 2011-10-25  Chris Fleizach  <cfleizach@apple.com>
878
879         AX: WebKit does not expose HTML label for slider elements
880         https://bugs.webkit.org/show_bug.cgi?id=70856
881
882         Reviewed by Darin Adler.
883
884         Test: platform/mac/accessibility/slider-allows-title-ui-element.html
885
886         * accessibility/AccessibilitySlider.h:
887         (WebCore::AccessibilitySlider::isControl):
888         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
889         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
890
891 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
892
893         Remove putVirtual
894         https://bugs.webkit.org/show_bug.cgi?id=70740
895
896         Reviewed by Geoffrey Garen.
897
898         No new tests.
899
900         Removed all declarations and definitions of putVirtual.
901         Also replaced all call sites to putVirtual with a 
902         corresponding lookup in the MethodTable.
903
904         * WebCore.exp.in:
905         * bindings/js/JSDOMWindowCustom.cpp:
906         * bindings/js/JSDOMWindowShell.cpp:
907         (WebCore::JSDOMWindowShell::put):
908         * bindings/js/JSDOMWindowShell.h:
909         * bindings/js/JSPluginElementFunctions.cpp:
910         (WebCore::runtimeObjectCustomPut):
911         * bindings/js/SerializedScriptValue.cpp:
912         (WebCore::CloneDeserializer::putProperty):
913         * bindings/objc/WebScriptObject.mm:
914         (-[WebScriptObject setValue:forKey:]):
915         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
916         * bindings/scripts/CodeGeneratorJS.pm:
917         (GenerateHeader):
918         (GenerateImplementation):
919         * bridge/NP_jsobject.cpp:
920         (_NPN_SetProperty):
921         * bridge/jni/jni_jsobject.mm:
922         (JavaJSObject::setMember):
923         (JavaJSObject::setSlot):
924         * bridge/objc/objc_runtime.h:
925         * bridge/objc/objc_runtime.mm:
926         * bridge/qt/qt_runtime.cpp:
927         (JSC::Bindings::convertQVariantToValue):
928         * bridge/runtime_array.cpp:
929         * bridge/runtime_array.h:
930         * bridge/runtime_object.cpp:
931         * bridge/runtime_object.h:
932         * bridge/testqtbindings.cpp:
933         (main):
934
935 2011-10-25  Adam Barth  <abarth@webkit.org>
936
937         EventTargetFactory.in is not sorted
938         https://bugs.webkit.org/show_bug.cgi?id=70855
939
940         Reviewed by Eric Seidel.
941
942         This patch sorts the file.  I was not able to measure a performance
943         difference using the microbenchmark included with this patch.
944
945         * dom/EventTargetFactory.in:
946
947 2011-10-25  Adam Barth  <abarth@webkit.org>
948
949         Attempt to fix the Windows build.  Windows mashes all these files into
950         one, which doesn't respect the compilation unit rules of C++.
951
952         * bindings/js/JSEventCustom.cpp:
953         * bindings/js/JSEventTarget.cpp:
954
955 2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
956
957         Moving to the start of line should not place the caret outside of the table
958         https://bugs.webkit.org/show_bug.cgi?id=70757
959
960         Reviewed by Chang Shu.
961
962         The bug was caused by positionAvoidingFirstPositionInTable. Get rid of the function.
963
964         Test: editing/selection/table-lineboundary.html
965
966         * editing/visible_units.cpp:
967         (WebCore::startPositionForLine):
968
969 2011-10-25  Beth Dakin  <bdakin@apple.com>
970
971         https://bugs.webkit.org/show_bug.cgi?id=70852
972         Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
973         WebKit2
974
975         Reviewed by Dan Bernstein.
976
977         This patch removes the old cg-only GraphicsContext::setBaseCTM() api, and adds 
978         platform-independent GraphicsContext::applyDeviceScaleFactor().
979         * WebCore.exp.in:
980         * platform/graphics/GraphicsContext.cpp:
981         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
982         (WebCore::GraphicsContext::applyDeviceScaleFactor):
983         * platform/graphics/GraphicsContext.h:
984         * platform/graphics/cg/GraphicsContextCG.cpp:
985         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
986
987         Since this patch removes GraphicsContext::setBaseCTM(), this code has been 
988         reverted to do what it used to do before that was added; it just calls into 
989         WebCoreSystemInterface directly.
990         * platform/graphics/cg/ImageCG.cpp:
991         (WebCore::Image::drawPattern):
992
993 2011-10-25  Anders Carlsson  <andersca@apple.com>
994
995         Plug-ins have to use JavaScript to find out the current device scale factor
996         https://bugs.webkit.org/show_bug.cgi?id=67225
997
998         Reviewed by Darin Adler.
999
1000         Test: platform/mac-wk2/plugins/contents-scale-factor.html
1001
1002         Add NPNVcontentsScaleFactor, as per https://wiki.mozilla.org/NPAPI:ContentsScaleFactor.
1003
1004         * plugins/npapi.h:
1005
1006 2011-10-25  Adam Klein  <adamk@chromium.org>
1007
1008         Forward declare MutationObserverEntry as a struct to fix clang build
1009         https://bugs.webkit.org/show_bug.cgi?id=70853
1010
1011         Reviewed by Ryosuke Niwa.
1012
1013         Node.h forward declared MutationObserverEntry as a class, and clang
1014         complains if the two declarations don't match.
1015
1016         * dom/Node.h:
1017
1018 2011-10-25  Dan Bernstein  <mitz@apple.com>
1019
1020         Caret can be positioned or repainted incorrectly in flipped-blocks multi-column blocks
1021         https://bugs.webkit.org/show_bug.cgi?id=70851
1022
1023         Reviewed by Dave Hyatt.
1024
1025         * manual-tests/caret-in-columns-flipped.html: Added.
1026         * rendering/RenderBlock.cpp:
1027         (WebCore::RenderBlock::adjustForColumns): Removed flipped-blocks writing mode considerations
1028         from this function, since not all callers were expecting it to account for flippedness. This makes
1029         it similar to adjustRectForColumns() in not adjusting for flippedness.
1030         * rendering/RenderBox.cpp:
1031         (WebCore::RenderBox::offsetFromContainer): In the columns case, account for flipped-blocks modes
1032         by first mapping the point and the offset to non-flipped, non-columns space, then adjusting for
1033         columns, then flipping.
1034
1035 2011-10-25  Michal Mocny  <mmocny@google.com>
1036
1037         LayerRendererChromium::setVisible called needlessly without a visibility change
1038         https://bugs.webkit.org/show_bug.cgi?id=70766
1039
1040         Reviewed by Kenneth Russell.
1041
1042         Check that visibility has actually changed before calling LayerRendererChromium::setVisible
1043
1044         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1045         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1046         (WebCore::CCLayerTreeHostImpl::setVisible):
1047         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1048
1049 2011-10-25  Anders Carlsson  <andersca@apple.com>
1050
1051         REGRESSION(97821): HistoryController::itemsAreClones crashes a lot
1052         https://bugs.webkit.org/show_bug.cgi?id=70827
1053         <rdar://problem/10342925>
1054
1055         Reviewed by Adam Barth.
1056
1057         Check that m_currentItem is non-null before passing it to itemsAreClones. While I wasn't
1058         able to make a test case that would reproduce this crash, we do check m_currentItem for null
1059         everywhere else, and the crash log indicates that this would fix the crash.
1060
1061         * loader/HistoryController.cpp:
1062         (WebCore::HistoryController::recursiveUpdateForCommit):
1063
1064 2011-10-25  Adam Barth  <abarth@webkit.org>
1065
1066         EventTarget.h shouldn't need to know about every feature and ifdef
1067         https://bugs.webkit.org/show_bug.cgi?id=70659
1068
1069         Reviewed by Darin Adler.
1070
1071         This patch follows the approach of Event.h and introduces an
1072         interfaceName virtual function that returns the name of the DOM
1073         interface for the concrete type of the object.  This function lets us
1074         remove a large number of fake dynamic casts.
1075
1076         * CMakeLists.txt:
1077         * CodeGenerators.pri:
1078         * DerivedSources.make:
1079         * GNUmakefile.am:
1080         * WebCore.gyp/WebCore.gyp:
1081         * WebCore.gyp/scripts/action_makenames.py:
1082             - Teach action_makenames how to handle the new "in" file.
1083         * WebCore.gypi:
1084         * WebCore.vcproj/WebCore.vcproj:
1085         * WebCore.xcodeproj/project.pbxproj:
1086         * bindings/js/JSEventTarget.cpp:
1087         (WebCore::toJS):
1088             - Use the new autogenerated macro to remove a large amount of
1089               feature-specific code.
1090         * bindings/js/WorkerScriptController.cpp:
1091         (WebCore::WorkerScriptController::initScript):
1092         * bindings/objc/DOM.mm:
1093         (kit):
1094             - The SVGElementInstance branch was never taken previously because
1095               SVGElementInstance::toNode returns a non-NULL value. This code
1096               was introduced in http://trac.webkit.org/changeset/42618 and
1097               doesn't appear to have ever worked as the author intended.
1098         * bindings/v8/V8DOMWrapper.cpp:
1099         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1100             - Use the new autogenerated macro to remove a large amount of
1101               feature-specific code.
1102         * dom/EventNames.cpp:
1103         (WebCore::EventNames::EventNames):
1104         * dom/EventNames.h:
1105         * dom/EventTarget.cpp:
1106         * dom/EventTarget.h:
1107         * dom/EventTargetFactory.in: Added.
1108             - Add a new "in" file that lists all the EventTargets.
1109         * dom/LocalMediaStream.cpp:
1110         (WebCore::LocalMediaStream::interfaceName):
1111         * dom/LocalMediaStream.h:
1112         * dom/MediaStream.cpp:
1113         (WebCore::MediaStream::interfaceName):
1114         * dom/MediaStream.h:
1115         * dom/MessagePort.cpp:
1116         (WebCore::MessagePort::interfaceName):
1117         * dom/MessagePort.h:
1118         * dom/Node.cpp:
1119         (WebCore::Node::toNode):
1120         (WebCore::Node::interfaceName):
1121         * dom/Node.h:
1122         * dom/make_event_factory.pl:
1123             - Generalize make_event_factory.pl to be able to generate
1124               interfaces for different namespaces.
1125         * fileapi/FileReader.cpp:
1126         (WebCore::FileReader::interfaceName):
1127         * fileapi/FileReader.h:
1128         * fileapi/FileWriter.cpp:
1129         (WebCore::FileWriter::interfaceName):
1130         * fileapi/FileWriter.h:
1131         * loader/appcache/DOMApplicationCache.cpp:
1132         (WebCore::DOMApplicationCache::interfaceName):
1133         * loader/appcache/DOMApplicationCache.h:
1134         * notifications/Notification.cpp:
1135         (WebCore::Notification::interfaceName):
1136         * notifications/Notification.h:
1137         (WebCore::Notification::scriptExecutionContext):
1138         * p2p/PeerConnection.cpp:
1139         (WebCore::PeerConnection::interfaceName):
1140         * p2p/PeerConnection.h:
1141         * page/DOMWindow.cpp:
1142         (WebCore::DOMWindow::interfaceName):
1143         (WebCore::DOMWindow::toDOMWindow):
1144         * page/DOMWindow.h:
1145         * page/EventSource.cpp:
1146         (WebCore::EventSource::interfaceName):
1147         * page/EventSource.h:
1148         * storage/IDBDatabase.cpp:
1149         (WebCore::IDBDatabase::interfaceName):
1150         * storage/IDBDatabase.h:
1151         * storage/IDBRequest.cpp:
1152         (WebCore::IDBRequest::interfaceName):
1153         * storage/IDBRequest.h:
1154         * storage/IDBTransaction.cpp:
1155         (WebCore::IDBTransaction::interfaceName):
1156         * storage/IDBTransaction.h:
1157         * storage/IDBVersionChangeRequest.cpp:
1158         (WebCore::IDBVersionChangeRequest::interfaceName):
1159         * storage/IDBVersionChangeRequest.h:
1160         * svg/SVGElementInstance.cpp:
1161         (WebCore::SVGElementInstance::interfaceName):
1162         * svg/SVGElementInstance.h:
1163         (WebCore::SVGElementInstance::toNode):
1164         * webaudio/AudioContext.cpp:
1165         (WebCore::AudioContext::interfaceName):
1166         (WebCore::AudioContext::scriptExecutionContext):
1167         * webaudio/AudioContext.h:
1168         * webaudio/JavaScriptAudioNode.cpp:
1169         (WebCore::JavaScriptAudioNode::interfaceName):
1170         * webaudio/JavaScriptAudioNode.h:
1171         * websockets/WebSocket.cpp:
1172         (WebCore::WebSocket::interfaceName):
1173         * websockets/WebSocket.h:
1174         * workers/DedicatedWorkerContext.cpp:
1175         (WebCore::DedicatedWorkerContext::interfaceName):
1176         * workers/DedicatedWorkerContext.h:
1177         * workers/DefaultSharedWorkerRepository.cpp:
1178         (WebCore::SharedWorkerConnectTask::performTask):
1179         * workers/SharedWorker.cpp:
1180         (WebCore::SharedWorker::interfaceName):
1181         * workers/SharedWorker.h:
1182         * workers/SharedWorkerContext.cpp:
1183         (WebCore::SharedWorkerContext::interfaceName):
1184         * workers/SharedWorkerContext.h:
1185         * workers/Worker.cpp:
1186         (WebCore::Worker::interfaceName):
1187         * workers/Worker.h:
1188         * xml/XMLHttpRequest.cpp:
1189         (WebCore::XMLHttpRequest::interfaceName):
1190         * xml/XMLHttpRequest.h:
1191         * xml/XMLHttpRequestUpload.cpp:
1192         (WebCore::XMLHttpRequestUpload::interfaceName):
1193         * xml/XMLHttpRequestUpload.h:
1194
1195 2011-10-25  Pavel Podivilov  <podivilov@chromium.org>
1196
1197         Fix several minor problems in idls.
1198         https://bugs.webkit.org/show_bug.cgi?id=70811
1199
1200         Reviewed by Adam Barth.
1201
1202         This patch does not have any effect on generated bindings.
1203
1204         * dom/DataTransferItems.idl:
1205         * page/History.idl:
1206         * storage/IDBIndex.idl:
1207         * xml/XMLHttpRequest.idl:
1208
1209 2011-10-25  Nate Chapin  <japhet@chromium.org>
1210
1211         Make DocumentThreadableLoader a CachedResourceClient.
1212         This will allow us to cache ThreadableLoaderClients as
1213         appropriate in a later patch.
1214         https://bugs.webkit.org/show_bug.cgi?id=61225
1215
1216         Reviewed by Antti Koivisto.
1217
1218         No new tests, no functionality change intended.
1219
1220         * WebCore.gypi:
1221         * loader/DocumentThreadableLoader.cpp:
1222         (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
1223             for didFail() and didFinishLoading(), so we need to differentiate here.
1224         (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
1225             instead of ResourceLoadScheduler::scheduleSubresourceLoad().
1226         * loader/DocumentThreadableLoader.h:
1227         * loader/cache/CachedRawResource.cpp:
1228         (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
1229             DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
1230             'data' input parameter will contain all data received so far, and we need to determine the
1231             incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
1232             the incremental data.
1233         * loader/cache/CachedRawResource.h:
1234         * loader/cache/CachedResource.cpp:
1235         * loader/cache/CachedResource.h:
1236         (WebCore::CachedResource::preloadResult):
1237         (WebCore::CachedResource::didSendData):
1238         (WebCore::CachedResource::didDownloadData):
1239         (WebCore::CachedResource::setLoadFinishTime):
1240         (WebCore::CachedResource::loadFinishTime):
1241         * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
1242         * loader/cache/CachedResourceRequest.cpp:
1243         (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
1244             the request, so protect appropriately.
1245         * loader/cache/CachedResourceRequest.h:
1246         * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
1247         * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
1248         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
1249         * platform/network/BlobResourceHandle.cpp:
1250         (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
1251
1252 2011-10-25  Pavel Podivilov  <podivilov@chromium.org>
1253
1254         Get rid of optional parameters in the middle in IDLs.
1255         https://bugs.webkit.org/show_bug.cgi?id=70816
1256
1257         Reviewed by Adam Barth.
1258
1259         Optional parameters in the middle are prohibited by WebIDL spec.
1260
1261         * bindings/scripts/CodeGeneratorJS.pm:
1262         (GenerateHeader):
1263         (GenerateImplementation):
1264         * bindings/scripts/CodeGeneratorV8.pm:
1265         (GenerateHeader):
1266         (GenerateArgumentsCountCheck):
1267         (GenerateImplementation):
1268         * html/canvas/CanvasRenderingContext2D.idl:
1269         * page/DOMWindow.idl:
1270
1271 2011-10-25  Chris Evans  <cevans@google.com>
1272
1273         Manage the CSS property array length correctly
1274         https://bugs.webkit.org/show_bug.cgi?id=70783
1275
1276         Reviewed by Adam Barth.
1277
1278         * css/CSSParser.cpp:
1279         (WebCore::CSSParser::addProperty): don't allow max length to get out of sync with the buffer.
1280
1281 2011-10-25  Tony Chang  <tony@chromium.org>
1282
1283         avoid unnecessary layouts of flex items during the flex pass
1284         https://bugs.webkit.org/show_bug.cgi?id=70557
1285
1286         Reviewed by Ojan Vafai.
1287
1288         If the preferred size of a flex item is provided, we don't need to
1289         layout the flex item when computing the preferred size.  This allows
1290         us to only call layout on each flex item once in the common case.
1291
1292         No new tests, covered by existing tests.
1293
1294         * rendering/RenderFlexibleBox.cpp:
1295         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthLengthForChild):
1296         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
1297         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
1298         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1299         * rendering/RenderFlexibleBox.h:
1300
1301 2011-10-25  Fady Samuel  <fsamuel@chromium.org>
1302
1303         Crash in WebCore::RenderTableSection::addChild due to assert failure
1304         https://bugs.webkit.org/show_bug.cgi?id=70678
1305
1306         Reviewed by David Hyatt.
1307
1308         Tests: fast/table/table-anonymous-cell-bug.html
1309                fast/table/table-anonymous-row-bug.html
1310                fast/table/table-anonymous-section-bug.html
1311
1312         If the child being added is not a Section/Row/Cell, and the previous sibling is not anonymous, 
1313         we need to create a new anonymous Section/Row/Cell respectively, instead of failing an
1314         assert.
1315
1316         * rendering/RenderTable.cpp:
1317         (WebCore::RenderTable::addChild):
1318         * rendering/RenderTableRow.cpp:
1319         (WebCore::RenderTableRow::addChild):
1320         * rendering/RenderTableSection.cpp:
1321         (WebCore::RenderTableSection::addChild):
1322
1323 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
1324
1325         Add getOwnPropertySlot to MethodTable
1326         https://bugs.webkit.org/show_bug.cgi?id=69807
1327
1328         Reviewed by Oliver Hunt.
1329
1330         No new tests.
1331
1332         * bridge/runtime_method.h: Changed getOwnPropertySlot to be protected so 
1333         subclasses can reference it in their MethodTables.
1334
1335 2011-10-25  Simon Fraser  <simon.fraser@apple.com>
1336
1337         REGRESSION (r88580): Cursor fails to change to pointer on embedded Google maps popups
1338         https://bugs.webkit.org/show_bug.cgi?id=62797
1339
1340         Reviewed by Chris Marrin.
1341         
1342         When hit testing through transformed layers, RenderLayer would simply use
1343         the composited bounds of the layer as the localHitTestRect for hit testing sublayers.
1344         However, this broke hit testing on pages that have a composited, non-transformed layer
1345         which falls outside the bounds of its parent, composited-transformed layer, like Google
1346         Maps.
1347         
1348         Fix by mapping the hitTestRect through transforms. However this is tricky, because
1349         mapping a rect into the coordinate system of a layer can result in invalid rectangles
1350         when point projection results in a negative w component. Fix TransformationMatrix::projectPoint()
1351         to detect this case and replace X and Y with large values, and add boundsOfProjectedQuad(), which 
1352         maps rectangles with possibly-infinite location or bounds into rects which are representable
1353         in an IntRect.
1354
1355         Tests: transforms/3d/hit-testing/composited-hit-test.html
1356                transforms/3d/hit-testing/rotated-hit-test-with-child.html
1357                transforms/3d/hit-testing/rotated-hit-test2.html
1358
1359         * platform/graphics/transforms/TransformationMatrix.cpp:
1360         (WebCore::TransformationMatrix::projectPoint):
1361         (WebCore::TransformationMatrix::projectQuad):
1362         (WebCore::clampEdgeValue):
1363         (WebCore::TransformationMatrix::boundsOfProjectedQuad):
1364         * platform/graphics/transforms/TransformationMatrix.h:
1365         * rendering/HitTestingTransformState.cpp:
1366         (WebCore::HitTestingTransformState::boundsOfMappedQuad):
1367         * rendering/HitTestingTransformState.h:
1368         * rendering/RenderLayer.cpp:
1369         (WebCore::RenderLayer::hitTestLayer):
1370
1371 2011-10-25  Adrienne Walker  <enne@google.com>
1372
1373         [chromium] Batch up texture uploads so that they can be updated incrementally
1374         https://bugs.webkit.org/show_bug.cgi?id=70454
1375
1376         Reviewed by James Robinson.
1377
1378         Because texture uploads can sometimes take more than a frame to
1379         complete, collect all the uploads that need to occur in a
1380         CCTextureUpdater so that we can easily incrementally upload some of
1381         them, interleaving input and drawing so that the compositor thread
1382         continues to appear responsive during a commit.
1383
1384         This change doesn't actually interleave the commits, it just pushes
1385         the infrastructure for doing so up to the CCProxy level so that a
1386         future scheduler can make this decision.
1387
1388         VideoLayerChromium is the only layer type to not use this system. It
1389         needs to be converted to use a texture updater first and it is less of
1390         a priority than the tiled layers.
1391
1392         * WebCore.gypi:
1393         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1394         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1395         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1396         * platform/graphics/chromium/LayerChromium.h:
1397         (WebCore::LayerChromium::updateCompositorResources):
1398         * platform/graphics/chromium/TiledLayerChromium.cpp:
1399         (WebCore::TiledLayerChromium::updateCompositorResources):
1400         * platform/graphics/chromium/TiledLayerChromium.h:
1401         * platform/graphics/chromium/VideoLayerChromium.cpp:
1402         (WebCore::VideoLayerChromium::updateCompositorResources):
1403         * platform/graphics/chromium/VideoLayerChromium.h:
1404         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1405         (WebCore::WebGLLayerChromium::updateCompositorResources):
1406         * platform/graphics/chromium/WebGLLayerChromium.h:
1407         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1408         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
1409         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
1410         (WebCore::CCLayerTreeHost::updateCompositorResources):
1411         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1412         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1413         (WebCore::CCSingleThreadProxy::setNeedsCommit):
1414         (WebCore::CCSingleThreadProxy::doCommit):
1415         (WebCore::CCSingleThreadProxy::commitIfNeeded):
1416         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1417         * platform/graphics/chromium/cc/CCTextureUpdater.cpp: Added.
1418         (WebCore::CCTextureUpdater::CCTextureUpdater):
1419         (WebCore::CCTextureUpdater::~CCTextureUpdater):
1420         (WebCore::CCTextureUpdater::append):
1421         (WebCore::CCTextureUpdater::update):
1422         (WebCore::CCTextureUpdater::clear):
1423         * platform/graphics/chromium/cc/CCTextureUpdater.h: Added.
1424         (WebCore::CCTextureUpdater::allocator):
1425         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1426         (WebCore::CCThreadProxy::commitOnImplThread):
1427
1428 2011-10-24  Jer Noble  <jer.noble@apple.com>
1429
1430         compositing/video tests time out on Lion
1431         https://bugs.webkit.org/show_bug.cgi?id=70448
1432
1433         Reviewed by Simon Fraser.
1434
1435         AVFoundation will not begin loading or decoding media until a consumer for that media is present.
1436         For video-only media, this means that an AVPlayerLayer must be created and attached to the 
1437         AVPlayer before the load state will ever reach "canPlayThrough". Once the metadata for a media
1438         is loaded, create a AVPlayerLayer if the media has a video track.
1439
1440         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1441         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
1442
1443 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
1444
1445         Merge endOfLine with logicalEndOfLine and startOfLine with logicalStartOfLine
1446         https://bugs.webkit.org/show_bug.cgi?id=70755
1447
1448         Reviewed by Chang Shu.
1449
1450         Merged endOfLine with logicalEndOfLine, and startOfLine with logicalStartOfLine
1451         to reduce the code duplication.
1452
1453         * editing/visible_units.cpp:
1454         (WebCore::startPositionForLine):
1455         (WebCore::startOfLine):
1456         (WebCore::logicalStartOfLine):
1457         (WebCore::endPositionForLine):
1458         (WebCore::inSameLogicalLine):
1459         (WebCore::endOfLine):
1460         (WebCore::logicalEndOfLine):
1461         * editing/visible_units.h:
1462
1463 2011-10-25  Arko Saha  <arko@motorola.com>
1464
1465         Microdata: itemtype attribute should be space-separated list to allow multiple types.
1466         https://bugs.webkit.org/show_bug.cgi?id=70501
1467
1468         Reviewed by Ryosuke Niwa.
1469
1470         Tests: fast/dom/MicroData/getitems-multiple-itemtypes.html
1471                fast/dom/MicroData/itemtype-add-remove-tokens.html
1472                fast/dom/MicroData/itemtype-attribute-test.html
1473
1474         * dom/MicroDataItemList.cpp:
1475         (WebCore::MicroDataItemList::nodeMatches):
1476         * html/DOMSettableTokenList.h:
1477         (WebCore::DOMSettableTokenList::tokens):
1478         * html/HTMLElement.cpp:
1479         (WebCore::HTMLElement::parseMappedAttribute):
1480         (WebCore::HTMLElement::setItemValueText):
1481         (WebCore::HTMLElement::itemType):
1482         (WebCore::HTMLElement::setItemType):
1483         * html/HTMLElement.h:
1484         * html/HTMLElement.idl:
1485
1486 2011-10-25  Dan Bernstein  <mitz@apple.com>
1487
1488         <rdar://problem/10337033> DOMRangeOfString:relativeTo:options has problems with -webkit-user-select: none
1489
1490         Reviewed by Adam Roben.
1491
1492         Test: added to TestWebKitAPI/Tests/mac/DOMRangeOfString.mm
1493
1494         * page/Page.cpp:
1495         (WebCore::Page::rangeOfString): This function was incorrectly adding the StartInSelection option to
1496         the initial search.
1497
1498 2011-10-25  Yury Semikhatsky  <yurys@chromium.org>
1499
1500         Web Inspector: redesign workers sidebar pane
1501         https://bugs.webkit.org/show_bug.cgi?id=70815
1502
1503         Changed workers sidebar pane design.
1504
1505         Now there is a link to worker inspector for each dedicated worker created
1506         by inspected page. The sidebar display a link to a page with list of all
1507         shared workers if there one is supported by the WebKit port. Also there
1508         is a checkbox that allows pause all new workers on first statements.
1509
1510         Reviewed by Pavel Feldman.
1511
1512         * inspector/front-end/Settings.js:
1513         * inspector/front-end/StylesSidebarPane.js:
1514         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
1515         * inspector/front-end/WorkerManager.js:
1516         (WebInspector.WorkerManager.prototype.openWorkerInspector):
1517         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
1518         * inspector/front-end/WorkersSidebarPane.js:
1519         (WebInspector.WorkerListSidebarPane):
1520         (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
1521         (WebInspector.WorkerListSidebarPane.prototype._workersCleared):
1522         (WebInspector.WorkerListSidebarPane.prototype._addWorker):
1523         (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
1524         (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
1525         (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink.link.onclick):
1526         (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink):
1527         * inspector/front-end/elementsPanel.css:
1528         * inspector/front-end/inspectorCommon.css:
1529         (.sidebar-separator):
1530         (.sidebar-label):
1531         * inspector/front-end/scriptsPanel.css:
1532         (.dedicated-worker-item):
1533         (#shared-workers-list):
1534         (#pause-workers-checkbox > input):
1535
1536 2011-10-25  Nico Weber  <thakis@chromium.org>
1537
1538         [chromium/mac] Fix an ODR violation.
1539         https://bugs.webkit.org/show_bug.cgi?id=70753
1540
1541         Reviewed by Anders Carlsson.
1542
1543         Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
1544         Remove the unused one.
1545
1546         * WebCore.gyp/WebCore.gyp:
1547
1548 2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
1549
1550         Web Inspector: Debugger fails when there is an invalid watch expression.
1551         https://bugs.webkit.org/show_bug.cgi?id=70718
1552
1553         Reviewed by Pavel Feldman.
1554
1555         Test: inspector/debugger/watch-expressions-panel-switch.html
1556
1557         * inspector/front-end/ScriptsPanel.js:
1558         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
1559
1560 2011-10-24  Pavel Podivilov  <podivilov@chromium.org>
1561
1562         Web Inspector: fix empty line handling in source maps.
1563         https://bugs.webkit.org/show_bug.cgi?id=70726
1564
1565         Reviewed by Yury Semikhatsky.
1566
1567         * inspector/front-end/CompilerSourceMapping.js:
1568         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
1569
1570 2011-10-25  Justin Schuh  <jschuh@chromium.org>
1571
1572         Check for empty string in parseArcFlag
1573         https://bugs.webkit.org/show_bug.cgi?id=70763
1574
1575         Reviewed by Dirk Schulze.
1576
1577         Test: svg/path-invalid.html
1578
1579         * svg/SVGParserUtilities.cpp:
1580         (WebCore::parseArcFlag):
1581
1582 2011-10-24  Pavel Podivilov  <podivilov@chromium.org>
1583
1584         Web Inspector: keep old source mapping when new one could not be loaded.
1585         https://bugs.webkit.org/show_bug.cgi?id=70729
1586
1587         Reviewed by Yury Semikhatsky.
1588
1589         * inspector/front-end/RawSourceCode.js:
1590         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
1591         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
1592         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
1593
1594 2011-10-25  Sachin Puranik  <sachin.puranik@motorola.com>
1595
1596         Double number step=.5 should be considered valid in <input type="number" step=".5">
1597         https://bugs.webkit.org/show_bug.cgi?id=70320
1598
1599         Reviewed by Kent Tamura.
1600
1601         Test: fast/forms/input-step-as-double.html
1602
1603         * html/parser/HTMLParserIdioms.cpp:
1604         (WebCore::parseToDoubleForNumberType): Changed the function to consider
1605         step as valid even if it starts with "."
1606
1607 2011-10-25  Alexander Pavlov  <apavlov@chromium.org>
1608
1609         Web Inspector: [Chromium] Audits panel context menu for links not working properly
1610         https://bugs.webkit.org/show_bug.cgi?id=70813
1611
1612         Reviewed by Pavel Feldman.
1613
1614         * inspector/front-end/AuditResultView.js:
1615         (WebInspector.AuditResultView):
1616         (WebInspector.AuditResultView.prototype._contextMenuEventFired):
1617
1618 2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
1619
1620         Web Inspector: Resources panel: display the current search match index in the toolbar.
1621         https://bugs.webkit.org/show_bug.cgi?id=66050
1622
1623         Reviewed by Pavel Feldman.
1624
1625         Test: http/tests/inspector/search/resources-search-match-index.html
1626
1627         * inspector/front-end/ResourcesPanel.js:
1628         (WebInspector.ResourcesPanel.prototype.performSearch.callback):
1629         (WebInspector.ResourcesPanel.prototype.performSearch):
1630         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
1631         (WebInspector.ResourcesPanel.prototype._showSearchResult):
1632         (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
1633         (WebInspector.ResourcesSearchController):
1634         (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
1635         (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
1636         (WebInspector.ResourcesSearchController.prototype._searchResult):
1637         (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
1638         (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
1639         (WebInspector.SearchResultsTreeElementsTraverser.prototype.matchIndex):
1640         (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementSearchMatchesCount):
1641         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
1642         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
1643         * inspector/front-end/treeoutline.js:
1644
1645 2011-10-25  Andrey Kosyakov  <caseq@chromium.org>
1646
1647         Web Inspector: JS exception in JavaScriptSourceFrame.onShowPopover/showObjectPopover()
1648         https://bugs.webkit.org/show_bug.cgi?id=70812
1649
1650         Reviewed by Pavel Feldman.
1651
1652         Check if highlighted element is present while displaying object popover.
1653
1654         * inspector/front-end/JavaScriptSourceFrame.js:
1655         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
1656         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
1657
1658 2011-10-21  Nat Duca  <nduca@chromium.org>
1659
1660         [chromium] Route Console::time and Console::timeEnd to trace_event
1661         https://bugs.webkit.org/show_bug.cgi?id=70620
1662
1663         Reviewed by Pavel Feldman.
1664
1665         * page/Console.cpp:
1666         (WebCore::Console::time):
1667         (WebCore::Console::timeEnd):
1668
1669 2011-10-21  Andrey Kosyakov  <caseq@chromium.org>
1670
1671         Web Inspector: [Extensions API] allow extensions to specify script to be injected on reload
1672         https://bugs.webkit.org/show_bug.cgi?id=70600
1673
1674         Reviewed by Pavel Feldman.
1675
1676         - change webInspector.inspectedPage.reload() to accept multiple options in an object
1677         - add an ability to inject a script upon a page reload
1678         - return script id in addScriptToEvaluateOnLoad()
1679         - provide removeScriptToEvaluateOnLoad()
1680         - store scripts to evaluate on load in inspector state cookie
1681
1682         Test: inspector/extensions/extensions-reload.html
1683
1684         * inspector/Inspector.json:
1685         * inspector/InspectorPageAgent.cpp:
1686         (WebCore::InspectorPageAgent::InspectorPageAgent):
1687         (WebCore::InspectorPageAgent::restore):
1688         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
1689         (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
1690         (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
1691         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1692         (WebCore::InspectorPageAgent::frameNavigated):
1693         * inspector/InspectorPageAgent.h:
1694         * inspector/front-end/ExtensionAPI.js:
1695         (injectedExtensionAPI.InspectedWindow.prototype.reload):
1696         * inspector/front-end/ExtensionServer.js:
1697         (WebInspector.ExtensionServer.prototype._onReload):
1698         * inspector/front-end/WorkersSidebarPane.js:
1699         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation.callback):
1700         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
1701
1702 2011-10-24  Pavel Feldman  <pfeldman@google.com>
1703
1704         Web Inspector: print expired message count before remaining messages.
1705         https://bugs.webkit.org/show_bug.cgi?id=70736
1706
1707         Reviewed by Yury Semikhatsky.
1708
1709         * inspector/Inspector-0.1.json:
1710         * inspector/Inspector.json:
1711         * inspector/InspectorConsoleAgent.cpp:
1712         (WebCore::InspectorConsoleAgent::enable):
1713         (WebCore::InspectorConsoleAgent::restore):
1714         * inspector/InspectorConsoleAgent.h:
1715         * inspector/front-end/ConsoleModel.js:
1716
1717 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1718
1719         Unreviewed, rolling out r98309.
1720         http://trac.webkit.org/changeset/98309
1721         https://bugs.webkit.org/show_bug.cgi?id=70801
1722
1723         Test fails on mac (Requested by benwells on #webkit).
1724
1725         * html/canvas/CanvasRenderingContext2D.cpp:
1726         (WebCore::CanvasRenderingContext2D::fill):
1727         (WebCore::CanvasRenderingContext2D::fillRect):
1728         (WebCore::CanvasRenderingContext2D::drawImage):
1729         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere):
1730         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
1731         * html/canvas/CanvasRenderingContext2D.h:
1732
1733 2011-10-24  Geoffrey Garen  <ggaren@apple.com>
1734
1735         Chromium build fix: #include window.h for HANDLE.
1736
1737         * platform/graphics/opentype/OpenTypeUtilities.h:
1738
1739 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
1740
1741         Include ThreadSafeRefCounted.h since the class declared in this header file
1742         inherits from ThreadSafeRefCounted.
1743
1744         * storage/IDBIndexBackendInterface.h:
1745
1746 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
1747
1748         Fix a typo.
1749
1750         * bindings/v8/JavaScriptCallFrame.h:
1751
1752 2011-10-24  Geoffrey Garen  <ggaren@apple.com>
1753
1754         Removed SharedUChar and tightened language around its previous uses
1755         https://bugs.webkit.org/show_bug.cgi?id=70698
1756
1757         Reviewed by David Levin.
1758
1759         - Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
1760         the former names gave the dangerous misimpression that the resulting object
1761         was thread-safe, which is not true.
1762         
1763         - Updated a bunch of files for header dependency changes, now that
1764         CrossThreadRefCounted is gone.
1765
1766         * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
1767         * WebCore.exp.in:
1768         * bindings/js/ScriptHeapSnapshot.h:
1769         * bindings/v8/SerializedScriptValue.cpp:
1770         (WebCore::SerializedScriptValue::release):
1771         (WebCore::SerializedScriptValue::SerializedScriptValue):
1772         * css/CSSPropertySourceData.h:
1773         * css/CSSValue.h:
1774         * css/StyleMedia.h:
1775         * css/WebKitCSSMatrix.h:
1776         * dom/QualifiedName.h:
1777         * fileapi/LocalFileSystem.h:
1778         (WebCore::LocalFileSystem::SystemBasePath::operator String):
1779         * history/CachedFrame.h:
1780         * history/CachedPage.h:
1781         * history/HistoryItem.h:
1782         * html/canvas/CanvasStyle.h:
1783         * inspector/InspectorResourceAgent.h:
1784         * loader/FormState.h:
1785         * loader/TextResourceDecoder.h:
1786         * loader/WorkerThreadableLoader.cpp:
1787         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1788         * loader/icon/IconDatabase.cpp:
1789         (WebCore::IconDatabase::open):
1790         (WebCore::IconDatabase::synchronousIconForPageURL):
1791         (WebCore::IconDatabase::synchronousIconURLForPageURL):
1792         (WebCore::IconDatabase::retainIconForPageURL):
1793         (WebCore::IconDatabase::releaseIconForPageURL):
1794         (WebCore::IconDatabase::setIconDataForIconURL):
1795         (WebCore::IconDatabase::setIconURLForPageURL):
1796         (WebCore::IconDatabase::databasePath):
1797         (WebCore::IconDatabase::defaultDatabaseFilename):
1798         (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
1799         (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
1800         * page/ContentSecurityPolicy.h:
1801         * page/Coordinates.h:
1802         (WebCore::Coordinates::isolatedCopy):
1803         * page/Geoposition.h:
1804         (WebCore::Geoposition::isolatedCopy):
1805         * page/SecurityOrigin.cpp:
1806         (WebCore::SecurityOrigin::SecurityOrigin):
1807         (WebCore::SecurityOrigin::isolatedCopy):
1808         * page/SecurityOrigin.h:
1809         * page/animation/AnimationBase.h:
1810         * platform/CrossThreadCopier.cpp:
1811         (WebCore::::copy):
1812         * platform/FileChooser.h:
1813         * platform/KURL.cpp:
1814         (WebCore::KURL::copy):
1815         * platform/cf/SchedulePair.h:
1816         * platform/network/BlobData.cpp:
1817         (WebCore::BlobDataItem::detachFromCurrentThread):
1818         (WebCore::BlobData::detachFromCurrentThread):
1819         * platform/network/HTTPHeaderMap.cpp:
1820         (WebCore::HTTPHeaderMap::copyData):
1821         * platform/network/MIMEHeader.h:
1822         * platform/network/ResourceErrorBase.cpp:
1823         (WebCore::ResourceErrorBase::copy):
1824         * platform/network/ResourceLoadInfo.h:
1825         * platform/network/ResourceRequestBase.cpp:
1826         (WebCore::ResourceRequestBase::copyData):
1827         * platform/network/ResourceResponseBase.cpp:
1828         (WebCore::ResourceResponseBase::copyData):
1829         * platform/sql/SQLValue.cpp:
1830         (WebCore::SQLValue::SQLValue):
1831         (WebCore::SQLValue::string):
1832         * rendering/style/QuotesData.h:
1833         * storage/AbstractDatabase.cpp:
1834         (WebCore::updateGuidVersionMap):
1835         (WebCore::AbstractDatabase::AbstractDatabase):
1836         (WebCore::AbstractDatabase::performOpenAndVerify):
1837         (WebCore::AbstractDatabase::stringIdentifier):
1838         (WebCore::AbstractDatabase::displayName):
1839         (WebCore::AbstractDatabase::fileName):
1840         (WebCore::AbstractDatabase::setExpectedVersion):
1841         (WebCore::AbstractDatabase::getCachedVersion):
1842         * storage/ChangeVersionWrapper.cpp:
1843         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
1844         * storage/Database.cpp:
1845         (WebCore::Database::Database):
1846         (WebCore::Database::tableNames):
1847         * storage/DatabaseDetails.h:
1848         * storage/DatabaseTracker.cpp:
1849         (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
1850         (WebCore::DatabaseTracker::databaseDirectoryPath):
1851         (WebCore::DatabaseTracker::trackerDatabasePath):
1852         (WebCore::DatabaseTracker::canEstablishDatabase):
1853         (WebCore::DatabaseTracker::originPath):
1854         (WebCore::DatabaseTracker::fullPathForDatabase):
1855         (WebCore::DatabaseTracker::populateOrigins):
1856         (WebCore::DatabaseTracker::databaseNamesForOrigin):
1857         (WebCore::DatabaseTracker::addOpenDatabase):
1858         (WebCore::DatabaseTracker::setQuota):
1859         (WebCore::DatabaseTracker::recordCreatingDatabase):
1860         (WebCore::DatabaseTracker::recordDeletingDatabase):
1861         (WebCore::DatabaseTracker::recordDeletingOrigin):
1862         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
1863         * storage/OriginQuotaManager.cpp:
1864         (WebCore::OriginQuotaManager::trackOrigin):
1865         (WebCore::OriginQuotaManager::addDatabase):
1866         * storage/SQLError.h:
1867         (WebCore::SQLError::message):
1868         (WebCore::SQLError::SQLError):
1869         * storage/SQLResultSetRowList.h:
1870         * storage/SQLStatement.cpp:
1871         (WebCore::SQLStatement::SQLStatement):
1872         * storage/StorageAreaSync.cpp:
1873         (WebCore::StorageAreaSync::StorageAreaSync):
1874         (WebCore::StorageAreaSync::syncTimerFired):
1875         * storage/StorageAreaSync.h:
1876         * storage/StorageMap.cpp:
1877         (WebCore::StorageMap::importItem):
1878         * storage/StorageNamespaceImpl.cpp:
1879         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
1880         * storage/StorageSyncManager.cpp:
1881         (WebCore::StorageSyncManager::StorageSyncManager):
1882         * storage/StorageTracker.cpp:
1883         (WebCore::StorageTracker::StorageTracker):
1884         (WebCore::StorageTracker::syncImportOriginIdentifiers):
1885         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1886         (WebCore::StorageTracker::setOriginDetails):
1887         (WebCore::StorageTracker::willDeleteAllOrigins):
1888         * svg/SVGPathSeg.h:
1889         * workers/DefaultSharedWorkerRepository.cpp:
1890         (WebCore::SharedWorkerProxy::url):
1891         (WebCore::SharedWorkerProxy::name):
1892         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
1893         (WebCore::DefaultSharedWorkerRepository::getProxy):
1894         * workers/SharedWorkerThread.cpp:
1895         (WebCore::SharedWorkerThread::SharedWorkerThread):
1896         * workers/WorkerMessagingProxy.cpp:
1897         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
1898         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
1899         * workers/WorkerRunLoop.cpp:
1900         (WebCore::WorkerRunLoop::postTaskForMode):
1901         (WebCore::WorkerRunLoop::Task::Task):
1902         * workers/WorkerThread.cpp:
1903         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1904
1905 2011-10-24  Adam Barth  <abarth@webkit.org>
1906
1907         Remove empty directory.
1908
1909         * p2p: Removed.
1910
1911 2011-10-24  Shawn Singh  <shawnsingh@chromium.org>
1912
1913         [chromium] Refactor painting/updating/drawing code.
1914         https://bugs.webkit.org/show_bug.cgi?id=70057
1915
1916         Reviewed by James Robinson.
1917
1918         This refactoring separates the "early exits" from the actual loop
1919         that draws layers. As part of this, it was also appropriate to
1920         clean up the way that masks and replicas are dealt with when
1921         painting and updating. The purpose of all this is to make things
1922         easier to test, and for a scissoring optimization that needs to
1923         know exatly what gets drawn. Existing layout tests were able to
1924         verify the refactoring did not change behavior.
1925
1926         * platform/graphics/chromium/LayerRendererChromium.cpp:
1927         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
1928         (WebCore::LayerRendererChromium::drawLayersInternal):
1929         (WebCore::LayerRendererChromium::drawLayer):
1930         * platform/graphics/chromium/LayerRendererChromium.h:
1931         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1932         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1933         (WebCore::CCLayerTreeHost::paintLayerContents):
1934         (WebCore::CCLayerTreeHost::updateCompositorResources):
1935         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1936         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1937         (WebCore::layerShouldBeAppended):
1938         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1939         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
1940         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
1941
1942 2011-10-24  Luke Macpherson   <macpherson@chromium.org>
1943
1944         REGRESSION(80893): HTML5 spec takes 2s longer to load due to time spent in CSSStyleSelector
1945         https://bugs.webkit.org/show_bug.cgi?id=68944
1946
1947         Reviewed by Antti Koivisto.
1948
1949         No new tests / Covered by existing tests.
1950
1951         Removes all virtual dispatch from CSSStyleApplyProperty by converting to use static function pointers for dispatch.
1952         Uses class templates instead of function templates to allow default parameters and also to share parameter declarations across static functions.
1953         All constructor parameters become template parameters. This improves the level of compiler optimization that can be achieved.
1954         Overall this achieved a ~2% overall speedup on run-safari PerformanceTests/Parser/html5-full-render.html,
1955         and profiling showed a reduction in the time spent inside CSSStyleSelector::applyProperty().
1956
1957         * css/CSSStyleApplyProperty.cpp:
1958         (WebCore::ApplyPropertyExpanding::applyInheritValue):
1959         (WebCore::ApplyPropertyExpanding::applyInitialValue):
1960         (WebCore::ApplyPropertyExpanding::applyValue):
1961         (WebCore::ApplyPropertyExpanding::createHandler):
1962         (WebCore::ApplyPropertyDefaultBase::setValue):
1963         (WebCore::ApplyPropertyDefaultBase::value):
1964         (WebCore::ApplyPropertyDefaultBase::initial):
1965         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
1966         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
1967         (WebCore::ApplyPropertyDefaultBase::applyValue):
1968         (WebCore::ApplyPropertyDefaultBase::createHandler):
1969         (WebCore::ApplyPropertyDefault::setValue):
1970         (WebCore::ApplyPropertyDefault::applyValue):
1971         (WebCore::ApplyPropertyDefault::createHandler):
1972         (WebCore::ApplyPropertyStyleImage::applyValue):
1973         (WebCore::ApplyPropertyStyleImage::createHandler):
1974         (WebCore::ApplyPropertyAuto::setValue):
1975         (WebCore::ApplyPropertyAuto::value):
1976         (WebCore::ApplyPropertyAuto::hasAuto):
1977         (WebCore::ApplyPropertyAuto::setAuto):
1978         (WebCore::ApplyPropertyAuto::applyInheritValue):
1979         (WebCore::ApplyPropertyAuto::applyInitialValue):
1980         (WebCore::ApplyPropertyAuto::applyValue):
1981         (WebCore::ApplyPropertyAuto::createHandler):
1982         (WebCore::defaultInitialColor):
1983         (WebCore::ApplyPropertyColor::applyInheritValue):
1984         (WebCore::ApplyPropertyColor::applyInitialValue):
1985         (WebCore::ApplyPropertyColor::applyValue):
1986         (WebCore::ApplyPropertyColor::createHandler):
1987         (WebCore::ApplyPropertyDirection::applyValue):
1988         (WebCore::ApplyPropertyDirection::createHandler):
1989         (WebCore::ApplyPropertyLength::setValue):
1990         (WebCore::ApplyPropertyLength::applyValue):
1991         (WebCore::ApplyPropertyLength::createHandler):
1992         (WebCore::ApplyPropertyString::setValue):
1993         (WebCore::ApplyPropertyString::applyValue):
1994         (WebCore::ApplyPropertyString::createHandler):
1995         (WebCore::ApplyPropertyBorderRadius::setValue):
1996         (WebCore::ApplyPropertyBorderRadius::applyValue):
1997         (WebCore::ApplyPropertyBorderRadius::createHandler):
1998         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
1999         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
2000         (WebCore::ApplyPropertyFillLayer::applyValue):
2001         (WebCore::ApplyPropertyFillLayer::createHandler):
2002         (WebCore::ApplyPropertyComputeLength::setValue):
2003         (WebCore::ApplyPropertyComputeLength::applyValue):
2004         (WebCore::ApplyPropertyComputeLength::createHandler):
2005         (WebCore::ApplyPropertyFont::applyInheritValue):
2006         (WebCore::ApplyPropertyFont::applyInitialValue):
2007         (WebCore::ApplyPropertyFont::applyValue):
2008         (WebCore::ApplyPropertyFont::createHandler):
2009         (WebCore::ApplyPropertyFontWeight::applyValue):
2010         (WebCore::ApplyPropertyFontWeight::createHandler):
2011         (WebCore::ApplyPropertyCounter::emptyFunction):
2012         (WebCore::ApplyPropertyCounter::applyValue):
2013         (WebCore::ApplyPropertyCounter::createHandler):
2014         (WebCore::ApplyPropertyCursor::applyInheritValue):
2015         (WebCore::ApplyPropertyCursor::applyInitialValue):
2016         (WebCore::ApplyPropertyCursor::applyValue):
2017         (WebCore::ApplyPropertyCursor::createHandler):
2018         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
2019         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
2020         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2021         (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
2022         (WebCore::ApplyPropertyAnimation::setValue):
2023         (WebCore::ApplyPropertyAnimation::value):
2024         (WebCore::ApplyPropertyAnimation::test):
2025         (WebCore::ApplyPropertyAnimation::clear):
2026         (WebCore::ApplyPropertyAnimation::initial):
2027         (WebCore::ApplyPropertyAnimation::map):
2028         (WebCore::ApplyPropertyAnimation::accessAnimations):
2029         (WebCore::ApplyPropertyAnimation::animations):
2030         (WebCore::ApplyPropertyAnimation::applyInheritValue):
2031         (WebCore::ApplyPropertyAnimation::applyInitialValue):
2032         (WebCore::ApplyPropertyAnimation::applyValue):
2033         (WebCore::ApplyPropertyAnimation::createHandler):
2034         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
2035         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
2036         (WebCore::ApplyPropertyOutlineStyle::applyValue):
2037         (WebCore::ApplyPropertyOutlineStyle::createHandler):
2038         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2039         * css/CSSStyleApplyProperty.h:
2040         (WebCore::PropertyHandler::PropertyHandler):
2041         (WebCore::PropertyHandler::applyInheritValue):
2042         (WebCore::PropertyHandler::applyInitialValue):
2043         (WebCore::PropertyHandler::applyValue):
2044         (WebCore::PropertyHandler::isValid):
2045         (WebCore::PropertyHandler::inheritFunction):
2046         (WebCore::PropertyHandler::initialFunction):
2047         (WebCore::PropertyHandler::applyFunction):
2048         (WebCore::CSSStyleApplyProperty::propertyHandler):
2049         (WebCore::CSSStyleApplyProperty::setPropertyHandler):
2050         * css/CSSStyleSelector.cpp:
2051         (WebCore::CSSStyleSelector::applyProperty):
2052         * rendering/style/RenderStyle.h:
2053         (WebCore::InheritedFlags::invalidColor):
2054
2055 2011-10-24  Ben Wells  <benwells@chromium.org>
2056
2057         Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
2058         https://bugs.webkit.org/show_bug.cgi?id=66920
2059
2060         Reviewed by James Robinson.
2061
2062         Test: fast/canvas/canvas-composite-image.html
2063
2064         Use the same method as fills to handle composited drawImage calls that will affect the whole
2065         canvas. To do this code used when doing fills has been factored into seperate functions and
2066         used by drawImage. Some functions used to do these types of operations have also been renamed.
2067
2068         * html/canvas/CanvasRenderingContext2D.cpp:
2069         (WebCore::isFullCanvasCompositeMode):
2070         (WebCore::CanvasRenderingContext2D::fill):
2071         (WebCore::CanvasRenderingContext2D::fillRect):
2072         (WebCore::CanvasRenderingContext2D::drawImage):
2073         (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
2074         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
2075         (WebCore::CanvasRenderingContext2D::compositeBuffer):
2076         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
2077         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
2078         * html/canvas/CanvasRenderingContext2D.h:
2079
2080 2011-10-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2081
2082         Unreviewed, rolling out r98294 and r98306.
2083         http://trac.webkit.org/changeset/98294
2084         http://trac.webkit.org/changeset/98306
2085         https://bugs.webkit.org/show_bug.cgi?id=70790
2086
2087         the first patch broke chromium-mac and the second gclient
2088         (Requested by jchaffraix on #webkit).
2089
2090         * WebCore.gyp/WebCore.gyp:
2091
2092 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
2093
2094         Build fix after r98300.
2095
2096         * WebCore.gypi:
2097         * WebCore.pro:
2098
2099 2011-10-24  Anders Carlsson  <andersca@apple.com>
2100
2101         It should be possible for Widget subclasses to control whether transforms affect the frame rect
2102         https://bugs.webkit.org/show_bug.cgi?id=70787
2103
2104         Reviewed by Sam Weinig.
2105
2106         Currently RenderWidget sets the frame rect of it's hosted widget to the bounding box of the transformed
2107         content box rect (unless the Widget is a frame view). It should be possible for Widget subclasses to override
2108         this behavior and have the frame rect set to the absolute content box without any transforms applied.
2109
2110         * platform/Widget.h:
2111         (WebCore::Widget::transformsAffectFrameRect):
2112         Add new member function.
2113
2114         * rendering/RenderWidget.cpp:
2115         (WebCore::RenderWidget::updateWidgetGeometry):
2116         Move shared code from setWidget and updateWidgetPosition out into a new function. If transformsAffectFrameRect returns 
2117         false, just set the frame rect to the absolute content box.
2118
2119         (WebCore::RenderWidget::setWidget):
2120         (WebCore::RenderWidget::updateWidgetPosition):
2121         Call updateWidgetGeometry.
2122
2123         * rendering/RenderWidget.h:
2124
2125 2011-10-24  Arko Saha  <arko@motorola.com>
2126
2127         Microdata: Add itemprop, itemref, itemvalue attributes.
2128         https://bugs.webkit.org/show_bug.cgi?id=69839
2129
2130         Reviewed by Ryosuke Niwa.
2131
2132         Tests: fast/dom/MicroData/itemprop-add-remove-tokens.html
2133                fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
2134                fast/dom/MicroData/itemprop-must-be-read-only.html
2135                fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
2136                fast/dom/MicroData/itemref-add-remove-tokens.html
2137                fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
2138                fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
2139                fast/dom/MicroData/itemref-must-be-read-only.html
2140                fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element.html
2141                fast/dom/MicroData/itemvalue-reflects-href-attr.html
2142                fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element.html
2143                fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element.html
2144                fast/dom/MicroData/itemvalue-reflects-the-src-attr.html
2145                fast/dom/MicroData/itemvalue-returns-element-itself.html
2146                fast/dom/MicroData/itemvalue-returns-null.html
2147                fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001.html
2148                fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002.html
2149
2150         * CMakeLists.txt:
2151         * GNUmakefile.list.am:
2152         * WebCore.gypi:
2153         * WebCore.pro:
2154         * WebCore.vcproj/WebCore.vcproj:
2155         * bindings/js/JSHTMLElementCustom.cpp:
2156         (WebCore::toJS):
2157         (WebCore::JSHTMLElement::itemValue):
2158         (WebCore::JSHTMLElement::setItemValue):
2159         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2160         (WebCore::toV8Object):
2161         (WebCore::V8HTMLElement::itemValueAccessorGetter):
2162         (WebCore::V8HTMLElement::itemValueAccessorSetter):
2163         * dom/MicroDataItemList.cpp:
2164         * html/HTMLAnchorElement.cpp:
2165         (WebCore::HTMLAnchorElement::itemValueText):
2166         (WebCore::HTMLAnchorElement::setItemValueText):
2167         * html/HTMLAnchorElement.h:
2168         * html/HTMLAreaElement.cpp:
2169         (WebCore::HTMLAreaElement::itemValueText):
2170         (WebCore::HTMLAreaElement::setItemValueText):
2171         * html/HTMLAreaElement.h:
2172         * html/HTMLAttributeNames.in:
2173         * html/HTMLElement.cpp:
2174         (WebCore::HTMLElement::parseMappedAttribute):
2175         (WebCore::HTMLElement::itemProp): Returns element's itemprop content attribute.
2176         (WebCore::HTMLElement::setItemProp): Sets itemprop value on changing elemet's
2177         itemprop attribute.
2178         (WebCore::HTMLElement::itemRef): Returns element's itemref content attribute.
2179         (WebCore::HTMLElement::setItemRef): Sets itemref value on changing elemet's
2180         itemref attribute.
2181         (WebCore::HTMLElement::setItemValue): Sets element's itemvalue. If the element has no
2182         itemprop attribute or if element has an itemscope attribute, it throws INVALID_ACCESS_ERR
2183         exception.
2184         (WebCore::HTMLElement::itemValue): Returns the elements itemvalue.
2185
2186         If the element has no itemprop attribute it returns null.
2187         If the element has an itemscope attribute, it returns the element itself.
2188         If the element is a meta element: It acts as it would if it was reflecting the element's
2189         content content attribute.
2190         If the element is an audio, embed, iframe, img, source, track, or video element: It acts
2191         as it would if it was reflecting the element's src content attribute.
2192         If the element is an a, area, or link element: It act as it would if it was reflecting the
2193         href content attribute.
2194         If the element is an object element: It acts as  it would if it was reflecting the element's
2195         data content attribute.
2196
2197         (WebCore::HTMLElement::itemValueText):
2198         (WebCore::HTMLElement::setItemValueText):
2199         * html/HTMLElement.h:
2200         * html/HTMLElement.idl:
2201         * html/HTMLEmbedElement.cpp:
2202         (WebCore::HTMLEmbedElement::itemValueText):
2203         (WebCore::HTMLEmbedElement::setItemValueText):
2204         * html/HTMLEmbedElement.h:
2205         * html/HTMLIFrameElement.cpp:
2206         (WebCore::HTMLIFrameElement::itemValueText):
2207         (WebCore::HTMLIFrameElement::setItemValueText):
2208         * html/HTMLIFrameElement.h:
2209         * html/HTMLImageElement.cpp:
2210         (WebCore::HTMLImageElement::itemValueText):
2211         (WebCore::HTMLImageElement::setItemValueText):
2212         * html/HTMLImageElement.h:
2213         * html/HTMLLinkElement.cpp:
2214         (WebCore::HTMLLinkElement::itemValueText):
2215         (WebCore::HTMLLinkElement::setItemValueText):
2216         * html/HTMLLinkElement.h:
2217         * html/HTMLMediaElement.cpp:
2218         (WebCore::HTMLMediaElement::itemValueText):
2219         (WebCore::HTMLMediaElement::setItemValueText):
2220         * html/HTMLMediaElement.h:
2221         * html/HTMLMetaElement.cpp:
2222         (WebCore::HTMLMetaElement::itemValueText):
2223         (WebCore::HTMLMetaElement::setItemValueText):
2224         * html/HTMLMetaElement.h:
2225         * html/HTMLObjectElement.cpp:
2226         (WebCore::HTMLObjectElement::itemValueText):
2227         (WebCore::HTMLObjectElement::setItemValueText):
2228         * html/HTMLObjectElement.h:
2229         * html/HTMLSourceElement.cpp:
2230         (WebCore::HTMLSourceElement::itemValueText):
2231         (WebCore::HTMLSourceElement::setItemValueText):
2232         * html/HTMLSourceElement.h:
2233         * html/HTMLTrackElement.cpp:
2234         (WebCore::HTMLTrackElement::itemValueText):
2235         (WebCore::HTMLTrackElement::setItemValueText):
2236         * html/HTMLTrackElement.h:
2237         * html/MicroDataItemValue.cpp: Added.
2238         (WebCore::MicroDataItemValue::MicroDataItemValue):
2239         (WebCore::MicroDataItemValue::createFromString):
2240         (WebCore::MicroDataItemValue::createFromNode):
2241         * html/MicroDataItemValue.h: Added.
2242         (WebCore::MicroDataItemValue::isNode):
2243         (WebCore::MicroDataItemValue::getNode):
2244         (WebCore::MicroDataItemValue::getString):
2245
2246 2011-10-24  Joseph Pecoraro  <joepeck@webkit.org>
2247
2248         Remove unused instance variable
2249         https://bugs.webkit.org/show_bug.cgi?id=70750
2250
2251         Reviewed by Dimitri Glazkov.
2252
2253         * rendering/RenderTextControl.h:
2254
2255 2011-10-24  Nico Weber  <thakis@chromium.org>
2256
2257         [chromium/mac] Fix an ODR violation.
2258         https://bugs.webkit.org/show_bug.cgi?id=70753
2259
2260         Reviewed by Anders Carlsson.
2261
2262         Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
2263         Remove the unused one.
2264
2265         * WebCore.gyp/WebCore.gyp:
2266
2267 2011-10-24  Tim Horton  <timothy_horton@apple.com>
2268
2269         feColorMatrix doesn't use the correct default "matrix" type when no type attribute is specified
2270         https://bugs.webkit.org/show_bug.cgi?id=70035
2271         <rdar://problem/10280177>
2272
2273         Reviewed by Nikolas Zimmermann.
2274
2275         Make feColorMatrix's type attribute be "matrix" by default.
2276
2277         Test: svg/filters/feColorMatrix-default-type.svg
2278
2279         * svg/SVGFEColorMatrixElement.cpp:
2280         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2281
2282 2011-10-24  Joshua Bell  <jsbell@chromium.org>
2283
2284         Unbreak binding generation tests
2285         https://bugs.webkit.org/show_bug.cgi?id=70768
2286
2287         Reviewed by Darin Adler.
2288
2289         Update the expected output of V8 binding tests to match
2290         results c/o https://bugs.webkit.org/show_bug.cgi?id=70065
2291
2292         * bindings/scripts/test/V8/V8TestObj.cpp:
2293         (WebCore::TestObjInternal::idbKeyCallback):
2294
2295 2011-10-21  Nat Duca  <nduca@chromium.org>
2296
2297         [chromium] Add isTraceEventEnabled to PlatformSupport.
2298         https://bugs.webkit.org/show_bug.cgi?id=70618
2299
2300         Reviewed by Darin Fisher.
2301
2302         * platform/chromium/PlatformSupport.h:
2303
2304 2011-10-24  Mihnea Ovidenie  <mihnea@adobe.com>
2305
2306         Use StringBuilder in CSSRuleList::rulesText()/CSSSelectorList::selectorsText()
2307         https://bugs.webkit.org/show_bug.cgi?id=70746
2308
2309         Reviewed by Tony Chang.
2310
2311         Covered by existing tests.
2312
2313         * css/CSSRuleList.cpp:
2314         (WebCore::CSSRuleList::rulesText):
2315         * css/CSSSelectorList.cpp:
2316         (WebCore::CSSSelectorList::selectorsText):
2317         * css/WebKitCSSKeyframesRule.cpp:
2318         (WebCore::WebKitCSSKeyframesRule::cssText): Use CSSRuleList::rulesText() method instead of explicit loop.
2319
2320 2011-10-24  Michael Saboff  <msaboff@apple.com>
2321
2322         WebKit doesn't build with recent changes to libdispatch
2323         https://bugs.webkit.org/show_bug.cgi?id=70737
2324
2325         Added initialization for new WebKitSystemInterface function 
2326         CreateVMPressureDispatchOnMainQueue.  Changed MemoryPressureHandler::install
2327         to use new function.
2328
2329         Reviewed by Geoffrey Garen.
2330
2331         No new tests.  Moved functionality to WebKitSystemInterface.
2332
2333         * WebCore.exp.in:
2334         * platform/mac/MemoryPressureHandlerMac.mm:
2335         (WebCore::MemoryPressureHandler::install):
2336         * platform/mac/WebCoreSystemInterface.h:
2337         * platform/mac/WebCoreSystemInterface.mm:
2338
2339 2011-10-24  Joshua Bell  <jsbell@chromium.org>
2340
2341         IndexedDB: Throw DATA_ERR on invalid keys, remove null key support
2342         https://bugs.webkit.org/show_bug.cgi?id=70065
2343
2344         Reviewed by Tony Chang.
2345
2346         Part 1 of a two-sided commit. Renames IDBKey::NullType to
2347         IDBKey::InvalidType. JS binding yields this type rather
2348         than throwing immediately so the correct exception type can
2349         be raised. Checks for invalid keys added to front-end classes.
2350
2351         * bindings/js/JSIDBKeyCustom.cpp:
2352         (WebCore::toJS):
2353         * bindings/scripts/CodeGeneratorV8.pm:
2354         (TypeCanFailConversion):
2355         * bindings/v8/IDBBindingUtilities.cpp:
2356         (WebCore::createIDBKeyFromValue):
2357         * bindings/v8/custom/V8IDBKeyCustom.cpp:
2358         (WebCore::toV8):
2359         * storage/IDBCursor.cpp:
2360         (WebCore::IDBCursor::continueFunction):
2361         * storage/IDBFactory.cpp:
2362         (WebCore::IDBFactory::cmp):
2363         * storage/IDBIndex.cpp:
2364         (WebCore::IDBIndex::get):
2365         (WebCore::IDBIndex::getKey):
2366         * storage/IDBKey.cpp:
2367         (WebCore::IDBKey::IDBKey):
2368         (WebCore::IDBKey::compare):
2369         * storage/IDBKey.h:
2370         (WebCore::IDBKey::createInvalid):
2371         * storage/IDBKeyRange.cpp:
2372         (WebCore::IDBKeyRange::only):
2373         (WebCore::IDBKeyRange::lowerBound):
2374         (WebCore::IDBKeyRange::upperBound):
2375         (WebCore::IDBKeyRange::bound):
2376         * storage/IDBKeyRange.h:
2377         (WebCore::IDBKeyRange::lowerBound):
2378         (WebCore::IDBKeyRange::upperBound):
2379         (WebCore::IDBKeyRange::bound):
2380         * storage/IDBKeyRange.idl:
2381         * storage/IDBLevelDBCoding.cpp:
2382         (WebCore::IDBLevelDBCoding::encodeIDBKey):
2383         (WebCore::IDBLevelDBCoding::decodeIDBKey):
2384         * storage/IDBObjectStore.cpp:
2385         (WebCore::IDBObjectStore::get):
2386         (WebCore::IDBObjectStore::add):
2387         (WebCore::IDBObjectStore::put):
2388         (WebCore::IDBObjectStore::deleteFunction):
2389         * storage/IDBObjectStoreBackendImpl.cpp:
2390         (WebCore::IDBObjectStoreBackendImpl::put):
2391         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2392         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
2393         * storage/IDBSQLiteBackingStore.cpp:
2394         (WebCore::whereSyntaxForKey):
2395         (WebCore::bindKeyToQuery):
2396         (WebCore::lowerCursorWhereFragment):
2397         (WebCore::upperCursorWhereFragment):
2398         (WebCore::bindKeyToQueryWithNulls):
2399         (WebCore::keyFromQuery):
2400
2401 2011-10-24  Alok Priyadarshi  <alokp@chromium.org>
2402
2403         [chromium] Make accelerated drawing work with threaded compositing
2404         https://bugs.webkit.org/show_bug.cgi?id=70656
2405
2406         Reviewed by James Robinson.
2407
2408         Make sure that the compositor context is not used outside LayerTextureUpdater::updateTextureRect().
2409         Created a FrameBuffer class that wraps skia gpu canvas and manages GL resources.
2410
2411         * platform/graphics/chromium/ContentLayerChromium.cpp:
2412         (WebCore::ContentLayerChromium::createTextureUpdater):
2413         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2414         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
2415         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
2416         (WebCore::FrameBuffer::FrameBuffer::initialize):
2417         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
2418         (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
2419         (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
2420         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
2421         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2422         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2423         (WebCore::CCLayerTreeHost::initialize):
2424
2425 2011-10-24  Adam Klein  <adamk@chromium.org>
2426
2427         Optimize Node::isInShadowTree to execute in constant-time
2428         https://bugs.webkit.org/show_bug.cgi?id=67686
2429
2430         Reviewed by Dimitri Glazkov.
2431
2432         No expected change in behavior, so no new tests.
2433
2434         * dom/Node.cpp:
2435         (WebCore::Node::isInShadowTree):
2436
2437 2011-10-24  Nat Duca  <nduca@chromium.org>
2438
2439         [chromium] Expose WebThread::postDelayedTask to CCThread
2440         https://bugs.webkit.org/show_bug.cgi?id=70712
2441
2442         Reviewed by James Robinson.
2443
2444         * platform/graphics/chromium/cc/CCThread.h:
2445
2446 2011-10-24  Levi Weintraub  <leviw@chromium.org>
2447
2448         <svg> fails to use explicit width and height inside <html> inside IFRAME
2449         https://bugs.webkit.org/show_bug.cgi?id=64823
2450
2451         Reviewed by Nikolas Zimmermann.
2452
2453         Checking that embedded SVG is in an SVG document before negotiating size
2454         with the host document.
2455
2456         Test: svg/as-object/svg-embedded-in-html-in-iframe.html
2457
2458         * rendering/svg/RenderSVGRoot.cpp:
2459         (WebCore::isEmbeddedThroughFrameContainingSVGDocument):
2460         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2461         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2462
2463 2011-10-24  Rafael Weinstein  <rafaelw@chromium.org>
2464
2465         Node::registeredMutationObserversOfType should be prefixed by "get"
2466         https://bugs.webkit.org/show_bug.cgi?id=70359
2467
2468         Reviewed by Ojan Vafai.
2469
2470         This change renames Node::registeredMutationObserversOfType to
2471         Node::getRegisteredMutationObserversOfType per the WebKit style guide.
2472
2473         No tests needed as the change is only method renaming.
2474
2475         * dom/CharacterData.cpp:
2476         (WebCore::CharacterData::dispatchModifiedEvent):
2477         * dom/ChildListMutationScope.cpp:
2478         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
2479         * dom/Element.cpp:
2480         (WebCore::enqueueAttributesMutationRecord):
2481         * dom/Node.cpp:
2482         (WebCore::Node::getRegisteredMutationObserversOfType):
2483         * dom/Node.h:
2484
2485 2011-10-24  Mark Hahnenberg  <mhahnenberg@apple.com>
2486
2487         Rename static getOwnPropertySlot to getOwnPropertySlotByIndex
2488         https://bugs.webkit.org/show_bug.cgi?id=70271
2489
2490         Reviewed by Darin Adler.
2491
2492         No new tests.
2493
2494         Renaming versions of getOwnPropertySlot that use an unsigned as the property
2495         name to "getOwnPropertySlotByIndex" in preparation for adding them to the 
2496         MethodTable, which requires unique names for each method.
2497
2498         * bindings/js/SerializedScriptValue.cpp:
2499         (WebCore::CloneSerializer::getSparseIndex):
2500         * bindings/scripts/CodeGeneratorJS.pm:
2501         (GenerateHeader):
2502         (GenerateImplementation):
2503         * bridge/runtime_array.cpp:
2504         (JSC::RuntimeArray::getOwnPropertySlotVirtual):
2505         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
2506         * bridge/runtime_array.h:
2507
2508 2011-10-24  Joshua Bell  <jsbell@chromium.org>
2509
2510         IndexedDB add should fail adding an inline and passed key simultaneously
2511         https://bugs.webkit.org/show_bug.cgi?id=58598
2512
2513         Reviewed by Tony Chang.
2514
2515         Test: storage/indexeddb/mozilla/key-requirements-inline-and-passed.html
2516
2517         Implement the spec clause: passing a key into add() or put() when
2518         the object store has a key path ("inline key") is an error.
2519
2520         * storage/IDBObjectStoreBackendImpl.cpp:
2521         (WebCore::IDBObjectStoreBackendImpl::put):
2522
2523 2011-10-24  Simon Fraser  <simon.fraser@apple.com>
2524
2525         Improve debug compositing border colors
2526         https://bugs.webkit.org/show_bug.cgi?id=70742
2527
2528         Reviewed by Dean Jackson.
2529
2530         Improve the appearance of the debug borders used to indicate compositing:
2531         1. Use green for normal layers, orange for tiled layers
2532         2. Make the repaint counter translucent
2533         3. Change the color of the repaint counter to show when accelerated drawing is enabled.
2534
2535         * platform/graphics/GraphicsLayer.cpp:
2536         (WebCore::GraphicsLayer::updateDebugIndicators):
2537         * platform/graphics/mac/WebLayer.mm:
2538         (drawLayerContents):
2539
2540 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2541
2542         [GTK] Fix make distcheck build
2543         https://bugs.webkit.org/show_bug.cgi?id=69745
2544
2545         Reviewed by Martin Robinson.
2546
2547         * GNUmakefile.am:
2548         * GNUmakefile.list.am:
2549
2550 2011-10-24  Alexander Pavlov  <apavlov@chromium.org>
2551
2552         Web Inspector: [Styles] Adding a new style rule breaks things
2553         https://bugs.webkit.org/show_bug.cgi?id=70721
2554
2555         Reviewed by Pavel Feldman.
2556
2557         We had used to swap BlankStylePropertiesSection prototype and recently got rid of this hack,
2558         but still had dependencies on the old behavior.
2559
2560         * inspector/front-end/StylesSidebarPane.js:
2561         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
2562         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
2563         (WebInspector.BlankStylePropertiesSection.prototype.get isBlank):
2564         (WebInspector.BlankStylePropertiesSection.prototype.expand):
2565         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
2566         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
2567         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled):
2568         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
2569
2570 2011-10-24  Pavel Feldman  <pfeldman@google.com>
2571
2572         Web Inspector: do not force document loading on reload (should happen on demand).
2573         https://bugs.webkit.org/show_bug.cgi?id=70724
2574
2575         Reviewed by Yury Semikhatsky.
2576
2577         * inspector/front-end/ConsoleMessage.js:
2578         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
2579         * inspector/front-end/DOMAgent.js:
2580         (WebInspector.DOMAgent.prototype._documentUpdated):
2581         * inspector/front-end/ElementsPanel.js:
2582         (WebInspector.ElementsPanel.prototype.wasShown):
2583         * inspector/front-end/ElementsTreeOutline.js:
2584         (WebInspector.ElementsTreeOutline.prototype.setVisible):
2585
2586 2011-10-24  Eric Carlson  <eric.carlson@apple.com>
2587
2588         Drop MutableTextTrack and make TextTrack always mutable
2589         https://bugs.webkit.org/show_bug.cgi?id=62890
2590
2591         The MutableTextTrack type was removed from the spec, all text tracks are now mutable.
2592
2593         Reviewed by Sam Weinig.
2594
2595         No new tests needed, the changes just refactor existing code.
2596
2597         * CMakeLists.txt: Remove all traces of MutableTextTrack.
2598         * CodeGenerators.pri: Ditto.
2599         * DerivedSources.cpp: Ditto.
2600         * DerivedSources.make: Ditto.
2601         * GNUmakefile.list.am: Ditto.
2602         * WebCore.gypi: Ditto.
2603         * WebCore.pro: Ditto.
2604         * WebCore.xcodeproj/project.pbxproj: Ditto.
2605         * bindings/gobject/GNUmakefile.am: Ditto.
2606         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
2607         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
2608
2609         * bindings/js/JSTextTrackCustom.cpp: Removed.
2610
2611         * html/HTMLMediaElement.cpp:
2612         (WebCore::HTMLMediaElement::addTrack): Return a TextTrack instead of a MutableTextTrack.
2613         * html/HTMLMediaElement.h:
2614         * html/HTMLMediaElement.idl:
2615
2616         * html/LoadableTextTrack.cpp:
2617         (WebCore::LoadableTextTrack::LoadableTextTrack): Return a TextTrack instead of a MutableTextTrack.
2618
2619         * html/MutableTextTrack.cpp: Removed.
2620         * html/MutableTextTrack.h: Removed.
2621         * html/MutableTextTrack.idl: Removed.
2622
2623         * html/TextTrack.cpp:
2624         (WebCore::TextTrack::TextTrack): Remove Type parameter.
2625         (WebCore::TextTrack::addCue): New, moved from MutableTextTrack.
2626         (WebCore::TextTrack::removeCue): Ditto.
2627         (WebCore::TextTrack::newCuesLoaded): Ditto.
2628         (WebCore::TextTrack::fetchNewestCues): Ditto.
2629         * html/TextTrack.h:
2630         (WebCore::TextTrack::create): Remove Type parameter
2631         * html/TextTrack.idl: Add addCue and removeCue.
2632
2633 2011-10-24  Yury Semikhatsky  <yurys@chromium.org>
2634
2635         Web Inspector: allow debugging dedicated worker initialization
2636         https://bugs.webkit.org/show_bug.cgi?id=70723
2637
2638         Now it is possible to pause each new dedicated worker on start. The user
2639         needs to select a checkbox and then each newly created dedicated worker
2640         will be paused on the first statement until the user resumes it explicitely.
2641
2642         Reviewed by Pavel Feldman.
2643
2644         * inspector/Inspector.json: resume command is added. It is similar to GDB's run
2645         command, i.e. worker execution will be paused until explicit "resume" command is
2646         received.
2647         * inspector/InspectorInstrumentation.cpp:
2648         (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
2649         * inspector/InspectorInstrumentation.h:
2650         (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
2651         * inspector/InspectorRuntimeAgent.cpp:
2652         (WebCore::InspectorRuntimeAgent::resume):
2653         (WebCore::InspectorRuntimeAgent::pauseWorkerContext):
2654         * inspector/InspectorRuntimeAgent.h:
2655         * inspector/InspectorWorkerAgent.cpp:
2656         (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart): returns true
2657         if the user chose to automatically pause all new workers.
2658         * inspector/InspectorWorkerAgent.h:
2659         * inspector/WorkerInspectorController.cpp:
2660         (WebCore::WorkerInspectorController::resume):
2661         * inspector/front-end/WorkerManager.js:
2662         (WebInspector.WorkerManager.loaded):
2663         (WebInspector.WorkerManager.loadCompleted):
2664         (WebInspector.WorkerManager.prototype._workerCreated):
2665         (WebInspector.WorkerManager.prototype.openWorkerInspector):
2666         (WebInspector.WorkerManager.prototype._openInspectorWindow):
2667         * inspector/front-end/inspector.js:
2668         (WebInspector.loaded):
2669         * workers/Worker.cpp:
2670         (WebCore::Worker::notifyFinished):
2671         * workers/WorkerContextProxy.h:
2672         * workers/WorkerMessagingProxy.cpp:
2673         (WebCore::WorkerMessagingProxy::startWorkerContext): additional flag specifying
2674         worker initial state(paused/not paused) is added to the factory method. The flag
2675         will be carried to the corresponding WorkerThread.
2676         (WebCore::WorkerMessagingProxy::connectToInspector):
2677         * workers/WorkerMessagingProxy.h:
2678
2679 2011-10-21  Nikita Vasilyev  <me@elv1s.ru>
2680
2681         Web Inspector: Make indent configurable
2682         https://bugs.webkit.org/show_bug.cgi?id=69986
2683
2684         Add a setting to choose an indent from "8 spaces", "4 spaces" (default), "2 spaces", or "Tab character".
2685
2686         Reviewed by Pavel Feldman.
2687
2688         * English.lproj/localizedStrings.js:
2689         * inspector/front-end/SettingsScreen.js:
2690         (WebInspector.SettingsScreen):
2691         (WebInspector.SettingsScreen.prototype._createSelectSetting.get p):
2692         (WebInspector.SettingsScreen.prototype._createSelectSetting.changeListener):
2693         * inspector/front-end/TextEditorModel.js:
2694         (WebInspector.TextEditorModel):
2695         * inspector/front-end/TextViewer.js:
2696
2697 2011-10-17  Andrey Kosyakov  <caseq@chromium.org>
2698
2699         Web Inspector: add "Add to Watch" option to context menu on selection in source frame
2700         https://bugs.webkit.org/show_bug.cgi?id=69924
2701
2702         Reviewed by Pavel Feldman.
2703
2704         - added 'Add to Watch' context menu item in scripts panel;
2705         - include both default and custom items into a context menu if selection is present;
2706
2707         * inspector/front-end/ScriptsPanel.js:
2708         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
2709         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.addToWatch):
2710         * inspector/front-end/SourceFrame.js:
2711         (WebInspector.SourceFrame.prototype.populateSelectionContextMenu):
2712         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateSelectionContextMenu):
2713         (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
2714         (WebInspector.SourceFrameDelegate.prototype.addToWatch):
2715         * inspector/front-end/TextViewer.js:
2716         (WebInspector.TextViewer.prototype._contextMenu):
2717         (WebInspector.TextViewerDelegate.prototype.populateSelectionContextMenu):
2718         * inspector/front-end/WatchExpressionsSidebarPane.js:
2719         (WebInspector.WatchExpressionsSidebarPane.prototype.addExpression):
2720         (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
2721         (WebInspector.WatchExpressionsSection.prototype.addExpression):
2722         (WebInspector.WatchExpressionsSection.prototype.addNewExpressionAndEdit):
2723         * page/ContextMenuController.cpp:
2724         (WebCore::ContextMenuController::showContextMenu):
2725
2726 2011-10-21  Alexander Pavlov  <apavlov@chromium.org>
2727
2728         Web Inspector: Audits hang on pages without img[src] elements
2729         https://bugs.webkit.org/show_bug.cgi?id=70604
2730
2731         Reviewed by Pavel Feldman.
2732
2733         Test: inspector/audits/audits-panel-noimages-functional.html
2734
2735         * inspector/front-end/AuditRules.js:
2736         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2737
2738 2011-10-24  Deepak Sherveghar  <bpwv64@motorola.com>
2739
2740         [Qt] fast/events/media-focus-in-standalone-media-document.html fails
2741         https://bugs.webkit.org/show_bug.cgi?id=70110
2742
2743         Reviewed by Simon Hausmann.
2744
2745         ExtensionMap should also include media files mapping.
2746
2747         * platform/qt/MIMETypeRegistryQt.cpp: Added media files mapping.
2748
2749 2011-10-24  Pavel Feldman  <pfeldman@google.com>
2750
2751         Not reviewed: [chromium] follow up to 98228 - added missing css.
2752
2753         * WebCore.gypi:
2754
2755 2011-10-24  Pavel Feldman  <pfeldman@chromium.org>
2756
2757         Web Inspector: Make CSS files load upon View demand; split inspector.css into views.
2758         https://bugs.webkit.org/show_bug.cgi?id=70694
2759
2760         Reviewed by Yury Semikhatsky.
2761
2762         * WebCore.gypi:
2763         * WebCore.vcproj/WebCore.vcproj:
2764         * inspector/front-end/AuditsPanel.js:
2765         (WebInspector.AuditsPanel):
2766         * inspector/front-end/DataGrid.js:
2767         (WebInspector.DataGrid):
2768         * inspector/front-end/ElementsPanel.js:
2769         * inspector/front-end/NetworkPanel.js:
2770         (WebInspector.NetworkLogView):
2771         * inspector/front-end/PanelEnablerView.js:
2772         * inspector/front-end/ProfilesPanel.js:
2773         * inspector/front-end/ResourceView.js:
2774         (WebInspector.ResourceView):
2775         * inspector/front-end/ResourcesPanel.js:
2776         * inspector/front-end/ScriptsPanel.js:
2777         * inspector/front-end/TextViewer.js:
2778         * inspector/front-end/TimelinePanel.js:
2779         (WebInspector.TimelinePanel):
2780         * inspector/front-end/WebKit.qrc:
2781         * inspector/front-end/WelcomeView.js:
2782         (WebInspector.WelcomeView):
2783         * inspector/front-end/auditsPanel.css: Renamed from Source/WebCore/inspector/front-end/audits.css.
2784
2785 2011-10-24  Pavel Feldman  <pfeldman@chromium.org>
2786
2787         Web Inspector: make view load CSS files upon show.
2788         https://bugs.webkit.org/show_bug.cgi?id=70696
2789
2790         Reviewed by Yury Semikhatsky.
2791
2792         Test: inspector/view-css.html
2793
2794         * inspector/front-end/View.js:
2795         (WebInspector.View):
2796         (WebInspector.View.prototype._callOnVisibleChildren):
2797         (WebInspector.View.prototype._processWillShow):
2798         (WebInspector.View.prototype._processWasShown):
2799         (WebInspector.View.prototype._processWillHide):
2800         (WebInspector.View.prototype._processWasHidden):
2801         (WebInspector.View.prototype._processOnResize):
2802         (WebInspector.View.prototype.show):
2803         (WebInspector.View.prototype.detach):
2804         (WebInspector.View.prototype.registerRequiredCSS):
2805         (WebInspector.View.prototype._loadCSSIfNeeded):
2806         (WebInspector.View.prototype._doLoadCSS):
2807         (WebInspector.View.prototype._disableCSSIfNeeded):
2808         (WebInspector.View.prototype._doUnloadCSS):
2809
2810 2011-10-24  Pavel Feldman  <pfeldman@chromium.org>
2811
2812         Web Inspector: make DataGrid a view
2813         https://bugs.webkit.org/show_bug.cgi?id=70695
2814
2815         Reviewed by Yury Semikhatsky.
2816
2817         * inspector/front-end/ApplicationCacheItemsView.js:
2818         (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
2819         * inspector/front-end/CookieItemsView.js:
2820         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2821         (WebInspector.SimpleCookiesTable):
2822         (WebInspector.SimpleCookiesTable.prototype.setCookies):
2823         * inspector/front-end/CookiesTable.js:
2824         (WebInspector.CookiesTable):
2825         * inspector/front-end/DOMStorageItemsView.js:
2826         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
2827         * inspector/front-end/DataGrid.js:
2828         (WebInspector.DataGrid):
2829         (WebInspector.DataGrid.prototype.onResize):
2830         * inspector/front-end/DatabaseQueryView.js:
2831         (WebInspector.DatabaseQueryView.prototype._queryFinished):
2832         (WebInspector.DatabaseQueryView.prototype._queryError):
2833         (WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
2834         (WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
2835         (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
2836         * inspector/front-end/DatabaseTableView.js:
2837         (WebInspector.DatabaseTableView.prototype._queryFinished):
2838         * inspector/front-end/DetailedHeapshotView.js:
2839         (WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
2840         (WebInspector.DetailedHeapshotView.prototype.wasShown):
2841         (WebInspector.DetailedHeapshotView.prototype.onResize):
2842         * inspector/front-end/NetworkPanel.js:
2843         (WebInspector.NetworkLogView.prototype.onResize):
2844         (WebInspector.NetworkLogView.prototype._createTable):
2845         * inspector/front-end/ProfileView.js:
2846         * inspector/front-end/ResourceCookiesView.js:
2847         (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
2848         * inspector/front-end/ResourceView.js:
2849         (WebInspector.ResourceView):
2850
2851 2011-10-24  Yosifumi Inoue  <yosin@chromium.org>
2852
2853         [Forms] Setting defaultValue should hide an input placeholder.
2854         https://bugs.webkit.org/show_bug.cgi?id=70586
2855
2856         Reviewed by Kent Tamura.
2857
2858         Tests: fast/forms/placeholder-and-default-value-expected.html
2859                fast/forms/placeholder-and-default-value.html
2860
2861         When input element has default value, we should not display
2862         placeholder. Changing default value should tell rendering engine about
2863         changing display of input element.
2864
2865         * html/HTMLInputElement.cpp:
2866         (WebCore::HTMLInputElement::parseMappedAttribute): Calls updatePlaceholderVisibility for valueAttr if it doesn't have dirty value.
2867
2868 2011-10-23  Darin Adler  <darin@apple.com>
2869
2870         Eliminate OptionElement (second and final part)
2871         https://bugs.webkit.org/show_bug.cgi?id=70710
2872
2873         Reviewed by Kent Tamura.
2874
2875         * CMakeLists.txt: Removed OptionElement.h and OptionElement.cpp.
2876         * GNUmakefile.list.am: Ditto.
2877         * WebCore.gypi: Ditto.
2878         * WebCore.pro: Ditto.
2879         * WebCore.vcproj/WebCore.vcproj: Ditto.
2880         * WebCore.xcodeproj/project.pbxproj: Ditto.
2881         * dom/DOMAllInOne.cpp: Ditto.
2882
2883         * dom/OptionElement.cpp: Removed.
2884         * dom/OptionElement.h: Removed.
2885
2886         * html/HTMLSelectElement.cpp:
2887         (WebCore::HTMLSelectElement::saveLastSelection): Eliminate use of the
2888         toOptionElement function. Use hasTagName and toHTMLOptionElement instead.
2889         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
2890         (WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
2891         (WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
2892         (WebCore::HTMLSelectElement::recalcListItems): Ditto.
2893         (WebCore::HTMLSelectElement::selectedIndex): Ditto.
2894         (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
2895         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
2896         (WebCore::HTMLSelectElement::saveFormControlState): Ditto.
2897         (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
2898         (WebCore::HTMLSelectElement::appendFormData): Ditto.
2899         (WebCore::HTMLSelectElement::reset): Ditto.
2900         (WebCore::HTMLSelectElement::updateSelectedState): Ditto.
2901         (WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
2902         (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
2903         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
2904
2905         * html/HTMLSelectElement.h: Changed the argument type of the
2906         deselectItemsWithoutValidation function to HTMLElement* since that's
2907         the type of an item in our items vector now.
2908
2909 2011-10-23  Yuzo Fujishima  <yuzo@google.com>
2910
2911         [chromium] Attempt to fix compilation error for Chromium OS.
2912
2913         Unreviewed.
2914
2915         * mediastream/MediaStreamTrack.cpp:
2916         (WebCore::MediaStreamTrack::kind):
2917
2918 2011-10-23  Adam Barth  <abarth@webkit.org>
2919
2920         <img crossorigin> should fail to load when CORS check fails
2921         https://bugs.webkit.org/show_bug.cgi?id=69732
2922
2923         Reviewed by Darin Adler.
2924
2925         When loading an image with the crossorigin attribute, the spec says
2926         that we're not supposed to load the image if the CORS check fails.
2927         This "fails fast" behavior is intended to help developers understand
2928         whether they've configured CORS correctly (instead of only catching the
2929         error later when trying to read back the canvas).
2930
2931         Our new behavior matches the spec and Firefox.
2932
2933         Test: http/tests/security/img-with-failed-cors-check-fails-to-load.html
2934
2935         * loader/ImageLoader.cpp:
2936         (WebCore::ImageLoader::notifyFinished):
2937
2938 2011-10-23  Noel Gordon  <noel.gordon@gmail.com>
2939
2940         [chromium] Remove GeolocationServiceGtk.{h,cpp} from the gyp projects
2941         https://bugs.webkit.org/show_bug.cgi?id=70702
2942
2943         Reviewed by Kent Tamura.
2944
2945         platform/gtk/GeolocationServiceGtk.{h,cpp} were removed in r97746, so
2946         remove references to these files from the gyp files.
2947
2948         * WebCore.gypi:
2949
2950 2011-10-23  Andreas Kling  <kling@webkit.org>
2951
2952         Move StyleSheet::addSubresourceStyleURLs() to CSSStyleSheet.
2953         https://bugs.webkit.org/show_bug.cgi?id=70690
2954
2955         Reviewed by Antti Koivisto.
2956
2957         This method isn't part of the StyleSheet DOM interface, nor is it used by
2958         XSLStyleSheet, so move it down to CSSStyleSheet and make it non-virtual.
2959         Also remove some nearby unneeded casts from CSSStyleSheet* to StyleSheet*.
2960
2961         * css/CSSStyleSheet.h:
2962         * css/StyleSheet.h:
2963         * html/HTMLLinkElement.cpp:
2964         (WebCore::HTMLLinkElement::isLoading):
2965         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
2966         * html/HTMLStyleElement.cpp:
2967         (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
2968         (WebCore::HTMLStyleElement::disabled):
2969         (WebCore::HTMLStyleElement::setDisabled):
2970
2971 2011-10-23  Andreas Kling  <kling@webkit.org>
2972
2973         Remove style sheet constructors that take a style sheet parent.
2974         https://bugs.webkit.org/show_bug.cgi?id=70692
2975
2976         Reviewed by Antti Koivisto.
2977
2978         Style sheets are never directly parented by other style sheets, they always
2979         go via a rule (such as @import.)
2980
2981         * css/CSSStyleSheet.cpp:
2982         * css/CSSStyleSheet.h:
2983         (WebCore::CSSStyleSheet::create):
2984         * css/StyleSheet.cpp:
2985         * css/StyleSheet.h:
2986
2987 2011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
2988
2989         Add deleteProperty to the MethodTable
2990         https://bugs.webkit.org/show_bug.cgi?id=70162
2991
2992         Reviewed by Sam Weinig.
2993
2994         No new tests.
2995
2996         * WebCore.exp.in:
2997
2998 2011-10-23  Adam Barth  <abarth@webkit.org>
2999
3000         Update baselines for run-bindings-tests.
3001
3002         * bindings/scripts/test/JS/JSTestInterface.cpp:
3003         * bindings/scripts/test/JS/JSTestInterface.h:
3004         * bindings/scripts/test/JS/JSTestObj.cpp:
3005
3006 2011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
3007
3008         Remove getConstructDataVirtual
3009         https://bugs.webkit.org/show_bug.cgi?id=70638
3010
3011         Reviewed by Darin Adler.
3012
3013         No new tests.
3014
3015         Removed all declarations and definitions of getConstructDataVirtual.
3016         Also replaced all call sites to getConstructDataVirtual with a 
3017         corresponding lookup in the MethodTable.
3018
3019         * WebCore.exp.in:
3020         * bindings/js/JSAudioConstructor.cpp:
3021         * bindings/js/JSAudioConstructor.h:
3022         * bindings/js/JSImageConstructor.cpp:
3023         * bindings/js/JSImageConstructor.h:
3024         * bindings/js/JSOptionConstructor.cpp:
3025         * bindings/js/JSOptionConstructor.h:
3026         * bindings/js/ScriptFunctionCall.cpp:
3027         (WebCore::ScriptFunctionCall::construct):
3028         * bindings/scripts/CodeGeneratorJS.pm:
3029         (GenerateConstructorDeclaration):
3030         (GenerateConstructorDefinition):
3031         * bridge/runtime_object.cpp:
3032         * bridge/runtime_object.h:
3033
3034 2011-10-22  Geoffrey Garen  <ggaren@apple.com>
3035
3036         Separated string lifetime bits from character buffer state bits
3037         https://bugs.webkit.org/show_bug.cgi?id=70673
3038
3039         Reviewed by Anders Carlsson.
3040
3041         * bindings/scripts/CodeGeneratorJS.pm:
3042         (GenerateHashValue): Updated for string hashing changes in JavaScriptCore.
3043
3044 2011-10-22  Pratik Solanki  <psolanki@apple.com>
3045
3046         HTTPBodyStream in NSURLRequest gets lost when using CFNetwork loader
3047         https://bugs.webkit.org/show_bug.cgi?id=70583
3048         <rdar://problem/10281227>
3049
3050         Reviewed by Darin Adler.
3051
3052         Call WebCore::setHTTPBody() only if we actually have a FormData. Unconditionally calling it
3053         results in us passing 0 to wkCFURLRequestSetHTTPRequestBodyParts() which resets any input
3054         stream specified by the user on the NSURLRequest. This code matches the behavior in the
3055         Foundation version of doUpdatePlatformRequest().
3056
3057         * platform/network/cf/ResourceRequestCFNet.cpp:
3058         (WebCore::ResourceRequest::doUpdatePlatformRequest):
3059
3060 2011-10-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
3061
3062         Move all MediaStream and PeerConnection related non-platform files to WebCore/mediastream
3063         https://bugs.webkit.org/show_bug.cgi?id=70233
3064
3065         Reviewed by Adam Barth.
3066
3067         Removed affected files from build systems that don't have a MEDIA_STREAM build flag.
3068
3069         No new tests since we're just moving files.
3070
3071         * CMakeLists.txt:
3072         * CodeGenerators.pri:
3073         * DerivedSources.cpp:
3074         * DerivedSources.make:
3075         * GNUmakefile.am:
3076         * GNUmakefile.list.am:
3077         * UseJSC.cmake:
3078         * WebCore.gyp/WebCore.gyp:
3079         * WebCore.gypi:
3080         * WebCore.pro:
3081         * WebCore.vcproj/WebCore.vcproj:
3082         * WebCore.xcodeproj/project.pbxproj:
3083         * bindings/js/JSBindingsAllInOne.cpp:
3084         * dom/DOMAllInOne.cpp:
3085         * dom/DispatchTask.h: Removed unused file.
3086         * dom/ScriptExecutionContext.cpp:
3087         * mediastream/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/LocalMediaStream.cpp.
3088         (WebCore::LocalMediaStream::create):
3089         (WebCore::LocalMediaStream::LocalMediaStream):
3090         (WebCore::LocalMediaStream::stop):
3091         (WebCore::LocalMediaStream::stopTimerFired):
3092         (WebCore::LocalMediaStream::~LocalMediaStream):
3093         (WebCore::LocalMediaStream::toLocalMediaStream):
3094         * mediastream/LocalMediaStream.h: Renamed from Source/WebCore/dom/LocalMediaStream.h.
3095         * mediastream/LocalMediaStream.idl: Renamed from Source/WebCore/dom/LocalMediaStream.idl.
3096         * mediastream/MediaStream.cpp: Renamed from Source/WebCore/dom/MediaStream.cpp.
3097         (WebCore::MediaStream::create):
3098         (WebCore::MediaStream::MediaStream):
3099         (WebCore::MediaStream::~MediaStream):
3100         (WebCore::MediaStream::readyState):
3101         (WebCore::MediaStream::toMediaStream):
3102         (WebCore::MediaStream::streamEnded):
3103         (WebCore::MediaStream::scriptExecutionContext):
3104         (WebCore::MediaStream::eventTargetData):
3105         (WebCore::MediaStream::ensureEventTargetData):
3106         * mediastream/MediaStream.h: Renamed from Source/WebCore/dom/MediaStream.h.
3107         (WebCore::MediaStream::label):
3108         (WebCore::MediaStream::tracks):
3109         (WebCore::MediaStream::descriptor):
3110         (WebCore::MediaStream::refEventTarget):
3111         (WebCore::MediaStream::derefEventTarget):
3112         * mediastream/MediaStream.idl: Renamed from Source/WebCore/dom/MediaStream.idl.
3113         * mediastream/MediaStreamClient.h: Renamed from Source/WebCore/page/MediaStreamClient.h.
3114         (WebCore::MediaStreamClient::~MediaStreamClient):
3115         * mediastream/MediaStreamController.cpp: Renamed from Source/WebCore/page/MediaStreamController.cpp.
3116         (WebCore::MediaStreamController::Request::Request):
3117         (WebCore::MediaStreamController::Request::localId):
3118         (WebCore::MediaStreamController::Request::frameController):
3119         (WebCore::MediaStreamController::MediaStreamController):
3120         (WebCore::MediaStreamController::~MediaStreamController):
3121         (WebCore::MediaStreamController::isClientAvailable):
3122         (WebCore::MediaStreamController::unregisterFrameController):
3123         (WebCore::MediaStreamController::registerRequest):
3124         (WebCore::MediaStreamController::generateStream):
3125         (WebCore::MediaStreamController::streamGenerated):
3126         (WebCore::MediaStreamController::streamGenerationFailed):
3127         * mediastream/MediaStreamController.h: Renamed from Source/WebCore/page/MediaStreamController.h.
3128         * mediastream/MediaStreamEvent.cpp: Renamed from Source/WebCore/p2p/MediaStreamEvent.cpp.
3129         (WebCore::MediaStreamEvent::create):
3130         (WebCore::MediaStreamEvent::MediaStreamEvent):
3131         (WebCore::MediaStreamEvent::~MediaStreamEvent):
3132         (WebCore::MediaStreamEvent::initMediaStreamEvent):
3133         (WebCore::MediaStreamEvent::stream):
3134         * mediastream/MediaStreamEvent.h: Renamed from Source/WebCore/p2p/MediaStreamEvent.h.
3135         (WebCore::MediaStreamEvent::isMediaStreamEvent):
3136         * mediastream/MediaStreamEvent.idl: Renamed from Source/WebCore/p2p/MediaStreamEvent.idl.
3137         * mediastream/MediaStreamFrameController.cpp: Renamed from Source/WebCore/page/MediaStreamFrameController.cpp.
3138         (WebCore::MediaStreamFrameController::Request::~Request):
3139         (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
3140         (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
3141         (WebCore::MediaStreamFrameController::Request::Request):
3142         (WebCore::MediaStreamFrameController::GenerateStreamRequest::create):
3143         (WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
3144         (WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
3145         (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
3146         (WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
3147         (WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
3148         (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
3149         (WebCore::MediaStreamFrameController::RequestMap::abort):
3150         (WebCore::MediaStreamFrameController::RequestMap::abortAll):
3151         (WebCore::MediaStreamFrameController::MediaStreamFrameController):
3152         (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
3153         (WebCore::MediaStreamFrameController::securityOrigin):
3154         (WebCore::MediaStreamFrameController::scriptExecutionContext):
3155         (WebCore::MediaStreamFrameController::pageController):
3156         (WebCore::MediaStreamFrameController::enterDetachedState):
3157         (WebCore::MediaStreamFrameController::isClientAvailable):
3158         (WebCore::MediaStreamFrameController::disconnectPage):
3159         (WebCore::MediaStreamFrameController::disconnectFrame):
3160         (WebCore::MediaStreamFrameController::transferToNewPage):
3161         (WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
3162         (WebCore::MediaStreamFrameController::generateStream):
3163         (WebCore::MediaStreamFrameController::streamGenerated):
3164         (WebCore::MediaStreamFrameController::streamGenerationFailed):
3165         * mediastream/MediaStreamFrameController.h: Renamed from Source/WebCore/page/MediaStreamFrameController.h.
3166         (WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
3167         (WebCore::MediaStreamFrameController::IdGenerator::getNextId):
3168         * mediastream/MediaStreamList.cpp: Renamed from Source/WebCore/dom/MediaStreamList.cpp.
3169         (WebCore::MediaStreamList::create):
3170         (WebCore::MediaStreamList::MediaStreamList):
3171         (WebCore::MediaStreamList::~MediaStreamList):
3172         (WebCore::MediaStreamList::length):
3173         (WebCore::MediaStreamList::item):
3174         (WebCore::MediaStreamList::append):
3175         (WebCore::MediaStreamList::remove):
3176         (WebCore::MediaStreamList::contains):
3177         * mediastream/MediaStreamList.h: Renamed from Source/WebCore/dom/MediaStreamList.h.
3178         * mediastream/MediaStreamList.idl: Renamed from Source/WebCore/dom/MediaStreamList.idl.
3179         * mediastream/MediaStreamRegistry.cpp: Renamed from Source/WebCore/platform/MediaStreamRegistry.cpp.
3180         (WebCore::MediaStreamRegistry::registry):
3181         (WebCore::MediaStreamRegistry::registerMediaStreamURL):
3182         (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
3183         (WebCore::MediaStreamRegistry::mediaStream):
3184         * mediastream/MediaStreamRegistry.h: Renamed from Source/WebCore/platform/MediaStreamRegistry.h.
3185         * mediastream/MediaStreamTrack.cpp: Renamed from Source/WebCore/dom/MediaStreamTrack.cpp.
3186         (WebCore::MediaStreamTrack::create):
3187         (WebCore::MediaStreamTrack::MediaStreamTrack):
3188         (WebCore::MediaStreamTrack::~MediaStreamTrack):
3189         (WebCore::MediaStreamTrack::kind):
3190         (WebCore::MediaStreamTrack::label):
3191         (WebCore::MediaStreamTrack::enabled):
3192         (WebCore::MediaStreamTrack::setEnabled):
3193         * mediastream/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MediaStreamTrack.h.
3194         * mediastream/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/MediaStreamTrack.idl.
3195         * mediastream/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/MediaStreamTrackList.cpp.
3196         (WebCore::MediaStreamTrackList::create):
3197         (WebCore::MediaStreamTrackList::MediaStreamTrackList):
3198         (WebCore::MediaStreamTrackList::~MediaStreamTrackList):
3199         (WebCore::MediaStreamTrackList::length):
3200         (WebCore::MediaStreamTrackList::item):
3201         * mediastream/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/MediaStreamTrackList.h.
3202         * mediastream/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MediaStreamTrackList.idl.
3203         * mediastream/PeerConnection.cpp: Renamed from Source/WebCore/p2p/PeerConnection.cpp.
3204         (WebCore::PeerConnection::create):
3205         (WebCore::PeerConnection::PeerConnection):
3206         (WebCore::PeerConnection::~PeerConnection):
3207         (WebCore::PeerConnection::processSignalingMessage):
3208         (WebCore::PeerConnection::readyState):
3209         (WebCore::PeerConnection::send):
3210         (WebCore::PeerConnection::addStream):
3211         (WebCore::PeerConnection::removeStream):
3212         (WebCore::PeerConnection::localStreams):
3213         (WebCore::PeerConnection::remoteStreams):
3214         (WebCore::PeerConnection::close):
3215         (WebCore::PeerConnection::iceProcessingCompleted):
3216         (WebCore::PeerConnection::sdpGenerated):
3217         (WebCore::PeerConnection::dataStreamMessageReceived):
3218         (WebCore::PeerConnection::remoteStreamAdded):
3219         (WebCore::PeerConnection::remoteStreamRemoved):
3220         (WebCore::PeerConnection::toPeerConnection):
3221         (WebCore::PeerConnection::scriptExecutionContext):
3222         (WebCore::PeerConnection::stop):
3223         (WebCore::PeerConnection::eventTargetData):
3224         (WebCore::PeerConnection::ensureEventTargetData):
3225         (WebCore::PeerConnection::scheduleInitialNegotiation):
3226         (WebCore::PeerConnection::initialNegotiationTimerFired):
3227         (WebCore::PeerConnection::ensureStreamChangeScheduled):
3228         (WebCore::PeerConnection::streamChangeTimerFired):
3229         (WebCore::PeerConnection::scheduleReadyStateChange):
3230         (WebCore::PeerConnection::readyStateChangeTimerFired):
3231         (WebCore::PeerConnection::changeReadyState):
3232         * mediastream/PeerConnection.h: Renamed from Source/WebCore/p2p/PeerConnection.h.
3233         (WebCore::PeerConnection::refEventTarget):
3234         (WebCore::PeerConnection::derefEventTarget):
3235         * mediastream/PeerConnection.idl: Renamed from Source/WebCore/p2p/PeerConnection.idl.
3236         * mediastream/SignalingCallback.h: Renamed from Source/WebCore/p2p/SignalingCallback.h.
3237         (WebCore::SignalingCallback::~SignalingCallback):
3238         * mediastream/SignalingCallback.idl: Renamed from Source/WebCore/p2p/SignalingCallback.idl.
3239         * page/Frame.cpp:
3240         * page/Navigator.cpp:
3241         * page/Page.cpp:
3242
3243 2011-10-20  Pavel Feldman  <pfeldman@google.com>
3244
3245         Web Inspector: get rid of View::hide, View::set visible, View::attach,
3246         View::set visible.
3247         https://bugs.webkit.org/show_bug.cgi?id=70523
3248
3249         This change also introduces assetions that forces view attach / detach operations
3250         to be performed explicitly.
3251
3252         Reviewed by Yury Semikhatsky.
3253
3254         * inspector/front-end/ApplicationCacheItemsView.js:
3255         (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
3256         (WebInspector.ApplicationCacheItemsView.prototype.willHide):
3257         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
3258         * inspector/front-end/AuditsPanel.js:
3259         (WebInspector.AuditsPanel.prototype.wasShown):
3260         * inspector/front-end/ConsolePanel.js:
3261         (WebInspector.ConsolePanel.prototype.wasShown):
3262         (WebInspector.ConsolePanel.prototype.willHide):
3263         * inspector/front-end/ConsoleView.js:
3264         (WebInspector.ConsoleView.prototype.wasShown):
3265         * inspector/front-end/CookieItemsView.js:
3266         (WebInspector.CookieItemsView.prototype.wasShown):
3267         (WebInspector.CookieItemsView.prototype.willHide):
3268         (WebInspector.CookieItemsView.prototype._updateWithCookies):
3269         * inspector/front-end/DOMStorageItemsView.js:
3270         (WebInspector.DOMStorageItemsView.prototype.wasShown):
3271         (WebInspector.DOMStorageItemsView.prototype.willHide):
3272         * inspector/front-end/DatabaseQueryView.js:
3273         * inspector/front-end/DatabaseTableView.js:
3274         (WebInspector.DatabaseTableView.prototype.wasShown):
3275         * inspector/front-end/DetailedHeapshotView.js:
3276         (WebInspector.DetailedHeapshotView.prototype.willHide):
3277         (WebInspector.DetailedHeapshotView.prototype._changeView):
3278         * inspector/front-end/Drawer.js:
3279         (WebInspector.Drawer.prototype.hide):
3280         * inspector/front-end/ElementsPanel.js:
3281         (WebInspector.ElementsPanel.prototype.wasShown):
3282         (WebInspector.ElementsPanel.prototype.willHide):
3283         * inspector/front-end/EmptyView.js:
3284         (WebInspector.EmptyView.prototype.wasShown):
3285         * inspector/front-end/FontView.js:
3286         (WebInspector.FontView.prototype.wasShown):
3287         * inspector/front-end/IFrameView.js:
3288         (WebInspector.IFrameView):
3289         * inspector/front-end/ImageView.js:
3290         (WebInspector.ImageView.prototype.wasShown):
3291         * inspector/front-end/NetworkItemView.js:
3292         (WebInspector.NetworkItemView.prototype.wasShown):
3293         (WebInspector.ResourceContentView.prototype.wasShown):
3294         * inspector/front-end/NetworkPanel.js:
3295         (WebInspector.NetworkLogView.prototype.wasShown):
3296         (WebInspector.NetworkLogView.prototype.willHide):
3297         (WebInspector.NetworkPanel.prototype.wasShown):
3298         * inspector/front-end/Panel.js:
3299         (WebInspector.Panel):
3300         (WebInspector.Panel.prototype.show):
3301         (WebInspector.Panel.prototype.wasShown):
3302         (WebInspector.Panel.prototype.willHide):
3303         * inspector/front-end/PanelEnablerView.js:
3304         * inspector/front-end/ProfileView.js:
3305         (WebInspector.CPUProfileView.prototype.willHide):
3306         * inspector/front-end/ProfilesPanel.js:
3307         (WebInspector.ProfilesPanel.prototype.wasShown):
3308         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
3309         (WebInspector.ProfilesPanel.prototype._updateInterface):
3310         (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
3311         * inspector/front-end/ResourceCookiesView.js:
3312         (WebInspector.ResourceCookiesView.prototype.wasShown):
3313         * inspector/front-end/ResourceHTMLView.js:
3314         (WebInspector.ResourceHTMLView.prototype.wasShown):
3315         (WebInspector.ResourceHTMLView.prototype.willHide):
3316         * inspector/front-end/ResourceJSONView.js:
3317         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.wasShown):
3318         * inspector/front-end/ResourceTimingView.js:
3319         (WebInspector.ResourceTimingView.prototype.wasShown):
3320         * inspector/front-end/ResourcesPanel.js:
3321         (WebInspector.ResourcesPanel.prototype.wasShown):
3322         * inspector/front-end/ScriptsPanel.js:
3323         (WebInspector.ScriptsPanel.prototype.wasShown):
3324         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
3325         * inspector/front-end/SourceFrame.js:
3326         (WebInspector.SourceFrame.prototype.wasShown):
3327         * inspector/front-end/TimelinePanel.js:
3328         (WebInspector.TimelinePanel.prototype.wasShown):
3329         (WebInspector.TimelinePanel.prototype.willHide):
3330         * inspector/front-end/View.js:
3331         (WebInspector.View):
3332         (WebInspector.View.prototype.get visible):
3333         (WebInspector.View.prototype.setHideOnDetach):
3334         (WebInspector.View.prototype._wasShown):
3335         (WebInspector.View.prototype._willHide):
3336         (WebInspector.View.prototype._onResize):
3337         (WebInspector.View.prototype.wasShown):
3338         (WebInspector.View.prototype.willHide):
3339         (WebInspector.View.prototype.onResize):
3340         (WebInspector.View.prototype.show):
3341         (WebInspector.View.prototype.detach):
3342         (WebInspector.View.prototype.doResize):
3343         (WebInspector.View.prototype.dispatchToSelfAndChildren):
3344         (WebInspector.View.prototype.dispatchToChildren):
3345         (WebInspector.View.prototype._handleInsertedIntoDocument):
3346
3347 2011-10-22  Kent Tamura  <tkent@chromium.org>
3348
3349         REGRESSION(r92480): Passing uninitialized variable in HTMLElement::calculateAndAdjustDirectionality()
3350         https://bugs.webkit.org/show_bug.cgi?id=70582
3351
3352         Reviewed by Darin Adler.
3353
3354         No new tests. It's very hard to make a reliable test.
3355
3356         * html/HTMLElement.cpp:
3357         (WebCore::HTMLElement::directionality):
3358         Clear *strongDirectionalityTextNode even if hasStrongDirectionality is false.
3359
3360 2011-10-21  Dan Bernstein  <mitz@apple.com>
3361
3362         Caret is drawn in the wrong place in multi-column blocks
3363         https://bugs.webkit.org/show_bug.cgi?id=70662
3364
3365         Reviewed by Gavin Barraclough.
3366
3367         * manual-tests/caret-in-columns.html: Added.
3368         * rendering/RenderBlock.cpp:
3369         (WebCore::RenderBlock::paintCaret): Removed the call to offsetForContents(). That function takes
3370         a point in local coordinates, whereas this function was applying it to a point in painting root
3371         coordinates. The desired effect was only to undo the scroll adjustment done by the caller,
3372         paintObject().
3373         (WebCore::RenderBlock::paintObject): Pass the original, rather than scroll-adjusted, paint offset
3374         to paintCaret().
3375
3376 2011-10-21  Nat Duca  <nduca@chromium.org>
3377
3378         [chromium] Make setVisibility extension- and thread-correct
3379         https://bugs.webkit.org/show_bug.cgi?id=70635
3380
3381         Reviewed by Kenneth Russell.
3382
3383         * platform/graphics/chromium/Extensions3DChromium.h:
3384         * platform/graphics/chromium/LayerRendererChromium.cpp:
3385         (WebCore::LayerRendererChromium::initialize):
3386         (WebCore::LayerRendererChromium::setVisible):
3387         * platform/graphics/chromium/LayerRendererChromium.h:
3388         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3389         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
3390         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3391         (WebCore::CCLayerTreeHostImpl::setVisible):
3392
3393 2011-10-21  Beth Dakin  <bdakin@apple.com>
3394
3395         https://bugs.webkit.org/show_bug.cgi?id=70647
3396         Common but unreproducible crash under [ScrollbarPartAnimation setCurrentProgress:]
3397         -and corresponding-
3398         <rdar://problem/9542018>
3399
3400         Reviewed by Sam Weinig.
3401
3402         This patch implements two speculative fixes for this crash.
3403
3404         First, block exceptions around all of the code responsible for calling 
3405         stopAnimation. If that code throws any exceptions, we want to make sure the other 
3406         animations are still stopped.
3407         * platform/mac/ScrollAnimatorMac.mm:
3408         (-[WebScrollbarPartAnimation scrollAnimatorDestroyed]):
3409         (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
3410         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
3411
3412         Only send AppKit these notifications for active pages. I originally made these 
3413         assertions, and I found that they were hit a surprising number of times. If we 
3414         only send notifications for active pages, then we should greatly reduce and 
3415         possibly eliminate our chances of hitting this crash.
3416         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
3417         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
3418         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
3419         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
3420         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
3421         (WebCore::ScrollAnimatorMac::willStartLiveResize):
3422         (WebCore::ScrollAnimatorMac::contentsResized):
3423         (WebCore::ScrollAnimatorMac::willEndLiveResize):
3424         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
3425         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
3426         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
3427         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
3428
3429 2011-10-21  Mark Hahnenberg  <mhahnenberg@apple.com>
3430
3431         Add put to the MethodTable
3432         https://bugs.webkit.org/show_bug.cgi?id=70439
3433
3434         Reviewed by Oliver Hunt.
3435
3436         No new tests.
3437
3438         * WebCore.exp.in:
3439         * bindings/js/JSDOMWindowCustom.cpp: Added static put since it was overlooked in 
3440         previous patches.
3441         (WebCore::JSDOMWindow::putVirtual):
3442         (WebCore::JSDOMWindow::put):
3443         * bindings/js/JSDOMWindowShell.cpp: Ditto.
3444         (WebCore::JSDOMWindowShell::putVirtual):
3445         (WebCore::JSDOMWindowShell::put):
3446         * bindings/js/JSDOMWindowShell.h:
3447
3448 2011-10-21  Dmitry Lomov  <dslomov@google.com>
3449
3450         https://bugs.webkit.org/show_bug.cgi?id=70580