[chromium] Add destructor to WebPrerender
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-12-12  Gavin Peters  <gavinp@chromium.org>
2
3         [chromium] Add destructor to WebPrerender
4         https://bugs.webkit.org/show_bug.cgi?id=104820
5
6         Reviewed by James Robinson.
7
8         When making WebPrerender default constructible and assignable, the destructor should have been moved out of WEBKIT_IMPLEMENTATION.
9
10         Existing WebKit unit tests should test this, as do chromium browser tests.
11
12         * platform/chromium/support/WebPrerender.cpp:
13         (WebKit::WebPrerender::toPrerender):
14         (WebKit::WebPrerender::reset):
15
16 2012-12-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
17
18         [Qt] Animation fails on large layers
19         https://bugs.webkit.org/show_bug.cgi?id=104538
20
21         Reviewed by Noam Rosenthal.
22
23         The backing tiles had no upper limit defined for the non-GL backend, which could cause them
24         to allocate pixmaps widier or higher than what the underlying graphics systems can handle.
25
26         On top of that GraphicsLayerTextureMapper::prepareBackingStore() would allocate an intermediate
27         pixmap the size of the dirty rect, which would at least on the first paint be the size of the
28         entire layer, again causing allocation of pixmaps with dimensions outside of platform bounds.
29
30         This patch introduces a limit to the size of image buffer tiles, and adds an alternative path
31         for painting where the GraphicsLayer paints directly to the tile instead of over an intermediate
32         pixmap. This alternative path can also be useful later to minimize the amount of pixel copying
33         happening in full repaints.
34
35         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
36         (WebCore::GraphicsLayerTextureMapper::prepareBackingStore):
37         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
38         (GraphicsLayerTextureMapper):
39         * platform/graphics/texmap/TextureMapper.cpp:
40         (WebCore::BitmapTexture::updateContents):
41         * platform/graphics/texmap/TextureMapper.h:
42         (BitmapTexture):
43         (TextureMapper):
44         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
45         (WebCore::TextureMapperTile::updateContents):
46         (WebCore::TextureMapperTiledBackingStore::updateContents):
47         * platform/graphics/texmap/TextureMapperBackingStore.h:
48         (TextureMapperTile):
49         (TextureMapperTiledBackingStore):
50         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
51         (WebCore::BitmapTextureImageBuffer::updateContents):
52         (WebCore::TextureMapperImageBuffer::maxTextureSize):
53         * platform/graphics/texmap/TextureMapperImageBuffer.h:
54         (BitmapTextureImageBuffer):
55
56 2012-12-12  Aaron Colwell  <acolwell@chromium.org>
57
58         Remove MediaSource 'ended' to 'open' transition when seeking.
59         https://bugs.webkit.org/show_bug.cgi?id=104583
60
61         Reviewed by Eric Carlson.
62
63         Remove the 'ended' to 'open' transition on a seek.
64
65         No new tests. The following tests were updated to reflect the new behavior.
66           http/tests/media/media-source/video-media-source-seek.html
67           http/tests/media/media-source/video-media-source-state-changes.html
68
69         * html/HTMLMediaElement.cpp:
70         (WebCore::HTMLMediaElement::seek):
71
72 2012-12-12  Julien Chaffraix  <jchaffraix@webkit.org>
73
74         [CSS Grid Layout] Implement CSS parsing and handling for min-content and max-content
75         https://bugs.webkit.org/show_bug.cgi?id=104747
76
77         Reviewed by Alexis Menard.
78
79         This change adds -webkit-min-content and -webkit-max-content to our <track-breadth> parsing.
80         The rendering is not plugged in and will probably depend on bug 103311.
81
82         Tests: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
83                fast/css-grid-layout/grid-columns-rows-get-set.html:
84
85         * css/CSSParser.cpp:
86         (WebCore::CSSParser::parseGridBreadth):
87         * css/StyleResolver.cpp:
88         (WebCore::createGridTrackBreadth):
89         Straight-forward extension of the new code. We were already serializing back properly
90         so no need to touch CSSComputedStyleDeclaration.
91
92 2012-12-12  Ryosuke Niwa  <rniwa@webkit.org>
93
94         Copying text with ruby inserts new lines around rt elements
95         https://bugs.webkit.org/show_bug.cgi?id=104765
96
97         Reviewed by Dan Bernstein.
98
99         Don't emit new lines before and after rt.
100
101         Test: editing/pasteboard/copy-paste-ruby-text.html
102
103         * editing/TextIterator.cpp:
104         (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
105
106 2012-12-12  Krzysztof Czech  <k.czech@samsung.com>
107
108         [EFL] Possibility to turn off accessibility feature for WebKit-EFL.
109         https://bugs.webkit.org/show_bug.cgi?id=103036
110
111         Reviewed by Laszlo Gombos.
112
113         Guard dependencies for accessibility (ATK), so that they can be turned off.
114
115         No new tests as there is no new functionality.
116
117         * PlatformEfl.cmake:
118         * accessibility/AccessibilityObject.cpp:
119         (WebCore::AccessibilityObject::AccessibilityObject):
120         * accessibility/AccessibilityObject.h:
121         (AccessibilityObject):
122
123 2012-12-12  Justin Novosad  <junov@google.com>
124
125         Use render box background over border draw strategy in cases with background-image
126         https://bugs.webkit.org/show_bug.cgi?id=103409
127
128         Reviewed by Simon Fraser.
129
130         The BackgroundOverBorderBleedAvoidance mode was not being used in
131         cases where the background is an opaque image. It was also not
132         being used in cases with multiple layers. The multiple layer
133         case is now safe with respect to color bleeding if the top layer
134         is opaque, thank to the recent addition of layer occlusion culling
135         in r135629.
136
137         No new tests. Testing already covered by the following tests:
138         fast/backgrounds/background-opaque-images-over-color.html
139         fast/backgrounds/gradient-background-leakage-2.html
140
141         * rendering/RenderBox.cpp:
142         (WebCore::RenderBox::determineBackgroundBleedAvoidance):
143         (WebCore::RenderBox::backgroundHasOpaqueTopLayer):
144         * rendering/RenderBox.h:
145         (RenderBox):
146
147 2012-12-12  Ilya Tikhonovsky  <loislo@chromium.org>
148
149         Web Inspector: instrument static parts of RenderBlock and RenderBox
150         https://bugs.webkit.org/show_bug.cgi?id=104660
151
152         Reviewed by Yury Semikhatsky.
153
154         Plain vanilla instrumentation.
155
156         * dom/WebCoreMemoryInstrumentation.cpp:
157         (WebCore):
158         (WebCore::WebCoreMemoryInstrumentation::reportMemoryUsage):
159         * dom/WebCoreMemoryInstrumentation.h:
160         (WebCoreMemoryTypes):
161         (WebCoreMemoryInstrumentation):
162         (WebCore):
163         * inspector/InspectorMemoryAgent.cpp:
164         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
165         * rendering/RenderBlock.cpp:
166         (WebCore::RenderBlock::reportStaticMembersMemoryUsage):
167         (WebCore):
168         * rendering/RenderBlock.h:
169         (RenderBlock):
170         * rendering/RenderBox.cpp:
171         (WebCore::RenderBox::reportStaticMembersMemoryUsage):
172         (WebCore):
173         * rendering/RenderBox.h:
174         (RenderBox):
175
176 2012-12-12  Ilya Tikhonovsky  <loislo@chromium.org>
177
178         Web Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo.
179         https://bugs.webkit.org/show_bug.cgi?id=104796
180
181         Reviewed by Yury Semikhatsky.
182
183         It was not a good idea to introduce a fake root MemoryObjectInfo.
184         It makes a problem when we visit an object without its own MemoryObjectType.
185
186         Example: RenderBox has a global pointer to a hash map.
187         HashMap doesn't have its own object type because it is a generic container.
188         It will inherit object type from the fake root memory object info.
189         The same could happen for another container in another class with other MemoryObjectType.
190
191         This fact forces me to create custom process method for root objects
192         because they need to have their own MemoryObjectInfo with customisable memory object type.
193
194         Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using
195         for instrumented and not instrumented object classes.
196
197         * inspector/MemoryInstrumentationImpl.cpp:
198         (WebCore::MemoryInstrumentationImpl::processDeferredObjects):
199         (WebCore::MemoryInstrumentationImpl::deferObject):
200         (WebCore::MemoryInstrumentationImpl::reportMemoryUsage):
201         * inspector/MemoryInstrumentationImpl.h:
202         (MemoryInstrumentationImpl):
203
204 2012-12-12  Kondapally Kalyan  <kalyan.kondapally@intel.com>
205
206         [EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.
207         https://bugs.webkit.org/show_bug.cgi?id=104535.
208
209         Reviewed by Kenneth Rohde Christiansen.
210
211         GraphicsContext3DEfl does not re-create the surface on canvas resize, this
212         conflicted with the logic in coordinated graphics Layer.
213         CoordinatedGraphicsLayer checks for GraphicsSurfaceToken to decide if the surface
214         in UI-Process should be recreated or not. With this
215         patch we also check for size of the platform Layer.
216
217         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
218         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
219         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
220         (GraphicsContext3DPrivate::didResizeCanvas):
221         (GraphicsContext3DPrivate::platformLayerSize):
222         * platform/graphics/efl/GraphicsContext3DPrivate.h:
223         (GraphicsContext3DPrivate):
224
225 2012-12-12  Antoine Quint  <graouts@apple.com>
226
227         Web Inspector: Crash in InspectorDOMAgent::pushNodePathToFrontend when inspecting document with CSS generated content
228         https://bugs.webkit.org/show_bug.cgi?id=104780
229
230         Reviewed by Pavel Feldman.
231
232         The pushNodePathForRenderLayerToFrontend() method added to InspectorDOMAgent naively assumed
233         that all RenderLayers have a Node associated to them. However, in the case of CSS generated
234         content, that will not be the case and we would call into pushNodePathToFrontend() with a 0
235         parameter that would hit the first ASSERT in this method. We're now checking that we indeed
236         have an associated node for the provided RenderLayer and return 0 in case we don't, without
237         calling into pushNodePathToFrontend().
238
239         Test: inspector-protocol/layer-tree-generated-content.html
240
241         * inspector/InspectorDOMAgent.cpp:
242         (WebCore::InspectorDOMAgent::pushNodePathForRenderLayerToFrontend):
243
244 2012-12-12  Alexander Pavlov  <apavlov@chromium.org>
245
246         Web Inspector: [Crash] Clear cached stylesheet rules in InspectorStyleSheet::deleteRule()
247         https://bugs.webkit.org/show_bug.cgi?id=104806
248
249         Reviewed by Vsevolod Vlasov.
250
251         Cached rules (m_flatRules) should get cleared whenever a rule is deleted.
252
253         Test: inspector/styles/undo-add-rule-crash.html
254
255         * inspector/InspectorStyleSheet.cpp:
256         (WebCore::InspectorStyleSheet::deleteRule):
257
258 2012-12-12  Stephen White  <senorblanco@chromium.org>
259
260         Unreviewed, rolling out r136975.
261         http://trac.webkit.org/changeset/136975
262         https://bugs.webkit.org/show_bug.cgi?id=90405
263
264         Correctness issues.
265
266         * dom/Element.cpp:
267         * dom/Element.h:
268         (Element):
269         * dom/ElementRareData.h:
270         (ElementRareData):
271         (WebCore::ElementRareData::ElementRareData):
272         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
273         (WebCore::BitmapTextureImageBuffer::applyFilters):
274         * rendering/FilterEffectRenderer.cpp:
275         (WebCore::createCustomFilterEffect):
276         (WebCore::FilterEffectRenderer::buildReferenceFilter):
277         (WebCore::FilterEffectRenderer::build):
278         * rendering/FilterEffectRenderer.h:
279         (FilterEffectRenderer):
280         * rendering/RenderLayer.cpp:
281         (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
282         * rendering/RenderObject.cpp:
283         (WebCore::RenderObject::willBeDestroyed):
284         * rendering/svg/RenderSVGResourceContainer.cpp:
285         (WebCore::RenderSVGResourceContainer::registerResource):
286         * rendering/svg/SVGResources.cpp:
287         (WebCore::SVGResources::buildCachedResources):
288         * rendering/svg/SVGResourcesCache.cpp:
289         (WebCore::SVGResourcesCache::addResourcesFromRenderObject):
290         (WebCore::SVGResourcesCache::clientStyleChanged):
291         (WebCore::SVGResourcesCache::resourceDestroyed):
292         * svg/SVGDocumentExtensions.cpp:
293         (WebCore::SVGDocumentExtensions::addPendingResource):
294         (WebCore::SVGDocumentExtensions::isElementPendingResources):
295         (WebCore::SVGDocumentExtensions::isElementPendingResource):
296         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
297         (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
298         * svg/SVGDocumentExtensions.h:
299         (WebCore):
300         (SVGDocumentExtensions):
301         * svg/SVGElement.cpp:
302         (WebCore::SVGElement::hasPendingResources):
303         (WebCore):
304         (WebCore::SVGElement::setHasPendingResources):
305         (WebCore::SVGElement::clearHasPendingResourcesIfPossible):
306         * svg/SVGElement.h:
307         (SVGElement):
308         (WebCore::SVGElement::buildPendingResource):
309         * svg/SVGElementRareData.h:
310         (WebCore::SVGElementRareData::SVGElementRareData):
311         (WebCore::SVGElementRareData::hasPendingResources):
312         (WebCore::SVGElementRareData::setHasPendingResources):
313         (SVGElementRareData):
314         * svg/SVGStyledElement.cpp:
315         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
316
317 2012-12-12  Stephen White  <senorblanco@chromium.org>
318
319         Unreviewed, rolling out r137022.
320         http://trac.webkit.org/changeset/137022
321
322         Precursor to rollout of 136975.
323
324         * rendering/svg/SVGResources.cpp:
325         (WebCore::SVGResources::buildCachedResources):
326
327 2012-12-12  Stephen White  <senorblanco@chromium.org>
328
329         Unreviewed, rolling out r137027.
330         http://trac.webkit.org/changeset/137027
331
332         Precursor to rollout of 136975.
333
334         * dom/ElementRareData.h:
335         (ElementRareData):
336
337 2012-12-12  Alexei Filippov  <alph@chromium.org>
338
339         Web Inspector: add memory used by memory allocator itself to NMI
340         https://bugs.webkit.org/show_bug.cgi?id=93372
341
342         Make native memory instrumentation report memory retained
343         for the memory allocator internal purposes.
344
345         Reviewed by Yury Semikhatsky.
346
347         * inspector/front-end/NativeMemorySnapshotView.js:
348         (WebInspector.MemoryBlockViewProperties._initialize):
349         * platform/chromium/MemoryUsageSupportChromium.cpp:
350         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
351
352 2012-12-12  Sheriff Bot  <webkit.review.bot@gmail.com>
353
354         Unreviewed, rolling out r137438.
355         http://trac.webkit.org/changeset/137438
356         https://bugs.webkit.org/show_bug.cgi?id=104798
357
358         assertion reached when removing tile (Requested by tmpsantos
359         on #webkit).
360
361         * page/Frame.cpp:
362         (WebCore::Frame::setTiledBackingStoreEnabled):
363         * platform/graphics/TiledBackingStore.cpp:
364         (WebCore::TiledBackingStore::TiledBackingStore):
365         (WebCore::TiledBackingStore::setTileCreationDelay):
366         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
367         (WebCore::TiledBackingStore::updateTileBuffers):
368         (WebCore::TiledBackingStore::createTiles):
369         (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
370         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
371         (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
372         (WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
373         (WebCore::TiledBackingStore::backingStoreUpdateTimerFired):
374         * platform/graphics/TiledBackingStore.h:
375         (TiledBackingStore):
376         (WebCore::TiledBackingStore::tileCreationDelay):
377         * platform/graphics/TiledBackingStoreClient.h:
378         (WebCore::TiledBackingStoreClient::tiledBackingStoreUpdatesAllowed):
379
380 2012-12-12  Csaba Osztrogonác  <ossy@webkit.org>
381
382         [Qt] Unreviewed typo fix after r137446.
383
384         * WebCore.pri:
385
386 2012-12-12  Zan Dobersek  <zandobersek@gmail.com>
387
388         [GTK] Remove the last of unnecessary configuration options in configure.ac
389         https://bugs.webkit.org/show_bug.cgi?id=104793
390
391         Reviewed by Martin Robinson.
392
393         Remove the feature define overriding that's based on the automake variables which are
394         not set anymore due to the corresponding configuration options being removed.
395
396         No new tests - no new functionality.
397
398         * GNUmakefile.am:
399
400 2012-12-12  Simon Hausmann  <simon.hausmann@digia.com>
401
402         [Qt] Fix build on Mac
403
404         Reviewed by Csaba Osztrogonác.
405
406         On Mac OS X we have sqlite as a system library available.
407
408         * WebCore.pri:
409
410 2012-12-12  Simon Hausmann  <simon.hausmann@digia.com>
411
412         [Qt] Fix linkage against SQLite
413         https://bugs.webkit.org/show_bug.cgi?id=104781
414
415         Reviewed by Csaba Osztrogonác.
416
417         Detect SQLite either through pkg-config, from the SQLITE3SRCDIR
418         environment variable or from qtbase via a qt5.git build. Bail out early
419         with an error message if neither option applies.
420
421         This removes the usage of $$QT.core.sources and the dependency on Qt's
422         system-sqlite configure setting. We should always favour a system
423         library over a copy in Qt.
424
425         * Target.pri:
426         * WebCore.pri:
427
428 2012-12-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
429
430         [TexMap] Uninitialized m_context pointer in TextureMapper
431         https://bugs.webkit.org/show_bug.cgi?id=104785
432
433         Reviewed by Kenneth Rohde Christiansen.
434
435         * platform/graphics/texmap/TextureMapper.cpp:
436         (WebCore::TextureMapper::TextureMapper):
437         * platform/graphics/texmap/TextureMapperGL.cpp:
438         (WebCore::TextureMapperGL::TextureMapperGL):
439
440 2012-12-12  Tommy Widenflycht  <tommyw@google.com>
441
442         MediaStream API: Change the data channel descriptor pattern to a handler pattern
443         https://bugs.webkit.org/show_bug.cgi?id=104543
444
445         Reviewed by Kent Tamura.
446
447         In short the code is refactured to use the Handler/Client pattern (see RTCPeerConnectionHandler)
448         instead of the Descriptor pattern.
449         This will fix lifetime/memory/code structure issues in the chromium port.
450
451         Existing tests cover this patch.
452
453         * CMakeLists.txt:
454         * GNUmakefile.list.am:
455         * Modules/mediastream/RTCDataChannel.cpp:
456         (WebCore::RTCDataChannel::create):
457         (WebCore::RTCDataChannel::RTCDataChannel):
458         (WebCore::RTCDataChannel::~RTCDataChannel):
459         (WebCore::RTCDataChannel::label):
460         (WebCore::RTCDataChannel::reliable):
461         (WebCore::RTCDataChannel::readyState):
462         (WebCore::RTCDataChannel::bufferedAmount):
463         (WebCore::RTCDataChannel::send):
464         (WebCore::RTCDataChannel::close):
465         (WebCore::RTCDataChannel::didChangeReadyState):
466         (WebCore::RTCDataChannel::didReceiveStringData):
467         (WebCore::RTCDataChannel::didReceiveRawData):
468         (WebCore::RTCDataChannel::didDetectError):
469         (WebCore::RTCDataChannel::stop):
470         * Modules/mediastream/RTCDataChannel.h:
471         (WebCore):
472         (RTCDataChannel):
473         * Modules/mediastream/RTCPeerConnection.cpp:
474         (WebCore::RTCPeerConnection::didAddRemoteDataChannel):
475         * Modules/mediastream/RTCPeerConnection.h:
476         (RTCPeerConnection):
477         * WebCore.gypi:
478         * platform/chromium/support/WebRTCDataChannel.cpp: Removed.
479         * platform/mediastream/RTCDataChannelDescriptor.h: Removed.
480         * platform/mediastream/RTCDataChannelHandler.h: Copied from Source/WebCore/platform/mediastream/RTCDataChannelDescriptor.cpp.
481         (WebCore):
482         (RTCDataChannelHandler):
483         (WebCore::RTCDataChannelHandler::~RTCDataChannelHandler):
484         * platform/mediastream/RTCDataChannelHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/RTCDataChannelDescriptor.cpp.
485         (WebCore):
486         (RTCDataChannelHandlerClient):
487         (WebCore::RTCDataChannelHandlerClient::~RTCDataChannelHandlerClient):
488         * platform/mediastream/RTCPeerConnectionHandler.cpp:
489         (WebCore):
490         (WebCore::RTCPeerConnectionHandler::create):
491         * platform/mediastream/RTCPeerConnectionHandler.h:
492         (WebCore):
493         (RTCPeerConnectionHandler):
494         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
495         (WebCore):
496         (RTCPeerConnectionHandlerClient):
497         * platform/mediastream/chromium/RTCDataChannelHandlerChromium.cpp: Added.
498         (WebCore):
499         (WebCore::RTCDataChannelHandlerChromium::create):
500         (WebCore::RTCDataChannelHandlerChromium::RTCDataChannelHandlerChromium):
501         (WebCore::RTCDataChannelHandlerChromium::~RTCDataChannelHandlerChromium):
502         (WebCore::RTCDataChannelHandlerChromium::setClient):
503         (WebCore::RTCDataChannelHandlerChromium::label):
504         (WebCore::RTCDataChannelHandlerChromium::isReliable):
505         (WebCore::RTCDataChannelHandlerChromium::bufferedAmount):
506         (WebCore::RTCDataChannelHandlerChromium::sendStringData):
507         (WebCore::RTCDataChannelHandlerChromium::sendRawData):
508         (WebCore::RTCDataChannelHandlerChromium::close):
509         (WebCore::RTCDataChannelHandlerChromium::didChangeReadyState):
510         (WebCore::RTCDataChannelHandlerChromium::didReceiveStringData):
511         (WebCore::RTCDataChannelHandlerChromium::didReceiveRawData):
512         (WebCore::RTCDataChannelHandlerChromium::didDetectError):
513         * platform/mediastream/chromium/RTCDataChannelHandlerChromium.h: Added.
514         (WebCore):
515         (RTCDataChannelHandlerChromium):
516         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
517         (WebCore::RTCPeerConnectionHandlerChromium::createDataChannel):
518         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
519         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
520         (WebCore):
521         (RTCPeerConnectionHandlerChromium):
522
523 2012-12-12  Huang Dongsung  <luxtella@company100.net>
524
525         Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
526         https://bugs.webkit.org/show_bug.cgi?id=103959
527
528         Reviewed by Kenneth Rohde Christiansen.
529
530         TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop() is used when class
531         methods cannot be called asynchronously by client. Updates of tiles are
532         committed as soon as all the events in event queue have been processed.
533         After this patch Frame sets m_commitTileUpdatesOnIdleEventLoop to true.
534
535         In addition, remove TiledBackingStoreClient::tiledBackingStoreUpdatesAllowed()
536         which was introduced for Coordinated Graphics.
537
538         Refactoring covered by existing tests.
539
540         * page/Frame.cpp:
541         (WebCore::Frame::setTiledBackingStoreEnabled):
542         * platform/graphics/TiledBackingStore.cpp:
543         (WebCore::TiledBackingStore::TiledBackingStore):
544         (WebCore::TiledBackingStore::setTrajectoryVector):
545           Separate setting a trajectory vector from coverWithTilesIfNeeded().
546         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
547         (WebCore::TiledBackingStore::updateTileBuffers):
548         (WebCore::TiledBackingStore::createTiles):
549         (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
550         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
551         (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
552         (WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
553         (WebCore::TiledBackingStore::backingStoreUpdateTimerFired):
554         * platform/graphics/TiledBackingStore.h:
555         (TiledBackingStore):
556         (WebCore::TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop):
557         * platform/graphics/TiledBackingStoreClient.h:
558         (WebCore::TiledBackingStoreClient::tiledBackingStoreHasPendingTileCreation):
559             If TiledBackingStore does not create all tiles, TiledBackingStore
560             notifies a client of needing to create tiles more, when
561             m_commitTileUpdatesOnIdleEventLoop is false.
562
563 2012-12-11  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
564
565         [Qt] Fix the inspector not showing up on Windows
566         https://bugs.webkit.org/show_bug.cgi?id=104677
567
568         Reviewed by Simon Hausmann.
569
570         * Target.pri:
571
572 2012-11-29  Yury Semikhatsky  <yurys@chromium.org>
573
574         Web Inspector: Heap snapshot crashes on any page in MacOS Canary
575         https://bugs.webkit.org/show_bug.cgi?id=103076
576
577         Reviewed by Adam Barth.
578
579         Provide global object name resolver to the heap profiler. The callback allows
580         to safely retrieve document URL to be used as a label for corresponding global
581         object in the heap snapshot.
582
583         Test: inspector-protocol/take-heap-snapshot.html
584
585         * bindings/v8/ScriptProfiler.cpp:
586         (WebCore):
587         (WebCore::ScriptProfiler::takeHeapSnapshot):
588
589 2012-12-12  Sheriff Bot  <webkit.review.bot@gmail.com>
590
591         Unreviewed, rolling out r137428.
592         http://trac.webkit.org/changeset/137428
593         https://bugs.webkit.org/show_bug.cgi?id=104776
594
595         It broke the build everywhere (Requested by Ossy on #webkit).
596
597         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
598         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
599         * platform/graphics/texmap/TextureMapperGL.cpp:
600         (WebCore::TextureMapperGL::drawQuad):
601         (WebCore::TextureMapperGL::drawBorder):
602         (WebCore::TextureMapperGL::drawTexture):
603         (WebCore):
604         (WebCore::TextureMapperGL::drawTextureRectangleARB):
605         (WebCore::TextureMapperGL::drawSolidColor):
606         (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
607         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
608         * platform/graphics/texmap/TextureMapperGL.h:
609         (TextureMapperGL):
610         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
611         (WebCore::getShaderSpec):
612         * platform/graphics/texmap/TextureMapperShaderManager.h:
613         (TextureMapperShaderProgram):
614
615 2012-12-12  Martin Robinson  <mrobinson@igalia.com>
616
617         Web inspector prints a warning about "Debug" not being localized
618         https://bugs.webkit.org/show_bug.cgi?id=104679
619
620         Reviewed by Vsevolod Vlasov.
621
622         Add a missing localization entry for the "Debug" string which is used in the web
623         inspector front-end. This prevents warnings about a missing localized version
624         of the word "Debug" and allows it to be properly localized.
625
626         * English.lproj/localizedStrings.js: Add "Debug"
627
628 2012-12-12  Shinya Kawanaka  <shinyak@chromium.org>
629
630         [Shadow DOM] Implement HTMLShadowElement::olderShadowRoot
631         https://bugs.webkit.org/show_bug.cgi?id=104218
632
633         Reviewed by Hajime Morita.
634
635         Implements HTMLShadowElement::olderShadowRoot, which returns the ShadowRoot the HTMLShadowElement is assigned to.
636         When such ShadowRoot does not exist, 0 is returned.
637
638         Test: fast/dom/shadow/olderShadowRoot-in-shadowelement.html
639
640         * dom/ElementShadow.cpp:
641         (WebCore::ElementShadow::ensureDistributionFromDocument): Ensures distribution of this ElementShadow and
642         all of the parent TreeScope distribution. This function will be shared for Bug 104345.
643         (WebCore):
644         * dom/ElementShadow.h:
645         (ElementShadow):
646         * html/shadow/HTMLShadowElement.cpp:
647         (WebCore::HTMLShadowElement::olderShadowRoot):
648         (WebCore):
649         * html/shadow/HTMLShadowElement.h:
650         * html/shadow/HTMLShadowElement.idl:
651
652 2012-12-12  No'am Rosenthal  <noam@webkit.org>
653
654         [Texmap] Consolidate redundant code for ARB_RECT texture
655         https://bugs.webkit.org/show_bug.cgi?id=104705
656
657         Reviewed by Kenneth Rohde Christiansen.
658
659         Instead of having a whole different function for RECT textures,
660         keep the existing functions and pass a flag that tells
661         TextureMapperGL to use the non-normalized coordinates and the
662         RECT shaders.
663
664         No new tests, refactor only. Tested to not break WebGL on
665         Qt-Mac.
666
667         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
668         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
669         * platform/graphics/texmap/TextureMapperGL.cpp:
670         (WebCore::TextureMapperGL::drawQuad):
671             Compensate for rect textures in drawQuad.
672
673         (WebCore::TextureMapperGL::drawBorder):
674         (WebCore::TextureMapperGL::drawTexture):
675         (WebCore::TextureMapperGL::drawSolidColor):
676         (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
677         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
678             Pass flags to TextureMapperGL::drawQuad instead of a bool.
679
680         * platform/graphics/texmap/TextureMapperGL.h:
681         (TextureMapperGL):
682         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
683         (WebCore::getShaderSpec):
684         * platform/graphics/texmap/TextureMapperShaderManager.h:
685         (TextureMapperShaderProgram):
686             Compensate for the texture-size in the vertex
687             shader instead of in the fragment shader.
688
689 2012-12-11  Hayato Ito  <hayato@chromium.org>
690
691         REGRESSION(r137408): breaks chromium's browser tests which use WebKitShadowRoot (Requested by hayato on #webkit).
692         https://bugs.webkit.org/show_bug.cgi?id=104770
693
694         Unreviewed, build fix.
695
696         * dom/ShadowRoot.idl:
697         * page/DOMWindow.idl:
698
699 2012-12-11  Sheriff Bot  <webkit.review.bot@gmail.com>
700
701         Unreviewed, rolling out r137333, r137344, r137364, and
702         r137377.
703         http://trac.webkit.org/changeset/137333
704         http://trac.webkit.org/changeset/137344
705         http://trac.webkit.org/changeset/137364
706         http://trac.webkit.org/changeset/137377
707         https://bugs.webkit.org/show_bug.cgi?id=104771
708
709         Caused a raft of browser_test failures in Chromium (Requested
710         by aklein on #webkit).
711
712         * loader/DocumentLoader.cpp:
713         (WebCore::DocumentLoader::setRequest):
714         (WebCore::DocumentLoader::subresource):
715         (WebCore::DocumentLoader::addSubresourceLoader):
716         (WebCore::DocumentLoader::removeSubresourceLoader):
717         (WebCore::DocumentLoader::startLoadingMainResource):
718         * loader/MainResourceLoader.cpp:
719         (WebCore::MainResourceLoader::MainResourceLoader):
720         (WebCore::MainResourceLoader::~MainResourceLoader):
721         (WebCore::MainResourceLoader::receivedError):
722         (WebCore::MainResourceLoader::willCancel):
723         (WebCore::MainResourceLoader::didCancel):
724         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
725         (WebCore::MainResourceLoader::addData):
726         (WebCore::MainResourceLoader::willSendRequest):
727         (WebCore::MainResourceLoader::continueAfterContentPolicy):
728         (WebCore::MainResourceLoader::didReceiveResponse):
729         (WebCore::MainResourceLoader::didReceiveData):
730         (WebCore::MainResourceLoader::didFinishLoading):
731         (WebCore::MainResourceLoader::didFail):
732         (WebCore::MainResourceLoader::reportMemoryUsage):
733         (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
734         (WebCore::MainResourceLoader::loadNow):
735         (WebCore):
736         (WebCore::MainResourceLoader::load):
737         (WebCore::MainResourceLoader::setDefersLoading):
738         * loader/MainResourceLoader.h:
739         (MainResourceLoader):
740         * loader/ResourceLoader.cpp:
741         (WebCore::ResourceLoader::willSendRequest):
742         * loader/ResourceLoader.h:
743         (ResourceLoader):
744         (WebCore::ResourceLoader::defersLoading):
745         * loader/SubresourceLoader.cpp:
746         (WebCore::SubresourceLoader::willSendRequest):
747         * loader/appcache/ApplicationCacheHost.cpp:
748         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
749         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
750         * loader/cache/CachedRawResource.cpp:
751         (WebCore::CachedRawResource::willSendRequest):
752         * loader/cache/CachedResourceLoader.cpp:
753         (WebCore::CachedResourceLoader::loadDone):
754         * loader/mac/DocumentLoaderMac.cpp:
755         (WebCore::DocumentLoader::schedule):
756         (WebCore::DocumentLoader::unschedule):
757
758 2012-12-11  Kentaro Hara  <haraken@chromium.org>
759
760         Unreviewed, rolling out r137398.
761         http://trac.webkit.org/changeset/137398
762         https://bugs.webkit.org/show_bug.cgi?id=104188
763
764         A bunch of webaudio tests hit ASSERTs
765
766         * CMakeLists.txt:
767         * DerivedSources.make:
768         * DerivedSources.pri:
769         * GNUmakefile.list.am:
770         * Modules/webaudio/AudioContext.cpp:
771         (WebCore::AudioContext::createOfflineContext):
772         (WebCore):
773         * Modules/webaudio/AudioContext.h:
774         (AudioContext):
775         * Modules/webaudio/DOMWindowWebAudio.idl:
776         * Modules/webaudio/OfflineAudioContext.cpp: Removed.
777         * Modules/webaudio/OfflineAudioContext.h: Removed.
778         * Modules/webaudio/OfflineAudioContext.idl: Removed.
779         * WebCore.gypi:
780         * WebCore.xcodeproj/project.pbxproj:
781         * bindings/generic/RuntimeEnabledFeatures.h:
782         * bindings/js/JSAudioContextCustom.cpp:
783         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
784         * bindings/v8/custom/V8AudioContextCustom.cpp:
785         (WebCore::V8AudioContext::constructorCallbackCustom):
786
787 2012-12-11  Shinya Kawanaka  <shinyak@chromium.org>
788
789         [Shadow DOM] registering InsertionPoints to ShadowRoot should work out of a document.
790         https://bugs.webkit.org/show_bug.cgi?id=104346
791
792         Reviewed by Hajime Morita.
793
794         We need to register InsertionPoints even if ShadowRoot is out of Document, since distribution should work
795         out of Document, too.
796
797         Instead of checking isInDocument(), we have to make sure InsertionPoint and an element which InsertionPoint
798         inserted into have the same treescope.
799
800         Tests: fast/dom/shadow/has-content-elements.html
801                fast/dom/shadow/has-shadow-insertion-point.html
802
803         * html/shadow/InsertionPoint.cpp:
804         (WebCore::InsertionPoint::insertedInto):
805         (WebCore::InsertionPoint::removedFrom):
806
807 2012-12-11  Takashi Sakamoto  <tasak@google.com>
808
809         Text nodes in shadow roots don't inherit style properly
810         https://bugs.webkit.org/show_bug.cgi?id=101116
811
812         Reviewed by Hajime Morita.
813
814         Use NodeRenderingContext to resolve styles of text nodes.
815         If text nodes are direct children of shadow roots, the text nodes
816         should be inherited styles from their shadow hosts.
817         But if reset-style-inheritance flag is true, the text nodes should
818         not be inherited. And if text nodes are distributed nodes,
819         we have to check whether their insertion point's
820         reset-style-inheritance.
821         c.f. shadow dom spec is:
822         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles
823
824         Test: fast/dom/shadow/text-node-in-shadow.html
825
826         * css/StyleResolver.cpp:
827         (WebCore::StyleResolver::styleForElement):
828         Modified to use defaultStyleForElement if the given element has
829         no parent style.
830         (WebCore::StyleResolver::initForStyleResolve):
831         Removed shouldResetStyleInheritance, because now NodeRenderingContext
832         resetStyleInheritance() takes care of reset-style-inheritance of
833         both shadow roots and insertion points.
834         (WebCore::StyleResolver::defaultStyleForElement):
835         Added to create a default style for elements.
836         (WebCore):
837         (WebCore::StyleResolver::styleForText):
838         Use NodeRenderingContext to find the parent node for style from the
839         given text node. If no parent node is found or reset-style-inheritance
840         is true, returns a default style (i.e. empty render style).
841         Otherwise, just returns the found node's style.
842         * css/StyleResolver.h:
843         (StyleResolver):
844         * dom/ComposedShadowTreeWalker.cpp:
845         (WebCore::ComposedShadowTreeWalker::ParentTraversalDetails::didTraverseInsertionPoint):
846         Modify to consider insertion point's resetStyleInheritance.
847         * dom/NodeRenderingContext.cpp:
848         (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
849         Since NodeRenderingContext has already found a parent node for
850         rendering and style and a parentRenderer is just the found node's
851         renderer, we have to only check reset-style-inheritance.
852         If reset, use default style. Otherwise, the parentRenderer's style.
853         * dom/Text.cpp:
854         (WebCore::Text::recalcTextStyle):
855         Use styleForText instead of parentRenderer's styles if the given text
856         node is a direct child of a shadow root or a direct child of a shadow
857         host.
858
859 2012-12-11  Takashi Sakamoto  <tasak@google.com>
860
861         Hide HOST_RULE behind SHADOW_DOM flag.
862         https://bugs.webkit.org/show_bug.cgi?id=102321
863
864         Reviewed by Dimitri Glazkov.
865
866         @host @-rules are only available when the rules are declared in styles
867         in shadow dom trees. So if SHADOW_DOM is disabled, we don't need
868         @host @-rules.
869
870         No new tests. Just hide HOST_RULE behind SHADOW_DOM flag.
871
872         * css/StyleResolver.h:
873         Hide "class ShadowRuleHost".
874         * css/StyleRule.cpp:
875         (WebCore::StyleRuleBase::reportMemoryUsage):
876         (WebCore::StyleRuleBase::destroy):
877         (WebCore::StyleRuleBase::copy):
878         (WebCore::StyleRuleBase::createCSSOMWrapper):
879         * css/StyleRule.h:
880         (StyleRuleBase):
881         Hide "Host" type and isHostRule.
882         (StyleRuleHost):
883         Hide "class StyleRuleHost".
884         * css/StyleSheetContents.cpp:
885         (WebCore::childRulesHaveFailedOrCanceledSubresources):
886
887 2012-12-11  Dominic Mazzoni  <dmazzoni@google.com>
888
889         AX: accessibilityIsIgnored should avoid computing textUnderElement
890         https://bugs.webkit.org/show_bug.cgi?id=104688
891
892         Reviewed by Chris Fleizach.
893
894         Simplify the logic in accessibilityIsIgnored without affecting
895         the results of any tests. In particular, avoid expensive calls to
896         textUnderElement.
897
898         Covered by existing tests.
899
900         * accessibility/AccessibilityNodeObject.cpp:
901         (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
902         * accessibility/AccessibilityRenderObject.cpp:
903         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
904
905 2012-12-11  Kentaro Hara  <haraken@chromium.org>
906
907         [V8] Reachable event listeners on image elements can be collected in a minor DOM GC
908         https://bugs.webkit.org/show_bug.cgi?id=104734
909
910         Reviewed by Kenneth Russell.
911
912         A major DOM GC treats image elements specially. In
913         V8GCController::opaqueRootForGC(), a major DOM GC puts image elements
914         that have pending activities into the same object group of their document.
915         This guarantees that image elements that have pending activities
916         are not garbage collected in the major DOM GC.
917
918         This patch adds the same special handling to a minor DOM GC to guarantee
919         the same thing in the minor DOM GC too.
920
921         In long-term, we might want to remove the special handling by making
922         image elements active DOM nodes.
923
924         Test: Manually confirmed that all characters in
925         http://alteredqualia.com/three/examples/webgl_animation_skinning_tf2.html
926         are rendered correctly.
927
928         * bindings/v8/V8GCController.cpp:
929         (WebCore::V8GCController::opaqueRootForGC):
930         (WebCore::gcTree):
931
932 2012-12-11  Dominic Mazzoni  <dmazzoni@google.com>
933
934         AX: Make isActionSupported cross-platform.
935         https://bugs.webkit.org/show_bug.cgi?id=104681
936
937         Reviewed by Chris Fleizach.
938
939         Add UserGestureIndicator to increment() and decrement()
940         so that all accessibility actions are treated as
941         user actions, not scripted actions.
942
943         * accessibility/AccessibilityNodeObject.cpp:
944         (WebCore::AccessibilityNodeObject::increment):
945         (WebCore::AccessibilityNodeObject::decrement):
946
947 2012-12-11  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
948
949         Remove conversion to/from float and float division from ImageFrame::setRGBA
950         https://bugs.webkit.org/show_bug.cgi?id=103693
951
952         Reviewed by Brent Fulgham.
953
954         Replace floating point operations used for alpha premultiply with fixed point arithmetic
955         which is basically integer operations. Allows to shave extra couple percent from decoding
956         images with transparency.
957
958         Covered by existing tests.
959
960         * platform/image-decoders/ImageDecoder.h:
961         (ImageFrame):
962         (WebCore::ImageFrame::fixPointUnsignedMultiply):
963         (WebCore::ImageFrame::setRGBA):
964
965 2012-12-11  Kihong Kwon  <kihong.kwon@samsung.com>
966
967         Vibration API: IDL type doesn't match implementation type
968         https://bugs.webkit.org/show_bug.cgi?id=103899
969
970         Reviewed by Kentaro Hara.
971
972         According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
973         Therefore unsigned long need to be changed to unsigned for the Vibration API.
974         - Change a parameter type of vibrate function from unsigned long to unsigned.
975
976         No new tests, it is covered by exist test.
977
978         * Modules/vibration/NavigatorVibration.cpp:
979         (WebCore::NavigatorVibration::vibrate):
980         * Modules/vibration/NavigatorVibration.h:
981         (NavigatorVibration):
982         * Modules/vibration/Vibration.cpp:
983         (WebCore::Vibration::vibrate):
984         * Modules/vibration/Vibration.h:
985         (Vibration):
986         * Modules/vibration/VibrationClient.h:
987         (VibrationClient):
988         * bindings/js/JSDOMBinding.h:
989         * bindings/scripts/CodeGeneratorJS.pm:
990         Remove workaround codes for the Vibration API which is mapped from unsigned long to unsigned long.
991         It should be mapped from unsigned long to unsigned by WebIDL spec.
992         (GetNativeVectorInnerType):
993         * bindings/scripts/test/JS/JSTestObj.cpp:
994         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
995         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
996
997 2012-12-11  Xinazhu Wang  <wangxianzhu@chromium.org>
998
999         ScrollingCoordinator::hasVisibleSlowRepaintFixedObject() should exclude out-of-view fixed position elements
1000         https://bugs.webkit.org/show_bug.cgi?id=102543
1001
1002         Let RenderLayerCompositor manage the reasons that fixed position elements are not composited.
1003         Check the reason in ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects(), don't let fixed position layer not composited with explicit reasons cause slow scrolling.
1004
1005         Reviewed by James Robinson.
1006
1007         Test: compositing/layer-creation/fixed-position-out-of-view-scroll-reason.html
1008
1009         * page/scrolling/ScrollingCoordinator.cpp:
1010         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects): Exclude fixed position elements that are not composited for explicit reasons.
1011         * rendering/RenderLayerCompositor.cpp:
1012         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Manages m_fixedPositionLayerNotCompositedReasonMap.
1013         (WebCore::RenderLayerCompositor::needsToBeComposited):
1014         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1015         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1016         * rendering/RenderLayerCompositor.h:
1017         (WebCore::RenderLayerCompositor::fixedPositionLayerNotCompositedReason): Now outputs fixedPositionLayerNotCompositedreason.
1018         (RenderLayerCompositor):
1019
1020 2012-12-11  Hayato Ito  <hayato@chromium.org>
1021
1022         [Shadow DOM] Kill ShadowRoot constructor
1023         https://bugs.webkit.org/show_bug.cgi?id=102913
1024
1025         Reviewed by Dimitri Glazkov.
1026
1027         Remove ShadowRoot constructor in favor of Element.webkitCreateShadowRoot().
1028
1029         No new tests. Update existing tests.
1030
1031         * dom/ShadowRoot.idl:
1032         * page/DOMWindow.idl:
1033         * testing/Internals.cpp:
1034         (WebCore::Internals::createShadowRoot):
1035         (WebCore):
1036         * testing/Internals.h:
1037         (Internals):
1038         * testing/Internals.idl:
1039
1040 2012-12-11  Antti Koivisto  <antti@apple.com>
1041
1042         Add Element-specific traversal functions
1043         https://bugs.webkit.org/show_bug.cgi?id=104685
1044
1045         Reviewed by Ryosuke Niwa.
1046
1047         In many cases where we use NodeTraversal we really only want Elements. By having
1048         Element specific iteration functions we can tighten the code and make it faster too.
1049
1050         This patch adds ElementTraversal namespace, similar to NodeTraversal. It also switches
1051         bunch of NodeTraversal call sites that obviously only care about elements to using
1052         the new interface.
1053         
1054         This should be a speedup too as we avoid number of branches by not having to look
1055         for children of non-ContainerNodes and by allowing use of ContainerNode specific
1056         accessors.
1057
1058         * accessibility/AccessibilityRenderObject.cpp:
1059         (WebCore::AccessibilityRenderObject::addImageMapChildren):
1060         * css/SelectorChecker.cpp:
1061         (WebCore::linkAttribute):
1062         (WebCore::SelectorChecker::allVisitedStateChanged):
1063         (WebCore::SelectorChecker::visitedStateChanged):
1064         * css/StyleInvalidationAnalysis.cpp:
1065         (WebCore::elementMatchesSelectorScopes):
1066         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
1067         * dom/ContainerNodeAlgorithms.h:
1068         (WebCore::ChildFrameDisconnector::collectDescendant):
1069         * dom/Document.cpp:
1070         (WebCore::Document::buildAccessKeyMap):
1071         (WebCore::Document::updateBaseURL):
1072         (WebCore::Document::processBaseElement):
1073         * dom/DocumentOrderedMap.cpp:
1074         (WebCore::DocumentOrderedMap::get):
1075         * dom/Element.cpp:
1076         (WebCore::Element::firstElementChild):
1077         * dom/Element.h:
1078         (WebCore):
1079         * dom/ElementShadow.cpp:
1080         (WebCore::ElementShadow::collectSelectFeatureSetFrom):
1081         * dom/NodeTraversal.h:
1082         (ElementTraversal):
1083         (WebCore):
1084         (WebCore::ElementTraversal::traverseNextElementTemplate):
1085         (WebCore::ElementTraversal::next):
1086         (WebCore::ElementTraversal::firstWithin):
1087         (WebCore::ElementTraversal::traverseNextElementSkippingChildrenTemplate):
1088         (WebCore::ElementTraversal::nextSkippingChildren):
1089         (NodeTraversal):
1090         * dom/TreeScope.cpp:
1091         (WebCore::TreeScope::labelElementForId):
1092         (WebCore::TreeScope::findAnchor):
1093         * editing/CompositeEditCommand.cpp:
1094         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
1095         * editing/DeleteSelectionCommand.cpp:
1096         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1097         * editing/FrameSelection.cpp:
1098         (WebCore::scanForForm):
1099         * editing/markup.cpp:
1100         (WebCore::completeURLs):
1101         * html/HTMLFieldSetElement.cpp:
1102         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
1103         (WebCore::HTMLFieldSetElement::childrenChanged):
1104         (WebCore::HTMLFieldSetElement::legend):
1105         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
1106         * html/HTMLFormElement.cpp:
1107         (WebCore::HTMLFormElement::formElementIndex):
1108         * html/HTMLLabelElement.cpp:
1109         (WebCore::HTMLLabelElement::control):
1110         * html/HTMLLegendElement.cpp:
1111         (WebCore::HTMLLegendElement::associatedControl):
1112         * html/HTMLMapElement.cpp:
1113         (WebCore::HTMLMapElement::mapMouseEvent):
1114         * html/HTMLNameCollection.cpp:
1115         (WebCore::HTMLNameCollection::virtualItemAfter):
1116         * html/HTMLObjectElement.cpp:
1117         (WebCore::HTMLObjectElement::containsJavaApplet):
1118         * html/HTMLSelectElement.cpp:
1119         (WebCore::HTMLSelectElement::recalcListItems):
1120         * html/shadow/ContentDistributor.cpp:
1121         (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
1122         * page/FocusController.cpp:
1123         (WebCore::FocusController::findFocusCandidateInContainer):
1124         * rendering/RenderCounter.cpp:
1125         (WebCore::nextInPreOrder):
1126         * svg/SVGSVGElement.cpp:
1127         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
1128         * svg/SVGStyledElement.cpp:
1129         (WebCore::SVGStyledElement::title):
1130         * svg/SVGUseElement.cpp:
1131         (WebCore::removeDisallowedElementsFromSubtree):
1132         * svg/animation/SMILTimeContainer.cpp:
1133         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
1134
1135 2012-12-11  KyungTae Kim  <ktf.kim@samsung.com>
1136
1137         [soup] Unused parameter in ResourceHandleSoup.cpp
1138         https://bugs.webkit.org/show_bug.cgi?id=104728
1139
1140         Reviewed by Kentaro Hara.
1141
1142         The soupLogPrinter has unused parameter 'logger', 
1143         remove the parameter name to fix 'unused parameter' build warning.
1144
1145         * platform/network/soup/ResourceHandleSoup.cpp:
1146         (WebCore::soupLogPrinter):
1147
1148 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
1149
1150         Fixed position out-of-view check is incorrect when page is scaled
1151         https://bugs.webkit.org/show_bug.cgi?id=104303
1152
1153         Reviewed by Kenneth Rohde Christiansen.
1154
1155         Test: compositing/layer-creation/fixed-position-out-of-view-scaled.html
1156               compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html
1157
1158         * rendering/RenderLayerCompositor.cpp:
1159         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Scale the content rect of the fixed position layer before checking out-of-view.
1160
1161 2012-12-11  Chris Rogers  <crogers@google.com>
1162
1163         Implement OfflineAudioContext constructor
1164         https://bugs.webkit.org/show_bug.cgi?id=104188
1165
1166         Reviewed by Kentaro Hara.
1167
1168         The Web Audio layout tests have relied on an undocumented way (in the specification) to render
1169         audio faster than realtime using an OfflineAudioContext.  We want to expose a proper OfflineAudioContext
1170         object and constructor instead of piggybacking off of the normal AudioContext.
1171             
1172         * CMakeLists.txt:
1173         * DerivedSources.make:
1174         * DerivedSources.pri:
1175         * GNUmakefile.list.am:
1176         * Modules/webaudio/AudioContext.cpp:
1177         (WebCore::AudioContext::isSampleRateRangeGood):
1178         * Modules/webaudio/AudioContext.h:
1179         (AudioContext):
1180         * Modules/webaudio/DOMWindowWebAudio.idl:
1181         * Modules/webaudio/OfflineAudioContext.cpp: Added.
1182         (WebCore):
1183         (WebCore::OfflineAudioContext::create):
1184         (WebCore::OfflineAudioContext::OfflineAudioContext):
1185         (WebCore::OfflineAudioContext::~OfflineAudioContext):
1186         * Modules/webaudio/OfflineAudioContext.h: Added.
1187         (WebCore):
1188         (OfflineAudioContext):
1189         * Modules/webaudio/OfflineAudioContext.idl: Added.
1190         * WebCore.gypi:
1191         * WebCore.xcodeproj/project.pbxproj:
1192         * bindings/generic/RuntimeEnabledFeatures.h:
1193         (WebCore::RuntimeEnabledFeatures::webkitOfflineAudioContextEnabled):
1194         * bindings/js/JSAudioContextCustom.cpp:
1195         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1196         * bindings/v8/custom/V8AudioContextCustom.cpp:
1197         (WebCore::V8AudioContext::constructorCallbackCustom):
1198
1199 2012-12-11  Jun Jiang  <jun.a.jiang@intel.com>
1200
1201         WebGL: Avoid unnecessary memory copy or conversion in texImage2D and texSubImage2D for HTMLVideoElement
1202         https://bugs.webkit.org/show_bug.cgi?id=102161
1203
1204         Reviewed by Kenneth Russell.
1205
1206         There are several memory copy or conversions in the texImage2D and texSubImage2D for HTMLVideoElement which may be avoided. This patch removes the redundant BackingStore copy if the corresponding Graphics port supports the DontCopyBackingStore behavior. Moreover, it optimizes the AlphaOp if the Image source is from HTMLVideoElement to avoid unnecessary Unmultiply or Premultiply operation in unpack/pack. 
1207
1208         Already covered by current tests. 
1209
1210         * html/canvas/WebGLRenderingContext.cpp:
1211         (WebCore):
1212         (WebCore::WebGLRenderingContext::texImage2DImpl):
1213         (WebCore::WebGLRenderingContext::texImage2D):
1214         (WebCore::WebGLRenderingContext::videoFrameToImage): add a parameter to choose BackingStore copy behavior.
1215         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
1216         (WebCore::WebGLRenderingContext::texSubImage2D):
1217         * html/canvas/WebGLRenderingContext.h:
1218         (WebGLRenderingContext):
1219         * platform/graphics/GraphicsContext3D.cpp:
1220         (WebCore::GraphicsContext3D::ImageExtractor::ImageExtractor):
1221         * platform/graphics/GraphicsContext3D.h:
1222         (ImageExtractor):
1223         (WebCore::GraphicsContext3D::ImageExtractor::imageSourceUnpackAlignment):
1224         (WebCore::GraphicsContext3D::ImageExtractor::imageHtmlDomSource):
1225         * platform/graphics/ImageBuffer.h:
1226         (ImageBuffer):
1227         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1228         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): optimize the AlphaOp for HTMLVideoElement input.
1229         * platform/graphics/cairo/ImageBufferCairo.cpp:
1230         (WebCore::ImageBuffer::fastCopyImageMode):
1231         (WebCore):
1232         * platform/graphics/cg/ImageBufferCG.cpp:
1233         (WebCore::ImageBuffer::fastCopyImageMode):
1234         (WebCore):
1235         * platform/graphics/qt/ImageBufferQt.cpp:
1236         (WebCore::ImageBuffer::fastCopyImageMode):
1237         (WebCore):
1238         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1239         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): optimize the AlphaOp for HTMLVideoElement input.
1240         * platform/graphics/skia/ImageBufferSkia.cpp:
1241         (WebCore::ImageBuffer::fastCopyImageMode):
1242         (WebCore):
1243         * platform/graphics/wince/ImageBufferWinCE.cpp:
1244         (WebCore::ImageBuffer::fastCopyImageMode):
1245         (WebCore):
1246         * platform/graphics/wx/ImageBufferWx.cpp:
1247         (WebCore::ImageBuffer::fastCopyImageMode):
1248         (WebCore):
1249
1250 2012-12-11  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
1251
1252         [EFL] Missing implementation of GraphicsContext3DPrivate::platformLayerSize()
1253         https://bugs.webkit.org/show_bug.cgi?id=104726
1254
1255         Reviewed by Kenneth Rohde Christiansen.
1256
1257         Add common implementation of GraphicsContext3DPrivate::platformLayerSize() similar
1258         to Qt version. There is nothing platform specific in Qt version. 
1259
1260         Covered by existing tests.
1261
1262         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1263         (GraphicsContext3DPrivate::platformLayerSize):
1264         * platform/graphics/efl/GraphicsContext3DPrivate.h:
1265         (GraphicsContext3DPrivate):
1266
1267 2012-12-11  No'am Rosenthal  <noam@webkit.org>
1268
1269         [Texmap] Slightly improve readability of the antialias shader
1270         https://bugs.webkit.org/show_bug.cgi?id=104708
1271
1272         Reviewed by Martin Robinson.
1273
1274         Modify the antialiasing shader to include separate function that perform
1275         discrete operations, rather than one big function that repeats the same
1276         operations.
1277
1278         No new tests, readability fix.
1279
1280         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1281         (WebCore::getShaderSpec):
1282
1283 2012-12-11  Tim Horton  <timothy_horton@apple.com>
1284
1285         -webkit-svg-shadow radius changes don't cause children's boundaries to be recomputed
1286         https://bugs.webkit.org/show_bug.cgi?id=104722
1287         <rdar://problem/12821080>
1288
1289         Reviewed by Simon Fraser.
1290
1291         Changes to -webkit-svg-shadow currently cause a relayout of the directly affected renderer
1292         and its parents, but not its children. However, children have the shadow radius
1293         baked into their cached boundaries, so these need to be invalidated.
1294
1295         Test: svg/repaint/repaint-webkit-svg-shadow-container.html
1296
1297         * rendering/RenderObject.h: Expose needsBoundariesUpdate().
1298         * rendering/svg/RenderSVGContainer.h: Expose needsBoundariesUpdate().
1299         * rendering/svg/RenderSVGImage.h: Expose needsBoundariesUpdate().
1300         * rendering/svg/RenderSVGRoot.h: Expose needsBoundariesUpdate().
1301         * rendering/svg/RenderSVGShape.h: Expose needsBoundariesUpdate().
1302         * rendering/svg/SVGRenderSupport.cpp:
1303         (WebCore::SVGRenderSupport::layoutChildren): If the renderer has a shadow and
1304         is in needs of a boundaries update, mark children as needing boundaries updates too.
1305
1306 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
1307
1308         Add window.internals.mainThreadScrollReasonsAsText for testing slow scrolling
1309         https://bugs.webkit.org/show_bug.cgi?id=104714
1310
1311         Reviewed by Eric Seidel.
1312
1313         No new tests. Adds test api for bug 102543 and other bugs.
1314
1315         * WebCore.exp.in:
1316         * page/Page.cpp:
1317         (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText): Extracted from ScrollingStateScrollingNode::dumpProperties for layout tests.
1318         (WebCore):
1319         * page/Page.h:
1320         (Page):
1321         * page/scrolling/ScrollingCoordinator.cpp:
1322         (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText):
1323         (WebCore):
1324         * page/scrolling/ScrollingCoordinator.h:
1325         (ScrollingCoordinator):
1326         * page/scrolling/ScrollingStateScrollingNode.cpp:
1327         (WebCore::ScrollingStateScrollingNode::dumpProperties): Moved code for mainThreadScrollingReasons to ScrollingCoordinator.cpp.
1328         * testing/Internals.cpp:
1329         (WebCore::Internals::mainThreadScrollingReasons):
1330         (WebCore):
1331         * testing/Internals.h:
1332         * testing/Internals.idl:
1333
1334 2012-12-11  Simon Fraser  <simon.fraser@apple.com>
1335
1336         Enhance the TileCache to cache more tiles
1337         https://bugs.webkit.org/show_bug.cgi?id=104612
1338
1339         Reviewed by Tim Horton.
1340
1341         Add smarts to the TileCache so that it keeps some tiles around
1342         for longer and can prepopulate tiles in to-be-scrolled-to regions.
1343
1344         The new tile management is as follows:
1345         * As before, we expand the visible rect to create a "tile coverage rect"
1346         which is twice the width, and three times the height of the visible rect.
1347         * At the edges, this coverage rect is constrained by them, rather than being
1348         truncated as before (leading to larger initial tile coverage).
1349         * When tiles leave the coverage rect, we keep them around but track
1350         them in cohorts (where a cohort is a set of tiles that left the coverage rect
1351         at the same time).
1352         * If a repaint comes in for a "secondary" tile, we don't paint it, but mark
1353         the tile as being stale. It will get repainted (in full) if it moves back inside
1354         the coverage rect.
1355         * Cohorts are kept around for 2 seconds after they were created. A repeating
1356         1-second timer clears tiles in old cohorts.
1357         * Secondary tiles are pruned if the visible rect changes, or if zooming happens.
1358         * TiledBacking exposes a way to prepopulate a rect with tiles; this is called
1359         when scrolling (e.g. via Home/End keys). Tiles created this way (if outside
1360         the coverage rect) go into a cohort.
1361
1362         * page/FrameView.cpp:
1363         (WebCore::FrameView::requestScrollPositionUpdate): Tell the TiledBacking
1364         to prepopulate some tiles.
1365         * platform/graphics/TiledBacking.h:
1366         (TiledBacking): Add prepopulateRect().
1367         * platform/graphics/ca/mac/TileCache.h:
1368         (TileInfo): The TileMap contains TileInfos, which contain a pointer
1369         to the layer, their cohort, and a 'stale content' flag.
1370         (WebCore::TileCache::TileInfo::TileInfo):
1371         (TileCache):
1372         (TileCohortInfo):
1373         (WebCore::TileCache::TileCohortInfo::TileCohortInfo):
1374         * platform/graphics/ca/mac/TileCache.mm:
1375         (WebCore::TileCache::TileCache):
1376         (WebCore::TileCache::~TileCache):
1377         (WebCore::TileCache::setNeedsDisplay):
1378         (WebCore::TileCache::setNeedsDisplayInRect):
1379         (WebCore::TileCache::setTileNeedsDisplayInRect):
1380         (WebCore::TileCache::setScale):
1381         (WebCore::TileCache::setAcceleratesDrawing):
1382         (WebCore::TileCache::setTilesOpaque):
1383         (WebCore::TileCache::prepopulateRect):
1384         (WebCore::TileCache::setTileDebugBorderWidth):
1385         (WebCore::TileCache::setTileDebugBorderColor):
1386         (WebCore::TileCache::computeTileCoverageRect):
1387         (WebCore::TileCache::tileSizeForCoverageRect):
1388         (WebCore::TileCache::tileRevalidationTimerFired):
1389         (WebCore::TileCache::blankPixelCount):
1390         (WebCore::queueTileForRemoval):
1391         (WebCore::TileCache::removeAllTiles):
1392         (WebCore::TileCache::removeAllSecondaryTiles):
1393         (WebCore::TileCache::removeTilesInCohort):
1394         (WebCore::TileCache::revalidateTiles):
1395         (WebCore::TileCache::nextTileCohort):
1396         (WebCore::TileCache::startedNewCohort):
1397         (WebCore::TileCache::newestTileCohort):
1398         (WebCore::TileCache::oldestTileCohort):
1399         (WebCore::TileCache::scheduleCohortRemoval):
1400         (WebCore::TileCache::cohortRemovalTimerFired):
1401         (WebCore::TileCache::ensureTilesForRect):
1402         (WebCore::TileCache::tileGridExtent):
1403         (WebCore::TileCache::tileCoverageRect):
1404         (WebCore::TileCache::tileLayerAtIndex):
1405         (WebCore::TileCache::drawTileMapContents):
1406
1407 2012-12-11  Simon Fraser  <simon.fraser@apple.com>
1408
1409         Remove redundant AffineTransform in RenderSVGShape::fillAndStrokeShape()
1410         https://bugs.webkit.org/show_bug.cgi?id=104736
1411
1412         Reviewed by Dean Jackson.
1413
1414         RenderSVGShape::fillAndStrokeShape() allocated a AffineTransform on
1415         the stack which was shadowed by another one in narrower scope. It
1416         can be removed.
1417
1418         * rendering/svg/RenderSVGShape.cpp:
1419         (WebCore::RenderSVGShape::fillAndStrokeShape):
1420
1421 2012-12-11  Seokju Kwon  <seokju.kwon@gmail.com>
1422
1423         [EFL] Remove unused headers
1424         https://bugs.webkit.org/show_bug.cgi?id=104661
1425
1426         Reviewed by Ryosuke Niwa.
1427
1428         Header inclusion cleanup.
1429         Remove "NotImplemented.h".
1430
1431         No new tests, no behavior change.
1432
1433         * platform/efl/CursorEfl.cpp:
1434         * platform/efl/FileSystemEfl.cpp:
1435         * platform/efl/ScrollViewEfl.cpp:
1436         * platform/efl/ScrollbarThemeEfl.cpp:
1437         * platform/efl/SoundEfl.cpp:
1438
1439 2012-12-11  Alec Flett  <alecflett@chromium.org>
1440
1441         IndexedDB: Stub out data operations on IDBDatabaseBackendInterface
1442         https://bugs.webkit.org/show_bug.cgi?id=104592
1443
1444         Reviewed by Dimitri Glazkov.
1445
1446         In preparation for removing objectStore/index backend
1447         interfaces, stub out the basic data operations around
1448         get, put, cursors, etc. on IDBDatabaseBackendInterface.
1449
1450         No new tests, this is just preparation for refactoring.
1451
1452         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1453         (WebCore::IDBDatabaseBackendImpl::get):
1454         (WebCore):
1455         (WebCore::IDBDatabaseBackendImpl::put):
1456         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
1457         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
1458         (WebCore::IDBDatabaseBackendImpl::openCursor):
1459         (WebCore::IDBDatabaseBackendImpl::count):
1460         (WebCore::IDBDatabaseBackendImpl::deleteRange):
1461         (WebCore::IDBDatabaseBackendImpl::clear):
1462         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1463         (IDBDatabaseBackendImpl):
1464         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1465         (WebCore):
1466         (IDBDatabaseBackendInterface):
1467
1468 2012-12-11  Roger Fong  <roger_fong@apple.com>
1469
1470         Make Video Track compile on Windows in debug mode.
1471         https://bugs.webkit.org/show_bug.cgi?id=104720.
1472
1473         Reviewed by Alexey Proskuryakov.
1474
1475         urlForLogging method was defined in both HTMLMediaElement.cpp and HTMLTrackElement.cpp. 
1476         On Windows all the HTMLElements sources are included in an AllInOne source file, 
1477         so the definitions conflicted. Fixed by renaming the definition in each source file.
1478
1479         * html/HTMLMediaElement.cpp:
1480         (WebCore::urlForLoggingMedia):
1481         (WebCore::HTMLMediaElement::loadResource):
1482         (WebCore::HTMLMediaElement::isSafeToLoadURL):
1483         (WebCore::HTMLMediaElement::didRemoveTrack):
1484         (WebCore::HTMLMediaElement::selectNextSourceChild):
1485         (WebCore::HTMLMediaElement::sourceWasAdded):
1486         (WebCore::HTMLMediaElement::sourceWasRemoved):
1487         * html/HTMLTrackElement.cpp:
1488         (WebCore::urlForLoggingTrack):
1489         (WebCore::HTMLTrackElement::canLoadUrl):
1490
1491 2012-12-11  Ryosuke Niwa  <rniwa@webkit.org>
1492
1493         Mail hangs when resizing the font size of a large RTL text
1494         https://bugs.webkit.org/show_bug.cgi?id=104643
1495
1496         Reviewed by Enrica Casucci.
1497
1498         The bug was caused by ApplyStyleCommand::applyInlineStyleToNodeRange obtaining computed styles while
1499         removing and adding nodes. Fixed the slowness by breaking it into three phases:
1500         1. Split the range into contiguous inline runs, and determine whether styles need to be removed or applied.
1501         2. Remove any conflicting styles, and insert dummy elements at positions where inline styles ought to be
1502         computed as needed.
1503         3. Remove the dummy elements and apply ilnine styles as needed.
1504
1505         No new tests are added since there is no behavior change. This is just a performance improvement. 
1506
1507         * editing/ApplyStyleCommand.cpp:
1508         (WebCore::InlineRunToApplyStyle::InlineRunToApplyStyle):
1509         (WebCore::InlineRunToApplyStyle::startAndEndAreStillInDocument):
1510         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1511         (WebCore::ApplyStyleCommand::shouldApplyInlineStyleToRun):
1512         (WebCore::ApplyStyleCommand::removeConflictingInlineStyleFromRun):
1513         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1514         (WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange):
1515         (WebCore::ApplyStyleCommand::applyInlineStyleChange):
1516         * editing/ApplyStyleCommand.h:
1517         * editing/EditingStyle.h:
1518         (WebCore::StyleChange::StyleChange):
1519
1520 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
1521
1522         Incorrect position of layers for fixed position elements when page is scaled smaller than viewport
1523         https://bugs.webkit.org/show_bug.cgi?id=104294
1524
1525         Reviewed by James Robinson.
1526
1527         Fixed issue in scrollOffsetForFixedPosition when contentRect is smaller than visibleContentRect.
1528         This happens when a page originally bigger than viewport is scaled down to smaller than the viewport.
1529
1530         Test: compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html
1531
1532         * page/scrolling/ScrollingCoordinator.cpp:
1533         (WebCore::fixedPositionScrollOffset): Moved common code in scrollOffsetForFixedPosition here. Fixed issue when contentsSize < visibleContentSize.
1534         (WebCore::scrollOffsetForFixedPosition):
1535
1536 2012-12-11  Beth Dakin  <bdakin@apple.com>
1537
1538         https://bugs.webkit.org/show_bug.cgi?id=104725
1539         Crash in EventHandler::selectCursor() on Mac bots running 
1540         fast/events/mouse-cursor-image-set.html
1541
1542         Reviewed by Tim Horton.
1543
1544         https://bugs.webkit.org/show_bug.cgi?id=99493 enabled image-set for 
1545         the CSS cursor property. Most of the change is guarded behind #if 
1546         ENABLE(MOUSE_CURSOR_SCALE). However, image-set was still allowed to 
1547         parse for the cursor property as long as image-set is enabled 
1548         (which is the current state on the Mac). This would lead to an 
1549         inconsistent state where style information would reflect a world 
1550         where mouse cursor scaling is enabled even though nothing else on 
1551         the Mac would. 
1552
1553         The parsing should also be guarded by the cursor scaling flag.
1554         * css/CSSParser.cpp:
1555         (WebCore::CSSParser::parseValue):
1556
1557 2012-12-11  Emil A Eklund  <eae@chromium.org>
1558
1559         Clamp out-of-range numbers in CSS
1560         https://bugs.webkit.org/show_bug.cgi?id=102735
1561
1562         Reviewed by Simon Fraser.
1563
1564         Currently when a large number (outside of the supported range)
1565         is applied from a style rule or set from javascript using
1566         Element.style we check if it is within the supported range and
1567         set it to zero if it is not. This is incorrect and confusing.
1568         
1569         Change it to clamp values to the supported range. This matches
1570         the behavior in Gecko.
1571
1572         Test: fast/css/large-numbers.html
1573
1574         * css/CSSPrimitiveValue.cpp:
1575         (WebCore::CSSPrimitiveValue::computeLength):
1576         Change to clamp out-of-range values instead of interpreting them
1577         as zero.
1578
1579 2012-12-11  Nate Chapin  <japhet@chromium.org>
1580
1581         Ensure ResourceRequests for main resources include fragment indentifiers when necessary,
1582         regressed by r137333.
1583         https://bugs.webkit.org/show_bug.cgi?id=104721
1584
1585         Rubber-stamped by Dimitri Glazkov.
1586
1587         No new tests.
1588
1589         * loader/SubresourceLoader.cpp:
1590         (WebCore::SubresourceLoader::willSendRequest):
1591
1592 2012-12-11  Huang Dongsung  <luxtella@company100.net>
1593
1594         [GTK] REGRESSION(r135620): Accelerated Compositing does not draw some pages.
1595         https://bugs.webkit.org/show_bug.cgi?id=104640
1596
1597         Reviewed by Noam Rosenthal.
1598
1599         After r135620, Accelerated Compositing does not draw some pages, because
1600         r135620 changes the tree-traversal behavior.  Before r135620, we
1601         returned early if TextureMapperLayer can not get TextureMapper from the
1602         root layer. However, after r135620, we run the tree-traversal even if
1603         TextureMapperLayer can not get TextureMapper.  This patch makes
1604         TextureMapperLayer return early like code before r135620.
1605
1606         Covered by existing tests.
1607
1608         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1609         (WebCore::GraphicsLayerTextureMapper::flushCompositingState):
1610
1611 2012-12-11  Dan Bernstein  <mitz@apple.com>
1612
1613         <rdar://problem/12771885> Support ruby-position: {before, after}
1614         https://bugs.webkit.org/show_bug.cgi?id=103569
1615
1616         Reviewed by Anders Carlsson.
1617
1618         Specified in <http://www.w3.org/TR/2011/WD-css3-ruby-20110630/#rubypos>, the ruby-position
1619         property takes four values: before, after, inter-character, and inline. This change adds
1620         support for the values before and after.
1621
1622         Test: fast/ruby/position-after.html
1623
1624         * css/CSSComputedStyleDeclaration.cpp:
1625         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle ruby-position.
1626         * css/CSSParser.cpp:
1627         (WebCore::isValidKeywordPropertyAndValue): Accept before and after as valid values for
1628         ruby-position.
1629         (WebCore::isKeywordPropertyID): Added ruby-position to the list of properties with keyword
1630         values.
1631         (WebCore::CSSParser::parseValue): Added ruby-position to the switch statement.
1632         * css/CSSPrimitiveValueMappings.h:
1633         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from RubyPosition.
1634         (WebCore::CSSPrimitiveValue::operator RubyPosition): Added mapping from CSSPrimitiveValue.
1635         * css/CSSProperty.cpp:
1636         (WebCore::CSSProperty::isInheritedProperty): Added ruby-position as an inherited property.
1637         * css/CSSPropertyNames.in: Added -webkit-ruby-position.
1638         * css/CSSValueKeywords.in: Added after and before.
1639         * css/StyleBuilder.cpp:
1640         (WebCore::StyleBuilder::StyleBuilder): Added a handler for ruby-position.
1641         * css/StyleResolver.cpp:
1642         (WebCore::StyleResolver::applyProperty): Added ruby-position.
1643         * rendering/InlineFlowBox.cpp:
1644         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Changed to choose which of
1645         hasAnnotationsBefore and hasAnnotationsAfter to set based on ruby position.
1646         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Changed to adjust only for
1647         ruby positioned before the base.
1648         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added adjustment for ruby
1649         positioned after the base.
1650         * rendering/RenderRubyRun.cpp:
1651         (WebCore::RenderRubyRun::layout): Account for ruby-position when positioning the ruby text
1652         relative to the base.
1653         * rendering/style/RenderStyle.cpp:
1654         (WebCore::RenderStyle::diff): Made a ruby-position difference a layout difference.
1655         * rendering/style/RenderStyle.h: Added rubyPosition(), setRubyPosition(), and 
1656         initialRubyPosition().
1657         * rendering/style/RenderStyleConstants.h: Added the RubyPosition enum.
1658         * rendering/style/StyleRareInheritedData.cpp:
1659         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Added initialized for
1660         m_rubyPosition. Added copying the value of this member to the copy constructor.
1661         (WebCore::StyleRareInheritedData::operator==): Added comparison of m_rubyPosition.
1662         * rendering/style/StyleRareInheritedData.h:
1663         (StyleRareInheritedData): Added m_rubyPosition member variable.
1664
1665 2012-12-11  Michael Pruett  <michael@68k.org>
1666
1667         [JSC] Add tests for explicit serialization values
1668         https://bugs.webkit.org/show_bug.cgi?id=104423
1669
1670         Reviewed by Oliver Hunt.
1671
1672         Add tests for serialization and deserialization mechanisms of
1673         the JSC implementation of SerializedScriptValue. Similar tests
1674         already exist for the V8 implementation.
1675
1676         Test: platform/jsc/fast/storage/serialized-script-value.html
1677
1678         * WebCore.exp.in:
1679         * testing/Internals.cpp:
1680         (WebCore::Internals::serializeObject):
1681         (WebCore::Internals::deserializeBuffer):
1682
1683 2012-12-11  Alexis Menard  <alexis@webkit.org>
1684
1685         Cleanup: Use consistent naming in CSSParser when dealing with the forward slash operator.
1686         https://bugs.webkit.org/show_bug.cgi?id=104699
1687
1688         Reviewed by Daniel Bates.
1689
1690         http://trac.webkit.org/changeset/136525 added an helper function to
1691         check if a CSSParserValue is a forward slash operator.
1692         BorderImageParseContext is also dealing with the forward slash operator
1693         but its naming is inconsistent with isForwardSlashOperator(). This is
1694         fixed with this patch where BorderImageParseContext::{allowSlash,
1695         commitSlash}() is now replaced by BorderImageParseContext::{allowForwardSlashOperator,
1696         commitForwardSlashOperator}().
1697
1698         No new tests : just a renaming, covered by existing tests..
1699
1700         * css/CSSParser.cpp:
1701         (WebCore::CSSParser::parseFillPosition): A little fixup on the way, use
1702         isForwardSlashOperator() instead of the current code here.
1703         (WebCore::BorderImageParseContext::BorderImageParseContext):
1704         (WebCore::BorderImageParseContext::allowForwardSlashOperator):
1705         (WebCore::BorderImageParseContext::commitImage):
1706         (WebCore::BorderImageParseContext::commitImageSlice):
1707         (WebCore::BorderImageParseContext::commitForwardSlashOperator):
1708         (WebCore::BorderImageParseContext::commitBorderWidth):
1709         (WebCore::BorderImageParseContext::commitBorderOutset):
1710         (WebCore::BorderImageParseContext::commitRepeat):
1711         (BorderImageParseContext):
1712         (WebCore::CSSParser::parseBorderImage):
1713
1714 2012-12-11  Nate Chapin  <japhet@chromium.org>
1715
1716         cr-linux valgrind is showing leaks due to r137333.
1717
1718         Rubber-stamped by Antti Koivisto.
1719
1720         MainResourceLoader's destructor should call m_resource->removeClient(this) is m_resource is still non-null.
1721         The missing removeClient() call will leak the CachedResource.
1722
1723         No new tests, should shut valgrind up.
1724
1725         * loader/MainResourceLoader.cpp:
1726         (WebCore::MainResourceLoader::~MainResourceLoader):
1727
1728 2012-12-11  Andreas Kling  <akling@apple.com>
1729
1730         REGRESSION(r133492): Heap-use-after-free in WebCore::Element::normalizeAttributes
1731         <http://webkit.org/b/104488>
1732
1733         Reviewed by Antti Koivisto.
1734
1735         Don't cache the AttrNodeList* in a local when iterating over an Element's Attr nodes since
1736         that pointer may go stale if JS runs in response to a DOMSubtreeModified event below Node::normalize().
1737
1738         Test: fast/dom/normalize-attributes-mutation-event-crash.html
1739
1740         * dom/Element.cpp:
1741         (WebCore::Element::normalizeAttributes):
1742
1743 2012-12-11  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1744
1745         [GTK] Soup network logs are frequently interrupted by other logging messages
1746         https://bugs.webkit.org/show_bug.cgi?id=104668
1747
1748         Reviewed by Martin Robinson.
1749
1750         Set an external soup log printer that uses the WebKit logging
1751         infrastructure so that log messages are properly synchronized.
1752
1753         * platform/network/soup/ResourceHandleSoup.cpp:
1754         (WebCore::soupLogPrinter):
1755         (WebCore):
1756         (WebCore::ensureSessionIsInitialized):
1757
1758 2012-12-11  Elliott Sprehn  <esprehn@chromium.org>
1759
1760         Switch to new PseudoElement based :before and :after
1761         https://bugs.webkit.org/show_bug.cgi?id=104462
1762
1763         Reviewed by Antti Koivisto.
1764
1765         Switch to the new PseudoElement based generated content implementation
1766         that moves :before and :after into the DOM. This also switches to using
1767         the ComposedShadowTreeWalker for determining the siblings of PseudoElement's
1768         making the new generated content implementation support adding :before
1769         and :after into <input> elements.
1770
1771         Tests: fast/css-generated-content/block-inside-inline.html
1772                fast/css-generated-content/box-orient.html
1773
1774         * dom/ComposedShadowTreeWalker.cpp:
1775         (WebCore::ComposedShadowTreeWalker::pseudoAwareNextSibling):
1776         (WebCore):
1777         (WebCore::ComposedShadowTreeWalker::pseudoAwarePreviousSibling):
1778         (WebCore::ComposedShadowTreeWalker::traverseParent):
1779         * dom/ComposedShadowTreeWalker.h:
1780         (ComposedShadowTreeWalker):
1781         * dom/Element.cpp:
1782         (WebCore::Element::attach):
1783         (WebCore::Element::recalcStyle):
1784         * dom/Node.cpp:
1785         * dom/Node.h:
1786         (Node):
1787         * dom/NodeRenderingContext.cpp:
1788         (WebCore::NodeRenderingContext::nextRenderer):
1789         (WebCore::NodeRenderingContext::previousRenderer):
1790         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
1791         * dom/Position.cpp:
1792         (WebCore::Position::Position):
1793         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1794         * editing/visible_units.cpp:
1795         (WebCore::logicallyPreviousBox):
1796         (WebCore::logicallyNextBox):
1797         (WebCore::startPositionForLine):
1798         (WebCore::endPositionForLine):
1799         * html/HTMLTextFormControlElement.cpp:
1800         (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
1801         * page/DragController.cpp:
1802         (WebCore::DragController::draggableNode):
1803         * rendering/RenderBlock.cpp:
1804         (WebCore::RenderBlock::styleDidChange):
1805         (WebCore::RenderBlock::splitBlocks):
1806         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1807         (WebCore::RenderBlock::createReplacementRunIn):
1808         (WebCore::RenderBlock::isSelectionRoot):
1809         * rendering/RenderBlock.h:
1810         (RenderBlock):
1811         * rendering/RenderButton.cpp:
1812         * rendering/RenderButton.h:
1813         (RenderButton):
1814         * rendering/RenderInline.cpp:
1815         (WebCore::RenderInline::styleDidChange):
1816         (WebCore::RenderInline::addChildIgnoringContinuation):
1817         (WebCore::RenderInline::splitInlines):
1818         * rendering/RenderListItem.cpp:
1819         (WebCore::RenderListItem::updateMarkerLocation):
1820         * rendering/RenderObject.cpp:
1821         (WebCore::RenderObject::createVisiblePosition):
1822         * rendering/RenderObject.h:
1823         (WebCore::RenderObject::nonPseudoNode):
1824         (RenderObject):
1825         (WebCore::RenderObject::clearNode):
1826         (WebCore::RenderObject::generatingNode):
1827         * rendering/RenderObjectChildList.cpp:
1828         * rendering/RenderObjectChildList.h:
1829         (RenderObjectChildList):
1830         * rendering/RenderRubyText.cpp:
1831         * rendering/RenderRubyText.h:
1832         (RenderRubyText):
1833         * rendering/RenderTableRow.cpp:
1834         (WebCore::RenderTableRow::styleDidChange):
1835         * rendering/RenderTableRow.h:
1836         * rendering/RenderTableSection.cpp:
1837         (WebCore::RenderTableSection::addChild):
1838         * rendering/RenderWidget.cpp:
1839         (WebCore::RenderWidget::destroy):
1840
1841 2012-12-11  Jacky Jiang  <zhajiang@rim.com>
1842
1843         [BlackBerry] Clean up unused defaultViewportArguments in RenderThemeBlackBerry.cpp
1844         https://bugs.webkit.org/show_bug.cgi?id=104683
1845
1846         Reviewed by Rob Buis.
1847
1848         * platform/blackberry/RenderThemeBlackBerry.cpp:
1849         (WebCore::determineFullScreenMultiplier):
1850
1851 2012-12-11  Nate Chapin  <japhet@chromium.org>
1852
1853         Route main resource loads through the memory cache.
1854         https://bugs.webkit.org/show_bug.cgi?id=49246
1855
1856         Reviewed by Antti Koivisto.
1857
1858         Note that this patch doesn't actually enable caching of main resources. That will be done in a later patch.
1859         The MainResourceLoader actually has an underlying SubresourceLoader (with the cache layer between them).
1860         In several places, the MainResourceLoader's SubresourceLoader is treated as special.
1861
1862         No new tests, as this is primarily a refactor. A couple of expected results changed slightly.
1863
1864         * loader/DocumentLoader.cpp:
1865         (WebCore::DocumentLoader::setRequest):
1866         (WebCore::DocumentLoader::subresource):
1867         (WebCore::DocumentLoader::addSubresourceLoader): Because the SubresourceLoader underlying the main resource
1868             needs special handling in certain cases, track it separately from the real SubresourceLoaders.
1869         (WebCore::DocumentLoader::removeSubresourceLoader):
1870         (WebCore::DocumentLoader::startLoadingMainResource):
1871         * loader/MainResourceLoader.cpp:
1872         (WebCore::MainResourceLoader::MainResourceLoader):
1873         (WebCore::MainResourceLoader::receivedError):
1874         (WebCore::MainResourceLoader::cancel):
1875         (WebCore::MainResourceLoader::clearResource):
1876         (WebCore):
1877         (WebCore::MainResourceLoader::frameLoader):
1878         (WebCore::MainResourceLoader::request):
1879         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
1880         (WebCore::MainResourceLoader::resourceData):
1881         (WebCore::MainResourceLoader::redirectReceived):
1882         (WebCore::MainResourceLoader::willSendRequest):
1883         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1884         (WebCore::MainResourceLoader::responseReceived):
1885         (WebCore::MainResourceLoader::dataReceived):
1886         (WebCore::MainResourceLoader::didFinishLoading):
1887         (WebCore::MainResourceLoader::notifyFinished):
1888         (WebCore::MainResourceLoader::reportMemoryUsage):
1889         (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
1890         (WebCore::MainResourceLoader::load):
1891         (WebCore::MainResourceLoader::setDefersLoading):
1892         (WebCore::MainResourceLoader::defersLoading):
1893         (WebCore::MainResourceLoader::setShouldBufferData):
1894         (WebCore::MainResourceLoader::loader):
1895         (WebCore::MainResourceLoader::identifier):
1896         * loader/MainResourceLoader.h:
1897         (MainResourceLoader):
1898         (WebCore::MainResourceLoader::documentLoader):
1899         * loader/ResourceLoader.cpp:
1900         (WebCore::ResourceLoader::willSendRequest):
1901         * loader/ResourceLoader.h:
1902         (WebCore::ResourceLoader::defersLoading):
1903         (WebCore::ResourceLoader::cancelled):
1904         * loader/appcache/ApplicationCacheHost.cpp:
1905         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
1906         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
1907         * loader/mac/DocumentLoaderMac.cpp:
1908         (WebCore::DocumentLoader::schedule):
1909         (WebCore::DocumentLoader::unschedule):
1910
1911 2012-12-11  Aaron Colwell  <acolwell@chromium.org>
1912
1913         Update MediaSource to allow append() calls in "ended" state.
1914         https://bugs.webkit.org/show_bug.cgi?id=104581
1915
1916         Reviewed by Eric Carlson.
1917
1918         Updated append and setTimestampOffset to allow appending in the "ended" readyState. An append() call
1919         in the "ended" state now triggers a transition to the "open" state and allows the append to succeed.
1920
1921         Tests: http/tests/media/media-source/video-media-source-append-in-ended-state.html
1922                http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state.html
1923                http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state.html
1924
1925         * Modules/mediasource/MediaSource.cpp:
1926         (WebCore::MediaSource::append):
1927         (WebCore::MediaSource::setTimestampOffset):
1928
1929 2012-12-11  Robert Hogan  <robert@webkit.org>
1930
1931         REGRESSION(r121789): Text not wrapping in presence of floating objects
1932         https://bugs.webkit.org/show_bug.cgi?id=101803
1933
1934         Reviewed by David Hyatt.
1935
1936         When determining if a line needs to offset to avoid any floats use RenderBlock::lineHeight() 
1937         to estimate the height of the line. If the container has floats stacked up with different widths
1938         that straddle the line, using a height of zero will make the first line think it has
1939         more width available than it actually does and it will end up extruding from its container.
1940         
1941         The logic for finding the offset of inline blocks and images needs to use a similar heuristic.
1942         So nextLineBreak() now updates the available width if it encounters a replaced element (e.g. inline block,
1943         image) at the start of a line, using the height of the element to decide which floats to avoid. 
1944         RenderBlock::computeInlineDirectionPositionsForLine() does the same thing when laying out the line.
1945
1946         Tests: fast/block/float/floats-offset-image-quirk-lineheight.html
1947                fast/block/float/floats-offset-image-quirk.html
1948                fast/block/float/floats-offset-image-strict-lineheight.html
1949                fast/block/float/floats-offset-image-strict.html
1950                fast/block/float/floats-offset-inline-block-quirk-lineheight.html
1951                fast/block/float/floats-offset-inline-block-strict-lineheight.html
1952                fast/block/float/floats-offset-linebox-contain-block.html
1953                fast/block/float/floats-offset-linebox-contain-inline.html
1954                fast/block/float/floats-wrap-inside-inline-006.html
1955                fast/block/float/floats-wrap-inside-inline-007.html
1956
1957         * rendering/RenderBlockLineLayout.cpp:
1958         (LineWidth):
1959         (WebCore::logicalHeightForLine):
1960             This method needs to cope with the quirk where an image alone on a line will get its descent stripped away so
1961             ignore the height of the line and use the height of the image in that case.
1962         (WebCore::LineWidth::updateAvailableWidth):
1963         (WebCore::updateLogicalInlinePositions):
1964         (WebCore):
1965         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1966         (WebCore::RenderBlock::computeInlineDirectionPositionsForSegment):
1967         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1968
1969 2012-12-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1970
1971         [GTK] Install GObject DOM bindings headers in its own directory
1972         https://bugs.webkit.org/show_bug.cgi?id=104663
1973
1974         Reviewed by Gustavo Noronha Silva.
1975
1976         Move the headers from webkit to webkitdom directory.
1977
1978         * bindings/gobject/GNUmakefile.am:
1979         * bindings/gobject/WebKitDOMBinding.h:
1980         * bindings/gobject/WebKitDOMCustom.h:
1981         * bindings/gobject/WebKitDOMEventTarget.h:
1982         * bindings/gobject/WebKitDOMEventTargetPrivate.h:
1983         * bindings/gobject/WebKitDOMObject.h:
1984         * bindings/scripts/CodeGeneratorGObject.pm:
1985         (Generate):
1986         (WriteData):
1987         * bindings/scripts/gobject-generate-headers.pl:
1988         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
1989         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
1990         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1991         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
1992         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1993         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1994         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
1995         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
1996         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
1997         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
1998         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
1999         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
2000         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
2001         * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h:
2002         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
2003         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
2004         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
2005         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
2006         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
2007         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
2008         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
2009         * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h:
2010         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2011         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
2012         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
2013         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h:
2014         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2015         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
2016
2017 2012-12-11  Mark Pilgrim  <pilgrim@chromium.org>
2018
2019         [Chromium] Clean up unused interfaces in PlatformSupport
2020         https://bugs.webkit.org/show_bug.cgi?id=104674
2021
2022         Reviewed by Darin Fisher.
2023
2024         Part of a refactoring series. See tracking bug 82948. Also, there
2025         were some function declarations that were supposed to be removed
2026         as part of bug 102699 but got left out of the final patch.
2027
2028         * platform/chromium/PlatformSupport.h:
2029         (WebCore):
2030         (PlatformSupport):
2031
2032 2012-12-11  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2033
2034         [GTK] Update GraphicsLayerClutter
2035         https://bugs.webkit.org/show_bug.cgi?id=92045
2036
2037         Reviewed by Gustavo Noronha Silva.
2038
2039         Add more methods to GraphicsLayerClutter in order to run CSS 3D transforms 
2040         by using GraphicsLayerActor.
2041
2042         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
2043         compositing and 3D transforms.
2044
2045         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2046         (WebCore):
2047         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
2048         (WebCore::idleDestroy):
2049         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
2050         (WebCore::GraphicsLayerClutter::setName):
2051         (WebCore::GraphicsLayerClutter::platformLayer): Returns the platform layer(ClutterAcotr).
2052         (WebCore::GraphicsLayerClutter::setNeedsDisplay): Update the display.
2053         (WebCore::GraphicsLayerClutter::setNeedsDisplayInRect): Update part of the Display.
2054         (WebCore::GraphicsLayerClutter::setAnchorPoint):
2055         (WebCore::GraphicsLayerClutter::setPosition):
2056         (WebCore::GraphicsLayerClutter::setSize):
2057         (WebCore::GraphicsLayerClutter::setTransform):
2058         (WebCore::GraphicsLayerClutter::setDrawsContent):
2059         (WebCore::GraphicsLayerClutter::setParent):
2060         (WebCore::GraphicsLayerClutter::setChildren):
2061         (WebCore::GraphicsLayerClutter::addChild):
2062         (WebCore::GraphicsLayerClutter::addChildAtIndex):
2063         (WebCore::GraphicsLayerClutter::addChildBelow):
2064         (WebCore::GraphicsLayerClutter::addChildAbove):
2065         (WebCore::GraphicsLayerClutter::replaceChild):
2066         (WebCore::GraphicsLayerClutter::removeFromParent):
2067         (WebCore::GraphicsLayerClutter::platformClutterLayerPaintContents):
2068         (WebCore::GraphicsLayerClutter::platformClutterLayerAnimationStarted):
2069         (WebCore::GraphicsLayerClutter::repaintLayerDirtyRects):
2070         (WebCore::GraphicsLayerClutter::computePositionRelativeToBase):
2071         (WebCore::GraphicsLayerClutter::flushCompositingState): Synchronize the corresponding Actors with the current 
2072         compositing states of this GraphicsLayer and its child layers. 
2073         (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
2074         (WebCore::GraphicsLayerClutter::flushCompositingStateForThisLayerOnly): Commit batched changes non-recursively. 
2075         (WebCore::GraphicsLayerClutter::commitLayerChangesAfterSublayers): Reset layer changes after we recurse on children.
2076         (WebCore::GraphicsLayerClutter::noteSublayersChanged):
2077         (WebCore::GraphicsLayerClutter::noteLayerPropertyChanged):
2078         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers): Commit layer changes before we recurse on children.
2079         (WebCore::GraphicsLayerClutter::updateGeometry): Updated the position and size of the Actor.
2080         (WebCore::GraphicsLayerClutter::updateSublayerList): Updated the list of child Actors. 
2081         (WebCore::GraphicsLayerClutter::updateLayerNames):
2082         (WebCore::GraphicsLayerClutter::updateTransform):
2083         (WebCore::GraphicsLayerClutter::updateLayerDrawsContent):
2084         (WebCore::GraphicsLayerClutter::layerForSuperlayer):
2085         * platform/graphics/clutter/GraphicsLayerClutter.h:
2086         (WebCore):
2087         (WebCore::GraphicsLayerClutter::primaryLayer):
2088         (GraphicsLayerClutter):
2089
2090 2012-12-11  Jessie Berlin  <jberlin@apple.com>
2091
2092         Revert incorrect build fix.
2093
2094         * WebCore.exp.in:
2095
2096 2012-12-11  Jessie Berlin  <jberlin@apple.com>
2097
2098         Fix the Mac build after r137261
2099
2100         * WebCore.exp.in:
2101
2102 2012-12-11  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2103
2104         [GTK] Add GraphicsLayerActor
2105         https://bugs.webkit.org/show_bug.cgi?id=91940
2106
2107         Reviewed by Gustavo Noronha Silva.
2108
2109         GraphicsLayerActor, which is a new ClutterActor, represents a node in the GPU-renderable layer tree
2110         when accelerated compositing is enabled with Clutter as acceleration backend.
2111         This patch allows to support basic features of CSS 3D Transforms.
2112
2113         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
2114         compositing and 3D transforms.
2115
2116         * GNUmakefile.list.am:
2117         * platform/graphics/clutter/GraphicsLayerActor.cpp: Added.
2118         (_GraphicsLayerActorPrivate):
2119         (graphics_layer_actor_class_init): GObject configuration of a new Clutter Actor.
2120         (graphics_layer_actor_init): Initialization of the private data of this actor.
2121         (graphicsLayerActorSetProperty): GObject property setter.
2122         (graphicsLayerActorGetProperty): GObject property getter.
2123         (graphicsLayerActorDispose): Called to drop all references to other objects.
2124         (graphicsLayerActorAllocate):  Called to set the coordinates of an actor.
2125         (graphicsLayerActorApplyTransform): Applying the transformation to an actor before painting it.
2126         (graphicsLayerActorPaint): Called to paint the actor.
2127         (graphicsLayerActorDraw): Called each time a ClutterCairoTexture has been invalidated.
2128         (graphicsLayerActorAdded): Called each time an actor has been added to container.
2129         (graphicsLayerActorRemoved): Called each time an actor is removed from container.
2130         (graphicsLayerActorNew): Create a specific layer type of GraphicsLayerActor object.
2131         (graphicsLayerActorNewWithClient): Create a specific layer type of GraphicsLayerActor object with 
2132         its PlatformClutterClientLayer.
2133         (graphicsLayerActorSetClient): Added setter to set the PlatformClutterClientLayer.
2134         (graphicsLayerActorGetClient): Added getter to get the PlatformClutterClientLayer.
2135         (graphicsLayerActorRemoveAll): Remove all child actors.
2136         (graphicsLayerUpdateTexture): Create a ClutterCairoTexture.
2137         (graphicsLayerActorGetSurface): Added setter to set a cairo_surface_t.
2138         (graphicsLayerActorSetSurface): Added getter to get the cairo_surface_t.
2139         (graphicsLayerActorInvalidateRectangle):
2140         (graphicsLayerActorSetTransform): Set a CoglMatrix to apply matrix transform.
2141         (graphicsLayerActorSetAnchorPoint):
2142         (graphicsLayerActorGetAnchorPoint):
2143         (graphicsLayerActorSetScrollPosition):
2144         (graphicsLayerActorGetnChildren):
2145         (graphicsLayerActorReplaceSublayer):
2146         (graphicsLayerActorInsertSublayer):
2147         (graphicsLayerActorSetSublayers):
2148         (graphicsLayerActorGetLayerType):
2149         (graphicsLayerActorSetLayerType):
2150         (graphicsLayerActorSetTranslateX):
2151         (graphicsLayerActorGetTranslateX):
2152         (graphicsLayerActorSetTranslateY):
2153         (graphicsLayerActorGetTranslateY):
2154         (graphicsLayerActorSetDrawsContent): Added setter to paint content inside a layer.
2155         (graphicsLayerActorGetDrawsContent): Added getter to get the value of the drawsContent. 
2156         * platform/graphics/clutter/GraphicsLayerActor.h: Added.
2157         (_GraphicsLayerActor):
2158         (_GraphicsLayerActorClass):
2159         * platform/graphics/clutter/GraphicsLayerClutter.h:
2160         (WebCore):
2161
2162 2012-12-11  Mike West  <mkwst@chromium.org>
2163
2164         Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
2165         https://bugs.webkit.org/show_bug.cgi?id=66371
2166
2167         Reviewed by Pavel Feldman.
2168
2169         We can simplify console message generation a bit, as nothing outside the
2170         Console object itself will generate messages of any type other than
2171         LogMessageType. This patch refactors the externally-facing API endpoints
2172         on ScriptExecutionContext and Console to drop the MessageType parameter,
2173         moves the MessageType enum into a new InspectorConsoleTypes.h header,
2174         and updates all the call sites (and ChromeClients) to drop the parameter
2175         from their interfaces.
2176
2177         As a temporary bandage for ports using this interface, this patch
2178         includes aliases for the new methods that retain the old interface.
2179         I'll remove them in a future patch.
2180
2181         Here, we only refactor an internal interface. No tests should break.
2182
2183         * GNUmakefile.list.am:
2184         * Target.pri:
2185         * WebCore.gypi:
2186         * WebCore.vcproj/WebCore.vcproj:
2187         * WebCore.xcodeproj/project.pbxproj:
2188             We added a new file! OMG!
2189         * Modules/webaudio/AudioBufferSourceNode.cpp:
2190         (WebCore::AudioBufferSourceNode::looping):
2191         (WebCore::AudioBufferSourceNode::setLooping):
2192         * Modules/webdatabase/AbstractDatabase.cpp:
2193         (WebCore::AbstractDatabase::logErrorMessage):
2194         * Modules/websockets/WebSocket.cpp:
2195         (WebCore::WebSocket::connect):
2196         (WebCore::WebSocket::send):
2197         (WebCore::WebSocket::close):
2198         (WebCore::WebSocket::setBinaryType):
2199         * Modules/websockets/WebSocketChannel.cpp:
2200         (WebCore::WebSocketChannel::fail):
2201         (WebCore::WebSocketChannel::didFailSocketStream):
2202         * bindings/js/JSCustomXPathNSResolver.cpp:
2203         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2204         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2205         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2206         * css/MediaList.cpp:
2207         (WebCore::addResolutionWarningMessageToConsole):
2208         * dom/Document.cpp:
2209         (WebCore::Document::logExceptionToConsole):
2210         (WebCore::Document::processHttpEquiv):
2211         (WebCore::Document::addMessage):
2212         * dom/Document.h:
2213         (Document):
2214         * dom/ScriptElement.cpp:
2215         (WebCore::ScriptElement::notifyFinished):
2216         * dom/ScriptExecutionContext.cpp:
2217         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
2218         (WebCore::ScriptExecutionContext::addConsoleMessage):
2219         * dom/ScriptExecutionContext.h:
2220         (ScriptExecutionContext):
2221         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
2222         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
2223         * dom/ViewportArguments.cpp:
2224         (WebCore::reportViewportWarning):
2225         * fileapi/WebKitBlobBuilder.cpp:
2226         (WebCore::BlobBuilder::append):
2227         * html/HTMLFormControlElement.cpp:
2228         (WebCore::shouldAutofocus):
2229         * html/HTMLFormElement.cpp:
2230         (WebCore::HTMLFormElement::validateInteractively):
2231         * html/HTMLIFrameElement.cpp:
2232         (WebCore::HTMLIFrameElement::parseAttribute):
2233         * html/HTMLTrackElement.cpp:
2234         (WebCore::HTMLTrackElement::canLoadUrl):
2235         * html/canvas/CanvasRenderingContext2D.cpp:
2236         (WebCore::CanvasRenderingContext2D::getImageData):
2237         * html/canvas/WebGLRenderingContext.cpp:
2238         (WebCore):
2239         (WebCore::WebGLRenderingContext::printWarningToConsole):
2240         * html/parser/XSSAuditor.cpp:
2241         (WebCore::XSSAuditor::init):
2242         (WebCore::XSSAuditor::filterToken):
2243         * inspector/ConsoleAPITypes.h: Added.
2244         (WebCore):
2245         * inspector/ConsoleMessage.h:
2246         * inspector/InspectorConsoleAgent.h:
2247         * inspector/InspectorDebuggerAgent.h:
2248         * inspector/InspectorInstrumentation.cpp:
2249         (WebCore):
2250         * inspector/InspectorInstrumentation.h:
2251         * inspector/InspectorProfilerAgent.cpp:
2252         * loader/EmptyClients.h:
2253         (WebCore::EmptyChromeClient::addMessageToConsole):
2254         * loader/FrameLoader.cpp:
2255         (WebCore::FrameLoader::reportLocalLoadFailed):
2256         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
2257         * loader/ImageLoader.cpp:
2258         (WebCore::ImageLoader::notifyFinished):
2259         * loader/MainResourceLoader.cpp:
2260         (WebCore::MainResourceLoader::didReceiveResponse):
2261         * loader/MixedContentChecker.cpp:
2262         (WebCore::MixedContentChecker::logWarning):
2263         * loader/TextTrackLoader.cpp:
2264         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
2265         * loader/appcache/ApplicationCacheGroup.cpp:
2266         (WebCore::ApplicationCacheGroup::abort):
2267         (WebCore::ApplicationCacheGroup::didReceiveResponse):
2268         (WebCore::ApplicationCacheGroup::didFinishLoading):
2269         (WebCore::ApplicationCacheGroup::didFail):
2270         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
2271         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2272         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2273         * loader/cache/CachedResourceLoader.cpp:
2274         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2275         * page/ChromeClient.h:
2276         (ChromeClient):
2277             Drop LogMessageType from everywhere.
2278         * page/Console.cpp:
2279         (WebCore::Console::addMessage):
2280         (WebCore::internalAddMessage):
2281         (WebCore::Console::error):
2282         (WebCore::Console::log):
2283         (WebCore::Console::warn):
2284         (WebCore::Console::dir):
2285         (WebCore::Console::dirxml):
2286         (WebCore::Console::clear):
2287         (WebCore::Console::trace):
2288         (WebCore::Console::assertCondition):
2289         * page/Console.h:
2290         (Console):
2291             Create a new internalAddMessage that's used for the various
2292             Console message types. Everything else routes through
2293             ::addMessage.
2294         * page/ConsoleTypes.h:
2295             Drop MessageTypes from this file, add it to ConsoleAPIType.h
2296         * page/ContentSecurityPolicy.cpp:
2297         (WebCore::ContentSecurityPolicy::logToConsole):
2298         * page/DOMWindow.cpp:
2299         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
2300         (WebCore::DOMWindow::printErrorMessage):
2301         * page/EventSource.cpp:
2302         (WebCore::EventSource::didReceiveResponse):
2303         * svg/SVGDocumentExtensions.cpp:
2304         (WebCore::reportMessage):
2305         * workers/DefaultSharedWorkerRepository.cpp:
2306         (SharedWorkerProxy):
2307         (WebCore::postConsoleMessageTask):
2308         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
2309         * workers/SharedWorkerContext.cpp:
2310         (WebCore::SharedWorkerContext::logExceptionToConsole):
2311         * workers/WorkerContext.cpp:
2312         (WebCore::WorkerContext::addMessage):
2313         (WebCore::WorkerContext::addMessageToWorkerConsole):
2314         * workers/WorkerContext.h:
2315         (WorkerContext):
2316         * workers/WorkerMessagingProxy.cpp:
2317         (WebCore::postConsoleMessageTask):
2318         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
2319         * workers/WorkerMessagingProxy.h:
2320         (WorkerMessagingProxy):
2321         * workers/WorkerReportingProxy.h:
2322         (WorkerReportingProxy):
2323         * xml/XMLHttpRequest.cpp:
2324         (WebCore::logConsoleError):
2325         (WebCore::XMLHttpRequest::send):
2326         * xml/XSLTProcessorLibxslt.cpp:
2327         (WebCore::XSLTProcessor::parseErrorFunc):
2328         * xml/XSLTProcessorQt.cpp:
2329         (WebCore::XSLTMessageHandler::handleMessage):
2330             Drop LogMessageType from everywhere.
2331
2332 2012-12-11  Simon Hausmann  <simon.hausmann@digia.com>
2333
2334         [Qt] Unreviewed, rolling out r137313 and r137316 because they broke the system-sqlite build.
2335
2336         * WebCore.pri:
2337
2338 2012-12-11  Simon Hausmann  <simon.hausmann@digia.com>
2339
2340         Unreviewed Qt build fix: Don't error out if SQLITE3SRCDIR isn't set but
2341         we have a system sqlite to use.
2342
2343         * WebCore.pri:
2344
2345 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
2346
2347         [Qt] make qtbase source requirement explicit
2348
2349         Reviewed by Simon Hausmann.
2350
2351         getting rid of QT.<module>.sources references, as they don't go well
2352         with real modularization.
2353
2354         * WebCore.pri:
2355
2356 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
2357
2358         [Qt] move SQLITE3SRCDIR assignment to only use site
2359
2360         Reviewed by Simon Hausmann.
2361
2362         Target.pri includes WebCore.pri the almost first thing, so that is
2363         covered as well.
2364
2365         * WebCore.pri:
2366
2367 2012-12-11  Eugene Klyuchnikov  <eustas@chromium.org>
2368
2369         Web Inspector: Timeline: rename "Parse" to "Parse HTML".
2370         https://bugs.webkit.org/show_bug.cgi?id=104639
2371
2372         Reviewed by Yury Semikhatsky.
2373
2374         "Parse" sounds ambiguous, it could mean JSON.parse() or Date.parse().
2375         "Parse HTML" is a much more clear record description.
2376
2377         * inspector/front-end/TimelinePresentationModel.js: Fix text.
2378
2379 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
2380
2381         [Qt] change setup of QMAKE_MOC
2382
2383         Reviewed by Simon Hausmann.
2384
2385         don't load(moc) explicitly - turns out that this breaks
2386         debug_and_release builds (the feature does not like being loaded before
2387         default_post has been loaded).
2388         so instead just do a minimal call to find the moc executable.
2389
2390         as it's in fact only two files which need it, so de-centralize this call
2391         for the sake of saving some cpu cycles spent in qmake.
2392
2393         * DerivedSources.pri:
2394
2395 2012-12-11  Alexander Pavlov  <apavlov@chromium.org>
2396
2397         REGRESSION(r136948): inspector/styles/import-pseudoclass-crash.html hits an assertion
2398         https://bugs.webkit.org/show_bug.cgi?id=104473
2399
2400         Reviewed by Vsevolod Vlasov.
2401
2402         Avoid building full CSSOM wrappers up front during rule matching.
2403         Instead, move this code down to the point where these wrappers are actually needed.
2404
2405         * inspector/InspectorCSSAgent.cpp:
2406         (WebCore::InspectorCSSAgent::willMatchRule):
2407         (WebCore::InspectorCSSAgent::willProcessRule):
2408         * inspector/InspectorCSSAgent.h:
2409         (WebCore):
2410         (InspectorCSSAgent):
2411         * inspector/InspectorInstrumentation.cpp:
2412         (WebCore):
2413         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
2414         (WebCore::InspectorInstrumentation::willProcessRuleImpl):
2415
2416 2012-12-11  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2417
2418         [GStreamer] Avoid linking to GStreamer video libraries if only using ENABLE_AUDIO
2419         https://bugs.webkit.org/show_bug.cgi?id=104590
2420
2421         Reviewed by Philippe Normand.
2422
2423         Make getVideoSizeAndFormatFromCaps() only available when ENABLE_VIDEO is set.
2424
2425         No new tests, no change in behavior.
2426
2427         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2428         * platform/graphics/gstreamer/GStreamerVersioning.h:
2429
2430 2012-12-11  Zeno Albisser  <zeno@webkit.org>
2431
2432         [Qt][Mac] Fix transparency for WebGL content.
2433         https://bugs.webkit.org/show_bug.cgi?id=104659
2434
2435         When drawing a texture to the TextureMapper the flag SupportsBlending
2436         must be passed in order to allow for transparent webgl content.
2437         We are doing this for GLX already, but the flag was still missing
2438         in GraphicsSurfaceMac.
2439
2440         Reviewed by Kenneth Rohde Christiansen.
2441
2442         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
2443         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
2444
2445 2012-12-11  Alexander Pavlov  <apavlov@chromium.org>
2446
2447         Web Inspector: Duplicate emulated touch events in iframe
2448         https://bugs.webkit.org/show_bug.cgi?id=104653
2449
2450         Reviewed by Vsevolod Vlasov.
2451
2452         Synthetic touch events should be dispatched only on the frame containing its target, not on its ancestor frames,
2453         up to the top frame.
2454
2455         * page/EventHandler.cpp:
2456         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
2457           Do not dispatch a synthetic touch event on the current frame if its target is in a subframe.
2458
2459 2012-12-11  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2460
2461         [EFL][WebGL] Regression(r137211) WebGL is broken with NVIDIA Drivers.
2462         https://bugs.webkit.org/show_bug.cgi?id=104652.
2463
2464         Reviewed by Kenneth Rohde Christiansen.
2465
2466         Reverting some of the changes from r137211, as it causes regressions
2467         on NVIDIA drivers.
2468
2469         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2470         (WebCore::GraphicsContext3D::GraphicsContext3D):
2471         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2472         (GraphicsContext3DPrivate::copyToGraphicsSurface):
2473         * platform/graphics/opengl/GLPlatformSurface.cpp:
2474         (WebCore::GLPlatformSurface::updateContents):
2475         * platform/graphics/opengl/GLPlatformSurface.h:
2476         (GLPlatformSurface):
2477
2478 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
2479
2480         Web Inspector: follow up to r136974: do not process shortcuts while editing
2481         https://bugs.webkit.org/show_bug.cgi?id=104440
2482
2483         Reviewed by Alexander Pavlov.
2484
2485         Currently, typing H while editing node results in corresponding shortcut processing.
2486
2487         * inspector/front-end/ElementsTreeOutline.js:
2488         (WebInspector.ElementsTreeOutline):
2489         (WebInspector.ElementsTreeOutline.prototype.handleShortcut):
2490         (WebInspector.ElementsTreeElement.prototype.onenter):
2491         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
2492         (WebInspector.ElementsTreeElement.prototype.dispose):
2493         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
2494         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
2495
2496 2012-12-11  Ken Kania  <kkania@chromium.org>
2497
2498         [Inspector] Add command for dispatching mouse events.
2499         https://bugs.webkit.org/show_bug.cgi?id=104074
2500
2501         Reviewed by Yury Semikhatsky.
2502
2503         Platform mouse event coordinates are relative to the containing window,
2504         but the inspector command assumes they follow standard web coordinates,
2505         where the origin is at the top left of the page and y increases as you
2506         go down. We convert the coordinates to the window before constructing
2507         the event. This also fixes the fact that some platforms have flipped
2508         coordinate systems.
2509         Also, update dispatchKeyEvent test to follow simpler dispatchMouseEvent
2510         test.
2511
2512         Test: inspector-protocol/input/dispatchMouseEvent.html
2513
2514         * inspector/Inspector.json:
2515         * inspector/InspectorInputAgent.cpp:
2516         (WebCore::InspectorInputAgent::dispatchMouseEvent):
2517         (WebCore):
2518         * inspector/InspectorInputAgent.h:
2519         (InspectorInputAgent):
2520
2521 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
2522
2523         Not reviewed: follow up to r137283: reduce inspector toolbar spacing 1px.
2524
2525         * inspector/front-end/inspector.css:
2526         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable):
2527         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable.toggled-on):
2528
2529 2012-12-11  Kent Tamura  <tkent@chromium.org>
2530
2531         Refactoring: Rename Element::shouldMatchReadOnlySelector and shouldMatchReadWriteSelector
2532         https://bugs.webkit.org/show_bug.cgi?id=104651
2533
2534         Reviewed by Kentaro Hara.
2535
2536         ':read-only' and ':read-write' are pseudo classes. They are not
2537         selectors in the context of these functions.  This patch rename them so
2538         that they contain 'pseudo class,' and make them match to an existing
2539         function, matchesFocusPseudoClass.
2540
2541         No new tests. This shouldn't make behavior changes.
2542
2543         * css/SelectorChecker.cpp:
2544         (WebCore::SelectorChecker::checkOneSelector):
2545         * dom/Element.cpp:
2546         (WebCore::Element::recalcStyle):
2547         (WebCore::Element::matchesReadOnlyPseudoClass):
2548         (WebCore::Element::matchesReadWritePseudoClass):
2549         * dom/Element.h:
2550         (Element):
2551         * html/HTMLInputElement.cpp:
2552         (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass):
2553         (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
2554         * html/HTMLInputElement.h:
2555         (HTMLInputElement):
2556         * html/HTMLTextAreaElement.cpp:
2557         (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass):
2558         (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
2559         * html/HTMLTextAreaElement.h:
2560         (HTMLTextAreaElement):
2561         * html/shadow/SliderThumbElement.cpp:
2562         (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass):
2563         (WebCore::SliderThumbElement::matchesReadWritePseudoClass):
2564         * html/shadow/SliderThumbElement.h:
2565         (SliderThumbElement):
2566         * html/shadow/SpinButtonElement.cpp:
2567         (WebCore::SpinButtonElement::matchesReadOnlyPseudoClass):
2568         (WebCore::SpinButtonElement::matchesReadWritePseudoClass):
2569         * html/shadow/SpinButtonElement.h:
2570         (SpinButtonElement):
2571         * rendering/RenderTheme.cpp:
2572         (WebCore::RenderTheme::isReadOnlyControl):
2573
2574 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
2575
2576         Web Inspector: add more horizontal spacing for toolbar items in docked to bottom mode
2577         https://bugs.webkit.org/show_bug.cgi?id=104655
2578
2579         Reviewed by Alexander Pavlov.
2580
2581         Drive-by increase height to 26px.
2582
2583         * inspector/front-end/inspector.css:
2584         (#toolbar):
2585         (body:not(.show-toolbar-icons) .toolbar-item):
2586         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable):
2587         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable.toggled-on):
2588         (body.show-toolbar-icons.dock-to-bottom .toolbar-item.toggleable):
2589         (#toolbar-dropdown-arrow):
2590         (#main):
2591
2592 2012-12-11  Keishi Hattori  <keishi@webkit.org>
2593
2594         Use histogram enumeration in Calendar Picker so we can get stats on UI usage
2595         https://bugs.webkit.org/show_bug.cgi?id=104646
2596
2597         Reviewed by Kent Tamura.
2598
2599         Use histogram support to get stats on the calendar picker so we can improve the UI.
2600
2601         No new tests.
2602
2603         * Resources/pagepopups/calendarPicker.js:
2604         (CalendarPicker):
2605         (CalendarPicker.prototype.recordAction): Records action to histogram.
2606         (CalendarPicker.prototype.handleToday): Record action.
2607         (CalendarPicker.prototype.handleClear): Ditto.
2608         (YearMonthController.prototype._showPopup): Ditto.
2609         (YearMonthController.prototype._handleYearMonthChange): Ditto.
2610         (YearMonthController.prototype._handleButtonClick): Ditto.
2611         (DaysTable.prototype._handleDayClick): Ditto.
2612         * page/PagePopupController.cpp:
2613         (WebCore::PagePopupController::histogramEnumeration):
2614         (WebCore):
2615         * page/PagePopupController.h:
2616         (PagePopupController):
2617         * page/PagePopupController.idl: Added histogramEnumeration.
2618
2619 2012-12-11  Hajime Morrita  <morrita@google.com>
2620
2621         IsActiveFlag, IsHoverFlag, InActiveChainFlag can be unified.
2622         https://bugs.webkit.org/show_bug.cgi?id=103697
2623
2624         Reviewed by Ryosuke Niwa.
2625
2626         To save two more NodeFlags bits, this patch inroduces
2627         UserActionElementSet to get IsLinkFlag, IsHoverFlag,
2628         InActiveChainFlag together. These three old flags are replaced by
2629         UserActionElementSet::ElementFlags and UserActionElementSet
2630         collection which tracks elements which are flagged with one of
2631         a ElementFlags.
2632
2633         When marking an element as active for example, WebKit sets
2634         UserActionElementSet::IsActiveFlag to the element and store it
2635         into corresponding element set of the document. This set maintains
2636         marked elements and corresponding flags for each elements.
2637
2638         UserActionElementSet can be seen as a yet another rare data for
2639         these flags. However, the following characteristics of these flags
2640         make adding a new data structure on Document an attractive
2641         alternative:
2642
2643         - UserActionElementSet is maintained for each Document instead of a
2644           global collecton. This fits element lifetime better.
2645
2646         - The number of elements which have these flags is generally
2647           small, and a group of elements for each flag is largely overlapped
2648           due to its nature. This property keeps the set small, and lets
2649           flag retrieval efficient. On majority of the elements, all these
2650           flags are false thus the check is done by just checking
2651           IsInUserActionFlag.
2652
2653         As a bonus, isFocused flag, which was on NodeRareData, is also moved to this model.
2654
2655         No new tests, covered by existing test.
2656
2657         * CMakeLists.txt:
2658         * GNUmakefile.list.am:
2659         * Target.pri:
2660         * WebCore.gypi:
2661         * WebCore.xcodeproj/project.pbxproj:
2662         * dom/DOMAllInOne.cpp:
2663         * dom/Document.cpp:
2664         (WebCore::Document::removedLastRef):
2665         (WebCore::Document::updateHoverActiveState):
2666         * dom/Document.h:
2667         (WebCore::Document::userActionElements): Added.
2668         (Document):
2669         * dom/Node.cpp:
2670         (WebCore::Node::detach):
2671         * dom/Node.h:
2672         (WebCore):
2673         (WebCore::Node::isUserActionElement): Added.
2674         (WebCore::Node::setUserActionElement): Added.
2675         (Node):
2676         (WebCore::Node::active): Switched to UserActionElementSet.
2677         (WebCore::Node::inActiveChain): Switched to UserActionElementSet.
2678         (WebCore::Node::hovered): Switched to UserActionElementSet.
2679         (WebCore::Node::focused): Switched to UserActionElementSet.
2680         (WebCore::Node::setFocus): Switched to UserActionElementSet.
2681         (WebCore::Node::setActive): Switched to UserActionElementSet.
2682         (WebCore::Node::setHovered): Switched to UserActionElementSet.
2683         * dom/NodeRareData.h:
2684         (WebCore::NodeRareData::NodeRareData):
2685         (NodeRareData):
2686         * dom/UserActionElementSet.cpp: Added.
2687         (WebCore):
2688         (WebCore::UserActionElementSet::instanceFor):
2689         (WebCore::UserActionElementSet::UserActionElementSet):
2690         (WebCore::UserActionElementSet::~UserActionElementSet):
2691         (WebCore::UserActionElementSet::didDetach):
2692         (WebCore::UserActionElementSet::documentDidRemoveLastRef):
2693         (WebCore::UserActionElementSet::hasFlags):
2694         (WebCore::UserActionElementSet::setFlags):
2695         (WebCore::UserActionElementSet::clearFlags):
2696         * dom/UserActionElementSet.h: Added.
2697         (WebCore):
2698         (UserActionElementSet):
2699         (WebCore::UserActionElementSet::create):
2700         (WebCore::UserActionElementSet::isFocused):
2701         (WebCore::UserActionElementSet::setFocused):
2702         (WebCore::UserActionElementSet::isActive):
2703         (WebCore::UserActionElementSet::setActive):
2704         (WebCore::UserActionElementSet::isInActiveChain):
2705         (WebCore::UserActionElementSet::setInActiveChain):
2706         (WebCore::UserActionElementSet::isHovered):
2707         (WebCore::UserActionElementSet::setHovered):
2708         (WebCore::UserActionElementSet::setFlags):
2709
2710 2012-12-11  Kent Tamura  <tkent@chromium.org>
2711
2712         INPUT_MULTIPLE_FIELDS_UI: Disable focus navigation by right/left keys in RTL locales
2713         https://bugs.webkit.org/show_bug.cgi?id=104644
2714
2715         Reviewed by Hajime Morita.
2716
2717         Pressing the left key should focus on the field at the left of the
2718         current focused field, and pressing the right key should focus on the
2719         field at the right of the current focused field. This works well in LTR
2720         locales.
2721         In RTL locale, the current code doesn't work. We disable this behavior
2722         for RTL locales for now. This issue will be handled in Bug 104650.
2723
2724         No new tests. Update some *-multiple-fields tests for new behavior.
2725
2726         * html/shadow/DateTimeFieldElement.cpp:
2727         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
2728         If this sub-field is in an RTL locale, we don't change focus.
2729         (WebCore::DateTimeFieldElement::localeForOwner):
2730         Moved from DateTimeNumericFieldElement.
2731         * html/shadow/DateTimeFieldElement.h:
2732         (DateTimeFieldElement): Remove isRTL, add localeForOwner.
2733         * html/shadow/DateTimeNumericFieldElement.cpp: Remove localeForOwner.
2734         * html/shadow/DateTimeNumericFieldElement.h:
2735         (DateTimeNumericFieldElement): Ditto.
2736
2737 2012-12-11  Pavel Podivilov  <podivilov@google.com>
2738
2739         Remove pango files deleted at r137263 form WebCore.gypi.
2740
2741         Unreviewed, gardening.
2742
2743         * WebCore.gypi:
2744
2745 2012-12-11  Zan Dobersek  <zandobersek@gmail.com>
2746
2747         [GTK] Feature enabling/disabling should be possible through build-webkit
2748         https://bugs.webkit.org/show_bug.cgi?id=99271
2749
2750         Reviewed by Gustavo Noronha Silva.
2751
2752         Move the contents of GNUmakefile.features.am into GNUmakefile.features.am.in.
2753         The former is then copied from the latter but then appropriately modified if
2754         the build-webkit script overrides any of the default feature defines.
2755
2756         No new tests - no new testable functionality.
2757
2758         * GNUmakefile.features.am.in: Renamed from Source/WebCore/GNUmakefile.features.am.
2759
2760 2012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
2761
2762         [QT][EFL][WK2] Move the GraphicsSurfaceGLX.cpp to common place
2763         https://bugs.webkit.org/show_bug.cgi?id=104433
2764
2765         Reviewed by Kenneth Rohde Christiansen.
2766
2767         QT and EFL are commonly using the GraphicsSurfaceGLX.cpp and
2768         it looks better to move this file to /glx directory.
2769
2770         * PlatformEfl.cmake:
2771         * Target.pri:
2772         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp.
2773         (WebCore):
2774         (OffScreenRootWindow):
2775         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
2776         (WebCore::OffScreenRootWindow::getXWindow):
2777         (WebCore::OffScreenRootWindow::display):
2778         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2779         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2780         (GraphicsSurfacePrivate):
2781         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
2782         (WebCore::GraphicsSurfacePrivate::createSurface):
2783         (WebCore::GraphicsSurfacePrivate::createPixmap):
2784         (WebCore::GraphicsSurfacePrivate::textureIsYInverted):
2785         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2786         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2787         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2788         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
2789         (WebCore::GraphicsSurfacePrivate::display):
2790         (WebCore::GraphicsSurfacePrivate::glxPixmap):
2791         (WebCore::GraphicsSurfacePrivate::size):
2792         (WebCore::resolveGLMethods):
2793         (WebCore::GraphicsSurface::platformExport):
2794         (WebCore::GraphicsSurface::platformGetTextureID):
2795         (WebCore::GraphicsSurface::platformCopyToGLTexture):
2796         (WebCore::GraphicsSurface::platformCopyFromTexture):
2797         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
2798         (WebCore::GraphicsSurface::platformFrontBuffer):
2799         (WebCore::GraphicsSurface::platformSwapBuffers):
2800         (WebCore::GraphicsSurface::platformSize):
2801         (WebCore::GraphicsSurface::platformCreate):
2802         (WebCore::GraphicsSurface::platformImport):
2803         (WebCore::GraphicsSurface::platformLock):
2804         (WebCore::GraphicsSurface::platformUnlock):
2805         (WebCore::GraphicsSurface::platformDestroy):
2806         (WebCore::GraphicsSurface::platformBeginPaint):
2807         (WebCore::GraphicsSurface::createReadOnlyImage):
2808
2809 2012-12-11  Mike West  <mkwst@chromium.org>
2810
2811         Web Inspector: Evaluate private browsing mode's effect on console messages.
2812         https://bugs.webkit.org/show_bug.cgi?id=104383
2813
2814         Reviewed by Pavel Feldman.
2815
2816         Two sets of console messages are currently gated on private browsing
2817         mode being inactive. This patch centralizes the private browsing checks
2818         in order to apply them equally to all console messages, and changes the
2819         granularity at which they act.
2820
2821         The current checks block the console messages entirely. This patch
2822         blocks only notifications to ChromeClient and ensures that messages
2823         won't be passed to printf where they might end up in system logs.
2824         Notifications to InspectorInstrumentation seem safe; so far as I can
2825         tell, there's no compelling reason to prevent console-based debugging
2826         in private browsing mode. This patch excludes those calls from the
2827         private browsing check.
2828
2829         Test: inspector/console/clients-ignored-in-privatebrowsing.html
2830
2831         * loader/cache/CachedResourceLoader.cpp:
2832         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2833             Drop the private browsing check.
2834         * page/Console.cpp:
2835         (WebCore::Console::addMessage):
2836             Add private browsing checks to the two ::addMessage variants that
2837             do real work. Ensure that calls to printf and notifications to
2838             ChromeClients are gated on these checks, but always allow
2839             notifications to InspectorInstrumentation.
2840         * page/DOMWindow.cpp:
2841         (WebCore::DOMWindow::printErrorMessage):
2842             Drop the private browsing check.
2843
2844 2012-12-10  Dan Winship  <danw@gnome.org>
2845
2846         [Soup] Fix spelling of "initiating" in API.
2847
2848         Reviewed by Martin Robinson.
2849
2850         No new tests (just internal renaming).
2851
2852         * platform/network/ResourceHandle.h:
2853         (ResourceHandle):
2854         * platform/network/soup/ResourceHandleSoup.cpp:
2855         (WebCore):
2856         (WebCore::setSoupRequestInitiatingPageIDFromNetworkingContext):
2857         (WebCore::ResourceHandle::start):
2858         (WebCore::ResourceHandle::getSoupRequestInitiatingPageID):
2859
2860 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
2861
2862         [GTK] Remove the Pango backend
2863         https://bugs.webkit.org/show_bug.cgi?id=104569
2864
2865         Reviewed by Daniel Bates.
2866
2867         Remove the Pango backend entirely. The EFL build has no support for it and it's
2868         not really maintained enough for the GTK+ port, now that HarfbuzzNG shapes complex
2869         text when Freetype is the active text rendering backend.
2870
2871         No new tests. This does not change behavior.
2872
2873         * GNUmakefile.am: Remove Pango backend options and move Freetype options to the common list.
2874         * GNUmakefile.list.am: Ditto.
2875         * platform/graphics/FontPlatformData.h:
2876         * platform/graphics/pango/FontCachePango.cpp: Removed.
2877         * platform/graphics/pango/FontCustomPlatformDataPango.cpp: Removed.
2878         * platform/graphics/pango/FontPango.cpp: Removed.
2879         * platform/graphics/pango/FontPlatformData.h: Removed.
2880         * platform/graphics/pango/FontPlatformDataPango.cpp: Removed.
2881         * platform/graphics/pango/GlyphPageTreeNodePango.cpp: Removed.
2882         * platform/graphics/pango/PangoUtilities.cpp: Removed.
2883         * platform/graphics/pango/PangoUtilities.h: Removed.
2884         * platform/graphics/pango/SimpleFontDataPango.cpp: Removed.
2885
2886 2012-12-11  Andrey Adaikin  <aandrey@chromium.org>
2887
2888         Web Inspector: [WebGL] prevent GC from collecting WebGLObject instances currently bound to the context state
2889         https://bugs.webkit.org/show_bug.cgi?id=104119
2890
2891         Reviewed by Pavel Feldman.
2892
2893         This is to prevent GC from collecting resources bound to a context (WebGL or 2D).
2894         Otherwise, for example in WebGL, subsequent calls to gl.getParameter() may return a recently created
2895         instance that is no longer bound to a Resource object (thus, no history to replay it later).
2896
2897         * inspector/InjectedScriptCanvasModuleSource.js:
2898         (.):
2899
2900 2012-12-11  Zan Dobersek  <zandobersek@gmail.com>
2901
2902         Unreviewed build fix after r137243.
2903
2904         * bindings/gobject/GNUmakefile.am:
2905
2906 2012-12-10  No'am Rosenthal  <noam@webkit.org>
2907
2908         REGRESSION (r137006): CSS clip on solid color composited div broken
2909         https://bugs.webkit.org/show_bug.cgi?id=104604
2910
2911         Reviewed by Simon Fraser.
2912
2913         Disable direct compositing of background color for clipping layers.
2914
2915         Test: compositing/geometry/clip-inside.html
2916
2917         * rendering/RenderLayerBacking.cpp:
2918         (WebCore::supportsDirectBoxDecorationsComposition):
2919             Never allow direct background composition if there is a clip.
2920
2921 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
2922
2923         REGRESSION (r137215): WebKit stretches and shrinks a part of screen on scroll
2924         https://bugs.webkit.org/show_bug.cgi?id=104626
2925
2926         Reviewed by Beth Dakin.
2927
2928         r137215 removed a compositing layer repaint on size changes. However, there
2929         are cases where the compositing code constrains layer size by clipping
2930         with the viewport and a clipping ancestor. When that happens, we must
2931         invalidate the layer on a size change to avoid showing stretched or
2932         shrunken content.
2933
2934         Test: compositing/repaint/clipped-layer-size-change.html
2935
2936         * rendering/RenderLayerBacking.cpp:
2937         (WebCore::RenderLayerBacking::RenderLayerBacking):
2938         (WebCore::RenderLayerBacking::updateCompositedBounds):
2939         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2940         * rendering/RenderLayerBacking.h:
2941         (RenderLayerBacking):
2942
2943 2012-12-10  Dean Jackson  <dino@apple.com>
2944
2945         Remove old WebKit Animation API code
2946         https://bugs.webkit.org/show_bug.cgi?id=104611
2947
2948         Reviewed by Simon Fraser.
2949
2950         Remove the existing, unused animation API code. We'll look into
2951         implementing the W3C Animation API if/when it is stable.
2952
2953         * CMakeLists.txt: Remove WebKitAnimation and WebKitAnimationList classes.
2954         * DerivedSources.cpp:
2955         * DerivedSources.make:
2956         * DerivedSources.pri:
2957         * GNUmakefile.list.am:
2958         * Target.pri:
2959         * UseJSC.cmake:
2960         * UseV8.cmake:
2961         * WebCore.gypi:
2962         * WebCore.vcproj/WebCore.vcproj:
2963         * WebCore.xcodeproj/project.pbxproj:
2964         * bindings/js/JSBindingsAllInOne.cpp: Remove includes.
2965         * bindings/js/JSWebKitAnimationCustom.cpp: Removed.
2966         * bindings/js/JSWebKitAnimationListCustom.cpp: Removed.
2967         * dom/Element.cpp: Remove API.
2968         * dom/Element.h: Ditto.
2969         * dom/Element.idl: Ditto.
2970         * page/DOMWindow.idl: Ditto.
2971         * page/WebKitAnimation.cpp: Removed.
2972         * page/WebKitAnimation.h: Removed.
2973         * page/WebKitAnimation.idl: Removed.
2974         * page/WebKitAnimationList.cpp: Removed.
2975         * page/WebKitAnimationList.h: Removed.
2976         * page/WebKitAnimationList.idl: Removed.
2977         * page/animation/AnimationController.cpp: Remove API.
2978         * page/animation/AnimationController.h: Ditto.
2979         * page/animation/AnimationControllerPrivate.h: Ditto.
2980         * page/animation/CompositeAnimation.cpp: Ditto.
2981         * page/animation/CompositeAnimation.h: Ditto.
2982
2983 2012-12-10  Jessie Berlin  <jberlin@apple.com>
2984
2985         Fix the Mac build after r137233
2986
2987         * html/shadow/HTMLShadowElement.h:
2988         Remove a declaration of a member variable that was moved to the InsertionPoint superclass.
2989
2990 2012-12-10  KyungTae Kim  <ktf.kim@samsung.com>
2991
2992         Build fix after r137221
2993         https://bugs.webkit.org/show_bug.cgi?id=104617
2994
2995         Unreviewed build fix
2996
2997         * html/HTMLPropertiesCollection.cpp:
2998         (WebCore::nextNodeWithProperty):
2999
3000 2012-12-10  Hajime Morrita  <morrita@google.com>
3001
3002         [Shadow DOM][Refactoring] HTMLContentElement,HTMLShadowElement::m_registeredWithShadowRoot should be moved to InsertionPoint
3003         https://bugs.webkit.org/show_bug.cgi?id=104516
3004
3005         Reviewed by Dimitri Glazkov.
3006
3007         This change pulls duplicated code in removedFrom() and
3008         insertedInto() of both both HTMLShadowElement and
3009         HTMLContentElement to their super class InsertionPoint.
3010
3011         This is a part of effor that encapsulate node distribution algorithm to
3012         ContentDistributor and its family.
3013
3014         No new tests, no behavior change.
3015
3016         * dom/ShadowRoot.cpp:
3017         (WebCore::ShadowRoot::registerInsertionPoint): Added.
3018         (WebCore::ShadowRoot::unregisterInsertionPoint): Added.
3019         * dom/ShadowRoot.h:
3020         (ShadowRoot):
3021         * html/shadow/ContentDistributor.cpp:
3022         (WebCore::ShadowRootContentDistributionData::regiterInsertionPoint): Generalized two methods for <content> and <shadow>.
3023         (WebCore):
3024         (WebCore::ShadowRootContentDistributionData::unregisterInsertionPoint): Ditto.
3025         * html/shadow/ContentDistributor.h:
3026         (ShadowRootContentDistributionData):
3027         * html/shadow/HTMLContentElement.cpp:
3028         (WebCore::HTMLContentElement::HTMLContentElement):
3029         * html/shadow/HTMLContentElement.h:
3030         * html/shadow/HTMLShadowElement.cpp:
3031         (WebCore::HTMLShadowElement::HTMLShadowElement):
3032         * html/shadow/HTMLShadowElement.h:
3033         * html/shadow/InsertionPoint.cpp:
3034         (WebCore::InsertionPoint::InsertionPoint):
3035         (WebCore::InsertionPoint::insertedInto): Pulled up from subclasses
3036         (WebCore::InsertionPoint::removedFrom): Pulled up from subclasses
3037         * html/shadow/InsertionPoint.h:
3038         (InsertionPoint):
3039
3040 2012-12-10  Jon Lee  <jonlee@apple.com>
3041
3042         Keep track of plug-in snapshots clicked by user
3043         https://bugs.webkit.org/show_bug.cgi?id=103206
3044         <rdar://problem/12746483>
3045
3046         Reviewed by Anders Carlsson.
3047
3048         * html/HTMLPlugInImageElement.cpp:
3049         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initially the hash is
3050         unknown. Set to 0. Move the check for whether to snapshot the plugin into the
3051         new function subframeLoaderWillLoadPlugIn.
3052         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Rename
3053         setPendingClickEvent to userDidClickSnapshot. In addition to holding onto the
3054         click event used to activate the plug-in, the function now also tells the plug-in
3055         client to add the origin hash as an auto-start origin.
3056         (WebCore::HTMLPlugInImageElement::subframeLoaderWillLoadPlugIn): Calculate the
3057         hash based on the provided URL, which is the URL the plug-in will load. Extend
3058         the check that used to be in the constructor to see if the plug-in should not
3059         automatically load, including checking the plug-in size and whether the hash
3060         is an auto-start origin.
3061         * html/HTMLPlugInImageElement.h: Rename setPendingClickEvent to userDidClickSnapshot
3062         and add a variable for the origin hash.
3063
3064         * loader/SubframeLoader.cpp:
3065         (WebCore::SubframeLoader::requestPlugin): When the loader is about to load the
3066         plug-in, pass the URL to the element, so that it can calculate the hash.
3067
3068         * page/Page.cpp:
3069         (WebCore::Page::Page): Take the plugInClient from the page clients.
3070         (WebCore::Page::~Page): If the client exists, tell it that the page is being
3071         destroyed.
3072         (WebCore::Page::PageClients::PageClients): Initialize this optional client to
3073         null.
3074         * page/Page.h: Add PlugInClient to page clients.
3075         (PageClients): Add PlugInClient variable.
3076         (WebCore::Page::plugInClient):
3077         * page/PlugInClient.h: Added.
3078
3079         * rendering/RenderSnapshottedPlugIn.cpp:
3080         (WebCore::RenderSnapshottedPlugIn::handleEvent): Call the renamed function
3081         userDidClickSnapshot().
3082         (WebCore::RenderSnapshottedPlugIn::layout): Move the check of the plug-in size
3083         to subframeLoaderWillLoadPlugIn.
3084
3085         Add PlugInClient.h.
3086         * GNUmakefile.list.am:
3087         * Target.pri:
3088         * WebCore.vcproj/WebCore.vcproj:
3089         * WebCore.xcodeproj/project.pbxproj:
3090
3091 2012-12-10  Antti Koivisto  <antti@apple.com>
3092
3093         Not reviewed.
3094         
3095         Build fix.
3096
3097         * html/HTMLPropertiesCollection.cpp:
3098         (WebCore::nextNodeWithProperty):
3099         * page/TouchDisambiguation.cpp:
3100         (WebCore::boundingBoxForEventNodes):
3101
3102 2012-12-10  Beth Dakin  <bdakin@apple.com>
3103
3104         https://bugs.webkit.org/show_bug.cgi?id=104602
3105         DidHitRelevantRepaintedObjectsAreaThreshold LayoutMilestone fires too 
3106         early on some pages with iframes
3107
3108         Reviewed by Simon Fraser.
3109
3110         This change makes it so that any RenderObjects inside iframes are not 
3111         considered relevant.
3112         * page/Page.cpp:
3113         (WebCore::Page::addRelevantRepaintedObject):
3114
3115 2012-12-10  David Grogan  <dgrogan@chromium.org>
3116
3117         IndexedDB: Propagate more leveldb errors to script
3118         https://bugs.webkit.org/show_bug.cgi?id=104422
3119
3120         Reviewed by Tony Chang.
3121
3122         These are the last places that ignore leveldb errors that can get the
3123         usual ok/found treatment.
3124
3125         Nothing called getBool, so it is deleted.
3126
3127         * Modules/indexeddb/IDBBackingStore.cpp:
3128         (WebCore):
3129         (WebCore::getInt):
3130         (WebCore::isSchemaKnown):
3131         (WebCore::setUpMetadata):
3132         (WebCore::getMaxObjectStoreId):
3133         (WebCore::IDBBackingStore::open):
3134         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
3135         (WebCore::getNewDatabaseId):
3136         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
3137         (WebCore::setMaxObjectStoreId):
3138         (WebCore::getNewVersionNumber):
3139         (WebCore::IDBBackingStore::putRecord):
3140         (WebCore::setMaxIndexId):
3141         * Modules/indexeddb/IDBBackingStore.h:
3142         (IDBBackingStore):
3143         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3144         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
3145         (WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):
3146
3147 2012-12-09  Antti Koivisto  <antti@apple.com>
3148
3149         Factor node traversal into standalone functions
3150         https://bugs.webkit.org/show_bug.cgi?id=104507
3151
3152         Reviewed by Eric Seidel.
3153
3154         Node traversal functions are currently Node and ContainerNode members. Their implementations
3155         are confusingly scattered over multiple header and source files. These functions have no particular
3156         reason to be members as they don't require non-public access. They should be made freestanding
3157         function instead and gathered together.
3158         
3159         This patch adds NodeTraversal namespace, defined in NodeTraversal.h. It contains freestanding
3160         functions for traversing Nodes. Most popular functions are inlined (as before) and
3161         there are ContainerNode specific specializations (as before).
3162         
3163         In client code
3164         
3165             node = node->traverseNextNode();
3166             node = node->traverseNextSibling();
3167         
3168         becomes
3169         
3170             node = NodeTraversal::next(node);
3171             node = NodeTraversal::nextSkippingChildren(node);
3172             
3173         etc.
3174
3175         * WebCore.exp.in:
3176         * WebCore.xcodeproj/project.pbxproj:
3177         * accessibility/AccessibilityNodeObject.cpp:
3178         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
3179         * accessibility/AccessibilityObject.cpp:
3180         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
3181         * accessibility/AccessibilityRenderObject.cpp:
3182         (WebCore::AccessibilityRenderObject::addImageMapChildren):
3183         * bindings/js/JSDocumentCustom.cpp:
3184         (WebCore::toJS):
3185         * css/SelectorChecker.cpp:
3186         (WebCore::SelectorChecker::allVisitedStateChanged):
3187         (WebCore::SelectorChecker::visitedStateChanged):
3188         * css/StyleInvalidationAnalysis.cpp:
3189         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
3190         * dom/ContainerNode.cpp:
3191         (WebCore::dispatchChildInsertionEvents):
3192         (WebCore::dispatchChildRemovalEvents):
3193         * dom/ContainerNode.h:
3194         (ContainerNode):
3195         (WebCore):
3196         * dom/ContainerNodeAlgorithms.h:
3197         (WebCore::ChildFrameDisconnector::collectDescendant):
3198         * dom/Document.cpp:
3199         (WebCore::Document::buildAccessKeyMap):
3200         (WebCore::Document::removeAllEventListeners):
3201         (WebCore::Document::updateBaseURL):
3202         (WebCore::Document::processBaseElement):
3203         (WebCore::Document::nodeAbsIndex):
3204         (WebCore::Document::nodeWithAbsIndex):
3205         (WebCore::Document::getFocusableNodes):
3206         * dom/DocumentMarkerController.cpp:
3207         (WebCore::DocumentMarkerController::markersInRange):
3208         (WebCore::DocumentMarkerController::setMarkersActive):
3209         (WebCore::DocumentMarkerController::hasMarkers):
3210         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
3211         * dom/DocumentOrderedMap.cpp:
3212         (WebCore::DocumentOrderedMap::get):
3213         * dom/ElementShadow.cpp:
3214         (WebCore::ElementShadow::collectSelectFeatureSetFrom):
3215         * dom/Node.cpp:
3216         (WebCore::Node::normalize):
3217         (WebCore::Node::lazyAttach):
3218         (WebCore):
3219         (WebCore::Node::detach):
3220         (WebCore::traverseTreeAndMark):
3221         * dom/Node.h:
3222         (Node):
3223         * dom/NodeIterator.cpp:
3224         (WebCore::NodeIterator::NodePointer::moveToNext):
3225         (WebCore::NodeIterator::NodePointer::moveToPrevious):
3226         (WebCore::NodeIterator::updateForNodeRemoval):
3227         * dom/NodeTraversal.h: Added.
3228         (WebCore):
3229         (NodeTraversal):
3230         (WebCore::NodeTraversal::traverseNextNodeTemplate):
3231         (WebCore::NodeTraversal::next):
3232         (WebCore::NodeTraversal::traverseNextSiblingTemplate):
3233         (WebCore::NodeTraversal::nextSibling):
3234         * dom/Range.cpp:
3235         (WebCore::Range::toString):
3236         (WebCore::Range::checkDeleteExtract):
3237         (WebCore::Range::firstNode):
3238         (WebCore::Range::pastLastNode):
3239         (WebCore::Range::textRects):
3240         (WebCore::Range::textQuads):
3241         (WebCore::Range::getBorderAndTextQuads):
3242         * dom/TreeScope.cpp:
3243         (WebCore::TreeScope::labelElementForId):
3244         (WebCore::TreeScope::findAnchor):
3245         * dom/TreeScopeAdopter.cpp:
3246         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
3247         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
3248         * dom/TreeWalker.cpp:
3249         (WebCore::TreeWalker::nextNode):
3250         * editing/ApplyStyleCommand.cpp:
3251         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3252         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
3253         (WebCore::containsNonEditableRegion):
3254         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
3255         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
3256         (WebCore::ApplyStyleCommand::removeInlineStyle):
3257         * editing/BreakBlockquoteCommand.cpp:
3258         (WebCore::BreakBlockquoteCommand::doApply):
3259         * editing/CompositeEditCommand.cpp:
3260         (WebCore::CompositeEditCommand::deleteInsignificantText):
3261         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
3262         * editing/DeleteSelectionCommand.cpp:
3263         (WebCore::firstEditablePositionInNode):
3264         (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
3265         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3266         * editing/EditCommand.cpp:
3267         (WebCore::SimpleEditCommand::addNodeAndDescendants):
3268         * editing/EditingStyle.cpp:
3269         (WebCore::EditingStyle::triStateOfStyle):
3270         (WebCore::EditingStyle::textDirectionForSelection):
3271         * editing/Editor.cpp:
3272         (WebCore::Editor::simplifyMarkup):
3273         * editing/FrameSelection.cpp:
3274         (WebCore::scanForForm):
3275         (WebCore::FrameSelection::setSelectionFromNone):
3276         * editing/InsertParagraphSeparatorCommand.cpp:
3277         (WebCore::InsertParagraphSeparatorCommand::doApply):
3278         * editing/ReplaceSelectionCommand.cpp:
3279         (WebCore::ReplacementFragment::removeUnrenderedNodes):
3280         (WebCore::ReplacementFragment::removeInterchangeNodes):
3281         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren):
3282         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
3283         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3284         (WebCore::removeHeadContents):
3285         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
3286         * editing/ReplaceSelectionCommand.h:
3287         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
3288         * editing/SimplifyMarkupCommand.cpp:
3289         (WebCore::SimplifyMarkupCommand::doApply):
3290         * editing/TextIterator.cpp:
3291         (WebCore::TextIterator::advance):
3292         (WebCore::shouldEmitNewlineAfterNode):
3293         * editing/htmlediting.cpp:
3294         (WebCore::hasARenderedDescendant):
3295         * editing/mac/EditorMac.mm:
3296         (WebCore::Editor::fontForSelection):
3297         * editing/markup.cpp:
3298         (WebCore::completeURLs):
3299         (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization):
3300         (WebCore::findNodesSurroundingContext):
3301         (WebCore::trimFragment):
3302         * editing/visible_units.cpp:
3303         (WebCore::startOfParagraph):
3304         (WebCore::endOfParagraph):
3305         * html/HTMLCollection.cpp:
3306         (WebCore::nextNode):
3307         * html/HTMLElement.cpp:
3308         (WebCore::setHasDirAutoFlagRecursively):
3309         (WebCore::HTMLElement::directionality):
3310         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
3311         (WebCore::HTMLElement::getItemRefElements):
3312         * html/HTMLFieldSetElement.cpp:
3313         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
3314         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
3315         * html/HTMLFormElement.cpp:
3316         (WebCore::HTMLFormElement::formElementIndex):
3317         * html/HTMLLabelElement.cpp:
3318         (WebCore::HTMLLabelElement::control):
3319         * html/HTMLLegendElement.cpp:
3320         (WebCore::HTMLLegendElement::associatedControl):
3321         * html/HTMLMapElement.cpp:
3322         (WebCore::HTMLMapElement::mapMouseEvent):
3323         * html/HTMLNameCollection.cpp:
3324         (WebCore::HTMLNameCollection::virtualItemAfter):
3325         * html/HTMLOptionElement.cpp:
3326         (WebCore::HTMLOptionElement::collectOptionInnerText):
3327         * html/HTMLPropertiesCollection.cpp:
3328         (WebCore::nextNodeWithProperty):
3329         * html/HTMLSelectElement.cpp:
3330         (WebCore::HTMLSelectElement::recalcListItems):
3331         * html/HTMLTextFormControlElement.cpp:
3332         (WebCore::HTMLTextFormControlElement::selection):
3333         (WebCore::HTMLTextFormControlElement::innerTextValue):
3334         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
3335         * html/RadioInputType.cpp:
3336         (WebCore::RadioInputType::handleKeydownEvent):
3337         * html/shadow/ContentDistributor.cpp:
3338         (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
3339         * inspector/InspectorDOMAgent.cpp:
3340         (WebCore::InspectorDOMAgent::performSearch):
3341         * inspector/InspectorMemoryAgent.cpp:
3342         * page/FocusController.cpp:
3343         (WebCore::FocusController::findFocusCandidateInContainer):
3344         * page/Frame.cpp:
3345         (WebCore::Frame::searchForLabelsAboveCell):
3346         (WebCore::Frame::searchForLabelsBeforeElement):
3347         * rendering/RenderNamedFlowThread.cpp:
3348         (WebCore::RenderNamedFlowThread::getRanges):
3349         * svg/SVGSVGElement.cpp:
3350         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
3351         (WebCore::SVGSVGElement::getElementById):
3352         * svg/SVGUseElement.cpp:
3353         (WebCore::removeDisallowedElementsFromSubtree):
3354         * svg/animation/SMILTimeContainer.cpp:
3355         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
3356         * xml/XPathNodeSet.cpp:
3357         (WebCore::XPath::NodeSet::traversalSort):
3358         * xml/XPathStep.cpp:
3359         (WebCore::XPath::Step::nodesInAxis):
3360         * xml/XPathUtil.cpp:
3361         (WebCore::XPath::stringValue):
3362
3363 2012-12-10  Min Qin  <qinmin@chromium.org>
3364
3365         Sending multi-touch events to the same Iframe
3366         https://bugs.webkit.org/show_bug.cgi?id=97973
3367
3368         Reviewed by Dimitri Glazkov.
3369
3370         Multi-Touch in different iframe can give both documents access to each other.
3371         This could cause cross-origin access. To solve this, all the touch events should
3372         be sent to the iframe where the first touchstart happens.
3373
3374         Test: fast/events/touch/multi-touch-inside-iframes.html
3375               fast/events/touch/multi-touch-inside-nested-iframes.html
3376
3377         * page/EventHandler.cpp:
3378         (WebCore::EventHandler::handleTouchEvent):
3379         * page/EventHandler.h:
3380
3381 2012-12-10  KyungTae Kim  <ktf.kim@samsung.com>
3382
3383         [soup] Fix build warning in ResourceHandleSoup.cpp
3384         https://bugs.webkit.org/show_bug.cgi?id=104605
3385
3386         Reviewed by Martin Robinson.
3387
3388         The nextMultipartResponsePartCallback has unused parameter 'source',
3389         comment out it to fix 'unused parameter' build warning.
3390
3391         * platform/network/soup/ResourceHandleSoup.cpp:
3392         (WebCore::nextMultipartResponsePartCallback):
3393
3394 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
3395
3396         Fix frame border painting in tiled drawing mode
3397         https://bugs.webkit.org/show_bug.cgi?id=104453
3398         <rdar://problem/11678611>
3399
3400         Reviewed by Dan Bernstein.
3401
3402         Frame borders were not correctly invalidated when in tiled drawing mode, because
3403         RenderFrameSet::layout() invalidated directly on the view, which skips the tile
3404         cache.
3405         
3406         Fix by invalidating like all other renderers, via the repaint container.
3407         
3408         Also, the layer transform should be updated before the invalidation, and
3409         we make use of RenderObject::updateLayerTransform() which has the same behavior
3410         as the old code.
3411
3412         Attempts to make a layout test failed. Resizing composited framesets repainted
3413         via layer resizing, and an attempt to make a ref test in tiled drawing mode
3414         failed (the test passed without the patch).
3415
3416         * rendering/RenderFrameSet.cpp:
3417         (WebCore::RenderFrameSet::layout):
3418
3419 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
3420
3421         When converting a layer into a tiled layer, ensure that we update the visible rect
3422         https://bugs.webkit.org/show_bug.cgi?id=104467
3423
3424         Reviewed by Darin Adler.
3425
3426         When a GraphicsLayerCA toggles to use a TileCache, we have to ensure that the
3427         layer's visible rect (which is used to ensure tile coverage) is updated in
3428         the same commit. Otherwise we can get blank layers until something else causes
3429         the visible rect to be updated.
3430
3431         Test: compositing/tiling/tiled-layer-resize.html
3432
3433         * platform/graphics/ca/GraphicsLayerCA.cpp:
3434         (WebCore::GraphicsLayerCA::dumpAdditionalProperties): With the debug flag, dump the TiledBacking
3435         address for ease of debugging.
3436         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Set the VisibleRectChanged bit in
3437         m_uncommittedChanges if we've just switched to a tiled layer.
3438
3439 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
3440
3441         Don't unconditionally repaint compositing layers when their size changes
3442         https://bugs.webkit.org/show_bug.cgi?id=104461
3443
3444         Reviewed by Sam Weinig.
3445
3446         RenderLayerBacking always repainted the entire compositing layer when its size
3447         changed. This was done to fix repaint issues when outline widths changes, but
3448         that issue is now solved by repainting in GraphicsLayer::setOffsetFromRenderer(),
3449         add in r134628. I believe this is no longer necessary.
3450         
3451         Always repainting when the size changes is terrible for the tile cache when
3452         loading large documents, as all tiles repaint every time the document gets
3453         longer.
3454
3455         Test: compositing/repaint/resize-repaint.html
3456
3457         * rendering/RenderLayerBacking.cpp:
3458         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3459
3460 2012-12-10  Ojan Vafai  <ojan@chromium.org>
3461
3462         Unreviewed, rolling out r134150.
3463         http://trac.webkit.org/changeset/134150
3464         https://bugs.webkit.org/show_bug.cgi?id=99940
3465
3466         Caused JS-based tooltips to remain during scroll on Facebook
3467         and Gmail. Rollout until I have time to experiment with less
3468         aggresive approaches.
3469
3470         * page/EventHandler.cpp:
3471         (WebCore):
3472         (WebCore::MaximumDurationTracker::MaximumDurationTracker):
3473         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
3474         (MaximumDurationTracker):
3475         (WebCore::EventHandler::EventHandler):
3476         (WebCore::EventHandler::clear):
3477         (WebCore::EventHandler::mouseMoved):
3478         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
3479         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
3480         * page/EventHandler.h:
3481         (EventHandler):
3482         * platform/Timer.h:
3483
3484 2012-12-10  Yi Shen  <max.hong.shen@gmail.com>
3485
3486         Keyboard caret movement in textarea with RTL Override Character can make tab unresponsive
3487         https://bugs.webkit.org/show_bug.cgi?id=103067
3488
3489         Reviewed by Ryosuke Niwa.
3490
3491         For textarea with RTL override character, the line break could be the previous leaf InlineTextBox of
3492         the InlineTextBox for the RTL override text. When overshots the left/right, make sure the 
3493         leftVisuallyDistinctCandidate and rightVisuallyDistinctCandidate return the visually distinct 
3494         left/right position by ignoring the line break.
3495
3496         Test: editing/selection/move-by-character-crash-test-textarea.html
3497
3498         * editing/VisiblePosition.cpp:
3499         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3500         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3501
3502 2012-12-10  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3503
3504         [EFL][WebGL] Minor Refactoring in GraphicsContext3DEfl.
3505         https://bugs.webkit.org/show_bug.cgi?id=104553.
3506
3507         Reviewed by Kenneth Rohde Christiansen.
3508
3509         We use different FBO for canvas and offscreen surface of our platform layer.
3510         Thus we need to manage any bound buffers while copying contents to the surface. Currently, Surface
3511         always uses double buffering but in future we should be able to configure it to use either
3512         double or single buffer. For these use cases, it would be handy to bind buffers directly to
3513         FBO used by the surface. This patch does the needed changes in GraphicsContext3DEfl and
3514         PlatformSurface. Also, removes some unused code.
3515
3516         Covered by existing tests.
3517
3518         Relevant changes in GraphicsContext3DEfl to obtain FBO id from PlatformSurface.
3519         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3520         (WebCore::GraphicsContext3D::GraphicsContext3D):
3521         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3522
3523         Renamed createGraphicsSurface to didResizeCanvas.
3524         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
3525         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3526         (GraphicsContext3DPrivate::didResizeCanvas):
3527         (GraphicsContext3DPrivate::copyToGraphicsSurface):
3528         * platform/graphics/efl/GraphicsContext3DPrivate.h:
3529         (GraphicsContext3DPrivate):
3530
3531         Header cleanup.
3532         * platform/graphics/opengl/GLDefs.h:
3533         * platform/graphics/opengl/GLPlatformContext.cpp:
3534         (WebCore::GLPlatformContext::createContext):
3535         * platform/graphics/opengl/GLPlatformContext.h:
3536
3537         Added initialize method to expose FBO id of the surface.
3538         Removed unused code.
3539         * platform/graphics/opengl/GLPlatformSurface.cpp:
3540         (WebCore::GLPlatformSurface::initialize):
3541         (WebCore):
3542         (WebCore::GLPlatformSurface::updateContents):
3543         * platform/graphics/opengl/GLPlatformSurface.h:
3544         (GLPlatformSurface):
3545         * platform/graphics/surfaces/glx/GLXSurface.h:
3546
3547 2012-12-07  Simon Fraser  <simon.fraser@apple.com>
3548
3549         Tidy up the tiled scrolling indicator, fix with zooming
3550         https://bugs.webkit.org/show_bug.cgi?id=104386
3551
3552         Reviewed by Tim Horton.
3553
3554         Fix the tiled scrolling indicator to not get tiny when zooming,
3555         to not poke out of the bottom of the window, and to not look
3556         so crappy.
3557
3558         * platform/graphics/ca/mac/TileCache.mm:
3559         (WebCore::TileCache::updateTileCoverageMap):
3560         (WebCore::TileCache::drawTileMapContents):
3561
3562 2012-12-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3563
3564         Unreviewed, rolling out r136817.
3565         http://trac.webkit.org/changeset/136817
3566         https://bugs.webkit.org/show_bug.cgi?id=104596
3567
3568         This patch was an unnecessarily complex solution to handling
3569         conversion of union types. (Requested by mpruett on #webkit).
3570
3571         * bindings/js/JSDictionary.cpp:
3572         (WebCore::JSDictionary::convertValue):
3573         * bindings/js/JSDictionary.h:
3574         (WebCore::JSDictionary::tryGetPropertyAndResult):
3575
3576 2012-12-10  Tab Atkins  <tabatkins@google.com>
3577
3578         Deprecate prefixed linear-gradient and radial-gradient functions
3579         https://bugs.webkit.org/show_bug.cgi?id=104591
3580
3581         Reviewed by Dean Jackson.
3582
3583         Rename the old gradient parsing functions in anticipation of functions that parse the new syntax.
3584
3585         No new tests added - this is a rename and has no functionality change.
3586
3587         * css/CSSParser.cpp:
3588         (WebCore::CSSParser::parseDeprecatedLinearGradient):
3589         (WebCore::CSSParser::parseDeprecatedRadialGradient):
3590         (WebCore::CSSParser::parseGeneratedImage):
3591         * css/CSSParser.h:
3592
3593 2012-12-10  Mark Pilgrim  <pilgrim@chromium.org>
3594
3595         [Chromium][Win] Remove theme-related functions from PlatformSupport
3596         https://bugs.webkit.org/show_bug.cgi?id=102699
3597
3598         Reviewed by Adam Barth.
3599
3600         Call theme engine directly instead of going through
3601         PlatformSupport. Part of a refactoring series. See tracking bug 82948.
3602
3603         * platform/chromium/PlatformSupport.h:
3604         (PlatformSupport):
3605         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3606         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
3607         (WebCore::ScrollbarThemeChromiumWin::paintButton):
3608         * rendering/RenderThemeChromiumWin.cpp:
3609         (WebCore):
3610         (WebCore::RenderThemeChromiumWin::paintButton):
3611         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
3612         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
3613         (WebCore::RenderThemeChromiumWin::paintMenuList):
3614         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
3615         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
3616         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3617
3618 2012-12-10  Dean Jackson  <dino@apple.com>
3619
3620         Support for CSS widows and orphans
3621         https://bugs.webkit.org/show_bug.cgi?id=9410
3622
3623         Reviewed by Darin Adler.
3624
3625         The CSS 'widow' and 'orphan' properties were supported by the parser and
3626         style system, but were not actually doing anything in layout. Now they do!
3627
3628         In order to not break existing content, I unfortunately had to go against
3629         the specification and change our default value from 2 to auto. A value of
3630         auto means that widows and orphans will not cause any page/column breaks.
3631
3632         Supporting orphans was a small change. During line layout, if we realise
3633         we need to move to a new page in a situation that would create an orphan,
3634         move the entire block to the new page. There was already code to do this.
3635
3636         Support for widows was trickier. When we finish laying out a block, count
3637         the number of hanging lines. If we've created a widow, and there are enough
3638         available lines on the previous page, then steal some and remember the line
3639         to break at. Trigger a relayout. Then notice the line that was marked for
3640         breaking and avoid the widow. This means some blocks go through layout
3641         twice, but as long as the widow value is small it shouldn't be a huge penalty.
3642
3643         Tests: fast/multicol/widows-and-orphans.html (new test)
3644                printing/page-break-orphans.html
3645                printing/page-break-orphans-and-widows.html
3646                printing/page-break-widows.html
3647
3648         * css/CSSComputedStyleDeclaration.cpp:
3649         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return CSSValueAuto for widows and orphans if necessary.
3650         * css/CSSParser.cpp:
3651         (WebCore::CSSParser::parseValue): Support "auto" in widow and orphan property parsing.
3652         * css/StyleBuilder.cpp:
3653         (WebCore::StyleBuilder::StyleBuilder): Change property handler to something that supports auto.
3654         * page/animation/CSSPropertyAnimation.cpp:
3655         (WebCore::CSSPropertyAnimation::ensurePropertyMap): Add widows and orphans to the animation map.
3656         * rendering/RenderBlock.cpp:
3657         (WebCore::RenderBlock::layoutBlockChild): Detect if we've caused a widow-fixing break, and request relayout evaluation.
3658         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): Test for a widow-fixing line.
3659         (WebCore::RenderBlock::setBreakAtLineToAvoidWidow): New function to remember where we should break on next layout.
3660         (WebCore::RenderBlock::adjustLinePositionForPagination): Move the entire block to a new page if this would create an orphan.
3661         * rendering/RenderBlock.h:
3662         (WebCore::RenderBlock::shouldBreakAtLineToAvoidWidow): New function to indicate if we are remembering a widow.
3663         (WebCore::RenderBlock::clearShouldBreakAtLineToAvoidWidow): Reset the line breaks.
3664         (WebCore::RenderBlock::lineBreakToAvoidWidow):
3665         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): Add a flag for indicating if we are remembering a line, and the actual line itself.
3666         * rendering/RenderBlockLineLayout.cpp:
3667         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): The code to detect and fix widows. Explained above.
3668         * rendering/style/RenderStyle.h: New methods for indicating if widows and orphans are non-default values.
3669         * rendering/style/StyleRareInheritedData.cpp: Ditto.
3670         * rendering/style/StyleRareInheritedData.h: Ditto.
3671
3672 2012-12-10  Zan Dobersek  <zandobersek@gmail.com>
3673
3674         REGRESSION (r118735): svg/dom/complex-svgView-specification.html, svg/dom/SVGViewSpec.html, svg/dom/viewspec-parser.html failing on GTK Linux 64-bit Release
3675         https://bugs.webkit.org/show_bug.cgi?id=87734
3676
3677         Reviewed by Martin Robinson.
3678
3679         Don't modify ResourceRequest's URL to have the value of the (encoded)
3680         URI of the SoupMessage. The only exception is in the case of cancelled
3681         SoupMessage - the URL of the ResourceRequest should then be null.
3682
3683         No new tests - existing tests should show no regressions.
3684
3685         * platform/network/soup/ResourceRequestSoup.cpp:
3686         (WebCore::ResourceRequest::updateFromSoupMessage):
3687
3688 2012-12-10  Gustavo Noronha Silva  <gns@gnome.org>
3689
3690         Unreviewed distcheck fix.
3691
3692         * GNUmakefile.list.am:
3693
3694 2012-12-10  Eric Seidel  <eric@webkit.org>
3695
3696         Caused crashes in v8.  Rolling out until abarth can fix.  See cr-issue 165136 for more info
3697         https://bugs.webkit.org/show_bug.cgi?id=104575
3698
3699         Unreviewed, just rolling out r136559.
3700
3701         * bindings/v8/V8GCController.cpp:
3702         * bindings/v8/V8NodeFilterCondition.cpp:
3703         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
3704         (WebCore::V8NodeFilterCondition::acceptNode):
3705         * bindings/v8/V8NodeFilterCondition.h:
3706         (WebCore::V8NodeFilterCondition::create):
3707         (V8NodeFilterCondition):
3708         * dom/NodeFilter.h:
3709
3710 2012-12-10  Eric Carlson  <eric.carlson@apple.com>
3711
3712         Unreviewed build fix after r137167.
3713
3714         * WebCore.xcodeproj/project.pbxproj: Add InbandTextTrackPrivate.h to framework private 
3715             headers.
3716
3717 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
3718
3719         Fix the GTK+ build after a collision of two patches.
3720
3721         Unreviewed build fix.
3722
3723         * bindings/gobject/GNUmakefile.am: The GObject DOM bindings library needs to
3724         include the harfbuzz cflags when compiling.
3725
3726 2012-12-10  Parth Patel  <parpatel@rim.com>
3727
3728         Make hiddenPageDomTimerInterval a setting
3729         https://bugs.webkit.org/show_bug.cgi?id=104555
3730
3731         Reviewed by Yong Li.
3732
3733         Make hiddenPageDomTimerInterval a setting so client can customize it.
3734
3735         No new tests are needed.
3736
3737         * page/Page.cpp:
3738         (WebCore):
3739         (WebCore::Page::setVisibilityState):
3740         * page/Settings.cpp:
3741         (WebCore):
3742         (WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval):
3743         (WebCore::Settings::hiddenPageDOMTimerAlignmentInterval):
3744         * page/Settings.h:
3745         (Settings):
3746
3747 2012-12-10  peavo@outlook.com  <peavo@outlook.com>
3748
3749         [WinCairo] Compile fix in ImageCairoWin.cpp
3750         https://bugs.webkit.org/show_bug.cgi?id=104554
3751
3752         Reviewed by Brent Fulgham.
3753
3754         * platform/graphics/win/ImageCairoWin.cpp:
3755         (WebCore::BitmapImage::getHBITMAPOfSize): Added parameter.
3756         (WebCore::BitmapImage::drawFrameMatchingSourceSize): Added parameter.
3757
3758 2012-12-10  Mike West  <mkwst@chromium.org>
3759
3760         Log to console when script is blocked by sandbox attributes.
3761         https://bugs.webkit.org/show_bug.cgi?id=104365
3762
3763         Reviewed by Ojan Vafai.
3764
3765         Adds a console message to cover script execution blocked within the
3766         context of a sandboxed frame which lacks the 'allow-scripts' permission.
3767
3768         * bindings/ScriptControllerBase.cpp:
3769         (WebCore::ScriptController::canExecuteScripts):
3770             Log a warning when sandboxing flags block script execution.
3771
3772 2012-12-10  Chris Fleizach  <cfleizach@apple.com>
3773
3774         AX: Crash in NSAccessibilityUnignoredDescendant
3775         https://bugs.webkit.org/show_bug.cgi?id=104468
3776
3777         Reviewed by Anders Carlsson.
3778
3779         This crash occurred because AccessibilityScrollView stopped retaining it's ScrollView pointer.
3780
3781         Unfortunately, there was still a case that didn't correctly clear that variable. 
3782
3783         That case was when a Frame had a new FrameView associated with it. The old FrameView didn't inform the 
3784         accessibility object cache that it should be removed. As a result, when the FrameView deallocated and 
3785         did try to remove, it used the wrong AXObjectCache because it was no longer correctly hooked into the 
3786         document tree.
3787
3788         No new tests. Existing tests will stop crashing.
3789  
3790         * page/Frame.cpp:
3791         (WebCore::Frame::setView): change the name of the method that tells the FrameView to detach
3792         * page/FrameView.cpp:
3793         (WebCore::FrameView::~FrameView):
3794         (WebCore::FrameView::removeFromAXObjectCache): add a method that can be called in multiple places
3795         (WebCore::FrameView::isFrameView):
3796         (WebCore::FrameView::prepareForDetach): detaches scrollbars and accessibility
3797         * page/FrameView.h:
3798         (FrameView):
3799
3800 2012-12-10  Mark Pilgrim  <pilgrim@chromium.org>
3801
3802         [Chromium] Move getPluginsList out of PlatformSupport
3803         https://bugs.webkit.org/show_bug.cgi?id=96507
3804
3805         Reviewed by Darin Fisher.
3806
3807         Part of a refactoring series. See tracking bug 82948.
3808
3809         * WebCore.gypi:
3810         * platform/chromium/PlatformSupport.h:
3811         (PlatformSupport):
3812         * plugins/chromium/PluginDataChromium.cpp:
3813         (WebCore::PluginCache::plugins):
3814         * plugins/chromium/PluginListBuilder.cpp: Added.
3815         (WebKit):
3816         (WebKit::PluginListBuilder::addPlugin):
3817         (WebKit::PluginListBuilder::addMediaTypeToLastPlugin):
3818         (WebKit::PluginListBuilder::addFileExtensionToLastMediaType):
3819         * plugins/chromium/PluginListBuilder.h: Added.
3820         (WebKit):
3821         (PluginListBuilder):
3822         (WebKit::PluginListBuilder::PluginListBuilder):
3823
3824 2012-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3825
3826         [GTK] Build GObject DOM bindings as a separate library
3827         https://bugs.webkit.org/show_bug.cgi?id=104527
3828
3829         Reviewed by Xan Lopez.
3830
3831         * bindings/gobject/GNUmakefile.am: Add libWebCoreDOM library.
3832         * bindings/gobject/WebKitDOMBinding.h: Define private macros.
3833         * bindings/gobject/WebKitDOMCustom.h: Don't include webkit/webkitdefines.h.
3834         * bindings/gobject/WebKitDOMEventTarget.h: Ditto.
3835         * bindings/gobject/WebKitDOMObject.h: Ditto.
3836         * bindings/scripts/CodeGeneratorGObject.pm:
3837         (Generate): Don't include webkitglobalsprivate.h.
3838         (WriteData): Don't include webkit/webkitdefines.h.
3839         * bindings/scripts/gobject-generate-headers.pl: Define WEBKIT_API
3840         macro in webkitdomdefines.h.
3841         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3842         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
3843         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
3844         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
3845         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3846         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3847         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
3848         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
3849         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
3850         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
3851         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3852         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
3853         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
3854         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
3855         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3856         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3857         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3858         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
3859         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
3860         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
3861         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
3862         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
3863         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3864         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3865         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
3866         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
3867         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3868         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
3869
3870 2012-12-10  Adam Klein  <adamk@chromium.org>
3871
3872         In InbandTextTrackPrivate, return emptyAtoms instead of emptyString() by default.
3873
3874         Unreviewed build fix.
3875
3876         * platform/graphics/InbandTextTrackPrivate.h:
3877         (WebCore::InbandTextTrackPrivate::label):
3878         (WebCore::InbandTextTrackPrivate::language):
3879
3880 2012-12-10  Ilya Tikhonovsky  <loislo@chromium.org>
3881
3882         Web Inspector: Native Memory Instrumentation: instrument RenderBox descendants.
3883         https://bugs.webkit.org/show_bug.cgi?id=104026
3884
3885         Reviewed by Eric Seidel.
3886
3887         Plain vanilla instrumentation for RenderBox descendants.
3888
3889         * rendering/RenderFrameSet.cpp:
3890         (WebCore::RenderFrameSet::reportMemoryUsage):
3891         (WebCore):
3892         (WebCore::RenderFrameSet::GridAxis::reportMemoryUsage):
3893         * rendering/RenderFrameSet.h:
3894         (RenderFrameSet):
3895         (GridAxis):
3896         * rendering/RenderListMarker.cpp:
3897         (WebCore::RenderListMarker::reportMemoryUsage):
3898         (WebCore):
3899         * rendering/RenderListMarker.h:
3900         (RenderListMarker):
3901         * rendering/RenderReplaced.cpp:
3902         (WebCore::RenderReplaced::reportMemoryUsage):
3903         (WebCore):
3904         * rendering/RenderReplaced.h:
3905         (RenderReplaced):
3906         * rendering/RenderTableCol.cpp:
3907         (WebCore::RenderTableCol::reportMemoryUsage):
3908         (WebCore):
3909         * rendering/RenderTableCol.h:
3910         (RenderTableCol):
3911         * rendering/RenderTableRow.cpp:
3912         (WebCore::RenderTableRow::reportMemoryUsage):
3913         (WebCore):
3914         * rendering/RenderTableRow.h:
3915         (RenderTableRow):
3916         * rendering/RenderTableSection.cpp:
3917         (WebCore::RenderTableSection::reportMemoryUsage):
3918         (WebCore):
3919         (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
3920         (WebCore::RenderTableSection::CellStruct::reportMemoryUsage):
3921         * rendering/RenderTableSection.h:
3922         (CellStruct):
3923         (RowStruct):
3924
3925 2012-12-10  Alejandro Piñeiro  <apinheiro@igalia.com>
3926
3927         AX: wrong Enabled states on a ListBox
3928         https://bugs.webkit.org/show_bug.cgi?id=104483
3929
3930         Reviewed by Chris Fleizach.
3931
3932         Test: accessibility/listbox-enabled-states.html
3933
3934         * accessibility/AccessibilityListBoxOption.cpp:
3935         (WebCore::AccessibilityListBoxOption::isEnabled): taking into
3936         account the DISABLED attribute and the aria-disabled attribute to
3937         decide if the item is enabled or not.
3938
3939 2012-12-10  Adam Klein  <adamk@chromium.org>
3940
3941         cr-win build fix after r137161.
3942
3943         Unreviewed.
3944
3945         * platform/graphics/MediaPlayer.h: Replace forward-decl of
3946         InbandTextTrackPrivate with #include as the definition is required.
3947
3948 2012-12-10  Alexis Menard  <alexis@webkit.org>
3949
3950         [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
3951         https://bugs.webkit.org/show_bug.cgi?id=104539
3952
3953         Reviewed by Antonio Gomes.
3954
3955         As discussed on webkit-dev it is not needed to keep this feature flag 
3956         as support for <position> type is a small feature that is already 
3957         implemented by three other UAs. It was useful while landing this 
3958         feature as partial bits were landed one after one.
3959
3960         No new tests : the feature is covered by various tests and it is already enabled in many ports.
3961
3962         * Configurations/FeatureDefines.xcconfig:
3963         * GNUmakefile.am:
3964         * GNUmakefile.features.am:
3965         * css/CSSParser.cpp:
3966         (WebCore::CSSParser::parseFillPosition):
3967         (WebCore::CSSParser::parseFillProperty):
3968         * css/CSSParser.h:
3969         * css/CSSToStyleMap.cpp:
3970         (WebCore::CSSToStyleMap::mapFillXPosition):
3971         (WebCore::CSSToStyleMap::mapFillYPosition):
3972         * rendering/style/FillLayer.cpp:
3973         (SameSizeAsFillLayer):
3974         (WebCore::FillLayer::FillLayer):
3975         (WebCore::FillLayer::operator=):
3976         (WebCore::FillLayer::operator==):
3977         (WebCore::FillLayer::fillUnsetProperties):
3978         * rendering/style/FillLayer.h:
3979         (WebCore::FillLayer::backgroundXOrigin):
3980         (WebCore::FillLayer::backgroundYOrigin):
3981         (WebCore::FillLayer::isBackgroundOriginSet):
3982         (WebCore::FillLayer::clearXPosition):
3983         (WebCore::FillLayer::clearYPosition):
3984         (FillLayer):
3985
3986 2012-12-10  Eric Carlson  <eric.carlson@apple.com>
3987
3988         Add support for in-band text tracks to Mac port
3989         https://bugs.webkit.org/show_bug.cgi?id=103663
3990
3991         Reviewed by Sam Weinig.
3992
3993         Test: media/track/track-in-band.html
3994
3995         * GNUmakefile.list.am: Move InbandTextTrackPrivate.h to platform/graphics. Add InbandTextTrackPrivateClient.h.
3996         * Target.pri: Ditto.
3997         * WebCore.gypi: Ditto.
3998
3999         * WebCore.xcodeproj/project.pbxproj: Add new files.
4000
4001         * html/HTMLMediaElement.cpp:
4002         (WebCore::HTMLMediaElement::setReadyState): No need to call processInbandTextTracks, in-band tracks
4003             are now registered by the media engine as they are discovered.
4004         (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): New, called by the media player when a new
4005             in-band track is found.
4006         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTrack): New, called by the media player when an
4007             in-band track goes away.
4008         * html/HTMLMediaElement.h:
4009
4010         * html/track/InbandTextTrack.cpp:
4011         (WebCore::InbandTextTrack::InbandTextTrack): Use m_private instead of tracksPrivate because
4012             it is zeroed during assignment.
4013
4014         * platform/graphics/MediaPlayer.cpp:
4015         (WebCore::MediaPlayer::addTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
4016             to add a new in-band track.
4017         (WebCore::MediaPlayer::removeTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
4018             to remove a new in-band track.
4019         * platform/graphics/MediaPlayer.h:
4020         * platform/graphics/MediaPlayerPrivate.h:
4021
4022         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Added.
4023         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF):
4024         (WebCore::InbandTextTrackPrivateAVF::~InbandTextTrackPrivateAVF):
4025         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Convert an attribute string into WebVTT 
4026             cue setting and content strings.
4027         (WebCore::InbandTextTrackPrivateAVF::processCue): Process a new cue.
4028         (WebCore::InbandTextTrackPrivateAVF::disconnect): Clear member variables.