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