Gmail reply email - Bold and Italic style get stuck
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-07-30  Vani Hegde  <vani.hegde@samsung.com>
2
3         Gmail reply email - Bold and Italic style  get stuck
4         https://bugs.webkit.org/show_bug.cgi?id=118185
5
6         Reviewed by Ryosuke Niwa.
7
8         When bold/italic style is applied to a content with mixed editability,
9         style is applied appropriately for the first time.
10         But after this, style toggling does not work any more. Same behavior
11         can be observed when the content on which style is applied contains
12         text node without renderer (Ex: text node corresponding to tab/space etc)
13
14         When bold/italic style is applied on a selection, we actually apply the
15         style only for text nodes that have renderers and also are contenteditable.
16         Similarly during style toggling, to check whether a style has been already
17         applied on a selection
18
19         Tests: editing/style/toggle-style-bold-italic-mixed-editability.html
20                editing/style/toggle-style-bold-italic.html
21
22         * editing/EditingStyle.cpp:
23         (WebCore::EditingStyle::triStateOfStyle):
24         A particular selection on which style is applied may contain text nodes
25         without renderers(text nodes corresponding to tab/space) or text nodes
26         that are not contenteditable. We do not apply style to such text nodes.
27         Hence, even during style toggling we should not consider the styles
28         present in such nodes.
29
30 2013-07-30  Rob Buis  <rwlbuis@webkit.org>
31
32         XMLSerializer should reset default namespace when necessary
33         https://bugs.webkit.org/show_bug.cgi?id=16739
34         XMLSerializer's handling of namespaces seems to be pretty broken
35         https://bugs.webkit.org/show_bug.cgi?id=106531
36
37         Reviewed by Ryosuke Niwa.
38
39         Write out empty default namespace declaration if the element is not in any namespace, as
40         described in http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html#xml-fragment-serialization-algorithm.
41
42         Tests: fast/dom/XMLSerializer-element-empty-namespace.html
43                fast/dom/XMLSerializer-element-empty-namespace2.html
44
45         * editing/MarkupAccumulator.cpp:
46         (WebCore::MarkupAccumulator::appendNamespace):
47         (WebCore::MarkupAccumulator::appendOpenTag):
48         * editing/MarkupAccumulator.h:
49
50 2013-07-30  Chris Fleizach  <cfleizach@apple.com>
51
52         Don't post accessibility notification on object in detached document.
53         https://bugs.webkit.org/show_bug.cgi?id=119286
54
55         Reviewed by Ryosuke Niwa.
56
57         Merge https://chromium.googlesource.com/chromium/blink/+/ef9fc9e70202dcf33e5cf2f0f0a2135945ffe17e%5E%21/#F0
58
59         Don't post accessibility notification on object in detached document.
60
61         This can happen if an accessibility notification is queued on a node,
62         then that node is reparented to a different document that's not attached
63         anywhere before the accessibility notification is fired.
64
65         * accessibility/AXObjectCache.cpp:
66         (WebCore::AXObjectCache::notificationPostTimerFired):
67
68 2013-07-30  Andy Estes  <aestes@apple.com>  
69
70         Content filter replacement data uses the encoding from the blocked page's response headers
71         https://bugs.webkit.org/show_bug.cgi?id=119237
72
73         Reviewed by Darin Adler.
74
75         When a document specifies an encoding in an HTTP response header, or
76         when the embedder specifies an override encoding, and the content filter
77         blocks the document, we interpret the content filter's replacement data
78         using this encoding. This might be the wrong.
79
80         Forget about encodings determined from these sources. The replacement
81         data will specify an encoding in a <meta charset>, so let that be used
82         instead.
83
84         No new tests. We don't currently have a mechanism for testing the
85         content filter from WebKit.
86
87         * loader/DocumentLoader.cpp:
88         (WebCore::DocumentLoader::commitData): Pretend as if no encoding is
89         specified if the content filter blocked the load.
90         (WebCore::DocumentLoader::dataReceived): Stopped calling commitLoad()
91         before early-returning if the content filter needs more data. This isn't
92         necessary.
93
94 2013-07-30  Christophe Dumez  <ch.dumez@sisa.samsung.com>
95
96         Add 'colno' attribute to ErrorEvent interface
97         https://bugs.webkit.org/show_bug.cgi?id=119257
98
99         Reviewed by Darin Adler.
100
101         Add 'colno' attribute to ErrorEvent interface to match the latest specification:
102         http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#errorevent
103
104         The 'colno' attribute is already supported by IE10 and Blink.
105
106         No new tests, covered by existing tests.
107
108         * dom/ErrorEvent.cpp:
109         (WebCore::ErrorEventInit::ErrorEventInit):
110         (WebCore::ErrorEvent::ErrorEvent):
111         * dom/ErrorEvent.h:
112         * dom/ErrorEvent.idl:
113
114 2013-07-30  Andreas Kling  <akling@apple.com>
115
116         Inactive style sheets should not trigger style recalc when loaded.
117         <http://webkit.org/b/119236>
118         <rdar://problem/14588132>
119
120         Reviewed by Antti Koivisto.
121
122         Style sheets that are either alternate sheets or are excluded by their media query should not trigger
123         a full style recalc when they finish loading, since the end result will not be observably different.
124
125         The sheets are still inspectable through document.styleSheets.
126
127         Changed enums from Blocking/NonBlocking to ActiveSheet/InactiveSheet to clarify what's going on.
128
129         * html/HTMLLinkElement.h:
130         * html/HTMLLinkElement.cpp:
131         (WebCore::HTMLLinkElement::HTMLLinkElement):
132         (WebCore::HTMLLinkElement::setDisabledState):
133         (WebCore::HTMLLinkElement::process):
134         (WebCore::HTMLLinkElement::startLoadingDynamicSheet):
135         (WebCore::HTMLLinkElement::addPendingSheet):
136         (WebCore::HTMLLinkElement::removePendingSheet):
137
138 2013-07-30  Tim Horton  <timothy_horton@apple.com>
139
140         Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
141         https://bugs.webkit.org/show_bug.cgi?id=119275
142
143         Reviewed by Simon Fraser.
144
145         * WebCore.exp.in:
146         * page/FrameView.cpp:
147         (WebCore::FrameView::paintContentsForSnapshot):
148         * page/FrameView.h:
149         Fix typo.
150
151 2013-07-30  Alex Christensen  <achristensen@apple.com>
152
153         Compile fix for WebGL on 32-bit Windows.
154         https://bugs.webkit.org/show_bug.cgi?id=119235
155
156         Reviewed by Darin Adler.
157
158         * platform/graphics/GLContext.cpp:
159         Created GLNativeWindowType typedef.
160         (WebCore::GLContext::createContextForWindow):
161         * platform/graphics/GLContext.h:
162         Replaced uint64_t with GLNativeWindowType.
163
164 2013-07-30  Patrick Gansterer  <paroga@webkit.org>
165
166         [WIN] Remove dependency on CoreFoundation from DownloadBundle
167         https://bugs.webkit.org/show_bug.cgi?id=119247
168
169         Reviewed by Anders Carlsson.
170
171         * platform/network/cf/DownloadBundle.h:
172         * platform/network/curl/DownloadBundle.h:
173         * platform/network/win/DownloadBundleWin.cpp:
174         (WebCore::DownloadBundle::magicNumber):
175         (WebCore::DownloadBundle::appendResumeData):
176         (WebCore::DownloadBundle::extractResumeData):
177
178 2013-07-30  Patrick Gansterer  <paroga@webkit.org>
179
180         Move WindowsExtras.h from WebCore to WTF
181         https://bugs.webkit.org/show_bug.cgi?id=118125
182
183         Reviewed by Anders Carlsson.
184
185         Move it to WTF to be able to use the functions in WTF too.
186
187         * platform/PlatformKeyboardEvent.h:
188         * platform/PlatformMouseEvent.h:
189         * platform/PlatformWheelEvent.h:
190         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
191         * platform/win/MIMETypeRegistryWin.cpp:
192         * platform/win/PasteboardWin.cpp:
193         * platform/win/PopupMenuWin.cpp:
194         * platform/win/RunLoopWin.cpp:
195         * platform/win/SharedTimerWin.cpp:
196         * platform/win/WindowMessageListener.h:
197         * plugins/win/PluginDatabaseWin.cpp:
198
199 2013-07-30  Christophe Dumez  <ch.dumez@sisa.samsung.com>
200
201         Pass column as 4th argument to WorkerGlobalScope.onerror and Window.onerror handlers
202         https://bugs.webkit.org/show_bug.cgi?id=119251
203
204         Reviewed by Geoffrey Garen.
205
206         As per the latest specification, the WorkerGlobalScope.onerror and Window.onerror event
207         handlers should be given the column as fourth argument:
208         http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope
209         http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#onerroreventhandler
210
211         The column argument is already supported by IE10 and Blink.
212
213         No new tests, covered by existing tests.
214
215         * bindings/js/JSErrorHandler.cpp:
216         (WebCore::JSErrorHandler::handleEvent):
217         * bindings/js/WorkerScriptController.cpp:
218         (WebCore::WorkerScriptController::evaluate):
219         * dom/ErrorEvent.cpp:
220         (WebCore::ErrorEvent::ErrorEvent):
221         * dom/ErrorEvent.h:
222         (WebCore::ErrorEvent::create):
223         (WebCore::ErrorEvent::colno):
224         * dom/ScriptExecutionContext.cpp:
225         (WebCore::ScriptExecutionContext::sanitizeScriptError):
226         (WebCore::ScriptExecutionContext::reportException):
227         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
228         * dom/ScriptExecutionContext.h:
229         * workers/WorkerMessagingProxy.cpp:
230         (WebCore::WorkerExceptionTask::performTask):
231
232 2013-07-30  Patrick Gansterer  <paroga@webkit.org>
233
234         Use OwnPtr in RenderThemeWin and ScrollbarThemeWin
235         https://bugs.webkit.org/show_bug.cgi?id=117978
236
237         Reviewed by Brent Fulgham.
238
239         Use OwnPtr to avoid manual deletion of objects.
240
241         * platform/win/ScrollbarThemeWin.cpp:
242         (WebCore::ScrollbarThemeWin::paintTrackPiece):
243         * rendering/RenderThemeWin.cpp:
244         (WebCore::drawControl):
245
246 2013-07-30  Alex Christensen  <achristensen@apple.com>
247
248         Added include directories to Visual Studio for WebGL.
249         https://bugs.webkit.org/show_bug.cgi?id=119161
250
251         Reviewed by Brent Fulgham.
252
253         * WebCore.vcxproj/WebCoreCommon.props: Added more include directories.
254
255 2013-07-30  Commit Queue  <commit-queue@webkit.org>
256
257         Unreviewed, rolling out r151957 and r152531.
258         http://trac.webkit.org/changeset/151957
259         http://trac.webkit.org/changeset/152531
260         https://bugs.webkit.org/show_bug.cgi?id=119267
261
262         They revealed a bug on Mac I can't fix (Requested by Ossy on
263         #webkit).
264
265         * platform/graphics/BitmapImage.cpp:
266         (WebCore::BitmapImage::frameIsCompleteAtIndex):
267         (WebCore::BitmapImage::frameDurationAtIndex):
268         * platform/graphics/ImageSource.cpp:
269         (WebCore::ImageSource::frameDurationAtIndex):
270         (WebCore::ImageSource::frameHasAlphaAtIndex):
271         (WebCore::ImageSource::frameIsCompleteAtIndex):
272         * platform/graphics/ImageSource.h:
273         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
274         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
275         * platform/graphics/cg/ImageSourceCG.cpp:
276         (WebCore::ImageSource::frameIsCompleteAtIndex):
277         (WebCore::ImageSource::frameDurationAtIndex):
278         (WebCore::ImageSource::frameHasAlphaAtIndex):
279         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
280         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
281         * platform/image-decoders/ImageDecoder.cpp:
282         (WebCore::ImageDecoder::frameHasAlphaAtIndex):
283         * platform/image-decoders/ImageDecoder.h:
284         * platform/image-decoders/gif/GIFImageDecoder.cpp:
285         (WebCore::GIFImageDecoder::haveDecodedRow):
286         (WebCore::GIFImageDecoder::gifComplete):
287         (WebCore::GIFImageDecoder::decode):
288         (WebCore::GIFImageDecoder::initFrameBuffer):
289         * platform/image-decoders/gif/GIFImageDecoder.h:
290         * platform/image-decoders/gif/GIFImageReader.h:
291         (GIFImageReader::frameContext):
292
293 2013-07-30  Kwang Yul Seo  <skyul@company100.net>
294
295         Remove using namespace std from SpatialNavigation
296         https://bugs.webkit.org/show_bug.cgi?id=119242
297
298         Reviewed by Antonio Gomes.
299
300         "using namespace" statements in headers are dangerous and should be
301         avoided. check-webkit-style has been changed to flag them as an error
302         since r152719. Use explicit std:: qualifiers instead.
303
304         No behavior change, no new tests needed.
305
306         * page/SpatialNavigation.cpp:
307         (WebCore::scrollInDirection):
308         * page/SpatialNavigation.h:
309         (WebCore::maxDistance):
310
311 2013-07-30  Simon Hausmann  <simon.hausmann@digia.com>
312
313         [Qt][Win] Extend disabling of whole-program-optimizations to MSVC 2012
314         https://bugs.webkit.org/show_bug.cgi?id=119238
315
316         Reviewed by Jocelyn Turcotte.
317
318         As suggested in https://bugreports.qt-project.org/browse/QTBUG-20556,
319         the WebKit build with MSVC 2012 is affected by the same size
320         limitations.
321
322         * WebCore.pri:
323
324 2013-07-30  Allan Sandfeld Jensen  <allan.jensen@digia.com>
325
326         REGRESION(r151091) ASSERTION FAILED: m_readableData || m_writableData
327         https://bugs.webkit.org/show_bug.cgi?id=119142
328
329         Reviewed by Jocelyn Turcotte.
330
331         Remove invalid assert.
332
333         Covered by existing tests.
334
335         * platform/qt/PasteboardQt.cpp:
336         (WebCore::Pasteboard::readData):
337
338 2013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
339
340         Unreviewed. Fix make distcheck.
341
342         * GNUmakefile.list.am: Add missing header file to compilation.
343
344 2013-07-29  Kwang Yul Seo  <skyul@company100.net>
345
346         [Gtk] Improve string use in PasteboardGtk
347         https://bugs.webkit.org/show_bug.cgi?id=119204
348
349         Reviewed by Martin Robinson.
350
351         Use emptyString() instead of "" and use ASCIILiteral where appropriate.
352
353         No behavior change, no new tests needed.
354
355         * platform/gtk/PasteboardGtk.cpp:
356         (WebCore::Pasteboard::documentFragment):
357         Use emptyString() instead of "".
358         (WebCore::Pasteboard::types):
359         Use ASCIILiteral where appropriate.
360
361 2013-07-29  Simon Fraser  <simon.fraser@apple.com>
362
363         Page count can be incorrect if there is a pending style recalc
364         https://bugs.webkit.org/show_bug.cgi?id=119232
365
366         Reviewed by Beth Dakin.
367
368         If style is changed in a way that schedules a style recalc on the Document,
369         and then Page::pageCount() is called, we may give the wrong answer because
370         the existing code only checked FrameView::needsLayout(), not whether a style
371         recale was pending.
372         
373         Fix by having Page::pageCount() call updateLayoutIgnorePendingStylesheets()
374         as we do for other properties that require layer, and are exposed to JS
375         or via API.
376
377         * page/Page.cpp:
378         (WebCore::Page::pageCount):
379
380 2013-07-29  Alex Christensen  <achristensen@apple.com>
381
382         Moved GLContext.cpp and .h out of cairo directory to be used by non-cairo ports.
383         https://bugs.webkit.org/show_bug.cgi?id=119223
384
385         Reviewed by Kenneth Rohde Christiansen.
386
387         * GNUmakefile.list.am:
388         * PlatformGTK.cmake:
389         * WebCore.vcxproj/WebCore.vcxproj:
390         * WebCore.vcxproj/WebCore.vcxproj.filters:
391         Changed location of GLContext.cpp and GLContext.h.
392         * platform/graphics/GLContext.cpp: Copied from WebCore/platform/graphics/cairo/GLContext.cpp.
393         * platform/graphics/GLContext.h: Copied from WebCore/platform/graphics/cairo/GLContext.h.
394         * platform/graphics/cairo/GLContext.cpp: Removed.
395         * platform/graphics/cairo/GLContext.h: Removed.
396
397 2013-07-29  Jer Noble  <jer.noble@apple.com>
398
399         TextTrackRepresentation captions often disappear then appear again.
400         https://bugs.webkit.org/show_bug.cgi?id=119228
401
402         Reviewed by Simon Fraser.
403
404         Calling updateTextTrackDisplay() will cause the entire DOM subtree containing the active cues
405         to be torn down and rebuilt. Only call into this method when text tracks have actually changed.
406
407         Add an enum parameter to configureTextTrackDisplay() which allows the caller to specify that
408         method should assume that the list of visible text tracks has changed, forcing a call to
409         updateTextTrackDisplay().
410
411         * html/HTMLMediaElement.cpp:
412         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Remove the unnecessary call to updateTextTrackDisplay().
413         (WebCore::HTMLMediaElement::textTrackModeChanged): Pass AssumeVisibleTextTracksChanged to configureTextTrackDisplay().
414         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Check the passed flags and exit early only if
415             AssumeVisibleTextTracksChanged is not set.
416         * html/HTMLMediaElement.h:
417
418 2013-07-26  Ryosuke Niwa  <rniwa@webkit.org>
419
420         Fix crash due to unexpected Node deletion during MutationObserver registration book-keeping
421         https://bugs.webkit.org/show_bug.cgi?id=119124
422
423         Reviewed by Sam Weinig.
424
425         Merge https://chromium.googlesource.com/chromium/blink/+/b6afb927695b3acf2c75c25f05e99682660993e2
426
427         No new tests since I could not reproduce the crash with the test attached in the Blink change.
428
429         The bug was caused by Node::unregisterMutationObserver removing the MutationObserverRegistration
430         that holds the last ref to the node. Avoid that by explicitly allocating a local RefPtr to the node
431         in MutationObserverRegistration::unregister. Also rename it to unregisterAndDelete to clarify
432         the semantics and make it a static member function to be even safer.
433
434         * dom/MutationObserver.cpp:
435         (WebCore::MutationObserver::disconnect):
436         * dom/MutationObserverRegistration.cpp:
437         (WebCore::MutationObserverRegistration::unregisterAndDelete):
438         * dom/MutationObserverRegistration.h:
439
440 2013-07-29  Alex Christensen  <achristensen@apple.com>
441
442         Moved GLTransportSurface.h and .cpp out of efl-specific directory.
443         https://bugs.webkit.org/show_bug.cgi?id=119163
444
445         Reviewed by Alexis Menard.
446
447         * PlatformEfl.cmake: Changed directory of GLTransportSurface.cpp.
448         * platform/graphics/surfaces/GLTransportSurface.cpp: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.cpp.
449         * platform/graphics/surfaces/GLTransportSurface.h: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.h.
450         * platform/graphics/surfaces/efl/GLTransportSurface.cpp: Removed.
451         * platform/graphics/surfaces/efl/GLTransportSurface.h: Removed.
452
453 2013-07-29  Alex Christensen  <achristensen@apple.com>
454
455         Speculative implementation of missing GraphicsContext3D methods on Windows.
456         https://bugs.webkit.org/show_bug.cgi?id=119167
457
458         Reviewed by Dean Jackson.
459
460         * WebCore.vcxproj/WebCore.vcxproj:
461         * WebCore.vcxproj/WebCore.vcxproj.filters:
462         * platform/graphics/win/GraphicsContext3DWin.cpp: Added.
463         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
464         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
465         (WebCore::GraphicsContext3D::create):
466         (WebCore::GraphicsContext3D::GraphicsContext3D):
467         (WebCore::GraphicsContext3D::~GraphicsContext3D):
468         (WebCore::GraphicsContext3D::setContextLostCallback):
469         (WebCore::GraphicsContext3D::setErrorMessageCallback):
470         (WebCore::GraphicsContext3D::makeContextCurrent):
471         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
472         (WebCore::GraphicsContext3D::platformTexture):
473         (WebCore::GraphicsContext3D::isGLES2Compliant):
474         (WebCore::GraphicsContext3D::platformLayer):
475
476 2013-07-29  Dean Jackson  <dino@apple.com>
477
478         Max IOSurfaceDimension should be an inclusive upper bound
479         https://bugs.webkit.org/show_bug.cgi?id=119206
480         <rdar://problem/14555311>
481
482         Reviewed by Simon Fraser.
483
484         The maxIOSurfaceDimension value should be an inclusive upper bound.
485         Change the greater than or equal to into a greater than. This will
486         allow canvas elements of this dimension to be accelerated.
487
488         * platform/graphics/cg/ImageBufferCG.cpp:
489         (WebCore::ImageBuffer::ImageBuffer): Change >= to >
490
491 2013-07-29  Renata Hodovan  <reni@webkit.org>
492
493         ASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
494         https://bugs.webkit.org/show_bug.cgi?id=118744
495
496         Reviewed by Philip Rogers.
497
498         If we have an <animateTransform> tag that sets the attributeName and attributeType
499         properties however they are not consistent and we shouldn't try to apply it.
500         It is already checked and catched in SVGAnimateElement::resetAnimatedType() but
501         DontApplyAnimation case isn't handled properly. The patch forces an early return
502         in this case.
503
504         Test: svg/animations/attributeNameAndAttributeTypeMissmatch.svg
505
506         * svg/SVGAnimateElement.cpp:
507         (WebCore::SVGAnimateElement::resetAnimatedType):
508
509 2013-07-29  Allan Sandfeld Jensen  <allan.jensen@digia.com>
510
511         REGRESSION(148300) GIFs not reanimated after resumeActiveDOMObjectAndAnimations
512         https://bugs.webkit.org/show_bug.cgi?id=119217
513
514         Reviewed by Tim Horton.
515
516         Commit 148300 introduced a new better was of restarting GIF animations after
517         they have been suspended. Unfortunately the method was not activated when a page
518         is resumed but only when it is returning from background.
519
520         This fixes GIF animations that are stopped during user interaction on Qt and other
521         platforms using suspendActiveDOMObjectAndAnimations.
522
523         * page/Frame.cpp:
524         (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
525
526 2013-07-29  Alex Christensen  <achristensen@apple.com>
527
528         Made EGL useable by non-cairo ports.
529         https://bugs.webkit.org/show_bug.cgi?id=119177
530
531         Reviewed by Brent Fulgham.
532
533         * platform/graphics/cairo/GLContext.h:
534         * platform/graphics/egl/GLContextEGL.cpp:
535         (WebCore::GLContextEGL::GLContextEGL):
536         * platform/graphics/egl/GLContextEGL.h:
537         Protected Cairo-specific code with #if USE(CAIRO)
538
539 2013-07-29  Sergio Correia  <sergio.correia@openbossa.org>
540
541         CoordinatedGraphics: Add API to get and set the active state of a WebView
542         https://bugs.webkit.org/show_bug.cgi?id=119067
543
544         Reviewed by Noam Rosenthal.
545
546         Added a method to return whether a scene is active or not.
547
548         No new tests, no behavior change.
549
550         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
551         (WebCore::CoordinatedGraphicsScene::isActive): Added method to return the
552         active state of the scene.
553
554 2013-07-29  Mario Sanchez Prada  <mario.prada@samsung.com>
555
556         [ATK] Issues with edge cases when getting offsets for a text range in AtkText
557         https://bugs.webkit.org/show_bug.cgi?id=118908
558
559         Reviewed by Martin Robinson.
560
561         Reimplement getSelectionOffsetsForObject() just in term of
562         Positions instead of using ranges, which makes it simpler and
563         works better. Also, make sure we use the right Node as reference
564         for the accessibility object by getting the proper one both for
565         text control objects (e.g. input, text area) and normal ones.
566
567         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
568         (getNodeForAccessibilityObject): New helper function to ensure we
569         always get the relevant object from the DOM tree for a given
570         accessibility object, in the context of the implementation of
571         AtkText, so it works both with Text Controls and other elements.
572         (getSelectionOffsetsForObject): Rewritten this function in terms
573         of VisiblePositions and avoiding weird operations with ranges, so
574         we have more control to fine tune the results and give more
575         accurate ones. Besides, now it works better with edge cases.
576
577 2013-07-29  Zan Dobersek  <zdobersek@igalia.com>
578
579         Clean up DragImage
580         https://bugs.webkit.org/show_bug.cgi?id=118981
581
582         Reviewed by Anders Carlsson.
583
584         * dom/Clipboard.h: Add forward declaration for the Range class. This was not necessary until now as the forward
585         declaration was introduced in the DragImage header, from where it's being removed due to not being required in that class.
586         * page/Frame.h: Ditto.
587         * platform/DragImage.cpp: Remove the unnecessary DragController and FontRenderingMode header inclusions.
588         The latter is already included in the header.
589         * platform/DragImage.h: Remove the forward declaration for the Range class - it's not used by the DragImage class at all.
590
591 2013-07-29  Kwang Yul Seo  <skyul@company100.net>
592
593         [EFL] Improve string use in ErrorsEfl
594         https://bugs.webkit.org/show_bug.cgi?id=119207
595
596         Reviewed by Christophe Dumez.
597
598         Use ASCIILiteral for constant strings becoming WTFStrings.
599
600         No behavior change.
601
602         * platform/efl/ErrorsEfl.cpp:
603         (WebCore::cancelledError):
604         (WebCore::blockedError):
605         (WebCore::cannotShowURLError):
606         (WebCore::interruptedForPolicyChangeError):
607         (WebCore::cannotShowMIMETypeError):
608         (WebCore::fileDoesNotExistError):
609         (WebCore::pluginWillHandleLoadError):
610         (WebCore::downloadCancelledByUserError):
611         (WebCore::printerNotFoundError):
612         (WebCore::invalidPageRangeToPrint):
613
614 2013-07-28  Andreas Kling  <akling@apple.com>
615
616         Don't update the text track override CSS every time a media element is created.
617         <http://webkit.org/b/119199>
618         <rdar://problem/14572855>
619
620         Reviewed by Darin Adler.
621
622         We should only have to update the CSS if the accessibility caption preferences are changed.
623         This was forcing a full style recalc in every Document any time a media element is instantiated.
624
625         * page/CaptionUserPreferencesMediaAF.cpp:
626         (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
627
628 2013-07-28  Andy Estes  <aestes@apple.com>
629
630         Stop exporting Widget::frameRectsChanged()
631         https://bugs.webkit.org/show_bug.cgi?id=119196
632
633         Reviewed by Darin Adler.
634
635         The definition is inlined in a private header, so there's no need to
636         export a symbol to link against. On the Mac, since we compile with
637         -fvisibility-inlines-hidden, removing the symbol from the export file
638         silences an ld warning about exporting a hidden symbol.
639
640         * WebCore.exp.in: Removed __ZN7WebCore6Widget17frameRectsChangedEv.
641
642 2013-07-28  Sam Weinig  <sam@webkit.org>
643
644         Clean up CSSPrimitiveValue::equals a bit
645         https://bugs.webkit.org/show_bug.cgi?id=119195
646
647         Reviewed by Andreas Kling.
648
649         * css/CSSPrimitiveValue.cpp:
650         (WebCore::CSSPrimitiveValue::equals):
651         This should not change behavior, but is quite a bit clearer.
652
653 2013-07-27  Ryuan Choi  <ryuan.choi@samsung.com>
654
655         [EFL] Bump required version of EFL to 1.7
656         https://bugs.webkit.org/show_bug.cgi?id=119144
657
658         Reviewed by Christophe Dumez.
659
660         * platform/efl/FileSystemEfl.cpp: Removed workaround code which was fixed at Eina 1.7
661         (WebCore::listDirectory):
662
663 2013-07-27  Jacky Jiang  <zhajiang@blackberry.com>
664
665         Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
666         https://bugs.webkit.org/show_bug.cgi?id=119186
667
668         Reviewed by Anders Carlsson.
669
670         Remove GraphicsLayer::create(GraphicsLayerClient*) function since it's
671         been deprecated by r130072.
672
673         * WebCore.exp.in:
674         * WebCore.order:
675         * platform/graphics/GraphicsLayer.h:
676         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
677         * platform/graphics/ca/GraphicsLayerCA.cpp:
678         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
679
680 2013-07-27  Alexey Proskuryakov  <ap@apple.com>
681
682         HTMLParserScheduler gets into an inconsistent state when suspended for reasons
683         other than WillDeferLoading
684         https://bugs.webkit.org/show_bug.cgi?id=119172
685
686         Reviewed by Sam Weinig.
687
688         When loading is not deferred, even a suspended parser will be processing new data
689         from network, potentially starting its next chunk timer.
690
691         Limit suspending to when we can actually enforce it.
692
693         Here is what happens for each ReasonForSuspension:
694         - JavaScriptDebuggerPaused: continuing to parse is probably wrong, but in practice,
695         this is unlikely to happen while debugging, and wasn't properly prevented before
696         this patch anyway.
697         - WillDeferLoading: No change in behavior.
698         - DocumentWillBecomeInactive: This is about page cache, and documents are only allowed
699         to be cached when fully loaded.
700         - PageWillBeSuspended: This appears to be part of Frame::suspendActiveDOMObjectsAndAnimations()
701         implementation, I'm guessing that it is appropriate to continue loading.
702
703         * dom/Document.cpp:
704         (WebCore::Document::suspendScheduledTasks):
705         (WebCore::Document::resumeScheduledTasks):
706         Only suspend/resume parsing when loading is deferred. This is not expressed directly,
707         but it's important to do this to avoid executing JS behind alerts and other modal dialogs.
708
709         * html/parser/HTMLParserScheduler.h: Added m_suspended member variable for assertions.
710
711         * html/parser/HTMLParserScheduler.cpp:
712         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
713         (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
714         (WebCore::HTMLParserScheduler::scheduleForResume):
715         (WebCore::HTMLParserScheduler::suspend):
716         (WebCore::HTMLParserScheduler::resume):
717         Update m_suspended and assert as appropriate. No behavior changes for release mode.
718
719         * page/Frame.cpp: (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
720         Added a FIXME.
721
722 2013-07-27  Alexey Proskuryakov  <ap@apple.com>
723
724         Make SuspendableTimer safer
725         https://bugs.webkit.org/show_bug.cgi?id=119127
726
727         Reviewed by Sam Weinig.
728
729         SuspendableTimer now enforces that it stays suspended until resumed (or until stopped
730         and started again). To ensure this, TimerBase is now a private base class, and parts of
731         its interface that clients use are reimplemented with suspend/resume in mind.
732
733         Derived classes are still allowed to override TimerBase virtual functions (notably
734         fired() and alignedFireTime()).
735
736         * dom/DocumentEventQueue.cpp:
737         (WebCore::DocumentEventQueueTimer): Removed an extraneous WTF_MAKE_NONCOPYABLE,
738         TimerBase has it already.
739         (WebCore::DocumentEventQueueTimer::create): Use our normal create() pattern.
740         (WebCore::DocumentEventQueue::DocumentEventQueue): Made the constructor private, accordingly.
741         (WebCore::DocumentEventQueue::cancelEvent): Use SuspendableTimer::cancel(), which
742         is a new name to disambiguate TimerBase::stop() and ActiveDOMObject::stop().
743         (WebCore::DocumentEventQueue::close): Ditto.
744
745         * page/DOMTimer.cpp:
746         (WebCore::DOMTimer::fired): Now that SuspendableTimer knows whether it's currently
747         suspended, assert that it's not.
748         (WebCore::DOMTimer::didStop): Separated ActiveDOMObject::stop() implementation from
749         additional cleanup, allowing for better SuspendableTimer encapsulation.
750
751         * page/DOMTimer.h: Added FINAL and OVVERIDE specifiers as appropriate.
752
753         * page/SuspendableTimer.h: Added FINAL (and OVERRIDE) qualifiers to ActiveDOMObject
754         methods. A derived class that wants to override current behavior is most likely not
755         a timer, and thus shouldn't be a derived class.
756         (WebCore::SuspendableTimer::isActive): SuspendableTimer with a next fire time is
757         active even if suspended, we shouldn't overwrite its saved data thinking that it's
758         inactive.
759         (WebCore::SuspendableTimer::isSuspended): Exposed to clients (m_suspended is no
760         longer debug only).
761
762         * page/SuspendableTimer.cpp:
763         (WebCore::SuspendableTimer::SuspendableTimer): Updated for new variable names.
764         (WebCore::SuspendableTimer::stop): This is ActiveDOMObject::stop(), which is called
765         before final destruction. We don't track this state directly, but can approximate
766         with setting m_suspended, so even if someone tries to start the timer afterwards,
767         it won't fire.
768         (WebCore::SuspendableTimer::suspend): Updated for new names.
769         (WebCore::SuspendableTimer::resume): Ditto.
770         (WebCore::SuspendableTimer::didStop): No-op default implementation for client hook.
771         (WebCore::SuspendableTimer::cancel): Equivalent of TimerBase::stop(), which also
772         works when suspended. 
773         (WebCore::SuspendableTimer::startRepeating): Replacement for TimerBase function with
774         the same name, which works correctly when suspended. We don't want to actually start
775         the timer in this case.
776         (WebCore::SuspendableTimer::startOneShot): Ditto.
777         (WebCore::SuspendableTimer::repeatInterval): Ditto.
778         (WebCore::SuspendableTimer::augmentFireInterval): Ditto.
779         (WebCore::SuspendableTimer::augmentRepeatInterval): Ditto.
780
781 2013-07-27  Sam Weinig  <sam@webkit.org>
782
783         Add assertions for CSSPrimitiveValue's m_value.valueID accessor
784         https://bugs.webkit.org/show_bug.cgi?id=119180
785
786         Reviewed by Andreas Kling.
787
788         * css/CSSPrimitiveValueMappings.h:
789         (WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
790         (WebCore::CSSPrimitiveValue::operator ColumnSpan):
791         (WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
792         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
793         (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
794         (WebCore::CSSPrimitiveValue::operator CompositeOperator):
795         (WebCore::CSSPrimitiveValue::operator ControlPart):
796         (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
797         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
798         (WebCore::CSSPrimitiveValue::operator EFillBox):
799         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
800         (WebCore::CSSPrimitiveValue::operator EBoxPack):
801         (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
802         (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
803         (WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
804         (WebCore::CSSPrimitiveValue::operator EBoxSizing):
805         (WebCore::CSSPrimitiveValue::operator EBoxDirection):
806         (WebCore::CSSPrimitiveValue::operator EBoxLines):
807         (WebCore::CSSPrimitiveValue::operator EBoxOrient):
808         (WebCore::CSSPrimitiveValue::operator ECaptionSide):
809         (WebCore::CSSPrimitiveValue::operator EClear):
810         (WebCore::CSSPrimitiveValue::operator ECursor):
811         (WebCore::CSSPrimitiveValue::operator CursorVisibility):
812         (WebCore::CSSPrimitiveValue::operator EDisplay):
813         (WebCore::CSSPrimitiveValue::operator EEmptyCell):
814         (WebCore::CSSPrimitiveValue::operator EAlignItems):
815         (WebCore::CSSPrimitiveValue::operator EJustifyContent):
816         (WebCore::CSSPrimitiveValue::operator EFlexDirection):
817         (WebCore::CSSPrimitiveValue::operator EAlignContent):
818         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
819         (WebCore::CSSPrimitiveValue::operator EFloat):
820         (WebCore::CSSPrimitiveValue::operator LineBreak):
821         (WebCore::CSSPrimitiveValue::operator EListStylePosition):
822         (WebCore::CSSPrimitiveValue::operator EListStyleType):
823         (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
824         (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
825         (WebCore::CSSPrimitiveValue::operator RegionFragment):
826         (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
827         (WebCore::CSSPrimitiveValue::operator ENBSPMode):
828         (WebCore::CSSPrimitiveValue::operator EOverflow):
829         (WebCore::CSSPrimitiveValue::operator EPageBreak):
830         (WebCore::CSSPrimitiveValue::operator EPosition):
831         (WebCore::CSSPrimitiveValue::operator EResize):
832         (WebCore::CSSPrimitiveValue::operator ETableLayout):
833         (WebCore::CSSPrimitiveValue::operator ETextAlign):
834         (WebCore::CSSPrimitiveValue::operator TextAlignLast):
835         (WebCore::CSSPrimitiveValue::operator TextJustify):
836         (WebCore::CSSPrimitiveValue::operator TextDecoration):
837         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
838         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
839         (WebCore::CSSPrimitiveValue::operator ETextSecurity):
840         (WebCore::CSSPrimitiveValue::operator ETextTransform):
841         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
842         (WebCore::CSSPrimitiveValue::operator EUserDrag):
843         (WebCore::CSSPrimitiveValue::operator EUserModify):
844         (WebCore::CSSPrimitiveValue::operator EUserSelect):
845         (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
846         (WebCore::CSSPrimitiveValue::operator EVisibility):
847         (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
848         (WebCore::CSSPrimitiveValue::operator EWordBreak):
849         (WebCore::CSSPrimitiveValue::operator EOverflowWrap):
850         (WebCore::CSSPrimitiveValue::operator TextDirection):
851         (WebCore::CSSPrimitiveValue::operator WritingMode):
852         (WebCore::CSSPrimitiveValue::operator TextCombine):
853         (WebCore::CSSPrimitiveValue::operator RubyPosition):
854         (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
855         (WebCore::CSSPrimitiveValue::operator TextOverflow):
856         (WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
857         (WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
858         (WebCore::CSSPrimitiveValue::operator TextOrientation):
859         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
860         (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
861         (WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
862         (WebCore::CSSPrimitiveValue::operator FontWeight):
863         (WebCore::CSSPrimitiveValue::operator FontItalic):
864         (WebCore::CSSPrimitiveValue::operator FontSmallCaps):
865         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
866         (WebCore::CSSPrimitiveValue::operator ColorSpace):
867         (WebCore::CSSPrimitiveValue::operator Hyphens):
868         (WebCore::CSSPrimitiveValue::operator LineSnap):
869         (WebCore::CSSPrimitiveValue::operator LineAlign):
870         (WebCore::CSSPrimitiveValue::operator Order):
871         (WebCore::CSSPrimitiveValue::operator ESpeak):
872         (WebCore::CSSPrimitiveValue::operator BlendMode):
873         (WebCore::CSSPrimitiveValue::operator LineCap):
874         (WebCore::CSSPrimitiveValue::operator LineJoin):
875         (WebCore::CSSPrimitiveValue::operator WindRule):
876         (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
877         (WebCore::CSSPrimitiveValue::operator EBorderCollapse):
878         (WebCore::CSSPrimitiveValue::operator EBorderFit):
879         (WebCore::CSSPrimitiveValue::operator EImageRendering):
880         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
881         (WebCore::CSSPrimitiveValue::operator ColumnAxis):
882         (WebCore::CSSPrimitiveValue::operator ColumnProgression):
883         (WebCore::CSSPrimitiveValue::operator WrapFlow):
884         (WebCore::CSSPrimitiveValue::operator WrapThrough):
885         (WebCore::CSSPrimitiveValue::operator GridAutoFlow):
886         (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
887         (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
888         (WebCore::CSSPrimitiveValue::operator EColorRendering):
889         (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
890         (WebCore::CSSPrimitiveValue::operator EShapeRendering):
891         (WebCore::CSSPrimitiveValue::operator ETextAnchor):
892         (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
893         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
894         (WebCore::CSSPrimitiveValue::operator EMaskType):
895         Assert that the CSSPrimitiveValue is holding a CSSValueID before accessing it.
896
897 2013-07-26  Sam Weinig  <sam@webkit.org>
898
899         Stop pretending to support <string> for text-align.
900         https://bugs.webkit.org/show_bug.cgi?id=119107
901
902         Reviewed by Andreas Kling.
903
904         Test: fast/css/text-align-string-crash.html
905
906         * css/CSSParser.cpp:
907         (WebCore::CSSParser::parseValue):
908         Stop pretending to support <string> for text-align.
909
910         * css/DeprecatedStyleBuilder.cpp:
911         (WebCore::ApplyPropertyTextAlign::applyValue):
912         ASSERT that only value IDs get passed.
913
914 2013-07-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
915
916         Introduce toSVGRectElement(), use it
917         https://bugs.webkit.org/show_bug.cgi?id=119126
918
919         Reviewed by Andreas Kling.
920
921         As a step to change static_cast with toSVGXXX, static_cast<SVGRectElement*> can
922         be changed with toSVGRectElement().
923
924         No new tests, no behavior change.
925
926         * rendering/svg/RenderSVGRect.cpp:
927         (WebCore::RenderSVGRect::updateShapeFromElement):
928         * rendering/svg/SVGPathData.cpp:
929         (WebCore::updatePathFromRectElement):
930         * rendering/svg/SVGRenderTreeAsText.cpp:
931         (WebCore::operator<<):
932         * svg/SVGRectElement.h:
933         (WebCore::toSVGRectElement):
934
935 2013-07-26  Yongjun Zhang  <yongjun_zhang@apple.com>
936
937         With frame flattening on, too many resize events fired if document is resized in onresize handler.
938         https://bugs.webkit.org/show_bug.cgi?id=119075
939
940         Reviewed by Simon Fraser.
941
942         With http://trac.webkit.org/changeset/149287, WebCore also sends resize event in FrameView::setFrameRect.  When
943         flattening an iframe, setFrameRect could be called multiple times from RenderFrameBase::layoutWithFlattening and
944         we could get multiple resize events.  This patch adds a flag in FrameView to disallow sending resize events if
945         we are inside layoutWithFlattening.  The resize event will be sent in performPostLayoutTasks after the iframe
946         is done laying out.
947
948         Manually tested by verifying the rendering slowness in www.hi-pda.com is fixed when frame flattening is enabled.
949
950         * page/FrameView.cpp:
951         (WebCore::FrameView::FrameView):
952         (WebCore::FrameView::setFrameRect):
953         * page/FrameView.h:
954         (WebCore::FrameView::setResizeEventAllowed):
955         (WebCore::FrameView::resizeEventAllowed):
956         * rendering/RenderFrameBase.cpp:
957         (WebCore::RenderFrameBase::layoutWithFlattening):
958
959 2013-07-26  Dean Jackson  <dino@apple.com>
960
961         Allow new transitions to run even when controller is suspended
962         https://bugs.webkit.org/show_bug.cgi?id=119171
963         <rdar://problem/14511404>
964
965         Reviewed by Simon Fraser.
966
967         Expose a new property on AnimationController that allows newly created
968         animations to run even if the controller says it is suspended. See WebKit
969         ChangeLog for more details.
970
971         Test: transitions/created-while-suspended.html
972
973         * WebCore.exp.in: Export the new methods so WebView can use them.
974         * page/animation/AnimationController.cpp:
975         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false.
976         (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Check new flag is not true.
977         (WebCore::AnimationControllerPrivate::setAllowsNewAnimationsWhileSuspended): Expose setter.
978         (WebCore::AnimationController::allowsNewAnimationsWhileSuspended): "Public" getter.
979         (WebCore::AnimationController::setAllowsNewAnimationsWhileSuspended): "Public" setter.
980         * page/animation/AnimationController.h:
981         * page/animation/AnimationControllerPrivate.h:
982         (WebCore::AnimationControllerPrivate::allowsNewAnimationsWhileSuspended):
983         * page/animation/CompositeAnimation.cpp:
984         (WebCore::CompositeAnimation::CompositeAnimation): Only suspend if new flag is false. Everything else
985         relies on the m_suspended flag, so the real code change is this one line.
986
987 2013-07-26  Brent Fulgham  <bfulgham@apple.com>
988
989         [Windows] Unreviewed build fix.
990
991         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
992         (WebCore::createMetadataKeyNames): Do not include Media Selection
993         synbols when building without Media Selection API.
994
995 2013-07-26  Oliver Hunt  <oliver@apple.com>
996
997         REGRESSION(FTL?): Crashes in plugin tests
998         https://bugs.webkit.org/show_bug.cgi?id=119141
999
1000         Reviewed by Michael Saboff.
1001
1002         Getting the correct semantics to appease the inspector is fairly
1003         awful with the iterator system.  For the time being lets just revert
1004         to requesting a full stack trace as we did in the past. 
1005
1006         * bindings/js/ScriptCallStackFactory.cpp:
1007         (WebCore::createScriptCallStack):
1008
1009 2013-07-26  Brent Fulgham  <bfulgham@apple.com>
1010
1011         [Windows] Unreviewed build fix.
1012
1013         Correct build when targeting a release that does not have the AVCF
1014         Legible Output infrastructure.
1015
1016         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Exclude
1017         a soft-link target when the API doesn't exist.
1018         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1019         Correct include options for non-Legible Output supporting environments.
1020         (WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
1021         Prevent build failure when building with legacy caption support.
1022
1023 2013-07-26  Andreas Kling  <akling@apple.com>
1024
1025         Apply FINAL to the RenderObject hierarchy.
1026         <http://webkit.org/b/115977>
1027
1028         Mostly from Blink r148795 by <cevans@chromium.org>
1029         <http://src.chromium.org/viewvc/blink?view=revision&revision=148795>
1030
1031         * rendering/: Beat things with the FINAL stick.
1032         * WebCore.exp.in: Export a now-needed symbol.
1033
1034 2013-07-26  Tim Horton  <timothy_horton@apple.com>
1035
1036         Add a mode where autosizing fixes the FrameView height to at least the WKView height
1037         https://bugs.webkit.org/show_bug.cgi?id=119104
1038         <rdar://problem/14549021>
1039
1040         Reviewed by Anders Carlsson.
1041
1042         * WebCore.exp.in: Export FrameView::setAutoSizeFixedMinimumHeight.
1043         * page/FrameView.cpp:
1044         (WebCore::FrameView::FrameView):
1045         Initialize m_autoSizeFixedMinimumHeight to 0.
1046
1047         (WebCore::FrameView::autoSizeIfEnabled):
1048         Increase the FrameView height to m_autoSizeFixedMinimumHeight if necessary,
1049         and do another layout. Store the computed intrinsic content size.
1050
1051         (WebCore::FrameView::setAutoSizeFixedMinimumHeight): Added.
1052
1053         * page/FrameView.h:
1054         (WebCore::FrameView::autoSizingIntrinsicContentSize): Added.
1055
1056 2013-07-26  Brent Fulgham  <bfulgham@apple.com>
1057
1058         [Windows] Remove workarounds now that rdar://problem/14390466 is fixed.
1059         https://bugs.webkit.org/show_bug.cgi?id=119150
1060
1061         Reviewed by Anders Carlsson.
1062
1063         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1064         (WebCore::AVFWrapper::createPlayer): Remove workaround to add legible output
1065         after player is created.
1066         (WebCore::AVFWrapper::createPlayerItem): Remove workaround to delay adding
1067         legible output until player is created.
1068         (WebCore::AVFWrapper::platformLayer): Get rid of unused temporary.
1069
1070 2013-07-26  Brent Fulgham  <bfulgham@apple.com>
1071
1072         [Windows] Unreviewed gardening.
1073
1074         * WebCore.vcxproj/WebCore.vcxproj: Add missing header file to ease code viewing.
1075         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1076
1077 2013-07-26  Arvid Nilsson  <anilsson@rim.com>
1078
1079         [BlackBerry] LayerTiler fails to render layer after waking up
1080         https://bugs.webkit.org/show_bug.cgi?id=119146
1081
1082         Reviewed by George Staikos.
1083
1084         When the application is backgrounded, all tiles are freed up to
1085         release memory back to the system. We also mark the contents as dirty
1086         in LayerTiler::deleteTextures() so tiles will be repopulated when
1087         waking up again.
1088
1089         The problem was caused by an optimization to avoid re-rendering tiles
1090         repeatedly until the UI thread catches up with the fact that we have
1091         indeed rendered those tiles (which will happen when the UI thread next
1092         composites a frame).
1093
1094         When contents are dirty, we're not supposed to perform this
1095         optimization (i.e. we're not supposed to skip rendering) because the
1096         appearance of the layer has changed, so we do need to render those
1097         tiles. Unfortunately, the code that was supposed to forget the list of
1098         tiles rendered was in a conditional, "if (frontVisibility)", which
1099         happened to be false sometimes when the app woke up again. So we ended
1100         up perpetually skipping those render jobs, and the UI thread kept
1101         yelling at us to render them.
1102
1103         Fixed by unconditionally dropping the list of tiles rendered when
1104         contents are dirty.
1105
1106         This can't be detected without pixel tests, which BB DRT currently
1107         doesn't support.
1108
1109         JIRA 452460
1110
1111         * platform/graphics/blackberry/LayerTiler.cpp:
1112         (WebCore::LayerVisibility::clearTilesRendered):
1113         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
1114
1115 2013-07-25  Ryosuke Niwa  <rniwa@webkit.org>
1116
1117         Remove unused HTMLTextFormControlElement::textRendererAfterUpdateLayout
1118         https://bugs.webkit.org/show_bug.cgi?id=119121
1119
1120         Reviewed by Andreas Kling.
1121
1122         Merge https://chromium.googlesource.com/chromium/blink/+/3255ce725711707fe1fd18be91a6d06789517220.
1123
1124         * html/HTMLTextFormControlElement.cpp:
1125         * html/HTMLTextFormControlElement.h:
1126
1127 2013-07-25  Ryosuke Niwa  <rniwa@webkit.org>
1128
1129         Fix document leak when selection is created inside the document
1130         https://bugs.webkit.org/show_bug.cgi?id=119122
1131
1132         Reviewed by Andreas Kling.
1133
1134         Merge https://chromium.googlesource.com/chromium/blink/+/b908cb4c8da93316d787de31c93f2a43de332a10
1135
1136         The bug was caused by FrameSelection::m_previousCaretNode holding onto a Node, leaking its document.
1137         Fixed the bug by explicitly clearing it in FrameSelection::prepareForDestruction.
1138
1139         Test: editing/selection/leak-document-with-selection-inside.html
1140
1141         * editing/FrameSelection.cpp:
1142         (WebCore::FrameSelection::prepareForDestruction):
1143
1144 2013-07-25  Andreas Kling  <akling@apple.com>
1145
1146         ChromeClient::focusedNodeChanged() should be focusedElementChanged().
1147         <http://webkit.org/b/119110>
1148
1149         Reviewed by Anders Carlsson.
1150
1151         Because only Elements can be focused.
1152
1153         * dom/Document.cpp:
1154         (WebCore::Document::setFocusedElement):
1155         * loader/EmptyClients.h:
1156         (WebCore::EmptyChromeClient::focusedElementChanged):
1157         * page/Chrome.cpp:
1158         (WebCore::Chrome::focusedElementChanged):
1159         * page/Chrome.h:
1160         * page/ChromeClient.h:
1161
1162 2013-07-25  Kwang Yul Seo  <skyul@company100.net>
1163
1164         [WK2][Soup] Add private browsing support
1165         https://bugs.webkit.org/show_bug.cgi?id=118657
1166
1167         Reviewed by Gustavo Noronha Silva.
1168
1169         Support private browsing by adding a method to create a private
1170         browsing soup session. This private browsing session uses a
1171         non-persistent cookie jar and does not use the disk cache feature.
1172
1173         No new tests. Covered by existing private browsing tests.
1174
1175         * platform/network/NetworkStorageSession.h:
1176         (WebCore::NetworkStorageSession::isPrivateBrowsingSession):
1177         Add USE(SOUP) guard to isPrivateBrowsingSession() and m_isPrivate.
1178
1179         * platform/network/ResourceHandle.h:
1180         Add a factory method to create a private browsing session for soup.
1181
1182         * platform/network/soup/CookieJarSoup.cpp:
1183         (WebCore::createPrivateBrowsingCookieJar):
1184         * platform/network/soup/CookieJarSoup.h:
1185         Add a method to create a non-persistent cookie jar for private browsing.
1186
1187         * platform/network/soup/NetworkStorageSessionSoup.cpp:
1188         (WebCore::NetworkStorageSession::NetworkStorageSession):
1189         Initialize m_isPrivate to false.
1190         (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
1191         Implement the method by invoking ResourceHandle::createPrivateBrowsingSession.
1192
1193         * platform/network/soup/ResourceHandleSoup.cpp:
1194         (WebCore::createSoupSession):
1195         Extract common soup session creation code so that both defaultSession
1196         and createPrivateBrowsingSession can use this function to create a soup
1197         session.
1198         (WebCore::ResourceHandle::defaultSession):
1199         Change to use createSoupSession.
1200         (WebCore::ResourceHandle::createPrivateBrowsingSession):
1201         Create a session which uses a non-persistent cookie jar.
1202
1203 2013-07-25  Tim Horton  <timothy_horton@apple.com>
1204
1205         Null check m_frame in maximum and minimumScrollPosition
1206         https://bugs.webkit.org/show_bug.cgi?id=119109
1207         <rdar://problem/14545393>
1208
1209         Reviewed by Darin Adler.
1210
1211         * page/FrameView.cpp:
1212         (WebCore::FrameView::minimumScrollPosition):
1213         (WebCore::FrameView::maximumScrollPosition):
1214         Null-check m_frame (and move the early-return after the clamp-to-0
1215         as the revert in r152911 should have).
1216
1217 2013-07-25  Anders Carlsson  <andersca@apple.com>
1218
1219         Localizable.strings generated by extract-localizable-strings should be UTF-8
1220         https://bugs.webkit.org/show_bug.cgi?id=119106
1221
1222         Reviewed by Mark Rowe.
1223
1224         * English.lproj/Localizable.strings:
1225         Re-encode this as UTF-8 and remove the BOM.
1226
1227         * WebCore.xcodeproj/project.pbxproj:
1228         Set the file encoding of Localizable.strings to UTF-8.
1229
1230 2013-07-25  Ryosuke Niwa  <rniwa@webkit.org>
1231
1232         Don't force layout when querying a fixed or non-box margin/padding property
1233         https://bugs.webkit.org/show_bug.cgi?id=118032
1234
1235         Reviewed by David Hyatt.
1236
1237         Merge https://chromium.googlesource.com/chromium/blink/+/66427d0825fcc2975bd50220cdcaa2504d6f36e5.
1238
1239         This patch avoids layout in ComputedStyleExtractor::propertyValue for margin and padding properties
1240         when they are of fixed length. According to the Blink patch's author, this improves the page load
1241         time of economist.com by 27%.
1242
1243         The actual code change is significantly different from the original Blink patch since we've done
1244         some refactorins in r152938 and r153067 to make this change more self-contained.
1245
1246         Test: fast/css/computed-width-without-renderer.html
1247
1248         * css/CSSComputedStyleDeclaration.cpp:
1249         (WebCore::zoomAdjustedPaddingOrMarginPixelValue):
1250         (WebCore::paddingOrMarginIsRendererDependent):
1251         (WebCore::isLayoutDependent):
1252         (WebCore::ComputedStyleExtractor::propertyValue):
1253
1254 2013-07-25  Sam Weinig  <sam@webkit.org>
1255
1256         -[WebHTMLView attributedSubstringForProposedRange:actualRange:] does not include strikethrough attribute in the returned attributed string
1257         https://bugs.webkit.org/show_bug.cgi?id=119099
1258         <rdar://problem/13439291>
1259
1260         Reviewed by Enrica Casucci.
1261
1262         Tests:
1263             API Test: AttributedStringTest_Strikethrough
1264
1265         * platform/mac/HTMLConverter.mm:
1266         (+[WebHTMLConverter editingAttributedStringFromRange:]):
1267         Set the NSStrikethroughStyleAttributeName attribute when text-decoration: line-through is seen.
1268
1269 2013-07-25  Pratik Solanki  <psolanki@apple.com>
1270
1271         Unreviewed build fix after r153333.
1272
1273         * platform/network/cf/ResourceResponseCFNet.cpp: Remove toTimeT since it is no longer called.
1274
1275 2013-07-25  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1276
1277         Unreviewed EFL build fix after r153315.
1278
1279         Fix build error after we started compiling with c++0x support
1280         in r153315.
1281
1282         * platform/efl/RenderThemeEfl.cpp:
1283         (WebCore::toEdjeGroup):
1284
1285 2013-07-25  Anders Carlsson  <andersca@apple.com>
1286
1287         Remove lastModifiedDate from ResourceResponse
1288         https://bugs.webkit.org/show_bug.cgi?id=119092
1289
1290         Reviewed by Andreas Kling.
1291
1292         Computing m_lastResponseDate is costly on some platforms and we already have a better way to
1293         get the last response time, so convert the two call sites that used to call ResourceresponseBase::lastModifiedDate()
1294         over to using lastModified() instead.
1295
1296         * platform/network/ResourceResponseBase.cpp:
1297         (WebCore::ResourceResponseBase::ResourceResponseBase):
1298         (WebCore::ResourceResponseBase::adopt):
1299         (WebCore::ResourceResponseBase::copyData):
1300         * platform/network/ResourceResponseBase.h:
1301         * platform/network/cf/ResourceResponseCFNet.cpp:
1302         (WebCore::ResourceResponse::platformLazyInit):
1303         * plugins/PluginStream.cpp:
1304         (WebCore::lastModifiedDate):
1305         (WebCore::PluginStream::startStream):
1306
1307 2013-07-25  Yi Shen  <max.hong.shen@gmail.com>
1308
1309         Optimize the thread locks for API Shims
1310         https://bugs.webkit.org/show_bug.cgi?id=118573
1311
1312         Reviewed by Geoffrey Garen.
1313
1314         Remove the thread lock from API Shims if the VM has an exclusive thread (e.g. the VM 
1315         only used by WebCore's main thread).
1316
1317         No new tests required since no functionality changed.
1318
1319         * bindings/js/JSDOMWindowBase.cpp:
1320         (WebCore::JSDOMWindowBase::commonVM):
1321
1322 2013-07-25  Bear Travis  <betravis@adobe.com>
1323
1324         [CSS Shapes] Shape methods and member variables should be guarded with the CSS_SHAPES flag
1325         https://bugs.webkit.org/show_bug.cgi?id=117277
1326
1327         Reviewed by Alexandru Chiculita.
1328
1329         This patch adds some compile guards that were missing from the RenderStyle and
1330         StyleRareNonInheritedData files. When the compile guard caused parameters to
1331         not be used, the parameters were marked using UNUSED_PARAM.
1332
1333         * css/CSSPropertyNames.in: Inserting a line to trigger build.
1334         * rendering/RenderBlock.cpp:
1335         (WebCore::shapeInfoRequiresRelayout):
1336         (WebCore::RenderBlock::updateRegionsAndShapesBeforeChildLayout):
1337         (WebCore::RenderBlock::logicalRightFloatOffsetForLine):
1338         * rendering/RenderBox.cpp:
1339         (WebCore::isCandidateForOpaquenessTest):
1340         * rendering/RenderBox.h:
1341         * rendering/RenderObject.h:
1342         * rendering/style/RenderStyle.cpp:
1343         (WebCore::RenderStyle::changeRequiresLayout):
1344         (WebCore::RenderStyle::changeRequiresRepaint):
1345         * rendering/style/RenderStyle.h:
1346         * rendering/style/StyleRareNonInheritedData.cpp:
1347         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1348         (WebCore::StyleRareNonInheritedData::operator==):
1349         * rendering/style/StyleRareNonInheritedData.h:
1350
1351 2013-07-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1352
1353         Introduce toSVGPatternElement(), use it
1354         https://bugs.webkit.org/show_bug.cgi?id=119013
1355
1356         Reviewed by Andreas Kling.
1357
1358         As a step to change static_cast with toSVGXXX, static_cast<SVGPatternElement*> can
1359         be changed with toSVGPatternElement().
1360
1361         Merge from https://src.chromium.org/viewvc/blink?view=rev&revision=154734
1362
1363         * rendering/svg/RenderSVGResourcePattern.cpp:
1364         (WebCore::RenderSVGResourcePattern::buildPattern):
1365         * rendering/svg/SVGRenderTreeAsText.cpp:
1366         (WebCore::writeSVGResourceContainer):
1367         * rendering/svg/SVGResources.cpp:
1368         (WebCore::targetReferenceFromResource):
1369         * svg/SVGPatternElement.h:
1370         (WebCore::toSVGPatternElement):
1371
1372 2013-06-21  Mark Lam  <mark.lam@apple.com>
1373
1374         Fixed broken build: updated to match SmallStrings changes in r151864.
1375
1376         Not reviewed.
1377
1378         No new tests.
1379
1380         * bindings/js/JSDOMBinding.h:
1381         (WebCore::jsStringWithCache):
1382
1383 2013-06-15  Filip Pizlo  <fpizlo@apple.com>
1384
1385         Concurrent JIT shouldn't try to recompute the CodeBlockHash as part of debug dumps, since doing so may fail if dealing with a CachedScript that doesn't have its script string handy
1386         https://bugs.webkit.org/show_bug.cgi?id=117676
1387
1388         Reviewed by Sam Weinig.
1389
1390         Remove the broken hack for the concurrent JIT, since now the concurrent JIT won't use this code anymore.
1391
1392         No new tests because no new behavior.
1393
1394         * loader/cache/CachedScript.cpp:
1395         (WebCore::CachedScript::script):
1396
1397 2013-06-10  Mark Lam  <mark.lam@apple.com>
1398
1399         Introducing the StackIterator class.
1400         https://bugs.webkit.org/show_bug.cgi?id=117390.
1401
1402         Reviewed by Geoffrey Garen.
1403
1404         No new tests.
1405
1406         * ForwardingHeaders/interpreter/StackIterator.h: Added.
1407         * bindings/js/JSXMLHttpRequestCustom.cpp:
1408         (WebCore::JSXMLHttpRequest::send):
1409         * bindings/js/ScriptCallStackFactory.cpp:
1410         (WebCore::createScriptCallStack):
1411
1412 2013-06-09  Filip Pizlo  <fpizlo@apple.com>
1413
1414         Unreviewed, fix build. Use at() instead of operator[] because of ambiguity on some compilers.
1415
1416         * page/CaptionUserPreferencesMac.mm:
1417         (WebCore::languageIdentifier):
1418
1419 2013-05-27  Filip Pizlo  <fpizlo@apple.com>
1420
1421         testRunner should be able to tell you if a function is DFG compiled
1422         https://bugs.webkit.org/show_bug.cgi?id=116847
1423
1424         Reviewed by Mark Hahnenberg.
1425
1426         Bail early if we're in the compilation thread. This is only relevant for
1427         debug dumps.
1428
1429         No new tests becase no new behavior.
1430
1431         * loader/cache/CachedScript.cpp:
1432         (WebCore::CachedScript::script):
1433
1434 2013-05-25  Mark Lam  <mark.lam@apple.com>
1435
1436         Remove Interpreter::retrieveLastCaller().
1437         https://bugs.webkit.org/show_bug.cgi?id=116753.
1438
1439         Reviewed by Geoffrey Garen.
1440
1441         This is part of the refactoring effort to get rid of functions walking
1442         the JS stack in their own way.
1443
1444         No new tests.
1445
1446         * bindings/js/JSXMLHttpRequestCustom.cpp:
1447         (WebCore::JSXMLHttpRequest::send):
1448         * bindings/js/ScriptCallStackFactory.cpp:
1449         (WebCore::createScriptCallStack):
1450
1451 2013-05-05  Geoffrey Garen  <ggaren@apple.com>
1452
1453         Rolled back in r149527 with crash fixed.
1454
1455         Reviewed by Oliver Hunt.
1456
1457             Rationalized 'this' value conversion
1458             https://bugs.webkit.org/show_bug.cgi?id=115542
1459
1460 2013-04-29  Filip Pizlo  <fpizlo@apple.com>
1461
1462         fourthTier: String::utf8() should also be available as StringImpl::utf8() so that you don't have to ref() a StringImpl just to get its utf8()
1463         https://bugs.webkit.org/show_bug.cgi?id=115393
1464
1465         Reviewed by Geoffrey Garen.
1466
1467         No new tests because no new behavior.
1468
1469         * Modules/websockets/WebSocket.cpp:
1470         (WebCore::WebSocket::close):
1471         * Modules/websockets/WebSocketChannel.cpp:
1472         (WebCore::WebSocketChannel::send):
1473         * html/MediaFragmentURIParser.cpp:
1474         (WebCore::MediaFragmentURIParser::parseFragments):
1475
1476 2013-07-24  Simon Fraser  <simon.fraser@apple.com>
1477
1478         [iOS] Captions are clipped in documents using pagination
1479         https://bugs.webkit.org/show_bug.cgi?id=119072
1480
1481         Reviewed by Beth Dakin.
1482
1483         MediaControlTextTrackContainerElement::createTextTrackRepresentationImage() is called
1484         to paint captions into a layer used for fullscreen video. It did the painting using
1485         a subtree paint, but starting at the root RenderView's layer. This is problematic,
1486         because the caption painting is subject to clipping for columns, and any enclosing
1487         overflow:hidden container.
1488         
1489         Fix this by starting the paint at the MediaControlTextTrackContainerElement's
1490         renderer's layer. By doing this we don't have to worry about an offset, so no
1491         translation is required.
1492         
1493         Also make sure we update layer before grabbing the renderer (in case layout
1494         destroys it).
1495
1496         * html/shadow/MediaControlElements.cpp:
1497         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
1498
1499 2013-07-24  Simon Fraser  <simon.fraser@apple.com>
1500
1501         REGRESSION (r152335): Mac Pro title occluded in MobileSafari; can't scroll page
1502         https://bugs.webkit.org/show_bug.cgi?id=119066
1503         <rdar://problem/14499184>
1504
1505         Reviewed by Daniel Bates.
1506
1507         Following <http://trac.webkit.org/changeset/152335> (bug #118337) we set
1508         the z-index to 0 on every element with CSS "overflow: scroll" and
1509         "-webkit-overflow-scrolling: touch" regardless of whether the element has
1510         non-auto z-index. Instead we should only set the z-index to 0 for such elements
1511         that have an auto z-index.
1512
1513         * css/StyleResolver.cpp:
1514         (WebCore::StyleResolver::adjustRenderStyle):
1515
1516 2013-07-24  Ryosuke Niwa  <rniwa@webkit.org>
1517
1518         Use-after-free in ApplyStyleCommand::removeInlineStyle
1519         https://bugs.webkit.org/show_bug.cgi?id=118627
1520
1521         Reviewed by Oliver Hunt.
1522         
1523         Merge https://chromium.googlesource.com/chromium/blink/+/b6471d077e012b05ccba14d0ce8e6d616106c8e6
1524
1525         Unfortunately, there is no test case for this bug.
1526
1527         * editing/ApplyStyleCommand.cpp:
1528         (WebCore::ApplyStyleCommand::removeInlineStyle):
1529
1530 2013-07-24  Zan Dobersek  <zdobersek@igalia.com>
1531
1532         Remove CheckedInt, use Checked<T, RecordOverflow> instead
1533         https://bugs.webkit.org/show_bug.cgi?id=119022
1534
1535         Reviewed by Oliver Hunt.
1536
1537         Following the cleanup in r153062, the CheckedInt uses are replaced with
1538         using the Checked<T, RecordOverflow> class. The CheckedInt header is not
1539         used anywhere anymore and is thus removed.
1540
1541         * GNUmakefile.list.am:
1542         * WebCore.xcodeproj/project.pbxproj:
1543         * html/canvas/CheckedInt.h: Removed.
1544         * html/canvas/DataView.cpp:
1545         (WebCore::DataView::create):
1546         * html/canvas/WebGLBuffer.cpp:
1547         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
1548         * html/canvas/WebGLRenderingContext.cpp:
1549         (WebCore::WebGLRenderingContext::drawArrays):
1550
1551 2013-07-24  Andreas Kling  <akling@apple.com>
1552
1553         RenderMenuList computes the width of its longest option twice.
1554         <http://webkit.org/b/119046>
1555         <rdar://problem/14534679>
1556
1557         Reviewed by Darin Adler.
1558
1559         Rename the RenderMenuList::m_optionsChanged flag to m_needsOptionsWidthUpdate,
1560         and make sure it gets cleared after we do a width computation in response to font changes.
1561
1562         * rendering/RenderMenuList.cpp:
1563         (WebCore::RenderMenuList::styleDidChange):
1564
1565 2013-07-24  Zan Dobersek  <zdobersek@igalia.com>
1566
1567         Make KURL::hasPath private
1568         https://bugs.webkit.org/show_bug.cgi?id=118279
1569
1570         Reviewed by Darin Adler.
1571
1572         * platform/KURL.h: The KURL::hasPath method is not used outside of the KURL class, so it is made private.
1573
1574 2013-07-24  Jessie Berlin  <jberlin@apple.com>
1575
1576         Remove WKPageGetPlugInInformation - it is not used anymore
1577         https://bugs.webkit.org/show_bug.cgi?id=119047
1578
1579         Rubber-stamped by Alexey Proskuryakov.
1580
1581         Revert r152328, which added a key used only in the callback info for
1582         WKPageGetPlugInInformation.
1583
1584         * WebCore.exp.in:
1585
1586 2013-07-24  Robert Hogan  <robert@webkit.org>
1587
1588         Border drawing incorrect when using both border-collapse: collapse and overflow: hidden on a table
1589         https://bugs.webkit.org/show_bug.cgi?id=18305
1590
1591         Reviewed by David Hyatt.
1592
1593         overflowClipRect() clips out the table's half of a collapsed border when there is an overflow clip
1594         on the table. This prevents the table's half of the border ever getting painted. 
1595
1596         To fix this, clip to the border box of tables when we're in the paint phase that gets the sections to draw the collapsed borders
1597         or when we're self painting. This will allow the table's half of the border to get painted. In the case where the table is self
1598         painting we ensure that content gets clipped to cell's side of the collapsed border by ensuring the clip passed to child layers
1599         from the table clips to the inside of the collapsed border. 
1600
1601         It's worth noting that a table's collapsed borders are painted by the table's layer using functions in 
1602         RenderTableSection and RenderTableCell. So if a table section has a self-painting layer this patch still works, because
1603         the borders aren't painted by the section's layer.
1604
1605         Tests: fast/table/overflow-table-collapsed-borders-cell-painting-table-self-painting-layer.html
1606                fast/table/overflow-table-collapsed-borders-cell-painting.html
1607                fast/table/overflow-table-collapsed-borders-section-layer-painting.html
1608                fast/table/overflow-table-collapsed-borders-section-layer-table-self-painting-layer.html
1609                fast/table/overflow-table-collapsed-borders-section-self-painting-layer-painting.html
1610                fast/table/overflow-table-collapsed-borders-section-self-painting-layer-table-self-painting-layer.html
1611                fast/table/table-overflow.html
1612
1613         * rendering/RenderBox.cpp:
1614         (WebCore::RenderBox::pushContentsClip):
1615         (WebCore::RenderBox::overflowClipRect):
1616         * rendering/RenderBox.h:
1617         (WebCore::RenderBox::overflowClipRectForChildLayers):
1618         * rendering/RenderLayer.cpp:
1619         (WebCore::RenderLayer::calculateClipRects):
1620         * rendering/RenderTable.cpp:
1621         (WebCore::RenderTable::overflowClipRect):
1622         * rendering/RenderTable.h:
1623         (WebCore::RenderTable::overflowClipRectForChildLayers):
1624
1625 2013-07-24  Frédéric Wang  <fred.wang@free.fr>
1626
1627         Graphical elements inside mphantom should not be visible.
1628         https://bugs.webkit.org/show_bug.cgi?id=116600.
1629
1630         Reviewed by Chris Fleizach.
1631
1632         Test: mathml/presentation/phantom.html
1633
1634         * rendering/mathml/RenderMathMLFraction.cpp:
1635         (WebCore::RenderMathMLFraction::paint): don't paint the fraction bar when the visibility is not "visible"
1636         * rendering/mathml/RenderMathMLRoot.cpp:
1637         (WebCore::RenderMathMLRoot::paint): don't paint the radical symbol when the visibility is not "visible"
1638
1639 2013-07-24  Brendan Long  <b.long@cablelabs.com>
1640
1641         WebVTTParser's identifier buffering can ignore subsequent lines
1642         https://bugs.webkit.org/show_bug.cgi?id=118483
1643
1644         Reviewed by Eric Carlson.
1645
1646         No new tests since this bug can't be reproduced in layout tests.
1647
1648         * html/track/WebVTTParser.cpp:
1649         (WebCore::WebVTTParser::parseBytes): Only buffer the identifier if we haven't read an entire line.
1650
1651 2013-07-23  Andreas Kling  <akling@apple.com>
1652
1653         REGRESSION(r150867): FrameView auto-sizing + delegate denied image load may cause StyleResolver to re-enter itself.
1654         <rdar://problem/14324895>
1655         <http://webkit.org/b/119023>
1656
1657         Reviewed by Simon Fraser.
1658
1659         The bug happened when FrameView::autoSizeIfEnabled() was getting called below FrameLoader::checkCompleted()
1660         triggered by an incorrect loadDone() callback originating in SubresourceLoader::didCancel().
1661
1662         * css/StyleResolver.cpp:
1663         (WebCore::StyleResolver::loadPendingResources):
1664
1665             Add an assertion that this function is not getting re-entered. If a similar bug occurs
1666             in the future, this will help the lucky person debugging.
1667
1668         * loader/SubresourceLoader.cpp:
1669         (WebCore::SubresourceLoader::didCancel):
1670
1671             Don't notifyDone() if the SubresourceLoader is in Uninitialized state.
1672
1673 2013-07-23  Tim Horton  <timothy_horton@apple.com>
1674
1675         Pixel-snap the unavailable plugin indicator arrow for maximum sharpness
1676         https://bugs.webkit.org/show_bug.cgi?id=119024
1677         <rdar://problem/14523331>
1678
1679         Reviewed by Anders Carlsson.
1680
1681         * rendering/RenderEmbeddedObject.cpp:
1682         (WebCore::addReplacementArrowPath):
1683         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1684         Pixel-snap the unavailable plugin indicator arrow. Snapping directions
1685         were chosen by eye/symmetry to look best on 1x and 2x devices at
1686         1x and 2x page scale.
1687
1688 2013-07-19  Ryosuke Niwa  <rniwa@webkit.org>
1689
1690         The computed values of fix length padding should be subpixel precision like margin
1691         https://bugs.webkit.org/show_bug.cgi?id=118936
1692
1693         Reviewed by Simon Fraser.
1694
1695         The bug was caused by ComputedStyleExtractor::propertyValue always returning the used value
1696         for padding. Fixed the bug by returning the computed value when they're of fixed length.
1697
1698         This aligns the behaviors of getComputedStyle(~).padding~ with getComputedStyle(~).margin~,
1699         which had been fixed in r102149. While the current CSSOM specification says getComputedStyle
1700         should return the used values for margins when display property is set to anything but none,
1701         new behavior matches that of Chrome, Firefox, and Internet Explorer.
1702
1703         Also extracted zoomAdjustedPaddingOrMarginPixelValue to reduce the code duplication.
1704
1705         Test: fast/css/getComputedStyle/getComputedStyle-padding-margin-subpixel-length.html
1706
1707         * css/CSSComputedStyleDeclaration.cpp:
1708         (WebCore::zoomAdjustedPaddingOrMarginPixelValue): Extracted.
1709         (WebCore::ComputedStyleExtractor::propertyValue):
1710
1711 2013-07-23  Alex Christensen  <achristensen@apple.com>
1712
1713         Updated ANGLE to latest git commit (047373aa3eb408be62be52ade840fa5f11e72337).
1714         https://bugs.webkit.org/show_bug.cgi?id=118550
1715
1716         Reviewed by Dean Jackson.
1717
1718         * CMakeLists.txt: Renamed DetectRecursion to DetectCallDepth and added Uniform.cpp.
1719
1720 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1721
1722         Use Checked<uint32_t, RecordOverflow> instead of CheckedInt in GraphicsContext3D
1723         https://bugs.webkit.org/show_bug.cgi?id=118988
1724
1725         Reviewed by Oliver Hunt.
1726
1727         Use the WTF's Checked class, with uint32_t as the numeric type and RecordOverflow as the overflow handler,
1728         instead of the CheckedInt class. This removes a layering violation that's occurring due to including the CheckedInt
1729         header that's currently located in the WebCore layer (alongside the HTML canvas code in Source/WebCore/html/canvas).
1730
1731         * platform/graphics/GraphicsContext3D.cpp:
1732         (WebCore::GraphicsContext3D::computeImageSizeInBytes):
1733
1734 2013-07-23  Zalan Bujtas  <zalan@apple.com>
1735
1736         REGRESSION(r152313): Links in certain twitter postings don't warp correctly on page
1737         https://bugs.webkit.org/show_bug.cgi?id=118435
1738
1739         Reviewed by David Hyatt.
1740
1741         When we find an empty inline in the middle of the word, prefer breaking it before 
1742         instead of after to match other browsers' rendering.
1743
1744         Test: fast/text/whitespace/inline-whitespace-wrapping-12.html
1745
1746         * rendering/RenderBlockLineLayout.cpp:
1747         (WebCore::canBreakAtThisPosition):
1748
1749 2013-07-23  Alexey Proskuryakov  <ap@apple.com>
1750
1751         Dictionary hotkey does not work on vertical text
1752         https://bugs.webkit.org/show_bug.cgi?id=118993
1753         <rdar://problem/14478260>
1754
1755         Reviewed by Enrica Casucci.
1756
1757         Test: platform/mac/editing/input/firstrectforcharacterrange-vertical.html
1758
1759         * editing/Editor.cpp:
1760         (WebCore::collapseCaretWidth): A helper function.
1761         (WebCore::Editor::firstRectForRange): Many changes:
1762         - use RenderObject::absoluteBoundingBoxRectForRange() in regular case, because
1763         that's more direct that getting caret rects and computing bounding rect from those.
1764         - handle collapsed ranges separately, because absoluteBoundingBoxRectForRange()
1765         doesn't provide the needed result, and because it can be done faster.
1766         - wherever we use carets to compute the result, account for vertical text (in a hackish
1767         way, as we don't have layout information at Editor level).
1768
1769         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::localCaretRect): Removed
1770         dead code.
1771
1772 2013-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>
1773
1774         [CSS Shapes] New positioning model: Borders
1775         https://bugs.webkit.org/show_bug.cgi?id=118822
1776
1777         Reviewed by Dean Jackson.
1778
1779         Converting to the shape coordinate system was not properly accounting
1780         for borders and padding. This has been fixed and a new convienence
1781         method added because of the added complexity of the conversion.
1782
1783         Test: csswg/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html
1784
1785         * rendering/RenderBlock.cpp:
1786         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine): Update to use
1787             computeSegmentsForContainingBlockLine to do the coordinate
1788             conversion.
1789         (WebCore::RenderBlock::logicalRightFloatOffsetForLine): Ditto.
1790         * rendering/RenderBlockLineLayout.cpp:
1791         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Ditto.
1792         * rendering/shapes/ShapeOutsideInfo.cpp:
1793         (WebCore::ShapeOutsideInfo::computeSegmentsForContainingBlockLine):
1794             Add new method to do the coordinate conversion from the containing
1795             block coordinate system to the coordinate system of the shape so
1796             that the segments can be correctly calculated.
1797
1798 2013-07-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1799
1800         Remove deprecated and unused compositing settings
1801         https://bugs.webkit.org/show_bug.cgi?id=119014
1802
1803         Reviewed by Andreas Kling.
1804
1805         * page/Settings.in:
1806
1807 2013-07-23  Tim Horton  <timothy_horton@apple.com>
1808
1809         Add a test for plug-in unavailability indicator obscurity detection
1810         https://bugs.webkit.org/show_bug.cgi?id=119007
1811
1812         Reviewed by Anders Carlsson.
1813
1814         Test: plugins/unavailable-plugin-indicator-obscurity.html
1815
1816         Expose the ability to test whether the unavailable plugin indicator
1817         is obscured via the internals object.
1818
1819         * testing/Internals.cpp:
1820         (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
1821         * testing/Internals.h:
1822         * testing/Internals.idl:
1823         Expose RenderEmbeddedObject::isReplacementObscured as
1824         internals.isPluginUnavailabilityIndicatorObscured for testing purposes.
1825
1826 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1827
1828         [Soup] Clean up header inclusions in ResourceRequest(Soup), SocketStreamHandle
1829         https://bugs.webkit.org/show_bug.cgi?id=118984
1830
1831         Reviewed by Darin Adler.
1832
1833         Execute a minor cleanup of the header inclusions in Soup-specific ResourceRequestSoup.cpp, ResourceRequest.h
1834         and SocketStreamHandle.h source files. The inclusions are sorted into proper order, with blank lines and unnecessary
1835         reinclusions removed.
1836
1837         * platform/network/soup/ResourceRequest.h:
1838         * platform/network/soup/ResourceRequestSoup.cpp:
1839         * platform/network/soup/SocketStreamHandle.h:
1840
1841 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1842
1843         [Soup] Remove unnecessary header inclusions in ResourceHandleSoup.cpp
1844         https://bugs.webkit.org/show_bug.cgi?id=118983
1845
1846         Reviewed by Martin Robinson.
1847
1848         Remove inclusions of the CachedResourceLoader, ChromeClient, Frame and Page headers. These are not
1849         necessary (anymore) and only prevent the source file to be built independently of WebCore, as it should be.
1850
1851         * platform/network/soup/ResourceHandleSoup.cpp:
1852
1853 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1854
1855         Remove unnecessary header inclusions in GraphicsContext3D.cpp, GraphicsContext3DOpenGLCommon.cpp
1856         https://bugs.webkit.org/show_bug.cgi?id=118989
1857
1858         Reviewed by Darin Adler.
1859
1860         * platform/graphics/GraphicsContext3D.cpp: Remove the unnecessary DrawingBuffer header inclusion.
1861         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Remove the unnecessary
1862         CanvasRenderingContext and WebGLObject header inclusions.
1863
1864 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1865
1866         Remove the topDocumentURL member of the GraphicsContext3D::Attributes struct
1867         https://bugs.webkit.org/show_bug.cgi?id=118987
1868
1869         Reviewed by Darin Adler.
1870
1871         Remove the topDocumentURL member that currently resides in the GraphicsContext3D::Attributes struct.
1872         It's not used anywhere and only has one place where it is set, in WebGLRenderingContext::create.
1873
1874         * html/canvas/WebGLRenderingContext.cpp:
1875         (WebCore::WebGLRenderingContext::create):
1876         * platform/graphics/GraphicsContext3D.h:
1877
1878 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1879
1880         Remove unused DrawingBuffer::paintRenderingResultsToImageData
1881         https://bugs.webkit.org/show_bug.cgi?id=118986
1882
1883         Reviewed by Darin Adler.
1884
1885         Remove the paintRenderingResultsToImageData method of the DrawingBuffer class. It is not used anywhere
1886         and also introduces a nasty layering violation by including and operating with the ImageData class.
1887
1888         * platform/graphics/gpu/DrawingBuffer.cpp:
1889         * platform/graphics/gpu/DrawingBuffer.h:
1890
1891 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1892
1893         Remove unnecessary includes in FormDataBuilder.cpp
1894         https://bugs.webkit.org/show_bug.cgi?id=118991
1895
1896         Reviewed by Darin Adler.
1897
1898         * platform/network/FormDataBuilder.cpp: Remove the Frame and FrameLoader header inclusions,
1899         nothing these two headers provide is used in this source file.
1900
1901 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1902
1903         Fix the style of the ContentDispositionType enum definition
1904         https://bugs.webkit.org/show_bug.cgi?id=118990
1905
1906         Reviewed by Darin Adler.
1907
1908         * platform/network/HTTPParsers.h: Align the style of the ContentDispositionType enumeration
1909         definition with the other enumeration definitions in the HTTPParsers header, using the
1910         'enum Name { ... }' style instead of a typedef.
1911
1912 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1913
1914         [GTK] Mock GDK_IS_X11_DISPLAY macro can be redefined unnecessarily
1915         https://bugs.webkit.org/show_bug.cgi?id=118980
1916
1917         Reviewed by Martin Robinson.
1918
1919         * platform/gtk/GtkVersioning.h: Only define the GDK_IS_X11_DISPLAY macro when using the GTK+ 2 API version
1920         as that's the only supported configuration where the macro is not defined. Definining it only if it's not
1921         yet defined at the time of inclusion of this header can cause redefinitions in GTK+ headers that are normally
1922         included later.
1923
1924 2013-07-22  Beth Dakin  <bdakin@apple.com>
1925
1926         StickyPositionConstraints should store the constrainingRectAtLastLayout
1927         https://bugs.webkit.org/show_bug.cgi?id=118999
1928
1929         Reviewed by Simon Fraser.
1930
1931         Much like how FixedPositionConstraints store a viewportRectAtLastLayout, 
1932         StickyConstraints should store a constrainingRectAtLastLayout. We'll need this to 
1933         get sticky right in overflow areas once overflow areas scroll on the scrolling 
1934         thread. 
1935
1936         * page/scrolling/ScrollingConstraints.h:
1937         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
1938         (WebCore::StickyPositionViewportConstraints::constrainingRectAtLastLayout):
1939         (WebCore::StickyPositionViewportConstraints::setConstrainingRectAtLastLayout):
1940         * rendering/RenderBoxModelObject.cpp:
1941         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
1942
1943 2013-07-22  Santosh Mahto  <santosh.ma@samsung.com>
1944
1945         DateInputType constructor initiate incorrect base class
1946         https://bugs.webkit.org/show_bug.cgi?id=118962
1947
1948         Reviewed by Gyuyoung Kim.
1949
1950         No new test required since solving code error
1951
1952         * html/DateInputType.cpp:
1953         (WebCore::DateInputType::DateInputType):
1954         Corrected the base class instantiation in constructor.
1955
1956 2013-07-22  Tim Horton  <timothy_horton@apple.com>
1957
1958         Plug-in unavailability indicator should not be displayed if a blocked plugin's indicator is clipped
1959         https://bugs.webkit.org/show_bug.cgi?id=118998
1960         <rdar://problem/14511268>
1961
1962         Reviewed by Anders Carlsson.
1963         
1964         * html/HTMLEmbedElement.cpp:
1965         (WebCore::HTMLEmbedElement::updateWidget):
1966         * html/HTMLObjectElement.cpp:
1967         (WebCore::HTMLObjectElement::updateWidget):
1968         * html/HTMLPlugInElement.cpp:
1969         (WebCore::HTMLPlugInElement::defaultEventHandler):
1970         (WebCore::HTMLPlugInElement::supportsFocus):
1971         * html/HTMLPlugInImageElement.cpp:
1972         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
1973         * loader/SubframeLoader.cpp:
1974         (WebCore::SubframeLoader::createJavaAppletWidget):
1975         (WebCore::SubframeLoader::loadPlugin):
1976         * page/FrameView.cpp:
1977         (WebCore::FrameView::updateWidget):
1978         Rename showsUnavailablePluginIndicator to isPluginUnavailable, since being unavailable
1979         and actually showing the indicator are two totally different things.
1980
1981         * WebCore.exp.in: Expose setUnavailablePluginIndicatorIsHidden.
1982
1983         * rendering/RenderEmbeddedObject.cpp:
1984         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1985         Rename m_showsUnavailablePluginIndicator to m_isPluginUnavailable.
1986         Add m_isUnavailablePluginIndicatorHidden, defaulting to false.
1987
1988         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription):
1989         Set m_isPluginUnavailable when we get an unavailability reason.
1990
1991         (WebCore::RenderEmbeddedObject::paint):
1992         (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden): Added.
1993
1994         * rendering/RenderEmbeddedObject.h:
1995         (WebCore::RenderEmbeddedObject::isPluginUnavailable): Added.
1996
1997         (WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
1998         Repurpose "showsUnavailablePluginIndicator" to actually represent whether
1999         the indicator is displayed (i.e. the plugin is unavailable, and the
2000         indicator is not hidden).
2001
2002 2013-07-22  Tim Horton  <timothy_horton@apple.com>
2003
2004         RenderEmbeddedObject::isReplacementObscured should include the arrow in its area-of-interest
2005         https://bugs.webkit.org/show_bug.cgi?id=118995
2006         <rdar://problem/14516421>
2007
2008         Reviewed by Anders Carlsson.
2009
2010         * rendering/RenderEmbeddedObject.cpp:
2011         (WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
2012         Rename method from replacementTextRect to unavailablePluginIndicatorBounds for accuracy.
2013         Use the bounding box of the indicator's path, which includes the rounded rect behind
2014         the text as well as the arrow button.
2015
2016         (WebCore::RenderEmbeddedObject::isReplacementObscured):
2017         * rendering/RenderEmbeddedObject.h:
2018
2019 2013-07-22  Tim Horton  <timothy_horton@apple.com>
2020
2021         <applet> plugins are instantiated post-attach (instead of post-layout like for object and embed)
2022         https://bugs.webkit.org/show_bug.cgi?id=118994
2023         <rdar://problem/14511232>
2024
2025         Reviewed by Anders Carlsson.
2026
2027         Make <applet> consistent with <object> and <embed>, deferring plugin
2028         instantiation to post-layout, so that layout is up-to-date if anything
2029         needs it (like RenderEmbeddedObject::isReplacementObscured) during creation.
2030
2031         * html/HTMLAppletElement.cpp:
2032         (WebCore::HTMLAppletElement::updateWidget):
2033         Copy code from HTMLObjectElement/HTMLEmbedElement that defers plugin
2034         creation until post-layout tasks. Java is always an NPAPI plugin, so
2035         we should always defer if requested.
2036
2037 2013-07-22  Benjamin Poulain  <benjamin@webkit.org>
2038
2039         Do not allocate 2 AtomicString just to do a comparison in HTMLAnchorElement::setRel()
2040         https://bugs.webkit.org/show_bug.cgi?id=118941
2041
2042         Reviewed by Gavin Barraclough.
2043
2044         Currently, the only type of link relation supported by HTMLAnchorElement is RelationNoReferrer.
2045
2046         To find the value, we create a SpaceSplitString with the input value of the attribute (which
2047         create one or more AtomicString depending on the input). Then we create a new AtomicString for
2048         the literal "noreferrer". Finally, we compare the pointers and throw away all the AtomicStrings.
2049
2050         This causes a lot of memory operations for something really simple.
2051
2052         This patch adds a little helper method to SpaceSplitString to find a literal in the input. The only
2053         allocation happens if we need to foldCase(). The following operations are done without allocating
2054         new buffer and without hashing the input.
2055
2056         * dom/SpaceSplitString.cpp:
2057         (WebCore::tokenizeSpaceSplitString):
2058         (WebCore::AppendTokenToVectorTokenProcessor::AppendTokenToVectorTokenProcessor):
2059         (WebCore::AppendTokenToVectorTokenProcessor::processToken):
2060         (WebCore::SpaceSplitStringData::createVector):
2061         (WebCore::TokenIsEqualToCStringTokenProcessor::TokenIsEqualToCStringTokenProcessor):
2062         (WebCore::TokenIsEqualToCStringTokenProcessor::processToken):
2063         (WebCore::TokenIsEqualToCStringTokenProcessor::referenceStringWasFound):
2064         (WebCore::SpaceSplitString::spaceSplitStringContainsValue):
2065         * dom/SpaceSplitString.h:
2066         (WebCore::SpaceSplitString::spaceSplitStringContainsValue):
2067         * html/HTMLAnchorElement.cpp:
2068         (WebCore::HTMLAnchorElement::setRel):
2069
2070 2013-07-22  Zalan Bujtas  <zalan@apple.com>
2071
2072         segfault in RenderLayerCompositor when the iframe's position attribute is changed and it embeds <object>.
2073         https://bugs.webkit.org/show_bug.cgi?id=118965
2074
2075         Reviewed by Simon Fraser.
2076
2077         Do not change the composition state unless we can reliably figure out the iframe's size.
2078         If the renderer is not yet attached, its size is not computable.
2079
2080         Test: compositing/iframes/iframe-position-absolute-with-padding-percentage-crash.html
2081
2082         * rendering/RenderLayerCompositor.cpp:
2083         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
2084
2085 2013-07-22  Chris Fleizach  <cfleizach@apple.com>
2086
2087         AX: VoiceOver only read the first column in a safari table
2088         https://bugs.webkit.org/show_bug.cgi?id=118992
2089
2090         Reviewed by Tim Horton.
2091
2092         In case the first section has fewer columns than the rest of the table, the AXTable was only reporting the number of
2093         columns for the first section. We need to take the max number of columns out of all sections.
2094
2095         Test: accessibility/table-with-mismatch-column-count-in-initial-section.html
2096
2097         * accessibility/AccessibilityTable.cpp:
2098         (WebCore::AccessibilityTable::addChildren):
2099
2100 2013-07-22  Beth Dakin  <bdakin@apple.com>
2101
2102         StickyPositionContraints should not need to change to account for a RenderLayer's 
2103         scrollOffset
2104         https://bugs.webkit.org/show_bug.cgi?id=118958
2105         -and corresponding-
2106         <rdar://problem/12469203>
2107
2108         Reviewed by Simon Fraser.
2109
2110         Before this patch, to get sticky offsets right in overflow areas, the 
2111         StickyPositionConstraints changed on every scroll to factor it in. This will be a 
2112         problem once we can scroll overflow areas on the scrolling thread. The constraints 
2113         should never have to change to account for the scroll position. This patch fixes 
2114         that issue by changing the StickyPositionViewportConstraints’s containerBlockRect 
2115         and stickyBoxRect to be in a coordinate space that is relative to the scrolling 
2116         ancestor rather than being absolute. This patch also removes ‘absolute’ from those 
2117         variable names since they are no longer absolute.
2118
2119         A few re-names in the StickyPositionViewportConstraints class. The parameter to 
2120         computeStickyOffset() used to be called viewportRect, and is now called 
2121         constrainingRect. m_absoluteStickyBoxRect is now m_stickyBoxRect, and 
2122         m_absoluteContainingBlockRect is now m_containingBlockRect. And finally, 
2123         layerPositionForViewportRect() is now layerPositionForConstrainingRect()
2124         * page/scrolling/ScrollingConstraints.cpp:
2125         (WebCore::StickyPositionViewportConstraints::computeStickyOffset):
2126         (WebCore::StickyPositionViewportConstraints::layerPositionForConstrainingRect):
2127         * page/scrolling/ScrollingConstraints.h:
2128         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
2129         (WebCore::StickyPositionViewportConstraints::containingBlockRect):
2130         (WebCore::StickyPositionViewportConstraints::setContainingBlockRect):
2131         (WebCore::StickyPositionViewportConstraints::stickyBoxRect):
2132         (WebCore::StickyPositionViewportConstraints::setStickyBoxRect):
2133         (WebCore::StickyPositionViewportConstraints::operator==):
2134
2135         Accounting for the re-names. 
2136         * page/scrolling/ScrollingStateStickyNode.cpp:
2137         (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
2138         (WebCore::ScrollingStateStickyNode::dumpProperties):
2139         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
2140         (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
2141
2142         Compute all values relative to the scrolling ancestor. This requires some juggling 
2143         in the overflow case to factor border and padding in or out.
2144         * rendering/RenderBoxModelObject.cpp:
2145         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
2146
2147         This is where the scrollOffset should be factored in.
2148         (WebCore::RenderBoxModelObject::stickyPositionOffset):
2149
2150 2013-07-22  Dean Jackson  <dino@apple.com>
2151
2152         PlugIn content can disappear after restarting
2153         https://bugs.webkit.org/show_bug.cgi?id=118982
2154
2155         Reviewed by Simon Fraser.
2156
2157         When a snapshotted plug-in is restarted, we inserted its compositing
2158         layer back into the tree, but didn't recalculate style. This meant
2159         that a subsequent compositing tree operation (such as any hardware
2160         animation) could cause the content to disappear.
2161
2162         * html/HTMLPlugInImageElement.cpp:
2163         (WebCore::HTMLPlugInImageElement::setDisplayState): Force a style recalc.
2164         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Ditto.
2165
2166 2013-07-22  Zalan Bujtas  <zalan@apple.com>
2167
2168         REGRESSION(r152227) Images with compositing layer don't show up unless the containing window is resized.
2169         https://bugs.webkit.org/show_bug.cgi?id=118951
2170
2171         Reviewed by Simon Fraser.
2172
2173         Ensure that the content rect is initialized when the image is set on the graphics layer.
2174
2175         RenderLayerBacking::updateGraphicsLayerGeometry() only updates the contents rect when
2176         the associated graphics layer has a content layer. Since the image gets committed 
2177         on the graphics layer after the update calls, the contents rect is left uninitialized.
2178
2179         Test: compositing/images/positioned-image-content-rect.html
2180
2181         * rendering/RenderLayerBacking.cpp:
2182         (WebCore::RenderLayerBacking::updateImageContents):
2183
2184 2013-07-22  Diego Pino Garcia  <dpino@igalia.com>
2185
2186         [Old Web Inspector] When right-clicking on a DataGrid column, show editing menu option as "Edit <columnName>" instead of just "Edit"
2187         https://bugs.webkit.org/show_bug.cgi?id=118971
2188
2189         Reviewed by Timothy Hatcher.
2190
2191         * English.lproj/localizedStrings.js: 
2192         * inspector/front-end/DataGrid.js: Change "Edit" for "Edit <columnTitle>"
2193         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
2194
2195 2013-07-22  Alex Christensen  <achristensen@apple.com>
2196
2197         Added assembly files to Windows 64-bit builds.
2198         https://bugs.webkit.org/show_bug.cgi?id=118931
2199
2200         Reviewed by Brent Fulgham.
2201
2202         * WebCore.vcxproj/WebCore.vcxproj: Added PaintHooks.asm for x64 and enabled MASM.
2203         * WebCore.vcxproj/WebCore.vcxproj.filters: Added PaintHooks.asm.
2204
2205 2013-07-22  Jakob Petsovits  <jpetsovits@blackberry.com>
2206
2207         [BlackBerry] Fix WebGL to a 2D canvas copies.
2208         https://bugs.webkit.org/show_bug.cgi?id=118921
2209         https://jira.bbqnx.net/browse/BRWSR-12714
2210         JIRA 449577
2211
2212         Reviewed by George Staikos.
2213
2214         The transform here was converted incorrectly when it
2215         replaced the pixel copy that was there before.
2216         As a true draw transformation, it doesn't need the "- 1"
2217         modification that pixel copies often require.
2218
2219         Fixes existing webgl/conformance/canvas tests.
2220
2221         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2222         (WebCore::GraphicsContext3D::paintToCanvas):
2223
2224 2013-07-22  peavo@outlook.com  <peavo@outlook.com>
2225
2226         [Curl] Download fails for certain urls.
2227         https://bugs.webkit.org/show_bug.cgi?id=118468
2228
2229         Reviewed by Brent Fulgham.
2230
2231         The current Curl download implementation has a few shortcomings:
2232         1) Downloading from secure locations fails. We need to provide Curl with the path to a certificate file (.pem file).
2233         2) Cookies are not set in the download request. We need to give Curl the path to the cookie file.
2234         3) When a normal load is converted to a download, some of the headers from the original request is not sent (e.g. Referer, User agent).
2235
2236         * platform/network/curl/CurlDownload.cpp:
2237         (WebCore::CurlDownload::CurlDownload): Initialize custom headers member.
2238         (WebCore::CurlDownload::~CurlDownload): Free custom headers member.
2239         (WebCore::CurlDownload::init): Set certificate and cookie file path.
2240         (WebCore::CurlDownload::closeFile): Check file handle against value for invalid platform handle.
2241         (WebCore::CurlDownload::writeDataToFile): Added utility method to write download data to file.
2242         (WebCore::CurlDownload::addHeaders): Added utility method to add headers to request.
2243         (WebCore::CurlDownload::didReceiveData): Use writeDataToFile utility method.
2244         * platform/network/curl/CurlDownload.h:
2245         Put class in WebCore namespace.
2246         Added method to init download from resource handle, request, and response object.
2247         Added utility method to write download data to file.
2248         Added utility method to add headers to request.
2249         Added custom headers member.
2250
2251 2013-07-22  Eric Carlson  <eric.carlson@apple.com>
2252
2253         [iOS] captions sometimes positioned incorrectly after fullscreen state change
2254         https://bugs.webkit.org/show_bug.cgi?id=118912
2255
2256         Reviewed by Jer Noble.
2257
2258         * html/shadow/MediaControlElements.cpp:
2259         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Call clearTextTrackRepresentation.
2260         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Call updateDisplay so
2261             cues are re-rendered with the updated size.
2262         (WebCore::MediaControlTextTrackContainerElement::clearTextTrackRepresentation): Cleanup the
2263             text track representation.
2264         (WebCore::MediaControlTextTrackContainerElement::enteredFullscreen): New, force cues to be updated.
2265         (WebCore::MediaControlTextTrackContainerElement::exitedFullscreen): Ditto.
2266         * html/shadow/MediaControlElements.h:
2267
2268         * html/shadow/MediaControls.cpp:
2269         (WebCore::MediaControls::enteredFullscreen): Call MediaControlTextTrackContainerElement::enteredFullscreen.
2270         (WebCore::MediaControls::exitedFullscreen): Call MediaControlTextTrackContainerElement::exitedFullscreen.
2271
2272 2013-07-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2273
2274         [Qt][WK1] Support direct painting without GraphicsSurface
2275         https://bugs.webkit.org/show_bug.cgi?id=118302
2276
2277         Reviewed by Jocelyn Turcotte.
2278
2279         Configure the WebGL OpenGL context to share texture with
2280         the HostWindow OpenGL if available, and paint accelerated
2281         using the the now shared textures.
2282
2283         This should return the performance without GraphicsSurface
2284         on the WK1 code path to what it was before r135995 (28/11 2012).
2285
2286         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2287         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2288         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2289
2290 2013-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2291
2292         Introduce toSVGUseElement(), use it
2293         https://bugs.webkit.org/show_bug.cgi?id=118942
2294
2295         Reviewed by Allan Sandfeld Jensen.
2296
2297         As a step to change static_cast with toSVGXXX, static_cast<SVGUseElement*> can
2298         be changed with toSVGUseElement().
2299
2300         No new tests, no behavior change.
2301
2302         * dom/EventRetargeter.h:
2303         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
2304         * page/EventHandler.cpp:
2305         (WebCore::instanceAssociatedWithShadowTreeElement):
2306         * rendering/svg/RenderSVGResourceClipper.cpp:
2307         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2308         * rendering/svg/RenderSVGTransformableContainer.cpp:
2309         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
2310         * svg/SVGStyledElement.cpp:
2311         (WebCore::SVGStyledElement::title):
2312         * svg/SVGUseElement.cpp:
2313         (WebCore::dumpInstanceTree):
2314         (WebCore::SVGUseElement::buildInstanceTree):
2315         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2316         * svg/SVGUseElement.h:
2317         (WebCore::toSVGUseElement):
2318
2319 2013-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2320
2321         Use toSVGPathElement() instead of static_cast<>
2322         https://bugs.webkit.org/show_bug.cgi?id=118960
2323
2324         Reviewed by Allan Sandfeld Jensen.
2325
2326         Though there is toSVGPathElement(), some files still use static_cast<SVGPathElement*>.
2327         To remove all static_cast<> use, we need to change argument from SVGElement to Element.
2328
2329         Merge from https://src.chromium.org/viewvc/blink?view=rev&revision=154621
2330
2331         No new tests, no behavior change.
2332
2333         * rendering/svg/RenderSVGTextPath.cpp:
2334         (WebCore::RenderSVGTextPath::layoutPath):
2335         * rendering/svg/SVGPathData.cpp:
2336         (WebCore::updatePathFromPathElement):
2337         * rendering/svg/SVGRenderTreeAsText.cpp:
2338         (WebCore::operator<<):
2339         * svg/SVGMPathElement.cpp:
2340         (WebCore::SVGMPathElement::pathElement):
2341         * svg/SVGPathElement.h:
2342         (WebCore::toSVGPathElement):
2343         * svg/SVGPathSegList.cpp:
2344         (WebCore::SVGPathSegList::commitChange):
2345         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
2346         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
2347         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
2348         (WebCore::SVGPathSegListPropertyTearOff::contextElement):
2349
2350 2013-07-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2351
2352         [Qt] Implement more of DOM3 KeyEvent key-identifiers
2353         https://bugs.webkit.org/show_bug.cgi?id=118566
2354
2355         Reviewed by Jocelyn Turcotte.
2356
2357         Implemented as many of the key values from http://www.w3.org/TR/DOM-Level-3-Events/#key-values-list
2358         as Qt keycodes support.
2359
2360         Also corrected the mapping of the Menu key, which was confused because MENU
2361         is also the ancient Microsoft speak for the Alt keys.
2362
2363         * platform/qt/PlatformKeyboardEventQt.cpp:
2364         (WebCore::keyIdentifierForQtKeyCode):
2365
2366 2013-07-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2367
2368         Introduce toSVGGradientElement(), use it
2369         https://bugs.webkit.org/show_bug.cgi?id=118943
2370
2371         Reviewed by Andreas Kling.
2372
2373         As a step to change static_cast with toSVGXXX, static_cast<SVGGradientElement*> can
2374         be changed with toSVGGradientElement().
2375
2376         No new tests, no behavior change.
2377
2378         * rendering/svg/RenderSVGGradientStop.cpp:
2379         (WebCore::RenderSVGGradientStop::gradientElement):
2380         * rendering/svg/RenderSVGResourceGradient.cpp:
2381         (WebCore::RenderSVGResourceGradient::applyResource):
2382         * rendering/svg/SVGResources.cpp:
2383         (WebCore::targetReferenceFromResource):
2384         * svg/SVGGradientElement.h:
2385         (WebCore::toSVGGradientElement):
2386         * svg/SVGLinearGradientElement.cpp:
2387         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
2388         * svg/SVGRadialGradientElement.cpp:
2389         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2390
2391 2013-07-21  Andreas Kling  <akling@apple.com>
2392
2393         KURL creates duplicate strings when completing data: URIs.
2394         <http://webkit.org/b/118952>
2395         <rdar://problem/14504480>
2396
2397         Reviewed by Anders Carlsson.
2398
2399         When checking if the original URL input string can be reused, compare against the part
2400         of the parsing buffer that we would actually return, not the entire buffer.
2401
2402         632 kB progression on <http://www.nytimes.com/>
2403
2404         Test: KURLTest.KURLDataURIStringSharing
2405
2406         * platform/KURL.cpp:
2407         (WebCore::KURL::parse):
2408
2409 2013-07-20  Benjamin Poulain  <benjamin@webkit.org>
2410
2411         Add ASCIILiteral() on strings allocated often enough to appear in my Instruments
2412         https://bugs.webkit.org/show_bug.cgi?id=118937
2413
2414         Reviewed by Alexey Proskuryakov.
2415
2416         * html/BaseCheckableInputType.cpp:
2417         (WebCore::BaseCheckableInputType::saveFormControlState):
2418         (WebCore::BaseCheckableInputType::fallbackValue):
2419         * html/HTMLTextFormControlElement.cpp:
2420         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
2421         * inspector/InspectorApplicationCacheAgent.cpp:
2422         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
2423         * loader/cache/CachedScript.cpp:
2424         (WebCore::CachedScript::CachedScript):
2425         * platform/network/ResourceRequestBase.h:
2426         (WebCore::ResourceRequestBase::ResourceRequestBase):
2427
2428 2013-07-20  Dean Jackson  <dino@apple.com>
2429
2430         Updated ANGLE is leaking like a sieve
2431         https://bugs.webkit.org/show_bug.cgi?id=118939
2432
2433         Rollout 152863, r152821, r152929 and r152755.
2434
2435         * CMakeLists.txt:
2436
2437 2013-07-19  Jer Noble  <jer.noble@apple.com>
2438
2439         Pagination: Do not paint the baseBackgroundColor if asked to skipRootBackground.
2440         https://bugs.webkit.org/show_bug.cgi?id=118933
2441
2442         Reviewed by Simon Fraser.
2443
2444         Captions rendered through TextTrackRepresentation are rendered with a background
2445         color when in paginated views. Do not fill the paint area with the
2446         baseBackgroundColor when the paint flags include SkipRootBackground.
2447
2448         * rendering/RenderView.cpp:
2449         (WebCore::RenderView::paint):
2450
2451 2013-07-19  Brady Eidson  <beidson@apple.com>
2452
2453         Pages should not be able to abuse users inside beforeunload handlers.
2454         <rdar://problem/14475779> and https://bugs.webkit.org/show_bug.cgi?id=118871.
2455
2456         Reviewed by Alexey Proskuryakov.
2457
2458         Tests: fast/loader/show-only-one-beforeunload-dialog.html
2459                http/tests/misc/iframe-beforeunload-dialog-matching-ancestor-securityorigin.html
2460                http/tests/misc/iframe-beforeunload-dialog-not-matching-ancestor-securityorigin.html
2461
2462         * loader/FrameLoader.cpp:
2463         (WebCore::FrameLoader::FrameLoader):
2464         (WebCore::FrameLoader::shouldClose):
2465         (WebCore::FrameLoader::handleBeforeUnloadEvent):
2466         (WebCore::FrameLoader::shouldCloseFiringBeforeUnloadEvent): Renamed from fireBeforeUnloadEvent.
2467           Add logic to enforce "1 beforeunload dialog per navigation" as well as "iframes can only show beforeunload 
2468           dialogs if their entire ancestry's security origins match the navigating frame."
2469         * loader/FrameLoader.h:
2470         * loader/FrameLoader.h:
2471
2472         Add the ability for Page to know when any frame is dispatching beforeunload:
2473         * page/Page.cpp:
2474         (WebCore::Page::Page):
2475         (WebCore::Page::incrementFrameHandlingBeforeUnloadEventCount):
2476         (WebCore::Page::decrementFrameHandlingBeforeUnloadEventCount):
2477         (WebCore::Page::isAnyFrameHandlingBeforeUnloadEvent):
2478         * page/Page.h:
2479
2480         * page/DOMWindow.cpp:
2481         (WebCore::DOMWindow::print): Disallow if any frame is in beforeunload dispatch.
2482         (WebCore::DOMWindow::alert): Ditto.
2483         (WebCore::DOMWindow::confirm): Ditto.
2484         (WebCore::DOMWindow::prompt): Ditto.
2485         (WebCore::DOMWindow::showModalDialog): Ditto.
2486
2487 2013-07-19  Chris Fleizach  <cfleizach@apple.com>
2488
2489         AX: VoiceOver not detecting misspelled words don't work in all cases
2490         https://bugs.webkit.org/show_bug.cgi?id=118924
2491
2492         Reviewed by Tim Horton.
2493
2494         VoiceOver is now looking for a new misspelled attribute.
2495
2496         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2497         (AXAttributeStringSetSpelling):
2498         (AXAttributedStringAppendText):
2499
2500 2013-07-19  Ryosuke Niwa  <rniwa@webkit.org>
2501
2502         Extract computeRenderStyleForProperty and nodeOrItsAncestorNeedsStyleRecalc from ComputedStyleExtractor::propertyValue
2503         https://bugs.webkit.org/show_bug.cgi?id=118930
2504
2505         Reviewed by Andreas Kling.
2506
2507         Extracted two functions as a preparation to fix bugs 118032 and 118618.
2508
2509         * css/CSSComputedStyleDeclaration.cpp:
2510         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
2511         (WebCore::computeRenderStyleForProperty):
2512         (WebCore::ComputedStyleExtractor::propertyValue):
2513
2514 2013-07-19  Andreas Kling  <akling@apple.com>
2515
2516         Cache style declaration CSSOM wrappers directly on MutableStylePropertySet.
2517         <http://webkit.org/b/118883>
2518
2519         Reviewed by Gavin Barraclough
2520
2521         Merge https://chromium.googlesource.com/chromium/blink/+/183bcd51eb0e79cab930cf46695df05dc793630f
2522         From Blink r153700 by <ager@chromium.org>:
2523
2524         In my measurements the mapping is adding more overhead than just having a field
2525         in all MutableStylePropertySet objects. So this saves memory and makes access
2526         faster.
2527
2528         * css/StylePropertySet.cpp:
2529         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
2530         (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
2531         (WebCore::StylePropertySet::hasCSSOMWrapper):
2532         (WebCore::MutableStylePropertySet::cssStyleDeclaration):
2533         (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
2534         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
2535         * css/StylePropertySet.h:
2536         (WebCore::StylePropertySet::StylePropertySet):
2537
2538 2013-07-19  Brent Fulgham  <bfulgham@apple.com>
2539
2540         [Windows] Avoid passing addresses of temporaries to Windows API.
2541         https://bugs.webkit.org/show_bug.cgi?id=118917
2542
2543         Reviewed by Anders Carlsson.
2544
2545         The temporary Vector returned by String::charactersWithNullTermination
2546         was going out of scope before its first use, causing Windows API to
2547         receive garbage memory.
2548
2549         * platform/win/ContextMenuWin.cpp:
2550         (WebCore::ContextMenu::createPlatformContextMenuFromItems):
2551         * platform/win/PasteboardWin.cpp:
2552         (WebCore::createGlobalHDropContent):
2553         * platform/win/SSLKeyGeneratorWin.cpp:
2554         (WebCore::WebCore::signedPublicKeyAndChallengeString):
2555
2556 2013-07-19  Zoltan Horvath  <zoltan@webkit.org>
2557
2558         [CSS Shapes] Remove lineWithinShapeBounds() from ShapeInfo since it's no longer used
2559         https://bugs.webkit.org/show_bug.cgi?id=118913
2560
2561         Reviewed by Andreas Kling.
2562
2563         No new tests, no behavior change.
2564
2565         * rendering/shapes/ShapeInfo.h: Remove lineWithinShapeBounds().
2566
2567 2013-07-19  Alex Christensen  <achristensen@apple.com>
2568
2569         Added x64 configuration to Visual Studio build.
2570         https://bugs.webkit.org/show_bug.cgi?id=118888
2571
2572         Reviewed by Brent Fulgham.
2573
2574         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
2575         * WebCore.vcxproj/WebCore.vcxproj:
2576         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
2577         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
2578
2579 2013-07-19  Abhijeet Kandalkar  <abhijeet.k@samsung.com>
2580
2581         Spatial Navigation handling of space key in <select> appears to confuse listIndex and optionIndex.
2582         https://bugs.webkit.org/show_bug.cgi?id=99525
2583
2584         HTMLSelect Element inherently contains the logic to focus option node and thus, implementing an explicit logic to find the focus index is not required.
2585
2586         Reviewed by Joseph Pecoraro.
2587
2588         Test: fast/spatial-navigation/snav-multiple-select-optgroup.html
2589
2590         * html/HTMLSelectElement.cpp:
2591         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2592         * page/SpatialNavigation.cpp:
2593         (WebCore::canScrollInDirection):
2594         * rendering/RenderListBox.cpp:
2595         (WebCore::RenderListBox::addFocusRingRects):
2596
2597 2013-07-19  David Hyatt  <hyatt@apple.com>
2598
2599         OSX: ePub: Unable to select text in vertical Japanese book
2600         https://bugs.webkit.org/show_bug.cgi?id=118864
2601         <rdar://problem/14109351>
2602
2603         Reviewed by Dan Bernstein and Sam Weinig.
2604
2605         This patch fixes all of the various writing-mode and pagination combinations
2606         so that the columns are painted in the correct location. The code that sets up
2607         the initial painting translation offset in the block direction and that advances
2608         that offset has been pulled into two helper functions, initialBlockOffsetForPainting
2609         and blockDeltaForPaintingNextColumn, and that code is now shared by the four call
2610         sites that need it (painting and hit testing in RenderBlock and painting and hit testing
2611         in RenderLayer).
2612         
2613         This patch also backs out the maximumScrollPosition change, since it only occurred because
2614         of incorrect sizing of the RenderView, and this sizing issue has now been corrected by
2615         ensuring that computeLogicalHeight() always makes sure you are the size of the viewport
2616         and does not shrink you to the column height.
2617         
2618         There was also a race condition that caused pagination to be incorrect if layout occurred
2619         before the html/body renderer that set the writing-mode were available. When this happened,
2620         the writing mode got propagated up to the view, but the column styles didn't get
2621         adjusted to compensate for the writing mode change.
2622
2623         Added tests for every pagination and writing-mode combination in fast/multicol/pagination.
2624
2625         * css/StyleResolver.cpp:
2626         (WebCore::StyleResolver::styleForDocument):
2627         (WebCore::StyleResolver::adjustRenderStyle):
2628         Move setStylesForPaginationMode into RenderStyle and make it a member function. This is
2629         necessary so that the style can be adjusted dynamically to fix the race condition mentioned
2630         above.
2631
2632         * page/FrameView.cpp:
2633         (WebCore::FrameView::maximumScrollPosition):
2634         Back out this change since the symptom it was fixing only occurred because the logical
2635         height of the view was being set incorrectly.
2636
2637         * rendering/RenderBlock.cpp:
2638         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
2639         Patch the column code that sets up the initial page height to use the pagination API's
2640         page height rather than the viewport logical height. This allows the view to still match
2641         the viewport in dimensions rather than being incorrectly sized to the column height.
2642         
2643         (WebCore::RenderBlock::initialBlockOffsetForPainting):
2644         (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
2645         Two new helper functions used to set up the block direction paint/hit testing translation.
2646         The major bug fix that occurred in this code is that the old block axis code didn't handle
2647         reversal correctly and it also used physical coordinates to try to determine the translation
2648         offset, when you really need to use logical coordinates in the original writing mode coordinate
2649         system to determine the offset.
2650
2651         (WebCore::RenderBlock::paintColumnContents):
2652         Patched to call the new helper functions.
2653
2654         (WebCore::ColumnRectIterator::ColumnRectIterator):
2655         (WebCore::ColumnRectIterator::adjust):
2656         (WebCore::ColumnRectIterator::update):
2657         Patched to call the new helper functions.
2658
2659         * rendering/RenderBlock.h:
2660         Add the two new helper functions to the RenderBlock header.
2661
2662         * rendering/RenderBox.cpp:
2663         (WebCore::RenderBox::styleDidChange):
2664         If the writing mode of the html/body propagates to the viewport and changes its writing mode,
2665         also change our column styles to match if we're in paginated mode.
2666
2667         (WebCore::RenderBox::computeLogicalHeight):
2668         (WebCore::RenderBox::computePercentageLogicalHeight):
2669         Call the new pageOrViewLogicalHeight function on RenderView instead of
2670         RenderBox::viewLogicalHeightForPercentages (which is now removed).
2671
2672         * rendering/RenderLayer.cpp:
2673         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2674         (WebCore::RenderLayer::hitTestChildLayerColumns):
2675         Patched to use the two new helper functions for block direction paint offset setup and
2676         advancement.
2677
2678         * rendering/RenderView.cpp:
2679         (WebCore::RenderView::pageOrViewLogicalHeight):
2680         New helper function that does what viewLogicalHeightForPercentages used to do but also
2681         handles returning the page length for block axis column progression. Again, this is to
2682         allow the view to retain its correct size (matching the viewport).
2683
2684         (WebCore::RenderView::viewLogicalHeight):
2685         Back out the code that made the view grow or shrink to the size of the Pagination API page
2686         length when the progression was block axis. This was the source of most of the scroll origin
2687         and scrolling issues.
2688
2689         * rendering/RenderView.h:
2690         Add the new pageOrViewLogicalHeight() function.
2691
2692         * rendering/style/RenderStyle.cpp:
2693         (WebCore::RenderStyle::setColumnStylesFromPaginationMode):
2694         This is the old StyleResolver function for setting up the column styles. It's in RenderStyle
2695         now so that it can be called at any time to change a style rather than only at style resolution
2696         time.
2697
2698         * rendering/style/RenderStyle.h:
2699         Declaration of the setColumnStylesFromPaginationMode function.
2700
2701 2013-07-19  peavo@outlook.com  <peavo@outlook.com>
2702
2703         [Curl] Http response code 401 (Authentication required) is not handled.
2704         https://bugs.webkit.org/show_bug.cgi?id=118849
2705
2706         Reviewed by Brent Fulgham.
2707
2708         The current Curl implementation does not handle a 401 response.
2709         When receiving http code 401, we need to give a notification that authorization is required, by calling the appropriate notification method.
2710         This gives a WebKit client the possibility to present a password dialog to the user.
2711         In response to this, we should provide Curl with the given username and password, so another request can be sent with the given credentials.
2712
2713         * platform/network/ResourceHandle.h:
2714             Added method to check if credential storage should be used.
2715         * platform/network/ResourceHandleInternal.h:
2716             Added member to keep track of number of authentication failures.
2717         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2718         * platform/network/curl/ResourceHandleCurl.cpp:
2719         (WebCore::ResourceHandle::shouldUseCredentialStorage):
2720             Added method to check if credential storage should be used.
2721         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2722             Implement method; notify client when authentication is required.
2723         (WebCore::ResourceHandle::receivedCredential):
2724             Implement method; provide Curl with password and username when available.
2725         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
2726             Implement method; reset Curl username and password.
2727         (WebCore::ResourceHandle::receivedCancellation):
2728             Implement method; notify client that authorization has been cancelled.
2729         * platform/network/curl/ResourceHandleManager.cpp:
2730         (WebCore::isHttpAuthentication):
2731             Added function to check if http code is an 'Authorization required' code.
2732         (WebCore::getProtectionSpace):
2733             Added function to initialize a protection space object from a Curl handle and a response object. 
2734         (WebCore::headerCallback):
2735             Notify client when authorization is required.
2736         (WebCore::ResourceHandleManager::applyAuthenticationToRequest):
2737             Added method to set Curl username and password.
2738         (WebCore::ResourceHandleManager::initializeHandle):
2739             Use method to set Curl username and password.
2740         * platform/network/curl/ResourceHandleManager.h:
2741             Added method to set Curl username and password.
2742
2743 2013-07-19  Radu Stavila  <stavila@adobe.com>
2744
2745         Hover doesn't work for block elements inside a href element
2746         https://bugs.webkit.org/show_bug.cgi?id=118907
2747
2748         Reviewed by David Hyatt.
2749
2750         Added test for hovering block elements inside a href element.
2751
2752         Test: fast/css/hover-display-block.html
2753
2754         * rendering/RenderObject.cpp:
2755         (WebCore::RenderObject::hoverAncestor):
2756
2757 2013-07-19  Zoltan Horvath  <zoltan@webkit.org>
2758
2759         [CSS Shapes] Clear overflowing line's segments in pushShapeContentOverflowBelowTheContentBox
2760         https://bugs.webkit.org/show_bug.cgi?id=118002
2761
2762         Reviewed by David Hyatt.
2763
2764         When the last line in the shape overlaps with the shape bottom boundaries we need to clear the computed segments. (We need to compute
2765         the segments anyway, since shape-outside's code uses the same code path to determine its segments and the line containing is not a
2766         requirement in that case.) Rather then doing the job in RenderBlock::LineBreaker::nextLineBreak I moved the functionality to its correct
2767         place to pushShapeContentOverflowBelowTheContentBox. Now all the overflow related functionality is located in one function. I fixed the
2768         corresponding layout test.
2769
2770         Tests: I modified shape-inside-overflow.html.
2771
2772         * rendering/RenderBlockLineLayout.cpp:
2773         (WebCore::pushShapeContentOverflowBelowTheContentBox): Remove segments if line overlaps with the shape's boundaries.
2774         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Move segments clear logic to pushShapeContentOverflowBelowContentBox.
2775
2776 2013-07-19  Geoffrey Garen  <ggaren@apple.com>
2777
2778         TrailingObjects shouldn't shrink vector capacity in a loop
2779         https://bugs.webkit.org/show_bug.cgi?id=118322
2780
2781         Reviewed by Darin Adler.
2782
2783         This seems to take about 3% off the profile of loading a large text file.
2784
2785         * rendering/RenderBlockLineLayout.cpp:
2786         (WebCore::TrailingObjects::clear): clear() has the built-in side effect
2787         of throwing away existing capacity. Use shrink(0) to indicate that we
2788         want to keep our existing capacity.
2789
2790 2013-07-19  Diego Pino Garcia  <dpino@igalia.com>
2791
2792         [GTK] Merge decamelizations fix ups in the GObject DOM bindings code generator
2793         https://bugs.webkit.org/show_bug.cgi?id=117543
2794
2795         Reviewed by Carlos Garcia Campos.
2796
2797         Ensure that all the code that calls to decamelize() applies the same fix ups
2798
2799         Now all functions that need to decamelize a string should simply call
2800         to decamelize(). This function calls to FixUpDecamelize to apply some
2801         fix ups.
2802
2803         * bindings/scripts/CodeGeneratorGObject.pm:
2804         (decamelize): decamelizes a string and applies fix ups
2805         (FixUpDecamelize): applies a series of fix ups to a decamelized string
2806         (GetParentGObjType): moved fix ups to FixUpDecamelize()
2807         (GenerateProperties): simply call to decamelize
2808         (GenerateHeader): simply call to decamelize
2809         (GetGReturnMacro): simply call to decamelize
2810         (GenerateFunction): simply call to decamelize
2811         (GenerateCFile): simply call to decamelize
2812         (GenerateEventTargetIface): simply call to decamelize
2813
2814 2013-07-19  Kwang Yul Seo  <skyul@company100.net>
2815
2816         Unreviewed.
2817
2818         Fix an assertion failure which causes debug bots to fail.
2819
2820         * platform/network/NetworkStateNotifier.cpp:
2821         (WebCore::NetworkStateNotifier::addNetworkStateChangeListener):
2822
2823 2013-07-19  Miguel Gomez  <magomez@igalia.com>
2824
2825         [GTK] media/video-seek-multiple.html is failing
2826         https://bugs.webkit.org/show_bug.cgi?id=117580
2827
2828         Reviewed by Philippe Normand.
2829
2830         When receiving several seek calls in a row, ensure that the final position
2831         is the one requested in the last call received.
2832
2833         Already covered in test media/video-seek-multiple.html
2834
2835         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2836         (WebCore::MediaPlayerPrivateGStreamer::seek):
2837
2838 2013-07-19  Kangil Han  <kangil.han@samsung.com>
2839
2840         Use explicit HTMLFrameElementBase cast and introduce toHTMLFrameElementBase
2841         https://bugs.webkit.org/show_bug.cgi?id=118873
2842
2843         Reviewed by Ryosuke Niwa.
2844
2845         It should be HTMLFrameElementBase that embraces both HTMLFrameElement and HTMLIFrameElement.
2846         This also makes correct toFooElement possible.
2847         Next, to avoid direct use of static_cast, this patch introduces toHTMLFrameElementBase for code cleanup.
2848
2849         * editing/FrameSelection.cpp:
2850         (WebCore::scanForForm):
2851         * html/HTMLBodyElement.cpp:
2852         (WebCore::HTMLBodyElement::didNotifySubtreeInsertions):
2853         * html/HTMLFrameElementBase.h:
2854         (WebCore::toHTMLFrameElementBase):
2855         * loader/SubframeLoader.cpp:
2856         (WebCore::SubframeLoader::loadSubframe):
2857         * page/EventHandler.cpp:
2858         (WebCore::targetIsFrame):
2859         * page/FrameView.cpp:
2860         (WebCore::FrameView::init):
2861         * rendering/RenderFrameBase.cpp:
2862         (WebCore::RenderFrameBase::layoutWithFlattening):
2863         * rendering/RenderLayer.cpp:
2864         (WebCore::frameElementAndViewPermitScroll):
2865         (WebCore::RenderLayer::scrollRectToVisible):
2866
2867 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2868
2869         Bindings generation tests are failing
2870         https://bugs.webkit.org/show_bug.cgi?id=118877
2871
2872         Reviewed by Kentaro Hara.
2873
2874         I inadvertently removed the wrong part of the if statement
2875         in r152845, causing hasAttribute() to be used unconditionally
2876         for reflected boolean attributes instead of fastHasAttribute().
2877         This patch fixes the issue.
2878
2879         No new tests, covered by bindings tests.
2880
2881         * bindings/scripts/CodeGenerator.pm:
2882         (GetterExpression):
2883
2884 2013-07-18  Kwang Yul Seo  <skyul@company100.net>
2885
2886         WorkerGlobalScope should support onoffline/ononline event handlers
2887         https://bugs.webkit.org/show_bug.cgi?id=118832
2888
2889         Reviewed by Alexey Proskuryakov.
2890
2891         HTML5 spec says that WorkerGlobalScope should support
2892         onoffline/ononline event handlers as stated in
2893         http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#event-offline
2894
2895         Modified NetworkStateNotifier to support multiple callbacks and added a
2896         callback to dispatch offline and online events to WorkerGlobalScope
2897         when network state is changed.
2898
2899         No new test because the current test infrastructure does not provide a
2900         mock network state notifier.
2901
2902         * page/Page.cpp:
2903         (WebCore::networkStateChanged):
2904         Change the function to take an additional argument, isOnLine so that we
2905         can remove a call to NetworkStateNotifier::onLine().
2906         (WebCore::Page::Page):
2907         Use NetworkStateNotifier::addNetworkStateChangeListener which
2908         allows us to add multiple callbacks.
2909
2910         * platform/network/NetworkStateNotifier.cpp:
2911         (WebCore::NetworkStateNotifier::addNetworkStateChangeListener):
2912         Replace NetworkStateNotifier::setNetworkStateChangedFunction with
2913         NetworkStateNotifier::addNetworkStateChangeListener.
2914         (WebCore::NetworkStateNotifier::notifyNetworkStateChange):
2915         A helper method to notify all registered network state change
2916         callbacks.
2917         * platform/network/NetworkStateNotifier.h:
2918         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2919         * platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp:
2920         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2921         (WebCore::NetworkStateNotifier::networkStateChange):
2922         * platform/network/efl/NetworkStateNotifierEfl.cpp:
2923         (WebCore::NetworkStateNotifier::networkInterfaceChanged):
2924         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2925         * platform/network/mac/NetworkStateNotifierMac.cpp:
2926         (WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
2927         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2928         * platform/network/qt/NetworkStateNotifierQt.cpp:
2929         (WebCore::NetworkStateNotifier::updateState):
2930         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2931         * platform/network/win/NetworkStateNotifierWin.cpp:
2932         (WebCore::NetworkStateNotifier::addressChanged):
2933         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2934         Replace m_networkStateChangedFunction() with notifyNetworkStateChange().
2935
2936         * workers/Worker.cpp:
2937         (WebCore::networkStateChanged):
2938         Notify network state change by iterating all Workers.
2939         (WebCore::Worker::Worker):
2940         Initialize allWorkers and add networkStateChanged to
2941         NetworkStateNotifier in first invocation. Add this Worker to
2942         allWorkers.
2943         (WebCore::Worker::~Worker):
2944         Remove this Worker from allWorkers.
2945         (WebCore::Worker::notifyNetworkStateChange):
2946         * workers/Worker.h:
2947         * workers/WorkerGlobalScope.h:
2948         Add onoffline and ononline event handlers.
2949         * workers/WorkerGlobalScope.idl:
2950         Add onoffline and ononline event handlers
2951         * workers/WorkerGlobalScopeProxy.h:
2952
2953         * workers/WorkerMessagingProxy.cpp:
2954         (WebCore::NotifyNetworkStateChangeTask::create):
2955         (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask):
2956         (WebCore::NotifyNetworkStateChangeTask::performTask):
2957         A subclass of ScriptExecutionContext::Task to dispatch offline and
2958         online events to WorkerGlobalScope.
2959         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
2960         Notify network state change using ScriptExecutionContext::postTask to
2961         dispatch events across threads.
2962         * workers/WorkerMessagingProxy.h:
2963
2964 2013-07-18  Ryosuke Niwa  <rniwa@webkit.org>
2965
2966         Build fix after r152876.
2967
2968         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2969         (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
2970
2971 2013-07-18  Brent Fulgham  <bfulgham@apple.com>
2972
2973         [Media] Share more code between Mac and Windows implementation files.
2974         https://bugs.webkit.org/show_bug.cgi?id=118801
2975
2976         Reviewed by Eric Carlson.
2977
2978         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2979         (WebCore::MediaPlayerPrivateAVFoundation::clearTextTracks): Move
2980         implementation from ObjC file to parent file.
2981         (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
2982         Ditto.
2983         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2984         Remove duplicate implementation.
2985         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2986         Ditto.
2987         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2988         Ditto.
2989         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2990         Ditto.
2991         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2992         Ditto.
2993
2994 2013-07-18  Alex Christensen  <achristensen@apple.com>
2995
2996         Fixed compile errors for non-Cairo platforms using EGL.
2997         https://bugs.webkit.org/show_bug.cgi?id=118536
2998
2999         Reviewed by Brent Fulgham.
3000
3001         * platform/graphics/egl/GLContextEGL.cpp: Added #if USE(CAIRO) around cairo.h.
3002         (WebCore::GLContextEGL::~GLContextEGL): Added #if USE(CAIRO) around cairo_device_destroy call. 
3003
3004 2013-07-18  Jer Noble  <jer.noble@apple.com>
3005
3006         New PDFPlugin doesn't support WebKitOmitPDFSupport, acts as if Plug-ins are off
3007         https://bugs.webkit.org/show_bug.cgi?id=118858
3008
3009         Reviewed by Eric Carlson.
3010
3011         Expand the scope of rejecting non video/ or audio/ MIME types when
3012         filling the MIME type cache.
3013
3014         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3015         (WebCore::shouldRejectMIMEType): Added utility function.
3016
3017 2013-07-17  Brent Fulgham  <bfulgham@apple.com>
3018
3019         [Windows] Support in-band text tracks.
3020         https://bugs.webkit.org/show_bug.cgi?id=103770
3021
3022         Reviewed by Eric Carlson.
3023
3024         Existing media tests cover these features.
3025
3026         * WebCore.vcxproj/WebCore.vcxproj: Add new files for Windows captions
3027         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
3028         * config.h: Make sure proper buid flags are turned on when building
3029         with AVCF_LEGIBLE_OUTPUT.
3030         * page/CaptionUserPreferencesMediaAF.cpp: Revise to reduce soft linking
3031         duplication between Mac and Windows.
3032         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Update
3033         to support Windows platform by removing compiler guards and adding
3034         Windows declarations for soft-link functions.
3035         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Ditto.
3036         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3037         Remove build guards preventing Windows from using LegibleOutput
3038         features.
3039         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
3040         (WebCore::MediaPlayerPrivateAVFoundation::seek):
3041         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
3042         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
3043         (WebCore::MediaPlayerPrivateAVFoundation::trackModeChanged):
3044         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3045         (WebCore::MediaPlayerPrivateAVFoundation::contentsNeedsDisplay): Ditto
3046         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:
3047         Add new LegibleOutput support functions, and try to reduce duplication
3048         between Windows and Mac soft link declarations.
3049         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Ditto.
3050         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp: Added.
3051         (WebCore::InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF):
3052         (WebCore::InbandTextTrackPrivateAVCF::disconnect):
3053         (WebCore::InbandTextTrackPrivateAVCF::kind):
3054         (WebCore::InbandTextTrackPrivateAVCF::isClosedCaptions):
3055         (WebCore::InbandTextTrackPrivateAVCF::isSDH):
3056         (WebCore::InbandTextTrackPrivateAVCF::containsOnlyForcedSubtitles):
3057         (WebCore::InbandTextTrackPrivateAVCF::isMainProgramContent):
3058         (WebCore::InbandTextTrackPrivateAVCF::isEasyToRead):
3059         (WebCore::InbandTextTrackPrivateAVCF::label):
3060         (WebCore::InbandTextTrackPrivateAVCF::language):
3061         (WebCore::InbandTextTrackPrivateAVCF::isDefault):
3062         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: Added.
3063         (WebCore::InbandTextTrackPrivateAVCF::create):
3064         (WebCore::InbandTextTrackPrivateAVCF::~InbandTextTrackPrivateAVCF):
3065         (WebCore::InbandTextTrackPrivateAVCF::mediaSelectionOption):
3066         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp: Added.
3067         (WebCore::InbandTextTrackPrivateLegacyAVCF::InbandTextTrackPrivateLegacyAVCF):
3068         (WebCore::InbandTextTrackPrivateLegacyAVCF::disconnect):
3069         (WebCore::InbandTextTrackPrivateLegacyAVCF::kind):
3070         (WebCore::InbandTextTrackPrivateLegacyAVCF::isClosedCaptions):
3071         (WebCore::InbandTextTrackPrivateLegacyAVCF::containsOnlyForcedSubtitles):
3072         (WebCore::InbandTextTrackPrivateLegacyAVCF::isMainProgramContent):
3073         (WebCore::InbandTextTrackPrivateLegacyAVCF::isEasyToRead):
3074         (WebCore::InbandTextTrackPrivateLegacyAVCF::label):
3075         (WebCore::InbandTextTrackPrivateLegacyAVCF::language):
3076         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h: Added.
3077         (WebCore::InbandTextTrackPrivateLegacyAVCF::create):
3078         (WebCore::InbandTextTrackPrivateLegacyAVCF::~InbandTextTrackPrivateLegacyAVCF):
3079         (WebCore::InbandTextTrackPrivateLegacyAVCF::avPlayerItemTrack):
3080         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3081         Update to support LegibleOutput features for the Windows port.
3082         (WebCore::AVFWrapper::currentTrack): Added.
3083         (WebCore::AVFWrapper::legibleOutput): Added.
3084         (WebCore::createMetadataKeyNames): Added missing key names.
3085         (WebCore::avLegibleOutput): Added.
3086         (WebCore::safeMediaSelectionGroupForLegibleMedia): Added.
3087         (WebCore::MediaPlayerPrivateAVFoundationCF::cancelLoad): Clear text
3088         tracks when cancelling.
3089         (WebCore::MediaPlayerPrivateAVFoundationCF::setCurrentTrack): Added.
3090         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTrack): Added.
3091         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration): Revised
3092         to match logic in Objective C implementation.
3093         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime): Revised
3094         to match logic in Objective C implementation.
3095         (WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext):
3096         Check presence of metadata before proceeding. Revised to match logic
3097         in Objective C implementation.
3098         (WebCore::MediaPlayerPrivateAVFoundationCF::paint): Ditto.
3099         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged): Update for
3100         in-band text tracks.
3101         (WebCore::MediaPlayerPrivateAVFoundationCF::clearTextTracks): Added.
3102         (WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
3103         Added.
3104         (WebCore::MediaPlayerPrivateAVFoundationCF::processNewAndRemovedTextTracks):
3105         Added.
3106         (WebCore::MediaPlayerPrivateAVFoundationCF::processMediaSelectionOptions):
3107         Added.
3108         (WebCore::AVFWrapper::setCurrentTrack): Added.
3109         (WebCore::MediaPlayerPrivateAVFoundationCF::languageOfPrimaryAudioTrack):
3110         Added.
3111         (WebCore::AVFWrapper::AVFWrapper): Add new initializers.
3112         (WebCore::AVFWrapper::~AVFWrapper): Clean up text track information.
3113         (WebCore::AVFWrapper::createPlayer): Add Legible Output support.
3114         (WebCore::AVFWrapper::createPlayerItem): Ditto.
3115         (WebCore::LegibleOutputData::LegibleOutputData): Added.
3116         (WebCore::AVFWrapper::processCue): Added.
3117         (WebCore::AVFWrapper::legibleOutputCallback): Added.
3118         (WebCore::AVFWrapper::safeMediaSelectionGroupForLegibleMedia): Added.
3119         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
3120         Update to support LegibleOutput features for the Windows port.
3121         * platform/win/SoftLinking.h: Change signature of variable accessor
3122         to match Mac so reduce duplicate code.
3123
3124 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3125
3126         Make atob() / btoa() argument non optional
3127         https://bugs.webkit.org/show_bug.cgi?id=118844
3128
3129         Reviewed by Kentaro Hara.
3130
3131         According to the latest specification, the argument to atob() / btoa()
3132         should not be optional:
3133         http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#windowbase64
3134
3135         This patch makes WebKit behave according to the specification. The argument
3136         is also mandatory in Firefox, IE10 and Blink.
3137
3138         atob() / btoa() are also moved to their own WindowBase64 interface which
3139         the Window interface implements. This does not change the behavior but
3140         this is closer to the specification and it will make exposing those
3141         methods to workers easier later on.
3142
3143         No new tests, already covered by:
3144         fast/dom/Window/atob-btoa.html
3145
3146         * CMakeLists.txt:
3147         * DerivedSources.make:
3148         * DerivedSources.pri:
3149         * GNUmakefile.list.am:
3150         * page/DOMWindow.idl:
3151         * page/WindowBase64.idl: Added.
3152
3153 2013-07-18  Antoine Quint  <graouts@apple.com>
3154
3155         Crash in WebCore::createMarkup()
3156         https://bugs.webkit.org/show_bug.cgi?id=118847
3157
3158         Reviewed by Ryosuke Niwa.
3159
3160         Also check that we have a containingBlock() for the renderer() so that we
3161         may safely call node() on it.
3162
3163         * editing/markup.cpp:
3164         (WebCore::highestAncestorToWrapMarkup):
3165
3166 2013-07-18  Praveen R Jadhav  <praveen.j@samsung.com>
3167
3168         Only the first call to 'stop' method of AudioBufferSourceNode must be entertained.
3169         https://bugs.webkit.org/show_bug.cgi?id=118776
3170
3171         Reviewed by Jer Noble.
3172
3173         Subsequent calls to 'stop' for a AudioSourceBufferNode throws an exception.
3174         End time set by first 'stop' method is used for processing.
3175
3176         No new tests. audiobuffersource-exception.html is updated.
3177
3178         * Modules/webaudio/AudioScheduledSourceNode.cpp:
3179         (WebCore::AudioScheduledSourceNode::stop):
3180
3181 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3182
3183         Simplify SVG animated type handling in the JSC bindings generator
3184         https://bugs.webkit.org/show_bug.cgi?id=118845
3185
3186         Reviewed by Kentaro Hara.
3187
3188         Simplify IsSVGAnimatedType subroutine in the bindings generator so that
3189         we no longer need to hardcode SVG animated types. Also remove the
3190         CanUseFastAttribute subroutine as it is equivalent to IsSVGAnimatedType.
3191         This allows us to simplify the GetterExpression subroutine so that
3192         we can use fastHasAttribute() unconditionally for boolean type.
3193
3194         No new tests, no behavior change.
3195
3196         * bindings/scripts/CodeGenerator.pm:
3197         (IsSVGAnimatedType):
3198         (GetterExpression):
3199
3200 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3201
3202         Use [ImplementedAs] instead of special casing in the bindings generators
3203         https://bugs.webkit.org/show_bug.cgi?id=118848
3204
3205         Reviewed by Kentaro Hara.
3206
3207         In several instances, special casing were used in the bindings generator to avoid
3208         name clashes in the implementation. The [ImplementedBy] IDL extended attribute is
3209         meant to solve this issue so we now use it instead.
3210
3211         No new tests, no behavior change.
3212
3213         * bindings/scripts/CodeGenerator.pm:
3214         (WK_ucfirst):
3215         (AttributeNameForGetterAndSetter):
3216         * bindings/scripts/CodeGeneratorJS.pm:
3217         (GenerateImplementation):
3218         (NativeToJSValue):
3219         * bindings/scripts/CodeGeneratorObjC.pm:
3220         (GenerateHeader):
3221         (GenerateImplementation):
3222         * svg/SVGAElement.idl:
3223         * svg/SVGFECompositeElement.cpp:
3224         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
3225         (WebCore::SVGFECompositeElement::parseAttribute):
3226         (WebCore::SVGFECompositeElement::setFilterEffectAttribute):
3227         (WebCore::SVGFECompositeElement::build):
3228         * svg/SVGFECompositeElement.h:
3229         * svg/SVGFECompositeElement.idl:
3230         * svg/SVGFEMorphologyElement.cpp:
3231         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
3232         (WebCore::SVGFEMorphologyElement::parseAttribute):
3233         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
3234         (WebCore::SVGFEMorphologyElement::build):
3235         * svg/SVGFEMorphologyElement.h:
3236         * svg/SVGFEMorphologyElement.idl:
3237         * svg/SVGTransform.cpp:
3238         (WebCore::SVGTransform::updateSVGMatrix):
3239         * svg/SVGTransform.h:
3240         * svg/SVGTransform.idl:
3241
3242 2013-07-18  Zalan Bujtas  <zalan@apple.com>
3243
3244         Incorrect calculated width for mspace.
3245         https://bugs.webkit.org/show_bug.cgi?id=118601
3246
3247         Reviewed by Chris Fleizach.
3248
3249         Use intrinsic logical widths to size <mspace> properly.
3250         This patch also fixes an assert on isPreferredLogicalHeightDirty() which occurs
3251         while layouting <mspace>. The assert fix is required, so that the sizing can be
3252         fixed.
3253
3254         Test: mathml/presentation/mspace-prefered-width.html
3255
3256         * rendering/mathml/RenderMathMLBlock.cpp:
3257         (WebCore::parseMathMLLength): switch to LayoutUnits.
3258         (WebCore::parseMathMLNamedSpace): switch to LayoutUnits.
3259         * rendering/mathml/RenderMathMLBlock.h:
3260         * rendering/mathml/RenderMathMLFraction.cpp:
3261         (WebCore::RenderMathMLFraction::updateFromElement):
3262         * rendering/mathml/RenderMathMLFraction.h:
3263         * rendering/mathml/RenderMathMLSpace.cpp:
3264         (WebCore::RenderMathMLSpace::computeIntrinsicLogicalWidths):
3265         * rendering/mathml/RenderMathMLSpace.h:
3266
3267 2013-07-18  Ryosuke Niwa  <rniwa@webkit.org>
3268
3269         willWriteSelectionToPasteboard and willPerformDragSourceAction editing callbacks are not called for drag and drop
3270         https://bugs.webkit.org/show_bug.cgi?id=118828
3271
3272         Reviewed by Gavin Barraclough.
3273
3274         Call these two callbacks when we start a drag and drop.
3275
3276         No new tests for now but we should start logging these callbacks in DRT and WTR's EditorClients.
3277
3278         * page/DragController.cpp:
3279         (WebCore::DragController::startDrag):
3280
3281 2013-07-18  Santosh Mahto  <santosh.ma@samsung.com>
3282
3283         ASSERTION FAILED: !listItems().size() || m_activeSelectionAnchorIndex >= 0 in WebCore::HTMLSelectElement::updateListBoxSelection
3284         https://bugs.webkit.org/show_bug.cgi?id=118591
3285
3286         Reviewed by Kent Tamura.
3287
3288         Test: fast/forms/select/selectall-command-crash.html
3289
3290         * html/HTMLSelectElement.cpp:
3291         (WebCore::HTMLSelectElement::selectAll):
3292         We should return this function if activeSelectionAnchorIndex is not valid index
3293
3294 2013-07-18  Ryuan Choi  <ryuan.choi@samsung.com>
3295
3296         [EFL] Refactor spin.edc not to use offset
3297         https://bugs.webkit.org/show_bug.cgi?id=118830
3298
3299         Reviewed by Gyuyoung Kim.
3300
3301         EDJE allows offset to specify the pixel based position,
3302         but it's not good way if you want to locate object like arrow top or bottom.
3303
3304         Instead, this patch uses align property.
3305
3306         * platform/efl/DefaultTheme/widget/spinner/spinner.edc:
3307
3308 2013-07-18  Nick Diego Yamane  <nick.yamane@openbossa.org>
3309
3310         [gstreamer] Avoid calls to g_slist_index in webKitWebAudioSrcLoop()
3311         https://bugs.webkit.org/show_bug.cgi?id=118827
3312
3313         Reviewed by Philippe Normand.
3314
3315         webKitWebAudioSrcLoop() currently calls g_slist_index for each element 
3316         to get its index in a list it's iterating over. g_list_index function uses
3317         a sequential search to find that element, which is clearly unecessary.
3318         This patch adds a local variable to store the current index and use it 
3319         instead of calling g_slist_index function.
3320
3321         No new tests, no behavior changes.
3322
3323         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3324         (webKitWebAudioSrcLoop):
3325
3326 2013-07-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3327
3328         Introduce toSVGInlineFlowBox() and use it
3329         https://bugs.webkit.org/show_bug.cgi?id=118794
3330
3331         Reviewed by Andreas Kling.
3332
3333         As a step to change static_cast with toSVGXXX, static_cast<SVGInlineFlowBox*> can
3334         be changed with toSVGInlineFlowBox().
3335
3336         Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=154385
3337
3338         No new tests, no behavior change.
3339
3340         * rendering/svg/SVGInlineFlowBox.cpp:
3341         (WebCore::SVGInlineFlowBox::paintSelectionBackground):
3342         * rendering/svg/SVGInlineFlowBox.h:
3343         (WebCore::toSVGInlineFlowBox):
3344         * rendering/svg/SVGRootInlineBox.cpp:
3345         (WebCore::SVGRootInlineBox::paint):
3346         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
3347         (WebCore::SVGRootInlineBox::layoutChildBoxes):
3348
3349 2013-07-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3350
3351         Use toSVGMarkerElement() instead of static_cast<>
3352         https://bugs.webkit.org/show_bug.cgi?id=118800
3353
3354         Reviewed by Andreas Kling.
3355
3356         Though there is toSVGMarkerElement(), some files still use static_cast<SVGMarkerElement*>.
3357         To remove all static_cast<> use, we need to change argument from SVGElement to Node.
3358
3359         No new tests, no behavior changes.
3360
3361         * rendering/svg/RenderSVGResourceMarker.cpp:
3362         (WebCore::RenderSVGResourceMarker::referencePoint):
3363         (WebCore::RenderSVGResourceMarker::angle):
3364         (WebCore::RenderSVGResourceMarker::markerTransformation):
3365         (WebCore::RenderSVGResourceMarker::viewportTransform):
3366         (WebCore::RenderSVGResourceMarker::calcViewport):
3367         * rendering/svg/RenderSVGResourceMarker.h:
3368         (WebCore::RenderSVGResourceMarker::markerUnits):
3369         * svg/SVGMarkerElement.h:
3370         (WebCore::toSVGMarkerElement):
3371
3372 2013-07-17  Jacky Jiang  <zhajiang@blackberry.com>
3373
3374         Dereference null pointer crash in Length::decrementCalculatedRef()
3375         https://bugs.webkit.org/show_bug.cgi?id=118686
3376
3377         Reviewed by Simon Fraser.
3378
3379         Length(Calculated) won't insert any CalculationValue to CalculationValueHandleMap;
3380         therefore, we dereference null CalculationValue pointer when the temporary
3381         Length object goes out of the scope.
3382         Length(Calculated) is not allowed as it doesn't make sense that we construct
3383         a Calculated Length object with uninitialized calc expression.
3384         The code just wants to blend with zero. To fix the bug, we can just blend
3385         with Length(0, Fixed) here as we currently can blend different type units
3386         and zero has the same behavior regardless of unit.
3387
3388         Test: transitions/transition-transform-translate-calculated-length-crash.html
3389
3390         * platform/graphics/transforms/TranslateTransformOperation.cpp:
3391         (WebCore::TranslateTransformOperation::blend):
3392
3393 2013-07-17  Tim Horton  <timothy_horton@apple.com>
3394
3395         Update blocked/missing plug-in UI
3396         https://bugs.webkit.org/show_bug.cgi?id=118347
3397         <rdar://problem/14209318>
3398
3399         Reviewed by Sam Weinig.
3400
3401         * WebCore.exp.in:
3402         Export RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription.
3403
3404         * rendering/RenderEmbeddedObject.cpp:
3405         (WebCore::replacementTextRoundedRectPressedColor):
3406         (WebCore::replacementTextRoundedRectColor):
3407         (WebCore::replacementTextColor):
3408         Change colors to new design and add some more constants.
3409
3410         (WebCore::shouldUnavailablePluginMessageBeButton): Added.
3411
3412         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Added.
3413         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
3414         Call through to the -WithDescription variant.
3415
3416         (WebCore::RenderEmbeddedObject::paintReplaced):
3417         Fill the background, and otherwise match the new design.
3418
3419         (WebCore::addReplacementArrowPath):
3420         Add an arrow to the given path, inside the given rect.
3421
3422         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
3423         Add a 1px padding to the bottom of the text.
3424         Add a circle and an arrow into the indicator as per the new design.
3425
3426         (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
3427         Hit-test the indicator arrow as well; otherwise, the fact that the arrow
3428         is a hole in the path means it won't be hit.
3429
3430         * rendering/RenderEmbeddedObject.h:
3431
3432 2013-07-17  Commit Queue  <commit-queue@webkit.org>
3433
3434         Unreviewed, rolling out r152701, r152703, r152739, r152754,
3435         and r152756.
3436         http://trac.webkit.org/changeset/152701
3437         http://trac.webkit.org/changeset/152703
3438         http://trac.webkit.org/changeset/152739
3439         http://trac.webkit.org/changeset/152754
3440         http://trac.webkit.org/changeset/152756
3441         https://bugs.webkit.org/show_bug.cgi?id=118821
3442
3443         this was a buggy fix and we're going to try something
3444         different (Requested by thorton on #webkit).
3445
3446         * CMakeLists.txt:
3447         * DerivedSources.make:
3448         * DerivedSources.pri:
3449         * GNUmakefile.am:
3450         * WebCore.exp.in:
3451         * WebCore.vcxproj/WebCore.vcxproj:
3452         * WebCore.vcxproj/WebCore.vcxproj.filters:
3453         * WebCore.xcodeproj/project.pbxproj:
3454         * css/CSSDefaultStyleSheets.cpp:
3455         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
3456         * css/unavailablePlugIns.css: Removed.
3457         * dom/EventListener.h:
3458         * html/HTMLAppletElement.cpp:
3459         (WebCore::HTMLAppletElement::updateWidget):
3460         * html/HTMLPlugInElement.cpp:
3461         (WebCore::HTMLPlugInElement::defaultEventHandler):
3462         * html/HTMLPlugInImageElement.cpp:
3463         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3464         * loader/SubframeLoader.cpp:
3465         (WebCore::SubframeLoader::createJavaAppletWidget):