[GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2
3         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
4         https://bugs.webkit.org/show_bug.cgi?id=115904
5
6         Reviewed by Martin Robinson.
7
8         * bindings/gobject/WebKitDOMEventTarget.cpp:
9         * platform/gtk/GtkVersioning.c:
10         * platform/gtk/GtkVersioning.h:
11
12 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
13
14         Unreviewed. Fix the ENABLE(SHARED_WORKERS) build after r149864.
15
16         * workers/SharedWorkerThread.cpp: include "SecurityOrigin.h"
17
18 2013-05-10  Claudio Saavedra  <csaavedra@igalia.com>
19
20         Fix build after r149864.
21
22         Unreviewed build fix.
23
24         * loader/ThreadableLoader.h: include <wtf/text/AtomicString.h>
25         when building with RESOURCE_TIMING enabled.
26
27 2013-05-10  Anders Carlsson  <andersca@apple.com>
28
29         Fix build.
30
31         * bindings/js/ScriptController.cpp:
32
33 2013-05-10  Anders Carlsson  <andersca@apple.com>
34
35         Remove ScriptInstance.h
36         https://bugs.webkit.org/show_bug.cgi?id=115900
37
38         Reviewed by Andreas Kling.
39
40         Remove yet another abstraction now that we don't support V8.
41
42         * GNUmakefile.list.am:
43         * WebCore.vcproj/WebCore.vcproj:
44         * WebCore.vcxproj/WebCore.vcxproj:
45         * WebCore.vcxproj/WebCore.vcxproj.filters:
46         * WebCore.xcodeproj/project.pbxproj:
47         * bindings/js/ScriptController.h:
48         (Bindings):
49         (ScriptController):
50         * bindings/js/ScriptControllerMac.mm:
51         (WebCore::ScriptController::createScriptInstanceForWidget):
52         * bindings/js/ScriptInstance.h: Removed.
53         * html/HTMLPlugInElement.cpp:
54         (WebCore::HTMLPlugInElement::getInstance):
55         * html/HTMLPlugInElement.h:
56         (Bindings):
57         (HTMLPlugInElement):
58         * platform/graphics/wince/MediaPlayerProxy.h:
59         (WebMediaPlayerProxy):
60         * rendering/RenderEmbeddedObject.cpp:
61         * rendering/RenderSnapshottedPlugIn.cpp:
62
63 2013-05-10  Anders Carlsson  <andersca@apple.com>
64
65         Unreviewed, rolling out r149866.
66         http://trac.webkit.org/changeset/149866
67         https://bugs.webkit.org/show_bug.cgi?id=115898
68
69         Broke tests
70
71         * dom/Document.cpp:
72         (WebCore::Document::setDomain):
73         (WebCore::Document::initSecurityContext):
74         * page/SecurityOrigin.cpp:
75         (WebCore::SecurityOrigin::SecurityOrigin):
76         (WebCore::SecurityOrigin::isolatedCopy):
77         (WebCore::SecurityOrigin::setDomainFromDOM):
78         (WebCore::SecurityOrigin::grantUniversalAccess):
79         * page/SecurityOrigin.h:
80         (SecurityOrigin):
81
82 2013-05-10  Andrei Bucur  <abucur@adobe.com>
83
84         Remove overflow dead code
85         https://bugs.webkit.org/show_bug.cgi?id=115893
86
87         Reviewed by Antti Koivisto.
88
89         The patch removes unused public overflow accesor functions from RenderOverflow and InlineFlowBox.
90
91         Tests: no tests, code cleanup.
92
93         * rendering/InlineFlowBox.h: Removed logicalLeftLayoutOverflow and logicalRightLayoutOverflow.
94         * rendering/RenderOverflow.h: Removed setMinYLayoutOverflow, setMaxYLayoutOverflow,
95             setMinXLayoutOverflow, setMaxXLayoutOverflow, setMinYVisualOverflow, setMaxYVisualOverflow,
96             setMinXVisualOverflow and setMaxXVisualOverflow.
97
98 2013-05-10  Anders Carlsson  <andersca@apple.com>
99
100         Begin making SecurityOrigin immutable
101         https://bugs.webkit.org/show_bug.cgi?id=115898
102
103         Reviewed by Andreas Kling.
104
105         Replace SecurityOrigin::setDomainFromDOM and SecurityOrigin::grantUniversalAccess with
106         member functions that return new SecurityOrigin objects.
107
108         * dom/Document.cpp:
109         (WebCore::Document::setDomain):
110         Update the security origin to one returned by copyWithDomainSetFromDOM.
111     
112         (WebCore::Document::initSecurityContext):
113         Set the security origin to one returned by copyWithUniversalAccessGranted().
114
115         * page/SecurityOrigin.cpp:
116         (WebCore::SecurityOrigin::SecurityOrigin):
117         Add a new constructor that takes all the member variables as parameters. This is a little unwieldy at the moment,
118         but all the boolean parameters could be replaced by a bitmask of flags.
119
120         (WebCore::SecurityOrigin::isolatedCopy):
121         Call the new constructor.
122
123         (WebCore::SecurityOrigin::copyWithDomainSetFromDOM):
124         Return a new security origin with m_domainWasSetInDOM set to true and the domain updated.
125
126         (WebCore::SecurityOrigin::copyWithUniversalAccessGranted):
127         Return a new security origin with m_universalAccess set to true.
128
129 2013-05-10  Anders Carlsson  <andersca@apple.com>
130
131         Remove ScriptController::updateSecurityOrigin
132         https://bugs.webkit.org/show_bug.cgi?id=115895
133
134         Reviewed by Antti Koivisto.
135
136         ScriptController::updateSecurityOrigin is just dead code now that the V8 bindings are gone.
137
138         * bindings/js/ScriptController.cpp:
139         * bindings/js/ScriptController.h:
140         * dom/Document.cpp:
141         (WebCore::Document::setIsViewSource):
142         (WebCore::Document::setDomain):
143         * dom/Document.h:
144         (Document):
145         * dom/SecurityContext.cpp:
146         (WebCore::SecurityContext::enforceSandboxFlags):
147         * dom/SecurityContext.h:
148         (SecurityContext):
149
150 2013-05-10  Anders Carlsson  <andersca@apple.com>
151
152         Stop including SecurityOrigin.h where unnecessary
153         https://bugs.webkit.org/show_bug.cgi?id=115897
154
155         Reviewed by Antti Koivisto.
156
157         Move rarely called functions out of line so headers don't have to include SecurityOrigin.h
158
159         * Modules/indexeddb/IDBFactoryBackendImpl.h:
160         * Modules/webdatabase/DatabaseBackendBase.cpp:
161         (WebCore::DatabaseBackendBase::databaseDebugName):
162         * Modules/webdatabase/DatabaseBackendBase.h:
163         (DatabaseBackendBase):
164         * Modules/webdatabase/DatabaseSync.h:
165         * bindings/js/JSDOMWindowCustom.h:
166         * html/parser/XSSAuditor.cpp:
167         * loader/ThreadableLoader.cpp:
168         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
169         (WebCore::ThreadableLoaderOptions::~ThreadableLoaderOptions):
170         (WebCore::ThreadableLoader::create):
171         * loader/ThreadableLoader.h:
172         (ThreadableLoaderOptions):
173         * loader/WorkerThreadableLoader.cpp:
174         * workers/DedicatedWorkerContext.cpp:
175         * workers/DedicatedWorkerThread.cpp:
176         * workers/SharedWorkerContext.cpp:
177         * workers/WorkerThread.cpp:
178         * workers/WorkerThread.h:
179
180 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
181
182         Unreviewed. Fix GTK+ build after r149839.
183
184         * platform/gtk/RenderThemeGtk3.cpp:
185         (WebCore::gtkStyleChangedCallback):
186
187 2013-05-09  Chris Fleizach  <cfleizach@apple.com>
188
189         AX: VoiceOver is no longer seeing items in poorly formed tables
190         https://bugs.webkit.org/show_bug.cgi?id=115837
191
192         Reviewed by Darin Adler.
193
194         In case the author didn't include the rows of a table as the 
195         direct children, a table needs to dive down its descendant chain
196         until the rows are found. 
197
198         I also took the opportunity to clean up a bit around what the different
199         meanings of table are in the accessibility classes.
200
201         Test: accessibility/poorly-formed-aria-table.html
202
203         * accessibility/AccessibilityARIAGrid.cpp:
204         (WebCore::AccessibilityARIAGrid::addRowDescendant):
205         (WebCore::AccessibilityARIAGrid::addChildren):
206         * accessibility/AccessibilityARIAGrid.h:
207         (AccessibilityARIAGrid):
208         * accessibility/AccessibilityARIAGridRow.cpp:
209         (WebCore::AccessibilityARIAGridRow::parentTable):
210         (WebCore):
211         * accessibility/AccessibilityARIAGridRow.h:
212         (AccessibilityARIAGridRow):
213         * accessibility/AccessibilityObject.h:
214         (WebCore::AccessibilityObject::isTable):
215         * accessibility/AccessibilityTable.h:
216         (AccessibilityTable):
217         (WebCore::AccessibilityTable::isTable):
218         (WebCore::toAccessibilityTable):
219         * accessibility/AccessibilityTableRow.cpp:
220         (WebCore::AccessibilityTableRow::parentTable):
221
222 2013-05-09  Yael Aharon  <yael.aharon@intel.com>
223
224         REGRESSION: Disabled multiline select element now responds to (certain) clicks
225         https://bugs.webkit.org/show_bug.cgi?id=115710
226
227         Reviewed by Kent Tamura.
228
229         After http://trac.webkit.org/changeset/140286, select elements can scroll whether they
230         are disabled or not. While they scroll, they also change the selected item.
231         This patch allows the select element to scroll, but does not change the selection
232         if the select element is disabled.        
233
234         Test: fast/forms/select/listbox-disabled-scroll-no-onchange.html
235         Test: fast/forms/select/listbox-disabled-no-autoscroll.html
236
237         * rendering/RenderListBox.cpp:
238         (WebCore::RenderListBox::autoscroll):
239         * rendering/RenderListBox.cpp:
240         (WebCore::RenderListBox::stopAutoscroll):
241
242 2013-05-09  Anders Carlsson  <andersca@apple.com>
243
244         Clean up SecurityOrigin::databaseIdentifier
245         https://bugs.webkit.org/show_bug.cgi?id=115882
246
247         Reviewed by Beth Dakin.
248
249         Remove m_encodedHost and just call encodeHost from databaseIdentifier().
250         Also, use a StringBuilder when constructing the database identifier to avoid allocating
251         temporary String objects over and over.
252
253         * page/SecurityOrigin.cpp:
254         (WebCore::SecurityOrigin::SecurityOrigin):
255         (WebCore):
256         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
257         (WebCore::SecurityOrigin::databaseIdentifier):
258         * page/SecurityOrigin.h:
259         (SecurityOrigin):
260
261 2013-05-09  Anders Carlsson  <andersca@apple.com>
262
263         Remove m_securityOrigin from XMLHttpRequest
264         https://bugs.webkit.org/show_bug.cgi?id=115881
265
266         Reviewed by Alexey Proskuryakov.
267
268         The security origin passed to XMLHttpRequest::create was always null, so just get rid of the member variable completely.
269
270         * xml/XMLHttpRequest.cpp:
271         (WebCore::XMLHttpRequest::create):
272         (WebCore::XMLHttpRequest::XMLHttpRequest):
273         (WebCore::XMLHttpRequest::securityOrigin):
274         * xml/XMLHttpRequest.h:
275         (XMLHttpRequest):
276
277 2013-05-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
278
279         [NoInterfaceObject] extended attribute should be removed for several interfaces
280         https://bugs.webkit.org/show_bug.cgi?id=115852
281
282         Reviewed by Benjamin Poulain.
283
284         Remove [NoInterfaceObject] extended attribute from the following Web IDL
285         interfaces: SecurityPolicy, History, Location, Navigator, Performance,
286         PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceNavigation,
287         PerformanceResourceTiming, PerformanceTiming and Screen.
288
289         These interfaces should not have the [NoInterfaceObject] extended attribute
290         according to their respective specifications:
291         - http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-history-interface
292         - http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-location-interface
293         - https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicy
294         - http://www.w3.org/html/wg/drafts/html/master/webappapis.html#the-navigator-object
295         - http://www.w3.org/TR/navigation-timing/#performance
296         - https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html#sec-PerformanceEntry-interface
297         - http://www.w3.org/TR/navigation-timing/#performancenavigation
298         - http://www.w3.org/TR/navigation-timing/#performancetiming
299         - http://www.w3.org/TR/user-timing/#performancemark
300         - http://www.w3.org/TR/user-timing/#performancemeasure
301         - http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming
302         - http://dev.w3.org/csswg/cssom-view/#the-screen-interface
303
304         The new behavior is consistent with the specifications, Firefox and soon Blink.
305
306         No new tests, already covered by existing tests.
307
308         * page/DOMSecurityPolicy.idl:
309         * page/History.idl:
310         * page/Location.idl:
311         * page/Navigator.idl:
312         * page/Performance.idl:
313         * page/PerformanceEntry.idl:
314         * page/PerformanceMark.idl:
315         * page/PerformanceMeasure.idl:
316         * page/PerformanceNavigation.idl:
317         * page/PerformanceResourceTiming.idl:
318         * page/PerformanceTiming.idl:
319         * page/Screen.idl:
320
321 2013-05-09  Robert Hogan  <robert@webkit.org>
322
323         REGRESSION (Safari 3-Safari 4): Replaced element with percent height in table has incorrect height
324         https://bugs.webkit.org/show_bug.cgi?id=26394
325
326         Reviewed by David Hyatt.
327
328         Text controls or any object that has scrollable content should not flex inside a table cell. 
329         This makes our behaviour the same as IE, FF and Opera (Presto).
330
331         * rendering/RenderTableSection.cpp:
332         (WebCore::RenderTableSection::layoutRows):
333
334 2013-05-09  Anders Carlsson  <andersca@apple.com>
335
336         Build fix.
337
338         * WebCore.exp.in:
339
340 2013-05-09  Anders Carlsson  <andersca@apple.com>
341
342         Add a StorageStrategy hook for creating transient local storage namespaces
343         https://bugs.webkit.org/show_bug.cgi?id=115870
344
345         Reviewed by Geoffrey Garen.
346
347         * WebCore.exp.in:
348         Export symbol needed by WebKit2.
349         
350         * dom/Document.cpp:
351         (WebCore::Document::topOrigin):
352         * dom/Document.h:
353         * dom/ScriptExecutionContext.h:
354         * workers/WorkerContext.h:
355         Remove const qualifier from topOrigin() to avoid ugly const_casts when assigning into a RefPtr<SecurityOrigin> variable.
356
357         * page/PageGroup.cpp:
358         (WebCore::PageGroup::transientLocalStorage):
359         Do a single hash lookup instead of three and use the SecurityOrigin itself as the hash key instead of a string representation of it.
360
361         * page/PageGroup.h:
362         Update HashMap declaration.
363
364         * storage/StorageNamespace.cpp:
365         (WebCore::StorageNamespace::transientLocalStorageNamespace):
366         Add new implementation that will optionally call out to the storage strategy.
367
368         * storage/StorageNamespaceImpl.cpp:
369         (WebCore::StorageNamespaceImpl::transientLocalStorageNamespace):
370         Move the default implementation here from PageGroup.
371         
372         * storage/StorageStrategy.cpp:
373         (WebCore::StorageStrategy::transientLocalStorageNamespace):
374         Call the default implementation.
375
376 2013-05-09  Enrica Casucci  <enrica@apple.com>
377
378         A change in system environment should force all CSS properties to be recomputed.
379         https://bugs.webkit.org/show_bug.cgi?id=115872
380         <rdar://problem/13781171>
381
382         Reviewed by Antti Koivisto.
383
384         When a change in the global environment occurs, for example system colors,
385         we need to make sure all the CSS properties are recomputed and not fetched
386         from the cache. For this reason we invalidate the properties cache.
387         I've also renamed the function to give it a more meaningful name.
388         
389         * page/Page.cpp:
390         (WebCore::Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment):
391         * page/Page.h:
392         * rendering/RenderTheme.cpp:
393         (WebCore::RenderTheme::platformColorsDidChange):
394
395 2013-05-09  Antti Koivisto  <antti@apple.com>
396
397         Reoptimize free-standing :focus/link/visited/-webkit-any-link selectors.
398         <http://webkit.org/b/115590>
399
400         Reviewed by Darin Adler.
401
402         Common pseudo selectors should go into their respective rule buckets instead of ending up in the universal one.
403
404         * css/RuleSet.cpp:
405         (WebCore::RuleSet::findBestRuleSetAndAdd):
406         
407             Check tag selectors with * local name (usually created for namespace) for a suitable narrower bucket too.
408
409 2013-05-09  Darin Adler  <darin@apple.com>
410
411         RenderQuote has giant function for language to quotes map
412         https://bugs.webkit.org/show_bug.cgi?id=115807
413
414         Reviewed by Anders Carlsson.
415
416         * rendering/RenderQuote.cpp:
417         (WebCore::RenderQuote::RenderQuote): Updated for m_isAttached name change.
418         (WebCore::RenderQuote::~RenderQuote): Updated for name change, and also split
419         assertion with && in it into two separate assertions.
420         (WebCore::checkNumberOfDistinctQuoteCharacters): Added. Helper function that is used
421         to check that the number of distinct quote characters is small enough to fit into
422         our fixed size array below.
423         (WebCore::quotesForLanguage): Replaces the old quotesDataLanguageMap function.
424         Returns a pointer to a struct that contains the four quote characters. This new
425         function doesn't have the massive amount of code that the old one did. We use the
426         standard library bsearch function to do a binary search.
427         (WebCore::stringForQuoteCharacter): Added. This returns a string for a given quote
428         character; one string for any given character.
429         (WebCore::quotationMarkString): Added. Returns the string for the quotation mark.
430         (WebCore::apostropheStringImpl): Added. Returns the string for the apostrophe.
431         (WebCore::RenderQuote::originalText): Rewrote this to include all the logic that
432         used to be in the quotesData function.
433         (WebCore::RenderQuote::attachQuote): Tweak assertions as above. Removed unneeded
434         special case for the first quote in a RenderView; sharing the code is better and
435         there is no significant performance difference. Also use m_isAttached directly
436         when looking at predecessores so there is no need for an isAttached function.
437         (WebCore::RenderQuote::detachQuote): Updated assertions and for name change.
438         (WebCore::RenderQuote::updateDepth): Ditto.
439
440         * rendering/RenderQuote.h: Removed unneeded includes. Marked the class FINAL since
441         we call the originalText function in the class and we don't want to do a virtual
442         function dispatch for that. Removed uneeded const from an argument. Removed a
443         stray semicolon. Removed the quotesData and isAttached functions, since they are no
444         longer needed. Renamed m_attached to m_isAttached.
445
446         * rendering/style/QuotesData.cpp: Removed the overload of QuotesData::create that
447         takes four quote strings. This was only used to build up the quotes table.
448         * rendering/style/QuotesData.h: Ditto.
449
450 2013-05-09  Max Feil  <mfeil@rim.com>
451
452         shouldUsePluginDocument() needs to be respected when a document is created
453         https://bugs.webkit.org/show_bug.cgi?id=110308
454
455         Reviewed by Rob Buis.
456
457         In DOMImplementation::createDocument() we should create
458         a PluginDocument for mime types that return "true" for
459         shouldAlwaysUsePluginDocument(), even if there is no pluginData
460         for them. This lets a client choose plugins for which the "missing
461         plugin" text or icon should appear more consistently. Otherwise
462         plugins referenced by iFrames will be treated as an HTMLDocument,
463         possibly resulting in binary files rendered as gibberish text.
464
465         Layout test platform/blackberry/plugins/swf-as-src-of-iframe.html
466
467         * dom/DOMImplementation.cpp:
468         (WebCore::DOMImplementation::createDocument):
469
470 2013-05-09  Timothy Hatcher  <timothy@apple.com>
471
472         Fix an exception when hovering native functions while paused in the debugger.
473
474         https://webkit.org/b/115866
475         rdar://problem/13681982
476
477         Reviewed by Darin Adler and Joseph Pecoraro.
478
479         * inspector/InjectedScriptSource.js:
480         (InjectedScript.prototype.getFunctionDetails): Return an error if the details
481         is null or undefined.
482
483 2013-05-09  Darin Adler  <darin@apple.com>
484
485         [Mac] CFError leak under Objective-C garbage collection
486         https://bugs.webkit.org/show_bug.cgi?id=115862
487
488         Reviewed by Benjamin Poulain.
489
490         * platform/network/mac/ResourceErrorMac.mm:
491         (WebCore::ResourceError::nsError): Use adoptCF instead of adoptNS since
492         the CFError needs a CFRelease, not an -[NSObject release].
493
494 2013-05-09  Alberto Garcia  <agarcia@igalia.com>
495
496         BlackBerry: fix call to PluginLayerWebKitThread::setHolePunchRect()
497         https://bugs.webkit.org/show_bug.cgi?id=114953
498
499         Reviewed by Rob Buis.
500
501         data->layer needs a cast in order to call setHolePunchRect().
502
503         * plugins/blackberry/NPCallbacksBlackBerry.cpp:
504         (WebCore::npSetHolePunchHandler):
505
506 2013-05-09  Mike Fenton  <mifenton@rim.com>
507
508         [BlackBerry] Style updates required based on new check-webkit-style
509         https://bugs.webkit.org/show_bug.cgi?id=115857
510
511         Reviewed by Rob Buis.
512
513         Update WebCore/platform/graphics BlackBerry sources
514         to match check-webkit-style updates.
515
516         Internally reviewed by Jakob Petsovits.
517
518         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
519         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
520         (WebCore::GraphicsContext3D::readPixelsIMG):
521         (WebCore::GraphicsContext3D::paintToCanvas):
522         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
523         (WebCore::GraphicsLayerBlackBerry::updateLayerPosition):
524         * platform/graphics/blackberry/IntRectBlackBerry.cpp:
525         (WebCore::IntRect::IntRect):
526         * platform/graphics/blackberry/LayerCompositingThread.h:
527         (WTF::::deref):
528         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
529         (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
530         (WebCore::LayerFilterRenderer::actionsForOperations):
531         (WebCore::LayerFilterRenderer::applyActions):
532         * platform/graphics/blackberry/LayerRenderer.cpp:
533         (WebCore::LayerRenderer::setViewport):
534         (WebCore::LayerRenderer::compositeBuffer):
535         (WebCore::LayerRenderer::drawColor):
536         (WebCore::LayerRenderer::compositeLayersRecursive):
537         * platform/graphics/blackberry/LayerWebKitThread.cpp:
538         (WebCore::LayerWebKitThread::setFrame):
539         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
540         (WebCore::MediaPlayerPrivate::play):
541         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
542         * platform/image-decoders/blackberry/JPEGImageDecoder.cpp:
543         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
544
545 2013-05-09  Mike Fenton  <mifenton@rim.com>
546
547         [BlackBerry] Style updates required based on new check-webkit-style
548         https://bugs.webkit.org/show_bug.cgi?id=115857
549
550         Reviewed by Rob Buis.
551
552         Update WebCore/platform/network/blackberry
553         to match check-webkit-style updates.
554
555         * platform/network/blackberry/NetworkJob.cpp:
556         (WebCore::NetworkJob::initialize):
557         (WebCore::NetworkJob::handleSetCookieHeader):
558         (WebCore::NetworkJob::sendResponseIfNeeded):
559         (WebCore::NetworkJob::shouldSendClientData):
560         * platform/network/blackberry/NetworkJob.h:
561         (NetworkJob):
562         * platform/network/blackberry/NetworkManager.cpp:
563         (WebCore::NetworkManager::startJob):
564         * platform/network/blackberry/rss/RSSFilterStream.cpp:
565         (WebCore::isRSSContent):
566         (WebCore::transcode):
567
568 2013-05-09  Mike Fenton  <mifenton@rim.com>
569
570         [BlackBerry] Style updates required based on new check-webkit-style
571         https://bugs.webkit.org/show_bug.cgi?id=115857
572
573         Reviewed by Rob Buis.
574
575         Update WebCore/platform/blackberry to match check-webkit-style updates.
576
577         No functional changes.
578
579         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
580         * platform/blackberry/CookieManager.cpp:
581         (WebCore::CookieManager::getRawCookies):
582         * platform/blackberry/CookieMap.h:
583         (WebCore::CookieMap::count):
584         * platform/blackberry/CookieParser.cpp:
585         (WebCore::CookieParser::parseOneCookie):
586         * platform/blackberry/LoggingBlackBerry.cpp:
587         * platform/blackberry/PageClientBlackBerry.h:
588         (Platform):
589         (Graphics):
590         (WebCore):
591         * platform/blackberry/ParsedCookie.cpp:
592         (WebCore::ParsedCookie::appendWebCoreCookie):
593         * platform/blackberry/RenderThemeBlackBerry.cpp:
594         (WebCore::RenderThemeBlackBerry::paintSearchFieldCancelButton):
595         (WebCore::RenderThemeBlackBerry::paintButton):
596         (WebCore::RenderThemeBlackBerry::paintSliderThumb):
597         * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
598         (WebCore::signedPublicKeyAndChallengeString):
599         * platform/blackberry/ScrollAnimatorBlackBerry.h:
600
601 2013-05-09  Chris Rogers  <crogers@google.com>
602
603         Require use of AudioBus::create() to avoid ref-counting issues
604         https://bugs.webkit.org/show_bug.cgi?id=115836
605
606         Reviewed by Andreas Kling.
607
608         There were a couple of places still embedding raw AudioBus objects as
609         member variables or local variables causing ref-counting problems
610         now that AudioBus is ref-counted.  Make AudioBus constructor private
611         to enforce use of AudioBus::create().
612
613         Adapted from Blink patch:
614         https://chromiumcodereview.appspot.com/14628008/
615
616         * Modules/webaudio/AudioDestinationNode.h:
617         (WebCore::AudioDestinationNode::LocalAudioInputProvider::LocalAudioInputProvider):
618         (WebCore::AudioDestinationNode::LocalAudioInputProvider::set):
619         (WebCore::AudioDestinationNode::LocalAudioInputProvider::provideInput):
620         (LocalAudioInputProvider):
621         * Modules/webaudio/AudioNodeInput.cpp:
622         (WebCore::AudioNodeInput::AudioNodeInput):
623         (WebCore::AudioNodeInput::updateInternalBus):
624         * Modules/webaudio/AudioNodeOutput.cpp:
625         (WebCore::AudioNodeOutput::AudioNodeOutput):
626         (WebCore::AudioNodeOutput::updateInternalBus):
627         * Modules/webaudio/AudioParam.cpp:
628         (WebCore::AudioParam::calculateFinalValues):
629         * Modules/webaudio/ConvolverNode.cpp:
630         (WebCore::ConvolverNode::setBuffer):
631         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
632         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
633         (WebCore::MediaStreamAudioDestinationNode::process):
634         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
635         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
636         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
637         * Modules/webaudio/ScriptProcessorNode.cpp:
638         (WebCore::ScriptProcessorNode::ScriptProcessorNode):
639         (WebCore::ScriptProcessorNode::process):
640         * Modules/webaudio/ScriptProcessorNode.h:
641         (ScriptProcessorNode):
642         * platform/audio/AudioBus.cpp:
643         (WebCore::AudioBus::create):
644         (WebCore):
645         (WebCore::AudioBus::AudioBus):
646         (WebCore::AudioBus::createBufferFromRange):
647         (WebCore::AudioBus::createBySampleRateConverting):
648         (WebCore::AudioBus::createByMixingToMono):
649         * platform/audio/AudioBus.h:
650         (AudioBus):
651         * platform/audio/AudioFIFO.cpp:
652         (WebCore::AudioFIFO::AudioFIFO):
653         (WebCore::AudioFIFO::consume):
654         (WebCore::AudioFIFO::push):
655         * platform/audio/AudioFIFO.h:
656         (AudioFIFO):
657         * platform/audio/AudioPullFIFO.cpp:
658         (WebCore::AudioPullFIFO::AudioPullFIFO):
659         (WebCore::AudioPullFIFO::fillBuffer):
660         * platform/audio/AudioPullFIFO.h:
661         (AudioPullFIFO):
662         * platform/audio/AudioResampler.cpp:
663         (WebCore::AudioResampler::AudioResampler):
664         (WebCore::AudioResampler::configureChannels):
665         * platform/audio/MultiChannelResampler.cpp:
666         * platform/audio/Reverb.cpp:
667         (WebCore::Reverb::initialize):
668         * platform/audio/SincResampler.cpp:
669         (WebCore::SincResampler::consumeSource):
670         (WebCore):
671         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
672         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
673         * platform/audio/gstreamer/AudioDestinationGStreamer.h:
674         (AudioDestinationGStreamer):
675         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
676         (WebCore::AudioFileReader::createBus):
677         * platform/audio/ios/AudioDestinationIOS.cpp:
678         (WebCore::AudioDestinationIOS::AudioDestinationIOS):
679         (WebCore::AudioDestinationIOS::render):
680         * platform/audio/ios/AudioDestinationIOS.h:
681         (AudioDestinationIOS):
682         * platform/audio/mac/AudioDestinationMac.cpp:
683         (WebCore::AudioDestinationMac::AudioDestinationMac):
684         (WebCore::AudioDestinationMac::render):
685         * platform/audio/mac/AudioDestinationMac.h:
686         (AudioDestinationMac):
687         * platform/audio/mac/AudioFileReaderMac.cpp:
688         (WebCore::AudioFileReader::createBus):
689
690 2013-05-09  Alberto Garcia  <agarcia@igalia.com>
691
692         [BlackBerry] Upstream the input popups
693         https://bugs.webkit.org/show_bug.cgi?id=114608
694
695         Reviewed by Rob Buis.
696
697         This patch contains contributions from many members of the
698         BlackBerry WebKit team, including:
699
700         Chris Hutten-Czapski
701         David Hoon
702         Jessica Cao
703         Rob Buis
704         Tiancheng Jiang
705
706         * Resources/blackberry/colorControlBlackBerry.css: Added.
707         (.color-picker-popup-area):
708         (.color-picker-content):
709         (.color-picker-block):
710         (#color-picker-swatch-block):
711         (.color-picker-switcher):
712         (.color-picker-check-mark):
713         (.color-picker-option):
714         (.color-picker-button):
715         (.color-picker-highlight):
716         (input):
717         (.color-picker-sharp):
718         (.color-picker-off):
719         (.color-picker-inactive-font):
720         (.color-picker-row):
721         (.color-picker-hex-style):
722         (.color-picker-input):
723         (.color-picker-well):
724         (.color-picker-input .color-picker-well):
725         (.color-picker-slider):
726         (.color-picker-slider-output):
727         (.color-picker-range):
728         (.color-picker-range::-webkit-slider-thumb):
729         (.color-picker-range::-webkit-slider-thumb:active):
730         (.red-ranger-bg):
731         (.green-ranger-bg):
732         (.blue-ranger-bg):
733         (@media only screen and (height: 768px)):
734         (@media only screen and (height: 720px)):
735         * Resources/blackberry/colorControlBlackBerry.js: Added.
736         (.):
737         * Resources/blackberry/popupControlBlackBerry.css:
738         (body):
739         (.popup-area):
740         (.popup-header):
741         (.popup-content):
742         (.popup-buttons):
743         (.popup-button):
744         (@media only screen and (width: 720px) and (height: 720px)):
745         * Resources/blackberry/selectControlBlackBerry.css:
746         (.popup-content):
747         (@media (min-height: 918px)):
748         (.option):
749         (@media only screen and (width: 720px) and (height: 720px)):
750         (.contents):
751         (.option:active):
752         (.selected):
753         (.selected .contents::after):
754         (.text):
755         (.disabled):
756         (.optgroup):
757         (.optgroup-option):
758         * Resources/blackberry/selectControlBlackBerry.js:
759         (.):
760         * Resources/blackberry/timeControlBlackBerry.css: Added.
761         (#popup-content-time):
762         (.column):
763         (.column:not(:last-child)):
764         (.cell):
765         (.yearmonthdate .cell div:last-child):
766         (.row-highlight-container):
767         (.row-highlight-filler):
768         (.row-highlight):
769         (.tall-bit):
770         (@media only screen and (width: 720px) and (height: 720px)):
771         * Resources/blackberry/timeControlBlackBerry.js: Added.
772         (.):
773
774 2013-05-09  Rob Buis  <rbuis@rim.com>
775
776         [BlackBerry] texmap code generates warnings
777         https://bugs.webkit.org/show_bug.cgi?id=115815
778
779         Reviewed by Benjamin Poulain.
780
781         Add USE(TEXTURE_MAPPER) guards since Source/WebCore/CMakeLists.txt includes
782         these files unconditionally.
783
784         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
785         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
786         * platform/graphics/texmap/TextureMapper.h:
787         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
788         * platform/graphics/texmap/TextureMapperBackingStore.h:
789         * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
790         * platform/graphics/texmap/TextureMapperFPSCounter.h:
791         * platform/graphics/texmap/TextureMapperGL.cpp:
792         * platform/graphics/texmap/TextureMapperGL.h:
793         * platform/graphics/texmap/TextureMapperLayer.cpp:
794         * platform/graphics/texmap/TextureMapperLayer.h:
795         * platform/graphics/texmap/TextureMapperTile.cpp:
796         * platform/graphics/texmap/TextureMapperTile.h:
797         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
798         * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
799
800 2013-05-09  Alberto Garcia  <agarcia@igalia.com>
801
802         PluginDatabase: add plugin directory for the BlackBerry port.
803         https://bugs.webkit.org/show_bug.cgi?id=114943
804
805         Reviewed by Rob Buis.
806
807         XP_UNIX is defined for the BlackBerry port, but we don't want to
808         share the same code here.
809
810         * plugins/PluginDatabase.cpp:
811         (WebCore::PluginDatabase::defaultPluginDirectories):
812         (WebCore::PluginDatabase::isPreferredPluginDirectory):
813
814 2013-05-09  Seokju Kwon  <seokju.kwon@gmail.com>
815
816         Web Inspector: Remove Memory Distribution and Memory Snapshots Panels
817         https://bugs.webkit.org/show_bug.cgi?id=115850
818
819         Reviewed by Andreas Kling.
820
821         Removed the Memory Instrumentation Code after r148921.
822
823         No new tests, no behavior change.
824
825         * inspector/compile-front-end.py:
826         * inspector/front-end/NativeMemorySnapshotView.js: Removed.
827         * inspector/front-end/ProfilesPanel.js:
828         (WebInspector.ProfilesPanel):
829         * inspector/front-end/Settings.js:
830         (WebInspector.Settings):
831         (WebInspector.ExperimentsSettings):
832         * inspector/front-end/SettingsScreen.js:
833         * inspector/front-end/WebKit.qrc:
834         * inspector/front-end/inspector.css:
835         * inspector/front-end/inspector.js:
836         (WebInspector._panelDescriptors):
837         * inspector/front-end/nativeMemoryProfiler.css: Removed.
838
839 2013-05-09  Zan Dobersek  <zdobersek@igalia.com>
840
841         Unreviewed GTK build fix after r149796.
842
843         * GNUmakefile.am: Add a phony target for the window constructors file and include it among
844         the dependencies for the non-generated code.
845
846 2013-05-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
847
848         Unreviewed build fix for Qt minimal build.
849
850         r149796 broke builds that have WEB_SOCKETS flag disabled.
851
852         * page/DOMWindow.idl:
853
854 2013-05-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
855
856         Add support for [NoInterfaceObject] Web IDL extended attribute
857         https://bugs.webkit.org/show_bug.cgi?id=115714
858
859         Reviewed by Kentaro Hara.
860
861         *Constructor attributes on the global DOMWindow object are now automatically
862         generated for each non-callback interface that is not declared with the
863         [NoInterfaceObject] extended attribute. It is thus no longer needed for
864         developers to manually add *Constructor attributes for their new interfaces
865         unless they wish to register an "extra" constructor for their interface.
866
867         This patch does not modify at all the behavior on JS side. To achieve this,
868         [NoInterfaceObject] extended attribute is added to interfaces that should
869         not have it according to specification (e.g. History, Location, ...).
870         This can be improved later as the behavior should not change with this
871         patch.
872
873         No new tests, no behavior change.
874
875         * CMakeLists.txt:
876         * DerivedSources.make:
877         * DerivedSources.pri:
878         * GNUmakefile.am:
879         * GNUmakefile.list.am:
880         * Modules/battery/BatteryManager.idl:
881         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
882         * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
883         * Modules/encryptedmedia/MediaKeySession.idl:
884         * Modules/encryptedmedia/MediaKeys.idl:
885         * Modules/filesystem/DOMFileSystem.idl:
886         * Modules/filesystem/DOMFileSystemSync.idl:
887         * Modules/filesystem/DirectoryEntry.idl:
888         * Modules/filesystem/DirectoryEntrySync.idl:
889         * Modules/filesystem/DirectoryReader.idl:
890         * Modules/filesystem/DirectoryReaderSync.idl:
891         * Modules/filesystem/Entry.idl:
892         * Modules/filesystem/EntryArray.idl:
893         * Modules/filesystem/EntryArraySync.idl:
894         * Modules/filesystem/EntrySync.idl:
895         * Modules/filesystem/FileEntry.idl:
896         * Modules/filesystem/FileEntrySync.idl:
897         * Modules/filesystem/FileWriter.idl:
898         * Modules/filesystem/FileWriterSync.idl:
899         * Modules/filesystem/Metadata.idl:
900         * Modules/gamepad/Gamepad.idl:
901         * Modules/gamepad/GamepadList.idl:
902         * Modules/geolocation/Coordinates.idl:
903         * Modules/geolocation/Geolocation.idl:
904         * Modules/geolocation/Geoposition.idl:
905         * Modules/geolocation/PositionError.idl:
906         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
907         * Modules/indexeddb/IDBAny.idl:
908         * Modules/mediasource/MediaSource.idl:
909         * Modules/mediasource/SourceBuffer.idl:
910         * Modules/mediasource/SourceBufferList.idl:
911         * Modules/mediastream/DOMWindowMediaStream.idl: Removed.
912         * Modules/mediastream/MediaStream.idl:
913         * Modules/mediastream/MediaStreamTrack.idl:
914         * Modules/mediastream/MediaStreamTrackEvent.idl:
915         * Modules/mediastream/NavigatorUserMediaError.idl:
916         * Modules/mediastream/RTCDTMFSender.idl:
917         * Modules/mediastream/RTCDTMFToneChangeEvent.idl:
918         * Modules/mediastream/RTCDataChannel.idl:
919         * Modules/mediastream/RTCDataChannelEvent.idl:
920         * Modules/mediastream/RTCIceCandidateEvent.idl:
921         * Modules/mediastream/RTCPeerConnection.idl:
922         * Modules/mediastream/RTCStatsReport.idl:
923         * Modules/mediastream/RTCStatsResponse.idl:
924         * Modules/networkinfo/NetworkInfoConnection.idl:
925         * Modules/notifications/DOMWindowNotifications.idl:
926         * Modules/notifications/NotificationCenter.idl:
927         * Modules/quota/StorageInfo.idl:
928         * Modules/quota/StorageQuota.idl:
929         * Modules/speech/DOMWindowSpeech.idl: Removed.
930         * Modules/speech/DOMWindowSpeechSynthesis.idl:
931         * Modules/speech/SpeechGrammar.idl:
932         * Modules/speech/SpeechGrammarList.idl:
933         * Modules/speech/SpeechRecognition.idl:
934         * Modules/speech/SpeechRecognitionAlternative.idl:
935         * Modules/speech/SpeechRecognitionError.idl:
936         * Modules/speech/SpeechRecognitionEvent.idl:
937         * Modules/speech/SpeechRecognitionResult.idl:
938         * Modules/speech/SpeechRecognitionResultList.idl:
939         * Modules/speech/SpeechSynthesis.idl:
940         * Modules/speech/SpeechSynthesisVoice.idl:
941         * Modules/webaudio/AnalyserNode.idl:
942         * Modules/webaudio/AudioBuffer.idl:
943         * Modules/webaudio/AudioBufferSourceNode.idl:
944         * Modules/webaudio/AudioContext.idl:
945         * Modules/webaudio/AudioDestinationNode.idl:
946         * Modules/webaudio/AudioListener.idl:
947         * Modules/webaudio/AudioNode.idl:
948         * Modules/webaudio/AudioParam.idl:
949         * Modules/webaudio/AudioSourceNode.idl:
950         * Modules/webaudio/BiquadFilterNode.idl:
951         * Modules/webaudio/ChannelMergerNode.idl:
952         * Modules/webaudio/ChannelSplitterNode.idl:
953         * Modules/webaudio/ConvolverNode.idl:
954         * Modules/webaudio/DOMWindowWebAudio.idl: Removed.
955         * Modules/webaudio/DelayNode.idl:
956         * Modules/webaudio/DynamicsCompressorNode.idl:
957         * Modules/webaudio/GainNode.idl:
958         * Modules/webaudio/MediaElementAudioSourceNode.idl:
959         * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
960         * Modules/webaudio/MediaStreamAudioSourceNode.idl:
961         * Modules/webaudio/OfflineAudioContext.idl:
962         * Modules/webaudio/OscillatorNode.idl:
963         * Modules/webaudio/PannerNode.idl:
964         * Modules/webaudio/ScriptProcessorNode.idl:
965         * Modules/webaudio/WaveShaperNode.idl:
966         * Modules/webaudio/WaveTable.idl:
967         * Modules/webdatabase/DOMWindowWebDatabase.idl:
968         * Modules/webdatabase/Database.idl:
969         * Modules/webdatabase/DatabaseSync.idl:
970         * Modules/webdatabase/SQLError.idl:
971         * Modules/webdatabase/SQLResultSet.idl:
972         * Modules/webdatabase/SQLResultSetRowList.idl:
973         * Modules/webdatabase/SQLTransaction.idl:
974         * Modules/webdatabase/SQLTransactionSync.idl:
975         * Modules/websockets/DOMWindowWebSocket.idl: Removed.
976         * Modules/websockets/WebSocket.idl:
977         * PlatformBlackBerry.cmake:
978         * UseJSC.cmake:
979         * WebCore.xcodeproj/project.pbxproj:
980         * bindings/scripts/IDLAttributes.txt:
981         * bindings/scripts/IDLParser.pm:
982         (parseTypedef):
983         * bindings/scripts/preprocess-idls.pl:
984         (GenerateConstructorAttribute):
985         (getFileContents):
986         (getPartialInterfaceNameFromIDL):
987         (isCallbackInterfaceFromIDL):
988         (trim):
989         (getInterfaceExtendedAttributesFromIDL):
990         * css/CSSFontFaceLoadEvent.idl:
991         * css/CSSFontFaceRule.idl:
992         * css/CSSSupportsRule.idl:
993         * css/CSSUnknownRule.idl:
994         * css/DOMWindowCSS.idl:
995         * css/FontLoader.idl:
996         * css/MediaQueryList.idl:
997         * css/MediaQueryListListener.idl:
998         * css/StyleMedia.idl:
999         * dom/CustomElementConstructor.idl:
1000         * dom/DOMError.idl:
1001         * dom/DOMNamedFlowCollection.idl:
1002         * dom/DataTransferItem.idl:
1003         * dom/DataTransferItemList.idl:
1004         * dom/EventListener.idl:
1005         * dom/EventTarget.idl:
1006         * dom/NodeIterator.idl:
1007         * dom/ShadowRoot.idl:
1008         * dom/TreeWalker.idl:
1009         * dom/WebKitNamedFlow.idl:
1010         * fileapi/FileException.idl:
1011         * fileapi/FileReaderSync.idl:
1012         * html/HTMLAudioElement.idl:
1013         * html/HTMLDetailsElement.idl:
1014         * html/HTMLOptionElement.idl:
1015         * html/MediaError.idl:
1016         * html/MediaKeyError.idl:
1017         * html/MicroDataItemValue.idl:
1018         * html/RadioNodeList.idl:
1019         * html/ValidityState.idl:
1020         * html/canvas/CanvasRenderingContext.idl:
1021         * html/canvas/DOMPath.idl:
1022         * html/canvas/EXTDrawBuffers.idl:
1023         * html/canvas/EXTTextureFilterAnisotropic.idl:
1024         * html/canvas/OESElementIndexUint.idl:
1025         * html/canvas/OESStandardDerivatives.idl:
1026         * html/canvas/OESTextureFloat.idl:
1027         * html/canvas/OESTextureHalfFloat.idl:
1028         * html/canvas/OESVertexArrayObject.idl:
1029         * html/canvas/WebGLCompressedTextureATC.idl:
1030         * html/canvas/WebGLCompressedTexturePVRTC.idl:
1031         * html/canvas/WebGLCompressedTextureS3TC.idl:
1032         * html/canvas/WebGLContextAttributes.idl:
1033         * html/canvas/WebGLDebugRendererInfo.idl:
1034         * html/canvas/WebGLDebugShaders.idl:
1035         * html/canvas/WebGLDepthTexture.idl:
1036         * html/canvas/WebGLLoseContext.idl:
1037         * html/canvas/WebGLVertexArrayObjectOES.idl:
1038         * html/track/AudioTrack.idl:
1039         * html/track/AudioTrackList.idl:
1040         * html/track/TextTrackRegionList.idl:
1041         * html/track/VideoTrack.idl:
1042         * html/track/VideoTrackList.idl:
1043         * inspector/InjectedScriptHost.idl:
1044         * inspector/InspectorFrontendHost.idl:
1045         * inspector/JavaScriptCallFrame.idl:
1046         * inspector/ScriptProfile.idl:
1047         * inspector/ScriptProfileNode.idl:
1048         * loader/appcache/DOMApplicationCache.idl:
1049         * page/AbstractView.idl:
1050         * page/BarInfo.idl:
1051         * page/Console.idl:
1052         * page/Crypto.idl:
1053         * page/DOMSecurityPolicy.idl:
1054         * page/DOMWindow.idl:
1055         * page/History.idl:
1056         * page/Location.idl:
1057         * page/MemoryInfo.idl:
1058         * page/Navigator.idl:
1059         * page/PagePopupController.idl:
1060         * page/Performance.idl:
1061         * page/PerformanceEntry.idl:
1062         * page/PerformanceEntryList.idl:
1063         * page/PerformanceMark.idl:
1064         * page/PerformanceMeasure.idl:
1065         * page/PerformanceNavigation.idl:
1066         * page/PerformanceResourceTiming.idl:
1067         * page/PerformanceTiming.idl:
1068         * page/Screen.idl:
1069         * page/SpeechInputResult.idl:
1070         * page/SpeechInputResultList.idl:
1071         * page/WorkerNavigator.idl:
1072         * page/make_settings.pl:
1073         (generateInternalSettingsIdlFile):
1074         * svg/ElementTimeControl.idl:
1075         * svg/SVGAnimationElement.idl:
1076         * svg/SVGExternalResourcesRequired.idl:
1077         * svg/SVGFilterPrimitiveStandardAttributes.idl:
1078         * svg/SVGFitToViewBox.idl:
1079         * svg/SVGLangSpace.idl:
1080         * svg/SVGLocatable.idl:
1081         * svg/SVGStyledElement.idl:
1082         * svg/SVGTests.idl:
1083         * svg/SVGTransformable.idl:
1084         * svg/SVGURIReference.idl:
1085         * testing/InternalSettings.idl:
1086         * testing/Internals.idl:
1087         * testing/MallocStatistics.idl:
1088         * testing/TypeConversions.idl:
1089         * workers/AbstractWorker.idl:
1090         * workers/DedicatedWorkerContext.idl:
1091         * workers/SharedWorker.idl:
1092         * workers/SharedWorkerContext.idl:
1093         * workers/WorkerContext.idl:
1094         * workers/WorkerLocation.idl:
1095         * xml/XPathExpression.idl:
1096         * xml/XPathNSResolver.idl:
1097
1098 2013-05-09  ChangSeok Oh  <changseok.oh@collabora.com>
1099
1100         [GTK][AC] Buildfix after r149694
1101         https://bugs.webkit.org/show_bug.cgi?id=115797
1102
1103         Reviewed by Gustavo Noronha Silva.
1104
1105         Some interfaces, such as a return value and parameters of functions are changed.
1106
1107         No new tests since no functionality changed.
1108
1109         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1110         (WebCore::animationHasStepsTimingFunction):
1111         (WebCore::GraphicsLayerClutter::timingFunctionForAnimationValue):
1112         (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
1113         (WebCore::GraphicsLayerClutter::setTransformAnimationEndpoints):
1114         (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
1115         (WebCore::GraphicsLayerClutter::setAnimationEndpoints):
1116         (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
1117         * platform/graphics/clutter/GraphicsLayerClutter.h:
1118         (GraphicsLayerClutter):
1119
1120 2013-05-08  Rob Buis  <rbuis@rim.com>
1121
1122         Fix some compiler warnings (miscellaneous)
1123         https://bugs.webkit.org/show_bug.cgi?id=80790
1124
1125         Reviewed by Brent Fulgham.
1126
1127         Get rid of the following warning for BlackBerry:
1128
1129         NavigatorContentUtils.cpp:60:78: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
1130
1131         by not compiling any of the code to add protocols to the protocol whitelist.
1132
1133         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
1134         (WebCore::initProtocolHandlerWhitelist):
1135
1136 2013-05-08  peavo@outlook.com  <peavo@outlook.com>
1137
1138         [Windows] The function seekFile() is not implemented.
1139         https://bugs.webkit.org/show_bug.cgi?id=115246
1140
1141         Reviewed by Brent Fulgham.
1142
1143         Implemented seekFile() function for Windows.
1144
1145         * platform/win/FileSystemWin.cpp:
1146         (WebCore::seekFile):
1147
1148 2013-05-08  Seokju Kwon  <seokju.kwon@gmail.com>
1149
1150         Web Inspector: Fix a typo in Settings.js
1151         https://bugs.webkit.org/show_bug.cgi?id=115849
1152
1153         Reviewed by Joseph Pecoraro.
1154
1155         No new tests, no behavior change.
1156
1157         * inspector/front-end/Settings.js:
1158         (WebInspector.Settings):
1159
1160 2013-05-08  Ryosuke Niwa  <rniwa@webkit.org>
1161
1162         SecurityOrigin doesn’t need to forward declare or include Document
1163         https://bugs.webkit.org/show_bug.cgi?id=115847
1164
1165         Reviewed by Alexey Proskuryakov.
1166
1167         Merge https://chromium.googlesource.com/chromium/blink/+/fc7a88caa9c41f3471d8994a530643e5225f82fc.
1168
1169         Removed unused Document forward declaration+include from SecurityOrigin.
1170
1171         * page/SecurityOrigin.cpp:
1172         * page/SecurityOrigin.h:
1173
1174 2013-05-08  David Kilzer  <ddkilzer@apple.com>
1175
1176         BUILD FIX: Don't use adoptCF() with NSDictionary * object
1177
1178         Fixes the following build failure:
1179
1180             In file included from Source/WebCore/platform/network/mac/ResourceErrorMac.mm:27:
1181             In file included from Source/WebCore/platform/network/cf/ResourceError.h:31:
1182             /usr/local/include/wtf/RetainPtr.h:81:13: error: static_assert failed "Don't use adoptCF with Objective-C pointer types, use adoptNS."
1183                         static_assert(!std::is_convertible<T, id>::value, "Don't use adoptCF with Objective-C pointer types, use adoptNS.");
1184                         ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1185             /usr/local/include/wtf/RetainPtr.h:274:16: note: in instantiation of member function 'WTF::RetainPtr<NSDictionary *>::RetainPtr' requested here
1186                     return RetainPtr<T>(AdoptCF, o);
1187                            ^
1188             Source/WebCore/platform/network/mac/ResourceErrorMac.mm:214:44: note: in instantiation of function template specialization 'WTF::adoptCF<NSDictionary *>' requested here
1189                     RetainPtr<NSDictionary> userInfo = adoptCF((NSDictionary *) CFErrorCopyUserInfo(error));
1190                                                        ^
1191             1 error generated.
1192
1193         * platform/network/mac/ResourceErrorMac.mm:
1194         (WebCore::ResourceError::nsError): Switch from adoptCF() to
1195         adoptNS().  This is in USE(CFNETWORK) code, so it's not
1196         exercised on the Mac.
1197
1198 2013-05-08  Ryosuke Niwa  <rniwa@webkit.org>
1199
1200         Remove Editor::setSelectionOffsets
1201         https://bugs.webkit.org/show_bug.cgi?id=115831
1202
1203         Reviewed by Andreas Kling.
1204
1205         Removed the function added in r120985 for Chromium Android port.
1206
1207         * editing/Editor.cpp:
1208         * editing/Editor.h:
1209
1210 2013-05-07  Ryosuke Niwa  <rniwa@webkit.org>
1211
1212         Potential use-after-free of Frame
1213         https://bugs.webkit.org/show_bug.cgi?id=115774
1214
1215         Reviewed by Simon Fraser.
1216
1217         Merge https://chromium.googlesource.com/chromium/blink/+/c5b4a6db82e8280c7fc55ee3dc3a84c6b026e66e.
1218
1219         * page/Frame.cpp:
1220         (WebCore::Frame::setPrinting):
1221         (WebCore::Frame::setPageAndTextZoomFactors):
1222         (WebCore::Frame::deviceOrPageScaleFactorChanged):
1223
1224 2013-05-08  Roger Fong  <roger_fong@apple.com>
1225
1226         Unreviewed build fix, AppleWin port.
1227
1228         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1229         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
1230         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1231         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1232         (WebCore::MediaPlayerPrivateAVFoundation::seek):
1233         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
1234         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
1235         (WebCore):
1236         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1237         (MediaPlayerPrivateAVFoundation):
1238
1239 2013-05-08  Xingnan Wang  <xingnan.wang@intel.com>
1240
1241         Heap-use-after-free in WebCore::AudioNodeOutput::pull
1242         https://bugs.webkit.org/show_bug.cgi?id=111362
1243
1244         Reviewed by Chris Rogers.
1245
1246         * Modules/webaudio/AudioBuffer.cpp:
1247         (WebCore::AudioBuffer::createFromAudioFileData):
1248         * Modules/webaudio/AudioNodeInput.cpp:
1249         (WebCore::AudioNodeInput::AudioNodeInput):
1250         (WebCore::AudioNodeInput::updateInternalBus):
1251         * Modules/webaudio/AudioNodeInput.h:
1252         (AudioNodeInput):
1253         * Modules/webaudio/AudioNodeOutput.cpp:
1254         (WebCore::AudioNodeOutput::AudioNodeOutput):
1255         (WebCore::AudioNodeOutput::updateInternalBus):
1256         (WebCore::AudioNodeOutput::pull):
1257         (WebCore::AudioNodeOutput::bus):
1258         * Modules/webaudio/AudioNodeOutput.h:
1259         (AudioNodeOutput):
1260         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
1261         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
1262         * Modules/webaudio/OfflineAudioDestinationNode.h:
1263         (OfflineAudioDestinationNode):
1264         * platform/audio/AudioBus.cpp:
1265         (WebCore::AudioBus::createBufferFromRange):
1266         (WebCore::AudioBus::createBySampleRateConverting):
1267         (WebCore::AudioBus::createByMixingToMono):
1268         * platform/audio/AudioBus.h:
1269         (AudioBus):
1270         * platform/audio/AudioFileReader.h:
1271         (WebCore):
1272         * platform/audio/AudioResampler.cpp:
1273         (WebCore::AudioResampler::AudioResampler):
1274         (WebCore::AudioResampler::configureChannels):
1275         * platform/audio/AudioResampler.h:
1276         (AudioResampler):
1277         * platform/audio/HRTFElevation.cpp:
1278         (WebCore::getConcatenatedImpulseResponsesForSubject):
1279         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
1280         * platform/audio/MultiChannelResampler.cpp:
1281         * platform/audio/Reverb.cpp:
1282         (WebCore::Reverb::initialize):
1283         * platform/audio/Reverb.h:
1284         (Reverb):
1285         * platform/audio/efl/AudioBusEfl.cpp:
1286         (WebCore::AudioBus::loadPlatformResource):
1287         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1288         (AudioFileReader):
1289         (WebCore::AudioFileReader::createBus):
1290         (WebCore::createBusFromAudioFile):
1291         (WebCore::createBusFromInMemoryAudioFile):
1292         * platform/audio/gtk/AudioBusGtk.cpp:
1293         (WebCore::AudioBus::loadPlatformResource):
1294         * platform/audio/mac/AudioBusMac.mm:
1295         (WebCore::AudioBus::loadPlatformResource):
1296         * platform/audio/mac/AudioFileReaderMac.cpp:
1297         (WebCore::AudioFileReader::createBus):
1298         (WebCore::createBusFromAudioFile):
1299         (WebCore::createBusFromInMemoryAudioFile):
1300         * platform/audio/mac/AudioFileReaderMac.h:
1301         (AudioFileReader):
1302         * platform/audio/qt/AudioBusQt.cpp:
1303         (WebCore::AudioBus::loadPlatformResource):
1304
1305 2013-05-08  Eli Fidler  <efidler@blackberry.com>
1306
1307         [BlackBerry] Fix usage of BlackBerry::Platform::String
1308         https://bugs.webkit.org/show_bug.cgi?id=115781
1309
1310         Reviewed by Rob Buis.
1311
1312         BlackBerry PRs 304193 and 327181
1313         Internally Reviewed by Mike Lattanzio, Arvid Nilsson, Joe Mason, Jeff Rogers, and George Staikos
1314
1315         We currently have a problem where we're passing UTF-8 encoded data into
1316         the char* constructors of BlackBerry::Platform::String. This means the string
1317         thinks its data is not UTF-8.
1318
1319         * platform/blackberry/ClipboardBlackBerry.cpp:
1320         (WebCore::ClipboardBlackBerry::setData):
1321         (WebCore::ClipboardBlackBerry::writeURL):
1322         (WebCore::ClipboardBlackBerry::writePlainText):
1323         * platform/blackberry/CookieManager.cpp:
1324         (WebCore::CookieManager::getRawCookies):
1325         (WebCore::CookieManager::getBackingStoreCookies):
1326         * platform/blackberry/CookieParser.cpp:
1327         (WebCore::CookieParser::CookieParser):
1328         (WebCore::CookieParser::parseOneCookie):
1329         * platform/blackberry/CursorBlackBerry.cpp:
1330         (WebCore::Cursor::Cursor):
1331         * platform/blackberry/PlatformBlob.cpp:
1332         (WebCore::PlatformBlob::nextDataItem):
1333         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp:
1334         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystemOnMainThread):
1335         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystemOnMainThread):
1336         (WebCore::WorkerAsyncFileSystemBlackBerry::moveOnMainThread):
1337         (WebCore::WorkerAsyncFileSystemBlackBerry::copyOnMainThread):
1338         (WebCore::WorkerAsyncFileSystemBlackBerry::removeOnMainThread):
1339         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursivelyOnMainThread):
1340         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadataOnMainThread):
1341         (WebCore::WorkerAsyncFileSystemBlackBerry::createFileOnMainThread):
1342         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectoryOnMainThread):
1343         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExistsOnMainThread):
1344         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExistsOnMainThread):
1345         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectoryOnMainThread):
1346         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread):
1347         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadataOnMainThread):
1348         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1349         (WebCore::Image::loadPlatformResource):
1350         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1351         (WebCore::MediaPlayerPrivate::load):
1352         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
1353         (WebCore::toWebMediaStreamSource):
1354         (WebCore::toWebMediaStreamDescriptor):
1355         * platform/network/blackberry/NetworkManager.cpp:
1356         (WebCore::NetworkManager::startJob):
1357         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
1358         (WebCore::SocketStreamHandle::SocketStreamHandle):
1359         * platform/network/blackberry/rss/RSSFilterStream.cpp:
1360         (WebCore::RSSFilterStream::notifyStatusReceived):
1361         (WebCore::RSSFilterStream::notifyHeadersReceived):
1362         (WebCore::RSSFilterStream::convertContentToHtml):
1363         (WebCore::RSSFilterStream::charset):
1364         (WebCore::RSSFilterStream::removeHeader):
1365         (WebCore::RSSFilterStream::updateHeader):
1366         (WebCore::RSSFilterStream::updateRSSHeaders):
1367         * platform/network/blackberry/rss/RSSFilterStream.h:
1368         * platform/text/blackberry/StringBlackBerry.cpp:
1369         (WTF::String::operator BlackBerry::Platform::String):
1370
1371 2013-05-08  Anders Carlsson  <andersca@apple.com>
1372
1373         Assert at compile time that we don't pass Objective-C object pointers to adoptCF
1374         https://bugs.webkit.org/show_bug.cgi?id=115823
1375
1376         Reviewed by Geoffrey Garen.
1377
1378         * platform/graphics/ca/mac/TileController.mm:
1379         (WebCore::TileController::TileController):
1380         Use adoptNS for CALayer.
1381
1382 2013-05-08  Eric Carlson  <eric.carlson@apple.com>
1383
1384         TextTrackCue should support empty content
1385         https://bugs.webkit.org/show_bug.cgi?id=115821
1386
1387         Reviewed by Jer Noble.
1388
1389         Test: media/track/track-cue-empty-text-crash.html
1390
1391         * html/shadow/MediaControlElements.cpp:
1392         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Don't bother trying to render
1393             cues with no content.
1394
1395         * html/track/TextTrackCue.cpp:
1396         (WebCore::TextTrackCue::getCueAsHTML): Return early if there isn't a node tree.
1397         (WebCore::TextTrackCue::createCueRenderingTree): Ditto.
1398         (WebCore::TextTrackCue::determineTextDirection): Ditto.
1399         (WebCore::TextTrackCue::updateDisplayTree): Return early if there isn't a cue rendering tree.
1400
1401 2013-05-08  Roger Fong  <roger_fong@apple.com>
1402
1403         Unreviewed AppleWin build fix.
1404
1405         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1406         (MediaPlayerPrivateAVFoundationCF):
1407         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTrack):
1408
1409 2013-05-08  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
1410
1411         [GTK] Plumb the Automake build system for the Battery Status API feature
1412         https://bugs.webkit.org/show_bug.cgi?id=115718
1413
1414         Reviewed by Martin Robinson.
1415
1416         No new tests - no new functionality. The feature is not enabled yet, though all the relevant tests
1417         pass when it is.
1418
1419         * GNUmakefile.am: Add the Modules/battery directory to the list of search paths for header inclusions.
1420         Include the same directory under the IDL_PATH variable so the IDL files it contains are processed.
1421         List these IDL files using a wildcard under the EXTRA_DIST list.
1422         * GNUmakefile.list.am: Add the build targets for the module source files, IDLs and resulting JS bindings.
1423         * bindings/gobject/GNUmakefile.am: Add the build targets for the GObject DOM bindings.
1424
1425 2013-05-08  Roger Fong  <roger_fong@apple.com>
1426
1427         Unreviewed. AppleWin VS2010 build fix.
1428
1429         * WebCore.vcxproj/WebCore.vcxproj:
1430         * WebCore.vcxproj/WebCore.vcxproj.filters:
1431
1432 2013-05-08  Darin Adler  <darin@apple.com>
1433
1434         REGRESSION(r149700): fast/css-generated-content/close-quote-negative-depth.html
1435         https://bugs.webkit.org/show_bug.cgi?id=115776
1436
1437         Reviewed by Anders Carlsson.
1438
1439         I changed depth to more closely match what is in the CSS3 specification.
1440         There may be a more optimal way to make it work, but this seems the most straightforward.
1441
1442         * rendering/RenderQuote.cpp:
1443         (WebCore::RenderQuote::RenderQuote): Initialize m_depth to -1 because that depth
1444         is consistent with the empty string that is the initial value of the text. The
1445         real depth will be calculated when the node is attached.
1446         (WebCore::RenderQuote::originalText): Removed the "depth - 1" logic that
1447         used to be done for close quotes. Instead, the updateDepth function now correctly
1448         subtracts one for the close quote itself, not just afterward. Also added an early
1449         exit when the depth is negative; these changes together fix the bug.
1450         (WebCore::RenderQuote::attachQuote): Added a call to updateDepth even for the render
1451         quote head, we now need that to set the depth either to 0 or to -1.
1452         (WebCore::RenderQuote::detachQuote): Removed code to set m_depth to 0;  if we are not
1453         resetting the text then m_depth should be left matching the text, otherwise updateDepth
1454         might not do its job correctly if the quote is later re-attached. What matters is that
1455         m_depth and the text are in sync.
1456         (WebCore::RenderQuote::updateDepth): Changed updating logic in two ways. First,
1457         compute the depth in a local variable rather than computing it in a data member
1458         after first saving off the old value of the data member. That's clearer style.
1459         Second, add the code to change negative depths to zero when propagating to the
1460         next quote in the chain, which matches how the standard is written, and decrement
1461         the depth of the close quote itself, not the quote after the close quote.
1462
1463 2013-05-08  Eric Carlson  <eric.carlson@apple.com>
1464
1465         Prevent crash when track is deleted during video element deletion.
1466         https://bugs.webkit.org/show_bug.cgi?id=106183
1467
1468         Reviewed by Dean Jackson.
1469
1470         Test: media/track/track-remove-crash.html
1471
1472         * html/HTMLMediaElement.cpp:
1473         (WebCore::HTMLMediaElement::removedFrom): Set m_inActiveDocument to false so we
1474             do not process text track cues or dispatch related events.
1475
1476 2013-05-08  Eric Carlson  <eric.carlson@apple.com>
1477
1478         [Mac] Unreviewed buildfix after r149741.
1479
1480         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1481         (WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible):
1482
1483 2013-05-08  Eric Carlson  <eric.carlson@apple.com>
1484
1485         [Mac] Inband text tracks are not in track menu on Lion
1486         https://bugs.webkit.org/show_bug.cgi?id=115740
1487
1488         Reviewed by Dean Jackson.
1489
1490         No new tests, covered by existing tests.
1491
1492         * html/HTMLMediaElement.cpp:
1493         (WebCore::HTMLMediaElement::HTMLMediaElement): Remove m_legacyWebKitClosedCaptionsVisible.
1494         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Set m_closedCaptionsVisible
1495             to false immediately, it will be reset to the appropriate value if necessary.
1496         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): Remove m_legacyWebKitClosedCaptionsVisible.
1497         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): Remove m_legacyWebKitClosedCaptionsVisible.
1498         * html/HTMLMediaElement.h:
1499
1500         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Remove 
1501             HAVE(AVFOUNDATION_TEXT_TRACK_SUPPORT) requirement. AVFOUNDATION_TEXT_TRACK_SUPPORT ->
1502             AVFOUNDATION_MEDIA_SELECTION_GROUP
1503         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Ditto.
1504
1505         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 
1506         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Ditto.
1507         (WebCore::MediaPlayerPrivateAVFoundation::seek): Ditto.
1508         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
1509         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Ditto.
1510         (WebCore::MediaPlayerPrivateAVFoundation::trackModeChanged): Ditto.
1511         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:  Ditto.
1512
1513         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h:  Ditto.
1514         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
1515         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::kind): Don't look at media characteristics, 
1516             a legacy CC track is always Captions.
1517         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::isClosedCaptions): Ditto.
1518         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::containsOnlyForcedSubtitles): Ditto.
1519         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::isMainProgramContent): Ditto.
1520         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::isEasyToRead): Ditto.
1521         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::label): Use different AVFoundation API on 10.7.
1522         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1523
1524         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1525         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): AVFOUNDATION_TEXT_TRACK_SUPPORT ->
1526             AVFOUNDATION_MEDIA_SELECTION_GROUP.
1527         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto.
1528         (WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible): Do nothing. AVFOUNDATION_TEXT_TRACK_SUPPORT ->
1529             AVFOUNDATION_MEDIA_SELECTION_GROUP.
1530         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Support legacy CC tracks
1531             only on 10.8. AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP
1532         (WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks): Ditto.
1533         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Ditto.
1534         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): AVFOUNDATION_TEXT_TRACK_SUPPORT -> 
1535             AVFOUNDATION_MEDIA_SELECTION_GROUP
1536
1537 2013-05-08  Sergio Villar Senin  <svillar@igalia.com>
1538
1539         Allow blank spaces before colon (:) on CSS variable definition
1540         https://bugs.webkit.org/show_bug.cgi?id=115802
1541
1542         Reviewed by Darin Adler.
1543
1544         Test: css3/css-variable-definition.html
1545
1546         Modified the grammar to allow blank spaces before the colon on CSS
1547         variable definitions.
1548
1549         * css/CSSGrammar.y.in:
1550
1551 2013-05-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1552
1553         [GStreamer] Does memory buffering even with preload set to none
1554         https://bugs.webkit.org/show_bug.cgi?id=115754
1555
1556         Reviewed by Philippe Normand.
1557
1558         Covered by existing tests.
1559
1560         Revision 148840 fixed on-disk buffering being done when preload is set to none,
1561         but memory buffering is still being done. That is because setting the state to
1562         paused causes GStreamer to start loading the media, to gather information. Only
1563         doing that when committing the load avoids that while maintaining the tested
1564         behaviour unchanged.
1565
1566         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1567         (WebCore::MediaPlayerPrivateGStreamer::load): move setting pause state to commitLoad.
1568         (WebCore::MediaPlayerPrivateGStreamer::commitLoad): see above.
1569
1570 2013-05-08  Andreas Kling  <akling@apple.com>
1571
1572         SVGStyledElement::getPresentationAttribute() does not need to be virtual.
1573
1574         From Blink r149888 by <cevans@chromium.org>
1575         <http://src.chromium.org/viewvc/blink?view=revision&revision=149888>
1576
1577         * svg/SVGStyledElement.h:
1578
1579 2013-05-08  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1580
1581         Crash when loading link to audio file
1582         https://bugs.webkit.org/show_bug.cgi?id=115794
1583
1584         Reviewed by Jocelyn Turcotte.
1585
1586         Do not access a null pointer frame.
1587
1588         * loader/appcache/ApplicationCacheHost.cpp:
1589         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
1590
1591 2013-05-08  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1592
1593         Remove unused [TransferList] extended attribute
1594         https://bugs.webkit.org/show_bug.cgi?id=115788
1595
1596         Reviewed by Kentaro Hara.
1597
1598         Remove [TransferList] extended attribute and corresponding tests as it has no
1599         effect on the generated JSC bindings.
1600
1601         No new tests, no behavior change.
1602
1603         * bindings/scripts/IDLAttributes.txt:
1604         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
1605         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
1606         (WebDOMTestSerializedScriptValueInterface):
1607         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
1608         * bindings/scripts/test/CPP/WebDOMTestTypedefs.h:
1609         (WebDOMTestTypedefs):
1610         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1611         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1612         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
1613         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
1614         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1615         (WebCore):
1616         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
1617         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1618         (JSTestSerializedScriptValueInterfacePrototype):
1619         (JSTestSerializedScriptValueInterfaceConstructor):
1620         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1621         (WebCore):
1622         * bindings/scripts/test/JS/JSTestTypedefs.h:
1623         (WebCore):
1624         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
1625         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
1626         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
1627         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
1628         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1629         * bindings/scripts/test/TestTypedefs.idl:
1630
1631 2013-05-08  Dongseong Hwang  <dongseong.hwang@intel.com>
1632
1633         Make optional arguments in CanvasRenderingContext2D match the spec.
1634         https://bugs.webkit.org/show_bug.cgi?id=115723
1635
1636         Reviewed by Dean Jackson.
1637
1638         WebKit r98985 set many arguments optional although the canvas spec[1] does not
1639         indicate. So this patch corrects CanvasRenderingContext2D.idl to match the spec.
1640
1641         [1] http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas/
1642
1643         Covered by existing tests:
1644           canvas/philip/tests/2d.missingargs.html
1645           fast/canvas/canvas-overloads-strokeRect.html
1646           inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics.html
1647
1648         * html/canvas/CanvasRenderingContext2D.idl:
1649
1650 2013-05-08  Ryosuke Niwa  <rniwa@webkit.org>
1651
1652         Remove unused method and de-virtualize others in Element.h
1653         https://bugs.webkit.org/show_bug.cgi?id=115770
1654
1655         Reviewed by Andreas Kling.
1656
1657         Merge https://chromium.googlesource.com/chromium/blink/+/c2c2ff9cb69f46f5cc9d289b2bfbdb8ab5bd3e49
1658
1659         The de-virtualization possibilities were noted whilst "FINALizing" the Node
1660         hierarchy. If a method is successfully marked FINAL but then fails when marked
1661         OVERRIDE as well, the method by definition does not need to be virtual.
1662
1663         * WebCore.exp.in:
1664         * dom/Element.h:
1665         (WebCore::Element::hasAuthorShadowRoot):
1666
1667 2013-05-06  Darin Adler  <darin@apple.com>
1668
1669         Use adoptCF and adoptNS in more places
1670         https://bugs.webkit.org/show_bug.cgi?id=115657
1671
1672         Reviewed by Sam Weinig.
1673
1674         This is similar to my last set of changes, but covers code that I missed with
1675         global replace using the Safari Xcode workspace.
1676
1677         * platform/cf/win/CertificateCFWin.cpp:
1678         (WebCore::copyCertificateToData):
1679         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1680         (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
1681         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
1682         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
1683         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
1684         (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes):
1685         (WebCore::mimeTypeCache):
1686         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged):
1687         (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged):
1688         (WebCore::AVFWrapper::createAssetForURL):
1689         (WebCore::AVFWrapper::createPlayer):
1690         (WebCore::AVFWrapper::createPlayerItem):
1691         (WebCore::AVFWrapper::setAsset):
1692         (WebCore::AVFWrapper::platformLayer):
1693         (WebCore::AVFWrapper::createAVCFVideoLayer):
1694         (WebCore::AVFWrapper::createImageGenerator):
1695         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
1696         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::language):
1697         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1698         (toCACFTimingFunction):
1699         (PlatformCAAnimation::PlatformCAAnimation):
1700         (PlatformCAAnimation::setFromValue):
1701         (PlatformCAAnimation::setToValue):
1702         (PlatformCAAnimation::setValues):
1703         (PlatformCAAnimation::setKeyTimes):
1704         (PlatformCAAnimation::setTimingFunctions):
1705         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1706         (PlatformCALayer::PlatformCALayer):
1707         (PlatformCALayer::setBackgroundColor):
1708         (PlatformCALayer::setBorderColor):
1709         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
1710         (PlatformCALayerWinInternal::PlatformCALayerWinInternal):
1711         (PlatformCALayerWinInternal::addTile):
1712         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
1713         (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost):
1714         * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
1715         (PlatformVideoWindow::PlatformVideoWindow):
1716         * platform/graphics/win/FontCustomPlatformData.cpp:
1717         (WebCore::FontCustomPlatformData::fontPlatformData):
1718         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1719         (WebCore::getPostScriptName):
1720         (WebCore::FontPlatformData::platformDataInit):
1721         * platform/graphics/win/GraphicsContextCGWin.cpp:
1722         (WebCore::GraphicsContext::drawWindowsBitmap):
1723         * platform/graphics/win/ImageCGWin.cpp:
1724         (WebCore::BitmapImage::create):
1725         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1726         (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
1727         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1728         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::rfc2616DateStringFromTime):
1729         (WebCore::QTCFDictionaryCreateWithDataCallback):
1730         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
1731         * platform/graphics/win/WKCAImageQueue.cpp:
1732         (WebCore::WKCAImageQueue::WKCAImageQueue):
1733         * platform/image-decoders/ImageDecoder.h:
1734         (WebCore::ImageDecoder::qcmsOutputDeviceProfile):
1735         * platform/network/cf/AuthenticationCF.cpp:
1736         (WebCore::core):
1737         * platform/network/cf/CookieJarCFNet.cpp:
1738         (WebCore::cookieDomain):
1739         (WebCore::cookieName):
1740         (WebCore::cookiePath):
1741         (WebCore::cookieValue):
1742         (WebCore::filterCookies):
1743         (WebCore::setCookiesFromDOM):
1744         (WebCore::cookiesForDOM):
1745         (WebCore::cookieRequestHeaderFieldValue):
1746         (WebCore::getRawCookies):
1747         (WebCore::deleteCookie):
1748         (WebCore::getHostnamesWithCookies):
1749         (WebCore::deleteCookiesForHostname):
1750         * platform/network/curl/ResourceHandleManager.cpp:
1751         (WebCore::certificatePath):
1752         * platform/win/ClipboardUtilitiesWin.cpp:
1753         (WebCore::urlFromPath):
1754         (WebCore::getURL):
1755         * platform/win/LocalizedStringsWin.cpp:
1756         (WebCore::createWebKitBundle):
1757         (WebCore::localizedString):
1758         * platform/win/SearchPopupMenuWin.cpp:
1759         (WebCore::SearchPopupMenuWin::saveRecentSearches):
1760         (WebCore::SearchPopupMenuWin::loadRecentSearches):
1761         * plugins/mac/PluginPackageMac.cpp:
1762         (WebCore::stringListFromResourceId):
1763         (WebCore::PluginPackage::fetchInfo):
1764         (WebCore::PluginPackage::load):
1765         * plugins/mac/PluginViewMac.mm:
1766         (WebCore::PluginView::platformStart):
1767         * rendering/RenderThemeSafari.cpp:
1768         (WebCore::RenderThemeSafari::platformFocusRingColor):
1769         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
1770         (WebCore::RenderThemeSafari::paintSliderTrack):
1771         Use adoptCF and adoptNS throughout.
1772
1773 2013-05-07  Benjamin Poulain  <bpoulain@apple.com>
1774
1775         Make CanvasStyle's CMYKAValues allocated on the heap and move the pointer in the union.
1776         https://bugs.webkit.org/show_bug.cgi?id=115764
1777
1778         Reviewed by Andreas Kling.
1779
1780         CMYKA input is uncommon enough that we should not pay the price for
1781         every CanvasStyle.
1782         Make those values heap allocated and put the pointer in the union. Since
1783         the RGBA32 values are needed for CMYKA, a RGBA32 value is added to the structure.
1784
1785         * html/canvas/CanvasStyle.cpp:
1786         (WebCore::CanvasStyle::CanvasStyle):
1787         (WebCore::CanvasStyle::~CanvasStyle):
1788         (WebCore::CanvasStyle::isEquivalentColor):
1789         (WebCore::CanvasStyle::isEquivalentCMYKA):
1790         (WebCore::CanvasStyle::applyStrokeColor):
1791         (WebCore::CanvasStyle::applyFillColor):
1792         * html/canvas/CanvasStyle.h:
1793         (CanvasStyle):
1794         (CMYKAValues):
1795         (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
1796         (WebCore::CanvasStyle::color):
1797         (WebCore):
1798
1799 2013-05-07  Darin Adler  <darin@apple.com>
1800
1801         Use OwnPtr instead of deleteAllValues for requests in PluginView
1802         https://bugs.webkit.org/show_bug.cgi?id=115731
1803
1804         Reviewed by Sam Weinig.
1805
1806         * plugins/PluginView.cpp:
1807         (WebCore::PluginView::~PluginView): Removed the call to deleteAllValues.
1808         (WebCore::PluginView::requestTimerFired): Use release to remove an OwnPtr
1809         from m_requests rather than an explicit delete. Also use !isEmpty instead
1810         of size > 0.
1811         (WebCore::PluginView::scheduleRequest): Changed argument type to PassOwnPtr.
1812         (WebCore::PluginView::load): Use adoptPtr to call scheduleRequest.
1813
1814         * plugins/PluginView.h: Changed argument type of scheduleRequest to
1815         PassOwnPtr, and m_requests to a Vector<OwnPtr>.
1816
1817 2013-05-07  Antti Koivisto  <antti@apple.com>
1818
1819         Remove SelectRuleFeatureSet
1820         https://bugs.webkit.org/show_bug.cgi?id=115757
1821
1822         Reviewed by Benjamin Poulain.
1823
1824         This is dead code.
1825
1826         * CMakeLists.txt:
1827         * GNUmakefile.list.am:
1828         * Target.pri:
1829         * WebCore.exp.in:
1830         * WebCore.vcproj/WebCore.vcproj:
1831         * WebCore.xcodeproj/project.pbxproj:
1832         * dom/Element.cpp:
1833         (WebCore::Element::attributeChanged):
1834         (WebCore):
1835         (WebCore::Element::didAffectSelector):
1836         * dom/Element.h:
1837         (Element):
1838         * dom/ElementShadow.h:
1839         (WebCore::ElementShadow::invalidateDistribution):
1840         * html/shadow/ContentDistributor.cpp:
1841         (WebCore::ContentDistributor::ContentDistributor):
1842         (WebCore):
1843         * html/shadow/ContentDistributor.h:
1844         (ContentDistributor):
1845         * html/shadow/InsertionPoint.cpp:
1846         (WebCore::InsertionPoint::insertedInto):
1847         (WebCore::InsertionPoint::removedFrom):
1848         * html/shadow/InsertionPoint.h:
1849         (InsertionPoint):
1850         * html/shadow/SelectRuleFeatureSet.cpp: Removed.
1851         * html/shadow/SelectRuleFeatureSet.h: Removed.
1852         * testing/Internals.cpp:
1853         (WebCore):
1854         * testing/Internals.idl:
1855
1856 2013-05-07  Anders Carlsson  <andersca@apple.com>
1857
1858         Store the quotes in the same allocation as the QuotesData object
1859         https://bugs.webkit.org/show_bug.cgi?id=115768
1860
1861         Reviewed by Andreas Kling.
1862
1863         Since the QuotesData object is immutable we don't need a Vector to store the quote pairs,
1864         they can just be stored after the class data.
1865
1866         * rendering/style/QuotesData.cpp:
1867         (WebCore::sizeForQuotesDataWithQuoteCount):
1868         Helper function for computing the allocation size.
1869
1870         (WebCore::QuotesData::create):
1871         Use fastMalloc + placement new.
1872
1873         (WebCore::QuotesData::QuotesData):
1874         Use placement new to allocate the quote pairs.
1875
1876         (WebCore::QuotesData::~QuotesData):
1877         Destroy the quote pairs.
1878
1879         (WebCore::QuotesData::openQuote):
1880         Stop using Vector.
1881
1882         (WebCore::QuotesData::closeQuote):
1883         Ditto.
1884
1885         (WebCore::operator==):
1886         Ditto.
1887
1888         * rendering/style/QuotesData.h:
1889
1890 2013-05-07  Benjamin Poulain  <bpoulain@apple.com>
1891
1892         We should not ref() the RefPtr twice in CanvasStyle
1893
1894         Reviewed by Darin Adler.
1895
1896         * html/canvas/CanvasStyle.cpp:
1897         (WebCore::CanvasStyle::CanvasStyle):
1898         We leak the ref of PassRefPtr, we should not ref() it a second time.
1899
1900 2013-05-07  Ryosuke Niwa  <rniwa@webkit.org>
1901
1902         Devirtualize Document class type checking
1903         https://bugs.webkit.org/show_bug.cgi?id=115755
1904
1905         Reviewed by Benjamin Poulain.
1906
1907         Merge https://chromium.googlesource.com/chromium/blink/+/dae5adc768d5ce6bff301df6515745da8ea24950
1908
1909         Document has a bunch of virtual bool is*Document() methods on it, but it also has
1910         two bools for XHTML and HTML documents which is silly. We can merge them all
1911         together into an enum of values and devirtualize the type checking methods.
1912
1913         * dom/Document.cpp:
1914         (WebCore::Document::Document):
1915         (WebCore::Document::createElement):
1916         * dom/Document.h:
1917         (WebCore::Document::create):
1918         (WebCore::Document::createXHTML):
1919         (WebCore::Document::isHTMLDocument):
1920         (WebCore::Document::isXHTMLDocument):
1921         (WebCore::Document::isImageDocument):
1922         (WebCore::Document::isSVGDocument):
1923         (WebCore::Document::isPluginDocument):
1924         (WebCore::Document::isMediaDocument):
1925         (WebCore::Document):
1926         * html/HTMLDocument.cpp:
1927         (WebCore::HTMLDocument::HTMLDocument):
1928         * html/HTMLDocument.h:
1929         (WebCore::HTMLDocument):
1930         * html/ImageDocument.cpp:
1931         (WebCore::ImageDocument::ImageDocument):
1932         * html/ImageDocument.h:
1933         (WebCore::ImageDocument):
1934         * html/MediaDocument.cpp:
1935         (WebCore::MediaDocument::MediaDocument):
1936         * html/MediaDocument.h:
1937         (WebCore::MediaDocument):
1938         * html/PluginDocument.cpp:
1939         (WebCore::PluginDocument::PluginDocument):
1940         * html/PluginDocument.h:
1941         (WebCore::PluginDocument):
1942         * loader/PlaceholderDocument.h:
1943         (WebCore::PlaceholderDocument::PlaceholderDocument):
1944         * svg/SVGDocument.cpp:
1945         (WebCore::SVGDocument::SVGDocument):
1946         * svg/SVGDocument.h:
1947         (WebCore::SVGDocument):
1948
1949 2013-05-07  Anders Carlsson  <andersca@apple.com>
1950
1951         Begin unraveling the mess that is QuotesData
1952         https://bugs.webkit.org/show_bug.cgi?id=115765
1953
1954         Reviewed by Andreas Kling.
1955
1956         Change QuotesData to be an immutable object and fix other things that are broken.
1957
1958         * css/StyleResolver.cpp:
1959         (WebCore::StyleResolver::applyProperty):
1960         QuotesData::addPair is gone. Instead, create the Vector up front and pass it to QuotesData.
1961
1962         * rendering/RenderQuote.cpp:
1963         (WebCore::RenderQuote::originalText):
1964         Update for renames.
1965
1966         * rendering/style/QuotesData.cpp:
1967         (WebCore::QuotesData::create):
1968         Remove the create overload that wasn't used. Add a new create overload that takes a Vector.
1969
1970         (WebCore::QuotesData::openQuote):
1971         Rename this from getOpenQuote and clean it up.
1972
1973         (WebCore::QuotesData::closeQuote):
1974         Rename this from getCloseQuote and clean it up.
1975
1976         (WebCore::operator==):
1977         Replace the equals member function with a proper equality operator.
1978
1979         * rendering/style/RenderStyle.cpp:
1980         (WebCore::RenderStyle::diff):
1981         Stop calling QuotesData::equals. Use the same idiom as used for other properties.
1982
1983         (WebCore::RenderStyle::setQuotes):
1984         * rendering/style/StyleRareInheritedData.cpp:
1985         Use operator==.
1986
1987         (WebCore::quotesDataEquivalent):
1988         Add helper function.
1989
1990         (WebCore::StyleRareInheritedData::operator==):
1991         Call quotesDataEquivalent.
1992
1993 2013-05-06  Enrica Casucci  <enrica@apple.com>
1994
1995         Support -webkit-system-font on OS X.
1996         https://bugs.webkit.org/show_bug.cgi?id=115758
1997         <rdar://problem/13433854>
1998
1999         Reviewed by Dean Jackson.
2000
2001         Test: platform/mac/fast/text/systemFont.html
2002
2003         * platform/mac/WebFontCache.mm:
2004         (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
2005
2006 2013-05-07  Benjamin Poulain  <bpoulain@apple.com>
2007
2008         Move CanvasGradient and CanvasPattern in the union of CanvasStyle
2009         https://bugs.webkit.org/show_bug.cgi?id=115759
2010
2011         Reviewed by Andreas Kling.
2012
2013         The Gradient and Pattern are exclusive with the other values, but they
2014         were left out of the union because they are ref-counted.
2015
2016         This patch moves them in the union, and simply does the ref-counting manually.
2017
2018         * html/canvas/CanvasStyle.cpp:
2019         (WebCore::CanvasStyle::CanvasStyle):
2020         (WebCore::CanvasStyle::~CanvasStyle):
2021         * html/canvas/CanvasStyle.h:
2022         (CanvasStyle):
2023         (WebCore::CanvasStyle::canvasGradient):
2024         (WebCore::CanvasStyle::canvasPattern):
2025
2026 2013-05-07  Anders Carlsson  <andersca@apple.com>
2027
2028         Remove custom allocator support from PODArena
2029         https://bugs.webkit.org/show_bug.cgi?id=115762
2030
2031         Reviewed by Andreas Kling.
2032
2033         Nobody uses PODArena with a custom allocator, so just get rid of it and always use fastMalloc/fastFree.
2034
2035         * platform/PODArena.h:
2036         (WebCore::PODArena::PODArena):
2037         (WebCore::PODArena::allocateBase):
2038         (WebCore::PODArena::Chunk::Chunk):
2039         (WebCore::PODArena::Chunk::~Chunk):
2040         (Chunk):
2041         * platform/PODFreeListArena.h:
2042         (WebCore::PODFreeListArena::allocate):
2043         (WebCore::PODFreeListArena::FreeListChunk::FreeListChunk):
2044
2045 2013-05-07  Anders Carlsson  <andersca@apple.com>
2046
2047         Clean up KeyframeValueList and related classes
2048         https://bugs.webkit.org/show_bug.cgi?id=115738
2049
2050         Reviewed by Simon Fraser.
2051
2052         Add static create() functions to the AnimationValue subclasses, and change a bunch of parameters
2053         and return values that can never be null from pointer types to reference types to better indicate this.
2054
2055         * platform/graphics/GraphicsLayer.cpp:
2056         (WebCore::filterOperationsAt):
2057         (WebCore::GraphicsLayer::validateFilterOperations):
2058         (WebCore::operationsAt):
2059         (WebCore::GraphicsLayer::validateTransformOperations):
2060         * platform/graphics/GraphicsLayer.h:
2061         (AnimationValue):
2062         (WebCore::AnimationValue::AnimationValue):
2063         (WebCore::FloatAnimationValue::create):
2064         (FloatAnimationValue):
2065         (WebCore::FloatAnimationValue::FloatAnimationValue):
2066         (WebCore::TransformAnimationValue::create):
2067         (TransformAnimationValue):
2068         (WebCore::TransformAnimationValue::value):
2069         (WebCore::TransformAnimationValue::TransformAnimationValue):
2070         (WebCore::FilterAnimationValue::create):
2071         (WebCore::FilterAnimationValue::value):
2072         (WebCore::FilterAnimationValue::FilterAnimationValue):
2073         (FilterAnimationValue):
2074         (WebCore::KeyframeValueList::~KeyframeValueList):
2075         (KeyframeValueList):
2076         (WebCore::KeyframeValueList::at):
2077         * platform/graphics/ca/GraphicsLayerCA.cpp:
2078         (WebCore::animationHasStepsTimingFunction):
2079         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
2080         (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
2081         (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
2082         (WebCore::GraphicsLayerCA::setAnimationEndpoints):
2083         (WebCore::GraphicsLayerCA::setAnimationKeyframes):
2084         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
2085         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
2086         (WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
2087         (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
2088         * platform/graphics/ca/GraphicsLayerCA.h:
2089         (GraphicsLayerCA):
2090         * rendering/RenderLayerBacking.cpp:
2091         (WebCore::RenderLayerBacking::startAnimation):
2092         (WebCore::RenderLayerBacking::startTransition):
2093
2094 2013-05-07  Anders Carlsson  <andersca@apple.com>
2095
2096         Add and remove databases and origins from the database tracker
2097         https://bugs.webkit.org/show_bug.cgi?id=115752
2098
2099         Reviewed by Andreas Kling.
2100
2101         Add symbols needed by WebKit2.
2102
2103         * WebCore.exp.in:
2104
2105 2013-05-07  Beth Dakin  <bdakin@apple.com>
2106
2107         Still possible to fire paint-related LayoutMilestones before CA has committed the 
2108         changes
2109         https://bugs.webkit.org/show_bug.cgi?id=115753
2110         -and corresponding-
2111         <rdar://problem/13822315>
2112
2113         Reviewed by Simon Fraser.
2114
2115         To ensure we wait for the CA commit, we should wait until the end of the runloop 
2116         with a zero-delay timer.
2117
2118         * rendering/RenderLayerCompositor.cpp:
2119         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2120         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2121         (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
2122         (WebCore):
2123         * rendering/RenderLayerCompositor.h:
2124         (RenderLayerCompositor):
2125
2126 2013-05-07  Chris Fleizach  <cfleizach@apple.com>
2127
2128         Bug 115694 - Fix bad cast to RenderHTMLCanvas
2129         https://bugs.webkit.org/show_bug.cgi?id=115694
2130
2131         Reviewed by Ryosuke Niwa.
2132
2133         Don't cast to RenderHTML until we check what kind of object it is.
2134
2135         * accessibility/AccessibilityRenderObject.cpp:
2136         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2137
2138 2013-05-07  Anders Carlsson  <andersca@apple.com>
2139
2140         The storage database tracker should know when databases come and go
2141         https://bugs.webkit.org/show_bug.cgi?id=115748
2142
2143         Reviewed by Andreas Kling.
2144
2145         Export symbol needed by WebKit2.
2146
2147         * WebCore.exp.in:
2148
2149 2013-05-07  Darin Adler  <darin@apple.com>
2150
2151         Use OwnPtr instead of deleteAllValues in SVGResourcesCache
2152         https://bugs.webkit.org/show_bug.cgi?id=115729
2153
2154         Reviewed by Benjamin Poulain.
2155
2156         * rendering/svg/SVGResourcesCache.cpp:
2157         (WebCore::SVGResourcesCache::~SVGResourcesCache): Removed call to deleteAllValues.
2158         (WebCore::SVGResourcesCache::addResourcesFromRenderObject): Use adoptPtr and release
2159         to create new SVGResources object.
2160         (WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Use take to remove
2161         the SVGResources from the map rather than a get combined with delete/take.
2162         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Removed unneeded
2163         call to contains, since get already returns 0 if there is no item in the map.
2164         (WebCore::SVGResourcesCache::resourceDestroyed): Use typedef for the map type so
2165         we don't have to repeat the type.
2166
2167         * rendering/svg/SVGResourcesCache.h: Added typedef CacheMap, and changed value
2168         type to OwnPtr.
2169
2170 2013-05-07  Anders Carlsson  <andersca@apple.com>
2171
2172         REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
2173         https://bugs.webkit.org/show_bug.cgi?id=115711
2174
2175         Reviewed by Andreas Kling.
2176
2177         Export SQLiteDatabase::close.
2178
2179         * WebCore.exp.in:
2180
2181 2013-05-06  Ryosuke Niwa  <rniwa@webkit.org>
2182
2183         Add an 'isReadOnly' member to IDL parse tree structure
2184         https://bugs.webkit.org/show_bug.cgi?id=115704
2185
2186         Reviewed by Kentaro Hara.
2187
2188         Add an 'isReadOnly' member to IDL parse tree structure by merging
2189         https://chromium.googlesource.com/chromium/blink/+/d6add80ecd08bcd88a6ae0e1698d929830b3bd8b
2190         and update Objective-C, C++, and GObject binding generators to use isReadOnly.
2191
2192         * bindings/scripts/CodeGeneratorCPP.pm:
2193         (GenerateHeader):
2194         (GenerateImplementation):
2195         * bindings/scripts/CodeGeneratorGObject.pm:
2196         (GetWriteableProperties):
2197         (GenerateProperty):
2198         (GenerateFunctions):
2199         * bindings/scripts/CodeGeneratorJS.pm:
2200         (IsReadonly):
2201         * bindings/scripts/CodeGeneratorObjC.pm:
2202         (GenerateHeader):
2203         (GenerateImplementation):
2204         * bindings/scripts/IDLParser.pm:
2205         (parseAttributeRest):
2206         (parseExceptionField):
2207         (parseAttributeRestOld):
2208
2209 2013-05-07  Darin Adler  <darin@apple.com>
2210
2211         Use OwnPtr instead of deleteAllValues in SMILTimeContainer
2212         https://bugs.webkit.org/show_bug.cgi?id=115730
2213
2214         Reviewed by Geoffrey Garen.
2215
2216         * svg/animation/SMILTimeContainer.cpp:
2217         (WebCore::SMILTimeContainer::~SMILTimeContainer): Removed call to deleteAllValues.
2218         (WebCore::SMILTimeContainer::schedule): Use add instead of get/set to put a new
2219         AnimationsVector into the map as needed.
2220         (WebCore::SMILTimeContainer::setElapsed): Added get since values are OwnPtr now.
2221         (WebCore::SMILTimeContainer::updateAnimations): Ditto.
2222
2223         * svg/animation/SMILTimeContainer.h: Changed value type of GroupedAnimationsMap
2224         to OwnPtr instead of raw pointer.
2225
2226 2013-05-07  Anders Carlsson  <andersca@apple.com>
2227
2228         Remove AlwaysInline.h from WTF
2229         https://bugs.webkit.org/show_bug.cgi?id=115727
2230
2231         Reviewed by Brent Fulgham.
2232
2233         The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
2234         to keep AlwaysInline.h around anymore.
2235
2236         * WebCore.vcproj/WebCore.vcproj:
2237         * bindings/js/JSDOMWindowCustom.h:
2238         * bindings/scripts/CodeGeneratorJS.pm:
2239         (GenerateHeader):
2240         * platform/graphics/filters/FEConvolveMatrix.h:
2241         * rendering/InlineIterator.h:
2242         * rendering/InlineTextBox.cpp:
2243         * rendering/RenderBlockLineLayout.cpp:
2244         * rendering/RenderText.cpp:
2245
2246 2013-05-07  peavo@outlook.com  <peavo@outlook.com>
2247
2248         [Curl] POST requests sometimes fail.
2249         https://bugs.webkit.org/show_bug.cgi?id=111844
2250
2251         Reviewed by Brent Fulgham.
2252
2253         Curl adds the header 'Expect: 100-Continue' when sending a POST request.
2254         When we receive the header 'HTTP/1.1 100 Continue', we should not call
2255         ResourceHandleClient::didReceiveResponse(), as this will cancel the request,
2256         because the MIME type is empty in this case, causing the POST request to fail.
2257         This header is only sent as an info header, or provisional response.
2258         
2259         In addition, this patch changes the classification of http code 304 (Not modified).
2260         It is not reported as a redirect anymore, but as a response
2261         (ResourceHandleClient::didReceiveResponse() is called.
2262
2263         * platform/network/curl/ResourceHandleManager.cpp:
2264         (WebCore::isHttpInfo): Added helper method to determine if http code is http info.
2265         (WebCore::isHttpRedirect): Added helper method to determine if http code is http redirect.
2266         (WebCore::headerCallback): Just return when receiving the header'HTTP/1.1 100 Continue'.
2267
2268 2013-05-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2269
2270         [X11][BlackBerry] Check if MOZ_X11 is defined instead of XP_UNIX npruntime_internal.h
2271         https://bugs.webkit.org/show_bug.cgi?id=113687
2272
2273         Reviewed by Anders Carlsson.
2274
2275         It's assumed that all UNIX platforms use X11 for plugins, which is
2276         not the case of BlackBerry.
2277
2278         * bridge/npruntime_internal.h: Use MOZ_X11 instead of XP_UNIX.
2279
2280 2013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2281
2282         HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
2283         https://bugs.webkit.org/show_bug.cgi?id=115646
2284
2285         Reviewed by Darin Adler.
2286
2287         No new tests, no new functionality.
2288
2289         * accessibility/AXObjectCache.cpp:
2290         (WebCore::AXObjectCache::get):
2291         (WebCore::AXObjectCache::remove):
2292         * accessibility/AXObjectCache.h:
2293         (WebCore::AXObjectCache::objectFromAXID):
2294         * css/CSSImageGeneratorValue.cpp:
2295         (WebCore::CSSImageGeneratorValue::getImage):
2296         * css/InspectorCSSOMWrappers.cpp:
2297         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
2298         * css/StyleResolver.cpp:
2299         (WebCore::StyleResolver::loadPendingSVGDocuments):
2300         * html/HTMLAnchorElement.cpp:
2301         (WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown):
2302         * html/HTMLFormElement.cpp:
2303         (WebCore::HTMLFormElement::elementForAlias):
2304         * html/shadow/ContentDistributor.cpp:
2305         (WebCore::ContentDistributor::findInsertionPointFor):
2306         * loader/appcache/ApplicationCache.cpp:
2307         (WebCore::ApplicationCache::resourceForURL):
2308         * loader/archive/ArchiveResourceCollection.cpp:
2309         (WebCore::ArchiveResourceCollection::archiveResourceForURL):
2310         * page/PageGroup.cpp:
2311         (WebCore::PageGroup::transientLocalStorage):
2312         * page/animation/CompositeAnimation.cpp:
2313         (WebCore::CompositeAnimation::updateTransitions):
2314         (WebCore::CompositeAnimation::pauseTransitionAtTime):
2315         * platform/graphics/ca/GraphicsLayerCA.cpp:
2316         (WebCore::GraphicsLayerCA::updateMaskLayer):
2317         * platform/network/BlobRegistryImpl.cpp:
2318         (WebCore::BlobRegistryImpl::getBlobDataFromURL):
2319         * plugins/PluginDatabase.cpp:
2320         (WebCore::PluginDatabase::pluginForMIMEType):
2321         (WebCore::PluginDatabase::MIMETypeForExtension):
2322         * rendering/RenderCounter.cpp:
2323         (WebCore::makeCounterNode):
2324         (showCounterRendererTree):
2325         * svg/graphics/filters/SVGFilterBuilder.cpp:
2326         (WebCore::SVGFilterBuilder::getEffectById):
2327             Updated accordingly to new HashMap<.., RefPtr>::get() semantics.
2328
2329 2013-05-06  Darin Adler  <darin@apple.com>
2330
2331         Use OwnPtr instead of deleteAllValues in KeyframeValueList
2332         https://bugs.webkit.org/show_bug.cgi?id=115652
2333
2334         Reviewed by Simon Fraser.
2335
2336         Also made a few related style fixes in the functions touched.
2337
2338         * platform/graphics/GraphicsLayer.cpp:
2339         (WebCore::KeyframeValueList::insert): Change argument type to PassOwnPtr
2340         and update use of m_values since it has OwnPtr now instead of raw pointer.
2341
2342         * platform/graphics/GraphicsLayer.h: Move conditional includes to a
2343         separate paragraph, removed an unneeded forward class declaration.
2344         (WebCore::AnimationValue::AnimationValue): Marked this constructor explicit
2345         and removed an unneeded if statement.
2346         (WebCore::AnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
2347         (WebCore::FloatAnimationValue::clone): Changed this to return a PassOwnPtr.
2348         (WebCore::TransformAnimationValue::TransformAnimationValue): Marked explicit.
2349         (WebCore::TransformAnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
2350         (WebCore::FilterAnimationValue::FilterAnimationValue): Marked explicit.
2351         (WebCore::FilterAnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
2352         (WebCore::KeyframeValueList::KeyframeValueList): Marked explicit.
2353         (WebCore::KeyframeValueList::~KeyframeValueList): Removed, since the default
2354         destructor works without an explicit deleteAllValues call.
2355         (WebCore::KeyframeValueList::at): Added call to get needed since the vector
2356         contains OwnPtr now.
2357         (WebCore::KeyframeValueList::insert): Changed to take PassOwnPtr and then
2358         removed now-redundant comment saying "takes ownership of the pointer".
2359         (WebCore::KeyframeValueList::m_values): Changed type to Vector<OwnPtr>.
2360
2361         * rendering/RenderLayerBacking.cpp:
2362         (WebCore::RenderLayerBacking::startAnimation): Added adoptPtr next to the
2363         all the places new was done before calling KeyframeValueList::insert. Also
2364         simplified the booleans and #if in this function.
2365         (WebCore::RenderLayerBacking::startTransition): Ditto.
2366
2367 2013-05-06  Ryosuke Niwa  <rniwa@webkit.org>
2368
2369         [Replaceable] attributes must be readonly
2370         https://bugs.webkit.org/show_bug.cgi?id=115692
2371
2372         Reviewed by Kentaro Hara.
2373
2374         Merge https://chromium.googlesource.com/chromium/blink/+/ac61fbfe875d3c3c37d529683139ceb0ad4330bb.
2375
2376         Web IDL specification says [Replaceable] attributes are readonly:
2377         http://www.w3.org/TR/2012/CR-WebIDL-20120419/#Replaceable
2378
2379         Update the two instances of [Replaceable] in WebCore that didn't have readonly modifier to match
2380         the specifcation and the rest of WebCore. There should be no behavioral changes as the code generator
2381         already assumed [Replaceable] attributes are readonly.
2382
2383         * html/HTMLDocument.idl:
2384         * page/DOMWindow.idl:
2385
2386 2013-05-06  Darin Adler  <darin@apple.com>
2387
2388         Use OwnPtr instead of deleteAllValues in DocumentMarkerController
2389         https://bugs.webkit.org/show_bug.cgi?id=115655
2390
2391         Reviewed by Andreas Kling.
2392
2393         * dom/DocumentMarkerController.cpp:
2394         (WebCore::DocumentMarkerController::~DocumentMarkerController): Added here
2395         so the destructor isn't implicitly inline.
2396         (WebCore::DocumentMarkerController::detach): Removed now-unneeded code to
2397         call deleteAllValues. Also moved code to set m_possiblyExistingMarkerTypes
2398         to after clearing m_markers to be consistent with how other functions do it.
2399         (WebCore::DocumentMarkerController::addMarker): Changed code to use the
2400         add idiom to avoid double hash table lookup. Changed to use adoptPtr since
2401         the map now contains OwnPtr.
2402         (WebCore::DocumentMarkerController::removeMarkers): Removed explicit calls
2403         to delete list since removing the entry from the map now deletes the list.
2404         Moved the code to check if m_markers has become empty so it's only called
2405         when we actually remove something from m_markers.
2406         (WebCore::DocumentMarkerController::markerContainingPoint): Added get().
2407         (WebCore::DocumentMarkerController::renderedRectsForMarkers): Added get().
2408         (WebCore::DocumentMarkerController::removeMarkers): Changed to use a new
2409         interface to removeMarkersFromList. This eliminated the need to copy the
2410         entire map when removing markers; instead we can just copy the keys.
2411         (WebCore::DocumentMarkerController::removeMarkersFromList): Changed to use
2412         an iterator instead of being passed the key/value pair from the map. Also
2413         rearranged the logic so there is less repeated code and removed some now-
2414         unneeded comments.
2415         (WebCore::DocumentMarkerController::repaintMarkers): Added get().
2416         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
2417         Added get().
2418         (WebCore::DocumentMarkerController::showMarkers): Added get().
2419
2420         * dom/DocumentMarkerController.h: Removed implementation of the destructor
2421         that called the detach function; that was just sharing the now-unneeded
2422         call to deleteAllValues. Changed the type of the map to use an OwnPtr for
2423         the value. Changed the interface of removeMarkersFromList to take a map
2424         iterator instead of a key/value pair.
2425
2426 2013-05-06  Beth Dakin  <bdakin@apple.com>
2427
2428         Reproducible crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent()
2429         https://bugs.webkit.org/show_bug.cgi?id=115685
2430         -and corresponding-
2431         <rdar://problem/13700734>
2432
2433         Reviewed by Sam Weinig.
2434
2435         This fix here is just to rollout the change that caused this regression, which is 
2436         http://trac.webkit.org/changeset/147395 . That change was not intended to cause any 
2437         behavioral differences. The change made it so RenderObject::offsetParent() returned 
2438         an Element* instead of a RenderBoxModelObject*. However, can muddle things when the 
2439         object we are returning is a continuation. Multiple RenderObjects have the same 
2440         Element in a continuation, so this new code can lead to a crash in 
2441         adjustedPositionRelativeToOffsetParent() when we expect to walk the RenderObject 
2442         chain and find the offsetParent in the Element’s parent chain. But we might crash in 
2443         some complicated continuation scenarios because we lost this disambiguation of which 
2444         RenderObject to start with.
2445
2446         Roll out.
2447         * dom/Element.cpp:
2448         (WebCore::Element::offsetParent):
2449         * rendering/RenderBoxModelObject.cpp:
2450         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
2451         * rendering/RenderObject.cpp:
2452         (WebCore::RenderObject::offsetParent):
2453         * rendering/RenderObject.h:
2454         (RenderObject):
2455
2456 2013-05-06  Ryosuke Niwa  <rniwa@webkit.org>
2457
2458         Unify ways to cache named item in HTMLCollections
2459         https://bugs.webkit.org/show_bug.cgi?id=115584
2460
2461         Reviewed by Antti Koivisto.
2462
2463         Refactor the code to share the same infrastructure for both id and name attributes maps.
2464
2465         Also get rid of shouldRegisterAsNamedItem and shouldRegisterAsExtraNamedItem from various Element subclasses
2466         as these member functions were duplicating the information in HTMLNameCollection.cpp. Nevertheless, HTMLImageElement
2467         and HTMLObjectElement still update HTMLDocument's window and document name getter maps when their presence as named
2468         item changes due to an attribute change and children changes respectively.
2469
2470         * bindings/js/JSDOMWindowCustom.cpp:
2471         (WebCore::namedItemGetter): Use windowNamedItemMap().containsSingle() instead of collection->hasExactlyOneItem() to
2472         avoid instantiating HTMLCollection until we know for sure we're returning multiple items.
2473         (WebCore::JSDOMWindow::getOwnPropertySlot): Call windowNamedItemMap().contains() instead of document->hasNamedItem()
2474         since the latter has been removed.
2475         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): Ditto.
2476         (WebCore::JSDOMWindow::getOwnPropertyDescriptor): Ditto.
2477
2478         * bindings/js/JSHTMLDocumentCustom.cpp:
2479         (WebCore::JSHTMLDocument::canGetItemsForName): Call documentNamedItemMap().contains() instead of
2480         document->hasExtraNamedItem() since the latter has been removed.
2481         (WebCore::JSHTMLDocument::nameGetter): Use documentNamedItemMap().containsSingle() instead of
2482         collection->hasExactlyOneItem() to avoid instantiating HTMLCollection when we're returning the first item.
2483
2484         * dom/Document.cpp:
2485         (WebCore::Document::windowNamedItems): Instantiate WindowNameCollection, which is a subclass of HTMLNameCollection,
2486         instead of HTMLNameCollection since the latter class no longer has a public constructor.
2487         (WebCore::Document::documentNamedItems): Ditto; instantiate DocumentNameCollection.
2488
2489         * dom/DocumentOrderedMap.cpp:
2490         (WebCore::keyMatchesName): Added for name attribute.
2491         (WebCore::keyMatchesWindowNamedItem): Added for window name getter.
2492         (WebCore::keyMatchesDocumentNamedItem): Added for document name getter.
2493         (WebCore::DocumentOrderedMap::getElementByName): Added for name attribute.
2494         (WebCore::DocumentOrderedMap::getElementByWindowNamedItem): Added for window name getter.
2495         (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem): Added for document name getter.
2496
2497         * dom/DocumentOrderedMap.h:
2498         (WebCore::DocumentOrderedMap::containsSingle): Added.
2499         (WebCore::DocumentOrderedMap::containsMultiple): Fixed the bug that containsMultiple returns true even when
2500         the duplicate count has been reduced to 1. Unfortunately this behavior change is not testable because the old code
2501         worked properly (though less efficient) even if this function returned a wrong value.
2502
2503         * dom/Element.cpp:
2504         (WebCore::Element::insertedInto):
2505         (WebCore::Element::removedFrom):
2506         (WebCore::Element::updateName): Added. Updates TreeScope's name attribute map as well as HTMLDocument's window name
2507         and document name maps.
2508         (WebCore::Element::updateId): Added the code to update HTMLDocument's window name and document name maps.
2509
2510         * dom/Element.h:
2511         (Element): Removed shouldRegisterAsNamedItem, shouldRegisterAsExtraNamedItem, updateNamedItemRegistration, and
2512         updateExtraNamedItemRegistration as they're no longer used.
2513
2514         * dom/TreeScope.cpp:
2515         (SameSizeAsTreeScope):
2516         (WebCore::TreeScope::getElementByName): Added.
2517         (WebCore::TreeScope::addElementByName): Added.
2518         (WebCore::TreeScope::removeElementByName): Added.
2519
2520         * dom/TreeScope.h:
2521         (WebCore::TreeScope::hasElementWithName): Added.
2522         (WebCore::TreeScope::containsMultipleElementsWithName): Added.
2523
2524         * html/HTMLAppletElement.h:
2525         (HTMLAppletElement):
2526
2527         * html/HTMLCollection.cpp:
2528         (WebCore::isMatchingElement): Use HTMLNameCollection subclasses' nodeMatches.
2529         (WebCore::HTMLCollection::namedItem): Added a fast path for named item.
2530         (WebCore::HTMLCollection::hasNamedItem): Use namedItem to avoid the work in the fast path.
2531
2532         * html/HTMLCollection.h:
2533         (HTMLCollection): Removed checkForNameMatch.
2534         * html/HTMLDocument.cpp:
2535         (WebCore): Removed various member functions related to m_namedItemCounts and m_extraNamedItemCounts.
2536
2537         * html/HTMLDocument.h:
2538         (WebCore::HTMLDocument::documentNamedItemMap): Added.
2539         (WebCore::HTMLDocument::windowNamedItemMap): Added.
2540         (HTMLDocument): Replaced m_namedItemCounts and m_extraNamedItemCounts by m_documentNamedItem and m_windowNamedItem.
2541         Note that they're not one to one.
2542
2543         * html/HTMLEmbedElement.h:
2544         (HTMLEmbedElement):
2545
2546         * html/HTMLFormElement.h:
2547         (HTMLFormElement):
2548
2549         * html/HTMLIFrameElement.cpp: Removed the code to track the element's name since we already do this in Element.
2550         (WebCore::HTMLIFrameElement::parseAttribute):
2551
2552         * html/HTMLIFrameElement.h:
2553         (HTMLIFrameElement):
2554
2555         * html/HTMLImageElement.cpp:
2556         (WebCore::HTMLImageElement::parseAttribute): Update the HTMLDocument's maps when the name attribute's existence
2557         changes its presence on window and document name getters in turn. This behavior change, again, appears to be
2558         untestable due to the old being more graceful when DocumentOrderedMap returned a wrong value.
2559
2560         * html/HTMLImageElement.h:
2561
2562         * html/HTMLNameCollection.cpp:
2563         (WebCore::HTMLNameCollection::HTMLNameCollection): No longer overrides itemAfter. This enables backwards traversals
2564         of the tree along with other optimizations in HTMLCollection.
2565
2566         (WebCore::WindowNameCollection::nodeMatchesIfNameAttributeMatch): Added. Used in Element::updateName to determine
2567         whether add() or remove() should be called on HTMLDocument's maps.
2568         (WebCore::WindowNameCollection::nodeMatches): Added.
2569
2570         (WebCore::DocumentNameCollection::nodeMatchesIfIdAttributeMatch): Added. Used in Element::updateName to determine
2571         whether add() or remove() should be called on HTMLDocument's maps.
2572         (WebCore::DocumentNameCollection::nodeMatchesIfNameAttributeMatch): Ditto.
2573         (WebCore::DocumentNameCollection::nodeMatches): Added.
2574
2575         * html/HTMLNameCollection.h:
2576         (HTMLNameCollection): Removed create since this class shouldn't be instantiated on its own.
2577
2578         (WebCore::WindowNameCollection): Added.
2579         (WebCore::WindowNameCollection::create): Added.
2580         (WebCore::WindowNameCollection::nodeMatches): Added.
2581         (WebCore::WindowNameCollection::nodeMatchesIfIdAttributeMatch): Added.
2582         (WebCore::WindowNameCollection::WindowNameCollection): Added.
2583         (WebCore::DocumentNameCollection): Added.
2584         (WebCore::DocumentNameCollection::create): Added.
2585         (WebCore::DocumentNameCollection::nodeMatches): Added.
2586         (WebCore::DocumentNameCollection::DocumentNameCollection): Added.
2587
2588         * html/HTMLObjectElement.cpp:
2589         (WebCore::HTMLObjectElement::updateDocNamedItem): Update both window and document getter maps of HTMLDocument when
2590         the visibility of this element changes due to the DOM mutations in the subtree.
2591
2592         * html/HTMLObjectElement.h:
2593         (WebCore::HTMLObjectElement):
2594         (WebCore::toHTMLObjectElement): Added.
2595
2596 2013-05-06  Andreas Kling  <akling@apple.com>
2597
2598         Flaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
2599         <http://webkit.org/b/115674>
2600
2601         Reviewed by Alexey Proskuryakov.
2602
2603         Don't cache the Document::renderer() in a local since layout may blow it away.
2604
2605         * dom/Document.cpp:
2606         (WebCore::Document::implicitClose):
2607
2608 2013-05-06  Anders Carlsson  <andersca@apple.com>
2609
2610         More work on LocalStorageDatabaseTracker
2611         https://bugs.webkit.org/show_bug.cgi?id=115680
2612
2613         Reviewed by Andreas Kling.
2614
2615         Export symbols needed by WebKit2.
2616
2617         * WebCore.exp.in:
2618
2619 2013-05-06  Manuel Rego Casasnovas  <rego@igalia.com>
2620
2621         [GTK] Add webkit_uri_scheme_request_finish_error
2622         https://bugs.webkit.org/show_bug.cgi?id=94316
2623
2624         Reviewed by Anders Carlsson.
2625
2626         No behaviour change, covered by existing tests.
2627
2628         * platform/network/soup/ResourceError.h:
2629         (ResourceError): Rename genericIOError() to genericGError().
2630         * platform/network/soup/ResourceErrorSoup.cpp:
2631         (WebCore::ResourceError::httpError): Use genercicGError() instead of
2632         genericIOError().
2633         (WebCore::ResourceError::genericGError): Use error domain instead of
2634         always return a G_IO_ERROR.
2635         * platform/network/soup/ResourceHandleSoup.cpp: Use genericGError()
2636         instead of genericIOError().
2637         (WebCore::redirectSkipCallback):
2638         (WebCore::readCallback):
2639
2640 2013-05-06  Bem Jones-Bey  <bjonesbe@adobe.com>
2641
2642         Heap-use-after-free in WebCore::InlineFlowBox::deleteLine
2643         https://bugs.webkit.org/show_bug.cgi?id=114772
2644
2645         Reviewed by David Hyatt.
2646
2647         Fix the new use after free issues in Ruby.
2648
2649         Test: fast/ruby/ruby-svg-crash.html
2650
2651         * rendering/RenderRubyRun.cpp:
2652         (WebCore::RenderRubyRun::removeChild):
2653
2654 2013-05-06  Robert Hogan  <robert@webkit.org>
2655
2656         REGRESSION(r140024): child of fixed div inside of absolute div does not get resized when window is resized
2657         https://bugs.webkit.org/show_bug.cgi?id=115379
2658
2659         Reviewed by David Hyatt.
2660
2661         When detecting whether a fixed pos object needed to move with an absolute ancestor we checked
2662         whether the logical width of the fixed pos object had changed. This check prevented the fixed pos
2663         object from detecting later on that it needed to relayout its children in layoutBlock(). So recompute the width
2664         for our check instead of updating it.
2665
2666         Test: fast/block/positioning/child-of-fixed-pos-after-movement.html
2667
2668         * rendering/RenderBlock.cpp:
2669         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
2670
2671 2013-05-06  Mike Lattanzio  <mlattanzio@blackberry.com>
2672
2673         [BlackBerry] Enable and Expose Text Autosizing through BlackBerry::WebKit::WebSettings
2674         https://bugs.webkit.org/show_bug.cgi?id=113808
2675
2676         Reviewed by Rob Buis.
2677
2678         Added TextAutosizer.cpp to the BlackBerry build.
2679
2680         * PlatformBlackBerry.cmake:
2681
2682 2013-05-06  Darin Adler  <darin@apple.com>
2683
2684         Use OwnPtr instead of deleteAllValues in SVGAttributeToPropertyMap
2685         https://bugs.webkit.org/show_bug.cgi?id=115653
2686
2687         Reviewed by Andreas Kling.
2688
2689         Also made a few style fixes to the code at the same time.
2690
2691         * svg/properties/SVGAttributeToPropertyMap.cpp:
2692         (WebCore::SVGAttributeToPropertyMap::addProperties): Changed argument to
2693         const because there was no reason for it to be non-const. Added calls to
2694         get() since the items in the map are now OwnPtr. Added a couple FIXMEs
2695         about performance mistakes.
2696         (WebCore::SVGAttributeToPropertyMap::addProperty): Added a FIXME about
2697         a small performance mistake, and updated to use OwnPtr instead of raw
2698         pointers.
2699         (WebCore::SVGAttributeToPropertyMap::synchronizeProperties): Added a call
2700         to get().
2701
2702         * svg/properties/SVGAttributeToPropertyMap.h: Removed now-unneeded
2703         constructor and destructor definitions. Changed the type for the
2704         addProperties to be const&. Added a comment about incorrect function
2705         naming. Changed the type of the map data member to use OwnPtr.
2706
2707 2013-05-06  Antti Koivisto  <antti@apple.com>
2708
2709         Remove more code that was only needed for younger/older shadow trees
2710         https://bugs.webkit.org/show_bug.cgi?id=115662
2711
2712         Reviewed by Andreas Kling.
2713
2714         This is dead code.
2715
2716         * WebCore.exp.in:
2717         * dom/ComposedShadowTreeWalker.cpp:
2718         (WebCore::nodeCanBeDistributed):
2719         (WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
2720         * dom/EventPathWalker.cpp:
2721         (WebCore::EventPathWalker::moveToParent):
2722         * html/shadow/ContentDistributor.cpp:
2723         (WebCore::ScopeContentDistribution::ScopeContentDistribution):
2724         (WebCore::ScopeContentDistribution::registerInsertionPoint):
2725         (WebCore::ScopeContentDistribution::unregisterInsertionPoint):
2726         (WebCore):
2727         (WebCore::ScopeContentDistribution::hasInsertionPoint):
2728         (WebCore::ContentDistributor::invalidate):
2729         * html/shadow/ContentDistributor.h:
2730         (ScopeContentDistribution):
2731         * html/shadow/InsertionPoint.cpp:
2732         (WebCore::InsertionPoint::contains):
2733         (WebCore::resolveReprojection):
2734         (WebCore::collectInsertionPointsWhereNodeIsDistributed):
2735         * html/shadow/InsertionPoint.h:
2736         * testing/Internals.cpp:
2737         (WebCore):
2738         * testing/Internals.h:
2739         (Internals):
2740         * testing/Internals.idl:
2741
2742 2013-05-06  Tiancheng Jiang  <tijiang@rim.com>
2743
2744         [BlackBerry] Update HTML5 progress bar UX.
2745         https://bugs.webkit.org/show_bug.cgi?id=115284.
2746
2747         Reviewed by Rob Buis.
2748
2749         BlackBerry PR 331729.
2750         Internally Reviewed by Jeff Rogers.
2751
2752         Use GL render to paint progress bar to meet UX specs.
2753         Also change the slider range to GL render.
2754
2755         * platform/blackberry/RenderThemeBlackBerry.cpp:
2756         (WebCore):
2757         (WebCore::RenderThemeBlackBerry::paintSliderTrack):
2758         (WebCore::RenderThemeBlackBerry::paintProgressTrackRect):
2759         (WebCore::drawProgressTexture):
2760         (WebCore::RenderThemeBlackBerry::paintProgressBar):
2761         * platform/blackberry/RenderThemeBlackBerry.h:
2762         (RenderThemeBlackBerry):
2763
2764 2013-05-06  Bem Jones-Bey  <bjonesbe@adobe.com>
2765
2766         [CSS Exclusions] remove unused -webkit-wrap property
2767         https://bugs.webkit.org/show_bug.cgi?id=102105
2768
2769         Reviewed by Darin Adler.
2770
2771         Remove -webkit-wrap property and all mentions. This property doesn't
2772         exist in the spec anymore, and was never implemented more than just
2773         parsing the property.
2774
2775         * WebCore.order:
2776         * css/CSSComputedStyleDeclaration.cpp:
2777         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2778         * css/CSSParser.cpp:
2779         (WebCore::CSSParser::parseValue):
2780         * css/CSSProperty.cpp:
2781         (WebCore::CSSProperty::isInheritedProperty):
2782         * css/CSSPropertyNames.in:
2783         * css/StylePropertySet.cpp:
2784         (WebCore::StylePropertySet::getPropertyValue):
2785         (WebCore::StylePropertySet::asText):
2786         * css/StylePropertyShorthand.cpp:
2787         (WebCore::shorthandForProperty):
2788         * css/StylePropertyShorthand.h:
2789         (WebCore):
2790         * css/StyleResolver.cpp:
2791         (WebCore::StyleResolver::applyProperty):
2792
2793 2013-05-06  Anders Carlsson  <andersca@apple.com>
2794
2795         Write storage changes to disk
2796         https://bugs.webkit.org/show_bug.cgi?id=115660
2797
2798         Reviewed by Andreas Kling.
2799
2800         Export symbols needed by WebKit2.
2801
2802         * WebCore.exp.in:
2803
2804 2013-05-06  Tiancheng Jiang  <tijiang@rim.com>
2805
2806         [BlackBerry] Update HTML5 progress bar UX.
2807         https://bugs.webkit.org/show_bug.cgi?id=115284.
2808
2809         Reviewed by Rob Buis.
2810
2811         BlackBerry PR 331729.
2812         Internally Reviewed by Jeff Rogers.
2813
2814         * platform/blackberry/RenderThemeBlackBerry.cpp:
2815         (WebCore):
2816         (WebCore::createLinearGradient):
2817         (WebCore::RenderThemeBlackBerry::paintSliderTrack):
2818         (WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
2819         (WebCore::RenderThemeBlackBerry::paintProgressBar):
2820         * platform/blackberry/RenderThemeBlackBerry.h:
2821         (RenderThemeBlackBerry):
2822
2823 2013-05-06  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2824
2825         [texmap] draw content if graphics layer displays a video
2826         https://bugs.webkit.org/show_bug.cgi?id=114742
2827
2828         Reviewed by Noam Rosenthal.
2829
2830         Bug #86410 focuses on having composited/accelerated video using the
2831         TextureMapper. But the video is not rendered fast by using the
2832         repaint() method. In the case of the TextureMapper it is required to
2833         call a content display as fast as possible.
2834
2835         This patch adds the class TextureMapperPlatformLayer::Client with the
2836         method setLayerNeedsDisplay(). The GraphicsLayerTextureMapper
2837         implements this new class and the new method calls
2838         setContentsNeedsDisplay(), causing a faster content display when
2839         requested.
2840
2841         No new tests. Covered by existing tests.
2842
2843         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2844         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia): sets itself
2845         as the TextureMapperPlatformLayer's client
2846         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2847         (WebCore::GraphicsLayerTextureMapper::setLayerNeedsDisplay):
2848         TextureMapperPlatformLayer::Client::setLayerNeedsDisplay implementation
2849         (GraphicsLayerTextureMapper):
2850         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
2851         (Client): New class
2852         (WebCore::TextureMapperPlatformLayer::TextureMapperPlatformLayer):
2853         (WebCore::TextureMapperPlatformLayer::setClient): client setter
2854         (WebCore::TextureMapperPlatformLayer::setLayerNeedsDisplay): facade
2855         for client's method
2856
2857 2013-05-02  David Hyatt  <hyatt@apple.com>
2858
2859         Improve the performance of RenderDeprecatedFlexibleBox.
2860         https://bugs.webkit.org/show_bug.cgi?id=115543.
2861
2862         Optimize deprecated flexible box layout to be much faster. This patch implements
2863         the following optimizations in the deprecated flexible box:
2864         
2865         (1) Defer repainting of children until they have been placed into their final
2866         positions. This is done by collecting all of the old frame rects into a Vector
2867         and then doing a walk after layout is finished to repaint any of the children if
2868         they moved from that position. This code matches the new RenderFlexibleBox's system
2869         for repainting moved children.
2870         
2871         (2) Implement support for layout deltas. We keep a Vector of layout deltas for each
2872         child as we shift them around, and every time we lay a child out again, we apply that
2873         child's current layout delta to avoid repainting at the new position. RenderFlexibleBox
2874         does not have support for layout deltas yet, so we'll need to implement this in the
2875         new flexbox code as well.
2876         
2877         (3) Optimize flexible objects to avoid laying them out unflexed. When laying out
2878         horizontal and vertical boxes now, we lay out the inflexible items first. We then
2879         check to see if the inflexible extent of all those children has changed.
2880         
2881         If this extent didn't change, and the flexible items either don't need layout or there
2882         is only one flexing item, then we avoid laying out the item in an unflexed state
2883         and simply lay out one time with the flex applied instead. The new RenderFlexibleBox
2884         does not have these optimizations and would benefit from them in the block-direction box
2885         case (it uses preferred logical widths in the inline-direction box case, and so avoided
2886         layouts in that direction already).
2887         
2888         Reviewed by Beth Dakin.
2889
2890         * rendering/RenderDeprecatedFlexibleBox.cpp:
2891         (WebCore::appendChildFrameRects):
2892         Cache all of the old child frame rects so that we can compare them with the final
2893         positions for repaintDuringLayoutIfMoved. This collection is identical to what the
2894         new flexbox code does.
2895         
2896         (WebCore::appendChildLayoutDeltas):
2897         Build up a vector that tracks layout deltas. We apply these layout deltas every
2898         time we lay out a child so that any repainting done during layout ignores our shifted
2899         position and just keeps using the old position. The new flexbox does not have this
2900         code yet.
2901
2902         (WebCore::repaintChildrenDuringLayoutIfMoved):
2903         After final placement of children, we do a single pass over all of the children and
2904         repaint them if they shifted their positions. This matches how the new flexbox works.
2905         
2906         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2907         Collect the frame rects and layout deltas, and defer repainting of children to the
2908         end of layout.
2909         
2910         (WebCore::gatherFlexChildrenInfo):
2911         Don't clear flex overrides when gathering flex information. Add additional information
2912         such as the number of flexing items so that we can use it to optimize flex layout.
2913         
2914         (WebCore::layoutChildIfNeededApplyingDelta):
2915         A helper for applying your current layout delta for a child when laying that child out.
2916         
2917         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2918         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2919         Both methods are patched to aggregate layout deltas as children move around during
2920         the multiple passes. In addition we now optimize layout in a couple of cases, such
2921         as when the inflexible space stays the same (thus giving a flexible object the
2922         same amount of available space, avoiding a need to lay out unflexed first).
2923         
2924         (WebCore::RenderDeprecatedFlexibleBox::placeChild):
2925         Patched to add to our cached layout delta for that child when we do a movement.
2926
2927         * rendering/RenderDeprecatedFlexibleBox.h:
2928         Changes to method signatures.
2929
2930 2013-05-04  Andy Estes  <aestes@apple.com>
2931
2932         REGRESSION (r125592): Reproducible crash in DOMWindow::open when a delegate closes the new window in decidePolicyForNavigationAction
2933         https://bugs.webkit.org/show_bug.cgi?id=115609
2934
2935         Reviewed by Oliver Hunt.
2936
2937         When a window created by window.open() is navigated, the embedder might
2938         close it in decidePolicyForNavigationAction. If this happens, we end up
2939         with a pointer to a deleted Frame.
2940
2941         Fix this by keeping a strong reference to the Frame created by
2942         createWindow(). We can later determine if the window was closed by
2943         checking if the new Frame has a detached Page.
2944
2945         Added an API test: WebKit1.CloseNewWindowInNavigationPolicyDelegate.
2946
2947         * page/DOMWindow.cpp:
2948         (WebCore::DOMWindow::createWindow):
2949
2950 2013-05-06  Zan Dobersek  <zdobersek@igalia.com>
2951
2952         [GTK] Move GeolocationProviderGeoclue into libPlatform
2953         https://bugs.webkit.org/show_bug.cgi?id=115591
2954
2955         Reviewed by Martin Robinson.
2956
2957         No new tests - no new functionality.
2958
2959         * GNUmakefile.am: Remove the Source/WebCore/platform/geoclue directory from the webkitgtk_cppflags list.
2960         * GNUmakefile.list.am: Move the GeolocationProviderGeoclue(Client) sources under platform_sources.
2961
2962 2013-05-06  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2963
2964         [Qt][Win] Unreviewed buildfix after r149579.
2965
2966         * plugins/win/PluginDatabaseWin.cpp:
2967         (WebCore::addQtWebKitPluginPath):
2968
2969 2013-05-06  Antoine Quint  <graouts@apple.com>
2970
2971         Manage the presentation of the snapshotted plug-in using JavaScript
2972         https://bugs.webkit.org/show_bug.cgi?id=115548
2973
2974         Reviewed by Dean Jackson.
2975
2976         * Resources/plugIns.js:
2977         (createOverlay):
2978         Implement the createOverlay(shadowRoot, titleText, subtitleText) method
2979         that is called from WebCore (HTMLPlugInImageElement::didAddUserAgentShadowRoot)
2980         to allow the injected script to customize the shadow root for a snapshotted
2981         plug-in. This is a default implementation, clients are expected to customize
2982         this by providing their own JS file with enhanced behavior.
2983
2984         * css/CSSDefaultStyleSheets.cpp:
2985         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2986         Since we no longer have a default shadow tree generated in C++, it makes little
2987         sense for clients to extend the default snapshotted plug-in stylesheet, so we
2988         only insert it if no custom one is provided by the chrome client.
2989
2990         * css/plugIns.css:
2991         Better styling of the default snapshotted plug-in overlay look by using CSS
2992         flex boxes. Also using more explicit selector as an optimization.
2993
2994         * dom/Document.cpp:
2995         (WebCore::Document::ensurePlugInsInjectedScript):
2996         Expose a new method to allow HTMLPlugInImageElement instances to ensure that
2997         the JavaScript code required to customize the snapshotted plug-in's shadow root
2998         is indeed injected in the current document. The actual injection would only
2999         happen once per document so all snapshotted plug-ins share the same scripting
3000         context.
3001
3002         * dom/Document.h:
3003         Expose the new ensurePlugInsInjectedScript method and the m_hasInjectedPlugInsScript
3004         property used to ensure injection happens only once per document.
3005
3006         * html/HTMLPlugInImageElement.cpp:
3007         (WebCore::titleText):
3008         (WebCore::subtitleText):
3009         Store the localized strings for each mime-type in a static hash map as it can be
3010         costly to retrieve them each time from the client. It is expected the chrome client
3011         will want to provide localized strings taking into account the snapshotted plug-in's
3012         mime-type, so we're adding this as a parameter.
3013         (WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
3014         Dispatch a "resize" event to the shadow root to notify the injected script that the
3015         snapshotted plug-in's metrics have changed and to allow the overlay to update itself
3016         as a result.
3017         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3018         Remove all the DOM generation code in favor of an approach where we create a shared
3019         DOM scripting world in which we inject JavaScript code that will perform the same
3020         task but will additionally be provided by the client in order to provide a completely
3021         custom overlay for the snapshotted plug-in. The sole contract is for the JavaScript
3022         to implement a createOverlay(shadowRoot, titleText, subtitleText) method.
3023         (WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay):
3024         Renamed method to be generic to the overlay as opposed to text labels and use the
3025         element with CSS class name "snapshot-overlay" as the comparison node.
3026
3027         * html/HTMLPlugInImageElement.h:
3028         (HTMLPlugInImageElement):
3029         Removing a couple of unused members since we no longer generate the shadow DOM from C++
3030         and rename the partOfSnapshotLabel method to partOfSnapshotOverlay.
3031
3032         * page/ChromeClient.h:
3033         (WebCore::ChromeClient::plugInStartLabelTitle):
3034         (WebCore::ChromeClient::plugInStartLabelSubtitle):
3035         (WebCore::ChromeClient::plugInExtraScript):
3036         Pass in the mime-type to plugInStartLabelTitle and plugInStartLabelSubtitle and expose
3037         a new plugInExtraScript method to allow the chrome client to provide a custom JS file
3038         for the management of the shadow root.
3039
3040         * rendering/RenderSnapshottedPlugIn.cpp:
3041         (WebCore::RenderSnapshottedPlugIn::handleEvent):
3042         Update the terminology from "label" to "overlay" per the changes made in HTMLPlugInImageElement.
3043
3044 2013-05-06  Robert Hogan  <robert@webkit.org>
3045
3046         REGRESSION(r140907) - Backport blink r149612 to fix vertical-align and rowspan issue
3047         https://bugs.webkit.org/show_bug.cgi?id=115611
3048
3049         Patch by Julien Chaffraix.
3050         Reviewed by Benjamin Poulain.
3051
3052         Backport phttps://src.chromium.org/viewvc/blink?view=rev&revision=149612 from 
3053         https://chromiumcodereview.appspot.com/14105010
3054         
3055         Fix the rows' height computation with vertical-align: baseline and rowspan.
3056         r140907 was careful in avoiding updating the baseline descent for
3057         spanning cells. However it still added the non-spanning cells baseline
3058         descent to the spanning cells' row height computation.
3059         This change avoids the previous issue by not adding the baseline
3060         descent in this case.
3061
3062         Test: fast/table/baseline-align-rowspan.html
3063
3064         * rendering/RenderTableSection.cpp:
3065         (WebCore::RenderTableSection::calcRowLogicalHeight):
3066
3067 2013-05-05  Anders Carlsson  <andersca@apple.com>
3068
3069         Remove Vector::prepend
3070         https://bugs.webkit.org/show_bug.cgi?id=115618
3071
3072         Reviewed by Geoffrey Garen.
3073
3074         Replace calls to Vector::prepend with either Vector::insert,
3075         or a combination of Vector::append and Vector::reverse.
3076
3077         * accessibility/AccessibilityObject.cpp:
3078         (WebCore::AccessibilityObject::scrollToGlobalPoint):
3079         * css/CSSGradientValue.cpp:
3080         (WebCore::CSSGradientValue::addStops):
3081         * css/CSSValueList.h:
3082         (WebCore::CSSValueList::prepend):
3083         * dom/Document.cpp:
3084         (WebCore::Document::iconURLs):
3085         * editing/TextIterator.cpp:
3086         (WebCore::SearchBuffer::prependContext):
3087         * editing/VisibleUnits.cpp:
3088         (WebCore::previousBoundary):
3089         (WebCore::nextBoundary):
3090         * history/HistoryItem.cpp:
3091         (WebCore::HistoryItem::padDailyCountsForNewVisit):
3092         (WebCore::HistoryItem::collapseDailyVisitsToWeekly):
3093         * inspector/InjectedScriptHost.cpp:
3094         (WebCore::InjectedScriptHost::addInspectedObject):
3095         * platform/graphics/SVGGlyph.cpp:
3096         (WebCore::charactersWithArabicForm):
3097
3098 2013-05-05  Sam Weinig  <sam@webkit.org>
3099
3100         Remove empty function SQLiteFileSystem::registerSQLiteVFS() and its callers
3101         https://bugs.webkit.org/show_bug.cgi?id=115619
3102
3103         Reviewed by Dan Bernstein.
3104
3105         * Modules/webdatabase/DatabaseTracker.cpp:
3106         * platform/sql/SQLiteFileSystem.cpp:
3107         * platform/sql/SQLiteFileSystem.h:
3108         * storage/StorageTracker.cpp:
3109
3110 2013-05-05  Chris Fleizach  <cfleizach@apple.com>
3111
3112         AX: aria-checked not exposed correctly on menuitemcheckbox or menuitemradio roles
3113         https://bugs.webkit.org/show_bug.cgi?id=115499
3114
3115         Reviewed by Tim Horton.
3116
3117         Expose isChecked() for menu item objects.
3118         Return the Mac-platform specific value that you find on menu items for "checked" menu items.
3119
3120         Test: platform/mac/accessibility/aria-menuitem-checked-value.html
3121
3122         * accessibility/AccessibilityNodeObject.cpp:
3123         (WebCore::AccessibilityNodeObject::isChecked):
3124         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3125         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3126
3127 2013-05-05  Tim Horton  <timothy_horton@apple.com>
3128
3129         [wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
3130         https://bugs.webkit.org/show_bug.cgi?id=115577
3131         <rdar://problem/13762583>
3132
3133         Reviewed by Darin Adler.
3134
3135         * WebCore.exp.in:
3136         Export GraphicsLayer::noteDeviceOrPageScaleFactorChangedIncludingDescendants
3137
3138 2013-05-05  Anders Carlsson  <andersca@apple.com>
3139
3140         Remove the Vector::append overload that takes a Vector
3141         https://bugs.webkit.org/show_bug.cgi?id=115535
3142
3143         Reviewed by Andreas Kling.
3144
3145         Use Vector::appendVector instead.
3146
3147         * Modules/indexeddb/IDBBackingStore.cpp:
3148         (WebCore::IDBBackingStore::putRecord):
3149         (WebCore::IDBBackingStore::putIndexDataForRecord):
3150         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3151         (WebCore::IDBLevelDBCoding::encodeStringWithLength):
3152         (WebCore::IDBLevelDBCoding::encodeIDBKey):
3153         (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
3154         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
3155         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
3156         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
3157         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
3158         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
3159         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
3160         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
3161         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
3162         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
3163         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
3164         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
3165         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
3166         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
3167         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
3168         (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
3169         * Modules/webaudio/AudioContext.cpp:
3170         (WebCore::AudioContext::clear):
3171         (WebCore::AudioContext::scheduleNodeDeletion):
3172         * accessibility/AccessibilityARIAGrid.cpp:
3173         (WebCore::AccessibilityARIAGrid::addTableCellChild):
3174         * accessibility/AccessibilityTable.cpp:
3175         (WebCore::AccessibilityTable::cells):
3176         * css/RuleFeature.cpp:
3177         (WebCore::RuleFeatureSet::add):
3178         * css/StyleResolver.cpp:
3179         (WebCore::StyleResolver::addToMatchedPropertiesCache):
3180         * dom/DocumentStyleSheetCollection.cpp:
3181         (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
3182         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3183         * dom/Range.cpp:
3184         (WebCore::Range::getBorderAndTextQuads):
3185         * html/FormController.cpp:
3186         (WebCore::FormController::getReferencedFilePaths):
3187         * html/canvas/CanvasRenderingContext2D.cpp:
3188         (WebCore::CanvasRenderingContext2D::setLineDash):
3189         * html/parser/HTMLFormattingElementList.cpp:
3190         (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
3191         * html/track/WebVTTToken.h:
3192         (WebCore::WebVTTToken::addNewClass):
3193         (WebCore::WebVTTToken::addNewAnnotation):
3194         * page/CaptionUserPreferencesMac.mm:
3195         (WebCore::CaptionUserPreferencesMac::preferredLanguages):
3196         * platform/FileChooser.cpp:
3197         (WebCore::FileChooserSettings::acceptTypes):
3198         * platform/SharedBufferChunkReader.cpp:
3199         (WebCore::SharedBufferChunkReader::nextChunk):
3200         * platform/graphics/MediaPlayer.cpp:
3201         (WebCore::MediaPlayer::getSitesInMediaCache):
3202         * platform/graphics/ca/GraphicsLayerCA.cpp:
3203         (WebCore::GraphicsLayerCA::updateSublayerList):
3204         * platform/mac/PasteboardMac.mm:
3205         (WebCore::createWritableTypesForImage):
3206         (WebCore::writableTypesForImage):
3207         (WebCore::Pasteboard::writeSelectionForTypes):
3208         * platform/network/FormDataBuilder.cpp:
3209         (WebCore::FormDataBuilder::generateUniqueBoundaryString):
3210         * plugins/PluginDatabase.cpp:
3211         (WebCore::PluginDatabase::defaultPluginDirectories):
3212         * rendering/RenderBlockLineLayout.cpp:
3213         (WebCore::constructBidiRunsForSegment):
3214         * rendering/RenderLayerCompositor.cpp:
3215         (WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
3216         * rendering/RenderTableSection.cpp:
3217         (WebCore::RenderTableSection::splitColumn):
3218         * svg/SVGGlyphMap.h:
3219         (WebCore::SVGGlyphMap::collectGlyphsForString):
3220         * xml/XPathNodeSet.h:
3221         (WebCore::XPath::NodeSet::append):
3222
3223 2013-05-05  Anders Carlsson  <andersca@apple.com>
3224
3225         Try to fix the Windows build.
3226
3227         Make plugIns.js have a non-zero length.
3228
3229         * Resources/plugIns.js:
3230
3231 2013-05-04  Dean Jackson  <dino@apple.com>
3232
3233         Animations and Transitions should not start when globally suspended
3234         https://bugs.webkit.org/show_bug.cgi?id=114915
3235
3236         Reviewed by Sam Weinig.
3237
3238         When the Document's AnimationController was suspended, we still
3239         started new transitions and animations. Change this so that
3240         animations enter a paused-but-new state, where they are frozen
3241         until the AnimationController resumes. At that time, it is as
3242         if they had just appeared: any delay counts down before
3243         the animation starts.
3244
3245         For transitions, the change in value must still happen, but
3246         it does so immediately. No transitionend event should be fired.
3247         This produces a slightly confusing behaviour, because any
3248         in-progress transitions are suspended, but any new style changes
3249         happen instantly. This might sound contradictory, but in general
3250         suspending the document is a rare (and dangerous) thing to do.
3251
3252         Previously, the Document would call resumeAnimations as it loaded,
3253         effectively starting all the animations. This meant if you suspended
3254         animations before loading a document, it was ignored as soon as the
3255         load finished. Now there is a separate method startAnimationsIfNotSuspended
3256         which checks to see if the document is suspended as it loads.
3257
3258         In order to handle this case, I added a new state to the Animation
3259         machinery: AnimationStatePausedNew. This is an animation that was created
3260         in the suspended state.
3261
3262         Tests: animations/added-while-suspended.html
3263                transitions/started-while-suspended.html
3264
3265         * WebCore.exp.in: Export AnimationController::isSuspended().
3266
3267         * dom/Document.cpp:
3268         (WebCore::Document::implicitClose):
3269             resumeAnimationsForDocument() -> startAnimationsIfNotSuspended()
3270
3271         * page/animation/AnimationBase.cpp:
3272         (WebCore::nameForState): New name for AnimationStatePausedNew.
3273         (WebCore::AnimationBase::updateStateMachine): Handle new state AnimationStatePausedNew. The
3274             most important change is that when go from PausedNew to Running, we jump back into
3275             the New state and continue from there.
3276         (WebCore::AnimationBase::updatePlayState): suspended -> isSuspended
3277         * page/animation/AnimationBase.h: New state: AnimationStatePausedNew
3278         (WebCore::AnimationBase::waitingToStart): Add AnimationStatePausedNew.
3279         (WebCore::AnimationBase::paused): Add AnimationStatePausedNew.
3280         (WebCore::AnimationBase::isNew): Add AnimationStatePausedNew.
3281
3282         * page/animation/AnimationController.cpp:
3283         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialise m_suspended.
3284         (WebCore::AnimationControllerPrivate::clear): suspended -> isSuspended
3285         (WebCore::AnimationControllerPrivate::updateAnimations): Ditto.
3286         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer): Ditto.
3287         (WebCore::AnimationControllerPrivate::suspendAnimations): Update m_suspended.
3288         (WebCore::AnimationControllerPrivate::resumeAnimations): Ditto.
3289         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
3290         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
3291         (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): New method that will
3292             only resume animations if we were not globally suspended.
3293         (WebCore::AnimationController::isSuspended): New method.
3294         (WebCore::AnimationController::suspendAnimations): Add logging.
3295         (WebCore::AnimationController::resumeAnimations): Add logging.
3296         (WebCore::AnimationController::suspendAnimationsForDocument): Add logging.
3297         (WebCore::AnimationController::resumeAnimationsForDocument): Add logging.
3298         (WebCore::AnimationController::startAnimationsIfNotSuspended): Calls private method.
3299         * page/animation/AnimationController.h:
3300         (AnimationController): Add isSuspended() and animationsForDocumentMayStart().
3301         * page/animation/AnimationControllerPrivate.h:
3302         (WebCore::AnimationControllerPrivate::isSuspended): New method.
3303         (AnimationControllerPrivate): Add m_isSuspended member.
3304
3305         * page/animation/CompositeAnimation.cpp:
3306         (WebCore::CompositeAnimation::CompositeAnimation): Moved from header - initialise m_isSuspended.
3307         (WebCore::CompositeAnimation::updateTransitions): Do not create ImplicitAnimation if suspended.
3308         (WebCore::CompositeAnimation::updateKeyframeAnimations): Move to AnimationStatePausedNew if suspended.
3309         (WebCore::CompositeAnimation::suspendAnimations): m_suspended -> m_isSuspended
3310         (WebCore::CompositeAnimation::resumeAnimations): Ditto.
3311         * page/animation/CompositeAnimation.h:
3312         (WebCore::CompositeAnimation::isSuspended): Renamed from suspended()
3313
3314         * page/animation/KeyframeAnimation.cpp:
3315         (WebCore::KeyframeAnimation::animate): If we're in the AnimationStatePausedNew state, then
3316             we need to go to the first frame (to handle fill mode).
3317
3318         * testing/Internals.cpp:
3319         (WebCore::Internals::animationsAreSuspended): New exposed method to reflect AnimationController.
3320         * testing/Internals.h: Add animationsAreSuspended.
3321         * testing/Internals.idl: Ditto.
3322
3323 2013-05-04  Sam Weinig  <sam@webkit.org>
3324
3325         Move PopupMenuMac and SearchPopupMenuMac to Source/WebKit/mac
3326         matching where they are in WebKit2.
3327
3328         Reviewed by Anders Carlsson.
3329
3330         * WebCore.exp.in:
3331         * WebCore.xcodeproj/project.pbxproj:
3332         * platform/mac/PopupMenuMac.h: Removed.
3333         * platform/mac/PopupMenuMac.mm: Removed.
3334         * platform/mac/SearchPopupMenuMac.h: Removed.
3335         * platform/mac/SearchPopupMenuMac.mm: Removed.
3336
3337 2013-05-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3338
3339         Get rid of special cases in AddIncludesForTypeInImpl
3340         https://bugs.webkit.org/show_bug.cgi?id=115602
3341
3342         Reviewed by Benjamin Poulain.
3343
3344         Get rid of the special cases in AddIncludesForTypeInImpl subroutine in the
3345         JS bindings generator. Those are no longer needed and special cases should
3346         be avoided in the generator.
3347
3348         No new tests, no behavior change.
3349
3350         * bindings/scripts/CodeGeneratorJS.pm:
3351         (AddIncludesForTypeInImpl):
3352
3353 2013-05-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3354
3355         Get rid of AddIncludesForSVGAnimatedType in bindings generator
3356         https://bugs.webkit.org/show_bug.cgi?id=115603
3357
3358         Reviewed by Benjamin Poulain.
3359
3360         Remove AddIncludesForSVGAnimatedType subroutine from the bindings generator
3361         as it is a special case which is no longer needed.
3362
3363         No new tests, no behavior change.
3364
3365         * bindings/scripts/CodeGeneratorJS.pm:
3366         (GenerateImplementation):
3367
3368 2013-05-04  Antoine Quint  <graouts@apple.com>
3369
3370         Update code generators to handle a new JavaScript file for snapshotted plug-ins
3371         https://bugs.webkit.org/show_bug.cgi?id=115596
3372
3373         Reviewed by Dean Jackson.
3374
3375         In preparation for https://webkit.org/b/115548, adding a new JS file at
3376         Resources/plugIns.js that we will use to provide presentation for the
3377         snapshotted plug-ins overlay.
3378
3379         * CMakeLists.txt:
3380         * DerivedSources.cpp:
3381         * DerivedSources.make:
3382         * DerivedSources.pri:
3383         * GNUmakefile.am:
3384         * GNUmakefile.list.am:
3385         * Resources/plugIns.js: Added.
3386         * WebCore.vcproj/WebCore.vcproj:
3387         * WebCore.vcxproj/WebCore.vcxproj:
3388         * WebCore.vcxproj/WebCore.vcxproj.filters:
3389         * WebCore.xcodeproj/project.pbxproj:
3390
3391 2013-05-04  Andreas Kling  <akling@apple.com>
3392
3393         REGRESSION(r142647): Flaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
3394         <http://webkit.org/b/115322>
3395         <rdar://problem/13810719>
3396
3397         Reviewed by Anders Carlsson.
3398
3399         Don't cache the FrameView::renderView() in a local since updating Widgets may blow it away.
3400
3401         * page/FrameView.cpp:
3402         (WebCore::FrameView::performPostLayoutTasks):
3403
3404 2013-05-04  Andreas Kling  <akling@apple.com>
3405
3406         Remove GraphicsContext::strokeArc(), which is unused.
3407
3408         From Blink r149608 by <jbroman@chromium.org>
3409         <http://src.chromium.org/viewvc/blink?view=revision&revision=149608>
3410
3411         This is no longer used since almost a year ago, when HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) was inlined.
3412
3413         * platform/graphics/GraphicsContext.h:
3414         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
3415         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3416         * platform/graphics/cg/GraphicsContextCG.cpp:
3417         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3418
3419 2013-05-04  Andreas Kling  <akling@apple.com>
3420
3421         Remove unused CSSSelector::isCustomPseudoType().
3422
3423         From Blink r149574 by <dominicc@chromium.org>
3424         <http://src.chromium.org/viewvc/blink?view=revision&revision=149574>
3425
3426         * css/CSSSelector.h:
3427         * css/CSSSelector.cpp:
3428
3429 2013-05-04  Andreas Kling  <akling@apple.com>
3430
3431         Remove ShadowRoot's previous/next ShadowRoot pointers.
3432         <http://webkit.org/b/115588>
3433
3434         Reviewed by Anders Carlsson.
3435
3436         ShadowRoot no longer inherits from DoublyLinkedListNode<ShadowRoot> because that code wasn't
3437         doing anything anymore. Shrinks ShadowRoot by two pointers.
3438
3439         * dom/ElementShadow.h:
3440         * dom/ShadowRoot.cpp:
3441         (SameSizeAsShadowRoot):
3442         (WebCore::ShadowRoot::ShadowRoot):
3443         (WebCore::ShadowRoot::~ShadowRoot):
3444         * dom/ShadowRoot.h:
3445
3446 2013-05-04  Andreas Kling  <akling@apple.com>
3447
3448         RenderObject: don't change GraphicsContext state when not drawing dashed/dotted lines.
3449
3450         From Blink r149546 by <jbroman@chromium.org>
3451         <http://src.chromium.org/viewvc/blink?view=revision&revision=149546>
3452
3453         Previously, there was asymmetry between changing and restoring state (certain state
3454         would be restored only if thickness was positive, i.e. a line was actually drawn.)
3455
3456         * rendering/RenderObject.cpp:
3457         (WebCore::RenderObject::drawLineForBoxSide):
3458
3459 2013-05-03  Andreas Kling  <akling@apple.com>
3460
3461         Remove CSS selector profiler branches from ElementRuleCollector loop.
3462         <http://webkit.org/b/115581>
3463
3464         Reviewed by Antti Koivisto.