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