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