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