[atk] Replace deprecated call to atk_document_get_locale() in DumpRenderTree
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-06-12  Eduardo Lima Mitev  <elima@igalia.com>
2
3         [atk] Replace deprecated call to atk_document_get_locale() in DumpRenderTree
4         https://bugs.webkit.org/show_bug.cgi?id=115647
5
6         Reviewed by Martin Robinson.
7
8         Override the get_object_locale() method of WebkitAccessibleWrapperAtk's internal
9         AtkObject, to include custom implementations for AtkDocument and AtkText objects,
10         taking the logic as-is from AtkDocument::get_document_locale() and DumpRenderTree's
11         AccessibilityUIElementAtk::language(), respectively.
12
13         Apart from improving encapsulation, this avoids calling deprecated get_document_locale()
14         method.
15
16         No new functionality, no new tests.
17
18         * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
19         (webkitAccessibleDocumentInterfaceInit): Chains implementation of
20         AtkDocument::get_document_locale() to AtkObject::get_object_locale().
21         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
22         (webkitAccessibleGetObjectLocale): Add implementation of locale resolution for
23         objects of type AtkDocument and AtkText.
24         (webkitAccessibleClassInit): Override AtkObject::get_object_locale() method.
25
26 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
27
28         [GTK] Move more build targets for source code that's free of layer violations into libPlatform
29         https://bugs.webkit.org/show_bug.cgi?id=115936
30
31         Reviewed by Martin Robinson.
32
33         No new tests - no new functionality.
34
35         * GNUmakefile.list.am: Move more build targets under the platform_sources and platformgtk_sources listing.
36         These build targets represent source files that are already free of platform layer violations and are as such
37         ready to be pushed down from the WebCore layer into the Platform layer.
38
39 2013-06-12  Ruth Fong  <ruth_fong@apple.com>
40
41         "Open Video in New Window" doesn't make sense in fullscreen
42         https://bugs.webkit.org/show_bug.cgi?id=117556
43
44         Reviewed by Beth Dakin.
45
46         No new tests needed.
47
48         * WebCore.exp.in: Added WebKit2 hook for mediaIsInFullscreen() method.
49
50 2013-06-12  Ryosuke Niwa  <rniwa@webkit.org>
51
52         Accessibility code assumes an area element's parent is a map element
53         https://bugs.webkit.org/show_bug.cgi?id=117496
54
55         Reviewed by Chris Fleizach.
56
57         We can't make such an assumption. Scripts can insert any element between area and map elements.
58
59         Merge https://chromium.googlesource.com/chromium/blink/+/b6f486284f08c52904701c93e1ec0b7d6e76af9f.
60
61         Test: accessibility/image-map-with-indirect-area-crash.html
62
63         * accessibility/AccessibilityRenderObject.cpp:
64         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
65
66 2013-06-12  Robert Hogan  <robert@webkit.org>
67
68         Whitespace between inlines with nowrap and a shrink-to-fit parent gets a line-break when it shouldn't
69         https://bugs.webkit.org/show_bug.cgi?id=117370
70
71         Reviewed by David Hyatt.
72
73         Test: fast/text/whitespace/inline-whitespace-wrapping-8.html
74
75         A no-wrap inline shouldn't include trailing space when deciding whether it fits on a line. 
76         Likewise when we finish iterating through the objects on a line we should clear our linebreak
77         if the only thing that prevents us fitting on the line is our collapsed trailing whitespace.
78          
79         Removing the trailing space from this measurement means we need to watch out for potential
80         breaks between no-wrap inlines, in particular if we leave a no-wrap inline ignoring spaces
81         and enter an autowrap inline then we need to mark the beginning of the autowrap inline
82         as a potential linebreak. The test fast/text/whitespace/inline-whitespace-wrapping-5.html 
83         is an example of such a case.
84
85         * rendering/RenderBlockLineLayout.cpp:
86         (WebCore::LineWidth::LineWidth):
87         (WebCore::LineWidth::fitsOnLine):
88         (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
89         (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
90         (WebCore::LineWidth::setTrailingWhitespaceWidth):
91         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
92
93 2013-06-12  Bem Jones-Bey  <bjonesbe@adobe.com>
94
95         [CSS Shapes] rectangle and inset-rectangle do not properly handle rx and ry
96         https://bugs.webkit.org/show_bug.cgi?id=116745
97
98         Reviewed by Dirk Schulze.
99
100         If ry is not supplied, it now defaults to the rx value. Also, if rx
101         and ry are not supplied, they default to 0px. This also has the effect
102         that the computed style for any rectangle or inset-rectangle now
103         contains all six parameters.
104
105         If rx > width/2 then it is clamped to width/2, and if ry > height/2,
106         then it is clamped to height/2. This happens at layout time because
107         given mixed units and relative units, that is the only time this
108         determination can be made.
109
110         Tests: fast/exclusions/shape-inside/shape-inside-rounded-rectangle-large-radius.html
111                fast/exclusions/shape-outside-floats/shape-outside-floats-rounded-rectangle-large-radius.html
112
113         * css/BasicShapeFunctions.cpp:
114         (WebCore::valueForBasicShape): Remove checks for undefined, since rx
115             and ry cannot be undefined in BasicShapes anymore.
116         (WebCore::basicShapeForValue): If radii are undefined in CSS, set
117             default values in the BasicShape, per the spec.
118         * rendering/ExclusionShape.cpp:
119         (WebCore::ensureRadiiDoNotOverlap): Utility method to ensure radii
120             don't overlap.
121         (WebCore::ExclusionShape::createExclusionShape): Remove defaulting to
122             zero, clamp radii per the spec.
123         * rendering/style/BasicShapes.cpp:
124         (WebCore::BasicShapeRectangle::path): Remove defaulting.
125         (WebCore::BasicShapeRectangle::blend): Ditto.
126         (WebCore::BasicShapeInsetRectangle::path): Ditto.
127         (WebCore::BasicShapeInsetRectangle::blend): Ditto.
128         * rendering/style/BasicShapes.h:
129         (WebCore::BasicShapeRectangle::BasicShapeRectangle): Remove defaulting
130             to undefined for radii.
131         (WebCore::BasicShapeRectangle::setCornerRadiusX): Add assert to
132             prevent undefined.
133        (WebCore::BasicShapeRectangle::setCornerRadiusY): Add assert to
134             prevent undefined.
135         (WebCore::BasicShapeInsetRectangle::BasicShapeInsetRectangle): Ditto.
136         (WebCore::BasicShapeInsetRectangle::setCornerRadiusX): Add assert to
137             prevent undefined.
138        (WebCore::BasicShapeInsetRectangle::setCornerRadiusY): Add assert to
139             prevent undefined.
140
141 2013-06-11  Brent Fulgham  <bfulgham@apple.com>
142
143         [Windows] Support Title UI Element Accessibility Attribute
144         https://bugs.webkit.org/show_bug.cgi?id=117530
145
146         Reviewed by Anders Carlsson.
147
148         Fixes: accessibility/list-item-role.html
149                accessibility/hidden-legend.html
150
151         * accessibility/win/AccessibilityObjectWrapperWin.cpp:
152         (WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue): Extend to support access
153         for the Title UI Element object.
154         * accessibility/win/AccessibilityObjectWrapperWin.h: Revise interface to use Variant output,
155         which is more in keeping with the Mac's 'id' method signature.
156
157 2013-06-12  Ralph Thomas  <ralpht@gmail.com>
158
159         [CSS Shaders] Animations and transitions should use validated custom programs
160         https://bugs.webkit.org/show_bug.cgi?id=117550
161
162         Run filters used for animations and transitions through RenderLayer::computeFilterOperations
163         in order to validate custom filter operations.
164
165         Reviewed by Alexandru Chiculita.
166
167         No new tests as no platform can run custom filters with accelerated animations yet.
168
169         * rendering/RenderLayerBacking.cpp:
170         (WebCore::RenderLayerBacking::startAnimation):
171         (WebCore::RenderLayerBacking::startTransition):
172
173 2013-06-12  Ruth Fong  <ruth_fong@apple.com>
174
175         Allow for toggling fullscreen on <video> elements
176         https://bugs.webkit.org/show_bug.cgi?id=117220
177
178         Reviewed by Dean Jackson.
179
180         This patch adds the ability for fullscreen
181         context menu item on <video> elements to switch between "Enter Fullscreen"
182         and "Exit Fullscreen" and behave appropriately.
183
184         No new tests. media/context-menu-action.html,
185         which has been disabled by bug 116651, is used to test context menus.
186
187         * English.lproj/Localizable.strings: Add "Exit Fullscreen" string.
188         * html/HTMLMediaElement.cpp:
189         (WebCore::HTMLMediaElement::toggleFullscreenState): Added to appropriately enter/exit fullscreen.
190         * html/HTMLMediaElement.h:
191         * page/ContextMenuController.cpp:
192         * platform/ContextMenuItem.h:
193         * platform/LocalizedStrings.cpp:
194         * platform/LocalizedStrings.h:
195         Updated to rename variables more appropriately to reflect the toggle-ability of video fullscreen.
196         * rendering/HitTestResult.cpp:
197         (WebCore::HitTestResult::mediaIsInFullscreen): Added to check if an element
198         was a media element in fullscreen.
199         (WebCore::HitTestResult::toggleMediaFullscreenState): Added to hook into
200         HTMLMediaElement::toggleFullscreenState.
201         * rendering/HitTestResult.h:
202
203 2013-06-12  Sergio Villar Senin  <svillar@igalia.com>
204
205         Skipping {}, () and [] blocks while error recovering in CSS
206         https://bugs.webkit.org/show_bug.cgi?id=116071
207
208         Reviewed by Darin Adler.
209
210         From Blink r150201 and r150755 by <serya@chromium.org>
211
212         Test: fast/css/parsing-expr-error-recovery.html
213
214         The CSS parser should properly recover from invalid {}, () and []
215         blocks skipping them instead of discarding the whole declaration
216         as invalid. This merge is actually made of two different changes
217         from Blink, the original one that fixes the bug and another one
218         which refactors a bit the code making it more legible.
219
220         * css/CSSGrammar.y.in:
221
222 2013-06-12  Alberto Garcia  <agarcia@igalia.com>
223
224         [BlackBerry] Remove dead WebDOM code
225         https://bugs.webkit.org/show_bug.cgi?id=113370
226
227         Reviewed by Anders Carlsson.
228
229         BlackBerry PR 347565
230         Internally reviewed by Charles Wei.
231
232         * PlatformBlackBerry.cmake:
233
234 2013-06-12  Daniel Bates  <dabates@apple.com>
235
236         window.find() case-insensitive search doesn't match diacritical marks
237         https://bugs.webkit.org/show_bug.cgi?id=117353
238         <rdar://problem/8535227>
239
240         Reviewed by Darin Adler.
241
242         Currently, a case-insensitive window.find() search will return true for a word w
243         (e.g. café) with diacritical characters when w appears on the page without
244         diacritical marks (e.g. cafe). This leads to bad results, especially when
245         searching for a non-English word (e.g. qué) where the presence of an accented
246         character(s) may change the meaning of the word. Instead window.find() should
247         return false when case-insensitively matching a word with diacritical marks to
248         the same word without diacritical marks.
249
250         Test: fast/text/find-diacritical-mark.html
251
252         * editing/TextIterator.cpp:
253         (WebCore::SearchBuffer::SearchBuffer):
254
255 2013-06-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
256
257         Support latest Web IDL indexed property getters
258         https://bugs.webkit.org/show_bug.cgi?id=117507
259
260         Reviewed by Kentaro Hara.
261
262         Support latest Web IDL indexed property getters:
263         http://www.w3.org/TR/WebIDL/#dfn-support-indexed-properties
264
265         Drop support for outdated [IndexedGetter] and [NumericIndexedGetter]
266         IDL extended attributes. Since the new getter format specifies the
267         return type, the bindings generator is now smart enough to know if
268         the indexed getter is numeric or not on its own.
269
270         Based on Blink r149564 by <kojih@chromium.org>.
271
272         No new tests, no behavior change.
273
274         * Modules/filesystem/EntryArray.idl:
275         * Modules/filesystem/EntryArraySync.idl:
276         * Modules/gamepad/GamepadList.idl:
277         * Modules/mediasource/SourceBufferList.idl:
278         * Modules/speech/SpeechGrammarList.idl:
279         * Modules/speech/SpeechRecognitionResult.idl:
280         * Modules/speech/SpeechRecognitionResultList.idl:
281         * bindings/scripts/CodeGenerator.pm:
282         (IsNumericType):
283         * bindings/scripts/CodeGeneratorJS.pm:
284         (GenerateGetOwnPropertySlotBody):
285         (GenerateGetOwnPropertyDescriptorBody):
286         (GetIndexedGetterFunction):
287         (GenerateHeader):
288         (GenerateImplementation):
289         * bindings/scripts/IDLAttributes.txt:
290         * bindings/scripts/test/TestEventTarget.idl:
291         * bindings/scripts/test/TestTypedArray.idl:
292         * css/CSSRuleList.idl:
293         * css/CSSStyleDeclaration.idl:
294         * css/CSSValueList.idl:
295         * css/MediaList.idl:
296         * css/StyleSheetList.idl:
297         * css/WebKitCSSFilterValue.idl:
298         * css/WebKitCSSKeyframesRule.idl:
299         * css/WebKitCSSTransformValue.idl:
300         * dom/ClientRectList.idl:
301         * dom/DOMNamedFlowCollection.idl:
302         * dom/DOMStringList.idl:
303         * dom/DataTransferItemList.idl:
304         * dom/NamedNodeMap.idl:
305         * dom/NodeList.idl:
306         * dom/PropertyNodeList.idl:
307         * dom/TouchList.idl:
308         * fileapi/FileList.idl:
309         * html/DOMSettableTokenList.idl:
310         * html/DOMTokenList.idl:
311         * html/HTMLAllCollection.idl:
312         * html/HTMLCollection.idl:
313         * html/HTMLFormControlsCollection.idl:
314         * html/HTMLFormElement.idl:
315         * html/HTMLPropertiesCollection.idl:
316         * html/HTMLSelectElement.idl:
317         * html/RadioNodeList.idl:
318         * html/canvas/Float32Array.idl:
319         * html/canvas/Float64Array.idl:
320         * html/canvas/Int16Array.idl:
321         * html/canvas/Int32Array.idl:
322         * html/canvas/Int8Array.idl:
323         * html/canvas/Uint16Array.idl:
324         * html/canvas/Uint32Array.idl:
325         * html/canvas/Uint8Array.idl:
326         * html/canvas/Uint8ClampedArray.idl:
327         * html/track/AudioTrackList.idl:
328         * html/track/TextTrackCueList.idl:
329         * html/track/TextTrackList.idl:
330         * html/track/TextTrackRegionList.idl:
331         * html/track/VideoTrackList.idl:
332         * page/PerformanceEntryList.idl:
333         * page/SpeechInputResultList.idl:
334         * plugins/DOMMimeTypeArray.idl:
335         * plugins/DOMPlugin.idl:
336         * plugins/DOMPluginArray.idl:
337
338 2013-06-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
339
340         Rename [CallWith] to [ConstructorCallWith] for IDL interfaces
341         https://bugs.webkit.org/show_bug.cgi?id=117531
342
343         Reviewed by Kentaro Hara.
344
345         Rename [CallWith] to [ConstructorCallWith] for IDL interfaces as the
346         meaning is slightly different when [CallWith] is used for IDL operations
347         or attributes. This improves IDL readability a bit and makes it more
348         directly understandable.
349
350         Also removed [ConstructorCallWith] statements from interfaces with custom
351         constructors or no constructor, as this does not have any effect.
352
353         No new tests, no behavior change.
354
355         * Modules/filesystem/FileWriter.idl:
356         * Modules/mediasource/MediaSource.idl:
357         * Modules/mediasource/SourceBufferList.idl:
358         * Modules/mediastream/MediaStream.idl:
359         * Modules/mediastream/RTCPeerConnection.idl:
360         * Modules/notifications/Notification.idl:
361         * Modules/speech/SpeechRecognition.idl:
362         * Modules/speech/SpeechSynthesisUtterance.idl:
363         * Modules/webaudio/OfflineAudioContext.idl:
364         * Modules/websockets/WebSocket.idl:
365         * bindings/scripts/CodeGeneratorJS.pm:
366         (GenerateConstructorDefinition):
367         * bindings/scripts/IDLAttributes.txt:
368         * bindings/scripts/test/TestInterface.idl:
369         * dom/MessageChannel.idl:
370         * fileapi/FileReader.idl:
371         * html/MediaController.idl:
372         * html/track/TextTrackCue.idl:
373         * page/EventSource.idl:
374         * workers/SharedWorker.idl:
375         * workers/Worker.idl:
376         * xml/XMLHttpRequest.idl:
377
378 2013-06-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
379
380         [Qt] Set windows key-code for multimedia keys
381         https://bugs.webkit.org/show_bug.cgi?id=117535
382
383         Reviewed by Jocelyn Turcotte.
384
385         Map Qt Key-events to their defined windows keycode values.
386
387         * platform/qt/PlatformKeyboardEventQt.cpp:
388         (WebCore::windowsKeyCodeForKeyEvent):
389
390 2013-06-12  Sergio Villar Senin  <svillar@igalia.com>
391
392         [Soup] Use ResourceLoadPriority
393         https://bugs.webkit.org/show_bug.cgi?id=112902
394
395         Reviewed by Carlos Garcia Campos.
396
397         Use the ResourceLoadPriority from the ResourceRequest to set the
398         correnpondent priority to each SoupMessage.
399
400         No new tests required as there is no change in functionality,
401         we're just enabling a new feature in the underlying network stack.
402
403         * platform/network/soup/ResourceHandleSoup.cpp:
404         (WebCore::createSoupMessageForHandleAndRequest):
405         * platform/network/soup/ResourceRequest.h:
406         (WebCore):
407         (WebCore::toSoupMessagePriority): Translates ResourceLoadPriority
408         to SoupMessagePriority.
409
410 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
411
412         Remove memoryInfoEnabled, quantizedMemoryInfoEnabled settings
413         https://bugs.webkit.org/show_bug.cgi?id=117512
414
415         Reviewed by Darin Adler.
416
417         * page/Settings.in: Remove the memoryInfoEnabled and the quantizedMemoryInfoEnabled settings. These are not used
418         anywhere anymore after r151199 which simplified and moved the MemoryInfo interface under window.internals.
419
420 2013-06-12  Diego Pino Garcia  <dpino@igalia.com>
421
422         [GTK] Parameter 'pseudoElement' from function 'webkit_dom_dom_window_get_computed_style' should be allowed to be NULL
423         https://bugs.webkit.org/show_bug.cgi?id=117332
424
425         Reviewed by Xan Lopez.
426
427         Add parameter 'pseudoElement' to the list of parameters that are allowed to
428         be NULL.
429
430         * bindings/scripts/CodeGeneratorGObject.pm:
431         (GetGReturnMacro):
432
433 2013-06-12  Sergio Villar Senin  <svillar@igalia.com>
434
435         Add CSS parsing recovery to functions
436         https://bugs.webkit.org/show_bug.cgi?id=117500
437
438         Reviewed by Andreas Kling.
439
440         From Blink r150205 by <serya@chromium.org>
441
442         Add parsing recovery capabilities to functions. Errors were
443         correctly detected without this change but then the whole
444         declaration was invalidated. By using expr_recovery to handle them
445         we can recover from those errors and go on with the parsing.
446
447         * css/CSSGrammar.y.in:
448
449 2013-06-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
450
451         Unreviewed, rolling out r151378.
452         http://trac.webkit.org/changeset/151378
453         https://bugs.webkit.org/show_bug.cgi?id=117400
454
455         Decreased IDL readability a bit.
456
457         * Modules/encryptedmedia/MediaKeys.idl:
458         * Modules/mediastream/RTCIceCandidate.idl:
459         * Modules/mediastream/RTCPeerConnection.idl:
460         * Modules/mediastream/RTCSessionDescription.idl:
461         * Modules/webaudio/OfflineAudioContext.idl:
462         * Modules/websockets/WebSocket.idl:
463         * bindings/scripts/CodeGeneratorJS.pm:
464         (GenerateConstructorDefinition):
465         * bindings/scripts/IDLAttributes.txt:
466         * bindings/scripts/test/TestInterface.idl:
467         * bindings/scripts/test/TestNamedConstructor.idl:
468         * css/WebKitCSSMatrix.idl:
469         * html/HTMLOptionElement.idl:
470         * page/EventSource.idl:
471         * workers/SharedWorker.idl:
472         * workers/Worker.idl:
473
474 2013-06-11  Ryosuke Niwa  <rniwa@webkit.org>
475
476         Have to invalidate the mute button when changing the volume
477         https://bugs.webkit.org/show_bug.cgi?id=117464
478
479         Reviewed by Darin Adler.
480
481         Merge https://chromium.googlesource.com/chromium/blink/+/c4c685c82908449526fd8c251cc551e729ebed08
482         but without a test since the test doesn't work in WebKit.
483
484         * html/shadow/MediaControls.cpp:
485         (WebCore::MediaControls::changedVolume):
486
487 2013-06-11  Max Vujovic  <mvujovic@adobe.com>
488
489         [CSS Regions] Regions don't create a stacking context for their contents
490         https://bugs.webkit.org/show_bug.cgi?id=114268
491
492         Reviewed by Alexandru Chiculita.
493
494         Paint the region content (from RenderFlowThread) during the background phase instead of the
495         foreground phase.
496
497         Let's assume there is a region and a sibling element. The sibling partially overlaps the
498         region and appears after the region in DOM order.
499
500         Before this patch, we would paint in this order:
501         1) Region background
502         2) Sibling background
503         3) Region content
504         4) Sibling content
505
506         As a result, the sibling background would incorrectly paint between the region
507         background and the region content. Instead, the sibling background should paint over the
508         region background and the region content.
509
510         After this patch, we paint in this order:
511         1) Region background
512         2) Region content
513         3) Sibling background
514         4) Sibling content
515
516         Test: fast/regions/region-sibling-paint-order.html
517
518         * rendering/RenderRegion.cpp:
519         (WebCore::RenderRegion::paintObject):
520
521 2013-06-11  Jer Noble  <jer.noble@apple.com>
522
523         REGRESSION: (r149232) videos on disney.com are initially scrambled on load
524         https://bugs.webkit.org/show_bug.cgi?id=117517
525
526         Reviewed by Eric Carlson.
527
528         Set a background color on the AVPlayerLayer to avoid corruption when no
529         frames are available to display.
530
531         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
532         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
533
534 2013-06-11  Ryosuke Niwa  <rniwa@webkit.org>
535
536         Use HTMLElementFactory to create equivalent elements in WebVTTElement
537         https://bugs.webkit.org/show_bug.cgi?id=117423
538
539         Reviewed by Eric Carlson.
540
541         Merge https://chromium.googlesource.com/chromium/blink/+/3d60bec8e5dabfe877c482797d9ef430bfde31
542
543         This change forces the calls through the factory so that we create appropriate sub-classes based upon the passed tag name,
544         rather than just creating a concrete HTMLElement class with an inappropriate tag name.
545
546         Test: media/track/getCueAsHTMLCrash.html
547
548         * html/track/WebVTTElement.cpp:
549         (WebCore::WebVTTElement::createEquivalentHTMLElement):
550
551 2013-06-11  Benjamin Poulain  <bpoulain@apple.com>
552
553         Split SelectorDataList::executeSingleTagNameSelectorData() into the 4 kinds of traversal
554         https://bugs.webkit.org/show_bug.cgi?id=117486
555
556         Reviewed by Ryosuke Niwa.
557
558         Since this is pretty common, split the name selector to have the constant conditions
559         outside the traversal.
560
561         * dom/SelectorQuery.cpp:
562         (WebCore::SelectorDataList::executeSingleTagNameSelectorData):
563
564 2013-06-11  Eric Carlson  <eric.carlson@apple.com>
565
566         [Mac] Update text track menu
567         https://bugs.webkit.org/show_bug.cgi?id=117351
568
569         Reviewed by Darin Adler.
570
571         No new tests, existing tests updated.
572
573         * English.lproj/Localizable.strings: Update the menu title.
574
575         * page/CaptionUserPreferencesMac.mm: System language is no longer needed.
576
577         * platform/LocalizedStrings.cpp: Ditto.
578         * platform/LocalizedStrings.h:
579
580 2013-06-11  Benjamin Poulain  <bpoulain@apple.com>
581
582         Fix the element type in the selector checkers
583         https://bugs.webkit.org/show_bug.cgi?id=117450
584
585         Reviewed by Anders Carlsson.
586
587         * css/SelectorCheckerFastPath.cpp:
588         (WebCore::HTMLNames::checkClassValue):
589         * dom/SelectorQuery.cpp:
590         (WebCore::SelectorDataList::executeSingleClassNameSelectorData):
591
592 2013-06-11  Benjamin Poulain  <bpoulain@apple.com>
593
594         Clean up the initializer mess in Document
595         https://bugs.webkit.org/show_bug.cgi?id=117448
596
597         Reviewed by Ryosuke Niwa.
598
599         Basic cleaning from
600         https://chromium.googlesource.com/chromium/blink/+/e54ba8d3b62b0245ecdf2f3ec11cd33b4035a4d7
601
602         * dom/Document.cpp:
603         (WebCore::Document::Document):
604         * dom/Document.h:
605
606 2013-06-11  Jer Noble  <jer.noble@apple.com>
607
608         Set the font size for in-band captions on the display box, not the :cue.
609         https://bugs.webkit.org/show_bug.cgi?id=117515
610
611         Reviewed by Eric Carlson.
612
613         Make the in-band font size behavior match the out-of-band behavior.
614
615         * html/track/TextTrackCueGeneric.cpp:
616         (WebCore::TextTrackCueGeneric::setFontSize):
617
618 2013-06-11  Brent Fulgham  <bfulgham@apple.com>
619
620         [Windows] Implement 'attributeValue' accessor to support testing.
621         https://bugs.webkit.org/show_bug.cgi?id=117513
622
623         Reviewed by Anders Carlsson.
624
625         * WebCore.vcxproj/WebCore.vcxproj: Add new implementation file.
626         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
627         * accessibility/win/AccessibilityObjectWrapperWin.cpp: Added.
628         * accessibility/win/AccessibilityObjectWrapperWin.h: Add declaration
629
630 2013-05-27  Robert Hogan  <robert@webkit.org>
631
632         Positioned Replaced Elements That Aren't RenderReplaced get Incorrect Width
633         https://bugs.webkit.org/show_bug.cgi?id=93735
634
635         Reviewed by Darin Adler.
636
637         Replaced elements that aren't RenderReplaced aren't |isReplaced| and don't have an 
638         intrinsic height or width. This causes them to go down the wrong height and width computation
639         path in RenderBox when they are absolute positioned. 
640         
641         The notion of |isReplaced| is entwined with the notion of being |isInline| so it isn't really 
642         possible to make them isReplaced without re-wiring a lot of code. So instead use an ad-hoc definition
643         of isReplacedElement in RenderBox to bring all replaced elements into the height and width calculation.
644         To make sure we get the right height and width in there, give non-RenderReplaced replaced renderers
645         the helpers for returning their approximation of intrinsic height and width.
646
647         Test: fast/replaced/width-and-height-of-positioned-replaced-elements.html
648
649         * rendering/RenderBox.cpp:
650         (WebCore::isReplacedElement):
651         (WebCore::RenderBox::computePositionedLogicalWidth):
652         (WebCore::RenderBox::computePositionedLogicalHeight):
653         * rendering/RenderBox.h:
654         (WebCore::RenderBox::intrinsicSize):
655         * rendering/RenderButton.h:
656         * rendering/RenderListBox.cpp:
657         (WebCore::RenderListBox::RenderListBox):
658         (WebCore::RenderListBox::computeLogicalHeight):
659         * rendering/RenderListBox.h:
660         * rendering/RenderMenuList.h:
661         * rendering/RenderReplaced.h:
662         * rendering/RenderTextControl.cpp:
663         (WebCore::RenderTextControl::RenderTextControl):
664         (WebCore::RenderTextControl::computeLogicalHeight):
665         * rendering/RenderTextControl.h:
666
667 2013-06-11  Ryosuke Niwa  <rniwa@webkit.org>
668
669         There are unused variables in ApplyStyleCommand::mergeEndWithNextIfIdentical and ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds
670         https://bugs.webkit.org/show_bug.cgi?id=117475
671
672         Reviewed by Andreas Kling.
673
674         Removed.
675
676         * editing/ApplyStyleCommand.cpp:
677         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
678         * editing/ReplaceSelectionCommand.cpp:
679         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
680
681 2013-06-11  Robert Hogan  <robert@webkit.org>
682
683         Fix typo in r151445
684
685         Unreviewed build fix.
686
687         * rendering/RenderBlock.cpp:
688         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
689
690 2013-06-11  Ryosuke Niwa  <rniwa@webkit.org>
691
692         Remove redundant calls to ceilToFloat in RenderBlock::computeInlinePreferredLogicalWidths
693         https://bugs.webkit.org/show_bug.cgi?id=117490
694
695         Reviewed by Andreas Kling.
696
697         Merge https://chromium.googlesource.com/chromium/blink/+/be336b14325b2938ff6a4fb6191073a6e717a57c.
698
699         * rendering/RenderBlock.cpp:
700         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
701
702 2013-06-03  Robert Hogan  <robert@webkit.org>
703
704         Painting collapsed borders during scrolling
705         https://bugs.webkit.org/show_bug.cgi?id=85658
706
707         Reviewed by David Hyatt.
708
709         Test: fast/repaint/table-cell-collapsed-border-scroll.html
710
711         WHen painting collapsed borders we need to paint the borders of the row above
712         the topmost dirtied row so that we compute the correct value for the dirtied row's collapsed border.
713
714         * rendering/RenderTableSection.cpp:
715         (WebCore::RenderTableSection::paintObject):
716
717 2013-06-11  Peter Gal  <galpeter@inf.u-szeged.hu>
718
719         [curl] Custom HTTP method support
720         https://bugs.webkit.org/show_bug.cgi?id=117302
721
722         Reviewed by Kenneth Rohde Christiansen.
723
724         No new tests, already covered by existing ones like:
725         http/tests/xmlhttprequest/workers/methods.html
726         http/tests/xmlhttprequest/workers/methods-async.html
727
728         * platform/network/curl/ResourceHandleManager.cpp:
729         (WebCore::ResourceHandleManager::initializeHandle):
730
731 2013-06-11  Seokju Kwon  <seokju.kwon@gmail.com>
732
733         Web Inspector: Remove 'using namespace std'
734         https://bugs.webkit.org/show_bug.cgi?id=117498
735
736         Reviewed by Anders Carlsson.
737
738         No new tests, no behavior change.
739
740         * inspector/InspectorAgent.cpp: Remove unneeded 'using namespace std'.
741         * inspector/InspectorFrontendClientLocal.cpp: Use explicit std:: qualifiers instead.
742         (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight):
743         (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowWidth):
744         * inspector/InspectorFrontendHost.cpp: Remove unneeded 'using namespace std'.
745         * inspector/InspectorPageAgent.cpp: Remove unneeded 'using namespace std'.
746
747 2013-06-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
748
749         Support latest Web IDL named property getters
750         https://bugs.webkit.org/show_bug.cgi?id=117403
751
752         Reviewed by Kentaro Hara.
753
754         Add support for the latest Web IDL named property getters to the JSC
755         bindings generator:
756         http://www.w3.org/TR/WebIDL/#idl-named-properties
757
758         Drop support for outdated [NamedGetter] IDL extended attribute.
759
760         Support for other kinds of named properties will be added in later
761         patches. This patch only brings named property getters.
762
763         This patch is based on Blink r149247 by kojih@chromium.org.
764
765         No new tests, no behavior change.
766
767         * bindings/scripts/CodeGeneratorJS.pm:
768         (GenerateGetOwnPropertySlotBody):
769         (GenerateGetOwnPropertyDescriptorBody):
770         (GetSpecialAccessorFunctionForType):
771         (GetNamedGetterFunction):
772         (GenerateHeader):
773         (GenerateImplementation):
774         * bindings/scripts/IDLAttributes.txt:
775         * bindings/scripts/IDLParser.pm:
776         (applyTypedefs):
777         (parseSpecialOperation):
778         (parseSpecials):
779         (applyMemberList):
780         * bindings/scripts/test/TestEventTarget.idl:
781         * css/StyleSheetList.idl:
782         * dom/DOMNamedFlowCollection.idl:
783         * dom/DOMStringMap.idl:
784         * dom/NamedNodeMap.idl:
785         * dom/NodeList.idl:
786         * html/HTMLAllCollection.idl:
787         * html/HTMLCollection.idl:
788         * html/HTMLFormControlsCollection.idl:
789         * html/HTMLPropertiesCollection.idl:
790         * plugins/DOMMimeTypeArray.idl:
791         * plugins/DOMPlugin.idl:
792         * plugins/DOMPluginArray.idl:
793         * storage/Storage.idl:
794
795 2013-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
796
797         [BlackBerry] Test editing/execCommand/indent-paragraphs.html times out
798         https://bugs.webkit.org/show_bug.cgi?id=117235
799
800         Reviewed by Rob Buis.
801
802         PR 346414.
803
804         After r150224 ResourceHandle::start() can fail returning false so
805         that the ResourceHandle is destroyed and the error not
806         handled. Handle the errors by scheduling a InvalidURLFailure and
807         returning true when startJob fails to make sure the ResourceHandle
808         is not destroyed and the error is handled and notified to the
809         client.
810
811         Fixes timeout in editing/execCommand/indent-paragraphs.html.
812
813         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
814         (WebCore::ResourceHandle::start):
815
816 2013-06-11  Ryosuke Niwa  <rniwa@webkit.org>
817
818         Remove IntRect::pixelSnapped* and its enclosingRect since they are no longer used
819         https://bugs.webkit.org/show_bug.cgi?id=117494
820
821         Reviewed by Darin Adler.
822
823         Merge: https://chromium.googlesource.com/chromium/blink/+/9433dc00e882e2808ac1db3c1fd89090896d7b58
824                https://chromium.googlesource.com/chromium/blink/+/7beaa73aa099170cb2cad02c12c5e0a448b12c21
825
826         * inspector/InspectorLayerTreeAgent.cpp:
827         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
828         * inspector/InspectorOverlay.cpp:
829         (WebCore::InspectorOverlay::update):
830         * platform/graphics/IntRect.h:
831         * rendering/RenderInline.cpp:
832         (WebCore::RenderInline::hitTestCulledInline):
833         * rendering/RenderObject.cpp:
834         (WebCore::RenderObject::repaintUsingContainer):
835
836 2013-06-11  Sergio Villar Senin  <svillar@igalia.com>
837
838         Autoclose braces and parentheses at the end of style sheet
839         https://bugs.webkit.org/show_bug.cgi?id=117414
840
841         Reviewed by Andreas Kling.
842
843         From Blink r150202 by <serya@chromium.org>
844
845         Use closing_parenthesis and closing_brace instead of the literals
846         '}' and ')'. This allows the parser to treat expressions with
847         unmatched closing braces/parenthesis as if all of them were
848         actually closed.
849
850         Tests: animations/keyframe-autoclose-brace.html
851                css3/autoclose-braces-and-parentheses.html
852
853         * css/CSSGrammar.y.in:
854
855 2013-06-10  Jae Hyun Park  <jae.park@company100.net>
856
857         [CoordinatedGraphics] Typos in custom shader support
858         https://bugs.webkit.org/show_bug.cgi?id=117413
859
860         Reviewed by Noam Rosenthal.
861
862         Wrong keyframe is passed when assigning filterValue.
863
864         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
865         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
866
867 2013-06-10  Ryosuke Niwa  <rniwa@webkit.org>
868
869         text-transform: capitalize shouldn't upconvert
870         https://bugs.webkit.org/show_bug.cgi?id=117485
871
872         Reviewed by Adam Barth.
873
874         Avoid the upconversion. Merge https://chromium.googlesource.com/chromium/blink/+/c5a221d6da2443df0639c01c40aac6040908ec79.
875
876         * rendering/RenderText.cpp:
877         (WebCore::makeCapitalized):
878
879 2013-06-10  Ryosuke Niwa  <rniwa@webkit.org>
880
881         DocType strings should be 8 bit wide
882         https://bugs.webkit.org/show_bug.cgi?id=117487
883
884         Reviewed by Michael Saboff.
885
886         Merge https://chromium.googlesource.com/chromium/blink/+/8da02d0ce3965c4e6bf227db856bce930393429a.
887
888         * html/parser/HTMLConstructionSite.cpp:
889         (WebCore::HTMLConstructionSite::insertDoctype):
890
891 2013-06-10  Ryosuke Niwa  <rniwa@webkit.org>
892
893         Make more functions const
894         https://bugs.webkit.org/show_bug.cgi?id=117455
895
896         Reviewed by Benjamin Poulain.
897
898         Merge https://chromium.googlesource.com/chromium/blink/+/886866f5034d7f30f8aa607b909313f99db1f3b4.
899
900         * editing/VisibleUnits.cpp:
901         (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
902         * html/canvas/WebGLRenderingContext.cpp:
903         * page/ContentSecurityPolicy.cpp:
904         (WebCore::CSPDirectiveList::evalDisabledErrorMessage):
905         * rendering/RenderBlockLineLayout.cpp:
906         (WebCore::LineWidth::shouldIndentText):
907
908 2013-06-10  Jer Noble  <jer.noble@apple.com>
909
910         REGRESSION(r151302): Many broken webaudio/ tests on Mac port.
911         https://bugs.webkit.org/show_bug.cgi?id=117446
912
913         Reviewed by Chris Rogers.
914
915         The new "pageConsentRequiredForAudioStart()" restriction was blocking playback event
916         even when page consent was given. Remvoe the restriction immediately in that case.
917
918         * Modules/webaudio/AudioContext.cpp:
919         (WebCore::AudioContext::startRendering):
920
921 2013-06-10  Andreas Kling  <akling@apple.com>
922
923         REGRESSION(r150633): Find on page non-focused text highlight color is bright yellow.
924         <rdar://problem/14098882>
925         <http://webkit.org/b/117371>
926
927         Reviewed by Anders Carlsson.
928
929         There was a mistake in the parameter ordering which still compiled because of
930         implicit bool/unsigned conversion.
931         Changed the interface of Page::findMatchesForText() to use enums instead of bools.
932
933         No test because the color of the highlighted matches is not available through APIs.
934
935         * page/Page.h:
936         * page/Page.cpp:
937         (WebCore::Page::findMatchesForText):
938         (WebCore::Page::markAllMatchesForText):
939         (WebCore::Page::countFindMatches):
940
941 2013-06-10  Bear Travis  <betravis@adobe.com>
942
943         [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
944         https://bugs.webkit.org/show_bug.cgi?id=117162
945
946         Reviewed by Alexandru Chiculita.
947
948         With the split between the CSS Exclusions and CSS Shapes specifications,
949         some renaming is necessary. In general, this patch removes 'Exclusion' from
950         any Shapes code, while organizing the rendering shapes code into a 'shapes'
951         folder.
952
953         Renames:
954         ExclusionShape -> Shape
955         Exclusion[Rectangle|Polygon] -> [Rectangle|Polygon]Shape
956         Exclusion -> Shape
957
958         Refactoring, no new tests.
959
960         * CMakeLists.txt:
961         * GNUmakefile.am:
962         * GNUmakefile.list.am:
963         * Target.pri:
964         * WebCore.pri:
965         * WebCore.vcxproj/WebCore.vcxproj:
966         * WebCore.vcxproj/WebCore.vcxproj.filters:
967         * WebCore.xcodeproj/project.pbxproj:
968         * css/CSSComputedStyleDeclaration.cpp:
969         (WebCore::ComputedStyleExtractor::propertyValue):
970         * css/CSSPrimitiveValue.h:
971         * css/DeprecatedStyleBuilder.cpp:
972         (WebCore::ApplyPropertyShape::setValue):
973         (WebCore::ApplyPropertyShape::applyValue):
974         (WebCore::ApplyPropertyShape::createHandler):
975         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
976         * page/animation/CSSPropertyAnimation.cpp:
977         (WebCore::blendFunc):
978         (WebCore::PropertyWrapperShape::PropertyWrapperShape):
979         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
980         * rendering/LayoutState.cpp:
981         (WebCore::LayoutState::LayoutState):
982         * rendering/LayoutState.h:
983         (WebCore::LayoutState::LayoutState):
984         (WebCore::LayoutState::shapeInsideInfo):
985         * rendering/RenderBlock.cpp:
986         (WebCore::RenderBlock::styleDidChange):
987         (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
988         (WebCore::shapeInfoRequiresRelayout):
989         (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
990         (WebCore::RenderBlock::computeShapeSize):
991         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
992         (WebCore::RenderBlock::insertFloatingObject):
993         (WebCore::RenderBlock::computeLogicalLocationForFloat):
994         (WebCore::RenderBlock::positionNewFloats):
995         (WebCore::RenderBlock::logicalLeftOffsetForLine):
996         (WebCore::RenderBlock::logicalRightOffsetForLine):
997         * rendering/RenderBlock.h:
998         (WebCore::RenderBlock::ensureShapeInsideInfo):
999         (WebCore::RenderBlock::shapeInsideInfo):
1000         (WebCore::RenderBlock::setShapeInsideInfo):
1001         (WebCore::RenderBlock::allowsShapeInsideInfoSharing):
1002         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1003         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1004         * rendering/RenderBlockLineLayout.cpp:
1005         (WebCore::RenderBlock::layoutShapeInsideInfo):
1006         (WebCore::LineWidth::LineWidth):
1007         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1008         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1009         (WebCore::constructBidiRunsForLine):
1010         (WebCore::adjustLogicalLineTop):
1011         (WebCore::RenderBlock::updateLineBoundariesForShapes):
1012         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded):
1013         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1014         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
1015         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1016         * rendering/RenderBox.cpp:
1017         (WebCore::RenderBox::willBeDestroyed):
1018         (WebCore::RenderBox::styleDidChange):
1019         (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange):
1020         * rendering/RenderBox.h:
1021         (WebCore::RenderBox::shapeOutsideInfo):
1022         * rendering/RenderBoxModelObject.cpp:
1023         (WebCore::RenderBoxModelObject::paintOffset):
1024         * rendering/RenderView.h:
1025         (WebCore::RenderView::pushLayoutState):
1026         * rendering/shapes/PolygonShape.cpp: Renamed from Source/WebCore/rendering/ExclusionPolygon.cpp.
1027         (WebCore::leftSide):
1028         (WebCore::isReflexVertex):
1029         (WebCore::computeXIntersection):
1030         (WebCore::inwardEdgeNormal):
1031         (WebCore::outwardEdgeNormal):
1032         (WebCore::appendArc):
1033         (WebCore::snapVerticesToLayoutUnitGrid):
1034         (WebCore::computeShapePaddingBounds):
1035         (WebCore::computeShapeMarginBounds):
1036         (WebCore::PolygonShape::shapePaddingBounds):
1037         (WebCore::PolygonShape::shapeMarginBounds):
1038         (WebCore::getVertexIntersectionVertices):
1039         (WebCore::appendIntervalX):
1040         (WebCore::compareEdgeIntersectionX):
1041         (WebCore::computeXIntersections):
1042         (WebCore::computeOverlappingEdgeXProjections):
1043         (WebCore::PolygonShape::getExcludedIntervals):
1044         (WebCore::PolygonShape::getIncludedIntervals):
1045         (WebCore::firstFitRectInPolygon):
1046         (WebCore::aboveOrToTheLeft):
1047         (WebCore::PolygonShape::firstIncludedIntervalLogicalTop):
1048         * rendering/shapes/PolygonShape.h: Renamed from Source/WebCore/rendering/ExclusionPolygon.h.
1049         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
1050         (WebCore::OffsetPolygonEdge::edgeIndex):
1051         (WebCore::OffsetPolygonEdge::basis):
1052         (WebCore::PolygonShape::PolygonShape):
1053         * rendering/shapes/RectangleShape.cpp: Renamed from Source/WebCore/rendering/ExclusionRectangle.cpp.
1054         (WebCore::ellipseXIntercept):
1055         (WebCore::ellipseYIntercept):
1056         (WebCore::FloatRoundedRect::paddingBounds):
1057         (WebCore::FloatRoundedRect::marginBounds):
1058         (WebCore::FloatRoundedRect::cornerInterceptForWidth):
1059         (WebCore::RectangleShape::shapePaddingBounds):
1060         (WebCore::RectangleShape::shapeMarginBounds):
1061         (WebCore::RectangleShape::getExcludedIntervals):
1062         (WebCore::RectangleShape::getIncludedIntervals):
1063         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
1064         * rendering/shapes/RectangleShape.h: Renamed from Source/WebCore/rendering/ExclusionRectangle.h.
1065         (WebCore::FloatRoundedRect::FloatRoundedRect):
1066         (WebCore::FloatRoundedRect::rx):
1067         (WebCore::FloatRoundedRect::ry):
1068         (WebCore::RectangleShape::RectangleShape):
1069         * rendering/shapes/Shape.cpp: Renamed from Source/WebCore/rendering/ExclusionShape.cpp.
1070         (WebCore::createRectangleShape):
1071         (WebCore::createShapeCircle):
1072         (WebCore::createShapeEllipse):
1073         (WebCore::createPolygonShape):
1074         (WebCore::physicalRectToLogical):
1075         (WebCore::physicalPointToLogical):
1076         (WebCore::physicalSizeToLogical):
1077         (WebCore::Shape::createShape):
1078         * rendering/shapes/Shape.h: Renamed from Source/WebCore/rendering/ExclusionShape.h.
1079         (WebCore::LineSegment::LineSegment):
1080         (WebCore::Shape::~Shape):
1081         (WebCore::Shape::shapeMargin):
1082         (WebCore::Shape::shapePadding):
1083         * rendering/shapes/ShapeInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.cpp.
1084         (WebCore::::computedShape):
1085         (WebCore::::computeSegmentsForLine):
1086         * rendering/shapes/ShapeInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.h.
1087         (WebCore::MappedInfo::ensureInfo):
1088         (WebCore::MappedInfo::removeInfo):
1089         (WebCore::MappedInfo::info):
1090         (WebCore::MappedInfo::infoMap):
1091         (WebCore::ShapeInfo::~ShapeInfo):
1092         (WebCore::ShapeInfo::setShapeSize):
1093         (WebCore::ShapeInfo::clearSegments):
1094         (WebCore::ShapeInfo::shapeLogicalTop):
1095         (WebCore::ShapeInfo::shapeLogicalBottom):
1096         (WebCore::ShapeInfo::shapeLogicalLeft):
1097         (WebCore::ShapeInfo::shapeLogicalRight):
1098         (WebCore::ShapeInfo::shapeLogicalWidth):
1099         (WebCore::ShapeInfo::shapeLogicalHeight):
1100         (WebCore::ShapeInfo::logicalLineTop):
1101         (WebCore::ShapeInfo::logicalLineBottom):
1102         (WebCore::ShapeInfo::shapeContainingBlockHeight):
1103         (WebCore::ShapeInfo::lineOverlapsShapeBounds):
1104         (WebCore::ShapeInfo::lineWithinShapeBounds):
1105         (WebCore::ShapeInfo::dirtyShapeSize):
1106         (WebCore::ShapeInfo::shapeSizeDirty):
1107         (WebCore::ShapeInfo::owner):
1108         (WebCore::ShapeInfo::ShapeInfo):
1109         (WebCore::ShapeInfo::logicalTopOffset):
1110         (WebCore::ShapeInfo::logicalLeftOffset):
1111         * rendering/shapes/ShapeInsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp.
1112         (WebCore::LineSegmentRange::LineSegmentRange):
1113         (WebCore::ShapeInsideInfo::isEnabledFor):
1114         (WebCore::ShapeInsideInfo::adjustLogicalLineTop):
1115         * rendering/shapes/ShapeInsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.h.
1116         (WebCore::LineSegmentIterator::LineSegmentIterator):
1117         (WebCore::ShapeInsideInfo::createInfo):
1118         (WebCore::ShapeInsideInfo::hasSegments):
1119         (WebCore::ShapeInsideInfo::segments):
1120         (WebCore::ShapeInsideInfo::segmentRanges):
1121         (WebCore::ShapeInsideInfo::currentSegment):
1122         (WebCore::ShapeInsideInfo::setNeedsLayout):
1123         (WebCore::ShapeInsideInfo::needsLayout):
1124         (WebCore::ShapeInsideInfo::ShapeInsideInfo):
1125         * rendering/shapes/ShapeInterval.cpp: Renamed from Source/WebCore/rendering/ExclusionInterval.cpp.
1126         (WebCore::IntervalX1Comparator::operator()):
1127         (WebCore::ShapeInterval::intersect):
1128         (WebCore::sortShapeIntervals):
1129         (WebCore::mergeShapeIntervals):
1130         (WebCore::intersectShapeIntervals):
1131         (WebCore::subtractShapeIntervals):
1132         * rendering/shapes/ShapeInterval.h: Renamed from Source/WebCore/rendering/ExclusionInterval.h.
1133         (WebCore::ShapeInterval::ShapeInterval):
1134         * rendering/shapes/ShapeOutsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp.
1135         (WebCore::ShapeOutsideInfo::isEnabledFor):
1136         (WebCore::ShapeOutsideInfo::computeSegmentsForLine):
1137         * rendering/shapes/ShapeOutsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.h.
1138         (WebCore::ShapeOutsideInfo::shapeLogicalOffset):
1139         (WebCore::ShapeOutsideInfo::leftSegmentShapeBoundingBoxDelta):
1140         (WebCore::ShapeOutsideInfo::rightSegmentShapeBoundingBoxDelta):
1141         (WebCore::ShapeOutsideInfo::createInfo):
1142         (WebCore::ShapeOutsideInfo::ShapeOutsideInfo):
1143         * rendering/style/RenderStyle.cpp:
1144         (WebCore::RenderStyle::initialShapeInside):
1145         * rendering/style/RenderStyle.h:
1146         * rendering/style/ShapeValue.h: Renamed from Source/WebCore/rendering/style/ExclusionShapeValue.h.
1147         (WebCore::ShapeValue::createShapeValue):
1148         (WebCore::ShapeValue::createOutsideValue):
1149         (WebCore::ShapeValue::createImageValue):
1150         (WebCore::ShapeValue::type):
1151         (WebCore::ShapeValue::shape):
1152         (WebCore::ShapeValue::image):
1153         (WebCore::ShapeValue::setImage):
1154         (WebCore::ShapeValue::operator==):
1155         (WebCore::ShapeValue::ShapeValue):
1156         * rendering/style/StyleRareNonInheritedData.h:
1157
1158 2013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
1159
1160         Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
1161         https://bugs.webkit.org/show_bug.cgi?id=116717
1162
1163         Reviewed by Martin Robinson.
1164
1165         Refactored WidgetBackingStore to be an abstract base class and make
1166         GtkWidgetBackingStoreX11 and WidgetBackingStoreCairo inherit from it.
1167         GtkWidgetBackingStoreX11 renamed to WidgetBackingStoreGtkX11.
1168
1169         * GNUmakefile.list.am:
1170         * platform/cairo/WidgetBackingStore.h:
1171         (WebCore):
1172         (WidgetBackingStore):
1173         (WebCore::WidgetBackingStore::WidgetBackingStore):
1174         (WebCore::WidgetBackingStore::~WidgetBackingStore):
1175         * platform/cairo/WidgetBackingStoreCairo.cpp:
1176         (WebCore::WidgetBackingStoreCairo::create):
1177         (WebCore):
1178         (WebCore::WidgetBackingStoreCairo::WidgetBackingStoreCairo):
1179         (WebCore::WidgetBackingStoreCairo::~WidgetBackingStoreCairo):
1180         (WebCore::WidgetBackingStoreCairo::cairoSurface):
1181         (WebCore::WidgetBackingStoreCairo::scroll):
1182         * platform/cairo/WidgetBackingStoreCairo.h: Added.
1183         (WebCore):
1184         (WidgetBackingStoreCairo):
1185         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
1186         (WebCore::WidgetBackingStoreGtkX11::create):
1187         (WebCore):
1188         (WebCore::WidgetBackingStoreGtkX11::WidgetBackingStoreGtkX11):
1189         (WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11):
1190         (WebCore::WidgetBackingStoreGtkX11::cairoSurface):
1191         (WebCore::WidgetBackingStoreGtkX11::scroll):
1192         * platform/gtk/GtkWidgetBackingStoreX11.h: Added.
1193         (WebCore):
1194         (WidgetBackingStoreGtkX11):
1195
1196 2013-06-10  Otto Derek Cheung  <otcheung@rim.com>
1197
1198         [BlackBerry] Store ParsedCookies as RefPtrs instead of PassRefPtrs in CookieDatabaseBackingStore
1199         https://bugs.webkit.org/show_bug.cgi?id=117411
1200
1201         JIRA388672
1202         BRWSR-11465
1203         Reviewed by Rob Buis.
1204
1205         When we queue up ParsedCookie objects for modification, we should be storing them as a refptr instead
1206         of a PassRefPtr.
1207
1208         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
1209
1210 2013-06-10  Mihnea Ovidenie  <mihnea@adobe.com>
1211
1212         [CSSRegions] ASSERTION FAILED: roundedIntPoint(rendererMappedResult) == roundedIntPoint(result) in RenderGeometryMap::mapToContainer
1213         https://bugs.webkit.org/show_bug.cgi?id=117395
1214
1215         Reviewed by Alexandru Chiculita.
1216
1217         Test: fast/regions/assert-flow-thread-compositing.html
1218
1219         We should not allow RenderNamedFlowThread layers to be composited, rather their collected children should checked
1220         for compositing through their associated RenderRegions.
1221
1222         The assert in RenderGeometryMap::mapToContainer was hit because after https://bugs.webkit.org/show_bug.cgi?id=117270
1223         the render named flow threads are hooked in RenderView layer tree - with the caveat that they are not directly involved
1224         in hit testing/paint which is done through their associated regions.
1225
1226         * rendering/RenderLayerCompositor.cpp:
1227         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Bail out if we hit a render named flow thread layer.
1228         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto.
1229
1230 2013-06-10  Sergio Villar Senin  <svillar@igalia.com>
1231
1232         Refactor CALCFUNCTION rules in the CSS grammar
1233         https://bugs.webkit.org/show_bug.cgi?id=117401
1234
1235         Reviewed by Andreas Kling.
1236
1237         From Blink r149862 by <serya@chromium.org>.
1238
1239         Reduce the number of CALCFUNCTION rules by refactoring the closing
1240         parenthesis handling code.
1241
1242         No new tests required as this is a refactoring, no new functionality
1243         added.
1244
1245         * css/CSSGrammar.y.in:
1246
1247 2013-06-10  Radu Stavila  <stavila@adobe.com>
1248
1249         [CSS Regions] Rename region-overflow to region-fragment
1250         https://bugs.webkit.org/show_bug.cgi?id=117397
1251
1252         Renamed -webkit-region-overflow to -webkit-region-fragment and 
1253         webkitRegionOverflow to webkitRegionFragment according to the new working draft
1254         at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property
1255
1256         Reviewed by Alexander Pavlov.
1257
1258         * css/CSSComputedStyleDeclaration.cpp:
1259         (WebCore::ComputedStyleExtractor::propertyValue):
1260         * css/CSSParser.cpp:
1261         (WebCore::isValidKeywordPropertyAndValue):
1262         (WebCore::isKeywordPropertyID):
1263         (WebCore::CSSParser::parseValue):
1264         * css/CSSPrimitiveValueMappings.h:
1265         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1266         (WebCore::CSSPrimitiveValue::operator RegionFragment):
1267         * css/CSSProperty.cpp:
1268         (WebCore::CSSProperty::isInheritedProperty):
1269         * css/CSSPropertyNames.in:
1270         * css/CSSValueKeywords.in:
1271         * css/DeprecatedStyleBuilder.cpp:
1272         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1273         * css/StyleResolver.cpp:
1274         (WebCore::StyleResolver::applyProperty):
1275         * rendering/RenderBlock.cpp:
1276         (WebCore::RenderBlock::hasNextPage):
1277         * rendering/RenderRegion.cpp:
1278         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
1279         * rendering/style/RenderStyle.cpp:
1280         (WebCore::RenderStyle::changeRequiresLayout):
1281         * rendering/style/RenderStyle.h:
1282         * rendering/style/RenderStyleConstants.h:
1283         * rendering/style/StyleRareNonInheritedData.cpp:
1284         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1285         (WebCore::StyleRareNonInheritedData::operator==):
1286         * rendering/style/StyleRareNonInheritedData.h:
1287
1288 2013-06-10  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1289
1290         Replace [ConstructorRaisesException] with [RaisesException]
1291         https://bugs.webkit.org/show_bug.cgi?id=117400
1292
1293         Reviewed by Kentaro Hara.
1294
1295         Replace [ConstructorRaisesException] with [RaisesException] IDL extended
1296         attribute and drop [ConstructorRaisesException]. It makes little sense
1297         to have 2 extended attributes with the same meaning.
1298
1299         [RaisesException] can now be used on IDL operations to indicate that the
1300         method may throw exceptions or on interfaces to indicate that the
1301         constructor may throw exceptions.
1302
1303         From Blink r148027 by Kentaro Hara <haraken@chromium.org>.
1304
1305         No new tests, no behavior change.
1306
1307         * Modules/encryptedmedia/MediaKeys.idl:
1308         * Modules/mediastream/RTCIceCandidate.idl:
1309         * Modules/mediastream/RTCPeerConnection.idl:
1310         * Modules/mediastream/RTCSessionDescription.idl:
1311         * Modules/webaudio/OfflineAudioContext.idl:
1312         * Modules/websockets/WebSocket.idl:
1313         * bindings/scripts/CodeGeneratorJS.pm:
1314         (GenerateConstructorDefinition):
1315         * bindings/scripts/IDLAttributes.txt:
1316         * bindings/scripts/test/TestInterface.idl:
1317         * bindings/scripts/test/TestNamedConstructor.idl:
1318         * css/WebKitCSSMatrix.idl:
1319         * html/HTMLOptionElement.idl:
1320         * page/EventSource.idl:
1321         * workers/SharedWorker.idl:
1322         * workers/Worker.idl:
1323
1324 2013-06-10  Mátyás Mustoha  <mmatyas@inf.u-szeged.hu>
1325
1326         Web Inspector: refactor statusBarItems getter in front-end.
1327         https://bugs.webkit.org/show_bug.cgi?id=110114
1328
1329         Reviewed by Noam Rosenthal.
1330
1331         Refactored "statusBarItems" methods from getters into functions and
1332         moved default implementation from Panel.js to View.js.
1333
1334         Patch created by Andrey Lushnikov.
1335
1336         * inspector/front-end/AdvancedSearchController.js:
1337         (WebInspector.SearchView.prototype.statusBarItems):
1338         * inspector/front-end/ApplicationCacheItemsView.js:
1339         (WebInspector.ApplicationCacheItemsView.prototype.statusBarItems):
1340         * inspector/front-end/AuditsPanel.js:
1341         (WebInspector.AuditsPanel.prototype.statusBarItems):
1342         * inspector/front-end/CPUProfileView.js:
1343         (WebInspector.CPUProfileView.prototype.statusBarItems):
1344         * inspector/front-end/CSSSelectorProfileView.js:
1345         (WebInspector.CSSSelectorProfileView.prototype.statusBarItems):
1346         * inspector/front-end/CanvasProfileView.js:
1347         (WebInspector.CanvasProfileView.prototype.statusBarItems):
1348         (WebInspector.CanvasProfileType.prototype.statusBarItems):
1349         * inspector/front-end/ConsolePanel.js:
1350         (WebInspector.ConsolePanel.prototype.statusBarItems):
1351         * inspector/front-end/ConsoleView.js:
1352         (WebInspector.ConsoleView.prototype.statusBarItems):
1353         * inspector/front-end/CookieItemsView.js:
1354         (WebInspector.CookieItemsView.prototype.statusBarItems):
1355         * inspector/front-end/DOMStorageItemsView.js:
1356         (WebInspector.DOMStorageItemsView.prototype.statusBarItems):
1357         * inspector/front-end/DatabaseTableView.js:
1358         (WebInspector.DatabaseTableView.prototype.statusBarItems):
1359         * inspector/front-end/Drawer.js:
1360         * inspector/front-end/ElementsPanel.js:
1361         (WebInspector.ElementsPanel.prototype.statusBarItems):
1362         * inspector/front-end/ExtensionPanel.js:
1363         (WebInspector.ExtensionPanel.prototype.statusBarItems):
1364         * inspector/front-end/FileSystemView.js:
1365         (WebInspector.FileSystemView.prototype.statusBarItems):
1366         * inspector/front-end/HeapSnapshotView.js:
1367         * inspector/front-end/IndexedDBViews.js:
1368         (WebInspector.IDBDataView.prototype.statusBarItems):
1369         * inspector/front-end/NetworkPanel.js:
1370         (WebInspector.NetworkLogView.prototype.statusBarItems):
1371         (WebInspector.NetworkPanel.prototype.statusBarItems):
1372         * inspector/front-end/Panel.js:
1373         (WebInspector.Panel.prototype.wasShown):
1374         * inspector/front-end/ProfilesPanel.js:
1375         (WebInspector.ProfileType.prototype.statusBarItems):
1376         (WebInspector.ProfilesPanel.prototype.statusBarItems):
1377         (WebInspector.ProfilesPanel.prototype._updateProfileTypeSpecificUI):
1378         (WebInspector.ProfilesPanel.prototype._showProfile):
1379         * inspector/front-end/ResourcesPanel.js:
1380         (WebInspector.ResourcesPanel.prototype.statusBarItems):
1381         (WebInspector.ResourcesPanel.prototype._innerShowView):
1382         * inspector/front-end/ScriptsPanel.js:
1383         (WebInspector.ScriptsPanel.prototype.statusBarItems):
1384         * inspector/front-end/TimelinePanel.js:
1385         (WebInspector.TimelinePanel.prototype.statusBarItems):
1386         * inspector/front-end/View.js:
1387         (WebInspector.View.prototype.statusBarItems):
1388
1389 2013-06-10  Benjamin Poulain  <benjamin@webkit.org>
1390
1391         Add special tree walking for the single tag or class CSS query selectors
1392         https://bugs.webkit.org/show_bug.cgi?id=117388
1393
1394         Reviewed by Ryosuke Niwa.
1395
1396         Queries for a single tag name or a single class name are the most common
1397         input of querySelector.
1398
1399         This patch adds a simplified tree walking in those cases, only checking that particular
1400         case instead of a full selector.
1401
1402         With the change, the balanced query selector benchmarks become 11% faster.
1403
1404         * css/SelectorCheckerFastPath.cpp:
1405         (WebCore::HTMLNames::checkClassValue):
1406         * dom/SelectorQuery.cpp:
1407         (WebCore::isSingleTagNameSelector):
1408         (WebCore::SelectorDataList::executeSingleTagNameSelectorData):
1409         (WebCore::isSingleClassNameSelector):
1410         (WebCore::SelectorDataList::executeSingleClassNameSelectorData):
1411         (WebCore::SelectorDataList::execute):
1412         * dom/SelectorQuery.h:
1413
1414 2013-06-09  Roger Fong  <roger_fong@apple.com>
1415
1416         Layout info should never be cleared before delayed scroll information updates.
1417         https://bugs.webkit.org/show_bug.cgi?id=116689.
1418
1419         Reviewed by Darin Adler.
1420
1421         Test: fast/flexbox/clear-overflow-before-scroll-update.html
1422
1423         Make sure that clearLayoutOverflow only gets called after layer()->updateScrollInfoAfterLayout().
1424         Also move clearLayoutOverflow to RenderBlock so we can keep all the delayed scroll update logic in RenderBlock.
1425
1426         * rendering/RenderBlock.cpp:
1427         (WebCore::RenderBlock::finishDelayUpdateScrollInfo): Call clearLayoutOverflow here.
1428         (WebCore::RenderBlock::layout): Only call clearLayoutOverflow here if scrolling isn't being delayed.
1429         (WebCore::RenderBlock::clearLayoutOverflow): Remove clearLayoutOverflow, move into RenderBlock to keep delayed scrolling logic in the same file.
1430         * rendering/RenderBlock.h:
1431         * rendering/RenderBox.cpp:
1432         * rendering/RenderBox.h:
1433         * rendering/RenderDeprecatedFlexibleBox.cpp: Should call updateScrollInfoAfterLayout, not layer()->updateScrollInfoAfterLayout(), so that it takes delayed scrolling logic into account.
1434         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1435         * rendering/RenderGrid.cpp: Ditto
1436         (WebCore::RenderGrid::layoutBlock):
1437
1438 2013-06-09  Benjamin Poulain  <bpoulain@apple.com>
1439
1440         Split the 3 paths of SelectorDataList::execute() into 3 separate functions
1441         https://bugs.webkit.org/show_bug.cgi?id=117378
1442
1443         Reviewed by Ryosuke Niwa.
1444
1445         Split those to have several small execute() fucntions instead of a giant one.
1446
1447         * dom/SelectorQuery.cpp:
1448         (WebCore::selectorForIdLookup):
1449         (WebCore::isTreeScopeRoot):
1450         (WebCore::SelectorDataList::executeFastPathForIdSelector):
1451         (WebCore::SelectorDataList::executeSingleSelectorData):
1452         (WebCore::SelectorDataList::executeSingleMultiSelectorData):
1453         (WebCore::SelectorDataList::execute):
1454         * dom/SelectorQuery.h:
1455
1456 2013-06-09  Benjamin Poulain  <bpoulain@apple.com>
1457
1458         Scrolling with platformWidget and delegateScrolling is incorrectly clamped
1459         https://bugs.webkit.org/show_bug.cgi?id=117369
1460         <rdar://problem/13985064>
1461
1462         Reviewed by Darin Adler.
1463
1464         The patch http://trac.webkit.org/changeset/142526 clamps the input position
1465         in the ScrollView scroll range. This was done for the path to the ScrollingCoordinator.
1466
1467         The problem with that change is ScrollView::setScrollPosition() can delegate the scrolling
1468         to either a platformWidget, or through delegateScrolling. After r142526, the position is clamped,
1469         and we do not let those external scrolling mechanims handle the out-of-bound scrolling.
1470
1471         This patch fixes the issue by moving the threaded scrolling call to ScrollView,
1472         after the delegate handling code.
1473
1474         * page/FrameView.cpp:
1475         (WebCore::FrameView::setScrollPosition):
1476         (WebCore::FrameView::requestScrollPositionUpdate):
1477
1478 2013-06-08  Igor Oliveira  <igor.o@sisa.samsung.com>
1479
1480         before/after generated content is not working with HTMLSummaryElement and HTMLDetailsElement.
1481         https://bugs.webkit.org/show_bug.cgi?id=117374
1482
1483         Allow before/after pseudo generated content be added in HTMLDetailsElement and HTMLSumamaryElement.
1484
1485         Reviewed by Ryosuke Niwa.
1486
1487         Test: fast/css-generated-content/details-summary-before-after.html
1488
1489         * html/HTMLDetailsElement.cpp:
1490         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
1491         * html/HTMLSummaryElement.cpp:
1492         (WebCore::HTMLSummaryElement::childShouldCreateRenderer):
1493
1494 2013-06-08  Peter Gal  <galpeter@inf.u-szeged.hu>
1495
1496         [curl] Allow headers with empty value
1497         https://bugs.webkit.org/show_bug.cgi?id=117344
1498
1499         Reviewed by Brent Fulgham.
1500
1501         No new tests, already covered by:
1502         http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
1503         http/tests/xmlhttprequest/post-blob-content-type-sync.html
1504
1505         * platform/network/curl/ResourceHandleManager.cpp:
1506         (WebCore::ResourceHandleManager::initializeHandle):
1507
1508 2013-06-08  Peter Gal  <galpeter@inf.u-szeged.hu>
1509
1510         [curl] Handling of blob elements is incorrect
1511         https://bugs.webkit.org/show_bug.cgi?id=117301
1512
1513         Reviewed by Kenneth Rohde Christiansen.
1514
1515         No new tests, covered by existing ones:
1516         http/tests/fileapi/xhr-send-form-data-filename-escaping.html
1517         http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html
1518
1519         * platform/network/curl/ResourceHandleManager.cpp:
1520         (WebCore::getFormElementsCount): Resolve Blob elements.
1521
1522 2013-06-07  Alexandru Chiculita  <achicu@adobe.com>
1523
1524         [CSS Regions] Layers inside the RenderFlowThread should be collected by the layer of RenderView
1525         https://bugs.webkit.org/show_bug.cgi?id=117270
1526
1527         Reviewed by David Hyatt.
1528
1529         RenderNamedFlowThreads are attached to the RenderView, but they are painted 
1530         and hit-tested through their regions. The easiest way to prevent the RenderView 
1531         from seeing the RenderNamedFlowThreads as its own children was to avoid collecting
1532         the layers of the RenderNamedFlowThreads as children layers of the RenderView.
1533
1534         However, most of the code is analyzing the layers tree starting from the root,
1535         so having the RenderNamedFlowThread participate in the layer tree is needed
1536         in order to enable compositing for layers inside the flow thread.
1537
1538         This patch makes the RenderNamedFlowThread visible to the RenderView, but
1539         ignores it when iterates the children of the RenderView in paint and hit-test methods.
1540
1541         No new tests, no visible changes.
1542
1543         * rendering/RenderLayer.cpp:
1544         (WebCore::RenderLayer::paintList):
1545         (WebCore::RenderLayer::hitTestList):
1546         (WebCore::RenderLayer::calculateLayerBounds):
1547         (WebCore::RenderLayer::collectLayers):
1548         * rendering/RenderTreeAsText.cpp:
1549         (WebCore::writeLayers):
1550
1551 2013-06-07  Bear Travis  <betravis@adobe.com>
1552
1553         [CSS Exclusions][CSS Shapes] Incorrect compile flag in LayoutState.h
1554         https://bugs.webkit.org/show_bug.cgi?id=117318
1555
1556         Reviewed by Alexandru Chiculita.
1557
1558         m_exclusionShapeInsideInfo should be guarded by the CSS_SHAPES flag,
1559         not the CSS_EXCLUSIONS flag.
1560
1561         No tests required.
1562
1563         * rendering/LayoutState.h:
1564
1565 2013-06-07  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1566
1567         Get rid of outdated raises() from Web IDL
1568         https://bugs.webkit.org/show_bug.cgi?id=117350
1569
1570         Reviewed by Darin Adler.
1571
1572         Stop using "raises()" in the IDL as this is no longer part of the Web IDL
1573         specification. Web IDL no longer specifies exceptions for operations. Instead
1574         it is now explained in prose.
1575
1576         WebKit still needs to know if the method can throw an exception (but does not
1577         need the exception name) so this patch adds a WebKit specific IDL extended
1578         attribute: [RaisesException]. The naming is consistent with Blink.
1579
1580         This results in more standard and concise IDL. This also simplifies a lot
1581         the code of the IDL parser.
1582
1583         No new tests, no behavior change.
1584
1585         * Modules/battery/BatteryManager.idl:
1586         * Modules/encryptedmedia/MediaKeySession.idl:
1587         * Modules/encryptedmedia/MediaKeys.idl:
1588         * Modules/filesystem/DirectoryEntrySync.idl:
1589         * Modules/filesystem/DirectoryReaderSync.idl:
1590         * Modules/filesystem/EntrySync.idl:
1591         * Modules/filesystem/FileEntrySync.idl:
1592         * Modules/filesystem/FileWriter.idl:
1593         * Modules/filesystem/FileWriterSync.idl:
1594         * Modules/filesystem/WorkerContextFileSystem.idl:
1595         * Modules/indexeddb/IDBCursor.idl:
1596         * Modules/indexeddb/IDBDatabase.idl:
1597         * Modules/indexeddb/IDBFactory.idl:
1598         * Modules/indexeddb/IDBIndex.idl:
1599         * Modules/indexeddb/IDBKeyRange.idl:
1600         * Modules/indexeddb/IDBObjectStore.idl:
1601         * Modules/indexeddb/IDBRequest.idl:
1602         * Modules/indexeddb/IDBTransaction.idl:
1603         * Modules/mediasource/MediaSource.idl:
1604         * Modules/mediasource/SourceBuffer.idl:
1605         * Modules/mediasource/SourceBufferList.idl:
1606         * Modules/mediastream/MediaStream.idl:
1607         * Modules/mediastream/MediaStreamTrack.idl:
1608         * Modules/mediastream/NavigatorMediaStream.idl:
1609         * Modules/mediastream/RTCDTMFSender.idl:
1610         * Modules/mediastream/RTCDataChannel.idl:
1611         * Modules/mediastream/RTCPeerConnection.idl:
1612         * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
1613         * Modules/networkinfo/NetworkInfoConnection.idl:
1614         * Modules/notifications/Notification.idl:
1615         * Modules/notifications/NotificationCenter.idl:
1616         * Modules/speech/SpeechRecognition.idl:
1617         * Modules/vibration/NavigatorVibration.idl:
1618         * Modules/webaudio/AudioBuffer.idl:
1619         * Modules/webaudio/AudioContext.idl:
1620         * Modules/webaudio/AudioNode.idl:
1621         * Modules/webdatabase/DOMWindowWebDatabase.idl:
1622         * Modules/webdatabase/DatabaseSync.idl:
1623         * Modules/webdatabase/WorkerContextWebDatabase.idl:
1624         * Modules/websockets/WebSocket.idl:
1625         * bindings/scripts/CodeGeneratorCPP.pm:
1626         (GenerateImplementation):
1627         * bindings/scripts/CodeGeneratorGObject.pm:
1628         (GenerateFunction):
1629         (GenerateFunctions):
1630         * bindings/scripts/CodeGeneratorJS.pm:
1631         (GenerateImplementation):
1632         (GenerateParametersCheck):
1633         (GenerateImplementationFunctionCall):
1634         (GenerateConstructorDefinition):
1635         * bindings/scripts/CodeGeneratorObjC.pm:
1636         (GenerateImplementation):
1637         * bindings/scripts/IDLAttributes.txt:
1638         * bindings/scripts/IDLParser.pm:
1639         (parseOperationRest):
1640         * bindings/scripts/test/TestEventTarget.idl:
1641         * bindings/scripts/test/TestObj.idl:
1642         * bindings/scripts/test/TestSupplemental.idl:
1643         * bindings/scripts/test/TestTypedefs.idl:
1644         * css/CSSHostRule.idl:
1645         * css/CSSMediaRule.idl:
1646         * css/CSSPrimitiveValue.idl:
1647         * css/CSSStyleDeclaration.idl:
1648         * css/CSSStyleSheet.idl:
1649         * css/CSSSupportsRule.idl:
1650         * css/FontLoader.idl:
1651         * css/MediaList.idl:
1652         * css/WebKitCSSMatrix.idl:
1653         * dom/CharacterData.idl:
1654         * dom/DOMImplementation.idl:
1655         * dom/DataTransferItemList.idl:
1656         * dom/Document.idl:
1657         * dom/DocumentFragment.idl:
1658         * dom/DocumentType.idl:
1659         * dom/Element.idl:
1660         * dom/EventTarget.idl:
1661         * dom/MessagePort.idl:
1662         * dom/MutationObserver.idl:
1663         * dom/NamedNodeMap.idl:
1664         * dom/Node.idl:
1665         * dom/NodeIterator.idl:
1666         * dom/Range.idl:
1667         * dom/ShadowRoot.idl:
1668         * dom/Text.idl:
1669         * dom/WebKitNamedFlow.idl:
1670         * fileapi/FileReader.idl:
1671         * fileapi/FileReaderSync.idl:
1672         * html/DOMTokenList.idl:
1673         * html/HTMLCanvasElement.idl:
1674         * html/HTMLDialogElement.idl:
1675         * html/HTMLElement.idl:
1676         * html/HTMLEmbedElement.idl:
1677         * html/HTMLFrameElement.idl:
1678         * html/HTMLIFrameElement.idl:
1679         * html/HTMLInputElement.idl:
1680         * html/HTMLMediaElement.idl:
1681         * html/HTMLObjectElement.idl:
1682         * html/HTMLOptionsCollection.idl:
1683         * html/HTMLSelectElement.idl:
1684         * html/HTMLTableElement.idl:
1685         * html/HTMLTableRowElement.idl:
1686         * html/HTMLTableSectionElement.idl:
1687         * html/HTMLTextAreaElement.idl:
1688         * html/HTMLVideoElement.idl:
1689         * html/MediaController.idl:
1690         * html/TimeRanges.idl:
1691         * html/canvas/CanvasGradient.idl:
1692         * html/canvas/CanvasRenderingContext2D.idl:
1693         * html/canvas/DOMPath.idl:
1694         * html/canvas/DataView.idl:
1695         * html/canvas/OESVertexArrayObject.idl:
1696         * html/canvas/WebGLDebugShaders.idl:
1697         * html/canvas/WebGLRenderingContext.idl:
1698         * html/track/AudioTrackList.idl:
1699         * html/track/TextTrack.idl:
1700         * html/track/TextTrackCue.idl:
1701         * html/track/TextTrackList.idl:
1702         * html/track/VideoTrackList.idl:
1703         * loader/appcache/DOMApplicationCache.idl:
1704         * page/Crypto.idl:
1705         * page/DOMSelection.idl:
1706         * page/DOMWindow.idl:
1707         * page/EventSource.idl:
1708         * page/History.idl:
1709         * page/Performance.idl:
1710         * storage/Storage.idl:
1711         * svg/SVGAngle.idl:
1712         * svg/SVGAnimationElement.idl:
1713         * svg/SVGColor.idl:
1714         * svg/SVGDocument.idl:
1715         * svg/SVGLength.idl:
1716         * svg/SVGLengthList.idl:
1717         * svg/SVGLocatable.idl:
1718         * svg/SVGMatrix.idl:
1719         * svg/SVGNumberList.idl:
1720         * svg/SVGPaint.idl:
1721         * svg/SVGPathSegList.idl:
1722         * svg/SVGPointList.idl:
1723         * svg/SVGStringList.idl:
1724         * svg/SVGTextContentElement.idl:
1725         * svg/SVGTransformList.idl:
1726         * testing/InternalSettings.idl:
1727         * testing/Internals.idl:
1728         * workers/AbstractWorker.idl:
1729         * workers/DedicatedWorkerContext.idl:
1730         * workers/Worker.idl:
1731         * workers/WorkerContext.idl:
1732         * xml/XMLHttpRequest.idl:
1733         * xml/XMLHttpRequestUpload.idl:
1734         * xml/XMLSerializer.idl:
1735         * xml/XPathEvaluator.idl:
1736         * xml/XPathExpression.idl:
1737         * xml/XPathResult.idl:
1738
1739 2013-06-07  Brady Eidson  <beidson@apple.com>
1740
1741         REGRESSION (r151088): Crash navigating away from non-loaded main resources with non-loaded scripts.
1742         <rdar://problem/14052886> and https://bugs.webkit.org/show_bug.cgi?id=117278
1743
1744         Reviewed by Anders Carlsson.
1745
1746         Test: http/tests/navigation/slow-loading-page-with-slow-script.php
1747
1748         * html/parser/HTMLScriptRunner.cpp:
1749         (WebCore::HTMLScriptRunner::isPendingScriptReady): The script runner might be told about a script
1750           after it has already been detached (the main resource load has finished/failed/cancelled).
1751           Don't dereference a null document in that case.
1752
1753 2013-06-07  Andy Estes  <aestes@apple.com>
1754
1755         Compile WebCoreTestShimLibrary.cpp on iOS, but exclude the Carbon bits
1756         https://bugs.webkit.org/show_bug.cgi?id=117360
1757
1758         Reviewed by Mark Rowe.
1759
1760         In r150114 we tried to make the WebCoreTestShim target build on iOS by
1761         excluding its only source file from the build. While this allowed the
1762         target to build, it prevented the target's product (WebCoreTestShim.dylib)
1763         from being created. This causes xcodebuild to fail if you ask it to
1764         install the target.
1765
1766         Fix this by building the target's product on iOS. Just use the
1767         preprocessor to exclude the bits that won't build on iOS.
1768
1769         * Configurations/WebCoreTestShim.xcconfig:
1770         * testing/WebCoreTestShimLibrary.cpp:
1771
1772 2013-06-07  Ryosuke Niwa  <rniwa@webkit.org>
1773
1774         REGRESSION: Lines jump up and down while typing Chinese or Japanese
1775         https://bugs.webkit.org/show_bug.cgi?id=115931
1776
1777         Reviewed by Darin Adler.
1778
1779         The bug was caused by Font::width caching the width of text even when the font fallbacks existed when fallbackFonts
1780         argument was null; because of this, a later call to Font::width was returning the width without filling up
1781         fallbackFonts even if it was not null this time.
1782
1783         Fixed the bug by adding a local fallback fonts hash set, and checking the emptiness of this variable in Font::width.
1784         Also added pass fallbackFonts around in various places to make use of the cached font fallbacks.
1785
1786         No new tests. Unfortunately I haven't been able to make a reliable reduction for this bug.
1787
1788         * platform/graphics/Font.cpp:
1789         (WebCore::Font::width):
1790         * rendering/RenderBlockLineLayout.cpp:
1791         (WebCore::measureHyphenWidth):
1792         (WebCore::setLogicalWidthForTextRun):
1793         (WebCore::textWidth):
1794         (WebCore::tryHyphenating):
1795         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1796         * rendering/RenderText.cpp:
1797         (WebCore::maxWordFragmentWidth):
1798         (WebCore::RenderText::computePreferredLogicalWidths):
1799
1800 2013-06-07  Zan Dobersek  <zdobersek@igalia.com>
1801
1802         [regression] build failure WebKitFontFamilyNames.h missing
1803         https://bugs.webkit.org/show_bug.cgi?id=117178
1804
1805         Reviewed by Sam Weinig.
1806
1807         * GNUmakefile.am: Make libPlatform and other sources depend on the generated platform sources. This should prevent
1808         build failures in source code that's depending on the generated platform sources.
1809
1810 2013-06-07  Chris Fleizach  <cfleizach@apple.com>
1811
1812         MathML line fraction needs to parse number values
1813         https://bugs.webkit.org/show_bug.cgi?id=117305
1814
1815         Reviewed by Darin Adler.
1816
1817         The line fraction thickness was not handling arbitrary thickness numbers.
1818         The accessibility code was not handling default values for line thickness, so
1819         it made sense to have AX rely on the RenderFraction object to retrive the thickness.
1820
1821         Modified existing tests to cover new behavior.
1822
1823         * accessibility/AccessibilityRenderObject.cpp:
1824         (WebCore::AccessibilityRenderObject::mathLineThickness):
1825         * rendering/mathml/RenderMathMLFraction.cpp:
1826         (WebCore::RenderMathMLFraction::updateFromElement):
1827         * rendering/mathml/RenderMathMLFraction.h:
1828         (WebCore::RenderMathMLFraction::lineThickness):
1829         (WebCore::toRenderMathMLFraction):
1830
1831 2013-06-07  Claudio Saavedra  <csaavedra@igalia.com>
1832
1833         [rendering] Use foreground color to render the overtype caret
1834         https://bugs.webkit.org/show_bug.cgi?id=117347
1835
1836         Reviewed by Darin Adler.
1837
1838         Currently, the overtype caret is rendered using the colors of
1839         a normal selection, which is confusing. This patch enables RenderObject
1840         to differentiate between a normal and a overtype caret selection,
1841         in order to use a different color for the latter.
1842
1843         Also, let RenderView update the selection if this is unchanged
1844         when going from a overtype caret to one character selection and
1845         viceversa.
1846
1847         * rendering/RenderObject.cpp:
1848         (WebCore::RenderObject::selectionBackgroundColor):
1849         * rendering/RenderView.cpp:
1850         (WebCore::RenderView::setSelection):
1851         * rendering/RenderView.h:
1852
1853 2013-06-07  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1854
1855         Get rid of outdated getter / setter raises from Web IDL
1856         https://bugs.webkit.org/show_bug.cgi?id=117346
1857
1858         Reviewed by Darin Adler.
1859
1860         Stop using "getter / setter raises" in the IDL as this is no longer part of
1861         the Web IDL specification. Web IDL no longer specifies exceptions for
1862         attribute getters or setters. Instead, it is now explained in prose.
1863
1864         WebKit still needs to know if the getter / setter can throw an exception
1865         (but does not need the exception name) so this patch adds 2 WebKit specific
1866         IDL extended attributes: [GetterRaisesException] / [SetterRaisesException].
1867         The naming is consistent with Blink.
1868
1869         This results in more standard and concise IDL. This also simplifies a lot
1870         the code of the IDL parser.
1871
1872         Note that this patch does not remove "raises()" from the IDL methods yet.
1873         This should be replaced by [RaisesException] IDL extended attribute in a
1874         later patch.
1875
1876         No new tests, no behavior change.
1877
1878         * Modules/indexeddb/IDBRequest.idl:
1879         * Modules/mediasource/MediaSource.idl:
1880         * Modules/mediasource/SourceBuffer.idl:
1881         * Modules/mediastream/RTCDataChannel.idl:
1882         * Modules/mediastream/RTCPeerConnection.idl:
1883         * Modules/mediastream/RTCSessionDescription.idl:
1884         * Modules/mediastream/RTCStatsResponse.idl:
1885         * Modules/webaudio/AnalyserNode.idl:
1886         * Modules/webaudio/AudioBufferSourceNode.idl:
1887         * Modules/webaudio/AudioNode.idl:
1888         * Modules/webdatabase/SQLResultSet.idl:
1889         * bindings/scripts/CodeGeneratorCPP.pm:
1890         (GenerateImplementation):
1891         * bindings/scripts/CodeGeneratorGObject.pm:
1892         (GenerateProperty):
1893         (GenerateFunctions):
1894         * bindings/scripts/CodeGeneratorJS.pm:
1895         (GenerateImplementation):
1896         * bindings/scripts/CodeGeneratorObjC.pm:
1897         (GenerateImplementation):
1898         * bindings/scripts/IDLAttributes.txt:
1899         * bindings/scripts/IDLParser.pm:
1900         (parseAttributeRest):
1901         (parseAttributeRestOld):
1902         * bindings/scripts/test/TestObj.idl:
1903         * bindings/scripts/test/TestTypedefs.idl:
1904         * css/CSSCharsetRule.idl:
1905         * css/CSSRule.idl:
1906         * css/CSSStyleDeclaration.idl:
1907         * css/CSSValue.idl:
1908         * css/MediaList.idl:
1909         * dom/Attr.idl:
1910         * dom/CharacterData.idl:
1911         * dom/Document.idl:
1912         * dom/Node.idl:
1913         * dom/ProcessingInstruction.idl:
1914         * dom/Range.idl:
1915         * dom/ShadowRoot.idl:
1916         * dom/TreeWalker.idl:
1917         * html/HTMLElement.idl:
1918         * html/HTMLInputElement.idl:
1919         * html/HTMLMarqueeElement.idl:
1920         * html/HTMLMediaElement.idl:
1921         * html/HTMLMeterElement.idl:
1922         * html/HTMLOptionElement.idl:
1923         * html/HTMLOptionsCollection.idl:
1924         * html/HTMLProgressElement.idl:
1925         * html/HTMLSelectElement.idl:
1926         * html/HTMLTableElement.idl:
1927         * html/HTMLTextAreaElement.idl:
1928         * html/MediaController.idl:
1929         * html/track/TextTrackCue.idl:
1930         * html/track/TextTrackRegion.idl:
1931         * page/DOMWindow.idl:
1932         * storage/Storage.idl:
1933         * svg/SVGAltGlyphElement.idl:
1934         * svg/SVGAngle.idl:
1935         * svg/SVGAnimatedBoolean.idl:
1936         * svg/SVGAnimatedEnumeration.idl:
1937         * svg/SVGAnimatedInteger.idl:
1938         * svg/SVGAnimatedNumber.idl:
1939         * svg/SVGAnimatedString.idl:
1940         * svg/SVGElement.idl:
1941         * svg/SVGGlyphRefElement.idl:
1942         * svg/SVGLangSpace.idl:
1943         * svg/SVGLength.idl:
1944         * svg/SVGPreserveAspectRatio.idl:
1945         * svg/SVGSVGElement.idl:
1946         * svg/SVGScriptElement.idl:
1947         * svg/SVGStyleElement.idl:
1948         * svg/SVGViewSpec.idl:
1949         * xml/XMLHttpRequest.idl:
1950         * xml/XPathResult.idl:
1951
1952 2013-06-07  Kangil Han  <kangil.han@samsung.com>
1953
1954         Remove unused header includes in Document
1955         https://bugs.webkit.org/show_bug.cgi?id=117339
1956
1957         Reviewed by Andreas Kling.
1958
1959         Minor code cleanup.
1960
1961         * dom/Document.cpp:
1962         * dom/Document.h:
1963
1964 2013-06-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1965
1966         Unnecessary use of Layout types in GraphicsLayer::paintGraphicsLayerContents
1967         https://bugs.webkit.org/show_bug.cgi?id=117340
1968
1969         Reviewed by Darin Adler.
1970
1971         There is no reason to use Layout types when copying from Int types to Int types.
1972
1973         * platform/graphics/GraphicsLayer.cpp:
1974         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
1975
1976 2013-06-07  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1977
1978         [EFL][GTK] TextCheckerEnchant uses deprecated enchant_dict_add_to_personal
1979         https://bugs.webkit.org/show_bug.cgi?id=117335
1980
1981         Reviewed by Christophe Dumez.
1982
1983         enchant_dict_add_to_personal has been deprecated at r22321 in Enchant repository.
1984
1985         No behavior change, no new tests needed.
1986
1987         * platform/text/enchant/TextCheckerEnchant.cpp:
1988         (WebCore::TextCheckerEnchant::learnWord):
1989         Use enchant_dict_add instead of enchant_dict_add_to_personal.
1990
1991 2013-06-07  Zalan Bujtas  <zalan@apple.com>
1992
1993         Frame flattening: crash when child iframe is removed during beforeload.
1994         https://bugs.webkit.org/show_bug.cgi?id=116220
1995
1996         Reviewed by Antti Koivisto.
1997
1998         FrameView can get destroyed in updateWidget(). Normally, it is protected by layout()
1999         but with frame flattening on, it can also be called asynchronously through the
2000         post layout timer.
2001
2002         Test: fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html
2003
2004         * page/FrameView.cpp:
2005         (WebCore::FrameView::performPostLayoutTasks):
2006
2007 2013-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2008
2009         Make CachedResource virtual methods overridden in derived classes private
2010         https://bugs.webkit.org/show_bug.cgi?id=117289
2011
2012         Reviewed by Darin Adler.
2013
2014         And mark them as OVERRIDE too. Also mark all CachedResource
2015         derived classes as FINAL.
2016
2017         * inspector/InspectorPageAgent.cpp:
2018         (WebCore::cachedResourcesForFrame):
2019         * loader/cache/CachedCSSStyleSheet.h:
2020         * loader/cache/CachedFont.h:
2021         * loader/cache/CachedImage.h:
2022         * loader/cache/CachedRawResource.h:
2023         * loader/cache/CachedSVGDocument.h:
2024         * loader/cache/CachedScript.h:
2025         * loader/cache/CachedShader.h:
2026         * loader/cache/CachedTextTrack.h:
2027         * loader/cache/CachedXSLStyleSheet.h:
2028
2029 2013-06-07  Mihnea Ovidenie  <mihnea@adobe.com>
2030
2031         [CSSRegions] getBoundingClientRect wrong for inline content nodes
2032         https://bugs.webkit.org/show_bug.cgi?id=117290
2033
2034         Reviewed by Alexandru Chiculita.
2035
2036         getBoundingClientRect returned incorrect values for inline content that
2037         was directly flowed inside regions because its mapLocalToContainer was not
2038         properly patched as its RenderBox counterpart. This patch adds mapLocalToContainer
2039         method in RenderFlowThread so that is properly called for all the elements inside the
2040         flow thread.
2041
2042         Also, modified offsetFromContainer so that if the container is the flow thread,
2043         offsetDependsOnPoint is set to true which further sets RenderGeometryMapStep::m_isNonUniform
2044         to true for each step added in pushMappingToContainer methods.
2045
2046         Test: fast/regions/flowed-inline-content-bounding-client-rect.html
2047
2048         * rendering/RenderBox.cpp:
2049         (WebCore::RenderBox::mapLocalToContainer):
2050         (WebCore::RenderBox::pushMappingToContainer):
2051         (WebCore::RenderBox::offsetFromContainer):
2052         * rendering/RenderFlowThread.cpp:
2053         (WebCore::RenderFlowThread::mapLocalToContainer):
2054         * rendering/RenderFlowThread.h:
2055         * rendering/RenderInline.cpp:
2056         (WebCore::RenderInline::offsetFromContainer):
2057         * rendering/RenderObject.cpp:
2058         (WebCore::RenderObject::offsetFromContainer):
2059
2060 2013-06-06  Kangil Han  <kangil.han@samsung.com>
2061
2062         Minor code cleanup to remove unused header includes
2063         https://bugs.webkit.org/show_bug.cgi?id=117283
2064
2065         Reviewed by Andreas Kling.
2066
2067         * loader/cache/CachedResourceClient.h:
2068         * rendering/RenderBlock.cpp:
2069         * rendering/RenderBox.cpp:
2070         * rendering/RenderBoxModelObject.cpp:
2071         * rendering/RenderObject.cpp:
2072
2073 2013-06-06  Jer Noble  <jer.noble@apple.com>
2074
2075         Restrict WebAudio from playing when disallowed by page.
2076         https://bugs.webkit.org/show_bug.cgi?id=117310
2077
2078         Reviewed by Eric Carlson.
2079
2080         Add a new behavior restriction which would mute WebAudio
2081         when media playback is disallowed by the page.
2082
2083         * Modules/webaudio/AudioContext.cpp:
2084         (WebCore::AudioContext::constructCommon): Set the RequirePageConsentForAudioStartRestriction
2085             restriction for the Mac port
2086         (WebCore::AudioContext::document): Cast the execution context to a document.
2087         (WebCore::AudioContext::lazyInitialize): Call startRendering() instead of
2088             m_destinationNode->startRendering() directly.
2089         (WebCore::AudioContext::startRendering): If media loading is disabled, add
2090             a mediaCanStart listener.
2091         (WebCore::AudioContext::mediaCanStart): Remove the RequirePageConsentForAudioStartRestriction.
2092         * Modules/webaudio/AudioContext.h:
2093         (WebCore::AudioContext::pageConsentRequiredForAudioStart): Added; simple wrapper.
2094         * Modules/webaudio/AudioDestinationNode.cpp:
2095         (WebCore::AudioDestinationNode::render): Mute output if pageConsentRequiredForAudioStart().
2096
2097 2013-06-03  Jer Noble  <jer.noble@apple.com>
2098
2099         Upstream iOS WebAudio behavior restrictions.
2100         https://bugs.webkit.org/show_bug.cgi?id=117151
2101
2102         Reviewed by Eric Carlson.
2103
2104     2012-06-25  Jeffrey Pfau  <jpfau@apple.com>
2105
2106             <rdar://problem/11041007> WebAudio should restrict playback to user interaction on iOS
2107
2108             Added a bevahior restrictions field in AudioContext that behaviors similarly to
2109             the one in HTMLMediaElement. Restrictions are lifted when JavaScript calls noteOn,
2110             noteGrainOn or startRendering from a user gesture event.
2111
2112             Reviewed by Dean Jackson.
2113
2114             No new tests, testing framework doesn't support web audio.
2115
2116             * Modules/webaudio/AudioBufferSourceNode.cpp:
2117             (WebCore::AudioBufferSourceNode::startGrain):
2118             * Modules/webaudio/AudioContext.cpp:
2119             (WebCore::AudioContext::AudioContext):
2120             (WebCore::AudioContext::constructCommon):
2121             (WebCore::AudioContext::lazyInitialize):
2122             (WebCore::AudioContext::startRendering):
2123             * Modules/webaudio/AudioContext.h:
2124             (WebCore::AudioContext::userGestureRequiredForAudioStart):
2125             (WebCore::AudioContext::addBehaviorRestriction):
2126             (WebCore::AudioContext::removeBehaviorRestriction):
2127             * Modules/webaudio/AudioDestinationNode.cpp:
2128             (WebCore::AudioDestinationNode::render):
2129             * Modules/webaudio/AudioScheduledSourceNode.cpp:
2130             (WebCore::AudioScheduledSourceNode::start):
2131
2132 2013-06-06  Ruth Fong  <ruth_fong@apple.com>
2133
2134         Expose HTMLCanvasElement supportsContext
2135         https://bugs.webkit.org/show_bug.cgi?id=70117
2136
2137         Reviewed by Darin Adler.
2138
2139         Adds the supportsContext function for <canvas> elements as speced here:
2140         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-supportscontext
2141
2142         Test: fast/canvas/webgl/canvas-supports-context.html
2143
2144         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2145         (WebCore::get3DContextAttributes): Added.
2146         Refactored function from JSHTMLCanvasElement::getContext that parses attributes.
2147         (WebCore::JSHTMLCanvasElement::getContext): Updated to use refactored function.
2148         (WebCore::JSHTMLCanvasElement::supportsContext): Added.
2149         Exposes JS function supportsContext.
2150         * html/HTMLCanvasElement.cpp:
2151         (WebCore::HTMLCanvasElement::getContext): Updated to use refactored functions.
2152         (WebCore::HTMLCanvasElement::supportsContext): Added.
2153         Implements supportsContext function based on contextId parameter (i.e. '2d').
2154         * html/HTMLCanvasElement.h: Added refactored functions from HTMLCanvasElement::getContext.
2155         * html/HTMLCanvasElement.idl:
2156
2157 2013-06-06  Zoltan Horvath  <zoltan@webkit.org>
2158
2159         [CSS Shapes] Rename updateLineBoundariesForExclusions to updateShapeAndSegmentsForCurrentLine
2160         https://bugs.webkit.org/show_bug.cgi?id=117308
2161
2162         Reviewed by Alexandru Chiculita.
2163
2164         We have a standalone specification for CSS Shapes now: http://dev.w3.org/csswg/css-shapes/
2165         this change renames updateLineBoundariesForExclusions to updateShapeAndSegmentsForCurrentLine.
2166
2167         No behavior change, no new tests needed.
2168
2169         * rendering/RenderBlock.h:
2170         * rendering/RenderBlockLineLayout.cpp:
2171         (WebCore::RenderBlock::updateLineBoundariesForShapes):
2172         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2173
2174 2013-06-06  Diego Pino Garcia  <dpino@igalia.com>
2175
2176         [GTK] Parameter 'refChild' from function 'webkit_dom_node_insert_before' should be allowed to be NULL
2177         https://bugs.webkit.org/show_bug.cgi?id=117303
2178
2179         Reviewed by Xan Lopez.
2180
2181         Add parameter 'refChild' to the list of parameters that are allowed to
2182         be NULL.
2183
2184         * bindings/scripts/CodeGeneratorGObject.pm:
2185
2186 2013-06-06  Bem Jones-Bey  <bjonesbe@adobe.com>
2187
2188         Fix formatting in BasicShapes.cpp
2189         https://bugs.webkit.org/show_bug.cgi?id=117309
2190
2191         Reviewed by Alexandru Chiculita.
2192
2193         I reformatted the code in BasicShapes.cpp (bug 116734) to fix the
2194         style issues, and I got some of the formatting wrong, which makes the
2195         code much harder to read. This patch fixes that formatting.
2196
2197         No new tests, formatting clean up.
2198
2199         * rendering/style/BasicShapes.cpp:
2200         (WebCore::BasicShapeRectangle::path): Fix formatting.
2201         (WebCore::BasicShapeInsetRectangle::path): Fix formatting.
2202
2203 2013-06-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2204
2205         Clean up AddIncludesForType in JSC bindings generators
2206         https://bugs.webkit.org/show_bug.cgi?id=117297
2207
2208         Reviewed by Kentaro Hara.
2209
2210         Clean up AddIncludesForType in JSC bindings generators:
2211         - Add JSC specific SkipIncludeHeader() subroutine and move
2212         exceptions there.
2213         - Remove special case for SerializedScriptValue by improving
2214         the condition for callbacks: "JS" prefix is now only added to
2215         headers in callbacks if they are wrapper types. Non-wrapper
2216         types such as SerializedScriptValue do not have a JS*.h
2217         header.
2218
2219         No new tests, code clean up.
2220
2221         * bindings/scripts/CodeGenerator.pm:
2222         (SkipIncludeHeader):
2223         - Reuse IsPrimitiveType() to avoid code duplication.
2224         - Remove special case for String as this is not a valid IDL type
2225         and it is not currently used.
2226         * bindings/scripts/CodeGeneratorJS.pm:
2227         (SkipIncludeHeader):
2228         (AddIncludesForType):
2229
2230 2013-06-06  Radu Stavila  <stavila@adobe.com>
2231
2232         :hover style not applied on hover if its display property is different from original style's
2233         https://bugs.webkit.org/show_bug.cgi?id=7555
2234
2235         Properly apply the :hover pseudo-class when reattaching is required (e.g. when changing the display type)
2236
2237         A new AttachContext class was created to be passed along as an optional parameter to the attach/detach/reattach methods.
2238         This new parameter is used to:
2239             - prevent the element from being removed from the list of hovered/active elements upon detach when a reattach is in progress
2240             - prevent the style from being incorrectly computed (due to the previous point)
2241             - prevent the style from being computed twice (the attach() method used to recompute it)
2242
2243         Special care was required to the case when display:none is specified in the :hover class. Enabling the :hover style
2244         was leaving the element without a renderer, which was causing it to remain stuck in the :hover state (subsequent mouseMove
2245         events were not able to reset the element to its normal style due to the fact that it had no renderer).
2246
2247         The DragController::startDrag method was updated to properly handle the case when dragImage is NULL 
2248         (for instance by setting display:none inside the -webkit-drag pseudo-class).
2249
2250         Reviewed by Antti Koivisto.
2251
2252         Tests: fast/regions/hover-display-block-inline.html
2253                fast/regions/hover-display-block-none.html
2254
2255         * page/DragController.cpp:
2256         (WebCore::DragController::startDrag):
2257         * dom/ContainerNode.cpp:
2258         (WebCore::ContainerNode::attach):
2259         (WebCore::ContainerNode::detach):
2260         * dom/ContainerNode.h:
2261         * dom/Document.cpp:
2262         (WebCore::Document::attach):
2263         (WebCore::Document::detach):
2264         (WebCore::Document::updateHoverActiveState):
2265         * dom/Document.h:
2266         * dom/Element.cpp:
2267         (WebCore::Element::setHovered):
2268         (WebCore::Element::createRendererIfNeeded):
2269         (WebCore::Element::attach):
2270         (WebCore::Element::detach):
2271         (WebCore::Element::recalcStyle):
2272         * dom/Element.h:
2273         * dom/Node.cpp:
2274         (WebCore::Node::AttachDetachContext::AttachDetachContext):
2275         (WebCore::Node::AttachDetachContext::~AttachDetachContext):
2276         (WebCore::Node::attach):
2277         (WebCore::Node::detach):
2278         * dom/Node.h:
2279         (WebCore::Node::reattach):
2280         (WebCore::Node::reattachIfAttached):
2281         * dom/NodeRenderingContext.cpp:
2282         (WebCore::NodeRenderingContext::NodeRenderingContext):
2283         * dom/PseudoElement.cpp:
2284         (WebCore::PseudoElement::attach):
2285         * dom/PseudoElement.h:
2286         * dom/ShadowRoot.cpp:
2287         (WebCore::ShadowRoot::attach):
2288         * dom/ShadowRoot.h:
2289         * dom/Text.cpp:
2290         (WebCore::Text::attach):
2291         * dom/Text.h:
2292         * html/HTMLCanvasElement.cpp:
2293         (WebCore::HTMLCanvasElement::attach):
2294         * html/HTMLCanvasElement.h:
2295         * html/HTMLFormControlElement.cpp:
2296         (WebCore::HTMLFormControlElement::attach):
2297         * html/HTMLFormControlElement.h:
2298         * html/HTMLFrameElement.cpp:
2299         (WebCore::HTMLFrameElement::attach):
2300         * html/HTMLFrameElement.h:
2301         * html/HTMLFrameElementBase.cpp:
2302         (WebCore::HTMLFrameElementBase::attach):
2303         * html/HTMLFrameElementBase.h:
2304         * html/HTMLFrameSetElement.cpp:
2305         (WebCore::HTMLFrameSetElement::attach):
2306         * html/HTMLFrameSetElement.h:
2307         * html/HTMLImageElement.cpp:
2308         (WebCore::HTMLImageElement::attach):
2309         * html/HTMLImageElement.h:
2310         * html/HTMLInputElement.cpp:
2311         (WebCore::HTMLInputElement::attach):
2312         (WebCore::HTMLInputElement::detach):
2313         * html/HTMLInputElement.h:
2314         * html/HTMLLIElement.cpp:
2315         (WebCore::HTMLLIElement::attach):
2316         * html/HTMLLIElement.h:
2317         * html/HTMLMediaElement.cpp:
2318         (WebCore::HTMLMediaElement::attach):
2319         * html/HTMLMediaElement.h:
2320         * html/HTMLOptGroupElement.cpp:
2321         (WebCore::HTMLOptGroupElement::attach):
2322         (WebCore::HTMLOptGroupElement::detach):
2323         * html/HTMLOptGroupElement.h:
2324         * html/HTMLOptionElement.cpp:
2325         (WebCore::HTMLOptionElement::attach):
2326         (WebCore::HTMLOptionElement::detach):
2327         * html/HTMLOptionElement.h:
2328         * html/HTMLPlugInElement.cpp:
2329         (WebCore::HTMLPlugInElement::detach):
2330         * html/HTMLPlugInElement.h:
2331         * html/HTMLPlugInImageElement.cpp:
2332         (WebCore::HTMLPlugInImageElement::attach):
2333         (WebCore::HTMLPlugInImageElement::detach):
2334         * html/HTMLPlugInImageElement.h:
2335         * html/HTMLProgressElement.cpp:
2336         (WebCore::HTMLProgressElement::attach):
2337         * html/HTMLProgressElement.h:
2338         * html/HTMLTextAreaElement.cpp:
2339         (WebCore::HTMLTextAreaElement::attach):
2340         * html/HTMLTextAreaElement.h:
2341         * html/HTMLVideoElement.cpp:
2342         (WebCore::HTMLVideoElement::attach):
2343         * html/HTMLVideoElement.h:
2344         * html/PluginDocument.cpp:
2345         (WebCore::PluginDocument::detach):
2346         * html/PluginDocument.h:
2347         * html/shadow/InsertionPoint.cpp:
2348         (WebCore::InsertionPoint::attach):
2349         (WebCore::InsertionPoint::detach):
2350         * html/shadow/InsertionPoint.h:
2351         * html/shadow/SliderThumbElement.cpp:
2352         (WebCore::SliderThumbElement::detach):
2353         * html/shadow/SliderThumbElement.h:
2354         * html/shadow/SpinButtonElement.cpp:
2355         (WebCore::SpinButtonElement::detach):
2356         * html/shadow/SpinButtonElement.h:
2357         * html/shadow/TextControlInnerElements.cpp:
2358         (WebCore::SearchFieldCancelButtonElement::detach):
2359         (WebCore::InputFieldSpeechButtonElement::attach):
2360         (WebCore::InputFieldSpeechButtonElement::detach):
2361         * html/shadow/TextControlInnerElements.h:
2362         * loader/PlaceholderDocument.cpp:
2363         (WebCore::PlaceholderDocument::attach):
2364         * loader/PlaceholderDocument.h:
2365         * svg/SVGImageElement.cpp:
2366         (WebCore::SVGImageElement::attach):
2367         * svg/SVGImageElement.h:
2368
2369 2013-06-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2370
2371         ENABLE(PAN_SCROLLING) AutoscrollController::updateAutoscrollRenderer calls hitTestResultAtPoint with `true` for HitTestRequestType
2372         https://bugs.webkit.org/show_bug.cgi?id=116896
2373
2374         Reviewed by Andreas Kling.
2375
2376         Update hitTestResultAtPoint call to new API.
2377
2378         * page/AutoscrollController.cpp:
2379         (WebCore::AutoscrollController::updateAutoscrollRenderer):
2380
2381 2013-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2382
2383         ResourceLoader::resourceData() should not return a PassRefPtr
2384         https://bugs.webkit.org/show_bug.cgi?id=117288
2385
2386         Reviewed by Darin Adler.
2387
2388         Change ResourceLoader::resourceData() to return a raw pointer
2389         instead of a PassRefPtr since we don't want to transfer the
2390         ownership of the resource data. Also pass a raw pointer to
2391         CachedResource::data() so that the cached resource can decide
2392         whether to take a reference of the data or not, for example,
2393         CachedRawResource only takes a reference when buffering policy is
2394         BufferData.
2395
2396         * html/ImageDocument.cpp:
2397         (WebCore::ImageDocumentParser::appendBytes):
2398         (WebCore::ImageDocumentParser::finish):
2399         * loader/ResourceLoader.cpp:
2400         * loader/ResourceLoader.h:
2401         (WebCore::ResourceLoader::resourceData):
2402         * loader/SubresourceLoader.cpp:
2403         (WebCore::SubresourceLoader::sendDataToResource):
2404         * loader/cache/CachedCSSStyleSheet.cpp:
2405         (WebCore::CachedCSSStyleSheet::data):
2406         * loader/cache/CachedCSSStyleSheet.h:
2407         * loader/cache/CachedFont.cpp:
2408         (WebCore::CachedFont::data):
2409         * loader/cache/CachedFont.h:
2410         * loader/cache/CachedImage.cpp:
2411         (WebCore::CachedImage::data):
2412         * loader/cache/CachedImage.h:
2413         * loader/cache/CachedRawResource.cpp:
2414         (WebCore::CachedRawResource::data):
2415         * loader/cache/CachedRawResource.h:
2416         * loader/cache/CachedResource.cpp:
2417         (WebCore::CachedResource::data):
2418         * loader/cache/CachedResource.h:
2419         * loader/cache/CachedSVGDocument.cpp:
2420         (WebCore::CachedSVGDocument::data):
2421         * loader/cache/CachedSVGDocument.h:
2422         * loader/cache/CachedScript.cpp:
2423         (WebCore::CachedScript::data):
2424         * loader/cache/CachedScript.h:
2425         * loader/cache/CachedShader.cpp:
2426         (WebCore::CachedShader::data):
2427         * loader/cache/CachedShader.h:
2428         * loader/cache/CachedTextTrack.cpp:
2429         (WebCore::CachedTextTrack::data):
2430         * loader/cache/CachedTextTrack.h:
2431         * loader/cache/CachedXSLStyleSheet.cpp:
2432         (WebCore::CachedXSLStyleSheet::data):
2433         * loader/cache/CachedXSLStyleSheet.h:
2434
2435 2013-06-06  Chris Fleizach  <cfleizach@apple.com>
2436
2437         AX: iOS ignores ARIA progressbar elements
2438         https://bugs.webkit.org/show_bug.cgi?id=116727
2439
2440         Reviewed by David Kilzer.
2441
2442         Make this an accessible element on iOS.
2443
2444         Test: platform/iphone-simulator/accessibility/progressbar.html
2445
2446         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2447         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
2448         (-[WebAccessibilityObjectWrapper _accessibilityMinValue]):
2449         (-[WebAccessibilityObjectWrapper _accessibilityMaxValue]):
2450
2451 2013-06-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2452
2453         Remove unused HashValueForClassAndName() from JSC bindings generator
2454         https://bugs.webkit.org/show_bug.cgi?id=117292
2455
2456         Reviewed by Kentaro Hara.
2457
2458         Remove HashValueForClassAndName() subroutine from JSC bindings generator
2459         as it is dead code.
2460
2461         No new tests, code clean up.
2462
2463         * bindings/scripts/CodeGeneratorJS.pm:
2464
2465 2013-06-06  Gwang Yoon Hwang  <ryumiel@company100.net>
2466
2467         Cannot set a new timer inside of timer callback in RunLoopTimerGtk & RunLoopTimerEFL
2468         https://bugs.webkit.org/show_bug.cgi?id=117224
2469
2470         Reviewed by Christophe Dumez.
2471
2472         RunLoopTimer should clear its isActive flag before invoking timer
2473         callback.
2474
2475         * platform/efl/RunLoopEfl.cpp:
2476         (WebCore::RunLoop::TimerBase::timerFired):
2477         * platform/gtk/RunLoopGtk.cpp:
2478         (WebCore::RunLoop::TimerBase::timerFiredCallback):
2479
2480 2013-06-06  Diego Pino Garcia  <dpino@igalia.com>
2481
2482         [GTK] Parameters 'inResult' and 'resolver' from function 'webkit_dom_document_evaluate' should be allowed to be NULL
2483         https://bugs.webkit.org/show_bug.cgi?id=117129
2484
2485         Reviewed by Xan Lopez.
2486
2487         At this moment there was a temporary fix that allowed parameter
2488         'inResult' to be NULL (see: webk.it/42115). However, there was no fix
2489         for parameter 'resolver'.
2490         
2491         This patch refactors the code of the previous fix, moving the code for
2492         determine whether a parameter can be NULL or not to GetGReturnMacro.
2493         The solution is quite general and will alow to add other parameters in
2494         the future if needed. 
2495
2496         * bindings/scripts/CodeGeneratorGObject.pm:
2497         (GetGReturnMacro): Pass functionName, as in some cases the code
2498         generated depends on the paramName and the functionName
2499         (ParamCanBeNull): Checks if a parameter is allowed to be NULL 
2500         (GenerateFunction):
2501
2502 2013-06-06  Zalan Bujtas  <zalan@apple.com>
2503
2504         SVG objects are misplaced when SVG root has CSS transform.
2505         https://bugs.webkit.org/show_bug.cgi?id=117252
2506
2507         Reviewed by Simon Fraser.
2508
2509         Update layer transforms for SVG if needed.
2510
2511         SVG root, similarly to RenderBlock needs to call RenderLayer
2512         to get transforms updated after layout, in order to
2513         position the transformed objects properly.
2514
2515         Test: fast/transforms/transform-svg.html
2516
2517         * rendering/svg/RenderSVGRoot.cpp:
2518         (WebCore::RenderSVGRoot::layout):
2519
2520 2013-06-06  Jae Hyun Park  <jae.park@company100.net>
2521
2522         Coordinated Graphics : Refactor CoordinatedSurface to manage the lifecycle of GraphicsContext
2523         https://bugs.webkit.org/show_bug.cgi?id=108899
2524
2525         Reviewed by Noam Rosenthal.
2526
2527         This is a preparation patch for Threaded Coordinated Graphics.
2528
2529         This patch changes CoordinatedSurface to be responsible for the
2530         lifecycle of GraphicsContext used in Coordinated Graphics System.
2531         CoordinatedImageBacking and UpdateAtlas do not ask for the ownership
2532         of GraphicsContext anymore. Instead, those classes use client pattern to
2533         ask the CoordiantedSurface to paint to the GraphicsContext.
2534
2535         This refactoring is needed to implement CoordinatedSurface for Threaded
2536         Coordinated Graphics.
2537
2538         No new tests, covered by existing tests.
2539
2540         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2541         (WebCore::CoordinatedGraphicsLayer::paintToSurface):
2542         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2543         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
2544         (WebCore::ImageBackingSurfaceClient::ImageBackingSurfaceClient):
2545         (WebCore::CoordinatedImageBacking::update):
2546         * platform/graphics/texmap/coordinated/CoordinatedSurface.h:
2547         (WebCore::CoordinatedSurface::Client::~Client):
2548         * platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
2549         (WebCore::CoordinatedTile::updateBackBuffer):
2550         (WebCore::CoordinatedTile::paintToSurfaceContext):
2551         * platform/graphics/texmap/coordinated/CoordinatedTile.h:
2552         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
2553         (WebCore::UpdateAtlasSurfaceClient::UpdateAtlasSurfaceClient):
2554         (WebCore::UpdateAtlas::paintOnAvailableBuffer):
2555         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
2556
2557 2013-06-05  Ryosuke Niwa  <rniwa@webkit.org>
2558
2559         Revert the second half of r151257. WebGLRenderingContext::create can return null.
2560
2561         * html/HTMLCanvasElement.cpp:
2562         (WebCore::HTMLCanvasElement::getContext):
2563
2564 2013-06-05  Ryosuke Niwa  <rniwa@webkit.org>
2565
2566         Remove unnecessary null check in HTMLCanvasElement.cpp.
2567
2568         Rubber-stamped by Benjamin Poulain.
2569
2570         * html/HTMLCanvasElement.cpp:
2571         (WebCore::HTMLCanvasElement::getContext):
2572
2573 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
2574
2575         [curl] Add implementation for HTTP PUT method.
2576         https://bugs.webkit.org/show_bug.cgi?id=117256
2577
2578         Reviewed by Brent Fulgham.
2579
2580         No new tests, covered by existing tests.
2581
2582         * platform/network/curl/ResourceHandleManager.cpp:
2583         (WebCore::getFormSize):
2584         (WebCore::setupFormData):
2585         (WebCore::ResourceHandleManager::setupPUT):
2586         (WebCore::ResourceHandleManager::setupPOST):
2587
2588 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
2589
2590         [curl] Normalize mime type information
2591         https://bugs.webkit.org/show_bug.cgi?id=117194
2592
2593         Reviewed by Brent Fulgham.
2594
2595         * platform/MIMETypeRegistry.cpp: Enable MIME type normalization for curl.
2596
2597 2013-06-05  Xueqing Huang  <huangxueqing@baidu.com>
2598
2599         Move OleGetClipboard to Pasteboard::createForCopyAndPaste.
2600         https://bugs.webkit.org/show_bug.cgi?id=117064
2601
2602         Reviewed by Darin Adler.
2603
2604         No behavior change, no new tests.
2605
2606         * platform/win/EditorWin.cpp:
2607         (WebCore::Editor::newGeneralClipboard): Editor should not create IDataObject explicitly then set it to Pasteboard.
2608         * platform/win/PasteboardWin.cpp:
2609         (WebCore::Pasteboard::createForCopyAndPaste): Construct a Pasteboard and create IDataObject by "OleGetClipboard".
2610
2611 2013-06-05  Benjamin Poulain  <bpoulain@apple.com>
2612
2613         WebSQL forces 16-bit strings
2614         https://bugs.webkit.org/show_bug.cgi?id=116935
2615
2616         Reviewed by Darin Adler.
2617
2618         Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
2619         https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
2620
2621         * platform/sql/SQLiteStatement.cpp:
2622         (WebCore::SQLiteStatement::getColumnValue):
2623
2624 2013-06-05  Bear Travis  <betravis@adobe.com>
2625
2626         [CSS Exclusions][CSS Shapes] Split CSS Exclusions & Shapes compile & runtime flags
2627         https://bugs.webkit.org/show_bug.cgi?id=117172
2628
2629         Reviewed by Alexandru Chiculita.
2630
2631         This patch adds a new compile and runtime flag for the CSS Shapes feature, which
2632         has split off from the previous CSS Exclusions and Shapes specification. The
2633         specifications are available here:
2634         http://dev.w3.org/csswg/css-exclusions/
2635         http://dev.w3.org/csswg/css-shapes/
2636
2637         The changes introduce a new CSS_SHAPES compile flag, and a new cssShapesEnabled
2638         runtime flag. In general, the code changes are simple renames.
2639
2640         Refactoring, no new tests.
2641
2642         * bindings/generic/RuntimeEnabledFeatures.h:
2643         (WebCore::RuntimeEnabledFeatures::setCSSShapesEnabled):
2644         (WebCore::RuntimeEnabledFeatures::cssShapesEnabled):
2645         * css/CSSComputedStyleDeclaration.cpp:
2646         (WebCore::ComputedStyleExtractor::propertyValue):
2647         * css/CSSParser.cpp:
2648         (WebCore::isSimpleLengthPropertyID):
2649         (WebCore::CSSParser::parseValue):
2650         * css/CSSProperty.cpp:
2651         (WebCore::CSSProperty::isInheritedProperty):
2652         * css/DeprecatedStyleBuilder.cpp:
2653         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2654         * css/StyleResolver.cpp:
2655         (WebCore::StyleResolver::applyProperty):
2656         (WebCore::StyleResolver::loadPendingImages):
2657         * page/animation/CSSPropertyAnimation.cpp:
2658         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
2659         * rendering/BidiRun.h:
2660         (WebCore::BidiRun::BidiRun):
2661         * rendering/ExclusionShapeInfo.cpp:
2662         * rendering/ExclusionShapeInfo.h:
2663         * rendering/ExclusionShapeInsideInfo.cpp:
2664         * rendering/ExclusionShapeInsideInfo.h:
2665         * rendering/ExclusionShapeOutsideInfo.cpp:
2666         * rendering/ExclusionShapeOutsideInfo.h:
2667         * rendering/LayoutState.cpp:
2668         (WebCore::LayoutState::LayoutState):
2669         * rendering/LayoutState.h:
2670         (WebCore::LayoutState::LayoutState):
2671         * rendering/RenderBlock.cpp:
2672         (WebCore::RenderBlock::styleDidChange):
2673         (WebCore::exclusionInfoRequiresRelayout):
2674         (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
2675         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
2676         (WebCore::RenderBlock::insertFloatingObject):
2677         (WebCore::RenderBlock::computeLogicalLocationForFloat):
2678         (WebCore::RenderBlock::positionNewFloats):
2679         (WebCore::::collectIfNeeded):
2680         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2681         (WebCore::RenderBlock::logicalRightOffsetForLine):
2682         * rendering/RenderBlock.h:
2683         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
2684         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
2685         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
2686         * rendering/RenderBlockLineLayout.cpp:
2687         (WebCore::LineWidth::LineWidth):
2688         (WebCore::LineWidth::updateAvailableWidth):
2689         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2690         (WebCore::RenderBlock::constructLine):
2691         (WebCore::computeExpansionForJustifiedText):
2692         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2693         (WebCore::RenderBlock::computeInlineDirectionPositionsForSegment):
2694         (WebCore::constructBidiRunsForLine):
2695         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2696         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2697         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2698         * rendering/RenderBox.cpp:
2699         (WebCore::RenderBox::willBeDestroyed):
2700         (WebCore::RenderBox::styleDidChange):
2701         * rendering/RenderBox.h:
2702         * rendering/RenderBoxModelObject.cpp:
2703         (WebCore::RenderBoxModelObject::paintOffset):
2704         * rendering/RenderLayer.cpp:
2705         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2706         * rendering/RenderObject.h:
2707         (WebCore::RenderObject::hasPaintOffset):
2708         * rendering/RenderView.h:
2709         (WebCore::RenderView::pushLayoutState):
2710         * rendering/style/RenderStyle.cpp:
2711         (WebCore::RenderStyle::changeRequiresLayout):
2712         * rendering/style/RenderStyle.h:
2713         * testing/InternalSettings.cpp:
2714         (WebCore::InternalSettings::Backup::Backup):
2715         (WebCore::InternalSettings::Backup::restoreTo):
2716         (WebCore::InternalSettings::setCSSShapesEnabled):
2717
2718 2013-06-05  Oliver Hunt  <oliver@apple.com>
2719
2720         Don't throttle timers if a page is doing something that might be interesting
2721         https://bugs.webkit.org/show_bug.cgi?id=117273
2722
2723         Reviewed by Gavin Barraclough.
2724
2725         Make the decision about whether or not to throttle timers be
2726         determined by the PageThrottler
2727
2728         * page/Page.cpp:
2729         (WebCore::Page::throttleTimers):
2730         (WebCore::Page::unthrottleTimers):
2731         (WebCore::Page::setVisibilityState):
2732         (WebCore::Page::hiddenPageDOMTimerThrottlingStateChanged):
2733         * page/Page.h:
2734         * page/PageThrottler.cpp:
2735         (WebCore::PageThrottler::throttlePage):
2736         (WebCore::PageThrottler::unthrottlePage):
2737
2738 2013-06-05  Mark Salisbury  <mark.salisbury@hp.com>
2739
2740         [WinCE,WinCairo] RenderThemeWin.cpp needs to include FrameSelection.h.
2741         https://bugs.webkit.org/show_bug.cgi?id=116583
2742
2743         Reviewed by Brent Fulgham.
2744
2745         * rendering/RenderThemeWin.cpp:
2746
2747 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
2748
2749         [curl] Restrict allowed protocols
2750         https://bugs.webkit.org/show_bug.cgi?id=117257
2751
2752         Reviewed by Brent Fulgham.
2753
2754         curl supports various protocols (like: HTTP,...,POP3,IMAP...) and by
2755         default all of the are enabled for a single curl handle. Furthermore
2756         all of the protocols are allowed during Location header follow.
2757         This could pose a security risk for example: a malicious server responds
2758         with a crafted Location header pointing to an imap/../(etc) url and the
2759         curl backend will follow it and will give the result for the WebCore.
2760
2761         This patch will restrict the allowed protocols to: HTTP(S), FTP(S), FILE
2762
2763         * platform/network/curl/ResourceHandleManager.cpp:
2764         (WebCore::ResourceHandleManager::initializeHandle):
2765
2766 2013-06-05  Bear Travis  <betravis@adobe.com>
2767
2768         [css exclusions] Clean up ExclusionShapeInsideInfo dynamic removal code
2769         https://bugs.webkit.org/show_bug.cgi?id=116236
2770
2771         Reviewed by David Hyatt.
2772
2773         Instead of keeping the ExclusionShapeInsideInfo around after it has
2774         become stale, we can immediately remove it and just mark descendants
2775         for relayout. This patch removes most of the code added by
2776         https://bugs.webkit.org/show_bug.cgi?id=111029
2777         in favor of this simpler approach.
2778
2779         This patch does not introduce new functionality.
2780
2781         * rendering/ExclusionShapeInsideInfo.h:
2782         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo):
2783         (ExclusionShapeInsideInfo): Remove needsRemoval code.
2784         * rendering/LayoutState.cpp:
2785         (WebCore::LayoutState::LayoutState): Ditto.
2786         * rendering/RenderBlock.cpp:
2787         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Remove
2788         needsRemoval code and mark descendants for layout.
2789         (WebCore):
2790         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout): Method to mark
2791         descendants of a shape inside with inline content for layout.
2792         (WebCore::exclusionInfoRequiresRelayout): Remove needsRemoval code.
2793         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): Ditto.
2794         * rendering/RenderBlock.h:
2795         (WebCore::RenderBlock::exclusionShapeInsideInfo): Ditto.
2796         (RenderBlock):
2797         * rendering/RenderBlockLineLayout.cpp:
2798         (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Ditto.
2799
2800 2013-06-05  Arunprasad Rajkumar  <arurajku@cisco.com>
2801
2802         Avoid multiple copies of inline script & style strings
2803         https://bugs.webkit.org/show_bug.cgi?id=117202
2804
2805         Reviewed by Darin Adler.
2806
2807         Merge from https://chromiumcodereview.appspot.com/16005007.
2808
2809         No new tests needed.
2810
2811         The HTML parser breaks up large text nodes into small chunks to avoid some
2812         O(n^2) editing algorithms. This fix skips that workaround for <script> and
2813         <style> elements, which aren't likely to need editing. As a result, <script>
2814         ends up with a single text node, containing a contiguous String, which is the
2815         source code of that inline script block.
2816
2817         Prior this fix, we could end up with two copies of large inline scripts: one
2818         monolithic string retained by JSC and a number of shards retained by the DOM.
2819         After this fix, both the DOM and JSC use the same monolithic string, removing a
2820         copy.
2821
2822         * dom/Text.cpp:
2823         (WebCore::Text::createWithLengthLimit):
2824         * html/parser/HTMLConstructionSite.cpp:
2825         (WebCore::shouldUseLengthLimit):
2826         (WebCore::HTMLConstructionSite::insertTextNode):
2827
2828 2013-06-05  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2829
2830         [EFL] Build fix with EGL and GLES2 backend.
2831         https://bugs.webkit.org/show_bug.cgi?id=117246
2832
2833         Reviewed by Kenneth Rohde Christiansen.
2834
2835         r150958 added support for EGLTransportSurfaceClient.
2836         This patch adds the missing changes.
2837
2838         * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
2839         (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
2840         (WebCore::GLTransportSurfaceClient::GLTransportSurfaceClient):
2841         * platform/graphics/surfaces/efl/GLTransportSurface.h:
2842         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
2843         (WebCore::GraphicsSurfacePrivate::initializeClient):
2844         * platform/graphics/surfaces/egl/EGLXSurface.cpp:
2845         (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
2846         * platform/graphics/surfaces/egl/EGLXSurface.h:
2847         * platform/graphics/surfaces/glx/GLXSurface.cpp:
2848         (WebCore::GLXTransportSurfaceClient::GLXTransportSurfaceClient):
2849         * platform/graphics/surfaces/glx/GLXSurface.h:
2850         * platform/graphics/surfaces/glx/X11Helper.cpp:
2851         (WebCore::X11Helper::createOffScreenWindow):
2852         (WebCore::X11Helper::createPixmap):
2853         * platform/graphics/surfaces/glx/X11Helper.h:
2854
2855 2013-06-05  Jae Hyun Park  <jae.park@company100.net>
2856
2857         [GTK] Support using GLContext from multiple threads
2858         https://bugs.webkit.org/show_bug.cgi?id=117238
2859
2860         Reviewed by Martin Robinson.
2861
2862         Current implementation assumes that GLContext is only used in the main thread.
2863         However, to support using GLContext from multiple threads, we need to change it
2864         to thread local. Therefore, ASSERT(isMainThread()) is removed and GLContext is
2865         changed to thread local.
2866
2867         * platform/graphics/cairo/GLContext.cpp:
2868         (WebCore::ThreadGlobalGLContext::setContext):
2869         (WebCore::ThreadGlobalGLContext::context):
2870         (WebCore::currentContext):
2871         (WebCore::GLContext::sharingContext):
2872         (WebCore::GLContext::~GLContext):
2873         (WebCore::GLContext::makeContextCurrent):
2874         (WebCore::GLContext::getCurrent):
2875
2876 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2877
2878         Unreviewed build fix when CHANNEL_MESSAGING is disabled.
2879
2880         Add #if ENABLE(CHANNEL_MESSAGING) to JSMessageChannelCustom.cpp.
2881
2882         * bindings/js/JSMessageChannelCustom.cpp:
2883
2884 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2885
2886         Remove remaining custom getters for WorkerContext constructor attributes
2887         https://bugs.webkit.org/show_bug.cgi?id=117247
2888
2889         Reviewed by Kentaro Hara.
2890
2891         Remove custom getter code for remaining constructor attribute on WorkerContext
2892         interface. The custom code wasn't needed as it was doing nothing more than the
2893         generated one. These constructor attributes are now automatically generated.
2894
2895         No new tests, no behavior change.
2896
2897         * CMakeLists.txt:
2898         * DerivedSources.make:
2899         * DerivedSources.pri:
2900         * GNUmakefile.list.am:
2901         * Modules/websockets/WebSocket.idl:
2902         * Modules/websockets/WorkerContextWebSocket.idl: Removed.
2903         * WebCore.order:
2904         * WebCore.xcodeproj/project.pbxproj:
2905         * bindings/js/JSWorkerContextCustom.cpp:
2906         * dom/MessageChannel.idl:
2907         * page/EventSource.idl:
2908         * workers/WorkerContext.idl:
2909         * xml/XMLHttpRequest.idl:
2910
2911 2013-06-05  Ryuan Choi  <ryuan.choi@samsung.com>
2912
2913         Remove ChromeClient::deviceOrPageScaleFactorChanged
2914         https://bugs.webkit.org/show_bug.cgi?id=117245
2915
2916         Reviewed by Andreas Kling.
2917
2918         It was introduced for chromium at r147357.
2919         But now, there are no ports to use this.
2920
2921         No new tests - no behavior change.
2922
2923         * page/ChromeClient.h:
2924         * page/Frame.cpp:
2925         (WebCore::Frame::deviceOrPageScaleFactorChanged):
2926
2927 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
2928
2929         [Coordinated Graphics] Prevent a recursive painting in CoordinatedGraphicsLayer
2930         https://bugs.webkit.org/show_bug.cgi?id=117222
2931
2932         Reviewed by Noam Rosenthal.
2933
2934         CoordinatedGraphicsLayer::flushCompositingState() will cross frame
2935         boundaries if the GraphicsLayers are connected. In this case,
2936         updateContentBuffers will invoke a painting of a sub-frame that causes
2937         flushCompositingState recursively.
2938
2939         To prevent this behavior this patch extracts updateContentBuffers from
2940         flushCompositingState, and places it in
2941         updateContentBuffersIncludeSublayers, which is another tree traveler for
2942         painting.
2943
2944         No new tests, covered by existing tests.
2945
2946         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2947         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2948         (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
2949         (WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):
2950         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2951
2952 2013-06-05  Andreas Kling  <akling@apple.com>
2953
2954         Fix some inefficiencies in AnimationController's composite animation map.
2955         <http://webkit.org/b/117248>
2956
2957         Reviewed by Antti Koivisto.
2958
2959         Clean up some small things that were showing up in a window resizing profile (0.4%)
2960
2961         * page/animation/AnimationControllerPrivate.h:
2962         * page/animation/AnimationController.cpp:
2963         (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
2964
2965             Renamed this ensure* to conform to the WebKit Design Patterns, 2013 edition.
2966             Always do a single hash lookup instead of two.
2967
2968         (WebCore::AnimationControllerPrivate::clear):
2969
2970             Use RefPtr<T> for local variables, never PassRefPtr<T>. See WKDP, 2013 ed.
2971
2972         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
2973         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
2974         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
2975         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
2976
2977             Peek into m_compositeAnimations through "const CompositeAnimation*" instead
2978             of using RefPtrs. There's no need to hold a reference on the animation while
2979             querying some const method on it.
2980
2981         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
2982         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
2983         (WebCore::AnimationController::updateAnimations):
2984
2985             Poke into m_compositeAnimations through "CompositeAnimation*" instead of using
2986             RefPtrs. There's no need to hold a reference here either, we can modify the
2987             animations through a raw pointer.
2988
2989 2013-06-05  Roland Takacs  <rtakacs@inf.u-szeged.hu>
2990
2991         Web Inspector: Clear button doesn't clean Memory graph in Overview pane.
2992         https://bugs.webkit.org/show_bug.cgi?id=112429
2993
2994         Reviewed by Noam Rosenthal.
2995
2996         There is an early return from TimelineMemoryOverview.update() when
2997         record array is empty. Thats why if you click onto the clear button,
2998         the canvas won't be updated.
2999         Moved this "return condition" after the canvas size definition
3000         because we need to know the canvas size for refreshing.
3001         Overridden TimelineOverviewBase's reset function to clear
3002         HeapSizeLabels' content.
3003
3004         * inspector/front-end/TimelineOverviewPane.js:
3005         (WebInspector.TimelineMemoryOverview.prototype.reset):
3006         (WebInspector.TimelineMemoryOverview.prototype.update):
3007
3008 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
3009
3010         [Coordinated Graphics] Rename client classes for CoordinatedImageBacking and UpdateAtlas.
3011         https://bugs.webkit.org/show_bug.cgi?id=111948
3012
3013         Reviewed by Noam Rosenthal.
3014
3015         This patch renames CoordinatedImageBacking::Coordinator to
3016         CoordinatedImageBacking::Client, and UpdateAtlasClient to
3017         UpdateAtlas::Client for naming consistency and clarification.
3018
3019         No new tests, covered by existing tests.
3020
3021         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
3022         (WebCore::CoordinatedImageBacking::create):
3023         (WebCore::CoordinatedImageBacking::CoordinatedImageBacking):
3024         (WebCore::CoordinatedImageBacking::removeHost):
3025         (WebCore::CoordinatedImageBacking::update):
3026         (WebCore::CoordinatedImageBacking::clearContentsTimerFired):
3027         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
3028         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
3029         (WebCore::UpdateAtlas::UpdateAtlas):
3030         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
3031
3032 2013-06-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3033
3034         [Qt] Handle Return key without key text
3035         https://bugs.webkit.org/show_bug.cgi?id=117239
3036
3037         Reviewed by Andreas Kling.
3038
3039         Test added to tst_qwebpage.cpp.
3040
3041         * platform/qt/PlatformKeyboardEventQt.cpp:
3042         (WebCore::keyTextForKeyEvent):
3043
3044 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
3045
3046         Coordinated Graphics: Unify messages related object's lifecycles into CoordinatedGraphicsState.
3047         https://bugs.webkit.org/show_bug.cgi?id=111919
3048
3049         Reviewed by Noam Rosenthal.
3050
3051         CoordinatedLayerTreeHostProxy has several methods, which simply passes
3052         these calls to CoordinatedGraphicsScene.
3053
3054         This patch removes methods in CoordinatedLayerTreeHostProxy just for
3055         message chaining. Instead of that, messages for creation/deletion of objects
3056         (Layers, CustomFilters, UpdateAtlas, and ImageBacking) are unified into
3057         CommitCoordinatedGraphicsState.
3058
3059         And this patch also removes codes for WebCoordinatedSurface in
3060         CoordinatedLayerTreeHost, except for a factory method.
3061         CoordinatedGraphicsArgumentCoders [en|de]codes CoordinatedSurface itself
3062         using WebCoordinatedSurface.
3063
3064         No new tests, covered by existing tests.
3065
3066         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3067         (WebCore::CoordinatedGraphicsScene::syncCustomFilterPrograms):
3068         (WebCore::CoordinatedGraphicsScene::syncUpdateAtlases):
3069         (WebCore::CoordinatedGraphicsScene::syncImageBackings):
3070         (WebCore::CoordinatedGraphicsScene::commitSceneState):
3071         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3072         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3073         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
3074         (WebCore::CoordinatedImageBacking::update):
3075         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
3076         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
3077         (WebCore::UpdateAtlas::UpdateAtlas):
3078         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
3079
3080 2013-06-05  Andreas Kling  <akling@apple.com>
3081
3082         Remove unnecessary null checks in SelectorChecker::checkOne().
3083         <http://webkit.org/b/117243>
3084
3085         Reviewed by Antti Koivisto.
3086
3087         This function was riddled with unnecessary null checks of 'element', despite ASSERT(element)
3088         being the first thing it does.
3089
3090         * css/SelectorChecker.cpp:
3091         (WebCore::SelectorChecker::checkOne):
3092
3093 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3094
3095         Merge [NoInterfaceObject] and [OmitConstructor] extended attributes
3096         https://bugs.webkit.org/show_bug.cgi?id=115853
3097
3098         Reviewed by Geoffrey Garen.
3099
3100         Remove [OmitConstructor] extended attribute as it is overlapping with
3101         the standard [NoInterfaceObject] Web IDL extended attribute.
3102
3103         Having [NoInterfaceObject] extended attribute on an interface now
3104         implies that its constructor is omitted (i.e. not generated).
3105
3106         No new tests, no behavior change.
3107
3108         * Modules/geolocation/Coordinates.idl:
3109         * Modules/geolocation/Geolocation.idl:
3110         * Modules/geolocation/Geoposition.idl:
3111         * Modules/notifications/Notification.idl:
3112         * Modules/notifications/NotificationCenter.idl:
3113         * Modules/quota/StorageInfo.idl:
3114         * Modules/quota/StorageQuota.idl:
3115         * Modules/webdatabase/Database.idl:
3116         * Modules/webdatabase/DatabaseSync.idl:
3117         * Modules/webdatabase/SQLError.idl:
3118         * Modules/webdatabase/SQLResultSet.idl:
3119         * Modules/webdatabase/SQLResultSetRowList.idl:
3120         * Modules/webdatabase/SQLTransaction.idl:
3121         * Modules/webdatabase/SQLTransactionSync.idl:
3122         * bindings/scripts/CodeGeneratorJS.pm:
3123         (GenerateHeader):
3124         (GenerateAttributesHashTable):
3125         (GenerateImplementation):
3126         * bindings/scripts/IDLAttributes.txt:
3127         * css/CSSUnknownRule.idl:
3128         * css/MediaQueryListListener.idl:
3129         * dom/EventListener.idl:
3130         * dom/EventTarget.idl:
3131         * html/MicroDataItemValue.idl:
3132         * html/ValidityState.idl:
3133         * html/canvas/EXTDrawBuffers.idl:
3134         * html/canvas/EXTTextureFilterAnisotropic.idl:
3135         * html/canvas/OESElementIndexUint.idl:
3136         * html/canvas/OESStandardDerivatives.idl:
3137         * html/canvas/OESTextureFloat.idl:
3138         * html/canvas/OESTextureHalfFloat.idl:
3139         * html/canvas/OESVertexArrayObject.idl:
3140         * html/canvas/WebGLCompressedTextureATC.idl:
3141         * html/canvas/WebGLCompressedTexturePVRTC.idl:
3142         * html/canvas/WebGLCompressedTextureS3TC.idl:
3143         * html/canvas/WebGLContextAttributes.idl:
3144         * html/canvas/WebGLDebugRendererInfo.idl:
3145         * html/canvas/WebGLDebugShaders.idl:
3146         * html/canvas/WebGLDepthTexture.idl:
3147         * html/canvas/WebGLLoseContext.idl:
3148         * inspector/JavaScriptCallFrame.idl:
3149         * inspector/ScriptProfile.idl:
3150         * inspector/ScriptProfileNode.idl:
3151         * loader/appcache/DOMApplicationCache.idl:
3152         * page/AbstractView.idl:
3153         * page/Console.idl:
3154         * page/Crypto.idl:
3155         * page/PerformanceEntryList.idl:
3156         * page/WorkerNavigator.idl:
3157         * page/make_settings.pl:
3158         (generateInternalSettingsIdlFile):
3159         * svg/ElementTimeControl.idl:
3160         * svg/SVGAnimationElement.idl:
3161         * svg/SVGExternalResourcesRequired.idl:
3162         * svg/SVGFitToViewBox.idl:
3163         * svg/SVGLangSpace.idl:
3164         * svg/SVGLocatable.idl:
3165         * svg/SVGTests.idl:
3166         * svg/SVGTransformable.idl:
3167         * svg/SVGURIReference.idl:
3168         * testing/InternalSettings.idl:
3169         * testing/Internals.idl:
3170         * testing/MallocStatistics.idl:
3171         * testing/MemoryInfo.idl:
3172         * testing/TypeConversions.idl:
3173         * workers/DedicatedWorkerContext.idl:
3174         * workers/SharedWorkerContext.idl:
3175         * workers/WorkerContext.idl:
3176         * xml/XPathNSResolver.idl:
3177
3178 2013-06-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3179
3180         [Qt] Font::shouldUseSmoothing() has fake dependency on Qt 5.1
3181         https://bugs.webkit.org/show_bug.cgi?id=117195
3182
3183         Reviewed by Jocelyn Turcotte.
3184
3185         Remove the fake dependency on Qt 5.1 so we may rebase the layout tests
3186         before switching to Qt 5.1
3187
3188         * platform/graphics/qt/FontPlatformDataQt.cpp:
3189         (WebCore::FontPlatformData::FontPlatformData):
3190
3191 2013-06-05  Mihnea Ovidenie  <mihnea@adobe.com>
3192
3193         [CSSRegions] Respect renderer creation constraints when element is part of named flow
3194         https://bugs.webkit.org/show_bug.cgi?id=116790
3195
3196         Reviewed by David Hyatt.
3197
3198         Before adding a child to a named flow, we have to make sure that the rules for
3199         creation are properly checked.
3200
3201         Test: fast/regions/br-content-node-crash.xhtml
3202
3203         * rendering/RenderNamedFlowThread.cpp:
3204         (WebCore::RenderNamedFlowThread::isChildAllowed):
3205         Call isChildAllowed on the original parent renderer, before reparenting to
3206         named flow.
3207         * rendering/RenderNamedFlowThread.h:
3208
3209 2013-06-05  Philippe Normand  <pnormand@igalia.com>
3210
3211         Unreviewed, GStreamer 0.10 build fix after r151175.
3212
3213         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3214         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
3215         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
3216         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
3217         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
3218         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
3219         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3220
3221 2013-06-05  Mihnea Ovidenie  <mihnea@adobe.com>
3222
3223         [CSS Regions] REGRESSION Incorrect layer clipping inside flow thread
3224         https://bugs.webkit.org/show_bug.cgi?id=117074
3225
3226         Reviewed by David Hyatt.
3227
3228         Function RenderBox::mapLocalToContainer was adapted for elements inside flow threads to convert
3229         elements coordinates to RenderView coordinates, passing through the region in which the elements
3230         were flowed (https://bugs.webkit.org/show_bug.cgi?id=66641).
3231
3232         The fix for https://bugs.webkit.org/show_bug.cgi?id=76486 modified RenderLayer::calculateClipRects and replaced
3233         convertToLayerCoords with localToContainerPoint, which further calls mapLocalToContainer.
3234
3235         However, for elements inside the flow thread, which acts as a root layer for its collected children, we do not want
3236         to get the offset in RenderView coordinates but rather in flow thread coordinates (and still take transforms into
3237         account). This patch modifies RenderBox::mapLocalToContainer so that it stops at flow thread boundary when the passed
3238         repaintContainer is the flow thread. The flow thread is the container for repaint for elements inside it, as seen from
3239         RenderObject::containerForRepaint.
3240
3241         No new tests, converted overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl
3242         into ref tests so that the we do not rely on pixel tests in the future.
3243
3244         * rendering/RenderBox.cpp:
3245         (WebCore::RenderBox::mapLocalToContainer):
3246
3247 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3248
3249         Remove [NoInterfaceObject] from TreeWalker
3250         https://bugs.webkit.org/show_bug.cgi?id=117225
3251
3252         Reviewed by Kentaro Hara.
3253
3254         Remove [NoInterfaceObject] IDL extended attribute from TreeWalker interface
3255         to match Firefox's behavior and the specification:
3256         http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker
3257
3258         No new tests, already covered by existing tests.
3259
3260         * dom/TreeWalker.idl:
3261
3262 2013-06-05  Zan Dobersek  <zdobersek@igalia.com>
3263
3264         Move MemoryInfo under window.internals
3265         https://bugs.webkit.org/show_bug.cgi?id=117197
3266
3267         Reviewed by Ryosuke Niwa.
3268
3269         The MemoryInfo interface is not a subject of any specification and should not be exposed
3270         to the Web. It's still used by the performance tests so it is moved under the testing
3271         internals, accessible through window.internals.memoryInfo.
3272
3273         The jsHeapSizeLimit attribute is removed from the MemoryInfo interface as that value was
3274         only usable when using the V8 bindings which are not supported anymore. A small fast/harness
3275         test is also provided to check that the MemoryInfo object is accessible through window.internals.
3276
3277         Test: fast/harness/memoryinfo-object.html
3278
3279         * CMakeLists.txt:
3280         * DerivedSources.cpp:
3281         * DerivedSources.make:
3282         * DerivedSources.pri:
3283         * GNUmakefile.list.am:
3284         * Target.pri:
3285         * UseJSC.cmake:
3286         * WebCore.exp.in:
3287         * WebCore.order:
3288         * WebCore.vcxproj/WebCore.vcxproj:
3289         * WebCore.vcxproj/WebCore.vcxproj.filters:
3290         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
3291         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
3292         * WebCore.xcodeproj/project.pbxproj:
3293         * bindings/gobject/GNUmakefile.am: Remove the GObject bindings targets for MemoryInfo.
3294         * bindings/js/JSBindingsAllInOne.cpp: Remove the JSMemoryInfo.h and MemoryInfo.h inclusion.
3295         * bindings/js/JSMemoryInfoCustom.cpp: Removed.
3296         * bindings/js/ScriptGCEvent.cpp: Remove the ENABLE(INSPECTOR) guards.
3297         (WebCore::ScriptGCEvent::getHeapSize): Remove the jsHeapSizeLimit assignment.
3298         * bindings/js/ScriptGCEvent.h: Remove the ENABLE(INSPECTOR) guards.
3299         (WebCore::HeapInfo::HeapInfo): Remove the jsHeapSizeLimit member.
3300         * page/Console.cpp: Remove the Console::memory method.
3301         * page/Console.h: Ditto.
3302         * page/Console.idl: Remove the window.console.memory attribute.
3303         * page/MemoryInfo.cpp: Removed.
3304         * page/Performance.cpp: Remove the Performance::memory method.
3305         * page/Performance.h: Ditto.
3306         * page/Performance.idl: Remove the window.performance.memory attribute.
3307         * testing/Internals.cpp:
3308         (WebCore::Internals::memoryInfo): Return a MemoryInfo object upon invoking.
3309         * testing/Internals.h: Declare the Internals::memoryInfo method.
3310         * testing/Internals.idl: Expose the window.internals.memoryInfo operation.
3311         * testing/MemoryInfo.h: Renamed from Source/WebCore/page/MemoryInfo.h.
3312         (WebCore::MemoryInfo::create): Return a new RefPtr-wrapped MemoryInfo object.
3313         (WebCore::MemoryInfo::usedJSHeapSize): Return the value of the equally-named HeapInfo member.
3314         (WebCore::MemoryInfo::totalJSHeapSize): Ditto.
3315         (WebCore::MemoryInfo::MemoryInfo): Acquire the current heap info upon construction.
3316         * testing/MemoryInfo.idl: Renamed from Source/WebCore/page/MemoryInfo.idl.
3317         The jsHeapSizeLimit attribute is removed.
3318
3319 2013-06-04  Peter Gal  <galpeter@inf.u-szeged.hu>
3320
3321         [curl] Headers should be parsed as utf8 if possible
3322         https://bugs.webkit.org/show_bug.cgi?id=117196
3323
3324         Reviewed by Brent Fulgham.
3325
3326         Testcase already present: http/tests/download/literal-utf-8.html
3327
3328         * platform/network/curl/ResourceHandleManager.cpp:
3329         (WebCore::headerCallback): Parse the header as an utf8 string if possible.
3330
3331 2013-06-04  Oliver Hunt  <oliver@apple.com>
3332
3333         Prevent throttling while resources are being loaded
3334         https://bugs.webkit.org/show_bug.cgi?id=117218
3335
3336         Reviewed by Gavin Barraclough.
3337
3338         Make use of the page activity assertion infrastructure to delay
3339         throttling while we are waiting on resource loads.
3340
3341         * loader/FrameLoader.cpp:
3342         (WebCore::FrameLoader::completed):
3343         (WebCore::FrameLoader::started):
3344         * loader/FrameLoader.h:
3345         * loader/SubresourceLoader.cpp:
3346         (WebCore::SubresourceLoader::init):
3347         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
3348         (WebCore::SubresourceLoader::didFinishLoading):
3349         (WebCore::SubresourceLoader::didFail):
3350         (WebCore::SubresourceLoader::willCancel):
3351         * loader/SubresourceLoader.h:
3352
3353 2013-06-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3354
3355         Remove [NoInterfaceObject] from XPathExpression and NodeIterator
3356         https://bugs.webkit.org/show_bug.cgi?id=117204
3357
3358         Reviewed by Alexey Proskuryakov.
3359
3360         Remove [NoInterfaceObject] from XPathExpression and NodeIterator to match
3361         their respective specifications:
3362         - http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression
3363         - http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator
3364
3365         No new tests, already covered by:
3366         fast/js/global-constructors-attributes.html
3367
3368         * dom/NodeIterator.idl:
3369         * xml/XPathExpression.idl:
3370
3371 2013-06-04  Chris Fleizach  <cfleizach@apple.com>
3372
3373         AX: MathML multiscripts not exposed in Accessibility
3374         https://bugs.webkit.org/show_bug.cgi?id=115069
3375
3376         Unreviewed, build fix.
3377
3378         Remove an accessibility iOS method that was erroneously added.
3379
3380         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3381
3382 2013-06-04  Greg Hughes  <ghughes@apple.com>
3383
3384         Add "VisibleOnly" key to search predicate
3385         https://bugs.webkit.org/show_bug.cgi?id=115491
3386
3387         Reviewed by Chris Fleizach.
3388
3389         Added support for accessibility clients to use the search predicate to find only visible elements
3390
3391         * accessibility/AccessibilityObject.cpp:
3392         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
3393         (WebCore::AccessibilityObject::isOnscreen):
3394         (WebCore):
3395         * accessibility/AccessibilityObject.h:
3396         (AccessibilitySearchCriteria):
3397         (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
3398         (AccessibilityObject):
3399         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3400         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3401
3402 2013-06-04  Roger Fong  <roger_fong@apple.com>
3403
3404         Unreviewed. Rollout of r151146. Broke some tests.
3405
3406         * page/FrameView.cpp:
3407         (WebCore::FrameView::forceLayoutForPagination):
3408         * rendering/RenderBlock.cpp:
3409         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
3410         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
3411         (WebCore::RenderBlock::layout):
3412         * rendering/RenderBlock.h:
3413         * rendering/RenderBox.cpp:
3414         (WebCore::RenderBox::clearLayoutOverflow):
3415         * rendering/RenderBox.h:
3416         * rendering/RenderDeprecatedFlexibleBox.cpp:
3417         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3418         * rendering/RenderGrid.cpp:
3419         (WebCore::RenderGrid::layoutBlock):
3420
3421 2013-06-04  Noam Rosenthal  <noam@webkit.org>
3422
3423         Refactor the code that decides whether to enable WebGL from settings to helper functions
3424         https://bugs.webkit.org/show_bug.cgi?id=117181
3425
3426         This removes some #ifdef crud out of the getContext() function.
3427
3428         Reviewed by Benjamin Poulain.
3429
3430         * html/HTMLCanvasElement.cpp:
3431         (WebCore::requiresAcceleratedCompositingForWebGL):
3432         (WebCore::shouldEnableWebGL):
3433         (WebCore::HTMLCanvasElement::getContext):
3434
3435 2013-06-04  Thiago Santos  <thiago.sousa.santos@collabora.com>
3436
3437         Prevent race when pad caps is set on gstreamer player
3438         https://bugs.webkit.org/show_bug.cgi?id=115355
3439
3440         Reviewed by Philippe Normand.
3441
3442         Prevent race when pad caps is set on gstreamer player and
3443         Also protect internal paint buffer with a mutex.
3444
3445         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3446         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
3447         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
3448         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
3449         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
3450         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
3451         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3452         (MediaPlayerPrivateGStreamerBase):
3453
3454 2013-06-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3455
3456         [Qt] Fix a crash in QtPixmapRuntime.
3457         https://bugs.webkit.org/show_bug.cgi?id=117193
3458         https://bugreports.qt-project.org/browse/QTBUG-30736
3459
3460         Reviewed by Allan Sandfeld Jensen.
3461
3462         The crash could only be reproduced in release builds on Windows.
3463         JSClassCreate calculates the size of JSClassDefinition.staticValues
3464         and staticFunctions by iterating until an entry with a null name is found.
3465
3466         * bridge/qt/qt_pixmapruntime.cpp:
3467         (JSC::Bindings::QtPixmapRuntime::getClassRef):
3468
3469 2013-06-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3470
3471         Automatically generate WorkerContext constructor attributes
3472         https://bugs.webkit.org/show_bug.cgi?id=117183
3473
3474         Reviewed by Kentaro Hara.
3475
3476         Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker] IDL extended attribute
3477         to indicate to the bindings generator on which global context the constructor
3478         attribute should be generated for interfaces without [NoInterfaceObject]:
3479         - WindowOnly: only on the global Window object (default if ommitted)
3480         - WorkerOnly: only on the worker context
3481         - WindowAndWorker: On both the global Window object and the worker context
3482
3483         This covers all the current use cases.
3484
3485         The JSC bindings generator now automatically generates the Constructor attributes
3486         on the WorkerContext for non-callback interfaces which do not have the
3487         [NoInterfaceObject] extended attribute but have [GlobalContext=WorkerOnly|WindowAndWorker]
3488         extended attribute.
3489
3490         No new tests, already covered by:
3491         fast/js/global-constructors-attributes.html
3492         fast/js/global-constructors-attributes-worker.html
3493
3494         * CMakeLists.txt:
3495         * DerivedSources.make: Pass new --workerContextConstructorsFile argument to preprocess-idls.pl.
3496         * DerivedSources.pri: Ditto.