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