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