8b3ddd1ecd0935dd5c8597d6baab3045a955f62b
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-05-14  Daker Fernandes Pinheiro  <daker.pinheiro@openbossa.org>
2
3         Remove RenderTheme::supportsCalendarPicker
4         https://bugs.webkit.org/show_bug.cgi?id=116068
5
6         Reviewed by Benjamin Poulain.
7
8         No new tests needed because it doesn't affect behaviour.
9
10         This method was never overrided by any platform
11         and always leaded to the same behaviour.
12         The code which depended on it was also removed.
13
14         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
15         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
16         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updatePickerIndicatorVisibility):
17         * html/BaseMultipleFieldsDateAndTimeInputType.h:
18         (BaseMultipleFieldsDateAndTimeInputType):
19         * page/ChromeClient.h:
20         (ChromeClient):
21         * rendering/RenderTheme.h:
22
23 2013-04-30  Balazs Kelemen  <b.kelemen@sisa.samsung.com>
24
25         [GStreamer] cannot seek after video finished
26         https://bugs.webkit.org/show_bug.cgi?id=114044
27
28         Reviewed by Philippe Normand.
29
30         Test: media/video-seek-after-end.html
31
32         Reland without wrong assertion. If seek is called after didEnd the pipeline
33         state will not be in GST_STATE_NULL yet but it is not a problem because we handle that.
34
35         Rework the seeking logic to be able to seek after reseting the pipeline.
36         In addition to solve the actual problem this patch supposed to make seeking
37         more robust and correct.
38         The previous implementation tried to hide the complexity of asynchronous operations
39         on the pipeline. It did not handle the GST_MESSAGE_ASYNC_DONE message from the bus
40         but instead reported the seek as finished when it saw an asynchronous pending state
41         (GST_STATE_CHANGE_ASYNC) which could happen way before the seek is really done.
42         Now we pay attention to the GST_MESSAGE_ASYNC_DONE message to track the status of seeks.
43         Seeks are not the only operations executed asynchronously, changing the pipeling state is
44         similar. It means a seek can overlap with onother ongoing asynchronous operation.
45         This change address this by introducing an invariant for seeks, which is that we only request
46         a seek if there are no other ongoing asynchronous operations and the pipeline state is either
47         paused or playing (which is recommended anyway according to GStreamer's documentation).
48         This way we can be sure that the time when we get the next GST_MESSAGE_ASYNC_DONE message the
49         seek has been completed.
50
51         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
52         (WebCore::toGstClockTime): Factored time conversation into a helper.
53         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
54
55         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): The position might not be available
56         if the pipeline still has a pending state. As a workaround, if we are right after a seek we can
57         use the seek time. Avoiding this situation would be possible by not allowing any asynchronous
58         operation to overlap. I believe it would add a lot more complexity so I decided to rather introduce
59         this workaround. Otherwise those overlapping operations are handled fine by GStreamer.
60
61         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Do not reset internal state variables.
62         This function called when there is an intent to restart playback but it does not actually restart it.
63         (WebCore::MediaPlayerPrivateGStreamer::currentTime): Just removed a staling newline.
64         (WebCore::MediaPlayerPrivateGStreamer::seek): Take a look to the pipeline state and act upon that.
65         If there is an ongoing asynchronous operation make the seek pending, otherwise do it now.
66         Now we handle overlapping seeks as well because I saw that it can happen in some tests.
67         Added an early return for live streams as it doesn't makes sense to try seeking in them.
68
69         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Handle GST_MESSAGE_ASYNC_DONE and some refactoring.
70         (WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
71         (WebCore::MediaPlayerPrivateGStreamer::updateStates): Only handle seeks in the pending case, the rest is
72         now handled in asyncStateChangeDone.
73         (WebCore::MediaPlayerPrivateGStreamer::cacheDuration): Do not reset the m_mediaDurationKnown if the pipeline
74         has an asynchronous pending state because it would fail. It does actually happen when we get a duration message
75         after restarting the pipeline and it would result in restarting playback from the start. It seems to be a bug
76         in GStreamer that it sends the duration message too early. Also sanitized this function by merging redundant branches.
77         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
78         (MediaPlayerPrivateGStreamer):
79
80 2013-05-14  Zalan Bujtas  <zalan@apple.com>
81
82         Ellipsis text is placed to wrong position, when the truncated text is fully cut off in RTL direction.
83         https://bugs.webkit.org/show_bug.cgi?id=115858
84
85         Reviewed by Darin Adler.
86
87         Take text direction into account to calculate ellipsis position in case of
88         full truncation.
89
90         Test: fast/css/text-overflow-ellipsis-full-truncate-rtl.html
91
92         * rendering/InlineTextBox.cpp:
93         (WebCore::InlineTextBox::placeEllipsisBox):
94
95 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
96
97         [BlackBerry] Implement platform strategies
98         https://bugs.webkit.org/show_bug.cgi?id=112162
99
100         Reviewed by Rob Buis.
101
102         This is just a refactoring, covered by existing tests.
103
104         * CMakeLists.txt: Move PlatformStrategies.cpp from platform
105         specific makefiles to the global one now that all platforms using
106         cmake implement platform strategies.
107         * PlatformBlackBerry.cmake:
108         * PlatformEfl.cmake:
109         * PlatformWinCE.cmake:
110         * loader/CookieJar.cpp: Remove the preprocessor error that is not
111         needed anymore.
112         * loader/blackberry/CookieJarBlackBerry.cpp: Removed.
113         * platform/network/blackberry/CookieJarBlackBerry.cpp: Added.
114         (WebCore):
115         (WebCore::setCookiesFromDOM):
116         (WebCore::cookiesForDOM):
117         (WebCore::cookieRequestHeaderFieldValue):
118         (WebCore::cookiesEnabled):
119         (WebCore::getRawCookies):
120         (WebCore::deleteCookie):
121         (WebCore::getHostnamesWithCookies):
122         (WebCore::deleteCookiesForHostname):
123         (WebCore::deleteAllCookies):
124         * plugins/blackberry/PluginDataBlackBerry.cpp: Removed.
125
126 2013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
127
128         [Qt] Fix a crash under ~PingLoader when the QNAM on the page has been destroyed.
129         https://bugs.webkit.org/show_bug.cgi?id=116035
130
131         Reviewed by Simon Hausmann.
132
133         Reproduced with arora which does destroy the QNetworkAccessManager in some situations.
134         The problem is that PingLoader can still be pending meanwhile, holding a ResourceHandle
135         with a dangling pointer to a QNetworkReply destroyed with the QNetworkAccessManager.
136
137         * platform/network/qt/QNetworkReplyHandler.cpp:
138         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
139           Set the parent to 0 like we did before the introduction of QNetworkReplyWrapper.
140         (WebCore::QNetworkReplyWrapper::release):
141
142 2013-05-13  Eric Carlson  <eric.carlson@apple.com>
143
144         [Mac] update in-band caption attributes
145         https://bugs.webkit.org/show_bug.cgi?id=116057
146
147         Reviewed by Dean Jackson.
148
149         * html/track/InbandTextTrack.cpp:
150         (WebCore::InbandTextTrack::updateCueFromCueData): Copy highlight color.
151
152         * html/track/TextTrackCueGeneric.cpp:
153         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): "highlight" color sets the cue
154             background, "background" color sets the cue container background.
155         * html/track/TextTrackCueGeneric.h:
156
157         * platform/graphics/InbandTextTrackPrivateClient.h:
158
159         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
160         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Process "highlight" color.
161
162 2013-05-13  David Kilzer  <ddkilzer@apple.com>
163
164         BUILD FIX (r150049): Fix RetainPtr<> type in PasteboardIOS.mm
165
166         * platform/ios/PasteboardIOS.mm:
167         (WebCore::Pasteboard::writeImage): Use RetainPtr<CFStringRef>
168         instead of RetainPtr<NSString>.
169
170 2013-05-13  Benjamin Poulain  <bpoulain@apple.com>
171
172         Remove platform/graphic's Generator
173         https://bugs.webkit.org/show_bug.cgi?id=116084
174
175         Reviewed by Darin Adler.
176
177         The Generator no longer abstract anything useful, its only
178         implementation is Gradient.
179
180         * GNUmakefile.list.am:
181         * WebCore.exp.in:
182         * WebCore.vcproj/WebCore.vcproj:
183         * WebCore.vcxproj/WebCore.vcxproj:
184         * WebCore.vcxproj/WebCore.vcxproj.filters:
185         * WebCore.xcodeproj/project.pbxproj:
186         * platform/graphics/GeneratedImage.h:
187         * platform/graphics/Generator.h: Removed.
188         * platform/graphics/GeneratorGeneratedImage.cpp:
189         (WebCore::GeneratorGeneratedImage::draw):
190         (WebCore::GeneratorGeneratedImage::drawPattern):
191         * platform/graphics/GeneratorGeneratedImage.h:
192         (WebCore::GeneratorGeneratedImage::create):
193         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
194         (GeneratorGeneratedImage):
195         * platform/graphics/Gradient.h:
196         (WebCore):
197         (Gradient):
198         * platform/graphics/GraphicsContext.cpp:
199         (WebCore::GraphicsContext::fillRect):
200         * platform/graphics/GraphicsContext.h:
201         (WebCore):
202         (GraphicsContext):
203
204 2013-05-13  David Kilzer  <ddkilzer@apple.com>
205
206         Upstream iOS Clipboard and Pasteboard changes
207         <http://webkit.org/b/116062>
208
209         Reviewed by Darin Adler.
210
211         * WebCore.xcodeproj/project.pbxproj:
212         * dom/Clipboard.h:
213         * platform/Pasteboard.h:
214         * platform/ios/ClipboardIOS.h: Added.
215         * platform/ios/ClipboardIOS.mm: Added.
216         * platform/ios/PasteboardIOS.mm: Added.
217
218 2013-05-13  Huang Dongsung  <luxtella@company100.net>
219
220         [Mac] Use pageScaleFactor * deviceScaleFactor in requiresTiledLayer() and computePixelAlignment() of GraphicsLayerCA.
221         https://bugs.webkit.org/show_bug.cgi?id=107359
222
223         Reviewed by Darin Adler.
224
225         Currently GraphicsLayerCA uses pageScaleFactor in requiresTiledLayer() and
226         computePixelAlignment(), but we must use pageScaleFactor * deviceScaleFactor in
227         them.
228         It is because:
229         1. requiresTiledLayer() uses the scale to compute an actual layer size in the device
230         pixel unit.
231         2. computePixelAlignment() uses the scale to compute an aligned layer position
232         in the device pixel unit.
233
234         No new tests. We can not test about requiresTiledLayer() because it depends on
235         gpu. computePixelAlignment() is correct now because fortunately Mac uses
236         only 2 (for retina display) as a deviceScaleFactor.
237
238         * platform/graphics/ca/GraphicsLayerCA.cpp:
239         (WebCore::GraphicsLayerCA::requiresTiledLayer):
240         (WebCore::GraphicsLayerCA::computePixelAlignment):
241
242 2013-05-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
243
244         Rename BarInfo to BarProp and remove [NoInterfaceObject]
245         https://bugs.webkit.org/show_bug.cgi?id=116027
246
247         Reviewed by Andreas Kling.
248
249         Rename BarInfo to BarProp and remove [NoInterfaceObject] extended attribute from
250         the IDL interface to match the specification:
251         http://www.w3.org/html/wg/drafts/html/master/browsers.html#barprop
252
253         The new behavior also matches Firefox and Blink.
254
255         No new tests, covered by LayoutTests/fast/js/global-constructors-attributes.html.
256
257         * CMakeLists.txt:
258         * DerivedSources.cpp:
259         * DerivedSources.make:
260         * DerivedSources.pri:
261         * GNUmakefile.list.am:
262         * Target.pri:
263         * WebCore.order:
264         * WebCore.vcproj/WebCore.vcproj:
265         * WebCore.vcxproj/WebCore.vcxproj:
266         * WebCore.vcxproj/WebCore.vcxproj.filters:
267         * WebCore.xcodeproj/project.pbxproj:
268         * bindings/gobject/GNUmakefile.am:
269         * page/BarProp.cpp: Renamed from Source/WebCore/page/BarInfo.cpp.
270         * page/BarProp.h: Renamed from Source/WebCore/page/BarInfo.h.
271         * page/BarProp.idl: Renamed from Source/WebCore/page/BarInfo.idl.
272         * page/DOMWindow.cpp:
273         * page/DOMWindow.h:
274         * page/DOMWindow.idl:
275
276 2013-05-13  Anders Carlsson  <andersca@apple.com>
277
278         Remove ChromeClient::willPopupMenu
279         https://bugs.webkit.org/show_bug.cgi?id=116063
280
281         Reviewed by Andreas Kling.
282
283         Remove ChromeClient::willPopupMenu.
284
285         * page/ChromeClient.h:
286
287 2013-05-13  Beth Dakin  <bdakin@apple.com>
288
289         Headers and footers should be pinned to the left edge of the window when scrolling 
290         horizontally
291         https://bugs.webkit.org/show_bug.cgi?id=116061
292         -and corresponding-
293         <rdar://problem/13599215>
294
295         Reviewed by Simon Fraser.
296
297         The scrolling thread will need to know about the header and footer layers in order 
298         the implement this custom scrolling behavior. 
299
300         These getters will fetch the header or footer layer from the FrameView as 
301         appropriate.
302         * page/scrolling/ScrollingCoordinator.cpp:
303         (WebCore::ScrollingCoordinator::headerLayerForFrameView):
304         (WebCore::ScrollingCoordinator::footerLayerForFrameView):
305         * page/scrolling/ScrollingCoordinator.h:
306
307         When we’re scrolling on the main thread, adjust the position of the header and 
308         footer layers here.
309         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
310
311         ScrollingStateScrollingNode now stores GraphicsLayers and PlatformLayers for the 
312         header and footer, just like it already does for the counterScrollingLayer.
313         * page/scrolling/ScrollingStateScrollingNode.cpp:
314         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
315         * page/scrolling/ScrollingStateScrollingNode.h:
316         (ScrollingStateScrollingNode):
317         (WebCore::ScrollingStateScrollingNode::headerLayer):
318         (WebCore::ScrollingStateScrollingNode::footerLayer):
319
320         Setters for the new layers.
321         * page/scrolling/mac/ScrollingCoordinatorMac.h:
322         (ScrollingCoordinatorMac):
323         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
324         (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
325         (WebCore::ScrollingCoordinatorMac::setHeaderLayerForNode):
326         (WebCore::ScrollingCoordinatorMac::setFooterLayerForNode):
327
328         These setters and getters mirror the existing one for counterScrollingLayer.
329         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
330         (WebCore::ScrollingStateScrollingNode::headerPlatformLayer):
331         (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
332         (WebCore::ScrollingStateScrollingNode::footerPlatformLayer):
333         (WebCore::ScrollingStateScrollingNode::setFooterLayer):
334
335         And the ScrollingTree will store CALayers for the header and footer.
336         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
337         (ScrollingTreeScrollingNodeMac):
338         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
339         (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
340
341         This is where the magic happens when we are scrolling on the scrolling thread. 
342         Adjust the horizontal position the behave like a fixed object, but keep the 
343         vertical position what it was when layer was created.
344         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
345
346         RenderLayerCompositor must now provide getters for the header and footer.
347         * rendering/RenderLayerCompositor.h:
348         * rendering/RenderLayerCompositor.cpp:
349         (WebCore::RenderLayerCompositor::headerLayer):
350         (WebCore::RenderLayerCompositor::footerLayer):
351
352         Set the anchor point for when we adjust the position later on. Also call 
353         frameViewRootLayerDidChange() to get the new layers picked up and sent to the 
354         scrolling tree.
355         (WebCore::RenderLayerCompositor::updateLayerForHeader):
356         (WebCore::RenderLayerCompositor::updateLayerForFooter):
357
358 2013-05-12  Timothy Hatcher  <timothy@apple.com>
359
360         Add support for updating the Web Inspector toolbar height.
361
362         https://bugs.webkit.org/show_bug.cgi?id=115996
363
364         Reviewed by Joseph Pecoraro and Benjamin Poulain.
365
366         * inspector/InspectorFrontendClient.h:
367         (InspectorFrontendClient):
368         * inspector/InspectorFrontendHost.cpp:
369         (WebCore::InspectorFrontendHost::setToolbarHeight):
370         * inspector/InspectorFrontendHost.h:
371         (InspectorFrontendHost):
372         * inspector/InspectorFrontendHost.idl:
373         * testing/Internals.cpp:
374
375 2013-05-13  Dean Jackson  <dino@apple.com>
376
377         toDataURL can return an empty image in some cases
378         https://bugs.webkit.org/show_bug.cgi?id=115981
379         <rdar://problem/13760256>
380
381         Reviewed by Darin Adler.
382
383         In some accelerated rendering cases, calling toDataURL on
384         an off-screen canvas produced an empty image. The solution
385         was to force a CGContextFlush before extracting the data
386         for image generation.
387
388         While here, I collected the flushing code from other methods
389         into a single place. Also we were getting into a situation where
390         we called flush two times in a row.
391
392         Test: fast/canvas/toDataURL-not-empty.html
393
394         * platform/graphics/ImageBuffer.h:
395         (ImageBuffer): Define two new methods flushContext and flushContextIfNecessary.
396         * platform/graphics/cg/ImageBufferCG.cpp:
397         (WebCore::ImageBuffer::context): Call flushContextIfNecessary.
398         (WebCore::ImageBuffer::flushContextIfNecessary): Moved the 10.7 code in here.
399         (WebCore::ImageBuffer::flushContext): Calls CGContextFlush.
400         (WebCore::ImageBuffer::getUnmultipliedImageData): Call new helper.
401         (WebCore::ImageBuffer::getPremultipliedImageData): Call new helper.
402         (WebCore::ImageBuffer::toDataURL): Flush the CG context.
403
404 2013-05-13  David Hyatt  <hyatt@apple.com>
405
406         Regressions in flexbox layout caused by the flexing optimizations.
407         https://bugs.webkit.org/show_bug.cgi?id=116058
408         <rdar://problem/13863647>
409         
410         Reviewed by Beth Dakin.
411
412         Roll out the flex-related changes from r149597 so that the layout
413         algorithm goes back to the way it was. Leave the repainting optimizations
414         in place though.
415
416         * rendering/RenderDeprecatedFlexibleBox.cpp:
417         (WebCore::gatherFlexChildrenInfo):
418         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
419         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
420
421 2013-05-13  Philippe Normand  <pnormand@igalia.com>
422
423         Unreviewed, rolling out r150014.
424         http://trac.webkit.org/changeset/150014
425         https://bugs.webkit.org/show_bug.cgi?id=86410
426
427         Broke video playback on WK2 and some webgl tests
428
429         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
430         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
431         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
432         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
433         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
434         (MediaPlayerPrivateGStreamerBase):
435
436 2013-05-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
437
438         Unreviewed, rolling out r150022.
439         http://trac.webkit.org/changeset/150022
440         https://bugs.webkit.org/show_bug.cgi?id=114044
441
442         Causes assertions in media tests
443
444         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
445         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
446         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
447         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
448         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
449         (WebCore::MediaPlayerPrivateGStreamer::seek):
450         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
451         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
452         (MediaPlayerPrivateGStreamer):
453
454 2013-05-13  Bem Jones-Bey  <bjonesbe@adobe.com>
455
456         Floats should not overhang from flex items
457         https://bugs.webkit.org/show_bug.cgi?id=115925
458
459         Reviewed by David Hyatt.
460
461         Allowing floats to overhand from flex items is not only against the
462         spec, it causes bad bugs. Fix this by having flex items properly avoid
463         floats.
464
465         Test: fast/block/float/float-not-removed-crash2.html
466
467         * rendering/RenderBox.cpp:
468         (WebCore::RenderBox::avoidsFloats): Add flex items to avoid floats.
469         * rendering/RenderBox.h:
470         (WebCore::RenderBox::isFlexItemIncludingDeprecated): Determine if the current box is a
471             flex item or deprecated flex item.
472
473 2013-05-13  Zoltan Horvath  <zoltan@webkit.org>
474
475         [CSS Regions][CSS Exclusions] Shape-inside on regions should respect region borders and paddings
476         https://bugs.webkit.org/show_bug.cgi?id=115456
477
478         Reviewed by David Hyatt.
479
480         I refactored the computation logic of shape-inside on regions by removing access to RenderFlowThread from ExclusionShapeInfo's logicalTopOffset
481         function, this means all the logic is now existing in RenderBlockLineLayout.cpp. By modifying the logicalTopOffset it turned out that the borders
482         and padding hadn't worked correctly, since borders and paddings were counted twice in the shape-inside's computation. This patch adds the necessary
483         modifications to let it respect the borders and padding in the correct way. I created 2 new helper functions to prevent increasing the code size of
484         the layoutRunsAndFloatsInRange function.
485
486         I introduced 7 new tests to test for testing the correct behavior.
487
488         Tests: fast/regions/shape-inside/shape-inside-on-first-region-block-content.html
489                fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html
490                fast/regions/shape-inside/shape-inside-on-second-region-block-content.html
491                fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html
492                fast/regions/shape-inside/shape-inside-on-regions-inline-content.html
493                fast/regions/shape-inside/shape-inside-with-region-borders.html
494                fast/regions/shape-inside/shape-inside-with-region-padding.html
495
496         * rendering/ExclusionShapeInfo.cpp:
497         (WebCore): Remove FlowThread logic from logicalTopOffset move definition to header.
498         * rendering/ExclusionShapeInfo.h:
499         (WebCore::ExclusionShapeInfo::logicalTopOffset): Moved from cpp.
500         (WebCore::ExclusionShapeInfo::logicalLeftOffset): Add condition for RenderRegions. 
501         * rendering/RenderBlock.h:
502         (RenderBlock): Add definition to the new helper members.
503         * rendering/RenderBlockLineLayout.cpp:
504         (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Modified the flow thread case to return the appropriate region.
505         (WebCore::RenderBlock::updateLineBoundariesForExclusions): Added new helper function. Modify the shape-inside on regions
506         line boundaries and position computation logic.
507         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): Added new helper function which handles the flow thread case also.
508         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Modified the code to use the helper functions.
509
510 2013-05-13  Bear Travis  <betravis@adobe.com>
511
512         [css exclusions] Enable CSS Exclusions by default when CSS_EXCLUSIONS is set
513         https://bugs.webkit.org/show_bug.cgi?id=115919
514
515         Reviewed by Dean Jackson.
516
517         Change the RuntimeEnabledFeatures::isCSSExclusionsEnabled boolean to default
518         to true. CSS Exclusions can still be enabled / disabled in platforms by
519         setting the CSS_EXCLUSIONS compile flag in one of the FeatureDefine files.
520
521         Test: fast/exclusions/css-exclusions-enabled.html
522
523         * bindings/generic/RuntimeEnabledFeatures.cpp:
524         (WebCore):
525
526 2013-05-13  Suchit Agrawal  <a.suchit@samsung.com>
527
528         Cell heights are disproportional when a row-spanning cell contains a block element that determines the height of the rows
529         https://bugs.webkit.org/show_bug.cgi?id=52185
530
531         Reviewed by David Hyatt.
532
533         Cells heights are not proper when rowspan cell have its own height and rowspan height
534         is more than the height of the rows present in rowspan.
535
536         After calculating logical height of the rows in the table, we are recalculating the height
537         of the rows present in rowspan. Based on the ratio of row's logical height, we are
538         distributing rowspan cell height in rows.
539
540         Test: fast/table/table-rowspan-height-distribution-in-rows.html
541
542         * rendering/RenderTableSection.cpp:
543         (WebCore):
544
545         Update the logical height of the rows based on rowspan cell height.
546         (WebCore::RenderTableSection::distributeRowSpanHeightToRows):
547
548         It calculates logical height of the rows in the table.
549         (WebCore::RenderTableSection::calcRowLogicalHeight):
550
551         Added new private API to distribute rowSpan cell height in rows.
552         * rendering/RenderTableSection.h:
553         (RenderTableSection):
554
555 2013-04-30  Balazs Kelemen  <b.kelemen@sisa.samsung.com>
556
557         [GStreamer] cannot seek after video finished
558         https://bugs.webkit.org/show_bug.cgi?id=114044
559
560         Reviewed by Philippe Normand.
561
562         Test: media/video-seek-after-end.html
563
564         Rework the seeking logic to be able to seek after reseting the pipeline.
565         In addition to solve the actual problem this patch supposed to make seeking
566         more robust and correct.
567         The previous implementation tried to hide the complexity of asynchronous operations
568         on the pipeline. It did not handle the GST_MESSAGE_ASYNC_DONE message from the bus
569         but instead reported the seek as finished when it saw an asynchronous pending state
570         (GST_STATE_CHANGE_ASYNC) which could happen way before the seek is really done.
571         Now we pay attention to the GST_MESSAGE_ASYNC_DONE message to track the status of seeks.
572         Seeks are not the only operations executed asynchronously, changing the pipeling state is
573         similar. It means a seek can overlap with onother ongoing asynchronous operation.
574         This change address this by introducing an invariant for seeks, which is that we only request
575         a seek if there are no other ongoing asynchronous operations and the pipeline state is either
576         paused or playing (which is recommended anyway according to GStreamer's documentation).
577         This way we can be sure that the time when we get the next GST_MESSAGE_ASYNC_DONE message the
578         seek has been completed.
579
580         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
581         (WebCore::toGstClockTime): Factored time conversation into a helper.
582         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
583
584         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): The position might not be available
585         if the pipeline still has a pending state. As a workaround, if we are right after a seek we can
586         use the seek time. Avoiding this situation would be possible by not allowing any asynchronous
587         operation to overlap. I believe it would add a lot more complexity so I decided to rather introduce
588         this workaround. Otherwise those overlapping operations are handled fine by GStreamer.
589
590         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Do not reset internal state variables.
591         This function called when there is an intent to restart playback but it does not actually restart it.
592         (WebCore::MediaPlayerPrivateGStreamer::currentTime): Just removed a staling newline.
593         (WebCore::MediaPlayerPrivateGStreamer::seek): Take a look to the pipeline state and act upon that.
594         If there is an ongoing asynchronous operation make the seek pending, otherwise do it now.
595         Now we handle overlapping seeks as well because I saw that it can happen in some tests.
596         Added an early return for live streams as it doesn't makes sense to try seeking in them.
597
598         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Handle GST_MESSAGE_ASYNC_DONE and some refactoring.
599         (WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
600         (WebCore::MediaPlayerPrivateGStreamer::updateStates): Only handle seeks in the pending case, the rest is
601         now handled in asyncStateChangeDone.
602         (WebCore::MediaPlayerPrivateGStreamer::cacheDuration): Do not reset the m_mediaDurationKnown if the pipeline
603         has an asynchronous pending state because it would fail. It does actually happen when we get a duration message
604         after restarting the pipeline and it would result in restarting playback from the start. It seems to be a bug
605         in GStreamer that it sends the duration message too early. Also sanitized this function by merging redundant branches.
606         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
607         (MediaPlayerPrivateGStreamer):
608
609 2013-05-12  Darin Adler  <darin@apple.com>
610
611         [Mac] Move writeRange/PlainText/URL from ClipboardMac to PasteboardMac
612         https://bugs.webkit.org/show_bug.cgi?id=116009
613
614         Reviewed by Andreas Kling.
615
616         * dom/Clipboard.cpp:
617         (WebCore::Clipboard::writeRange): Added. Moved from ClipboardMac,
618         but added some FIXMEs.
619         (WebCore::Clipboard::writePlainText): Ditto.
620         (WebCore::Clipboard::writeURL): Ditto.
621
622         * dom/Clipboard.h: Made writeURL, writeRange, and writePlainText
623         non-virtual in non-legacy clipboard implementations.
624
625         * platform/mac/ClipboardMac.h: Removed writeRange, writeURL, and
626         writePlainText.
627         * platform/mac/ClipboardMac.mm: Ditto.
628
629 2013-05-13  Noam Rosenthal  <noam@webkit.org>
630
631         [CoordGfx] requestAnimationFrame performance issues
632         https://bugs.webkit.org/show_bug.cgi?id=112345
633
634         Reviewed by Jocelyn Turcotte.
635
636         Removed current requestAnimationFrame logic from CoordinatedGraphics. The new logic
637         is entirely in WebKit2 CoordinatedLayerTreeHost.
638
639         Covered by existing tests in fast/animations.
640
641         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
642         (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
643         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
644         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
645         (CoordinatedGraphicsScene):
646
647 2013-05-13  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
648
649         [texmap][GStreamer] Composited Video support
650         https://bugs.webkit.org/show_bug.cgi?id=86410
651
652         Reviewed by Philippe Normand.
653
654         Enable the video accelerated compositing using the WebKit's
655         TextureMapper.
656
657         This patch does not use hardware accelerated video decoding. It
658         provides a generic path for system memory buffers.
659
660         No new tests, already covered by existing tests.
661
662         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
663         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
664         (WebCore):
665         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): update the
666         texture content with the new received video buffer.
667         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): choose to
668         use the accelerated compositing or the normal code path
669         (WebCore::MediaPlayerPrivateGStreamerBase::paint): if accelerated
670         compositing is used this method is halted.
671         (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper): get
672         a texture from the pool and draws it if it is already available.
673         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
674         (MediaPlayerPrivateGStreamerBase):
675         (WebCore::MediaPlayerPrivateGStreamerBase::platformLayer): returns itself
676         (WebCore::MediaPlayerPrivateGStreamerBase::supportsAcceleratedRendering):
677         returns true
678
679 2013-05-13  Andreas Kling  <akling@apple.com>
680
681         Document: Use a DeferrableOneShotTimer to throw out StyleResolver when unused.
682         <http://webkit.org/b/115929>
683
684         Reviewed by Anders Carlsson.
685
686         Nothing exciting here, just replacing a rickety-looking punting mechanism with a proper
687         DeferrableOneShotTimer. Note that the timeout changes from 60 to 30 seconds because DOST
688         works by punting a full interval on next timeout.
689
690         * dom/Document.cpp:
691         (WebCore::Document::Document):
692         (WebCore::Document::didAccessStyleResolver):
693         (WebCore::Document::styleResolverThrowawayTimerFired):
694         * dom/Document.h:
695         (Document):
696
697 2013-05-13  Andreas Kling  <akling@apple.com>
698
699         REGRESSION(r149287): FoldingText only shows me half of my text.
700         <http://webkit.org/b/115956>
701         <rdar://problem/13831099>
702
703         Reviewed by Antti Koivisto.
704
705         Check if the FrameView geometry changed post-layout, and send a resize event if needed.
706         This brings us closer to the original resize event behavior, with the exception that
707         setFrameRect() still fires an event right away if possible. This means we are still
708         guarded from FOUC's but frames that layout via [WebHTMLView layoutToMinimumPageWidth]
709         also get resize events like they used to.
710
711         No new tests, because I don't know how to test this.
712
713         * page/FrameView.h:
714         * page/FrameView.cpp:
715         (WebCore::FrameView::setFrameRect):
716         (WebCore::FrameView::performPostLayoutTasks):
717         (WebCore::FrameView::sendResizeEventIfNeeded):
718
719             Factor out the resize event logic from setFrameRect() so we can call it from both
720             there and performPostLayoutTasks(). sendResizeEventIfNeeded() only sends an event
721             if view geometry or zoom factor has changed since last time it was called.
722
723 2013-05-13  Antti Koivisto  <antti@apple.com>
724
725         Remove unneeded counters from ScopeContentDistribution.
726         https://bugs.webkit.org/show_bug.cgi?id=116028
727
728         Reviewed by Andreas Kling.
729
730         They don't do much.
731
732         * WebCore.exp.in:
733         * dom/ShadowRoot.cpp:
734         (WebCore::ShadowRoot::ShadowRoot):
735         * dom/ShadowRoot.h:
736         
737             No need for registration code anymore.
738
739         * html/shadow/ContentDistributor.cpp:
740         (WebCore::ScopeContentDistribution::ScopeContentDistribution):
741         
742             Default m_insertionPointListIsValid to true to avoid crawling when there are no InsertionPoints.
743
744         (WebCore::ScopeContentDistribution::ensureInsertionPointList):
745         (WebCore::ScopeContentDistribution::registerInsertionPoint):
746         (WebCore::ScopeContentDistribution::unregisterInsertionPoint):
747         * html/shadow/ContentDistributor.h:
748         
749             Remove distributeNodeChildrenTo, it was only used by the older/younger shadow root code.
750
751         * testing/Internals.cpp:
752         * testing/Internals.h:
753         * testing/Internals.idl:
754
755 2013-05-13  Seokju Kwon  <seokju.kwon@gmail.com>
756
757         Web Inspector: Remove unused references from projects in Visual Studio
758         https://bugs.webkit.org/show_bug.cgi?id=116002
759
760         Reviewed by Csaba Osztrogonác.
761
762         nativeMemoryProfiler.css and NativeMemorySnapshotView.js were removed in r149807.
763
764         No new tests, no behavior change.
765
766         * WebCore.vcproj/WebCore.vcproj:
767         * WebCore.vcxproj/WebCore.vcxproj:
768         * WebCore.vcxproj/WebCore.vcxproj.filters:
769
770 2013-05-13  Zalan Bujtas  <zalan@apple.com>
771
772         WebProcess consuming very high CPU on linkedin.com
773         https://bugs.webkit.org/show_bug.cgi?id=115601
774
775         Reviewed by Andreas Kling.
776
777         Disable WEB_TIMING_MINIMAL.
778         Turn off window.performance and performance.now(). Some JS frameworks expect
779         additional Web Timing APIs, when performance.now() is available.
780
781         * Configurations/FeatureDefines.xcconfig:
782         * dom/EventTargetFactory.in:
783         * page/DOMWindow.cpp:
784         (WebCore::DOMWindow::~DOMWindow):
785         (WebCore::DOMWindow::resetDOMWindowProperties):
786         (WebCore):
787         * page/DOMWindow.h:
788         (DOMWindow):
789         * page/DOMWindow.idl:
790         * page/Performance.cpp:
791         (WebCore::Performance::timing):
792         * page/Performance.h:
793         (Performance):
794         * page/Performance.idl:
795
796 2013-05-12  Eric Carlson  <eric.carlson@apple.com>
797
798         REGRESSION (r149749): Video becomes invisible when it starts playing at newyorkbygehry.com
799         https://bugs.webkit.org/show_bug.cgi?id=115963
800
801         Reviewed by Dean Jackson.
802
803         Test: media/video-remove-insert-repaints.html
804
805         * html/HTMLMediaElement.cpp:
806         (WebCore::HTMLMediaElement::insertedInto): Set m_inActiveDocument when inserted into a document.
807         (WebCore::HTMLMediaElement::removedFrom): Fix logging.
808
809 2013-05-12  David Kilzer  <ddkilzer@apple.com>
810
811         Move sudden termination symbols to the Mac-only section
812
813         * WebCore.exp.in: Move the sudden termination symbols to the
814         !PLATFORM(IOS) section for reals this time.
815
816 2013-05-12  Darin Adler  <darin@apple.com>
817
818         Fix Mac build.
819
820         * platform/mac/PasteboardMac.mm: Add back include of ClipboardMac.h
821         that was removed by accident a couple of patches back.
822
823 2013-05-12  Darin Adler  <darin@apple.com>
824
825         [Mac] Moved files function from ClipboardMac to PasteboardMac
826         https://bugs.webkit.org/show_bug.cgi?id=116008
827
828         Reviewed by Anders Carlsson.
829
830         * dom/Clipboard.cpp:
831         (WebCore::Clipboard::files): Added. Moved the DOM-depdendent and
832         platform-independent part of the files function in ClipboardMac here.
833
834         * dom/Clipboard.h: Made files function non-virtual in non-legacy case.
835
836         * platform/Pasteboard.h: Removed static member function
837         absoluteURLsFromPasteboardFilenames since it can now be private to
838         PasteboardMac. Added member function readFilenames.
839
840         * platform/mac/ClipboardMac.h: Removed function member files and also
841         now-unused data member m_clipboardContents.
842
843         * platform/mac/ClipboardMac.mm: Removed files function.
844         (WebCore::ClipboardMac::ClipboardMac): Removed code to initialize
845         m_clipboardContents.
846
847         * platform/mac/PasteboardMac.mm:
848         (WebCore::absoluteURLsFromPasteboardFilenames): Changed from a static
849         member function to a file-local function.
850         (WebCore::absoluteURLsFromPasteboard): Changed to call the function
851         above in its new location.
852         (WebCore::Pasteboard::readFilenames): Added. Code from ClipboardMac,
853         minus the DOM-specific parts. Added a FIXME about the peculiar round
854         trip through NSURL this code takes.
855
856 2013-05-12  Anders Carlsson  <andersca@apple.com>
857
858         Fix WebKit2 build.
859
860         * WebCore.exp.in:
861         Put WebCore::disableSuddenTermination and WebCore::enableSuddenTermination symbols in the right section.
862
863 2013-05-12  Darin Adler  <darin@apple.com>
864
865         [Mac] Move types function from ClipboardMac to PasteboardMac
866         https://bugs.webkit.org/show_bug.cgi?id=116007
867
868         Reviewed by Anders Carlsson.
869
870         * dom/Clipboard.cpp:
871         (WebCore::Clipboard::types): Added. Calls through to Pasteboard
872         after doing checks needed at this level.
873
874         * dom/Clipboard.h: Made types function non-virtual in non-legacy case,
875         and removed non-helpful comment.
876
877         * platform/Pasteboard.h: Updated includes and comments at the top of
878         the file a bit. Removed static member function addHTMLClipboardTypesForCocoaType,
879         since it can now be private to PasteboardMac. Added member function types.
880
881         * platform/mac/ClipboardMac.h: Removed types function.
882         * platform/mac/ClipboardMac.mm: Ditto.
883
884         * platform/mac/PasteboardMac.mm:
885         (WebCore::addHTMLClipboardTypesForCocoaType): Made this a file-local
886         function instead of a static member function.
887         (WebCore::Pasteboard::types): Added. Moved from ClipboardMac.
888
889 2013-05-12  Darin Adler  <darin@apple.com>
890
891         [Mac] Move setData from ClipboardMac to PasteboardMac
892         https://bugs.webkit.org/show_bug.cgi?id=116006
893
894         Reviewed by Anders Carlsson.
895
896         * dom/Clipboard.cpp:
897         (WebCore::Clipboard::setData): Added. Calls through to Pasteboard
898         after doing checks needed at this level.
899
900         * dom/Clipboard.h: Made setData non-virtual in non-legacy case.
901
902         * platform/Pasteboard.h: Updated includes and forward declarations.
903         Removed static member function cocoaTypeFromHTMLClipboardType, since
904         it can now be private to PasteboardMac. Added static member function
905         addHTMLClipboardTypesForCocoaType, which is shared between the
906         ClipboardMac and PasteboardMac files for now. Added writeString.
907
908         * platform/mac/ClipboardMac.h: Removed setData.
909
910         * platform/mac/ClipboardMac.mm: Removed utiTypeFromCocoaType,
911         addHTMLClipboardTypesForCocoaType, and setData.
912         (WebCore::ClipboardMac::types): Call addHTMLClipboardTypesForCocoaType
913         as a Pasteboard static member function, for now.
914
915         * platform/mac/PasteboardMac.mm:
916         (WebCore::cocoaTypeFromHTMLClipboardType): Added. Moved from ClipboardMac.
917         (WebCore::Pasteboard::readString): Changed to call
918         cocoaTypeFromHTMLClipboardType as a file-local function, not a member
919         function (in fact, we didn't need to repeat the class name before, either,
920         so this is just removing something we didn't need).
921         (WebCore::utiTypeFromCocoaType): Added. Moved from ClipboardMac.
922         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType): Ditto.
923         (WebCore::Pasteboard::writeString): Ditto.
924
925 2013-05-12  Darin Adler  <darin@apple.com>
926
927         [Mac] Move getData from ClipboardMac to PasteboardMac
928         https://bugs.webkit.org/show_bug.cgi?id=116005
929
930         Reviewed by Anders Carlsson.
931
932         * dom/Clipboard.cpp:
933         (WebCore::Clipboard::Clipboard): Added a new boolean argument, forFileDrag,
934         to the constructor. Maybe we can find a better way to do this once we move
935         all the platforms over, but this boolean seems a good way to do it for now.
936         (WebCore::Clipboard::getData): Added. Calls through to Pasteboard after
937         doing the canReadData check, which is part of DOM rules, not the platform.
938         Also checks for the file drag case like the old ClipboardMac code did.
939
940         * dom/Clipboard.h: Made getData non-virtual in non-legacy case.
941
942         * platform/Pasteboard.h: Added a static member function named
943         absoluteURLsFromPasteboardFilenames, temporary so it can be shared between
944         ClipboardMac and PasteboardMac. Added a readString public function member,
945         and a m_changeCount data member. The type of m_changeCount is long since
946         that can always hold an NSInteger but yet is a type we can compile without
947         including the header file that defines NSInteger.
948
949         * platform/mac/ClipboardMac.h: Removed getData.
950         * platform/mac/ClipboardMac.mm: Removed getData.
951         (WebCore::ClipboardMac::ClipboardMac): Added code to pass in the new
952         forFileDrag boolean.
953         (WebCore::ClipboardMac::files): Call absoluteURLsFromPasteboardFilenames
954         as a static member function in Pasteboard since we moved it there.
955
956         * platform/mac/PasteboardMac.mm:
957         (WebCore::Pasteboard::Pasteboard): Initialize the change count, so later
958         pasteboard operations can check it.
959         (WebCore::Pasteboard::absoluteURLsFromPasteboardFilenames): Added. Moved
960         here from ClipboardMac.
961         (WebCore::absoluteURLsFromPasteboard): Ditto.
962         (WebCore::Pasteboard::readString): Added. Moved here from ClipboardMac.
963
964 2013-05-12  Anders Carlsson  <andersca@apple.com>
965
966         Stop including UnusedParam.h
967         https://bugs.webkit.org/show_bug.cgi?id=116003
968
969         Reviewed by Sam Weinig.
970
971         UnusedParam.h is empty now so there's no need to include it anymore.
972
973         * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
974         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
975         * Modules/indexeddb/IDBObjectStore.cpp:
976         * Modules/webdatabase/DatabaseServer.cpp:
977         * Modules/webdatabase/DatabaseThread.cpp:
978         * bindings/js/JSDOMWindowBase.cpp:
979         * bindings/objc/DOMObject.mm:
980         * css/CSSCursorImageValue.cpp:
981         * css/DeprecatedStyleBuilder.cpp:
982         * dom/EventDispatcher.cpp:
983         * dom/Node.cpp:
984         * editing/AlternativeTextController.h:
985         * editing/Editor.cpp:
986         * html/HTMLPlugInElement.cpp:
987         * html/canvas/CanvasRenderingContext2D.cpp:
988         * html/canvas/OESVertexArrayObject.h:
989         * html/parser/HTMLConstructionSite.cpp:
990         * html/parser/HTMLTokenizer.cpp:
991         * html/track/InbandTextTrack.cpp:
992         * inspector/InspectorCanvasInstrumentation.h:
993         * inspector/InspectorConsoleInstrumentation.h:
994         * inspector/InspectorController.cpp:
995         * inspector/InspectorCounters.h:
996         * inspector/InspectorDatabaseInstrumentation.h:
997         * inspector/InspectorInstrumentation.h:
998         * loader/DocumentThreadableLoader.cpp:
999         * loader/PingLoader.cpp:
1000         * loader/appcache/ApplicationCacheGroup.cpp:
1001         * loader/cache/CachedResourceLoader.cpp:
1002         * loader/mac/DocumentLoaderMac.cpp:
1003         * page/ChromeClient.h:
1004         * page/Console.cpp:
1005         * page/FrameView.cpp:
1006         * page/PageConsole.cpp:
1007         * page/animation/AnimationController.cpp:
1008         * page/animation/ImplicitAnimation.cpp:
1009         * page/animation/KeyframeAnimation.cpp:
1010         * platform/LocalizedStrings.cpp:
1011         * platform/ScrollAnimator.h:
1012         * platform/ThreadGlobalData.cpp:
1013         * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
1014         * platform/graphics/Font.cpp:
1015         * platform/graphics/GlyphBuffer.h:
1016         * platform/graphics/Gradient.cpp:
1017         * platform/graphics/ShadowBlur.cpp:
1018         * platform/graphics/SimpleFontData.cpp:
1019         * platform/graphics/SimpleFontData.h:
1020         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1021         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1022         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1023         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1024         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
1025         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1026         * platform/graphics/blackberry/GradientBlackBerry.cpp:
1027         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
1028         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1029         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1030         * platform/graphics/ca/mac/WebTileLayer.mm:
1031         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1032         * platform/graphics/cg/GraphicsContextCG.cpp:
1033         * platform/graphics/cg/ImageBufferCG.cpp:
1034         * platform/graphics/cg/ImageSourceCG.cpp:
1035         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
1036         * platform/graphics/filters/ValidatedCustomFilterOperation.cpp:
1037         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
1038         * platform/graphics/mac/GraphicsContext3DMac.mm:
1039         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1040         * platform/graphics/mac/SimpleFontDataMac.mm:
1041         * platform/graphics/mac/WebGLLayer.mm:
1042         * platform/graphics/mac/WebLayer.mm:
1043         * platform/graphics/mac/WebTiledLayer.mm:
1044         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1045         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1046         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1047         * platform/graphics/texmap/TextureMapper.h:
1048         * platform/graphics/wince/ImageBufferWinCE.cpp:
1049         * platform/mac/PasteboardMac.mm:
1050         * platform/mac/ScrollAnimatorMac.mm:
1051         * platform/mac/ScrollViewMac.mm:
1052         * platform/mac/ScrollbarThemeMac.mm:
1053         * platform/mac/SharedTimerMac.mm:
1054         * platform/mac/WebCoreFullScreenPlaceholderView.mm:
1055         * platform/mac/WebCoreObjCExtras.mm:
1056         * platform/mac/WebFontCache.mm:
1057         * platform/mac/WebVideoFullscreenController.mm:
1058         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1059         * platform/mac/WebWindowAnimation.mm:
1060         * platform/network/blackberry/CredentialStorageBlackBerry.cpp:
1061         * platform/network/cf/ResourceErrorCF.cpp:
1062         * platform/network/mac/CookieStorageMac.mm:
1063         * platform/network/mac/ResourceHandleMac.mm:
1064         * platform/network/win/ResourceHandleWin.cpp:
1065         * platform/text/TextEncodingDetectorICU.cpp:
1066         * rendering/RenderFlowThread.h:
1067         * rendering/RenderImage.cpp:
1068         * rendering/RenderLayer.cpp:
1069         * rendering/RenderObject.cpp:
1070         * rendering/RenderTreeAsText.cpp:
1071         * rendering/svg/RenderSVGResourceClipper.cpp:
1072         * rendering/svg/RenderSVGResourceFilter.cpp:
1073         * rendering/svg/RenderSVGResourceGradient.cpp:
1074         * rendering/svg/RenderSVGResourceMasker.cpp:
1075         * rendering/svg/SVGRenderSupport.cpp:
1076         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
1077         * workers/WorkerContext.cpp:
1078         * workers/WorkerScriptLoader.cpp:
1079         * xml/XMLHttpRequest.cpp:
1080         * xml/parser/XMLDocumentParserLibxml2.cpp:
1081
1082 2013-05-12  Darin Adler  <darin@apple.com>
1083
1084         [Mac] Move clearAllData from ClipboardMac to PasteboardMac
1085         https://bugs.webkit.org/show_bug.cgi?id=116001
1086
1087         Reviewed by Andreas Kling.
1088
1089         * dom/Clipboard.cpp:
1090         (WebCore::Clipboard::clearAllData): Added. Calls through to Pasteboard after
1091         doing the canWriteData check, which is part of DOM rules, not the platform.
1092
1093         * dom/Clipboard.h: Made clearAllData non-virtual in non-legacy case.
1094
1095         * platform/mac/ClipboardMac.h: Removed clearAllData.
1096         * platform/mac/ClipboardMac.mm: Ditto.
1097
1098 2013-05-12  Darin Adler  <darin@apple.com>
1099
1100         [Mac] Move clearData from ClipboardMac to PasteboardMac
1101         https://bugs.webkit.org/show_bug.cgi?id=116000
1102
1103         Reviewed by Andreas Kling.
1104
1105         * dom/Clipboard.cpp:
1106         (WebCore::Clipboard::clearData): Added. Calls through to Pasteboard after
1107         doing the canWriteData check, which is part of DOM rules, not the platform.
1108
1109         * dom/Clipboard.h: Made clearData non-virtual in non-legacy case.
1110
1111         * platform/Pasteboard.h: Added an overload of the clear function that takes
1112         a single type and clears only that type. Also temporarily exported the
1113         cocoaTypeFromHTMLClipboardType function as a static member so it can be used
1114         in both ClipboardMac and PasteboardMac during the transition.
1115
1116         * platform/mac/ClipboardMac.h: Removed clearData.
1117         * platform/mac/ClipboardMac.mm: Removed clearData.
1118         (WebCore::ClipboardMac::getData): Changed to call cocoaTypeFromHTMLClipboardType
1119         as a Pasteboard class static member function.
1120         (WebCore::ClipboardMac::setData): Ditto.
1121
1122         * platform/mac/PasteboardMac.mm:
1123         (WebCore::Pasteboard::cocoaTypeFromHTMLClipboardType): Moved here from
1124         ClipboardMac.
1125         (WebCore::Pasteboard::clear): Added. Moved here from ClipboardMac.
1126
1127 2013-05-12  Darin Adler  <darin@apple.com>
1128
1129         [Mac] Move hasData from ClipboardMac to PasteboardMac
1130         https://bugs.webkit.org/show_bug.cgi?id=115999
1131
1132         Reviewed by Andreas Kling.
1133
1134         * dom/Clipboard.cpp:
1135         (WebCore::Clipboard::hasData): Added. Calls through to Pasteboard.
1136
1137         * dom/Clipboard.h: Added LEGACY_VIRTUAL and LEGACY_PURE macros,
1138         only for within this header file. These help us keep many functions
1139         as pure virtual in the legacy style Clipboard class, but have them
1140         be non-virtual in the normal/future style. Use LEGACY_VIRTUAL and
1141         LEGACY_PURE to make the hasData member non-virtual.
1142
1143         * platform/Pasteboard.h: Added hasData, and added some blank lines and a FIXME.
1144
1145         * platform/mac/ClipboardMac.h: Removed hasData override.
1146         * platform/mac/ClipboardMac.mm: Ditto.
1147
1148         * platform/mac/PasteboardMac.mm:
1149         (WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardMac.
1150
1151 2013-05-12  David Kilzer  <ddkilzer@apple.com>
1152
1153         BUILD FIX (r149971): sudden termination is a Mac-only concept
1154
1155         * WebCore.exp.in: Move sudden termination symbols to Mac-only
1156         section.
1157
1158 2013-05-12  Andreas Kling  <akling@apple.com>
1159
1160         Node: Use FINAL instead of the non-virtual shadowing hack.
1161         <http://webkit.org/b/115995>
1162
1163         Reviewed by Anders Carlsson.
1164
1165         Decorate Element/Attr implementations of prefix/localName/namespaceURI getters with FINAL
1166         so that call sites with a more specific pointer type than Node* can avoid the virtual dispatch.
1167
1168         * dom/Attr.h:
1169         * dom/Element.h:
1170         * dom/Node.cpp:
1171         * dom/Node.h:
1172
1173 2013-05-11  Darin Adler  <darin@apple.com>
1174
1175         [Mac] Give every Clipboard an underlying Pasteboard
1176         https://bugs.webkit.org/show_bug.cgi?id=115979
1177
1178         Reviewed by Andreas Kling.
1179
1180         This is the first step in Clipboard and Pasteboard refactoring
1181         to fix the overlap and many layering violations.
1182
1183         * dom/Clipboard.cpp:
1184         (WebCore::Clipboard::Clipboard): Add an m_pasteboard data member,
1185         Mac-only for now, but eventually for all platforms.
1186         (WebCore::Clipboard::~Clipboard): No longer inline the destructor.
1187
1188         * dom/Clipboard.h: Add WTF_USE_LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS
1189         flag, currently true for all non-Mac platforms. Make the constructor
1190         no longer inline. Added a PassOwnPtr<Pasteboard> argument to the
1191         constructor and an OwnPtr<Pasteboard> data member.
1192
1193         * platform/Pasteboard.h: Added a create function to make it easy
1194         to create a pasteboard given a pasteboard name.
1195
1196         * platform/mac/ClipboardMac.mm:
1197         (WebCore::ClipboardMac::ClipboardMac): Create a pasteboard and pass
1198         it to the Clipboard constructor.
1199
1200         * platform/mac/PasteboardMac.mm:
1201         (WebCore::Pasteboard::create): Added.
1202
1203 2013-05-12  Andreas Kling  <akling@apple.com>
1204
1205         Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
1206         <http://webkit.org/b/115988>
1207         <rdar://problem/13870943>
1208
1209         Reviewed by Anders Carlsson.
1210
1211         Add two methods to Chrome (and ChromeClient):
1212
1213             - enableSuddenTermination()
1214             - disableSuddenTermination()
1215
1216         ..and call these from DOMWindow instead of the free global functions.
1217
1218         For WebKit1, it just calls the NSProcessInfo methods to keep behavior the same.
1219         For WebKit2, the new methods plumb through the information to the UI process.
1220
1221         Also updated the DOMWindow logic to think in terms of per-DOMWindow sudden termination counters
1222         instead of a process-global one, since that gets confusing in a WK2 world.
1223         When a DOMWindow transitions between having/not having unload/beforeunload event listeners,
1224         we send a notification to the Chrome.
1225
1226         * WebCore.exp.in:
1227         * WebCore.xcodeproj/project.pbxproj:
1228         * page/Chrome.h:
1229         (WebCore::Chrome::enableSuddenTermination):
1230         (WebCore::Chrome::disableSuddenTermination):
1231         * page/ChromeClient.h:
1232         (WebCore::ChromeClient::enableSuddenTermination):
1233         (WebCore::ChromeClient::disableSuddenTermination):
1234         * page/DOMWindow.cpp:
1235         (WebCore::addUnloadEventListener):
1236         (WebCore::removeUnloadEventListener):
1237         (WebCore::removeAllUnloadEventListeners):
1238         (WebCore::addBeforeUnloadEventListener):
1239         (WebCore::removeBeforeUnloadEventListener):
1240         (WebCore::removeAllBeforeUnloadEventListeners):
1241         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
1242         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
1243         (WebCore::DOMWindow::enableSuddenTermination):
1244         (WebCore::DOMWindow::disableSuddenTermination):
1245         * page/DOMWindow.h:
1246         (DOMWindow):
1247
1248 2013-05-12  Anders Carlsson  <andersca@apple.com>
1249
1250         Remove Complex.h from WTF
1251         https://bugs.webkit.org/show_bug.cgi?id=115989
1252
1253         Reviewed by Beth Dakin.
1254
1255         Replace Complex declarations with std::complex<double>. Pass by value since the struct
1256         is small enough to go into two registers on X86-64.
1257
1258         * Modules/webaudio/RealtimeAnalyser.cpp:
1259         (WebCore::RealtimeAnalyser::doFFTAnalysis):
1260         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
1261         (WebCore::RealtimeAnalyser::getByteFrequencyData):
1262         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
1263         * platform/audio/Biquad.cpp:
1264         (WebCore::Biquad::setZeroPolePairs):
1265         (WebCore::Biquad::setAllpassPole):
1266         (WebCore::Biquad::getFrequencyResponse):
1267         * platform/audio/Biquad.h:
1268         * platform/audio/FFTFrame.cpp:
1269         (WebCore::FFTFrame::interpolateFrequencyComponents):
1270         (WebCore::FFTFrame::extractAverageGroupDelay):
1271         (WebCore::FFTFrame::addConstantGroupDelay):
1272
1273 2013-05-12  Simon Fraser  <simon.fraser@apple.com>
1274
1275         Dropdowns on http://www.exploratorium.edu don't show anything
1276         https://bugs.webkit.org/show_bug.cgi?id=115991
1277
1278         Reviewed by Dan Bernstein.
1279         
1280         We can't optimize away the backing store of a layer by saying that
1281         it paints into a composited ancestor if its composited bounds are not contained
1282         by that ancestor.
1283
1284         Test: compositing/backing/no-backing-for-clip-overhang.html
1285
1286         * rendering/RenderLayerBacking.cpp:
1287         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Pass in our 
1288         previously computed composited bounds relative to our composited ancestor,
1289         and its composited bounds.
1290         * rendering/RenderLayerCompositor.cpp:
1291         (WebCore::RenderLayerCompositor::requiresOwnBackingStore): If the ancestor's
1292         composited bounds don't contain the layer's composited bounds, the layer
1293         needs its own backing store.
1294         * rendering/RenderLayerCompositor.h:
1295
1296 2013-05-12  Commit Queue  <commit-queue@webkit.org>
1297
1298         Unreviewed, rolling out r149955.
1299         http://trac.webkit.org/changeset/149955
1300         https://bugs.webkit.org/show_bug.cgi?id=115990
1301
1302         Broke lots of tests (Requested by smfr on #webkit).
1303
1304         * WebCore.exp.in:
1305         * rendering/InlineFlowBox.h:
1306         * rendering/InlineTextBox.h:
1307         (InlineTextBox):
1308         * rendering/RenderApplet.h:
1309         * rendering/RenderBR.h:
1310         * rendering/RenderBlock.h:
1311         (RenderBlock):
1312         (WebCore::RenderBlock::virtualContinuation):
1313         (WebCore::RenderBlock::virtualChildren):
1314         (WebCore::RenderBlock::isRenderBlock):
1315         (WebCore::RenderBlock::isBlockFlow):
1316         (WebCore::RenderBlock::isInlineBlockOrInlineTable):
1317         (WebCore::RenderBlock::dirtyLinesFromChangedChild):
1318         (WebCore::RenderBlock::collapsedMarginBefore):
1319         (WebCore::RenderBlock::collapsedMarginAfter):
1320         * rendering/RenderBox.h:
1321         (WebCore::RenderBox::borderBoundingBox):
1322         (RenderBox):
1323         (WebCore::RenderBox::marginLogicalLeft):
1324         (WebCore::RenderBox::marginLogicalRight):
1325         * rendering/RenderBoxModelObject.h:
1326         (WebCore::RenderBoxModelObject::isBoxModelObject):
1327         * rendering/RenderButton.h:
1328         * rendering/RenderCombineText.h:
1329         * rendering/RenderCounter.h:
1330         * rendering/RenderDeprecatedFlexibleBox.h:
1331         * rendering/RenderDetailsMarker.h:
1332         * rendering/RenderEmbeddedObject.h:
1333         (RenderEmbeddedObject):
1334         (WebCore::RenderEmbeddedObject::isEmbeddedObject):
1335         (WebCore::RenderEmbeddedObject::virtualChildren):
1336         * rendering/RenderFieldset.h:
1337         * rendering/RenderFileUploadControl.h:
1338         * rendering/RenderFlexibleBox.h:
1339         * rendering/RenderFlowThread.h:
1340         * rendering/RenderFrame.h:
1341         * rendering/RenderFrameSet.h:
1342         * rendering/RenderFullScreen.cpp:
1343         * rendering/RenderFullScreen.h:
1344         * rendering/RenderGrid.h:
1345         * rendering/RenderHTMLCanvas.h:
1346         * rendering/RenderIFrame.h:
1347         * rendering/RenderImage.h:
1348         (RenderImage):
1349         (WebCore::RenderImage::isRenderImage):
1350         * rendering/RenderInline.h:
1351         (RenderInline):
1352         (WebCore::RenderInline::virtualContinuation):
1353         (WebCore::RenderInline::virtualChildren):
1354         (WebCore::RenderInline::isRenderInline):
1355         (WebCore::RenderInline::layout):
1356         (WebCore::RenderInline::requiresLayer):
1357         (WebCore::RenderInline::offsetWidth):
1358         (WebCore::RenderInline::offsetHeight):
1359         (WebCore::RenderInline::borderBoundingBox):
1360         (WebCore::RenderInline::dirtyLinesFromChangedChild):
1361         * rendering/RenderLayerModelObject.h:
1362         * rendering/RenderListBox.h:
1363         * rendering/RenderListItem.h:
1364         * rendering/RenderListMarker.h:
1365         * rendering/RenderMedia.h:
1366         (WebCore::RenderMedia::virtualChildren):
1367         (WebCore::RenderMedia::canHaveChildren):
1368         (WebCore::RenderMedia::isMedia):
1369         (WebCore::RenderMedia::isImage):
1370         (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
1371         * rendering/RenderMediaControlElements.h:
1372         * rendering/RenderMenuList.h:
1373         * rendering/RenderMeter.h:
1374         * rendering/RenderMultiColumnBlock.h:
1375         * rendering/RenderMultiColumnFlowThread.h:
1376         * rendering/RenderMultiColumnSet.h:
1377         * rendering/RenderNamedFlowThread.h:
1378         * rendering/RenderPart.h:
1379         (RenderPart):
1380         (WebCore::RenderPart::isRenderPart):
1381         (WebCore::RenderPart::renderName):
1382         * rendering/RenderProgress.h:
1383         * rendering/RenderRegion.h:
1384         (WebCore::RenderRegion::isRenderRegion):
1385         * rendering/RenderRegionSet.h:
1386         * rendering/RenderReplaced.h:
1387         (RenderReplaced):
1388         (WebCore::RenderReplaced::renderName):
1389         * rendering/RenderReplica.h:
1390         * rendering/RenderRuby.h:
1391         * rendering/RenderRubyBase.h:
1392         * rendering/RenderRubyRun.h:
1393         * rendering/RenderRubyText.h:
1394         * rendering/RenderScrollbarPart.h:
1395         * rendering/RenderSearchField.h:
1396         * rendering/RenderSlider.h:
1397         * rendering/RenderSnapshottedPlugIn.h:
1398         (RenderSnapshottedPlugIn):
1399         * rendering/RenderTable.h:
1400         (RenderTable):
1401         (WebCore::RenderTable::renderName):
1402         (WebCore::RenderTable::isTable):
1403         (WebCore::RenderTable::avoidsFloats):
1404         * rendering/RenderTableCaption.h:
1405         * rendering/RenderTableCell.h:
1406         * rendering/RenderTableCol.h:
1407         * rendering/RenderTableRow.h:
1408         * rendering/RenderTableSection.h:
1409         * rendering/RenderText.h:
1410         (RenderText):
1411         (WebCore::RenderText::marginLeft):
1412         (WebCore::RenderText::marginRight):
1413         (WebCore::RenderText::styleWillChange):
1414         (WebCore::RenderText::length):
1415         (WebCore::RenderText::paint):
1416         (WebCore::RenderText::layout):
1417         * rendering/RenderTextControl.h:
1418         (RenderTextControl):
1419         (WebCore::RenderTextControl::renderName):
1420         (WebCore::RenderTextControl::isTextControl):
1421         (WebCore::RenderTextControl::avoidsFloats):
1422         * rendering/RenderTextControlMultiLine.h:
1423         * rendering/RenderTextControlSingleLine.h:
1424         (RenderTextControlSingleLine):
1425         (WebCore::RenderTextControlSingleLine::isTextField):
1426         * rendering/RenderTextFragment.h:
1427         * rendering/RenderTextTrackCue.h:
1428         * rendering/RenderVideo.h:
1429         * rendering/RenderView.h:
1430         * rendering/RenderWidget.h:
1431         (RenderWidget):
1432         (WebCore::RenderWidget::isWidget):
1433         * rendering/RenderWordBreak.h:
1434         * rendering/RootInlineBox.h:
1435         (RootInlineBox):
1436         * rendering/mathml/RenderMathMLBlock.h:
1437         * rendering/svg/RenderSVGBlock.h:
1438         (RenderSVGBlock):
1439         * rendering/svg/RenderSVGContainer.h:
1440         (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
1441         (WebCore::RenderSVGContainer::virtualChildren):
1442         (WebCore::RenderSVGContainer::isSVGContainer):
1443         (WebCore::RenderSVGContainer::renderName):
1444         (RenderSVGContainer):
1445         (WebCore::RenderSVGContainer::objectBoundingBox):
1446         (WebCore::RenderSVGContainer::strokeBoundingBox):
1447         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
1448         * rendering/svg/RenderSVGEllipse.h:
1449         * rendering/svg/RenderSVGForeignObject.h:
1450         * rendering/svg/RenderSVGGradientStop.h:
1451         * rendering/svg/RenderSVGHiddenContainer.h:
1452         (WebCore::RenderSVGHiddenContainer::renderName):
1453         (RenderSVGHiddenContainer):
1454         (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
1455         * rendering/svg/RenderSVGImage.h:
1456         * rendering/svg/RenderSVGInline.h:
1457         (WebCore::RenderSVGInline::renderName):
1458         (WebCore::RenderSVGInline::requiresLayer):
1459         (WebCore::RenderSVGInline::isSVGInline):
1460         (RenderSVGInline):
1461         * rendering/svg/RenderSVGInlineText.h:
1462         * rendering/svg/RenderSVGModelObject.h:
1463         (WebCore::RenderSVGModelObject::requiresLayer):
1464         (RenderSVGModelObject):
1465         * rendering/svg/RenderSVGPath.h:
1466         * rendering/svg/RenderSVGRect.h:
1467         * rendering/svg/RenderSVGResourceClipper.h:
1468         * rendering/svg/RenderSVGResourceContainer.h:
1469         (RenderSVGResourceContainer):
1470         (WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
1471         (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
1472         * rendering/svg/RenderSVGResourceFilter.h:
1473         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
1474         * rendering/svg/RenderSVGResourceGradient.h:
1475         (RenderSVGResourceGradient):
1476         (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
1477         * rendering/svg/RenderSVGResourceLinearGradient.h:
1478         * rendering/svg/RenderSVGResourceMarker.h:
1479         * rendering/svg/RenderSVGResourceMasker.h:
1480         * rendering/svg/RenderSVGResourcePattern.h:
1481         * rendering/svg/RenderSVGResourceRadialGradient.h:
1482         * rendering/svg/RenderSVGRoot.h:
1483         * rendering/svg/RenderSVGShape.h:
1484         (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
1485         (WebCore::RenderSVGShape::setNeedsTransformUpdate):
1486         (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
1487         (WebCore::RenderSVGShape::localToParentTransform):
1488         (WebCore::RenderSVGShape::localTransform):
1489         (WebCore::RenderSVGShape::isSVGShape):
1490         (RenderSVGShape):
1491         (WebCore::RenderSVGShape::objectBoundingBox):
1492         (WebCore::RenderSVGShape::strokeBoundingBox):
1493         * rendering/svg/RenderSVGTSpan.h:
1494         * rendering/svg/RenderSVGText.h:
1495         * rendering/svg/RenderSVGTextPath.h:
1496         * rendering/svg/RenderSVGTransformableContainer.h:
1497         * rendering/svg/RenderSVGViewportContainer.h:
1498
1499 2013-05-12  Anders Carlsson  <andersca@apple.com>
1500
1501         Simplify AutodrainedPool
1502         https://bugs.webkit.org/show_bug.cgi?id=115986
1503
1504         Reviewed by Andreas Kling.
1505
1506         Remove calls to AutodrainedPool::cycle as well as the iteration counter passed to the constructor.
1507         Instead, just declare RAII pools where it seems necessary.
1508
1509         * Modules/webdatabase/DatabaseThread.cpp:
1510         (WebCore::DatabaseThread::databaseThread):
1511         * fileapi/FileThread.cpp:
1512         (WebCore::FileThread::runLoop):
1513         * loader/icon/IconDatabase.cpp:
1514         (WebCore::IconDatabase::setIconDataForIconURL):
1515         (WebCore::IconDatabase::performURLImport):
1516         (WebCore::IconDatabase::readFromDatabase):
1517
1518 2013-05-12  Andreas Kling  <akling@apple.com>
1519
1520         Apply FINAL to the Node hierarchy.
1521         <http://webkit.org/b/115984>
1522
1523         Mostly from Blink r149454 by <cevans@chromium.org>
1524         <http://src.chromium.org/viewvc/blink?view=revision&revision=149454>
1525
1526         A couple of the stable DOM/ microbenchmarks are perf positive on Linux clang:
1527
1528             - CloneNodes time reduced from 162.4 to 156.5 ms.
1529             - CreateNodes time reduced from 113.9 to 104.9 ms.
1530
1531         * dom/: Beat things with the FINAL stick.
1532         * html/: Ditto.
1533         * svg/: Ditto.
1534
1535 2013-05-12  Andreas Kling  <akling@apple.com>
1536
1537         Devirtualize some things on Document.
1538
1539         From Blink r149967 by <esprehn@chromium.org>
1540         <http://src.chromium.org/viewvc/blink?view=revision&revision=149967>
1541
1542         Several methods on Document are virtual but don't override a super class method
1543         and don't need to be virtual. This patch devirtualizes:
1544
1545             - createElementNS()
1546             - finishedParsing()
1547             - suspendScriptedAnimationControllerCallbacks()
1548             - resumeScriptedAnimationControllerCallbacks()
1549
1550         It also removes the suspend and resume callbacks from ScriptExecutionContext
1551         since they didn't need to be there.
1552
1553         * dom/Document.h:
1554         * dom/ScriptExecutionContext.h:
1555
1556 2013-05-12  Andreas Kling  <akling@apple.com>
1557
1558         Remove redundant call to removeAllEventListeners() in Document::open().
1559
1560         From Blink r150175 by <dcheng@chromium.org>
1561         <http://src.chromium.org/viewvc/blink?view=revision&revision=150175>
1562
1563         Document::open() already calls Document::removeAllEventListeners(), which
1564         removes the event listeners from the DOMWindow it's attached to, so
1565         there's no need to do it manually here as well.
1566
1567         * dom/Document.cpp:
1568         (WebCore::Document::open):
1569
1570 2013-05-12  Andreas Kling  <akling@apple.com>
1571
1572         Apply FINAL to the RenderObject hierarchy.
1573         <http://webkit.org/b/115977>
1574
1575         Mostly from Blink r148795 by <cevans@chromium.org>
1576         <http://src.chromium.org/viewvc/blink?view=revision&revision=148795>
1577
1578         * rendering/: Beat things with the FINAL stick.
1579         * WebCore.exp.in: Export a now-needed symbol.
1580
1581 2013-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1582
1583         [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
1584         https://bugs.webkit.org/show_bug.cgi?id=115914
1585
1586         Reviewed by Martin Robinson.
1587
1588         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
1589         (WebCore::FullscreenVideoControllerGtk::hideHud):
1590         (WebCore::FullscreenVideoControllerGtk::initializeWindow):
1591         * platform/gtk/GtkVersioning.c:
1592         * platform/gtk/GtkVersioning.h:
1593         * platform/gtk/WidgetRenderingContext.cpp:
1594         (WebCore::WidgetRenderingContext::WidgetRenderingContext):
1595         * plugins/gtk/gtk2xtbin.c:
1596         (gtk_xtbin_realize):
1597
1598 2013-05-11  Brent Fulgham  <bfulgham@apple.com>
1599
1600         [Windows] Unreviewed build fix after r149932
1601
1602         * make-export-file-generator: Don't attempt to import
1603         (or use) non-existent cxxabi functions on Windows.
1604
1605 2013-05-11  Simon Fraser  <simon.fraser@apple.com>
1606
1607         Add more info to compositing log channel output
1608         https://bugs.webkit.org/show_bug.cgi?id=115978
1609
1610         Reviewed by Dean Jackson.
1611
1612         Add to compositing log channel output whether a layer paints
1613         into its compositing ancestor.
1614
1615         * rendering/RenderLayerCompositor.cpp:
1616         (WebCore::RenderLayerCompositor::logLayerInfo):
1617
1618 2013-05-10  Simon Fraser  <simon.fraser@apple.com>
1619
1620         REGRESSION: Fixed background on ColterReed.com scrolls
1621         https://bugs.webkit.org/show_bug.cgi?id=115951
1622
1623         Reviewed by Beth Dakin.
1624         
1625         The logic for painting the fixed root background into its own layer was
1626         broken when the document element's layer was composited. This could be caused
1627         by a negative z-index child of the body, or by an explicit compositing-causing
1628         style on the <html>.
1629         
1630         There were two issues. First, when painting the layer for the fixed root
1631         background, we would simply short-circuit the fixed background paint in
1632         RenderLayer::paintLayer(), when checking for a composited layer. We have
1633         to continue to paint through the composited <html> layer to get the root
1634         background in this case.
1635         
1636         Secondly, RenderLayerBacking::paintIntoLayer() would only set the PaintLayerPaintingSkipRootBackground
1637         flag if this RenderLayerBacking had a m_backgroundLayer. However, when the <html> is
1638         composited, we need to skip painting the root layer for both the RenderView's backing,
1639         and for the <html>'s backing. Checking whether there is *any* layer that paints
1640         the fixed root background (i.e. checking compositor()->fixedRootBackgroundLayer())
1641         is a simple way to fix this test.
1642
1643         Tests: platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html.html
1644                platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed.html
1645
1646         * rendering/RenderLayer.cpp:
1647         (WebCore::paintForFixedRootBackground):
1648         (WebCore::RenderLayer::paintLayer):
1649         * rendering/RenderLayerBacking.cpp:
1650         (WebCore::RenderLayerBacking::paintIntoLayer):
1651
1652 2013-05-11  Simon Fraser  <simon.fraser@apple.com>
1653
1654         Possible crash when going Back while loading PDF
1655         https://bugs.webkit.org/show_bug.cgi?id=115972
1656
1657         Reviewed by Dan Bernstein.
1658
1659         It's possible for m_frame to be null when Document::findUnsafeParentScrollPropagationBoundary()
1660         is called, so null-check currentFrame.
1661
1662         * dom/Document.cpp:
1663         (WebCore::Document::findUnsafeParentScrollPropagationBoundary):
1664
1665 2013-05-11  Alexey Proskuryakov  <ap@apple.com>
1666
1667         <rdar://problem/13823864> TextCodecICU complains about ambiguous codec names with current ICU release
1668         https://bugs.webkit.org/show_bug.cgi?id=115953
1669
1670         Reviewed by Darin Adler.
1671
1672         Store and use canonical converter name to create converters.
1673
1674         As a side effect, we now actually reuse cached converters - previously we would compare
1675         a standard encoding name to internal canonical one, which rarely match.
1676
1677         * platform/text/TextCodecICU.h:
1678         * platform/text/TextCodecICU.cpp:
1679         (WebCore::TextCodecICU::create): Pass canonical ICU converter name to constructor.
1680         (WebCore::TextCodecICU::registerEncodingNames): 
1681             - Updated terminology.
1682             - Added a comment that special cases should be kept in sync between registerEncodingNames
1683             and registerCodecs.
1684             - Moved maccyrillic alias to a correct section. It's not present in ICU even today.
1685             - Changed a few aliases to actually map to standard name, not to an overridden one
1686             (this doesn't change behavior since addToTextEncodingNameMap looks up canonical
1687             name, but is clearer).
1688         (WebCore::TextCodecICU::registerCodecs): Store a converter name to use with each
1689         canonical encoding name.
1690         (WebCore::TextCodecICU::TextCodecICU): Ditto.
1691         (WebCore::TextCodecICU::releaseICUConverter): Reset the converter to remove any
1692         leftover data.
1693         (WebCore::TextCodecICU::createICUConverter): 
1694             - Compare converter name to converter name, not to another alias name.
1695             - Use proper string comparison instead of pointer comparison.
1696             - When creating a converter, assert that the name is not ambigous - canonical
1697             converter names should never be, otherwise there would be no way to create
1698             the converter without ambiguity.
1699
1700 2013-05-11  Antoine Quint  <graouts@apple.com>
1701
1702         [Mac] The captions menu should not use a canned max-width and max-height
1703         https://bugs.webkit.org/show_bug.cgi?id=115968
1704
1705         Reviewed by Eric Carlson.
1706
1707         Use more real estate to display the captions menu should the caption names
1708         be long.
1709
1710         * css/mediaControlsQuickTime.css:
1711         (video::-webkit-media-controls-closed-captions-container):
1712         (video::-webkit-media-controls-closed-captions-track-list):
1713         Make the captions menu scale to a max-width and max-height to allow 4px
1714         above and below the menu, except on the right where it always aligns with
1715         the captions icon in the media controller.
1716         * html/shadow/MediaControlsApple.cpp:
1717         (WebCore::MediaControlsApple::createControls):
1718         Move the captions menu element to be a child of the controls instead of
1719         the panel such that it may scale relative to the controls when using %
1720         CSS values.
1721
1722 2013-05-11  Jochen Eisinger  <jochen@chromium.org>
1723
1724         Disallow a window to focus itself via javascript URLs or using target _self
1725         https://bugs.webkit.org/show_bug.cgi?id=115906
1726
1727         Reviewed by Geoffrey Garen.
1728
1729         Test: fast/dom/Window/window-focus-self.html
1730
1731         * loader/FrameLoader.cpp:
1732         (WebCore::createWindow):
1733         * page/DOMWindow.cpp:
1734         (WebCore::DOMWindow::focus):
1735
1736 2013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1737
1738         Fix several style warnings in generated bindings
1739         https://bugs.webkit.org/show_bug.cgi?id=115961
1740
1741         Reviewed by Kentaro Hara.
1742
1743         Fix several style errors in the bindings generated under
1744         Source/WebCore/bindings/scripts/test/
1745
1746         No new tests, no behavior change.
1747
1748         * bindings/scripts/CodeGeneratorCPP.pm:
1749         (GenerateImplementation):
1750         (WriteData):
1751         * bindings/scripts/CodeGeneratorJS.pm:
1752         (GenerateHeader):
1753         (GenerateImplementation):
1754         (WriteData):
1755         * bindings/scripts/CodeGeneratorObjC.pm:
1756         (GenerateHeader):
1757         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
1758         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
1759         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
1760         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
1761         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
1762         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
1763         * bindings/scripts/test/CPP/WebDOMTestException.cpp:
1764         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
1765         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp:
1766         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp:
1767         * bindings/scripts/test/CPP/WebDOMTestNode.cpp:
1768         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1769         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp:
1770         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
1771         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
1772         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1773         (WebCore::toJS):
1774         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
1775         (WebCore::JSTestActiveDOMObject::releaseImplIfNotNull):
1776         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1777         (WebCore::toJS):
1778         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
1779         (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
1780         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1781         (WebCore::toJS):
1782         * bindings/scripts/test/JS/JSTestEventConstructor.h:
1783         (WebCore::JSTestEventConstructor::releaseImplIfNotNull):
1784         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1785         (WebCore::toJS):
1786         * bindings/scripts/test/JS/JSTestEventTarget.h:
1787         (WebCore::JSTestEventTarget::releaseImplIfNotNull):
1788         * bindings/scripts/test/JS/JSTestException.cpp:
1789         (WebCore::toJS):
1790         * bindings/scripts/test/JS/JSTestException.h:
1791         (WebCore::JSTestException::releaseImplIfNotNull):
1792         * bindings/scripts/test/JS/JSTestInterface.cpp:
1793         (WebCore::toJS):
1794         * bindings/scripts/test/JS/JSTestInterface.h:
1795         (WebCore::JSTestInterface::releaseImplIfNotNull):
1796         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1797         (WebCore::toJS):
1798         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1799         (WebCore::JSTestMediaQueryListListener::releaseImplIfNotNull):
1800         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1801         (WebCore::toJS):
1802         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1803         (WebCore::JSTestNamedConstructor::releaseImplIfNotNull):
1804         * bindings/scripts/test/JS/JSTestObj.cpp:
1805         (WebCore::toJS):
1806         * bindings/scripts/test/JS/JSTestObj.h:
1807         (WebCore::JSTestObj::releaseImplIfNotNull):
1808         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1809         (WebCore::toJS):
1810         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
1811         (WebCore::JSTestOverloadedConstructors::releaseImplIfNotNull):
1812         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1813         (WebCore::toJS):
1814         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1815         (WebCore::JSTestSerializedScriptValueInterface::releaseImplIfNotNull):
1816         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1817         (WebCore::toJS):
1818         * bindings/scripts/test/JS/JSTestTypedefs.h:
1819         (WebCore::JSTestTypedefs::releaseImplIfNotNull):
1820         * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h:
1821         (WebCore):
1822         * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
1823         (WebCore):
1824         * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
1825         (WebCore):
1826         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
1827         (WebCore):
1828         * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
1829         (WebCore):
1830         * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
1831         (WebCore):
1832         * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
1833         (WebCore):
1834         * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
1835         (WebCore):
1836         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
1837         (WebCore):
1838         * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
1839         (WebCore):
1840         * bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
1841         (WebCore):
1842         * bindings/scripts/test/ObjC/DOMTestObjInternal.h:
1843         (WebCore):
1844         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
1845         (WebCore):
1846         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
1847         (WebCore):
1848         * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
1849         (WebCore):
1850
1851 2013-05-11  Anders Carlsson  <andersca@apple.com>
1852
1853         Make it a build error to put invalid C++ symbol names in WebCore.exp.in
1854         https://bugs.webkit.org/show_bug.cgi?id=115958
1855
1856         Reviewed by Andreas Kling.
1857
1858         While invalid C++ symbols will eventually show up as a link error since the symbol won't be found,
1859         this makes it easier to catch invalid symbols inside of #ifdefs.
1860
1861         * make-export-file-generator:
1862         Try to demangle C++ symbols before printing them.
1863
1864 2013-05-11  David Kilzer  <ddkilzer@apple.com>
1865
1866         BUILD FIX (r149718): Move exported symbol into ENABLE(FULLSCREEN_API) section
1867
1868         Fixes the following build failure when ENABLE(FULLSCREEN_API) is
1869         off:
1870
1871             Undefined symbols for architecture i386:
1872               "__ZNK7WebCore7Element25containsFullScreenElementEv", referenced from:
1873                  -exported_symbol[s_list] command line option
1874
1875         * WebCore.exp.in: Move the symbol.
1876
1877 2013-05-11  Robert Hogan  <robert@webkit.org>
1878
1879         Unreviewed, remove some lint accidentally left in r149929.
1880
1881         * rendering/InlineFlowBox.cpp:
1882         (WebCore::verticalAlignApplies):
1883
1884 2013-03-17  Robert Hogan  <robert@webkit.org>
1885
1886         Text flow broken in elements with vertical align top/bottom and inline elements taller than line-height
1887         https://bugs.webkit.org/show_bug.cgi?id=111974
1888
1889         Reviewed by Ryosuke Niwa.
1890         
1891         Per http://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align 'vertical-align' only applies to inline and table-cell
1892         elements.
1893
1894         Test: fast/css/vertical-align-block-elements.html
1895
1896         * rendering/InlineFlowBox.cpp:
1897         (WebCore::isTextInBlockElement):
1898         (WebCore):
1899         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1900         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1901         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1902
1903 2013-05-11  Benjamin Poulain  <bpoulain@apple.com>
1904
1905         Make CanvasStyle a plain object instead of an RefCounted object
1906         https://bugs.webkit.org/show_bug.cgi?id=115775
1907
1908         Reviewed by Andreas Kling.
1909
1910         CanvasStyle is just 2 words wide. We do not gain anything from allocating
1911         it on the heap. Change the object to be just a type and some data.
1912
1913         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1914         (WebCore::toJS):
1915         (WebCore::toHTMLCanvasStyle):
1916         * html/HTMLCanvasElement.cpp:
1917         * html/canvas/CanvasRenderingContext2D.cpp:
1918         (WebCore::CanvasRenderingContext2D::State::State):
1919         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
1920         (WebCore::CanvasRenderingContext2D::setFillStyle):
1921         (WebCore::CanvasRenderingContext2D::setStrokeColor):
1922         (WebCore::CanvasRenderingContext2D::setFillColor):
1923         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
1924         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1925         * html/canvas/CanvasRenderingContext2D.h:
1926         (WebCore::CanvasRenderingContext2D::strokeStyle):
1927         (CanvasRenderingContext2D):
1928         (WebCore::CanvasRenderingContext2D::fillStyle):
1929         (State):
1930         * html/canvas/CanvasStyle.cpp:
1931         (WebCore::CanvasStyle::CanvasStyle):
1932         (WebCore::CanvasStyle::createFromString):
1933         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
1934         (WebCore::CanvasStyle::isEquivalentColor):
1935         (WebCore):
1936         (WebCore::CanvasStyle::operator=):
1937         (WebCore::CanvasStyle::applyStrokeColor):
1938         (WebCore::CanvasStyle::applyFillColor):
1939         * html/canvas/CanvasStyle.h:
1940         (CanvasStyle):
1941         (WebCore::CanvasStyle::isValid):
1942         (WebCore::CanvasStyle::CanvasStyle):
1943         (WebCore):
1944         (WebCore::CanvasStyle::operator=):
1945
1946 2013-05-11  Benjamin Poulain  <benjamin@webkit.org>
1947
1948         Gradient::platformGradient: Vector reserveCapacity -> reserveInitialCapacity
1949         https://bugs.webkit.org/show_bug.cgi?id=115779
1950
1951         Reviewed by Andreas Kling.
1952
1953         * platform/graphics/cg/GradientCG.cpp:
1954         (WebCore::Gradient::platformGradient): Clang is surprisingly smart at removing
1955         all the branches of this function. Remove two more with reserveInitialCapacity.
1956
1957 2013-05-10  Alexey Proskuryakov  <ap@apple.com>
1958
1959         <rdar://problem/13666412> Clean up some edge cases of URL parsing.
1960         https://bugs.webkit.org/show_bug.cgi?id=104919
1961
1962         Reviewed by Darin Adler.
1963
1964         Test: fast/url/segments-userinfo-vs-host.html
1965
1966         * page/SecurityOrigin.cpp:
1967         (WebCore::schemeRequiresHost):
1968         (WebCore::shouldTreatAsUniqueOrigin):
1969         Updated function name and comments (host is not the same as authority). We still
1970         need this check - KURL can still produce http URLs with an empty host (even as this
1971         patch reduces the number of such cases). So can Gecko and current draft of URL
1972         Standard.
1973         It would be good to have a guarantee that such useless URLs can not come out of
1974         URL parser, as relying on downstream code re-parsing the URL correctly would be fragile.
1975
1976         * platform/KURL.cpp:
1977         (WebCore::hostPortIsEmptyButCredentialsArePresent): Updated an argument name for
1978         correctness.
1979         (WebCore::KURL::parse):
1980         1. Reverted behavior changes from <http://trac.webkit.org/changeset/82181> - I could
1981         find no reason to allow "@" in hostnames, and having a URL like this re-parsed by
1982         a different parser would likely produce different results. It's better to just treat
1983         these edge case URLs as invalid.
1984         2. When hostname component is a lone colon, preserve it in parsed URL string,
1985         as otherwise path would get pushed in its place when re-parsing.
1986         3. When authority component is a lone colon, don't forget to "//" after scheme, too.
1987         4. Added some assertions about contents of authority component, to catch potential
1988         mis-parsing earlier.
1989
1990 2013-05-10  Alexey Proskuryakov  <ap@apple.com>
1991
1992         Make TextCodecICU not depend on TextEncoding
1993         https://bugs.webkit.org/show_bug.cgi?id=115848
1994
1995         Reviewed by Darin Adler.
1996
1997         * platform/text/TextCodecICU.cpp:
1998         (WebCore::TextCodecICU::create):
1999         (WebCore::TextCodecICU::TextCodecICU):
2000         (WebCore::TextCodecICU::createICUConverter):
2001         (WebCore::TextCodecICU::decode):
2002         (WebCore::TextCodecICU::encode):
2003         * platform/text/TextCodecICU.h:
2004         Use a plain encoding string in platform encoder wrapper, not a higher level concept.
2005
2006 2013-05-10  Laszlo Gombos  <l.gombos@samsung.com>
2007
2008         Remove Mac OS X Leopard (10.5) support
2009         https://bugs.webkit.org/show_bug.cgi?id=107964
2010
2011         Reviewed by Ryosuke Niwa.
2012
2013         Removed the code for 10.5 and removed if-def for 10.6.
2014
2015         No new tests, covered by existing tests.
2016
2017         * platform/LocalizedStrings.cpp:
2018         (WebCore::contextMenuItemTagLookUpInDictionary):
2019         * platform/graphics/cg/GraphicsContextCG.cpp:
2020         * platform/mac/EmptyProtocolDefinitions.h:
2021         * platform/mac/NSScrollerImpDetails.h:
2022         * platform/mac/WebCoreSystemInterface.h:
2023         * platform/text/mac/HyphenationMac.mm:
2024
2025 2013-05-10  Laszlo Gombos  <l.gombos@samsung.com>
2026
2027         Remove USE(OS_RANDOMNESS)
2028         https://bugs.webkit.org/show_bug.cgi?id=108095
2029
2030         Reviewed by Darin Adler.
2031
2032         Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
2033         ports.
2034
2035         No new tests as this is covered by existing tests.
2036
2037         * page/Crypto.cpp:
2038         (WebCore::Crypto::getRandomValues):
2039         * platform/UUID.cpp:
2040         (WebCore::createCanonicalUUIDString):
2041
2042 2013-05-10  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2043
2044         Remove [NoInterfaceObject] from several WebAudio IDL interfaces
2045         https://bugs.webkit.org/show_bug.cgi?id=115894
2046
2047         Reviewed by Darin Adler.
2048
2049         Several WebAudio IDL interfaces had [NoInterfaceObject] extended attribute set,
2050         meaning that there was no corresponding attribute on the global window object.
2051         This behavior is not according to the specification:
2052         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
2053
2054         This patch removes the [NoInterfaceObject] extended attribute where needed to
2055         match the specification.
2056
2057         No new tests, already covered by existing tests.
2058
2059         * Modules/webaudio/AnalyserNode.idl:
2060         * Modules/webaudio/AudioBuffer.idl:
2061         * Modules/webaudio/AudioBufferSourceNode.idl:
2062         * Modules/webaudio/AudioDestinationNode.idl:
2063         * Modules/webaudio/AudioListener.idl:
2064         * Modules/webaudio/AudioNode.idl:
2065         * Modules/webaudio/AudioParam.idl:
2066         * Modules/webaudio/BiquadFilterNode.idl:
2067         * Modules/webaudio/ChannelMergerNode.idl:
2068         * Modules/webaudio/ChannelSplitterNode.idl:
2069         * Modules/webaudio/ConvolverNode.idl:
2070         * Modules/webaudio/DelayNode.idl:
2071         * Modules/webaudio/DynamicsCompressorNode.idl:
2072         * Modules/webaudio/GainNode.idl:
2073         * Modules/webaudio/MediaElementAudioSourceNode.idl:
2074         * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
2075         * Modules/webaudio/MediaStreamAudioSourceNode.idl:
2076         * Modules/webaudio/OscillatorNode.idl:
2077         * Modules/webaudio/ScriptProcessorNode.idl:
2078         * Modules/webaudio/WaveShaperNode.idl:
2079         * Modules/webaudio/WaveTable.idl:
2080
2081 2013-05-10  Simon Fraser  <simon.fraser@apple.com>
2082
2083         REGRESSION (r145680): No box shadow rendered on element with positioned child that obscures it
2084         https://bugs.webkit.org/show_bug.cgi?id=115840
2085
2086         Reviewed by Antti Koivisto.
2087         
2088         In r107836, we moved some box-shadow painting into the paintFillLayer code for performance.
2089         However, in r145680 we started to skip background painting when we know the background is
2090         obscured. This broke shadow painting in some cases.
2091         
2092         Fix by always painting the background fill layers if we know that they will also
2093         paint the shadow.
2094
2095         Test: fast/box-shadow/box-shadow-obscured-backgrounds.html
2096
2097         * rendering/RenderBox.cpp:
2098         (WebCore::RenderBox::paintBackground):
2099
2100 2013-05-10  Simon Fraser  <simon.fraser@apple.com>
2101
2102         REGRESSION (r143626): Element shows as garbage in image gallery
2103         https://bugs.webkit.org/show_bug.cgi?id=115946
2104
2105         Reviewed by Antti Koivisto.
2106         
2107         RenderLayer::backgroundIsKnownToBeOpaqueInRect() used hasVisibleContent()
2108         to check whether the layer's content was hidden via the visibility property.
2109         However, this assumed that a passing hasVisibleContent() check meant that the
2110         entire area was covered by the renderers and layers checked layer.
2111         
2112         This is not always true. It's possible to have a visibility:hidden layer
2113         with a non-covering visbility:visible child, or even a single RenderText
2114         child that happens to have visibility:visible style. In these situations,
2115         hasVisibleContent() returns true but the entire area is not painted.
2116         
2117         So we have to fall back to on a more conservative check using the
2118         visibility style, which will give is a reliable answer for the current layer.
2119
2120         Tests: compositing/contents-opaque/hidden-with-visible-child.html
2121                compositing/contents-opaque/hidden-with-visible-text.html
2122
2123         * rendering/RenderLayer.cpp:
2124         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
2125
2126 2013-05-10  Simon Fraser  <simon.fraser@apple.com>
2127
2128         Garbage down left side of nytimes.com page (if subscriber)
2129         https://bugs.webkit.org/show_bug.cgi?id=115839
2130
2131         Reviewed by Antti Koivisto.
2132         
2133         RenderLayer::backgroundIsKnownToBeOpaqueInRect() would incorrectly return true
2134         for layers where the given rect wasn't contained in the background rect, but
2135         where some child layer obscured the rect, even though clipping hid part
2136         of that child layer.
2137         
2138         So bail from RenderLayer::backgroundIsKnownToBeOpaqueInRect() if we have
2139         any overflow clipping. This could be enhanced in future to test whether child
2140         layers obscure the clipping rect, but that would be more expensive.
2141
2142         Test: compositing/contents-opaque/overflow-hidden-child-layers.html
2143
2144         * rendering/RenderLayer.cpp:
2145         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
2146
2147 2013-05-10  Eric Carlson  <eric.carlson@apple.com>
2148
2149         In-band captions not visible immediately after track mode change
2150         https://bugs.webkit.org/show_bug.cgi?id=115922
2151
2152         Reviewed by Dean Jackson.
2153
2154         Test: media/track/track-in-band-mode.html
2155
2156         * html/HTMLMediaElement.cpp:
2157         (WebCore::HTMLMediaElement::textTrackModeChanged): Add cues for all loaded tracks, regardless
2158             of track type.
2159
2160 2013-05-10  Timothy Hatcher  <timothy@apple.com>
2161
2162         Web Inspector: determine the resource type in InspectorResourceAgent::willSendRequest.
2163
2164         This allows the Network timeline and Resources sidebar to filter Resources earlier,
2165         before the server sends a response. Useful for long polling (comet) XHRs.
2166
2167         https://webkit.org/b/74935
2168         rdar://problem/13726105
2169
2170         Reviewed by Joseph Pecoraro.
2171
2172         * inspector/Inspector.json:
2173         (Network.requestWillBeSent): Added.
2174         * inspector/InspectorResourceAgent.cpp:
2175         (WebCore::InspectorResourceAgent::willSendRequest): Send the type if it isn't Other along in requestWillBeSent.
2176         (WebCore::InspectorResourceAgent::didReceiveResponse): Don't determine the type here anymore. Clear the CachedResource
2177         if isNotModified like the old code path did by not setting cachedResource if !isNotModified.
2178
2179 2013-05-10  Laszlo Gombos  <l.gombos@samsung.com>
2180
2181         [CMake] Consolidate list of files to build for WebCore plugin support
2182         https://bugs.webkit.org/show_bug.cgi?id=104429
2183
2184         Reviewed by Rob Buis.
2185
2186         Move the common files to support plugins and the logic for disabling
2187         plugins) to CMakeLists.txt from PlatformXXX.cmake.
2188
2189         No new tests as there is no new functionality.
2190
2191         * CMakeLists.txt:
2192         * PlatformBlackBerry.cmake:
2193         * PlatformEfl.cmake:
2194         * PlatformWinCE.cmake:
2195
2196 2013-05-10  Robert Hogan  <robert@webkit.org>
2197
2198         REGRESSION(r148121): Empty Span does not get a linebox when it's in an anonymous block
2199         https://bugs.webkit.org/show_bug.cgi?id=115818
2200
2201         Reviewed by David Hyatt.
2202
2203         r148121 only worried about split inlines inside anonymous blocks - it ought to have 
2204         catered for empty inlines, with no continuations, inside a single solitary anonymous block too.
2205
2206         Test: fast/inline/anonymous-block-with-empty-inline.html
2207
2208         * rendering/RenderBlockLineLayout.cpp:
2209         (WebCore::hasInlineDirectionBordersPaddingOrMargin):
2210
2211 2013-05-10  Zan Dobersek  <zdobersek@igalia.com>
2212
2213         [GTK] Remove unnecessary includes in WidgetGtk.cpp
2214         https://bugs.webkit.org/show_bug.cgi?id=115912
2215
2216         Reviewed by Andreas Kling.
2217
2218         No new tests - no new functionality.
2219
2220         * platform/gtk/WidgetGtk.cpp: Remove the unnecessary includes of the Chrome.h, Frame.h, FrameView.h,
2221         Page.h and RenderObject.h headers as the included declarations are not used anywhere. ScrollView.h is
2222         included instead as it is required and was previously included by one of the removed header inclusions.
2223
2224 2013-05-10  Zan Dobersek  <zdobersek@igalia.com>
2225
2226         [Cairo] Remove the unnecessary ImageData.h include in ImageBufferCairo.cpp
2227         https://bugs.webkit.org/show_bug.cgi?id=115911
2228
2229         Reviewed by Carlos Garcia Campos.
2230
2231         No new tests - no new functionality.
2232
2233         * platform/graphics/cairo/ImageBufferCairo.cpp: Remove the ImageData.h include
2234         as the included declarations are not used anywhere.
2235
2236 2013-05-10  Zan Dobersek  <zdobersek@igalia.com>
2237
2238         [Cairo] Remove the unnecessary CSSParser.h include in GradientCairo.cpp
2239         https://bugs.webkit.org/show_bug.cgi?id=115910
2240
2241         Reviewed by Laszlo Gombos.
2242
2243         No new tests - no new functionality.
2244
2245         * platform/graphics/cairo/GradientCairo.cpp: Remove the CSSParser.h include
2246         as the included declarations are not used anywhere.
2247
2248 2013-05-10  Dean Jackson  <dino@apple.com>
2249
2250         Include tab character as a word end for kerning
2251         https://bugs.webkit.org/show_bug.cgi?id=115915
2252         <rdar://problem/13861491>
2253
2254         Reviewed by Enrica Casucci.
2255
2256         This is a follow-up to https://bugs.webkit.org/show_bug.cgi?id=112507
2257         which only looked for a space character as a word end. It should
2258         look for tab characters too.
2259
2260         Test: fast/text/word-space-with-kerning-4.html
2261
2262         * rendering/RenderBlockLineLayout.cpp:
2263         (WebCore::setLogicalWidthForTextRun): Look for '\t'.
2264
2265 2013-05-10  Anders Carlsson  <andersca@apple.com>
2266
2267         Remove EventTracer
2268         https://bugs.webkit.org/show_bug.cgi?id=115916
2269
2270         Reviewed by Sam Weinig.
2271
2272         EventTracer is dead code, remove it.
2273
2274         * CMakeLists.txt:
2275         * GNUmakefile.list.am:
2276         * Target.pri:
2277         * WebCore.vcproj/WebCore.vcproj:
2278         * WebCore.vcxproj/WebCore.vcxproj:
2279         * WebCore.vcxproj/WebCore.vcxproj.filters:
2280         * WebCore.xcodeproj/project.pbxproj:
2281         * platform/EventTracer.cpp: Removed.
2282         * platform/EventTracer.h: Removed.
2283
2284 2013-05-10  Zan Dobersek  <zdobersek@igalia.com>
2285
2286         [GTK] Generated files are regenerated always
2287         https://bugs.webkit.org/show_bug.cgi?id=115908
2288
2289         Reviewed by Carlos Garcia Campos.
2290
2291         No new tests - no change in functionality.
2292
2293         * GNUmakefile.am: Don't treat the window constructors IDL file as a dependency of the JavaScriptCore bindings.
2294         The file is generated during the IDL preprocessing, and the JSC bindings already depend on that step through
2295         the idl_supplemental_dependencies file. Because of that the window constructors IDL file has a phony target
2296         which seems to confuse the bindings generation rule into thinking that a complete regeration of the bindings is required.
2297
2298 2013-05-10  Andreas Kling  <akling@apple.com>
2299
2300         Caching of generated images in CSS should be smarter.
2301         <http://webkit.org/b/115902>
2302         <rdar://problem/13542727>
2303
2304         Reviewed by Antti Koivisto.
2305
2306         Add an IntSize => GeneratorGeneratedImage cache at the CSSImageGeneratorValue level.
2307
2308         CSSGradientValue is currently the only CSSImageGeneratorValue subclass that makes use of the cache.
2309         Generated images are kept for 3 seconds after last use.
2310
2311         The main problem with the previous approach was that background renderers (e.g <body>, <tr>, etc)
2312         would be passed to multiple CSSImageGeneratorValue::getImage() calls with different sizes requested
2313         for each of the descendent renderers that inherit their background from the same parent.
2314         The cache wasn't smart enough for this, it just thought the background renderer was changing size
2315         a lot, and would regenerate the image over and over.
2316
2317         We already had caching of intermediate image buffers for GeneratorGeneratedImage::drawPattern().
2318         This removes the eviction timer from that cache so that the intermediate images can live a bit longer.
2319
2320         (WebCore::CSSImageGeneratorValue::cachedImageForSize):
2321         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
2322
2323             Renamed from getImage() and putImage().
2324
2325         (WebCore::CSSImageGeneratorValue::evictCachedGeneratedImage):
2326         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
2327         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::evictionTimerFired):
2328
2329             Let the CachedGeneratedImage throw itself out from cache when the timer fires.
2330
2331         * css/CSSImageGeneratorValue.h:
2332         (CachedGeneratedImage):
2333
2334             Exactly what it sounds like. These go into CSSImageGeneratorValue::m_images with the size
2335             as the hash key.
2336
2337         * platform/graphics/GeneratorGeneratedImage.cpp:
2338         (WebCore::GeneratorGeneratedImage::drawPattern):
2339         * platform/graphics/GeneratorGeneratedImage.h:
2340         (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
2341         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
2342
2343             Keep the intermediate image for drawPattern() until destruction instead of dropping it on
2344             a timer. These objects are now evicted by the CSSImageGeneratorValue's image cache
2345             after 3 seconds of disuse rather than kept for the lifetime of the renderer.
2346
2347         * css/CSSCanvasValue.cpp:
2348         (WebCore::CSSCanvasValue::canvasChanged):
2349         (WebCore::CSSCanvasValue::canvasResized):
2350         * css/CSSCrossfadeValue.cpp:
2351         (WebCore::CSSCrossfadeValue::crossfadeChanged):
2352         * rendering/style/StyleGeneratedImage.cpp:
2353         (WebCore::StyleGeneratedImage::addClient):
2354         * css/CSSImageGeneratorValue.cpp:
2355         (WebCore::CSSImageGeneratorValue::addClient):
2356         (WebCore::CSSImageGeneratorValue::removeClient):
2357
2358             CSSImageGeneratorValue::m_clients is now a HashCountedSet<RenderObject*>, tweak accordingly.
2359
2360 2013-05-10  Anders Carlsson  <andersca@apple.com>
2361
2362         Remove MemoryUsageSupport class
2363         https://bugs.webkit.org/show_bug.cgi?id=115913
2364
2365         Reviewed by Andreas Kling.
2366
2367         MemoryUsageSupport was just used by a single call site in InspectorTimelineAgent,
2368         and the function called always returns zero on all platforms! Remove it.
2369
2370         * CMakeLists.txt:
2371         * GNUmakefile.list.am:
2372         * Target.pri:
2373         * WebCore.vcproj/WebCore.vcproj:
2374         * WebCore.vcxproj/WebCore.vcxproj:
2375         * WebCore.vcxproj/WebCore.vcxproj.filters:
2376         * WebCore.xcodeproj/project.pbxproj:
2377         * inspector/InspectorMemoryAgent.cpp:
2378         * inspector/InspectorTimelineAgent.cpp:
2379         (WebCore):
2380         (WebCore::InspectorTimelineAgent::setNativeHeapStatistics):
2381         * platform/MemoryUsageSupport.cpp: Removed.
2382         * platform/MemoryUsageSupport.h: Removed.
2383         * platform/qt/MemoryUsageSupportQt.cpp: Removed.
2384
2385 2013-05-10  Ryosuke Niwa  <rniwa@webkit.org>
2386
2387         REGRESSION (r149652): Videos do not play on cnn.com, just black box
2388         https://bugs.webkit.org/show_bug.cgi?id=115887
2389
2390         Reviewed by Antti Koivisto.
2391
2392         The bug was caused by window and document named item maps counting the same element twice
2393         when it has the same id and name attribute values. Fixed the bug by avoiding to add or remove
2394         an element per id and name attribute updates when it had already been added or removed by
2395         name and id attribute updates respectively.
2396
2397         We do this by checking whether the other attribute affects the element's precense in window
2398         and document named item maps and avoiding to add or remove the attribute when they do and
2399         the other attribute is present in updateId and updateName.
2400
2401         Consider a scenario when an object element has id "foo", and name attribute is about to be also
2402         set to "foo". If the id attribute doesn't affect element's presense in window or document
2403         named item maps, we're done. If it does, then the maps already have this element so we don't
2404         want to add it again. Conversely, if the element already has id and name attributes set to
2405         "foo", and we're moving the id attribute, then we want to remove the element from the maps only
2406         if the id doesn't affect the presence of the element in the maps.
2407
2408         Unfortuntely, this logic doesn't work when we're inserting or removing an element on its entirely
2409         because updateId and updateName are called when both id and name attributes are present so skip
2410         this step (AlwaysUpdateHTMLDocumentNamedItemMaps) for the id attribute to break the symmetry.
2411
2412         Test: fast/dom/HTMLDocument/image-with-same-id-and-name.html
2413               fast/dom/HTMLDocument/object-with-same-id-and-name.html
2414
2415         * dom/Element.cpp:
2416         (WebCore::Element::insertedInto): Call updateId and updateName with
2417         AlwaysUpdateHTMLDocumentNamedItemMaps.
2418         (WebCore::Element::removedFrom): Ditto.
2419         (WebCore::Element::updateName): Don't add or remove this element if the id attribute has already
2420         done so except when we're inserting, removing, or cloning an element.
2421         (WebCore::Element::updateId): Ditto for the name attribute.
2422         (WebCore::Element::cloneAttributesFromElement): Added a comment and assert that we never call this
2423         function when this element is in the document. We can't update window and documemt named item
2424         maps here because image element's id attribute value, for example, is present in the document's
2425         named item map if it has a name attribute. Since this function calls updateId and updateName
2426         before updating attributes, this check is going to fail in DocumentNameCollection's
2427         nodeMatchesIfIdAttributeMatch and bad things will happen.
2428
2429         * dom/Element.h:
2430
2431         * editing/ReplaceNodeWithSpanCommand.cpp:
2432         (WebCore::swapInNodePreservingAttributesAndChildren): Clone children and attributes before
2433         inserting the swapped span to avoid hitting the assertion in cloneAttributesFromElement we added.
2434
2435         * html/HTMLImageElement.cpp:
2436         (WebCore::HTMLImageElement::parseAttribute):
2437
2438         * html/HTMLObjectElement.cpp:
2439         (WebCore::HTMLObjectElement::updateDocNamedItem):
2440
2441 2013-05-09  Dean Jackson  <dino@apple.com>
2442
2443         Don't trust character widths for internal OS X fonts in form controls
2444         https://bugs.webkit.org/show_bug.cgi?id=115883
2445         <rdar://problem/13817757>
2446
2447         Reviewed by Darin Adler.
2448
2449         We ignore the character width for a bunch of fonts when predicting
2450         the width of a form control. Some of the internal fonts in OS X are
2451         not in the ignored list. Rather than add them, simply test for
2452         fonts whose family begins with a period character ".".
2453
2454         * rendering/RenderTextControl.cpp:
2455         (WebCore::RenderTextControl::hasValidAvgCharWidth): Return false for
2456             any family that starts with "."
2457
2458 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2459
2460         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
2461         https://bugs.webkit.org/show_bug.cgi?id=115904
2462
2463         Reviewed by Martin Robinson.
2464
2465         * bindings/gobject/WebKitDOMEventTarget.cpp:
2466         * platform/gtk/GtkVersioning.c:
2467         * platform/gtk/GtkVersioning.h:
2468
2469 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2470
2471         Unreviewed. Fix the ENABLE(SHARED_WORKERS) build after r149864.
2472
2473         * workers/SharedWorkerThread.cpp: include "SecurityOrigin.h"
2474
2475 2013-05-10  Claudio Saavedra  <csaavedra@igalia.com>
2476
2477         Fix build after r149864.
2478
2479         Unreviewed build fix.
2480
2481         * loader/ThreadableLoader.h: include <wtf/text/AtomicString.h>
2482         when building with RESOURCE_TIMING enabled.
2483
2484 2013-05-10  Anders Carlsson  <andersca@apple.com>
2485
2486         Fix build.
2487
2488         * bindings/js/ScriptController.cpp:
2489
2490 2013-05-10  Anders Carlsson  <andersca@apple.com>
2491
2492         Remove ScriptInstance.h
2493         https://bugs.webkit.org/show_bug.cgi?id=115900
2494
2495         Reviewed by Andreas Kling.
2496
2497         Remove yet another abstraction now that we don't support V8.
2498
2499         * GNUmakefile.list.am:
2500         * WebCore.vcproj/WebCore.vcproj:
2501         * WebCore.vcxproj/WebCore.vcxproj:
2502         * WebCore.vcxproj/WebCore.vcxproj.filters:
2503         * WebCore.xcodeproj/project.pbxproj:
2504         * bindings/js/ScriptController.h:
2505         (Bindings):
2506         (ScriptController):
2507         * bindings/js/ScriptControllerMac.mm:
2508         (WebCore::ScriptController::createScriptInstanceForWidget):
2509         * bindings/js/ScriptInstance.h: Removed.
2510         * html/HTMLPlugInElement.cpp:
2511         (WebCore::HTMLPlugInElement::getInstance):
2512         * html/HTMLPlugInElement.h:
2513         (Bindings):
2514         (HTMLPlugInElement):
2515         * platform/graphics/wince/MediaPlayerProxy.h:
2516         (WebMediaPlayerProxy):
2517         * rendering/RenderEmbeddedObject.cpp:
2518         * rendering/RenderSnapshottedPlugIn.cpp:
2519
2520 2013-05-10  Anders Carlsson  <andersca@apple.com>
2521
2522         Unreviewed, rolling out r149866.
2523         http://trac.webkit.org/changeset/149866
2524         https://bugs.webkit.org/show_bug.cgi?id=115898
2525
2526         Broke tests
2527
2528         * dom/Document.cpp:
2529         (WebCore::Document::setDomain):
2530         (WebCore::Document::initSecurityContext):
2531         * page/SecurityOrigin.cpp:
2532         (WebCore::SecurityOrigin::SecurityOrigin):
2533         (WebCore::SecurityOrigin::isolatedCopy):
2534         (WebCore::SecurityOrigin::setDomainFromDOM):
2535         (WebCore::SecurityOrigin::grantUniversalAccess):
2536         * page/SecurityOrigin.h:
2537         (SecurityOrigin):
2538
2539 2013-05-10  Andrei Bucur  <abucur@adobe.com>
2540
2541         Remove overflow dead code
2542         https://bugs.webkit.org/show_bug.cgi?id=115893
2543
2544         Reviewed by Antti Koivisto.
2545
2546         The patch removes unused public overflow accesor functions from RenderOverflow and InlineFlowBox.
2547
2548         Tests: no tests, code cleanup.
2549
2550         * rendering/InlineFlowBox.h: Removed logicalLeftLayoutOverflow and logicalRightLayoutOverflow.
2551         * rendering/RenderOverflow.h: Removed setMinYLayoutOverflow, setMaxYLayoutOverflow,
2552             setMinXLayoutOverflow, setMaxXLayoutOverflow, setMinYVisualOverflow, setMaxYVisualOverflow,
2553             setMinXVisualOverflow and setMaxXVisualOverflow.
2554
2555 2013-05-10  Anders Carlsson  <andersca@apple.com>
2556
2557         Begin making SecurityOrigin immutable
2558         https://bugs.webkit.org/show_bug.cgi?id=115898
2559
2560         Reviewed by Andreas Kling.
2561
2562         Replace SecurityOrigin::setDomainFromDOM and SecurityOrigin::grantUniversalAccess with
2563         member functions that return new SecurityOrigin objects.
2564
2565         * dom/Document.cpp:
2566         (WebCore::Document::setDomain):
2567         Update the security origin to one returned by copyWithDomainSetFromDOM.
2568     
2569         (WebCore::Document::initSecurityContext):
2570         Set the security origin to one returned by copyWithUniversalAccessGranted().
2571
2572         * page/SecurityOrigin.cpp:
2573         (WebCore::SecurityOrigin::SecurityOrigin):
2574         Add a new constructor that takes all the member variables as parameters. This is a little unwieldy at the moment,
2575         but all the boolean parameters could be replaced by a bitmask of flags.
2576
2577         (WebCore::SecurityOrigin::isolatedCopy):
2578         Call the new constructor.
2579
2580         (WebCore::SecurityOrigin::copyWithDomainSetFromDOM):
2581         Return a new security origin with m_domainWasSetInDOM set to true and the domain updated.
2582
2583         (WebCore::SecurityOrigin::copyWithUniversalAccessGranted):
2584         Return a new security origin with m_universalAccess set to true.
2585
2586 2013-05-10  Anders Carlsson  <andersca@apple.com>
2587
2588         Remove ScriptController::updateSecurityOrigin
2589         https://bugs.webkit.org/show_bug.cgi?id=115895
2590
2591         Reviewed by Antti Koivisto.
2592
2593         ScriptController::updateSecurityOrigin is just dead code now that the V8 bindings are gone.
2594
2595         * bindings/js/ScriptController.cpp:
2596         * bindings/js/ScriptController.h:
2597         * dom/Document.cpp:
2598         (WebCore::Document::setIsViewSource):
2599         (WebCore::Document::setDomain):
2600         * dom/Document.h:
2601         (Document):
2602         * dom/SecurityContext.cpp:
2603         (WebCore::SecurityContext::enforceSandboxFlags):
2604         * dom/SecurityContext.h:
2605         (SecurityContext):
2606
2607 2013-05-10  Anders Carlsson  <andersca@apple.com>
2608
2609         Stop including SecurityOrigin.h where unnecessary
2610         https://bugs.webkit.org/show_bug.cgi?id=115897
2611
2612         Reviewed by Antti Koivisto.
2613
2614         Move rarely called functions out of line so headers don't have to include SecurityOrigin.h
2615
2616         * Modules/indexeddb/IDBFactoryBackendImpl.h:
2617         * Modules/webdatabase/DatabaseBackendBase.cpp:
2618         (WebCore::DatabaseBackendBase::databaseDebugName):
2619         * Modules/webdatabase/DatabaseBackendBase.h:
2620         (DatabaseBackendBase):
2621         * Modules/webdatabase/DatabaseSync.h:
2622         * bindings/js/JSDOMWindowCustom.h:
2623         * html/parser/XSSAuditor.cpp:
2624         * loader/ThreadableLoader.cpp:
2625         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
2626         (WebCore::ThreadableLoaderOptions::~ThreadableLoaderOptions):
2627         (WebCore::ThreadableLoader::create):
2628         * loader/ThreadableLoader.h:
2629         (ThreadableLoaderOptions):
2630         * loader/WorkerThreadableLoader.cpp:
2631         * workers/DedicatedWorkerContext.cpp:
2632         * workers/DedicatedWorkerThread.cpp:
2633         * workers/SharedWorkerContext.cpp:
2634         * workers/WorkerThread.cpp:
2635         * workers/WorkerThread.h:
2636
2637 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2638
2639         Unreviewed. Fix GTK+ build after r149839.
2640
2641         * platform/gtk/RenderThemeGtk3.cpp:
2642         (WebCore::gtkStyleChangedCallback):
2643
2644 2013-05-09  Chris Fleizach  <cfleizach@apple.com>
2645
2646         AX: VoiceOver is no longer seeing items in poorly formed tables
2647         https://bugs.webkit.org/show_bug.cgi?id=115837
2648
2649         Reviewed by Darin Adler.
2650
2651         In case the author didn't include the rows of a table as the 
2652         direct children, a table needs to dive down its descendant chain
2653         until the rows are found. 
2654
2655         I also took the opportunity to clean up a bit around what the different
2656         meanings of table are in the accessibility classes.
2657
2658         Test: accessibility/poorly-formed-aria-table.html
2659
2660         * accessibility/AccessibilityARIAGrid.cpp:
2661         (WebCore::AccessibilityARIAGrid::addRowDescendant):
2662         (WebCore::AccessibilityARIAGrid::addChildren):
2663         * accessibility/AccessibilityARIAGrid.h:
2664         (AccessibilityARIAGrid):
2665         * accessibility/AccessibilityARIAGridRow.cpp:
2666         (WebCore::AccessibilityARIAGridRow::parentTable):
2667         (WebCore):
2668         * accessibility/AccessibilityARIAGridRow.h:
2669         (AccessibilityARIAGridRow):
2670         * accessibility/AccessibilityObject.h:
2671         (WebCore::AccessibilityObject::isTable):
2672         * accessibility/AccessibilityTable.h:
2673         (AccessibilityTable):
2674         (WebCore::AccessibilityTable::isTable):
2675         (WebCore::toAccessibilityTable):
2676         * accessibility/AccessibilityTableRow.cpp:
2677         (WebCore::AccessibilityTableRow::parentTable):
2678
2679 2013-05-09  Yael Aharon  <yael.aharon@intel.com>
2680
2681         REGRESSION: Disabled multiline select element now responds to (certain) clicks
2682         https://bugs.webkit.org/show_bug.cgi?id=115710
2683
2684         Reviewed by Kent Tamura.
2685
2686         After http://trac.webkit.org/changeset/140286, select elements can scroll whether they
2687         are disabled or not. While they scroll, they also change the selected item.
2688         This patch allows the select element to scroll, but does not change the selection
2689         if the select element is disabled.        
2690
2691         Test: fast/forms/select/listbox-disabled-scroll-no-onchange.html
2692         Test: fast/forms/select/listbox-disabled-no-autoscroll.html
2693
2694         * rendering/RenderListBox.cpp:
2695         (WebCore::RenderListBox::autoscroll):
2696         * rendering/RenderListBox.cpp:
2697         (WebCore::RenderListBox::stopAutoscroll):
2698
2699 2013-05-09  Anders Carlsson  <andersca@apple.com>
2700
2701         Clean up SecurityOrigin::databaseIdentifier
2702         https://bugs.webkit.org/show_bug.cgi?id=115882
2703
2704         Reviewed by Beth Dakin.
2705
2706         Remove m_encodedHost and just call encodeHost from databaseIdentifier().
2707         Also, use a StringBuilder when constructing the database identifier to avoid allocating
2708         temporary String objects over and over.
2709
2710         * page/SecurityOrigin.cpp:
2711         (WebCore::SecurityOrigin::SecurityOrigin):
2712         (WebCore):
2713         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
2714         (WebCore::SecurityOrigin::databaseIdentifier):
2715         * page/SecurityOrigin.h:
2716         (SecurityOrigin):
2717
2718 2013-05-09  Anders Carlsson  <andersca@apple.com>
2719
2720         Remove m_securityOrigin from XMLHttpRequest
2721         https://bugs.webkit.org/show_bug.cgi?id=115881
2722
2723         Reviewed by Alexey Proskuryakov.
2724
2725         The security origin passed to XMLHttpRequest::create was always null, so just get rid of the member variable completely.
2726
2727         * xml/XMLHttpRequest.cpp:
2728         (WebCore::XMLHttpRequest::create):
2729         (WebCore::XMLHttpRequest::XMLHttpRequest):
2730         (WebCore::XMLHttpRequest::securityOrigin):
2731         * xml/XMLHttpRequest.h:
2732         (XMLHttpRequest):
2733
2734 2013-05-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2735
2736         [NoInterfaceObject] extended attribute should be removed for several interfaces
2737         https://bugs.webkit.org/show_bug.cgi?id=115852
2738
2739         Reviewed by Benjamin Poulain.
2740
2741         Remove [NoInterfaceObject] extended attribute from the following Web IDL
2742         interfaces: SecurityPolicy, History, Location, Navigator, Performance,
2743         PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceNavigation,
2744         PerformanceResourceTiming, PerformanceTiming and Screen.
2745
2746         These interfaces should not have the [NoInterfaceObject] extended attribute
2747         according to their respective specifications:
2748         - http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-history-interface
2749         - http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-location-interface
2750         - https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicy
2751         - http://www.w3.org/html/wg/drafts/html/master/webappapis.html#the-navigator-object
2752         - http://www.w3.org/TR/navigation-timing/#performance
2753         - https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html#sec-PerformanceEntry-interface
2754         - http://www.w3.org/TR/navigation-timing/#performancenavigation
2755         - http://www.w3.org/TR/navigation-timing/#performancetiming
2756         - http://www.w3.org/TR/user-timing/#performancemark
2757         - http://www.w3.org/TR/user-timing/#performancemeasure
2758         - http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming
2759         - http://dev.w3.org/csswg/cssom-view/#the-screen-interface
2760
2761         The new behavior is consistent with the specifications, Firefox and soon Blink.
2762
2763         No new tests, already covered by existing tests.
2764
2765         * page/DOMSecurityPolicy.idl:
2766         * page/History.idl:
2767         * page/Location.idl:
2768         * page/Navigator.idl:
2769         * page/Performance.idl:
2770         * page/PerformanceEntry.idl:
2771         * page/PerformanceMark.idl:
2772         * page/PerformanceMeasure.idl:
2773         * page/PerformanceNavigation.idl:
2774         * page/PerformanceResourceTiming.idl:
2775         * page/PerformanceTiming.idl:
2776         * page/Screen.idl:
2777
2778 2013-05-09  Robert Hogan  <robert@webkit.org>
2779
2780         REGRESSION (Safari 3-Safari 4): Replaced element with percent height in table has incorrect height
2781         https://bugs.webkit.org/show_bug.cgi?id=26394
2782
2783         Reviewed by David Hyatt.
2784
2785         Text controls or any object that has scrollable content should not flex inside a table cell. 
2786         This makes our behaviour the same as IE, FF and Opera (Presto).
2787
2788         * rendering/RenderTableSection.cpp:
2789         (WebCore::RenderTableSection::layoutRows):
2790
2791 2013-05-09  Anders Carlsson  <andersca@apple.com>
2792
2793         Build fix.
2794
2795         * WebCore.exp.in:
2796
2797 2013-05-09  Anders Carlsson  <andersca@apple.com>
2798
2799         Add a StorageStrategy hook for creating transient local storage namespaces
2800         https://bugs.webkit.org/show_bug.cgi?id=115870
2801
2802         Reviewed by Geoffrey Garen.
2803
2804         * WebCore.exp.in:
2805         Export symbol needed by WebKit2.
2806         
2807         * dom/Document.cpp:
2808         (WebCore::Document::topOrigin):
2809         * dom/Document.h:
2810         * dom/ScriptExecutionContext.h:
2811         * workers/WorkerContext.h:
2812         Remove const qualifier from topOrigin() to avoid ugly const_casts when assigning into a RefPtr<SecurityOrigin> variable.
2813
2814         * page/PageGroup.cpp:
2815         (WebCore::PageGroup::transientLocalStorage):
2816         Do a single hash lookup instead of three and use the SecurityOrigin itself as the hash key instead of a string representation of it.
2817
2818         * page/PageGroup.h:
2819         Update HashMap declaration.
2820
2821         * storage/StorageNamespace.cpp:
2822         (WebCore::StorageNamespace::transientLocalStorageNamespace):
2823         Add new implementation that will optionally call out to the storage strategy.
2824
2825         * storage/StorageNamespaceImpl.cpp:
2826         (WebCore::StorageNamespaceImpl::transientLocalStorageNamespace):
2827         Move the default implementation here from PageGroup.
2828         
2829         * storage/StorageStrategy.cpp:
2830         (WebCore::StorageStrategy::transientLocalStorageNamespace):
2831         Call the default implementation.
2832
2833 2013-05-09  Enrica Casucci  <enrica@apple.com>
2834
2835         A change in system environment should force all CSS properties to be recomputed.
2836         https://bugs.webkit.org/show_bug.cgi?id=115872
2837         <rdar://problem/13781171>
2838
2839         Reviewed by Antti Koivisto.
2840
2841         When a change in the global environment occurs, for example system colors,
2842         we need to make sure all the CSS properties are recomputed and not fetched
2843         from the cache. For this reason we invalidate the properties cache.
2844         I've also renamed the function to give it a more meaningful name.
2845         
2846         * page/Page.cpp:
2847         (WebCore::Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment):
2848         * page/Page.h:
2849         * rendering/RenderTheme.cpp:
2850         (WebCore::RenderTheme::platformColorsDidChange):
2851
2852 2013-05-09  Antti Koivisto  <antti@apple.com>
2853
2854         Reoptimize free-standing :focus/link/visited/-webkit-any-link selectors.
2855         <http://webkit.org/b/115590>
2856
2857         Reviewed by Darin Adler.
2858
2859         Common pseudo selectors should go into their respective rule buckets instead of ending up in the universal one.
2860
2861         * css/RuleSet.cpp:
2862         (WebCore::RuleSet::findBestRuleSetAndAdd):
2863         
2864             Check tag selectors with * local name (usually created for namespace) for a suitable narrower bucket too.
2865
2866 2013-05-09  Darin Adler  <darin@apple.com>
2867
2868         RenderQuote has giant function for language to quotes map
2869         https://bugs.webkit.org/show_bug.cgi?id=115807
2870
2871         Reviewed by Anders Carlsson.
2872
2873         * rendering/RenderQuote.cpp:
2874         (WebCore::RenderQuote::RenderQuote): Updated for m_isAttached name change.
2875         (WebCore::RenderQuote::~RenderQuote): Updated for name change, and also split
2876         assertion with && in it into two separate assertions.
2877         (WebCore::checkNumberOfDistinctQuoteCharacters): Added. Helper function that is used
2878         to check that the number of distinct quote characters is small enough to fit into
2879         our fixed size array below.
2880         (WebCore::quotesForLanguage): Replaces the old quotesDataLanguageMap function.
2881         Returns a pointer to a struct that contains the four quote characters. This new
2882         function doesn't have the massive amount of code that the old one did. We use the
2883         standard library bsearch function to do a binary search.
2884         (WebCore::stringForQuoteCharacter): Added. This returns a string for a given quote
2885         character; one string for any given character.
2886         (WebCore::quotationMarkString): Added. Returns the string for the quotation mark.
2887         (WebCore::apostropheStringImpl): Added. Returns the string for the apostrophe.
2888         (WebCore::RenderQuote::originalText): Rewrote this to include all the logic that
2889         used to be in the quotesData function.
2890         (WebCore::RenderQuote::attachQuote): Tweak assertions as above. Removed unneeded
2891         special case for the first quote in a RenderView; sharing the code is better and
2892         there is no significant performance difference. Also use m_isAttached directly
2893         when looking at predecessores so there is no need for an isAttached function.
2894         (WebCore::RenderQuote::detachQuote): Updated assertions and for name change.
2895         (WebCore::RenderQuote::updateDepth): Ditto.
2896
2897         * rendering/RenderQuote.h: Removed unneeded includes. Marked the class FINAL since
2898         we call the originalText function in the class and we don't want to do a virtual
2899         function dispatch for that. Removed uneeded const from an argument. Removed a
2900         stray semicolon. Removed the quotesData and isAttached functions, since they are no
2901         longer needed. Renamed m_attached to m_isAttached.
2902
2903         * rendering/style/QuotesData.cpp: Removed the overload of QuotesData::create that
2904         takes four quote strings. This was only used to build up the quotes table.
2905         * rendering/style/QuotesData.h: Ditto.
2906
2907 2013-05-09  Max Feil  <mfeil@rim.com>
2908
2909         shouldUsePluginDocument() needs to be respected when a document is created
2910         https://bugs.webkit.org/show_bug.cgi?id=110308
2911
2912         Reviewed by Rob Buis.
2913
2914         In DOMImplementation::createDocument() we should create
2915         a PluginDocument for mime types that return "true" for
2916         shouldAlwaysUsePluginDocument(), even if there is no pluginData
2917         for them. This lets a client choose plugins for which the "missing
2918         plugin" text or icon should appear more consistently. Otherwise
2919         plugins referenced by iFrames will be treated as an HTMLDocument,
2920         possibly resulting in binary files rendered as gibberish text.
2921
2922         Layout test platform/blackberry/plugins/swf-as-src-of-iframe.html
2923
2924         * dom/DOMImplementation.cpp:
2925         (WebCore::DOMImplementation::createDocument):
2926
2927 2013-05-09  Timothy Hatcher  <timothy@apple.com>
2928
2929         Fix an exception when hovering native functions while paused in the debugger.
2930
2931         https://webkit.org/b/115866
2932         rdar://problem/13681982
2933
2934         Reviewed by Darin Adler and Joseph Pecoraro.
2935
2936         * inspector/InjectedScriptSource.js:
2937         (InjectedScript.prototype.getFunctionDetails): Return an error if the details
2938         is null or undefined.
2939
2940 2013-05-09  Darin Adler  <darin@apple.com>
2941
2942         [Mac] CFError leak under Objective-C garbage collection
2943         https://bugs.webkit.org/show_bug.cgi?id=115862
2944
2945         Reviewed by Benjamin Poulain.
2946
2947         * platform/network/mac/ResourceErrorMac.mm:
2948         (WebCore::ResourceError::nsError): Use adoptCF instead of adoptNS since
2949         the CFError needs a CFRelease, not an -[NSObject release].
2950
2951 2013-05-09  Alberto Garcia  <agarcia@igalia.com>
2952
2953         BlackBerry: fix call to PluginLayerWebKitThread::setHolePunchRect()
2954         https://bugs.webkit.org/show_bug.cgi?id=114953
2955
2956         Reviewed by Rob Buis.
2957
2958         data->layer needs a cast in order to call setHolePunchRect().
2959
2960         * plugins/blackberry/NPCallbacksBlackBerry.cpp:
2961         (WebCore::npSetHolePunchHandler):
2962
2963 2013-05-09  Mike Fenton  <mifenton@rim.com>
2964
2965         [BlackBerry] Style updates required based on new check-webkit-style
2966         https://bugs.webkit.org/show_bug.cgi?id=115857
2967
2968         Reviewed by Rob Buis.
2969
2970         Update WebCore/platform/graphics BlackBerry sources
2971         to match check-webkit-style updates.
2972
2973         Internally reviewed by Jakob Petsovits.
2974
2975         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
2976         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2977         (WebCore::GraphicsContext3D::readPixelsIMG):
2978         (WebCore::GraphicsContext3D::paintToCanvas):
2979         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
2980         (WebCore::GraphicsLayerBlackBerry::updateLayerPosition):
2981         * platform/graphics/blackberry/IntRectBlackBerry.cpp:
2982         (WebCore::IntRect::IntRect):
2983         * platform/graphics/blackberry/LayerCompositingThread.h:
2984         (WTF::::deref):
2985         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
2986         (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
2987         (WebCore::LayerFilterRenderer::actionsForOperations):
2988         (WebCore::LayerFilterRenderer::applyActions):
2989         * platform/graphics/blackberry/LayerRenderer.cpp:
2990         (WebCore::LayerRenderer::setViewport):
2991         (WebCore::LayerRenderer::compositeBuffer):
2992         (WebCore::LayerRenderer::drawColor):
2993         (WebCore::LayerRenderer::compositeLayersRecursive):
2994         * platform/graphics/blackberry/LayerWebKitThread.cpp:
2995         (WebCore::LayerWebKitThread::setFrame):
2996         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2997         (WebCore::MediaPlayerPrivate::play):
2998         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
2999         * platform/image-decoders/blackberry/JPEGImageDecoder.cpp:
3000         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
3001
3002 2013-05-09  Mike Fenton  <mifenton@rim.com>
3003
3004         [BlackBerry] Style updates required based on new check-webkit-style
3005         https://bugs.webkit.org/show_bug.cgi?id=115857
3006
3007         Reviewed by Rob Buis.
3008
3009         Update WebCore/platform/network/blackberry
3010         to match check-webkit-style updates.
3011
3012         * platform/network/blackberry/NetworkJob.cpp:
3013         (WebCore::NetworkJob::initialize):
3014         (WebCore::NetworkJob::handleSetCookieHeader):
3015         (WebCore::NetworkJob::sendResponseIfNeeded):
3016         (WebCore::NetworkJob::shouldSendClientData):
3017         * platform/network/blackberry/NetworkJob.h:
3018         (NetworkJob):
3019         * platform/network/blackberry/NetworkManager.cpp:
3020         (WebCore::NetworkManager::startJob):
3021         * platform/network/blackberry/rss/RSSFilterStream.cpp:
3022         (WebCore::isRSSContent):
3023         (WebCore::transcode):
3024
3025 2013-05-09  Mike Fenton  <mifenton@rim.com>
3026
3027         [BlackBerry] Style updates required based on new check-webkit-style
3028         https://bugs.webkit.org/show_bug.cgi?id=115857
3029
3030         Reviewed by Rob Buis.
3031
3032         Update WebCore/platform/blackberry to match check-webkit-style updates.
3033
3034         No functional changes.
3035
3036         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
3037         * platform/blackberry/CookieManager.cpp:
3038         (WebCore::CookieManager::getRawCookies):
3039         * platform/blackberry/CookieMap.h:
3040         (WebCore::CookieMap::count):
3041         * platform/blackberry/CookieParser.cpp:
3042         (WebCore::CookieParser::parseOneCookie):
3043         * platform/blackberry/LoggingBlackBerry.cpp:
3044         * platform/blackberry/PageClientBlackBerry.h:
3045         (Platform):
3046         (Graphics):
3047         (WebCore):
3048         * platform/blackberry/ParsedCookie.cpp:
3049         (WebCore::ParsedCookie::appendWebCoreCookie):
3050         * platform/blackberry/RenderThemeBlackBerry.cpp:
3051         (WebCore::RenderThemeBlackBerry::paintSearchFieldCancelButton):
3052         (WebCore::RenderThemeBlackBerry::paintButton):
3053         (WebCore::RenderThemeBlackBerry::paintSliderThumb):
3054         * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
3055         (WebCore::signedPublicKeyAndChallengeString):
3056         * platform/blackberry/ScrollAnimatorBlackBerry.h:
3057
3058 2013-05-09  Chris Rogers  <crogers@google.com>
3059
3060         Require use of AudioBus::create() to avoid ref-counting issues
3061         https://bugs.webkit.org/show_bug.cgi?id=115836
3062
3063         Reviewed by Andreas Kling.
3064
3065         There were a couple of places still embedding raw AudioBus objects as
3066         member variables or local variables causing ref-counting problems
3067         now that AudioBus is ref-counted.  Make AudioBus constructor private
3068         to enforce use of AudioBus::create().
3069
3070         Adapted from Blink patch:
3071         https://chromiumcodereview.appspot.com/14628008/
3072
3073         * Modules/webaudio/AudioDestinationNode.h:
3074         (WebCore::AudioDestinationNode::LocalAudioInputProvider::LocalAudioInputProvider):
3075         (WebCore::AudioDestinationNode::LocalAudioInputProvider::set):
3076         (WebCore::AudioDestinationNode::LocalAudioInputProvider::provideInput):
3077         (LocalAudioInputProvider):
3078         * Modules/webaudio/AudioNodeInput.cpp:
3079         (WebCore::AudioNodeInput::AudioNodeInput):
3080         (WebCore::AudioNodeInput::updateInternalBus):
3081         * Modules/webaudio/AudioNodeOutput.cpp:
3082         (WebCore::AudioNodeOutput::AudioNodeOutput):
3083         (WebCore::AudioNodeOutput::updateInternalBus):
3084         * Modules/webaudio/AudioParam.cpp:
3085         (WebCore::AudioParam::calculateFinalValues):
3086         * Modules/webaudio/ConvolverNode.cpp:
3087         (WebCore::ConvolverNode::setBuffer):
3088         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
3089         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
3090         (WebCore::MediaStreamAudioDestinationNode::process):
3091         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
3092         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
3093         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
3094         * Modules/webaudio/ScriptProcessorNode.cpp:
3095         (WebCore::ScriptProcessorNode::ScriptProcessorNode):
3096         (WebCore::ScriptProcessorNode::process):
3097         * Modules/webaudio/ScriptProcessorNode.h:
3098         (ScriptProcessorNode):
3099         * platform/audio/AudioBus.cpp:
3100         (WebCore::AudioBus::create):
3101         (WebCore):
3102         (WebCore::AudioBus::AudioBus):
3103         (WebCore::AudioBus::createBufferFromRange):
3104         (WebCore::AudioBus::createBySampleRateConverting):
3105         (WebCore::AudioBus::createByMixingToMono):
3106         * platform/audio/AudioBus.h:
3107         (AudioBus):
3108         * platform/audio/AudioFIFO.cpp:
3109         (WebCore::AudioFIFO::AudioFIFO):
3110         (WebCore::AudioFIFO::consume):
3111         (WebCore::AudioFIFO::push):
3112         * platform/audio/AudioFIFO.h:
3113         (AudioFIFO):
3114         * platform/audio/AudioPullFIFO.cpp:
3115         (WebCore::AudioPullFIFO::AudioPullFIFO):
3116         (WebCore::AudioPullFIFO::fillBuffer):
3117         * platform/audio/AudioPullFIFO.h:
3118         (AudioPullFIFO):
3119         * platform/audio/AudioResampler.cpp:
3120         (WebCore::AudioResampler::AudioResampler):
3121         (WebCore::AudioResampler::configureChannels):
3122         * platform/audio/MultiChannelResampler.cpp:
3123         * platform/audio/Reverb.cpp:
3124         (WebCore::Reverb::initialize):
3125         * platform/audio/SincResampler.cpp:
3126         (WebCore::SincResampler::consumeSource):
3127         (WebCore):
3128         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3129         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
3130         * platform/audio/gstreamer/AudioDestinationGStreamer.h:
3131         (AudioDestinationGStreamer):
3132         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
3133         (WebCore::AudioFileReader::createBus):
3134         * platform/audio/ios/AudioDestinationIOS.cpp:
3135         (WebCore::AudioDestinationIOS::AudioDestinationIOS):
3136         (WebCore::AudioDestinationIOS::render):
3137         * platform/audio/ios/AudioDestinationIOS.h:
3138         (AudioDestinationIOS):
3139         * platform/audio/mac/AudioDestinationMac.cpp:
3140         (WebCore::AudioDestinationMac::AudioDestinationMac):
3141         (WebCore::AudioDestinationMac::render):
3142         * platform/audio/mac/AudioDestinationMac.h:
3143         (AudioDestinationMac):
3144         * platform/audio/mac/AudioFileReaderMac.cpp:
3145         (WebCore::AudioFileReader::createBus):
3146
3147 2013-05-09  Alberto Garcia  <agarcia@igalia.com>
3148
3149         [BlackBerry] Upstream the input popups
3150         https://bugs.webkit.org/show_bug.cgi?id=114608
3151
3152         Reviewed by Rob Buis.
3153
3154         This patch contains contributions from many members of the
3155         BlackBerry WebKit team, including:
3156
3157         Chris Hutten-Czapski
3158         David Hoon
3159         Jessica Cao
3160         Rob Buis
3161         Tiancheng Jiang
3162
3163         * Resources/blackberry/colorControlBlackBerry.css: Added.
3164         (.color-picker-popup-area):
3165         (.color-picker-content):
3166         (.color-picker-block):
3167         (#color-picker-swatch-block):
3168         (.color-picker-switcher):
3169         (.color-picker-check-mark):
3170         (.color-picker-option):
3171         (.color-picker-button):
3172         (.color-picker-highlight):
3173         (input):
3174         (.color-picker-sharp):
3175         (.color-picker-off):
3176         (.color-picker-inactive-font):
3177         (.color-picker-row):
3178         (.color-picker-hex-style):
3179         (.color-picker-input):
3180         (.color-picker-well):
3181         (.color-picker-input .color-picker-well):
3182         (.color-picker-slider):
3183         (.color-picker-slider-output):
3184         (.color-picker-range):
3185         (.color-picker-range::-webkit-slider-thumb):
3186         (.color-picker-range::-webkit-slider-thumb:active):
3187         (.red-ranger-bg):
3188         (.green-ranger-bg):
3189         (.blue-ranger-bg):
3190         (@media only screen and (height: 768px)):
3191         (@media only screen and (height: 720px)):
3192         * Resources/blackberry/colorControlBlackBerry.js: Added.
3193         (.):
3194         * Resources/blackberry/popupControlBlackBerry.css:
3195         (body):
3196         (.popup-area):
3197         (.popup-header):
3198         (.popup-content):
3199         (.popup-buttons):
3200         (.popup-button):
3201         (@media only screen and (width: 720px) and (height: 720px)):
3202         * Resources/blackberry/selectControlBlackBerry.css:
3203         (.popup-content):
3204         (@media (min-height: 918px)):
3205         (.option):
3206         (@media only screen and (width: 720px) and (height: 720px)):
3207         (.contents):
3208         (.option:active):
3209         (.selected):
3210         (.selected .contents::after):
3211         (.text):
3212         (.disabled):
3213         (.optgroup):
3214         (.optgroup-option):
3215         * Resources/blackberry/selectControlBlackBerry.js:
3216         (.):
3217         * Resources/blackberry/timeControlBlackBerry.css: Added.
3218         (#popup-content-time):
3219         (.column):
3220         (.column:not(:last-child)):
3221         (.cell):
3222         (.yearmonthdate .cell div:last-child):
3223         (.row-highlight-container):
3224         (.row-highlight-filler):
3225         (.row-highlight):
3226         (.tall-bit):
3227         (@media only screen and (width: 720px) and (height: 720px)):
3228         * Resources/blackberry/timeControlBlackBerry.js: Added.
3229         (.):
3230
3231 2013-05-09  Rob Buis  <rbuis@rim.com>
3232
3233         [BlackBerry] texmap code generates warnings
3234         https://bugs.webkit.org/show_bug.cgi?id=115815
3235
3236         Reviewed by Benjamin Poulain.
3237
3238         Add USE(TEXTURE_MAPPER) guards since Source/WebCore/CMakeLists.txt includes
3239         these files unconditionally.
3240
3241         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3242         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3243         * platform/graphics/texmap/TextureMapper.h:
3244         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3245         * platform/graphics/texmap/TextureMapperBackingStore.h:
3246         * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
3247         * platform/graphics/texmap/TextureMapperFPSCounter.h:
3248         * platform/graphics/texmap/TextureMapperGL.cpp:
3249         * platform/graphics/texmap/TextureMapperGL.h:
3250         * platform/graphics/texmap/TextureMapperLayer.cpp:
3251         * platform/graphics/texmap/TextureMapperLayer.h:
3252         * platform/graphics/texmap/TextureMapperTile.cpp:
3253         * platform/graphics/texmap/TextureMapperTile.h:
3254         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
3255         * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
3256
3257 2013-05-09  Alberto Garcia  <agarcia@igalia.com>
3258
3259         PluginDatabase: add plugin directory for the BlackBerry port.
3260         https://bugs.webkit.org/show_bug.cgi?id=114943
3261
3262         Reviewed by Rob Buis.
3263
3264         XP_UNIX is defined for the BlackBerry port, but we don't want to
3265         share the same code here.
3266
3267         * plugins/PluginDatabase.cpp:
3268         (WebCore::PluginDatabase::defaultPluginDirectories):
3269         (WebCore::PluginDatabase::isPreferredPluginDirectory):
3270
3271 2013-05-09  Seokju Kwon  <seokju.kwon@gmail.com>
3272
3273         Web Inspector: Remove Memory Distribution and Memory Snapshots Panels
3274         https://bugs.webkit.org/show_bug.cgi?id=115850
3275
3276         Reviewed by Andreas Kling.
3277
3278         Removed the Memory Instrumentation Code after r148921.
3279
3280         No new tests, no behavior change.
3281
3282         * inspector/compile-front-end.py:
3283         * inspector/front-end/NativeMemorySnapshotView.js: Removed.
3284         * inspector/front-end/ProfilesPanel.js:
3285         (WebInspector.ProfilesPanel):
3286         * inspector/front-end/Settings.js:
3287         (WebInspector.Settings):
3288         (WebInspector.ExperimentsSettings):
3289         * inspector/front-end/SettingsScreen.js:
3290         * inspector/front-end/WebKit.qrc:
3291         * inspector/front-end/inspector.css:
3292         * inspector/front-end/inspector.js:
3293         (WebInspector._panelDescriptors):
3294         * inspector/front-end/nativeMemoryProfiler.css: Removed.
3295
3296 2013-05-09  Zan Dobersek  <zdobersek@igalia.com>
3297
3298         Unreviewed GTK build fix after r149796.
3299
3300         * GNUmakefile.am: Add a phony target for the window constructors file and include it among
3301         the dependencies for the non-generated code.
3302
3303 2013-05-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3304
3305         Unreviewed build fix for Qt minimal build.
3306
3307         r149796 broke builds that have WEB_SOCKETS flag disabled.
3308
3309         * page/DOMWindow.idl:
3310
3311 2013-05-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3312
3313         Add support for [NoInterfaceObject] Web IDL extended attribute
3314         https://bugs.webkit.org/show_bug.cgi?id=115714
3315
3316         Reviewed by Kentaro Hara.
3317
3318         *Constructor attributes on the global DOMWindow object are now automatically
3319         generated for each non-callback interface that is not declared with the
3320         [NoInterfaceObject] extended attribute. It is thus no longer needed for
3321         developers to manually add *Constructor attributes for their new interfaces
3322         unless they wish to register an "extra" constructor for their interface.
3323
3324         This patch does not modify at all the behavior on JS side. To achieve this,
3325         [NoInterfaceObject] extended attribute is added to interfaces that should
3326         not have it according to specification (e.g. History, Location, ...).
3327         This can be improved later as the behavior should not change with this
3328         patch.
3329
3330         No new tests, no behavior change.
3331
3332         * CMakeLists.txt:
3333         * DerivedSources.make:
3334         * DerivedSources.pri:
3335         * GNUmakefile.am:
3336         * GNUmakefile.list.am:
3337         * Modules/battery/BatteryManager.idl:
3338         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
3339         * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
3340         * Modules/encryptedmedia/MediaKeySession.idl:
3341         * Modules/encryptedmedia/MediaKeys.idl:
3342         * Modules/filesystem/DOMFileSystem.idl:
3343         * Modules/filesystem/DOMFileSystemSync.idl:
3344         * Modules/filesystem/DirectoryEntry.idl:
3345         * Modules/filesystem/DirectoryEntrySync.idl:
3346         * Modules/filesystem/DirectoryReader.idl:
3347         * Modules/filesystem/DirectoryReaderSync.idl:
3348         * Modules/filesystem/Entry.idl:
3349         * Modules/filesystem/EntryArray.idl:
3350         * Modules/filesystem/EntryArraySync.idl:
3351         * Modules/filesystem/EntrySync.idl:
3352         * Modules/filesystem/FileEntry.idl:
3353         * Modules/filesystem/FileEntrySync.idl:
3354         * Modules/filesystem/FileWriter.idl:
3355         * Modules/filesystem/FileWriterSync.idl:
3356         * Modules/filesystem/Metadata.idl:
3357         * Modules/gamepad/Gamepad.idl:
3358         * Modules/gamepad/GamepadList.idl:
3359         * Modules/geolocation/Coordinates.idl:
3360         * Modules/geolocation/Geolocation.idl:
3361         * Modules/geolocation/Geoposition.idl:
3362         * Modules/geolocation/PositionError.idl:
3363         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
3364         * Modules/indexeddb/IDBAny.idl:
3365         * Modules/mediasource/MediaSource.idl:
3366         * Modules/mediasource/SourceBuffer.idl:
3367         * Modules/mediasource/SourceBufferList.idl:
3368         * Modules/mediastream/DOMWindowMediaStream.idl: Removed.
3369         * Modules/mediastream/MediaStream.idl:
3370         * Modules/mediastream/MediaStreamTrack.idl:
3371         * Modules/mediastream/MediaStreamTrackEvent.idl:
3372         * Modules/mediastream/NavigatorUserMediaError.idl:
3373         * Modules/mediastream/RTCDTMFSender.idl:
3374         * Modules/mediastream/RTCDTMFToneChangeEvent.idl:
3375         * Modules/mediastream/RTCDataChannel.idl:
3376         * Modules/mediastream/RTCDataChannelEvent.idl:
3377         * Modules/mediastream/RTCIceCandidateEvent.idl:
3378         * Modules/mediastream/RTCPeerConnection.idl:
3379         * Modules/mediastream/RTCStatsReport.idl:
3380         * Modules/mediastream/RTCStatsResponse.idl:
3381         * Modules/networkinfo/NetworkInfoConnection.idl:
3382         * Modules/notifications/DOMWindowNotifications.idl:
3383         * Modules/notifications/NotificationCenter.idl:
3384         * Modules/quota/StorageInfo.idl:
3385         * Modules/quota/StorageQuota.idl:
3386         * Modules/speech/DOMWindowSpeech.idl: Removed.
3387         * Modules/speech/DOMWindowSpeechSynthesis.idl:
3388         * Modules/speech/SpeechGrammar.idl:
3389         * Modules/speech/SpeechGrammarList.idl:
3390         * Modules/speech/SpeechRecognition.idl:
3391         * Modules/speech/SpeechRecognitionAlternative.idl:
3392         * Modules/speech/SpeechRecognitionError.idl:
3393         * Modules/speech/SpeechRecognitionEvent.idl:
3394         * Modules/speech/SpeechRecognitionResult.idl:
3395         * Modules/speech/SpeechRecognitionResultList.idl:
3396         * Modules/speech/SpeechSynthesis.idl:
3397         * Modules/speech/SpeechSynthesisVoice.idl:
3398         * Modules/webaudio/AnalyserNode.idl:
3399         * Modules/webaudio/AudioBuffer.idl:
3400         * Modules/webaudio/AudioBufferSourceNode.idl:
3401         * Modules/webaudio/AudioContext.idl:
3402         * Modules/webaudio/AudioDestinationNode.idl:
3403         * Modules/webaudio/AudioListener.idl:
3404         * Modules/webaudio/AudioNode.idl:
3405         * Modules/webaudio/AudioParam.idl:
3406         * Modules/webaudio/AudioSourceNode.idl:
3407         * Modules/webaudio/BiquadFilterNode.idl:
3408         * Modules/webaudio/ChannelMergerNode.idl:
3409         * Modules/webaudio/ChannelSplitterNode.idl:
3410         * Modules/webaudio/ConvolverNode.idl:
3411         * Modules/webaudio/DOMWindowWebAudio.idl: Removed.
3412         * Modules/webaudio/DelayNode.idl:
3413         * Modules/webaudio/DynamicsCompressorNode.idl:
3414         * Modules/webaudio/GainNode.idl:
3415         * Modules/webaudio/MediaElementAudioSourceNode.idl:
3416         * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
3417         * Modules/webaudio/MediaStreamAudioSourceNode.idl:
3418         * Modules/webaudio/OfflineAudioContext.idl:
3419         * Modules/webaudio/OscillatorNode.idl:
3420         * Modules/webaudio/PannerNode.idl:
3421         * Modules/webaudio/ScriptProcessorNode.idl:
3422         * Modules/webaudio/WaveShaperNode.idl:
3423         * Modules/webaudio/WaveTable.idl:
3424         * Modules/webdatabase/DOMWindowWebDatabase.idl:
3425         * Modules/webdatabase/Database.idl:
3426         * Modules/webdatabase/DatabaseSync.idl:
3427         * Modules/webdatabase/SQLError.idl:
3428         * Modules/webdatabase/SQLResultSet.idl:
3429         * Modules/webdatabase/SQLResultSetRowList.idl:
3430         * Modules/webdatabase/SQLTransaction.idl:
3431         * Modules/webdatabase/SQLTransactionSync.idl:
3432         * Modules/websockets/DOMWindowWebSocket.idl: Removed.
3433         * Modules/websockets/WebSocket.idl:
3434         * PlatformBlackBerry.cmake:
3435         * UseJSC.cmake:
3436         * WebCore.xcodeproj/project.pbxproj:
3437         * bindings/scripts/IDLAttributes.txt:
3438         * bindings/scripts/IDLParser.pm:
3439         (parseTypedef):
3440         * bindings/scripts/preprocess-idls.pl:
3441         (GenerateConstructorAttribute):
3442         (getFileContents):
3443         (getPartialInterfaceNameFromIDL):
3444         (isCallbackInterfaceFromIDL):
3445         (trim):
3446         (getInterfaceExtendedAttributesFromIDL):
3447         * css/CSSFontFaceLoadEvent.idl:
3448         * css/CSSFontFaceRule.idl:
3449         * css/CSSSupportsRule.idl:
3450         * css/CSSUnknownRule.idl:
3451         * css/DOMWindowCSS.idl:
3452         * css/FontLoader.idl:
3453         * css/MediaQueryList.idl:
3454         * css/MediaQueryListListener.idl:
3455         * css/StyleMedia.idl: