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