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