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