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