[CSSRegions] Incorrect computed height for content with region-break-before
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-11-13  Mihnea Ovidenie  <mihnea@adobe.com>
2
3         [CSSRegions] Incorrect computed height for content with region-break-before
4         https://bugs.webkit.org/show_bug.cgi?id=101862
5
6         Reviewed by Julien Chaffraix.
7
8         When processing the region breaks for auto-height regions, we skipped the case
9         when the region-break-before occurred in the first region in the chain which was
10         an auto-height region. Because of that, the region computed height was not 0
11         as it was supposed to be, but rather LayoutUnit::max() / 2.
12
13         Test: fast/regions/autoheight-breakbefore-wrongheight.html
14
15         * rendering/RenderFlowThread.cpp:
16         (WebCore::RenderFlowThread::addForcedRegionBreak):
17         Make sure we process also the case when the region-break occurs at offset 0 in the flow thread
18         and the first region in chain is an auto-height region.
19         * rendering/RenderRegion.cpp:
20         (WebCore::RenderRegion::updateLogicalHeight):
21         Add an assert to make sure that the computed height for auto-height regions is always less than LayoutUnit::max() / 2.
22
23 2012-11-13  Yury Semikhatsky  <yurys@chromium.org>
24
25         Memory instrumentation: remove reportMemoryUsage method from ImageObserver
26         https://bugs.webkit.org/show_bug.cgi?id=102058
27
28         Reviewed by Pavel Feldman.
29
30         * bindings/v8/V8PerIsolateData.cpp:
31         (WebCore::V8PerIsolateData::reportMemoryUsage): drive-by fix, no need to report
32         each element of the vector as generic vector instrumentation will take care of it.
33         * platform/graphics/Image.cpp: the client is reported as weak pointer to make sure
34         we don't count its by the pointer to the base class which may differ from the actual
35         object address.
36         (WebCore::Image::reportMemoryUsage):
37         * platform/graphics/ImageObserver.h: removed reportMemoryUsage method from the interface.
38         (ImageObserver):
39
40 2012-11-13  Eberhard Graether  <egraether@google.com>
41
42         checkbox to toggle FPS counter in the inspector's settings
43         https://bugs.webkit.org/show_bug.cgi?id=99660
44
45         Reviewed by Pavel Feldman.
46
47         Added a checkbox to the inspector's settings to toggle a FPS counter. The checkbox appears when InspectorClient::canShowFPSCounter() returns true.
48
49         No new tests.
50
51         * English.lproj/localizedStrings.js:
52         * inspector/Inspector.json:
53         * inspector/InspectorClient.h:
54         (WebCore::InspectorClient::canShowFPSCounter):
55         (WebCore::InspectorClient::setShowFPSCounter):
56         (InspectorClient):
57         * inspector/InspectorPageAgent.cpp:
58         (PageAgentState):
59         (WebCore::InspectorPageAgent::enable):
60         (WebCore::InspectorPageAgent::disable):
61         (WebCore::InspectorPageAgent::canShowFPSCounter):
62         (WebCore):
63         (WebCore::InspectorPageAgent::setShowFPSCounter):
64         * inspector/InspectorPageAgent.h:
65         * inspector/front-end/Settings.js:
66         * inspector/front-end/SettingsScreen.js:
67         (WebInspector.GenericSettingsTab):
68         (WebInspector.GenericSettingsTab.prototype.get _showFPSCounterChanged):
69         * inspector/front-end/inspector.js:
70         (WebInspector.doLoadedDone):
71
72 2012-11-12  Kent Tamura  <tkent@chromium.org>
73
74         Unable to set valid time value to input[type=time] with user interaction in some cases
75         https://bugs.webkit.org/show_bug.cgi?id=102048
76
77         Reviewed by Kentaro Hara.
78
79         The implementations of shouldMillisecondFieldReadOnly,
80         shouldMinuteFieldReadOnly, and shouldSecondFieldReadOnly were
81         incorrect. We need to check if a part of the minimum value matches to
82         the corresponding part of the current value.
83
84         Also, we had better check hour field editability.
85
86         Test: fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html
87
88         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
89         (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldHaveSecondField):
90         Fix a problem that hh:mm:00.sss didn't create a seconds field.
91         * html/shadow/DateTimeEditElement.cpp:
92         (DateTimeEditBuilder): Add shouldHourFieldReadOnly declaration.
93         (WebCore::DateTimeEditBuilder::visitField):
94         Add shouldHourFieldReadOnly check to Hour11/Hour12/Hour23/Hour24/Period fields.
95         (WebCore::DateTimeEditBuilder::shouldHourFieldReadOnly):
96         Added. An hour field should be read-only if the step value is a multiple
97         of a day and the hour part of the minimum value matches to the hour part
98         of the value.
99         (WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly):
100         A millisecond field should be read-only if the step value is a multiple
101         of one second and the millisecond part of the minimum value matches to
102         the millisecond part of the value.
103         (WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly):
104         A minute field should be read-only if the step value is a multiple of
105         one hour and the minute part of the minimum value matches to the minute
106         part of the value.
107         (WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly):
108         A second field should be read-only if the step value is a multiple of
109         one minute and the second part of the minimum value matches to the second
110         part of the value.
111         * platform/Decimal.cpp:
112         (WebCore::Decimal::remainder):
113         Fix a bug in case that the fractional part of quotient is >= 0.5. Also
114         make this matches to C99, C++11, ECMAScript behavior.
115
116 2012-11-13  Yury Semikhatsky  <yurys@chromium.org>
117
118         Memory instrumentation: MemoryBlock name should not include full path to the block
119         https://bugs.webkit.org/show_bug.cgi?id=102055
120
121         Reviewed by Pavel Feldman.
122
123         * inspector/InspectorMemoryAgent.cpp: pass only last path component as MemoryBlock name
124         intead of fully qualified name.
125
126 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
127
128         Web Inspector: get rid of enter/exitTextChangeMode in the editor
129         https://bugs.webkit.org/show_bug.cgi?id=101845
130
131         Reviewed by Vsevolod Vlasov.
132
133         They seem to do nothing.
134
135         * inspector/front-end/DefaultTextEditor.js:
136         (WebInspector.DefaultTextEditor.prototype._textChanged):
137         (WebInspector.DefaultTextEditor.prototype.editRange):
138         (WebInspector.TextEditorMainPanel):
139         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
140         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
141         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
142         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
143         * inspector/front-end/TextEditorModel.js:
144         (WebInspector.TextEditorModel.endsWithBracketRegex.):
145
146 2012-11-13  Tommy Widenflycht  <tommyw@google.com>
147
148         Remove the custom WebSocket::send for both V8 and JSC
149         https://bugs.webkit.org/show_bug.cgi?id=101936
150
151         Reviewed by Kentaro Hara.
152
153         This patch removes the custom WebSocket::send since it isn't needed anymore.
154
155         Patch covered by existing tests.
156
157         * Modules/websockets/WebSocket.idl:
158         * UseV8.cmake:
159         * WebCore.gypi:
160         * bindings/js/JSWebSocketCustom.cpp:
161         * bindings/v8/custom/V8WebSocketCustom.cpp: Removed.
162
163 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
164
165         Web Inspector: move indentation logic into TextEditorModel
166         https://bugs.webkit.org/show_bug.cgi?id=101842
167
168         Reviewed by Vsevolod Vlasov.
169
170         I'd like to move as much headless logic into the TextEditorModel as possible.
171         Drive by: removed some dead code, converted getter into function and moved undo
172         mark state into the model as well.
173
174         * inspector/front-end/DefaultTextEditor.js:
175         (WebInspector.DefaultTextEditor.prototype.editRange):
176         (WebInspector.DefaultTextEditor.prototype._syncDecorationsForLine):
177         (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
178         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
179         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
180         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
181         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
182         (WebInspector.TextEditorMainChunk):
183         (WebInspector.TextEditorMainChunk.prototype.isDecorated):
184         (WebInspector.TextEditorMainChunk.prototype.set expanded):
185         * inspector/front-end/TextEditorModel.js:
186         (WebInspector.TextEditorModel.endsWithBracketRegex.):
187
188 2012-11-13  Hayato Ito  <hayato@chromium.org>
189
190         Unreviewed attempt to fix the chromium mac-build after r134348.
191
192         * platform/graphics/mac/FontMac.mm:
193         (WebCore::Font::drawGlyphs):
194         * platform/mac/WebCoreSystemInterface.h:
195         * platform/mac/WebCoreSystemInterface.mm:
196
197 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
198
199         Web Inspector: migrate text editor to mutation observers
200         https://bugs.webkit.org/show_bug.cgi?id=101841
201
202         Reviewed by Vsevolod Vlasov.
203
204         Otherwise, we miss notifications on the removed lines.
205
206         * inspector/front-end/DefaultTextEditor.js:
207         (WebInspector.DefaultTextEditor.prototype.wasShown):
208         (WebInspector.DefaultTextEditor.prototype.willHide):
209         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
210         (WebInspector.TextEditorMainPanel):
211         (WebInspector.TextEditorMainPanel.prototype._wasShown):
212         (WebInspector.TextEditorMainPanel.prototype._willHide):
213         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
214         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
215         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
216         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
217         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
218         (WebInspector.TextEditorMainPanel.prototype._paintLine):
219         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
220         (WebInspector.TextEditorMainPanel.prototype._handleMutations.else.get if):
221         (WebInspector.TextEditorMainPanel.prototype._handleMutations):
222         (WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
223         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
224         * inspector/front-end/externs.js:
225         (WebKitMutation):
226         (WebKitMutationObserver.prototype.observe):
227         (WebKitMutationObserver.prototype.disconnect):
228         * inspector/front-end/textEditor.css:
229         (.debug-fadeout):
230         (@-webkit-keyframes debug-fadeout):
231         (to):
232
233 2012-11-13  Gabor Rapcsanyi  <rgabor@webkit.org>
234
235         Optimize RGBA4444ToRGBA8 packing/unpacking functions with NEON intrinsics in GraphicsContext3D
236         https://bugs.webkit.org/show_bug.cgi?id=101473
237
238         Reviewed by Zoltan Herczeg.
239
240         With NEON intrinsics the packing/unpacking functions can be optimized well.
241         This particular function is about 3 times faster with ARM NEON. On top level tests
242         the speed up was 1.18x.
243
244         * CMakeLists.txt:
245         * GNUmakefile.am:
246         * GNUmakefile.list.am:
247         * Target.pri:
248         * WebCore.gyp/WebCore.gyp:
249         * WebCore.gypi:
250         * WebCore.pri:
251         * WebCore.xcodeproj/project.pbxproj:
252         * platform/graphics/GraphicsContext3D.cpp:
253         (WebCore):
254         * platform/graphics/cpu/arm/GraphicsContext3DNEON.h: Added.
255         (WebCore):
256         (ARM):
257         (WebCore::ARM::unpackOneRowOfRGBA4444ToRGBA8NEON):
258         (WebCore::ARM::packOneRowOfRGBA8ToUnsignedShort4444NEON):
259
260 2012-11-13  Takashi Sakamoto  <tasak@google.com>
261
262         Crash when replacing parts of text inputs with content: url(...)
263         https://bugs.webkit.org/show_bug.cgi?id=101133
264
265         Reviewed by Kent Tamura.
266
267         Disable directly setting content of elements in an input element's
268         shadow dom tree, because the setting breaks input element's behavior.
269
270         Tests: fast/forms/number/number-content-url-crash.html
271                fast/forms/search/search-content-url-crash.html
272
273         * css/html.css:
274         (input::-webkit-textfield-decoration-container):
275         Use important to disable overriding an input element's content
276         property.
277         * html/TextFieldInputType.cpp:
278         (WebCore::TextFieldInputType::attach):
279         Added ASSERTION. No content should be applied to
280         input::-webkit-textfield-decoration-container.
281
282 2012-11-12  Huang Dongsung  <luxtella@company100.net>
283
284         [Qt] REGRESSION(134142): overscaled tiles in pixel test results and MiniBrowser
285         https://bugs.webkit.org/show_bug.cgi?id=101918
286
287         Reviewed by Noam Rosenthal.
288
289         Remove TiledBackingStore::rect(), because it is not used anymore.
290
291         * platform/graphics/TiledBackingStore.h:
292         (TiledBackingStore):
293
294 2012-11-12  Adam Barth  <abarth@webkit.org>
295
296         [V8] We should be able to recover the V8DOMWindowShell more quickly
297         https://bugs.webkit.org/show_bug.cgi?id=102020
298
299         Reviewed by Kentaro Hara.
300
301         For isolated worlds, we used to store the V8DOMWindowShell as an
302         internal field of the inner DOM window. This patch moves the pointer to
303         an internal field of the v8::Context, which saves us the work of
304         looking up the inner DOM window.
305
306         Unfortunately, we cannot store the V8DOMWindowShell in V8PerContextData
307         because the V8DOMWindowShell outlives the V8PerContextData. (We destroy
308         the V8PerContextData when we detach the V8DOMWindowShell from the
309         frame.)
310
311         * bindings/scripts/CodeGeneratorV8.pm:
312         (GetInternalFields):
313         * bindings/v8/V8DOMWindowShell.cpp:
314         (WebCore::V8DOMWindowShell::initializeIfNeeded):
315         * bindings/v8/V8DOMWindowShell.h:
316         (WebCore::V8DOMWindowShell::getEntered):
317         * bindings/v8/V8PerContextData.h:
318
319 2012-11-12  Kentaro Hara  <haraken@chromium.org>
320
321         [V8] Add ASSERT() to guarantee that we don't store NULL pointers to V8 internal fields
322         https://bugs.webkit.org/show_bug.cgi?id=101054
323
324         Reviewed by Adam Barth.
325
326         I'm investigating a Chromium crash bug:
327         http://code.google.com/p/chromium/issues/detail?id=155942
328
329         I've not yet identified the root cause (because I can't reproduce
330         the crash), but it looks like we are storing NULL pointers to
331         V8 internal fields. Just in case, we can add an ASSERT() to
332         guarantee that NULL pointers are never stored. (Also I'm hoping
333         that this ASSERT() will give me more debug information.)
334
335         No tests. No change in behavior.
336
337         * bindings/v8/V8DOMWrapper.h:
338         (WebCore::V8DOMWrapper::setDOMWrapper):
339
340 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
341
342         Changing id, className, or attribute should invalidate distribution
343         https://bugs.webkit.org/show_bug.cgi?id=100738
344
345         Reviewed by Dimitri Glazkov.
346
347         When id, className, or attribute is changed, we might have to invalidate distribution.
348         However, we don't want to do useless invalidation. So we consult with the RuleFeatureSet of ElementShadow,
349         and invalidate distribution only if necessary.
350
351         When className is changed, we can share a lot of code between invalidating distribution and invalidating style.
352         So we made checkNeedsStyleInvalidationForClassChange a template method, and share it.
353
354         Also we've measured how this patch makes changing attribute slow. By converting checkNeedsStyleInvalidationForClassChange
355         to template, actually this improves the performance of changing attribute code. I've measured each code 3 times.
356
357         DOM/ModifyAttribute.html
358         Before this patch:
359                 median  stdev  min      max    [ms]
360           1st   115.62   0.67  114.75   117.00
361           2nd   115.08   1.13  113.25   117.58
362           3rd   114.75   1.16  113.42   117.83
363
364         After this patch:
365                 median  stdev  min      max    [ms]
366           1st   102.55   0.95  101.25   104.50
367           2nd   103.10   0.86  102.20   100.95
368           3rd   103.30   1.05  102.10   106.65
369
370         Tests: fast/dom/shadow/distribution-attribute-modified.html
371                fast/dom/shadow/distribution-className-modified.html
372                fast/dom/shadow/distribution-id-modified.html
373                fast/dom/shadow/reprojection-attribute-modified.html
374                fast/dom/shadow/reprojection-className-modified.html
375                fast/dom/shadow/reprojection-id-modified.html
376
377         * dom/Element.cpp:
378         (WebCore::Element::attributeChanged):
379         (WebCore::HasSelectorForClassStyleFunctor::HasSelectorForClassStyleFunctor):
380         (HasSelectorForClassStyleFunctor):
381         (WebCore::HasSelectorForClassStyleFunctor::operator()): Returns true if StyleResolver::hasSelectorForClass returns true.
382         (WebCore):
383         (WebCore::HasSelectorForClassDistributionFunctor::HasSelectorForClassDistributionFunctor):
384         (HasSelectorForClassDistributionFunctor):
385         (WebCore::HasSelectorForClassDistributionFunctor::operator()): Returns true if ElementShadow::hasSelectorForClass returns true.
386         (WebCore::checkFunctorForClassChange):
387         (WebCore::checkNeedsStyleInvalidationForClassChange): Extacted the implementation to checkFunctorForClassChange.
388         (WebCore::checkNeedsDistributionInvalidationForClassChange):
389         (WebCore::Element::classAttributeChanged):
390
391 2012-11-12  Joe Mason  <jmason@rim.com>
392
393         [BlackBerry] NetworkJob should not check if data is received with HEAD
394         https://bugs.webkit.org/show_bug.cgi?id=102034
395
396         Reviewed by George Staikos.
397
398         Internal PR: 241391
399
400         Make HEAD requests call didFinish instead of didFail on a 404 response, even though they
401         have no data.
402
403         Tests: ManualTests/blackberry/head-xhr-nonexistant-file.html
404
405         * platform/network/blackberry/NetworkJob.cpp:
406         (WebCore::NetworkJob::NetworkJob):
407         (WebCore::NetworkJob::initialize):
408         (WebCore::NetworkJob::shouldNotifyClientFailed):
409         * platform/network/blackberry/NetworkJob.h:
410         (NetworkJob):
411
412 2012-11-12  Adam Barth  <abarth@webkit.org>
413
414         [V8] V8DOMWrapper::instantiateV8Object shouldn't use deprecatedDocument
415         https://bugs.webkit.org/show_bug.cgi?id=102015
416
417         Reviewed by Kentaro Hara.
418
419         Previously, Nodes had a special path through
420         V8DOMWrapper::instantiateV8Object using deprecatedDocument so that we
421         could find the V8PerContextData quickly. Now that we can get the
422         V8PerContextData from the v8::Context quickly, we can move Nodes to the
423         general case. The net consequence is that creation of all DOM objects
424         should be as fast as Nodes are.
425
426         * bindings/scripts/CodeGeneratorV8.pm:
427         (GenerateToV8Converters):
428         * bindings/scripts/test/V8/V8Float64Array.cpp:
429         (WebCore::V8Float64Array::wrapSlow):
430         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
431         (WebCore::V8TestActiveDOMObject::wrapSlow):
432         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
433         (WebCore::V8TestCustomNamedGetter::wrapSlow):
434         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
435         (WebCore::V8TestEventConstructor::wrapSlow):
436         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
437         (WebCore::V8TestEventTarget::wrapSlow):
438         * bindings/scripts/test/V8/V8TestException.cpp:
439         (WebCore::V8TestException::wrapSlow):
440         * bindings/scripts/test/V8/V8TestInterface.cpp:
441         (WebCore::V8TestInterface::wrapSlow):
442         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
443         (WebCore::V8TestMediaQueryListListener::wrapSlow):
444         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
445         (WebCore::V8TestNamedConstructor::wrapSlow):
446         * bindings/scripts/test/V8/V8TestNode.cpp:
447         (WebCore::V8TestNode::wrapSlow):
448         * bindings/scripts/test/V8/V8TestObj.cpp:
449         (WebCore::V8TestObj::wrapSlow):
450         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
451         (WebCore::V8TestOverloadedConstructors::wrapSlow):
452         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
453         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
454         * bindings/v8/V8Binding.cpp:
455         * bindings/v8/V8Binding.h:
456         (WebCore):
457         * bindings/v8/V8DOMWrapper.cpp:
458         (WebCore::V8DOMWrapper::instantiateV8Object):
459         * bindings/v8/V8DOMWrapper.h:
460         (V8DOMWrapper):
461
462 2012-11-12  KyungTae Kim  <ktf.kim@samsung.com>
463
464         Some CSS properties are not handled on StyleResolver::applyProperty
465         https://bugs.webkit.org/show_bug.cgi?id=102027
466
467         Reviewed by Gyuyoung Kim.
468
469         The CSSPropertyMaxZoom, CSSPropertyMinZoom, CSSPropertyOrientation and CSSPropertyUserZoom
470         need to be handled on StyleResolver::applyProperty.
471
472         * css/StyleResolver.cpp:
473         (WebCore::StyleResolver::applyProperty):
474
475 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
476
477         Avoid calling calculateLayerBounds() and convertToLayerCoords() more than once per layer paint
478         https://bugs.webkit.org/show_bug.cgi?id=102031
479
480         Reviewed by Beth Dakin.
481
482         RenderLayer::paintLayerContents() and callees could end up calling convertToLayerCoords()
483         and calculateLayerBounds() multiple times for painting a single layer.
484         
485         Keep track of whether we've computed the root-relative bounds and do it on demand.
486         Compute the offset relative to rootLayer once, and pass it around as an optional parameter
487         to functions that need it.
488
489         * rendering/RenderLayer.cpp:
490         (WebCore::RenderLayer::paintLayerContents):
491         (WebCore::RenderLayer::hitTestLayer):
492         (WebCore::RenderLayer::calculateRects):
493         (WebCore::RenderLayer::intersectsDamageRect):
494         (WebCore::RenderLayer::boundingBox):
495         (WebCore::RenderLayer::calculateLayerBounds):
496         * rendering/RenderLayer.h:
497         * rendering/RenderLayerCompositor.cpp:
498         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
499
500 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
501
502         Change calculateLayerBounds() from a static function to a member function
503         https://bugs.webkit.org/show_bug.cgi?id=102022
504
505         Reviewed by Beth Dakin.
506
507         calculateLayerBounds() has grown into a substantial function after
508         starting live as a little utility function, so make it a member function
509         of RenderLayer, and adjust callers accordingly.
510
511         * rendering/RenderLayer.cpp:
512         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
513         (WebCore::RenderLayer::paintLayerContents):
514         (WebCore::RenderLayer::calculateLayerBounds):
515         * rendering/RenderLayer.h:
516         * rendering/RenderLayerCompositor.cpp:
517         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
518
519 2012-11-12  Alexei Filippov  <alph@chromium.org>
520
521         Web Inspector: Add an option to switch display of "Other" memory on/off in NMI
522         https://bugs.webkit.org/show_bug.cgi?id=101601
523
524         Reviewed by Yury Semikhatsky.
525
526         * English.lproj/localizedStrings.js:
527         * inspector/front-end/NativeMemorySnapshotView.js:
528         * inspector/front-end/Settings.js:
529         * inspector/front-end/SettingsScreen.js:
530         (WebInspector.GenericSettingsTab):
531
532 2012-11-10  Dirk Schulze  <krit@webkit.org>
533
534         BasicShapes 'circle', 'rectangle', 'ellipse' should be animatable with themselves
535         https://bugs.webkit.org/show_bug.cgi?id=101854
536
537         Reviewed by Andreas Kling.
538
539         The basic shapes BasicShapeCircle, BasicShapeEllipse and BasicShapeRectangle should
540         blend with themselves. This patch introduces simple interpolation of BasicShapes for
541         the -webkit-clip-path property.
542
543         Test: css3/masking/clip-path-animation.html
544
545         * page/animation/CSSPropertyAnimation.cpp:
546         (WebCore::blendFunc): Added a new function that blends between two BasicShape objects.
547             It skips blending on <clipPath> references, polygons and if the shapes are not of
548             the same type.
549         (WebCore):
550         (PropertyWrapperClipPath): Added new wrapper for ClipPathShapes.
551         (WebCore::PropertyWrapperClipPath::PropertyWrapperClipPath): Ditto.
552         (WebCore::CSSPropertyAnimation::ensurePropertyMap): Add -webkit-clip-path to animatable
553             properties.
554         * rendering/style/BasicShapes.cpp:
555             The blending is done by each shape itself. This is similar to FilterOperations or
556             TransformOperations.
557         (WebCore::BasicShapeRectangle::blend):
558         (WebCore):
559         (WebCore::BasicShapeCircle::blend):
560         (WebCore::BasicShapeEllipse::blend):
561         (WebCore::BasicShapePolygon::blend):
562         * rendering/style/BasicShapes.h:
563             Added new blending functions to header.
564         (BasicShape):
565         (BasicShapeRectangle):
566         (BasicShapeCircle):
567         (BasicShapeEllipse):
568         (BasicShapePolygon):
569
570 2012-11-12  Adam Barth  <abarth@webkit.org>
571
572         [V8] We should be able to get V8PerContextData from a v8::Context more quickly
573         https://bugs.webkit.org/show_bug.cgi?id=102008
574
575         Reviewed by Ojan Vafai.
576
577         This patch uses the new v8::Context::GetAlignedPointerFromEmbedderData
578         API to get the V8PerContextData associated with a v8::Context much more
579         quickly. We no longer need to use a hidden property on the inner global
580         object. This patch will enable future optimizations.
581
582         * bindings/v8/V8HiddenPropertyName.h:
583         (WebCore):
584         * bindings/v8/V8PerContextData.cpp:
585         (WebCore::V8PerContextData::dispose):
586         (WebCore::V8PerContextData::init):
587         * bindings/v8/V8PerContextData.h:
588         (WebCore::V8PerContextData::from):
589
590 2012-11-12  Elliott Sprehn  <esprehn@chromium.org>
591
592         Make Frames and HTMLFrameOwnerElement less friendly
593         https://bugs.webkit.org/show_bug.cgi?id=102003
594
595         Reviewed by Ojan Vafai.
596
597         Frame used to assign HTMLFrameOwnerElement's m_contentFrame directly
598         this patch makes it go through a method to allow future hooks when frames
599         are associated with owners.
600
601         No new tests, this is just a refactor.
602
603         * html/HTMLFrameOwnerElement.cpp:
604         (WebCore::HTMLFrameOwnerElement::setContentFrame):
605         * html/HTMLFrameOwnerElement.h:
606         (HTMLFrameOwnerElement):
607         (WebCore::HTMLFrameOwnerElement::clearContentFrame):
608         * page/Frame.cpp:
609         (WebCore::Frame::Frame): Use new methods.
610
611 2012-11-12  Beth Dakin  <bdakin@apple.com>
612
613         Zoomed-in scrolling is very slow when deviceScaleFactor > 1
614         https://bugs.webkit.org/show_bug.cgi?id=101787
615
616         Reviewed by Simon Fraser.
617
618         This patch adds a new member to the GraphicsContextState that tracks 
619         whether or not fonts should be subpixel-quantized. We want to default 
620         to sibpixel-quantizing, but we'll turn it off if we're scrolling 
621         content that cannot be scrolled on the scrolling thread.
622
623         State has a new bool shouldSubpixelQuantizeFonts. It defaults to true 
624         since normally we do want to quantize.
625         * platform/graphics/GraphicsContext.cpp:
626         (WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
627         (WebCore::GraphicsContext::shouldSubpixelQuantizeFonts):
628         * platform/graphics/GraphicsContext.h:
629         (WebCore::GraphicsContextState::GraphicsContextState):
630         (GraphicsContextState):
631         (GraphicsContext):
632
633         wkSetCGFontRenderingMode now takes a BOOL parameter which indicates 
634         whether or not it should try to subpixel-quantize the fonts.
635         * platform/graphics/mac/FontMac.mm:
636         (WebCore::Font::drawGlyphs):
637         * platform/mac/WebCoreSystemInterface.h:
638         * platform/mac/WebCoreSystemInterface.mm:
639
640         Disable subpixel-quantization for overflow areas, subframes, and 
641         content that is scrolling on the main thread.
642         * rendering/RenderLayer.cpp:
643         (WebCore::RenderLayer::paintLayerContents):
644
645 2012-11-12  Timothy Hatcher  <timothy@apple.com>
646
647         Expose InspectorFrontendClientLocal::setAttachedWindow as public.
648
649         This allows external actions to update the docked state in the frontend.
650
651         https://bugs.webkit.org/show_bug.cgi?id=102023
652
653         Reviewed by Anders Carlsson.
654
655         * inspector/InspectorFrontendClientLocal.h:
656         Moved InspectorFrontendClientLocal::setAttachedWindow to public section.
657
658 2012-11-12  Erik Arvidsson  <arv@chromium.org>
659
660         Replace DOMException TYPE_MISMATCH_ERR with TypeError
661         https://bugs.webkit.org/show_bug.cgi?id=101604
662
663         Reviewed by Adam Barth.
664
665         DOMException.TYPE_MISMATCH_ERR is deprecated in favor of using TypeError.
666
667         We have historically used TYPE_MISMATCH_ERR as a blanket DOMException code when
668         the spec mandates TypeError being thrown.
669
670         Updated existing tests.
671
672         * Modules/mediastream/MediaConstraintsImpl.cpp:
673         * Modules/mediastream/MediaStreamTrackList.cpp:
674         * Modules/mediastream/PeerConnection00.cpp:
675         * Modules/mediastream/RTCDataChannel.cpp:
676         * Modules/mediastream/RTCIceCandidate.cpp:
677         * Modules/mediastream/RTCPeerConnection.cpp:
678         * Modules/mediastream/RTCSessionDescription.cpp:
679         * Modules/mediastream/SessionDescription.cpp:
680         * bindings/js/CallbackFunction.cpp:
681         * bindings/js/JSCustomXPathNSResolver.cpp:
682         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
683         * bindings/js/JSHTMLSelectElementCustom.cpp:
684         * bindings/js/JSMutationObserverCustom.cpp:
685         * bindings/js/JSSQLResultSetRowListCustom.cpp:
686         * bindings/js/JSSQLTransactionCustom.cpp:
687         * bindings/js/JSSQLTransactionSyncCustom.cpp:
688         * bindings/scripts/CodeGeneratorJS.pm:
689         * bindings/scripts/CodeGeneratorObjC.pm:
690         * bindings/scripts/CodeGeneratorV8.pm:
691         * bindings/v8/V8Callback.h:
692         * bindings/v8/V8Collection.cpp:
693         * bindings/v8/custom/V8DocumentCustom.cpp:
694         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
695         * bindings/v8/custom/V8MutationObserverCustom.cpp:
696         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
697         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
698         * dom/DOMCoreException.idl:
699         * html/HTMLElement.cpp:
700         * html/HTMLMediaElement.cpp:
701         * html/HTMLOptionsCollection.cpp:
702         * html/canvas/CanvasRenderingContext2D.cpp:
703         * page/Crypto.cpp:
704         * page/DOMSelection.cpp:
705         * svg/properties/SVGTransformListPropertyTearOff.h:
706
707 2012-11-12  Joshua Bell  <jsbell@chromium.org>
708
709         IndexedDB: Use sequence<> instead of DOMString[] in IDL
710         https://bugs.webkit.org/show_bug.cgi?id=100539
711
712         Reviewed by Adam Barth.
713
714         In the binding layer, DOMString[] is implemented as an alias for DOMStringList.
715         WebIDL usage is tending towards sequence<DOMString> anyway for inputs, so switch
716         to that. Note webkit.org/b/100537 which requires sequence<String> instead.
717
718         Covered by storage/indexeddb/transaction-basics.html and objectstore-basics.html
719
720         * Modules/indexeddb/IDBDatabase.cpp:
721         (WebCore::IDBDatabase::transaction): DOMStringList -> Vector<String>
722         * Modules/indexeddb/IDBDatabase.h:
723         (WebCore::IDBDatabase::transaction):
724         (IDBDatabase):
725         * Modules/indexeddb/IDBDatabase.idl: DOMString[] -> sequence<String>
726         * Modules/indexeddb/IDBObjectStore.cpp: Move trivial impls to header.
727         * Modules/indexeddb/IDBObjectStore.h:
728         (WebCore::IDBObjectStore::createIndex):
729         * Modules/indexeddb/IDBObjectStore.idl: DOMString[] -> sequence<String>
730
731 2012-11-12  Anders Carlsson  <andersca@apple.com>
732
733         Remove Leopard only gradient code
734         https://bugs.webkit.org/show_bug.cgi?id=102033
735
736         Reviewed by Dan Bernstein.
737
738         USE_CG_SHADING was only ever true on Leopard, so we can remove it now.
739
740         * platform/graphics/Gradient.h:
741         * platform/graphics/cg/GradientCG.cpp:
742         (WebCore::Gradient::platformDestroy):
743         (WebCore::Gradient::platformGradient):
744         (WebCore::Gradient::paint):
745
746 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
747
748         [BlackBerry] Update BB10 form theme.
749         https://bugs.webkit.org/show_bug.cgi?id=100760
750
751         Reviewed by Rob Buis.
752
753         RIM PR 237003
754         Internally Reviewed by Eli Fidler.
755         Since we nolonger use small font for form controls, adjust paddingDivisor
756         ratio to decrease the padding value.
757
758         * platform/blackberry/RenderThemeBlackBerry.cpp:
759         (WebCore):
760
761 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
762
763         Fix filter dirty rect regression from r134311
764         https://bugs.webkit.org/show_bug.cgi?id=102002
765
766         Reviewed by Beth Dakin.
767
768         When rendering with filters, the code can inflate the root-relative
769         paintDirtyRect in RenderLayer::paintLayerContents(), and my cleanup
770         broke this behavior.
771     
772         Fix by making a local copy of LayerPaintingInfo, updating its paintDirtyRect,
773         and using it for the rest of the function.
774
775         * rendering/RenderLayer.cpp:
776         (WebCore::RenderLayer::paintLayerContents):
777
778 2012-11-12  Kentaro Hara  <haraken@chromium.org>
779
780         [V8] V8Event::valueAccessorGetter() in custom binding is not used
781         https://bugs.webkit.org/show_bug.cgi?id=101893
782
783         Reviewed by Adam Barth.
784
785         No tests. No change in behavior.
786
787         * bindings/v8/custom/V8EventCustom.cpp:
788
789 2012-11-12  Roger Fong  <roger_fong@apple.com>
790
791         Web Inspector: Fix docking behaviour on Windows.
792         https://bugs.webkit.org/show_bug.cgi?id=101978
793
794         Reviewed by Brian Weinstein.
795
796         There are a number of problems with docking behaviour on Windows.
797         For starters, it does not ever constrain the inspector's size properly while docked.
798         It also does not properly set the whether or not the inspector can be docked/undocked.
799         This patch fixes both issues.
800
801         * inspector/InspectorFrontendClientLocal.cpp:
802         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
803         Switch order of calling bringToFront and setDockingUnavailable.
804
805 2012-11-12  Adam Barth  <abarth@webkit.org>
806
807         [V8] Update callers to use the aligned pointer API rather than the deprecated unaligned pointer API
808         https://bugs.webkit.org/show_bug.cgi?id=101519
809
810         Reviewed by Ojan Vafai.
811
812         There should be no change in behavior.  The new API is slightly faster
813         than the old API (and apparently works correctly internally in V8).
814
815         * bindings/scripts/CodeGeneratorV8.pm:
816         (GenerateHeader):
817         * bindings/scripts/test/V8/V8Float64Array.h:
818         (WebCore::V8Float64Array::toNative):
819         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
820         (WebCore::V8TestActiveDOMObject::toNative):
821         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
822         (WebCore::V8TestCustomNamedGetter::toNative):
823         * bindings/scripts/test/V8/V8TestEventConstructor.h:
824         (WebCore::V8TestEventConstructor::toNative):
825         * bindings/scripts/test/V8/V8TestEventTarget.h:
826         (WebCore::V8TestEventTarget::toNative):
827         * bindings/scripts/test/V8/V8TestException.h:
828         (WebCore::V8TestException::toNative):
829         * bindings/scripts/test/V8/V8TestInterface.h:
830         (WebCore::V8TestInterface::toNative):
831         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
832         (WebCore::V8TestMediaQueryListListener::toNative):
833         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
834         (WebCore::V8TestNamedConstructor::toNative):
835         * bindings/scripts/test/V8/V8TestNode.h:
836         (WebCore::V8TestNode::toNative):
837         * bindings/scripts/test/V8/V8TestObj.h:
838         (WebCore::V8TestObj::toNative):
839         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
840         (WebCore::V8TestSerializedScriptValueInterface::toNative):
841         * bindings/v8/NPV8Object.cpp:
842         (WebCore::v8ObjectToNPObject):
843         (WebCore::npCreateV8ScriptObject):
844         * bindings/v8/V8Collection.h:
845         (WebCore::toNativeCollection):
846         * bindings/v8/V8DOMWindowShell.cpp:
847         (WebCore::setIsolatedWorldField):
848         (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
849         * bindings/v8/V8DOMWrapper.cpp:
850         (WebCore::V8DOMWrapper::isWrapperOfType):
851         * bindings/v8/V8DOMWrapper.h:
852         (WebCore::V8DOMWrapper::setDOMWrapper):
853         (WebCore::V8DOMWrapper::clearDOMWrapper):
854         * bindings/v8/WrapperTypeInfo.h:
855         (WebCore::toNative):
856         (WebCore::toWrapperTypeInfo):
857
858 2012-11-12  Andreas Kling  <kling@webkit.org>
859
860         Rename AttributeStyle => PresentationAttributeStyle across WebCore.
861         <http://webkit.org/b/101975>
862
863         Rubber-stamped by Antti Koivisto.
864
865         The completely separate concepts of "attribute style" and "style attribute" were a bit too
866         easy to confuse in variable and method names. Reconfigure our terminology to call it
867         "presentation attribute style" instead of "attribute style".
868
869         * css/StyleResolver.cpp:
870         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
871         (WebCore::StyleResolver::matchAllRules):
872         (WebCore::StyleResolver::canShareStyleWithElement):
873         * dom/Attr.cpp:
874         (WebCore::Attr::style):
875         * dom/ElementAttributeData.cpp:
876         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
877         (WebCore::ElementAttributeData::reportMemoryUsage):
878         * dom/ElementAttributeData.h:
879         (WebCore::ElementAttributeData::presentationAttributeStyle):
880         (WebCore::ElementAttributeData::setPresentationAttributeStyle):
881         (ElementAttributeData):
882         * dom/Node.h:
883         (WebCore::Node::attributeStyleDirty):
884         (WebCore::Node::setPresentationAttributeStyleDirty):
885         (WebCore::Node::clearPresentationAttributeStyleDirty):
886         * dom/StyledElement.cpp:
887         (WebCore::StyledElement::attributeChanged):
888         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
889         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
890         * dom/StyledElement.h:
891         (WebCore::StyledElement::additionalPresentationAttributeStyle):
892         (StyledElement):
893         (WebCore::StyledElement::collectStyleForPresentationAttribute):
894         (WebCore::StyledElement::presentationAttributeStyle):
895         * html/HTMLBRElement.cpp:
896         (WebCore::HTMLBRElement::collectStyleForPresentationAttribute):
897         * html/HTMLBRElement.h:
898         (HTMLBRElement):
899         * html/HTMLBodyElement.cpp:
900         (WebCore::HTMLBodyElement::collectStyleForPresentationAttribute):
901         * html/HTMLBodyElement.h:
902         (HTMLBodyElement):
903         * html/HTMLDivElement.cpp:
904         (WebCore::HTMLDivElement::collectStyleForPresentationAttribute):
905         * html/HTMLDivElement.h:
906         (HTMLDivElement):
907         * html/HTMLElement.cpp:
908         (WebCore::HTMLElement::applyBorderAttributeToStyle):
909         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
910         (WebCore::HTMLElement::collectStyleForPresentationAttribute):
911         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
912         (WebCore::HTMLElement::addHTMLLengthToStyle):
913         * html/HTMLElement.h:
914         (HTMLElement):
915         * html/HTMLEmbedElement.cpp:
916         (WebCore::HTMLEmbedElement::collectStyleForPresentationAttribute):
917         * html/HTMLEmbedElement.h:
918         (HTMLEmbedElement):
919         * html/HTMLFontElement.cpp:
920         (WebCore::HTMLFontElement::collectStyleForPresentationAttribute):
921         * html/HTMLFontElement.h:
922         (HTMLFontElement):
923         * html/HTMLFrameSetElement.cpp:
924         (WebCore::HTMLFrameSetElement::collectStyleForPresentationAttribute):
925         * html/HTMLFrameSetElement.h:
926         (HTMLFrameSetElement):
927         * html/HTMLHRElement.cpp:
928         (WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
929         * html/HTMLHRElement.h:
930         (HTMLHRElement):
931         * html/HTMLIFrameElement.cpp:
932         (WebCore::HTMLIFrameElement::collectStyleForPresentationAttribute):
933         * html/HTMLIFrameElement.h:
934         (HTMLIFrameElement):
935         * html/HTMLImageElement.cpp:
936         (WebCore::HTMLImageElement::collectStyleForPresentationAttribute):
937         * html/HTMLImageElement.h:
938         (HTMLImageElement):
939         * html/HTMLInputElement.cpp:
940         (WebCore::HTMLInputElement::collectStyleForPresentationAttribute):
941         * html/HTMLInputElement.h:
942         (HTMLInputElement):
943         * html/HTMLLIElement.cpp:
944         (WebCore::HTMLLIElement::collectStyleForPresentationAttribute):
945         * html/HTMLLIElement.h:
946         (HTMLLIElement):
947         * html/HTMLMarqueeElement.cpp:
948         (WebCore::HTMLMarqueeElement::collectStyleForPresentationAttribute):
949         * html/HTMLMarqueeElement.h:
950         (HTMLMarqueeElement):
951         * html/HTMLOListElement.cpp:
952         (WebCore::HTMLOListElement::collectStyleForPresentationAttribute):
953         * html/HTMLOListElement.h:
954         (HTMLOListElement):
955         * html/HTMLObjectElement.cpp:
956         (WebCore::HTMLObjectElement::collectStyleForPresentationAttribute):
957         * html/HTMLObjectElement.h:
958         (HTMLObjectElement):
959         * html/HTMLParagraphElement.cpp:
960         (WebCore::HTMLParagraphElement::collectStyleForPresentationAttribute):
961         * html/HTMLParagraphElement.h:
962         (HTMLParagraphElement):
963         * html/HTMLPlugInElement.cpp:
964         (WebCore::HTMLPlugInElement::collectStyleForPresentationAttribute):
965         * html/HTMLPlugInElement.h:
966         (HTMLPlugInElement):
967         * html/HTMLPreElement.cpp:
968         (WebCore::HTMLPreElement::collectStyleForPresentationAttribute):
969         * html/HTMLPreElement.h:
970         (HTMLPreElement):
971         * html/HTMLTableCaptionElement.cpp:
972         (WebCore::HTMLTableCaptionElement::collectStyleForPresentationAttribute):
973         * html/HTMLTableCaptionElement.h:
974         (HTMLTableCaptionElement):
975         * html/HTMLTableCellElement.cpp:
976         (WebCore::HTMLTableCellElement::collectStyleForPresentationAttribute):
977         (WebCore::HTMLTableCellElement::additionalPresentationAttributeStyle):
978         * html/HTMLTableCellElement.h:
979         (HTMLTableCellElement):
980         * html/HTMLTableColElement.cpp:
981         (WebCore::HTMLTableColElement::collectStyleForPresentationAttribute):
982         (WebCore::HTMLTableColElement::additionalPresentationAttributeStyle):
983         * html/HTMLTableColElement.h:
984         (HTMLTableColElement):
985         * html/HTMLTableElement.cpp:
986         (WebCore::HTMLTableElement::collectStyleForPresentationAttribute):
987         (WebCore::HTMLTableElement::additionalPresentationAttributeStyle):
988         * html/HTMLTableElement.h:
989         (HTMLTableElement):
990         * html/HTMLTablePartElement.cpp:
991         (WebCore::HTMLTablePartElement::collectStyleForPresentationAttribute):
992         * html/HTMLTablePartElement.h:
993         (HTMLTablePartElement):
994         * html/HTMLTableSectionElement.cpp:
995         (WebCore::HTMLTableSectionElement::additionalPresentationAttributeStyle):
996         * html/HTMLTableSectionElement.h:
997         (HTMLTableSectionElement):
998         * html/HTMLTextAreaElement.cpp:
999         (WebCore::HTMLTextAreaElement::collectStyleForPresentationAttribute):
1000         * html/HTMLTextAreaElement.h:
1001         (HTMLTextAreaElement):
1002         * html/HTMLUListElement.cpp:
1003         (WebCore::HTMLUListElement::collectStyleForPresentationAttribute):
1004         * html/HTMLUListElement.h:
1005         (HTMLUListElement):
1006         * html/HTMLVideoElement.cpp:
1007         (WebCore::HTMLVideoElement::collectStyleForPresentationAttribute):
1008         * html/HTMLVideoElement.h:
1009         (HTMLVideoElement):
1010         * inspector/InspectorCSSAgent.cpp:
1011         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1012         * mathml/MathMLElement.cpp:
1013         (WebCore::MathMLElement::collectStyleForPresentationAttribute):
1014         * mathml/MathMLElement.h:
1015         (MathMLElement):
1016         * svg/SVGImageElement.cpp:
1017         (WebCore::SVGImageElement::collectStyleForPresentationAttribute):
1018         * svg/SVGImageElement.h:
1019         (SVGImageElement):
1020         * svg/SVGStyledElement.cpp:
1021         (WebCore::SVGStyledElement::collectStyleForPresentationAttribute):
1022         * svg/SVGStyledElement.h:
1023         (SVGStyledElement):
1024         * svg/SVGTextContentElement.cpp:
1025         (WebCore::SVGTextContentElement::collectStyleForPresentationAttribute):
1026         * svg/SVGTextContentElement.h:
1027         (SVGTextContentElement):
1028
1029 2012-11-12  Adam Barth  <abarth@webkit.org>
1030
1031         [V8] Many things crash when switching to V8's new aligned pointer API
1032         https://bugs.webkit.org/show_bug.cgi?id=101994
1033
1034         Reviewed by Eric Seidel.
1035
1036         When using the aligned pointer API, we need to make sure to initialize
1037         every internal field that we later read because the new API has better
1038         error checks than the old API. This patch explicitly initializes the
1039         enteredIsolatedWorldIndex internal field to zero for main worlds,
1040         fixing the LayoutTest crashes from our previous attempt to move the
1041         aligned pointer API.
1042
1043         * bindings/v8/V8DOMWindowShell.cpp:
1044         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1045
1046 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
1047
1048         Reduce the crazy number of parameters to RenderLayer painting member functions
1049         https://bugs.webkit.org/show_bug.cgi?id=101895
1050
1051         Reviewed by Beth Dakin.
1052
1053         The various RenderLayer::paintLayer* functions took a lot of arguments, most
1054         of which were passed down directly to descendants.
1055         
1056         Gather these arguments into a LayerPaintingInfo struct.
1057
1058         * rendering/RenderLayer.cpp:
1059         (WebCore::RenderLayer::paint): Create a LayerPaintingInfo struct to pass
1060         to descendant paint calls.
1061         (WebCore::RenderLayer::paintOverlayScrollbars): Ditto.
1062         (WebCore::RenderLayer::paintLayer): When painting transformed layers, we
1063         make a new LayerPaintingInfo because the root layer is shifted.
1064         (WebCore::RenderLayer::paintLayerContentsAndReflection):
1065         (WebCore::RenderLayer::paintLayerContents):
1066         (WebCore::RenderLayer::paintList):
1067         (WebCore::RenderLayer::paintPaginatedChildLayer):
1068         (WebCore::RenderLayer::paintChildLayerIntoColumns): Create a new LayerPaintingInfo
1069         struct for column painting.
1070         * rendering/RenderLayer.h:
1071         (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
1072         (LayerPaintingInfo):
1073         * rendering/RenderLayerBacking.cpp:
1074         (WebCore::RenderLayerBacking::paintIntoLayer): Build a LayerPaintingInfo
1075         to enter layer painting.
1076         * rendering/RenderReplica.cpp:
1077         (WebCore::RenderReplica::paint): Ditto.
1078
1079 2012-11-12  Brady Eidson  <beidson@apple.com>
1080
1081         NetworkProcess: Use an accurate shouldContentSniff value when creating ResourceHandles
1082         https://bugs.webkit.org/show_bug.cgi?id=101872
1083
1084         Reviewed by Alexey Proskuryakov.
1085
1086         Expose shouldSniffContent to pass it along to the NetworkProcess.
1087
1088         * loader/ResourceLoader.h:
1089         (WebCore::ResourceLoader::shouldSniffContent):
1090
1091 2012-11-12  Christophe Dumez  <christophe.dumez@intel.com>
1092
1093         Fix memory leak in createSurfaceForBackingStore()
1094         https://bugs.webkit.org/show_bug.cgi?id=101941
1095
1096         Reviewed by Kenneth Rohde Christiansen.
1097
1098         Fix memory leak in createSurfaceForBackingStore(),
1099         the RefPtr<cairo_surface_t> should be released
1100         when returned since we pass ownership to the
1101         caller.
1102
1103         No new tests, no behavior change for layout tests.
1104
1105         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
1106         (WebCore::createSurfaceForBackingStore):
1107
1108 2012-11-12  Joe Mason  <jmason@rim.com>
1109
1110         [BlackBerry] Update to new proxyInfo API
1111         https://bugs.webkit.org/show_bug.cgi?id=101945
1112
1113         Reviewed by George Staikos.
1114
1115         Internal PR: 234680
1116         Reviewed internally by: Leo Yang
1117
1118         The proxyAddress, proxyUsername and proxyPassword methods in BlackBerry::Platform::Settings
1119         have been replaced with a single, more efficient proxyInfo method.
1120
1121         No new tests because this is an API update with no behaviour change.
1122
1123         * platform/network/blackberry/NetworkJob.cpp:
1124         (WebCore::NetworkJob::sendRequestWithCredentials):
1125         (WebCore::NetworkJob::storeCredentials):
1126
1127 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1128
1129         Unreviewed, rolling out r126157.
1130         http://trac.webkit.org/changeset/126157
1131         https://bugs.webkit.org/show_bug.cgi?id=101954
1132
1133         This patch caused (untestable) regression of the volume
1134         property on Mac, Win, and Blackberry ports. (Requested by
1135         jernoble on #webkit).
1136
1137         * platform/graphics/MediaPlayer.cpp:
1138         (WebCore::MediaPlayer::loadWithNextMediaEngine):
1139         (WebCore::MediaPlayer::setVolume):
1140         (WebCore::MediaPlayer::setMuted):
1141         (WebCore::MediaPlayer::setPreservesPitch):
1142         (WebCore::MediaPlayer::setSize):
1143         (WebCore::MediaPlayer::setVisible):
1144         (WebCore::MediaPlayer::setPreload):
1145
1146 2012-11-12  Arpita Bahuguna  <arpitabahuguna@gmail.com>
1147
1148         Specified width CSS tables should not include border and padding as part of that width.
1149         https://bugs.webkit.org/show_bug.cgi?id=77028
1150
1151         Reviewed by Julien Chaffraix.
1152
1153         CSS table width should not include border and padding even though HTML
1154         tables size as though their width includes border/padding.
1155
1156         This is applicable for all CSS tables with specified widths.
1157
1158         The change would also make our rendering of CSS tables with specified
1159         width similar to that of Opera, IE and FF.
1160
1161         Test: fast/table/css-table-width-with-border-padding.html
1162
1163         * rendering/RenderTable.cpp:
1164         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
1165         Added check for all (positive) specified widths for CSS tables to
1166         consider border and padding outside of the specified width.
1167
1168 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1169
1170         Move resolving blob references to FormData.
1171         https://bugs.webkit.org/show_bug.cgi?id=101754
1172
1173         Reviewed by Simon Hausmann.
1174
1175         Resolving Blob-references to a set of just File and Data is done similar by several platforms.
1176         This patch adds a generic implementation in FormData and uses that from CFNetwork, Qt and
1177         BlackBerry network implementation.
1178
1179         * platform/network/FormData.cpp:
1180         (WebCore::appendBlobResolved):
1181         (WebCore::FormData::resolveBlobReferences):
1182         * platform/network/FormData.h:
1183         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
1184         (WebCore::ResourceRequest::initializePlatformRequest):
1185         * platform/network/cf/FormDataStreamCFNet.cpp:
1186         (WebCore::setHTTPBody):
1187         * platform/network/qt/QNetworkReplyHandler.cpp:
1188         (WebCore::FormDataIODevice::prepareFormElements):
1189
1190 2012-11-12  Zeno Albisser  <zeno@webkit.org>
1191
1192         GraphicsSurfaceGLX does not handle transparency correctly.
1193         https://bugs.webkit.org/show_bug.cgi?id=101943
1194
1195         GraphicsSurfacGLX must consistently use RGBA texture format.
1196         glXCreateWindow must be called after creating the XWindow
1197         that serves as a temporary offscreen texture storage, in order
1198         to allow for transparency.
1199         When creating the offscreen XWindow we must make sure,
1200         that we use a framebuffer configuration that supports
1201         an alpha mask.
1202
1203         Reviewed by Noam Rosenthal.
1204
1205         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
1206         (WebCore):
1207         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
1208         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
1209         (WebCore::GraphicsSurfacePrivate::createSurface):
1210         (GraphicsSurfacePrivate):
1211         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
1212
1213 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1214
1215         Unreviewed, rolling out r134225.
1216         http://trac.webkit.org/changeset/134225
1217         https://bugs.webkit.org/show_bug.cgi?id=101948
1218
1219         Appears to have broken the EFL and GTK builds (Requested by
1220         abarth on #webkit).
1221
1222         * bindings/js/JSHTMLElementCustom.cpp:
1223         (WebCore):
1224         (WebCore::JSHTMLElement::itemValue):
1225         (WebCore::JSHTMLElement::setItemValue):
1226         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1227         (WebCore):
1228         (WebCore::V8HTMLElement::itemValueAccessorGetter):
1229         (WebCore::V8HTMLElement::itemValueAccessorSetter):
1230         * html/HTMLElement.idl:
1231
1232 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1233
1234         hitTestResultAtPoint does two hit-tests if called on non main frame
1235         https://bugs.webkit.org/show_bug.cgi?id=101915
1236
1237         Reviewed by Antonio Gomes.
1238
1239         Always redirect hitTestResultAtPoint to the main-frame. This used to being
1240         done on every result that hit anything, which caused running the expensive 
1241         hit-tests multiple times in almost all cases.
1242
1243         * page/EventHandler.cpp:
1244         (WebCore::EventHandler::hitTestResultAtPoint):
1245
1246 2012-11-12  Kentaro Hara  <haraken@chromium.org>
1247
1248         [V8][JSC] ScriptProfileNode::callUID needs not to be [Custom]
1249         https://bugs.webkit.org/show_bug.cgi?id=101892
1250
1251         Reviewed by Adam Barth.
1252
1253         We can remove [Custom] from callUID in ScriptProfileNode.idl.
1254
1255         No tests. No change in behavior.
1256
1257         * GNUmakefile.list.am:
1258         * Target.pri:
1259         * UseJSC.cmake:
1260         * WebCore.gypi:
1261         * WebCore.vcproj/WebCore.vcproj:
1262         * WebCore.xcodeproj/project.pbxproj:
1263         * bindings/js/JSBindingsAllInOne.cpp:
1264         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed.
1265         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1266         * inspector/ScriptProfileNode.idl:
1267
1268 2012-11-12  Kentaro Hara  <haraken@chromium.org>
1269
1270         [V8] Performance::memory getter needs not to be [Custom]
1271         https://bugs.webkit.org/show_bug.cgi?id=101890
1272
1273         Reviewed by Adam Barth.
1274
1275         No tests. No change in behavior.
1276
1277         * UseV8.cmake:
1278         * WebCore.gypi:
1279         * bindings/v8/custom/V8PerformanceCustom.cpp: Removed.
1280         * page/Performance.idl:
1281
1282 2012-11-12  Kentaro Hara  <haraken@chromium.org>
1283
1284         [V8][JSC] HTMLOptionsCollection::length needs not to be [Custom]
1285         https://bugs.webkit.org/show_bug.cgi?id=101888
1286
1287         Reviewed by Adam Barth.
1288
1289         We can remove [Custom] from getter. It is possible to remove [Custom]
1290         from setter, but it changes the current behavior.
1291         (I think the current implementation of the setter is wrong.
1292         I'll fix it in another patch.)
1293
1294         No tests. No change in behavior.
1295
1296         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1297         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1298         * html/HTMLOptionsCollection.idl:
1299
1300 2012-11-12  Yael Aharon  <yael.aharon@intel.com>
1301
1302         [EFL][WK2][AC] Black screen when applications use software backend.
1303         https://bugs.webkit.org/show_bug.cgi?id=101659
1304
1305         Reviewed by Kenneth Rohde Christiansen.
1306
1307         Add a utility method to create a cairo_surface_t from a given Evas_Object_Image.
1308
1309         No new tests. Will be covered when running existing tests without enabling openGL.
1310
1311         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
1312         (WebCore::createSurfaceForImage):
1313         (WebCore):
1314         * platform/graphics/efl/CairoUtilitiesEfl.h:
1315         (WebCore):
1316
1317 2012-11-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1318
1319         Unreviewed. Fix make distcheck.
1320
1321         * GNUmakefile.am: Remove editing from IDL_PATH since it doesn't
1322         contain idl files anymore.
1323         * GNUmakefile.list.am: Add missing header files.
1324
1325 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
1326
1327         MediaStream API: Make sure that MediaConstraints only has optional and mandatory at the top level
1328         https://bugs.webkit.org/show_bug.cgi?id=101733
1329
1330         Reviewed by Jochen Eisinger.
1331
1332         This patch adds better verification to MediaConstraintsImpl.
1333
1334         Existing tests expanded to cover this change.
1335
1336         * Modules/mediastream/MediaConstraintsImpl.cpp:
1337         (WebCore::MediaConstraintsImpl::initialize):
1338
1339 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1340
1341         Unreviewed, rolling out r134223.
1342         http://trac.webkit.org/changeset/134223
1343         https://bugs.webkit.org/show_bug.cgi?id=101939
1344
1345         Breaks inspector tests (Requested by pfeldman on #webkit).
1346
1347         * inspector/front-end/DefaultTextEditor.js:
1348         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
1349         (WebInspector.TextEditorMainPanel):
1350         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
1351         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
1352         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
1353         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
1354         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
1355         (WebInspector.TextEditorMainPanel.prototype._paintLine):
1356         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
1357         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1358         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1359         * inspector/front-end/externs.js:
1360         * inspector/front-end/textEditor.css:
1361
1362 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1363
1364         [Qt] Support ResourceRequest's setTimeoutInterval
1365         https://bugs.webkit.org/show_bug.cgi?id=101731
1366
1367         Reviewed by Simon Hausmann.
1368
1369         Establish a timeout and return the correct error when it is triggered.
1370
1371         Tested by existing http/tests/xmlhttprequest/timeout tests.
1372
1373         * platform/network/ResourceRequestBase.cpp:
1374         * platform/network/qt/QNetworkReplyHandler.cpp:
1375         (WebCore::QNetworkReplyHandler::release):
1376         (WebCore::QNetworkReplyHandler::finish):
1377         (WebCore::QNetworkReplyHandler::timeout):
1378         (WebCore::QNetworkReplyHandler::timerEvent):
1379         (WebCore::QNetworkReplyHandler::start):
1380         * platform/network/qt/QNetworkReplyHandler.h:
1381         (QNetworkReplyHandler):
1382
1383 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1384
1385         Unreviewed, rolling out r134224.
1386         http://trac.webkit.org/changeset/134224
1387         https://bugs.webkit.org/show_bug.cgi?id=101937
1388
1389         asserting on bawts (Requested by kling on #webkit).
1390
1391         * rendering/style/RenderStyle.cpp:
1392         (WebCore::RenderStyle::diff):
1393         (WebCore::RenderStyle::setColor):
1394         (WebCore::RenderStyle::setVisitedLinkColor):
1395         * rendering/style/RenderStyle.h:
1396         * rendering/style/StyleBackgroundData.cpp:
1397         (WebCore::StyleBackgroundData::StyleBackgroundData):
1398         * rendering/style/StyleBackgroundData.h:
1399         (WebCore::StyleBackgroundData::color):
1400         (StyleBackgroundData):
1401         * rendering/style/StyleInheritedData.cpp:
1402         (WebCore::StyleInheritedData::StyleInheritedData):
1403         * rendering/style/StyleInheritedData.h:
1404         (StyleInheritedData):
1405         * rendering/style/StyleMultiColData.cpp:
1406         (WebCore::StyleMultiColData::StyleMultiColData):
1407         * rendering/style/StyleMultiColData.h:
1408         (StyleMultiColData):
1409         * rendering/style/StyleRareInheritedData.cpp:
1410         (SameSizeAsStyleRareInheritedData):
1411         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1412         (WebCore::StyleRareInheritedData::operator==):
1413         * rendering/style/StyleRareInheritedData.h:
1414         (WebCore):
1415         (StyleRareInheritedData):
1416         * rendering/style/StyleRareNonInheritedData.cpp:
1417         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1418         (WebCore::StyleRareNonInheritedData::operator==):
1419         * rendering/style/StyleRareNonInheritedData.h:
1420         (StyleRareNonInheritedData):
1421
1422 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
1423
1424         [BlackBerry] Update BB10 form theme.
1425         https://bugs.webkit.org/show_bug.cgi?id=100760
1426
1427         Reviewed by Rob Buis.
1428
1429         RIM PR 236993
1430         Internally Reviewed by Jeff Rogers.
1431         Use slide and paint method on slider range and media controls.
1432
1433         * platform/blackberry/RenderThemeBlackBerry.cpp:
1434         (WebCore):
1435         (WebCore::drawThreeSliceHorizontal):
1436         (WebCore::drawThreeSliceVertical):
1437         (WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
1438         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
1439         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
1440         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
1441         * platform/blackberry/RenderThemeBlackBerry.h:
1442         (RenderThemeBlackBerry):
1443
1444 2012-11-12  Kent Tamura  <tkent@chromium.org>
1445
1446         Refactoring: set read-only values on layout in DateTimeEditElement
1447         https://bugs.webkit.org/show_bug.cgi?id=101916
1448
1449         Reviewed by Kentaro Hara.
1450
1451         We have always updated read-only values when we set an empty value or
1452         DateTimeFieldsState. It has wasted CPU time because such read-only
1453         values are never updated after layout() essentially. So, we set
1454         read-only values in DateTimeEditBuilder used by layout(), and remove
1455         dateForReadOnlyField arguments of setEmptyValue and
1456         setValueAsDateTimeFieldsState.
1457
1458         No new tests. This should not make behavior changes.
1459
1460         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1461         (WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
1462         We removed dateForReadOnlyField argument because read-only values are
1463         already set in DateTimeFieldElement::layout().
1464         * html/shadow/DateTimeEditElement.cpp:
1465         (WebCore::DateTimeEditBuilder::visitField):
1466         Set a value to a read-only minute/second/millisecond field while
1467         building UI elements.
1468         Also, changed variable types for millisecond and second fields to
1469         RefPtr<DateTimeNumericFieldElement> because we'd like to call
1470         setValueAsDate, which is private in DateTimeMillisecondFieldElement and
1471         DateTimeSecondFieldElement
1472         (WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState):
1473         We removed dateForReadOnlyField argument because read-only values are
1474         already set in DateTimeFieldElement::layout().
1475         (WebCore::DateTimeEditElement::setEmptyValue): Ditto.
1476         * html/shadow/DateTimeEditElement.h:
1477         (DateTimeEditElement):
1478         Removed dateForReadOnlyField argument for setValueAsDateTimeFieldsState.
1479
1480         * html/shadow/DateTimeFieldElement.cpp:
1481         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
1482         We removed dateForReadOnlyField argument because read-only values are
1483         already set in DateTimeFieldElement::layout().
1484         * html/shadow/DateTimeFieldElement.h:
1485         (DateTimeFieldElement): Ditto.
1486
1487         * html/shadow/DateTimeFieldElements.cpp: Ditto.
1488         * html/shadow/DateTimeFieldElements.h: Ditto.
1489         * html/shadow/DateTimeNumericFieldElement.cpp:
1490         (WebCore::DateTimeNumericFieldElement::setEmptyValue):
1491         It should do nothing if it is read-only because a read-only value was
1492         already set just after construction.
1493         * html/shadow/DateTimeNumericFieldElement.h:
1494         (DateTimeNumericFieldElement):
1495         Removed dateForReadOnlyField argument of setEmptyValue.
1496         * html/shadow/DateTimeSymbolicFieldElement.cpp:
1497         (WebCore::DateTimeSymbolicFieldElement::setEmptyValue): Ditto.
1498         * html/shadow/DateTimeSymbolicFieldElement.h:
1499         (DateTimeSymbolicFieldElement): Ditto.
1500
1501 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
1502
1503         [BlackBerry] Update BB10 form theme.
1504         https://bugs.webkit.org/show_bug.cgi?id=100760
1505
1506         Reviewed by Rob Buis.
1507
1508         RIM PR 236993
1509         Internally Reviewed by Jeff Rogers.
1510         Enable GL slider.
1511
1512         * platform/blackberry/RenderThemeBlackBerry.cpp:
1513         (WebCore::drawThreeSlice):
1514         (WebCore):
1515         (WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
1516         (WebCore::RenderThemeBlackBerry::paintSliderThumb):
1517
1518 2012-11-12  Kentaro Hara  <haraken@chromium.org>
1519
1520         [V8][JSC] HTMLElement::itemValue() needs not to be custom
1521         https://bugs.webkit.org/show_bug.cgi?id=101882
1522
1523         Reviewed by Adam Barth.
1524
1525         We can remove a [Custom] IDL attribute.
1526
1527         No tests. No change in behavior.
1528
1529         * bindings/js/JSHTMLElementCustom.cpp:
1530         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1531         * html/HTMLElement.idl:
1532
1533 2012-11-12  Andreas Kling  <kling@webkit.org>
1534
1535         RenderStyle: Pack Color members tighter in substructures.
1536         <http://webkit.org/b/101860>
1537
1538         Reviewed by Antti Koivisto.
1539
1540         For RenderStyle substructures (StyleInheritedData, et al.), unfold all WebCore::Color
1541         members into RGBA32/bool variables OR just an RGBA32 if the color can never be invalid.
1542
1543         Memory saved per instance:
1544
1545             - StyleMultiColData:          4 bytes
1546             - StyleBackgroundData:        8 bytes
1547             - StyleInheritedData:         8 bytes
1548             - StyleRareInheritedData:    24 bytes
1549             - StyleRareNonInheritedData: 24 bytes
1550
1551         323kB progression on Membuster3.
1552
1553         * rendering/style/RenderStyle.cpp:
1554         (WebCore::RenderStyle::diff):
1555         (WebCore::RenderStyle::setColor):
1556         (WebCore::RenderStyle::setVisitedLinkColor):
1557         (WebCore::RenderStyle::setVisitedLinkColumnRuleColor):
1558         (WebCore::RenderStyle::setBackgroundColor):
1559         * rendering/style/RenderStyle.h:
1560         * rendering/style/StyleBackgroundData.cpp:
1561         (WebCore::StyleBackgroundData::StyleBackgroundData):
1562         * rendering/style/StyleBackgroundData.h:
1563         (WebCore::StyleBackgroundData::color):
1564         (StyleBackgroundData):
1565         * rendering/style/StyleInheritedData.cpp:
1566         (WebCore::StyleInheritedData::StyleInheritedData):
1567         * rendering/style/StyleInheritedData.h:
1568         (StyleInheritedData):
1569         * rendering/style/StyleMultiColData.cpp:
1570         (WebCore::StyleMultiColData::StyleMultiColData):
1571         (WebCore::StyleMultiColData::setVisitedLinkColumnRuleColor):
1572         * rendering/style/StyleMultiColData.h:
1573         (StyleMultiColData):
1574         (WebCore::StyleMultiColData::visitedLinkColumnRuleColor):
1575         * rendering/style/StyleRareInheritedData.cpp:
1576         (SameSizeAsStyleRareInheritedData):
1577         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1578         (WebCore::StyleRareInheritedData::operator==):
1579         (WebCore::StyleRareInheritedData::setTextStrokeColor):
1580         (WebCore::StyleRareInheritedData::setTextFillColor):
1581         (WebCore::StyleRareInheritedData::setTextEmphasisColor):
1582         (WebCore::StyleRareInheritedData::setVisitedLinkTextStrokeColor):
1583         (WebCore::StyleRareInheritedData::setVisitedLinkTextFillColor):
1584         (WebCore::StyleRareInheritedData::setVisitedLinkTextEmphasisColor):
1585         * rendering/style/StyleRareInheritedData.h:
1586         (StyleRareInheritedData):
1587         (WebCore::StyleRareInheritedData::textStrokeColor):
1588         (WebCore::StyleRareInheritedData::textFillColor):
1589         (WebCore::StyleRareInheritedData::textEmphasisColor):
1590         (WebCore::StyleRareInheritedData::visitedLinkTextStrokeColor):
1591         (WebCore::StyleRareInheritedData::visitedLinkTextFillColor):
1592         (WebCore::StyleRareInheritedData::visitedLinkTextEmphasisColor):
1593         * rendering/style/StyleRareNonInheritedData.cpp:
1594         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1595         (WebCore::StyleRareNonInheritedData::operator==):
1596         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderLeftColor):
1597         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderRightColor):
1598         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderTopColor):
1599         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderBottomColor):
1600         (WebCore::StyleRareNonInheritedData::setVisitedLinkOutlineColor):
1601         (WebCore::StyleRareNonInheritedData::setVisitedLinkBackgroundColor):
1602         * rendering/style/StyleRareNonInheritedData.h:
1603         (WebCore::StyleRareNonInheritedData::visitedLinkBackgroundColor):
1604         (WebCore::StyleRareNonInheritedData::visitedLinkOutlineColor):
1605         (WebCore::StyleRareNonInheritedData::visitedLinkBorderLeftColor):
1606         (WebCore::StyleRareNonInheritedData::visitedLinkBorderRightColor):
1607         (WebCore::StyleRareNonInheritedData::visitedLinkBorderTopColor):
1608         (WebCore::StyleRareNonInheritedData::visitedLinkBorderBottomColor):
1609         (StyleRareNonInheritedData):
1610
1611 2012-11-12  Pavel Feldman  <pfeldman@chromium.org>
1612
1613         Web Inspector: migrate text editor to mutation observers
1614         https://bugs.webkit.org/show_bug.cgi?id=101841
1615
1616         Reviewed by Vsevolod Vlasov.
1617
1618         Otherwise, we miss notifications on the removed lines.
1619
1620         * inspector/front-end/DefaultTextEditor.js:
1621         (WebInspector.TextEditorMainPanel):
1622         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
1623         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
1624         (WebInspector.TextEditorMainPanel.prototype._handleMutations):
1625         (WebInspector.TextEditorMainPanel.prototype._handleMutation):
1626         * inspector/front-end/externs.js:
1627         (WebKitMutation):
1628         (WebKitMutationObserver.prototype.observe):
1629         (WebKitMutationObserver.prototype.disconnect):
1630
1631 2012-11-12  Allan Sandfeld Jensen  <sandfeld@kde.org>
1632
1633         [Qt] Flash-plugin starts with wrong width
1634         https://bugs.webkit.org/show_bug.cgi?id=101836
1635
1636         Reviewed by Simon Hausmann.
1637
1638         Defer the setWindow call, so that the one time it is called it will have its final size.
1639
1640         * plugins/PluginPackage.cpp:
1641         (WebCore::PluginPackage::determineQuirks):
1642
1643 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
1644
1645         Remove the V8 custom code for WebSockets constructor
1646         https://bugs.webkit.org/show_bug.cgi?id=100801
1647
1648         Reviewed by Kentaro Hara.
1649
1650         This patch does the following:
1651
1652         1) Modifies the V8 code generator to support overloaded constructors,
1653            the JS generator is fixed to work as before. Proper support for JS will come later.
1654
1655         2) Modifies WebSocket.h/.cpp for the new constructors.
1656
1657         Tested by running WebSockets layout tests.
1658
1659         * Modules/websockets/WebSocket.cpp:
1660         (WebCore::WebSocket::create):
1661         (WebCore):
1662         * Modules/websockets/WebSocket.h:
1663         (WebSocket):
1664         * Modules/websockets/WebSocket.idl:
1665         * bindings/scripts/CodeGeneratorJS.pm:
1666         (GenerateConstructorDefinition):
1667         * bindings/scripts/CodeGeneratorV8.pm:
1668         (GenerateHeader):
1669         (GenerateOverloadedConstructorCallback):
1670         (GenerateSingleConstructorCallback):
1671         (GenerateConstructorCallback):
1672         (GenerateImplementation):
1673         * bindings/scripts/IDLParser.pm:
1674         (copyAttributes):
1675         (parseExtendedAttributeList):
1676         (parseExtendedAttributes):
1677         (applyExtendedAttributeList):
1678         * bindings/scripts/IDLStructure.pm:
1679         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp: Added.
1680         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructorsPrivate::WebDOMTestOverloadedConstructorsPrivate):
1681         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructorsPrivate):
1682         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructors):
1683         (WebDOMTestOverloadedConstructors::operator=):
1684         (WebDOMTestOverloadedConstructors::impl):
1685         (WebDOMTestOverloadedConstructors::~WebDOMTestOverloadedConstructors):
1686         (toWebCore):
1687         (toWebKit):
1688         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.h: Added.
1689         (WebCore):
1690         (WebDOMTestOverloadedConstructors):
1691         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp: Added.
1692         (WebKit):
1693         (WebKit::kit):
1694         (WebKit::core):
1695         (WebKit::wrapTestOverloadedConstructors):
1696         (webkit_dom_test_overloaded_constructors_finalize):
1697         (webkit_dom_test_overloaded_constructors_set_property):
1698         (webkit_dom_test_overloaded_constructors_get_property):
1699         (webkit_dom_test_overloaded_constructors_constructed):
1700         (webkit_dom_test_overloaded_constructors_class_init):
1701         (webkit_dom_test_overloaded_constructors_init):
1702         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h: Added.
1703         (_WebKitDOMTestOverloadedConstructors):
1704         (_WebKitDOMTestOverloadedConstructorsClass):
1705         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h: Added.
1706         (WebKit):
1707         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Added.
1708         (WebCore):
1709         (WebCore::JSTestOverloadedConstructorsConstructor::JSTestOverloadedConstructorsConstructor):
1710         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
1711         (WebCore::JSTestOverloadedConstructorsConstructor::getOwnPropertySlot):
1712         (WebCore::JSTestOverloadedConstructorsConstructor::getOwnPropertyDescriptor):
1713         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
1714         (WebCore::JSTestOverloadedConstructorsConstructor::getConstructData):
1715         (WebCore::JSTestOverloadedConstructorsPrototype::self):
1716         (WebCore::JSTestOverloadedConstructors::JSTestOverloadedConstructors):
1717         (WebCore::JSTestOverloadedConstructors::finishCreation):
1718         (WebCore::JSTestOverloadedConstructors::createPrototype):
1719         (WebCore::JSTestOverloadedConstructors::destroy):
1720         (WebCore::JSTestOverloadedConstructors::~JSTestOverloadedConstructors):
1721         (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
1722         (WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
1723         (WebCore::jsTestOverloadedConstructorsConstructor):
1724         (WebCore::JSTestOverloadedConstructors::getConstructor):
1725         (WebCore::isObservable):
1726         (WebCore::JSTestOverloadedConstructorsOwner::isReachableFromOpaqueRoots):
1727         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
1728         (WebCore::toJS):
1729         (WebCore::toTestOverloadedConstructors):
1730         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: Added.
1731         (WebCore):
1732         (JSTestOverloadedConstructors):
1733         (WebCore::JSTestOverloadedConstructors::create):
1734         (WebCore::JSTestOverloadedConstructors::createStructure):
1735         (WebCore::JSTestOverloadedConstructors::impl):
1736         (WebCore::JSTestOverloadedConstructors::releaseImpl):
1737         (WebCore::JSTestOverloadedConstructors::releaseImplIfNotNull):
1738         (JSTestOverloadedConstructorsOwner):
1739         (WebCore::wrapperOwner):
1740         (WebCore::wrapperContext):
1741         (JSTestOverloadedConstructorsPrototype):
1742         (WebCore::JSTestOverloadedConstructorsPrototype::create):
1743         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
1744         (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
1745         (JSTestOverloadedConstructorsConstructor):
1746         (WebCore::JSTestOverloadedConstructorsConstructor::create):
1747         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
1748         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h: Added.
1749         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm: Added.
1750         (-[DOMTestOverloadedConstructors dealloc]):
1751         (-[DOMTestOverloadedConstructors finalize]):
1752         (core):
1753         (kit):
1754         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h: Added.
1755         (WebCore):
1756         * bindings/scripts/test/TestOverloadedConstructors.idl: Copied from Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl.
1757         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1758         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp: Added.
1759         (WebCore):
1760         (TestOverloadedConstructorsV8Internal):
1761         (WebCore::TestOverloadedConstructorsV8Internal::V8_USE):
1762         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
1763         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
1764         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
1765         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
1766         (WebCore::V8TestOverloadedConstructors::constructorCallback):
1767         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
1768         (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
1769         (WebCore::V8TestOverloadedConstructors::GetTemplate):
1770         (WebCore::V8TestOverloadedConstructors::HasInstance):
1771         (WebCore::V8TestOverloadedConstructors::wrapSlow):
1772         (WebCore::V8TestOverloadedConstructors::derefObject):
1773         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h: Added.
1774         (WebCore):
1775         (V8TestOverloadedConstructors):
1776         (WebCore::V8TestOverloadedConstructors::toNative):
1777         (WebCore::V8TestOverloadedConstructors::installPerContextProperties):
1778         (WebCore::V8TestOverloadedConstructors::installPerContextPrototypeProperties):
1779         (WebCore::V8TestOverloadedConstructors::wrap):
1780         (WebCore::toV8):
1781         * bindings/v8/custom/V8WebSocketCustom.cpp:
1782
1783 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
1784
1785         [Refactoring] Create SelectRuleFeatureSet for collecting RuleFeatureSet for select attribute
1786         https://bugs.webkit.org/show_bug.cgi?id=101891
1787
1788         Reviewed by Hajime Morita.
1789
1790         We would like to have another class for RuleFeatureSet to collect 'select' attribute features,
1791         since it will have more features than the original RuleFeatureSet has.
1792
1793         Also, some methods of ElementShadow are removed and we provide a method to get SelectRuleFeatureSet itself.
1794
1795         No new tests, no change in behavior.
1796
1797         * CMakeLists.txt:
1798         * GNUmakefile.list.am:
1799         * Target.pri:
1800         * WebCore.gypi:
1801         * WebCore.vcproj/WebCore.vcproj:
1802         * WebCore.xcodeproj/project.pbxproj:
1803         * dom/ElementShadow.h:
1804         (ElementShadow):
1805         (WebCore::ElementShadow::selectRuleFeatureSet):
1806         (WebCore):
1807         * html/shadow/SelectRuleFeatureSet.cpp: Added.
1808         (WebCore):
1809         (WebCore::SelectRuleFeatureSet::SelectRuleFeatureSet):
1810         (WebCore::SelectRuleFeatureSet::add):
1811         (WebCore::SelectRuleFeatureSet::clear):
1812         (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector):
1813         * html/shadow/SelectRuleFeatureSet.h: Added.
1814         (WebCore):
1815         (SelectRuleFeatureSet):
1816         (WebCore::SelectRuleFeatureSet::hasSelectorForId):
1817         (WebCore::SelectRuleFeatureSet::hasSelectorForClass):
1818         (WebCore::SelectRuleFeatureSet::hasSelectorForAttribute):
1819         * testing/Internals.cpp:
1820         (WebCore::Internals::hasSelectorForIdInShadow):
1821         (WebCore::Internals::hasSelectorForClassInShadow):
1822         (WebCore::Internals::hasSelectorForAttributeInShadow):
1823
1824 2012-11-13  Keishi Hattori  <keishi@webkit.org>
1825
1826         Build fix for Chromium Android (caused by r134216)
1827
1828         Unreviewed.
1829
1830         No new tests.
1831
1832         * platform/text/PlatformLocale.cpp:
1833         (WebCore::Locale::formatDateTime):
1834
1835 2012-11-12  Keishi Hattori  <keishi@webkit.org>
1836
1837         Add support for week/month to Locale::formatDateTime()
1838         https://bugs.webkit.org/show_bug.cgi?id=101878
1839
1840         Reviewed by Kent Tamura.
1841
1842         Adding support for week/month to Locale::formatDateTime() in preparation for datalist support for <input type=week/month>.
1843
1844         Added Chromium tests LocaleMacTest.formatWeek and LocaleMacTest.formatMonth.
1845
1846         * platform/text/PlatformLocale.cpp:
1847         (WebCore::DateTimeStringBuilder::visitField):
1848         (WebCore::Locale::formatDateTime): Support week and month types.
1849
1850 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1851
1852         [Qt] Can not load MHTML documents
1853         https://bugs.webkit.org/show_bug.cgi?id=101765
1854
1855         Reviewed by Simon Hausmann.
1856
1857         Recognize common MHTML extensions so that we can recognize MHTML tests on the file-system.
1858
1859         Tested by existing mhtml/ tests.
1860
1861         * platform/qt/MIMETypeRegistryQt.cpp:
1862         (WebCore):
1863
1864 2012-11-12  Andreas Kling  <akling@apple.com>
1865
1866         Tighten vector in ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray().
1867         <http://webkit.org/b/101850>
1868
1869         Reviewed by Antti Koivisto.
1870
1871         Reserve the exact amount of space needed for m_responseContentDispositionEncodingFallbackArray.
1872         222kB progression on Membuster3.
1873
1874         * platform/network/ResourceRequestBase.cpp:
1875         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1876
1877 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
1878
1879         MediaStream API: Schedule the RTCDataChannel events to be triggered at idle state
1880         https://bugs.webkit.org/show_bug.cgi?id=101751
1881
1882         Reviewed by Adam Barth.
1883
1884         This patch queues the events until the JS interpreter is in an idle state.
1885
1886         Existing tests cover this patch.
1887
1888         * Modules/mediastream/RTCDataChannel.cpp:
1889         (WebCore::RTCDataChannel::RTCDataChannel):
1890         (WebCore::RTCDataChannel::readyStateChanged):
1891         (WebCore::RTCDataChannel::dataArrived):
1892         (WebCore::RTCDataChannel::error):
1893         (WebCore::RTCDataChannel::scheduleDispatchEvent):
1894         (WebCore):
1895         (WebCore::RTCDataChannel::scheduledEventTimerFired):
1896         * Modules/mediastream/RTCDataChannel.h:
1897         (RTCDataChannel):
1898         * platform/chromium/support/WebRTCDataChannel.cpp:
1899         (WebKit::WebRTCDataChannel::setBufferedAmount):
1900         (WebKit::WebRTCDataChannel::readyStateChanged):
1901         (WebKit::WebRTCDataChannel::dataArrived):
1902         (WebKit::WebRTCDataChannel::error):
1903
1904 2012-11-12  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1905
1906         Remove HTMLInputElement dependency from PickerIndicatorElement
1907         https://bugs.webkit.org/show_bug.cgi?id=101913
1908
1909         Reviewed by Kent Tamura.
1910
1911         Introduced PickerIndicatorOwner interface that replaces the role of hostInput() in
1912         PickerIndicatorElement. It makes easier to add interactions between picker indicator
1913         and its owner without having to add functions to HTMLInputElement.
1914
1915         No new tests. This is just a refactor.
1916
1917         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1918         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isPickerIndicatorOwnerDisabledOrReadOnly): Added.
1919         (WebCore):
1920         (WebCore::BaseMultipleFieldsDateAndTimeInputType::pickerIndicatorChooseValue): Added.
1921         (WebCore::BaseMultipleFieldsDateAndTimeInputType::setupDateTimeChooserParameters): Added.
1922         (WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType):
1923         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
1924         (WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree):
1925         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1926         (WebCore):
1927         (BaseMultipleFieldsDateAndTimeInputType): Implements PickerIndicatorOwner.
1928         * html/shadow/PickerIndicatorElement.cpp: Replaced all the use of hostInput() by using PickerIndicatorOwner.
1929         (WebCore::PickerIndicatorElement::PickerIndicatorElement):
1930         (WebCore::PickerIndicatorElement::create):
1931         (WebCore::PickerIndicatorElement::defaultEventHandler):
1932         (WebCore::PickerIndicatorElement::willRespondToMouseClickEvents):
1933         (WebCore::PickerIndicatorElement::didChooseValue):
1934         (WebCore::PickerIndicatorElement::openPopup):
1935         * html/shadow/PickerIndicatorElement.h:
1936         (PickerIndicatorElement): Added a PickerIndicatorOwner member.
1937         (PickerIndicatorOwner): An interface class for communicating picker indicator and its owner.
1938         (WebCore::PickerIndicatorElement::PickerIndicatorOwner::~PickerIndicatorOwner):
1939         (WebCore::PickerIndicatorElement::removePickerIndicatorOwner):
1940
1941 2012-11-12  Mihnea Ovidenie  <mihnea@adobe.com>
1942
1943         [CSSRegions]Add support for text-shadow in region styling
1944         https://bugs.webkit.org/show_bug.cgi?id=94472
1945
1946         Reviewed by David Hyatt.
1947
1948         Original patch by Andrei Onea.
1949         Add support for text-shadow in region styling (@-webkit-region rule).
1950         In addition to the previously supported region styling properties (background-color and color),
1951         text-shadow requires the computation of an element style in region at layout time.
1952
1953         This patch adds a new method on RenderRegion - ensureRegionStyleForObject - that
1954         can be used to retrieve the object style in region (if already cached) or to compute it
1955         on the spot. When computing the object style in region, we need to compute the style in region
1956         also for the object ancestor, up to the content nodes.
1957
1958         This patch also refactors the way styles in region are computed and stored, because
1959         we can compute the style in region not only at paint time, but also at layout time.
1960
1961         Test: fast/regions/region-style-text-shadow.html
1962
1963         * css/StyleResolver.cpp:
1964         (WebCore::StyleResolver::isValidRegionStyleProperty):
1965         Allow text-shadow to be used in region styling.
1966         * rendering/InlineBox.cpp:
1967         (WebCore::InlineBox::styleInRegion):
1968         Retrieve the region style for an InlineBox's renderer, given its RenderRegion.
1969         Compute the style in region if not computed yet.
1970         (WebCore::InlineBox::regionDuringLayout):
1971         Retrieve the region in which an InlineBox is being flowed.
1972         * rendering/InlineBox.h:
1973         * rendering/InlineFlowBox.cpp: Take region styling into account.
1974         (WebCore::InlineFlowBox::addToLine):
1975         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1976         * rendering/RenderRegion.cpp:
1977         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
1978         (WebCore::canCacheObjectStyleInRegion):
1979         Test if we can cache the computed style in region.
1980         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
1981         (WebCore::RenderRegion::computeStyleInRegion):
1982         (WebCore::RenderRegion::setChildrenStyleInRegion):
1983         (WebCore::setObjectHasBoxDecorationsFlag):
1984         (WebCore::RenderRegion::setObjectStyleInRegion):
1985         (WebCore::RenderRegion::clearObjectStyleInRegion):
1986         (WebCore::RenderRegion::ensureRegionStyleForObject):
1987         * rendering/RenderRegion.h:
1988
1989 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1990
1991         Unreviewed, rolling out r134154.
1992         http://trac.webkit.org/changeset/134154
1993         https://bugs.webkit.org/show_bug.cgi?id=101919
1994
1995         Causes plenty of crashes on GTK and Apple Win builders
1996         (Requested by zdobersek on #webkit).
1997
1998         * css/mediaControls.css:
1999         * css/mediaControlsQuickTime.css:
2000         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2001         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2002         * html/shadow/MediaControlElements.cpp:
2003         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2004         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
2005         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2006         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2007         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2008         * html/shadow/MediaControlElements.h:
2009         (MediaControlElement):
2010         (MediaControlToggleClosedCaptionsButtonElement):
2011         * html/shadow/MediaControlRootElement.cpp:
2012         (WebCore::MediaControlRootElement::MediaControlRootElement):
2013         (WebCore::MediaControlRootElement::create):
2014         (WebCore::MediaControlRootElement::setMediaController):
2015         (WebCore::MediaControlRootElement::hide):
2016         (WebCore::MediaControlRootElement::makeTransparent):
2017         (WebCore::MediaControlRootElement::reset):
2018         (WebCore::MediaControlRootElement::reportedError):
2019         * html/shadow/MediaControlRootElement.h:
2020         (WebCore):
2021         (MediaControlRootElement):
2022         * html/shadow/MediaControlRootElementChromium.cpp:
2023         (WebCore::MediaControlRootElementChromium::initializeControls):
2024         * html/shadow/MediaControls.h:
2025         (MediaControls):
2026         * platform/Language.cpp:
2027         (WebCore):
2028         * platform/Language.h:
2029         (WebCore):
2030         * rendering/RenderMediaControls.cpp:
2031         (WebCore::RenderMediaControls::paintMediaControlsPart):
2032         * rendering/RenderMediaControlsChromium.cpp:
2033         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2034
2035 2012-11-12  Mike West  <mkwst@chromium.org>
2036
2037         'for (x in y)' requires 'var' declaration in ConsoleMessage.js
2038         https://bugs.webkit.org/show_bug.cgi?id=101908
2039
2040         Reviewed by Pavel Feldman.
2041
2042         r134166 should have included a 'var' declaration in its 'for (x in y)'
2043         loop. This patch adds the missing 'var' in order to prevent leakage into
2044         the global context.
2045
2046         * inspector/front-end/ConsoleMessage.js:
2047         (WebInspector.ConsoleMessageImpl.prototype.append):
2048         (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
2049
2050 2012-11-12  Zeno Albisser  <zeno@webkit.org>
2051
2052         [Qt] MiniBrowser should not strongly depend on QtTestSupport.
2053         https://bugs.webkit.org/show_bug.cgi?id=101775
2054
2055         Introducing HAVE(QTTESTSUPPORT) to allow building
2056         MiniBrowser without QtTestSupport.
2057         This is necessary when using a production build.
2058
2059         Reviewed by Tor Arne Vestbø.
2060
2061         * Target.pri:
2062         * platform/qt/QtTestSupport.h:
2063
2064 2012-11-12  Pavel Feldman  <pfeldman@chromium.org>
2065
2066         Web Inspector: wasShown is called twice when show() is called from within wasShown
2067         https://bugs.webkit.org/show_bug.cgi?id=101858
2068
2069         Reviewed by Vsevolod Vlasov.
2070
2071         When we attach views lazily from within wasShown, the views were getting wasShown notification twice.
2072         We now mute one of them.
2073
2074         * inspector/front-end/View.js:
2075         (WebInspector.View):
2076         (WebInspector.View.prototype._inNotification):
2077         (WebInspector.View.prototype._parentIsShowing):
2078         (WebInspector.View.prototype._callOnVisibleChildren):
2079         (WebInspector.View.prototype._processWasShown):
2080         (WebInspector.View.prototype._processWillHide):
2081         (WebInspector.View.prototype._processOnResize):
2082         (WebInspector.View.prototype._notify):
2083         (WebInspector.View.prototype.show):
2084
2085 2012-11-12  Ryosuke Niwa  <rniwa@webkit.org>
2086
2087         Build fix after r134191. Turns out that FrameView::performPostLayoutTasks calls FrameSelection::updateAppearance
2088         in the middle of a layout. So we can't have assertions in recomputeCaretRect and updateAppearance.
2089
2090         Furthermore, we can't update layout in updateAppearance. So do that in its call sites.
2091
2092         * editing/FrameSelection.cpp:
2093         (WebCore::FrameSelection::setSelection):
2094         (WebCore::FrameSelection::recomputeCaretRect):
2095         (WebCore::FrameSelection::updateAppearance):
2096         (WebCore::FrameSelection::setCaretVisibility):
2097
2098 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
2099
2100         Don't update style when attaching in HTMLMeterElement
2101         https://bugs.webkit.org/show_bug.cgi?id=101714
2102
2103         Reviewed by Hajime Morita.
2104
2105         HTMLMeterElement was updating style when it's being attached. However, updating style when attaching
2106         can cause style-update prevention. The similar thing has already happened in Bug 100507.
2107
2108         Since we have already set the default value in creating ShadowDOM subtree, we don't need to update style actually.
2109
2110         Test: fast/dom/HTMLMeterElement/meter-bar-set-value.html
2111
2112         * html/HTMLMeterElement.cpp:
2113         * html/HTMLMeterElement.h:
2114         (HTMLMeterElement): Removed attach(). We don't need it.
2115
2116 2012-11-09  Ryosuke Niwa  <rniwa@webkit.org>
2117
2118         Multiple Layout Tests (e.g. fast/repaint/japanese-rl-selection-clear.html) is failing after r133840.
2119         https://bugs.webkit.org/show_bug.cgi?id=101547
2120
2121         Reviewed by Simon Fraser.
2122
2123         I overlooked the fact when the selection is null, we still have to invalidate the caret rect that
2124         previously existed. Revert the optimization added in r133840 to skip caret invalidation when new
2125         selection is null, and add a special method to be called by FrameLoader prior to destruction instead.
2126         This will let us avoid doing an extra layout upon destruction and not regress repaint tests.
2127
2128         Covered by existing tests.
2129
2130         * editing/FrameSelection.cpp:
2131         (WebCore::FrameSelection::setSelection): Added DoNotUpdateAppearance option.
2132         (WebCore::FrameSelection::prepareForDestruction): Added.
2133         (WebCore::FrameSelection::updateAppearance): Reverted the flawed optimization added in r133840.
2134         Also, don't update style before updating selection unless text caret is disabled since we always
2135         update the layout (including style) when text caret is enabled.
2136         * editing/FrameSelection.h:
2137         (FrameSelection):
2138         * loader/FrameLoader.cpp:
2139         (WebCore::FrameLoader::clear): Call prepareForDestruction instead of clear to avoid a layout.
2140
2141 2012-11-11  Dongwoo Joshua Im  <dw.im@samsung.com>
2142
2143         [CSS3] Parsing the property, text-align-last.
2144         https://bugs.webkit.org/show_bug.cgi?id=99439
2145
2146         Reviewed by Julien Chaffraix.
2147
2148         This patch implements the parsing side of the "text-align-last" property specified
2149         in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
2150         Specification link : http://www.w3.org/TR/css3-text/#text-align-last
2151
2152         Tests: fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html
2153                fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html
2154
2155         * css/CSSComputedStyleDeclaration.cpp:
2156         (WebCore):
2157         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the value of the text-align-last property.
2158         * css/CSSParser.cpp:
2159         (WebCore::CSSParser::parseValue): Parse the value, and check whether it is a proper value which text-align-last can have.
2160         * css/CSSPrimitiveValueMappings.h:
2161         (WebCore):
2162         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2163         (WebCore::CSSPrimitiveValue::operator ETextAlignLast):
2164         * css/CSSProperty.cpp:
2165         (WebCore::CSSProperty::isInheritedProperty):
2166         * css/CSSPropertyNames.in: Add '-webkit-text-align-last' property.
2167         * css/StyleBuilder.cpp:
2168         (WebCore::StyleBuilder::StyleBuilder):
2169         * css/StylePropertySet.cpp:
2170         (WebCore):
2171         * css/StyleResolver.cpp:
2172         (WebCore::StyleResolver::applyProperty):
2173         * rendering/style/RenderStyle.h:
2174         * rendering/style/RenderStyleConstants.h:
2175         * rendering/style/StyleRareInheritedData.cpp:
2176         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2177         (WebCore::StyleRareInheritedData::operator==):
2178         * rendering/style/StyleRareInheritedData.h:
2179         (StyleRareInheritedData): Add m_textAlignLast.
2180
2181 2012-11-11  Shinya Kawanaka  <shinyak@chromium.org>
2182
2183         [Refactoring] Remove shadowPseudoId() and use setPseudo() in HTMLKeygenElement
2184         https://bugs.webkit.org/show_bug.cgi?id=101881
2185
2186         Reviewed by Kent Tamura.
2187
2188         We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
2189         setPseudo()/pseudo() instead.
2190
2191         No new tests, simple refacotring.
2192
2193         * html/HTMLKeygenElement.cpp:
2194         (WebCore::KeygenSelectElement::KeygenSelectElement):
2195         (KeygenSelectElement):
2196
2197 2012-11-11  Adam Barth  <abarth@webkit.org>
2198
2199         Many DOMWindowProperties would benefit from being ScriptWrappable
2200         https://bugs.webkit.org/show_bug.cgi?id=101887
2201
2202         Reviewed by Kentaro Hara.
2203
2204         These object are only ever created at the behest of script, which means
2205         making them ScriptWrappable is a win.
2206
2207         * page/BarInfo.h:
2208         * page/Console.h:
2209         * page/Crypto.h:
2210         * page/History.h:
2211         * page/Location.h:
2212         * page/Navigator.h:
2213         * page/Performance.h:
2214
2215 2012-11-11  Kentaro Hara  <haraken@chromium.org>
2216
2217         [V8] HTMLDocument::all() needs not to be custom
2218         https://bugs.webkit.org/show_bug.cgi?id=101875
2219
2220         Reviewed by Adam Barth.
2221
2222         We can easily remove the custom getter from V8 because the
2223         custom setter sets .all by ForceSet(). On the other hand,
2224         it is non-trivial to remove the custom getter from JSC
2225         because the custom setter sets .all by putDirect()
2226         and the custom getter wants to get it by getDirect().
2227
2228         No tests. No change in behavior.
2229
2230         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2231         * html/HTMLDocument.idl:
2232
2233 2012-11-11  Kentaro Hara  <haraken@chromium.org>
2234
2235         [V8] V8Console::memoryAttrGetter() needs not to be custom
2236         https://bugs.webkit.org/show_bug.cgi?id=101873
2237
2238         Reviewed by Adam Barth.
2239
2240         No tests. No change in behavior.
2241
2242         * bindings/v8/custom/V8ConsoleCustom.cpp:
2243         (WebCore):
2244         * page/Console.idl:
2245
2246 2012-11-11  Shinya Kawanaka  <shinyak@chromium.org>
2247
2248         [Shadow] ElementShadow should have RuleFeatureSet for select attribute selectors.
2249         https://bugs.webkit.org/show_bug.cgi?id=101180
2250
2251         Reviewed by Dimitri Glazkov.
2252
2253         This is a preparation patch for Bug 100451.
2254
2255         We preserve RuleFeatureSet collected from select attributes in ShadowDOM.
2256         When an element attribute is changed, we might have to invalidate content distribution,
2257         however it's high cost operation. So we would like to check RuleFeatureSet used in
2258         select attributes to determine we really need to invalidate distribution.
2259
2260         Like StyleResolver, ElementShadow has several rule features. When nested ShadowDOM is used,
2261         first we collect features in nested ShadowDOM, and merge it to the parent ShadowDOM.
2262         For the performance reason, we have a flag to check whether we need to collect features again.
2263
2264         Test: fast/dom/shadow/shadow-select-attribute-featureset.html
2265
2266         * WebCore.exp.in:
2267         * dom/ElementShadow.cpp:
2268         (WebCore::ElementShadow::ElementShadow):
2269         (WebCore::ElementShadow::setShouldCollectSelectFeatureSet): Enable a flag to collect feature set of descendant
2270         nodes (and their ShadowDOM).
2271         (WebCore):
2272         (WebCore::ElementShadow::ensureSelectFeatureSetCollected):
2273         (WebCore::ElementShadow::collectSelectFeatureSetFrom): Collect RuleFeatureSet from all descendant Nodes and their
2274         ShadowDOM. We need to collect id, class, and attribute names.
2275         * dom/ElementShadow.h:
2276         (WebCore::ElementShadow::shouldCollectSelectFeatureSet):
2277         (ElementShadow):
2278         (WebCore::ElementShadow::hasSelectorForId):
2279         (WebCore):
2280         (WebCore::ElementShadow::hasSelectorForClass):
2281         (WebCore::ElementShadow::hasSelectorForAttribute):
2282         * html/shadow/HTMLContentElement.cpp:
2283         (WebCore::HTMLContentElement::parseAttribute): When select attribute is changed, enable a flag to recollect features.
2284         (WebCore::HTMLContentElement::insertedInto): We have to recollect features when HTMLContentElement is moved.
2285         (WebCore::HTMLContentElement::removedFrom): ditto.
2286         * html/shadow/HTMLContentElement.h:
2287         (WebCore::toHTMLContentElement):
2288         (WebCore):
2289         * testing/Internals.cpp:
2290         (WebCore::Internals::hasSelectorForIdInShadow):
2291         (WebCore):
2292         (WebCore::Internals::hasSelectorForClassInShadow):
2293         (WebCore::Internals::hasSelectorForAttributeInShadow):
2294         * testing/Internals.h:
2295         (Internals):
2296         * testing/Internals.idl:
2297
2298 2012-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2299
2300         Unreviewed, rolling out r134144.
2301         http://trac.webkit.org/changeset/134144
2302         https://bugs.webkit.org/show_bug.cgi?id=101876
2303
2304         seems to break win 7 chromium browser test (Requested by
2305         hayato on #webkit).
2306
2307         * WebCore.exp.in:
2308         * page/EventHandler.cpp:
2309         (WebCore):
2310         (WebCore::EventHandler::handleMouseMoveEvent):
2311         * page/EventHandler.h:
2312         (EventHandler):
2313         * testing/Internals.cpp:
2314         * testing/Internals.h:
2315         * testing/Internals.idl:
2316
2317 2012-11-11  Kent Tamura  <tkent@chromium.org>
2318
2319         Internals: MockPagePopup should not update DOM structure during detach()
2320         https://bugs.webkit.org/show_bug.cgi?id=101710
2321
2322         Reviewed by Hajime Morita.
2323
2324         PickerIndicatorElement::detach calls
2325         MockPagePopupDriver::closePagePopup, MockPagePopup::~MockPagePopup,
2326         which remove the mock iframe from the tree. But updating the tree during
2327         detach() is dangerous.
2328
2329         MockPagePopupDriver::closePagePopup calls MockpagePopup::closeLater, it
2330         requests to call 'close' asynchronously, and 'close' removes the mock
2331         iframe. We need to change MockPagePopup so that it is ref-couted and has
2332         a timer.
2333
2334         No new tests. This is a change for the test harness.
2335
2336         * testing/MockPagePopupDriver.cpp:
2337         (MockPagePopup): Make this ref-counted, add closeLater, add close, and
2338         add m_closeTimer.
2339         (WebCore::MockPagePopup::MockPagePopup): Initialize the timer.
2340         (WebCore::MockPagePopup::create): PassOwnPtr -> PassRefPtr
2341         (WebCore::MockPagePopup::closeLater):
2342         - Add one reference to avoid destruction by m_mockPagePopup.clear() in
2343           closePagePopup.
2344         - Notify didClosePopup here because the client expects didClosePopup is
2345           called synchronously.
2346         - Invoke the timer to call 'close'
2347         (WebCore::MockPagePopup::close):
2348         Just remove one reference. This means calling the desructor.
2349         (WebCore::MockPagePopup::~MockPagePopup):
2350         Move didClosePopup call to caloseLater.
2351         (WebCore::MockPagePopupDriver::closePagePopup):
2352         Request to close PagePopup.
2353         Clear PagePopupClient in m_pagePopupController because this object is
2354         necessary until MockPagePopup is closed, but it should not have a
2355         reference to the PagePopupClient.
2356         * testing/MockPagePopupDriver.h:
2357         (MockPagePopupDriver): Make MockPagePopup ref-counted.
2358
2359 2012-11-11  Adam Barth  <abarth@webkit.org>
2360
2361         axObjectCache code is more complicated than necessary
2362         https://bugs.webkit.org/show_bug.cgi?id=101820
2363
2364         Reviewed by Darin Adler.
2365
2366         This code should use OwnPtr rather than manually calling new/delete.
2367         Also, instead of using a "double check" pattern, we can just access the
2368         private fields on the top document directly.
2369
2370         * dom/Document.cpp:
2371         (WebCore::Document::Document):
2372         (WebCore::Document::clearAXObjectCache):
2373         (WebCore::Document::axObjectCacheExists):
2374         (WebCore):
2375         (WebCore::Document::axObjectCache):
2376         * dom/Document.h:
2377         (Document):
2378
2379 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
2380
2381         Save one call to containerForRepaint() when updating layer positions
2382         https://bugs.webkit.org/show_bug.cgi?id=101856
2383
2384         Reviewed by Dan Bernstein.
2385
2386          RenderLayer::updateLayerPositions() has already computed the repaint container,
2387          but calls computeRepaintRects() which computes it again. Computing the repaint
2388          container involves a walk back up the layer tree, so calling it during a tree
2389          traversal is costly.
2390          
2391          Fix by passing the repaint container down into computeRepaintRects().
2392
2393         * rendering/RenderLayer.cpp:
2394         (WebCore::RenderLayer::updateLayerPositions):
2395         (WebCore::RenderLayer::computeRepaintRects):
2396         (WebCore::RenderLayer::computeRepaintRectsIncludingDescendants):
2397         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
2398         (WebCore::RenderLayer::setHasVisibleContent):
2399         * rendering/RenderLayer.h:
2400         (RenderLayer):
2401
2402 2012-11-11  Kenichi Ishibashi  <bashi@chromium.org>
2403
2404         WTFString::utf8() should have a mode of conversion to use replacement character
2405         https://bugs.webkit.org/show_bug.cgi?id=101678
2406
2407         Reviewed by Alexey Proskuryakov.
2408
2409         Follow the change on String::utf8()
2410
2411         No new tests. No changes in behavior.
2412
2413         * Modules/websockets/WebSocket.cpp:
2414         (WebCore::WebSocket::close): Pass String::StrictConversion instead of true to String::utf8().
2415         * Modules/websockets/WebSocketChannel.cpp:
2416         (WebCore::WebSocketChannel::send): Ditto.
2417         * html/MediaFragmentURIParser.cpp:
2418         (WebCore::MediaFragmentURIParser::parseFragments): Ditto.
2419         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2420         (WebCore::MediaPlayerPrivate::notifyChallengeResult): Ditto.
2421         * platform/network/blackberry/rss/RSSFilterStream.cpp:
2422         (WebCore::RSSFilterStream::convertContentToHtml): Ditto.
2423         * platform/network/blackberry/rss/RSSGenerator.cpp:
2424         (WebCore::RSSGenerator::generateHtml): Ditto.
2425
2426 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
2427
2428         Coalesce main thread scroll position updates
2429         https://bugs.webkit.org/show_bug.cgi?id=101855
2430
2431         Reviewed by Anders Carlsson.
2432
2433         When using threaded scrolling, the dispatched updateMainFrameScrollPosition() calls 
2434         from ScrollingTree would pile up on the main thread, and we'd handle several per
2435         runloop cycle when scrolling fast. This causes extra work especially on pages
2436         with position:fixed elements which must update RenderLayers on scrolling.
2437         
2438         Fix by using a zero-delay timer in ScrollingCoordinator to coalesce these
2439         scrolling updates to one per runloop.
2440
2441         * page/scrolling/ScrollingCoordinator.cpp:
2442         (WebCore::ScrollingCoordinator::ScrollingCoordinator): Initialized data members
2443         for the scheduled scroll position update.
2444         (WebCore::ScrollingCoordinator::scheduleUpdateMainFrameScrollPosition): If 
2445         the timer is active and the parameters match, just update the target scroll
2446         position and return. If the params don't match, dispatch the scheduled update,
2447         and then the new one. Otherwise, prime the timer.
2448         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionTimerFired): Call
2449         the existing updateMainFrameScrollPosition() with the saved values.
2450         * page/scrolling/ScrollingCoordinator.h:
2451         * page/scrolling/ScrollingTree.cpp:
2452         (WebCore::ScrollingTree::updateMainFrameScrollPosition): Call scheduleUpdateMainFrameScrollPosition()
2453         rather than updateMainFrameScrollPosition().
2454         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2455         (WebCore::ScrollingCoordinatorMac::syncChildPositions): Fixed a bug that caused fixed
2456         position elements to jiggle with the patch; we should be calling syncPosition() (which just
2457         sets the position data, without touching CA layers).
2458
2459 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
2460
2461         Remove ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition()
2462         https://bugs.webkit.org/show_bug.cgi?id=101514
2463
2464         Reviewed by Tim Horton.
2465
2466         ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition() is very similar to
2467         ScrollingCoordinator::updateMainFrameScrollPosition(). In order to eliminate updateMainFrameScrollPositionAndScrollLayerPosition(),
2468         we just need to plumb through a flag that says that updateMainFrameScrollPosition() should
2469         set the layer position (rather than just doing a 'sync').
2470
2471         * page/scrolling/ScrollingCoordinator.cpp:
2472         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
2473         * page/scrolling/ScrollingCoordinator.h:
2474         * page/scrolling/ScrollingTree.cpp:
2475         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
2476         * page/scrolling/ScrollingTree.h:
2477         * page/scrolling/mac/ScrollingCoordinatorMac.h:
2478         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2479         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2480         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
2481
2482 2012-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2483
2484         Unreviewed, rolling out r134069.
2485         http://trac.webkit.org/changeset/134069
2486         https://bugs.webkit.org/show_bug.cgi?id=101852
2487
2488         "It is a wrong way to fix the problem. See discussions in bug
2489         96614" (Requested by 1JTAAPQFJ on #webkit).
2490
2491         * bindings/js/JSDictionary.cpp:
2492         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
2493
2494 2012-11-10  Mike West  <mkwst@chromium.org>
2495
2496         Web Inspector: Multiple '%c' formatting options should all have effect.
2497         https://bugs.webkit.org/show_bug.cgi?id=101495
2498
2499         Reviewed by Pavel Feldman.
2500
2501         This patch supports multiple '%c' formatting blocks in console messages.
2502         'console.log("%cblue! %cgreen!", "color: blue;", "color: green;")' will
2503         do exactly what you expect: "blue!" will be blue, and "green!" will be
2504         green.
2505
2506         The implementation moves the styles off the message's parent 'span', and
2507         onto new 'span' elements that wrap the various textual bits of the
2508         message.
2509
2510         * inspector/front-end/ConsoleMessage.js:
2511         (WebInspector.ConsoleMessageImpl.prototype.):
2512         (WebInspector.ConsoleMessageImpl.prototype.append):
2513         (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
2514
2515 2012-11-10  Mike West  <mkwst@chromium.org>
2516
2517         Including <CoreText/CoreText.h> breaks the chromium/mac build.
2518         https://bugs.webkit.org/show_bug.cgi?id=101851
2519
2520         Reviewed by Dan Bernstein.
2521
2522         r134146 introduced inclusion of 'CoreText/CoreText.h' in
2523         SimpleFontDataCoreText.cpp, which broke the chromium/mac build. Grepping
2524         around, it looks like this needs to be modified to include
2525         'ApplicationServices/ApplicationServices.h'.
2526
2527         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2528             Drop 'CoreText.h' in favor of 'ApplicationServices.h'.
2529         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2530             Drop the platform-specific '#if' logic; just include 'ApplicationServices.h'.
2531
2532 2012-11-10  Andreas Kling  <kling@webkit.org>
2533
2534         Don't detach from shared ElementAttributeData when overwriting attribute with identical value.
2535         <http://webkit.org/b/101849>
2536
2537         Reviewed by Anders Carlsson.
2538
2539         Defer the mutableAttributeData() call in Element::setAttributeInternal() until the last
2540         possible moment, to avoid unnecessarily detaching and cloning from attribute data.
2541
2542         120 kB progression on Membuster3.
2543
2544         * dom/Element.cpp:
2545         (WebCore::Element::setAttributeInternal):
2546         (WebCore::Element::addAttributeInternal):
2547
2548 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
2549
2550         Some minor optimizations in RenderLayer
2551         https://bugs.webkit.org/show_bug.cgi?id=101847
2552
2553         Reviewed by Anders Carlsson.
2554
2555         Some minor performance improvements in RenderLayer code.
2556
2557         * rendering/RenderLayer.cpp:
2558         (WebCore::RenderLayer::updateLayerPosition): isRenderInline() is a virtual call,
2559         so prefix it with an isInline() check which tests a bit on RenderObject.
2560         (WebCore::RenderLayer::localBoundingBox): Ditto.
2561         (WebCore::RenderLayer::calculateLayerBounds): Pull layer->renderer()
2562         into a local variable.
2563
2564 2012-11-10  Anders Carlsson  <andersca@apple.com>
2565
2566         Document::m_fullScreenElementStack should be a Vector
2567         https://bugs.webkit.org/show_bug.cgi?id=101844
2568
2569         Reviewed by Andreas Kling.
2570
2571         m_fullScreenElementStack is currently a Deque where elements are being prepended
2572         and removed from the beginning in LIFO order, so it can be replaced with a Vector.
2573
2574         * dom/Document.cpp:
2575         (WebCore::Document::requestFullScreenForElement):
2576         (WebCore::Document::webkitCancelFullScreen):
2577         (WebCore::Document::popFullscreenElementStack):
2578         (WebCore::Document::pushFullscreenElementStack):
2579         * dom/Document.h:
2580         (WebCore::Document::webkitFullscreenElement):
2581         (Document):
2582
2583 2012-11-10  Adam Barth  <abarth@webkit.org>
2584
2585         [V8] Clean up header includes and ifdefs in V8GCController
2586         https://bugs.webkit.org/show_bug.cgi?id=101691
2587
2588         Reviewed by Kentaro Hara.
2589
2590         This file doesn't need to include all these headers anymore.
2591
2592         * bindings/v8/V8GCController.cpp:
2593         (WebCore::workingSetEstimateMBMutex):
2594         (WebCore::V8GCController::majorGCEpilogue):
2595         (WebCore::V8GCController::checkMemoryUsage):
2596
2597 2012-11-10  Joseph Pecoraro  <pecoraro@apple.com>
2598
2599         [Mac] Guard WebCore PageVisibility Symbol Export
2600         https://bugs.webkit.org/show_bug.cgi?id=101817
2601
2602         Reviewed by Andreas Kling.
2603
2604         Guard the export with the same ENABLE guards around its definition
2605         and implementation.
2606
2607         * WebCore.exp.in:
2608
2609 2012-11-10  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2610
2611         [css] text-decoration:none no longer valid
2612         https://bugs.webkit.org/show_bug.cgi?id=101529
2613
2614         Reviewed by Ojan Vafai.
2615
2616         This patch fixes an issue where the 'none' value was parsed as explicitly
2617         'initial' value. However true in a sense that the initial value for the
2618         'text-decoration' property is 'none', the value itself could not be parsed as
2619         'initial'.
2620
2621         The getComputedStyle layout tests for 'text-decoration' and
2622         '-webkit-text-decoration-line' CSS properties are updated with the correct
2623         results.
2624
2625         * css/CSSParser.cpp:
2626         (WebCore::CSSParser::parseTextDecoration): When parsed, 'none' value
2627         gets its own identifier value instead of explicit initial.
2628
2629 2012-11-09  Dean Jackson  <dino@apple.com>
2630
2631         Support list of tracks in caption media controls
2632         https://bugs.webkit.org/show_bug.cgi?id=101669
2633
2634         Reviewed by Eric Carlson.
2635
2636         Attempt three of commit. The first two times caused build failures on Chromium.
2637
2638         Add some new elements to the media control shadow DOM that display the list of available
2639         tracks on an audio/video element. The UI is hidden by default everywhere but on Mac,
2640         where it is given a very basic design. At the moment only the list of available tracks
2641         are displayed; The followup bug will make the UI active: https://bugs.webkit.org/show_bug.cgi?id=101670
2642
2643         No new tests - this doesn't expose any testable surface.
2644
2645         * css/mediaControls.css: Added default rules that hide the new elements.
2646         * css/mediaControlsQuickTime.css: Specific rules that give a basic rendering of the new track list.
2647         * html/shadow/MediaControlElements.cpp:
2648         (WebCore::MediaControlElement::isShowing): Tests for the visibility of a control.
2649         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
2650         (WebCore::MediaControlClosedCaptionsContainerElement::create):
2651         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId):
2652         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2653         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Now takes a reference to the media controls as a parameter.
2654         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2655         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2656         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2657         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): New element for holding a list of tracks to display.
2658         * html/shadow/MediaControlElements.h:
2659         (MediaControlElement):
2660         (MediaControlToggleClosedCaptionsButtonElement):
2661         (MediaControlClosedCaptionsContainerElement):
2662         (MediaControlClosedCaptionsTrackListElement): Examines the media element to build a shadow DOM that lists all the tracks available.
2663         * html/shadow/MediaControlRootElement.cpp:
2664         (WebCore::MediaControlRootElement::MediaControlRootElement):
2665         (WebCore::MediaControlRootElement::create): New track container and list elements created.
2666         (WebCore::MediaControlRootElement::setMediaController): Hook up the new elements to the controller..
2667         (WebCore::MediaControlRootElement::hide):
2668         (WebCore::MediaControlRootElement::makeTransparent):
2669         (WebCore::MediaControlRootElement::reset):
2670         (WebCore::MediaControlRootElement::reportedError):
2671         (WebCore::MediaControlRootElement::toggleClosedCaptionTrackList): Shows or hides the popup with the list of tracks.
2672         (WebCore):
2673         * html/shadow/MediaControlRootElement.h:
2674         (WebCore):
2675         (MediaControlRootElement):
2676         * html/shadow/MediaControlRootElementChromium.cpp:
2677         (WebCore::MediaControlRootElementChromium::initializeControls): Pass in the controls as a parameter.
2678         * html/shadow/MediaControls.h:
2679         (MediaControls):
2680         * platform/Language.cpp:
2681         (WebCore::displayNameForLanguageLocale): New function to return a human-readable name for a locale, given the identifier input.
2682         * platform/Language.h:
2683         (WebCore):
2684         * rendering/RenderMediaControls.cpp:
2685         (WebCore::RenderMediaControls::paintMediaControlsPart): New enum values into switch.
2686         * rendering/RenderMediaControlsChromium.cpp:
2687         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): New enum values into switch.
2688
2689 2012-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2690
2691         Unreviewed, rolling out r134152.
2692         http://trac.webkit.org/changeset/134152
2693         https://bugs.webkit.org/show_bug.cgi?id=101831
2694
2695         broke chromium again (Requested by dino_ on #webkit).
2696
2697         * css/mediaControls.css:
2698         * css/mediaControlsQuickTime.css:
2699         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2700         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2701         * html/shadow/MediaControlElements.cpp:
2702         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2703         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
2704         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2705         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2706         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2707         * html/shadow/MediaControlElements.h:
2708         (MediaControlElement):
2709         (MediaControlToggleClosedCaptionsButtonElement):
2710         * html/shadow/MediaControlRootElement.cpp:
2711         (WebCore::MediaControlRootElement::MediaControlRootElement):
2712         (WebCore::MediaControlRootElement::create):
2713         (WebCore::MediaControlRootElement::setMediaController):
2714         (WebCore::MediaControlRootElement::hide):
2715         (WebCore::MediaControlRootElement::makeTransparent):
2716         (WebCore::MediaControlRootElement::reset):
2717         (WebCore::MediaControlRootElement::reportedError):
2718         * html/shadow/MediaControlRootElement.h:
2719         (WebCore):
2720         (MediaControlRootElement):
2721         * html/shadow/MediaControlRootElementChromium.cpp:
2722         (WebCore::MediaControlRootElementChromium::initializeControls):
2723         * html/shadow/MediaControls.h:
2724         (MediaControls):
2725         * platform/Language.cpp:
2726         (WebCore):
2727         * platform/Language.h:
2728         (WebCore):
2729         * rendering/RenderMediaControls.cpp:
2730         (WebCore::RenderMediaControls::paintMediaControlsPart):
2731         * rendering/RenderMediaControlsChromium.cpp:
2732         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2733
2734 2012-11-09  Dean Jackson  <dino@apple.com>
2735
2736         Support list of tracks in caption media controls
2737         https://bugs.webkit.org/show_bug.cgi?id=101669
2738
2739         Reviewed by Eric Carlson.
2740
2741         Attempt two of commit. The first time caused a build failure on Chromium.
2742
2743         Add some new elements to the media control shadow DOM that display the list of available
2744         tracks on an audio/video element. The UI is hidden by default everywhere but on Mac,
2745         where it is given a very basic design. At the moment only the list of available tracks
2746         are displayed; The followup bug will make the UI active: https://bugs.webkit.org/show_bug.cgi?id=101670
2747
2748         No new tests - this doesn't expose any testable surface.
2749
2750         * css/mediaControls.css: Added default rules that hide the new elements.
2751         * css/mediaControlsQuickTime.css: Specific rules that give a basic rendering of the new track list.
2752         * html/shadow/MediaControlElements.cpp:
2753         (WebCore::MediaControlElement::isShowing): Tests for the visibility of a control.
2754         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
2755         (WebCore::MediaControlClosedCaptionsContainerElement::create):
2756         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId):
2757         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2758         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Now takes a reference to the media controls as a parameter.
2759         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2760         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2761         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2762         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): New element for holding a list of tracks to display.
2763         * html/shadow/MediaControlElements.h:
2764         (MediaControlElement):
2765         (MediaControlToggleClosedCaptionsButtonElement):
2766         (MediaControlClosedCaptionsContainerElement):
2767         (MediaControlClosedCaptionsTrackListElement): Examines the media element to build a shadow DOM that lists all the tracks available.
2768         * html/shadow/MediaControlRootElement.cpp:
2769         (WebCore::MediaControlRootElement::MediaControlRootElement):
2770         (WebCore::MediaControlRootElement::create): New track container and list elements created.
2771         (WebCore::MediaControlRootElement::setMediaController): Hook up the new elements to the controller..
2772         (WebCore::MediaControlRootElement::hide):
2773         (WebCore::MediaControlRootElement::makeTransparent):
2774         (WebCore::MediaControlRootElement::reset):
2775         (WebCore::MediaControlRootElement::reportedError):
2776         (WebCore::MediaControlRootElement::toggleClosedCaptionTrackList): Shows or hides the popup with the list of tracks.
2777         (WebCore):
2778         * html/shadow/MediaControlRootElement.h:
2779         (WebCore):
2780         (MediaControlRootElement):
2781         * html/shadow/MediaControlRootElementChromium.cpp:
2782         (WebCore::MediaControlRootElementChromium::initializeControls): Pass in the controls as a parameter.
2783         * html/shadow/MediaControls.h:
2784         (MediaControls):
2785         * platform/Language.cpp:
2786         (WebCore::displayNameForLanguageLocale): New function to return a human-readable name for a locale, given the identifier input.
2787         * platform/Language.h:
2788         (WebCore):
2789         * rendering/RenderMediaControls.cpp:
2790         (WebCore::RenderMediaControls::paintMediaControlsPart): New enum values into switch.
2791         * rendering/RenderMediaControlsChromium.cpp:
2792         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): New enum values into switch.
2793
2794 2012-11-09  Ojan Vafai  <ojan@chromium.org>
2795
2796         Should only fire a single set of mouse events and update hover state once when scrolling is done
2797         https://bugs.webkit.org/show_bug.cgi?id=99940
2798
2799         Reviewed by Levi Weintraub.
2800
2801         -Use a DeferrableOneShotTimer instead of a Timer. By resetting when the
2802         timer is fired, we ensure the actual goal of not firing fake mouse events
2803         until the scroll is completed. This is the core part of this change.
2804         -Change our mouse event throttling to keep a running average of how long
2805         mouse events take and adjust throttling appropriately.
2806         Test: fast/scrolling/fake-mouse-event-throttling.html
2807         -Maintain a minimum throttle of 100ms.
2808
2809         * page/EventHandler.cpp:
2810         (WebCore):
2811         (WebCore::RunningAverageDurationTracker::RunningAverageDurationTracker):
2812         (WebCore::RunningAverageDurationTracker::~RunningAverageDurationTracker):
2813         Keep track of a running average instead of max. This lets us adjust throttling
2814         dynamically without punishing a page for having a single mouse event handler
2815         that takes disproportionately long.
2816         (RunningAverageDurationTracker):
2817         (WebCore::EventHandler::EventHandler):
2818         (WebCore::EventHandler::clear):
2819         (WebCore::EventHandler::mouseMoved):
2820         (WebCore::EventHandler::handleMouseMoveEvent):
2821         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2822         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2823         * page/EventHandler.h:
2824         (EventHandler):
2825         * platform/Timer.h:
2826         (WebCore::DeferrableOneShotTimer::setDelay):
2827         (WebCore::DeferrableOneShotTimer::delay):
2828         Add a way of adjusting the timer delay.
2829
2830 2012-11-09  Rick Byers  <rbyers@chromium.org>
2831
2832         Move chromium to USE(LAZY_NATIVE_CURSOR)
2833         https://bugs.webkit.org/show_bug.cgi?id=101501
2834
2835         Reviewed by Adam Barth.
2836
2837         This simplifies cursor handling in chromium and unifies it with other
2838         ports for easier code sharing and testing by moving to the
2839         USE_LAZY_CURSOR model and eliminating PlatformCursor entirely.
2840
2841         PlatformCursor adds no value in chromium since the sandboxing model
2842         requires the cursor information be marshalled to the browser process
2843         before being turned into a real OS cursor.
2844
2845         Test: fast/events/mouse-cursor.html
2846
2847         * WebCore.gypi:
2848         * platform/Cursor.h:
2849         (WebCore):
2850         * platform/chromium/CursorChromium.cpp:
2851         (WebCore::Cursor::Cursor):
2852         (WebCore::Cursor::operator=):
2853         (WebCore::Cursor::~Cursor):
2854         (WebCore::Cursor::ensurePlatformCursor):
2855         * platform/chromium/PlatformCursor.h: Removed.
2856
2857 2012-11-09  Noam Rosenthal  <noam.rosenthal@nokia.com>
2858
2859         Allow ports to decide whether an image should be directly composited
2860         https://bugs.webkit.org/show_bug.cgi?id=101827
2861
2862         Reviewed by Simon Fraser.
2863
2864         Tested by compositing/tiling/huge-layer-img.html.
2865
2866         * platform/graphics/GraphicsLayer.h:
2867         (WebCore::GraphicsLayer::shouldDirectlyCompositeImage):
2868             Allow the GraphicsLayer implementation to decide if the image can be composited.
2869
2870         * rendering/RenderLayerBacking.cpp:
2871         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
2872             Take onto account the new shouldDirectlyCompositeImage check.
2873
2874 2012-11-09  Dan Bernstein  <mitz@apple.com>
2875
2876         SimpleFontData::getCFStringAttributes sets some attributes to their default values, but shouldn’t
2877         https://bugs.webkit.org/show_bug.cgi?id=101799
2878
2879         Reviewed by Alexey Proskuryakov.
2880
2881         In some configurations, setting kCTLigatureAttributeName to its default value of 1 yields
2882         different behavior from not setting it at all. We can get the correct behavior and greatly
2883         simplify the code by not setting attributes to their default values.
2884
2885         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2886         Removed redundant #import directives and changed the remaining ones to #include.
2887         (WebCore::SimpleFontData::getCFStringAttributes): Changed to use a mutable dictionary and
2888         only add attributes that have non-default values.
2889
2890 2012-11-09  Rick Byers  <rbyers@chromium.org>
2891
2892         No tests for changing mouse cursors
2893         https://bugs.webkit.org/show_bug.cgi?id=100550
2894
2895         Reviewed by Adam Barth.
2896
2897         Add infrastructure to keep track of the last set mouse cursor,
2898         and then to query it from DumpRenderTree.
2899
2900         Test: fast/events/mouse-cursor.html
2901
2902         * WebCore.exp.in: Add Cursor copy ctor export
2903         * page/EventHandler.cpp:
2904         (WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor
2905         * page/EventHandler.h:
2906         (WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor
2907         * testing/Internals.cpp:
2908         (WebCore::cursorTypeToString): Helper to convert cursor type to enum
2909         (WebCore):
2910         (WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor
2911         * testing/Internals.h: Declare getCurrentCursorInfo
2912         * testing/Internals.idl: Declare getCurrentCursorInfo
2913
2914 2012-11-09  Huang Dongsung  <luxtella@company100.net>
2915
2916         Coordinated Graphics: Amend CoordinatedBackingStore::paintToTextureMapper to fit its own semantic.
2917         https://bugs.webkit.org/show_bug.cgi?id=101701
2918
2919         Reviewed by Noam Rosenthal.
2920
2921         Add TiledBackingStore::rect() because CoordinatedTile needs to know
2922         m_rect of TiledBackingStore.
2923
2924         * platform/graphics/TiledBackingStore.h:
2925         (WebCore::TiledBackingStore::rect):
2926
2927 2012-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2928
2929         Unreviewed, rolling out r134139.
2930         http://trac.webkit.org/changeset/134139
2931         https://bugs.webkit.org/show_bug.cgi?id=101823
2932
2933         breaks chromium (android) build (Requested by thorton on
2934         #webkit).
2935
2936         * css/mediaControls.css:
2937         * css/mediaControlsQuickTime.css:
2938         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2939         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2940         * html/shadow/MediaControlElements.cpp:
2941         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2942         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
2943         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2944         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2945         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2946         * html/shadow/MediaControlElements.h:
2947         (MediaControlElement):
2948         (MediaControlToggleClosedCaptionsButtonElement):
2949         * html/shadow/MediaControlRootElement.cpp:
2950         (WebCore::MediaControlRootElement::MediaControlRootElement):
2951         (WebCore::MediaControlRootElement::create):
2952         (WebCore::MediaControlRootElement::setMediaController):
2953         (WebCore::MediaControlRootElement::hide):
2954         (WebCore::MediaControlRootElement::makeTransparent):
2955         (WebCore::MediaControlRootElement::reset):
2956         (WebCore::MediaControlRootElement::reportedError):
2957         * html/shadow/MediaControlRootElement.h:
2958         (WebCore):
2959         (MediaControlRootElement):
2960         * html/shadow/MediaControlRootElementChromium.cpp:
2961         (WebCore::MediaControlRootElementChromium::initializeControls):
2962         * html/shadow/MediaControls.h:
2963         (MediaControls):
2964         * platform/Language.cpp:
2965         (WebCore):
2966         * platform/Language.h:
2967         (WebCore):
2968
2969 2012-11-09  Huang Dongsung  <luxtella@company100.net>
2970
2971         [TexMap] Initialize m_compositedNativeImagePtr in GraphicsLayerTextureMapper.
2972         https://bugs.webkit.org/show_bug.cgi?id=101675
2973
2974         Reviewed by Noam Rosenthal.
2975
2976         Fix a potential bug in GraphicsLayerTextureMapper. If the member's uninitialized
2977         value equals image->nativeImageForCurrentFrame() by change, we can encounter
2978         undefined behavior.
2979
2980         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2981         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2982         (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
2983
2984 2012-11-09  Dean Jackson  <dino@apple.com>
2985
2986         Support list of tracks in caption media controls
2987         https://bugs.webkit.org/show_bug.cgi?id=101669
2988
2989         Reviewed by Eric Carlson.
2990
2991         Add some new elements to the media control shadow DOM that display the list of available
2992         tracks on an audio/video element. The UI is hidden by default everywhere but on Mac,
2993         where it is given a very basic design. At the moment only the list of available tracks
2994         are displayed; The followup bug will make the UI active: https://bugs.webkit.org/show_bug.cgi?id=101670
2995
2996         No new tests - this doesn't expose any testable surface.
2997
2998         * css/mediaControls.css: Added default rules that hide the new elements.
2999         * css/mediaControlsQuickTime.css: Specific rules that give a basic rendering of the new track list.
3000         * html/shadow/MediaControlElements.cpp:
3001         (WebCore::MediaControlElement::isShowing): Tests for the visibility of a control.
3002         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
3003         (WebCore::MediaControlClosedCaptionsContainerElement::create):
3004         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId):
3005         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
3006         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Now takes a reference to the media controls as a parameter.
3007         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
3008         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
3009         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
3010         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): New element for holding a list of tracks to display.
3011         * html/shadow/MediaControlElements.h:
3012         (MediaControlElement):
3013         (MediaControlToggleClosedCaptionsButtonElement):
3014         (MediaControlClosedCaptionsContainerElement):
3015         (MediaControlClosedCaptionsTrackListElement): Examines the media element to build a shadow DOM that lists all the tracks available.
3016         * html/shadow/MediaControlRootElement.cpp:
3017         (WebCore::MediaControlRootElement::MediaControlRootElement):
3018         (WebCore::MediaControlRootElement::create): New track container and list elements created.
3019         (WebCore::MediaControlRootElement::setMediaController): Hook up the new elements to the controller..
3020         (WebCore::MediaControlRootElement::hide):
3021         (WebCore::MediaControlRootElement::makeTransparent):
3022         (WebCore::MediaControlRootElement::reset):
3023         (WebCore::MediaControlRootElement::reportedError):
3024         (WebCore::MediaControlRootElement::toggleClosedCaptionTrackList): Shows or hides the popup with the list of tracks.
3025         (WebCore):
3026         * html/shadow/MediaControlRootElement.h:
3027         (WebCore):
3028         (MediaControlRootElement):
3029         * html/shadow/MediaControlRootElementChromium.cpp:
3030         (WebCore::MediaControlRootElementChromium::initializeControls): Pass in the controls as a parameter.
3031         * html/shadow/MediaControls.h:
3032         (MediaControls):
3033         * platform/Language.cpp:
3034         (WebCore::displayNameForLanguageLocale): New function to return a human-readable name for a locale, given the identifier input.
3035         * platform/Language.h:
3036         (WebCore):
3037
3038 2012-11-09  Noel Gordon  <noel.gordon@gmail.com>
3039
3040         [chromium] Should pass fast/images/paletted-png-with-color-profile.html
3041         https://bugs.webkit.org/show_bug.cgi?id=101551
3042
3043         Reviewed by Adam Barth.
3044
3045         Support decoding color PALETTE images that have an ICC color profile.
3046
3047         Covered by fast/images/png-suite/test.html and many other fast/image tests.
3048
3049         * platform/image-decoders/png/PNGImageDecoder.cpp:
3050         (WebCore::PNGImageDecoder::headerAvailable): Move the color profile code after the
3051         transparency (tRNS) reader. Allow color PNG images: RGB, RGBA, PALLETE to be color
3052         corrected. Use the transparency count from the tRNS reader to detect the expansion
3053         of RGB and PALLETE image pixels to RGBA.
3054
3055 2012-11-09  Tien-Ren Chen  <trchen@chromium.org>
3056
3057         Correct hit-test point scaling for document.elementFromPoint
3058         https://bugs.webkit.org/show_bug.cgi?id=101798
3059
3060         Reviewed by Adam Barth.
3061
3062         The hit-test point come from user JavaScript is in the document coordinate.
3063         Convert to the frame coordinate with correct scale factor for hit test.
3064
3065         Test: fast/dom/elementFromPoint-scaled-scrolled.html
3066
3067         * dom/Document.cpp:
3068         (WebCore::nodeFromPoint):
3069
3070 2012-11-09  Alec Flett  <alecflett@chromium.org>
3071
3072         IndexedDB: Combine IDBBackingStore and IDBLevelDBBackingStore
3073         https://bugs.webkit.org/show_bug.cgi?id=101415
3074
3075         Reviewed by Tony Chang.
3076
3077         Combine abstract interface IDBBackingStore with its only
3078         implementation, IDBLevelDBBackingStore, to reduce code
3079         complexity. The legacy structure existed to support a SQLLite
3080         IDBBackingStore, but it is no longer worth the complexity to
3081         support this abstraction.
3082
3083         Changes include:
3084         1) Merging IDBLevelDBBackingStore into IDBBackingStore.
3085
3086         2) Merge together IDBBackingStore's inner classes: Cursor,
3087         Transaction, and ObjectStoreRecordIdentfier with their respective
3088         subclasses in IDBLevelDBBackingStore.
3089
3090         3) Simplifying the inner Transaction class to not be refcounted or
3091         virtualized, to allow it to be a simple concrete member of its
3092         owner, IDBTransactionBackendImpl.
3093
3094         No new tests as this is purely a refactor.
3095
3096         * Modules/indexeddb/IDBBackingStore.cpp:
3097         (WebCore::recordInternalError):
3098         (WebCore::setUpMetadata):
3099         (WebCore::IDBBackingStore::IDBBackingStore):
3100         (WebCore):
3101         (WebCore::IDBBackingStore::~IDBBackingStore):
3102         (WebCore::IDBBackingStore::open):
3103         (WebCore::IDBBackingStore::getDatabaseNames):
3104         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
3105         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
3106         (WebCore::IDBBackingStore::updateIDBDatabaseIntVersion):
3107         (WebCore::IDBBackingStore::updateIDBDatabaseMetaData):
3108         (WebCore::deleteRange):
3109         (WebCore::IDBBackingStore::deleteDatabase):
3110         (WebCore::IDBBackingStore::getObjectStores):
3111         (WebCore::setMaxObjectStoreId):
3112         (WebCore::IDBBackingStore::createObjectStore):
3113         (WebCore::IDBBackingStore::deleteObjectStore):
3114         (WebCore::IDBBackingStore::getRecord):
3115         (WebCore::IDBBackingStore::putRecord):
3116         (WebCore::IDBBackingStore::clearObjectStore):
3117         (WebCore::IDBBackingStore::deleteRecord):
3118         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
3119         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
3120         (WebCore::IDBBackingStore::keyExistsInObjectStore):
3121         (WebCore::IDBBackingStore::getIndexes):
3122         (WebCore::setMaxIndexId):
3123         (WebCore::IDBBackingStore::createIndex):
3124         (WebCore::IDBBackingStore::deleteIndex):
3125         (WebCore::IDBBackingStore::putIndexDataForRecord):
3126         (WebCore::IDBBackingStore::deleteIndexDataForRecord):
3127         (WebCore::IDBBackingStore::findKeyInIndex):
3128         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
3129         (WebCore::IDBBackingStore::keyExistsInIndex):
3130         (WebCore::IDBBackingStore::Cursor::Cursor):
3131         (WebCore::IDBBackingStore::Cursor::firstSeek):
3132         (WebCore::IDBBackingStore::Cursor::advance):
3133         (WebCore::IDBBackingStore::Cursor::continueFunction):
3134         (WebCore::IDBBackingStore::Cursor::haveEnteredRange):
3135         (WebCore::IDBBackingStore::Cursor::isPastBounds):
3136         (WebCore::ObjectStoreKeyCursorImpl::create):
3137         (ObjectStoreKeyCursorImpl):
3138         (WebCore::ObjectStoreKeyCursorImpl::value):
3139         (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
3140         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
3141         (WebCore::ObjectStoreCursorImpl::create):
3142         (ObjectStoreCursorImpl):
3143         (WebCore::ObjectStoreCursorImpl::value):
3144         (WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
3145         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
3146         (WebCore::IndexKeyCursorImpl::create):
3147         (IndexKeyCursorImpl):
3148         (WebCore::IndexKeyCursorImpl::value):
3149         (WebCore::IndexKeyCursorImpl::primaryKey):
3150         (WebCore::IndexKeyCursorImpl::recordIdentifier):
3151         (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
3152         (WebCore::IndexKeyCursorImpl::loadCurrentRow):
3153         (WebCore::IndexCursorImpl::create):
3154         (IndexCursorImpl):
3155         (WebCore::IndexCursorImpl::value):
3156         (WebCore::IndexCursorImpl::primaryKey):
3157         (WebCore::IndexCursorImpl::recordIdentifier):
3158         (WebCore::IndexCursorImpl::IndexCursorImpl):
3159         (WebCore::IndexCursorImpl::loadCurrentRow):
3160         (WebCore::objectStoreCursorOptions):
3161         (WebCore::indexCursorOptions):
3162         (WebCore::IDBBackingStore::openObjectStoreCursor):
3163         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
3164         (WebCore::IDBBackingStore::openIndexKeyCursor):
3165         (WebCore::IDBBackingStore::openIndexCursor):
3166         (WebCore::IDBBackingStore::Transaction::Transaction):
3167         (WebCore::IDBBackingStore::Transaction::begin):
3168         (WebCore::IDBBackingStore::Transaction::commit):
3169         (WebCore::IDBBackingStore::Transaction::rollback):
3170         * Modules/indexeddb/IDBBackingStore.h:
3171         (WebCore):
3172         (IDBBackingStore):
3173         (RecordIdentifier):
3174         (WebCore::IDBBackingStore::RecordIdentifier::create):
3175         (WebCore::IDBBackingStore::RecordIdentifier::~RecordIdentifier):
3176         (WebCore::IDBBackingStore::RecordIdentifier::isValid):
3177         (WebCore::IDBBackingStore::RecordIdentifier::primaryKey):
3178         (WebCore::IDBBackingStore::RecordIdentifier::setPrimaryKey):
3179         (WebCore::IDBBackingStore::RecordIdentifier::version):
3180         (WebCore::IDBBackingStore::RecordIdentifier::setVersion):
3181         (WebCore::IDBBackingStore::RecordIdentifier::RecordIdentifier):
3182         (Transaction):
3183         (WebCore::IDBBackingStore::Transaction::levelDBTransactionFrom):
3184         (CursorOptions):
3185         (Cursor):
3186         (WebCore::IDBBackingStore::Cursor::Cursor):
3187         (WebCore::IDBBackingStore::Cursor::key):
3188         (WebCore::IDBBackingStore::Cursor::primaryKey):
3189         (WebCore::IDBBackingStore::Cursor::~Cursor):
3190         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
3191         (WebCore::IDBFactoryBackendImpl::openBackingStore):
3192         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
3193         (WebCore::IDBIndexBackendImpl::countInternal):
3194         * Modules/indexeddb/IDBLevelDBBackingStore.h: Removed.
3195         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3196         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
3197         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3198         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
3199         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3200         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
3201         (WebCore::IDBTransactionBackendImpl::abort):
3202         (WebCore::IDBTransactionBackendImpl::commit):
3203         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
3204         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3205         (WebCore::IDBTransactionBackendImpl::backingStoreTransaction):
3206         * WebCore.xcodeproj/project.pbxproj:
3207
3208 2012-11-09  Tien-Ren Chen  <trchen@chromium.org>
3209
3210         Correct scroll adjustment for touchEvent.clientX/clientY
3211         https://bugs.webkit.org/show_bug.cgi?id=101800
3212
3213         Reviewed by Adam Barth.
3214
3215         FrameView::scrollX/scrollY returns scroll offset in (scaled) frame coordinate.
3216         Convert to document coordinate before passing to JavaScript.
3217
3218         Test: fast/events/touch/touch-scaled-scrolled.html
3219
3220         * dom/Touch.cpp:
3221         (WebCore::contentsX):
3222         (WebCore::contentsY):
3223
3224 2012-11-09  Alexandru Chiculita  <achicu@adobe.com>
3225
3226         [Texmap][CSS Shaders] Enable CSS Shaders in TextureMapperGL
3227         https://bugs.webkit.org/show_bug.cgi?id=98990
3228
3229         Reviewed by Noam Rosenthal.
3230
3231         Added code that draws the Custom Filter in the TextureMapperGL. Also added 
3232         required code to make a depth buffer for a BitmapTextureGL.
3233
3234         Note that the code is not optimized yet, so it will always recompile the shader.
3235
3236         Test: css3/filters/custom/composited/custom-filter-blend-modes.html
3237
3238         * platform/graphics/texmap/TextureMapperGL.cpp:
3239         (WebCore::BitmapTextureGL::BitmapTextureGL):
3240         (WebCore::getPassesRequiredForFilter):
3241         (WebCore):
3242         (WebCore::TextureMapperGL::drawUsingCustomFilter):
3243         (WebCore::BitmapTextureGL::applyFilters):
3244         (WebCore::BitmapTextureGL::initializeDepthBuffer):
3245         (WebCore::BitmapTextureGL::~BitmapTextureGL):
3246         * platform/graphics/texmap/TextureMapperGL.h:
3247         (BitmapTextureGL):
3248
3249 2012-11-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3250
3251         CustomEvent: Allow taking in a serialized value during initialization.
3252         https://bugs.webkit.org/show_bug.cgi?id=101348
3253
3254         Reviewed by Adam Barth.
3255
3256         If a CustomEvent is initialized using a serialized value, then for each access
3257         to |detail|, the value is deserialized first. This way, each world gets a different
3258         deserialization.
3259
3260         * UseV8.cmake:
3261         * WebCore.gypi:
3262         * bindings/v8/V8HiddenPropertyName.h:
3263         (WebCore):
3264         * bindings/v8/custom/V8CustomEventCustom.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
3265         (WebCore):
3266         (WebCore::V8CustomEvent::detailAccessorGetter):
3267         * dom/CustomEvent.cpp:
3268         (WebCore::CustomEvent::initCustomEvent):
3269         (WebCore):
3270         * dom/CustomEvent.h:
3271         (CustomEvent):
3272         (WebCore::CustomEvent::serializedScriptValue):
3273         * dom/CustomEvent.idl:
3274
3275 2012-11-09  Brady Eidson  <beidson@apple.com>
3276
3277         Implement WebResourceBuffer::isEmpty()
3278         https://bugs.webkit.org/show_bug.cgi?id=101805
3279
3280         Reviewed by Alexey Proskuryakov.
3281
3282         This is required to make the existing subresource loading in NetworkProcess work correctly,
3283         as there's an isEmpty() check in the WebProcess that decides whether or not to actually deliver 
3284         the data to the ResourceLoader.
3285
3286         No new tests (No change in behavior in any configuration we test.)
3287
3288         * loader/ResourceBuffer.h: Make isEmpty() virtual.
3289
3290 2012-11-09  Michael Saboff  <msaboff@apple.com>
3291
3292         HTML Attributes names and values should be created as 8 bit string where possible
3293         https://bugs.webkit.org/show_bug.cgi?id=101781
3294
3295         Reviewed by Filip Pizlo.
3296
3297         Given that almost all attribute names and values are lower case ASCII, we should try to
3298         create 8 bit strings to process them.  Creating an AtomicString already tries to make
3299         an 8 bit string, so that didn't need to change.
3300
3301         No new tests, functionality covered by existing tests.
3302
3303         * html/HTMLViewSourceDocument.cpp:
3304         (WebCore::HTMLViewSourceDocument::processTagToken):
3305         * html/parser/HTMLMetaCharsetParser.cpp:
3306         (WebCore::HTMLMetaCharsetParser::processMeta):
3307         * html/parser/HTMLPreloadScanner.cpp:
3308         (WebCore::PreloadTask::processAttributes):
3309
3310 2012-11-09  Dana Jansens  <danakj@chromium.org>
3311
3312         [chromium] Define WEBKIT_IMPLEMENTATION everywhere inside WebCore
3313         https://bugs.webkit.org/show_bug.cgi?id=101795
3314
3315         Reviewed by James Robinson.
3316
3317         * WebCore.gyp/WebCore.gyp:
3318
3319 2012-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
3320
3321         Unreviewed, rolling out r134101.
3322         http://trac.webkit.org/changeset/134101
3323         https://bugs.webkit.org/show_bug.cgi?id=101790
3324
3325         IDBDatabaseBackendTest.BackingStoreRetention failing
3326         (Requested by jsbell|gardener on #webkit).
3327
3328         * GNUmakefile.list.am:
3329         * Modules/indexeddb/IDBBackingStore.cpp:
3330         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
3331         (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
3332         (WebCore::IDBLevelDBBackingStore::open):
3333         (WebCore::IDBLevelDBBackingStore::getDatabaseNames):
3334         (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
3335         (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
3336         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
3337         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
3338         (WebCore::IDBLevelDBBackingStore::deleteDatabase):
3339         (WebCore::IDBLevelDBBackingStore::getObjectStores):
3340         (WebCore::IDBLevelDBBackingStore::createObjectStore):
3341         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
3342         (WebCore::IDBLevelDBBackingStore::getRecord):
3343         (WebCore):
3344         (WebCore::IDBLevelDBBackingStore::putRecord):
3345         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
3346         (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier):
3347         (WebCore::IDBLevelDBBackingStore::deleteRecord):
3348         (WebCore::IDBLevelDBBackingStore::getKeyGeneratorCurrentNumber):
3349         (WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
3350         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
3351         (WebCore::IDBLevelDBBackingStore::getIndexes):
3352         (WebCore::IDBLevelDBBackingStore::createIndex):
3353         (WebCore::IDBLevelDBBackingStore::deleteIndex):
3354         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
3355         (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
3356         (WebCore::IDBLevelDBBackingStore::findKeyInIndex):
3357         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
3358         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
3359         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
3360         (WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor):
3361         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
3362         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
3363         (WebCore::IDBLevelDBBackingStore::createTransaction):
3364         (WebCore::IDBLevelDBBackingStore::Transaction::create):
3365         (WebCore::IDBLevelDBBackingStore::Transaction::Transaction):
3366         (WebCore::IDBLevelDBBackingStore::Transaction::begin):
3367         (WebCore::IDBLevelDBBackingStore::Transaction::commit):
3368         (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
3369         (WebCore::IDBLevelDBBackingStore::backingStoreExists):
3370         * Modules/indexeddb/IDBBackingStore.h:
3371         (WebCore):
3372         (WebCore::IDBBackingStore::~IDBBackingStore):
3373         (IDBBackingStore):
3374         (RecordIdentifier):
3375         (WebCore::IDBBackingStore::Cursor::~Cursor):
3376         (WebCore::IDBBackingStore::Transaction::~Transaction):
3377         (Transaction):
3378         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
3379         (WebCore::IDBFactoryBackendImpl::openBackingStore):
3380         * Modules/indexeddb/IDBLevelDBBackingStore.h: Copied from Source/WebCore/Modules/indexeddb/IDBBackingStore.h.
3381         (WebCore):
3382         (IDBLevelDBBackingStore):
3383         (Transaction):
3384         (WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransactionFrom):
3385         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3386         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
3387         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3388         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
3389         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3390         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
3391         (WebCore::IDBTransactionBackendImpl::abort):
3392         (WebCore::IDBTransactionBackendImpl::commit):
3393         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
3394         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3395         (WebCore::IDBTransactionBackendImpl::backingStoreTransaction):
3396         * WebCore.xcodeproj/project.pbxproj:
3397
3398 2012-11-09  Erik Arvidsson  <arv@chromium.org>
3399
3400         REGRESSION (r125239): classList contains() doesn't work after element was moved from strict mode document to quirks mode document
3401         https://bugs.webkit.org/show_bug.cgi?id=101627
3402
3403         Reviewed by Alexey Proskuryakov.
3404
3405         We used to only create m_classNamesForQuirksMode in the constructor or when the class attribute
3406         was changed. If an element is moved from a standards document to a quirks mode document the
3407         m_classNamesForQuirksMode would not be up to date which lead to wrong results.
3408
3409         Now we alway check if m_classNamesForQuirksMode is up to date (in quirks mode only).
3410
3411         Test: fast/dom/Element/class-list-move-between-document-with-different-quirks-mode.html
3412
3413         * html/ClassList.cpp:
3414         (WebCore::ClassList::classNames): Create the m_classNamesForQuirksMode lazily as needed so that
3415                                           it is up to date.
3416         * html/ClassList.h:
3417
3418 2012-11-09  Alec Flett  <alecflett@chromium.org>
3419
3420         IndexedDB: Combine IDBBackingStore and IDBLevelDBBackingStore
3421         https://bugs.webkit.org/show_bug.cgi?id=101415
3422
3423         Reviewed by Tony Chang.
3424
3425         Combine abstract interface IDBBackingStore with its only
3426         implementation, IDBLevelDBBackingStore, to reduce code
3427         complexity. The legacy structure existed to support a SQLLite
3428         IDBBackingStore, but it is no longer worth the complexity to
3429         support this abstraction.
3430
3431         Changes include:
3432         1) Merging IDBLevelDBBackingStore into IDBBackingStore.
3433
3434         2) Merge together IDBBackingStore's inner classes: Cursor,
3435         Transaction, and ObjectStoreRecordIdentfier with their respective
3436         subclasses in IDBLevelDBBackingStore.
3437
3438         3) Simplifying the inner Transaction class to not be refcounted or
3439         virtualized, to allow it to be a simple concrete member of its
3440         owner, IDBTransactionBackendImpl.
3441
3442         No new tests as this is purely a refactor.
3443
3444         * Modules/indexeddb/IDBBackingStore.cpp:
3445         (WebCore::recordInternalError):
3446         (WebCore::setUpMetadata):
3447         (WebCore::IDBBackingStore::IDBBackingStore):
3448         (WebCore):
3449         (WebCore::IDBBackingStore::~IDBBackingStore):
3450         (WebCore::IDBBackingStore::open):
3451         (WebCore::IDBBackingStore::getDatabaseNames):
3452         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):