Refactor ShadowRoot exception handling
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
2         Refactor ShadowRoot exception handling
3         https://bugs.webkit.org/show_bug.cgi?id=108209
4
5         Reviewed by Dimitri Glazkov.
6
7         Many of the exception cases for ShadowRoot are actually impossible and
8         should be asserts instead. We can also move the one case of exception logic,
9         for elements that don't allow author shadows into Element::createShadowRoot
10         instead of having it all over the ShadowRoot and ElementShadow classes. This
11         is the first step in centralizing all ShadowRoot creation inside ElementShadow.
12
13         No new tests, covered by existing tests.
14
15         * WebCore.exp.in:
16         * dom/Element.cpp:
17         (WebCore::Element::createShadowRoot): Be explicit about what kind of ShadowRoot you're creating.
18         (WebCore::Element::ensureUserAgentShadowRoot): No more exceptions.
19         * dom/ElementShadow.cpp:
20         (WebCore::ElementShadow::addShadowRoot): This never actually throws exceptions, remove ExceptionCode.
21         * dom/ElementShadow.h:
22         (ElementShadow):
23         * dom/ShadowRoot.cpp:
24         (WebCore::determineUsageType): Merge with Element::createShadowRoot.
25         (WebCore):
26         (WebCore::ShadowRoot::ShadowRoot): Moved Histogram logic here since it's actually about the constructor anyway.
27         (WebCore::ShadowRoot::create): Removed overload that made the code less obvious.
28         * dom/ShadowRoot.h:
29         (ShadowRoot):
30         * html/HTMLKeygenElement.cpp:
31         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
32         * html/shadow/TextFieldDecorationElement.cpp:
33         (WebCore::getDecorationRootAndDecoratedRoot):
34         * testing/Internals.cpp:
35         (WebCore::Internals::ensureShadowRoot):
36         (WebCore::Internals::createShadowRoot):
37
38 2013-01-29  Mark Lam  <mark.lam@apple.com>
39
40         Change DatabaseContext lookup to be thread-safe.
41         https://bugs.webkit.org/show_bug.cgi?id=107784.
42
43         Reviewed by Geoffrey Garen.
44
45         DatabaseContext will no longer be a Supplement of ScriptExecutionContext.
46         Instead we will maintain a mutex guarded contextMap in the DatabaseManager
47         which maps ScriptExecutionContexts to DatabaseContexts.
48
49         Also cleaned up the shutdown mechanism of the DatabaseContext,
50         DatabaseThread, and Databases when their owner ScriptExecutionContext
51         destructs.
52
53         No new tests.
54
55         * Modules/webdatabase/AbstractDatabase.cpp:
56         (WebCore::AbstractDatabase::AbstractDatabase):
57         * Modules/webdatabase/AbstractDatabase.h:
58         (WebCore::AbstractDatabase::databaseContext):
59         (AbstractDatabase):
60         * Modules/webdatabase/Database.cpp:
61         (WebCore::Database::Database):
62         * Modules/webdatabase/Database.h:
63         (WebCore):
64         (Database):
65         * Modules/webdatabase/DatabaseContext.cpp:
66         (WebCore):
67         (WebCore::DatabaseContext::DatabaseContext):
68         (WebCore::DatabaseContext::~DatabaseContext):
69         (WebCore::DatabaseContext::contextDestroyed):
70         (WebCore::DatabaseContext::stop):
71         (WebCore::DatabaseContext::databaseThread):
72         (WebCore::DatabaseContext::stopDatabases):
73         * Modules/webdatabase/DatabaseContext.h:
74         (DatabaseContext):
75         (WebCore::DatabaseContext::scriptExecutionContext):
76         (WebCore::DatabaseContext::hasOpenDatabases):
77         (WebCore::DatabaseContext::stopDatabases):
78         * Modules/webdatabase/DatabaseManager.cpp:
79         (WebCore::DatabaseManager::manager):
80         (WebCore::DatabaseManager::DatabaseManager):
81         (WebCore::DatabaseManager::getExistingDatabaseContext):
82         (WebCore):
83         (WebCore::DatabaseManager::getDatabaseContext):
84         (WebCore::DatabaseManager::registerDatabaseContext):
85         (WebCore::DatabaseManager::unregisterDatabaseContext):
86         (WebCore::DatabaseManager::notifyDatabaseContextConstructed):
87         (WebCore::DatabaseManager::notifyDatabaseContextDestructed):
88         (WebCore::DatabaseManager::openDatabase):
89         (WebCore::DatabaseManager::openDatabaseSync):
90         (WebCore::DatabaseManager::hasOpenDatabases):
91         (WebCore::DatabaseManager::stopDatabases):
92         (WebCore::DatabaseManager::interruptAllDatabasesForContext):
93         * Modules/webdatabase/DatabaseManager.h:
94         (WebCore):
95         (DatabaseManager):
96         (WebCore::DatabaseManager::notifyDatabaseContextConstructed):
97         (WebCore::DatabaseManager::notifyDatabaseContextDestructed):
98         * Modules/webdatabase/DatabaseSync.cpp:
99         (WebCore::DatabaseSync::DatabaseSync):
100         * Modules/webdatabase/DatabaseSync.h:
101         (WebCore):
102         (DatabaseSync):
103         * Modules/webdatabase/DatabaseThread.cpp:
104         (WebCore::DatabaseThread::~DatabaseThread):
105         (WebCore::DatabaseThread::requestTermination):
106         * Modules/webdatabase/DatabaseTracker.cpp:
107         (WebCore::DatabaseTracker::canEstablishDatabase):
108         * dom/ActiveDOMObject.cpp:
109         (WebCore::ActiveDOMObject::~ActiveDOMObject):
110
111 2013-01-29  Julien Chaffraix  <jchaffraix@webkit.org>
112
113         [CSS Grid Layout] Make resolveContentBasedTrackSizingFunctionsForItems reuse distributeSpaceToTracks
114         https://bugs.webkit.org/show_bug.cgi?id=108110
115
116         Reviewed by Tony Chang.
117
118         This change makes us match more closely the specification by reusing distributeSpaceToTracks inside
119         resolveContentBasedTrackSizingFunctionsForItems. This also removes some existing code duplication.
120
121         Refactoring covered by existing tests.
122
123         * rendering/RenderGrid.cpp:
124         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
125         Updated after distributeSpaceToTracks new arguments. Copying the tracks to a Vector<GridTrack*> is
126         now done here.
127
128         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
129         Removed code duplication and switched to using distributeSpaceToTracks.
130
131         (WebCore::RenderGrid::distributeSpaceToTracks):
132         Refactored distributeSpaceToTracks to implement the distribution of any extra space above max breadth
133         as it was required to pass the tests (required to properly handling min-content > max). Also changed
134         the arguments of the function to better match the intent of the function.
135
136         * rendering/RenderGrid.h: Updated distributeSpaceToTracks's arguments.
137
138 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
139
140         Remove all ShadowRoots during ElementShadow destruction
141         https://bugs.webkit.org/show_bug.cgi?id=108207
142
143         Reviewed by Dimitri Glazkov.
144
145         There's no reason to expose removeAllShadowRoots since the only legitimate
146         place to call it is right as we're destroying the ElementShadow.
147
148         No new tests, just refactoring.
149
150         * dom/Element.cpp:
151         (WebCore::Element::~Element): Remove call to removeAllShadowRoots()
152         * dom/ElementShadow.h:
153         (WebCore::ElementShadow::~ElementShadow): Call removeAllShadowRoots().
154         (ElementShadow): Make removeAllShadowRoots() private.
155
156 2013-01-29  Justin Novosad  <junov@google.com>
157
158         REGRESSION (r135628-135632): Double box shadow failure to render
159         https://bugs.webkit.org/show_bug.cgi?id=107833
160
161         Reviewed by Simon Fraser.
162
163         Regression caused by http://trac.webkit.org/changeset/135629
164         The regression was due to faulty occlusion logic that was assuming
165         that drawing the background color of a render box background layer
166         could be skipped when the same layer also has an opaque image attached.
167         In the case where the background color is drawn for the purpose of
168         rendering a box shadow, the shadow is typically not
169         completely occluded by the background image because of the shadow
170         blur and/or offset.  This patch fixes the problem by not culling a
171         background draw if it is used to draw a box shadow.
172
173         Test: fast/backgrounds/gradient-background-shadow.html
174
175         * rendering/RenderBoxModelObject.cpp:
176         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
177         Changing occlusion culling test to never cull background color
178         draw if it is used to draw a box shadow. This is because box shadows
179         can draw outside the border fill region.
180
181 2013-01-29  Ian Vollick  <vollick@chromium.org>
182
183         Add RenderLayer::enclosingStackingContainer
184         https://bugs.webkit.org/show_bug.cgi?id=108211
185
186         Reviewed by Simon Fraser.
187
188         No new tests, no change in functionality.
189
190         * rendering/RenderLayer.h:
191         (WebCore::RenderLayer::enclosingStackingContainer):
192           This function is similar to RenderLayer::stackingContainer, but may return the
193           layer itself if it's a stacking container.
194
195 2013-01-29  Patrick Gansterer  <paroga@webkit.org>
196
197         Rename TextBreakIteratorWinCE to TextBreakIteratorWchar
198         https://bugs.webkit.org/show_bug.cgi?id=108094
199
200         Reviewed by Ryosuke Niwa.
201
202         TextBreakIteratorWinCE does not contain any Windows CE specific code.
203         Rename it to TextBreakIteratorWchar to match the name in wtf/unicode.
204
205         * platform/text/wchar/TextBreakIteratorWchar.cpp: Renamed from Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp.
206
207 2013-01-29  Tommy Widenflycht  <tommyw@google.com>
208
209         MediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescriptor it belongs to
210         https://bugs.webkit.org/show_bug.cgi?id=108173
211
212         Reviewed by Adam Barth.
213
214         To be able to return the MediaStreamDescriptor a MediaStreamComponent belongs to the "ownership"
215         of the MediaStreamDescriptor needed to move from a MediaStreamTrack to the MediaStreamComponent.
216         This is also better from an architectonic view as well.
217
218         Patch covered by existing tests.
219
220         * Modules/mediastream/MediaStream.cpp:
221         (WebCore::MediaStream::MediaStream):
222         (WebCore::MediaStream::addTrack):
223         (WebCore::MediaStream::addRemoteTrack):
224         * Modules/mediastream/MediaStreamTrack.cpp:
225         (WebCore::MediaStreamTrack::create):
226         (WebCore::MediaStreamTrack::MediaStreamTrack):
227         (WebCore::MediaStreamTrack::setEnabled):
228         * Modules/mediastream/MediaStreamTrack.h:
229         (MediaStreamTrack):
230         * Modules/mediastream/RTCStatsRequestImpl.cpp:
231         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
232         * platform/chromium/support/WebMediaStreamComponent.cpp:
233         (WebKit::WebMediaStreamComponent::stream):
234         (WebKit):
235         * platform/mediastream/MediaStreamComponent.h:
236         (WebCore):
237         (WebCore::MediaStreamComponent::create):
238         (MediaStreamComponent):
239         (WebCore::MediaStreamComponent::stream):
240         (WebCore::MediaStreamComponent::setStream):
241         (WebCore::MediaStreamComponent::MediaStreamComponent):
242         * platform/mediastream/MediaStreamDescriptor.h:
243         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
244
245 2013-01-29  Alec Flett  <alecflett@chromium.org>
246
247         IndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess
248         https://bugs.webkit.org/show_bug.cgi?id=103920
249
250         Reviewed by Dimitri Glazkov.
251
252         Update IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded to
253         pass through a metadata parameter. While there, remove the unused
254         IDBTransactionBackendInterface parameter to onUpgradeNeeded.
255
256         As this is another step in the IDB refactor, I've simplified future cleanup
257         work by making the WebKit API code still use the old API. This
258         will make it possible to outright remove code on the chromium side rather
259         than another three-step checkin.
260
261         No new tests, as this is more refactoring.
262
263         * Modules/indexeddb/IDBCallbacks.h:
264         (WebCore::IDBCallbacks::onUpgradeNeeded): new method signature.
265         (WebCore::IDBCallbacks::onSuccess): new method signature.
266         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
267         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
268         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
269         (WebCore::IDBDatabaseBackendImpl::openConnection):
270         * Modules/indexeddb/IDBOpenDBRequest.cpp:
271         (WebCore::IDBOpenDBRequest::onUpgradeNeeded): use passed-in metadata.
272         (WebCore::IDBOpenDBRequest::onSuccess): use passed-in metadata.
273         * Modules/indexeddb/IDBOpenDBRequest.h:
274         (IDBOpenDBRequest):
275
276 2013-01-29  Dirk Schulze  <dschulze@adobe.com>
277
278         Canvas support for isPointInStroke
279         https://bugs.webkit.org/show_bug.cgi?id=108185
280
281         Reviewed by Dean Jackson.
282
283         isPointInStroke(x,y) returns true if a point hits the stroke
284         with applied stroke styles like dashArray, lineCap, lineJoin, lineWidth.
285         The syntax is similar to isPointInPath, which returns true if a point hits
286         the fill area of a path.
287         Firefox implemented isPointInStroke originally and unprefixed it recently:
288
289         https://bugzilla.mozilla.org/show_bug.cgi?id=803124
290
291         Test: fast/canvas/canvas-isPointInStroke.html
292
293         * html/canvas/CanvasRenderingContext2D.cpp:
294         (WebCore::CanvasStrokeStyleApplier::strokeStyle): Take dashArray and lineDashOffset into account.
295         (WebCore):
296         (WebCore::CanvasRenderingContext2D::isPointInStroke): The implementation of the function.
297         * html/canvas/CanvasRenderingContext2D.h:
298         (CanvasRenderingContext2D):
299         * html/canvas/CanvasRenderingContext2D.idl: Added operation to interface.
300
301 2013-01-29  Nate Chapin  <japhet@chromium.org>
302
303         Enable reuse of cached main resources
304         https://bugs.webkit.org/show_bug.cgi?id=105667
305
306         Reviewed by Adam Barth.
307
308         Test: http/tests/cache/cached-main-resource.html
309
310         * WebCore.exp.in:
311         * dom/Document.cpp:
312         (WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
313         (WebCore):
314         * dom/Document.h:
315         (Document):
316         * loader/FrameLoader.cpp:
317         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
318             MainResourceLoader will take care of it.
319         * loader/MainResourceLoader.cpp:
320         (WebCore::MainResourceLoader::MainResourceLoader):
321         (WebCore::MainResourceLoader::receivedError):
322         (WebCore::MainResourceLoader::willSendRequest):
323         (WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
324         (WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
325         (WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
326             ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
327         (WebCore::MainResourceLoader::identifier):
328         * loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
329             to better describe when it is used.
330         * loader/cache/CachedRawResource.cpp:
331         (WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
332         (WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
333         (WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
334         * loader/cache/CachedRawResource.h:
335         (CachedRawResource):
336         (RedirectPair):
337         (WebCore::CachedRawResource::RedirectPair::RedirectPair):
338         * loader/cache/CachedResource.cpp:
339         (WebCore::CachedResource::addClientToSet): Don't return cached data for a main resource synchronously
340         * loader/cache/CachedResource.h:
341         (WebCore::CachedResource::canReuse):
342         (CachedResource):
343         * loader/cache/CachedResourceLoader.cpp:
344         (WebCore::CachedResourceLoader::requestResource): Leave cahce reuse of main resources off for chromium for now.
345         (WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
346         * testing/Internals.cpp:
347         (WebCore::Internals::isPreloaded):
348         (WebCore):
349         (WebCore::Internals::isLoadingFromMemoryCache):
350         * testing/Internals.h:
351         (Internals):
352         * testing/Internals.idl:
353
354 2013-01-29  Min Qin  <qinmin@chromium.org>
355
356         Fix a problem that deferred image decoding is enabled for multiframe images
357         https://bugs.webkit.org/show_bug.cgi?id=108152
358
359         Reviewed by Stephen White.
360
361         Deferred image decoding should only work for single frame images now.
362         However, using ImageDecoder::repetitionCount() does not capture all the cases.
363         Enforce the rule using ImageDecoder::frameCount()==1.
364         Fixing a failing layout test: platform/chromium/virtual/deferred/fast/images/icon-0colors.html
365
366         * platform/graphics/chromium/DeferredImageDecoder.cpp:
367         (WebCore::DeferredImageDecoder::frameBufferAtIndex):
368
369 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
370
371         Move ElementShadow creation to ElementRareData
372         https://bugs.webkit.org/show_bug.cgi?id=108195
373
374         Reviewed by Dimitri Glazkov.
375
376         Move the creation of ElementShadow to ElementRareData
377         for better encapsulation, and get rid of ElementRareData::setShadow.
378
379         No new tests, just refactoring.
380
381         * dom/Element.cpp:
382         (WebCore::Element::~Element): Use clearShadow() instead of setShadow which is removed.
383         (WebCore::Element::shadow):
384         (WebCore::Element::ensureShadow): Use ElementRareData::ensureShadow().
385         * dom/ElementRareData.h:
386         (WebCore::ElementRareData::clearShadow): Added.
387         (WebCore::ElementRareData::ensureShadow): Added.
388
389 2013-01-29  Alpha Lam  <hclam@chromium.org>
390
391         [chromium] Unreviewed build fix.
392
393         Revert my revert at 141033 which can cause deadlock.
394
395         * platform/graphics/chromium/DiscardablePixelRef.cpp:
396         (WebCore::DiscardablePixelRefAllocator::allocPixelRef):
397         (WebCore::DiscardablePixelRef::DiscardablePixelRef):
398         * platform/graphics/chromium/DiscardablePixelRef.h:
399         (DiscardablePixelRef):
400
401 2013-01-29  Joshua Bell  <jsbell@chromium.org>
402
403         [Chromium] IndexedDB: Let callers specify reason (error) for aborting transaction
404         https://bugs.webkit.org/show_bug.cgi?id=107851
405
406         Reviewed by Tony Chang.
407
408         Internal to the back-end, callers are able to abort transactions and specify a reason
409         as an IDBDatabaseError, e.g. ConstraintError. Expose this to the WebKit/chromium/public
410         API so that intermediate layers can specify reasons as well, e.g. QuotaExceededError.
411
412         Test will land in Chromium as fix for crbug.com/113118
413
414         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
415         (WebCore::IDBDatabaseBackendImpl::abort): Added overload that takes error.
416         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Ditto.
417         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Ditto.
418
419 2013-01-29  Victor Carbune  <vcarbune@chromium.org>
420
421         Heap-use-after-free in WebCore::RenderTextTrackCue::layout
422         https://bugs.webkit.org/show_bug.cgi?id=108197
423
424         Reviewed by Eric Carlson.
425
426         Test: media/track/track-cue-rendering-tree-is-removed-properly.html
427
428         * html/HTMLMediaElement.cpp:
429         (WebCore::HTMLMediaElement::textTrackRemoveCue): Ensure the display tree
430         is removed when the cue is removed from the list of cues.
431         * html/track/TextTrackCue.cpp:
432         (WebCore::TextTrackCue::~TextTrackCue): Enfore display tree removal.
433
434 2013-01-29  Eli Fidler  <efidler@rim.com>
435
436         On HarfbuzzNG ports, Arabic TATWEEL is not joined.
437         https://bugs.webkit.org/show_bug.cgi?id=108037
438
439         Reviewed by Tony Chang.
440
441         The tatweel (U+0640) is being split into a separate run, because its script is USCRIPT_COMMON.
442         It has script extensions for USCRIPT_ARABIC, so I think it shouldn't trigger a new run.
443
444         Test: fast/text/international/arabic-tatweel-join.html
445
446         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
447         (WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
448
449 2013-01-29  Martin Robinson  <mrobinson@igalia.com>
450
451         [Freetype] Cannot use characters outside the BMP
452         https://bugs.webkit.org/show_bug.cgi?id=108102
453
454         Reviewed by Carlos Garcia Campos.
455
456         Test: platform/gtk/fonts/non-bmp-characters.html
457
458         Instead of never handling surrogate pairs when dealing with UChar arrays,
459         abstract way the logic for this into UTF16UChar32Iterator and use it
460         everywhere in Freetype. This allows the Freetype backend to render
461         non-BMP characters which are always represented as surrogate pairs in
462         UTF-16.
463
464         * GNUmakefile.list.am: Added UTF16UChar32Iterator to the source list.
465         * platform/graphics/freetype/FontCacheFreeType.cpp:
466         (WebCore::createFontConfigPatternForCharacters): Use the new iterator.
467         (WebCore::FontCache::getFontDataForCharacters): Ditto.
468         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
469         (WebCore::GlyphPage::fill): Ditto. Remove the early return when dealing
470         with non-BMP data.
471         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
472         (WebCore::SimpleFontData::containsCharacters): Use the new iterator.
473         * platform/graphics/freetype/UTF16UChar32Iterator.h: Added. An iterator that
474         extracts UChar32 from UTF-16 UChar arrays.
475
476         * GNUmakefile.list.am:
477         * platform/graphics/freetype/FontCacheFreeType.cpp:
478         (WebCore::createFontConfigPatternForCharacters):
479         (WebCore::FontCache::getFontDataForCharacters):
480         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
481         (WebCore::GlyphPage::fill):
482         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
483         (WebCore::SimpleFontData::containsCharacters):
484         * platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
485         (WebCore):
486         (UTF16UChar32Iterator):
487         (WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
488         (WebCore::UTF16UChar32Iterator::end):
489         (WebCore::UTF16UChar32Iterator::next):
490
491         * GNUmakefile.list.am:
492         * platform/graphics/freetype/FontCacheFreeType.cpp:
493         (WebCore::createFontConfigPatternForCharacters):
494         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
495         (WebCore::GlyphPage::fill):
496         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
497         (WebCore::SimpleFontData::containsCharacters):
498         * platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
499         (WebCore):
500         (UTF16UChar32Iterator):
501         (WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
502         (WebCore::UTF16UChar32Iterator::end):
503         (WebCore::UTF16UChar32Iterator::next):
504
505 2013-01-29  Glenn Hartmann  <hartmanng@chromium.org>
506
507         Don't overlap test for composited scroll DIVs after scroll
508         https://bugs.webkit.org/show_bug.cgi?id=107471
509
510         Reviewed by Simon Fraser.
511
512         We don't need to test for overlap after scroll when both
513         usesCompositedScrolling and !hasOutOfFlowPositionedDescendant
514         because:
515
516         a) Since we're using composited-scrolling, the composited region
517         presented by the composited-scrolling element to other non-descendant
518         layers doesn't change during composited scrolling (it's always the
519         entire scroll layer), and
520
521         b) Since we have no out of flow positioned descendants, the scrolling
522         descendants all move together, so their overlap with respect to each
523         other cannot change.
524
525         So no descendants nor any non-descendants can have their overlap
526         affected, so it's safe to skip testing.
527
528         No new tests (no change in behaviour).
529
530         * rendering/RenderLayer.cpp:
531         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
532         * rendering/RenderLayerCompositor.cpp:
533         (WebCore::RenderLayerCompositor::updateCompositingLayers):
534         * rendering/RenderLayerCompositor.h:
535
536 2013-01-29  Alexis Menard  <alexis@webkit.org>
537
538         Implement pseudoElement attribute on transition DOM events.
539         https://bugs.webkit.org/show_bug.cgi?id=107986
540
541         Reviewed by Julien Chaffraix.
542
543         Implement the pseudoElement attribute documented here :
544         http://dev.w3.org/csswg/css3-transitions/#transition-events.
545         This add a new attribute to the transition DOM event useful when
546         animating pseudo elements. As they are not accessible in JS, it's
547         very useful to get on which pseudo element the transition just ended.
548         This patch adds the new attribute on the IDLs of DOM transition events as well
549         as adding it to the C++ classes representing them. The event
550         dispatching code have been patched to change the target of the event
551         (we can't send the current target as it is the actual DOM
552         representation of the pseudo element).
553
554         Test: fast/css-generated-content/pseudo-transition-event.html
555
556         * dom/EventDispatcher.cpp:
557         (WebCore::eventTargetRespectingTargetRules): Change the target of the
558         event in the case of a pseudo element. We can't expose them through the
559         public interface so the target is the node they belong to.
560         (WebCore::EventDispatcher::ensureEventAncestors):
561         (WebCore::EventDispatcher::dispatchScopedEvent):
562         (WebCore::EventDispatcher::dispatchEvent):
563         (WebCore::EventDispatcher::dispatchEventPostProcess):
564         * dom/EventTarget.cpp:
565         (WebCore::createMatchingPrefixedEvent):
566         * dom/PseudoElement.cpp:
567         (WebCore::PseudoElement::pseudoElementNameForEvents):
568         (WebCore):
569         * dom/PseudoElement.h:
570         * dom/TransitionEvent.cpp:
571         (WebCore::TransitionEventInit::TransitionEventInit):
572         (WebCore::TransitionEvent::TransitionEvent):
573         (WebCore::TransitionEvent::pseudoElement):
574         (WebCore):
575         * dom/TransitionEvent.h:
576         (TransitionEventInit):
577         (WebCore::TransitionEvent::create):
578         (TransitionEvent):
579         * dom/TransitionEvent.idl:
580         * dom/WebKitTransitionEvent.cpp:
581         (WebCore::WebKitTransitionEventInit::WebKitTransitionEventInit):
582         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
583         (WebCore::WebKitTransitionEvent::pseudoElement):
584         (WebCore):
585         * dom/WebKitTransitionEvent.h:
586         (WebKitTransitionEventInit):
587         (WebCore::WebKitTransitionEvent::create):
588         (WebKitTransitionEvent):
589         * dom/WebKitTransitionEvent.idl:
590         * page/animation/AnimationController.cpp:
591         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Pass
592         the pseudo element name when creating the Event objects. If the element
593         is not a pseudo element then the name will be empty which is what the
594         spec is telling to do. If the element is a pseudo element then the name
595         will be the pseudo element's name with "::" as a prefix.
596
597 2013-01-29  Allan Sandfeld Jensen  <allan.jensen@digia.com>
598
599         [Qt] Implement GCActivityCallback
600         https://bugs.webkit.org/show_bug.cgi?id=103998
601
602         Reviewed by Simon Hausmann.
603
604         Implements the activity triggered garbage collector,
605         and disables the timer based fallback.
606
607         * bindings/js/GCController.cpp:
608         (WebCore::GCController::GCController):
609         (WebCore::GCController::garbageCollectSoon):
610         * bindings/js/GCController.h:
611         (GCController):
612
613 2013-01-29  Andrey Lushnikov  <lushnikov@chromium.org>
614
615         Web Inspector: fix bottom span in token highlight in DTE
616         https://bugs.webkit.org/show_bug.cgi?id=108194
617
618         Reviewed by Pavel Feldman.
619
620         Change css style for token highlight from "border" to "outline" to
621         avoid border included in box dimensions.
622
623         No new tests: no change in behaviour.
624
625         * inspector/front-end/textEditor.css:
626         (.text-editor-token-highlight):
627
628 2013-01-29  Andrey Lushnikov  <lushnikov@chromium.org>
629
630         Web Inspector: introduce HighlightDescriptor interface in DTE.
631         https://bugs.webkit.org/show_bug.cgi?id=108161
632
633         Reviewed by Pavel Feldman.
634
635         Introduce new HighlightDescriptor interface and its
636         RegexHighlightDescriptor implementation and use it in DTE to
637         support overlay highlight.
638
639         No new tests: no change in behaviour.
640
641         * inspector/front-end/DefaultTextEditor.js:
642         (WebInspector.DefaultTextEditor.prototype.highlightRegex):
643         (WebInspector.DefaultTextEditor.prototype.removeRegexHighlight):
644         (WebInspector.TextEditorMainPanel):
645         (WebInspector.TextEditorMainPanel.prototype.highlightRegex):
646         (WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
647         (WebInspector.TextEditorMainPanel.prototype._paintLines):
648         (WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor):
649         (WebInspector.TextEditorMainPanel.HighlightDescriptor): Added.
650         (WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.affectsLine):
651         (WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.rangesForLine):
652         (WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.cssClass):
653         (WebInspector.TextEditorMainPanel.RegexHighlightDescriptor): Added.
654         (WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.affectsLine):
655         (WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.rangesForLine):
656         (WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.cssClass):
657         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._highlight):
658         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._removeHighlight):
659         * inspector/front-end/TextEditor.js:
660         (WebInspector.TextEditor.prototype.removeRegexHighlight):
661
662 2013-01-29  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
663
664         [EFL] Unified text checker implementation.
665         https://bugs.webkit.org/show_bug.cgi?id=107682
666
667         Reviewed by Anders Carlsson.
668
669         No new tests, covered by editing/spelling tests.
670
671         * platform/text/TextChecking.h:
672         (WebCore):
673         Enabling unified text checker feature for WebKit-EFL.
674
675 2013-01-29  Vladislav Kaznacheev  <kaznacheev@chromium.org>
676
677         Web Inspector: Wrong indent in Styles sidebar pane
678         https://bugs.webkit.org/show_bug.cgi?id=108186
679
680         Reviewed by Alexander Pavlov.
681
682         Added an extra selector to prevent a conflict with a rule in elementsPanel.css.
683
684         No new tests.
685
686         * inspector/front-end/inspector.css:
687         (.pane.expanded .section .properties, .event-bar .event-properties):
688
689 2013-01-29  Florin Malita  <fmalita@chromium.org>
690
691         [Chromium] Unreviewed gardening.
692
693         Update bindings-tests results after http://trac.webkit.org/changeset/141034.
694
695         * bindings/scripts/test/V8/V8Float64Array.cpp:
696         (WebCore):
697         (WebCore::checkTypeOrDieTrying):
698         (WebCore::V8Float64Array::createWrapper):
699         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
700         (WebCore):
701         (WebCore::checkTypeOrDieTrying):
702         (WebCore::V8TestActiveDOMObject::createWrapper):
703         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
704         (WebCore):
705         (WebCore::checkTypeOrDieTrying):
706         (WebCore::V8TestCustomNamedGetter::createWrapper):
707         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
708         (WebCore):
709         (WebCore::checkTypeOrDieTrying):
710         (WebCore::V8TestEventConstructor::createWrapper):
711         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
712         (WebCore):
713         (WebCore::checkTypeOrDieTrying):
714         (WebCore::V8TestEventTarget::createWrapper):
715         * bindings/scripts/test/V8/V8TestException.cpp:
716         (WebCore):
717         (WebCore::checkTypeOrDieTrying):
718         (WebCore::V8TestException::createWrapper):
719         * bindings/scripts/test/V8/V8TestInterface.cpp:
720         (WebCore):
721         (WebCore::checkTypeOrDieTrying):
722         (WebCore::V8TestInterface::createWrapper):
723         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
724         (WebCore):
725         (WebCore::checkTypeOrDieTrying):
726         (WebCore::V8TestMediaQueryListListener::createWrapper):
727         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
728         (WebCore):
729         (WebCore::checkTypeOrDieTrying):
730         (WebCore::V8TestNamedConstructor::createWrapper):
731         * bindings/scripts/test/V8/V8TestNode.cpp:
732         (WebCore):
733         (WebCore::checkTypeOrDieTrying):
734         (WebCore::V8TestNode::createWrapper):
735         * bindings/scripts/test/V8/V8TestObj.cpp:
736         (WebCore):
737         (WebCore::checkTypeOrDieTrying):
738         (WebCore::V8TestObj::createWrapper):
739         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
740         (WebCore):
741         (WebCore::checkTypeOrDieTrying):
742         (WebCore::V8TestOverloadedConstructors::createWrapper):
743         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
744         (WebCore):
745         (WebCore::checkTypeOrDieTrying):
746         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
747
748 2013-01-29  Andrey Adaikin  <aandrey@chromium.org>
749
750         Web Inspector: [Canvas] support instrumenting canvases in iframes (backend side)
751         https://bugs.webkit.org/show_bug.cgi?id=107951
752
753         Reviewed by Pavel Feldman.
754
755         Accept optional FrameId argument for captureFrame and startCapturing commands.
756         Add event to the protocol to inform about instrumented canvas context creation.
757
758         * inspector/Inspector.json:
759         * inspector/InspectorCanvasAgent.cpp:
760         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
761         (WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
762         (WebCore::InspectorCanvasAgent::captureFrame):
763         (WebCore::InspectorCanvasAgent::startCapturing):
764         (WebCore::InspectorCanvasAgent::getTraceLog):
765         (WebCore::InspectorCanvasAgent::replayTraceLog):
766         (WebCore::InspectorCanvasAgent::getResourceInfo):
767         (WebCore::InspectorCanvasAgent::getResourceState):
768         (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
769         (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
770         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
771         (WebCore):
772         (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
773         (WebCore::InspectorCanvasAgent::frameNavigated):
774         (WebCore::InspectorCanvasAgent::frameDetached):
775         * inspector/InspectorCanvasAgent.h:
776         (WebCore):
777         (WebCore::InspectorCanvasAgent::create):
778         (InspectorCanvasAgent):
779         * inspector/InspectorController.cpp:
780         (WebCore::InspectorController::InspectorController):
781         * inspector/InspectorInstrumentation.cpp:
782         (WebCore):
783         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
784         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
785
786 2013-01-29  Eugene Klyuchnikov  <eustas@chromium.org>
787
788         Web Inspector: [CPU Profile] Taking profile crashes renderer.
789         https://bugs.webkit.org/show_bug.cgi?id=108072
790
791         Reviewed by Yury Semikhatsky.
792
793         Test: inspector/profiler/cpu-profiler-agent-crash-on-start.html
794
795         Fixed null-pointer access.
796
797         * bindings/v8/ScriptProfiler.cpp:
798         (WebCore::ScriptProfiler::start): Fixed null-pointer access.
799         (WebCore::ScriptProfiler::stop): Ditto.
800
801 2013-01-29  Allan Sandfeld Jensen  <allan.jensen@digia.com>
802
803         REGRESSION: ChildrenAffectedBy flags lost between siblings which have child elements sharing style
804         https://bugs.webkit.org/show_bug.cgi?id=105672
805
806         Reviewed by Andreas Kling.
807
808         Change in how childrenAffectedBy bits were stored made it easier to trigger an issue where childrenAffectedBy bits
809         were not set due to sharing of styles between cousin elements.
810
811         This patch fixes the issue by not sharing styles from children with parents who prevent sharing.
812
813         Tests: fast/selectors/cousin-stylesharing-adjacent-selector.html
814                fast/selectors/cousin-stylesharing-last-child-selector.html
815
816         * css/StyleResolver.cpp:
817         (WebCore::parentElementPreventsSharing):
818         (WebCore::StyleResolver::locateCousinList):
819         * dom/Element.cpp:
820         (WebCore::Element::hasFlagsSetDuringStylingOfChildren):
821         * dom/Element.h:
822         (Element):
823
824 2013-01-29  Vsevolod Vlasov  <vsevik@chromium.org>
825
826         Web Inspector: [Regression] Search across all sources is broken.
827         https://bugs.webkit.org/show_bug.cgi?id=108157
828
829         Reviewed by Pavel Feldman.
830
831         Test: http/tests/inspector/search/scripts-search-scope.html
832
833         * inspector/front-end/ScriptsSearchScope.js:
834         (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
835
836 2013-01-29  Mike West  <mkwst@chromium.org>
837
838         IDBFactory::webkitGetDatabaseNames should raise DOMExceptions.
839         https://bugs.webkit.org/show_bug.cgi?id=108154
840
841         Reviewed by Jochen Eisinger.
842
843         In order to properly support blocking third-party IndexedDB usage,
844         open(), getDatabaseNames(), and deleteDatabase() should all throw
845         SECURITY_ERR when used in a blocked third-party context. That's possible
846         now for open() and deleteDatabase(), but getDatabaseNames() can't
847         currently raise exceptions.
848
849         This patch adjusts the IDL file and implementation. No exceptions are
850         currently thrown, but that will change as soon as wkbug.com/94171 lands.
851
852         * Modules/indexeddb/IDBFactory.cpp:
853         (WebCore::IDBFactory::getDatabaseNames):
854         * Modules/indexeddb/IDBFactory.h:
855         (IDBFactory):
856         * Modules/indexeddb/IDBFactory.idl:
857             Add "raises (DOMException)" to getDatabaseNames, and adjust the
858             implementation to match.
859         * inspector/InspectorIndexedDBAgent.cpp:
860         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
861             Pass in an ExceptionCode when calling getDatabaseNames, and handle
862             possible exceptions.
863
864 2013-01-29  Hayato Ito  <hayato@chromium.org>
865
866         Revert an accidentally changed line of EventHander::handleMousePressEvent(PlatformMouseEvent&) in r135650.
867         https://bugs.webkit.org/show_bug.cgi?id=108165
868
869         Reviewed by Hajime Morita.
870
871         No new tests.
872
873         * page/EventHandler.cpp:
874         (WebCore::EventHandler::handleMousePressEvent):
875
876 2013-01-29  Kent Tamura  <tkent@chromium.org>
877
878         FeatureObserver: Input types are counted unexpectedly in a page with Modernizr
879         https://bugs.webkit.org/show_bug.cgi?id=108141
880
881         Reviewed by Kentaro Hara.
882
883         We don't want to record input type instantiation by Modernizr. Modernizr
884         creates input elements with these types, append it to document.body, and
885         render it with visibility:hidden. So, we record input types only when
886         they are attached without visibility:hidden.
887
888         No new tests. FeatureObserver is not testable by layout test.
889
890         * html/InputType.cpp:
891         (WebCore::InputType::create): Remove FeatureObserver::observe
892         callsites. They are moved to TextInputType::attach.
893         (WebCore::InputType::observeFeatureIfVisible):
894         Added. A helper for attach().
895         * html/InputType.h:
896         (InputType): Add observeFeatureIfVisible.
897
898         * html/ColorInputType.cpp:
899         (WebCore::ColorInputType::create):
900         Remove a FeatureObserver::observe callsite.
901         (WebCore::ColorInputType::attach):
902         Calls FetureObserver through InputType::observeFeatureIfVisible.
903         * html/ColorInputType.h:
904         (ColorInputType): Declare attach.
905         * html/DateInputType.cpp: Ditto.
906         * html/DateInputType.h: Ditto.
907         * html/DateTimeInputType.cpp: Ditto.
908         * html/DateTimeInputType.h: Ditto.
909         * html/DateTimeLocalInputType.cpp: Ditto.
910         * html/DateTimeLocalInputType.h: Ditto.
911         * html/MonthInputType.cpp: Ditto.
912         * html/MonthInputType.h: Ditto.
913         * html/RangeInputType.cpp: Ditt
914         * html/RangeInputType.h: Ditto.
915         * html/TimeInputType.cpp: Ditto.
916         * html/TimeInputType.h: Ditto.
917         * html/WeekInputType.cpp: Ditto.
918         * html/WeekInputType.h: Ditto.
919
920         * html/TextFieldInputType.h:
921         (TextFieldInputType):
922         Make attach protected in order that sub classes can call it.
923         * html/EmailInputType.cpp:
924         (WebCore::EmailInputType::create):
925         Remove a FeatureObserver::observe callsite.
926         (WebCore::EmailInputType::attach): Calls FetureObserver through
927         InputType::observeFeatureIfVisible after TextFieldInptuType::attach.
928         * html/EmailInputType.h:
929         (EmailInputType):Declare attach.
930         * html/NumberInputType.cpp: Ditto.
931         * html/NumberInputType.h: Ditto.
932         * html/SearchInputType.cpp: Ditto.
933         * html/SearchInputType.h: Ditto.
934         * html/TelephoneInputType.cpp: Ditto.
935         * html/TelephoneInputType.h: Ditto.
936         * html/URLInputType.cpp: Ditto.
937         * html/URLInputType.h: Ditto.
938
939         * html/TextInputType.cpp:
940         (WebCore::TextInputType::attach):
941         Move the code for type fallback from InputType::create.
942         * html/TextInputType.h:
943         (TextInputType): Declare attach.
944
945 2013-01-29  Michael BrĂ¼ning  <michael.bruning@digia.com>
946
947         [Qt][WK1] Reflect recursion limit and loop checks also for list conversions.
948         https://bugs.webkit.org/show_bug.cgi?id=107950
949
950         Reviewed by Allan Sandfeld Jensen.
951
952         No new tests, bugfix, no behavioral change.
953
954         Make conversions from Javascript values to QLists take the maximum
955         recursion depth into consideration and check for objects that were
956         already visited. Otherwise, the conversion may recurse until the
957         stack is full and then cause a segmentation fault.
958
959         * bridge/qt/qt_runtime.cpp:
960         (JSC::Bindings::convertToList):
961         (JSC::Bindings::convertValueToQVariant):
962
963 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
964
965         Clean up interface to ElementShadow
966         https://bugs.webkit.org/show_bug.cgi?id=108158
967
968         Reviewed by Hajime Morita.
969
970         Lots of general clean up to ElementShadow removing unused headers,
971         adding a create() method that returns a PassOwnPtr, adding missing const,
972         and moving short inline methods into the class definition so it's easier
973         to understand what methods do what.
974
975         No new tests, just refactoring.
976
977         * dom/Element.cpp:
978         (WebCore::Element::ensureShadow):
979         * dom/ElementShadow.cpp:
980         (WebCore::ElementShadow::childNeedsStyleRecalc):
981         (WebCore::ElementShadow::needsStyleRecalc):
982         * dom/ElementShadow.h:
983         (WebCore::ElementShadow::create):
984         (ElementShadow):
985         (WebCore::ElementShadow::~ElementShadow):
986         (WebCore::ElementShadow::youngestShadowRoot):
987         (WebCore::ElementShadow::oldestShadowRoot):
988         (WebCore::ElementShadow::distributor):
989         (WebCore::ElementShadow::ElementShadow):
990         (WebCore::ElementShadow::containingShadow):
991
992 2013-01-29  Elliott Sprehn  <esprehn@chromium.org>
993
994         Store ShadowRootType inside the bitfield
995         https://bugs.webkit.org/show_bug.cgi?id=108147
996
997         Reviewed by Dimitri Glazkov.
998
999         We can simplify the interface to ShadowRoot by storing the enum value of
1000         ShadowRootType inside the bitfield like we do in the rest of WebCore.
1001
1002         No new tests, just refactoring.
1003
1004         * dom/ShadowRoot.cpp:
1005         (WebCore::ShadowRoot::ShadowRoot):
1006         (WebCore::ShadowRoot::create):
1007         * dom/ShadowRoot.h:
1008         (WebCore::ShadowRoot::type):
1009         (ShadowRoot):
1010
1011 2013-01-29  Jochen Eisinger  <jochen@chromium.org>
1012
1013         REGRESSION(r141070): Broke debug build
1014         https://bugs.webkit.org/show_bug.cgi?id=108159
1015
1016         Unreviewed build fix.
1017
1018         * html/parser/HTMLDocumentParser.cpp:
1019         (WebCore::HTMLDocumentParser::pumpTokenizer):
1020
1021 2013-01-28  Adam Barth  <abarth@webkit.org>
1022
1023         HTMLDocumentParser should hold the HTMLToken using an OwnPtr
1024         https://bugs.webkit.org/show_bug.cgi?id=107762
1025
1026         Reviewed by Eric Seidel.
1027
1028         Using an OwnPtr will let us detach the HTMLToken from the
1029         HTMLDocumentParser and send it to the BackgroundHTMLParser for further
1030         processing.
1031
1032         * html/parser/BackgroundHTMLParser.cpp:
1033         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1034         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1035         * html/parser/BackgroundHTMLParser.h:
1036         (BackgroundHTMLParser):
1037         * html/parser/CompactHTMLToken.cpp:
1038         (WebCore::CompactHTMLToken::CompactHTMLToken):
1039         * html/parser/CompactHTMLToken.h:
1040         (CompactHTMLToken):
1041         * html/parser/HTMLDocumentParser.cpp:
1042         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1043         (WebCore::HTMLDocumentParser::pumpTokenizer):
1044         * html/parser/HTMLDocumentParser.h:
1045         (HTMLDocumentParser):
1046
1047 2013-01-28  Huang Dongsung  <luxtella@company100.net>
1048
1049         [Texmap] Refactor code related to debug border and repaint count.
1050         https://bugs.webkit.org/show_bug.cgi?id=105787
1051
1052         Reviewed by Noam Rosenthal.
1053
1054         It is a follow-up patch not to change layout test results.
1055
1056         The previous patch sets GraphicsLayer::m_usingTiledLayer to true when using a
1057         backing store. When the variable is true, dumpLayer() adds (usingTiledLayer 1),
1058         but most of ports don't set m_usingTiledLayer to true. So we don't use
1059         m_usingTiledLayer to match the test results of other ports.
1060
1061         After this patch, Texture Mapper draws debug visuals for a tiled backing
1062         with different color from safari.
1063
1064         No new tests. Debug feature, not covered in tests.
1065
1066         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1067         (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCountIfNeeded):
1068
1069 2013-01-28  Elliott Sprehn  <esprehn@chromium.org>
1070
1071         Handle createShadowSubtree inside of ensureUserAgentShadowRoot
1072         https://bugs.webkit.org/show_bug.cgi?id=108116
1073
1074         Reviewed by Dimitri Glazkov.
1075
1076         Instead of making everyone create the UserAgentShadowRoot manually all
1077         over, centralize it in ensureUserAgentShadowRoot() and add a notification
1078         Element::didAddUserAgentShadowRoot that lets elements fill in the subtree.
1079         This lets us get rid of lots of code duplication.
1080
1081         No new tests, just refactoring.
1082
1083         * dom/Element.cpp:
1084         (WebCore::Element::ensureUserAgentShadowRoot):
1085         * dom/Element.h:
1086         (WebCore::Element::didAddUserAgentShadowRoot):
1087         (Element):
1088         * html/HTMLDetailsElement.cpp:
1089         (WebCore::DetailsSummaryElement::create):
1090         (WebCore::HTMLDetailsElement::create):
1091         (WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
1092         * html/HTMLDetailsElement.h:
1093         (HTMLDetailsElement):
1094         * html/HTMLInputElement.cpp:
1095         (WebCore::HTMLInputElement::create):
1096         (WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
1097         * html/HTMLInputElement.h:
1098         (HTMLInputElement):
1099         * html/HTMLMediaElement.cpp:
1100         (WebCore::HTMLMediaElement::willAddAuthorShadowRoot):
1101         (WebCore::HTMLMediaElement::createMediaControls):
1102         * html/HTMLMediaElement.h:
1103         * html/HTMLMeterElement.cpp:
1104         (WebCore::HTMLMeterElement::create):
1105         (WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
1106         * html/HTMLMeterElement.h:
1107         (HTMLMeterElement):
1108         * html/HTMLProgressElement.cpp:
1109         (WebCore::HTMLProgressElement::create):
1110         (WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
1111         * html/HTMLProgressElement.h:
1112         * html/HTMLSummaryElement.cpp:
1113         (WebCore::HTMLSummaryElement::create):
1114         (WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
1115         * html/HTMLSummaryElement.h:
1116         (HTMLSummaryElement):
1117         * html/HTMLTextAreaElement.cpp:
1118         (WebCore::HTMLTextAreaElement::create):
1119         (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
1120         * html/HTMLTextAreaElement.h:
1121         * html/shadow/MediaControlElements.cpp:
1122         (WebCore::MediaControlPanelMuteButtonElement::create):
1123         (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
1124         (WebCore::MediaControlPlayButtonElement::create):
1125         (WebCore::MediaControlOverlayPlayButtonElement::create):
1126         (WebCore::MediaControlSeekForwardButtonElement::create):
1127         (WebCore::MediaControlSeekBackButtonElement::create):
1128         (WebCore::MediaControlRewindButtonElement::create):
1129         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
1130         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
1131         (WebCore::MediaControlTimelineElement::create):
1132         (WebCore::MediaControlPanelVolumeSliderElement::create):
1133         (WebCore::MediaControlFullscreenVolumeSliderElement::create):
1134         (WebCore::MediaControlFullscreenButtonElement::create):
1135         (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
1136         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
1137         * html/shadow/MediaControlsBlackBerry.cpp:
1138         (WebCore::MediaControlFullscreenPlayButtonElement::create):
1139         (WebCore::MediaControlFullscreenFullscreenButtonElement::create):
1140         (WebCore::MediaControlFullscreenTimelineElement::create):
1141         (WebCore::MediaControlAudioMuteButtonElement::create):
1142         * svg/SVGTRefElement.cpp:
1143         (WebCore::SVGTRefElement::create):
1144         * svg/SVGTRefElement.h:
1145         (SVGTRefElement):
1146         * svg/SVGUseElement.cpp:
1147         (WebCore::SVGUseElement::create):
1148         * svg/SVGUseElement.h:
1149         (SVGUseElement):
1150
1151 2013-01-28   Vineet Chaudhary  <rgf748@motorola.com>
1152
1153         HTMLOutputElement::htmlFor should be readonly
1154         https://bugs.webkit.org/show_bug.cgi?id=101898
1155
1156         Reviewed by Kentaro Hara.
1157
1158         The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
1159         Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html
1160
1161         No new tests. Modified existing test fast/dom/HTMLOutputElement/dom-settable-token-list.html
1162         to work as expected.
1163
1164         * GNUmakefile.list.am: Removed JSHTMLOutputElementCustom.cpp
1165         * Target.pri: Ditto
1166         * UseJSC.cmake: Ditto
1167         * UseV8.cmake: Removed V8HTMLOutputElementCustom.cpp
1168         * WebCore.gypi: Removed V8HTMLOutputElementCustom.cpp
1169         * WebCore.vcproj/WebCore.vcproj: Removed JSHTMLOutputElementCustom.cpp
1170         * WebCore.vcxproj/WebCore.vcxproj: Ditto
1171         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
1172         * WebCore.xcodeproj/project.pbxproj: Ditto
1173         * bindings/js/JSBindingsAllInOne.cpp: Ditto
1174         * bindings/js/JSHTMLOutputElementCustom.cpp: Removed.
1175         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Removed.
1176         * html/HTMLOutputElement.idl: Made htmlFor attribute readonly.
1177
1178 2013-01-28  Tien-Ren Chen  <trchen@chromium.org>
1179
1180         Fix disambiguation popup for new-style page scale
1181         https://bugs.webkit.org/show_bug.cgi?id=107391
1182
1183         Reviewed by Adam Barth.
1184
1185         This patch corrects various coordinate conversion for disambiguation
1186         popup for the new-style page scale mode.
1187
1188         New unit test: WebFrameTest.DisambiguationPopupPageScale
1189
1190         * page/TouchDisambiguation.cpp:
1191         (WebCore::findGoodTouchTargets):
1192         * page/TouchDisambiguation.h:
1193         (WebCore):
1194
1195 2013-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1196
1197         Unreviewed, rolling out r141049.
1198         http://trac.webkit.org/changeset/141049
1199         https://bugs.webkit.org/show_bug.cgi?id=108151
1200
1201         Caused some indexed tests to crash. (Requested by keishi on
1202         #webkit).
1203
1204         * Modules/indexeddb/IDBCallbacks.h:
1205         (WebCore::IDBCallbacks::onUpgradeNeeded):
1206         (WebCore::IDBCallbacks::onSuccess):
1207         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1208         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
1209         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
1210         (WebCore::IDBDatabaseBackendImpl::openConnection):
1211         * Modules/indexeddb/IDBOpenDBRequest.cpp:
1212         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
1213         (WebCore::IDBOpenDBRequest::onSuccess):
1214         * Modules/indexeddb/IDBOpenDBRequest.h:
1215         (IDBOpenDBRequest):
1216
1217 2013-01-28  Adam Barth  <abarth@webkit.org>
1218
1219         Layout Test http/tests/workers/terminate-during-sync-operation.html is flaky
1220         https://bugs.webkit.org/show_bug.cgi?id=79013
1221
1222         Reviewed by David Levin.
1223
1224         We need to use an isolated copy because we're going to use it on a
1225         different thread.
1226
1227         * Modules/webdatabase/AbstractDatabase.cpp:
1228         (WebCore::AbstractDatabase::AbstractDatabase):
1229
1230 2013-01-28  Shinya Kawanaka  <shinyak@chromium.org>
1231
1232         [Shadow] Gesture event is not fired in ShadowDOM
1233         https://bugs.webkit.org/show_bug.cgi?id=107797
1234
1235         Reviewed by Dimitri Glazkov.
1236
1237         Gesture event (e.g. touchstart) is not fired in ShadowDOM.
1238
1239         We have to run event retargetting algorithm to retarget touchTarget, however it is not implemented yet (Bug 107800).
1240         Until it's implemented, we use the shadow ancestor node of touchTarget in Document treescope as touchTarget
1241         for backward compatibility. If a touch event is fired in nested ShadowDOM, touchTarget will be always element in
1242         document tree, so an event listener in ShadowDOM will get a wrong touchTarget. However we prioritized
1243         the correctness of document tree.
1244
1245         Test: fast/dom/shadow/touch-event.html
1246
1247         * page/EventHandler.cpp:
1248         (WebCore::EventHandler::handleTouchEvent): Allows us to take elements in ShadowDOM.
1249
1250 2013-01-28  Alexandre Elias  <aelias@chromium.org>
1251
1252         Make page scale shrink FrameView in applyPageScaleInCompositor mode
1253         https://bugs.webkit.org/show_bug.cgi?id=107424
1254
1255         Reviewed by Levi Weintraub.
1256
1257         If applyPageScaleFactorInCompositor is enabled (Chromium-only setting),
1258         instead of the entire document expanding as the user pinch zooms, the
1259         viewport shrinks instead. This patch applies the pageScaleFactor to
1260         visibleContentRect to get this behavior, and simplifies Chromium's
1261         resize logic to stop hiding the true viewport size from WebCore.
1262
1263         I verified that the scaling makes sense for all the callers of
1264         visibleContentRect. The exceptions are clip-layer size,
1265         layout size in non-fixed-layout mode, and text autosizing, which need
1266         the original unscaled size. Therefore I added a new method
1267         unscaledVisibleContentSize() to ScrollView/FrameView.
1268
1269         This patch also modifies Page::setPageScaleFactor to perform no
1270         invalidates or layout when applyPageScaleFactorInCompositor is true,
1271         and also writes pageScaleFactor into HistoryItems instead of using
1272         frameScaleFactor.
1273
1274         Since all behavior changes are tied to applyPageScaleFactorInCompositor,
1275         this patch should be a no-op for non-Chromium ports.
1276
1277         New unit tests in WebFrameTest.cpp.
1278
1279         * loader/HistoryController.cpp:
1280         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
1281         Use pageScaleFactor here because frameScaleFactor always returns 1
1282         with our setting.
1283         * page/FrameView.cpp:
1284         (WebCore::FrameView::visibleContentScaleFactor):
1285         (WebCore):
1286         * page/FrameView.h:
1287         (FrameView):
1288         * page/Page.cpp:
1289         (WebCore::Page::setPageScaleFactor): Make setPageScaleFactor stop
1290         invalidating/layouting as this is handled by our compositor.
1291         * platform/ScrollView.cpp:
1292         (WebCore::ScrollView::unscaledVisibleContentSize): This new method
1293         just returns the original visible rect without pageScaleFactor being
1294         applied.
1295         (WebCore):
1296         (WebCore::ScrollView::visibleContentRect): This now is divided by
1297         pageScaleFactor if our setting is active.
1298         (WebCore::ScrollView::layoutSize):
1299         * platform/ScrollView.h:
1300         (WebCore::ScrollView::visibleContentScaleFactor): Returns
1301         pageScaleFactor if the visible rect is scaled, 1 normally.
1302         (ScrollView):
1303         (WebCore::ScrollView::layoutWidth):
1304         (WebCore::ScrollView::layoutHeight):
1305         * rendering/RenderLayerCompositor.cpp:
1306         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
1307         (WebCore::RenderLayerCompositor::updateRootLayerPosition): Clip layer
1308         should use unscaled size, because it's above the root scroll layer
1309         on the layer tree (i.e. page scale isn't applied on it).
1310         * rendering/TextAutosizer.cpp:
1311         (WebCore::TextAutosizer::processSubtree): Text autosizer should use
1312         unscaled size, because it cares about physical screen size.
1313
1314 2013-01-28  Geoffrey Garen  <ggaren@apple.com>
1315
1316         Static size inference for JavaScript objects
1317         https://bugs.webkit.org/show_bug.cgi?id=108093
1318
1319         Reviewed by Phil Pizlo.
1320
1321         * ForwardingHeaders/runtime/ObjectConstructor.h: Added.
1322
1323         * bindings/js/JSInjectedScriptHostCustom.cpp:
1324         * bindings/js/JSSQLResultSetRowListCustom.cpp: Include ObjectConstructor.h because
1325         that's where createEmptyObject() is located now.
1326
1327         * bindings/js/SerializedScriptValue.cpp:
1328         (WebCore::CloneDeserializer::deserialize): Updated for interface change.
1329
1330 2013-01-28  Alec Flett  <alecflett@chromium.org>
1331
1332         IndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess
1333         https://bugs.webkit.org/show_bug.cgi?id=103920
1334
1335         Reviewed by Dimitri Glazkov.
1336
1337         Update IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded to
1338         pass through a metadata parameter. While there, remove the unused
1339         IDBTransactionBackendInterface parameter to onUpgradeNeeded.
1340
1341         As this is another step in the IDB refactor, I've simplified future cleanup
1342         work by making the WebKit API code still use the old API. This
1343         will make it possible to outright remove code on the chromium side rather
1344         than another three-step checkin.
1345
1346         No new tests, as this is more refactoring.
1347
1348         * Modules/indexeddb/IDBCallbacks.h:
1349         (WebCore::IDBCallbacks::onUpgradeNeeded): new method signature.
1350         (WebCore::IDBCallbacks::onSuccess): new method signature.
1351         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1352         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
1353         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
1354         (WebCore::IDBDatabaseBackendImpl::openConnection):
1355         * Modules/indexeddb/IDBOpenDBRequest.cpp:
1356         (WebCore::IDBOpenDBRequest::onUpgradeNeeded): use passed-in metadata.
1357         (WebCore::IDBOpenDBRequest::onSuccess): use passed-in metadata.
1358         * Modules/indexeddb/IDBOpenDBRequest.h:
1359         (IDBOpenDBRequest):
1360
1361 2013-01-28  Simon Fraser  <simon.fraser@apple.com>
1362
1363         position:fixed that doesn't render any content should not force compositing
1364         https://bugs.webkit.org/show_bug.cgi?id=108112
1365
1366         Reviewed by Beth Dakin.
1367         
1368         It's not uncommon for pages to have position:fixed elements with no content.
1369         When these are behind other elements, they can cause those other elements
1370         to become composited, using lots of backing store memory.
1371         
1372         Optimize for the case where the position:fixed element has no rendered
1373         content and no children by not making it composited in that case.
1374
1375         Test: compositing/layer-creation/fixed-position-no-content.html
1376
1377         * rendering/RenderLayer.cpp:
1378         (WebCore::RenderLayer::hasNonEmptyChildRenderers): Moved from RenderLayerBacking.cpp.
1379         (WebCore::hasBoxDecorations): Ditto.
1380         (WebCore::RenderLayer::hasBoxDecorationsOrBackground): Ditto.
1381         (WebCore::RenderLayer::hasVisibleBoxDecorations): Check for visibility:visible, box decorations and
1382         overflow controls.
1383         (WebCore::RenderLayer::isVisuallyNonEmpty): Returns true if this layer has some visible
1384         representation.
1385         * rendering/RenderLayer.h:
1386         * rendering/RenderLayerBacking.cpp:
1387         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Need to call updateDescendantDependentFlags()
1388         to ensure that the visibility flags are up to date.
1389         (WebCore::RenderLayerBacking::updateDrawsContent): Call RenderLayer::hasBoxDecorationsOrBackground() now.
1390         (WebCore::RenderLayerBacking::paintsBoxDecorations): Call RenderLayer::hasVisibleBoxDecorations() now.
1391         (WebCore::RenderLayerBacking::paintsChildren): Call RenderLayer::hasNonEmptyChildRenderers().
1392         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Whitespace.
1393         (WebCore::RenderLayerBacking::containsPaintedContent): Call RenderLayer::hasBoxDecorationsOrBackground().
1394         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Ditto.
1395         * rendering/RenderLayerBacking.h:
1396         (RenderLayerBacking):
1397         * rendering/RenderLayerCompositor.cpp:
1398         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): If the layer has no content to paint,
1399         or visible descendant layers, then don't make it composited.
1400
1401 2013-01-28  Simon Fraser  <simon.fraser@apple.com>
1402
1403         Avoid doing work at 60fps for tiled layers when not necessary
1404         https://bugs.webkit.org/show_bug.cgi?id=108135
1405
1406         Reviewed by Dean Jackson.
1407
1408         When there were any tiled layers on the page, we would run a CVDisplayLink
1409         to cause GraphicsLayerCA to flush, in order to update tiled layer visible rects.
1410         This is overkill; we should only do this if the tiled layer is affected by
1411         an accelerated animation.
1412         
1413         Fix by tracking whether an ancestor has a running animation when committing
1414         GraphicsLayerCAs.
1415
1416         * platform/graphics/ca/GraphicsLayerCA.cpp:
1417         (WebCore::GraphicsLayerCA::flushCompositingState): Start with an empty CommitState.
1418         (WebCore::GraphicsLayerCA::recursiveCommitChanges): Push CommitState for
1419         each layer, which tracks whether an ancestor has a running transform animation.
1420         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): updateLayerAnimations() renamed.
1421         (WebCore::GraphicsLayerCA::updateAnimations): Renamed from updateLayerAnimations().
1422         (WebCore::GraphicsLayerCA::isRunningTransformAnimation): Look in the map of running
1423         animations for one affecting transform. This list is normally small (one item).
1424         * platform/graphics/ca/GraphicsLayerCA.h:
1425         (WebCore::GraphicsLayerCA::CommitState::CommitState):
1426
1427 2013-01-28  Simon Fraser  <simon.fraser@apple.com>
1428
1429         compositing/reflections/become-simple-composited-reflection.html pixel result shows bug
1430         https://bugs.webkit.org/show_bug.cgi?id=107174
1431
1432         Reviewed by Dean Jackson.
1433         
1434         When we have a content layer for solid color, we need to update reflection
1435         clones when that color changes.
1436
1437         Tested by the pixel test for compositing/reflections/become-simple-composited-reflection.html.
1438
1439         * platform/graphics/ca/GraphicsLayerCA.cpp:
1440         (WebCore::GraphicsLayerCA::updateContentsColorLayer):
1441
1442 2013-01-28  Tom Sepez  <tsepez@chromium.org>
1443
1444         [v8] Security feature: JavaScript Bindings hardening
1445         https://bugs.webkit.org/show_bug.cgi?id=106608
1446
1447         The patch adds a check at wrapper creation time to enuse that the
1448         object being wrapped is not already free, to the extent that we know
1449         the information about the type of the object as provided in the IDL.
1450
1451         Reviewed by Adam Barth.
1452
1453         Patch is correct if existing tests pass without new crashes.
1454
1455         * bindings/scripts/CodeGeneratorV8.pm:
1456         (GenerateImplementation):
1457         (GenerateToV8Converters):
1458         (GetNativeTypeForConversions):
1459         (GetGnuVTableRefForInterface):
1460         (GetGnuVTableNameForInterface):
1461         (GetGnuMangledNameForInterface):
1462         (GetGnuVTableOffsetForType):
1463         (GetWinVTableRefForInterface):
1464         (GetWinVTableNameForInterface):
1465         (GetWinMangledNameForInterface):
1466         (GetNamespaceForInterface):
1467         (GetImplementationLacksVTableForInterface):
1468         (GetV8SkipVTableValidationForInterface):
1469         Update code generation to add object validity tests under the control
1470         of the ENABLE_BINDING_INTEGRITY option.
1471         
1472         * Modules/filesystem/DirectoryReader.idl:
1473         * Modules/filesystem/DirectoryReaderSync.idl:
1474         * Modules/filesystem/EntryArray.idl:
1475         * Modules/filesystem/EntryArraySync.idl:
1476         * Modules/filesystem/Metadata.idl:
1477         * Modules/gamepad/Gamepad.idl:
1478         * Modules/gamepad/GamepadList.idl:
1479         * Modules/geolocation/Geoposition.idl:
1480         * Modules/geolocation/PositionError.idl:
1481         * Modules/indexeddb/IDBFactory.idl:
1482         * Modules/indexeddb/IDBIndex.idl:
1483         * Modules/indexeddb/IDBKeyRange.idl:
1484         * Modules/indexeddb/IDBObjectStore.idl:
1485         * Modules/mediastream/RTCStatsElement.idl:
1486         * Modules/mediastream/RTCStatsReport.idl:
1487         * Modules/quota/StorageInfo.idl:
1488         * Modules/speech/SpeechGrammar.idl:
1489         * Modules/speech/SpeechGrammarList.idl:
1490         * Modules/speech/SpeechRecognitionAlternative.idl:
1491         * Modules/speech/SpeechRecognitionResult.idl:
1492         * Modules/speech/SpeechRecognitionResultList.idl:
1493         * Modules/webaudio/AudioBuffer.idl:
1494         * Modules/webaudio/AudioDestinationNode.idl:
1495         * Modules/webaudio/AudioListener.idl:
1496         * Modules/webaudio/AudioSourceNode.idl:
1497         * Modules/webaudio/WaveTable.idl:
1498         * Modules/webdatabase/SQLError.idl:
1499         * Modules/webdatabase/SQLException.idl:
1500         * Modules/webdatabase/SQLResultSet.idl:
1501         * Modules/webdatabase/SQLResultSetRowList.idl:
1502         * Modules/webdatabase/SQLTransaction.idl:
1503         * Modules/webdatabase/SQLTransactionSync.idl:
1504         * bindings/scripts/IDLAttributes.txt:
1505         * css/CSSPrimitiveValue.idl:
1506         * css/CSSRule.idl:
1507         * css/CSSRuleList.idl:
1508         * css/CSSStyleDeclaration.idl:
1509         * css/CSSValue.idl:
1510         * css/CSSValueList.idl:
1511         * css/Counter.idl:
1512         * css/MediaList.idl:
1513         * css/MediaQueryList.idl:
1514         * css/RGBColor.idl:
1515         * css/Rect.idl:
1516         * css/StyleSheetList.idl:
1517         * css/WebKitCSSFilterValue.idl:
1518         * css/WebKitCSSMixFunctionValue.idl:
1519         * css/WebKitCSSTransformValue.idl:
1520         * dom/ClientRect.idl:
1521         * dom/ClientRectList.idl:
1522         * dom/Clipboard.idl:
1523         * dom/DOMCoreException.idl:
1524         * dom/DOMError.idl:
1525         * dom/DOMImplementation.idl:
1526         * dom/DOMNamedFlowCollection.idl:
1527         * dom/DOMStringList.idl:
1528         * dom/DOMStringMap.idl:
1529         * dom/DataTransferItem.idl:
1530         * dom/DataTransferItemList.idl:
1531         * dom/DocumentFragment.idl:
1532         * dom/Element.idl:
1533         * dom/Entity.idl:
1534         * dom/Event.idl:
1535         * dom/EventException.idl:
1536         * dom/MessageChannel.idl:
1537         * dom/MouseEvent.idl:
1538         * dom/MutationObserver.idl:
1539         * dom/MutationRecord.idl:
1540         * dom/NamedNodeMap.idl:
1541         * dom/NodeFilter.idl:
1542         * dom/NodeIterator.idl:
1543         * dom/NodeList.idl:
1544         * dom/Range.idl:
1545         * dom/RangeException.idl:
1546         * dom/Touch.idl:
1547         * dom/TouchList.idl:
1548         * dom/TreeWalker.idl:
1549         * fileapi/FileError.idl:
1550         * fileapi/FileException.idl:
1551         * fileapi/FileList.idl:
1552         * html/DOMFormData.idl:
1553         * html/DOMTokenList.idl:
1554         * html/DOMURL.idl:
1555         * html/HTMLAllCollection.idl:
1556         * html/HTMLCollection.idl:
1557         * html/HTMLDialogElement.idl:
1558         * html/HTMLDivElement.idl:
1559         * html/HTMLDocument.idl:
1560         * html/HTMLElement.idl:
1561         * html/HTMLImageElement.idl:
1562         * html/HTMLInputElement.idl:
1563         * html/HTMLSelectElement.idl:
1564         * html/HTMLSpanElement.idl:
1565         * html/HTMLUnknownElement.idl:
1566         * html/ImageData.idl:
1567         * html/MediaError.idl:
1568         * html/MediaKeyError.idl:
1569         * html/TimeRanges.idl:
1570         * html/ValidityState.idl:
1571         * html/canvas/ArrayBuffer.idl:
1572         * html/canvas/ArrayBufferView.idl:
1573         * html/canvas/CanvasGradient.idl:
1574         * html/canvas/CanvasPattern.idl:
1575         * html/canvas/Float32Array.idl:
1576         * html/canvas/Float64Array.idl:
1577         * html/canvas/Int16Array.idl:
1578         * html/canvas/Int32Array.idl:
1579         * html/canvas/Int8Array.idl:
1580         * html/canvas/Uint16Array.idl:
1581         * html/canvas/Uint32Array.idl:
1582         * html/canvas/Uint8Array.idl:
1583         * html/canvas/Uint8ClampedArray.idl:
1584         * html/canvas/WebGLActiveInfo.idl:
1585         * html/canvas/WebGLShaderPrecisionFormat.idl:
1586         * html/track/TextTrack.idl:
1587         * html/track/TextTrackCue.idl:
1588         * html/track/TextTrackCueList.idl:
1589         * inspector/InjectedScriptHost.idl:
1590         * inspector/InspectorFrontendHost.idl:
1591         * inspector/JavaScriptCallFrame.idl:
1592         * page/Coordinates.idl:
1593         * page/Crypto.idl:
1594         * page/MemoryInfo.idl:
1595         * page/PagePopupController.idl:
1596         * page/PerformanceEntryList.idl:
1597         * page/SpeechInputResult.idl:
1598         * page/SpeechInputResultList.idl:
1599         * page/WebKitPoint.idl:
1600         * svg/SVGAnimatedAngle.idl:
1601         * svg/SVGAnimatedBoolean.idl:
1602         * svg/SVGAnimatedEnumeration.idl:
1603         * svg/SVGAnimatedInteger.idl:
1604         * svg/SVGAnimatedLength.idl:
1605         * svg/SVGAnimatedLengthList.idl:
1606         * svg/SVGAnimatedNumber.idl:
1607         * svg/SVGAnimatedNumberList.idl:
1608         * svg/SVGAnimatedPreserveAspectRatio.idl:
1609         * svg/SVGAnimatedRect.idl:
1610         * svg/SVGAnimatedString.idl:
1611         * svg/SVGAnimatedTransformList.idl:
1612         * svg/SVGColor.idl:
1613         * svg/SVGException.idl:
1614         * svg/SVGPaint.idl:
1615         * svg/SVGPathSeg.idl:
1616         * svg/SVGRenderingIntent.idl:
1617         * svg/SVGUnitTypes.idl:
1618         * svg/SVGZoomAndPan.idl:
1619         * testing/MallocStatistics.idl:
1620         * testing/TypeConversions.idl:
1621         * workers/WorkerLocation.idl:
1622         * xml/DOMParser.idl:
1623         * xml/XMLHttpRequestException.idl:
1624         * xml/XMLSerializer.idl:
1625         * xml/XPathEvaluator.idl:
1626         * xml/XPathException.idl:
1627         * xml/XPathExpression.idl:
1628         * xml/XPathNSResolver.idl:
1629         * xml/XPathResult.idl:
1630         * xml/XSLTProcessor.idl:
1631         Add exceptions to binding integrity checks to IDL.
1632         
1633 2013-01-28  Benjamin Poulain  <benjamin@webkit.org>
1634
1635         String constructed from Literals should be non-empty
1636         https://bugs.webkit.org/show_bug.cgi?id=108103
1637
1638         Reviewed by Eric Carlson.
1639
1640         Strings from literal should not be constructed from empty strings. Use emptyString()
1641         instead.
1642
1643         * html/HTMLMediaElement.cpp:
1644         (WebCore::HTMLMediaElement::canPlayType):
1645
1646 2013-01-27  Kentaro Hara  <haraken@chromium.org>
1647
1648         Implement CompositionEvent constructor
1649         https://bugs.webkit.org/show_bug.cgi?id=107919
1650
1651         Reviewed by Sam Weinig.
1652
1653         This patch implements a CompositionEvent constructor under
1654         a DOM4_EVENTS_CONSTRUCTOR flag.
1655
1656         Spec: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
1657
1658         Test: fast/events/constructors/composition-event-constructor.html
1659
1660         * dom/CompositionEvent.cpp:
1661         (WebCore::CompositionEventInit::CompositionEventInit):
1662         (WebCore):
1663         (WebCore::CompositionEvent::CompositionEvent):
1664         * dom/CompositionEvent.h:
1665         (CompositionEventInit):
1666         (WebCore):
1667         (CompositionEvent):
1668         (WebCore::CompositionEvent::create):
1669         (WebCore::CompositionEvent::data):
1670         * dom/CompositionEvent.idl:
1671
1672 2013-01-28  Pratik Solanki  <psolanki@apple.com>
1673
1674         PLATFORM(IOS) should come before __MAC_OS_X_VERSION_MIN_REQUIRED
1675         https://bugs.webkit.org/show_bug.cgi?id=108101
1676
1677         Reviewed by Benjamin Poulain.
1678
1679         Since iOS does not define __MAC_OS_X_VERSION_MIN_REQUIRED, any usage of
1680         __MAC_OS_X_VERSION_MIN_REQUIRED should be after a PLATFORM(IOS) check.
1681
1682         * platform/mac/WebCoreSystemInterface.h:
1683         * platform/mac/WebCoreSystemInterface.mm:
1684
1685 2013-01-28  Kalev Lember  <kalevlember@gmail.com>
1686
1687         [GTK] Pass ICU cppflags to libWebCoreSVG.la build
1688         https://bugs.webkit.org/show_bug.cgi?id=108032
1689
1690         Reviewed by Martin Robinson.
1691
1692         Fixes a linking error with new libicu 50 on Fedora rawhide.
1693
1694         * GNUmakefile.am:
1695
1696 2013-01-28  Min Qin  <qinmin@chromium.org>
1697
1698         adding support for DiscardablePixelRef for caching lazily decoded images
1699         https://bugs.webkit.org/show_bug.cgi?id=106842
1700
1701         Reviewed by Stephen White.
1702
1703         This change allows using discardable memory in the deferred image decoding path.
1704         Fully decoded images are unpinned and stored in ImageDecodingStore.
1705         Partially decoded images are pinned and stored in ImageDecodingStore.
1706         Discardable memory allocation could fail. Fall back to heap allocation in that case.
1707         There is a separate size limit for heap entries and no limit on discardable entries.
1708         New tests are added to ImageDecodingStoreTests
1709
1710         * WebCore.gypi:
1711         * platform/graphics/chromium/DiscardablePixelRef.cpp: Added.
1712           Added implementation of the DiscardablePixelRef object that is backed by discardable memory.
1713           Memory allocated to the DiscardablePixelRef can be purged when it is unlocked.
1714         (WebCore::DiscardablePixelRefAllocator::allocPixelRef):
1715         (WebCore):
1716         (WebCore::DiscardablePixelRef::DiscardablePixelRef):
1717         (WebCore::DiscardablePixelRef::~DiscardablePixelRef):
1718         (WebCore::DiscardablePixelRef::allocAndLockDiscardableMemory):
1719         (WebCore::DiscardablePixelRef::onLockPixels):
1720         (WebCore::DiscardablePixelRef::onUnlockPixels):
1721         (WebCore::DiscardablePixelRef::isDiscardable):
1722         * platform/graphics/chromium/DiscardablePixelRef.h: Added.
1723           Added class definition of the DiscardablePixelRef.
1724         (WebCore):
1725         (DiscardablePixelRefAllocator):
1726         (DiscardablePixelRef):
1727         * platform/graphics/chromium/ImageDecodingStore.cpp:
1728           Added new cache replacement strategy for DiscardablePixelRef.
1729         (WebCore::ImageDecodingStore::lockCache):
1730         (WebCore::ImageDecodingStore::overwriteAndLockCache):
1731         (WebCore::ImageDecodingStore::prune):
1732         (WebCore::ImageDecodingStore::insertCacheInternal):
1733         (WebCore::ImageDecodingStore::removeFromCacheInternal):
1734         * platform/graphics/chromium/ImageDecodingStore.h:
1735           Added isDiscardable() calls to check if a cache entry is discardable.
1736         (WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
1737         (WebCore::ImageDecodingStore::CacheEntry::overwriteCachedImage):
1738         (WebCore::ImageDecodingStore::CacheEntry::isDiscardable):
1739         (CacheEntry):
1740         * platform/graphics/chromium/ImageFrameGenerator.cpp:
1741           Added some code to pass DiscardableMemoryAllocator to the image decoder.
1742         (WebCore::ImageFrameGenerator::tryToScale):
1743         (WebCore::ImageFrameGenerator::decode):
1744         * platform/graphics/chromium/ImageFrameGenerator.h:
1745           Added a new member variable of type DiscardableMemoryAllocator.
1746         (ImageFrameGenerator):
1747         * platform/image-decoders/ImageDecoder.h:
1748           Added methods to pass Allocator to ImageFrame.
1749         (ImageFrame):
1750         (WebCore::ImageFrame::setMemoryAllocator):
1751         (WebCore::ImageFrame::allocator):
1752         (ImageDecoder):
1753         (WebCore::ImageDecoder::setMemoryAllocator):
1754         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1755           Added code to allocate pixel memory using the allocator passed from the caller.
1756         (WebCore::ImageFrame::ImageFrame):
1757         (WebCore::ImageFrame::operator=):
1758         (WebCore::ImageFrame::setSize):
1759
1760 2013-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1761
1762         Unreviewed, rolling out r140869.
1763         http://trac.webkit.org/changeset/140869
1764         https://bugs.webkit.org/show_bug.cgi?id=108120
1765
1766         "Crashes on http://en.wikipedia.org/wiki/Wikipedia" (Requested
1767         by tonyg-cr on #webkit).
1768
1769         * page/FrameView.cpp:
1770         (WebCore::FrameView::visibleContentsResized):
1771         * platform/ScrollView.cpp:
1772         (WebCore::ScrollView::setFixedLayoutSize):
1773         (WebCore::ScrollView::setUseFixedLayout):
1774
1775 2013-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1776
1777         Unreviewed, rolling out r140934, r140935, and r140937.
1778         http://trac.webkit.org/changeset/140934
1779         http://trac.webkit.org/changeset/140935
1780         http://trac.webkit.org/changeset/140937
1781         https://bugs.webkit.org/show_bug.cgi?id=108117
1782
1783         Re-land some speculative rollouts - see wkbug.com/108048 for
1784         context (Requested by jsbell on #webkit).
1785
1786         * CMakeLists.txt:
1787         * DerivedSources.make:
1788         * GNUmakefile.list.am:
1789         * Modules/indexeddb/IDBCallbacks.h:
1790         (IDBCallbacks):
1791         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1792         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1793         * Modules/indexeddb/IDBCursorBackendImpl.h:
1794         (WebCore::IDBCursorBackendImpl::create):
1795         (IDBCursorBackendImpl):
1796         * Modules/indexeddb/IDBDatabase.cpp:
1797         (WebCore::IDBDatabase::onVersionChange):
1798         * Modules/indexeddb/IDBDatabase.h:
1799         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1800         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
1801         (WebCore::OpenCursorOperation::perform):
1802         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
1803         * Modules/indexeddb/IDBFactory.cpp:
1804         (WebCore::IDBFactory::openInternal):
1805         (WebCore::IDBFactory::deleteDatabase):
1806         * Modules/indexeddb/IDBFactory.h:
1807         (WebCore):
1808         (IDBFactory):
1809         * Modules/indexeddb/IDBFactory.idl:
1810         * Modules/indexeddb/IDBObjectStore.cpp:
1811         (WebCore::IDBObjectStore::createIndex):
1812         (WebCore::IDBObjectStore::openCursor):
1813         * Modules/indexeddb/IDBObjectStore.h:
1814         (WebCore::IDBObjectStore::openCursor):
1815         (IDBObjectStore):
1816         * Modules/indexeddb/IDBOpenDBRequest.cpp:
1817         (WebCore::IDBOpenDBRequest::create):
1818         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
1819         (WebCore::IDBOpenDBRequest::onBlocked):
1820         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
1821         (WebCore::IDBOpenDBRequest::dispatchEvent):
1822         * Modules/indexeddb/IDBOpenDBRequest.h:
1823         (IDBOpenDBRequest):
1824         * Modules/indexeddb/IDBRequest.cpp:
1825         (WebCore::IDBRequest::create):
1826         (WebCore::IDBRequest::IDBRequest):
1827         * Modules/indexeddb/IDBRequest.h:
1828         (IDBRequest):
1829         (WebCore::IDBRequest::taskType):
1830         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1831         (WebCore::IDBTransactionBackendImpl::scheduleTask):
1832         * Modules/indexeddb/IDBTransactionBackendImpl.h:
1833         (WebCore::IDBTransactionBackendImpl::scheduleTask):
1834         (IDBTransactionBackendImpl):
1835         * Modules/indexeddb/IDBTransactionBackendInterface.h:
1836         * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Removed.
1837         * Modules/indexeddb/IDBUpgradeNeededEvent.h: Removed.
1838         * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Removed.
1839         * Modules/indexeddb/IDBVersionChangeEvent.cpp:
1840         (WebCore::IDBVersionChangeEvent::create):
1841         (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
1842         * Modules/indexeddb/IDBVersionChangeEvent.h:
1843         (IDBVersionChangeEvent):
1844         (WebCore::IDBVersionChangeEvent::oldVersion):
1845         (WebCore::IDBVersionChangeEvent::newVersion):
1846         * Modules/indexeddb/IDBVersionChangeEvent.idl:
1847         * Modules/indexeddb/IDBVersionChangeRequest.cpp: Removed.
1848         * Modules/indexeddb/IDBVersionChangeRequest.h: Removed.
1849         * Modules/indexeddb/IDBVersionChangeRequest.idl: Removed.
1850         * WebCore.gypi:
1851         * WebCore.xcodeproj/project.pbxproj:
1852         * dom/EventNames.in:
1853         * dom/EventTarget.h:
1854         (WebCore):
1855         * dom/EventTargetFactory.in:
1856
1857 2013-01-28  Joseph Pecoraro  <pecoraro@apple.com>
1858
1859         Unreviewed Mac build fix. Add an export for a function that may be
1860         accessed outside of WebCore (RenderLayer::needsCompositedScrolling).
1861
1862         * WebCore.exp.in:
1863
1864 2013-01-28  Julien Chaffraix  <jchaffraix@webkit.org>
1865
1866         Crash inside RenderBlock::layoutRunsAndFloatsInRange in the widow code
1867         https://bugs.webkit.org/show_bug.cgi?id=108084
1868
1869         Reviewed by Dean Jackson.
1870
1871         This is a blind fix based on the code and Chromium's stack-traces.
1872
1873         Unfortunately no new test as I couldn't get a local reproduction.
1874
1875         * rendering/RenderBlockLineLayout.cpp:
1876         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1877         Added a missing NULL-check: the previous 'while' finish if |lineBox|
1878         is NULL and we don't want to crash in this case.
1879
1880 2013-01-28  Tony Chang  <tony@chromium.org>
1881
1882         "clang: warning: not using the clang compiler for C++ inputs" due to hard-coding of /usr/bin/clang in WebCore.gyp
1883         https://bugs.webkit.org/show_bug.cgi?id=108089
1884
1885         Reviewed by Ojan Vafai.
1886
1887         Use gcc since older versions of clang (with Xcode 3.2) warn that they are going to use gcc anyway.
1888         These warnings are showing up on the main Chromium waterfall too:
1889         http://build.chromium.org/p/chromium/builders/Mac/builds/19113/steps/compile/logs/stdio
1890
1891         No new tests, this is a build change.
1892
1893         * WebCore.gyp/WebCore.gyp:
1894
1895 2013-01-28  Elliott Sprehn  <esprehn@chromium.org>
1896
1897         Move hasAuthorShadowRoot to Element
1898         https://bugs.webkit.org/show_bug.cgi?id=108071
1899
1900         Reviewed by Dimitri Glazkov.
1901
1902         Move hasAuthorShadowRoot to Element and get rid of unneccesary booleans
1903         in HTMLProgressElement and HTMLMeterElement. Also get rid of
1904         ShadowRoot::isAccessible since it obfuscates what's actually happening
1905         inside of Element::shadowRoot().
1906
1907         No new tests, just refactoring.
1908
1909         * dom/Element.cpp:
1910         (WebCore::Element::shadowRoot):
1911         (WebCore::Element::hasAuthorShadowRoot):
1912         * dom/Element.h:
1913         (Element):
1914         * dom/ShadowRoot.h:
1915         * html/HTMLMeterElement.cpp:
1916         (WebCore::HTMLMeterElement::HTMLMeterElement):
1917         * html/HTMLMeterElement.h:
1918         (HTMLMeterElement):
1919         * html/HTMLProgressElement.cpp:
1920         (WebCore::HTMLProgressElement::HTMLProgressElement):
1921         * html/HTMLProgressElement.h:
1922         (HTMLProgressElement):
1923
1924 2013-01-28  Elliott Sprehn  <esprehn@chromium.org>
1925
1926         Move ensureUserAgentShadowRoot to Element
1927         https://bugs.webkit.org/show_bug.cgi?id=108070
1928
1929         Reviewed by Dimitri Glazkov.
1930
1931         Move ensureUserAgentShadowRoot to Element where the other
1932         methods related to shadow roots are and get rid of the
1933         unnecessarily specific cast to HTMLElement.
1934
1935         No new tests, just refactoring.
1936
1937         * dom/Element.cpp:
1938         (WebCore::Element::ensureUserAgentShadowRoot): Moved from FormAssociatedElement.
1939         * dom/Element.h:
1940         (Element):
1941         * html/FormAssociatedElement.cpp:
1942         * html/FormAssociatedElement.h:
1943         (FormAssociatedElement):
1944
1945 2013-01-28  Ian Vollick  <vollick@chromium.org>
1946
1947         Promote composited-scrolling layers to stacking containers.
1948         https://bugs.webkit.org/show_bug.cgi?id=106142
1949
1950         Reviewed by Simon Fraser.
1951
1952         With this patch, RenderLayers that use composited scrolling are
1953         treated as stacking contexts. Since isStackingContainer now depends on
1954         the value of m_needsCompositedScrolling, special care needed to be
1955         taken to ensure that the value of isStackingContainer is not used when
1956         updating m_needsCompositedScrolling. In particular, the code for
1957         rebuilding the layer lists needed to be generalized so that we could
1958         build the layer lists using the value of isStackingContext rather than
1959         isStackingContainer when building the layer lists used to determine if
1960         the descendants are contiguous in stacking order. Also, updating
1961         m_needsCompositedScrolling can now affect stacking container status
1962         and can therefore dirty layer lists.
1963
1964         Test: compositing/overflow/composited-scrolling-creates-a-stacking-container.html
1965
1966         * rendering/RenderLayer.cpp:
1967         (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
1968           Modified to use layer lists built based on isStackingContext rather
1969           than isStackingContainer.
1970         (WebCore::RenderLayer::updateNeedsCompositedScrolling):
1971           This function can now affect stacking container status and layer
1972           lists.
1973         (WebCore::RenderLayer::rebuildZOrderLists):
1974           Refactored to generalize layer list building.
1975         (WebCore::RenderLayer::collectLayers):
1976           This function can now stop at either stacking containers or
1977           contexts.
1978         (WebCore::RenderLayer::updateLayerListsIfNeeded):
1979           Layer lists may need to be built a 2nd time if we opt into
1980           composited scrolling.
1981         * rendering/RenderLayer.h:
1982         (RenderLayer):
1983         (WebCore::RenderLayer::isStackingContainer):
1984           Returns true if we use composited scrolling.
1985
1986 2013-01-28  Max Vujovic  <mvujovic@adobe.com>
1987
1988         [CSS Shaders] Parse @-webkit-filter
1989         https://bugs.webkit.org/show_bug.cgi?id=106837
1990
1991         Reviewed by Dean Jackson.
1992
1993         The new CSS Custom Filters syntax includes an @filter rule:
1994         @filter IDENT { <custom-filter-description> }
1995
1996         IDENT is the filter name. For example:
1997         @filter my-filter { ... }
1998
1999         <custom-filter-description> is a set of CSS properties, which are still under discussion in
2000         the CSSWG.
2001
2002         This patch adds parsing and JS bindings for the prefixed at-rule. It does not add parsing
2003         for any of the at-rule's internal properties.
2004
2005         Spec: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#the-atfilter-rule
2006
2007         Tests: css3/filters/custom/custom-filter-parsing-at-rule-invalid.html
2008                css3/filters/custom/custom-filter-parsing-at-rule-valid.html
2009
2010         * CMakeLists.txt:
2011         * DerivedSources.cpp:
2012         * DerivedSources.make:
2013         * DerivedSources.pri:
2014         * GNUmakefile.list.am:
2015         * Target.pri:
2016         * WebCore.gypi:
2017         * WebCore.xcodeproj/project.pbxproj:
2018         * bindings/js/JSCSSRuleCustom.cpp:
2019         (WebCore::toJS):
2020         * bindings/objc/DOMCSS.mm:
2021         (kitClass):
2022         * bindings/v8/custom/V8CSSRuleCustom.cpp:
2023         (WebCore::wrap):
2024         * css/CSSGrammar.y.in:
2025         * css/CSSParser.cpp:
2026         (WebCore::CSSParser::createFilterRule):
2027         (WebCore::CSSParser::detectAtToken):
2028         * css/CSSParser.h:
2029         * css/CSSPropertySourceData.h:
2030         * css/CSSRule.h:
2031         * css/CSSRule.idl:
2032             Only contains a CSSStyleDeclaration "style" property, like the other at-rules that are
2033             supposed to contain properties (e.g. CSSStyleRule, CSSFontFaceRule, CSSPageRule).
2034             Eventually, when it's specified, we should expose the filter name as well.
2035             Other at-rules IDL Spec: http://www.w3.org/TR/DOM-Level-2-Style/idl-definitions.html
2036         * css/StyleRule.cpp:
2037         (WebCore::StyleRuleBase::reportMemoryUsage):
2038         (WebCore::StyleRuleBase::destroy):
2039         (WebCore::StyleRuleBase::copy):
2040         (WebCore::StyleRuleBase::createCSSOMWrapper):
2041         (WebCore::StyleRuleFilter::StyleRuleFilter):
2042         (WebCore::StyleRuleFilter::~StyleRuleFilter):
2043         (WebCore::StyleRuleFilter::mutableProperties):
2044         (WebCore::StyleRuleFilter::setProperties):
2045         (WebCore::StyleRuleFilter::reportDescendantMemoryUsage):
2046         * css/StyleRule.h:
2047         (StyleRuleBase):
2048         (WebCore::StyleRuleBase::isFilterRule):
2049         (StyleRuleFilter):
2050         (WebCore::StyleRuleFilter::create):
2051         (WebCore::StyleRuleFilter::filterName):
2052         (WebCore::StyleRuleFilter::properties):
2053         (WebCore::StyleRuleFilter::copy):
2054         * css/StyleSheetContents.cpp:
2055         (WebCore::childRulesHaveFailedOrCanceledSubresources):
2056         * css/WebKitCSSFilterRule.cpp: Added.
2057             WebKitCSSFilterRule is implemented similar to CSSFontFaceRule.
2058         (WebCore::WebKitCSSFilterRule::WebKitCSSFilterRule):
2059         (WebCore::WebKitCSSFilterRule::~WebKitCSSFilterRule):
2060         (WebCore::WebKitCSSFilterRule::style):
2061         (WebCore::WebKitCSSFilterRule::cssText):
2062             The CSS text implementation for WebKitCSSFilterRule is almost the same as
2063             CSSFontFaceRule. WebKitCSSFilterRule additionally needs to output the filter name in its
2064             syntax (e.g. @-webkit-filter my-filter { }).
2065         (WebCore::WebKitCSSFilterRule::reattach):
2066         (WebCore::WebKitCSSFilterRule::reportMemoryUsage):
2067         * css/WebKitCSSFilterRule.h: Added.
2068         (WebKitCSSFilterRule):
2069         (WebCore::WebKitCSSFilterRule::create):
2070         * css/WebKitCSSFilterRule.idl: Added.
2071
2072 2013-01-28  Anders Carlsson  <andersca@apple.com>
2073
2074         Add StorageStrategy member functions to WebKit2
2075         https://bugs.webkit.org/show_bug.cgi?id=108105
2076
2077         Reviewed by Tim Horton.
2078
2079         StorageStrategy::sessionStorageNamespace should be virtual, not static...
2080
2081         * WebCore.exp.in:
2082         * storage/StorageStrategy.h:
2083         (StorageStrategy):
2084
2085 2013-01-28  Uday Kiran  <udaykiran@motorola.com>
2086
2087         getComputedStyle returns "left" instead of "none" for "float" on abspos elements
2088         https://bugs.webkit.org/show_bug.cgi?id=105836
2089
2090         Reviewed by Tony Chang.
2091
2092         If 'position' has the value absolute, page or fixed, and the value of float is
2093         left or right, the box is absolutely positioned and the computed value of float is none.
2094         http://www.w3.org/TR/css3-positioning/#dis-pos-flo
2095         This matches behavior of Firefox 18, Opera 12 and IE9.
2096
2097         Test: fast/css/position-absolute-float.html
2098
2099         * css/CSSComputedStyleDeclaration.cpp:
2100         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2101
2102 2013-01-28  Tony Gentilcore  <tonyg@chromium.org>
2103
2104         Don't use threaded HTML parser for data: URLs
2105         https://bugs.webkit.org/show_bug.cgi?id=108096
2106
2107         Reviewed by Eric Seidel.
2108
2109         data: URLs are currently loaded synchronously. Using the main thread parser for them preserves this behavior.
2110         This fixes fast/dom/HTMLDocument/document-open-return-value.html and probably others.
2111
2112         No new tests because covered by existing tests.
2113
2114         * html/parser/HTMLParserOptions.cpp:
2115         (WebCore::HTMLParserOptions::HTMLParserOptions):
2116
2117 2013-01-28  Tony Gentilcore  <tonyg@chromium.org>
2118
2119         Don't use the threaded HTML parser for javascript: URLs
2120         https://bugs.webkit.org/show_bug.cgi?id=107975
2121
2122         Reviewed by Adam Barth.
2123
2124         Several layout tests depend on javascript: URL iframes loading synchronously including fast/loader/javascript-url-encoding.html.
2125         This patch avoids using the threaded parser for those URLs so they will continue to be synchronous.
2126
2127         No new tests because covered by existing tests.
2128
2129         * html/parser/HTMLParserOptions.cpp:
2130         (WebCore::HTMLParserOptions::HTMLParserOptions):
2131
2132 2013-01-27  Sam Weinig  <sam@webkit.org>
2133
2134         SVGPathStringSource should not up-convert 8-bit strings to UTF-16
2135         https://bugs.webkit.org/show_bug.cgi?id=108050
2136
2137         Reviewed by Anders Carlsson.
2138
2139         Should save around ~400k on Membuster3.
2140
2141         * svg/SVGParserUtilities.cpp:
2142         (WebCore::parseNumber):
2143         (WebCore::genericParseArcFlag):
2144         (WebCore::parseArcFlag):
2145         * svg/SVGParserUtilities.h:
2146         Add LChar variants of parseNumber and parseArcFlag.
2147
2148         * svg/SVGPathSource.h:
2149         (WebCore):
2150         Move forward declaration of FloatPoint here, where it belongs.
2151
2152         * svg/SVGPathStringSource.cpp:
2153         (WebCore::parseFloatPoint):
2154         (WebCore::parseFloatPoint2):
2155         (WebCore::parseFloatPoint3):
2156         Add helpers for parsing float points.
2157
2158         (WebCore::SVGPathStringSource::SVGPathStringSource):
2159         (WebCore::SVGPathStringSource::hasMoreData):
2160         (WebCore::SVGPathStringSource::moveToNextToken):
2161         (WebCore::parseSVGSegmentTypeHelper):
2162         (WebCore::SVGPathStringSource::parseSVGSegmentType):
2163         (WebCore::nextCommandHelper):
2164         (WebCore::SVGPathStringSource::nextCommand):
2165         (WebCore::SVGPathStringSource::parseMoveToSegment):
2166         (WebCore::SVGPathStringSource::parseLineToSegment):
2167         (WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
2168         (WebCore::SVGPathStringSource::parseLineToVerticalSegment):
2169         (WebCore::SVGPathStringSource::parseCurveToCubicSegment):
2170         (WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
2171         (WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
2172         (WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
2173         (WebCore::parseArcToSegmentHelper):
2174         (WebCore::SVGPathStringSource::parseArcToSegment):
2175         * svg/SVGPathStringSource.h:
2176         (SVGPathStringSource):
2177         Make 8-bit aware.
2178
2179 2013-01-28  Simon Fraser  <simon.fraser@apple.com>
2180
2181         Repaint issues in background tabs after r138858
2182         https://bugs.webkit.org/show_bug.cgi?id=108092
2183         <rdar://problem/13076430>
2184
2185         Reviewed by Tim Horton.
2186
2187         In r138858, we unparented all tiles in the tile caches of background tabs.
2188         That broke repaints in background tabs; when bringing that tab back to the
2189         foreground, we would call -setNeedsDisplayInRect:, and then reparent the tiles
2190         on a zero-delay timer. Those repaints would then be flipped (possibly because
2191         CA can't look up the layer tree to check for flipped geometry).
2192         
2193         Fix by revalidating tiles (which reparents the tiles) at the time we're told
2194         we're moving into the window, which happens before repaints are flushed.
2195
2196         * platform/graphics/ca/mac/TileCache.mm:
2197         (WebCore::TileCache::setIsInWindow):
2198
2199 2013-01-28  Adam Barth  <abarth@webkit.org>
2200
2201         Remove webkitNotifications.createHTMLNotification
2202         https://bugs.webkit.org/show_bug.cgi?id=107598
2203
2204         Reviewed by Benjamin Poulain.
2205
2206         As discussed in http://lists.webkit.org/pipermail/webkit-dev/2012-February/019354.html,
2207         we've been slowly deprecating HTML notificiations for about a year.
2208         FeatureObserver says that HTML notifications are used by 0.0008% of web
2209         pages, which means we should be able to remove them without causing too
2210         much trouble.
2211
2212         * Configurations/FeatureDefines.xcconfig:
2213         * Modules/notifications/Notification.cpp:
2214         (WebCore):
2215         (WebCore::Notification::Notification):
2216         * Modules/notifications/Notification.h:
2217         (Notification):
2218         * Modules/notifications/NotificationCenter.h:
2219         (NotificationCenter):
2220         * Modules/notifications/NotificationCenter.idl:
2221
2222 2013-01-28  Bear Travis  <betravis@adobe.com>
2223
2224         [CSS Exclusions] Refactor ExclusionShapeInsideInfo to more general ExclusionShapeInfo
2225         https://bugs.webkit.org/show_bug.cgi?id=100766
2226
2227         Reviewed by Dirk Schulze.
2228
2229         Refactoring, covered by existing tests.
2230
2231         Factoring out code common to ExclusionShapeInsideInfo and ExclusionShapeOutsideInfo
2232         into common classes in ExclusionShapeInfo.h. Since the ExclusionShapeInsideInfo and
2233         ExclusionShapeOutsideInfo share almost all of their code, save the RenderObject type
2234         they work with and the specific shapeInside/Outside methods they call on RenderStyle
2235         and ExclusionShape, the code has been templated. The code responsible for maintaining
2236         global maps has also been factored out into a MappedInfo class.
2237
2238         * CMakeLists.txt: Adding ExclusionShapeInfo files.
2239         * GNUmakefile.list.am: Ditto.
2240         * Target.pri: Ditto.
2241         * WebCore.gypi: Ditto.
2242         * WebCore.vcproj/WebCore.vcproj: Ditto.
2243         * WebCore.xcodeproj/project.pbxproj: Ditto.
2244         * rendering/ExclusionShapeInfo.cpp: Added.
2245         (WebCore::::computedShape): Determine the shape based on the current logical
2246         dimensions. Call this method rather than accessing m_shape directly.
2247         * rendering/ExclusionShapeInfo.h: Added.
2248         (MappedInfo): Helper class that maintains a global info map.
2249         (WebCore::MappedInfo::ensureInfo): Look up the info for a key and add it if not present.
2250         (WebCore::MappedInfo::removeInfo): Remove the info associated with a key.
2251         (WebCore::MappedInfo::info): Look up the info associated with a key.
2252         (WebCore::MappedInfo::infoMap): The map used to store key/info pairs.
2253         (ExclusionShapeInfo): A common parent class for ExclusionShapeInside/OutsideInfos.
2254         The methods were factored out of the code common to ExclusionShapeInside/OutsideInfo.
2255         (WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Destructor.
2256         (WebCore::ExclusionShapeInfo::setShapeSize): Sets the shape's logical size.
2257         (WebCore::ExclusionShapeInfo::shapeLogicalTop/Bottom/Left/Right/Width/Height):
2258         Returns the shape's logical dimensions.
2259         (WebCore::ExclusionShapeInfo::dirtyShapeSize): Mark the shape for recomputation.
2260         (WebCore::ExclusionShapeInfo::owner): The renderer to which this info belongs.
2261         (WebCore::ExclusionShapeInfo::ExclusionShapeInfo): Constructor.
2262         (WebCore::ExclusionShapeInfo::floatLogicalTopToLayoutUnit/floatLogicalBottomToLayoutUnit):
2263         Helper methods that round float units from ExclusionShapes to LayoutUnits for layout.
2264         * rendering/ExclusionShapeInsideInfo.cpp:
2265         (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Modified to use
2266         computedShape() rather than m_shape.
2267         (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
2268         * rendering/ExclusionShapeInsideInfo.h:
2269         (WebCore::ExclusionShapeInsideInfo::createInfo): Renamed to match MappedInfo.
2270         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Renamed to match shorter naming.
2271         (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Modified to use
2272         computedShape().
2273         * rendering/ExclusionShapeOutsideInfo.cpp:
2274         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Renamed to match shorter naming.
2275         * rendering/ExclusionShapeOutsideInfo.h:
2276         (WebCore::ExclusionShapeOutsideInfo::createInfo): Renamed to match MappedInfo.
2277         (WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo): Constructor.
2278         * rendering/RenderBlock.cpp:
2279         (WebCore::RenderBlock::willBeDestroyed): Use shortened MappedInfo names for looking
2280         up infos.
2281         (WebCore::RenderBlock::exclusionShapeInsideInfo): Ditto.
2282         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Ditto.
2283         (WebCore::RenderBlock::computeExclusionShapeSize): Ditto.
2284         * rendering/RenderBox.cpp:
2285         (WebCore::RenderBox::willBeDestroyed): Ditto.
2286         (WebCore::RenderBox::updateExclusionShapeOutsideInfoAfterStyleChange): Ditto.
2287         * rendering/RenderBox.h:
2288         (WebCore):
2289         (WebCore::RenderBox::exclusionShapeOutsideInfo): Ditto.
2290
2291 2013-01-28  Stephen Chenney  <schenney@chromium.org>
2292
2293         SVGViewSpec fails when corresponding element has been removed
2294         https://bugs.webkit.org/show_bug.cgi?id=106957
2295
2296         Reviewed by Dirk Schulze.
2297
2298         When JS holds an SVGViewSpec object while deleting the object that
2299         defines the spec (an SVGSVGElement, or one of a few others) the
2300         pointer to the target is cleared in the SVGViewSpec but the methods
2301         that serve JS queries do not check and try to access the now null
2302         target. This patch fixes the prooblem, returning null when the
2303         corresponding object has been deleted.
2304
2305         Also removing SVGViewSpec::setPreserveAspectRatioString, which is no
2306         longer used by any callers.
2307
2308         Test: svg/dom/SVGViewSpec-invalid-ref-crash.html
2309
2310         * svg/SVGViewSpec.cpp:
2311         (WebCore):
2312         (WebCore::SVGViewSpec::viewTarget): Check for null target and return null.
2313         (WebCore::SVGViewSpec::transform): Check for null target and return null..
2314         (WebCore::SVGViewSpec::viewBoxAnimated): Check for null target and return null.
2315         (WebCore::SVGViewSpec::preserveAspectRatioAnimated): Check for null target and return null.
2316         (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): ASSERT non-null target.
2317         (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): ASSERT non-null target.
2318         (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): ASSERT non-null target.
2319         * svg/SVGViewSpec.h:
2320         (SVGViewSpec): Move some methods out of the header and into the implementation file.
2321
2322         * svg/SVGViewSpec.cpp:
2323         (WebCore):
2324         (WebCore::SVGViewSpec::transform):
2325         (WebCore::SVGViewSpec::viewBoxAnimated):
2326         (WebCore::SVGViewSpec::preserveAspectRatioAnimated):
2327         (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
2328         (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
2329         (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
2330         * svg/SVGViewSpec.h:
2331         (SVGViewSpec):
2332
2333 2013-01-28  James Craig  <james@cookiecrook.com>
2334
2335         HTML5 promotes DL from specific 'definition list' to superset 'description list'; accessibility strings and accessors should be updated to match.
2336         https://bugs.webkit.org/show_bug.cgi?id=107650
2337
2338         Reviewed by Chris Fleizach.
2339
2340         Updating accessibility strings and accessors for DL/DT/DD; new one for [role="definition"] (previously it reused the role/desc for DD).
2341
2342         Test: platform/mac/accessibility/definition-list-term.html:
2343         Test: accessibility/lists.html
2344
2345         * English.lproj/Localizable.strings:
2346         * accessibility/AccessibilityList.cpp:
2347         (WebCore::AccessibilityList::isDescriptionList):
2348         * accessibility/AccessibilityList.h:
2349         (AccessibilityList):
2350         * accessibility/AccessibilityObject.cpp:
2351         (WebCore::createARIARoleMap):
2352         * accessibility/AccessibilityObject.h:
2353         * accessibility/AccessibilityRenderObject.cpp:
2354         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2355         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2356         (createAccessibilityRoleMap):
2357         (-[WebAccessibilityObjectWrapper subrole]):
2358         (-[WebAccessibilityObjectWrapper roleDescription]):
2359         * platform/LocalizedStrings.cpp:
2360         (WebCore::AXDefinitionText):
2361         (WebCore::AXDescriptionListTermText):
2362         (WebCore):
2363         (WebCore::AXDescriptionListDetailText):
2364         * platform/LocalizedStrings.h:
2365         (WebCore):
2366         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2367         (WebCore::AXDefinitionText):
2368         (WebCore::AXDescriptionListDetailText):
2369         (WebCore):
2370         (WebCore::AXDescriptionListTermText):
2371         * platform/efl/LocalizedStringsEfl.cpp:
2372         (WebCore::AXDefinitionText):
2373         (WebCore):
2374         (WebCore::AXDescriptionListTermText):
2375         (WebCore::AXDescriptionListDetailText):
2376         * platform/gtk/LocalizedStringsGtk.cpp:
2377         (WebCore::AXDefinitionText):
2378         (WebCore):
2379         (WebCore::AXDescriptionListTermText):
2380         (WebCore::AXDescriptionListDetailText):
2381         * platform/qt/LocalizedStringsQt.cpp:
2382         (WebCore::AXDefinitionText):
2383         (WebCore::AXDescriptionListTermText):
2384         (WebCore):
2385         (WebCore::AXDescriptionListDetailText):
2386
2387 2013-01-28  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2388
2389         Web Inspector: Inherit SidebarPane from View.
2390         https://bugs.webkit.org/show_bug.cgi?id=108075
2391
2392         Reviewed by Pavel Feldman.
2393
2394         Inherited WebInspector.SidebarPane from WebInspector.View to streamlines the code and
2395         simplify further enhancements to sidebar panes. Got rid of obsolete onattach calls.
2396
2397         No new tests.
2398
2399         * inspector/front-end/AuditResultView.js:
2400         (WebInspector.AuditResultView):
2401         * inspector/front-end/ElementsPanel.js:
2402         (WebInspector.ElementsPanel):
2403         (WebInspector.ElementsPanel.prototype.wasShown):
2404         (WebInspector.ElementsPanel.prototype.willHide):
2405         * inspector/front-end/ExtensionServer.js:
2406         (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
2407         * inspector/front-end/ScriptsPanel.js:
2408         (WebInspector.ScriptsPanel):
2409         (WebInspector.ScriptsPanel.prototype.wasShown):
2410         * inspector/front-end/SidebarPane.js:
2411         (WebInspector.SidebarPane):
2412         * inspector/front-end/WatchExpressionsSidebarPane.js:
2413         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshExpressionsIfNeeded):
2414
2415 2013-01-28  Martin Robinson  <mrobinson@igalia.com>
2416
2417         [Freetype] Synthetic bold not applied to fallback fonts properly
2418         https://bugs.webkit.org/show_bug.cgi?id=107733
2419
2420         Reviewed by Gustavo Noronha Silva.
2421
2422         No new tests. This is covered by existing pixel tests.
2423
2424         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2425         (WebCore::FontPlatformData::FontPlatformData): When we detect a situation in which
2426         we are a bold font, but the Fontconfig pattern does not describe the font as
2427         bold, we should activate synthetic bolding.
2428
2429 2013-01-28  Vsevolod Vlasov  <vsevik@chromium.org>
2430
2431         Web Inspector: [Regression] Search all sources should not search across service projects.
2432         https://bugs.webkit.org/show_bug.cgi?id=108068
2433
2434         Reviewed by Pavel Feldman.
2435
2436         * inspector/front-end/ScriptsSearchScope.js:
2437         (WebInspector.ScriptsSearchScope):
2438         (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
2439
2440 2013-01-28  Pavel Feldman  <pfeldman@chromium.org>
2441
2442         Web Inspector: SourceURL and SourceMappingURL together in evalled code
2443         https://bugs.webkit.org/show_bug.cgi?id=107939
2444
2445         Reviewed by Vsevolod Vlasov.
2446
2447         Resolve map's sources URLs wrt script URL in case sourceMap is defined as data:.
2448
2449         * inspector/front-end/CompilerScriptMapping.js:
2450         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2451         * inspector/front-end/ParsedURL.js:
2452         (WebInspector.ParsedURL.completeURL):
2453         * inspector/front-end/SourceMap.js:
2454         (WebInspector.SourceMap.prototype._parseMap):
2455
2456 2013-01-28  Andrey Adaikin  <aandrey@chromium.org>
2457
2458         Web Inspector: [Canvas] refactoring in CanvasAgent to reduce code dups
2459         https://bugs.webkit.org/show_bug.cgi?id=108064
2460
2461         Reviewed by Pavel Feldman.
2462
2463         Introduce private methods injectedScriptCanvasModule() in InspectorCanvasAgent to reduce much of code duplication.
2464         Drive-by: in InspectorPageAgent.assertFrame convert "String" argument to "const String&".
2465
2466         * inspector/InspectorCanvasAgent.cpp:
2467         (WebCore::InspectorCanvasAgent::dropTraceLog):
2468         (WebCore::InspectorCanvasAgent::captureFrame):
2469         (WebCore::InspectorCanvasAgent::startCapturing):
2470         (WebCore::InspectorCanvasAgent::stopCapturing):
2471         (WebCore::InspectorCanvasAgent::getTraceLog):
2472         (WebCore::InspectorCanvasAgent::replayTraceLog):
2473         (WebCore::InspectorCanvasAgent::getResourceInfo):
2474         (WebCore::InspectorCanvasAgent::getResourceState):
2475         (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
2476         (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
2477         (WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
2478         (WebCore):
2479         (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
2480         * inspector/InspectorCanvasAgent.h:
2481         (InspectorCanvasAgent):
2482         * inspector/InspectorPageAgent.cpp:
2483         (WebCore::InspectorPageAgent::assertFrame):
2484         (WebCore::InspectorPageAgent::assertDocumentLoader):
2485         * inspector/InspectorPageAgent.h:
2486         (InspectorPageAgent):
2487
2488 2013-01-28  Kihong Kwon  <kihong.kwon@samsung.com>
2489
2490         Replace the type of Proximity's supplementName for char*
2491         https://bugs.webkit.org/show_bug.cgi?id=108049
2492
2493         Reviewed by Benjamin Poulain.
2494
2495         There are some changes for supplementName by Bug 107535.
2496         It makes build break when PROXIMITY_EVENT feature is enabled.
2497         Therefore ProximityController need to change the type of supplementName for char* also.
2498
2499         No new tests. Functionality is not changed.
2500
2501         * Modules/proximity/DeviceProximityController.cpp:
2502         (WebCore::DeviceProximityController::supplementName):
2503         * Modules/proximity/DeviceProximityController.h:
2504         (DeviceProximityController):
2505
2506 2013-01-28  Keishi Hattori  <keishi@webkit.org>
2507
2508         [REGRESSION] Calendar Picker focus ring is gone
2509         https://bugs.webkit.org/show_bug.cgi?id=108055
2510
2511         Reviewed by Kent Tamura.
2512
2513         The focus ring wasn't visible because -webkit-focus-ring-color value
2514         only works for outline property in strict mode. Using fixed color
2515         instead.
2516
2517         No new tests. Can't reproduce in layout test because mock popup writes a
2518         script tag in front of the doctype.
2519
2520         * Resources/pagepopups/chromium/calendarPickerChromium.css:
2521         (.days-area-container:focus):
2522         * Resources/pagepopups/chromium/pickerCommonChromium.css:
2523         (:enabled:focus:-webkit-any(button, input[type='button'])):
2524
2525 2013-01-25  Yury Semikhatsky  <yurys@chromium.org>
2526
2527         Web Inspector: remove unused isElement and similar methods from HeapProfiler
2528         https://bugs.webkit.org/show_bug.cgi?id=107940
2529
2530         Reviewed by Vsevolod Vlasov.
2531
2532         - Removed some unused methods.
2533         - Moved JS specific edge filters to JSHeapSnapshot.
2534
2535         * inspector/front-end/HeapSnapshot.js:
2536         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
2537         (WebInspector.HeapSnapshot.prototype.createEdgesProviderForTest):
2538         (WebInspector.HeapSnapshot.prototype.retainingEdgesFilter):
2539         (WebInspector.HeapSnapshot.prototype.containmentEdgesFilter):
2540         (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
2541         (WebInspector.HeapSnapshot.prototype.classNodesFilter):
2542         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
2543         * inspector/front-end/HeapSnapshotGridNodes.js:
2544         (WebInspector.HeapSnapshotGenericObjectNode):
2545         * inspector/front-end/HeapSnapshotProxy.js:
2546         (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
2547         (WebInspector.HeapSnapshotProxy.prototype.createRetainingEdgesProvider):
2548         * inspector/front-end/JSHeapSnapshot.js:
2549         (WebInspector.JSHeapSnapshot.prototype.classNodesFilter):
2550         (WebInspector.JSHeapSnapshot.prototype._markDetachedDOMTreeNodes):
2551         * inspector/front-end/NativeHeapSnapshot.js:
2552
2553 2013-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2554
2555         Unreviewed, rolling out r140554.
2556         http://trac.webkit.org/changeset/140554
2557         https://bugs.webkit.org/show_bug.cgi?id=108057
2558
2559         Caused tables/table-section-overflow-clip-crash.html and
2560         bug2479-5.html to crash. (Requested by keishi on #webkit).
2561
2562         * rendering/RenderBox.cpp:
2563         (WebCore::RenderBox::minPreferredLogicalWidth):
2564         (WebCore::RenderBox::maxPreferredLogicalWidth):
2565         * rendering/mathml/RenderMathMLOperator.cpp:
2566         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
2567         * rendering/mathml/RenderMathMLRoot.cpp:
2568         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
2569         * rendering/mathml/RenderMathMLRow.cpp:
2570         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
2571
2572 2013-01-24  Yury Semikhatsky  <yurys@chromium.org>
2573
2574         Web Inspector: each node in a detached DOM tree is shown in its own "detached DOM tree" entry in heap profiler
2575         https://bugs.webkit.org/show_bug.cgi?id=107819
2576
2577         Reviewed by Adam Barth.
2578
2579         Provide single RetainedDOMInfo for each group of DOM Node wrappers reported to GC.
2580         Otherwise we have unequal RetainedDOMInfo groups for each wrapped node.
2581
2582         * bindings/v8/V8GCController.cpp:
2583         (WebCore::ImplicitConnection::ImplicitConnection):
2584         (WebCore::ImplicitConnection::retainedObjectInfo):
2585         (ImplicitConnection):
2586         (WebCore::WrapperGrouper::addObjectToGroup):
2587         (WrapperGrouper):
2588         (WebCore::WrapperGrouper::addNodeToGroup):
2589         (WebCore::WrapperGrouper::apply):
2590         (WebCore::V8GCController::opaqueRootForGC):
2591         * bindings/v8/V8GCController.h:
2592         (V8GCController):
2593
2594 2013-01-27  Mihnea Ovidenie  <mihnea@adobe.com>
2595
2596         [CSSRegions] RenderFlowThread should keep a count of auto height regions
2597         https://bugs.webkit.org/show_bug.cgi?id=105185
2598
2599         Reviewed by Julien Chaffraix.
2600
2601         Keep the count of auto height regions on the flow thread instead of flow thread controller.
2602         This way, we can streamline the operations associated with the two-pass layout only to those
2603         flow threads that have auto height regions associated.
2604         The flow thread controller will keep a count of flow thread with auto height regions instead.
2605         This is a performance refactoring without an expected change in behavior, therefore no new tests were added.
2606
2607         * rendering/FlowThreadController.cpp: Keep a count of flow threads with auto logical height regions.
2608         (WebCore::FlowThreadController::FlowThreadController):
2609         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads): Check the count of auto height regions for all the flow threads.
2610         (WebCore::FlowThreadController::isAutoLogicalHeightRegionsCountConsistent):
2611         Make sure that we call these methods only when we have auto logical height regions.
2612         (WebCore::FlowThreadController::resetRegionsOverrideLogicalContentHeight):
2613         (WebCore::FlowThreadController::markAutoLogicalHeightRegionsForLayout):
2614         * rendering/FlowThreadController.h:
2615         (WebCore::FlowThreadController::hasFlowThreadsWithAutoLogicalHeightRegions):
2616         (WebCore::FlowThreadController::incrementFlowThreadsWithAutoLogicalHeightRegions):
2617         (WebCore::FlowThreadController::decrementFlowThreadsWithAutoLogicalHeightRegions):
2618         * rendering/RenderFlowThread.cpp: Keep a count of auto logical height regions.
2619         (WebCore::RenderFlowThread::RenderFlowThread):
2620         (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
2621         (WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight): Iterate the region chain only if the region chain has auto height regions.
2622         (WebCore::RenderFlowThread::initializeRegionsOverrideLogicalContentHeight): Ditto.
2623         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout): Ditto.
2624         (WebCore::RenderFlowThread::incrementAutoLogicalHeightRegions):
2625         (WebCore::RenderFlowThread::decrementAutoLogicalHeightRegions):
2626         * rendering/RenderFlowThread.h:
2627         * rendering/RenderRegion.cpp: Add increment/decrementAutoLogicalHeightCount to increase/decrease
2628         the counter inside the flow thread and use them throughout the code as needed.
2629         (WebCore::RenderRegion::incrementAutoLogicalHeightCount):
2630         (WebCore::RenderRegion::decrementAutoLogicalHeightCount):
2631         (WebCore::RenderRegion::updateRegionHasAutoLogicalHeightFlag):
2632         (WebCore::RenderRegion::attachRegion):
2633         (WebCore::RenderRegion::detachRegion):
2634         * rendering/RenderRegion.h:
2635         * rendering/RenderView.cpp:
2636         (WebCore::RenderView::checkTwoPassLayoutForAutoHeightRegions): Use the count of flow threads with auto height regions
2637         instead of the count of auto height regions when deciding whether we should attempt the 2 pass layout for auto height regions.
2638
2639 2013-01-27  Shinya Kawanaka  <shinyak@chromium.org>
2640
2641         [Shadow DOM] Selecting a node to another node in ShadowDOM fires 'click' event unexpectedly
2642         https://bugs.webkit.org/show_bug.cgi?id=107233
2643
2644         Reviewed by Dimitri Glazkov.
2645
2646         When selecting from a node to another node in ShadowDOM, 'click' event is unexpectedly fired.
2647
2648         The root cause of the bug is using shadow ancestor nodes for checking the node mouse is pressed on
2649         and the node mouse is released on is the same. This was introduced to fire a click event for a slider
2650         in <input> or etc.
2651
2652         However, we don't need to check shadow ancestor if we're in Author ShadowDOM.
2653
2654         Test: fast/dom/shadow/selecting-anchor.html
2655
2656         * page/EventHandler.cpp:
2657         (WebCore::mouseIsReleasedOnPressedElement):
2658         (WebCore):
2659         (WebCore::EventHandler::handleMouseReleaseEvent):
2660
2661 2013-01-27  Kentaro Hara  <haraken@chromium.org>
2662
2663         An [ActiveDOMObject] IDL attribute should be inherited
2664         https://bugs.webkit.org/show_bug.cgi?id=107877
2665
2666         Reviewed by Adam Barth.
2667
2668         Now we support IDL attribute inheritance. We can remove
2669         [ActiveDOMObject] from subclasses.
2670
2671         No tests. No change in behavior.
2672
2673         * Modules/indexeddb/IDBOpenDBRequest.idl:
2674         * Modules/webaudio/OfflineAudioContext.idl:
2675         * bindings/scripts/CodeGeneratorJS.pm:
2676         (GenerateHeader):
2677         (GenerateImplementation):
2678         * bindings/scripts/CodeGeneratorV8.pm:
2679         (GenerateHeader):
2680         (GenerateNamedConstructorCallback):
2681         (GenerateImplementation):
2682         * workers/SharedWorker.idl:
2683         * workers/Worker.idl:
2684
2685 2013-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2686
2687         Unreviewed, rolling out r140602.
2688         http://trac.webkit.org/changeset/140602
2689         https://bugs.webkit.org/show_bug.cgi?id=108045
2690
2691         Caused 8 indexed tests to crash. (Requested by keishi on
2692         #webkit).
2693
2694         * CMakeLists.txt:
2695         * DerivedSources.make:
2696         * GNUmakefile.list.am:
2697         * Modules/indexeddb/IDBCallbacks.h:
2698         (WebCore::IDBCallbacks::onBlocked):
2699         * Modules/indexeddb/IDBDatabase.cpp:
2700         * Modules/indexeddb/IDBDatabase.h:
2701         (WebCore):
2702         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2703         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
2704         * Modules/indexeddb/IDBFactory.cpp:
2705         (WebCore::IDBFactory::openInternal):
2706         (WebCore::IDBFactory::deleteDatabase):
2707         * Modules/indexeddb/IDBFactory.h:
2708         (WebCore):
2709         (IDBFactory):
2710         * Modules/indexeddb/IDBFactory.idl:
2711         * Modules/indexeddb/IDBOpenDBRequest.cpp:
2712         (WebCore::IDBOpenDBRequest::create):
2713         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
2714         (WebCore::IDBOpenDBRequest::dispatchEvent):
2715         * Modules/indexeddb/IDBOpenDBRequest.h:
2716         (IDBOpenDBRequest):
2717         * Modules/indexeddb/IDBVersionChangeRequest.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
2718         (WebCore):
2719         (WebCore::IDBVersionChangeRequest::create):
2720         (WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):
2721         (WebCore::IDBVersionChangeRequest::~IDBVersionChangeRequest):
2722         (WebCore::IDBVersionChangeRequest::interfaceName):
2723         (WebCore::IDBVersionChangeRequest::onBlocked):
2724         * Modules/indexeddb/IDBVersionChangeRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBFactory.idl.
2725         (WebCore):
2726         (IDBVersionChangeRequest):
2727         * Modules/indexeddb/IDBVersionChangeRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBFactory.idl.
2728         * WebCore.gypi:
2729         * WebCore.xcodeproj/project.pbxproj:
2730         * dom/EventTarget.h:
2731         (WebCore):
2732         * dom/EventTargetFactory.in:
2733
2734 2013-01-27  Shinya Kawanaka  <shinyak@chromium.org>
2735
2736         Disabled input/textarea doesn't trigger selection change
2737         https://bugs.webkit.org/show_bug.cgi?id=85244
2738
2739         Reviewed by Ryosuke Niwa.
2740
2741         Only rootEditableNode is there in <input> or <textarea>, 'select' event is fired.
2742         Since readonly or disabled input/textarea element does not have editable element,
2743         'select' event was not fired.
2744
2745         We don't need the check.
2746
2747         Test: fast/forms/input-readonly-select.html
2748
2749         * editing/FrameSelection.cpp:
2750         (WebCore::FrameSelection::notifyRendererOfSelectionChange):
2751
2752 2013-01-27  Keishi Hattori  <keishi@webkit.org>
2753
2754         Unreviewed, rolling out r140850.
2755         http://trac.webkit.org/changeset/140850
2756         https://bugs.webkit.org/show_bug.cgi?id=107960
2757
2758         r14602 caused 8 indexed tests to crash.
2759
2760         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
2761         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
2762         * Modules/indexeddb/IDBCursorBackendImpl.h:
2763         (WebCore::IDBCursorBackendImpl::create):
2764         (IDBCursorBackendImpl):
2765         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2766         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
2767         (WebCore::OpenCursorOperation::perform):
2768         * Modules/indexeddb/IDBObjectStore.cpp:
2769         (WebCore::IDBObjectStore::createIndex):
2770         (WebCore::IDBObjectStore::openCursor):
2771         * Modules/indexeddb/IDBObjectStore.h:
2772         (WebCore::IDBObjectStore::openCursor):
2773         (IDBObjectStore):
2774         * Modules/indexeddb/IDBOpenDBRequest.cpp:
2775         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
2776         * Modules/indexeddb/IDBRequest.cpp:
2777         (WebCore::IDBRequest::create):
2778         (WebCore::IDBRequest::IDBRequest):
2779         * Modules/indexeddb/IDBRequest.h:
2780         (IDBRequest):
2781         (WebCore::IDBRequest::taskType):
2782         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2783         (WebCore::IDBTransactionBackendImpl::scheduleTask):
2784         * Modules/indexeddb/IDBTransactionBackendImpl.h:
2785         (WebCore::IDBTransactionBackendImpl::scheduleTask):
2786         (IDBTransactionBackendImpl):
2787         * Modules/indexeddb/IDBTransactionBackendInterface.h:
2788         (IDBTransactionBackendInterface):
2789
2790 2013-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2791
2792         Unreviewed, rolling out r140741.
2793         http://trac.webkit.org/changeset/140741
2794         https://bugs.webkit.org/show_bug.cgi?id=108044
2795
2796         Caused 8 indexed tests to fail on Mac and Win. (Requested by
2797         keishi on #webkit).
2798
2799         * CMakeLists.txt:
2800         * GNUmakefile.list.am:
2801         * Modules/indexeddb/IDBDatabase.cpp:
2802         (WebCore::IDBDatabase::onVersionChange):
2803         * Modules/indexeddb/IDBFactory.cpp:
2804         (WebCore::IDBFactory::deleteDatabase):
2805         * Modules/indexeddb/IDBOpenDBRequest.cpp:
2806         (WebCore::IDBOpenDBRequest::onBlocked):
2807         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
2808         * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.cpp.
2809         (WebCore):
2810         (WebCore::IDBUpgradeNeededEvent::create):
2811         (WebCore::IDBUpgradeNeededEvent::IDBUpgradeNeededEvent):
2812         (WebCore::IDBUpgradeNeededEvent::~IDBUpgradeNeededEvent):
2813         (WebCore::IDBUpgradeNeededEvent::oldVersion):
2814         (WebCore::IDBUpgradeNeededEvent::newVersion):
2815         (WebCore::IDBUpgradeNeededEvent::interfaceName):
2816         * Modules/indexeddb/IDBUpgradeNeededEvent.h: Copied from Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.h.
2817         (WebCore):
2818         (IDBUpgradeNeededEvent):
2819         * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Copied from Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.idl.
2820         * Modules/indexeddb/IDBVersionChangeEvent.cpp:
2821         (WebCore::IDBVersionChangeEvent::create):
2822         (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
2823         (WebCore::IDBVersionChangeEvent::version):
2824         (WebCore):
2825         * Modules/indexeddb/IDBVersionChangeEvent.h:
2826         (WebCore):
2827         (IDBVersionChangeEvent):
2828         * Modules/indexeddb/IDBVersionChangeEvent.idl:
2829         * WebCore.gypi:
2830         * dom/EventNames.in:
2831
2832 2013-01-27  Matt Falkenhagen  <falken@chromium.org>
2833
2834         Elements must be reattached when inserted/removed from top layer
2835         https://bugs.webkit.org/show_bug.cgi?id=105489
2836
2837         Relanding r139402 as the apparent perf regression has been explained as not real (bug 106726).
2838
2839         Reviewed by Julien Chaffraix.
2840
2841         Ensure a reattach occurs when an element is inserted/removed from top layer, so its renderer can be inserted correctly:
2842         as a child of RenderView in top layer sibling order if it's in the top layer, and in the usual place otherwise.
2843
2844         We previously relied on style recalc to catch when an element is inserted/removed from the top layer, because it
2845         only happens on dialog.show/close which toggle display: none. But that is incorrect because, for example, close()
2846         followed immediately by show() results in no style change.
2847
2848         Tests: fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html
2849                fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html
2850
2851         * dom/Element.cpp:
2852         (WebCore::Element::removedFrom): Call Document::removeFromTopLayer to let the element be removed from the top layer vector.
2853         removeFromTopLayer calls Element::setIsInTopLayer(false) itself if needed.
2854         (WebCore::Element::setIsInTopLayer): Ensure a reattach occurs if the element is already attached.
2855
2856 2013-01-27  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2857
2858         Fixing atomicIncrement implementation for Windows by dropping support before XP SP2.
2859         https://bugs.webkit.org/show_bug.cgi?id=106740
2860
2861         Reviewed by Benjamin Poulain.
2862
2863         * WebCorePrefix.h:
2864         * config.h:
2865
2866 2013-01-27  Jochen Eisinger  <jochen@chromium.org>
2867
2868         Check notification permissions in the show() method
2869         https://bugs.webkit.org/show_bug.cgi?id=108009
2870
2871         Reviewed by Adam Barth.
2872
2873         Tests: fast/notifications/notifications-constructor-with-permission.html
2874                fast/notifications/notifications-constructor-without-permission.html
2875
2876         * Modules/notifications/Notification.cpp:
2877         (WebCore::Notification::show):
2878         (WebCore::Notification::taskTimerFired):
2879
2880 2013-01-26  Tony Chang  <tony@chromium.org>
2881
2882         [chromium] Don't use goma to preprocess bindings idl files
2883         https://bugs.webkit.org/show_bug.cgi?id=107984
2884
2885         Reviewed by Adam Barth.
2886
2887         On Linux and Mac, use a local gcc or clang to preprocess the bindings idl files.
2888         On my machine, this drops the bindings generation from 137s to 24s when
2889         using goma and -j400.
2890
2891         No new tests, this is a build change.
2892
2893         * WebCore.gyp/WebCore.gyp: Force the use of the local gcc or clang for preprocessing.
2894
2895 2013-01-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2896
2897         Unreviewed, rolling out r140880.
2898         http://trac.webkit.org/changeset/140880
2899         https://bugs.webkit.org/show_bug.cgi?id=108023
2900
2901         Caused mathml/presentation and tests to crash and fail
2902         (Requested by keishi on #webkit).
2903
2904         * mathml/MathMLTextElement.cpp:
2905         * mathml/MathMLTextElement.h:
2906         (MathMLTextElement):
2907         * rendering/mathml/RenderMathMLBlock.cpp:
2908         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
2909         (WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
2910         (WebCore):
2911         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
2912         (WebCore::RenderMathMLBlock::preferredLogicalHeightAfterSizing):
2913         * rendering/mathml/RenderMathMLBlock.h:
2914         (RenderMathMLBlock):
2915         (WebCore::RenderMathMLBlock::isPreferredLogicalHeightDirty):
2916         (WebCore::RenderMathMLBlock::preferredLogicalHeight):
2917         (WebCore::RenderMathMLBlock::setPreferredLogicalHeight):
2918         * rendering/mathml/RenderMathMLFenced.cpp:
2919         (WebCore::RenderMathMLFenced::makeFences):
2920         (WebCore::RenderMathMLFenced::styleDidChange):
2921         * rendering/mathml/RenderMathMLOperator.cpp:
2922         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
2923         (WebCore):
2924         (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
2925         (WebCore::RenderMathMLOperator::updateFromElement):
2926         (WebCore::RenderMathMLOperator::createGlyph):
2927         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
2928         * rendering/mathml/RenderMathMLOperator.h:
2929         (RenderMathMLOperator):
2930         * rendering/mathml/RenderMathMLRoot.cpp:
2931         (WebCore::RenderMathMLRoot::index):
2932         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
2933         (WebCore):
2934         (WebCore::RenderMathMLRoot::layout):
2935         * rendering/mathml/RenderMathMLRoot.h:
2936         (RenderMathMLRoot):
2937         * rendering/mathml/RenderMathMLRow.cpp:
2938         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
2939         (WebCore::RenderMathMLRow::layout):
2940         * rendering/mathml/RenderMathMLRow.h:
2941         (RenderMathMLRow):
2942
2943 2013-01-26  Alexey Proskuryakov  <ap@apple.com>
2944
2945         Remove code for handling NetworkProcess authentication challenges in WebProcess
2946         https://bugs.webkit.org/show_bug.cgi?id=108003
2947
2948         Reviewed by Sam Weinig.
2949
2950         * loader/ResourceLoader.cpp:
2951         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2952         Once again, there can be no authentication without an in-process network request.
2953
2954         * WebCore.exp.in:
2955         * platform/network/AuthenticationChallengeBase.cpp:
2956         (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
2957         * platform/network/AuthenticationChallengeBase.h:
2958         (AuthenticationChallengeBase):
2959         * platform/network/cf/AuthenticationCF.cpp:
2960         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2961         * platform/network/cf/AuthenticationChallenge.h:
2962         (AuthenticationChallenge):
2963         * platform/network/curl/AuthenticationChallenge.h:
2964         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2965         * platform/network/mac/AuthenticationMac.mm:
2966         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2967         * platform/network/qt/AuthenticationChallenge.h:
2968         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2969         * platform/network/soup/AuthenticationChallenge.h:
2970         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2971         * platform/network/win/AuthenticationChallenge.h:
2972         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2973         Removed everything related to AuthenticationChallengeBase::m_identifier.
2974         The identifier is now tracked for IPC only, which is the right thing, because
2975         nothing can guarantee identifier uniqueness across processes.
2976
2977 2013-01-26  Laszlo Gombos  <l.gombos@samsung.com>
2978
2979         Fix the test for CHANNEL_MESSAGING in idl files
2980         https://bugs.webkit.org/show_bug.cgi?id=108006
2981
2982         Reviewed by Alexey Proskuryakov.
2983
2984         No new tests, this is a build fix.
2985
2986         * workers/WorkerContext.idl: Make sure ENABLE_CHANNEL_MESSAGING is
2987         defined before using it to be consitent with other guards inside idl
2988         files.
2989
2990 2013-01-26  Tim Volodine  <timvolodine@chromium.org>
2991
2992         Text Autosizing: simplify and clean-up preOrderTraversal skipping containers
2993         https://bugs.webkit.org/show_bug.cgi?id=107446
2994
2995         Reviewed by Julien Chaffraix.
2996
2997         Simplify nextInPreOrderSkippingDescendantsOfContainers implementation
2998         using RenderObject tree traversal methods.
2999
3000         No new tests because functionality is unchanged.
3001
3002         * rendering/TextAutosizer.cpp:
3003         (WebCore::TextAutosizer::nextInPreOrderSkippingDescendantsOfContainers):
3004
3005 2013-01-26  Dan Carney  <dcarney@google.com>
3006
3007         [v8] prepare SerializedScriptValue for transition to Latin-1
3008         https://bugs.webkit.org/show_bug.cgi?id=107655
3009
3010         Reviewed by Kentaro Hara.
3011
3012         No new tests. Covered by existing tests.
3013
3014         * bindings/v8/SerializedScriptValue.cpp:
3015
3016 2013-01-26  Justin Schuh  <jschuh@chromium.org>
3017
3018         [CHROMIUM] Suppress more c4267 build warnings for Win64 targets
3019         https://bugs.webkit.org/show_bug.cgi?id=107993
3020
3021         No new tests. No behavior change.
3022
3023         Reviewed by Abhishek Arya.
3024
3025         * WebCore.gyp/WebCore.gyp:
3026
3027 2013-01-24  Patrick Gansterer  <paroga@webkit.org>
3028
3029         Build fix for USE(JSC) && !ENABLE(WORKERS) after r136686.
3030
3031         * bindings/js/DOMRequestState.h:
3032         (WebCore::DOMRequestState::DOMRequestState):
3033
3034 2013-01-26  Robert Hogan  <robert@webkit.org>
3035
3036         REGRESSION(r120616): Cell's logical height wrongly computed with vertical-align: baseline and rowspan
3037         https://bugs.webkit.org/show_bug.cgi?id=106571
3038
3039         Reviewed by Julien Chaffraix.
3040
3041         When a cell spans multiple rows, its baseline is set on the first row it spans. r120616 contained a
3042         couple of errors in its attempt to ensure the row height calculated in such cases was correct. When it
3043         calculated the baseline on the first row in the span, it didn't ensure that the row height was increased
3044         if necessary. It also suffered from allowing the baseline descent calculated on a rowspan to affect the
3045         height of the other cells in the first row of the span.
3046
3047         Fix both of these errors in calcRowLogicalHeight() and refactor the calculation of the baseline and baseline
3048         descent so that it is freestanding (rather than depending on the height of the section so far). 
3049
3050         Tests: fast/css/vertical-align-baseline-rowspan-010.html
3051                fast/css/vertical-align-baseline-rowspan-011.html
3052
3053         * rendering/RenderTableSection.cpp:
3054         (WebCore::RenderTableSection::calcRowLogicalHeight):
3055
3056 2013-01-26  James Simonsen  <simonjam@chromium.org>
3057
3058         [chromium] Export ResourceRequest's priority through WebURLRequest
3059         https://bugs.webkit.org/show_bug.cgi?id=107985
3060
3061         Reviewed by Adam Barth.
3062
3063         No new tests.
3064
3065         * platform/chromium/support/WebURLRequest.cpp:
3066         (WebKit::WebURLRequest::priority):
3067         (WebKit):
3068
3069 2013-01-25  Roger Fong  <roger_fong@apple.com>
3070
3071         Unreviewed Windows build fix. All it wanted was one more line.
3072
3073         * css/plugIns.css:
3074
3075 2013-01-25  Joone Hur  <joone.hur@intel.com>
3076
3077         [GTK][AC] Use new Clutter APIs instead of deprecated APIs
3078         https://bugs.webkit.org/show_bug.cgi?id=105736
3079
3080         Reviewed by Gustavo Noronha Silva.
3081
3082         ClutterCairoTexture class and several APIs have been deprecated since version 1.10, 
3083         so ClutterCanvas and ClutterContent should be used instead of ClutterCairoTexture.
3084         clutter_actor_add_child should be used instead of clutter_actor_set_parent and clutter_container_add_clutter.
3085
3086         * platform/graphics/clutter/GraphicsLayerActor.cpp:
3087         (_GraphicsLayerActorPrivate):
3088         (graphics_layer_actor_init):
3089         (graphicsLayerActorDispose):
3090         (graphicsLayerActorAllocate):
3091         (graphicsLayerActorPaint):
3092         (graphicsLayerActorDraw):
3093         (graphicsLayerActorUpdateTexture):
3094         (graphicsLayerActorNew):
3095         (graphicsLayerActorRemoveAll):
3096         (graphicsLayerActorInvalidateRectangle):
3097         (graphicsLayerActorInsertSublayer):
3098         (graphicsLayerActorSetSublayers):
3099
3100 2013-01-25  Roger Fong  <roger_fong@apple.com>
3101
3102         Unreviewed build fix for Windows.
3103
3104         * css/plugIns.css:
3105         (p):
3106
3107 2013-01-25  Julien Chaffraix  <jchaffraix@webkit.org>
3108
3109         Share code between the different min-content / max-content code paths
3110         https://bugs.webkit.org/show_bug.cgi?id=107740
3111
3112         Reviewed by Tony Chang.
3113
3114         This change enables sharing between the different content based computations
3115         by using function pointers to specialize the behavior as needed.
3116
3117         Refactoring, covered by existing tests.
3118
3119         * rendering/RenderGrid.cpp:
3120         (WebCore::GridTrack::growUsedBreadth):
3121         (WebCore::GridTrack::usedBreadth):
3122         (WebCore::GridTrack::growMaxBreadth):
3123         Added the previous getters / setters that will be passed to resolveContentBasedTrackSizingFunctionsForItems.
3124
3125         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
3126         Updated to reuse resolveContentBasedTrackSizingFunctionsForItems instead of duplicating code.
3127         One change is that now, we properly apply the min on all branches, which was an oversight of
3128         the previous patches.
3129
3130         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
3131         Added this function as the core content-sized resolution function. For now, we pass the
3132         current track by direction & index to be able to filter grid items.
3133
3134         * rendering/RenderGrid.h:
3135         Added resolveContentBasedTrackSizingFunctionsForItems and the function pointers typedef's.
3136
3137 2013-01-25  Kentaro Hara  <haraken@chromium.org>
3138
3139         Remove InjectedScript::wrapSerializedObject()
3140         https://bugs.webkit.org/show_bug.cgi?id=107906
3141
3142         Reviewed by Abhishek Arya.
3143
3144         InjectedScript::wrapSerializedObject() is unused.
3145         (This is one of steps to remove raw pointers of SerializedScriptValue*,
3146         which can be a security concern.)
3147
3148         * inspector/InjectedScript.cpp:
3149         * inspector/InjectedScript.h:
3150         (InjectedScript):
3151
3152 2013-01-25  Kentaro Hara  <haraken@chromium.org>
3153
3154         Keep a RefPtr<SerializedScriptValue*> when we call serialize()/deserialize() in code generators
3155         https://bugs.webkit.org/show_bug.cgi?id=107902
3156
3157         Reviewed by Abhishek Arya.
3158
3159         If you use a raw SerializedScriptValue* for serialize()/deserialize(),
3160         it can potentially cause a use-after-free. This is because serialize()/
3161         deserialize() can destruct a RefPtr of the SerializedScriptValue*,
3162         depending on data that is serialized/deserialized. So we should keep a
3163         RefPtr<SerializedScriptValue*> when we call serialize()/deserialize().
3164         (See https://bugs.webkit.org/show_bug.cgi?id=107792 for more details.)
3165
3166         No tests. This is just a just-in-case fix.
3167
3168         * Modules/intents/Intent.h:
3169         (WebCore::Intent::data):
3170         * Modules/intents/IntentRequest.cpp:
3171         (WebCore::IntentRequest::postResult):
3172         (WebCore::IntentRequest::postFailure):
3173         * Modules/intents/IntentRequest.h:
3174         (IntentRequest):
3175         * Modules/intents/IntentResultCallback.h:
3176         (IntentResultCallback):
3177         * bindings/scripts/CodeGeneratorJS.pm:
3178         (GetNativeTypeForCallbacks):
3179         * bindings/scripts/CodeGeneratorV8.pm:
3180         (GenerateNormalAttrGetter):
3181         (GetNativeTypeForCallbacks):
3182         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3183         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
3184         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
3185         * dom/MessagePortChannel.h:
3186         (WebCore::MessagePortChannel::EventData::message):
3187
3188 2013-01-25  Kentaro Hara  <haraken@chromium.org>
3189
3190         Keep a RefPtr<SerializedScriptValue*> when we call serialize()/deserialize() for MessageEvent
3191         https://bugs.webkit.org/show_bug.cgi?id=107900
3192
3193         Reviewed by Abhishek Arya.
3194
3195         If you use a raw SerializedScriptValue* for serialize()/deserialize(),
3196         it can potentially cause a use-after-free. This is because serialize()/
3197         deserialize() can destruct a RefPtr of the SerializedScriptValue*,
3198         depending on data that is serialized/deserialized. So we should keep a
3199         RefPtr<SerializedScriptValue*> when we call serialize()/deserialize().
3200         (See https://bugs.webkit.org/show_bug.cgi?id=107792 for more details.)
3201
3202         No tests. This is just a just-in-case fix. I couldn't find any bug
3203         even in an ASAN build.
3204
3205         * bindings/js/JSMessageEventCustom.cpp:
3206         (WebCore::JSMessageEvent::data):
3207         * bindings/v8/custom/V8MessageEventCustom.cpp:
3208         (WebCore::V8MessageEvent::dataAccessorGetter):
3209         * dom/MessageEvent.h:
3210         (WebCore::MessageEvent::dataAsSerializedScriptValue):
3211
3212 2013-01-25  Kentaro Hara  <haraken@chromium.org>
3213
3214         [V8] Keep a RefPtr<SerializedScriptValue*> when we call serialize()/deserialize() (part 1)
3215         https://bugs.webkit.org/show_bug.cgi?id=107891
3216
3217         Reviewed by Abhishek Arya.
3218
3219         If you use a raw SerializedScriptValue* for serialize()/deserialize(),
3220         it can potentially cause a use-after-free. This is because serialize()/
3221         deserialize() can destruct a RefPtr of the SerializedScriptValue*,
3222         depending on data that is serialized/deserialized. So we should keep a
3223         RefPtr<SerializedScriptValue*> when we call serialize()/deserialize().
3224         (See https://bugs.webkit.org/show_bug.cgi?id=107792 for more details.)
3225
3226         No tests. This is just a just-in-case fix. I couldn't find any bug
3227         even in an ASAN build.
3228
3229         * bindings/v8/custom/V8CustomEventCustom.cpp:
3230         (WebCore::V8CustomEvent::detailAccessorGetter):
3231
3232 2013-01-25  Kentaro Hara  <haraken@chromium.org>
3233
3234         Keep a RefPtr<SerializedScriptValue*> when we call serialize()/deserialize() in PopStateEvent
3235         https://bugs.webkit.org/show_bug.cgi?id=107904
3236
3237         Reviewed by Abhishek Arya.
3238
3239         If you use a raw SerializedScriptValue* for serialize()/deserialize(),
3240         it can potentially cause a use-after-free. This is because serialize()/
3241         deserialize() can destruct a RefPtr of the SerializedScriptValue*,
3242         depending on data that is serialized/deserialized. So we should keep a
3243         RefPtr<SerializedScriptValue*> when we call serialize()/deserialize().
3244         (See https://bugs.webkit.org/show_bug.cgi?id=107792 for more details.)
3245
3246         No tests. This is just a just-in-case fix.
3247
3248         * dom/PopStateEvent.h:
3249         (WebCore::PopStateEvent::serializedState):
3250         * page/History.cpp:
3251         (WebCore::History::isSameAsCurrentState):
3252         * page/History.h:
3253         (History):
3254
3255 2013-01-25  Kentaro Hara  <haraken@chromium.org>
3256
3257         Rename CodeGenerator::IsSubType() to CodeGenerator::InheritsInterface()
3258         https://bugs.webkit.org/show_bug.cgi?id=107874
3259
3260         Reviewed by Adam Barth.
3261
3262         No tests. No change in behavior.
3263
3264         * bindings/scripts/CodeGenerator.pm:
3265         (InheritsInterface):
3266         * bindings/scripts/CodeGeneratorJS.pm:
3267         (GenerateHeader):
3268         (GenerateImplementation):
3269         * bindings/scripts/CodeGeneratorV8.pm:
3270         (GenerateHeader):
3271         (GetInternalFields):
3272         (GenerateNormalAttrGetter):
3273         (GenerateNormalAttrSetter):
3274         (GenerateFunctionCallback):
3275         (GenerateImplementationIndexer):
3276         (GenerateToV8Converters):
3277
3278 2013-01-25  Kentaro Hara  <haraken@chromium.org>
3279
3280         [V8] Pass an Isolate to GetRawTemplate()
3281         https://bugs.webkit.org/show_bug.cgi?id=107927
3282
3283         Reviewed by Adam Barth.
3284
3285         This is one of steps to kill an optional Isolate parameter of GetRawTemplate().
3286
3287         No tests. No change in behavior.
3288
3289         * bindings/scripts/CodeGeneratorV8.pm:
3290         (GenerateHeader):
3291         (GenerateDomainSafeFunctionGetter):
3292         (GenerateImplementation):
3293         (CreateCustomSignature):
3294         * bindings/scripts/test/V8/V8Float64Array.cpp:
3295         (WebCore::ConfigureV8Float64ArrayTemplate):
3296         (WebCore::V8Float64Array::GetTemplate):
3297         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3298         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
3299         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
3300         (WebCore::V8TestActiveDOMObject::GetTemplate):
3301         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3302         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
3303         (WebCore::V8TestCustomNamedGetter::GetTemplate):
3304         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3305         (WebCore::ConfigureV8TestEventConstructorTemplate):
3306         (WebCore::V8TestEventConstructor::GetTemplate):
3307         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3308         (WebCore::ConfigureV8TestEventTargetTemplate):
3309         (WebCore::V8TestEventTarget::GetTemplate):
3310         * bindings/scripts/test/V8/V8TestException.cpp:
3311         (WebCore::ConfigureV8TestExceptionTemplate):
3312         (WebCore::V8TestException::GetTemplate):
3313         * bindings/scripts/test/V8/V8TestInterface.cpp:
3314         (WebCore::ConfigureV8TestInterfaceTemplate):
3315         (WebCore::V8TestInterface::GetTemplate):
3316         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3317         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
3318         (WebCore::V8TestMediaQueryListListener::GetTemplate):
3319         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3320         (WebCore::ConfigureV8TestNamedConstructorTemplate):
3321         (WebCore::V8TestNamedConstructor::GetTemplate):
3322         * bindings/scripts/test/V8/V8TestNode.cpp:
3323         (WebCore::ConfigureV8TestNodeTemplate):
3324         (WebCore::V8TestNode::GetTemplate):
3325         * bindings/scripts/test/V8/V8TestObj.cpp:
3326         (WebCore::ConfigureV8TestObjTemplate):
3327         (WebCore::V8TestObj::GetTemplate):
3328         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3329         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
3330         (WebCore::V8TestOverloadedConstructors::GetTemplate):
3331         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3332         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
3333         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
3334         * bindings/v8/V8DOMWindowShell.cpp:
3335         (WebCore::V8DOMWindowShell::createContext):
3336         * bindings/v8/custom/V8LocationCustom.cpp:
3337         (WebCore::V8Location::reloadAccessorGetter):
3338         (WebCore::V8Location::replaceAccessorGetter):
3339         (WebCore::V8Location::assignAccessorGetter):
3340
3341 2013-01-25  Pan Deng  <pan.deng@intel.com>
3342
3343         [User Timing]Change class name that presented in Javascript for user timing entry.
3344         https://bugs.webkit.org/show_bug.cgi?id=107925.
3345
3346         Reviewed by Tony Gentilcore.
3347
3348         In current implementation, class type of user timing entries are PerformanceEntry, according
3349         to W3C spec, they should be PerformanceMark and PerformanceMeasure.
3350
3351         Test: http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_entry_type.html
3352
3353         * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
3354         (WebCore::wrap):
3355         * page/PerformanceEntry.h:
3356         (WebCore::PerformanceEntry::isMark):
3357         (WebCore::PerformanceEntry::isMeasure):
3358         * page/PerformanceMark.h:
3359         (WebCore::PerformanceMark::isMark):
3360         (PerformanceMark):
3361         * page/PerformanceMeasure.h:
3362         (WebCore::PerformanceMeasure::isMeasure):
3363         (PerformanceMeasure):
3364
3365 2013-01-24  Roger Fong  <roger_fong@apple.com>
3366
3367         Updated WebCore property sheets and added a WebCore solution file.
3368         https://bugs.webkit.org/show_bug.cgi?id=106988.
3369
3370         Rubberstamped by Brent Fulgham.
3371
3372         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
3373         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters:
3374         * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
3375         * WebCore.vcxproj/WebCore.sln: Added.
3376         * WebCore.vcxproj/WebCore.vcxproj:
3377         * WebCore.vcxproj/WebCore.vcxproj.filters:
3378         * WebCore.vcxproj/WebCoreDebug.props:
3379
3380 2013-01-24  Ojan Vafai  <ojan@chromium.org>
3381
3382         MathML preferred widths should not depend on layout information
3383         https://bugs.webkit.org/show_bug.cgi?id=107353
3384
3385         Reviewed by Levi Weintraub.
3386
3387         * mathml/MathMLTextElement.cpp:
3388         (WebCore::MathMLTextElement::attach):
3389         (WebCore::MathMLTextElement::childrenChanged):
3390         * mathml/MathMLTextElement.h:
3391         Need to update the render tree when the text of a <mo> changes.
3392
3393         * rendering/mathml/RenderMathMLBlock.cpp:
3394         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
3395         * rendering/mathml/RenderMathMLBlock.h:
3396         * rendering/mathml/RenderMathMLFenced.cpp:
3397         (WebCore::RenderMathMLFenced::makeFences):
3398         (WebCore::RenderMathMLFenced::styleDidChange):
3399         Need to update the rendertree to apply operator stretching.
3400
3401         * rendering/mathml/RenderMathMLOperator.cpp:
3402         (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
3403         (WebCore::RenderMathMLOperator::widthForCharacter):
3404         (WebCore::RenderMathMLOperator::computeIntrinsicLogicalWidths):
3405         (WebCore::RenderMathMLOperator::stretchDisabledByMarkup):
3406         (WebCore::RenderMathMLOperator::firstTextCharacter):
3407         (WebCore::RenderMathMLOperator::stretchyCharacterIndex):
3408         (WebCore::RenderMathMLOperator::updateFromElement):
3409         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
3410         -Make the preferred widths of operators the max of all possible
3411         characters to be used in the operator and center the operator in that width.
3412         -For stretching where we don't use multiple glyphs, use transforms
3413         instead of font-size. This both looks better and avoids affecting the width.
3414         -Now that preferred widths don't depends on height, we don't need to
3415         override computePreferredLogicalWidths at all in MathML code.
3416
3417         * rendering/mathml/RenderMathMLOperator.h:
3418         * rendering/mathml/RenderMathMLRoot.cpp:
3419         (WebCore::RenderMathMLRoot::index):
3420         Tighten up the type.
3421
3422         (WebCore::RenderMathMLRoot::layout):
3423         Move the laying out of children to the layout method.
3424
3425         * rendering/mathml/RenderMathMLRoot.h:
3426         * rendering/mathml/RenderMathMLRow.cpp:
3427         (WebCore::RenderMathMLRow::logicalHeightExcludingOperators):
3428         (WebCore::RenderMathMLRow::stretchOperatorsAndLayout):
3429         (WebCore::RenderMathMLRow::layout):
3430         Move the laying out of children and the subsequent setting of stretchHeight
3431         to the layout method.
3432
3433         * rendering/mathml/RenderMathMLRow.h:
3434
3435 2013-01-25  Raymond Toy  <rtoy@google.com>
3436
3437         Don't subtract too much from nonSilentFramesToProcess
3438         https://bugs.webkit.org/show_bug.cgi?id=107966
3439
3440         Reviewed by Kenneth Russell.
3441
3442         No new tests.
3443
3444         * Modules/webaudio/AudioScheduledSourceNode.cpp:
3445         (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
3446
3447 2013-01-25  Roger Fong  <roger_fong@apple.com>
3448
3449         Unreviewed. Windows build fix by Dean.
3450
3451         * css/plugIns.css:
3452         (object):
3453
3454 2013-01-25  Dima Gorbik  <dgorbik@apple.com>
3455
3456         Support language WebVTT Nodes
3457         https://bugs.webkit.org/show_bug.cgi?id=107907
3458
3459         Reviewed by Eric Carlson.
3460
3461         Language stack and WebVTT language nodes are added as 
3462         required by specs.
3463
3464         Test: media/track/track-css-matching-lang.html
3465
3466         * html/track/TextTrackCue.cpp:
3467         (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): WebVTT language nodes should be