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