Do not share CSS style for MediaElement backed by a plugin
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-10  Benjamin Poulain  <benjamin@webkit.org>
2
3         Do not share CSS style for MediaElement backed by a plugin
4         https://bugs.webkit.org/show_bug.cgi?id=72005
5
6         Reviewed by Simon Fraser.
7
8         With PLUGIN_PROXY_FOR_VIDEO, the RenderMedia elements are rendered through RenderBoxModelObject.
9         Like the embedded element, the proxied media element can gain a layer outside a change of style.
10
11         This patch prevents style sharing for the Audio and Video elements when PLUGIN_PROXY_FOR_VIDEO
12         is enabled.
13
14         This path is covered by exising tests. In particular, http/tests/misc/empty-urls.html
15         ASSERT() because of this.
16
17         * css/CSSStyleSelector.cpp:
18         (WebCore::CSSStyleSelector::canShareStyleWithElement):
19
20 2011-11-10  Dean Jackson  <dino@apple.com>
21
22         Move/copy/merge SVG filter rendering code to generic rendering
23         https://bugs.webkit.org/show_bug.cgi?id=68472
24
25         Reviewed by Simon Fraser.
26
27         Implement an extremely simple version of the filter
28         chain. Only a single hue-rotate filter is supported
29         at the moment. The change in this commit was to insert a new
30         step in RenderLayer's painting to capture the content to an
31         offscreen ImageBuffer, apply a filter operation on that buffer,
32         and then draw the result in place of the original element. The full
33         implementation will need something like the SVGFilterBuilder
34         but this is a good prototype of effects on HTML content.
35         It's an open question at the moment as to when the filter
36         effect should apply: after masking, after overflow, after outline,
37         etc. Currently the filter applies at the end of the paintLayer code.
38         This will likely change.
39         
40         Added a FilterEffectRenderer class that is the root of the filter
41         tree. At the moment it holds the offscreen context and
42         the existing paint context.
43         
44         Other than rendering, the rest of this patch adds tests
45         to make sure any element with a filter style will become
46         a RenderLayer. In order to avoid a lot of duplicated code
47         around the more complex logic tests, RenderStyle::hasFilter
48         is available outside ENABLE(CSS_FILTERS), but returns false
49         in those situations.
50
51         Tests: css3/filters/add-filter-rendering.html
52                css3/filters/remove-filter-rendering.html
53                css3/filters/simple-filter-rendering.html
54
55         * CMakeLists.txt:
56         * GNUmakefile.list.am:
57         * WebCore.gypi:
58         * WebCore.vcproj/WebCore.vcproj:
59         * WebCore.xcodeproj/project.pbxproj:
60         * css/CSSStyleSelector.cpp:
61         (WebCore::CSSStyleSelector::adjustRenderStyle):
62         * rendering/FilterEffectRenderer.cpp: Added.
63         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
64         (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
65         * rendering/FilterEffectRenderer.h: Added.
66         (WebCore::FilterEffectRenderer::create):
67         (WebCore::FilterEffectRenderer::setSourceImageRect):
68         (WebCore::FilterEffectRenderer::sourceImageRect):
69         (WebCore::FilterEffectRenderer::setFilterRegion):
70         (WebCore::FilterEffectRenderer::filterRegion):
71         (WebCore::FilterEffectRenderer::effectBoundingBoxMode):
72         (WebCore::FilterEffectRenderer::setEffect):
73         (WebCore::FilterEffectRenderer::effect):
74         (WebCore::FilterEffectRenderer::setSourceGraphic):
75         (WebCore::FilterEffectRenderer::sourceGraphic):
76         * rendering/RenderBoxModelObject.h:
77         (WebCore::RenderBoxModelObject::requiresLayer):
78         * rendering/RenderLayer.cpp:
79         (WebCore::RenderLayer::paintLayer):
80         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
81         (WebCore::RenderLayer::styleChanged):
82         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
83         (WebCore::RenderLayer::updateFilterBackingStore):
84         * rendering/RenderLayer.h:
85         (WebCore::RenderLayer::hasFilter):
86         * rendering/RenderObject.h:
87         (WebCore::RenderObject::hasFilter):
88         * rendering/RenderTableRow.h:
89         (WebCore::RenderTableRow::requiresLayer):
90         * rendering/style/RenderStyle.cpp:
91         (WebCore::RenderStyle::diff):
92         * rendering/style/RenderStyle.h:
93         (WebCore::InheritedFlags::hasFilter):
94
95 2011-11-10  Xiaomei Ji  <xji@chromium.org>
96
97         --webkit-visual-word crash when create legacy position for shadowRoot
98         https://bugs.webkit.org/show_bug.cgi?id=71600
99     
100         Reviewed by Ryosuke Niwa.
101
102         Inside textarea, the shadowed text node's previous leaf node could be the
103         shadowRoot node, which cause assert exception in creating legacy position based
104         on such node. Exit previousRootInlineBox() when reach shadowRoot node.
105
106         It does not cause problem when looking for text node's next leaf node. Adding
107         the same checking in nextRootInlineBox just to be safe.
108
109         Test: editing/selection/move-by-word-visually-crash-test-textarea.html
110
111         * editing/visible_units.cpp:
112         (WebCore::previousRootInlineBox):
113         (WebCore::nextRootInlineBox):
114
115 2011-11-10  Dean Jackson  <dino@apple.com>
116
117         Parse drop-shadow() filter syntax
118         https://bugs.webkit.org/show_bug.cgi?id=69108
119
120         Reviewed by Simon Fraser.
121
122         Support parsing of the shadow syntax inside drop-shadow
123         and returning the correct computed style for a filter that
124         has such a function.
125
126         * css/CSSComputedStyleDeclaration.cpp:
127         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
128             Move this from a static function (computedFilter) to a method on
129             CSSComputedStyleDeclaration, which allows us to call the
130             existing method for shadow styles.
131         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
132         * css/CSSComputedStyleDeclaration.h:
133         * css/CSSParser.cpp:
134         (WebCore::CSSParser::parseValue):
135         (WebCore::CSSParser::parseShadow):
136             Previously parseShadow expected to be called with the entire
137             value of a property, not just to look at a restricted subset.
138             Change parseShadow to take a CSSParserValueList as parameter,
139             allowing it to be used to parse the arguments to the drop-shadow
140             function. Also, return the CSSValueList rather than injecting
141             it directly into the property value.
142         (WebCore::filterInfoForName):
143         (WebCore::CSSParser::parseFilter):
144             Support for the drop-shadow() function.
145         * css/CSSParser.h:
146         * css/CSSStyleSelector.cpp:
147         (WebCore::CSSStyleSelector::createFilterOperations):
148         * css/SVGCSSParser.cpp:
149         (WebCore::CSSParser::parseSVGValue):
150             Updated to use the new arguments for parseShadow.
151
152 2011-11-10  Vsevolod Vlasov  <vsevik@chromium.org>
153
154         Web Inspector: ApplicationCache UI is confusing and incorrect.
155         https://bugs.webkit.org/show_bug.cgi?id=64581
156
157         Reviewed by Pavel Feldman.
158
159         Fixed resources panel application cache UI.
160         Manifest urls are now shown under application cache tree element.
161         Under each manifest url tree element frames using relevant application
162         cache are listed. Application cache detailed views could be opened for each
163         frame.
164
165         Test: http/tests/inspector/resource-tree/appcache-iframe-manifests.html
166
167         * English.lproj/localizedStrings.js:
168         * inspector/Inspector.json:
169         * inspector/InspectorApplicationCacheAgent.cpp:
170         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
171         (WebCore::InspectorApplicationCacheAgent::setFrontend):
172         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
173         (WebCore::InspectorApplicationCacheAgent::networkStateChanged):
174         (WebCore::InspectorApplicationCacheAgent::enable):
175         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
176         (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
177         (WebCore::InspectorApplicationCacheAgent::getManifestForFrame):
178         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
179         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
180         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
181         * inspector/InspectorApplicationCacheAgent.h:
182         * inspector/InspectorController.cpp:
183         (WebCore::InspectorController::InspectorController):
184         * inspector/InspectorPageAgent.cpp:
185         (WebCore::InspectorPageAgent::resourceContent):
186         (WebCore::InspectorPageAgent::getResourceContent):
187         (WebCore::InspectorPageAgent::assertFrame):
188         (WebCore::InspectorPageAgent::assertDocumentLoader):
189         * inspector/InspectorPageAgent.h:
190         * inspector/InspectorStyleSheet.cpp:
191         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
192         * inspector/front-end/ApplicationCacheItemsView.js:
193         (WebInspector.ApplicationCacheItemsView):
194         (WebInspector.ApplicationCacheItemsView.prototype._update):
195         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
196         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
197         * inspector/front-end/ApplicationCacheModel.js:
198         (WebInspector.ApplicationCacheModel):
199         (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
200         (WebInspector.ApplicationCacheModel.prototype._frameDetached):
201         (WebInspector.ApplicationCacheModel.prototype._mainFrameNavigated):
202         (WebInspector.ApplicationCacheModel.prototype._manifestForFrameLoaded):
203         (WebInspector.ApplicationCacheModel.prototype._framesWithManifestsLoaded):
204         (WebInspector.ApplicationCacheModel.prototype._frameManifestUpdated):
205         (WebInspector.ApplicationCacheModel.prototype._frameManifestRemoved):
206         (WebInspector.ApplicationCacheModel.prototype.frameManifestURL):
207         (WebInspector.ApplicationCacheModel.prototype.frameManifestStatus):
208         (WebInspector.ApplicationCacheModel.prototype._statusUpdated):
209         (WebInspector.ApplicationCacheModel.prototype.requestApplicationCache):
210         (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
211         (WebInspector.ApplicationCacheDispatcher.prototype.applicationCacheStatusUpdated):
212         (WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
213         * inspector/front-end/ResourceTreeModel.js:
214         (WebInspector.ResourceTreeModel.prototype.frameForId):
215         * inspector/front-end/ResourcesPanel.js:
216         (WebInspector.ResourcesPanel.prototype.wasShown):
217         (WebInspector.ResourcesPanel.prototype.reset):
218         (WebInspector.ResourcesPanel.prototype._frameNavigated):
219         (WebInspector.ResourcesPanel.prototype.addDocumentURL):
220         (WebInspector.ResourcesPanel.prototype.showApplicationCache):
221         (WebInspector.ResourcesPanel.prototype._populateApplicationCacheTree):
222         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestAdded):
223         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestRemoved):
224         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestStatusChanged):
225         (WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
226         (WebInspector.ApplicationCacheManifestTreeElement):
227         (WebInspector.ApplicationCacheManifestTreeElement.prototype.get itemURL):
228         (WebInspector.ApplicationCacheManifestTreeElement.prototype.get manifestURL):
229         (WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
230         (WebInspector.ApplicationCacheFrameTreeElement):
231         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get itemURL):
232         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get frameId):
233         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get manifestURL):
234         (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
235         (WebInspector.ApplicationCacheFrameTreeElement.prototype.frameNavigated):
236         (WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
237
238 2011-11-10  Andreas Kling  <kling@webkit.org>
239
240         Shrink CSSMutableStyleDeclaration.
241         <http://webkit.org/b/72032>
242
243         Reviewed by Antti Koivisto.
244
245         Move m_strictParsing and m_iteratorCount (debug only) up into
246         CSSStyleDeclaration, effectively shaving one CPU word (4/8 bytes)
247         off of every CSSMutableStyleDeclaration.
248
249         * css/CSSMutableStyleDeclaration.cpp:
250         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
251         * css/CSSMutableStyleDeclaration.h:
252         * css/CSSStyleDeclaration.cpp:
253         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
254         * css/CSSStyleDeclaration.h:
255
256 2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
257
258         [Qt] X11 plugins need to be reworked for Qt5
259         https://bugs.webkit.org/show_bug.cgi?id=70023
260
261         Reviewed by Simon Hausmann.
262
263         Rework our basic plugin support in a way that does
264         not need a bridge between Qt and X. The solution is
265         based on getting the content drawed by the plugin
266         from the server as an image and creating a QImage
267         from it.
268
269         No new tests. Existing plugin test are sufficient.
270
271         * Target.pri:
272         * bridge/npruntime_internal.h: Added yet another undef
273         to fix build with Qt5 + X11 headers.
274         * plugins/qt/QtX11ImageConversion.cpp: Added.
275         (WebCore::qimageFromXImage):
276         * plugins/qt/QtX11ImageConversion.h: Added.
277         Added a helper function to create a QImage from an XImage.
278         Put it in a new file into WebCore to avoid copyright issues - as
279         the code has been taken directly from Qt - and to be able to resuse
280         it for the WK1 plugin support in the future.
281
282 2011-11-10  Andreas Kling  <kling@webkit.org>
283
284         Cache and reuse HTMLCollections exposed by Document.
285         <http://webkit.org/b/71956>
286
287         Reviewed by Antti Koivisto.
288
289         Let Document cache the various HTMLCollection objects it exposes.
290         They're created on-demand and stored in a tight Vector.
291         This is a behavior change, since the lifetime of returned collections
292         is now tied to the lifetime of the Document. However, this matches the
293         current behavior of Firefox and Opera.
294
295         This reduces memory consumption by ~800 kB (on 64-bit) when loading
296         the full HTML5 spec. document.links was called 34001 times, yielding
297         34001 separate HTMLCollections, and now we only need 1.
298
299         The document.all collection retains the old behavior, as caching it
300         would be a bit more complicated.
301
302         * dom/Document.cpp:
303         (WebCore::Document::Document):
304         (WebCore::Document::collection):
305         (WebCore::Document::images):
306         (WebCore::Document::applets):
307         (WebCore::Document::embeds):
308         (WebCore::Document::plugins):
309         (WebCore::Document::objects):
310         (WebCore::Document::scripts):
311         (WebCore::Document::links):
312         (WebCore::Document::forms):
313         (WebCore::Document::anchors):
314         * dom/Document.h:
315         * html/CollectionType.h:
316
317 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
318
319         Web Inspector: [SuggestBox] Correctly position the box under the first character of the suggestion prefix.
320         https://bugs.webkit.org/show_bug.cgi?id=72022
321
322         Reviewed by Pavel Feldman.
323
324         On any suggest box position update (updateSuggestions invocation) an anchor is created at the beginning
325         of the user-entered word, and its box is ultimately passed into _updateBoxPosition to be used as the
326         actual anchor box (instead of the input element box).
327
328         * inspector/front-end/TextPrompt.js:
329         (WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
330         (WebInspector.TextPrompt.prototype._completionsReady):
331         (WebInspector.TextPrompt.SuggestBox):
332         (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
333         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
334         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
335         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
336         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
337         * inspector/front-end/utilities.js:
338         (AnchorBox):
339         (Element.prototype.offsetRelativeToWindow):
340
341 2011-11-10  Ryuan Choi  <ryuan.choi@samsung.com>
342
343         [CMAKE] Refactoring CMakeLists${PORT}.txt to Platform${PORT}.cmake
344         https://bugs.webkit.org/show_bug.cgi?id=56705
345
346         Reviewed by Adam Roben.
347
348         No new tests, just renaming CMakeLists*.txt to Platform*.cmake.
349
350         * CMakeLists.txt:
351         * PlatformEfl.cmake: Renamed from Source/WebCore/CMakeListsEfl.txt.
352         * PlatformWinCE.cmake: Renamed from Source/WebCore/CMakeListsWinCE.txt.
353
354 2011-11-10  Andrey Kosyakov  <caseq@chromium.org>
355
356         Web Inspector: wrong JSON.stringify used in webInspector.inspectedWindow.eval() backend
357         https://bugs.webkit.org/show_bug.cgi?id=63083
358
359         Reviewed by Pavel Feldman.
360
361         * inspector/front-end/ExtensionAPI.js:
362         (injectedExtensionAPI.InspectedWindow.prototype.eval):
363         * inspector/front-end/ExtensionServer.js:
364         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
365
366 2011-11-10  Florin Malita  <fmalita@google.com>
367
368         SVG object covers CSS background in HTML foreignObject
369         https://bugs.webkit.org/show_bug.cgi?id=58417
370
371         Reviewed by Simon Fraser.
372
373         Test: svg/foreignObject/background-render-phase.html
374
375         * rendering/svg/RenderSVGForeignObject.cpp:
376         (WebCore::RenderSVGForeignObject::paint):
377
378             Paint SVG foreign objects atomically, following the same pattern as
379             http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/InlineBox.cpp#L209.
380
381 2011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
382
383         Unreviewed, rolling out r99851.
384         http://trac.webkit.org/changeset/99851
385         https://bugs.webkit.org/show_bug.cgi?id=72029
386
387         Patch breaks Qt tests (Requested by schenney on #webkit).
388
389         * svg/SVGElementInstance.cpp:
390         (WebCore::SVGElementInstance::~SVGElementInstance):
391         (WebCore::SVGElementInstance::clearChildren):
392         * svg/SVGElementInstance.h:
393         (WebCore::SVGElementInstance::clearUseElements):
394         * svg/SVGUseElement.cpp:
395         (WebCore::SVGUseElement::detachInstance):
396
397 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
398
399         [GTK] svg/as-image/svg-image-change-content-size.xhtml crashes
400         https://bugs.webkit.org/show_bug.cgi?id=71932
401
402         Reviewed by Philippe Normand.
403
404         Null check m_page in drawSVGToImageBuffer(), just like all others methods do.
405         As drawSVGToImageBuffer() is fired from a timer, it may get into this state under certain conditions, as seen on the 64bit gtk bot.
406
407         * svg/graphics/SVGImage.cpp:
408         (WebCore::SVGImage::drawSVGToImageBuffer):
409
410 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
411
412         Not reviewed. Rolling out part of r99854, which didn't belong there.
413
414         * svg/graphics/SVGImage.cpp:
415         (WebCore::SVGImage::drawSVGToImageBuffer):
416
417 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
418
419         Move unit resolving for all resources to rendering/
420         https://bugs.webkit.org/show_bug.cgi?id=72011
421
422         Reviewed by Andreas Kling.
423
424         Remove maskBoundingBox()/filterBoundingBox(), to avoid doing length resolution in svg/.
425         RenderSVGResource* now uses SVGLengthContext::resolveRectangle, to do this while laying out.
426
427         Move linear gradient start/end point, radial gradient focal/center point, radius calculations into
428         their RenderSVGResource classes, cleanup code a bit.
429
430         Convert filters to use SVGLengthContext. Fix DRT dumps for filters, while I'm at it, to give
431         meaningful values, when objectBoundingBox is used as primitive units, when applying to <text>/<tspan>s.
432
433         Several tests results need rebaselines on all platforms.
434
435         * platform/graphics/filters/Filter.h:
436         * rendering/svg/RenderSVGInlineText.h:
437         (WebCore::RenderSVGInlineText::objectBoundingBox):
438         * rendering/svg/RenderSVGResourceFilter.cpp:
439         (WebCore::RenderSVGResourceFilter::buildPrimitives):
440         (WebCore::RenderSVGResourceFilter::applyResource):
441         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
442         * rendering/svg/RenderSVGResourceFilter.h:
443         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
444         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
445         * rendering/svg/RenderSVGResourceGradient.cpp:
446         (WebCore::RenderSVGResourceGradient::applyResource):
447         * rendering/svg/RenderSVGResourceGradient.h:
448         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
449         (WebCore::RenderSVGResourceLinearGradient::startPoint):
450         (WebCore::RenderSVGResourceLinearGradient::endPoint):
451         (WebCore::RenderSVGResourceLinearGradient::buildGradient):
452         * rendering/svg/RenderSVGResourceLinearGradient.h:
453         * rendering/svg/RenderSVGResourceMasker.cpp:
454         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
455         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
456         (WebCore::RenderSVGResourceRadialGradient::centerPoint):
457         (WebCore::RenderSVGResourceRadialGradient::focalPoint):
458         (WebCore::RenderSVGResourceRadialGradient::radius):
459         (WebCore::RenderSVGResourceRadialGradient::adjustFocalPointIfNeeded):
460         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
461         * rendering/svg/RenderSVGResourceRadialGradient.h:
462         * rendering/svg/SVGRenderTreeAsText.cpp:
463         (WebCore::writeSVGResourceContainer):
464         * svg/SVGFilterElement.cpp:
465         * svg/SVGFilterElement.h:
466         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
467         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
468         * svg/SVGFilterPrimitiveStandardAttributes.h:
469         * svg/SVGLinearGradientElement.cpp:
470         * svg/SVGLinearGradientElement.h:
471         * svg/SVGMaskElement.cpp:
472         * svg/SVGMaskElement.h:
473         * svg/SVGRadialGradientElement.cpp:
474         * svg/SVGRadialGradientElement.h:
475         * svg/graphics/filters/SVGFilter.h:
476         (WebCore::SVGFilter::filterRegionInUserSpace):
477
478 2011-11-10  Stephen Chenney  <schenney@chromium.org>
479
480         Null deref when no use element exists for SVG element instance
481         https://bugs.webkit.org/show_bug.cgi?id=59136
482
483         Cleans up the object when it is detached from the shadow DOM tree,
484         rather than leaving it in a half-clean state with some nulled
485         references but not others.
486
487         Reviewed by Nikolas Zimmermann.
488
489         Test: svg/custom/element-instance-held-by-js-crash.svg
490
491         * svg/SVGElementInstance.cpp:
492         (WebCore::SVGElementInstance::~SVGElementInstance): Added a call to
493         detach to clean up if deletion happens without a prior detach call (as
494         when an entire tree is removed).
495         (WebCore::SVGElementInstance::detach): New method that replaces other
496         clean-up methods when the instance is removed from the shadow DOM.
497         * svg/SVGElementInstance.h: Added new detach method and removed
498         unnecessary clear methods.
499         * svg/SVGUseElement.cpp:
500         (WebCore::SVGUseElement::detachInstance): Changed calls to clear to
501         instead detach.
502
503 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
504
505         Web Inspector: Show media queries associated with specific CSS rules
506         https://bugs.webkit.org/show_bug.cgi?id=65626
507
508         Reviewed by Pavel Feldman.
509
510         Test: inspector/styles/media-queries.html
511
512         * css/CSSGrammar.y:
513         * css/CSSParser.cpp:
514         (WebCore::CSSParser::updateLastMediaLine):
515         * css/CSSParser.h:
516         * css/MediaList.cpp:
517         (WebCore::MediaList::MediaList):
518         * css/MediaList.h:
519         (WebCore::MediaList::lastLine):
520         (WebCore::MediaList::setLastLine):
521         * inspector/Inspector.json:
522         * inspector/InspectorCSSAgent.cpp:
523         (WebCore::InspectorCSSAgent::bindStyleSheet):
524         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
525         * inspector/InspectorDOMAgent.cpp:
526         (WebCore::InspectorDOMAgent::documentURLString):
527         * inspector/InspectorDOMAgent.h:
528         * inspector/InspectorStyleSheet.cpp:
529         (WebCore::buildMediaObject):
530         (WebCore::fillMediaListChain):
531         (WebCore::InspectorStyleSheet::buildObjectForRule):
532         * inspector/front-end/CSSStyleModel.js:
533         (WebInspector.CSSRule):
534         (WebInspector.CSSMedia):
535         (WebInspector.CSSMedia.parsePayload):
536         (WebInspector.CSSMedia.parseMediaArrayPayload):
537         * inspector/front-end/ResourceUtils.js:
538         (WebInspector.linkifyResourceAsNode):
539         * inspector/front-end/StylesSidebarPane.js:
540         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
541         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
542         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
543         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
544         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
545         * inspector/front-end/elementsPanel.css:
546         (.styles-section .header .title .media, .styles-section .header .title .media .subtitle):
547         (.styles-section .header .subtitle):
548
549 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
550
551         Web Inspector: [SuggestBox] Do not display suggest box if editing in the middle of prompt unless a stop character follows
552         https://bugs.webkit.org/show_bug.cgi?id=72018
553
554         Reviewed by Pavel Feldman.
555
556         * inspector/front-end/TextPrompt.js:
557         (WebInspector.TextPrompt.prototype.complete):
558
559 2011-11-10  Pavel Feldman  <pfeldman@google.com>
560
561         Web Inspector: do not highlight files larger than 10KLOC.
562         https://bugs.webkit.org/show_bug.cgi?id=72025
563
564         This is a temporary measure while I am improving the highlighter
565         footprint. Otherwise, highlighting pretty printed Gmail takes ~1.3G of RAM.
566
567         Reviewed by Yury Semikhatsky.
568
569         * inspector/front-end/TextEditorHighlighter.js:
570         (WebInspector.TextEditorHighlighter.prototype.highlight):
571         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
572         * inspector/front-end/UISourceCode.js:
573         (WebInspector.UISourceCode.prototype._didRequestContent):
574
575 2011-11-10  Alpha Lam  <hclam@chromium.org>
576
577         [chromium] Scroll deltas are cleared during commit to the main thread
578         https://bugs.webkit.org/show_bug.cgi?id=71916
579
580         Reviewed by James Robinson.
581
582         The patch keeps the scroll deltas and scroll position unchanged when
583         committing to the main thread. After commit has completed on the main
584         thread the submitted scroll deltas are then subtracted from the current
585         scroll deltas on the impl thread.
586
587         Doing so allow scroll deltas to be available at all time which enables
588         proper positioning for layers that are fixed-positioned to the
589         container layer.
590
591         This patch is tested by the following unit tests:
592         - CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls
593           This test is modified to verify that scroll deltas and scroll position
594           are unchanged during commit. And then after commit scroll deltas are
595           subtracted correctly.
596
597         - CCLayerTreeHostTestScrollSimple.runMultiThread and
598           CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
599           These tests verifies that scroll deltas made on impl thread are
600           committed to the main thread. The scroll deltas is eventually delegated
601           to CCLayerTreeHostClient. When commit has completed the scroll deltas
602           are subtracted correctly. There's no change to these two tests but they
603           verify this patch maintains the overall behavior of scrolling.
604
605         * platform/graphics/chromium/LayerChromium.cpp:
606         (WebCore::LayerChromium::applyScrollAndScale):
607         * platform/graphics/chromium/LayerChromium.h:
608         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
609         (WebCore::CCLayerImpl::applyScrollAndScale):
610         * platform/graphics/chromium/cc/CCLayerImpl.h:
611         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
612         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
613         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
614         (WebCore::applyScrollAndScaleInternal):
615         (WebCore::CCLayerTreeHostCommon::applyScrollAndScale):
616         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
617         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
618         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
619         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
620         (WebCore::CCThreadProxy::beginFrameAndCommit):
621         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
622         * platform/graphics/chromium/cc/CCThreadProxy.h:
623
624 2011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
625
626         Unreviewed. Fix make distcheck build.
627
628         * GNUmakefile.am: Add missing files.
629         * GNUmakefile.list.am: Ditto.
630
631 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
632
633         Deploy SVGLengthContext in more places
634         https://bugs.webkit.org/show_bug.cgi?id=72012
635
636         Reviewed by Simon Hausmann.
637
638         Doesn't affect any tests.
639
640         * svg/SVGAnimatedLength.cpp:
641         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
642         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
643         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
644         * svg/SVGAnimatedLengthList.cpp:
645         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
646         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
647
648 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
649
650         Not reviewed. Fix build.
651
652         * WebCore.gypi: Need to add rendering/svg/SVGPathData.* in another place as well, cr-bots are not compiling it and thus fail linking.
653
654 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
655
656         Remove virtual toPathData() method from all graphics elements
657         https://bugs.webkit.org/show_bug.cgi?id=72009
658
659         Reviewed by Zoltan Herczeg.
660
661         In bug 71780, SVGLengthContext was introduced, to allow to resolve SVGLengths against arbitary viewports.
662         SVGLength::value(), which needs a SVGLengthContext, is still used all over svg/ - that should be changed, as rendering/
663         should resolve these lengths, as HTML does it using Length & RenderStyles for CSS.
664
665         As first step, move the #1 client of the SVGLength::value() methods - toPathData() out of svg/ into rendering/svg/SVGPathData
666         as free-function, replacing the virtual toPathData() function from SVGStyledTransformableElement.
667
668         Doesn't affect any tests.
669
670         * CMakeLists.txt: Add rendering/svg/SVGPathData.* to build.
671         * GNUmakefile.list.am: Ditto.
672         * Target.pri: Ditto.
673         * WebCore.gypi: Ditto.
674         * WebCore.vcproj/WebCore.vcproj: Ditto.
675         * WebCore.xcodeproj/project.pbxproj: Ditto.
676         * rendering/svg/RenderSVGAllInOne.cpp: Ditto.
677         * rendering/svg/RenderSVGPath.cpp:
678         (WebCore::RenderSVGPath::layout): Use "updatePathFromGraphicsElement(element, m_path)" instead of "element->toPathData(m_path)", avoiding a virtual call.
679         * rendering/svg/RenderSVGTextPath.cpp:
680         (WebCore::RenderSVGTextPath::layoutPath): Ditto.
681         * rendering/svg/SVGPathData.cpp: Added.
682         (WebCore::updatePathFromCircleElement):
683         (WebCore::updatePathFromEllipseElement):
684         (WebCore::updatePathFromLineElement):
685         (WebCore::updatePathFromPathElement):
686         (WebCore::updatePathFromPolygonElement):
687         (WebCore::updatePathFromPolylineElement):
688         (WebCore::updatePathFromRectElement):
689         (WebCore::updatePathFromGraphicsElement):
690         * rendering/svg/SVGPathData.h: Added.
691         * svg/SVGAnimateMotionElement.cpp:
692         (WebCore::SVGAnimateMotionElement::animationPath): Use updatePathFromGraphicsElement instead of toPathData.
693         * svg/SVGCircleElement.cpp: Remove toPathData() virtual method.
694         * svg/SVGCircleElement.h: Ditto.
695         * svg/SVGEllipseElement.cpp: Ditto.
696         * svg/SVGEllipseElement.h: Ditto.
697         * svg/SVGLineElement.cpp: Ditto.
698         * svg/SVGLineElement.h: Ditto.
699         * svg/SVGPathElement.cpp: Ditto.
700         * svg/SVGPathElement.h: Ditto.
701         * svg/SVGPolygonElement.cpp: Ditto.
702         * svg/SVGPolygonElement.h: Ditto.
703         * svg/SVGPolylineElement.cpp: Ditto.
704         * svg/SVGPolylineElement.h: Ditto.
705         * svg/SVGRectElement.cpp: Ditto.
706         * svg/SVGRectElement.h: Ditto.
707         * svg/SVGStyledTransformableElement.cpp:
708         (WebCore::SVGStyledTransformableElement::toClipPath): Use updatePathFromGraphicsElement instead of toPathData.
709         * svg/SVGStyledTransformableElement.h: Remove toPathData() virtual method.
710
711 2011-11-09  Andrey Kosyakov  <caseq@chromium.org>
712
713         Web Inspector: [refactoring] get rid of JavaScriptSourceFrameDelegate
714         https://bugs.webkit.org/show_bug.cgi?id=71922
715
716         Reviewed by Pavel Feldman.
717
718         * inspector/front-end/JavaScriptSourceFrame.js:
719         (WebInspector.JavaScriptSourceFrame):
720         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
721         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
722         (WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
723         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
724         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
725         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
726         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
727         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
728         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
729         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
730         * inspector/front-end/ScriptsPanel.js:
731         (WebInspector.ScriptsPanel.prototype.activateBreakpoints):
732         (WebInspector.ScriptsPanel.prototype.folderAndDisplayNameForScriptURL):
733         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
734         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
735         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
736         (WebInspector.ScriptsPanel.prototype.addToWatch):
737
738 2011-11-10  Jay Civelli  <jcivelli@chromium.org>
739
740         Fix progress load reporting for MHTML documents.
741
742         MHTML documents containing references to resources they don't include
743         never finish loading.
744         https://bugs.webkit.org/show_bug.cgi?id=71859
745
746         Reviewed by Adam Barth.
747
748         * loader/DocumentLoader.cpp:
749         (WebCore::DocumentLoader::scheduleArchiveLoad):
750
751 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
752
753         [Qt] Fix linking with --whole-archive
754
755         Reviewed by Zoltan Herczeg.
756
757         Compile XMLTreeViewer and related files when XSLT is enabled, not
758         when XSLT _and_ USE_LIBXML2. The files do not depend on libxml2, they
759         are #ifdeffed with ENABLE(XSLT) only, and they are referenced from for
760         example NewXMLDocumentParser.cpp from within XSLT blocks.
761
762         * DerivedSources.pri:
763         * Target.pri:
764
765 2011-11-01  Pavel Podivilov  <podivilov@chromium.org>
766
767         Web Inspector: load source maps via front-end host.
768         https://bugs.webkit.org/show_bug.cgi?id=71301
769
770         Reviewed by Yury Semikhatsky.
771
772         Currently we use an auxiliary iframe hack to load source map files from inspector page. This approach has several drawbacks:
773          - in addition to source map url we need to know auxiliary iframe url
774          - we need a protocol to communicate with iframe
775          - source map provider needs to provide auxiliary document to make our hack work
776         Loading source maps from front-end host solves all problems.
777
778         * WebCore.gypi:
779         * WebCore.vcproj/WebCore.vcproj:
780         * inspector/InspectorFrontendHost.cpp:
781         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
782         * inspector/InspectorFrontendHost.h:
783         * inspector/InspectorFrontendHost.idl:
784         * inspector/front-end/CompilerSourceMapping.js:
785         (WebInspector.ClosureCompilerSourceMapping):
786         (WebInspector.ClosureCompilerSourceMapping.prototype.load):
787         (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
788         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
789         * inspector/front-end/CompilerSourceMappingProvider.js: Removed.
790         * inspector/front-end/ContentProviders.js:
791         (WebInspector.CompilerSourceMappingContentProvider):
792         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
793         * inspector/front-end/RawSourceCode.js:
794         (WebInspector.RawSourceCode.prototype.setCompilerSourceMapping):
795         (WebInspector.RawSourceCode.prototype._resourceFinished):
796         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
797         * inspector/front-end/WebKit.qrc:
798         * inspector/front-end/inspector.html:
799         * inspector/front-end/inspector.js:
800         (WebInspector.installSourceMappingForTest):
801
802 2011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
803
804         Unreviewed, rolling out r99816.
805         http://trac.webkit.org/changeset/99816
806         https://bugs.webkit.org/show_bug.cgi?id=72003
807
808         compilation failed on mac (Requested by loislo on #webkit).
809
810         * html/HTMLAttributeNames.in:
811         * html/HTMLInputElement.idl:
812         * html/HTMLTextAreaElement.cpp:
813         (WebCore::HTMLTextAreaElement::appendFormData):
814         * html/HTMLTextAreaElement.idl:
815         * html/HTMLTextFormControlElement.cpp:
816         * html/HTMLTextFormControlElement.h:
817         * html/TextFieldInputType.cpp:
818         * html/TextFieldInputType.h:
819
820 2011-11-09  Pavel Feldman  <pfeldman@google.com>
821
822         Web Inspector: console does not work after switching panel while editing.
823         https://bugs.webkit.org/show_bug.cgi?id=71918
824
825         Reviewed by Yury Semikhatsky.
826
827         * inspector/front-end/SourceFrame.js:
828         (WebInspector.SourceFrame.prototype.wasShown):
829         (WebInspector.SourceFrame.prototype.willHide):
830
831 2011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
832
833         Need support for dirname attribute
834         https://bugs.webkit.org/show_bug.cgi?id=65542
835
836         Reviewed by Eric Seidel.
837
838         Implemented 'dirname' form attribute.
839
840         Tests: fast/forms/form-dirname-attribute.html
841                fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
842                fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
843                fast/forms/submit-form-with-dirname-attribute.html
844
845         * html/HTMLAttributeNames.in:
846         Added "dirname" attribute.
847         * html/HTMLInputElement.idl:
848         Add "dirName" property to HTMLInputElement interface.
849         * html/HTMLTextAreaElement.cpp:
850         (WebCore::HTMLTextAreaElement::appendFormData):
851         Append dirname form data.
852         * html/HTMLTextAreaElement.idl:
853         Add "dirName" property to HTMLTextAreaElement interface.
854         * html/HTMLTextFormControlElement.cpp:
855         (WebCore::parentHTMLElement):
856         Helper function which returns only HTML parent element.
857         (WebCore::HTMLTextFormControlElement::directionForFormData):
858         Helper function for finding directionality of the Element.
859         * html/HTMLTextFormControlElement.h:
860         Helper function for finding directionality of the Element.
861         * html/TextFieldInputType.cpp:
862         (WebCore::TextFieldInputType::appendFormData):
863         Append dirname form data.
864         * html/TextFieldInputType.h:
865         Append dirname form data.
866
867 2011-11-09  Shinya Kawanaka  <shinyak@google.com>
868
869         Internals.markerRangeForNode should be able to take markers by specifying a marker type.
870         https://bugs.webkit.org/show_bug.cgi?id=71792
871
872         Reviewed by Hajime Morita.
873
874         Test: editing/spelling/markers.html
875
876         * WebCore.exp.in:
877         * dom/DocumentMarkerController.cpp:
878         (WebCore::DocumentMarkerController::markersFor):
879           Takes marker types to get only necessary markers.
880         * dom/DocumentMarkerController.h:
881         * testing/Internals.cpp:
882         (WebCore::markerTypesFrom): Added.
883         (WebCore::Internals::markerCountForNode):
884           Takes marker types to get only necessary markers.
885         (WebCore::Internals::markerRangeForNode): ditto.
886         * testing/Internals.h:
887         * testing/Internals.idl:
888
889 2011-11-09  David Reveman  <reveman@chromium.org>
890
891         [Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
892         https://bugs.webkit.org/show_bug.cgi?id=71388
893
894         Reviewed by James Robinson.
895
896         Add UpdatableTexture class, which allows texture updater to
897         allocate tile specific resources and paint tiles separately.
898         Rename texture uploader classes and move them to separate files.
899
900         No new tests. Covered by existing tests.
901
902         * WebCore.gypi:
903         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
904         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
905         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
906         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
907         (WebCore::BitmapCanvasLayerTextureUpdater::create):
908         (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
909         (WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
910         (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
911         (WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
912         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
913         (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
914         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
915         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
916         (WebCore::BitmapCanvasLayerTextureUpdater::orientation):
917         * platform/graphics/chromium/ContentLayerChromium.cpp:
918         (WebCore::ContentLayerChromium::createTextureUpdater):
919         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp.
920         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
921         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
922         (WebCore::FrameBuffer::FrameBuffer::initialize):
923         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
924         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
925         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
926         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
927         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
928         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
929         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
930         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
931         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
932         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
933         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
934         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
935         * platform/graphics/chromium/ImageLayerChromium.cpp:
936         (WebCore::ImageLayerTextureUpdater::Texture::Texture):
937         (WebCore::ImageLayerTextureUpdater::Texture::updateRect):
938         (WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
939         (WebCore::ImageLayerTextureUpdater::createTexture):
940         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
941         * platform/graphics/chromium/LayerRendererChromium.cpp:
942         * platform/graphics/chromium/LayerTextureUpdater.h:
943         (WebCore::LayerTextureUpdater::Texture::~Texture):
944         (WebCore::LayerTextureUpdater::Texture::texture):
945         (WebCore::LayerTextureUpdater::Texture::prepareRect):
946         (WebCore::LayerTextureUpdater::Texture::Texture):
947         (WebCore::LayerTextureUpdater::prepareToUpdate):
948         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
949         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
950         (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
951         (WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
952         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
953         (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
954         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
955         * platform/graphics/chromium/TiledLayerChromium.cpp:
956         (WebCore::UpdatableTile::UpdatableTile):
957         (WebCore::UpdatableTile::texture):
958         (WebCore::UpdatableTile::managedTexture):
959         (WebCore::TiledLayerChromium::updateCompositorResources):
960         (WebCore::TiledLayerChromium::pushPropertiesTo):
961         (WebCore::TiledLayerChromium::createTile):
962         (WebCore::TiledLayerChromium::protectTileTextures):
963         (WebCore::TiledLayerChromium::prepareToUpdate):
964         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
965         (WebCore::CCTextureUpdater::append):
966         (WebCore::CCTextureUpdater::update):
967         * platform/graphics/chromium/cc/CCTextureUpdater.h:
968
969 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
970
971         [wx] Unreviewed build fix. Add stub for new method.
972         
973         * platform/wx/FileSystemWx.cpp:
974         (WebCore::openFile):
975
976 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
977
978         [wx] Unreviewed build fix. wx should not be excluded
979         from building ScopedFramePaintingState code.
980
981         * page/Frame.cpp:
982
983 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
984
985         [wx] Unreviewed build fix. Don't run 
986         fontDataForCombiningCharacterSequence on wx as we don't 
987         support it yet.
988
989         * platform/graphics/mac/ComplexTextController.cpp:
990         (WebCore::ComplexTextController::collectComplexTextRuns):
991
992 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
993
994         [wx] Unreviewed build fix. Update how we hash the font after
995         changes to the StringHasher APIs.
996
997         * platform/graphics/wx/FontPlatformDataWx.cpp:
998         (WebCore::FontPlatformData::computeHash):
999
1000 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
1001
1002         [wx] Unreviewed build fix. Remove from WebDOMEventTarget
1003         bindings methods that have been removed from EventTarget.
1004
1005         * bindings/cpp/WebDOMEventTarget.cpp:
1006         (toWebKit):
1007         * bindings/cpp/WebDOMEventTarget.h:
1008
1009 2011-11-09  Martin Robinson  <mrobinson@igalia.com>
1010
1011         [Cairo] Avoid clipping when painting more often
1012         https://bugs.webkit.org/show_bug.cgi?id=71179
1013
1014         Reviewed by Xan Lopez.
1015
1016         No new tests. These changes are covered by existing tests.
1017
1018         * platform/graphics/Gradient.h: Add a Cairo-specific method
1019         that gets the platform gradient with a particular alpha value.
1020         * platform/graphics/cairo/GradientCairo.cpp: Now cache the alpha
1021         value of the last created platform gradient.
1022         (WebCore::Gradient::platformGradient): If the cached platform gradient
1023         has a different alpha value than the one requested, destroy it and start
1024         over.
1025         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1026         (WebCore::drawPathShadow): Adjust the source to avoid calling
1027         cairo_clip/cairo_paint_with_alpha and just do a fill.
1028         (WebCore::shadowAndFillCurrentCairoPath): No need to clip here. Just
1029         call cairo_fill.
1030         * platform/graphics/cairo/PlatformContextCairo.cpp:
1031         (WebCore::drawPatternToCairoContext): If we have a >= 1 alpha value
1032         we can simply fill and avoid calling cairo_clip here.
1033         (WebCore::prepareCairoContextSource): Remove TODO about recreating the
1034         gradient. No longer need to reduce the gradient source.
1035
1036 2011-11-09  Alexey Proskuryakov  <ap@apple.com>
1037
1038         <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
1039         https://bugs.webkit.org/show_bug.cgi?id=71964
1040
1041         Reviewed by Darin Adler.
1042
1043         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1044         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1045         Don't ask the client for proxy credentials. CFNetwork results are authoritative, and proxy
1046         credentials are system-wide.
1047
1048 2011-11-09  Daniel Sievers  <sievers@chromium.org>
1049
1050         [chromium] Fix typo in checkerboarding code
1051         https://bugs.webkit.org/show_bug.cgi?id=71981
1052
1053         Reviewed by James Robinson.
1054
1055         No new tests.
1056
1057         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1058         (WebCore::CCTiledLayerImpl::drawTiles):
1059
1060 2011-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1061
1062         Unreviewed, rolling out r99782.
1063         http://trac.webkit.org/changeset/99782
1064         https://bugs.webkit.org/show_bug.cgi?id=71979
1065
1066         broke most of the feImage tests (Requested by thorton on
1067         #webkit).
1068
1069         * svg/SVGFEImageElement.cpp:
1070         (WebCore::SVGFEImageElement::parseMappedAttribute):
1071         (WebCore::SVGFEImageElement::build):
1072
1073 2011-11-09  Kentaro Hara  <haraken@chromium.org>
1074
1075         Remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm
1076         https://bugs.webkit.org/show_bug.cgi?id=71938
1077
1078         Reviewed by Darin Adler.
1079
1080         Now no IDL files are using [CanBeConstructed] IDL.
1081         We can safely remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm.
1082
1083         No tests. No change in behavior.
1084
1085         * bindings/scripts/CodeGeneratorJS.pm: Removed [CanBeConstructed]-related code.
1086         (GenerateConstructorDeclaration):
1087         (GenerateConstructorDefinition):
1088         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1089         (GenerateImplementation):
1090         * bindings/scripts/test/TestInterface.idl: Removed [CanBeConstructed].
1091         * bindings/v8/V8Proxy.h: Removed V8Proxy::constructDOMObject and V8Proxy::constructDOMObjectWithScriptExecutionContext, which had been used only by [CanBeConstructed].
1092
1093 2011-11-09  Tim Horton  <timothy_horton@apple.com>
1094
1095         feImage referencing a primitive draws incorrectly
1096         https://bugs.webkit.org/show_bug.cgi?id=71731
1097         <rdar://problem/10408178>
1098
1099         Reviewed by Simon Fraser.
1100         
1101         Don't attempt to resolve an <feImage>'s referenced element until it's used, as it
1102         may not exist at the time the attribute is set on the <feImage>.
1103         
1104         Don't attempt to render an <feImage> if the referenced element is of size 0x0.
1105
1106         Tests: svg/filters/feImage-reference-svg-primitive.svg
1107                svg/filters/feImage-zero-size-crash.svg
1108
1109         * svg/SVGFEImageElement.cpp:
1110         (WebCore::SVGFEImageElement::parseMappedAttribute):
1111         (WebCore::SVGFEImageElement::build):
1112
1113 2011-11-09  Dominic Cooney  <dominicc@chromium.org>
1114
1115         Remove WebGLContextEvent.initEvent method
1116         https://bugs.webkit.org/show_bug.cgi?id=71720
1117
1118         Reviewed by Adam Barth.
1119
1120         The WebGL spec calls this method initWebGLContextEvent, but it may
1121         adopt a constructor instead. Deleting the initEvent method for now
1122         since it is definitely wrong and we don't want people to come to
1123         depend on it.
1124
1125         No new tests--removing untested code.
1126
1127         * html/canvas/WebGLContextEvent.cpp:
1128         * html/canvas/WebGLContextEvent.h:
1129         * html/canvas/WebGLContextEvent.idl:
1130
1131 2011-11-09  Anders Carlsson  <andersca@apple.com>
1132
1133         Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
1134         https://bugs.webkit.org/show_bug.cgi?id=71955
1135
1136         Reviewed by Sam Weinig.
1137
1138         Element::boundsInWindowSpace is only used by WebKit2, where the window coordinate space is the
1139         same as the root view coordinate space. This lets us get rid of another use of contentsToWindow.
1140
1141         * WebCore.exp.in:
1142         * dom/Element.cpp:
1143         (WebCore::Element::boundsInRootViewSpace):
1144         * dom/Element.h:
1145
1146 2011-11-09  Kentaro Hara  <haraken@chromium.org>
1147
1148         Unreviewed, rebaseline run-bindings-tests results.
1149
1150         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1151         (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
1152         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
1153         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1154
1155 2011-11-09  Alexandre Elias  <aelias@google.com>
1156
1157         [chromium] Add draw-time scale delta to compositor thread
1158         https://bugs.webkit.org/show_bug.cgi?id=71595
1159
1160         Reviewed by James Robinson.
1161
1162         There are two magnify values:
1163         1. The WebKit-side pageScale value corresponding to the resolution of
1164            the painted content.
1165         2. The Impl-side-only scaleDelta value representing the additional
1166            degree of current magnification, applied as a draw transform.  WebKit
1167            is never explicitly aware of this value and the only way to change it
1168            currently is via pinch events (and in the future, double-tap/etc
1169            events).  At the end of a pinch zoom, we multiply pageScale *
1170            scaleDelta and tell WebKit to use it as the new pageScale.
1171
1172         Scroll offsets and max-extents are maintained in pageScale space.
1173         When the scale changes, we need to take care to convert them to the
1174         new scale and avoid getting them clamped to the extents at the wrong
1175         scale.
1176
1177         I removed maxScrollPosition on the non-impl side because it makes no
1178         sense to precompute it in the presence of an impl-side zoom.  Replaced
1179         with a simple 'bool m_scrollable'.
1180
1181         zoomAnimatorTransform is not used because it currently isn't in the
1182         branch, and mostly doesn't behave the way we want anyway (it does most
1183         things in WebKit thread).  We will need to unify these later.
1184
1185         Also introduce deviceOrPageScaleFactorChanged() call which invalidates
1186         layers.
1187
1188         No new tests (filed 71529 to remember to do it later).
1189
1190         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1191         (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
1192         * platform/graphics/chromium/GraphicsLayerChromium.h:
1193         * platform/graphics/chromium/LayerChromium.cpp:
1194         (WebCore::LayerChromium::LayerChromium):
1195         (WebCore::LayerChromium::setBounds):
1196         (WebCore::LayerChromium::pushPropertiesTo):
1197         * platform/graphics/chromium/LayerChromium.h:
1198         (WebCore::LayerChromium::scrollable):
1199         (WebCore::LayerChromium::setScrollable):
1200         (WebCore::LayerChromium::pageScaleChanged):
1201         * platform/graphics/chromium/LayerRendererChromium.cpp:
1202         (WebCore::LayerRendererChromium::drawLayersInternal):
1203         * platform/graphics/chromium/LayerRendererChromium.h:
1204         (WebCore::LayerRendererChromium::setPageMagnifyTransform):
1205         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1206         (WebCore::NonCompositedContentHost::setViewport):
1207         * platform/graphics/chromium/NonCompositedContentHost.h:
1208         (WebCore::NonCompositedContentHost::topLevelRootLayer):
1209         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1210         (WebCore::CCLayerImpl::CCLayerImpl):
1211         * platform/graphics/chromium/cc/CCLayerImpl.h:
1212         (WebCore::CCLayerImpl::scrollable):
1213         (WebCore::CCLayerImpl::setScrollable):
1214         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1215         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1216         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
1217         (WebCore::CCLayerTreeHost::setPageScale):
1218         (WebCore::CCLayerTreeHost::setPageScaleFactorLimits):
1219         (WebCore::CCLayerTreeHost::applyScrollAndScale):
1220         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1221         (WebCore::CCLayerTreeHost::pageScale):
1222         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
1223         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1224         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1225         (WebCore::CCLayerTreeHostImpl::commitComplete):
1226         (WebCore::findScrollLayer):
1227         (WebCore::CCLayerTreeHostImpl::setViewport):
1228         (WebCore::CCLayerTreeHostImpl::setPageScale):
1229         (WebCore::CCLayerTreeHostImpl::setScaleDelta):
1230         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorLimits):
1231         (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
1232         (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
1233         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
1234         (WebCore::CCLayerTreeHostImpl::pinchGestureEnd):
1235         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
1236         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1237         (WebCore::CCLayerTreeHostImpl::pageScale):
1238         * platform/graphics/chromium/cc/CCScrollController.h:
1239         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1240         (WebCore::CCSingleThreadProxy::doCommit):
1241         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1242         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
1243         (WebCore::CCThreadProxy::beginFrameAndCommit):
1244         * platform/graphics/chromium/cc/CCThreadProxy.h:
1245
1246 2011-11-09  Jay Civelli  <jcivelli@chromium.org>
1247
1248         Fix MHTML generation to use the QuotedPrintable encoding for text resources.
1249         This was regressed when we added binary encoding support.
1250         https://bugs.webkit.org/show_bug.cgi?id=71857
1251
1252         Reviewed by Adam Barth.
1253
1254         * loader/archive/mhtml/MHTMLArchive.cpp:
1255         (WebCore::MHTMLArchive::generateMHTMLData):
1256
1257 2011-11-09  Kentaro Hara  <haraken@chromium.org>
1258
1259         Replace [CanBeConstructed] IDL with [Constructor] IDL
1260         https://bugs.webkit.org/show_bug.cgi?id=71927
1261
1262         Reviewed by Adam Barth.
1263
1264         With respect to the IDL files that have [CanBeConstructed]
1265         but do not have [Constructor] nor [CustomConstructor],
1266         [CanBeConstructed] is now equivalent to [Constructor].
1267         Thus, this patch replaces [CanBeConstructed] with [Constructor].
1268
1269         No tests. No change in behavior.
1270
1271         * fileapi/FileReaderSync.idl: As I described above.
1272         * fileapi/WebKitBlobBuilder.idl: Ditto.
1273         * fileapi/WebKitFlags.idl: Ditto.
1274         * xml/DOMParser.idl: Ditto.
1275         * xml/XMLSerializer.idl: Ditto.
1276         * xml/XPathEvaluator.idl: Ditto.
1277
1278 2011-11-09  Noel Gordon  <noel.gordon@gmail.com>
1279
1280         [chromium] Separate image encoding from dataURL construction
1281         https://bugs.webkit.org/show_bug.cgi?id=71846
1282
1283         Reviewed by Adam Barth.
1284
1285         Remove the implicit assumption that a dataURL is the only desired output format of the
1286         the image encoding phase.
1287
1288         No new tests, refactoring only, covered by existing canvas tests.
1289
1290         * platform/graphics/skia/ImageBufferSkia.cpp:
1291         (WebCore::encodeImage):  Output the encoded image to a Vector.
1292         (WebCore::ImageBuffer::toDataURL):  Format the dataURL encoding of the mimeType encoded
1293         image Vector here.  Move the mimeType encoding debug check here to better align this
1294         code with the CG (CoreGraphics) ImageBuffer.cpp implementation.
1295         (WebCore::ImageDataToDataURL): ditto.
1296
1297 2011-11-09  Alexei Svitkine  <asvitkine@chromium.org>
1298
1299         Chromium: Fix bad rubber-band overhang shadows being drawn in the presence of custom scrollbar css.
1300         https://bugs.webkit.org/show_bug.cgi?id=71719
1301
1302         This was caused by the overhang calculation logic not being consistent when subtracting the scrollbar sizes from the overhang areas. This resulted in for e.g. a horizontal overhang that didn't overlap with the scrollbar while the vertical overhang overlapped with it. This fix makes the logic consistent so that the overhang areas do not overlap with the scrollbars (when scrollbars are opaque).
1303
1304         Reviewed by Beth Dakin.
1305
1306         Tests: platform/chromium/rubberbanding/custom-scrollbars-ne.html
1307                platform/chromium/rubberbanding/custom-scrollbars-nw.html
1308                platform/chromium/rubberbanding/custom-scrollbars-se.html
1309                platform/chromium/rubberbanding/custom-scrollbars-sw.html
1310
1311         * platform/ScrollView.cpp:
1312         (WebCore::ScrollView::wheelEvent):
1313
1314 2011-11-09  Ken Buchanan  <kenrb@chromium.org>
1315
1316         Indentation error in RenderObject::container
1317         https://bugs.webkit.org/show_bug.cgi?id=64780
1318
1319         Reviewed by Eric Seidel.
1320
1321         A conditional block was indented too far; correcting.
1322
1323         * rendering/RenderObject.cpp:
1324         (WebCore::RenderObject::container):
1325
1326 2011-11-09  Anders Carlsson  <andersca@apple.com>
1327
1328         Use contentsToRootView/rootViewToContents when converting between frame coordinate systems
1329         https://bugs.webkit.org/show_bug.cgi?id=71947
1330
1331         Reviewed by Sam Weinig.
1332
1333         This gets rid of a few calls to contentsToWindow and windowToContents.
1334
1335         * inspector/DOMNodeHighlighter.cpp:
1336         * page/DragController.cpp:
1337         (WebCore::DragController::startDrag):
1338         (WebCore::DragController::doSystemDrag):
1339         * page/EventHandler.cpp:
1340         (WebCore::EventHandler::hitTestResultAtPoint):
1341
1342 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
1343
1344         De-virtualize JSObject::getOwnPropertyDescriptor
1345         https://bugs.webkit.org/show_bug.cgi?id=71523
1346
1347         Reviewed by Sam Weinig.
1348
1349         No new tests.
1350
1351         Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
1352         virtual versions of getOwnPropertyDescriptor to static ones, and 
1353         changed all of the call sites to the corresponding lookup in the MethodTable.
1354
1355         * WebCore.exp.in:
1356         * bindings/js/JSDOMWindowCustom.cpp:
1357         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1358         * bindings/js/JSDOMWindowShell.cpp:
1359         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
1360         * bindings/js/JSDOMWindowShell.h:
1361         * bindings/js/JSWorkerContextCustom.cpp:
1362         (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
1363         * bindings/scripts/CodeGeneratorJS.pm:
1364         (GenerateGetOwnPropertyDescriptorBody):
1365         (GenerateHeader):
1366         (GenerateImplementation):
1367         (GenerateConstructorDeclaration):
1368         (GenerateConstructorDefinition):
1369         * bindings/scripts/test/JS/JSTestInterface.cpp:
1370         (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
1371         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
1372         * bindings/scripts/test/JS/JSTestInterface.h:
1373         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1374         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
1375         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
1376         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
1377         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1378         * bindings/scripts/test/JS/JSTestObj.cpp:
1379         (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
1380         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
1381         (WebCore::JSTestObj::getOwnPropertyDescriptor):
1382         * bindings/scripts/test/JS/JSTestObj.h:
1383         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1384         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
1385         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
1386         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1387         * bridge/objc/objc_runtime.h:
1388         * bridge/objc/objc_runtime.mm:
1389         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
1390         * bridge/qt/qt_runtime.cpp:
1391         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
1392         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
1393         * bridge/qt/qt_runtime.h:
1394         * bridge/runtime_array.cpp:
1395         (JSC::RuntimeArray::getOwnPropertyDescriptor):
1396         * bridge/runtime_array.h:
1397         * bridge/runtime_method.cpp:
1398         (JSC::RuntimeMethod::vtableAnchor): Added to prevent a weak vtable.
1399         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
1400         * bridge/runtime_method.h: Changed getOwnPropertyDescriptor from private to protected to allow 
1401         subclasses to use it in their MethodTables.
1402         * bridge/runtime_object.cpp:
1403         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
1404         * bridge/runtime_object.h:
1405
1406 2011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>
1407
1408         REGRESSION (r93614): Content remains despite parent element being scrolled off page using javascript.
1409         https://bugs.webkit.org/show_bug.cgi?id=71550
1410
1411         Reviewed by Simon Fraser.
1412
1413         Tests: fast/repaint/overflow-auto-in-overflow-auto-scrolled.html
1414                fast/repaint/overflow-hidden-in-overflow-hidden-scrolled.html
1415                fast/repaint/overflow-scroll-in-overflow-scroll-scrolled.html
1416                fast/repaint/scroll-inside-table-cell.html
1417                fast/repaint/scroll-relative-table-inside-table-cell.html
1418                fast/repaint/table-overflow-auto-in-overflow-auto-scrolled.html
1419                fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled.html
1420                fast/repaint/table-overflow-scroll-in-overflow-scroll-scrolled.html
1421
1422         The issue was that updateLayerPositionsAfterScroll would not update some layer's
1423         repaint rectangles. Thus we would not properly repaint (if at all).
1424
1425         The optimization added in 93614 was short-sighted and missed the fact that tables are a
1426         special case when it comes to updating the repaint rectangles. When we scroll a layer
1427         with an overflow clip, most layers *do* need to update their repaint rectangles.
1428
1429         This changes keeps the optimization for cells as this is the hotest case for tables
1430         with overflow: hidden on cells but is much more conservative: if we encounter an
1431         overflow clip, we update the descendant's repaint rectangles.
1432
1433         * rendering/RenderLayer.cpp:
1434         (WebCore::RenderLayer::RenderLayer):
1435         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
1436         Refactored the code to use some flags (HasSeenFixedPositionedAncestor and
1437         HasSeenAncestorWithOverflowClip). Also added an exception if
1438         m_canSkipRepaintRectsUpdateOnScroll is set.
1439
1440         * rendering/RenderLayer.h:
1441         Added a new field when it is fine to not update our repaint rects on scroll.
1442
1443 2011-11-09  Kentaro Hara  <haraken@chromium.org>
1444
1445         Generate the HTMLAudioElement constructor using [NamedConstructor] IDL
1446         https://bugs.webkit.org/show_bug.cgi?id=71924
1447
1448         Reviewed by Adam Barth.
1449
1450         This patch removes a custom constructor of HTMLAudioElement
1451         and generates it using [NamedConstructor] IDL.
1452
1453         Tests:  fast/js/custom-constructors.html
1454                 media/audio-constructor.html
1455                 media/audio-constructor-src.html
1456                 media/audio-constructor-preload.html
1457                 media/audio-controls-do-not-fade-out.html
1458                 media/audio-controls-rendering.html
1459
1460         * Target.pri: Removed V8HTMLAudioElementConstructor.{h,cpp}
1461         * WebCore.gypi: Ditto.
1462         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Removed.
1463         * bindings/v8/custom/V8HTMLAudioElementConstructor.h: Removed.
1464         * html/HTMLAudioElement.idl: Added [NamedConstructor] IDL.
1465         * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
1466
1467 2011-11-09  Antti Koivisto  <antti@apple.com>
1468
1469         Eliminate CSSMutableValue
1470         https://bugs.webkit.org/show_bug.cgi?id=71811
1471
1472         Reviewed by Darin Adler, Andreas Kling and Nikolas Zimmerman.
1473
1474         Remove the implementations of setter functions in SVGColor and SVGPaint. These interfaces are
1475         deprecated in SVG 1.1 (2nd edition) and are not really used by anybody. This allows
1476         removal of CSSMutableValue and the associated (rather broken) code.
1477         
1478         The setters now throw NO_MODIFICATION_ALLOWED_ERR. 
1479
1480         * GNUmakefile.list.am:
1481         * WebCore.gypi:
1482         * WebCore.xcodeproj/project.pbxproj:
1483         * css/CSSMutableStyleDeclaration.cpp:
1484         (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
1485         * css/CSSMutableValue.h: Removed.
1486         * css/CSSStyleDeclaration.cpp:
1487         (WebCore::CSSStyleDeclaration::getPropertyCSSValue):
1488         * css/CSSValue.h:
1489         (WebCore::CSSValue::CSSValue):
1490         * svg/SVGColor.cpp:
1491         (WebCore::SVGColor::SVGColor):
1492         (WebCore::SVGColor::setRGBColor):
1493         (WebCore::SVGColor::setRGBColorICCColor):
1494         (WebCore::SVGColor::setColor):
1495         * svg/SVGColor.h:
1496         * svg/SVGPaint.cpp:
1497         (WebCore::SVGPaint::setUri):
1498         (WebCore::SVGPaint::setPaint):
1499         * svg/SVGPaint.h:
1500
1501 2011-11-09  Kentaro Hara  <haraken@chromium.org>
1502
1503         Generate the HTMLOptionElement constructor using [NamedConstructor] IDL
1504         https://bugs.webkit.org/show_bug.cgi?id=71925
1505
1506         Reviewed by Adam Barth.
1507
1508         This patch removes a custom constructor of HTMLOptionElement,
1509         and generates it using [NamedConstructor] IDL.
1510
1511         Tests: fast/js/custom-constructors.html
1512                fast/forms/option-index.html
1513                fast/forms/add-and-remove-option.html
1514                fast/dom/dom-add-optionelement.html
1515
1516         * Target.pri: Removed V8HTMLOptionElementConstructor.{h,cpp}
1517         * WebCore.gypi: Ditto.
1518         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Removed.
1519         * bindings/v8/custom/V8HTMLOptionElementConstructor.h: Removed.
1520         * html/HTMLOptionElement.idl: Added [NamedConstructor] IDL.
1521         * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
1522
1523 2011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>
1524
1525         Crash in RenderTableSection::splitColumn
1526         https://bugs.webkit.org/show_bug.cgi?id=70171
1527
1528         Reviewed by David Hyatt.
1529
1530         Tests: fast/table/crash-splitColumn-2.html
1531                fast/table/crash-splitColumn-3.html
1532                fast/table/crash-splitColumn.html
1533
1534         The old code would not take into account the fact that each RenderTableSection
1535         can set its m_needsCellRecalc flag independently of the rest.
1536
1537         This means that you cannot assume that you can always split or append columns to
1538         all the sections. Our approach is to skip sections needing cell recalc in several
1539         parts of the code as they will be properly reset to the table's representations
1540         during a cell recalc.
1541
1542         * rendering/RenderTable.cpp:
1543         (WebCore::RenderTable::splitColumn):
1544         (WebCore::RenderTable::appendColumn):
1545         Skip sections needing cell recalc as they will be properly updated later.
1546
1547         * rendering/RenderTableSection.cpp:
1548         (WebCore::RenderTableSection::addCell):
1549         Ignore a section needing cell recalc as addCell will be called after sync'ing
1550         the internal column representation in recalcCells.
1551
1552         (WebCore::RenderTableSection::recalcCells):
1553         Clear the flag at the beginning of the function to activate the previous functions.
1554         Added a comment as to why this is fine.
1555
1556         (WebCore::RenderTableSection::appendColumn):
1557         Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
1558         of recalcCells().
1559
1560 2011-11-09  Arko Saha  <arko@motorola.com>
1561
1562         Microdata: fast/dom/MicroData/itemid-attribute-test.html assertion failure in Element::getURLAttribute().
1563         https://bugs.webkit.org/show_bug.cgi?id=71510
1564
1565         Reviewed by Darin Adler.
1566
1567         Override isURLAttribute() for HTMLElement and return true if attribute is itemidAttr.
1568         All the classes derived from HTMLElement overrides this function should return true if attribute is itemidAttr.
1569         Removed HTMLIFrameElement::isURLAttribute() method as HTMLFrameElementBase already takes care of it.
1570
1571         Test: fast/dom/MicroData/itemid-attribute-test-001.html
1572
1573         * html/HTMLAnchorElement.cpp:
1574         (WebCore::HTMLAnchorElement::isURLAttribute):
1575         * html/HTMLBaseElement.cpp:
1576         (WebCore::HTMLBaseElement::isURLAttribute):
1577         * html/HTMLBodyElement.cpp:
1578         (WebCore::HTMLBodyElement::isURLAttribute):
1579         * html/HTMLButtonElement.cpp:
1580         (WebCore::HTMLButtonElement::isURLAttribute):
1581         * html/HTMLElement.cpp:
1582         (WebCore::HTMLElement::isURLAttribute):
1583         * html/HTMLElement.h:
1584         * html/HTMLEmbedElement.cpp:
1585         (WebCore::HTMLEmbedElement::isURLAttribute):
1586         * html/HTMLFormElement.cpp:
1587         (WebCore::HTMLFormElement::isURLAttribute):
1588         * html/HTMLFrameElementBase.cpp:
1589         (WebCore::HTMLFrameElementBase::isURLAttribute):
1590         * html/HTMLHtmlElement.cpp:
1591         (WebCore::HTMLHtmlElement::isURLAttribute):
1592         * html/HTMLIFrameElement.cpp:
1593         * html/HTMLIFrameElement.h:
1594         * html/HTMLImageElement.cpp:
1595         (WebCore::HTMLImageElement::isURLAttribute):
1596         * html/HTMLInputElement.cpp:
1597         (WebCore::HTMLInputElement::isURLAttribute):
1598         * html/HTMLLinkElement.cpp:
1599         (WebCore::HTMLLinkElement::isURLAttribute):
1600         * html/HTMLMediaElement.cpp:
1601         (WebCore::HTMLMediaElement::isURLAttribute):
1602         * html/HTMLModElement.cpp:
1603         (WebCore::HTMLModElement::isURLAttribute):
1604         * html/HTMLObjectElement.cpp:
1605         (WebCore::HTMLObjectElement::isURLAttribute):
1606         * html/HTMLParamElement.cpp:
1607         (WebCore::HTMLParamElement::isURLAttribute):
1608         * html/HTMLQuoteElement.cpp:
1609         (WebCore::HTMLQuoteElement::isURLAttribute):
1610         * html/HTMLScriptElement.cpp:
1611         (WebCore::HTMLScriptElement::isURLAttribute):
1612         * html/HTMLSourceElement.cpp:
1613         (WebCore::HTMLSourceElement::isURLAttribute):
1614         * html/HTMLTableCellElement.cpp:
1615         (WebCore::HTMLTableCellElement::isURLAttribute):
1616         * html/HTMLTableElement.cpp:
1617         (WebCore::HTMLTableElement::isURLAttribute):
1618         * html/HTMLTrackElement.cpp:
1619         (WebCore::HTMLTrackElement::isURLAttribute):
1620
1621 2011-11-09  Chris Fleizach  <cfleizach@apple.com>
1622
1623         AX: crash when accessing selectedTab in a tab list
1624         https://bugs.webkit.org/show_bug.cgi?id=70938
1625
1626         Reviewed by Beth Dakin.
1627
1628         There were a few methods accessing m_children directly without first validating that those elements
1629         needed to be updated (because the layout changed). Changing those to call children() ensures
1630         that they will have the correct children.
1631
1632         Test: platform/mac/accessibility/selected-tab-crash.html
1633
1634         * accessibility/AccessibilityRenderObject.cpp:
1635         (WebCore::AccessibilityRenderObject::isChecked):
1636         (WebCore::AccessibilityRenderObject::selectedRadioButton):
1637         (WebCore::AccessibilityRenderObject::selectedTabItem):
1638         (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
1639         (WebCore::AccessibilityRenderObject::tabChildren):
1640
1641 2011-11-09  Andreas Kling  <kling@webkit.org>
1642
1643         Shrink HTMLCollection.
1644         <http://webkit.org/b/71928>
1645
1646         Reviewed by Darin Adler.
1647
1648         Rearrange the members of HTMLCollection, effectively shrinking
1649         it by 16 bytes on 64-bit. This reduces memory consumption
1650         by 531 kB when loading the full HTML5 spec.
1651
1652         On 32-bit it shrinks by 8 bytes, saving 265 kB.
1653
1654         * html/HTMLCollection.cpp:
1655         (WebCore::HTMLCollection::HTMLCollection):
1656         * html/HTMLCollection.h:
1657         (WebCore::HTMLCollection::type):
1658
1659 2011-11-09  Kentaro Hara  <haraken@chromium.org>
1660
1661         Remove redundant [CanBeConstructed] IDLs
1662         https://bugs.webkit.org/show_bug.cgi?id=71868
1663
1664         Reviewed by Adam Barth.
1665
1666         If a class has [Constructor] or [CustomConstructor],
1667         then [CanBeConstructed] is not necessary.
1668         This patch just removes [CanBeConstructed] from all the classes
1669         that already have [Constructor] or [CustomConstructor].
1670
1671         No tests. No change in behavior.
1672
1673         * bindings/scripts/CodeGeneratorV8.pm: Corrected typo. This correction is required for this patch.
1674         * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-bindings-tests result.
1675         (WebCore::ConfigureV8TestObjTemplate):
1676         * css/WebKitCSSMatrix.idl:
1677         * dom/BeforeLoadEvent.idl:
1678         * dom/CustomEvent.idl:
1679         * dom/ErrorEvent.idl:
1680         * dom/Event.idl:
1681         * dom/HashChangeEvent.idl:
1682         * dom/MessageChannel.idl:
1683         * dom/MessageEvent.idl:
1684         * dom/OverflowEvent.idl:
1685         * dom/PageTransitionEvent.idl:
1686         * dom/PopStateEvent.idl:
1687         * dom/ProgressEvent.idl:
1688         * dom/WebKitAnimationEvent.idl:
1689         * dom/WebKitMutationObserver.idl:
1690         * dom/WebKitTransitionEvent.idl:
1691         * fileapi/FileReader.idl:
1692         * html/DOMFormData.idl:
1693         * html/TextTrackCue.idl:
1694         * html/canvas/ArrayBuffer.idl:
1695         * html/canvas/DataView.idl:
1696         * html/canvas/Float32Array.idl:
1697         * html/canvas/Float64Array.idl:
1698         * html/canvas/Int16Array.idl:
1699         * html/canvas/Int32Array.idl:
1700         * html/canvas/Int8Array.idl:
1701         * html/canvas/Uint16Array.idl:
1702         * html/canvas/Uint32Array.idl:
1703         * html/canvas/Uint8Array.idl:
1704         * html/track/TrackEvent.idl:
1705         * mediastream/PeerConnection.idl:
1706         * page/EventSource.idl:
1707         * page/WebKitPoint.idl:
1708         * webaudio/AudioContext.idl:
1709         * websockets/CloseEvent.idl:
1710         * websockets/WebSocket.idl:
1711         * workers/SharedWorker.idl:
1712         * workers/Worker.idl:
1713         * xml/XMLHttpRequest.idl:
1714         * xml/XSLTProcessor.idl:
1715
1716 2011-11-09  Ken Buchanan  <kenrb@chromium.org>
1717
1718         SVG foreignObject wrong container
1719         https://bugs.webkit.org/show_bug.cgi?id=64780
1720
1721         Reviewed by Simon Fraser.
1722
1723         Resubmitting a patch originally by scottmg@chromium.org.
1724         In determining where to add to m_positionedObjects during a repaint,
1725         containingBlock is used, which adds the absolute positioned object to
1726         the containing foreignObject. But, when the contained object is
1727         dirtied, container() was used to dirty up the tree, which skipped over
1728         the foreignObject causing the wrong parent to needsLayout(). This fix
1729         makes container() and containingBlock() handle svg foreignObject's in
1730         the same way.
1731
1732         This patch will cause svg/overflow/overflow-on-foreignObject.svg to
1733         require rebaselined results on qt and gtk ports.
1734
1735         * rendering/RenderObject.cpp:
1736         (WebCore::RenderObject::container):
1737
1738 2011-11-09  Andreas Kling  <kling@webkit.org>
1739
1740         Shrink StyleSheet on 64-bit.
1741         <http://webkit.org/b/71923>
1742
1743         Reviewed by Darin Adler.
1744
1745         Move m_disabled to the top so it folds into the padding at
1746         the end of RefCounted on 64-bit, shrinking StyleSheet by 8 bytes.
1747
1748         * css/StyleSheet.cpp:
1749         (WebCore::StyleSheet::StyleSheet):
1750         * css/StyleSheet.h:
1751
1752 2011-11-09  Andreas Kling  <kling@webkit.org>
1753
1754         StyleSheet: Devirtualize styleSheetChanged().
1755         <http://webkit.org/b/71913>
1756
1757         Reviewed by Antti Koivisto.
1758
1759         Since this mechanism is only used by CSSStyleSheet, move it there.
1760         Out-of-lined StyleSheet::setDisabled() so we can do a type check
1761         before invoking it from there.
1762
1763         * css/CSSStyleSheet.h:
1764         * css/StyleSheet.cpp:
1765         (WebCore::StyleSheet::setDisabled):
1766         * css/StyleSheet.h:
1767
1768 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
1769
1770         [Qt] Unreviewed, adding missing files to the build.
1771
1772         * Target.pri: Add ContentTypeParser.cpp/h
1773
1774 2011-11-09  Andrey Kosyakov  <caseq@chromium.org>
1775
1776         Web Inspector: [refactoring] remove a bunch of methods from JavaScriptSourceFrameDelegate
1777         https://bugs.webkit.org/show_bug.cgi?id=71826
1778
1779         Reviewed by Pavel Feldman.
1780
1781         * inspector/front-end/JavaScriptSourceFrame.js:
1782         (WebInspector.JavaScriptSourceFrame):
1783         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
1784         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
1785         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
1786         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
1787         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
1788         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
1789         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
1790         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
1791         * inspector/front-end/ScriptsPanel.js:
1792
1793 2011-11-09  Pavel Feldman  <pfeldman@google.com>
1794
1795         Not reviewed: annotate inspector front-end javascript so that it compiled again.
1796
1797         * inspector/front-end/ShortcutsScreen.js:
1798         * inspector/front-end/WorkerManager.js:
1799
1800 2011-11-09  Andreas Kling  <kling@webkit.org>
1801
1802         Unreviewed build fix after r99711. (Signed/unsigned compare.)
1803
1804         * css/CSSPrimitiveValue.cpp:
1805         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
1806
1807 2011-11-09  Alexander Pavlov  <apavlov@chromium.org>
1808
1809         Web Inspector: Provisionally change StylesSidebarPane section DOM layout to allow media queries
1810         https://bugs.webkit.org/show_bug.cgi?id=71902
1811
1812         Reviewed by Pavel Feldman.
1813
1814         * inspector/front-end/StylesSidebarPane.js:
1815         (WebInspector.StylePropertiesSection):
1816         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
1817         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1818         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
1819         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
1820         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
1821
1822 2011-11-09  Andreas Kling  <kling@webkit.org>
1823
1824         CSSPrimitiveValue: Fix up bitfield member types.
1825         <http://webkit.org/b/71751>
1826
1827         Reviewed by Antti Koivisto.
1828
1829         The primitive unit type doesn't need to be a signed value,
1830         and by making it unsigned, we can shave one bit off of it.
1831         Furthermore, m_hasCachedCSSText and m_isQuirkValue should be
1832         bool, not unsigned.
1833
1834         * css/CSSValue.h:
1835
1836 2011-11-09  Pavel Feldman  <pfeldman@google.com>
1837
1838         Web Inspector: discard injected scripts upon front-end disconnect.
1839         https://bugs.webkit.org/show_bug.cgi?id=71823
1840
1841         Reviewed by Yury Semikhatsky.
1842
1843         Test: http/tests/inspector-enabled/injected-script-discard.html
1844
1845         * inspector/InspectorAgent.cpp:
1846         (WebCore::InspectorAgent::clearFrontend):
1847
1848 2011-11-09  Andreas Kling  <kling@webkit.org>
1849
1850         CSS: Remove empty value and rule destructors.
1851         <http://webkit.org/b/71901>
1852
1853         Reviewed by Antti Koivisto.
1854
1855         * css/CSSAspectRatioValue.h:
1856         * css/CSSBorderImageSliceValue.h:
1857         (WebCore::CSSBorderImageSliceValue::create):
1858         * css/CSSBorderImageValue.h:
1859         (WebCore::CSSBorderImageValue::create):
1860         * css/CSSCharsetRule.cpp:
1861         * css/CSSCharsetRule.h:
1862         * css/CSSCrossfadeValue.h:
1863         * css/CSSFlexValue.h:
1864         * css/CSSFontFaceSrcValue.h:
1865         * css/CSSFunctionValue.h:
1866         * css/CSSPageRule.cpp:
1867         * css/CSSPageRule.h:
1868         * css/CSSUnicodeRangeValue.h:
1869         * css/CSSValueList.h:
1870         * css/WebKitCSSFilterValue.h:
1871         * css/WebKitCSSTransformValue.h:
1872
1873 2011-11-09  Andreas Kling  <kling@webkit.org>
1874
1875         CSS: Remove redudant WTF_MAKE_FAST_ALLOCATED macros.
1876         <http://webkit.org/b/71897>
1877
1878         Reviewed by Antti Koivisto.
1879
1880         Everything that inherits from RefCounted<T> is already fast-allocated,
1881         so we don't need this in subclasses.
1882
1883         * css/CSSImageValue.h:
1884         * css/CSSImportRule.h:
1885         * css/WebKitCSSShaderValue.h:
1886
1887 2011-11-09  Igor Oliveira  <igor.oliveira@openbossa.org>
1888
1889         [TextureMapper] Clean up TextureMapperAnimation constructor
1890         https://bugs.webkit.org/show_bug.cgi?id=71892
1891
1892         Remove copyAnimationValue and copyTimingFunction static functions. KeyframeList has
1893         a copy constructor and it does not need anymore these copy functions.
1894
1895         Reviewed by Simon Hausmann.
1896
1897         * platform/graphics/texmap/TextureMapperNode.cpp:
1898         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
1899
1900 2011-11-09  Alexandru Chiculita  <achicu@adobe.com>
1901
1902         [Part 1] Parse the custom() function in -webkit-filter
1903         https://bugs.webkit.org/show_bug.cgi?id=71441
1904
1905         Added code that parses the custom() function. There's no code
1906         for the CSSStyleSelector yet, so the only way to test this was to
1907         check the "styleSheets" rules.
1908
1909         Reviewed by Dean Jackson.
1910
1911         Tests: css3/filters/custom-filter-property-parsing-invalid.html
1912                css3/filters/custom-filter-property-parsing.html
1913
1914         * GNUmakefile.list.am:
1915         * Target.pri:
1916         * WebCore.gypi:
1917         * WebCore.vcproj/WebCore.vcproj:
1918         * WebCore.xcodeproj/project.pbxproj:
1919         * css/CSSComputedStyleDeclaration.cpp:
1920         (WebCore::computedFilter):
1921         * css/CSSParser.cpp:
1922         (WebCore::filterInfoForName):
1923         (WebCore::acceptCommaOperator):
1924         (WebCore::CSSParser::parseCustomFilter):
1925         (WebCore::CSSParser::parseFilter):
1926         * css/CSSParser.h:
1927         * css/CSSStyleSelector.cpp:
1928         (WebCore::filterOperationForType):
1929         (WebCore::CSSStyleSelector::createFilterOperations):
1930         * css/CSSValue.cpp:
1931         (WebCore::CSSValue::cssText):
1932         (WebCore::CSSValue::destroy):
1933         * css/CSSValue.h:
1934         (WebCore::CSSValue::isWebKitCSSShaderValue):
1935         * css/CSSValueKeywords.in:
1936         * css/WebKitCSSFilterValue.cpp:
1937         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
1938         (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
1939         (WebCore::WebKitCSSFilterValue::customCssText):
1940         * css/WebKitCSSFilterValue.h:
1941         * css/WebKitCSSFilterValue.idl:
1942         * css/WebKitCSSShaderValue.h: Added.
1943         (WebCore::WebKitCSSShaderValue::create):
1944         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
1945         * platform/graphics/filters/FilterOperation.h:
1946
1947 2011-11-09  Yury Semikhatsky  <yurys@chromium.org>
1948
1949         Web Inspector: exception in remote front-end load handler due to undefined reference to workerManager
1950         https://bugs.webkit.org/show_bug.cgi?id=71889
1951
1952         Move calls to WorkerManager load handlers into doLoadedDone method which is
1953         called in case of remote front-end too.
1954
1955         Reviewed by Pavel Feldman.
1956
1957         * inspector/front-end/inspector.js:
1958         (WebInspector.loaded):
1959
1960 2011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
1961
1962         Web Inspector: Extract ApplicationCacheModel from ApplicationCacheItemsView.
1963         https://bugs.webkit.org/show_bug.cgi?id=71850
1964
1965         Reviewed by Pavel Feldman.
1966
1967         * WebCore.gypi:
1968         * WebCore.vcproj/WebCore.vcproj:
1969         * inspector/compile-front-end.sh:
1970         * inspector/front-end/ApplicationCacheItemsView.js:
1971         (WebInspector.ApplicationCacheItemsView):
1972         (WebInspector.ApplicationCacheItemsView.prototype._update):
1973         * inspector/front-end/ApplicationCacheModel.js: Added.
1974         (WebInspector.ApplicationCacheModel):
1975         (WebInspector.ApplicationCacheModel.prototype.getApplicationCachesAsync):
1976         (WebInspector.ApplicationCacheDispatcher):
1977         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
1978         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
1979         * inspector/front-end/ResourcesPanel.js:
1980         (WebInspector.ResourcesPanel.prototype.wasShown):
1981         (WebInspector.ResourcesPanel.prototype.reset):
1982         (WebInspector.ResourcesPanel.prototype._populateResourceTree):
1983         (WebInspector.ResourcesPanel.prototype.showApplicationCache):
1984         (WebInspector.ResourcesPanel.prototype._initializeApplicationCacheModel):
1985         * inspector/front-end/WebKit.qrc:
1986         * inspector/front-end/inspector.html:
1987
1988 2011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
1989
1990         Web Inspector: ResourcesPanel should support adding subtitle to any BaseStorageTreeElement.
1991         https://bugs.webkit.org/show_bug.cgi?id=71848
1992
1993         Reviewed by Pavel Feldman.
1994
1995         * inspector/front-end/ResourcesPanel.js:
1996         (WebInspector.BaseStorageTreeElement.prototype.onattach):
1997         (WebInspector.BaseStorageTreeElement.prototype.get displayName):
1998         (WebInspector.BaseStorageTreeElement.prototype._updateDisplayName):
1999         (WebInspector.BaseStorageTreeElement.prototype._updateTitle):
2000         (WebInspector.BaseStorageTreeElement.prototype._updateSubtitle):
2001         (WebInspector.BaseStorageTreeElement.prototype.set titleText):
2002         (WebInspector.BaseStorageTreeElement.prototype.get subtitleText):
2003         (WebInspector.BaseStorageTreeElement.prototype.set subtitleText):
2004         (WebInspector.FrameTreeElement.prototype.frameNavigated):
2005         (WebInspector.FrameTreeElement.prototype.get itemURL):
2006         (WebInspector.FrameTreeElement.prototype.onselect):
2007
2008 2011-11-08  Pavel Feldman  <pfeldman@google.com>
2009
2010         Web Inspector: crash upon InspectorValue serialization that has 0 value / array entry.
2011         https://bugs.webkit.org/show_bug.cgi?id=71806
2012
2013         Reviewed by Yury Semikhatsky.
2014
2015         Test: inspector/elements/resolve-alien-node.html
2016
2017         * inspector/InspectorDOMAgent.cpp:
2018         (WebCore::InspectorDOMAgent::resolveNode):
2019         * inspector/InspectorValues.h:
2020         (WebCore::InspectorObject::setValue):
2021         (WebCore::InspectorObject::setObject):
2022         (WebCore::InspectorObject::setArray):
2023         (WebCore::InspectorArray::pushValue):
2024         (WebCore::InspectorArray::pushObject):
2025         (WebCore::InspectorArray::pushArray):
2026
2027 2011-11-08  Andreas Kling  <kling@webkit.org>
2028
2029         Move CSSPrimitiveValue bitfields up into CSSValue.
2030         <http://webkit.org/b/71835>
2031
2032         Reviewed by Darin Adler.
2033
2034         Move m_type (and rename it to m_primitiveUnitType),
2035         m_hasCachedCSSText and m_isQuirkValue from CSSPrimitiveValue
2036         up into CSSValue to share the space.
2037
2038         This, together with the devirtualization of CSSValue that
2039         happened on <http://webkit.org/b/71666>, reduces the size
2040         of CSSPrimitiveValue by one CPU word.
2041
2042         More specifically, we go from 16 to 12 bytes on 32-bit,
2043         and from 24 to 16 bytes on 64-bit.
2044
2045         * css/CSSPrimitiveValue.cpp:
2046         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2047         (WebCore::CSSPrimitiveValue::init):
2048         (WebCore::CSSPrimitiveValue::cleanup):
2049         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
2050         (WebCore::CSSPrimitiveValue::getStringValue):
2051         (WebCore::CSSPrimitiveValue::getCounterValue):
2052         (WebCore::CSSPrimitiveValue::getRectValue):
2053         (WebCore::CSSPrimitiveValue::getQuadValue):
2054         (WebCore::CSSPrimitiveValue::getRGBColorValue):
2055         (WebCore::CSSPrimitiveValue::getPairValue):
2056         (WebCore::CSSPrimitiveValue::getIdent):
2057         (WebCore::CSSPrimitiveValue::customCssText):
2058         (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
2059         * css/CSSPrimitiveValue.h:
2060         (WebCore::CSSPrimitiveValue::isLength):
2061         (WebCore::CSSPrimitiveValue::primitiveType):
2062         (WebCore::CSSPrimitiveValue::setPrimitiveType):
2063         (WebCore::CSSPrimitiveValue::getCounterValue):
2064         (WebCore::CSSPrimitiveValue::getRectValue):
2065         (WebCore::CSSPrimitiveValue::getQuadValue):
2066         (WebCore::CSSPrimitiveValue::getRGBA32Value):
2067         (WebCore::CSSPrimitiveValue::getPairValue):
2068         (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
2069         (WebCore::CSSPrimitiveValue::getShapeValue):
2070         * css/CSSPrimitiveValueMappings.h:
2071         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2072         (WebCore::CSSPrimitiveValue::operator short):
2073         (WebCore::CSSPrimitiveValue::operator unsigned short):
2074         (WebCore::CSSPrimitiveValue::operator int):
2075         (WebCore::CSSPrimitiveValue::operator unsigned):
2076         (WebCore::CSSPrimitiveValue::operator float):
2077         (WebCore::CSSPrimitiveValue::operator ColumnSpan):
2078         * css/CSSValue.h:
2079         (WebCore::CSSValue::CSSValue):
2080
2081 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
2082
2083         De-virtualize JSObject::defineOwnProperty
2084         https://bugs.webkit.org/show_bug.cgi?id=71429
2085
2086         Reviewed by Geoffrey Garen.
2087
2088         No new tests.
2089
2090         Added defineOwnProperty to the MethodTable, changed all the virtual 
2091         implementations of defineOwnProperty to static ones, and replaced 
2092         all call sites with corresponding lookups in the MethodTable.
2093
2094         * bindings/js/JSDOMWindowCustom.cpp:
2095         (WebCore::JSDOMWindow::defineOwnProperty):
2096         * bindings/js/JSDOMWindowShell.cpp:
2097         (WebCore::JSDOMWindowShell::defineOwnProperty):
2098         * bindings/js/JSDOMWindowShell.h:
2099         * bindings/scripts/CodeGeneratorJS.pm:
2100         (GenerateHeader):
2101
2102 2011-11-09  Kentaro Hara  <haraken@chromium.org>
2103
2104         Make [CanBeConstructed] IDL redundant
2105         https://bugs.webkit.org/show_bug.cgi?id=71871
2106
2107         Reviewed by Adam Barth.
2108
2109         As the first step to remove [CanBeConstructed] IDL completely,
2110         we need to make [CanBeConstructed] IDL redundant.
2111         This patch replaces '[CanBeConstructed]' in CodeGeneratorV8.pm
2112         with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]',
2113         and replaces '[CanBeConstructed]' in CodeGeneratorJS.pm
2114         with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [JSCustomConstructor]'
2115
2116         An example:
2117             before: '[CanBeConstructed] and ![V8CustomConstructor]'
2118             after: '([CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]) and ![V8CustomConstructor]' <==> '([CanBeConstructed] or [Constructor] or [CustomConstructor]) and ![V8CustomConstructor]'
2119
2120         Tests: bindings/scripts/test/TestObj.idl
2121
2122         * bindings/scripts/CodeGeneratorJS.pm: Modified as I described above.
2123         (GenerateConstructorDeclaration):
2124         (GenerateConstructorDefinition):
2125         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2126         * bindings/scripts/test/JS/JSTestObj.cpp: Updated a run-bindings-tests result.
2127         (WebCore::JSTestObjConstructor::constructJSTestObj):
2128         (WebCore::JSTestObjConstructor::getConstructData):
2129         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
2130         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
2131         (WebCore::V8TestObj::constructorCallback):
2132
2133 2011-11-09  Nikolas Zimmermann  <nzimmermann@rim.com>
2134
2135         svg failures after r99561
2136         https://bugs.webkit.org/show_bug.cgi?id=71830
2137
2138         Reviewed by Antti Koivisto.
2139
2140         Fix regressions in svg/zoom/page/relative-sized-document-scrollbars.svg and svg/zoom/page/zoom-svg-as-relative-image.html.
2141         Fix merging problem in r99561, bug 71780. It moved several methods from SVGLength to SVGLengthContext, and unfortunately
2142         the SVGLength changes part of r98852, bug 47156, got reverted again, making these two tests fail.
2143
2144         * svg/SVGLengthContext.cpp:
2145         (WebCore::SVGLengthContext::determineViewport):
2146
2147 2011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
2148
2149         Select multiple options with mouse drag in Select element.
2150         https://bugs.webkit.org/show_bug.cgi?id=71128
2151
2152         Reviewed by Ryosuke Niwa.
2153
2154         Multiple selection of option elements in select element with an mouse drag.
2155         Other browsers(IE, Firefox, Opera) support this feature.
2156
2157         Test: fast/forms/select-multiple-elements-with-mouse-drag.html
2158
2159         * page/EventHandler.cpp:
2160         (WebCore::EventHandler::handleMouseDraggedEvent):
2161         Allow auto scroll to be fired if current node(option) under mouse does not have renderer
2162         but its container node(select) can autoscroll and has renderer for specific case of ListBox
2163
2164 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
2165
2166         [Qt] Build system cleanup
2167         https://bugs.webkit.org/show_bug.cgi?id=71815
2168
2169         Reviewed by Kenneth Rohde Christiansen.
2170
2171         * Target.pri: Removed CodeGenHSL.cpp from the angle build. In the angle build the back-end has to
2172         be either GLSL or HSL, it can't be both. Make a choice for GLSL as that's what it seems to be used for
2173         at the moment.
2174
2175 2011-11-09  Mark Rowe  <mrowe@apple.com>
2176
2177         Fix the build.
2178
2179         * WebCore.exp.in: Export the right symbol names.
2180         * WebCore.xcodeproj/project.pbxproj: Make the header file available outside of WebCore.
2181
2182 2011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>
2183
2184         [Qt] Replace use of QApplication with QGuiApplication
2185         https://bugs.webkit.org/show_bug.cgi?id=71794
2186
2187         Reviewed by Andreas Kling.
2188
2189         * Target.pri: Add compat include dir when compiling with Qt 4.
2190         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
2191         (FullScreenVideoWindow::closeEvent): Replace use of QApplication with QGuiApplication.
2192         (FullScreenVideoWindow::hideCursor): Ditto.
2193         (FullScreenVideoWindow::showCursor): Ditto.
2194         * platform/graphics/qt/TileQt.cpp: Remove unnecessary inclusion of QApplication.
2195         * platform/qt/ClipboardQt.cpp: Replace use of QApplication with QGuiApplication.
2196         (WebCore::ClipboardQt::ClipboardQt):
2197         (WebCore::ClipboardQt::clearData):
2198         (WebCore::ClipboardQt::clearAllData):
2199         (WebCore::ClipboardQt::setData):
2200         (WebCore::ClipboardQt::declareAndWriteDragImage):
2201         (WebCore::ClipboardQt::writeURL):
2202         (WebCore::ClipboardQt::writeRange):
2203         (WebCore::ClipboardQt::writePlainText):
2204         * platform/qt/PasteboardQt.cpp: Ditto.
2205         (WebCore::Pasteboard::writeSelection):
2206         (WebCore::Pasteboard::canSmartReplace):
2207         (WebCore::Pasteboard::plainText):
2208         (WebCore::Pasteboard::documentFragment):
2209         (WebCore::Pasteboard::writePlainText):
2210         (WebCore::Pasteboard::writeURL):
2211         (WebCore::Pasteboard::writeImage):
2212
2213 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
2214
2215         Mac Build fix part 2: Oops, use the correct wtf/ prefix for the WTF include.
2216
2217         * page/SecurityPolicy.cpp:
2218
2219 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
2220
2221         Prospective build fix for Windows: Include MainThread.h for ASSERT(isMainThread())
2222         to compile.
2223
2224         * page/SecurityPolicy.cpp:
2225
2226 2011-11-07  Adam Barth  <abarth@webkit.org>
2227
2228         Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
2229         https://bugs.webkit.org/show_bug.cgi?id=71755
2230
2231         Reviewed by Eric Seidel.
2232
2233         The SecurityOrigin class should be focused on representing a web
2234         security origin rather than being a dumping ground for all
2235         security-related state.  This patch moves a bunch of static "policy"
2236         state into its own SecurityPolicy class.
2237
2238         * WebCore.exp.in:
2239         * WebCore.gypi:
2240         * dom/Document.cpp:
2241         (WebCore::Document::initSecurityContext):
2242         * html/HTMLAnchorElement.cpp:
2243         (WebCore::HTMLAnchorElement::handleClick):
2244         * loader/FrameLoader.cpp:
2245         (WebCore::FrameLoader::loadFrameRequest):
2246         (WebCore::FrameLoader::loadResourceSynchronously):
2247         * loader/PingLoader.cpp:
2248         (WebCore::PingLoader::loadImage):
2249         (WebCore::PingLoader::sendPing):
2250         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
2251         * loader/SubframeLoader.cpp:
2252         (WebCore::SubframeLoader::loadSubframe):
2253         * loader/SubresourceLoader.cpp:
2254         (WebCore::SubresourceLoader::create):
2255         * page/SecurityOrigin.cpp:
2256         (WebCore::SecurityOrigin::canRequest):
2257         (WebCore::SecurityOrigin::canDisplay):
2258         (WebCore::SecurityOrigin::grantLoadLocalResources):
2259         * page/SecurityOrigin.h:
2260
2261 2011-11-08  Antaryami Pandia  <antaryami.pandia@motorola.com>
2262
2263         Default <select multiple> expands up to 10 items instead of showing 4.
2264         https://bugs.webkit.org/show_bug.cgi?id=70765
2265
2266         Reviewed by Darin Adler.
2267
2268         Tests: fast/forms/select-clientheight-large-size.html
2269                fast/forms/select-clientheight-with-multiple-attr.html
2270
2271         * rendering/RenderListBox.cpp:
2272         (WebCore::RenderListBox::size):
2273
2274 2011-11-08  Chris Evans  <cevans@google.com>
2275
2276         Crash accessing font fact rule parent
2277         https://bugs.webkit.org/show_bug.cgi?id=71860
2278
2279         Reviewed by Adam Barth.
2280
2281         Test: fast/css/css-fontface-rule-crash.html
2282
2283         * css/CSSFontFaceRule.cpp:
2284         (WebCore::CSSFontFaceRule::~CSSFontFaceRule): tell our child rule when we are going away.
2285
2286 2011-11-08  Adam Klein  <adamk@chromium.org>
2287
2288         Use a typedef for ExceptionCode in all header files instead of including ExceptionCode.h
2289         https://bugs.webkit.org/show_bug.cgi?id=71845
2290
2291         Reviewed by Adam Barth.
2292
2293         Some headers in WebCore include ExceptionCode.h to get the ExceptionCode typedef,
2294         while others provide the typedef themselves. Per Darin, the latter is preferred,
2295         so this patch updates all references, and fixes up .cpp files that
2296         need the include in order to access the enum.
2297
2298         * bindings/js/JSSVGLengthCustom.cpp:
2299         * bindings/scripts/CodeGeneratorJS.pm:
2300         (GenerateImplementation): #include ExceptionCode.h when needed for SVG.
2301         * bindings/scripts/CodeGeneratorObjC.pm:
2302         (GenerateImplementation): #include ExceptionCode.h when needed for SVG.
2303         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2304         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2305         * css/WebKitCSSMatrix.h:
2306         * fileapi/DirectoryReaderSync.h:
2307         * fileapi/EntrySync.h:
2308         * fileapi/FileReader.h:
2309         * fileapi/FileReaderSync.h:
2310         * fileapi/SyncCallbackHelper.h:
2311         * html/ClassList.h:
2312         * html/DOMSettableTokenList.h:
2313         * html/DOMTokenList.cpp:
2314         * html/DOMTokenList.h:
2315         * html/TextTrack.cpp:
2316         * html/TextTrack.h:
2317         * html/TimeRanges.cpp:
2318         * html/TimeRanges.h:
2319         * html/canvas/ArrayBuffer.cpp:
2320         * html/canvas/ArrayBuffer.h:
2321         * html/canvas/ArrayBufferView.cpp:
2322         * html/canvas/ArrayBufferView.h:
2323         * html/canvas/DataView.cpp:
2324         * html/canvas/DataView.h:
2325         * html/canvas/OESVertexArrayObject.h:
2326         * html/canvas/WebGLDebugShaders.h:
2327         * html/canvas/WebGLRenderingContext.cpp:
2328         * html/canvas/WebGLRenderingContext.h:
2329         * mediastream/MediaStreamFrameController.cpp:
2330         * mediastream/MediaStreamFrameController.h:
2331         * notifications/Notification.h:
2332         * notifications/NotificationCenter.h:
2333         * storage/AbstractDatabase.cpp:
2334         * storage/AbstractDatabase.h:
2335         * storage/Database.h:
2336         * storage/DatabaseSync.h:
2337         * storage/DatabaseTask.h:
2338         * storage/IDBCursor.h:
2339         * storage/IDBCursorBackendInterface.h:
2340         * storage/IDBDatabase.h:
2341         * storage/IDBDatabaseBackendInterface.h:
2342         * storage/IDBFactory.h:
2343         * storage/IDBFactoryBackendInterface.h:
2344         * storage/IDBIndexBackendInterface.h:
2345         * storage/IDBKeyRange.h:
2346         * storage/IDBObjectStoreBackendInterface.h:
2347         * storage/IDBRequest.h:
2348         * storage/IDBTransactionBackendInterface.h:
2349         * storage/SQLResultSet.cpp:
2350         * storage/SQLResultSet.h:
2351         * storage/SQLStatementSync.h:
2352         * storage/SQLTransaction.cpp:
2353         * storage/SQLTransaction.h:
2354         * storage/SQLTransactionSync.h:
2355         * svg/ElementTimeControl.h:
2356         * svg/SVGAngle.cpp:
2357         * svg/SVGAngle.h:
2358         * svg/SVGLength.cpp:
2359         * svg/SVGLength.h:
2360         * svg/SVGLengthContext.cpp:
2361         * svg/SVGLengthContext.h:
2362         * svg/SVGLocatable.h:
2363         * svg/SVGMatrix.h:
2364         * svg/SVGPreserveAspectRatio.cpp:
2365         * svg/SVGPreserveAspectRatio.h:
2366         * testing/Internals.h:
2367         * webaudio/AudioContext.cpp:
2368         * workers/DefaultSharedWorkerRepository.cpp:
2369         * workers/DefaultSharedWorkerRepository.h:
2370         * workers/SharedWorkerRepository.h:
2371
2372 2011-11-08  Kentaro Hara  <haraken@chromium.org>
2373
2374         CodeGeneratorV8.pm can generate a NamedConstructor
2375         https://bugs.webkit.org/show_bug.cgi?id=71756
2376
2377         Reviewed by Adam Barth.
2378
2379         - IDLParser.pm can parse [NamedConstructor] IDL.
2380         - CodeGeneratorV8.pm can generate a NamedConstructor
2381         and a template getter for the NamedConstructor.
2382         - Added a new binding test named TestNamedConstructor.idl.
2383
2384         Tests: WebCore/bindings/scripts/test/TestNamedConstructor.idl
2385
2386         * bindings/scripts/CodeGeneratorV8.pm:
2387         (GenerateHeader): Generates a header for a NamedConstructor.
2388         (GenerateNamedConstructorCallback): Generates the NamedConstructor and a template getter for the NamedConstructor.
2389         (GenerateSingleBatchedAttribute): If an IDL type is "XXXXConstructorConstructor", then we do not add a header file of XXXXConstructor, because the XXXXConstructor declaration is written in the header file of class XXXX.
2390         * bindings/scripts/IDLParser.pm:
2391         (parseExtendedAttributes): Parses 'NamedConstructor' '=' name '(' parameters ')' ','?
2392         (ParseInterface): Creates the signature of a NamedConstructor.
2393         * bindings/scripts/test/TestNamedConstructor.idl: Added a new test for the [NamedConstructor] IDL.
2394         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Added a run-binding-test result of TestNamedConstructor.idl.
2395         (WebDOMTestNamedConstructor::WebDOMTestNamedConstructorPrivate::WebDOMTestNamedConstructorPrivate):
2396         (WebDOMTestNamedConstructor::WebDOMTestNamedConstructor):
2397         (WebDOMTestNamedConstructor::operator=):
2398         (WebDOMTestNamedConstructor::impl):
2399         (WebDOMTestNamedConstructor::~WebDOMTestNamedConstructor):
2400         (toWebCore):
2401         (toWebKit):
2402         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Ditto.
2403         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp: Ditto.
2404         (WebKit::kit):
2405         (WebKit::core):
2406         (webkit_dom_test_named_constructor_finalize):
2407         (webkit_dom_test_named_constructor_set_property):
2408         (webkit_dom_test_named_constructor_get_property):
2409         (webkit_dom_test_named_constructor_constructed):
2410         (webkit_dom_test_named_constructor_class_init):
2411         (webkit_dom_test_named_constructor_init):
2412         (WebKit::wrapTestNamedConstructor):
2413         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h: Ditto.
2414         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h: Ditto.
2415         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
2416         (WebCore::JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor):
2417         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
2418         (WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
2419         (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
2420         (WebCore::JSTestNamedConstructorPrototype::self):
2421         (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
2422         (WebCore::JSTestNamedConstructor::finishCreation):
2423         (WebCore::JSTestNamedConstructor::createPrototype):
2424         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
2425         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
2426         (WebCore::jsTestNamedConstructorConstructor):
2427         (WebCore::JSTestNamedConstructor::getConstructor):
2428         (WebCore::isObservable):
2429         (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
2430         (WebCore::JSTestNamedConstructorOwner::finalize):
2431         (WebCore::toJS):
2432         (WebCore::toTestNamedConstructor):
2433         * bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
2434         (WebCore::JSTestNamedConstructor::create):
2435         (WebCore::JSTestNamedConstructor::createStructure):
2436         (WebCore::JSTestNamedConstructor::impl):
2437         (WebCore::wrapperOwner):
2438         (WebCore::wrapperContext):
2439         (WebCore::JSTestNamedConstructorPrototype::create):
2440         (WebCore::JSTestNamedConstructorPrototype::createStructure):
2441         (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
2442         (WebCore::JSTestNamedConstructorConstructor::create):
2443         (WebCore::JSTestNamedConstructorConstructor::createStructure):
2444         * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Ditto.
2445         * bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Ditto.
2446         (-[DOMTestNamedConstructor dealloc]):
2447         (-[DOMTestNamedConstructor finalize]):
2448         (core):
2449         (kit):
2450         * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Ditto.
2451         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
2452         (WebCore::TestNamedConstructorInternal::V8_USE):
2453         (WebCore::V8TestNamedConstructorConstructorCallback):
2454         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2455         (WebCore::ConfigureV8TestNamedConstructorTemplate):
2456         (WebCore::V8TestNamedConstructor::GetRawTemplate):
2457         (WebCore::V8TestNamedConstructor::GetTemplate):
2458         (WebCore::V8TestNamedConstructor::HasInstance):
2459         (WebCore::V8TestNamedConstructor::toActiveDOMObject):
2460         (WebCore::V8TestNamedConstructor::wrapSlow):
2461         (WebCore::V8TestNamedConstructor::derefObject):
2462         * bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
2463         (WebCore::V8TestNamedConstructor::toNative):
2464         (WebCore::V8TestNamedConstructor::existingWrapper):
2465         (WebCore::V8TestNamedConstructor::wrap):
2466         (WebCore::toV8):
2467         * page/DOMWindow.idl: Added [CustomConstructor] IDL to HTMLAudioElement, HTMLImageElement and HTMLOptionElement.
2468
2469 2011-11-08  Philip Rogers  <pdr@google.com>
2470
2471         fix REGRESSION: SVG feColorMatrix causes crash
2472         https://bugs.webkit.org/show_bug.cgi?id=71287
2473
2474         Reviewed by Simon Fraser.
2475
2476         Test: svg/filters/feColorMatrix-invalid-animation.svg
2477
2478         * svg/SVGAnimatedNumberList.cpp:
2479         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
2480
2481 2011-11-08  Scott Graham  <scottmg@chromium.org>
2482
2483         Add support for arrays of numbers to IDL bindings code generator
2484         https://bugs.webkit.org/show_bug.cgi?id=71763
2485
2486         Adds support for float[] and double[] to IDL. Support for other types
2487         appears to be more complicated (or at least more copy-paste) so not
2488         doing that for now for lack of need.
2489
2490         Reviewed by Adam Barth.
2491
2492         Tests added to TestObj.idl.
2493
2494         * bindings/scripts/CodeGeneratorV8.pm:
2495         (IsRefPtrType):
2496         (GetNativeType):
2497         (JSValueToNative):
2498         (NativeToJSValue):
2499         * bindings/scripts/test/TestObj.idl:
2500         * bindings/scripts/test/V8/V8TestObj.cpp:
2501         (WebCore::TestObjInternal::floatArrayAttrGetter):
2502         (WebCore::TestObjInternal::floatArrayAttrSetter):
2503         (WebCore::TestObjInternal::doubleArrayAttrGetter):
2504         (WebCore::TestObjInternal::doubleArrayAttrSetter):
2505         * bindings/v8/V8Binding.h:
2506         (WebCore::v8NumberArray):
2507         (WebCore::v8NumberArrayToVector):
2508
2509 2011-11-08  Dan Bernstein  <mitz@apple.com>
2510
2511         REGRESSION (r99613): Incomplete painting of the root element background in flipped blocks writing mode
2512         https://bugs.webkit.org/show_bug.cgi?id=71863
2513
2514         Reviewed by Anders Carlsson.
2515
2516         * rendering/RenderBox.cpp:
2517         (WebCore::RenderBox::paintRootBoxFillLayers): Instead of unconditionally flipping the background
2518         rect here...
2519         * rendering/RenderView.cpp:
2520         (WebCore::RenderView::backgroundRect): ...flip it only in column mode here.
2521         * rendering/RenderView.h:
2522
2523 2011-11-08  Michael Saboff  <msaboff@apple.com>
2524
2525         Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
2526         https://bugs.webkit.org/show_bug.cgi?id=71761
2527
2528         Cleaned up SourceCode data() to return StringImpl* and eliminated
2529         the recently added stringData() virtual method.
2530
2531         No tests added - refactored base class SourceCode and its subclasses.
2532
2533         * bindings/js/CachedScriptSourceProvider.h:
2534         (WebCore::CachedScriptSourceProvider::data):
2535         * bindings/js/ScriptDebugServer.cpp:
2536         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2537         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
2538         * bindings/js/StringSourceProvider.h:
2539         (WebCore::StringSourceProvider::data):
2540
2541 2011-11-08  Xiaomei Ji  <xji@chromium.org>
2542
2543         REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
2544         https://bugs.webkit.org/show_bug.cgi?id=70395
2545
2546         Reviewed by Tony Chang.
2547
2548         Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
2549         to be correct for RTL page as well, which is checking either the scroll position change or
2550         the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).
2551
2552         And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
2553         the pass-in offset is adjusted within the current scroll range, it could be the same as
2554         m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old 
2555         scroll range, but scolling is still needed when page resize and scroll range changes.
2556
2557         Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html
2558
2559         * platform/ScrollAnimator.cpp:
2560         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
2561         * platform/ScrollView.cpp:
2562         (WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
2563         correct for RTL pages as well.
2564         * platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
2565         (WebCore::ScrollableArea::ScrollableArea):
2566         (WebCore::ScrollableArea::setScrollOrigin):
2567         (WebCore::ScrollableArea::setScrollOriginX):
2568         (WebCore::ScrollableArea::setScrollOriginY):
2569         * platform/ScrollableArea.h: Add m_scrollOriginChanged.
2570         (WebCore::ScrollableArea::scrollOriginChanged):
2571         (WebCore::ScrollableArea::resetScrollOriginChanged):
2572
2573 2011-11-08  Dan Bernstein  <mitz@apple.com>
2574
2575         <rdar://problem/10262225> Allow RenderView to have columns
2576         https://bugs.webkit.org/show_bug.cgi?id=71840
2577
2578         Reviewed by Simon Fraser.
2579
2580         Tests: fast/multicol/pagination-h-horizontal-bt.html
2581                fast/multicol/pagination-h-horizontal-tb.html
2582                fast/multicol/pagination-h-vertical-lr.html
2583                fast/multicol/pagination-h-vertical-rl.html
2584                fast/multicol/pagination-v-horizontal-bt.html
2585                fast/multicol/pagination-v-horizontal-tb.html
2586                fast/multicol/pagination-v-vertical-lr.html
2587                fast/multicol/pagination-v-vertical-rl.html
2588
2589         * WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
2590         * css/CSSStyleSelector.cpp:
2591         (WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
2592         document style if the view is paginated.
2593         * page/Page.cpp:
2594         (WebCore::Page::setPagination): Added this setter.
2595         * page/Page.h:
2596         (WebCore::Page::Pagination::Pagination):
2597         (WebCore::Page::pagination): Added this getter.
2598         * rendering/RenderBlock.cpp:
2599         (WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
2600         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
2601         * rendering/RenderBlock.h:
2602         * rendering/RenderBox.cpp:
2603         (WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
2604         instead of unscaledDocumentRect().
2605         * rendering/RenderView.cpp:
2606         (WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
2607         is paginated.
2608         (WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
2609         across all columns.
2610         * rendering/RenderView.h:
2611         * testing/Internals.cpp:
2612         (WebCore::Internals::reset): Also reset pagination.
2613         (WebCore::Internals::setPagination): Added this setter for testing.
2614         * testing/Internals.h:
2615         * testing/Internals.idl:
2616
2617 2011-11-08  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
2618
2619         Document.importNode's 'deep' argument should default to true.
2620         https://bugs.webkit.org/show_bug.cgi?id=71190
2621
2622         Reviewed by Adam Barth.
2623
2624         As new specification says deep argument of importNode should be default to true.
2625
2626         Test: fast/dom/document-importNode-arguments.html
2627
2628         * dom/Document.h: Added supportive method.
2629         (WebCore::Document::importNode):
2630         * dom/Document.idl: Modified deep argument as optional.
2631
2632 2011-11-08  Adam Klein  <adamk@chromium.org>
2633
2634         WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments
2635         https://bugs.webkit.org/show_bug.cgi?id=71596
2636
2637         Reviewed by Ryosuke Niwa.
2638
2639         Adds two cases where WebKitMutationObserver.observe throws an exception:
2640           - When passed a null Node*.
2641           - When passed options that don't make sense, e.g.,
2642             'attributeOldValue' but not 'attributes'.
2643
2644         * bindings/js/JSWebKitMutationObserverCustom.cpp:
2645         (WebCore::JSWebKitMutationObserver::observe):
2646         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
2647         (WebCore::V8WebKitMutationObserver::observeCallback):
2648         * dom/WebKitMutationObserver.cpp:
2649         (WebCore::WebKitMutationObserver::validateOptions):
2650         (WebCore::WebKitMutationObserver::observe):
2651         * dom/WebKitMutationObserver.h:
2652         * dom/WebKitMutationObserver.idl:
2653
2654 2011-11-08  Joshua Bell  <jsbell@chromium.org>
2655
2656         IndexedDB: implement compound (array) key support
2657         https://bugs.webkit.org/show_bug.cgi?id=62284
2658
2659         Reviewed by Tony Chang.
2660
2661         Add support for Array values as IDBKeys. (Multirow indexes are still
2662         not yet supported.)
2663
2664         Tests: storage/indexeddb/cursor-key-order.html
2665                storage/indexeddb/key-type-array.html
2666
2667         * bindings/js/JSIDBKeyCustom.cpp:
2668         (WebCore::toJS):
2669         * bindings/v8/IDBBindingUtilities.cpp:
2670         (WebCore::createIDBKeyFromValue):
2671         * bindings/v8/custom/V8IDBKeyCustom.cpp:
2672         (WebCore::toV8):
2673         * storage/IDBKey.cpp:
2674         (WebCore::IDBKey::compare):
2675         * storage/IDBKey.h:
2676         (WebCore::IDBKey::createArray):
2677         (WebCore::IDBKey::valid):
2678         (WebCore::IDBKey::array):
2679         (WebCore::IDBKey::compareTypes):
2680         * storage/IDBLevelDBCoding.cpp:
2681         (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
2682         (WebCore::IDBLevelDBCoding::encodeIDBKey):
2683         (WebCore::IDBLevelDBCoding::decodeIDBKey):
2684         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
2685         (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
2686         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
2687         * storage/IDBLevelDBCoding.h:
2688
2689 2011-11-08  Daniel Bates  <dbates@webkit.org>
2690
2691         Remove get() defined in CredentialStorageQt.cpp
2692         https://bugs.webkit.org/show_bug.cgi?id=71829
2693
2694         Reviewed by Andreas Kling.
2695
2696         CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
2697         provides the base implementation for each platform. We shouldn't re-define
2698         CredentialStorage::get() in CredentialStorageQt.cpp.
2699
2700         * Target.pri: Add files CredentialStorage.{cpp, h}.
2701         * platform/network/qt/CredentialStorageQt.cpp:
2702
2703 2011-11-08  Joshua Bell  <jsbell@chromium.org>
2704
2705         IndexedDB: reference cycle between IDBDatabase and IDBTransaction
2706         https://bugs.webkit.org/show_bug.cgi?id=71749
2707
2708         Reviewed by Tony Chang.
2709
2710         Break a cyclic reference leak following a setVersion call.
2711
2712         * storage/IDBDatabase.cpp:
2713         (WebCore::IDBDatabase::setVersionChangeTransaction):
2714         (WebCore::IDBDatabase::clearVersionChangeTransaction):
2715         (WebCore::IDBDatabase::createObjectStore):
2716         (WebCore::IDBDatabase::deleteObjectStore):
2717         * storage/IDBDatabase.h:
2718         * storage/IDBRequest.cpp:
2719         (WebCore::IDBRequest::onSuccess):
2720         * storage/IDBTransaction.cpp:
2721         (WebCore::IDBTransaction::create):
2722         (WebCore::IDBTransaction::onAbort):
2723         (WebCore::IDBTransaction::onComplete):
2724
2725 2011-11-08  Daniel Bates  <dbates@webkit.org>
2726
2727         Remove get() defined in CredentialStorageSoup.cpp
2728         https://bugs.webkit.org/show_bug.cgi?id=71825
2729
2730         Reviewed by Martin Robinson.
2731
2732         CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
2733         provides the base implementation for each platform. We shouldn't re-define
2734         CredentialStorage::get() in CredentialStorageSoup.cpp.
2735
2736         * GNUmakefile.list.am: Add source file CredentialStorage.cpp.
2737         * platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
2738         CredentialStorage::get() is defined in CredentialStorage.cpp.
2739
2740 2011-11-08  Roland Steiner  <rolandsteiner@chromium.org>
2741
2742         Rename CSS document() -> findDocument(), to indicate tree climbing
2743         https://bugs.webkit.org/show_bug.cgi?id=71764
2744
2745         Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().
2746
2747         Reviewed by Darin Adler.
2748
2749         No new tests. (simple refactoring)
2750
2751         * css/CSSGrammar.y:
2752         * css/CSSImportRule.cpp:
2753         (WebCore::CSSImportRule::setCSSStyleSheet):
2754         (WebCore::CSSImportRule::requestStyleSheet):
2755         * css/CSSMutableStyleDeclaration.cpp:
2756         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2757         * css/CSSParser.cpp:
2758         (WebCore::parseColorValue):
2759         (WebCore::parseSimpleLengthValue):
2760         (WebCore::CSSParser::setStyleSheet):
2761         (WebCore::CSSParser::findDocument):
2762         (WebCore::CSSParser::parseAttr):
2763         * css/CSSParser.h:
2764         * css/CSSStyleRule.cpp:
2765         (WebCore::CSSStyleRule::setSelectorText):
2766         * css/CSSStyleSheet.cpp:
2767         (WebCore::CSSStyleSheet::cssRules):
2768         (WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
2769         (WebCore::CSSStyleSheet::findDocument):
2770         (WebCore::CSSStyleSheet::styleSheetChanged):
2771         * css/CSSStyleSheet.h:
2772         * inspector/InspectorCSSAgent.cpp:
2773         (WebCore::InspectorCSSAgent::bindStyleSheet):
2774         * inspector/InspectorStyleSheet.cpp:
2775         (WebCore::InspectorStyleSheet::ownerDocument):
2776         * page/PageSerializer.cpp:
2777         (WebCore::PageSerializer::serializeCSSStyleSheet):
2778         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
2779
2780 2011-11-07  Ryosuke Niwa  <rniwa@webkit.org>
2781
2782         Indent command can insert block quote in non editable content
2783         https://bugs.webkit.org/show_bug.cgi?id=71754
2784
2785         Reviewed by Enrica Casucci.
2786
2787         The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
2788         not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
2789         outerNode even if it was body. Fixed those bugs.
2790
2791         Test: editing/execCommand/indent-images.html
2792               editing/execCommand/indent-images-2.html
2793               editing/execCommand/indent-images-3.html
2794
2795         * editing/CompositeEditCommand.cpp:
2796         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2797         * editing/IndentOutdentCommand.cpp:
2798         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
2799
2800 2011-11-08  Adam Klein  <adamk@chromium.org>
2801
2802         Only walk up the tree in search of MutationObservers if one has been added
2803         https://bugs.webkit.org/show_bug.cgi?id=71499
2804
2805         Reviewed by Ojan Vafai.
2806
2807         Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
2808         to Document that keeps track of which observer types have been added.
2809         This allows us to avoid doing any extra work if MutationObservers are
2810         not attached to a document.
2811
2812         This could be improved upon to keep a count of each type, as removing
2813         an observer currently has no effect on m_subtreeMutationObserverTypes.
2814         But that would require a more complex implementation: one counter per
2815         mutation type. And it would be easier to get wrong: if the counter
2816         gets out of sync with the actual state of the DOM, we could start
2817         dropping mutation notifications.
2818
2819         Test: fast/mutation/cross-document.html
2820
2821         * dom/Document.h:
2822         (WebCore::Document::hasSubtreeMutationObserverOfType):
2823         (WebCore::Document::hasSubtreeMutationObserver):
2824         (WebCore::Document::addSubtreeMutationObserverTypes):
2825         * dom/MutationObserverRegistration.h:
2826         (WebCore::MutationObserverRegistration::isSubtree):
2827         (WebCore::MutationObserverRegistration::deliveryOptions):
2828         (WebCore::MutationObserverRegistration::mutationTypes):
2829         * dom/Node.cpp:
2830         (WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
2831         (WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
2832         (WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
2833         * dom/WebKitMutationObserver.cpp:
2834         (WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
2835         * dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum
2836
2837 2011-11-08  Andreas Kling  <kling@webkit.org>
2838
2839         Devirtualize CSSValue.
2840         <http://webkit.org/b/71666>
2841
2842         Reviewed by Antti Koivisto.
2843
2844         Make the CSSValue destructor non-virtual (along with all the subclasses.)
2845         This removes the vtables, and the pointers thereto in each value instance,
2846         shrinking each object by one CPU word (4 or 8 bytes.)
2847
2848         We use the same trick as CSSRule to implement destruction; providing our
2849         own deref() instead of RefCounted's, and performing a statically typed
2850         delete in a destroy() method called when the ref count reaches 0.
2851
2852         Also made all the empty subclass destructors inline.
2853
2854         * css/CSSAspectRatioValue.cpp:
2855         * css/CSSAspectRatioValue.h:
2856         (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
2857         * css/CSSBorderImageSliceValue.cpp:
2858         * css/CSSBorderImageSliceValue.h:
2859         (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
2860         * css/CSSBorderImageValue.cpp:
2861         * css/CSSBorderImageValue.h:
2862         (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
2863         * css/CSSCanvasValue.h:
2864         * css/CSSCrossfadeValue.cpp:
2865         * css/CSSCrossfadeValue.h:
2866         (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
2867         * css/CSSCursorImageValue.h:
2868         * css/CSSFlexValue.cpp:
2869         * css/CSSFlexValue.h:
2870         (WebCore::CSSFlexValue::~CSSFlexValue):
2871         * css/CSSFontFaceSrcValue.cpp:
2872         * css/CSSFontFaceSrcValue.h:
2873         (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
2874         * css/CSSFunctionValue.cpp:
2875         * css/CSSFunctionValue.h:
2876         (WebCore::CSSFunctionValue::~CSSFunctionValue):
2877         * css/CSSImageGeneratorValue.h:
2878         * css/CSSImageValue.h:
2879         * css/CSSMutableValue.h:
2880         (WebCore::CSSMutableValue::~CSSMutableValue):
2881         * css/CSSParserValues.h:
2882         * css/CSSPrimitiveValue.h:
2883         * css/CSSUnicodeRangeValue.cpp:
2884         * css/CSSUnicodeRangeValue.h:
2885         (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
2886         * css/CSSValue.cpp:
2887         (WebCore::CSSValue::destroy):
2888         * css/CSSValue.h:
2889         (WebCore::CSSValue::deref):
2890         (WebCore::CSSValue::~CSSValue):
2891         * css/CSSValueList.cpp:
2892         * css/CSSValueList.h:
2893         (WebCore::CSSValueList::~CSSValueList):
2894         * css/WebKitCSSFilterValue.cpp:
2895         * css/WebKitCSSFilterValue.h:
2896         (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
2897         * css/WebKitCSSTransformValue.cpp:
2898         * css/WebKitCSSTransformValue.h:
2899         (WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):
2900
2901 2011-11-08  Darin Adler  <darin@apple.com>
2902
2903         Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding
2904         https://bugs.webkit.org/show_bug.cgi?id=71828
2905
2906         Reviewed by Nate Chapin.
2907
2908         No new tests; not sure how to reproduce this, but crash traces indicate it
2909         is an otherwise-harmless null dereference.
2910
2911         * loader/DocumentWriter.cpp:
2912         (WebCore::DocumentWriter::deprecatedFrameEncoding):
2913         Handle null document the same as a document without a URL.
2914
2915 2011-11-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2916
2917         Unreviewed, rolling out r95720.
2918         http://trac.webkit.org/changeset/95720
2919         https://bugs.webkit.org/show_bug.cgi?id=71831
2920
2921         This has made the menulists on WebKit patch reviews much less
2922         usable (Requested by mrobinson on #webkit).
2923
2924         * platform/gtk/GtkPopupMenu.cpp:
2925         (WebCore::GtkPopupMenu::menuPositionFunction):
2926
2927 2011-11-08  Nico Weber  <thakis@chromium.org>
2928
2929         [chromium] Remove 6 exit time destructors and 6 static initializers
2930         https://bugs.webkit.org/show_bug.cgi?id=71760
2931
2932         Reviewed by Nate Chapin.
2933
2934         Do this by moving global statics into function-local statics, and using
2935         DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
2936         thread, this is a safe change to make.
2937
2938         No behavior change, so no new tests.
2939
2940         * bindings/v8/ScriptGCEvent.cpp:
2941         (WebCore::sEventListeners):
2942         (WebCore::ScriptGCEvent::addEventListener):
2943         (WebCore::ScriptGCEvent::removeEventListener):
2944         (WebCore::ScriptGCEvent::gcEpilogueCallback):
2945         * bindings/v8/ScriptGCEvent.h:
2946         * bindings/v8/V8NPObject.cpp:
2947         (WebCore::staticTemplateMap):
2948         (WebCore::weakTemplateCallback):
2949         (WebCore::npObjectGetProperty):
2950         (WebCore::staticNPObjectMap):
2951         (WebCore::weakNPObjectCallback):
2952         (WebCore::createV8ObjectForNPObject):
2953         (WebCore::forgetV8ObjectForNPObject):
2954         * bindings/v8/V8Proxy.cpp:
2955         (WebCore::staticExtensionsList):
2956         (WebCore::V8Proxy::registeredExtensionWithV8):
2957         (WebCore::V8Proxy::registerExtension):
2958         (WebCore::V8Proxy::extensions):
2959         * bindings/v8/V8Proxy.h:
2960         * bindings/v8/npruntime.cpp:
2961         * plugins/chromium/PluginDataChromium.cpp:
2962         (WebCore::pluginCache):
2963         (WebCore::PluginData::initPlugins):
2964         (WebCore::PluginData::refresh):
2965         (WebCore::getPluginMimeTypeFromExtension):
2966
2967 2011-11-08  Hans Wennborg  <hans@chromium.org>
2968
2969         IndexedDB: Start using the onSuccessWithContinuation() callback
2970         https://bugs.webkit.org/show_bug.cgi?id=71565
2971
2972         Reviewed by Tony Chang.
2973
2974         This is a follow-up to r99169 where we start using this new
2975         callback for cursors.
2976
2977         * storage/IDBCursorBackendImpl.cpp:
2978         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
2979         * storage/IDBRequest.cpp:
2980         (WebCore::IDBRequest::setCursor):
2981
2982 2011-11-08  Justin Schuh  <jschuh@chromium.org>
2983
2984         Document::loader should use documentLoader(), not activeDocumentLoader()
2985         https://bugs.webkit.org/show_bug.cgi?id=65895
2986
2987         Reviewed by Brady Eidson.
2988
2989         Test: fast/loader/stateobjects/replacestate-in-onunload.html
2990
2991         * dom/Document.cpp:
2992         (WebCore::Document::loader):
2993
2994 2011-11-08  Andreas Kling  <kling@webkit.org>
2995
2996         CSSImageGeneratorValue: Devirtualize image(), isFixedSize() and fixedSize().
2997         <http://webkit.org/b/71824>
2998
2999         Reviewed by Darin Adler.
3000
3001         Redirect the calls to the appropriate subclass in CSSImageGeneratorValue.cpp.
3002
3003         * css/CSSCanvasValue.h:
3004         (WebCore::CSSCanvasValue::isFixedSize):
3005         * css/CSSCrossfadeValue.h:
3006         (WebCore::CSSCrossfadeValue::isFixedSize):
3007         * css/CSSGradientValue.h:
3008         (WebCore::CSSGradientValue::isFixedSize):
3009         (WebCore::CSSGradientValue::fixedSize):
3010         * css/CSSImageGeneratorValue.cpp:
3011         (WebCore::CSSImageGeneratorValue::image):
3012         (WebCore::CSSImageGeneratorValue::isFixedSize):
3013         (WebCore::CSSImageGeneratorValue::fixedSize):
3014         * css/CSSImageGeneratorValue.h:
3015
3016 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
3017
3018         Web Inspector: [Extension API][Chromium] injected extension API needs to return an object
3019         https://bugs.webkit.org/show_bug.cgi?id=71822
3020
3021         Reviewed by Pavel Feldman.
3022
3023         * inspector/front-end/ExtensionAPI.js:
3024         (buildExtensionAPIInjectedScript):
3025
3026 2011-11-08  Andreas Kling  <kling@webkit.org>
3027
3028         CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
3029         <http://webkit.org/b/71814>
3030
3031         Reviewed by Antti Koivisto.
3032
3033         Defer to CSSCursorImageValue (the only CSSImageValue subclass)
3034         when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).
3035
3036         * css/CSSCursorImageValue.h:
3037         * css/CSSImageValue.cpp:
3038         (WebCore::CSSImageValue::cachedImage):
3039         * css/CSSImageValue.h:
3040
3041 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
3042
3043         Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel
3044         https://bugs.webkit.org/show_bug.cgi?id=71817
3045
3046         Reviewed by Pavel Feldman.
3047
3048         * English.lproj/localizedStrings.js:
3049         * inspector/front-end/ConsoleView.js:
3050         (WebInspector.ConsoleView.prototype.evaluate):
3051         (WebInspector.ConsoleView.prototype._enterKeyPressed):
3052         * inspector/front-end/JavaScriptSourceFrame.js:
3053         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
3054         * inspector/front-end/ScriptsPanel.js:
3055         (WebInspector.ScriptsPanel.prototype._evaluateSelectionInConsole):
3056         * inspector/front-end/ShortcutsScreen.js:
3057         (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
3058         (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
3059         * inspector/front-end/externs.js:
3060         (WebInspector.evaluateInConsole):
3061         * inspector/front-end/inspector.js:
3062         (WebInspector.evaluateInConsole):
3063
3064 2011-11-08  Andreas Kling  <kling@webkit.org>
3065
3066         CSSValue: Devirtualize cssText().
3067         <http://webkit.org/b/71813>
3068
3069         Reviewed by Antti Koivisto.
3070
3071         Rename all subclass implementations to customCssText() and add
3072         a CSSValue::cssText() that defers to the appropriate subclass
3073         based on the type info.
3074
3075         The rename is both for clarity, and to ensure that calling
3076         cssText() will always end up in the correct method.
3077
3078         * css/CSSAspectRatioValue.cpp:
3079         (WebCore::CSSAspectRatioValue::customCssText):
3080         * css/CSSAspectRatioValue.h:
3081         * css/CSSBorderImageSliceValue.cpp:
3082         (WebCore::CSSBorderImageSliceValue::customCssText):
3083         * css/CSSBorderImageSliceValue.h:
3084         * css/CSSBorderImageValue.cpp:
3085         (WebCore::CSSBorderImageValue::customCssText):
3086         * css/CSSBorderImageValue.h:
3087         * css/CSSCanvasValue.cpp:
3088         (WebCore::CSSCanvasValue::customCssText):
3089         * css/CSSCanvasValue.h:
3090         * css/CSSCrossfadeValue.cpp:
3091         (WebCore::CSSCrossfadeValue::customCssText):
3092         * css/CSSCrossfadeValue.h:
3093         * css/CSSFlexValue.cpp:
3094         (WebCore::CSSFlexValue::customCssText):
3095         * css/CSSFlexValue.h:
3096         * css/CSSFontFaceSrcValue.cpp:
3097         (WebCore::CSSFontFaceSrcValue::customCssText):
3098         * css/CSSFontFaceSrcValue.h:
3099         * css/CSSFunctionValue.cpp:
3100         (WebCore::CSSFunctionValue::customCssText):
3101         * css/CSSFunctionValue.h:
3102         * css/CSSGradientValue.cpp:
3103         (WebCore::CSSLinearGradientValue::customCssText):
3104         (WebCore::CSSRadialGradientValue::customCssText):
3105         * css/CSSGradientValue.h:
3106         * css/CSSInheritedValue.cpp:
3107         (WebCore::CSSInheritedValue::customCssText):
3108         * css/CSSInheritedValue.h:
3109         * css/CSSInitialValue.cpp:
3110         (WebCore::CSSInitialValue::customCssText):
3111         * css/CSSInitialValue.h:
3112         * css/CSSLineBoxContainValue.cpp:
3113         (WebCore::CSSLineBoxContainValue::customCssText):
3114         * css/CSSLineBoxContainValue.h:
3115         * css/CSSPrimitiveValue.cpp:
3116         (WebCore::CSSPrimitiveValue::customCssText):
3117         * css/CSSPrimitiveValue.h:
3118         * css/CSSReflectValue.cpp:
3119         (WebCore::CSSReflectValue::customCssText):
3120         * css/CSSReflectValue.h:
3121         * css/CSSTimingFunctionValue.cpp:
3122         (WebCore::CSSLinearTimingFunctionValue::customCssText):
3123         (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
3124         (WebCore::CSSStepsTimingFunctionValue::customCssText):
3125         * css/CSSTimingFunctionValue.h:
3126         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
3127         * css/CSSUnicodeRangeValue.cpp:
3128         (WebCore::CSSUnicodeRangeValue::customCssText):
3129         * css/CSSUnicodeRangeValue.h:
3130         * css/CSSValue.cpp:
3131         (WebCore::CSSValue::cssText):
3132         * css/CSSValue.h:
3133         * css/CSSValueList.cpp:
3134         (WebCore::CSSValueList::customCssText):
3135         * css/CSSValueList.h:
3136         * css/FontFamilyValue.cpp:
3137         (WebCore::FontFamilyValue::customCssText):
3138         * css/FontFamilyValue.h:
3139         * css/FontFeatureValue.cpp:
3140         (WebCore::FontFeatureValue::customCssText):
3141         * css/FontFeatureValue.h:
3142         * css/FontValue.cpp:
3143         (WebCore::FontValue::customCssText):
3144         * css/FontValue.h:
3145         * css/ShadowValue.cpp:
3146         (WebCore::ShadowValue::customCssText):
3147         * css/ShadowValue.h:
3148         * css/WebKitCSSFilterValue.cpp:
3149         (WebCore::WebKitCSSFilterValue::customCssText):
3150         * css/WebKitCSSFilterValue.h:
3151         * css/WebKitCSSTransformValue.cpp:
3152         (WebCore::WebKitCSSTransformValue::customCssText):
3153         * css/WebKitCSSTransformValue.h:
3154         * svg/SVGColor.cpp:
3155         (WebCore::SVGColor::customCssText):
3156         * svg/SVGColor.h:
3157         * svg/SVGPaint.cpp:
3158         (WebCore::SVGPaint::customCssText):
3159         * svg/SVGPaint.h:
3160
3161 2011-11-08  Gavin Peters  <gavinp@chromium.org>
3162
3163         Fix width of m_type in CachedResource
3164         https://bugs.webkit.org/show_bug.cgi?id=71727
3165
3166         Reviewed by Nate Chapin.
3167
3168         Test: fast/dom/HTMLLinkElement/cachedresource-types.html
3169
3170         * loader/cache/CachedResource.cpp:
3171         (WebCore::CachedResource::CachedResource):
3172         * loader/cache/CachedResource.h:
3173
3174 2011-11-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3175
3176         [Qt] Don't set OBJECTS_DIR and DEFINES in default_pre
3177
3178         If a pro file needs to access the OBJECTS_DIR it should use the
3179         form ${QMAKE_VAR_OBJECTS_DIR} to ensure the value is evaluated
3180         after defaults_post has been processed.
3181
3182         Setting DEFINES in defaults_pre is also bad, as any DEFINES=foo on
3183         the command line will override whatever we set in defaults_pre.
3184
3185         Reviewed by Simon Hausmann.
3186
3187         * Target.pri:
3188
3189 2011-11-08  Pavel Feldman  <pfeldman@google.com>
3190
3191         Web Inspector: add JavaScript keywords to the autocomplete.
3192         https://bugs.webkit.org/show_bug.cgi?id=71782
3193
3194         Reviewed by Yury Semikhatsky.
3195
3196         * inspector/front-end/ConsoleView.js:
3197         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
3198         (WebInspector.ConsoleView.prototype._completions):
3199         (WebInspector.ConsoleView.prototype._reportCompletions):
3200
3201 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3202
3203         Introduce SVGLengthContext, to allow to resolve relative units to arbitary viewports
3204         https://bugs.webkit.org/show_bug.cgi?id=71780
3205
3206         Reviewed by Zoltan Herczeg.
3207
3208         Introduce SVGLengthContext to cleanup SVGLength, by moving all conversion of relative units that depend on style or viewport
3209         out of SVGLength, into SVGLengthContext. Pass SVGLengthContext& to SVGLength::value/setValue/... functions instead of a pure
3210         "const SVGElement* context", which was previously used to determine the viewport when resolving percentage units.
3211         SVGLengthContext carries an additional FloatRect of the custom viewport, to which percentages are resolved, if specified.
3212
3213         This allows us to kill several duplicates of the same code, which handles objectBoundingBox mode for gradients/patterns/masks/etc..
3214         A follow-up patch will convert filters to use the new SVGLengthContext::resolveRectangle code as well.
3215
3216         This is a preparation for bug 10430, to fix feImage + objectBoundingBox support when rendering referenced elements, instead of files.
3217
3218         Doesn't affect any tests yet.
3219
3220         * CMakeLists.txt:
3221         * GNUmakefile.list.am:
3222         * Target.pri:
3223         * WebCore.gypi:
3224         * WebCore.vcproj/WebCore.vcproj:
3225         * WebCore.xcodeproj/project.pbxproj:
3226         * rendering/svg/RenderSVGResourceGradient.cpp:
3227         (WebCore::RenderSVGResourceGradient::applyResource):
3228         * rendering/svg/RenderSVGResourceGradient.h:
3229         * rendering/svg/RenderSVGResourceLinearGradient.h:
3230         (WebCore::RenderSVGResourceLinearGradient::gradientUnits):
3231         * rendering/svg/RenderSVGResourcePattern.cpp:
3232         (WebCore::RenderSVGResourcePattern::applyResource):
3233         (WebCore::calculatePatternBoundaries):
3234         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
3235         (WebCore::RenderSVGResourcePattern::createTileImage):
3236         * rendering/svg/RenderSVGResourceRadialGradient.h:
3237         (WebCore::RenderSVGResourceRadialGradient::gradientUnits):
3238         * rendering/svg/SVGRenderTreeAsText.cpp:
3239         (WebCore::writeCommonGradientProperties):
3240         (WebCore::writeSVGResourceContainer):
3241         * svg/GradientAttributes.h:
3242         (WebCore::GradientAttributes::GradientAttributes):
3243         (WebCore::GradientAttributes::gradientUnits):
3244         (WebCore::GradientAttributes::setGradientUnits):
3245         (WebCore::GradientAttributes::hasGradientUnits):
3246         * svg/PatternAttributes.h:
3247         (WebCore::PatternAttributes::PatternAttributes):
3248         (WebCore::PatternAttributes::patternUnits):
3249         (WebCore::PatternAttributes::patternContentUnits):
3250         (WebCore::PatternAttributes::setPatternUnits):
3251         (WebCore::PatternAttributes::setPatternContentUnits):
3252         (WebCore::PatternAttributes::hasPatternUnits):
3253         (WebCore::PatternAttributes::hasPatternContentUnits):
3254         * svg/SVGAllInOne.cpp:
3255         * svg/SVGElement.h:
3256         (WebCore::SVGElement::operator SVGLengthContext):
3257         * svg/SVGFilterElement.cpp:
3258         (WebCore::SVGFilterElement::filterBoundingBox):
3259         * svg/SVGLength.cpp:
3260         (WebCore::SVGLength::SVGLength):
3261         (WebCore::SVGLength::unitMode):
3262         (WebCore::SVGLength::value):
3263         (WebCore::SVGLength::setValue):
3264         (WebCore::SVGLength::convertToSpecifiedUnits):
3265         * svg/SVGLength.h:
3266         (WebCore::SVGLength::blend):
3267         * svg/SVGLengthContext.cpp: Added.
3268         (WebCore::SVGLengthContext::SVGLengthContext):
3269         (WebCore::SVGLengthContext::resolveRectangle):
3270         (WebCore::SVGLengthContext::resolvePoint):
3271         (WebCore::SVGLengthContext::resolveLength):
3272         (WebCore::SVGLengthContext::convertValueToUserUnits):
3273         (WebCore::SVGLengthContext::convertValueFromUserUnits):
3274         (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
3275         (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
3276         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
3277         (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
3278         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
3279         (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
3280         (WebCore::SVGLengthContext::determineViewport):
3281         * svg/SVGLengthContext.h: Added.
3282         (WebCore::SVGLengthContext::resolveRectangle):
3283         * svg/SVGLinearGradientElement.cpp:
3284         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
3285         (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
3286         * svg/SVGMaskElement.cpp:
3287         (WebCore::SVGMaskElement::maskBoundingBox):
3288         * svg/SVGPatternElement.cpp:
3289         (WebCore::SVGPatternElement::collectPatternAttributes):
3290         * svg/SVGRadialGradientElement.cpp:
3291         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
3292         (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
3293
3294 2011-11-08  Andreas Kling  <kling@webkit.org>
3295
3296         CSSValue: Devirtualize addSubresourceStyleURLs().
3297         <http://webkit.org/b/71805>
3298
3299         Reviewed by Antti Koivisto.
3300
3301         Make addSubresourceStyleURLs() non-virtual and call the appropriate
3302         subclass implementation based on the subclass type info.
3303
3304         * css/CSSBorderImageValue.h:
3305         * css/CSSFontFaceSrcValue.h:
3306         * css/CSSPrimitiveValue.h:
3307         * css/CSSReflectValue.h:
3308         * css/CSSValue.cpp:
3309         (WebCore::CSSValue::addSubresourceStyleURLs):
3310         * css/CSSValue.h:
3311         (WebCore::CSSValue::addSubresourceStyleURLs):
3312         * css/CSSValueList.h:
3313
3314 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
3315
3316         Web Inspector: do not show object popover when selection is active
3317         https://bugs.webkit.org/show_bug.cgi?id=71804
3318
3319         Reviewed by Yury Semikhatsky.
3320
3321         * inspector/front-end/JavaScriptSourceFrame.js:
3322         (WebInspector.JavaScriptSourceFrame.prototype._shouldShowPopover):
3323
3324 2011-11-08  Alexander Pavlov  <apavlov@chromium.org>
3325
3326         Web Inspector: Do not hide SuggestBox if typed-in string in the middle of input equals one of suggestions
3327         https://bugs.webkit.org/show_bug.cgi?id=71797
3328
3329         Reviewed by Yury Semikhatsky.
3330
3331         * inspector/front-end/TextPrompt.js:
3332         (WebInspector.TextPrompt.prototype.onKeyDown):
3333         (WebInspector.TextPrompt.prototype.complete):
3334
3335 2011-11-08  Andreas Kling  <kling@webkit.org>
3336
3337         CSSGradientValue: Devirtualize createGradient().
3338         <http://webkit.org/b/71800>
3339
3340         Reviewed by Antti Koivisto.
3341
3342         Make createGradient() non-virtual and call the appropriate subclass
3343         implementation in image() based on is{Linear,Radial}Gradient().
3344
3345         * css/CSSGradientValue.cpp:
3346         (WebCore::CSSGradientValue::image):
3347         * css/CSSGradientValue.h:
3348
3349 2011-11-08  Andreas Kling  <kling@webkit.org>
3350
3351         CSSCanvasValue: Remove inheritance from CanvasObserver.
3352         <http://webkit.org/b/71796>
3353
3354         Reviewed by Antti Koivisto.
3355
3356         To completely devirtualize all the CSSValues, we need to remove
3357         CSSCanvasValue's inheritance from CanvasObserver, as that is forcing
3358         a vptr into the class.
3359
3360         Use the same approach as CSSImportRule and make a simple proxying
3361         CanvasObserver subclass and put that as a member variable of the value.
3362
3363         * css/CSSCanvasValue.cpp:
3364         (WebCore::CSSCanvasValue::~CSSCanvasValue):
3365         (WebCore::CSSCanvasValue::element):
3366         * css/CSSCanvasValue.h:
3367         (WebCore::CSSCanvasValue::CSSCanvasValue):
3368         (WebCore::CSSCanvasValue::CanvasObserverProxy::CanvasObserverProxy):
3369         (WebCore::CSSCanvasValue::CanvasObserverProxy::~CanvasObserverProxy):
3370         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasChanged):
3371         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasResized):
3372         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasDestroyed):
3373
3374 2011-11-08  Yury Semikhatsky  <yurys@chromium.org>
3375
3376         Web Inspector: display notification in the front-end when inspected worker terminates
3377         https://bugs.webkit.org/show_bug.cgi?id=71770
3378
3379         When inspected worker terminates we will show a notification similar to the help
3380         screen. The notification disappears when the worker restarts or the user closes it
3381         manually.
3382
3383         Reviewed by Pavel Feldman.
3384
3385         * English.lproj/localizedStrings.js:
3386         * inspector/front-end/ScriptsPanel.js:
3387         * inspector/front-end/WorkerManager.js:
3388         (WebInspector.WorkerManager.loaded):
3389         (WebInspector.WorkerManager.showWorkerTerminatedScreen):
3390         (WebInspector.WorkerTerminatedScreen):
3391         * inspector/front-end/inspector.js:
3392         (WebInspector.disconnectFromBackend):
3393         (WebInspector.frontendReused):
3394
3395 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3396
3397         Fold ImageBySizeCache again into CSSImageGeneratorValue
3398         https://bugs.webkit.org/show_bug.cgi?id=71785
3399
3400         Reviewed by Zoltan Herczeg.
3401
3402         Remove ImageBySizeCache, and fold it into CSSImageGeneratorValue, as it used to be.
3403         CachedImage has switched to SVGImageCache and no longer needs it.
3404
3405         * CMakeLists.txt:
3406         * GNUmakefile.list.am:
3407         * Target.pri:
3408         * WebCore.gypi:
3409         * WebCore.vcproj/WebCore.vcproj:
3410         * WebCore.xcodeproj/project.pbxproj:
3411         * css/CSSImageGeneratorValue.cpp:
3412         (WebCore::CSSImageGeneratorValue::addClient):
3413         (WebCore::CSSImageGeneratorValue::removeClient):
3414         (WebCore::CSSImageGeneratorValue::getImage):
3415         (WebCore::CSSImageGeneratorValue::putImage):
3416         * css/CSSImageGeneratorValue.h:
3417         (WebCore::SizeAndCount::SizeAndCount):
3418         (WebCore::CSSImageGeneratorValue::clients):
3419         * rendering/ImageBySizeCache.cpp: Removed.
3420         * rendering/ImageBySizeCache.h: Removed.
3421
3422 2011-11-08  Alexander Pavlov  <apavlov@chromium.org>
3423
3424         Web Inspector: Avoid automatic Console suggestions with empty expression
3425         https://bugs.webkit.org/show_bug.cgi?id=71783
3426
3427         Reviewed by Yury Semikhatsky.
3428
3429         * inspector/front-end/ConsoleView.js:
3430
3431 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3432
3433         Not reviewed. Fix build, by removing an unused variable.
3434
3435         * html/canvas/CanvasRenderingContext2D.cpp:
3436         (WebCore::isOriginClean):
3437         (WebCore::CanvasRenderingContext2D::createPattern):
3438
3439 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3440
3441         Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
3442         https://bugs.webkit.org/show_bug.cgi?id=71368
3443
3444         Reviewed by Zoltan Herczeg.
3445
3446         When determining whether the canvas would be tainted, we need access to the SVGImage, not its cached BitmapImage.
3447         Otherwhise wrong assumptions are mode, leading to regressions.
3448
3449         Fixes http/tests/security/canvas-remote-read-svg-image.html and related tests on the bots.
3450
3451         * html/canvas/CanvasRenderingContext.cpp:
3452         (WebCore::CanvasRenderingContext::wouldTaintOrigin): Forgot to switch them back to use cachedImage->image().
3453         * html/canvas/CanvasRenderingContext2D.cpp:
3454         (WebCore::isOriginClean): Ditto.
3455
3456 2011-11-08  Vsevolod Vlasov  <vsevik@chromium.org>
3457
3458         Web Inspector: Console should be scrolled to bottom when shown for the first time.
3459         https://bugs.webkit.org/show_bug.cgi?id=71781
3460
3461         Reviewed by Pavel Feldman.
3462
3463         * inspector/front-end/ConsoleView.js:
3464
3465 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3466
3467         Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
3468         https://bugs.webkit.org/show_bug.cgi?id=71368