Replace more instances of += with StringBuilder
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-30  Adam Barth  <abarth@webkit.org>
2
3         Replace more instances of += with StringBuilder
4         https://bugs.webkit.org/show_bug.cgi?id=95502
5
6         Reviewed by Darin Adler.
7
8         This patch removes many uses of WTF::String::operator+= in WebCore.
9         Many of these uses are inefficient because they cause us to allocate
10         and memcpy strings more times than necessary. In most cases, I've
11         replaced these inefficient patterns with StringBuilder.
12
13         This patch makes progress towards removing WTF::String::operator+= from
14         the project.
15
16         We can make cssText() more efficient by passing a single StringBuilder
17         instance along to the recursive calls, but I've left that for a later
18         patch.
19
20         * css/CSSBorderImageSliceValue.cpp:
21         (WebCore::CSSBorderImageSliceValue::customCssText):
22         * css/CSSFontFaceSrcValue.cpp:
23         (WebCore::CSSFontFaceSrcValue::customCssText):
24         * css/CSSFunctionValue.cpp:
25         (WebCore::CSSFunctionValue::customCssText):
26         * css/CSSGradientValue.cpp:
27         (WebCore::CSSLinearGradientValue::customCssText):
28         (WebCore::CSSRadialGradientValue::customCssText):
29         * css/CSSParser.cpp:
30         (WebCore::CSSParser::createKeyframe):
31         * css/CSSPrimitiveValue.cpp:
32         (WebCore::CSSPrimitiveValue::customCssText):
33         * css/CSSReflectValue.cpp:
34         (WebCore::CSSReflectValue::customCssText):
35         * css/CSSTimingFunctionValue.cpp:
36         (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
37         (WebCore::CSSStepsTimingFunctionValue::customCssText):
38         * css/StylePropertySet.cpp:
39         (WebCore::StylePropertySet::get4Values):
40         (WebCore::StylePropertySet::getLayeredShorthandValue):
41         (WebCore::StylePropertySet::getShorthandValue):
42         * fileapi/BlobURL.cpp:
43         (WebCore::BlobURL::createBlobURL):
44         * inspector/InspectorCSSAgent.cpp:
45         (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
46         * inspector/InspectorClient.cpp:
47         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
48         * inspector/InspectorConsoleAgent.cpp:
49         (WebCore::InspectorConsoleAgent::didFailLoading):
50         * inspector/InspectorFileSystemAgent.cpp:
51         (WebCore):
52         * inspector/InspectorPageAgent.cpp:
53         (WebCore::InspectorPageAgent::cachedResourceContent):
54         (WebCore::InspectorPageAgent::getCookies):
55         * inspector/InspectorStyleSheet.cpp:
56         (WebCore::InspectorStyleSheet::addRule):
57
58 2012-08-30  Luke Macpherson   <macpherson@chromium.org>
59
60         Make it possible to use CSS Variables inside Calc expressions.
61         https://bugs.webkit.org/show_bug.cgi?id=95284
62
63         Reviewed by Tony Chang.
64
65         Allows calc expressions to contain unevaluated variables, which are then resolved in StyleResolver.cpp when building the RenderStyle tree.
66
67         Tests:
68         fast/css/variables/calc.html
69
70         * css/CSSCalculationValue.cpp:
71         (WebCore::unitCategory):
72         (WebCore):
73         (WebCore::CSSCalcValue::customSerializeResolvingVariables):
74         Generates a CSS expression with variables resolved into their corresponding values.
75         (WebCore::CSSCalcValue::hasVariableReference):
76         Returns true if the calculation's expression tree refers to a variable (that needs to be resolved).
77         (CSSCalcPrimitiveValue):
78         (WebCore::CSSCalcPrimitiveValue::serializeResolvingVariables):
79         Resolves the variable using the underlying CSSPrimitiveValue's serializeResolvingVariables function.
80         (WebCore::CSSCalcPrimitiveValue::hasVariableReference):
81         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
82         (WebCore::CSSCalcPrimitiveValue::doubleValue):
83         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
84         (WebCore::CSSCalcBinaryOperation::create):
85         (CSSCalcBinaryOperation):
86         (WebCore::CSSCalcBinaryOperation::serializeResolvingVariables):
87         Builds a CSS expression for contained subtrees.
88         (WebCore::CSSCalcBinaryOperation::hasVariableReference):
89         Returns true if either subtree contains a variable.
90         * css/CSSCalculationValue.h:
91         (CSSCalcExpressionNode):
92         (CSSCalcValue):
93         * css/CSSGrammar.y:
94         * css/CSSParser.cpp:
95         (WebCore::CSSParser::validCalculationUnit):
96         * css/CSSPrimitiveValue.cpp:
97         (WebCore::CSSPrimitiveValue::primitiveType):
98         (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
99         * css/StyleResolver.cpp:
100         (WebCore::StyleResolver::collectMatchingRulesForList):
101
102 2012-08-30  Max Vujovic  <mvujovic@adobe.com>
103
104         [CSS Shaders] Implement normal blend mode and source-atop compositing mode
105         https://bugs.webkit.org/show_bug.cgi?id=93869
106
107         Reviewed by Dean Jackson.
108
109         Instead of allowing direct texture access in an author's shader via u_texture, CSS
110         Shaders blends special symbols in the author's shader (css_MixColor and
111         css_ColorMatrix) with the DOM element texture.
112
113         The author specifies the blend mode and composite operator via the CSS mix
114         function like this:
115         -webkit-filter: custom(none mix(shader.fs normal source-atop));
116
117         This patch implements the normal blend mode and the source-atop composite
118         operator. The other blend modes and composite operators will come in later
119         patches.
120
121         This patch introduces a new class, CustomFilterValidatedProgram, which validates
122         the shader using ANGLE. If the shader uses blending and compositing,
123         CustomFilterValidatedProgram uses ANGLE's SH_CSS_SHADERS_SPEC flag. This allows
124         the author's shader to compile successfully with special symbols like
125         "css_MixColor". ANGLE also reserves the "css_" prefix. If the shader doesn't use
126         blending and compositing, CustomFilterValidatedProgram validates the shader using
127         ANGLE's SH_WEBGL_SPEC flag.
128
129         After validation, CustomFilterValidatedProgram adds blending, compositing, and
130         texture access shader code to the author's original shaders. The definitions for
131         css_MixColor and css_ColorMatrix are added before the author's fragment shader
132         code so that the author code can access them. The blending, compositing, and
133         texture access code is added after the author code and is thus inaccessible to the
134         author code. Since ANGLE reserves the "css_" prefix during the validation phase,
135         no collisions are possible between the author's code and the code that WebKit adds.
136
137         The CustomFilterGlobalContext now caches CustomFilterValidatedProgram instead
138         of CustomFilterCompiledProgram. CustomFilterValidatedProgram owns a
139         CustomFilterCompiledProgram. This way, we can use the platform-independent
140         CustomFilterValidatedProgram to validate and rewrite the shaders, regardless of
141         the platform representation of the program (e.g. CustomFilterCompiledProgram).
142
143         Tests: css3/filters/custom/custom-filter-color-matrix.html
144                css3/filters/custom/custom-filter-composite-source-atop.html
145
146         * GNUmakefile.list.am:
147         * Target.pri:
148         * WebCore.gyp/WebCore.gyp:
149         * WebCore.gypi:
150         * WebCore.vcproj/WebCore.vcproj:
151         * WebCore.xcodeproj/project.pbxproj:
152         * platform/graphics/ANGLEWebKitBridge.cpp:
153         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
154             Add a shader spec parameter, since sometimes we want to validate the shader
155             against the CSS Shaders spec and other times we want to validate the shader
156             against the WebGL spec. Note that the CSS Shaders spec is treated as a subset
157             of the WebGL spec in ANGLE.
158         (WebCore::ANGLEWebKitBridge::validateShaderSource):
159         * platform/graphics/ANGLEWebKitBridge.h:
160         (ANGLEWebKitBridge):
161         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
162         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
163         (WebCore::CustomFilterCompiledProgram::compileShader):
164         (WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
165         (WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram):
166         * platform/graphics/filters/CustomFilterCompiledProgram.h:
167         (WebCore):
168         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
169         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
170         (WebCore::CustomFilterGlobalContext::webglShaderValidator):
171         (WebCore):
172         (WebCore::CustomFilterGlobalContext::mixShaderValidator):
173         (WebCore::CustomFilterGlobalContext::createShaderValidator):
174         (WebCore::CustomFilterGlobalContext::getValidatedProgram):
175         (WebCore::CustomFilterGlobalContext::removeValidatedProgram):
176         * platform/graphics/filters/CustomFilterGlobalContext.h:
177         (WebCore):
178         (CustomFilterGlobalContext):
179         * platform/graphics/filters/CustomFilterProgramInfo.h:
180         (WebCore::CustomFilterProgramInfo::mixSettings):
181         * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Added.
182         (WebCore):
183         (WebCore::CustomFilterValidatedProgram::defaultVertexShaderString):
184         (WebCore::CustomFilterValidatedProgram::defaultFragmentShaderString):
185         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
186         (WebCore::CustomFilterValidatedProgram::compiledProgram):
187         (WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader):
188         (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
189         (WebCore::CustomFilterValidatedProgram::blendFunctionString):
190         (WebCore::CustomFilterValidatedProgram::compositeFunctionString):
191         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
192         * platform/graphics/filters/CustomFilterValidatedProgram.h: Added.
193         (WebCore):
194         (CustomFilterValidatedProgram):
195         (WebCore::CustomFilterValidatedProgram::create):
196         (WebCore::CustomFilterValidatedProgram::programInfo):
197         (WebCore::CustomFilterValidatedProgram::isInitialized):
198         (WebCore::CustomFilterValidatedProgram::detachFromGlobalContext):
199         * platform/graphics/filters/FECustomFilter.cpp:
200         (WebCore::FECustomFilter::FECustomFilter):
201             Accept a CustomFilterValidatedProgram instead of CustomFilterProgram.
202         (WebCore::FECustomFilter::create):
203         (WebCore::FECustomFilter::initializeContext):
204         (WebCore::FECustomFilter::bindVertexAttribute):
205         (WebCore::FECustomFilter::bindProgramAndBuffers):
206         * platform/graphics/filters/FECustomFilter.h:
207         (WebCore):
208         (FECustomFilter):
209         * rendering/FilterEffectRenderer.cpp:
210         (WebCore):
211         (WebCore::createCustomFilterEffect):
212         (WebCore::FilterEffectRenderer::build):
213             Only create an FECustomFilter if the program validates.
214         * rendering/FilterEffectRenderer.h:
215         (WebCore):
216         (FilterEffectRenderer):
217
218 2012-08-30  Julien Chaffraix  <jchaffraix@webkit.org>
219
220         Crash in RenderTable::calcBorderEnd
221         https://bugs.webkit.org/show_bug.cgi?id=95487
222
223         Reviewed by Abhishek Arya.
224
225         r126590 opened the window for a race condition in RenderObjectChildList::removeChildNode.
226         This is caused because willBeRemovedFromTree should be strictly following by the actual removal
227         and wasn't.
228
229         This race condition was caused by clearSelection() being called just after willBeRemovedFromTree,
230         which forced a section's cells recalc and would re-add the soon-to-be-removed child, causing the
231         crash.
232
233         Test: fast/table/crash-clearSelection-collapsed-borders.html
234
235         * rendering/RenderObjectChildList.cpp:
236         (WebCore::RenderObjectChildList::removeChildNode):
237         Moved the clearSeletion call before willBeRemovedFromTree. Added a warning about running code
238         after willBeRemovedFromTree and before removing the child from the tree.
239
240 2012-08-30  Geoffrey Garen  <ggaren@apple.com>
241
242         Use one object instead of two for closures, eliminating ScopeChainNode
243         https://bugs.webkit.org/show_bug.cgi?id=95501
244
245         Reviewed by Filip Pizlo.
246
247         Mechanical changes to update for JSC interface changes.
248
249 2012-08-30  Pratik Solanki  <psolanki@apple.com>
250
251         objc_msgSend and IMP should be cast appropriately before using
252         https://bugs.webkit.org/show_bug.cgi?id=95242
253
254         Reviewed by Benjamin Poulain.
255
256         Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
257         to a function pointer with right types when calling objc_msgSend and an
258         IMP method directly.
259
260         No new tests because no functional changes.
261
262         * page/mac/EventHandlerMac.mm:
263         (WebCore::selfRetainingNSScrollViewScrollWheel):
264         * platform/mac/WebCoreObjCExtras.mm:
265         (deallocCallback):
266
267 2012-08-30  Benjamin Poulain  <bpoulain@apple.com>
268
269         Replace JSC::UString by WTF::String
270         https://bugs.webkit.org/show_bug.cgi?id=95271
271
272         Reviewed by Geoffrey Garen.
273
274         Update the code to use String instead of UString.
275
276         On x86_64, this reduces the binary size by 22kb.
277
278         Since it is no longer possible to differenciate JSC::jsString() and WebCore::jsString() by the input
279         types, WebCore::jsString() is renated to WebCore::jsStringWithCache().
280
281         Since the cache is using a PtrHash, JSC::jsString() is used in place of the old WebCore::jsString() when
282         the string is generated locally. This is because the cache can never match in those cases.
283
284 2012-08-30  Rob Buis  <rbuis@rim.com>
285
286         [CMake] Suppress ANGLE compilation warnings
287         https://bugs.webkit.org/show_bug.cgi?id=95377
288
289         Reviewed by Antonio Gomes.
290
291         Compile ANGLE sources in a static library, and make sure the compile flags suppress warnings.
292
293         * CMakeLists.txt:
294
295 2012-08-30  Victor Carbune  <victor@rosedu.org>
296
297         [Chromium] Layout Test media/track/track-cue-rendering-snap-to-lines-not-set.html is flaky
298         https://bugs.webkit.org/show_bug.cgi?id=89167
299
300         Reviewed by Eric Carlson.
301
302         Fix for rendering tracks when snap-to-lines not set.
303
304         No new tests. Removed from TestExpectations existing test.
305
306         * html/track/TextTrackCue.cpp:
307         (WebCore::TextTrackCue::TextTrackCue):
308         (WebCore::TextTrackCue::calculateDisplayParameters): Updated the place
309         where m_computedLinePosition is determined.
310
311 2012-08-27  James Robinson  <jamesr@chromium.org>
312
313         [chromium] Add CompositorSupport interface for constructing compositor classes
314         https://bugs.webkit.org/show_bug.cgi?id=95040
315
316         Reviewed by Darin Fisher.
317
318         Uses WebCompositorSupport interfaces where appropriate to construct compositor types.
319
320         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
321         (WebCore::createWebAnimation):
322         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
323         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
324         * platform/graphics/chromium/DrawingBufferChromium.cpp:
325         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
326         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
327         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
328         (WebCore::GraphicsLayerChromium::setContentsToImage):
329         (WebCore::GraphicsLayerChromium::setContentsTo):
330         (WebCore::GraphicsLayerChromium::addAnimation):
331         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
332
333 2012-08-30  Dan Bernstein  <mitz@apple.com>
334
335         [CG] ImageCG.cpp contains a mix of Image and BitmapImage functions
336         https://bugs.webkit.org/show_bug.cgi?id=95470
337
338         Reviewed by Darin Adler.
339
340         * WebCore.gypi: Added BitmapImageCG.cpp.
341         * WebCore.vcproj/WebCore.vcproj: Ditto.
342         * WebCore.xcodeproj/project.pbxproj: Ditto.
343         * platform/graphics/cg/BitmapImageCG.cpp: Copied from Source/WebCore/platform/graphics/cg/ImageCG.cpp
344         then deleted Image function implementations.
345         * platform/graphics/cg/ImageCG.cpp: Deleted BitmapImage and FrameData function implementations.
346
347 2012-08-30  Victor Carbune  <victor@rosedu.org>
348
349         [Chromium] The CC button is not painted
350         https://bugs.webkit.org/show_bug.cgi?id=95395
351
352         Reviewed by Eric Carlson.
353
354         The actual Chromium resource for the CC button was not used by the Chromium theme.
355
356         Existing track rendering tests will be rebaselined and contain the new CC button.
357
358         * rendering/RenderMediaControlsChromium.cpp:
359         (WebCore::paintMediaClosedCaptionsButton): Added for proper painting of the resource.
360         (WebCore):
361         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
362         Changed to call paintMediaClosedCaptionsButton when the control is the CC button.
363         * rendering/RenderThemeChromiumSkia.cpp:
364         (WebCore::RenderThemeChromiumSkia::paintMediaToggleClosedCaptionsButton):
365         Implemented proper behaviour.
366         (WebCore):
367         * rendering/RenderThemeChromiumSkia.h:
368         (RenderThemeChromiumSkia):
369
370 2012-08-30  Tommy Widenflycht  <tommyw@google.com>
371
372         MediaStream API: Introduce MediaConstraints
373         https://bugs.webkit.org/show_bug.cgi?id=95198
374
375         Reviewed by Adam Barth.
376
377         This introduces MediaConstraints together with relevant infrastructure, a chromium mock and LayoutTests.
378
379         Patch covered by expanded existing tests.
380
381         * CMakeLists.txt:
382         * GNUmakefile.list.am:
383         * Modules/mediastream/MediaConstraintsImpl.cpp: Added.
384         (WebCore):
385         (WebCore::MediaConstraintsImpl::create):
386         (WebCore::MediaConstraintsImpl::initialize):
387         (WebCore::MediaConstraintsImpl::~MediaConstraintsImpl):
388         (WebCore::MediaConstraintsImpl::getMandatoryConstraintNames):
389         (WebCore::MediaConstraintsImpl::getOptionalConstraintNames):
390         (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue):
391         (WebCore::MediaConstraintsImpl::getOptionalConstraintValue):
392         * Modules/mediastream/MediaConstraintsImpl.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
393         (WebCore):
394         (MediaConstraintsImpl):
395         (WebCore::MediaConstraintsImpl::MediaConstraintsImpl):
396         * Modules/mediastream/RTCPeerConnection.cpp:
397         (WebCore::RTCPeerConnection::create):
398         (WebCore::RTCPeerConnection::RTCPeerConnection):
399         * Modules/mediastream/RTCPeerConnection.h:
400         (WebCore):
401         (RTCPeerConnection):
402         * WebCore.gypi:
403         * bindings/js/Dictionary.cpp:
404         (WebCore::Dictionary::getOwnPropertyNames):
405         (WebCore):
406         * bindings/js/Dictionary.h:
407         (Dictionary):
408         * bindings/v8/Dictionary.cpp:
409         (WebCore::Dictionary::getOwnPropertyNames):
410         (WebCore):
411         * bindings/v8/Dictionary.h:
412         (Dictionary):
413         * platform/chromium/support/WebMediaConstraints.cpp: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp.
414         (WebKit):
415         (WebKit::WebMediaConstraints::WebMediaConstraints):
416         (WebKit::WebMediaConstraints::assign):
417         (WebKit::WebMediaConstraints::reset):
418         (WebKit::WebMediaConstraints::isNull):
419         (WebKit::WebMediaConstraints::getMandatoryConstraintNames):
420         (WebKit::WebMediaConstraints::getOptionalConstraintNames):
421         (WebKit::WebMediaConstraints::getMandatoryConstraintValue):
422         (WebKit::WebMediaConstraints::getOptionalConstraintValue):
423         * platform/mediastream/MediaConstraints.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
424         (WebCore):
425         (MediaConstraints):
426         (WebCore::MediaConstraints::~MediaConstraints):
427         (WebCore::MediaConstraints::MediaConstraints):
428         * platform/mediastream/RTCPeerConnectionHandler.cpp:
429         (RTCPeerConnectionHandlerDummy):
430         (WebCore::RTCPeerConnectionHandlerDummy::initialize):
431         * platform/mediastream/RTCPeerConnectionHandler.h:
432         (WebCore):
433         (RTCPeerConnectionHandler):
434         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
435         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
436         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
437         (RTCPeerConnectionHandlerChromium):
438
439 2012-08-24  Robert Hogan  <robert@webkit.org>
440
441         CSS 2.1 failure: margin-collapse-clear-012 fails
442         https://bugs.webkit.org/show_bug.cgi?id=80394
443
444         Reviewed by David Hyatt.
445
446         CSS2.1 states: "If the top and bottom margins of an element with clearance are adjoining, its margins collapse with 
447         the adjoining margins of following siblings but that resulting margin does not collapse with the bottom margin of the parent block."
448         This is a change in the spec since http://trac.webkit.org/changeset/47678, so prevent the margins of collapsed blocks from collapsing
449         with parent margins.
450
451         Also, in the case of self-collapsing blocks adjust the clearance so that it is equal to [height of float to clear] - margin-top of the 
452         self-collapsing block. (See the 'Explanation' section near the end of http://www.w3.org/TR/CSS21/visuren.html#clearance). This allows
453         the correct value of any margins collapsed with subsequent siblings to contribute to the height of the parent. For example if a block
454         with margin-top of 40px has to clear a float of 100px, the clearance is now 60px so set that as the height of the parent. If a subsequent 
455         sibling has a collapsed margin value of 140px (e.g. from a margin-top of 80px and a margin-bottom of 140px) then the height of the parent
456         becomes 200px by adding on that collapsed margin. 
457
458         Tests: css2.1/20110323/margin-collapse-clear-012.htm
459                css2.1/20110323/margin-collapse-clear-013.htm
460                css2.1/20110323/margin-collapse-027.htm
461                fast/css/margin-collapse-013-reduction.html
462                fast/css/margin-collapse-top-margin-clearance.html
463                fast/css/margin-collapse-top-margin-clearance-with-sibling.html
464
465         * rendering/RenderBlock.cpp:
466         (WebCore::RenderBlock::clearFloatsIfNeeded):
467         (WebCore::RenderBlock::handleAfterSideOfBlock): Without this margin-collapse/block-inside-inline/025.html adds in the margin to
468           an anonymous block containing a block child. FF does this, Opera does not. The spec is not crystal-clear but Opera's behaviour
469           seems correct - it's totally unintuitive to think the margins of an anonymous block and its block-flow child should be considered adjoining.
470           Maybe this is a FIXME pending clarification in the spec?
471         * rendering/RenderBlock.h:
472         (WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren):
473
474 2012-08-30  Rik Cabanier  <cabanier@adobe.com>
475
476         Add support for blendmode to webkit rendering engine
477         https://bugs.webkit.org/show_bug.cgi?id=95258
478
479         Reviewed by Simon Fraser.
480
481         This code adds support for blendmodes to the WebCore engine. The CSS parser already
482         supported this keyword but didn't pass it along. Support for rendering blending will
483         be provided in subsequent patches
484
485         Test: css3/compositing/should-have-compositing-layer.html
486
487         * css/StyleBuilder.cpp:
488         (WebCore::StyleBuilder::StyleBuilder):
489         * css/StyleResolver.cpp:
490         (WebCore::StyleResolver::collectMatchingRulesForList):
491         * rendering/RenderBox.h:
492         * rendering/RenderBoxModelObject.h:
493         (RenderBoxModelObject):
494         (WebCore::RenderBoxModelObject::requiresLayer):
495         * rendering/RenderInline.h:
496         (WebCore::RenderInline::requiresLayer):
497         * rendering/RenderLayer.cpp:
498         (WebCore::RenderLayer::RenderLayer):
499         (WebCore):
500         (WebCore::RenderLayer::updateBlendMode):
501         (WebCore::RenderLayer::ensureBacking):
502         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
503         (WebCore::RenderLayer::styleChanged):
504         * rendering/RenderLayer.h:
505         (RenderLayer):
506         (WebCore::RenderLayer::hasBlendMode):
507         * rendering/RenderLayerCompositor.cpp:
508         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
509         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
510         (WebCore::RenderLayerCompositor::reasonForCompositing):
511         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
512         (WebCore::RenderLayerCompositor::requiresCompositingForBlending):
513         (WebCore):
514         * rendering/RenderLayerCompositor.h:
515         (RenderLayerCompositor):
516         * rendering/RenderObject.h:
517         (RenderObject):
518         (WebCore::RenderObject::hasBlendMode):
519         (WebCore::RenderObject::createsGroup):
520         * rendering/RenderTableRow.h:
521         * rendering/style/RenderStyle.h:
522
523 2012-08-30  Tony Chang  <tony@chromium.org>
524
525         Make RenderBox::computeInlineDirectionMargins const
526         https://bugs.webkit.org/show_bug.cgi?id=95255
527
528         Reviewed by Ojan Vafai.
529
530         This is part of making computeLogical{Height,Width} return computed values rather than
531         mutating the RenderBox directly. This makes a submethod const.
532
533         This change is just a refactor, but I've added some tests to cover code that wasn't
534         previously covered by layout tests.
535
536         Tests: fast/block/margins-perpendicular-containing-block.html
537                fast/table/margins-flipped-text-direction.html
538                fast/table/margins-perpendicular-containing-block.html
539
540         * rendering/RenderBox.cpp:
541         (WebCore::RenderBox::computeLogicalWidthInRegion): Handle flipped text direction manually.
542         (WebCore::RenderBox::computeInlineDirectionMargins): Make const with out parameters.
543         No longer need to call setMargin{Start,End}ForChild.
544         (WebCore::shouldFlipBeforeAfterMargins): Helper function to figure out how to map a logical
545         writing mode direction to another logical writing mode direction.
546         (WebCore::RenderBox::computeLogicalHeight): Use const method. This also makes it more
547         obvious that when computing the height, we only modify the before/after margins.
548         * rendering/RenderBox.h:
549         (RenderBox): Make computeInlineDirectionMargins const with out parameters.
550         * rendering/RenderTable.cpp:
551         (WebCore::RenderTable::computeLogicalWidth): Same as RenderBox::comptueLogicalWidthInregion.
552
553 2012-08-30  Dirk Schulze  <krit@webkit.org>
554
555         Refactor WrapShape classes to BasicShape
556         https://bugs.webkit.org/show_bug.cgi?id=95461
557
558         Reviewed by Rob Buis.
559
560         This is a follow up patch of bug 95411. While the previous patch
561         just renamed the files, this patch renames the classes, enumerations
562         and functions.
563
564         Just refactoring of internal names. No new tests.
565
566         * css/BasicShapeFunctions.cpp:
567         (WebCore::valueForBasicShape):
568         (WebCore::basicShapeForValue):
569         * css/BasicShapeFunctions.h:
570         (WebCore):
571         * css/CSSBasicShapes.cpp:
572         (WebCore::CSSBasicShapeRectangle::cssText):
573         (WebCore::CSSBasicShapeCircle::cssText):
574         (WebCore::CSSBasicShapeEllipse::cssText):
575         (WebCore::CSSBasicShapePolygon::cssText):
576         * css/CSSBasicShapes.h:
577         (WebCore::CSSBasicShape::~CSSBasicShape):
578         (WebCore::CSSBasicShape::CSSBasicShape):
579         (WebCore::CSSBasicShapeRectangle::create):
580         (WebCore::CSSBasicShapeRectangle::type):
581         (WebCore::CSSBasicShapeRectangle::CSSBasicShapeRectangle):
582         (WebCore::CSSBasicShapeCircle::create):
583         (WebCore::CSSBasicShapeCircle::type):
584         (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle):
585         (WebCore::CSSBasicShapeEllipse::create):
586         (WebCore::CSSBasicShapeEllipse::type):
587         (WebCore::CSSBasicShapeEllipse::CSSBasicShapeEllipse):
588         (WebCore::CSSBasicShapePolygon::create):
589         (WebCore::CSSBasicShapePolygon::type):
590         (WebCore::CSSBasicShapePolygon::CSSBasicShapePolygon):
591         * css/CSSComputedStyleDeclaration.cpp:
592         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
593         * css/CSSParser.cpp:
594         (WebCore::CSSParser::parseValue):
595         (WebCore::CSSParser::parseBasicShapeRectangle):
596         (WebCore::CSSParser::parseBasicShapeCircle):
597         (WebCore::CSSParser::parseBasicShapeEllipse):
598         (WebCore::CSSParser::parseBasicShapePolygon):
599         (WebCore::CSSParser::parseBasicShape):
600         * css/CSSParser.h:
601         (WebCore):
602         * css/CSSPrimitiveValue.cpp:
603         (WebCore::CSSPrimitiveValue::init):
604         * css/CSSPrimitiveValue.h:
605         (WebCore):
606         (WebCore::CSSPrimitiveValue::getShapeValue):
607         (CSSPrimitiveValue):
608         * css/StyleBuilder.cpp:
609         (WebCore):
610         (WebCore::ApplyPropertyWrapShape::setValue):
611         (WebCore::ApplyPropertyWrapShape::applyValue):
612         (WebCore::ApplyPropertyWrapShape::createHandler):
613         * rendering/RenderBlock.cpp:
614         (WebCore::RenderBlock::updateWrapShapeInfoAfterStyleChange):
615         * rendering/RenderBlock.h:
616         (RenderBlock):
617         * rendering/WrapShapeInfo.cpp:
618         (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock):
619         (WebCore::WrapShapeInfo::computeShapeSize):
620         * rendering/style/BasicShapes.cpp:
621         (WebCore::BasicShape::destroy):
622         * rendering/style/BasicShapes.h:
623         (WebCore::BasicShape::BasicShape):
624         (WebCore::BasicShapeRectangle::create):
625         (WebCore::BasicShapeRectangle::BasicShapeRectangle):
626         (WebCore::BasicShapeCircle::create):
627         (WebCore::BasicShapeCircle::BasicShapeCircle):
628         (WebCore::BasicShapeEllipse::create):
629         (WebCore::BasicShapeEllipse::BasicShapeEllipse):
630         (WebCore::BasicShapePolygon::create):
631         (WebCore::BasicShapePolygon::BasicShapePolygon):
632         * rendering/style/RenderStyle.h:
633         * rendering/style/StyleRareNonInheritedData.h:
634         (StyleRareNonInheritedData):
635
636 2012-08-30  Aaron Colwell  <acolwell@chromium.org>
637
638         Fix a crash in SourceBufferList.remove().
639         https://bugs.webkit.org/show_bug.cgi?id=94950
640
641         Reviewed by Eric Carlson.
642
643         Move SourceBuffer::clear() call before the removal of the SourceBuffer from
644         SourceBufferList::m_list to avoid a use after free if m_list holds the last
645         reference.
646
647         Test: http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html
648
649         * Modules/mediasource/SourceBufferList.cpp:
650         (WebCore::SourceBufferList::remove):
651
652 2012-08-30  Otto Derek Cheung  <otcheung@rim.com>
653
654         [BlackBerry] Modifying how IP domains are handled in Cookies
655         https://bugs.webkit.org/show_bug.cgi?id=95381
656
657         Reviewed by Rob Buis.
658         Internally reviewed by Joe Mason.
659
660         Current implementation handles IP addresses like normal domains.
661         This makes invalid cross domain cookies possibe by setting cookie
662         domains to a suffix of the targeted IP. (ex. hackers on 11.121.61.97
663         can set cookies to 61.97, so they show up on the targeted website of
664         10.120.61.97)
665
666         New Implementation is to detect IP addresses and treat them without
667         exploding them with the delimiter ".". That way, IP addresses will
668         be stored as a whole and other IPs won't have access to it.
669
670         PR 130051
671
672         Manually tested by accessing a webpage via IP (hosted through
673         LAMP - ex:10.121.61.97) and tried to set cookies with domains that
674         are a suffix to the ip address (ex: .97, 121.61.97).
675         Also tried to set cookies to other ip addresses that "domain matches"
676         the IP address (ex. 11.121.61.97). Verified that they all failed.
677
678         Tested using the cookies test page: http://browser.swlab.rim.net/test/cookies
679
680         * platform/blackberry/CookieManager.cpp:
681         (WebCore::CookieManager::getRawCookies):
682         (WebCore::CookieManager::checkAndTreatCookie):
683         (WebCore::CookieManager::findOrCreateCookieMap):
684         * platform/blackberry/CookieManager.h:
685         * platform/blackberry/CookieParser.cpp:
686         (WebCore::CookieParser::CookieParser):
687         (WebCore::CookieParser::parseOneCookie):
688         * platform/blackberry/CookieParser.h:
689         (CookieParser):
690         * platform/blackberry/ParsedCookie.cpp:
691         (WebCore::ParsedCookie::ParsedCookie):
692         * platform/blackberry/ParsedCookie.h:
693         (WebCore::ParsedCookie::setDomain):
694         (WebCore::ParsedCookie::domainIsIPAddress):
695         (ParsedCookie):
696
697 2012-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
698
699         Web Inspector: [regression] ui: heap profiler: splitter between containment and retainment views has white background.
700         https://bugs.webkit.org/show_bug.cgi?id=95460
701
702         Reviewed by Yury Semikhatsky.
703
704         it was regressed at r122332.
705
706         * inspector/front-end/heapProfiler.css:
707         (.heap-snapshot-view .retainers-view-header):
708
709 2012-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
710
711         Unreviewed, rolling out r127131.
712         http://trac.webkit.org/changeset/127131
713         https://bugs.webkit.org/show_bug.cgi?id=95463
714
715         It makes the fast/regions/ test crash on Chromium (Requested
716         by jchaffraix on #webkit).
717
718         * css/StyleResolver.cpp:
719         (WebCore::StyleResolver::collectMatchingRulesForList):
720         * rendering/InlineBox.cpp:
721         * rendering/InlineBox.h:
722         (WebCore):
723         (InlineBox):
724         * rendering/InlineFlowBox.cpp:
725         (WebCore::InlineFlowBox::addToLine):
726         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
727         * rendering/RenderRegion.h:
728         (RenderRegion):
729
730 2012-08-30  Alexander Pavlov  <apavlov@chromium.org>
731
732         Web Inspector: Some urls in CSS stylesheets cause errors when generating Computed Styles HTML
733         https://bugs.webkit.org/show_bug.cgi?id=95427
734
735         Reviewed by Vsevolod Vlasov.
736
737         Pass the parent StylesSidebarPane into ComputedStylePropertiesSection to avoid referencing an undefined field.
738         Avoid duplicating the parent pane by externally setting the |data| field on style property sections.
739
740         * inspector/front-end/StylesSidebarPane.js:
741         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
742         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
743         (WebInspector.StylePropertiesSection.prototype.get pane):
744         (WebInspector.ComputedStylePropertiesSection):
745         (WebInspector.ComputedStylePropertiesSection.prototype.get pane):
746         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
747         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
748
749 2012-08-30  Keishi Hattori  <keishi@webkit.org>
750
751         Tick marks don't match thumb when applying padding or border to input type=range
752         https://bugs.webkit.org/show_bug.cgi?id=93791
753
754         Reviewed by Kent Tamura.
755
756         Tick marks don't match thumb when styling input type=range. This change
757         calculate tick mark positions from track element size. Bug 94915 handles
758         drawing the track inside the content area.
759
760         Tests: fast/forms/datalist/input-appearance-range-with-padding-with-datalist.html
761                fast/forms/datalist/input-appearance-range-with-transform.html
762
763         * html/HTMLInputElement.cpp:
764         (WebCore::HTMLInputElement::sliderTrackElement):
765         (WebCore):
766         * html/HTMLInputElement.h:
767         (HTMLInputElement):
768         * html/InputType.h:
769         (WebCore::InputType::sliderTrackElement):
770         * html/RangeInputType.cpp:
771         (WebCore::RangeInputType::sliderTrackElement):
772         (WebCore):
773         * html/RangeInputType.h:
774         (RangeInputType):
775         * rendering/RenderTheme.cpp:
776         (WebCore::RenderTheme::paintSliderTicks): rect's position is relative to
777         the transformed ancestor element. sliderBounds is absolute. We use them
778         to calculate the track element position relative to the transformed
779         ancestor element.
780
781 2012-08-30  Julien Chaffraix  <jchaffraix@webkit.org>
782
783         Remove the now-unneeded invalidations in RenderTable::removeCaption
784         https://bugs.webkit.org/show_bug.cgi?id=94889
785
786         Reviewed by Abhishek Arya.
787
788         Following bug 94842 and 95090, the invalidation code was pushed down to
789         RenderTableCaption. This made apparent that we did some invalidations that
790         were not needed.
791
792         Refactoring covered by existing tests.
793
794         * rendering/RenderTable.cpp:
795         (WebCore::RenderTable::removeCaption):
796         Removed setNeedsRecalcStyle() as it's unneeded now. It was probably needed back when
797         we didn't support multiple captions (see bug 58249) but the need was never documented
798         so you could wonder if it was really needed in the first place.
799
800 2012-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
801
802         Web Inspector: [regression] ui: selectors in heap profiler view have no arrows at the right side of the text.
803         https://bugs.webkit.org/show_bug.cgi?id=95455
804
805         Reviewed by Yury Semikhatsky.
806
807         In console we use a span which wraps selectors and have necessary background.
808
809         * inspector/front-end/HeapSnapshotView.js:
810         (WebInspector.HeapSnapshotView.prototype.get statusBarItems.appendArrowImage):
811         (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
812
813 2012-08-30  Andrew Lo  <anlo@rim.com>
814
815         [BlackBerry] LayerTiler needs to respect new setting for prefill rect.
816         https://bugs.webkit.org/show_bug.cgi?id=95446
817
818         Reviewed by Rob Buis.
819
820         Internally reviewed by Arvid Nilsson.
821         Internal PR181637
822         Use new prefill rectangle setting to determine which tiles should be
823         prefilled in LayerTiler.
824
825         * platform/graphics/blackberry/LayerTiler.cpp:
826         (WebCore::LayerTiler::shouldPrefillTile):
827
828 2012-08-29  Dirk Schulze  <krit@webkit.org>
829
830         Refactor WrapShape to Shape/BasicShape
831         https://bugs.webkit.org/show_bug.cgi?id=95411
832
833         Reviewed by Andreas Kling.
834
835         The wrap shapes are currently specified by CSS3 Exclusions but are useful for other
836         CSS related proposals like CSS Masking as well. This is the first patch on a chain
837         of patches to refactor WrapShape to BasicShape. With this patch all relevant files
838         get renamend and the build systems updated. The classes will be renamend in a second
839         step.
840
841         Just renaming of files. No new tests.
842
843         * CMakeLists.txt:
844         * GNUmakefile.list.am:
845         * Target.pri:
846         * WebCore.gypi:
847         * WebCore.vcproj/WebCore.vcproj:
848         * WebCore.xcodeproj/project.pbxproj:
849         * css/BasicShapeFunctions.cpp: Renamed from Source/WebCore/css/WrapShapeFunctions.cpp.
850         (WebCore):
851         (WebCore::valueForWrapShape):
852         (WebCore::convertToLength):
853         (WebCore::wrapShapeForValue):
854         * css/BasicShapeFunctions.h: Renamed from Source/WebCore/css/WrapShapeFunctions.h.
855         (WebCore):
856         * css/CSSAllInOne.cpp:
857         * css/CSSBasicShapes.cpp: Renamed from Source/WebCore/css/CSSWrapShapes.cpp.
858         (WebCore):
859         (WebCore::CSSWrapShapeRectangle::cssText):
860         (WebCore::CSSWrapShapeCircle::cssText):
861         (WebCore::CSSWrapShapeEllipse::cssText):
862         (WebCore::CSSWrapShapePolygon::cssText):
863         * css/CSSBasicShapes.h: Renamed from Source/WebCore/css/CSSWrapShapes.h.
864         (WebCore):
865         (CSSWrapShape):
866         (WebCore::CSSWrapShape::~CSSWrapShape):
867         (WebCore::CSSWrapShape::CSSWrapShape):
868         (CSSWrapShapeRectangle):
869         (WebCore::CSSWrapShapeRectangle::create):
870         (WebCore::CSSWrapShapeRectangle::x):
871         (WebCore::CSSWrapShapeRectangle::y):
872         (WebCore::CSSWrapShapeRectangle::width):
873         (WebCore::CSSWrapShapeRectangle::height):
874         (WebCore::CSSWrapShapeRectangle::radiusX):
875         (WebCore::CSSWrapShapeRectangle::radiusY):
876         (WebCore::CSSWrapShapeRectangle::setX):
877         (WebCore::CSSWrapShapeRectangle::setY):
878         (WebCore::CSSWrapShapeRectangle::setWidth):
879         (WebCore::CSSWrapShapeRectangle::setHeight):
880         (WebCore::CSSWrapShapeRectangle::setRadiusX):
881         (WebCore::CSSWrapShapeRectangle::setRadiusY):
882         (WebCore::CSSWrapShapeRectangle::type):
883         (WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle):
884         (CSSWrapShapeCircle):
885         (WebCore::CSSWrapShapeCircle::create):
886         (WebCore::CSSWrapShapeCircle::centerX):
887         (WebCore::CSSWrapShapeCircle::centerY):
888         (WebCore::CSSWrapShapeCircle::radius):
889         (WebCore::CSSWrapShapeCircle::setCenterX):
890         (WebCore::CSSWrapShapeCircle::setCenterY):
891         (WebCore::CSSWrapShapeCircle::setRadius):
892         (WebCore::CSSWrapShapeCircle::type):
893         (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
894         (CSSWrapShapeEllipse):
895         (WebCore::CSSWrapShapeEllipse::create):
896         (WebCore::CSSWrapShapeEllipse::centerX):
897         (WebCore::CSSWrapShapeEllipse::centerY):
898         (WebCore::CSSWrapShapeEllipse::radiusX):
899         (WebCore::CSSWrapShapeEllipse::radiusY):
900         (WebCore::CSSWrapShapeEllipse::setCenterX):
901         (WebCore::CSSWrapShapeEllipse::setCenterY):
902         (WebCore::CSSWrapShapeEllipse::setRadiusX):
903         (WebCore::CSSWrapShapeEllipse::setRadiusY):
904         (WebCore::CSSWrapShapeEllipse::type):
905         (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
906         (CSSWrapShapePolygon):
907         (WebCore::CSSWrapShapePolygon::create):
908         (WebCore::CSSWrapShapePolygon::appendPoint):
909         (WebCore::CSSWrapShapePolygon::getXAt):
910         (WebCore::CSSWrapShapePolygon::getYAt):
911         (WebCore::CSSWrapShapePolygon::values):
912         (WebCore::CSSWrapShapePolygon::setWindRule):
913         (WebCore::CSSWrapShapePolygon::windRule):
914         (WebCore::CSSWrapShapePolygon::type):
915         (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
916         * css/CSSComputedStyleDeclaration.cpp:
917         * css/CSSParser.cpp:
918         * css/CSSPrimitiveValue.cpp:
919         * css/StyleBuilder.cpp:
920         * rendering/style/BasicShapes.cpp: Renamed from Source/WebCore/rendering/style/WrapShapes.cpp.
921         (WebCore):
922         (WebCore::WrapShape::destroy):
923         * rendering/style/BasicShapes.h: Renamed from Source/WebCore/rendering/style/WrapShapes.h.
924         (WebCore):
925         (WrapShape):
926         (WebCore::WrapShape::deref):
927         (WebCore::WrapShape::type):
928         (WebCore::WrapShape::WrapShape):
929         (WrapShapeRectangle):
930         (WebCore::WrapShapeRectangle::create):
931         (WebCore::WrapShapeRectangle::x):
932         (WebCore::WrapShapeRectangle::y):
933         (WebCore::WrapShapeRectangle::width):
934         (WebCore::WrapShapeRectangle::height):
935         (WebCore::WrapShapeRectangle::cornerRadiusX):
936         (WebCore::WrapShapeRectangle::cornerRadiusY):
937         (WebCore::WrapShapeRectangle::setX):
938         (WebCore::WrapShapeRectangle::setY):
939         (WebCore::WrapShapeRectangle::setWidth):
940         (WebCore::WrapShapeRectangle::setHeight):
941         (WebCore::WrapShapeRectangle::setCornerRadiusX):
942         (WebCore::WrapShapeRectangle::setCornerRadiusY):
943         (WebCore::WrapShapeRectangle::WrapShapeRectangle):
944         (WrapShapeCircle):
945         (WebCore::WrapShapeCircle::create):
946         (WebCore::WrapShapeCircle::centerX):
947         (WebCore::WrapShapeCircle::centerY):
948         (WebCore::WrapShapeCircle::radius):
949         (WebCore::WrapShapeCircle::setCenterX):
950         (WebCore::WrapShapeCircle::setCenterY):
951         (WebCore::WrapShapeCircle::setRadius):
952         (WebCore::WrapShapeCircle::WrapShapeCircle):
953         (WrapShapeEllipse):
954         (WebCore::WrapShapeEllipse::create):
955         (WebCore::WrapShapeEllipse::centerX):
956         (WebCore::WrapShapeEllipse::centerY):
957         (WebCore::WrapShapeEllipse::radiusX):
958         (WebCore::WrapShapeEllipse::radiusY):
959         (WebCore::WrapShapeEllipse::setCenterX):
960         (WebCore::WrapShapeEllipse::setCenterY):
961         (WebCore::WrapShapeEllipse::setRadiusX):
962         (WebCore::WrapShapeEllipse::setRadiusY):
963         (WebCore::WrapShapeEllipse::WrapShapeEllipse):
964         (WrapShapePolygon):
965         (WebCore::WrapShapePolygon::create):
966         (WebCore::WrapShapePolygon::windRule):
967         (WebCore::WrapShapePolygon::values):
968         (WebCore::WrapShapePolygon::getXAt):
969         (WebCore::WrapShapePolygon::getYAt):
970         (WebCore::WrapShapePolygon::setWindRule):
971         (WebCore::WrapShapePolygon::appendPoint):
972         (WebCore::WrapShapePolygon::WrapShapePolygon):
973         * rendering/style/StyleRareNonInheritedData.h:
974
975 2012-08-30  Andrei Onea  <onea@adobe.com>
976
977         [CSSRegions]Add support for text-shadow in region styling
978         https://bugs.webkit.org/show_bug.cgi?id=94472
979
980         Reviewed by David Hyatt.
981
982         The CSSRegions spec allows region styling to be applied on the text-shadow property
983         as well. We need to also add this in WebKit.
984
985         Test: fast/regions/region-style-text-shadow.html
986
987         * css/StyleResolver.cpp:
988         (WebCore::StyleResolver::collectMatchingRulesForList):
989         Make sure we actually collect text-shadow property from parser in an @region rule.
990         * rendering/InlineBox.cpp:
991         (WebCore::InlineBox::styleInRegion):
992         (WebCore):
993         (WebCore::InlineBox::regionDuringLayout):
994         * rendering/InlineBox.h:
995         (WebCore):
996         (InlineBox):
997         * rendering/InlineFlowBox.cpp:
998         (WebCore::InlineFlowBox::addToLine):
999         Take into account region styling, so that "knownToHaveNoOverflow" is computed
1000         properly.
1001         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1002         Take into account region styling, so that the visual overflow rect is computed
1003         properly.
1004         * rendering/RenderRegion.h:
1005         (RenderRegion):
1006         Made computeStyleInRegion public.
1007
1008 2012-08-30  Andreas Kling  <kling@webkit.org>
1009
1010         Element: Share code between setAttributeNode() and other attribute setters.
1011         <http://webkit.org/b/95328>
1012
1013         Reviewed by Antti Koivisto.
1014
1015         Removed the specialized ElementAttributeData::replaceAttribute() that was only used for
1016         replacing an existing Attr node on an Element. Instead, just use Element::setAttributeInternal()
1017         like all the other attribute setters.
1018
1019         * dom/Element.cpp:
1020         (WebCore::Element::setAttributeNode):
1021         * dom/ElementAttributeData.cpp:
1022         * dom/ElementAttributeData.h:
1023         (ElementAttributeData):
1024
1025 2012-08-30  Xan Lopez  <xlopez@igalia.com>
1026
1027         1.9.90 drops symbols, breaking compatibility
1028         https://bugs.webkit.org/show_bug.cgi?id=93477
1029
1030         Reviewed by Martin Robinson.
1031
1032         Add a bunch of compatibility methods to the GObject DOM bindings
1033         to cope with recent renames.
1034
1035         * bindings/gobject/WebKitDOMCustom.cpp:
1036         (webkit_dom_html_element_get_class_list):
1037         (webkit_dom_element_get_webkit_region_overflow):
1038         (webkit_dom_webkit_named_flow_get_content_nodes):
1039         (webkit_dom_webkit_named_flow_get_regions_by_content_node):
1040         * bindings/gobject/WebKitDOMCustom.h:
1041
1042 2012-08-29  Antti Koivisto  <antti@apple.com>
1043
1044         Cache and share parsed imported stylesheets
1045         https://bugs.webkit.org/show_bug.cgi?id=95219
1046
1047         Reviewed by Andreas Kling.
1048
1049         We currently cache and share parsed data structures of stylesheets loaded with <link>. We should do
1050         the same with stylesheets loaded using @import rules as they are also fairly common.
1051         
1052         This patch adds support for caching and sharing stylesheets loaded using @import rules. Only leaf
1053         stylesheets (that don't have @import rules themselves) can be cached for now.
1054
1055         * css/CSSImportRule.cpp:
1056         (WebCore::CSSImportRule::reattachStyleSheetContents):
1057         (WebCore):
1058         * css/CSSImportRule.h:
1059         (CSSImportRule):
1060         * css/CSSStyleSheet.cpp:
1061         (WebCore::CSSStyleSheet::willMutateRules):
1062         (WebCore::CSSStyleSheet::reattachCSSOMWrappers):
1063         * css/CSSStyleSheet.h:
1064         (CSSStyleSheet):
1065         * css/StyleRuleImport.cpp:
1066         (WebCore::StyleRuleImport::setCSSStyleSheet):
1067         (WebCore::StyleRuleImport::reattachStyleSheetContents):
1068         (WebCore):
1069         * css/StyleRuleImport.h:
1070         (StyleRuleImport):
1071         * loader/cache/CachedCSSStyleSheet.cpp:
1072         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
1073
1074 2012-08-30  Kangil Han  <kangil.han@samsung.com>
1075
1076         Fix compile warning when enable tiled backing store
1077         https://bugs.webkit.org/show_bug.cgi?id=95422
1078
1079         Reviewed by Kentaro Hara.
1080
1081         Fixed compile warning messages when enabled tiled backing store.
1082         In case of TiledBackingStore, it was first thought about static_cast<unsigned>.
1083         However, if minus value is assigned to the comparison, it would be critical.
1084         So, it was modified as using int value in tiled coordinate calculation.
1085
1086         * page/Frame.cpp:
1087         (WebCore::Frame::tiledBackingStorePaintEnd): comparison between signed and unsigned integer expressions [-Wsign-compare]
1088         * platform/graphics/TiledBackingStore.cpp:
1089         (WebCore::TiledBackingStore::invalidate): comparison between signed and unsigned integer expressions [-Wsign-compare]
1090         (WebCore::TiledBackingStore::paint): comparison between signed and unsigned integer expressions [-Wsign-compare]
1091         (WebCore::TiledBackingStore::coverageRatio): comparison between signed and unsigned integer expressions [-Wsign-compare]
1092         (WebCore::TiledBackingStore::createTiles): comparison between signed and unsigned integer expressions [-Wsign-compare]
1093         * platform/graphics/cairo/GLContext.cpp:
1094         (WebCore::GLContext::createOffscreenContext): no return statement in function returning non-void [-Wreturn-type]
1095
1096 2012-08-30  Anton Muhin  <antonm@chromium.org>
1097
1098         Heap-use-after-free in WebCore::ElementV8Internal::onclickAttrGetter
1099         https://bugs.webkit.org/show_bug.cgi?id=94440
1100
1101         Reviewed by Adam Barth.
1102
1103         The problem appears due to onerror callback which resets onclick attribute.
1104         As a part of changing onclick attribute value, previous event listener
1105         gets deref which led to its destruction and hence use-after-free.
1106         Refing it in ::getListenerObject helps to prevent this unfortunate scenario.
1107
1108         Test: fast/events/set-attribute-listener-window-onerror-crash.html
1109
1110         * bindings/v8/V8AbstractEventListener.h:
1111         (WebCore::V8AbstractEventListener::getListenerObject):
1112
1113 2012-08-30  Vsevolod Vlasov  <vsevik@chromium.org>
1114
1115         Web Inspector: [Sources] Invisible right sidebar issue
1116         https://bugs.webkit.org/show_bug.cgi?id=94924
1117
1118         Reviewed by Pavel Feldman.
1119
1120         Debugger sidebar resizer is now hidden when sidebar is hidden.
1121         Debugger sidebar show button is moved to the upper right corner in this case.
1122
1123         * inspector/front-end/ScriptsPanel.js:
1124         (WebInspector.ScriptsPanel.prototype._showDebuggerSidebar):
1125         (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
1126         * inspector/front-end/scriptsPanel.css:
1127         (button.status-bar-item.scripts-debugger-show-hide-button):
1128         (button.status-bar-item.scripts-debugger-show-hide-button:active):
1129         (button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown):
1130         (button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown:active):
1131         (button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden):
1132         (button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden:active):
1133
1134 2012-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
1135
1136         Web Inspector: move GeneratedImage members into its own cpp file
1137         https://bugs.webkit.org/show_bug.cgi?id=95351
1138
1139         Reviewed by Yury Semikhatsky.
1140
1141         It is trivial patch. The methods of GeneratedImage were in GeneratorGeneratedImage.cpp file.
1142         It was Ok when it was a single method.
1143
1144         * CMakeLists.txt:
1145         * GNUmakefile.list.am:
1146         * Target.pri:
1147         * WebCore.gypi:
1148         * WebCore.vcproj/WebCore.vcproj:
1149         * WebCore.xcodeproj/project.pbxproj:
1150         * platform/graphics/GeneratedImage.cpp: Added.
1151         (WebCore):
1152         (WebCore::GeneratedImage::computeIntrinsicDimensions):
1153         (WebCore::GeneratedImage::reportMemoryUsage):
1154         * platform/graphics/GeneratorGeneratedImage.cpp:
1155
1156 2012-08-30  Patrick Gansterer  <paroga@webkit.org>
1157
1158         Build fix for WinCE after r126974.
1159
1160         * platform/graphics/BitmapImage.cpp:
1161         (WebCore::BitmapImage::reportMemoryUsage):
1162
1163 2012-08-30  Adam Barth  <abarth@webkit.org>
1164
1165         Replace uses of WTF::String::operator+= with StringBuilder
1166         https://bugs.webkit.org/show_bug.cgi?id=95416
1167
1168         Reviewed by Benjamin Poulain.
1169
1170         WTF::String::operator+= appears to be a sandtrap for contributors. The
1171         vast majority of the callers are using very inefficient string
1172         patterns. This patch removes the use of operator+= in favor of
1173         StringBuilder. Eventually, I'd like to remove operator+= so that more
1174         code doesn't fall into this trap.
1175
1176         * Modules/websockets/WebSocketHandshake.cpp:
1177         (WebCore::resourceName):
1178         * html/HTMLAnchorElement.cpp:
1179         (WebCore::appendServerMapMousePosition):
1180         (WebCore::HTMLAnchorElement::handleClick):
1181         * html/canvas/CanvasRenderingContext2D.cpp:
1182         (WebCore::CanvasRenderingContext2D::font):
1183         * platform/network/ResourceRequestBase.cpp:
1184         (WebCore::ResourceRequestBase::addHTTPHeaderField):
1185         * rendering/RenderLayerBacking.cpp:
1186         (WebCore::RenderLayerBacking::nameForLayer):
1187         * rendering/RenderTreeAsText.cpp:
1188         (WebCore::RenderTreeAsText::writeRenderObject):
1189         (WebCore::nodePosition):
1190         * rendering/style/RenderStyle.cpp:
1191         (WebCore::RenderStyle::setContent):
1192
1193 2012-08-30  Shinya Kawanaka  <shinyak@chromium.org>
1194
1195         AuthorShadowDOM support for textarea element.
1196         https://bugs.webkit.org/show_bug.cgi?id=91485
1197
1198         Reviewed by Dimitri Glazkov.
1199
1200         We add AuthorShadowDOM support for textarea element.
1201
1202         Unlike other replaced elements (e.g. meter, progress, img), we do not need to add
1203         extra RenderBlock when we add AuthorShadowDOM. However, since inner element will not have
1204         renderer when AuthorShadowDOM does not have any shadow insertion point, we have to check
1205         the existence of the renderer of inner element.
1206
1207         Tests: fast/dom/shadow/shadowdom-for-textarea-with-attribute.html
1208                fast/dom/shadow/shadowdom-for-textarea-with-placeholder.html
1209                fast/dom/shadow/shadowdom-for-textarea-with-style.html
1210                fast/dom/shadow/shadowdom-for-textarea.html
1211
1212         * dom/ShadowRoot.cpp:
1213         (WebCore::allowsAuthorShadowRoot): Needs allow textarea to have AuthorShadowRoot.
1214         * rendering/RenderTextControl.cpp: When AuthorShadowDOM does not have any insertion point,
1215         innerTextElement() will not have any renderer. We have to tweak these renderers not to be crashed.
1216         (WebCore::RenderTextControl::textBlockWidth):
1217         (WebCore::RenderTextControl::updateFromElement):
1218         (WebCore::RenderTextControl::computeLogicalHeight):
1219         (WebCore::RenderTextControl::hitInnerTextElement):
1220         (WebCore::RenderTextControl::computePreferredLogicalWidths):
1221
1222 2012-08-29  Adam Barth  <abarth@webkit.org>
1223
1224         [V8] ScriptController::matchesCurrentContext duplicates code from ScriptController::currentWorldContext
1225         https://bugs.webkit.org/show_bug.cgi?id=95156
1226
1227         Reviewed by Eric Seidel.
1228
1229         matchesCurrentContext duplicated code from currentWorldContext in order
1230         to avoid creating a new v8::Local handle in the (common) case that
1231         we're already in the right context. This patch just exposes an accessor
1232         for the underlying handle so that the bindings code can do this work
1233         itself.
1234
1235         * bindings/scripts/CodeGeneratorV8.pm:
1236         (GenerateToV8Converters):
1237         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1238         (WebCore::V8TestActiveDOMObject::wrapSlow):
1239         * bindings/scripts/test/V8/V8TestNode.cpp:
1240         (WebCore::V8TestNode::wrapSlow):
1241         * bindings/v8/ScriptController.cpp:
1242         (WebCore::ScriptController::unsafeHandleToCurrentWorldContext):
1243         (WebCore):
1244         (WebCore::ScriptController::currentWorldContext):
1245         * bindings/v8/ScriptController.h:
1246         (ScriptController):
1247         * bindings/v8/V8DOMWindowShell.h:
1248         (WebCore::V8DOMWindowShell::context):
1249
1250 2012-08-29  Nat Duca  <nduca@chromium.org>
1251
1252         [chromium] setNeedsAnimate should not cause commitRequested to become true
1253         https://bugs.webkit.org/show_bug.cgi?id=95393
1254
1255         Reviewed by James Robinson.
1256
1257         We use the commitRequested state to determine if the page has been damaged, which
1258         then is used by the input flow control logic to coalesce input events. However, we
1259         actually have two notions of commitRequested. At the CCLayerTreeHost level, commit
1260         being requested means "we've changed the tree in some way." At the proxy level, it
1261         means "we've sent a commit request to the impl thread." Without this patch,
1262         we use the latter state to answer ::commitRequested. That causes setNeedsAnimate
1263         to incorrectly cause the commitRequested bit to be set.
1264
1265         This change separates the setNeedsCommit state from commitRequestSentToImplThread.
1266         This allows us to correctly answer commitRequested in face of mixed animation and
1267         invalidation requests.
1268
1269         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1270         (WebCore::CCThreadProxy::CCThreadProxy):
1271         (WebCore::CCThreadProxy::setNeedsAnimate):
1272         (WebCore::CCThreadProxy::setNeedsCommit):
1273         (WebCore::CCThreadProxy::beginFrame):
1274         * platform/graphics/chromium/cc/CCThreadProxy.h:
1275         (CCThreadProxy):
1276
1277 2012-08-29  Simon Hausmann  <simon.hausmann@nokia.com>
1278
1279         [Qt] REGRESSION(r126694): It broke the debug build
1280         https://bugs.webkit.org/show_bug.cgi?id=95037
1281
1282         Unreviewed trivial build fix for debug builds.
1283
1284         Don't pass WTFStrings through printf, use .ascii().data().
1285
1286         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1287         (WebCore::StandardFilterProgram::StandardFilterProgram):
1288
1289 2012-08-29  Rafael Brandao  <rafael.lobo@openbossa.org>
1290
1291         Fix assertion on Document::recalcStyle to not recalc style while painting
1292         https://bugs.webkit.org/show_bug.cgi?id=95386
1293
1294         Reviewed by Eric Seidel.
1295
1296         * dom/Document.cpp: Move assertion outside the if to reflect that safety check.
1297
1298 2012-08-29  Aaron Colwell  <acolwell@chromium.org>
1299
1300         Add WebKit prefix to MediaSource, SourceBuffer, & SourceBufferList DOMWindow constructor attributes.
1301         https://bugs.webkit.org/show_bug.cgi?id=95247
1302
1303         Reviewed by Eric Carlson.
1304
1305         Add WebKit prefix to MediaSource, SourceBuffer, and SourceBufferList object constructor attributes.
1306
1307         Covered by existing layout tests..
1308
1309         * page/DOMWindow.idl:
1310
1311 2012-08-29  Nate Chapin  <japhet@chromium.org>
1312
1313         ProgressTracker never completes if iframe detached during parsing 
1314         https://bugs.webkit.org/show_bug.cgi?id=92272
1315
1316         Reviewed by Adam Barth.
1317
1318         Add a simple helper class to FrameLoader to ensure progressStarted/progressCompleted calls are matched,
1319         and balance the calls when the Frame is detached.
1320
1321         No new tests, as this behavior has only been producing reliably by setting a breakpoint in a specific place.
1322
1323         * loader/FrameLoader.cpp:
1324         (FrameLoader::FrameProgressTracker):
1325         (WebCore::FrameLoader::FrameProgressTracker::create):
1326         (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
1327         (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
1328         (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
1329         (WebCore::FrameLoader::FrameProgressTracker::FrameProgressTracker):
1330         (WebCore):
1331         (WebCore::FrameLoader::init):
1332         (WebCore::FrameLoader::prepareForLoadStart):
1333         (WebCore::FrameLoader::clearProvisionalLoad):
1334         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1335         (WebCore::FrameLoader::detachFromParent):
1336         * loader/FrameLoader.h:
1337         (FrameLoader):
1338
1339 2012-08-29  Yoshifumi Inoue  <yosin@chromium.org>
1340
1341         [Forms] Rename DateTimeFieldElement::FieldEventHandler to FieldOwner
1342         https://bugs.webkit.org/show_bug.cgi?id=95280
1343
1344         Reviewed by Kent Tamura.
1345
1346         This patch renames DateTimeFieldElement::FieldEventHandler to FieldOwner
1347         for matching functionaly of class and class name to add functions like
1348         focusOnNextField().
1349
1350         This patch affects ports which enables both ENABLE_INPUT_TYPE_TIME and
1351         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1352
1353         This patch is a part of changing Shift+Tab focus navigation of
1354         multiple fields input time UI, bug 95168.
1355
1356         No new tests. This patch doesn't change behavior.
1357
1358         * html/shadow/DateTimeEditElement.h:
1359         (DateTimeEditElement):
1360         * html/shadow/DateTimeFieldElement.cpp:
1361         (WebCore::DateTimeFieldElement::FieldOwner::~FieldOwner):
1362         (WebCore::DateTimeFieldElement::DateTimeFieldElement):
1363         (WebCore::DateTimeFieldElement::focusOnNextField):
1364         (WebCore::DateTimeFieldElement::updateVisibleValue):
1365         * html/shadow/DateTimeFieldElement.h:
1366         (FieldOwner):
1367         (WebCore::DateTimeFieldElement::removeEventHandler):
1368         (DateTimeFieldElement):
1369         * html/shadow/DateTimeFieldElements.cpp:
1370         (WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement):
1371         (WebCore::DateTimeAMPMFieldElement::create):
1372         (WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement):
1373         (WebCore::DateTimeHourFieldElement::create):
1374         (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
1375         (WebCore::DateTimeMillisecondFieldElement::create):
1376         (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
1377         (WebCore::DateTimeMinuteFieldElement::create):
1378         (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
1379         (WebCore::DateTimeSecondFieldElement::create):
1380         * html/shadow/DateTimeFieldElements.h:
1381         (DateTimeAMPMFieldElement):
1382         (DateTimeHourFieldElement):
1383         (DateTimeMillisecondFieldElement):
1384         (DateTimeMinuteFieldElement):
1385         (DateTimeSecondFieldElement):
1386         * html/shadow/DateTimeNumericFieldElement.cpp:
1387         (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
1388         * html/shadow/DateTimeNumericFieldElement.h:
1389         (DateTimeNumericFieldElement):
1390         * html/shadow/DateTimeSymbolicFieldElement.cpp:
1391         (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
1392         * html/shadow/DateTimeSymbolicFieldElement.h:
1393         (DateTimeSymbolicFieldElement):
1394
1395 2012-08-29  Dominic Mazzoni  <dmazzoni@google.com>
1396
1397         AX: Canvas should have a distinct role
1398         https://bugs.webkit.org/show_bug.cgi?id=95248
1399
1400         Reviewed by Chris Fleizach.
1401
1402         Add new role for a canvas element, and a method to determine if
1403         a canvas has fallback content, so each platform can decide on the
1404         appropriate role mapping to use.
1405
1406         Test: accessibility/canvas-description-and-role.html
1407
1408         * accessibility/AccessibilityNodeObject.cpp:
1409         (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
1410         (WebCore):
1411         * accessibility/AccessibilityNodeObject.h:
1412         (AccessibilityNodeObject):
1413         * accessibility/AccessibilityObject.h:
1414         (WebCore::AccessibilityObject::isCanvas):
1415         (WebCore::AccessibilityObject::canvasHasFallbackContent):
1416         * accessibility/AccessibilityRenderObject.cpp:
1417         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1418         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1419         (WebCore::AccessibilityRenderObject::canHaveChildren):
1420         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1421         (atkRole):
1422         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1423         (createAccessibilityRoleMap):
1424         (-[WebAccessibilityObjectWrapper role]):
1425
1426 2012-08-29  Michael Saboff  <msaboff@apple.com>
1427
1428         use after free in WebCore::FileReader::doAbort
1429         https://bugs.webkit.org/show_bug.cgi?id=91004
1430
1431         Reviewed by Jian Li.
1432
1433         Added check in FileReader::abort to not process the abort if we aren't in the LOADING
1434         state.  This is per the FileAPI spec section 8.5.6 step #1.
1435
1436         Tests: fast/files/file-reader-immediate-abort.html
1437                fast/files/file-reader-done-reading-abort.html
1438
1439         * fileapi/FileReader.cpp:
1440         (WebCore::FileReader::abort):
1441
1442 2012-08-29  Alex Sakhartchouk  <alexst@chromium.org>
1443
1444         [chromium] CCLayerTreeHost::finishCommitOnImplThread wrong setter order
1445         https://bugs.webkit.org/show_bug.cgi?id=94828
1446
1447         Reviewed by Adrienne Walker.
1448
1449         setDeviceScaleFactor affects maxScrollPosition, making sure it's properly updated.
1450         This also removes setter order dependency.
1451
1452         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1453         (WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor):
1454
1455 2012-08-29  James Robinson  <jamesr@chromium.org>
1456
1457         Unreviewed, rolling out r126956.
1458         http://trac.webkit.org/changeset/126956
1459         https://bugs.webkit.org/show_bug.cgi?id=94721
1460
1461         Breaks several unit tests - see https://bugs.webkit.org/show_bug.cgi?id=95358 for instance.
1462
1463         * platform/graphics/chromium/cc/CCScheduler.cpp:
1464         (WebCore::CCScheduler::CCScheduler):
1465         (WebCore::CCScheduler::beginFrameComplete):
1466         (WebCore::CCScheduler::vsyncTick):
1467         (WebCore::CCScheduler::processScheduledActions):
1468         * platform/graphics/chromium/cc/CCScheduler.h:
1469         (CCSchedulerClient):
1470         (CCScheduler):
1471         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
1472         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
1473         (WebCore::CCTextureUpdateController::hasMoreUpdates):
1474         (WebCore):
1475         (WebCore::CCTextureUpdateController::updateMoreTextures):
1476         (WebCore::CCTextureUpdateController::onTimerFired):
1477         (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
1478         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
1479         (WebCore):
1480         (WebCore::CCTextureUpdateController::create):
1481         (CCTextureUpdateController):
1482         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1483         (WebCore::CCThreadProxy::didLoseContextOnImplThread):
1484         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
1485         (WebCore::CCThreadProxy::hasMoreResourceUpdates):
1486         (WebCore):
1487         (WebCore::CCThreadProxy::scheduledActionCommit):
1488         * platform/graphics/chromium/cc/CCThreadProxy.h:
1489         (WebCore):
1490
1491 2012-08-29  James Robinson  <jamesr@chromium.org>
1492
1493         [chromium] Register/unregister contents layers with GraphicsLayerChromium
1494         https://bugs.webkit.org/show_bug.cgi?id=95379
1495
1496         Reviewed by Adrienne Walker.
1497
1498         Several composited layer types in WebCore are represented by a painted layer and a child "contents layer" that
1499         represents some non-painted specific content type. For example, a composited video has a WebCore-painted layer
1500         for CSS background and border effects and a child platform video layer backed by a WebVideoLayer with the output
1501         of the video decoding pipeline. Cross-platform code associates the PlatformLayer from the various composited
1502         systems with the right GraphicsLayer, but the object owning the layer and the GraphicsLayer holding the pointer
1503         otherwise have no relationship. This makes shutdown a bit tricky since the object destroying the contents layer
1504         has no direct way to notify the GraphicsLayer holding the contents layer pointer that it is going away. The
1505         GraphicsLayer will be notified after the next style recalc that its contents layer is gone, but may need to do
1506         any number of bookkeeping operations before that happens.
1507
1508         On most platforms the PlatformLayer is refcounted, so the GraphicsLayer simply holds a ref to its contents layer
1509         from the time it is orphaned until the next style recalc and compositing tree rebuild. In Chromium, however,
1510         PlatformLayer is not refcounted. This adds an explicit registration mechanism for layers that may be contents
1511         layers.  A layer has to be registered with GraphicsLayerChromium before it can be used as a contents layer -
1512         typically this is just done at creation - and unregistered before it is destroyed.
1513
1514         Tests: fast/canvas/transformed-canvas-reset.html
1515                platform/chromium/virtual/gpu/fast/canvas/transformed-canvas-reset.html
1516
1517         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1518         (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate):
1519         (WebCore::createScrollbarLayer):
1520         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1521         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1522         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1523         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1524         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1525         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1526         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1527         (WebCore::GraphicsLayerChromium::updateNames):
1528         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1529         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1530         (WebCore::GraphicsLayerChromium::setContentsToImage):
1531         (WebCore):
1532         (WebCore::GraphicsLayerChromium::registerContentsLayer):
1533         (WebCore::GraphicsLayerChromium::unregisterContentsLayer):
1534         (WebCore::GraphicsLayerChromium::clearContentsLayerIfUnregistered):
1535         (WebCore::GraphicsLayerChromium::setContentsTo):
1536         (WebCore::GraphicsLayerChromium::updateChildList):
1537         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1538         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1539         (WebCore::GraphicsLayerChromium::updateContentsRect):
1540         * platform/graphics/chromium/GraphicsLayerChromium.h:
1541         (GraphicsLayerChromium):
1542
1543 2012-08-29  Rafael Brandao  <rafael.lobo@openbossa.org>
1544
1545         [Texmap] CSS Transform flicks at the end of animation
1546         https://bugs.webkit.org/show_bug.cgi?id=95347
1547
1548         Reviewed by Noam Rosenthal.
1549
1550         * platform/graphics/GraphicsLayerAnimation.cpp: Check if the last loop has
1551         been completed and then use 1.0 as normalized value for the progress, otherwise
1552         it would work as if there was a new loop forward and then cycle the progress value.
1553
1554 2012-08-29  Abhishek Arya  <inferno@chromium.org>
1555
1556         Crash in WebCore::StyleSheetContents::checkLoadCompleted.
1557         https://bugs.webkit.org/show_bug.cgi?id=95106
1558
1559         Reviewed by Antti Koivisto.
1560
1561         RefPtr StyleSheetContents since it can get blown away in script execution inside
1562         sheetLoaded().
1563
1564         Test: fast/css/style-element-process-crash.html
1565
1566         * css/StyleSheetContents.cpp:
1567         (WebCore::StyleSheetContents::checkLoadCompleted):
1568
1569 2012-08-29  José Dapena Paz  <jdapena@igalia.com>
1570
1571         [Gtk] Process Gtk 3.4 smooth scroll events properly.
1572         https://bugs.webkit.org/show_bug.cgi?id=88070
1573
1574         Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
1575         provides detailed delta information.
1576
1577         Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
1578         code to process properly the new direction GDK_SCROLL_SMOOTH and
1579         its deltas.
1580
1581         Reviewed by Martin Robinson.
1582
1583         Test: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
1584
1585         * platform/gtk/PlatformWheelEventGtk.cpp:
1586         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1587
1588 2012-08-29  Dana Jansens  <danakj@chromium.org>
1589
1590         [chromium] Remove HUD layer when rootLayer is set to null
1591         https://bugs.webkit.org/show_bug.cgi?id=95257
1592
1593         Reviewed by James Robinson.
1594
1595         When the rootLayer changes, remove the HUD layer from the old
1596         root layer immediately. Then, during commit, set the hud layer
1597         on the impl side only if there is a HUD layer present, and if
1598         there is a rootLayer present for it to be a child of.
1599
1600         Tests: CCHudWithRootLayerChange
1601
1602         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1603         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
1604         (WebCore::CCLayerTreeHost::willCommit):
1605         (WebCore::CCLayerTreeHost::setRootLayer):
1606         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1607         (WebCore::CCLayerTreeHost::hudLayer):
1608         (CCLayerTreeHost):
1609
1610 2012-08-29  Roland Takacs  <rtakacs@inf.u-szeged.hu>, Helder Correia  <helder.correia@nokia.com>
1611
1612         [Texmap] Move TextureMapperGL to use GraphicsContext3D
1613         https://bugs.webkit.org/show_bug.cgi?id=78672
1614
1615         Reviewed by Noam Rosenthal.
1616
1617         It is based on a previous patch by Helder Correia.
1618
1619         TextureMapperGL (TMGL) includes direct GL calls and
1620         GraphicsContext3D (GC3D) offers many conveniences over the
1621         former approach: using existing CSS shader code, ANGLE for
1622         shader compilation, reusing WebCore::Texture, having shaders and
1623         textures that can delete themselves.
1624
1625         A GC3D object is created by TMGL with the newly introduced
1626         builder createForCurrentGLContext(), which in turn uses
1627         the new RenderToCurrentGLContext flag underneath.
1628
1629         TMGL's dependency on OpenGLShims.h was completely removed.
1630         However, GC3D does not map every single GL constant. Thus, it's
1631         important to document the following:
1632             - GL_FALSE was mapped to false.
1633             - GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_PIXELS,
1634             GL_UNPACK_SKIP_ROWS, GL_TEXTURE_RECTANGLE_ARB, and
1635             GL_UNSIGNED_INT_8_8_8_8_REV were locally defined in TMGL.
1636
1637         The patch was originally developed by Helder Correia and finished
1638         by Roland Takacs.
1639
1640         No new tests, refactoring.
1641
1642         * platform/graphics/GraphicsContext3D.h:
1643         * platform/graphics/texmap/TextureMapperGL.cpp:
1644         (SharedGLData):
1645         (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
1646         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
1647         (WebCore::TextureMapperGLData::sharedGLData):
1648         (WebCore::TextureMapperGLData::TextureMapperGLData):
1649         (TextureMapperGLData):
1650         (WebCore::scissorClip):
1651         (WebCore::TextureMapperGL::ClipStack::apply):
1652         (WebCore::TextureMapperGLData::initializeStencil):
1653         (WebCore::TextureMapperGL::TextureMapperGL):
1654         (WebCore::TextureMapperGL::beginPainting):
1655         (WebCore::TextureMapperGL::endPainting):
1656         (WebCore::TextureMapperGL::drawQuad):
1657         (WebCore::TextureMapperGL::drawBorder):
1658         (WebCore):
1659         (WebCore::TextureMapperGL::drawTextureRectangleARB):
1660         (WebCore::TextureMapperGL::drawTexture):
1661         (WebCore::viewportMatrix):
1662         (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
1663         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
1664         (WebCore::BitmapTextureGL::didReset):
1665         (WebCore::BitmapTextureGL::updateContents):
1666         (WebCore::TextureMapperGL::drawFiltered):
1667         (WebCore::BitmapTextureGL::initializeStencil):
1668         (WebCore::BitmapTextureGL::clearIfNeeded):
1669         (WebCore::BitmapTextureGL::createFboIfNeeded):
1670         (WebCore::BitmapTextureGL::bind):
1671         (WebCore::BitmapTextureGL::~BitmapTextureGL):
1672         (WebCore::TextureMapperGL::bindDefaultSurface):
1673         (WebCore::TextureMapperGL::beginScissorClip):
1674         (WebCore::TextureMapperGL::beginClip):
1675         (WebCore::TextureMapperGL::endClip):
1676         (WebCore::TextureMapperGL::createTexture):
1677         * platform/graphics/texmap/TextureMapperGL.h:
1678         (WebCore::TextureMapperGL::graphicsContext3D):
1679         (TextureMapperGL):
1680         (ClipStack):
1681         (WebCore::BitmapTextureGL::textureTarget):
1682         (BitmapTextureGL):
1683         (WebCore::BitmapTextureGL::BitmapTextureGL):
1684         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1685         (WebCore):
1686         (WebCore::TextureMapperShaderManager::getShaderProgram):
1687         (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
1688         (WebCore::TextureMapperShaderProgram::initializeProgram):
1689         (WebCore::TextureMapperShaderProgram::getUniformLocation):
1690         (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
1691         (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
1692         (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
1693         (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
1694         (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
1695         (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask):
1696         (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask):
1697         (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
1698         (WebCore::StandardFilterProgram::~StandardFilterProgram):
1699         (WebCore::StandardFilterProgram::StandardFilterProgram):
1700         (WebCore::StandardFilterProgram::create):
1701         (WebCore::StandardFilterProgram::prepare):
1702         (WebCore::TextureMapperShaderManager::getShaderForFilter):
1703         * platform/graphics/texmap/TextureMapperShaderManager.h:
1704         (WebCore::TextureMapperShaderProgram::id):
1705         (WebCore::TextureMapperShaderProgram::vertexAttrib):
1706         (TextureMapperShaderProgram):
1707         (WebCore::TextureMapperShaderProgram::matrixLocation):
1708         (WebCore::TextureMapperShaderProgram::flipLocation):
1709         (WebCore::TextureMapperShaderProgram::textureSizeLocation):
1710         (WebCore::TextureMapperShaderProgram::sourceTextureLocation):
1711         (WebCore::TextureMapperShaderProgram::maskTextureLocation):
1712         (WebCore::TextureMapperShaderProgram::opacityLocation):
1713         (WebCore::TextureMapperShaderProgram::isValidUniformLocation):
1714         (StandardFilterProgram):
1715         (WebCore::StandardFilterProgram::vertexAttrib):
1716         (WebCore::StandardFilterProgram::texCoordAttrib):
1717         (WebCore::StandardFilterProgram::textureUniform):
1718         (WebCore::TextureMapperShaderProgramSimple::create):
1719         (TextureMapperShaderProgramSimple):
1720         (WebCore::TextureMapperShaderProgramRectSimple::create):
1721         (TextureMapperShaderProgramRectSimple):
1722         (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
1723         (TextureMapperShaderProgramOpacityAndMask):
1724         (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create):
1725         (TextureMapperShaderProgramRectOpacityAndMask):
1726         (WebCore::TextureMapperShaderProgramSolidColor::create):
1727         (WebCore::TextureMapperShaderProgramSolidColor::colorLocation):
1728         (TextureMapperShaderProgramSolidColor):
1729         (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create):
1730         (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation):
1731         (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation):
1732         (TextureMapperShaderProgramAntialiasingNoMask):
1733         (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
1734         (TextureMapperShaderManager):
1735
1736 2012-08-29  Adam Barth  <abarth@webkit.org>
1737
1738         Convert more static Strings to use ASCIILiteral
1739         https://bugs.webkit.org/show_bug.cgi?id=95313
1740
1741         Reviewed by Eric Seidel.
1742
1743         This patch converts another swath of static strings to use ASCIILiteral
1744         as recommended by http://trac.webkit.org/wiki/EfficientStrings.
1745
1746         * Modules/mediasource/MediaSource.cpp:
1747         (WebCore::MediaSource::openKeyword):
1748         (WebCore):
1749         (WebCore::MediaSource::closedKeyword):
1750         (WebCore::MediaSource::endedKeyword):
1751         * Modules/mediasource/MediaSource.h:
1752         (MediaSource):
1753         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
1754         (WebCore::customHandlersStateString):
1755         * Modules/notifications/Notification.cpp:
1756         (WebCore::Notification::permissionString):
1757         * accessibility/AccessibilityMediaControls.cpp:
1758         (WebCore::AccessibilityMediaControl::controlTypeName):
1759         (WebCore::AccessibilityMediaControl::title):
1760         (WebCore::AccessibilityMediaControlsContainer::elementTypeName):
1761         (WebCore::AccessibilityMediaTimeline::helpText):
1762         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1763         (WebCore::JSInspectorFrontendHost::platform):
1764         (WebCore::JSInspectorFrontendHost::port):
1765         * bindings/js/ScriptEventListener.cpp:
1766         (WebCore::eventParameterName):
1767         * bindings/v8/ScriptEventListener.cpp:
1768         (WebCore::eventParameterName):
1769         * css/CSSWrapShapes.cpp:
1770         (WebCore::CSSWrapShapeRectangle::cssText):
1771         (WebCore::CSSWrapShapeCircle::cssText):
1772         (WebCore::CSSWrapShapeEllipse::cssText):
1773         (WebCore::CSSWrapShapePolygon::cssText):
1774         * css/StyleSheetContents.cpp:
1775         (WebCore::StyleSheetContents::parseAuthorStyleSheet):
1776         * dom/Document.cpp:
1777         (WebCore::Document::readyState):
1778         * editing/MarkupAccumulator.cpp:
1779         (WebCore::appendCharactersReplacingEntities):
1780         * editing/markup.cpp:
1781         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
1782         (WebCore::StyledMarkupAccumulator::styleNodeCloseTag):
1783         (WebCore::StyledMarkupAccumulator::appendElement):
1784         (WebCore::createMarkup):
1785         * html/track/TextTrackCue.cpp:
1786         (WebCore::startKeyword):
1787         (WebCore::middleKeyword):
1788         (WebCore::endKeyword):
1789         (WebCore::verticalGrowingLeftKeyword):
1790         (WebCore::verticalGrowingRightKeyword):
1791         (WebCore::TextTrackCue::updateDisplayTree):
1792         (WebCore::TextTrackCue::settingName):
1793         * page/DiagnosticLoggingKeys.cpp:
1794         (WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
1795         (WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
1796         (WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
1797         (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
1798         (WebCore::DiagnosticLoggingKeys::pageContainsPluginKey):
1799         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey):
1800         (WebCore::DiagnosticLoggingKeys::passKey):
1801         (WebCore::DiagnosticLoggingKeys::failKey):
1802         (WebCore::DiagnosticLoggingKeys::noopKey):
1803         * page/PageVisibilityState.cpp:
1804         (WebCore::pageVisibilityStateString):
1805         * page/UserContentURLPattern.cpp:
1806         (WebCore::UserContentURLPattern::parse):
1807         * platform/KURLWTFURL.cpp:
1808         (WebCore::KURL::string):
1809         * platform/MIMETypeRegistry.cpp:
1810         (WebCore::defaultMIMEType):
1811         (WebCore::mimeTypeAssociationMap):
1812         * platform/network/ContentTypeParser.cpp:
1813         (WebCore::ContentTypeParser::parse):
1814         * platform/network/win/DownloadBundleWin.cpp:
1815         (WebCore::DownloadBundle::fileExtension):
1816         * storage/StorageTracker.cpp:
1817         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1818         * svg/SVGAnimatedBoolean.cpp:
1819         (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
1820
1821 2012-08-29  David Hyatt  <hyatt@apple.com>
1822
1823         [New Multicolumn] Rename methods to prepare for proper pagination of columns
1824         https://bugs.webkit.org/show_bug.cgi?id=95375
1825
1826         Reviewed by Simon Fraser.
1827
1828         This patch is doing some renaming and refactoring to prepare for proper pagination of columns. Most of the renames
1829         involve changing RenderFlowThread functions to exactly match the names of their RenderBlock callers. These names
1830         end up being more accurate once the top of a page and remaining height on a page no longer have a 1:1 mapping to
1831         the RenderRegion's dimensions.
1832         
1833         The renames/additions include:
1834             renderRegionForLine -> regionAtBlockOffset
1835             Justification: The block method is already called regionAtBlockOffset. No lines are involved, so line was
1836             never the correct term to be passing in.
1837             
1838             regionLogicalXXXForLine -> pageLogicalXXXForOffset
1839             Justification: Matches the RenderBlock callers, and it's more accurate to talk in terms of "pages" now that
1840             we have RenderRegionSets that can contain multiple "pages" in a single region.
1841             
1842             logicalWidthForFlowThreadContent/logicalHeightForFlowThreadContent -> pageLogicalWidth/Height.
1843             Justification: Makes it more clear we're talking about the width and height of a single page/column rather
1844             than the width and height of the region itself.
1845             
1846             logicalHeightOfAllFlowThreadContent
1847             This method is new and represents the total flow thread logical height that is consumed by the region.
1848             It has to be distinguished from the pageLogicalHeight for a region since sets can have multiple pages/columns.
1849
1850         Note with this patch we're essentially adopting the convention used by all of the pagination code besides regions
1851         of referring to anything we paginate as a "page." I continue to believe this is the simplest way to talk about
1852         these objects in code that is generically dealing with all three (like the breaking code in RenderBlock).
1853  
1854         Eventually we might adopt the fragment terminology in the latest CSS draft, in which case 
1855         RenderRegion would become RenderFragment, RenderFlowThread would become RenderFragmentedBlock, and uses of
1856         the generic "page" would become "fragment" instead, but we'll wait for that draft's terminology to stabilize first
1857         before switching away from the current names.
1858
1859         * rendering/RenderBlock.cpp:
1860         (WebCore::RenderBlock::hasNextPage):
1861         (WebCore::RenderBlock::pageLogicalTopForOffset):
1862         (WebCore::RenderBlock::pageLogicalHeightForOffset):
1863         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
1864         (WebCore::RenderBlock::regionAtBlockOffset):
1865         * rendering/RenderFlowThread.cpp:
1866         (WebCore::RenderFlowThread::layout):
1867         (WebCore::RenderFlowThread::computeLogicalWidth):
1868         (WebCore::RenderFlowThread::computeLogicalHeight):
1869         (WebCore::RenderFlowThread::regionAtBlockOffset):
1870         (WebCore::RenderFlowThread::pageLogicalTopForOffset):
1871         (WebCore::RenderFlowThread::pageLogicalWidthForOffset):
1872         (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
1873         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
1874         (WebCore::RenderFlowThread::mapFromFlowToRegion):
1875         (WebCore::RenderFlowThread::setRegionRangeForBox):
1876         * rendering/RenderFlowThread.h:
1877         * rendering/RenderMultiColumnSet.h:
1878         * rendering/RenderRegion.cpp:
1879         (WebCore::RenderRegion::pageLogicalWidth):
1880         (WebCore::RenderRegion::pageLogicalHeight):
1881         (WebCore):
1882         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
1883         (WebCore::RenderRegion::layout):
1884         * rendering/RenderRegion.h:
1885         (RenderRegion):
1886
1887 2012-08-29  David Grogan  <dgrogan@chromium.org>
1888
1889         IndexedDB: Throw TypeError for invalid version parameters
1890         https://bugs.webkit.org/show_bug.cgi?id=95143
1891
1892         Reviewed by Tony Chang.
1893
1894         Still need to throw for -1, but developers are running into the string
1895         scenario so handling that is more urgent. See
1896         https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-html5/QvjsPbBdP4M
1897
1898         Test: storage/indexeddb/intversion-bad-parameters.html
1899
1900         * Modules/indexeddb/IDBFactory.cpp:
1901         (WebCore::IDBFactory::open):
1902
1903 2012-08-29  Alexandru Chiculita  <achicu@adobe.com>
1904
1905         [CSS Shaders] Use CSS transform parsing code within CSS Shader
1906         https://bugs.webkit.org/show_bug.cgi?id=71401
1907
1908         Reviewed by Dean Jackson.
1909
1910         Added computed style for the transform parameters of the custom() filter function.
1911         Implemented the FECustomFilter bindings needed to push the value to an actual matrix for the CSS Shader.
1912         
1913         Note that transform parameters animations support will come in a different patch: 
1914         https://bugs.webkit.org/show_bug.cgi?id=94980.
1915
1916         Test: css3/filters/custom/effect-custom-transform-parameters.html
1917
1918         * GNUmakefile.list.am:
1919         * Target.pri:
1920         * WebCore.gypi:
1921         * WebCore.vcproj/WebCore.vcproj:
1922         * WebCore.xcodeproj/project.pbxproj:
1923         * css/CSSComputedStyleDeclaration.cpp:
1924         (WebCore::matrixTransformValue): Extracted code from computedTransform into a function, so that we
1925         can reuse it.
1926         (WebCore):
1927         (WebCore::computedTransform):
1928         (WebCore::valueForCustomFilterNumberParameter): Made all the custom filter related functions static to match
1929         most of the other functions in this file.
1930         (WebCore::valueForCustomFilterTransformParameter):
1931         (WebCore::valueForCustomFilterParameter): 
1932         (WebCore::CSSComputedStyleDeclaration::valueForFilter): Needed the object size to compute the transform.
1933         (WebCore::CSSComputedStyleDeclaration::valueForShadow): Added the const keyword.
1934         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Passed in the object to the valueForFilter.
1935         * css/CSSComputedStyleDeclaration.h:
1936         (WebCore):
1937         (CSSComputedStyleDeclaration):
1938         * css/StyleResolver.cpp:
1939         (StyleResolver::parseCustomFilterTransformParameter):
1940         (StyleResolver::parseCustomFilterParameter):
1941         (StyleResolver::parseCustomFilterParameterList): 
1942         * css/StyleResolver.h:
1943         (StyleResolver):
1944         * platform/graphics/filters/CustomFilterParameter.h:
1945         * platform/graphics/filters/CustomFilterTransformParameter.h: Filter parameter wrapper for the FilterOperations.
1946         (WebCore):
1947         (CustomFilterTransformParameter):
1948         (WebCore::CustomFilterTransformParameter::create):
1949         (WebCore::CustomFilterTransformParameter::blend): Animations will come in future patch.
1950         (WebCore::CustomFilterTransformParameter::operator==):
1951         (WebCore::CustomFilterTransformParameter::applyTransform):
1952         (WebCore::CustomFilterTransformParameter::operations):
1953         (WebCore::CustomFilterTransformParameter::setOperations):
1954         (WebCore::CustomFilterTransformParameter::CustomFilterTransformParameter):
1955         * platform/graphics/filters/FECustomFilter.cpp:
1956         (WebCore::FECustomFilter::bindProgramTransformParameter):
1957         (WebCore):
1958         (WebCore::FECustomFilter::bindProgramParameters):
1959         * platform/graphics/filters/FECustomFilter.h:
1960         (WebCore):
1961         (FECustomFilter):
1962
1963 2012-08-29  Rafael Brandao  <rafael.lobo@openbossa.org>
1964
1965         Use Animation::IterationCountInfinite instead of -1 when setting iteration count
1966         https://bugs.webkit.org/show_bug.cgi?id=95339
1967
1968         Reviewed by Andreas Kling.
1969
1970         * css/CSSToStyleMap.cpp: Replace -1 for the proper enum.
1971
1972 2012-08-29  Martin Robinson  <mrobinson@igalia.com>
1973
1974         [TexMap][cairo] Add GC3D::RenderToCurrentGLContext support
1975         https://bugs.webkit.org/show_bug.cgi?id=92441
1976
1977         Reviewed by Noam Rosenthal.
1978
1979         Add a RenderToCurrentGLContext for the Cairo GraphicsContext3D. This will allow
1980         TextureMapperGL to be rewritten on top of GraphicsContext3D by exposing the GC3D
1981         interface for the widget's GL context.
1982
1983         No new tests. This will be covered by the existing AC tests after the patch on
1984         bug 78672 lands.
1985
1986         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1987         (WebCore::GraphicsContext3D::GraphicsContext3D): Only create the offscreen
1988         rendering buffers if we are rendering offscreen. Pass the rendering style to
1989         the private data factory.
1990         (WebCore::GraphicsContext3D::~GraphicsContext3D): Only destroy the offscreen
1991         rendering buffers if we are rendering offscreen.
1992         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
1993         (WebCore::GraphicsContext3DPrivate::create): Pass the rendering style through.
1994         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): If we are using
1995         a "current GL context" rendering style, we don't need to create a GL context.
1996         We'll always just use the one that's currently active.
1997         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Assert that we only
1998         do this with the offscreen rendering style.
1999         * platform/graphics/cairo/GraphicsContext3DPrivate.h: Update method definitions
2000         and expose the rendering style member GraphicsContext3D.
2001
2002 2012-08-29  Martin Leutelt  <martin.leutelt@basyskom.com>
2003
2004         [Qt] Implement CompositeDifference
2005         https://bugs.webkit.org/show_bug.cgi?id=77355
2006
2007         Reviewed by Noam Rosenthal.
2008
2009         Add mapping for difference composite mode for
2010         future use.
2011         
2012         * platform/graphics/qt/GraphicsContextQt.cpp:
2013         (WebCore::toQtCompositionMode):
2014
2015 2012-08-29  Rob Buis  <rbuis@rim.com>
2016
2017         [BlackBerry] Adjust wtf include header style
2018         https://bugs.webkit.org/show_bug.cgi?id=95368
2019
2020         Reviewed by Yong Li.
2021
2022         Switch to #include <wtf/...> like the other ports.
2023
2024         * platform/graphics/blackberry/LayerFilterRenderer.h:
2025
2026 2012-08-29  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2027
2028         Web Inspector: Timeline: avoid "IPC message too big" on save/load
2029         https://bugs.webkit.org/show_bug.cgi?id=91991
2030
2031         Reviewed by Alexander Pavlov.
2032
2033         Motivation: Now timeline tries to save all data with one chunk.
2034         Sometimes this causes "IPC message too big" error.
2035
2036         Solution: Reuse Profiles/Heap save/load code.
2037
2038         * inspector/front-end/FileUtils.js:
2039         (WebInspector.OutputStream): Moved from HeapSnapshotView.js
2040         (WebInspector.findBalancedCurlyBrackets): Moved from HeapSnapshotLoader.js
2041         (WebInspector.ChunkedXHRReader): Added.
2042         (WebInspector.ChunkedFileWriter): Moved from HeapSnapshotView.js
2043         * inspector/front-end/HeapSnapshotLoader.js: Utility method moved to FileUtils.js
2044         * inspector/front-end/HeapSnapshotView.js: IO specific classes moved to FileUtils.js
2045         * inspector/front-end/HeapSnapshotWorker.js: Added dependency to FileUtils.js
2046         * inspector/front-end/TimelineModel.js: Adopted chunked IO API.
2047         (WebInspector.TimelineModelLoader): Class for chunked deserialization.
2048         (WebInspector.TimelineModelWriteToFileDelegate): Chunked serializer.
2049
2050 2012-08-29  David Hyatt  <hyatt@apple.com>
2051
2052         [New Multicolumn] Implement hit testing for columns.
2053         https://bugs.webkit.org/show_bug.cgi?id=95367
2054
2055         Reviewed by Simon Fraser.
2056
2057         Add an implementation of nodeAtPoint for RenderMultiColumnSet that works similarly to painting.
2058         Multiple calls get made as you walk through the columns to hitTestFlowThreadPortionInRegion.
2059
2060         * rendering/RenderMultiColumnSet.cpp:
2061         (WebCore::RenderMultiColumnSet::nodeAtPoint):
2062         (WebCore):
2063         * rendering/RenderMultiColumnSet.h:
2064         (RenderMultiColumnSet):
2065         * rendering/RenderRegion.cpp:
2066         (WebCore::RenderRegion::nodeAtPoint):
2067
2068 2012-08-29  Anna Cavender  <annacc@chromium.org>
2069
2070         Create a toggle button for closed captions.
2071         https://bugs.webkit.org/show_bug.cgi?id=94395
2072
2073         Reviewed by Eric Carlson.
2074
2075         This patch will create a button that toggles any captions or subtitles on or off.
2076
2077         Test: media/video-controls-captions.html
2078
2079         * css/mediaControlsChromium.css:
2080         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2081         New style for new button.
2082
2083         * html/HTMLMediaElement.cpp:
2084         (WebCore::HTMLMediaElement::HTMLMediaElement):
2085         Initialize new variable for keeping track of user (button) disabled captions.
2086
2087         (WebCore::HTMLMediaElement::loadTimerFired):
2088         Rename configureNewTextTracks() to configureTextTracks().
2089
2090         (WebCore::HTMLMediaElement::prepareForLoad):
2091         Do not set closedCaptionsVisible to false, we should instead honor the
2092         checks for default out-of-band tracks.
2093
2094         (WebCore::HTMLMediaElement::textTrackModeChanged):
2095         Rename configureNewTextTracks() to configureTextTracks().
2096
2097         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind):
2098         Add checks for when user has requested to see or not see captions.
2099
2100         (WebCore::HTMLMediaElement::configureTextTracks):
2101         Rename configureNewTextTracks() to configureTextTracks().
2102
2103         (WebCore::HTMLMediaElement::hasClosedCaptions):
2104         Return true if we have any caption or subtitle text tracks.
2105
2106         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
2107         Update the text track display and the closed captions button when the
2108         closed captions button is toggled.
2109
2110         (WebCore::HTMLMediaElement::configureTextTrackDisplay):
2111         If the visibility of any text tracks has changed, update the display and
2112         the controls.
2113
2114         (WebCore::HTMLMediaElement::updateClosedCaptionsControls):
2115         New function that updates both the text track display and the closed
2116         captions button.
2117
2118         * html/HTMLMediaElement.h:
2119         (HTMLMediaElement):
2120         New function updateClosedCaptionsControls()
2121
2122         Adding the button:
2123         * html/shadow/MediaControlRootElementChromium.cpp:
2124         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
2125         (WebCore::MediaControlRootElementChromium::initializeControls):
2126         (WebCore::MediaControlRootElementChromium::setMediaController):
2127         (WebCore::MediaControlRootElementChromium::reset):
2128         (WebCore::MediaControlRootElementChromium::reportedError):
2129         (WebCore::MediaControlRootElementChromium::changedClosedCaptionsVisibility):
2130         (WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
2131         * html/shadow/MediaControlRootElementChromium.h:
2132         (WebCore):
2133         (MediaControlRootElementChromium):
2134
2135         Ensure that Linux and Windows render themes will support closed captions:
2136         * rendering/RenderThemeChromiumSkia.cpp:
2137         (WebCore):
2138         (WebCore::supportsClosedCaptioning):
2139         * rendering/RenderThemeChromiumSkia.h:
2140         (RenderThemeChromiumSkia):
2141
2142 2012-08-29  Jessie Berlin  <jberlin@apple.com>
2143
2144         run-bindings-tests failing on Apple Mountain Lion Testers.
2145         https://bugs.webkit.org/show_bug.cgi?id=95354
2146
2147         Reviewed by Eric Seidel.
2148
2149         The binding tests were expecting incorrect results on Mac. The versions using the @property
2150         syntax are correct for Leopard and above. CodeGeneratorObjC.pm was determining which syntax
2151         to use based on the value of MACOSX_DEPLOYMENT_TARGET, which might not be set in the
2152         environment the tests get run in but is correctly set by xcodebuild.
2153
2154         * bindings/scripts/CodeGeneratorObjC.pm:
2155         (GenerateHeader):
2156         Remove the code to support Tiger and earlier and the reliance on MACOSX_DEPLOYMENT_TARGET.
2157         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
2158         Update the expectations to expect the @property syntax (done with --reset-results).
2159         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
2160         Ditto.
2161         * bindings/scripts/test/ObjC/DOMTestException.h:
2162         Ditto.
2163         * bindings/scripts/test/ObjC/DOMTestInterface.h:
2164         Ditto.
2165         * bindings/scripts/test/ObjC/DOMTestObj.h:
2166         Ditto.
2167         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
2168         Ditto.
2169
2170 2012-08-29  Vivek Galatage  <vivekgalatage@gmail.com>
2171
2172         Web Inspector: Refactor InspectorFrontendClientLocal to remove ScriptState as member
2173         https://bugs.webkit.org/show_bug.cgi?id=95343
2174
2175         Reviewed by Yury Semikhatsky.
2176
2177         The ScriptState is not required to be stored as a member to
2178         InspectorFrontendClientLocal hence removing it as member.
2179
2180         No new tests due to code refactoring.
2181
2182         * inspector/InspectorFrontendClientLocal.cpp:
2183         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2184         (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
2185         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
2186         * inspector/InspectorFrontendClientLocal.h:
2187         (WebCore):
2188         (InspectorFrontendClientLocal):
2189
2190 2012-08-28  Shawn Singh  <shawnsingh@chromium.org>
2191
2192         [chromium] Do not clip root layer's subtree to viewport
2193         https://bugs.webkit.org/show_bug.cgi?id=95235
2194
2195         Reviewed by Adrienne Walker.
2196
2197         The root layer's renderSurface already correctly clips everything
2198         to the viewport's bounds.  There are some useful reasons that we
2199         should not cause the root layer itself to clip the subtree any
2200         further, in particular so that surfaces can remain more cacheable,
2201         and to make root layer semantics more homogeneous.
2202
2203         Existing tests updated, and otherwise this change is already
2204         covered by layout and unit tests.
2205
2206         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2207         (WebCore::calculateDrawTransformsInternal):
2208
2209 2012-08-28  David Hyatt  <hyatt@apple.com>
2210
2211         [New Multicolumn] Implement column contents painting.
2212         https://bugs.webkit.org/show_bug.cgi?id=95251
2213
2214         Reviewed by Simon Fraser.
2215
2216         This patch implements paintColumnContents for the new multicolumn blocks. There are a number of
2217         improvements made over the current multi-column implementation. They include the fact that left
2218         and right columns will now be unclipped, so contents of columns can actually spill out of the block now.
2219         Outlines now also work properly. The contents of the first column and last column can also now overflow
2220         visually out of the top and bottom of those columns respectively.
2221
2222         * rendering/RenderMultiColumnSet.cpp:
2223         (WebCore::RenderMultiColumnSet::flowThreadPortionRectAt):
2224         This method returns the exact portion of the flow thread that matches the column dimensions.
2225         The width and height are the column width and height. It is equivalent to RenderRegion::flowThreadPortionRect,
2226         but is applied only for a specific column in the set.
2227
2228         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
2229         This method expands the flowThreadPortionRect to unclip the edges of left and right columns, the top and
2230         bottom edges of first and last columns, and it also expands the painting to go into half of the column
2231         gap. It is analogous to RenderRegion::flowThreadPortionOverflowRect, but it's doing the right thing
2232         for each individual column.
2233
2234         (WebCore::RenderMultiColumnSet::paintColumnContents):
2235         The implementation of column contents painting. Each column is iterated over, and the two rects above
2236         are computed and passed in to RenderFlowThread::paintFlowThreadPortionInRegion. This code does the right
2237         thing with offsets and clipping when handed these two rects and handles all of the rest.
2238
2239         * rendering/RenderMultiColumnSet.h:
2240         Declare the new functions that return the flow thread portion rects.
2241
2242         * rendering/RenderRegion.cpp:
2243         (WebCore::RenderRegion::flowThreadPortionOverflowRect):
2244         (WebCore):
2245         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
2246         * rendering/RenderRegion.h:
2247         (RenderRegion):
2248         * rendering/RenderRegionSet.cpp:
2249         Refactor this so that it can be invoked by column sets and operate on the first and last columns instead
2250         of only being tied to the first and last regions.
2251
2252         (WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded):
2253         Fix a bug here where the flowThread.y() should not have been subtracted. We're in local flow thread
2254         coordinates.
2255
2256 2012-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2257
2258         Unreviewed, rolling out r126972.
2259         http://trac.webkit.org/changeset/126972
2260         https://bugs.webkit.org/show_bug.cgi?id=95349
2261
2262         accessibility/canvas-description-and-role.html has been
2263         failing consistently on several bots and Dominic needs some
2264         time to investigate why (Requested by jchaffraix on #webkit).
2265
2266         * accessibility/AccessibilityNodeObject.cpp:
2267         * accessibility/AccessibilityNodeObject.h:
2268         * accessibility/AccessibilityObject.h:
2269         (AccessibilityObject):
2270         * accessibility/AccessibilityRenderObject.cpp:
2271         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2272         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2273         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2274         (WebCore::AccessibilityRenderObject::canHaveChildren):
2275         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2276         (atkRole):
2277         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2278         (createAccessibilityRoleMap):
2279         (-[WebAccessibilityObjectWrapper role]):
2280
2281 2012-08-29  Vsevolod Vlasov  <vsevik@chromium.org>
2282
2283         Web Inspector: Minor ResourceScriptMapping polish.
2284         https://bugs.webkit.org/show_bug.cgi?id=95350
2285
2286         Reviewed by Alexander Pavlov.
2287
2288         Added some compiler annotations.
2289         ResourceScriptMapping is no longer a UISourceCodeProvider, removed unused methods and obsolete compiler annotations.
2290
2291         * inspector/front-end/ResourceScriptMapping.js:
2292         (WebInspector.ResourceScriptMapping):
2293
2294 2012-08-29  Vsevolod Vlasov  <vsevik@chromium.org>
2295
2296         Web Inspector: Extract StylesSourceMapping from StylesUISourceCodeProvider.
2297         https://bugs.webkit.org/show_bug.cgi?id=95345
2298
2299         Reviewed by Alexander Pavlov.
2300
2301         * WebCore.gypi:
2302         * WebCore.vcproj/WebCore.vcproj:
2303         * inspector/compile-front-end.py:
2304         * inspector/front-end/ResourceScriptMapping.js:
2305         (WebInspector.ResourceScriptMapping): Drive-by: ResourceScriptMapping now uses workspace object passed in parameters, not the global one.
2306         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
2307         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
2308         * inspector/front-end/StylesSourceMapping.js: Copied from Source/WebCore/inspector/front-end/StylesUISourceCodeProvider.js.
2309         (WebInspector.StylesSourceMapping):
2310         (WebInspector.StylesSourceMapping.prototype.addUISourceCode):
2311         (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
2312         (WebInspector.StylesSourceMapping.prototype.uiLocationToRawLocation):
2313         (WebInspector.StylesSourceMapping.prototype.reset):
2314         * inspector/front-end/StylesUISourceCodeProvider.js:
2315         (WebInspector.StylesUISourceCodeProvider):
2316         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
2317         (WebInspector.StylesUISourceCodeProvider.prototype._reset): Drive-by: _populate is now called with setTimeout.
2318         * inspector/front-end/WebKit.qrc:
2319         * inspector/front-end/inspector.html:
2320
2321 2012-08-29  Alexander Pavlov  <apavlov@chromium.org>
2322
2323         Web Inspector: Page with @import and :last-child in an edited stylesheet will crash
2324         https://bugs.webkit.org/show_bug.cgi?id=95324
2325
2326         Reviewed by Antti Koivisto.
2327
2328         Ensure the destroyed StyleRules removal from StyleResolver by creating a separate RuleMutationScope for clearing the StyleSheetContents.
2329
2330         Test: inspector/styles/import-pseudoclass-crash.html
2331
2332         * inspector/InspectorStyleSheet.cpp:
2333         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2334
2335 2012-08-29  Vsevolod Vlasov  <vsevik@chromium.org>
2336
2337         Web Inspector: Turn workspace into a container of UiSourceCodes put in different projects.
2338         https://bugs.webkit.org/show_bug.cgi?id=95335
2339
2340         Reviewed by Pavel Feldman.
2341
2342         Workspace now contains a project that could be filled with uiSourceCodes.
2343         Workspace project is still filled by script / style mappings as before.
2344         The next step would be to extract NetworkUISourceCodeProvider.
2345
2346         * inspector/front-end/BreakpointManager.js:
2347         (WebInspector.BreakpointManager):
2348         * inspector/front-end/CompilerScriptMapping.js:
2349         (WebInspector.CompilerScriptMapping):
2350         (WebInspector.CompilerScriptMapping.prototype._reset):
2351         * inspector/front-end/DebuggerScriptMapping.js:
2352         (WebInspector.DebuggerScriptMapping):
2353         * inspector/front-end/ResourceScriptMapping.js:
2354         (WebInspector.ResourceScriptMapping):
2355         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
2356         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
2357         (WebInspector.ResourceScriptMapping.prototype._reset):
2358         * inspector/front-end/RevisionHistoryView.js:
2359         (WebInspector.RevisionHistoryView):
2360         * inspector/front-end/SASSSourceMapping.js:
2361         (WebInspector.SASSSourceMapping):
2362         (_bindUISourceCode):
2363         (rawLocationToUILocation):
2364         (_reset):
2365         * inspector/front-end/ScriptSnippetModel.js:
2366         (WebInspector.ScriptSnippetModel):
2367         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
2368         (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
2369         (WebInspector.SnippetScriptMapping.prototype.addScript):
2370         * inspector/front-end/ScriptsPanel.js:
2371         (WebInspector.ScriptsPanel):
2372         * inspector/front-end/StylesUISourceCodeProvider.js:
2373         (WebInspector.StylesUISourceCodeProvider):
2374         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
2375         (WebInspector.StylesUISourceCodeProvider.prototype._reset):
2376         * inspector/front-end/Workspace.js:
2377         (WebInspector.WorkspaceController):
2378         (WebInspector.WorkspaceController.prototype._mainFrameNavigated):
2379         (WebInspector.Project):
2380         (WebInspector.Project.prototype.reset):
2381         (WebInspector.Project.prototype.addUISourceCode):
2382         (WebInspector.Project.prototype.replaceUISourceCode):
2383         (WebInspector.Project.prototype.removeUISourceCode):
2384         (WebInspector.Project.prototype.uiSourceCodeForURL):
2385         (WebInspector.Project.prototype.uiSourceCodes):
2386         (WebInspector.Workspace):
2387         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
2388         (WebInspector.Workspace.prototype.project):
2389         (WebInspector.Workspace.prototype.uiSourceCodes):
2390         * inspector/front-end/inspector.js:
2391
2392 2012-08-29  Florin Malita  <fmalita@chromium.org>
2393
2394         Incorrect large-area clipping
2395         https://bugs.webkit.org/show_bug.cgi?id=95197
2396
2397         Reviewed by Nikolas Zimmermann.
2398
2399         ImageBuffers allocated for clipping and masking are clamped to kMaxImageBufferSize max
2400         (4096x4096). In order to properly account for the scaling factor introduced by this
2401         clamping, the repaintRect translation component needs to be pushed after the scaling
2402         transform.
2403
2404         Tests: svg/custom/clamped-masking-clipping-expected.svg
2405                svg/custom/clamped-masking-clipping.svg
2406
2407         * rendering/svg/SVGRenderingContext.cpp:
2408         (WebCore::SVGRenderingContext::createImageBuffer):
2409
2410 2012-08-29  Yury Semikhatsky  <yurys@chromium.org>
2411
2412         Web Inspector: unsafe static_cast in RetainedDOMInfo::IsEquivalent
2413         https://bugs.webkit.org/show_bug.cgi?id=95315
2414
2415         Reviewed by Vsevolod Vlasov.
2416
2417         * bindings/v8/RetainedDOMInfo.cpp:
2418         (WebCore::RetainedDOMInfo::IsEquivalent): compare retained object info
2419         labels before casting v8::RetainedObjectInfo to WebCore::RetainedObjectInfo
2420         as the |other| object may not be a descendant of WebCore::RetainedObjectInfo.
2421
2422 2012-08-29  Jochen Eisinger  <jochen@chromium.org>
2423
2424         REGRESSION(r126816): Missing includes when compiling without SVG
2425         https://bugs.webkit.org/show_bug.cgi?id=95312
2426
2427         Reviewed by Eric Seidel.
2428
2429         * rendering/FilterEffectRenderer.h:
2430         * rendering/RenderLayerFilterInfo.h:
2431
2432 2012-08-29  Adam Barth  <abarth@webkit.org>
2433
2434         Improve string efficiency using StringBuilder and StringOperations
2435         https://bugs.webkit.org/show_bug.cgi?id=95304
2436
2437         Reviewed by Eric Seidel.
2438
2439         As recommended by http://trac.webkit.org/wiki/EfficientStrings.
2440
2441         * css/CSSLineBoxContainValue.cpp:
2442         (WebCore::CSSLineBoxContainValue::customCssText):
2443         * css/CSSPropertySourceData.cpp:
2444         (WebCore::CSSPropertySourceData::toString):
2445         * css/MediaList.cpp:
2446         (WebCore::MediaQuerySet::mediaText):
2447         * css/ShadowValue.cpp:
2448         (WebCore::ShadowValue::customCssText):
2449         * dom/MicroDataItemList.cpp:
2450         (WebCore::MicroDataItemList::undefinedItemType):
2451         * editing/HTMLInterchange.cpp:
2452         (WebCore::convertedSpaceString):
2453
2454 2012-08-29  James Robinson  <jamesr@chromium.org>
2455
2456         [chromium] Use floating point literals in expressions that initialize floats
2457         https://bugs.webkit.org/show_bug.cgi?id=95293
2458
2459         Reviewed by Adam Barth.
2460
2461         Visual studio's C4305, which is on for some chromium code, complains about these.
2462
2463         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
2464         (WebCore::CCLayerSorter::createGraphEdges):
2465         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2466         (WebCore::CCLayerTreeHostImpl::scrollBy):
2467         (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
2468
2469 2012-08-29  Vsevolod Vlasov  <vsevik@chromium.org>
2470
2471         Web Inspector: Extract StylesUISourceCodeProvider to separate file.
2472         https://bugs.webkit.org/show_bug.cgi?id=95319
2473
2474         Reviewed by Alexander Pavlov.
2475
2476         * WebCore.gypi:
2477         * WebCore.vcproj/WebCore.vcproj: Also added WebGLProfiler files forgotten before.
2478         * inspector/compile-front-end.py:
2479         * inspector/front-end/StyleSource.js:
2480         * inspector/front-end/StylesUISourceCodeProvider.js: Copied from Source/WebCore/inspector/front-end/StyleSource.js.
2481         (WebInspector.StylesUISourceCodeProvider):
2482         (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
2483         (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
2484         (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
2485         (WebInspector.StylesUISourceCodeProvider.prototype._populate):
2486         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
2487         (WebInspector.StylesUISourceCodeProvider.prototype.reset):
2488         * inspector/front-end/WebKit.qrc:
2489         * inspector/front-end/inspector.html:
2490
2491 2012-08-29  Philip Rogers  <pdr@google.com>
2492
2493         Use SVGImage instead of cached image when drawing without a render tree.
2494         https://bugs.webkit.org/show_bug.cgi?id=95002
2495
2496         Reviewed by Nikolas Zimmermann.
2497
2498         Previously if we tried to use canvas.context2d.drawImage() with an SVG image
2499         that was not in the render tree, we would crash. This patch changes this behavior
2500         so that we use SVGImage::draw() to draw images that are not in the render tree.
2501
2502         Test: svg/as-image/svg-canvas-draw-image-detached.html
2503
2504         * svg/graphics/SVGImageCache.cpp:
2505         (WebCore::SVGImageCache::requestedSizeAndScales):
2506         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
2507
2508 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
2509
2510         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
2511         https://bugs.webkit.org/show_bug.cgi?id=93897
2512
2513         Reviewed by Kenneth Rohde Christiansen.
2514
2515         Before r125428 run-time methods (wrapped signals, slots or invokable
2516         functions) were subclasses of JSInternalFunction and therefore real
2517         function objects in the JavaScript sense. r125428 changed them to be
2518         just callable objects, but they did not have Function.prototype as
2519         prototype anymore for example nor was their name correct (resulting in
2520         a layout test failure).
2521
2522         This patch changes run-time methods back to being real function objects
2523         that have a correct name and have Function.prototype in their prototype
2524         change
2525
2526         The objects returned by JSObjectMakeFunctionWithCallbackInjected are
2527         light-weight internal function objects that do not support
2528         JSObject{Set/Get}Private. Therefore we inject our own prototype right
2529         before the Function.prototype prototype, which uses private data to
2530         store a pointer to our C++ QtRuntimeMethod object.  This complicates
2531         the retrieval of the pointer to that instance slightly, which is why
2532         this patch introduces the toRuntimeMethod convenience function that
2533         looks up our prototype first and does a check for type-safety.
2534
2535         At the same time the patch removes the length properties from the
2536         run-time method itself as well as connect/disconnect.  The length
2537         property on a function signifies the number of arguments, but in all
2538         three cases that number is actually variable, because of overloading.
2539         That is why we choose not to expose it in the first place.
2540
2541         In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
2542         JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
2543         either the result of JSObjectMake or the global object of a context ref
2544         (AFAICS), which is ensured using an ASSERT. Objects created via
2545         JSObjectMakeFunctionWithCalllback do not fall into the required
2546         category, cause a failing assertion and can therefore not be stored in
2547         the weak object map.
2548
2549         Consequently this patch removes the use of JSWeakObjectMap again and
2550         goes back to the old way of using the internal Weak<> API, for the time
2551         being. In a future patch the storage will be simplified to not require
2552         the use of a weak object map cache for the run-time methods anymore.
2553
2554         * bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
2555         * bridge/qt/qt_instance.h: Remove method cache.
2556         (QtInstance):
2557         * bridge/qt/qt_runtime.cpp:
2558         (JSC::Bindings::prototypeForSignalsAndSlots):
2559         (JSC::Bindings::QtRuntimeMethod::call):
2560         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2561         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
2562         (Bindings):
2563         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2564         * bridge/qt/qt_runtime.h:
2565         (QtRuntimeMethod): Remove unused member variables.
2566
2567 2012-08-29  Ilya Tikhonovsky  <loislo@chromium.org>
2568
2569         Unreviewed: Single line build fix.
2570
2571         * platform/graphics/BitmapImage.cpp:
2572         (WebCore::BitmapImage::reportMemoryUsage):
2573
2574 2012-08-24  Ilya Tikhonovsky  <loislo@chromium.org>
2575
2576         Web Inspector: NMI: Instrument WebCore part of the Image class hierarchy
2577         https://bugs.webkit.org/show_bug.cgi?id=94959
2578
2579         Drive by fix: remove unused GeneratedImage.cpp
2580
2581         Reviewed by Yury Semikhatsky.
2582
2583         * html/HTMLImageElement.cpp:
2584         (WebCore::HTMLImageElement::reportMemoryUsage):
2585         (WebCore):
2586         * html/HTMLImageElement.h:
2587         (HTMLImageElement):
2588         * loader/cache/CachedImage.cpp:
2589         (WebCore::CachedImage::reportMemoryUsage):
2590         * platform/graphics/BitmapImage.cpp:
2591         (WebCore::BitmapImage::reportMemoryUsage):
2592         (WebCore):
2593         * platform/graphics/BitmapImage.h:
2594         (FrameData):
2595         (BitmapImage):
2596         * platform/graphics/CrossfadeGeneratedImage.cpp:
2597         (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
2598         (WebCore):
2599         * platform/graphics/CrossfadeGeneratedImage.h:
2600         (WebCore):
2601         (CrossfadeGeneratedImage):
2602         * platform/graphics/GeneratedImage.cpp: Removed.
2603         * platform/graphics/GeneratedImage.h:
2604         (GeneratedImage):
2605         * platform/graphics/GeneratorGeneratedImage.cpp:
2606         (WebCore::GeneratedImage::reportMemoryUsage):
2607         (WebCore):
2608         (WebCore::GeneratorGeneratedImage::reportMemoryUsage):
2609         * platform/graphics/GeneratorGeneratedImage.h:
2610         (GeneratorGeneratedImage):
2611         * platform/graphics/Image.cpp:
2612         (WebCore::Image::reportMemoryUsage):
2613         (WebCore):
2614         * platform/graphics/Image.h:
2615         (WebCore):
2616         (Image):
2617         * svg/graphics/SVGImage.cpp:
2618         (WebCore::SVGImage::reportMemoryUsage):
2619         (WebCore):
2620         * svg/graphics/SVGImage.h:
2621         (SVGImage):
2622
2623 2012-08-29  Dominic Mazzoni  <dmazzoni@google.com>
2624
2625         AX: Canvas should have a distinct role
2626         https://bugs.webkit.org/show_bug.cgi?id=95248
2627
2628         Reviewed by Chris Fleizach.
2629
2630         Add new role for a canvas element, and a method to determine if
2631         a canvas has fallback content, so each platform can decide on the
2632         appropriate role mapping to use.
2633
2634         Test: accessibility/canvas-description-and-role.html
2635
2636         * accessibility/AccessibilityNodeObject.cpp:
2637         (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
2638         (WebCore):
2639         * accessibility/AccessibilityNodeObject.h:
2640         (AccessibilityNodeObject):
2641         * accessibility/AccessibilityObject.h:
2642         (WebCore::AccessibilityObject::isCanvas):
2643         (WebCore::AccessibilityObject::canvasHasFallbackContent):
2644         * accessibility/AccessibilityRenderObject.cpp:
2645         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2646         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2647         (WebCore::AccessibilityRenderObject::canHaveChildren):
2648         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2649         (atkRole):
2650         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2651         (createAccessibilityRoleMap):
2652         (-[WebAccessibilityObjectWrapper role]):
2653
2654 2012-08-29  Ryuan Choi  <ryuan.choi@samsung.com>
2655
2656         [EFL] Move several files to remove webkit1 dependency from WebCore.
2657         https://bugs.webkit.org/show_bug.cgi?id=95264
2658
2659         Reviewed by Gyuyoung Kim.
2660
2661         ColorChooserEfl.cpp, PopupMenuEfl.cpp and SearchPopupMenuEfl.cpp are WebKit1/Efl
2662         specific files and they can not be shared with WebKit2/Efl.
2663
2664         In order to remove WebKit dependency from WebCore, this patch moves them
2665         to WebKit/efl/WebCoreSupport.
2666
2667         No behavior change. Just a refactoring.
2668
2669         * PlatformEfl.cmake: Removed files which moved from sources and WebKit/efl/WebCoreSupport from includes.
2670         * WebCore.gypi: Ditto.
2671
2672 2012-08-28  Dominic Mazzoni  <dmazzoni@google.com>
2673
2674         AX: Focusable elements without a role should not be ignored
2675         https://bugs.webkit.org/show_bug.cgi?id=94302
2676
2677         Reviewed by Chris Fleizach.
2678
2679         Changes the accessibility logic so that a generic element that's focusable is
2680         not ignored for accessibility, and returns its inner text as its title. That way
2681         if you Tab to the element, a reasonable accessibility notification is generated.
2682
2683         One exception is the body element, because focusing the body is equivalent to
2684         blurring the current focused element and does not result in a "focus" accessibility
2685         notification.
2686
2687         Also fixes logic that determined if an element was contentEditable by making
2688         sure it catches the case with no attribute value (e.g. <div contentEditable>),
2689         which also implies contentEditable=true according to the spec.
2690
2691         Test: accessibility/focusable-div.html
2692
2693         * accessibility/AccessibilityRenderObject.cpp:
2694         (WebCore):
2695         (WebCore::nodeHasContentEditableAttributeSet):
2696         (WebCore::AccessibilityRenderObject::title):
2697         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2698
2699 2012-08-29  Adam Barth  <abarth@webkit.org>
2700
2701         Deploy ASCIILiteral hotness throughout WebCore
2702         https://bugs.webkit.org/show_bug.cgi?id=95282
2703
2704         Reviewed by Eric Seidel.
2705
2706         As recommended by http://trac.webkit.org/wiki/EfficientStrings.
2707         This patch converts all the DEFINE_STATIC_LOCAL Strings.
2708
2709         * Modules/indexeddb/IDBDatabase.cpp:
2710         (WebCore::IDBDatabase::transaction):
2711         * Modules/indexeddb/IDBIndex.cpp:
2712         (WebCore::IDBIndex::openCursor):
2713         (WebCore::IDBIndex::openKeyCursor):
2714         * Modules/indexeddb/IDBObjectStore.cpp:
2715         (WebCore::IDBObjectStore::openCursor):
2716         * Modules/mediastream/MediaStreamTrack.cpp:
2717         (WebCore::MediaStreamTrack::kind):
2718         * css/CSSPropertySourceData.cpp:
2719         (WebCore::CSSPropertySourceData::toString):
2720         * dom/Document.cpp:
2721         (WebCore::Document::processHttpEquiv):
2722         * dom/MicroDataItemList.cpp:
2723         (WebCore::MicroDataItemList::undefinedItemType):
2724         * dom/ScriptElement.cpp:
2725         (WebCore::ScriptElement::notifyFinished):
2726         * editing/MarkupAccumulator.cpp:
2727         (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
2728         * html/FormController.cpp:
2729         (WebCore::formStateSignature):
2730         * html/HTMLTrackElement.cpp:
2731         (WebCore::HTMLTrackElement::canLoadUrl):
2732         * html/ImageInputType.cpp:
2733         (WebCore::ImageInputType::appendFormData):
2734         * html/canvas/CanvasRenderingContext2D.cpp:
2735         (WebCore::CanvasRenderingContext2D::getImageData):
2736         * html/parser/XSSAuditor.cpp:
2737         (WebCore::XSSAuditor::init):
2738         (WebCore::XSSAuditor::filterToken):
2739         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
2740         * inspector/InspectorCSSAgent.cpp:
2741         (WebCore::computePseudoClassMask):
2742         * inspector/InspectorDebuggerAgent.cpp:
2743         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
2744         * inspector/InspectorIndexedDBAgent.cpp:
2745         (WebCore):
2746         * inspector/InspectorOverlay.cpp:
2747         * inspector/InspectorStyleSheet.cpp:
2748         (WebCore::InspectorStyle::setPropertyText):
2749         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
2750         * loader/ImageLoader.cpp:
2751         (WebCore::ImageLoader::notifyFinished):
2752         * loader/MainResourceLoader.cpp:
2753         (WebCore::MainResourceLoader::didReceiveResponse):
2754         * loader/TextTrackLoader.cpp:
2755         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
2756         * loader/icon/IconDatabase.cpp:
2757         (WebCore::IconDatabase::defaultDatabaseFilename):
2758         * page/ContentSecurityPolicy.cpp:
2759         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
2760         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
2761         (WebCore::CSPDirectiveList::allowInlineScript):
2762         (WebCore::CSPDirectiveList::allowInlineStyle):
2763         (WebCore::CSPDirectiveList::allowEval):
2764         (WebCore::CSPDirectiveList::allowScriptNonce):
2765         (WebCore::CSPDirectiveList::allowScriptFromSource):
2766         (WebCore::CSPDirectiveList::allowObjectFromSource):
2767         (WebCore::CSPDirectiveList::allowChildFrameFromSource):
2768         (WebCore::CSPDirectiveList::allowImageFromSource):
2769         (WebCore::CSPDirectiveList::allowStyleFromSource):
2770         (WebCore::CSPDirectiveList::allowFontFromSource):
2771         (WebCore::CSPDirectiveList::allowMediaFromSource):
2772         (WebCore::CSPDirectiveList::allowConnectToSource):
2773         (WebCore::CSPDirectiveList::allowFormAction):
2774         (WebCore::CSPDirectiveList::addDirective):
2775         * page/Page.cpp:
2776         (WebCore::Page::groupName):
2777         * platform/animation/Animation.cpp:
2778         (WebCore::Animation::initialAnimationName):
2779         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
2780         (WebCore::CookieDatabaseBackingStore::upgradeTableIfNeeded):
2781         * platform/blackberry/RenderThemeBlackBerry.cpp:
2782         (WebCore::RenderThemeBlackBerry::defaultGUIFont):
2783         * platform/chromium/ClipboardUtilitiesChromium.cpp:
2784         (WebCore::replaceNewlinesWithWindowsStyleNewlines):
2785         * platform/efl/RenderThemeEfl.cpp:
2786         (WebCore::RenderThemeEfl::systemFont):
2787         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
2788         (WebCore):
2789         * platform/win/ClipboardUtilitiesWin.cpp:
2790         (WebCore::replaceNewlinesWithWindowsStyleNewlines):
2791         * rendering/RenderThemeChromiumSkia.cpp:
2792         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
2793         * svg/SVGAngle.cpp:
2794         (WebCore::SVGAngle::valueAsString):
2795         * svg/SVGTransform.cpp:
2796         (WebCore::SVGTransform::transformTypePrefixForParsing):
2797         * xml/parser/XMLTokenizer.cpp:
2798         (WebCore::XMLTokenizer::nextToken):
2799         * xml/parser/XMLTreeBuilder.cpp:
2800         (WebCore::XMLTreeBuilder::processXMLEntity):
2801
2802 2012-08-28  Adam Barth  <abarth@webkit.org>
2803
2804         Deploy ASCIILiteral and StringBuilder in more places in WebCore
2805         https://bugs.webkit.org/show_bug.cgi?id=95291
2806
2807         Reviewed by Benjamin Poulain.
2808
2809         I wanted to deploy ASCIILiteral in more places in WebCore, but there's
2810         a bunch of code that should be using StringBuilder, which I couldn't
2811         resist deploying as well.
2812
2813         * Modules/mediastream/PeerConnection00.cpp:
2814         (WebCore::PeerConnection00::createIceOptions):
2815         * bindings/js/JSBlobCustom.cpp:
2816         (WebCore::JSBlobConstructor::constructJSBlob):
2817         * bindings/v8/V8LazyEventListener.cpp:
2818         (WebCore::V8LazyEventListener::prepareListenerObject):
2819         * bindings/v8/custom/V8BlobCustom.cpp:
2820         (WebCore::V8Blob::constructorCallback):
2821         * css/CSSCanvasValue.cpp:
2822         (WebCore::CSSCanvasValue::customCssText):
2823         * css/CSSCrossfadeValue.cpp:
2824         (WebCore::CSSCrossfadeValue::customCssText):
2825         * css/CSSPageRule.cpp:
2826         (WebCore::CSSPageRule::selectorText):
2827         * css/CSSSelector.cpp:
2828         (WebCore::CSSSelector::selectorText):
2829         * editing/EditorCommand.cpp:
2830         (WebCore::executeToggleStyleInList):
2831         * editing/SmartReplaceICU.cpp:
2832         (WebCore::getSmartSet):
2833         * editing/markup.cpp:
2834         (WebCore::fillContainerFromString):
2835         * html/HTMLTitleElement.cpp:
2836         (WebCore::HTMLTitleElement::text):
2837         * inspector/InspectorConsoleAgent.cpp:
2838         (WebCore::InspectorConsoleAgent::didFailLoading):
2839         * page/EventSource.cpp:
2840         (WebCore::EventSource::didReceiveResponse):
2841         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2842         (WebCore::platformLanguage):
2843         * platform/graphics/GraphicsLayer.cpp:
2844         (WebCore::GraphicsLayer::animationNameForTransition):
2845         * platform/network/blackberry/rss/RSSAtomParser.cpp:
2846         (WebCore::RSSAtomParser::parseContent):
2847         * platform/sql/SQLiteDatabase.cpp:
2848         (WebCore::SQLiteDatabase::open):
2849         (WebCore::SQLiteDatabase::setFullsync):
2850         (WebCore::SQLiteDatabase::maximumSize):
2851         (WebCore::SQLiteDatabase::pageSize):
2852         (WebCore::SQLiteDatabase::freeSpaceSize):
2853         (WebCore::SQLiteDatabase::totalSize):
2854         (WebCore::SQLiteDatabase::tableExists):
2855         (WebCore::SQLiteDatabase::clearAllTables):
2856         (WebCore::SQLiteDatabase::runVacuumCommand):
2857         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
2858         (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
2859         * platform/win/FileSystemWin.cpp:
2860         (WebCore::bundleName):
2861         (WebCore::storageDirectory):
2862         * plugins/PluginStream.cpp:
2863         (WebCore::PluginStream::startStream):
2864         * rendering/RenderMenuList.cpp:
2865         (WebCore::RenderMenuList::setTextFromOption):
2866
2867 2012-08-29  Yoshifumi Inoue  <yosin@chromium.org>
2868
2869         [Forms] Make HTMLInputElement::blur()/focus() override-able by input type
2870         https://bugs.webkit.org/show_bug.cgi?id=95279
2871
2872         Reviewed by Hajime Morrita.
2873
2874         This patch allows HTMLInputElement::focus() and blur() functions to be
2875         override-able.
2876
2877         This patch is part of Shift+Tab focus navigation change for multiple
2878         field time input UI, bug 95168.
2879
2880         No new tests. This patch doesn't change behavior.
2881
2882         * dom/Element.h:
2883         (WebCore::Element): Changed blur() to virtual function.
2884         * html/HTMLInputElement.cpp:
2885         (WebCore::HTMLInputElement::blur): Added to call InputType::blur().
2886         (WebCore::HTMLInputElement::defaultBlur): Added for default implementation of blur().
2887         (WebCore::HTMLInputElement::defaultFocus): Added for default implementation of focus().
2888         (WebCore::HTMLInputElement::focus): Added to call InputType::focus()
2889         * html/HTMLInputElement.h:
2890         (HTMLInputElement): Added declarations of blur(), defaultBlur(), defaultFocus() and focus().
2891         * html/InputType.cpp:
2892         (WebCore::InputType::blur): Added to call HTMLInputElement::defaultBlur() as default implementation.
2893         (WebCore::InputType::focus):  Added to call HTMLInputElement::defaultFocus() as default implementation.
2894         * html/InputType.h:
2895         (InputType): Added declarations of blur(), and focus().
2896
2897 2012-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2898
2899         Unreviewed, rolling out r126963.
2900         http://trac.webkit.org/changeset/126963
2901         https://bugs.webkit.org/show_bug.cgi?id=95298
2902
2903         Does not compile with clang (Requested by abarth on #webkit).
2904
2905         * html/HTMLInputElement.cpp:
2906         * html/HTMLInputElement.h:
2907         (HTMLInputElement):
2908         * html/InputType.cpp:
2909         * html/InputType.h:
2910         (InputType):
2911
2912 2012-08-28  Yoshifumi Inoue  <yosin@chromium.org>
2913
2914         [Forms] Make HTMLInputElement::blur()/focus() override-able by input type
2915         https://bugs.webkit.org/show_bug.cgi?id=95279
2916
2917         Reviewed by Hajime Morrita.
2918
2919         This patch allows HTMLInputElement::focus() and blur() functions to be
2920         override-able.
2921
2922         This patch is part of Shift+Tab focus navigation change for multiple
2923         field time input UI, bug 95168.
2924
2925         No new tests. This patch doesn't change behavior.
2926
2927         * html/HTMLInputElement.cpp:
2928         (WebCore::HTMLInputElement::blur): Added to call InputType::blur().
2929         (WebCore::HTMLInputElement::defaultBlur): Added for default implementation of blur().
2930         (WebCore::HTMLInputElement::defaultFocus): Added for default implementation of focus().
2931         (WebCore::HTMLInputElement::focus): Added to call InputType::focus()
2932         * html/HTMLInputElement.h:
2933         (HTMLInputElement): Added declarations of blur(), defaultBlur(), defaultFocus() and focus().
2934         * html/InputType.cpp:
2935         (WebCore::InputType::blur): Added to call HTMLInputElement::defaultBlur() as default implementation.
2936         (WebCore::InputType::focus):  Added to call HTMLInputElement::defaultFocus() as default implementation.
2937         * html/InputType.h:
2938         (InputType): Added declarations of blur(), and focus().
2939
2940 2012-08-28  Geoffrey Garen  <ggaren@apple.com>
2941
2942         Added JSScope::objectInScope(), and refactored callers to use it
2943         https://bugs.webkit.org/show_bug.cgi?id=95281
2944
2945         Reviewed by Gavin Barraclough.
2946
2947         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2948         (WebCore::JSJavaScriptCallFrame::scopeChain):
2949         (WebCore::JSJavaScriptCallFrame::scopeType):
2950
2951 2012-08-28  Andrei Bucur  <abucur@adobe.com>
2952
2953         Layout Test fast/repaint/japanese-rl-selection-repaint-in-regions.html is failing after r126304
2954         https://bugs.webkit.org/show_bug.cgi?id=94730
2955
2956         Reviewed by Adam Barth.
2957
2958         Having an intermediary node between the named flow renderers and the view may introduce subtle bugs that are hard to track. Also it doesn't fix
2959         the pointless destruction of a RenderNamedFlowThread in some special cases (e.g. region->detach, destroy flow thread, region->attach, recreate flow
2960         thread).
2961         This patch proposes a new way of lazily destroying the renderers for NULL named flows, at layout time. When a renderer has no content nodes or regions
2962         attached, its named flow is considered to be in the NULL state. When starting a layout process it is a good time to go through the renderers of the
2963         NULL named flows and destroy them.
2964
2965         Tests: No functional change, the old tests should pass without issues.
2966
2967         * CMakeLists.txt:
2968         * GNUmakefile.list.am:
2969         * Target.pri:
2970         * WebCore.gypi:
2971         * WebCore.vcproj/WebCore.vcproj:
2972         * WebCore.xcodeproj/project.pbxproj:
2973         * dom/WebKitNamedFlow.cpp:
2974         (WebCore::WebKitNamedFlow::getRegionsByContent):
2975         (WebCore::WebKitNamedFlow::getRegions):
2976         (WebCore::WebKitNamedFlow::setRenderer):
2977         * rendering/FlowThreadController.cpp:
2978         (WebCore::FlowThreadController::FlowThreadController):
2979         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
2980         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
2981         * rendering/FlowThreadController.h:
2982         (WebCore):
2983         (FlowThreadController):
2984         * rendering/RenderFlowThreadContainer.cpp: Removed.
2985         * rendering/RenderFlowThreadContainer.h: Removed.
2986         * rendering/RenderNamedFlowThread.cpp:
2987         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2988         (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
2989         (WebCore::RenderNamedFlowThread::addRegionToThread):
2990         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
2991         (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode):
2992         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
2993         (WebCore::RenderNamedFlowThread::setMarkForDestruction):
2994         (WebCore):
2995         (WebCore::RenderNamedFlowThread::resetMarkForDestruction):
2996         (WebCore::RenderNamedFlowThread::isMarkedForDestruction):
2997         * rendering/RenderNamedFlowThread.h:
2998         (RenderNamedFlowThread):
2999         * rendering/RenderObject.cpp:
3000         (WebCore::RenderObject::markContainingBlocksForLayout):
3001         * rendering/RenderObject.h:
3002
3003 2012-08-28  Kenichi Ishibashi  <bashi@chromium.org>
3004
3005         style->fontMetrics() should be available when setting line-height
3006         https://bugs.webkit.org/show_bug.cgi?id=93327
3007
3008         Reviewed by Darin Adler.
3009
3010         Setting line-height assumes the fontMetrics are available for the affected font, but
3011         the fontMetrics won't be available immediately after setting other properties like
3012         font-size. Call styleResolver->updateFont() before setting line-height to update fontMetrics.
3013
3014         Added a test case to fast/canvas/crash-set-font.html.
3015
3016         * html/canvas/CanvasRenderingContext2D.cpp:
3017         (WebCore::CanvasRenderingContext2D::setFont):
3018         Call styleResolver->updateFont() before styleResolver->applyPropertyToCurrentStyle(CSSPropertyLineHeight,...)
3019
3020 2012-08-28  David Reveman  <reveman@chromium.org>
3021
3022         [Chromium] Scheduler will never process a commit until it receives a vsync tick.
3023         https://bugs.webkit.org/show_bug.cgi?id=94721
3024
3025         Reviewed by James Robinson.
3026
3027         Add updateResourcesComplete callback to CCScheduler and use this to
3028         indicate completion of texture updates instead of calling
3029         CCSchedulerClient::hasMoreResourceUpdates when receiving a vsync tick.
3030
3031         Unit tests: CCTextureUpdateControllerTest.UpdateMoreTextures
3032                     CCTextureUpdateControllerTest.HasMoreUpdates
3033                     CCTextureUpdateControllerTest.UpdatesCompleteInFiniteTime
3034
3035         * platform/graphics/chromium/cc/CCScheduler.cpp:
3036         (WebCore::CCScheduler::CCScheduler):
3037         (WebCore::CCScheduler::beginFrameComplete):
3038         (WebCore::CCScheduler::vsyncTick):
3039         (WebCore::CCScheduler::updateResourcesComplete):
3040         (WebCore):
3041         (WebCore::CCScheduler::processScheduledActions):
3042         * platform/graphics/chromium/cc/CCScheduler.h:
3043         (CCSchedulerClient):
3044         (CCScheduler):
3045         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
3046         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
3047         (WebCore::CCTextureUpdateController::updateMoreTextures):
3048         (WebCore::CCTextureUpdateController::discardUploads):
3049         (WebCore::CCTextureUpdateController::onTimerFired):
3050         (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
3051         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
3052         (CCTextureUpdateControllerClient):
3053         (WebCore::CCTextureUpdateControllerClient::~CCTextureUpdateControllerClient):
3054         (WebCore):
3055         (WebCore::CCTextureUpdateController::create):
3056         (CCTextureUpdateController):
3057         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3058         (WebCore::CCThreadProxy::didLoseContextOnImplThread):
3059         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
3060         (WebCore::CCThreadProxy::scheduledActionCommit):
3061         (WebCore::CCThreadProxy::updateTexturesCompleted):
3062         (WebCore):
3063         * platform/graphics/chromium/cc/CCThreadProxy.h:
3064         (WebCore):
3065
3066 2012-08-28  John Bates  <jbates@google.com>
3067
3068         [Chromium] Update some compositor trace events
3069         https://bugs.webkit.org/show_bug.cgi?id=95275
3070
3071         Reviewed by James Robinson.
3072
3073         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
3074         (WebCore::CCFrameRateController::setActive):
3075         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3076         (WebCore::CCThreadProxy::onVSyncParametersChanged):
3077
3078 2012-08-28  Adam Barth  <abarth@webkit.org>
3079
3080         crypto.getRandomValues should throw an exception when given a big array
3081         https://bugs.webkit.org/show_bug.cgi?id=95269
3082
3083         Reviewed by Eric Seidel.
3084
3085         The W3C Web Cryptography Working Group has taken up specifying
3086         window.crypto. The latest draft calls for getRandomValues to throw an
3087         exception when given an array that's large.
3088
3089         Test: security/crypto-random-values-limits.html
3090
3091         * page/Crypto.cpp:
3092         (WebCore::Crypto::getRandomValues):
3093
3094 2012-08-28  Tom Sepez  <tsepez@chromium.org>
3095
3096         CSP doesn't turn off eval, etc. in Web Workers
3097         https://bugs.webkit.org/show_bug.cgi?id=93392
3098
3099         Reviewed by Adam Barth.
3100
3101         On the JSC side, the blocking of eval() in workers was handled correctly, so it is
3102         a matter of adding calls check the policy for setTimeout and SetInterval.  On the v8
3103         side, it is a matter of handling the above, plus eval().
3104
3105         On the v8 side, the v8 context isn't available when the callers want to disable eval.
3106         Rather than creating it earlier, which is problematic, remember the setting in the
3107         WorkerContextExecutionProxy and apply before the next call to its evaluate() method.
3108
3109         Tests: http/tests/security/contentSecurityPolicy/worker-eval-blocked.html
3110                http/tests/security/contentSecurityPolicy/worker-function-function-blocked.html
3111
3112         * bindings/js/JSWorkerContextCustom.cpp:
3113         (WebCore::JSWorkerContext::setTimeout):
3114         (WebCore::JSWorkerContext::setInterval):
3115         * bindings/v8/WorkerContextExecutionProxy.cpp:
3116         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
3117         (WebCore::WorkerContextExecutionProxy::evaluate):
3118         (WebCore::WorkerContextExecutionProxy::setEvalAllowed):
3119         (WebCore):
3120         * bindings/v8/WorkerContextExecutionProxy.h:
3121         (WorkerContextExecutionProxy):
3122         * bindings/v8/WorkerScriptController.cpp:
3123         (WebCore::WorkerScriptController::disableEval):
3124         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3125         (WebCore::SetTimeoutOrInterval):
3126
3127 2012-08-28  Aaron Colwell  <acolwell@chromium.org>
3128
3129         Make MediaSource event dispatch asynchronous.
3130         https://bugs.webkit.org/show_bug.cgi?id=95217
3131
3132         Reviewed by Eric Carlson.
3133
3134         Update MediaSource & SourceBufferList to use a GenericEventQueue to dispatch events 
3135         instead of using synchronous dispatch.
3136
3137         Test: http/tests/media/media-source/video-media-source-async-events.html
3138
3139         * Modules/mediasource/MediaSource.cpp:
3140         (WebCore::MediaSource::MediaSource): Create GenericEventQueue & pass a pointer to SourceBufferList.
3141         (WebCore::MediaSource::addSourceBuffer):
3142         (WebCore::MediaSource::setReadyState): Updated to use new scheduleEvent() helper method.
3143         (WebCore::MediaSource::scheduleEvent): New method for creating events and adding them to the event queue.
3144         (WebCore):
3145         * Modules/mediasource/MediaSource.h: Added GenericEventQueue member and scheduleEvent() signature.
3146         (MediaSource):
3147         * Modules/mediasource/SourceBufferList.cpp:
3148         (WebCore::SourceBufferList::SourceBufferList):
3149         (WebCore::SourceBufferList::remove):
3150         (WebCore::SourceBufferList::createAndFireEvent): Updated to queue events instead of synchronously dispatch them.
3151         * Modules/mediasource/SourceBufferList.h:
3152         (WebCore):
3153         (WebCore::SourceBufferList::create):
3154         (SourceBufferList):
3155
3156 2012-08-28  Leandro Gracia Gil  <leandrogracia@chromium.org>
3157
3158         Content detection should not disrupt the page behaviour
3159         https://bugs.webkit.org/show_bug.cgi?id=94727
3160
3161         Reviewed by Adam Barth.
3162
3163         Tested by WebViewTest::DetectContentAroundPosition.
3164
3165         * dom/Node.cpp:
3166         (WebCore::Node::willRespondToTouchEvents): checks if a node listens to touch events. Very similar to willRespondToMouseClickEvents.
3167         (WebCore):
3168         * dom/Node.h:
3169         (Node):
3170
3171 2012-08-28  Simon Fraser  <simon.fraser@apple.com>
3172
3173         Handle sticky that overflows its container
3174         https://bugs.webkit.org/show_bug.cgi?id=95260
3175
3176         Reviewed by Ojan Vafai.
3177
3178         When an element with position:sticky overflows its container,
3179         don't have the sticky code push it back inside that container.
3180         It will just never get offset in the sticky direction.
3181
3182         Test: fast/css/sticky/sticky-overflowing.html
3183
3184         * rendering/RenderBoxModelObject.cpp:
3185         (WebCore::RenderBoxModelObject::stickyPositionOffset):
3186
3187 2012-08-28  Mark Pilgrim  <pilgrim@chromium.org>
3188
3189         [Chromium] Remove decodeAudioFileData from PlatformSupport
3190         https://bugs.webkit.org/show_bug.cgi?id=95250
3191
3192         Reviewed by Adam Barth.
3193
3194         Part of a refactoring series. See tracking bug 82948.
3195
3196         * platform/audio/chromium/AudioBusChromium.cpp:
3197         (WebCore::decodeAudioFileData):
3198         (WebCore):
3199         (WebCore::AudioBus::loadPlatformResource):
3200         (WebCore::createBusFromInMemoryAudioFile):
3201         * platform/chromium/PlatformSupport.h:
3202         (PlatformSupport):
3203
3204 2012-08-27  Alexandru Chiculita  <achicu@adobe.com>
3205
3206         [CSS Filters] Filters should render using sRGB until the specification says how it works
3207         https://bugs.webkit.org/show_bug.cgi?id=94372
3208
3209         Reviewed by Dirk Schulze.
3210
3211         The short-hand version of the CSS Filters should render using sRGB until a CSS property is added 
3212         to allow choosing the color space to be used when computing the filters. 
3213         For now I've just made all the CSS filters use sRGB by defualt. Note that this change has no effect on SVG filters.
3214
3215         Test: css3/filters/null-effect-check.html
3216
3217         * rendering/FilterEffectRenderer.cpp:
3218         (WebCore::FilterEffectRenderer::build):
3219
3220 2012-08-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3221
3222         Unreviewed, rolling out r126914.
3223         http://trac.webkit.org/changeset/126914
3224         https://bugs.webkit.org/show_bug.cgi?id=95239
3225
3226         it breaks everything and fixes nothing (Requested by pizlo on
3227         #webkit).
3228
3229         * Modules/geolocation/Geolocation.cpp:
3230         (WebCore::Geolocation::Watchers::find):
3231         (WebCore::Geolocation::Watchers::remove):
3232         * Modules/indexeddb/IDBDatabase.cpp:
3233         (WebCore::IDBDatabase::objectStoreNames):
3234         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3235         (WebCore::IDBDatabaseBackendImpl::metadata):
3236         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
3237         (WebCore::IDBFactoryBackendImpl::deleteDatabase):
3238         (WebCore::IDBFactoryBackendImpl::openBackingStore):
3239         (WebCore::IDBFactoryBackendImpl::open):
3240         * Modules/indexeddb/IDBObjectStore.cpp:
3241         (WebCore::IDBObjectStore::indexNames):
3242         (WebCore::IDBObjectStore::put):
3243         (WebCore::IDBObjectStore::index):
3244         (WebCore::IDBObjectStore::deleteIndex):
3245         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3246         (WebCore::IDBObjectStoreBackendImpl::metadata):
3247         (WebCore::makeIndexWriters):
3248         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
3249         * Modules/indexeddb/IDBTransaction.cpp:
3250         (WebCore::IDBTransaction::objectStore):
3251         (WebCore::IDBTransaction::objectStoreDeleted):
3252         (WebCore::IDBTransaction::onAbort):
3253         (WebCore::IDBTransaction::dispatchEvent):
3254         * Modules/webdatabase/AbstractDatabase.cpp:
3255         (WebCore::AbstractDatabase::performOpenAndVerify):
3256         * Modules/webdatabase/DatabaseTracker.cpp:
3257         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
3258         * Modules/webdatabase/OriginUsageRecord.cpp:
3259         (WebCore::OriginUsageRecord::diskUsage):
3260         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
3261         (WebCore::SQLTransactionCoordinator::acquireLock):
3262         (WebCore::SQLTransactionCoordinator::releaseLock):
3263         (WebCore::SQLTransactionCoordinator::shutdown):
3264         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
3265         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
3266         * Modules/webdatabase/chromium/QuotaTracker.cpp:
3267         (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
3268         (WebCore::QuotaTracker::updateDatabaseSize):
3269         * Modules/websockets/WebSocketDeflateFramer.cpp:
3270         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
3271         * Modules/websockets/WebSocketExtensionDispatcher.cpp:
3272         (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
3273         * accessibility/AXObjectCache.cpp:
3274         (WebCore::AXObjectCache::~AXObjectCache):
3275         * bindings/gobject/DOMObjectCache.cpp:
3276         (WebKit::DOMObjectCache::clearByFrame):
3277         * bindings/js/DOMObjectHashTableMap.h:
3278         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
3279         (WebCore::DOMObjectHashTableMap::get):
3280         * bindings/js/JSDOMBinding.cpp:
3281         (WebCore::cacheDOMStructure):
3282         * bindings/js/JSDOMGlobalObject.cpp:
3283         (WebCore::JSDOMGlobalObject::visitChildren):
3284         * bindings/js/JSDOMGlobalObject.h:
3285         (WebCore::getDOMConstructor):
3286         * bindings/js/PageScriptDebugServer.cpp:
3287         (WebCore::PageScriptDebugServer::addListener):
3288         (WebCore::PageScriptDebugServer::removeListener):
3289         * bindings/js/ScriptCachedFrameData.cpp:
3290         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3291         (WebCore::ScriptCachedFrameData::restore):
3292         * bindings/js/ScriptController.cpp:
3293         (WebCore::ScriptController::~ScriptController):
3294         (WebCore::ScriptController::clearWindowShell):
3295         (WebCore::ScriptController::attachDebugger):
3296         (WebCore::ScriptController::updateDocument):
3297         (WebCore::ScriptController::createRootObject):
3298         (WebCore::ScriptController::collectIsolatedContexts):
3299         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
3300         (WebCore::ScriptController::clearScriptObjects):
3301         * bindings/js/ScriptController.h:
3302         (WebCore::ScriptController::windowShell):
3303         (WebCore::ScriptController::existingWindowShell):
3304         * bindings/js/ScriptDebugServer.cpp:
3305         (WebCore::ScriptDebugServer::setBreakpoint):
3306         (WebCore::ScriptDebugServer::removeBreakpoint):
3307         (WebCore::ScriptDebugServer::hasBreakpoint):
3308         * bindings/js/SerializedScriptValue.cpp:
3309         (WebCore::CloneSerializer::checkForDuplicate):
3310         (WebCore::CloneSerializer::dumpIfTerminal):
3311         (WebCore::CloneSerializer::write):
3312         * bindings/scripts/CodeGeneratorV8.pm:
3313         (GenerateImplementation):
3314         * bindings/scripts/test/V8/V8Float64Array.cpp:
3315         (WebCore::V8Float64Array::GetRawTemplate):
3316         (WebCore::V8Float64Array::GetTemplate):
3317         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3318         (WebCore::V8TestActiveDOMObject::GetRawTemplate):
3319         (WebCore::V8TestActiveDOMObject::GetTemplate):
3320         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3321         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
3322         (WebCore::V8TestCustomNamedGetter::GetTemplate):
3323         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3324         (WebCore::V8TestEventConstructor::GetRawTemplate):
3325         (WebCore::V8TestEventConstructor::GetTemplate):
3326         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3327         (WebCore::V8TestEventTarget::GetRawTemplate):
3328         (WebCore::V8TestEventTarget::GetTemplate):
3329         * bindings/scripts/test/V8/V8TestException.cpp:
3330         (WebCore::V8TestException::GetRawTemplate):
3331         (WebCore::V8TestException::GetTemplate):
3332         * bindings/scripts/test/V8/V8TestInterface.cpp:
3333         (WebCore::V8TestInterface::GetRawTemplate):
3334         (WebCore::V8TestInterface::GetTemplate):
3335         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3336         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
3337         (WebCore::V8TestMediaQueryListListener::GetTemplate):
3338         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3339         (WebCore::V8TestNamedConstructor::GetRawTemplate):
3340         (WebCore::V8TestNamedConstructor::GetTemplate):
3341         * bindings/scripts/test/V8/V8TestNode.cpp:
3342         (WebCore::V8TestNode::GetRawTemplate):
3343         (WebCore::V8TestNode::GetTemplate):
3344         * bindings/scripts/test/V8/V8TestObj.cpp:
3345         (WebCore::V8TestObj::GetRawTemplate):
3346         (WebCore::V8TestObj::GetTemplate):
3347         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3348         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
3349         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
3350         * bindings/v8/DOMWrapperWorld.cpp:
3351         (WebCore::DOMWrapperWorld::deallocate):
3352         (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld):
3353         * bindings/v8/NPV8Object.cpp:
3354         (WebCore::freeV8NPObject):
3355         (WebCore::npCreateV8ScriptObject):
3356         * bindings/v8/ScriptController.cpp:
3357         (WebCore::ScriptController::clearScriptObjects):
3358         (WebCore::ScriptController::resetIsolatedWorlds):
3359         (WebCore::ScriptController::evaluateInIsolatedWorld):
3360         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
3361         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
3362         (WebCore::ScriptController::collectIsolatedContexts):
3363         * bindings/v8/SerializedScriptValue.cpp:
3364         * bindings/v8/V8DOMMap.h:
3365         (WebCore::WeakReferenceMap::removeIfPresent):
3366         (WebCore::WeakReferenceMap::visit):
3367         * bindings/v8/V8GCController.cpp:
3368         (WebCore::enumerateGlobalHandles):
3369         * bindings/v8/V8PerContextData.cpp:
3370         (WebCore::V8PerContextData::dispose):
3371         * bindings/v8/npruntime.cpp:
3372         * bridge/IdentifierRep.cpp:
3373         (WebCore::IdentifierRep::get):
3374         * bridge/NP_jsobject.cpp:
3375         (ObjectMap::add):
3376         (ObjectMap::remove):
3377         * bridge/jni/jsc/JavaClassJSC.cpp:
3378         (JavaClass::~JavaClass):
3379         * bridge/qt/qt_instance.cpp:
3380         (JSC::Bindings::WeakMap::set):
3381         * bridge/runtime_root.cpp:
3382         (JSC::Bindings::RootObject::invalidate):
3383         * css/CSSCanvasValue.cpp:
3384         (WebCore::CSSCanvasValue::canvasChanged):
3385         (WebCore::CSSCanvasValue::canvasResized):
3386         * css/CSSComputedStyleDeclaration.cpp:
3387         (WebCore::counterToCSSValue):
3388         * css/CSSCrossfadeValue.cpp:
3389         (WebCore::CSSCrossfadeValue::crossfadeChanged):
3390         * css/CSSFontFaceSource.cpp:
3391         (WebCore::CSSFontFaceSource::getFontData):
3392         * css/CSSFontSelector.cpp:
3393         (WebCore::CSSFontSelector::addFontFaceRule):
3394         (WebCore::CSSFontSelector::getFontData):
3395         * css/CSSImageGeneratorValue.cpp:
3396         (WebCore::CSSImageGeneratorValue::addClient):
3397         (WebCore::CSSImageGeneratorValue::removeClient):
3398         (WebCore::CSSImageGeneratorValue::getImage):
3399         * css/CSSSegmentedFontFace.cpp:
3400         (WebCore::CSSSegmentedFontFace::getFontData):
3401         * css/CSSSelector.cpp:
3402         (WebCore::CSSSelector::parsePseudoType):
3403         * css/CSSValuePool.cpp:
3404         (WebCore::CSSValuePool::createColorValue):
3405         (WebCore::CSSValuePool::createFontFamilyValue):
3406         (WebCore::CSSValuePool::createFontFaceValue):
3407         * css/PropertySetCSSStyleDeclaration.cpp:
3408         (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
3409         * css/StyleBuilder.cpp:
3410         (WebCore::ApplyPropertyCounter::applyInheritValue):
3411         (WebCore::ApplyPropertyCounter::applyValue):
3412         * css/StyleResolver.cpp:
3413         (WebCore::StyleResolver::collectFeatures):
3414         (WebCore::StyleResolver::ruleSetForScope):
3415         (WebCore::StyleResolver::appendAuthorStylesheets):
3416         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
3417         (WebCore::StyleResolver::collectMatchingRulesForList):
3418         * css/StyleSheetContents.cpp:
3419         (WebCore::StyleSheetContents::parserAddNamespace):
3420         (WebCore::StyleSheetContents::determineNamespace):
3421         * dom/CheckedRadioButtons.cpp:
3422         (WebCore::CheckedRadioButtons::addButton):
3423         (WebCore::CheckedRadioButtons::removeButton):
3424         * dom/ChildListMutationScope.cpp:
3425         (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
3426         (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
3427         (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
3428         (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):