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