Even more Windows build fix and a Qt minimal build fix attempt.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Even more Windows build fix and a Qt minimal build fix attempt.
4
5         * html/parser/XSSAuditorDelegate.cpp:
6         * page/win/FrameCGWin.cpp:
7
8 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
9
10         More Windows build fixes.
11
12         * platform/win/DragDataWin.cpp:
13         * platform/win/PasteboardWin.cpp:
14
15 2013-04-16  Sam Weinig  <sam@webkit.org>
16
17         Windows build fix.
18
19         * page/win/FrameWin.cpp:
20
21 2013-04-16  Dean Jackson  <dino@apple.com>
22
23         PlugIns that resize in user gestures should be immune to snapshotting
24         https://bugs.webkit.org/show_bug.cgi?id=114697
25         <rdar://problem/13666258>
26
27         Reviewed by Tim Horton.
28
29         Now that we snapshot plugins if they resize above the snapshotting threshold,
30         we need to make sure that we don't do it in response to a user gesture
31         such as a click.
32
33         Due to the complexities of real-world content and the way they often do
34         things using timeout, I copied the code from the generic user gesture
35         timeout, which gives a 5 second grace period after clicks.
36
37         * html/HTMLPlugInImageElement.cpp:
38         (WebCore::documentHadRecentUserGesture): New static function to share the code for
39             checking the time since the last click (or whatever).
40         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): Make sure
41             to test for a user gesture.
42         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Move the
43             code into the new function.
44
45 2013-04-15  Sam Weinig  <sam@webkit.org>
46
47         Remove more #includes from Frame.h
48         https://bugs.webkit.org/show_bug.cgi?id=114642
49
50         Reviewed by Anders Carlsson.
51
52         Convert Editor, FrameSelection, EventHandler and AnimationController into
53         OwnPtrs, to avoid inclusion.
54
55         * accessibility/AXObjectCache.cpp:
56         * accessibility/AccessibilityObject.cpp:
57         * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
58         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
59         * bindings/objc/DOM.mm:
60         * dom/CharacterData.cpp:
61         * dom/ContainerNode.cpp:
62         * dom/Element.cpp:
63         * editing/AlternativeTextController.cpp:
64         * editing/CompositeEditCommand.cpp:
65         * editing/DeleteButtonController.h:
66         * editing/EditingStyle.cpp:
67         * editing/InsertLineBreakCommand.cpp:
68         * editing/SpellChecker.cpp:
69         * editing/SpellingCorrectionCommand.cpp:
70         * editing/TextInsertionBaseCommand.cpp:
71         * history/CachedFrame.cpp:
72         * html/HTMLAnchorElement.cpp:
73         * html/HTMLInputElement.cpp:
74         * html/HTMLPlugInElement.cpp:
75         * html/HTMLSelectElement.cpp:
76         * html/HTMLTextAreaElement.cpp:
77         * html/HTMLTextFormControlElement.cpp:
78         * html/TextFieldInputType.cpp:
79         * html/shadow/ClearButtonElement.cpp:
80         * html/shadow/MediaControlElements.cpp:
81         * html/shadow/SliderThumbElement.cpp:
82         * inspector/InspectorPageAgent.h:
83         * loader/FrameLoader.cpp:
84         * page/DOMWindow.cpp:
85         * page/Frame.cpp:
86         * page/Frame.h:
87         * page/FrameView.cpp:
88         * page/FrameView.h:
89         * page/Page.cpp:
90         * page/TouchAdjustment.cpp:
91         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
92         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
93         * platform/gtk/PasteboardGtk.cpp:
94         * platform/qt/ClipboardQt.cpp:
95         * rendering/HitTestResult.cpp:
96         * rendering/RenderBlock.cpp:
97         * rendering/RenderEmbeddedObject.cpp:
98         * rendering/RenderLayer.cpp:
99         * rendering/RenderNamedFlowThread.cpp:
100         * rendering/RenderObject.cpp:
101         * rendering/RenderSnapshottedPlugIn.cpp:
102         * svg/graphics/SVGImage.cpp:
103         * testing/Internals.cpp:
104
105 2013-04-16  Jessie Berlin  <jberlin@apple.com>
106
107         Speculative Windows build fix.
108
109         * platform/win/ContextMenuWin.cpp:
110
111 2013-04-16  Eric Carlson  <eric.carlson@apple.com>
112
113         [Mac] in-band cues sometimes displayed late
114         https://bugs.webkit.org/show_bug.cgi?id=114629
115
116         Reviewed by Jer Noble.
117
118         No new tests, this deals with a platform-specific issue that is extremely timing dependent.
119
120         * html/track/InbandTextTrack.cpp:
121         (WebCore::TextTrackCueMap::add): New, two way cue data <-> cue map.
122         (WebCore::TextTrackCueMap::find): 
123         (WebCore::TextTrackCueMap::remove):
124         (WebCore::InbandTextTrack::updateCueFromCueData): New, update an existing cue. Set cue end time
125             to video duration if it is unknown.
126         (WebCore::InbandTextTrack::addGenericCue): Look for existing cues without considering duration
127             so we can match incomplete cues.
128         (WebCore::InbandTextTrack::updateGenericCue): New, update an existing cue. This allows us to 
129             add in-band cues as soon as we get them from the media engine and update them as more
130             information becomes available.
131         (WebCore::InbandTextTrack::removeGenericCue): New, remove an existing cue. This is necessary
132             because we never want to keep an incomplete cue when a seek happens.
133         (WebCore::InbandTextTrack::removeCue): New, base class override so we can keep the two way
134             map up to date.
135         * html/track/InbandTextTrack.h:
136
137         * html/track/TextTrack.cpp:
138         (WebCore::TextTrack::addCue): TextTrack::removeCue takes a RefPtr.
139         (WebCore::TextTrack::removeCue): Take a RefPtr.
140         (WebCore::TextTrack::hasCue): Allow caller to request match without considering end time.
141         * html/track/TextTrack.h:
142
143         * html/track/TextTrackCue.cpp:
144         (WebCore::TextTrackCue::TextTrackCue): Initialize m_processingCueChanges.
145         (WebCore::TextTrackCue::willChange): Renamed from cueWillChange. Use m_processingCueChanges
146             to avoid thrashing the track when many cue properties will change.
147         (WebCore::TextTrackCue::didChange): Renamed from cueDidChange. Use m_processingCueChanges
148             to avoid thrashing the track when many cue properties will change.
149         (WebCore::TextTrackCue::setId): cueWillChange -> willChange. cueDidChange -> didChange. 
150         (WebCore::TextTrackCue::setStartTime): Ditto.
151         (WebCore::TextTrackCue::setEndTime): Ditto.
152         (WebCore::TextTrackCue::setPauseOnExit): Ditto.
153         (WebCore::TextTrackCue::setVertical): Ditto.
154         (WebCore::TextTrackCue::setSnapToLines): Ditto.
155         (WebCore::TextTrackCue::setLine): Ditto.
156         (WebCore::TextTrackCue::setPosition): Ditto.
157         (WebCore::TextTrackCue::setSize): Ditto.
158         (WebCore::TextTrackCue::setAlign): Ditto.
159         (WebCore::TextTrackCue::setText): Ditto.
160         (WebCore::TextTrackCue::setRegionId): Ditto.
161         (WebCore::TextTrackCue::isEqual): Renamed from operator==, take match rules param.
162         * html/track/TextTrackCue.h:
163
164         * html/track/TextTrackCueGeneric.cpp:
165         (WebCore::TextTrackCueGeneric::isEqual): Renamed from operator==, take match rules param.
166         * html/track/TextTrackCueGeneric.h:
167
168         * platform/graphics/InbandTextTrackPrivateClient.h: Make GenericCueData refcounted.
169         (WebCore::GenericCueData::create): New.
170         (WebCore::GenericCueData::status): Ditto.
171         (WebCore::GenericCueData::setStatus): Ditto.
172         (WebCore::GenericCueData::GenericCueData):
173
174         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
175         (WebCore::InbandTextTrackPrivateAVF::processCue): Add cues as soon as we get them from the media
176             engine, update duration once we know it.
177         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Tell the client to remove all incomplete
178             cues we have delivered.
179         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
180
181         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
182         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Do not flush cues when seek completes,
183             we did that when the seek started and cues can be delivered before we get the the 
184             seek completed  notification.
185
186 2013-04-16  James Craig  <james@cookiecrook.com>
187
188         dfn element should be exposed as AXGroup:AXDefinition
189         https://bugs.webkit.org/show_bug.cgi?id=108980
190
191         Reviewed by Chris Fleizach.
192
193         dfn element now exposed as AXGroup:AXDefinition. Updated existing tests.
194
195         * accessibility/AccessibilityRenderObject.cpp:
196         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
197         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
198
199 2013-04-16  Anders Carlsson  <andersca@apple.com>
200
201         Begin chipping away at ScriptState
202         https://bugs.webkit.org/show_bug.cgi?id=114695
203
204         Reviewed by Geoffrey Garen.
205
206         Remove ScriptStateProtectedPtr as well as evalEnabled and setEvalEnabled.
207
208         * bindings/js/ScriptState.cpp:
209         * bindings/js/ScriptState.h:
210         * inspector/InjectedScriptBase.cpp:
211         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
212         * inspector/ScriptArguments.cpp:
213         (WebCore::ScriptArguments::ScriptArguments):
214         (WebCore::ScriptArguments::globalState):
215         * inspector/ScriptArguments.h:
216
217 2013-04-15  Anders Carlsson  <andersca@apple.com>
218
219         Remove unneeded headers from ScriptExecutionContext.h
220         https://bugs.webkit.org/show_bug.cgi?id=114631
221
222         Reviewed by Alexey Proskuryakov.
223
224         This shaves another minute off WebCore build time on my MacBook Pro.
225
226         * dom/ScriptExecutionContext.cpp:
227         * dom/ScriptExecutionContext.h:
228         * fileapi/Blob.cpp:
229         * rendering/RenderBlock.cpp:
230         * rendering/RenderBox.cpp:
231         * rendering/RenderFlowThread.cpp:
232         * rendering/RenderFrameSet.cpp:
233         * rendering/RenderIFrame.cpp:
234         * rendering/RenderImage.cpp:
235         * rendering/RenderListBox.cpp:
236         * rendering/RenderListItem.cpp:
237         * rendering/RenderListMarker.cpp:
238         * rendering/RenderMedia.cpp:
239         * rendering/RenderObject.cpp:
240         * rendering/RenderRegion.cpp:
241         * rendering/RenderReplaced.cpp:
242         * rendering/RenderReplica.cpp:
243         * rendering/RenderRubyRun.cpp:
244         * rendering/RenderScrollbarPart.cpp:
245         * rendering/RenderSlider.cpp:
246         * rendering/RenderTable.cpp:
247         * rendering/RenderTableCell.cpp:
248         * rendering/RenderTableRow.cpp:
249         * rendering/RenderTableSection.cpp:
250         * rendering/RenderTextControlSingleLine.cpp:
251         * rendering/RenderTextTrackCue.cpp:
252         * rendering/RenderVideo.cpp:
253         * rendering/RenderView.cpp:
254         * rendering/RenderWidget.cpp:
255         * rendering/svg/RenderSVGContainer.cpp:
256         * rendering/svg/RenderSVGForeignObject.cpp:
257         * rendering/svg/RenderSVGGradientStop.cpp:
258         * rendering/svg/RenderSVGHiddenContainer.cpp:
259         * rendering/svg/RenderSVGImage.cpp:
260         * rendering/svg/RenderSVGResourceContainer.cpp:
261         * rendering/svg/RenderSVGResourceMarker.cpp:
262         * rendering/svg/RenderSVGRoot.cpp:
263         * rendering/svg/RenderSVGShape.cpp:
264         * rendering/svg/RenderSVGText.cpp:
265
266 2013-04-16  Maciej Stachowiak  <mjs@apple.com>
267
268         Remove even yet still more traces of v8
269         https://bugs.webkit.org/show_bug.cgi?id=114693
270
271         Reviewed by Anders Carlsson.
272
273         No behavior change.
274
275         * bindings/generic/ActiveDOMCallback.h:
276         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): Remove a V8-specific
277         method and the comment referencing it.
278         * bindings/generic/ActiveDOMCallback.cpp:
279         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): ditto
280         * fileapi/File.cpp:
281         (WebCore::File::File): Remove a comment referencing v8
282         * inspector/InjectedScriptExterns.js: ditto
283
284 2013-04-16  Alexey Proskuryakov  <ap@apple.com>
285
286         Remove unused AlternativeTextClient::dismissDictationAlternativeUI
287         https://bugs.webkit.org/show_bug.cgi?id=114598
288
289         Reviewed by Ryosuke Niwa.
290
291         Removing dead code.
292
293         * WebCore.exp.in:
294         * editing/mac/AlternativeTextUIController.h: Made dismissAlternatives() private.
295         * page/AlternativeTextClient.h:
296
297 2013-04-16  Robert Hogan  <robert@webkit.org>
298
299         Float at exact multiple of line-height affects too many lines
300         https://bugs.webkit.org/show_bug.cgi?id=112744
301
302         Reviewed by David Hyatt.
303
304         Tests: fast/block/float/float-with-fractional-height-vertical-lr.html
305                fast/block/float/float-with-fractional-height.html
306
307         When adding floats to the interval tree used for testing floats' overlap with lineboxes
308         truncate the dimensions of the float rather than rounding them. This matches the
309         treatment of linebox dimensions so ensures the test for overlap is comparing like
310         with like.
311
312         * rendering/RenderBlock.cpp:
313         (WebCore::::collectIfNeeded):
314         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
315         (WebCore::::string):
316
317 2013-04-16  Chris Fleizach  <cfleizach@apple.com>
318
319         AX: aria-valuetext is not exposed on OS X.
320         https://bugs.webkit.org/show_bug.cgi?id=114628
321
322         Reviewed by Tim Horton.
323
324         aria-valuetext is only being exposed on ARIA controls. That's because there were
325         checks in place so that ONLY ARIA defined controls would return anything related to valuetext.
326         We should allow this to work on native controls as well.
327
328         Test: platform/mac/accessibility/aria-valuetext-on-native-slider.html
329
330         * accessibility/AccessibilityNodeObject.cpp:
331         (WebCore::AccessibilityNodeObject::valueDescription):
332         (WebCore):
333         (WebCore::AccessibilityNodeObject::valueForRange):
334         (WebCore::AccessibilityNodeObject::maxValueForRange):
335         (WebCore::AccessibilityNodeObject::minValueForRange):
336         * accessibility/AccessibilityNodeObject.h:
337         (AccessibilityNodeObject):
338         * accessibility/AccessibilityObject.cpp:
339         (WebCore::AccessibilityObject::isRangeControl):
340              Rename isARIAControl to isRangeControl and make it apply to all elements.
341         * accessibility/AccessibilityObject.h:
342
343 2013-04-15  Jon Lee  <jonlee@apple.com>
344
345         RenderView should bail out of paintBoxDecorations() when painting with a different renderer
346         https://bugs.webkit.org/show_bug.cgi?id=114665
347         <rdar://problem/13434884>
348
349         Reviewed by Simon Fraser.
350
351         * rendering/RenderView.cpp:
352         (WebCore::RenderView::paintBoxDecorations): Add a check to see if we should paint within the renderer.
353         This check exists in all other implementations of paintBoxDecorations(), and correctly avoids painting the
354         decorations if the root provided is not the RenderView.
355
356 2013-04-16  Max Vujovic  <mvujovic@adobe.com>
357
358         [CSS Shaders] Remove the cache of validated programs
359         https://bugs.webkit.org/show_bug.cgi?id=112844
360
361         Reviewed by Dean Jackson.
362
363         Since we're caching CustomFilterProgram(s) now, we don't need another cache for
364         CustomFilterValidatedProgram(s). With this patch, CustomFilterProgram stores a reference
365         to a lazily created CustomFilterValidatedProgram, and CustomFilterGlobalContext no longer
366         has a validated program cache.
367
368         Also, this patch removes the CustomFilterValidatedProgram's stored reference to
369         CustomFilterGlobalContext. The removal of the validated program cache would cause
370         this reference to become weak. Validated programs only needed to keep the global context
371         reference in order to create a CustomFilterCompiledProgram. In this patch, we create
372         CustomFilterCompiledProgram(s) in FECustomFilter instead of in CustomFilterValidatedProgram,
373         so validated programs don't need to store the global context reference anymore.
374
375         No new tests. Just Refactoring.
376
377         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
378         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
379         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
380         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
381         * platform/graphics/filters/CustomFilterGlobalContext.h:
382         (CustomFilterGlobalContext):
383         * platform/graphics/filters/CustomFilterProgram.cpp:
384         (WebCore::CustomFilterProgram::validatedProgram):
385         (WebCore::CustomFilterProgram::setValidatedProgram):
386         * platform/graphics/filters/CustomFilterProgram.h:
387         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
388         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
389         (WebCore::CustomFilterValidatedProgram::compiledProgram):
390         (WebCore::CustomFilterValidatedProgram::setCompiledProgram):
391         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
392         * platform/graphics/filters/CustomFilterValidatedProgram.h:
393         (CustomFilterValidatedProgram):
394         * platform/graphics/filters/FECustomFilter.cpp:
395         (WebCore::FECustomFilter::prepareForDrawing):
396         * rendering/FilterEffectRenderer.cpp:
397         * rendering/RenderLayer.cpp:
398         (WebCore::RenderLayer::computeFilterOperations):
399
400 2013-04-16  Anthony Scian  <ascian@blackberry.com>
401
402         [BlackBerry] LayerTexture: check if the graphics context is NULL
403         https://bugs.webkit.org/show_bug.cgi?id=114674
404
405         Reviewed by Rob Buis.
406
407         Internal PR: 256522
408
409         * platform/graphics/blackberry/LayerTexture.cpp:
410         (WebCore::LayerTexture::setContentsToColor):
411
412 2013-04-13  Andreas Kling  <akling@apple.com>
413
414         REGRESSION(r148128): window.resizeTo doesn't work from Safari address bar.
415         <rdar://problem/13635894>
416         <http://webkit.org/b/114561>
417
418         Reviewed by Sam Weinig.
419
420         Suppressing window geometry changes while any user gesture is active was a bit too restrictive,
421         and broke legitimate use-cases. Narrow it down to checking EventHandler::mousePressed().
422
423         No test yet, adding one is tracked by <http://webkit.org/b/114561>.
424
425         * page/DOMWindow.cpp:
426         (WebCore::DOMWindow::allowedToChangeWindowGeometry):
427
428             Added to share code between all DOMWindow functions that alter window geometry.
429
430         (WebCore::DOMWindow::moveBy):
431         (WebCore::DOMWindow::moveTo):
432         (WebCore::DOMWindow::resizeBy):
433         (WebCore::DOMWindow::resizeTo):
434
435 2013-04-16  Manuel Rego Casasnovas  <rego@igalia.com>
436
437         [GTK][EFL] Remove deprecated libsoup API usage
438         https://bugs.webkit.org/show_bug.cgi?id=104894
439
440         Reviewed by Philippe Normand.
441
442         Based on a patch by Claudio Saavedra <csaavedra@igalia.com>.
443         Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
444         libsoup/soup.h.
445
446         * platform/network/ResourceHandleInternal.h:
447         * platform/network/soup/GOwnPtrSoup.cpp:
448         * platform/network/soup/ProxyResolverSoup.h:
449         * platform/network/soup/ResourceErrorSoup.cpp:
450         * platform/network/soup/ResourceHandleSoup.cpp:
451         (WebCore::ensureSessionIsInitialized): No need to add the requester
452         feature.
453         (WebCore::createSoupRequestAndMessageForHandle): SoupSession has a
454         requester API, use it.
455
456 2013-04-15  Maciej Stachowiak  <mjs@apple.com>
457
458         Remove more traces of the now-obsolete support for V8
459         https://bugs.webkit.org/show_bug.cgi?id=114657
460
461         Reviewed by Ryosuke Niwa.
462
463         In addition to passing existing tests, I verified that the ElementFactory
464         and ElementWrapperFactory files were all textually identical before and after.
465
466         * dom/CustomEvent.cpp:
467         (WebCore): Remove Use(V8) bock.
468         * dom/CustomEvent.h:
469         (CustomEvent): ditto
470         * dom/MessageEvent.cpp:
471         (WebCore::MessageEvent::MessageEvent): ditto
472         (WebCore::MessageEvent::initMessageEvent): ditto
473         * dom/Node.h:
474         (Node): ditto
475         * dom/make_event_factory.pl:
476         (generateImplementation): Remove V8 support.
477         * dom/make_names.pl: Remove gobs of V8 support and simplify.
478         (printJSElementIncludes): 
479         (printConditionalElementIncludes):
480         (printFactoryCppFile):
481         (printWrapperFunctions):
482         (printWrapperFactoryCppFile):
483         (printWrapperFactoryHeaderFile):
484         * inspector/InjectedScriptCanvasModuleSource.js: Remove V8 stack
485         trace code.
486         * platform/qt/PlatformSupport.h: Remove a macro only used for V8 
487         bindings.
488         * svg/SVGZoomAndPan.h:
489         (SVGZoomAndPan): Remove mention of V8 from comment.
490
491 2013-04-15  Ryosuke Niwa  <rniwa@webkit.org>
492
493         Potential use after free in ApplyStyleCommand::splitAncestorsWithUnicodeBidi
494         https://bugs.webkit.org/show_bug.cgi?id=114664
495
496         Reviewed by Oliver Hunt.
497
498         Use RefPtr as needed.
499
500         No new tests since this bug was discovered by code inspection.
501
502         * editing/ApplyStyleCommand.cpp:
503         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
504
505 2013-04-15  Timothy Hatcher  <timothy@apple.com>
506
507         Web Inspector: Make var and function declarations work again in the Console.
508
509         https://webkit.org/b/114534
510         rdar://problem/13614477
511
512         Reviewed by Oliver Hunt.
513
514         * inspector/InjectedScriptSource.js:
515         (InjectedScript.prototype._evaluateOn): Use 'with' when not evaluating
516         on a call frame.
517
518 2013-04-15  Seokju Kwon  <seokju.kwon@gmail.com>
519
520         Web Inspector: Add missing Localized strings
521         https://bugs.webkit.org/show_bug.cgi?id=114656
522
523         Reviewed by Timothy Hatcher.
524
525         No tests because no behavior change is expected.
526
527         * English.lproj/localizedStrings.js:
528
529 2013-04-15  Dean Jackson  <dino@apple.com>
530
531         Rename restartedPlugin to isRestartedPlugin. This was
532         review feedback from r148038 that I thought I fixed
533         everywhere but failed.
534         https://bugs.webkit.org/show_bug.cgi?id=114233
535
536         * html/HTMLPlugInElement.h:
537         (WebCore::HTMLPlugInElement::isRestartedPlugin): Prefix with "is".
538         * html/HTMLPlugInImageElement.cpp:
539         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
540         (WebCore::HTMLPlugInImageElement::setDisplayState):
541         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
542         * html/HTMLPlugInImageElement.h:
543         * rendering/RenderEmbeddedObject.cpp:
544         (WebCore::RenderEmbeddedObject::paintContents):
545         * rendering/RenderLayerBacking.cpp:
546         (WebCore::isRestartedPlugin):
547
548 2013-04-15  Maciej Stachowiak  <mjs@apple.com>
549
550         Remove V8 attribtues from IDLAttributes.txt
551         https://bugs.webkit.org/show_bug.cgi?id=114651
552
553         Reviewed by Sam Weinig.
554
555         No tests because no behavior change is expected.
556
557         * bindings/scripts/IDLAttributes.txt: Remove V8 attribtues.
558         * html/track/TextTrackList.idl: Remove a stray V8-specific attribute
559         (so I guess this change is not useless)
560
561 2013-04-15  James Craig  <james@cookiecrook.com>
562
563         WebKit should not expose AXSubrole:AXDescriptionList on Mountain Lion as it causes a regression in VoiceOver behavior
564         https://bugs.webkit.org/show_bug.cgi?id=113975
565
566         Reviewed by Chris Fleizach.
567
568         Serve NSAccessibilityDescriptionListSubrole or NSAccessibilityDefinitionListSubrole
569         depending on platform. Updated existing test coverage.
570
571         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
572         (-[WebAccessibilityObjectWrapper subrole]):
573
574 2013-04-15  Dean Jackson  <dino@apple.com>
575
576         Plugins that resize might need to be snapshotted.
577         https://bugs.webkit.org/show_bug.cgi?id=102157
578         <rdar://problem/12696259>
579
580         Reviewed by Tim Horton.
581
582         A plugin could avoid snapshotting if it started very
583         small (below the threshold where we autostart), and then
584         resized to be large (above the threshold). Detect this
585         case and tell the plugin to snapshot.
586
587         There unfortunately is a bit of state to track when doing
588         this. We have to start the snapshotting in a post-layout
589         task, so we carry a flag to say we're checking size but
590         not wanting the plugin to update (which would restart it).
591         We also might be a plugin that would have already restarted
592         due to a similar plugin being clicked or detected as dominant.
593         So this patch introduces a member variable that tracks what
594         decision has been made on snapshotting.
595
596         I also added some more logging to be more clear about what is
597         happening to plugins going through the snapshot process, and
598         changed the order of the tests in the algorithm so that domain
599         detection comes before examining the size.
600
601         * html/HTMLPlugInImageElement.cpp:
602         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise
603             the two new member variables.
604         (WebCore::HTMLPlugInImageElement::setDisplayState): Mark a restarted
605             plugin as NeverSnapshot. This means that if it later resizes above the
606             threshold, it won't trigger the snapshot detection.
607         (WebCore::HTMLPlugInImageElement::checkSnapshotStatus): Renamed from
608             updateSnapshotInfo. This now updates the snapshot, but also runs
609             the check for size changes.
610         (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Gather all plugins
611             that look like a restarting plugin, not just those snapshotted. That
612             way they can all be marked as NeverSnapshot.
613         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Bless every
614             plugin that looks similar, whether or not it is snapshotted.
615         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): More logging.
616         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Ditto.
617         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): New
618             method. If the plugin was below the threshold and is now above it,
619             begin the snapshotting process.
620         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Plugins
621             that were marked as NeverSnapshot should start immediately. Move the origin
622             test earlier in the method. If a plugin avoided snapshotting due to size,
623             remember the size.
624         (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Mark the
625             plugin as NeverSnapshot.
626
627         * html/HTMLPlugInImageElement.h:
628         (HTMLPlugInImageElement): Four new member variables:
629             - the decision we made regarding snapshotting (or not), uses the SnapshotDecision enum
630             - the size when it avoided snapshotting
631             - a flag to indicate the post layout update was triggered due to
632               a size change
633         (WebCore::HTMLPlugInImageElement::needsCheckForSizeChange): New method.
634         (WebCore::HTMLPlugInImageElement::setNeedsCheckForSizeChange): New method.
635         (WebCore::HTMLPlugInImageElement::snapshotDecision): Return the decision
636             regarding snapshotting or not snapshotting.
637
638         * page/FrameView.cpp:
639         (WebCore::FrameView::addWidgetToUpdate): Guard updating the widget. We don't
640             want to do it when we're checking for a size change in the plugin.
641         (WebCore::FrameView::updateWidget): Call new name.
642
643         * plugins/PluginViewBase.h:
644         (WebCore::PluginViewBase::beginSnapshottingRunningPlugin): Empty virtual
645             method to snapshot a running plugin.
646
647         * rendering/RenderEmbeddedObject.cpp:
648         (WebCore::RenderEmbeddedObject::layout): If the plugin has increased in
649             size add it to the post layout list so that it will be checked.
650
651 2013-04-15  Chris Fleizach  <cfleizach@apple.com>
652
653         activating a focused link to an in-page fragment ID should transfer focus to the target of the link when possible
654         https://bugs.webkit.org/show_bug.cgi?id=17450
655
656         Reviewed by Maciej Stachowiak.
657
658         When a fragment is scrolled to due to an activation event or on load, focus should attempt to 
659         move to the fragment if possible.
660
661         Test: fast/dom/fragment-activation-focuses-target.html
662
663         * page/FrameView.cpp:
664         (WebCore::FrameView::scrollToAnchor):
665
666 2013-04-12  Maciej Stachowiak  <mjs@apple.com>
667
668         Remove V8-specific extended attributes from IDL files
669         https://bugs.webkit.org/show_bug.cgi?id=114523
670
671         Reviewed by Geoffrey Garen.
672
673         No tests because no behavior change is expected.
674
675         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
676         * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
677         * Modules/encryptedmedia/MediaKeySession.idl:
678         * Modules/encryptedmedia/MediaKeys.idl:
679         * Modules/filesystem/HTMLInputElementFileSystem.idl:
680         * Modules/indexeddb/IDBAny.idl:
681         * Modules/mediasource/MediaSource.idl:
682         * Modules/mediasource/SourceBuffer.idl:
683         * Modules/mediasource/SourceBufferList.idl:
684         * Modules/mediastream/MediaStream.idl:
685         * Modules/webaudio/AudioDestinationNode.idl:
686         * html/track/TextTrackCue.idl:
687         * html/track/TextTrackCueList.idl:
688         * html/track/TextTrackList.idl:
689         * html/track/TextTrackRegion.idl:
690         * html/track/TextTrackRegionList.idl:
691         * html/track/TrackEvent.idl:
692         * storage/Storage.idl:
693         * svg/SVGDocument.idl:
694         * svg/SVGElement.idl:
695         * workers/WorkerContext.idl:
696         * xml/XMLHttpRequest.idl:
697         * xml/XPathNSResolver.idl:
698
699 2013-04-15  Anders Carlsson  <andersca@apple.com>
700
701         ScriptWrappable subclasses shouldn't have to include WeakInlines.h
702         https://bugs.webkit.org/show_bug.cgi?id=114641
703
704         Reviewed by Alexey Proskuryakov.
705
706         Remove ScriptWrappableInlines.h includes, they're not needed anymore.
707
708         * css/WebKitCSSMatrix.cpp:
709         * dom/ClientRect.cpp:
710         * dom/ClientRectList.cpp:
711         * dom/Clipboard.cpp:
712         * dom/DOMStringMap.cpp:
713         * dom/Event.cpp:
714         * dom/MutationRecord.cpp:
715         * fileapi/FileList.cpp:
716         * page/BarInfo.cpp:
717         * plugins/DOMMimeTypeArray.cpp:
718         * plugins/DOMPlugin.cpp:
719         * plugins/DOMPluginArray.cpp:
720         * storage/Storage.cpp:
721
722 2013-04-15  Igor Oliveira  <igor.o@sisa.samsung.com>
723
724         Call directly RenderBlock::deleteLineBoxTree
725         https://bugs.webkit.org/show_bug.cgi?id=102761
726
727         Reviewed by Darin Adler.
728
729         Instead of implementing RenderLineBoxList::deleteLineBoxTree logic inside 
730         RenderBlock::determineStartPosition, we can reuse the code. The commentaries added
731         in the changeset #86628 are not valid anymore, nextRootBox is casting m_nextLineBox 
732         and nextLineBox is returning m_nextLineBox.
733
734         * rendering/RenderBlockLineLayout.cpp:
735         (WebCore::RenderBlock::determineStartPosition):
736
737 2013-04-15  Anders Carlsson  <andersca@apple.com>
738
739         Remove files related to quota and proximity events from the Xcode project
740         https://bugs.webkit.org/show_bug.cgi?id=114635
741
742         Reviewed by Benjamin Poulain.
743
744         * WebCore.xcodeproj/project.pbxproj:
745         * history/PageCache.cpp:
746         * page/DOMWindow.cpp:
747
748 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
749
750         [CMake] Add WTF_USE_*_UNICODE variables
751         https://bugs.webkit.org/show_bug.cgi?id=114556
752
753         Reviewed by Brent Fulgham.
754
755         WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
756         reduce duplication in the platform specific CMake files.
757
758         * CMakeLists.txt:
759         * PlatformBlackBerry.cmake:
760         * PlatformEfl.cmake:
761         * PlatformWinCE.cmake:
762
763 2013-04-15  Eric Carlson  <eric.carlson@apple.com>
764
765         HTMLMediaElement::removeTextTrack should clear track client
766         https://bugs.webkit.org/show_bug.cgi?id=114630
767
768         Reviewed by Jer Noble.
769
770         No new tests, this is clean-up that prevents a potential crash.
771
772         * html/HTMLMediaElement.cpp:
773         (WebCore::HTMLMediaElement::removeTextTrack): Clear the track client.
774
775 2013-04-15  Robert Hogan  <robert@webkit.org>
776
777         An inline element with an absolutely positioned child does not correctly calculate/render padding and margin
778         https://bugs.webkit.org/show_bug.cgi?id=47554
779
780         Reviewed by David Hyatt.
781
782         When looking for padding/margin to add from the start of a child's parent skip past any leading positioned siblings as 
783         we don't add the padding/margin of the common parent when skipping past them in |skipLeadingWhitespace|. We
784         don't need to worry about the case of trailing positioned objects as we will account for their parent's
785         border/margin/padding when we encounter them in |nextSegmentBreak|.
786
787         Test: fast/inline/padding-before-leading-positioned-element-contributes-width.html
788
789         * rendering/RenderBlockLineLayout.cpp:
790         (WebCore::previousInFlowSibling):
791         (WebCore):
792         (WebCore::inlineLogicalWidth):
793
794 2013-04-15  peavo@outlook.com  <peavo@outlook.com>
795
796         [WinCairo] Compile fix.
797         https://bugs.webkit.org/show_bug.cgi?id=114623
798
799         Reviewed by Brent Fulgham.
800
801         * platform/network/curl/CookieJarCurl.cpp: Added required header files.
802
803 2013-04-15  Rob Buis  <rbuis@rim.com>
804
805         Fix some compiler warnings (miscellaneous)
806         https://bugs.webkit.org/show_bug.cgi?id=80790
807
808         Reviewed by Darin Adler.
809
810         It does not seem needed to initialize jpeg_create_compress struct to zero,
811         all that is needed is set the err field. See for instance SkImageDecoder_libjpeg.cpp.
812
813         * platform/image-encoders/JPEGImageEncoder.cpp:
814         (WebCore::compressRGBABigEndianToJPEG):
815
816 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
817
818         [GTK] Remove platform specific implementation of KURL::fileSystemPath()
819         https://bugs.webkit.org/show_bug.cgi?id=114133
820
821         Reviewed by Martin Robinson.
822
823         r147883 added a generic implementation of this function,
824         which can be used by all ports to share the code.
825
826         * GNUmakefile.list.am:
827         * platform/KURL.cpp:
828         (WebCore):
829         * platform/gtk/KURLGtk.cpp: Removed.
830
831 2013-04-15  Csaba Osztrogon√°c  <ossy@webkit.org>
832
833         Debug buildfix after r148433.
834         https://bugs.webkit.org/show_bug.cgi?id=108295
835
836         Reviewed by Allan Sandfeld Jensen.
837
838         * platform/graphics/texmap/TextureMapperLayer.h:
839         (WebCore::TextureMapperLayer::children): Added.
840
841 2013-04-15  Noam Rosenthal  <noam@webkit.org>
842
843         Coordinated Graphics: Remove GraphicsLayerTextureMapper dependency from CoordinatedGraphicsScene.
844         https://bugs.webkit.org/show_bug.cgi?id=108295
845
846         Since all the changes to the TextureMapperLayer tree now come in a single IPC message via
847         CoordinatedGraphicsState, we don't need the additional buffering done in GraphicsLayerTextureMapper.
848
849         This reduces unnecessary function calls, and also streamlines GraphicsLayerTextureMapper to be used
850         only in WebKit1 (without CoordinatedGraphics).
851
852         Reviewed by Allan Sandfeld Jensen.
853
854         No new tests, refactor only.
855
856         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
857         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
858         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
859         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
860         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
861         (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
862         (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
863         (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
864         (WebCore):
865         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
866         (GraphicsLayerTextureMapper):
867             Removed references to m_hasOwnBackingStore, which was done to separate the CoordinatedGraphics
868             path from the WK1 path.
869
870         * platform/graphics/texmap/TextureMapperLayer.h:
871         (WebCore::TextureMapperLayer::drawsContent):
872         (WebCore::TextureMapperLayer::contentsAreVisible):
873         (WebCore::TextureMapperLayer::size):
874         (WebCore::TextureMapperLayer::opacity):
875         (WebCore::TextureMapperLayer::transform):
876         (WebCore::TextureMapperLayer::isShowingRepaintCounter):
877         (WebCore::TextureMapperLayer::fixedToViewport):
878         (TextureMapperLayer):
879             Added a few public functions needed by CoordinatedGraphicsScene.
880
881         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
882         (WebCore::layerShouldHaveBackingStore):
883         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
884         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
885         (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
886         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
887         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
888         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
889         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
890         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
891         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
892         (WebCore::CoordinatedGraphicsScene::setLayerState):
893         (WebCore::CoordinatedGraphicsScene::getLayerByIDIfExists):
894         (WebCore::CoordinatedGraphicsScene::createLayer):
895         (WebCore::CoordinatedGraphicsScene::deleteLayer):
896         (WebCore::CoordinatedGraphicsScene::setRootLayerID):
897         (WebCore::CoordinatedGraphicsScene::prepareContentBackingStore):
898         (WebCore::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
899         (WebCore::CoordinatedGraphicsScene::removeBackingStoreIfNeeded):
900         (WebCore::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize):
901         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
902         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
903         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
904         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
905         (WebCore::CoordinatedGraphicsScene::commitSceneState):
906         (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
907         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
908         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
909         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
910         (CoordinatedGraphicsScene):
911         (WebCore::CoordinatedGraphicsScene::layerByID):
912         (WebCore::CoordinatedGraphicsScene::rootLayer):
913             Use TextureMapperLayer instead of GraphicsLayer and GraphicsLayerTextureMapper.
914
915 2013-04-15  Antti Koivisto  <antti@apple.com>
916
917         Dynamically triggered subframe loads are causing tile churn
918         https://bugs.webkit.org/show_bug.cgi?id=114440
919         
920         Reviewed by Andreas Kling.
921         
922         In some cases we switch in and out of minimal tiles multiple times during page loading. This
923         creates tile churn where we create speculative tiles and then throw them out. This can be
924         caused by various reasons including dynamically created subframes.
925
926         * page/FrameView.cpp:
927         (WebCore::FrameView::setIsVisuallyNonEmpty):
928         
929             Stay in minimal tiles modes until there is some visual contents. This avoids switching out from minimal
930             tiles while awaiting response for the initial requests.
931
932         * page/FrameView.h:
933         * rendering/RenderLayerBacking.cpp:
934         (WebCore::RenderLayerBacking::RenderLayerBacking):
935         (WebCore::computeTileCoverage):
936         * rendering/RenderLayerBacking.h:
937         (WebCore::RenderLayerBacking::didSwitchToFullTileCoverageDuringLoading):
938         (WebCore::RenderLayerBacking::setDidSwitchToFullTileCoverageDuringLoading):
939         
940             Only switch into minimal coverage mode once per page load.
941
942         (RenderLayerBacking):
943
944 2013-04-15  Rune Lillesveen  <rune@opera.com>
945
946         color-index media feature not supported
947         https://bugs.webkit.org/show_bug.cgi?id=114468
948
949         Reviewed by Kenneth Rohde Christiansen.
950
951         Support the color-index media feature. Currently assumes that no WebKit
952         browser will have an output device that uses a color lookup table.
953
954         Tests: fast/media/mq-color-index-01.html
955                fast/media/mq-color-index-02.html
956
957         * css/MediaFeatureNames.h:
958         (MediaFeatureNames):
959         * css/MediaQueryEvaluator.cpp:
960         (WebCore::color_indexMediaFeatureEval):
961         (WebCore):
962         (WebCore::min_color_indexMediaFeatureEval):
963         (WebCore::max_color_indexMediaFeatureEval):
964         * css/MediaQueryExp.cpp:
965         (WebCore::featureWithPositiveInteger):
966         (WebCore::featureWithoutValue):
967
968 2013-04-15  Balazs Kelemen  <kbalazs@webkit.org>
969
970         [CoordGfx] Background color should not be part of GraphicsLayerState
971         https://bugs.webkit.org/show_bug.cgi?id=113785
972
973         Page background is independent from layer state, send it to the UI
974         as soon as possible.
975
976         Should not cause observable change in behavior so no new tests.
977
978         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
979         (WebCore::CoordinatedGraphicsScene::commitSceneState):
980         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
981
982 2013-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>
983
984         [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread
985         https://bugs.webkit.org/show_bug.cgi?id=114610
986
987         Reviewed by Xan Lopez.
988
989         Override notifyCreateSnapshotFileAndReadMetadata to make sure the
990         callback is called on the right thread.
991
992         Fixes a crash in several fast/filesystem test in debug builds.
993
994         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
995         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
996         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread):
997         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:
998
999 2013-04-15  Arvid Nilsson  <anilsson@rim.com>
1000
1001         [BlackBerry][CSS Filters] Non-image content disappears when filter applied
1002         https://bugs.webkit.org/show_bug.cgi?id=114498
1003
1004         Reviewed by Carlos Garcia Campos.
1005
1006         Applying a filter to a div with simple text content caused the div to
1007         disappear.
1008
1009         In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
1010         state save/restore code for vertex attributes to make sure the state
1011         changes done by BlackBerry::Platform::Graphics don't interfere with
1012         GL code executing in WebKit. However, saving and restoring vertex
1013         attribute state won't do much good if those attributes were never
1014         enabled to begin with. Fixed by enabling vertex attributes
1015         appropriately when setting them, so that state can be saved and
1016         restored.
1017
1018         All the CSS Filters layout tests apply the filters to simple rectangles
1019         or images, there's nothing sufficiently complex that we manage to
1020         trigger this GL state conflict in the BlackBerry port. This suggests
1021         adding a new platform-specific layout test would be appropriate, but
1022         since we don't use pixel tests yet, such a test would not help detect
1023         regressions. Ultimately we decided against adding a layout test for
1024         this bug at this time.
1025
1026         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
1027         (WebCore::LayerFilterRenderer::applyActions):
1028
1029 2013-04-14  Jaehun Lim  <ljaehun.lim@samsung.com>
1030
1031         [css3-text] Parsing -webkit-hanging value for text-indent from css3-text
1032         https://bugs.webkit.org/show_bug.cgi?id=113680
1033
1034         Reviewed by Andreas Kling.
1035
1036         This patch is the parsing part to support hanging value for text-indent.
1037         "hanging" means "Inverts which lines are affected."
1038         It's prefixed and guarded by CSS3_TEXT flag.
1039
1040         No new tests, this patch updates existing tests.
1041
1042         * css/CSSComputedStyleDeclaration.cpp:
1043         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1044         * css/CSSParser.cpp:
1045         (WebCore::CSSParser::parseTextIndent): Parsed "-webkit-hanging" with "-webkit-each-line".
1046         * css/CSSValueKeywords.in: Added "-webkit-hanging" keyword.
1047         * css/DeprecatedStyleBuilder.cpp:
1048         (WebCore::ApplyPropertyTextIndent::applyInheritValue):
1049         (WebCore::ApplyPropertyTextIndent::applyInitialValue):
1050         (WebCore::ApplyPropertyTextIndent::applyValue):
1051         * rendering/style/RenderStyle.h:
1052         * rendering/style/RenderStyleConstants.h: Added enum TextIndentType.
1053         * rendering/style/StyleRareInheritedData.cpp:
1054         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1055         (WebCore::StyleRareInheritedData::operator==):
1056         * rendering/style/StyleRareInheritedData.h: Added m_textIndentType.
1057         (StyleRareInheritedData):
1058             Added the usual getter / setter / initial methods for m_textIndentType.
1059
1060 2013-04-14  Sam Weinig  <sam@webkit.org>
1061
1062         Move Mac specific snapshotting code into its own file
1063         https://bugs.webkit.org/show_bug.cgi?id=114597
1064
1065         Reviewed by Andreas Kling.
1066
1067         * WebCore.exp.in:
1068         * WebCore.xcodeproj/project.pbxproj:
1069         * bindings/objc/DOM.mm:
1070         (-[DOMRange renderedImageForcingBlackText:]):
1071         * page/Frame.h:
1072         * page/mac/FrameMac.mm:
1073         (WebCore::Frame::nodeImage):
1074         (WebCore::Frame::dragImageForSelection):
1075         * page/mac/FrameSnapshottingMac.h: Added.
1076         * page/mac/FrameSnapshottingMac.mm: Added.
1077         (WebCore::imageFromRect):
1078         (WebCore::selectionImage):
1079         (WebCore::rangeImage):
1080         (WebCore::snapshotDragImage):
1081         * platform/mac/ClipboardMac.mm:
1082         (WebCore::ClipboardMac::dragNSImage):
1083         Move the four Mac specific snapshotting functions in Frame.h into FrameSnapshottingMac.h/mm and turn
1084         them into free standing functions.
1085
1086 2013-04-14  Andreas Kling  <akling@apple.com>
1087
1088         Hawtfix Mac build.
1089
1090         * WebCore.exp.in:
1091
1092 2013-04-14  Andreas Kling  <akling@apple.com>
1093
1094         Only MutableStylePropertySets should be able to have CSSOM wrappers.
1095         <http://webkit.org/b/114595>
1096
1097         Reviewed by Antti Koivisto.
1098
1099         Tighten typing so that only MutableStylePropertySets can have CSSOM wrappers associated.
1100         This allows us to get rid of the out-of-line base class destructor.
1101
1102         * WebCore.exp.in:
1103         * css/StylePropertySet.cpp:
1104         (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
1105         (WebCore::MutableStylePropertySet::cssStyleDeclaration):
1106         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
1107         * css/StylePropertySet.h:
1108         (StylePropertySet):
1109         (MutableStylePropertySet):
1110         * dom/StyledElement.cpp:
1111         (WebCore::StyledElement::inlineStyleCSSOMWrapper):
1112
1113 2013-04-14  Andreas Kling  <akling@apple.com>
1114
1115         Remove unused function declaration StylePropertySet::setNeedsStyleRecalc().
1116
1117         Rubber-stamped by Antti Koivisto.
1118
1119         * css/StylePropertySet.h:
1120         (StylePropertySet):
1121
1122 2013-04-14  Andreas Kling  <akling@apple.com>
1123
1124         Move StylePropertySet internal storage access helpers to subclass.
1125         <http://webkit.org/b/114592>
1126
1127         Reviewed by Antti Koivisto.
1128
1129         Removed mutablePropertyVector() since most call sites are inside MutableStylePropertySet
1130         and can access m_propertyVector directly. The few ones that aren't can just cast.
1131
1132         For ImmutableStylePropertySet, moved value/metadata array accessors to the subclass
1133         and remove "immutable" from their names.
1134
1135         * css/StylePropertySet.cpp:
1136         (WebCore::StylePropertySet::immutableCopyIfNeeded):
1137         (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
1138         (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
1139         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
1140         (WebCore::MutableStylePropertySet::removeProperty):
1141         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
1142         (WebCore::MutableStylePropertySet::setProperty):
1143         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
1144         (WebCore::MutableStylePropertySet::parseDeclaration):
1145         (WebCore::MutableStylePropertySet::addParsedProperties):
1146         (WebCore::MutableStylePropertySet::clear):
1147         (WebCore::MutableStylePropertySet::removePropertiesInSet):
1148         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
1149         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
1150         (WebCore::StylePropertySet::reportMemoryUsage):
1151         * css/StylePropertySet.h:
1152         (PropertyReference):
1153         (StylePropertySet):
1154         (ImmutableStylePropertySet):
1155         (WebCore::ImmutableStylePropertySet::valueArray):
1156         (WebCore::ImmutableStylePropertySet::metadataArray):
1157         (WebCore::StylePropertySet::PropertyReference::propertyMetadata):
1158         (WebCore::StylePropertySet::PropertyReference::propertyValue):
1159         (WebCore::StylePropertySet::propertyCount):
1160
1161 2013-04-14  Andreas Kling  <akling@apple.com>
1162
1163         Specialize propertyCount() in StylePropertySet subclasses.
1164         <http://webkit.org/b/114590>
1165
1166         Reviewed by Antti Koivisto.
1167
1168         Avoid branching on m_isMutable in code that already knows which type of set it is.
1169
1170         * css/StylePropertySet.h:
1171         (WebCore::ImmutableStylePropertySet::propertyCount):
1172         (ImmutableStylePropertySet):
1173         (WebCore::MutableStylePropertySet::propertyCount):
1174         (MutableStylePropertySet):
1175
1176 2013-04-14  Andreas Kling  <akling@apple.com>
1177
1178         Move property setting/removing functions to MutableStylePropertySet.
1179         <http://webkit.org/b/114589>
1180
1181         Reviewed by Antti Koivisto.
1182
1183         Move all functions for setting/removing properties from StylePropertySet to MutableStylePropertySet.
1184         Had to change SVGElement::animatedSMILStyleProperties() & friends to hand out MutableStylePropertySet*
1185         which was always the internal type anyway.
1186
1187         * css/StylePropertySet.cpp:
1188         (WebCore::MutableStylePropertySet::removeShorthandProperty):
1189         (WebCore::MutableStylePropertySet::removeProperty):
1190         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
1191         (WebCore::MutableStylePropertySet::setProperty):
1192         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
1193         (WebCore::MutableStylePropertySet::setPrefixingVariantProperty):
1194         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
1195         (WebCore::MutableStylePropertySet::removeBlockProperties):
1196         (WebCore::MutableStylePropertySet::removePropertiesInSet):
1197         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
1198         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
1199         * css/StylePropertySet.h:
1200         (StylePropertySet):
1201         (MutableStylePropertySet):
1202         * editing/ApplyStyleCommand.cpp:
1203         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1204         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1205         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1206         * editing/EditingStyle.cpp:
1207         (WebCore::EditingStyle::triStateOfStyle):
1208         (WebCore::removePropertiesInStyle):
1209         (WebCore::reconcileTextDecorationProperties):
1210         * svg/SVGAnimateElement.cpp:
1211         (WebCore::applyCSSPropertyToTarget):
1212         * svg/SVGElement.cpp:
1213         (WebCore::SVGElement::animatedSMILStyleProperties):
1214         (WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
1215         * svg/SVGElement.h:
1216         (SVGElement):
1217         * svg/SVGElementRareData.h:
1218         (WebCore::SVGElementRareData::animatedSMILStyleProperties):
1219         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
1220         (SVGElementRareData):
1221
1222 2013-04-14  Andreas Kling  <akling@apple.com>
1223
1224         EditingStyle should have a MutableStylePropertySet internally.
1225         <http://webkit.org/b/114588>
1226
1227         Reviewed by Anders Carlsson.
1228
1229         Switch EditingStyle::m_mutableStyle to a RefPtr<MutableStylePropertySet>.
1230
1231         * css/StylePropertySet.cpp:
1232         (WebCore::StylePropertySet::copyBlockProperties):
1233         * css/StylePropertySet.h:
1234         (StylePropertySet):
1235         * editing/EditingStyle.cpp:
1236         (WebCore::EditingStyle::setStyle):
1237         (WebCore::EditingStyle::mergeStyleFromRules):
1238         (WebCore::StyleChange::StyleChange):
1239         (WebCore::setTextDecorationProperty):
1240         (WebCore::StyleChange::extractTextStyles):
1241         (WebCore::diffTextDecorations):
1242         (WebCore::getPropertiesNotIn):
1243         * editing/EditingStyle.h:
1244         (WebCore::EditingStyle::style):
1245         (EditingStyle):
1246         (StyleChange):
1247
1248 2013-04-14  Andreas Kling  <akling@apple.com>
1249
1250         Move addParsedProperty/addParsedProperties to MutableStylePropertySet.
1251         <http://webkit.org/b/114587>
1252
1253         Reviewed by Antti Koivisto.
1254
1255         All CSSParser methods that mutate an existing StylePropertySet now take a MutableStylePropertySet*
1256         instead of a StylePropertySet*.
1257
1258         * css/CSSParser.cpp:
1259         (WebCore::parseColorValue):
1260         (WebCore::parseSimpleLengthValue):
1261         (WebCore::parseKeywordValue):
1262         (WebCore::parseTranslateTransformValue):
1263         (WebCore::CSSParser::parseValue):
1264         (WebCore::CSSParser::parseDeclaration):
1265         * css/CSSParser.h:
1266         (CSSParser):
1267         * css/StylePropertySet.cpp:
1268         (WebCore::StylePropertySet::setProperty):
1269         (WebCore::MutableStylePropertySet::addParsedProperties):
1270         (WebCore::MutableStylePropertySet::addParsedProperty):
1271         * css/StylePropertySet.h:
1272         (StylePropertySet):
1273         (MutableStylePropertySet):
1274         * css/ViewportStyleResolver.h:
1275         (ViewportStyleResolver):
1276
1277 2013-04-14  Andreas Kling  <akling@apple.com>
1278
1279         CSSParser should return ImmutableStylePropertySets.
1280         <http://webkit.org/b/114585>
1281
1282         Reviewed by Anders Carlsson.
1283
1284         The StylePropertySets created by CSSParser were already immutable.
1285         Let this be reflected in the pointer types returned.
1286
1287         * css/CSSParser.cpp:
1288         (WebCore::CSSParser::parseInlineStyleDeclaration):
1289         (WebCore::CSSParser::parseDeclaration):
1290         (WebCore::CSSParser::createStylePropertySet):
1291         * css/CSSParser.h:
1292         (CSSParser):
1293
1294 2013-04-14  Andreas Kling  <akling@apple.com>
1295
1296         Move StylePropertySet::createImmutable() to ImmutableStylePropertySet.
1297         <http://webkit.org/b/114584>
1298
1299         Reviewed by Anders Carlsson.
1300
1301         StylePropertySet::createImmutable() -> ImmutableStylePropertySet::create()
1302         Also, immutableCopyIfNeeded() now returns a PassRefPtr<ImmutableStylePropertySet>.
1303
1304         * css/CSSParser.cpp:
1305         (WebCore::CSSParser::createStylePropertySet):
1306         * css/StylePropertySet.cpp:
1307         (WebCore::ImmutableStylePropertySet::create):
1308         (WebCore::StylePropertySet::immutableCopyIfNeeded):
1309         * css/StylePropertySet.h:
1310         (StylePropertySet):
1311         (ImmutableStylePropertySet):
1312
1313 2013-04-14  Andreas Kling  <akling@apple.com>
1314
1315         Move parseDeclaration() and clear() to MutableStylePropertySet.
1316         <http://webkit.org/b/114583>
1317
1318         Reviewed by Anders Carlsson.
1319
1320         ...and remove ASSERT(isMutable()) from the function bodies.
1321
1322         * svg/SVGFontFaceElement.cpp:
1323         (WebCore::SVGFontFaceElement::removedFrom):
1324
1325             Use clear() directly instead of taking an empty string through the CSS parser.
1326
1327         * css/StylePropertySet.cpp:
1328         (WebCore::MutableStylePropertySet::parseDeclaration):
1329         (WebCore::MutableStylePropertySet::clear):
1330         * css/StylePropertySet.h:
1331         (StylePropertySet):
1332         (MutableStylePropertySet):
1333         * dom/StyledElement.cpp:
1334         (WebCore::StyledElement::setInlineStyleFromString):
1335
1336 2013-04-14  Andreas Kling  <akling@apple.com>
1337
1338         Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
1339         <http://webkit.org/b/114581>
1340
1341         Reviewed by Anders Carlsson.
1342
1343         Moved ensureCSSStyleDeclaration() and ensureInlineCSSStyleDeclaration() from StylePropertySet
1344         to MutableStylePropertySet.
1345
1346         StyleRule & co now return a MutableStylePropertySet* from mutableProperties() to aid with...
1347
1348         CSSStyleDeclaration now only deals with MutableStylePropertySets. This was already the case
1349         in practice, we just didn't have any compile-time foot-shooting protection.
1350         In other words, if there's a CSSOM wrapper for a given StylePropertySet, it's guaranteed to
1351         be mutable, and the pointer types now reflect this.
1352
1353         * WebCore.exp.in:
1354         * css/PropertySetCSSStyleDeclaration.cpp:
1355         (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
1356         (WebCore::StyleRuleCSSStyleDeclaration::reattach):
1357         * css/PropertySetCSSStyleDeclaration.h:
1358         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
1359         (PropertySetCSSStyleDeclaration):
1360         (WebCore::StyleRuleCSSStyleDeclaration::create):
1361         (StyleRuleCSSStyleDeclaration):
1362         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
1363         * css/StylePropertySet.cpp:
1364         (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
1365         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
1366         * css/StylePropertySet.h:
1367         (StylePropertySet):
1368         (MutableStylePropertySet):
1369         * css/StyleRule.cpp:
1370         (WebCore::StyleRule::mutableProperties):
1371         (WebCore::StyleRulePage::mutableProperties):
1372         (WebCore::StyleRuleFontFace::mutableProperties):
1373         (WebCore::StyleRuleViewport::mutableProperties):
1374         (WebCore::StyleRuleFilter::mutableProperties):
1375         * css/StyleRule.h:
1376         (StyleRule):
1377         (StyleRuleFontFace):
1378         (StyleRulePage):
1379         (StyleRuleViewport):
1380         (StyleRuleFilter):
1381         * css/WebKitCSSKeyframeRule.cpp:
1382         (WebCore::StyleKeyframe::mutableProperties):
1383         * css/WebKitCSSKeyframeRule.h:
1384         (StyleKeyframe):
1385         * dom/Attr.cpp:
1386         (WebCore::Attr::style):
1387         * dom/Attr.h:
1388         (Attr):
1389         * editing/EditingStyle.cpp:
1390         (WebCore::EditingStyle::removeStyleAddedByNode):
1391         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
1392         (WebCore::EditingStyle::triStateOfStyle):
1393         (WebCore::styleFromMatchedRulesForElement):
1394         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
1395         * editing/FrameSelection.cpp:
1396         (WebCore::FrameSelection::copyTypingStyle):
1397         * editing/FrameSelection.h:
1398         * inspector/InspectorCSSAgent.cpp:
1399         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1400
1401 2013-04-14  Andreas Kling  <akling@apple.com>
1402
1403         Move create() methods from StylePropertySet to MutableStylePropertySet.
1404         <http://webkit.org/b/114574>
1405
1406         Reviewed by Antti Koivisto.
1407
1408         Move the two create() methods that create MutableStylePropertySets from StylePropertySet
1409         to MutableStylePropertySet, and make them actually return MutableStylePropertySets.
1410         Switch to using {Pass,}RefPtr<MutableStylePropertySet> where appropriate to keep things building.
1411
1412         * css/CSSComputedStyleDeclaration.cpp:
1413         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1414         * css/CSSParser.cpp:
1415         (WebCore::CSSParser::parseFontFaceValue):
1416         * css/DOMWindowCSS.cpp:
1417         (WebCore::DOMWindowCSS::supports):
1418         * css/ElementRuleCollector.cpp:
1419         (WebCore::leftToRightDeclaration):
1420         (WebCore::rightToLeftDeclaration):
1421         * css/FontLoader.cpp:
1422         (WebCore::FontLoader::resolveFontStyle):
1423         * css/StylePropertySet.cpp:
1424         (WebCore::StylePropertySet::copyPropertiesInSet):
1425         (WebCore::MutableStylePropertySet::create):
1426         * css/StylePropertySet.h:
1427         (StylePropertySet):
1428         (MutableStylePropertySet):
1429         * css/StyleResolver.cpp:
1430         (WebCore::StyleResolver::resolveVariables):
1431         * css/WebKitCSSMatrix.cpp:
1432         (WebCore::WebKitCSSMatrix::setMatrixValue):
1433         * dom/Attr.cpp:
1434         (WebCore::Attr::style):
1435         * dom/Document.cpp:
1436         (WebCore::Document::createCSSStyleDeclaration):
1437         * dom/StyledElement.cpp:
1438         (WebCore::StyledElement::ensureMutableInlineStyle):
1439         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1440         * editing/ApplyStyleCommand.cpp:
1441         (WebCore::copyStyleOrCreateEmpty):
1442         * editing/EditingStyle.cpp:
1443         (WebCore::editingStyleFromComputedStyle):
1444         (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
1445         (WebCore::EditingStyle::setProperty):
1446         (WebCore::EditingStyle::extractAndRemoveTextDirection):
1447         (WebCore::styleFromMatchedRulesForElement):
1448         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1449         (WebCore::EditingStyle::forceInline):
1450         * editing/Editor.cpp:
1451         (WebCore::Editor::setBaseWritingDirection):
1452         * editing/EditorCommand.cpp:
1453         (WebCore::executeApplyStyle):
1454         (WebCore::executeToggleStyleInList):
1455         (WebCore::executeApplyParagraphStyle):
1456         (WebCore::executeMakeTextWritingDirectionLeftToRight):
1457         (WebCore::executeMakeTextWritingDirectionNatural):
1458         (WebCore::executeMakeTextWritingDirectionRightToLeft):
1459         * html/HTMLTableElement.cpp:
1460         (WebCore::leakBorderStyle):
1461         (WebCore::HTMLTableElement::createSharedCellStyle):
1462         (WebCore::leakGroupBorderStyle):
1463         * html/canvas/CanvasRenderingContext2D.cpp:
1464         (WebCore::CanvasRenderingContext2D::setFont):
1465         * inspector/InspectorStyleSheet.cpp:
1466         (WebCore::InspectorStyle::setPropertyText):
1467         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
1468         * page/DragController.cpp:
1469         (WebCore::DragController::concludeEditDrag):
1470         * svg/SVGElementRareData.h:
1471         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
1472         * svg/SVGFontFaceElement.cpp:
1473         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
1474         * svg/SVGStyledElement.cpp:
1475         (WebCore::SVGStyledElement::getPresentationAttribute):
1476
1477 2013-04-13  Sam Weinig  <sam@webkit.org>
1478
1479         Fix three crashes seen on the bots after "Make Frame's ScriptController an OwnPtr and remove the #include"
1480
1481         * xml/XMLHttpRequest.cpp:
1482         (WebCore::XMLHttpRequest::open):
1483         Check that the frame is not null (as it can be in cases like http/tests/xmlhttprequest/detaching-frame-2.html).
1484         We used to be getting lucky, in that shouldBypassMainWorldContentSecurityPolicy(), the function that is ultimately
1485         called, only operates on global state. Now that we need to actually dereference the Frame to get the ScriptController,
1486         we see this crash.
1487
1488 2013-04-13  Sukolsak Sakshuwong  <sukolsak@gmail.com>
1489
1490         Selection direction is not preserved when applying styles
1491         https://bugs.webkit.org/show_bug.cgi?id=110979
1492
1493         Reviewed by Ryosuke Niwa.
1494
1495         The patch is based on the one submitted by Shezan Baig.
1496
1497         If the starting selection was directional and its base was not first,
1498         switch newStart and newEnd when setting the ending direction. Otherwise,
1499         leave the order unchanged.
1500
1501         Test: editing/style/preserve-selection-direction.html
1502
1503         * editing/ApplyStyleCommand.cpp:
1504         (WebCore::ApplyStyleCommand::updateStartEnd):
1505
1506 2013-04-13  Alexey Proskuryakov  <ap@apple.com>
1507
1508         Added svn:ignore for inspector/CodeGeneratorInspectorStrings.pyc
1509
1510         * inspector: Added property svn:ignore.
1511
1512 2013-04-13  Sam Weinig  <sam@webkit.org>
1513
1514         Make Frame's ScriptController an OwnPtr and remove the #include
1515         https://bugs.webkit.org/show_bug.cgi?id=114105
1516
1517         Reviewed by Dean Jackson.
1518
1519         * Modules/websockets/WebSocket.cpp:
1520         * bindings/generic/BindingSecurity.cpp:
1521         * bindings/js/JSEventListener.cpp:
1522         * bindings/js/JSLazyEventListener.cpp:
1523         * bindings/js/PageScriptDebugServer.cpp:
1524         * bindings/js/ScriptEventListener.cpp:
1525         * bindings/js/ScriptState.cpp:
1526         * bindings/objc/DOM.mm:
1527         * bindings/objc/DOMAbstractView.mm:
1528         * bindings/objc/DOMInternal.mm:
1529         * dom/DocumentStyleSheetCollection.cpp:
1530         * dom/EventTarget.cpp:
1531         * dom/ScriptElement.cpp:
1532         * history/CachedFrame.cpp:
1533         * html/HTMLCanvasElement.cpp:
1534         * html/HTMLDocument.cpp:
1535         * html/HTMLElement.cpp:
1536         * html/HTMLFormElement.cpp:
1537         * html/HTMLPlugInElement.cpp:
1538         * html/HTMLPlugInImageElement.cpp:
1539         * html/parser/HTMLParserOptions.cpp:
1540         * inspector/InspectorAgent.cpp:
1541         * inspector/InspectorController.cpp:
1542         * inspector/InspectorFrontendClientLocal.cpp:
1543         * inspector/InspectorFrontendHost.cpp:
1544         * inspector/InspectorInstrumentation.cpp:
1545         * inspector/InspectorOverlay.cpp:
1546         * inspector/InspectorPageAgent.cpp:
1547         * inspector/PageRuntimeAgent.cpp:
1548         * loader/DocumentWriter.cpp:
1549         * loader/NavigationScheduler.cpp:
1550         * loader/SubframeLoader.cpp:
1551         * loader/cache/CachedResourceLoader.cpp:
1552         * page/DOMWindow.cpp:
1553         * page/EventSource.cpp:
1554         * page/Frame.cpp:
1555         * page/Frame.h:
1556         * page/Navigator.cpp:
1557         * page/Page.cpp:
1558         * page/PageGroup.cpp:
1559         * xml/XMLHttpRequest.cpp:
1560         * xml/XMLTreeViewer.cpp:
1561
1562 2013-04-13  Anders Carlsson  <andersca@apple.com>
1563
1564         Add form delegate method that's invoked right before sending a submit event to a form element
1565         https://bugs.webkit.org/show_bug.cgi?id=114575
1566
1567         Reviewed by Dan Bernstein.
1568
1569         * WebCore.exp.in:
1570         Export a symbol.
1571
1572         * WebCore.xcodeproj/project.pbxproj:
1573         Make DOMHTMLFormElementInternal.h a private header.
1574
1575 2013-03-13  Robert Hogan  <robert@webkit.org>
1576
1577         Whitespace between nowrap elements ignored after collapsed trailing space in a text run
1578         https://bugs.webkit.org/show_bug.cgi?id=17705
1579
1580         Reviewed by Ryosuke Niwa.
1581
1582         Bug 93448 and r138654 fixed the treatment of line-breaks between nowrap elements. This augments
1583         that fix by recognizing that we have a potential break not only in situations where the next character is a 
1584         space and the current character is not, but also where the next character is a space and the current character 
1585         *is* a space *and* we are ignoring spaces. This is so because any spaces we have ignored up to this point 
1586         after the actual word end will get collapsed away even if we don't end up taking the line break. 
1587
1588         In a nutshell, if we allow whitespace collapsing 'word  ' and 'word' are equivalent when before a whitespace
1589         character, so treat the first as well as the second as a potential linebreak.
1590
1591         Test: fast/text/whitespace/inline-whitespace-wrapping-5.html
1592
1593         * rendering/RenderBlockLineLayout.cpp:
1594         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1595
1596 2013-04-13  Andreas Kling  <akling@apple.com>
1597
1598         Rename/tweak some StylePropertySet/CSSStyleDeclaration copying functions.
1599         <http://webkit.org/b/114569>
1600
1601         Reviewed by Anders Carlsson.
1602
1603         - StylePropertySet::copy() -> mutableCopy()
1604
1605             This function now returns a MutableStylePropertySet, and this is also reflected in the name.
1606
1607         - CSSStyleDeclaration::copy() -> copyProperties()
1608
1609             Renamed to reflect that it's the properties being copied, not the CSSStyleDeclaration.
1610             They also now return MutableStylePropertySets.
1611
1612         - StylePropertySet::copyPropertiesInSet()
1613         - CSSStyleDeclaration::copyPropertiesInSet()
1614
1615             These functions now return MutableStylePropertySets.
1616
1617         * css/CSSComputedStyleDeclaration.cpp:
1618         (WebCore::CSSComputedStyleDeclaration::copyProperties):
1619         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1620         * css/CSSComputedStyleDeclaration.h:
1621         (CSSComputedStyleDeclaration):
1622         * css/CSSStyleDeclaration.h:
1623         (CSSStyleDeclaration):
1624         * css/PropertySetCSSStyleDeclaration.cpp:
1625         (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
1626         * css/PropertySetCSSStyleDeclaration.h:
1627         * css/StylePropertySet.cpp:
1628         (WebCore::StylePropertySet::mutableCopy):
1629         (WebCore::StylePropertySet::copyPropertiesInSet):
1630         * css/StylePropertySet.h:
1631         (StylePropertySet):
1632         * css/StyleRule.cpp:
1633         (WebCore::StyleRule::StyleRule):
1634         (WebCore::StyleRule::mutableProperties):
1635         (WebCore::StyleRulePage::StyleRulePage):
1636         (WebCore::StyleRulePage::mutableProperties):
1637         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
1638         (WebCore::StyleRuleFontFace::mutableProperties):
1639         (WebCore::StyleRuleViewport::StyleRuleViewport):
1640         (WebCore::StyleRuleViewport::mutableProperties):
1641         (WebCore::StyleRuleFilter::StyleRuleFilter):
1642         (WebCore::StyleRuleFilter::mutableProperties):
1643         * css/ViewportStyleResolver.cpp:
1644         (WebCore::ViewportStyleResolver::addViewportRule):
1645         * css/WebKitCSSKeyframeRule.cpp:
1646         (WebCore::StyleKeyframe::mutableProperties):
1647         * dom/Element.cpp:
1648         (WebCore::UniqueElementData::UniqueElementData):
1649         * dom/StyledElement.cpp:
1650         (WebCore::StyledElement::ensureMutableInlineStyle):
1651         * editing/ApplyStyleCommand.cpp:
1652         (WebCore::copyStyleOrCreateEmpty):
1653         * editing/EditingStyle.cpp:
1654         (WebCore::copyEditingProperties):
1655         (WebCore::editingStyleFromComputedStyle):
1656         (WebCore::EditingStyle::EditingStyle):
1657         (WebCore::EditingStyle::init):
1658         (WebCore::EditingStyle::copy):
1659         (WebCore::EditingStyle::mergeStyle):
1660         (WebCore::getPropertiesNotIn):
1661         * editing/FrameSelection.cpp:
1662         (WebCore::FrameSelection::copyTypingStyle):
1663
1664 2013-04-13  Dirk Schulze  <krit@webkit.org>
1665
1666         Rename StyleBuilder to DeprecatedStyleBuilder
1667         https://bugs.webkit.org/show_bug.cgi?id=114532
1668
1669         Reviewed by Benjamin Poulain.
1670
1671         The StyleBuilder code is hard to read and maintain. People should
1672         not add new properties to this class. To make this clear, this
1673         patch renames the class to DeprecatedStyleBuilder.
1674
1675         Pure refactoring, no change in functionality.
1676
1677         * CMakeLists.txt:
1678         * GNUmakefile.list.am:
1679         * Target.pri:
1680         * WebCore.vcproj/WebCore.vcproj:
1681         * WebCore.vcxproj/WebCore.vcxproj.filters:
1682         * WebCore.xcodeproj/project.pbxproj:
1683         * css/CSSAllInOne.cpp:
1684         * css/DeprecatedStyleBuilder.cpp: Renamed from Source/WebCore/css/StyleBuilder.cpp.
1685         * css/DeprecatedStyleBuilder.h: Renamed from Source/WebCore/css/StyleBuilder.h.
1686         * css/StyleResolver.cpp:
1687         (WebCore::StyleResolver::StyleResolver):
1688         (WebCore::StyleResolver::applyProperty):
1689         (WebCore::StyleResolver::reportMemoryUsage):
1690         * css/StyleResolver.h:
1691         (StyleResolver):
1692         * rendering/style/RenderStyle.h:
1693
1694 2013-04-13  Andreas Kling  <akling@apple.com>
1695
1696         Remove unused method CSSStyleDeclaration::makeMutable().
1697         <http://webkit.org/b/114567>
1698
1699         Reviewed by Anders Carlsson.
1700
1701         * css/CSSComputedStyleDeclaration.cpp:
1702         * css/CSSComputedStyleDeclaration.h:
1703         (CSSComputedStyleDeclaration):
1704         * css/CSSStyleDeclaration.h:
1705         (CSSStyleDeclaration):
1706         * css/PropertySetCSSStyleDeclaration.cpp:
1707         * css/PropertySetCSSStyleDeclaration.h:
1708
1709 2013-04-13  Antoine Quint  <graouts@apple.com>
1710
1711         Width of last of consecutive tabs may be incorrect with "white-space: pre-wrap"
1712         https://bugs.webkit.org/show_bug.cgi?id=114562
1713
1714         Reviewed by Dan Bernstein.
1715
1716         When we measure the last word of a RenderText, make sure we use the correct x
1717         position taking into account the current accumulated word measurements up to
1718         this character. This is of particular importance in the case of tabs where the
1719         measured width would differ based on the x position.
1720
1721         Test: fast/text/tab-last-word-in-renderer-pre-wrap.html
1722
1723         * rendering/RenderBlockLineLayout.cpp:
1724         (WebCore::setLogicalWidthForTextRun):
1725
1726 2013-04-13  Mark Salisbury  <mark.salisbury@hp.com>
1727
1728         [Windows, WinCairo] ImageBufferCairo.cpp fails to compile after 148247, 148264.
1729         https://bugs.webkit.org/show_bug.cgi?id=114540
1730         
1731         Reviewed by Brent Fulgham.
1732
1733         * platform/graphics/cairo/ImageBufferCairo.cpp:
1734
1735 2013-04-13  Zan Dobersek  <zdobersek@igalia.com>
1736
1737         Unreviewed GTK build fix after r148305.
1738
1739         * GNUmakefile.list.am: Adding the TrackListBase build targets to the build.
1740
1741 2013-04-09  Roger Fong  <roger_fong@apple.com>
1742
1743         Update AVFoundationCF code following http://trac.webkit.org/changeset/148291.
1744         https://bugs.webkit.org/show_bug.cgi?id=114548.
1745
1746         Reviewed by Eric Carlson.
1747
1748         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1749         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
1750         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
1751         (WebCore):
1752         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
1753         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1754         (MediaPlayerPrivateAVFoundationCF):
1755
1756 2013-04-12  Simon Fraser  <simon.fraser@apple.com>
1757
1758         Demystify some code in RenderLayer::updateScrollableAreaSet()
1759         https://bugs.webkit.org/show_bug.cgi?id=114543
1760
1761         Reviewed by Tim Horton.
1762
1763         Clean up some code that called functions with important side effects
1764         inside a ternary operator, and clean up the #ifdefs.
1765
1766         * rendering/RenderLayer.cpp:
1767         (WebCore::RenderLayer::updateScrollableAreaSet):
1768
1769 2013-04-12  Alexey Proskuryakov  <ap@apple.com>
1770
1771         <rdar://problem/13277362> REGRESSION (r141981): Crash when closing a Google Docs document
1772         https://bugs.webkit.org/show_bug.cgi?id=114541
1773
1774         Reviewed by Brady Eidson.
1775
1776         Test: http/tests/ssl/ping-with-unsafe-redirect.html
1777
1778         * loader/FrameNetworkingContext.h:
1779         (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
1780         Added a null check. All NetworkingContext functions except for this one had it already.
1781
1782 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
1783
1784         [Mac] REGRESSION: Auto substitution strips new lines
1785         https://bugs.webkit.org/show_bug.cgi?id=114537
1786
1787         Reviewed by Enrica Casucci.
1788
1789         The bug was caused by SpellingCorrectionCommand's use of InsertTextCommand. This command can't insert
1790         new lines and there's even an assertion for it. Use TypingCommand::insertText instead.
1791
1792         Since TypingCommand::insertText calls appliedEditing on its own, we need to avoid calling that again in
1793         CompositeEditCommand::apply after SpellingCorrectionCommand::doApply. Replaced the check in apply to use
1794         callsAppliedEditingInDoApply instead of isTypingCommand, and added callsAppliedEditingInDoApply to both
1795         TypingCommand and SpellingCorrectionCommand to return true (it returns false by default).
1796
1797         Test: platform/mac/editing/spelling/autocorrection-with-multi-line-text.html
1798
1799         * editing/CompositeEditCommand.cpp:
1800         (WebCore::CompositeEditCommand::apply): Use TypingCommand::insertText instead of InsertTextCommand
1801         (WebCore::CompositeEditCommand::callsAppliedEditingInDoApply): Added. Returns false.
1802         * editing/CompositeEditCommand.h:
1803         (CompositeEditCommand):
1804         * editing/SpellingCorrectionCommand.cpp:
1805         (WebCore::SpellingCorrectionCommand::doApply):
1806         (WebCore::SpellingCorrectionCommand::callsAppliedEditingInDoApply): Added. Returns true.
1807         * editing/SpellingCorrectionCommand.h:
1808         (SpellingCorrectionCommand):
1809         * editing/TypingCommand.cpp:
1810         (WebCore::TypingCommand::callsAppliedEditingInDoApply): Added. Returns true.
1811         * editing/TypingCommand.h:
1812         (TypingCommand):
1813
1814 2013-04-12  Brendan Long  <b.long@cablelabs.com>
1815
1816         Refactor TextTrack and TextTrackList to make it easier to add audio and video tracks
1817         https://bugs.webkit.org/show_bug.cgi?id=114330
1818
1819         Reviewed by Jer Noble.
1820
1821         No new tests because this doesn't add new functionality.
1822
1823         * CMakeLists.txt: Only compile text track files if ENABLE(VIDEO_TRACK), and add TrackListBase
1824         * Target.pri: Add TrackListBase
1825         * WebCore.vcproj/WebCore.vcproj: Correct InbandTextTrackPrivate.h's location and add TrackListBase
1826         * WebCore.xcodeproj/project.pbxproj: Add TrackListBase
1827         * html/HTMLMediaElement.cpp: Renamed "track" functions to "textTrack"
1828         (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Renamed.
1829         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTextTrack): Renamed.
1830         (WebCore::HTMLMediaElement::addTextTrack): Renamed.
1831         (WebCore::HTMLMediaElement::removeTextTrack): Renamed.
1832         (WebCore::HTMLMediaElement::removeAllInbandTracks): Use renamed functions.
1833         (WebCore::HTMLMediaElement::didAddTextTrack): Renamed.
1834         (WebCore::HTMLMediaElement::didRemoveTextTrack): Renamed.
1835         * html/HTMLMediaElement.h:
1836         Renamed "track" functions to "textTrack" and only forward-declare TextTrackList if ENABLE(VIDEO_TRACK)
1837         * html/HTMLTrackElement.cpp: Renamed "track" functions to "textTrack"
1838         (WebCore::HTMLTrackElement::insertedInto):
1839         (WebCore::HTMLTrackElement::removedFrom):
1840         * html/track/TextTrack.cpp:
1841         Move media element, label, language and kind into TrackBase and move EventTarget functions into TextTrack.
1842         (WebCore::TextTrack::TextTrack): Added.
1843         (WebCore::TextTrack::interfaceName): Added.
1844         (WebCore::TextTrack::scriptExecutionContext): Added.
1845         (WebCore::TextTrack::eventTargetData): Added.
1846         (WebCore::TextTrack::ensureEventTargetData): Added.
1847         (WebCore::TextTrack::isValidKind): Added to support TrackBase::setKind()
1848         (WebCore::TextTrack::setKind): Override to support textTrackKindChanged()
1849         (WebCore::TextTrack::isRendered): Use kind(), label() and language() instead of m_kind, etc.
1850         (WebCore::TextTrack::platformTextTrack): Ditto.
1851         (WebCore::TextTrack::isMainProgramContent): Ditto.
1852         * html/track/TextTrack.h:
1853         Same as TextTrack.cpp, plus added defaultKindKeyword() so TrackBase::setKind() will work and added
1854         toTextTrack().
1855         * html/track/TextTrackList.cpp:
1856         Move functionality into TrackListBase, add toTextTrack() casts, use
1857         TrackBase where necesssary and use owner() instead of m_owner.
1858
1859         Moved EventTarget functions into TrackListBase.
1860         (TextTrackList::TextTrackList):
1861         (TextTrackList::getTrackIndexRelativeToRenderedTracks):
1862         (TextTrackList::item):
1863         (TextTrackList::invalidateTrackIndexesAfterTrack):
1864         (TextTrackList::append):
1865         (TextTrackList::remove):
1866         (TextTrackList::contains):
1867         * html/track/TextTrackList.h:
1868         Move EventTarget, RefCounted and m_inbandTracks into TrackListBase.
1869         Override length(), contains() and remove().
1870         * html/track/TrackBase.cpp: Remove EventTarget functions.
1871         (WebCore::TrackBase::TrackBase):
1872         Remove EventTarget, add label and language
1873         (WebCore::TrackBase::setKind): Added
1874         * html/track/TrackBase.h:
1875         Don't extend EventTarget (AudioTrack and VideoTrack aren't). Handle
1876         kind, label, language and media element.
1877         (WebCore::TrackBase::setMediaElement): Added.
1878         (WebCore::TrackBase::mediaElement): Added.
1879         (WebCore::TrackBase::kind): Added.
1880         (WebCore::TrackBase::label): Added.
1881         (WebCore::TrackBase::setLabel): Added.
1882         (WebCore::TrackBase::language): Added.
1883         (WebCore::TrackBase::setLanguage): Added.
1884         * html/track/TrackListBase.cpp:
1885         Added. Handles functionality common to TextTrackList, AudioTrackList and
1886         VideoTrackList.
1887         (TrackListBase::TrackListBase): Added.
1888         (TrackListBase::~TrackListBase): Added.
1889         (TrackListBase::length): Added.
1890         (TrackListBase::remove): Added.
1891         (TrackListBase::contains): Added.
1892         (TrackListBase::scheduleAddTrackEvent): Added.
1893         (TrackListBase::scheduleRemoveTrackEvent): Added.
1894         (TrackListBase::scheduleChangeEvent): Added.
1895         (TrackListBase::asyncEventTimerFired): Added.
1896         * html/track/TrackListBase.h:
1897         Copied from Source/WebCore/html/track/TextTrackList.h. Handles
1898         functionality common to TextTrackList, AudioTrackList and VideoTrackList.
1899         (WebCore::TrackListBase::scriptExecutionContext): Added.
1900         (WebCore::TrackListBase::clearOwner): Added.
1901         (WebCore::TrackListBase::owner): Added.
1902         (WebCore::TrackListBase::isFiringEventListeners): Added.
1903         * platform/graphics/MediaPlayer.cpp:
1904         (WebCore::MediaPlayer::addTextTrack): Renamed (was addTrack)
1905         (WebCore::MediaPlayer::removeTextTrack): Renamed (was removeTrack)
1906         * platform/graphics/MediaPlayer.h:
1907         (WebCore::MediaPlayerClient::mediaPlayerDidAddTextTrack): Renamed (was mediaPlayerDidAddTrack)
1908         (WebCore::MediaPlayerClient::mediaPlayerDidRemoveTextTrack): Renamed (was mediaPlayerDidRemoveTrack)
1909
1910 2013-04-12  Oliver Hunt  <oliver@apple.com>
1911
1912         make the codegenerator actually emit polymorphism check in the "no vtable" path
1913         https://bugs.webkit.org/show_bug.cgi?id=114533
1914
1915         Reviewed by David Kilzer.
1916
1917         Make the "no vtable" check correct so that we actually plant a polymorphism
1918         check.  Update a few interfaces to have the correct validation attributes.        
1919
1920         * Modules/webdatabase/SQLTransaction.idl:
1921         * bindings/scripts/CodeGeneratorJS.pm:
1922         (GenerateImplementation):
1923         * bindings/scripts/test/JS/JSTestInterface.cpp:
1924         (WebCore::toJS):
1925         * bindings/scripts/test/TestInterface.idl:
1926         * html/track/TextTrackCue.idl:
1927         * svg/SVGAnimatedAngle.idl:
1928         * svg/SVGAnimatedBoolean.idl:
1929         * svg/SVGAnimatedEnumeration.idl:
1930         * svg/SVGAnimatedInteger.idl:
1931         * svg/SVGAnimatedLength.idl:
1932         * svg/SVGAnimatedLengthList.idl:
1933         * svg/SVGAnimatedNumber.idl:
1934         * svg/SVGAnimatedNumberList.idl:
1935         * svg/SVGAnimatedPreserveAspectRatio.idl:
1936         * svg/SVGAnimatedRect.idl:
1937         * svg/SVGAnimatedString.idl:
1938         * svg/SVGAnimatedTransformList.idl:
1939
1940 2013-04-12  Oliver Hunt  <oliver@apple.com>
1941
1942         Make CodeGeneratorJS plant comments to explain failures in the binding validation
1943         https://bugs.webkit.org/show_bug.cgi?id=114528
1944
1945         Reviewed by Sam Weinig.
1946
1947         No change in behaviour, just make the generated bindings include comments
1948         to aid diagnosing issues that may be non-obvious.
1949
1950         * bindings/scripts/CodeGeneratorJS.pm:
1951         (GenerateImplementation):
1952         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1953         (WebCore::toJS):
1954         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1955         (WebCore::toJS):
1956         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1957         (WebCore::toJS):
1958         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1959         (WebCore::toJS):
1960         * bindings/scripts/test/JS/JSTestException.cpp:
1961         (WebCore::toJS):
1962         * bindings/scripts/test/JS/JSTestInterface.cpp:
1963         (WebCore::toJS):
1964         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1965         (WebCore::toJS):
1966         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1967         (WebCore::toJS):
1968         * bindings/scripts/test/JS/JSTestObj.cpp:
1969         (WebCore::toJS):
1970         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1971         (WebCore::toJS):
1972         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1973         (WebCore::toJS):
1974         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1975         (WebCore::toJS):
1976
1977 2013-04-12  Tim Horton  <timothy_horton@apple.com>
1978
1979         REGRESSION (r138858): GIFs don't start playing when they come out of background tabs
1980         https://bugs.webkit.org/show_bug.cgi?id=108864
1981         <rdar://problem/13140489>
1982
1983         Reviewed by Antti Koivisto.
1984
1985         * loader/cache/CachedImage.cpp:
1986         (WebCore::CachedImage::resumeAnimatingImagesForLoader): Added.
1987         Iterate through all of the loader's cached resources. If they are bitmap images
1988         which claim to be animatable, notify the image's observers that the animation advanced
1989         by one frame. In reality, the image is still on the same frame, but will now be repainted,
1990         restarting the animation loop.
1991         * loader/cache/CachedImage.h:
1992         * page/FrameView.cpp:
1993         (WebCore::FrameView::setIsInWindow):
1994         When the FrameView is brought into a window, repaint all animated images.
1995         * platform/graphics/BitmapImage.cpp:
1996         (WebCore::BitmapImage::canAnimate): Added. 
1997         Return whether or not the image should animate (claims to animate, has not already
1998         finished its animation, and has an ImageObserver) *and* has more than one frame.
1999         * platform/graphics/BitmapImage.h:
2000         (BitmapImage): Add canAnimate.
2001
2002 2013-04-12  Martin Robinson  <mrobinson@igalia.com>
2003
2004         r148197 broke the GTK+ build
2005         https://bugs.webkit.org/show_bug.cgi?id=114525
2006
2007         Reviewed by Anders Carlsson.
2008
2009         Re-add the ENABLE(SCROLLING_THREAD) guards to scrolling thread files
2010         and extend them with USE(COORDINATED_GRAPHICS). This code is unused
2011         by other configurations currently.
2012
2013         * page/scrolling/ScrollingStateFixedNode.cpp: Re-add guards.
2014         * page/scrolling/ScrollingStateFixedNode.h: Ditto.
2015         * page/scrolling/ScrollingStateNode.cpp: Ditto.
2016         * page/scrolling/ScrollingStateNode.h: Ditto.
2017         * page/scrolling/ScrollingStateScrollingNode.cpp: Ditto.
2018         * page/scrolling/ScrollingStateScrollingNode.h: Ditto.
2019         * page/scrolling/ScrollingStateStickyNode.cpp: Ditto.
2020         * page/scrolling/ScrollingStateStickyNode.h: Ditto.
2021         * page/scrolling/ScrollingStateTree.cpp: Ditto.
2022         * page/scrolling/ScrollingStateTree.h: Ditto.
2023         * page/scrolling/mac/ScrollingStateNodeMac.mm: Ditto.
2024         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm: Ditto.
2025
2026 2013-04-12  Jer Noble  <jer.noble@apple.com>
2027
2028         (AVFoundation) WebKit fails to detect live stream.
2029         https://bugs.webkit.org/show_bug.cgi?id=114474
2030
2031         Reviewed by Eric Carlson.
2032
2033         Remove a workaround (added by r88944) for an error in an Apple.com javascript
2034         media controller. The error has been fixed, and the workaround is causing problems
2035         with other media streams.
2036
2037         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2038         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2039
2040 2013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2041
2042         [GTK] Split GtkAuthenticationDialog in two widgets
2043         https://bugs.webkit.org/show_bug.cgi?id=103644
2044
2045         Reviewed by Xan Lopez.
2046
2047         The current GtkAuthenticationDialog implements both the common
2048         logic and widgets to implement a real GtkDialog and a widget to be
2049         embedded in any container. WebKit1 uses a GtkDialog while WebKit2
2050         embeds the dialog in the WebView. This patch splits the code to
2051         leave in Platform only the code that is actually common, leaving
2052         the widget implementation to the WebKit layer, using a dialog in
2053         WebKit1 and embedding auth widget in the WebView in WebKit2.
2054
2055         * GNUmakefile.list.am: Add new files to compilation.
2056         * platform/gtk/GtkAuthenticationDialog.cpp: Removed.
2057         * platform/gtk/GtkAuthenticationDialog.h: Removed.
2058         * platform/gtk/WebKitAuthenticationWidget.cpp: Added.
2059         (_WebKitAuthenticationWidgetPrivate):
2060         (packTwoColumnLayoutInBox):
2061         (createLabel):
2062         (createEntry):
2063         (webkitAuthenticationWidgetInitialize):
2064         (webkitAuthenticationWidgetFinalize):
2065         (webkit_authentication_widget_init):
2066         (webkit_authentication_widget_class_init):
2067         (webkitAuthenticationWidgetNew):
2068         (webkitAuthenticationWidgetCreateCredential):
2069         (webkitAuthenticationWidgetGetChallenge):
2070         * platform/gtk/WebKitAuthenticationWidget.h: Added.
2071         (_WebKitAuthenticationWidget):
2072         (_WebKitAuthenticationWidgetClass):
2073
2074 2013-04-11  Jer Noble  <jer.noble@apple.com>
2075
2076         Add support for MediaPlayer::minTimeSeekable()
2077         https://bugs.webkit.org/show_bug.cgi?id=114484
2078
2079         Reviewed by Eric Carlson.
2080
2081         Plumb a new minTimeSeekable() method through MediaPlayer and
2082         MediaPlayerPrivate and use this new method in the existing
2083         HTMLMediaElement::minTimeSeekable() method.
2084
2085         * html/HTMLMediaElement.cpp:
2086         (WebCore::HTMLMediaElement::minTimeSeekable): Pass to MediaPlayer.
2087         * platform/graphics/MediaPlayer.cpp:
2088         (WebCore::NullMediaPlayerPrivate::minTimeSeekable): Return 0.
2089         (WebCore::MediaPlayer::minTimeSeekable): Pass to MediaPlayerPrivate.
2090         * platform/graphics/MediaPlayer.h:
2091         * platform/graphics/MediaPlayerPrivate.h:
2092         (WebCore::MediaPlayerPrivateInterface::seekable): Define in terms of 
2093             minTimeSeekable()
2094         (WebCore::MediaPlayerPrivateInterface::minTimeSeekable): Default to 0.
2095         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2096         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
2097             Initialize new m_cachedMinTimeSeekable ivar.
2098         (WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble):
2099             Renamed from maxTimeSeekable().
2100         (WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Added.
2101             Cache value of platformMinTimeSeekable().
2102         (WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
2103             Reset m_cachedMinTimeSeekable.
2104         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2105         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2106         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2107         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): float -> double.
2108         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
2109             Added. Retrieve the lowest value from -[m_playerItem seekableTimeRanges].
2110         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
2111             float -> double.
2112
2113 2013-04-12  Commit Queue  <rniwa@webkit.org>
2114
2115         Unreviewed, rolling out r147942, r148026, and r148092.
2116         http://trac.webkit.org/changeset/147942
2117         http://trac.webkit.org/changeset/148026
2118         http://trac.webkit.org/changeset/148092
2119         https://bugs.webkit.org/show_bug.cgi?id=114521
2120
2121         "r147942 is buggy. Rollback all the patches depending on it."
2122         (Requested by abucur on #webkit).
2123
2124         * dom/ContainerNode.cpp:
2125         (WebCore::willRemoveChildren):
2126         (WebCore):
2127         (WebCore::ContainerNode::removeChildren):
2128         * dom/Document.cpp:
2129         (WebCore::Document::nodeChildrenWillBeRemoved):
2130         (WebCore):
2131         * dom/Document.h:
2132         (Document):
2133         * dom/Node.cpp:
2134         * dom/Node.h:
2135         (Node):
2136         * dom/NodeTraversal.cpp:
2137         * dom/NodeTraversal.h:
2138         (ElementTraversal):
2139         (NodeTraversal):
2140         * dom/Range.cpp:
2141         (WebCore::boundaryNodeChildrenWillBeRemoved):
2142         (WebCore):
2143         (WebCore::Range::nodeChildrenWillBeRemoved):
2144         * dom/Range.h:
2145         * html/HTMLLIElement.cpp:
2146         (WebCore::HTMLLIElement::attach):
2147         * html/HTMLOListElement.cpp:
2148         (WebCore::HTMLOListElement::updateItemValues):
2149         (WebCore::HTMLOListElement::recalculateItemCount):
2150         * rendering/RenderCounter.cpp:
2151         (WebCore::previousInPreOrder):
2152         (WebCore::previousSiblingOrParent):
2153         (WebCore::parentElement):
2154         (WebCore::nextInPreOrder):
2155         * rendering/RenderListItem.cpp:
2156         (WebCore::enclosingList):
2157         (WebCore::RenderListItem::nextListItem):
2158         (WebCore::previousListItem):
2159         (WebCore::RenderListItem::calcValue):
2160         (WebCore::RenderListItem::explicitValueChanged):
2161         (WebCore::previousOrNextItem):
2162         (WebCore::RenderListItem::updateListMarkerNumbers):
2163         * rendering/RenderListItem.h:
2164         (RenderListItem):
2165
2166 2013-04-12  Jer Noble  <jer.noble@apple.com>
2167
2168         TimeRanges::nearest() returns incorrect results.
2169         https://bugs.webkit.org/show_bug.cgi?id=114483
2170
2171         Reviewed by Eric Carlson.
2172
2173         Test: media/timeranges-nearest.html
2174
2175         TimeRanges::nearest() has had an incorrect algorithm since its
2176         addition, which has gone unnoticed because no media engine supports
2177         seekable ranges with greater than one entry, and no media engine
2178         seekable ranges with startTime values > 0.
2179
2180         Fix the algorithm used to walk a TimeRanges object; return the closest
2181         time, not the smallest delta between range and target time.
2182         * html/TimeRanges.cpp:
2183         (TimeRanges::nearest):
2184
2185         Add some internal functions to allow us to write LayoutTests for
2186         TimeRanges objects:
2187         * WebCore.exp.in:
2188         * testing/Internals.cpp:
2189         (WebCore::Internals::createTimeRanges):
2190         (WebCore::Internals::closestTimeToTimeRanges):
2191         * testing/Internals.h:
2192         * testing/Internals.idl:
2193
2194 2013-04-12  Eric Carlson  <eric.carlson@apple.com>
2195
2196         Support "forced" subtitles
2197         https://bugs.webkit.org/show_bug.cgi?id=114460
2198
2199         Reviewed by Jer Noble.
2200
2201         Test: media/track/track-forced-subtitles.html
2202
2203         * html/HTMLMediaElement.cpp:
2204         (WebCore::HTMLMediaElement::configureTextTrackGroup): Enable a forced track if nothing else is enabled.
2205         (WebCore::HTMLMediaElement::configureTextTracks): Include forced tracks with captions+subtitles.
2206
2207         * html/track/InbandTextTrack.cpp:
2208         (WebCore::InbandTextTrack::InbandTextTrack): Deal with kind=forced.
2209
2210         * html/track/TextTrack.cpp:
2211         (WebCore::TextTrack::forcedKeyword): New keyword.
2212         (WebCore::TextTrack::isValidKindKeyword): Include forced.
2213         (WebCore::TextTrack::platformTextTrack): Ditto.
2214         * html/track/TextTrack.h:
2215
2216         * page/CaptionUserPreferences.cpp:
2217         (WebCore::CaptionUserPreferences::primaryAudioTrackLanguageOverride): New override to support testing.
2218         * page/CaptionUserPreferences.h:
2219
2220         * page/CaptionUserPreferencesMac.mm:
2221         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Support forced tracks.
2222         * platform/graphics/InbandTextTrackPrivate.h:
2223
2224         * platform/graphics/PlatformTextTrack.h: Add Forced, minor cleanup.
2225
2226         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2227         (WebCore::InbandTextTrackPrivateAVF::processCue): Drive-by enhancement: log cue position.
2228
2229         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
2230         (WebCore::InbandTextTrackPrivateAVFObjC::kind): Support forced.
2231         (WebCore::InbandTextTrackPrivateAVFObjC::label): Drive-by cleanup.
2232
2233         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2234         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Don't filter out forced tracks.
2235         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Log the language returned.
2236
2237         * testing/Internals.cpp:
2238         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): New.
2239         (WebCore::Internals::setCaptionDisplayMode): New.
2240         * testing/Internals.h:
2241         * testing/Internals.idl:
2242
2243 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2244
2245         [Mac] Some ligatures are applied across different fronts
2246         https://bugs.webkit.org/show_bug.cgi?id=113604
2247
2248         Reviewed by Darin Adler.
2249
2250         The bug was caused by applyFontTransforms applying ligatures without updating the font data in the glyph buffer.
2251
2252         Suppose we have characters AB and A uses font X and B uses font Y. Further suppose that we have ligatures for AB
2253         in Y. The problem was that WithIterator::advanceInternal calls applyFontTransforms on AB to apply this ligature
2254         even though A and B use different fonts. Since X doesn't contain the same ligature for A to be paired with that
2255         of B in X, we get a blank A.
2256
2257         Fixed the bug by resetting lastGlyphCount after calling applyFontTransforms. This ensures that we don't call
2258         applyFontTransforms across different fonts.
2259
2260         No new tests since this requires a variant of Osaka font that doesn't come with OS X.
2261
2262         The bug 114482 tracks the effort to add a test for this bug fix. I've already asked someone to create a custom
2263         font for us so that we can test this bug fix but that's going to a while.
2264
2265         * platform/graphics/WidthIterator.cpp:
2266         (WebCore::WidthIterator::advanceInternal):
2267
2268 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2269
2270         [Mac] Enable spellchecking tests added in r141471
2271         https://bugs.webkit.org/show_bug.cgi?id=108525
2272
2273         Reviewed by Darin Adler.
2274
2275         Made automatic quote substitution, dash substitution, text replacement, and spelling correction
2276         togglable via internals object. These functions are no-op when text replacement is not used.
2277
2278         This allows us to disable automatic spelling correction in spellcheck tests.
2279
2280         Enabled several tests added in r141471.
2281
2282         * WebCore.exp.in:
2283         * testing/Internals.cpp:
2284         (WebCore::Internals::setContinuousSpellCheckingEnabled): Don't null check editor() since it's not
2285         null whenever frame() is not null.
2286         (WebCore::Internals::setAutomaticQuoteSubstitutionEnabled): Added.
2287         (WebCore::Internals::setAutomaticLinkDetectionEnabled): Added.
2288         (WebCore::Internals::setAutomaticDashSubstitutionEnabled): Added.
2289         (WebCore::Internals::setAutomaticTextReplacementEnabled): Added.
2290         (WebCore::Internals::setAutomaticSpellingCorrectionEnabled): Added.
2291         * testing/Internals.h:
2292         * testing/Internals.idl:
2293
2294 2013-04-12  Alberto Garcia  <agarcia@igalia.com>
2295
2296         [BlackBerry] Upstream the filesystem code
2297         https://bugs.webkit.org/show_bug.cgi?id=114437
2298
2299         Reviewed by Rob Buis.
2300
2301         These are the changes for AsyncFileSystemBlackBerry.
2302
2303         This patch contains contributions from many members of the
2304         BlackBerry WebKit team.
2305
2306         * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
2307         (WebCore::AsyncFileSystem::isAvailable):
2308         (WebCore):
2309         (WebCore::AsyncFileSystem::create):
2310         (WebCore::AsyncFileSystem::openFileSystem):
2311         (WebCore::AsyncFileSystemBlackBerry::openFileSystem):
2312         (WebCore::AsyncFileSystem::deleteFileSystem):
2313         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
2314         (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
2315         (WebCore::AsyncFileSystemBlackBerry::move):
2316         (WebCore::AsyncFileSystemBlackBerry::copy):
2317         (WebCore::AsyncFileSystemBlackBerry::remove):
2318         (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
2319         (WebCore::AsyncFileSystemBlackBerry::readMetadata):
2320         (WebCore::AsyncFileSystemBlackBerry::createFile):
2321         (WebCore::AsyncFileSystemBlackBerry::createDirectory):
2322         (WebCore::AsyncFileSystemBlackBerry::fileExists):
2323         (WebCore::AsyncFileSystemBlackBerry::directoryExists):
2324         (WebCore::AsyncFileSystemBlackBerry::readDirectory):
2325         (WebCore::AsyncFileSystemBlackBerry::createWriter):
2326         (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
2327         (WebCore::AsyncFileSystemBlackBerry::fileSystemURLToPath):
2328         * platform/blackberry/AsyncFileSystemBlackBerry.h:
2329         (WTF):
2330         (WTF::BlackBerry::Platform::WebFileSystem):
2331         (WebCore::AsyncFileSystemBlackBerry::create):
2332         (AsyncFileSystemBlackBerry):
2333
2334 2013-04-12  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2335
2336         Apply our MSVC 2012 optimizer bug workaround to all minor releases
2337         https://bugs.webkit.org/show_bug.cgi?id=114436
2338
2339         Reviewed by Alexey Proskuryakov.
2340
2341         The bug has only been partially fixed in Update 2 but our Update 1 workaround
2342         still avoids the crash.
2343
2344         * platform/text/TextEncodingRegistry.cpp:
2345         (WebCore::TextEncodingNameHash::equal):
2346
2347 2013-04-12  Mark Rowe  <mrowe@apple.com>
2348
2349         And again, with the correct case this time.
2350
2351         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2352
2353 2013-04-12  Mark Rowe  <mrowe@apple.com>
2354
2355         Build fix.
2356
2357         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2358         Add missing #include and forward declaration.
2359
2360 2013-04-12  Zan Dobersek  <zdobersek@igalia.com>
2361
2362         Unreviewed functionality fix for ports enabling the MicroData feature.
2363
2364         * html/DOMSettableTokenList.idl: Add the SkipVTableValidation IDL attribute to the DOMSettableTokenList interface.
2365         This removes crashes in the MicroData layout tests that are occurring on EFL and GTK builders, the two ports being
2366         the only ports that enable this feature.
2367
2368 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
2369
2370         Move CachedRawResourceClient into a separate file
2371         https://bugs.webkit.org/show_bug.cgi?id=114491
2372
2373         Reviewed by Mark Rowe.
2374
2375         * GNUmakefile.list.am:
2376         * Target.pri:
2377         * WebCore.vcproj/WebCore.vcproj:
2378         * WebCore.vcxproj/WebCore.vcxproj:
2379         * WebCore.vcxproj/WebCore.vcxproj.filters:
2380         * WebCore.xcodeproj/project.pbxproj:
2381         * loader/DocumentLoader.cpp:
2382         * loader/DocumentLoader.h:
2383         * loader/DocumentThreadableLoader.h:
2384         * loader/archive/cf/LegacyWebArchive.cpp:
2385         * loader/cache/CachedRawResource.cpp:
2386         * loader/cache/CachedRawResource.h:
2387         * loader/cache/CachedRawResourceClient.h: Added.
2388         * loader/icon/IconLoader.h:
2389         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2390
2391 2013-04-12  Commit Queue  <rniwa@webkit.org>
2392
2393         Unreviewed, rolling out r148262.
2394         http://trac.webkit.org/changeset/148262
2395         https://bugs.webkit.org/show_bug.cgi?id=114493
2396
2397         Cairo dep should now build, rolling r148247 back in (Requested
2398         by zdobersek on #webkit).
2399
2400         * platform/graphics/GraphicsContext.cpp:
2401         (WebCore):
2402         * platform/graphics/ImageBuffer.cpp:
2403         (WebCore):
2404         * platform/graphics/cairo/GLContext.h:
2405         (GLContext):
2406         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2407         (WebCore::GraphicsContext::isAcceleratedContext):
2408         (WebCore):
2409         * platform/graphics/cairo/ImageBufferCairo.cpp:
2410         (WebCore::ImageBufferData::ImageBufferData):
2411         (WebCore):
2412         (WebCore::createCairoGLSurface):
2413         (WebCore::ImageBuffer::ImageBuffer):
2414         (WebCore::ImageBuffer::platformTransformColorSpace):
2415         (WebCore::mapSurfaceToImage):
2416         (WebCore::unmapSurfaceFromImage):
2417         (WebCore::getImageData):
2418         (WebCore::ImageBuffer::putByteArray):
2419         (WebCore::ImageBufferData::paintToTextureMapper):
2420         (WebCore::ImageBuffer::platformLayer):
2421         * platform/graphics/cairo/ImageBufferDataCairo.h:
2422         (ImageBufferData):
2423         * platform/graphics/egl/GLContextEGL.cpp:
2424         (WebCore::GLContextEGL::GLContextEGL):
2425         (WebCore::GLContextEGL::~GLContextEGL):
2426         (WebCore::GLContextEGL::cairoDevice):
2427         (WebCore):
2428         * platform/graphics/egl/GLContextEGL.h:
2429         * platform/graphics/glx/GLContextGLX.cpp:
2430         (WebCore::GLContextGLX::GLContextGLX):
2431         (WebCore::GLContextGLX::~GLContextGLX):
2432         (WebCore::GLContextGLX::cairoDevice):
2433         (WebCore):
2434         * platform/graphics/glx/GLContextGLX.h:
2435         (GLContextGLX):
2436
2437 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
2438
2439         Reduce includes of CachedSVGDocument.h
2440         https://bugs.webkit.org/show_bug.cgi?id=114489
2441
2442         Reviewed by Jon Honeycutt.
2443
2444         * loader/cache/CachedSVGDocumentReference.cpp: Added.
2445         * loader/cache/CachedSVGDocumentReference.h:
2446         Moved function implementations to newly added .cpp file, and removed an include
2447         of CachedSVGDocument.h.
2448
2449         * css/WebKitCSSSVGDocumentValue.h: Just removed an unnecessary include.
2450
2451         * CMakeLists.txt:
2452         * GNUmakefile.list.am:
2453         * Target.pri:
2454         * WebCore.vcproj/WebCore.vcproj:
2455         * WebCore.vcxproj/WebCore.vcxproj:
2456         * WebCore.vcxproj/WebCore.vcxproj.filters:
2457         * WebCore.xcodeproj/project.pbxproj:
2458
2459 2013-04-11  Commit Queue  <rniwa@webkit.org>
2460
2461         Unreviewed, rolling out r148247.
2462         http://trac.webkit.org/changeset/148247
2463         https://bugs.webkit.org/show_bug.cgi?id=114490
2464
2465         Cairo dep fails to build on builders due to missing EGL
2466         headers (Requested by zdobersek on #webkit).
2467
2468         * platform/graphics/GraphicsContext.cpp:
2469         (WebCore):
2470         * platform/graphics/ImageBuffer.cpp:
2471         (WebCore):
2472         * platform/graphics/cairo/GLContext.h:
2473         (GLContext):
2474         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2475         * platform/graphics/cairo/ImageBufferCairo.cpp:
2476         (WebCore::ImageBufferData::ImageBufferData):
2477         (WebCore::ImageBuffer::ImageBuffer):
2478         (WebCore::ImageBuffer::platformTransformColorSpace):
2479         (WebCore::getImageData):
2480         (WebCore::ImageBuffer::putByteArray):
2481         (WebCore):
2482         * platform/graphics/cairo/ImageBufferDataCairo.h:
2483         (ImageBufferData):
2484         * platform/graphics/egl/GLContextEGL.cpp:
2485         (WebCore::GLContextEGL::GLContextEGL):
2486         (WebCore::GLContextEGL::~GLContextEGL):
2487         * platform/graphics/egl/GLContextEGL.h:
2488         * platform/graphics/glx/GLContextGLX.cpp:
2489         (WebCore::GLContextGLX::GLContextGLX):
2490         (WebCore::GLContextGLX::~GLContextGLX):
2491         * platform/graphics/glx/GLContextGLX.h:
2492         (GLContextGLX):
2493
2494 2013-04-11  Nico Weber  <thakis@chromium.org>
2495
2496         Remove debugging code that is no longer used with current mac sdks.
2497         https://bugs.webkit.org/show_bug.cgi?id=114486
2498
2499         Reviewed by Dan Bernstein.
2500
2501         This code compared __MAC_OS_X_VERSION_MAX_ALLOWED and friends to
2502         107 and 106 instead of the correct 1070 and 1060. Instead of fixing
2503         this, rip the code out completely: Since WebKit now only targets
2504         current systems, the ifdef is always false anyways.
2505
2506         No tests, as this only removes debugging code.
2507
2508         * platform/graphics/mac/SimpleFontDataMac.mm:
2509         (WebCore::SimpleFontData::platformInit):
2510
2511 2013-04-11  Oliver Hunt  <oliver@apple.com>
2512
2513         Fix windows build and land new binding test results
2514
2515         * bindings/scripts/CodeGeneratorJS.pm:
2516         (GenerateImplementation):
2517         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2518         (WebCore):
2519         (WebCore::toJS):
2520         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2521         (WebCore):
2522         (WebCore::toJS):
2523         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2524         (WebCore):
2525         (WebCore::toJS):
2526         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2527         (WebCore):
2528         (WebCore::toJS):
2529         * bindings/scripts/test/JS/JSTestException.cpp:
2530         (WebCore):
2531         (WebCore::toJS):
2532         * bindings/scripts/test/JS/JSTestInterface.cpp:
2533         (WebCore):
2534         (WebCore::toJS):
2535         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2536         (WebCore):
2537         (WebCore::toJS):
2538         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2539         (WebCore):
2540         (WebCore::toJS):
2541         * bindings/scripts/test/JS/JSTestObj.cpp:
2542         (WebCore):
2543         (WebCore::toJS):
2544         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2545         (WebCore):
2546         (WebCore::toJS):
2547         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2548         (WebCore):
2549         (WebCore::toJS):
2550         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2551         (WebCore):
2552         (WebCore::toJS):
2553
2554 2013-04-11  Shezan Baig  <sbaig1@bloomberg.net>
2555
2556         Selection gaps don't repaint correctly with transforms
2557         https://bugs.webkit.org/show_bug.cgi?id=111000
2558
2559         Reviewed by Simon Fraser.
2560
2561         When computing offsetFromRepaintContainer, we need to add UseTransforms
2562         to the MapCoordinateFlags argument. Note that ApplyContainerFlip is
2563         the default value for the flag, so this change effectively only adds
2564         the UseTransforms flag.
2565
2566         Tests: fast/repaint/selection-gap-absolute-child.html
2567                fast/repaint/selection-gap-fixed-child.html
2568                fast/repaint/selection-gap-flipped-absolute-child.html
2569                fast/repaint/selection-gap-flipped-fixed-child.html
2570                fast/repaint/selection-gap-transformed-absolute-child.html
2571                fast/repaint/selection-gap-transformed-fixed-child.html
2572
2573         * rendering/RenderBlock.cpp:
2574         (WebCore::RenderBlock::selectionGapRectsForRepaint):
2575
2576 2013-04-11  Oliver Hunt  <oliver@apple.com>
2577
2578         Add more type validation to debug builds
2579         https://bugs.webkit.org/show_bug.cgi?id=114478
2580
2581         Reviewed by Mark Hahnenberg.
2582
2583         Add a bunch more type checks to the JS DOM bindings.
2584
2585         * Modules/mediastream/MediaStream.idl:
2586         * Modules/webaudio/AudioDestinationNode.idl:
2587         * WebCore.xcodeproj/project.pbxproj:
2588         * bindings/js/JSDOMBinding.h:
2589         (WebCore::getExistingWrapper):
2590         (WebCore):
2591         (WebCore::createNewWrapper):
2592         * bindings/scripts/CodeGeneratorJS.pm:
2593         (GetNativeTypeForConversions):
2594         (GetGnuVTableRefForInterface):
2595         (GetGnuVTableNameForInterface):
2596         (GetGnuMangledNameForInterface):
2597         (GetGnuVTableOffsetForType):
2598         (GetWinVTableRefForInterface):
2599         (GetWinVTableNameForInterface):
2600         (GetWinMangledNameForInterface):
2601         (GetNamespaceForInterface):
2602         (GetImplementationLacksVTableForInterface):
2603         (GetSkipVTableValidationForInterface):
2604         (GenerateImplementation):
2605         * bindings/scripts/IDLAttributes.txt:
2606         * css/CSSRuleList.idl:
2607         * css/CSSStyleDeclaration.idl:
2608         * dom/Clipboard.idl:
2609         * dom/DOMStringMap.idl:
2610         * dom/MutationRecord.idl:
2611         * dom/NodeList.idl:
2612         * html/DOMTokenList.idl:
2613         * html/track/TextTrack.idl:
2614         * inspector/ScriptProfileNode.idl:
2615         * storage/Storage.idl:
2616         * xml/XPathNSResolver.idl:
2617
2618 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
2619
2620         Remove ResourceLoadInfo
2621         https://bugs.webkit.org/show_bug.cgi?id=113302
2622
2623         Reviewed by Benjamin Poulain.
2624
2625         Co-authored by Christophe Dumez.
2626
2627         Removed ResourceLoadInfo since it had been only used by Chromium port.
2628
2629         * GNUmakefile.list.am:
2630         * Target.pri:
2631         * WebCore.order:
2632         * WebCore.vcproj/WebCore.vcproj:
2633         * WebCore.vcxproj/WebCore.vcxproj:
2634         * WebCore.vcxproj/WebCore.vcxproj.filters:
2635         * WebCore.xcodeproj/project.pbxproj:
2636         * inspector/InspectorResourceAgent.cpp:
2637         (WebCore::buildObjectForResourceResponse):
2638         * loader/FrameLoader.cpp:
2639         (WebCore::FrameLoader::loadResourceSynchronously):
2640         * platform/network/ResourceLoadInfo.h: Removed.
2641         * platform/network/ResourceResponseBase.cpp:
2642         (WebCore):
2643         (WebCore::ResourceResponseBase::reportMemoryUsage):
2644         * platform/network/ResourceResponseBase.h:
2645         (ResourceResponseBase):
2646
2647 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
2648
2649         Another Mac Lion build fix attempt after r148197.
2650
2651         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
2652
2653 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
2654
2655         Unable to paste twice in input field when specific CSS present
2656         https://bugs.webkit.org/show_bug.cgi?id=108675
2657
2658         Reviewed by Ryosuke Niwa.
2659
2660         When we are pre-rendering text in ReplaceSelectionCommand, we shouldn't care
2661         whether the content is clipped by its ancestors or not. This bug was caused
2662         by the fact the plainText() method returned an empty string because the text
2663         was fully clipped by its ancestors. Make plainText ignore style visibility.
2664
2665         Test: editing/inserting/insert-text-into-text-field.html
2666
2667         * editing/ReplaceSelectionCommand.cpp:
2668         (WebCore::ReplacementFragment::ReplacementFragment):
2669
2670 2013-04-11  Martin Robinson  <mrobinson@igalia.com>
2671
2672         [GTK] Add accelerated 2D canvas support using cairo-gl
2673         https://bugs.webkit.org/show_bug.cgi?id=104672
2674
2675         Reviewed by Alejandro G. Castro.
2676
2677         No new tests. We do not yet have the ability to run tests against
2678         accelerated content.
2679
2680         * platform/graphics/GraphicsContext.cpp:
2681         (WebCore): We don't use the stub implementation of isAcceleratedContext any longer.
2682         * platform/graphics/ImageBuffer.cpp:
2683         (WebCore): Ditto for ImageBuffer::platformLayer.
2684         * platform/graphics/cairo/GLContext.h:
2685         (GLContext): Added method to get a cairo_device_t from the context.
2686         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2687         (WebCore::GraphicsContext::isAcceleratedContext): Return true when we are a CairoGL surface.
2688         * platform/graphics/cairo/ImageBufferCairo.cpp:
2689         (WebCore::ImageBufferData::ImageBufferData): Initialize the size and the texture to 0.
2690         (WebCore::createCairoGLSurface): Added this helper.
2691         (WebCore::ImageBuffer::ImageBuffer): When we are in accelerated rendering mode, create
2692         a CairoGL surface.
2693         (WebCore::ImageBuffer::platformTransformColorSpace): Do not implement this for accelerated
2694         contexts yet.
2695         (WebCore::mapSurfaceToImage): Added this helper, since we don't require Cairo 1.12 yet,
2696         which provides an builtin implementation.
2697         (WebCore::unmapSurfaceFromImage): Ditto.
2698         (WebCore::getImageData): Map the surface to an image surface first.
2699         (WebCore::ImageBuffer::putByteArray): Ditto.
2700         (WebCore::ImageBufferData::paintToTextureMapper): Connect the accelerated canvas into the
2701         TextureMapper infrastructure.
2702         (WebCore::ImageBuffer::platformLayer): This lets the TextureMapper at the ImageBufferData.
2703         * platform/graphics/cairo/ImageBufferDataCairo.h:
2704         (ImageBufferData): Subclass TexturMapperPlatformLayer where appropriate.
2705         * platform/graphics/egl/GLContextEGL.cpp: Added implementation of cairoDevice.
2706         * platform/graphics/egl/GLContextEGL.h: Ditto.
2707         * platform/graphics/glx/GLContextGLX.cpp: Ditto
2708         * platform/graphics/glx/GLContextGLX.h: Ditto.
2709
2710 2013-04-11  Anders Carlsson  <andersca@apple.com>
2711
2712         Implement removing storage area items
2713         https://bugs.webkit.org/show_bug.cgi?id=114472
2714
2715         Reviewed by Beth Dakin.
2716
2717         Export StorageMap::removeItem.
2718
2719         * WebCore.exp.in:
2720
2721 2013-04-11  Brendan Long  <b.long@cablelabs.com>
2722
2723         TextTrackList's .onremovetrack is missing from IDL
2724         https://bugs.webkit.org/show_bug.cgi?id=103421
2725
2726         Reviewed by Eric Carlson.
2727
2728         Fixed test media/track/opera/interfaces/TextTrackList/onremovetrack.html
2729
2730         * html/track/TextTrackList.cpp:
2731         (TextTrackList::remove):
2732         (TextTrackList::scheduleRemoveTrackEvent):
2733         * html/track/TextTrackList.h:
2734         (TextTrackList):
2735         * html/track/TextTrackList.idl:
2736
2737 2013-04-11  Alberto Garcia  <agarcia@igalia.com>
2738
2739         [BlackBerry] Upstream the filesystem code
2740         https://bugs.webkit.org/show_bug.cgi?id=114437
2741
2742         Reviewed by Rob Buis.
2743
2744         This patch contains contributions from many members of the
2745         BlackBerry WebKit team.
2746
2747         * platform/blackberry/AsyncFileWriterBlackBerry.cpp: Added.
2748         (WebCore):
2749         (WebCore::AsyncFileWriterBlackBerry::write):
2750         * platform/blackberry/AsyncFileWriterBlackBerry.h: Added.
2751         (WTF):
2752         (WTF::BlackBerry::Platform::WebFileWriter):
2753         (WebCore):
2754         * platform/blackberry/DOMFileSystemBlackBerry.cpp: Added.
2755         (WebCore):
2756         (WebCore::DOMFileSystemBase::createFileSystemURL):
2757         (WebCore::DOMFileSystemBase::crackFileSystemURL):
2758         (WebCore::DOMFileSystemBase::supportsToURL):
2759         (WebCore::DOMFileSystemBase::isValidType):
2760         * platform/blackberry/LocalFileSystemBlackBerry.cpp: Added.
2761         (WebCore):
2762         (WebCore::fileSystemTypeString):
2763         (WebCore::openFileSystem):
2764         (WebCore::LocalFileSystem::deleteFileSystem):
2765         (WebCore::LocalFileSystem::readFileSystem):
2766         (WebCore::LocalFileSystem::requestFileSystem):
2767         * platform/blackberry/PlatformAsyncFileSystemCallbacks.cpp: Added.
2768         (WebCore):
2769         (WebCore::PlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
2770         (WebCore::PlatformAsyncFileSystemCallbacks::notifySucceed):
2771         (WebCore::PlatformAsyncFileSystemCallbacks::notifyFail):
2772         (WebCore::getFileMetadata):
2773         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadMetadata):
2774         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
2775         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadDirectory):
2776         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
2777         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
2778         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
2779         (WebCore::PlatformAsyncFileSystemCallbacks::deleteMe):
2780         * platform/blackberry/PlatformAsyncFileSystemCallbacks.h: Added.
2781         (WebCore):
2782         * platform/blackberry/PlatformBlob.cpp: Added.
2783         (WebCore):
2784         (WebCore::PlatformBlob::nextDataItem):
2785         * platform/blackberry/PlatformBlob.h: Added.
2786         (WebCore):
2787         * platform/blackberry/PlatformFileWriterClient.cpp: Added.
2788         (WebCore):
2789         (WebCore::PlatformFileWriterClient::notifyWrite):
2790         (WebCore::PlatformFileWriterClient::notifyTruncate):
2791         (WebCore::PlatformFileWriterClient::notifyFail):
2792         * platform/blackberry/PlatformFileWriterClient.h: Added.
2793         (WebCore):
2794         (WTF):
2795         (WTF::WebCore::PlatformFileWriterClient):
2796         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp: Added.
2797         (WebCore):
2798         (WebCore::WorkerAsyncFileSystemBlackBerry::WorkerAsyncFileSystemBlackBerry):
2799         (WebCore::WorkerAsyncFileSystemBlackBerry::~WorkerAsyncFileSystemBlackBerry):
2800         (WebCore::WorkerAsyncFileSystemBlackBerry::waitForOperationToComplete):
2801         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystemOnMainThread):
2802         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystemOnMainThread):
2803         (WebCore::WorkerAsyncFileSystemBlackBerry::moveOnMainThread):
2804         (WebCore::WorkerAsyncFileSystemBlackBerry::copyOnMainThread):
2805         (WebCore::WorkerAsyncFileSystemBlackBerry::removeOnMainThread):
2806         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursivelyOnMainThread):
2807         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadataOnMainThread):
2808         (WebCore::WorkerAsyncFileSystemBlackBerry::createFileOnMainThread):
2809         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectoryOnMainThread):
2810         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExistsOnMainThread):
2811         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExistsOnMainThread):
2812         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectoryOnMainThread):
2813         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread):
2814         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadataOnMainThread):
2815         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystem):
2816         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystem):
2817         (WebCore::WorkerAsyncFileSystemBlackBerry::move):
2818         (WebCore::WorkerAsyncFileSystemBlackBerry::copy):
2819         (WebCore::WorkerAsyncFileSystemBlackBerry::remove):
2820         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursively):
2821         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadata):
2822         (WebCore::WorkerAsyncFileSystemBlackBerry::createFile):
2823         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectory):
2824         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExists):
2825         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExists):
2826         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectory):
2827         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriter):
2828         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
2829         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.h: Added.
2830         (WebCore):
2831         (WorkerAsyncFileSystemBlackBerry):
2832         (WebCore::WorkerAsyncFileSystemBlackBerry::create):
2833         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.cpp: Added.
2834         (WebCore):
2835         (WebCore::WorkerAsyncFileWriterBlackBerry::writeOnMainThread):
2836         (WebCore::WorkerAsyncFileWriterBlackBerry::truncateOnMainThread):
2837         (WebCore::WorkerAsyncFileWriterBlackBerry::abortOnMainThread):
2838         (WebCore::WorkerAsyncFileWriterBlackBerry::write):
2839         (WebCore::WorkerAsyncFileWriterBlackBerry::truncate):
2840         (WebCore::WorkerAsyncFileWriterBlackBerry::abort):
2841         (WebCore::WorkerAsyncFileWriterBlackBerry::waitForOperationToComplete):
2842         (WebCore::WorkerAsyncFileWriterBlackBerry::platformWriterClient):
2843         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.h: Added.
2844         (WebCore):
2845         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp: Added.
2846         (WebCore):
2847         (WebCore::performTaskOnMainThread):
2848         (WebCore::postTaskToMainThread):
2849         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyStop):
2850         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
2851         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceed):
2852         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFail):
2853         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadata):
2854         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectory):
2855         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
2856         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
2857         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
2858         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::deleteMe):
2859         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::postTaskToWorkerThread):
2860         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystemOnWorkerThread):
2861         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceedOnWorkerThread):
2862         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFailOnWorkerThread):
2863         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadataOnWorkerThread):
2864         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectoryEntryOnWorkerThread):
2865         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriterOnWorkerThread):
2866         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h: Added.
2867         (WebCore):
2868         * platform/blackberry/WorkerPlatformFileWriterClient.cpp: Added.
2869         (WebCore):
2870         (WebCore::WorkerPlatformFileWriterClient::notifyWriteOnWorkerThread):
2871         (WebCore::WorkerPlatformFileWriterClient::notifyFailOnWorkerThread):
2872         (WebCore::WorkerPlatformFileWriterClient::notifyTruncateOnWorkerThread):
2873         (WebCore::WorkerPlatformFileWriterClient::notifyWrite):
2874         (WebCore::WorkerPlatformFileWriterClient::notifyTruncate):
2875         (WebCore::WorkerPlatformFileWriterClient::notifyFail):
2876         (WebCore::WorkerPlatformFileWriterClient::postTaskToWorkerThreadIfNeeded):
2877         * platform/blackberry/WorkerPlatformFileWriterClient.h: Added.
2878         (WebCore):
2879         (WTF):
2880         (WTF::WebCore::WorkerPlatformFileWriterClient):
2881
2882 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
2883
2884         Mac Lion build fix attempt after r148197.
2885
2886         * page/scrolling/mac/ScrollingStateNodeMac.mm:
2887
2888 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
2889
2890         <rdar://problem/10416316> [Mac] WebSocket doesn't work with authenticating proxies
2891         https://bugs.webkit.org/show_bug.cgi?id=114464
2892
2893         Reviewed by Brady Eidson.
2894
2895         * platform/mac/WebCoreSystemInterface.h:
2896         * platform/mac/WebCoreSystemInterface.mm:
2897         Updated for new wkCopyCONNECTProxyResponse signature.
2898
2899         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2900         (WebCore::SocketStreamHandle::executePACFileURL): Fixed a typo in a comment.
2901         (WebCore::SocketStreamHandle::addCONNECTCredentials): Don't crash even if the rest
2902         of the fix didn't work (which would be the case on some OS versions).
2903         (WebCore::SocketStreamHandle::readStreamCallback): Replaced most breaks with returns,
2904         because breaks were confusing in such a huge switch. Changed null proxyResponse
2905         to not be treated as authentication success, because it's not. Merged two parts
2906         of WaitingForConnect state handling for clarity.
2907         (WebCore::SocketStreamHandle::writeStreamCallback): Don't blindly assume that we
2908         can start WebSocket handshake after kCFStreamEventCanAcceptBytes. Perhaps it's
2909         nothing but a failed CONNECT, and a read callback still needs to send authentication.
2910         Without this, establishing connections was flaky. Added a check for Closed state,
2911         matching read callback.
2912
2913 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
2914
2915         MutationRecord is not exposed
2916         https://bugs.webkit.org/show_bug.cgi?id=114288
2917
2918         Reviewed by Darin Adler.
2919
2920         Expose MutationRecord on DOMWindow. This patch is copied from a patch
2921         by Adam Klein. https://codereview.chromium.org/13861028
2922
2923         Test: fast/dom/MutationObserver/mutation-record-constructor.html
2924
2925         * page/DOMWindow.idl:
2926
2927 2013-04-11  Beth Dakin  <bdakin@apple.com>
2928
2929         Cannot scroll to footer on a page with overflow:hidden on the body
2930         https://bugs.webkit.org/show_bug.cgi?id=114462
2931         -and corresponding-
2932         <rdar://problem/13530042>
2933
2934         Reviewed by Simon Fraser.
2935
2936         Add a new scenario in which we want to overrideHidden -- whenever we are the 
2937         mainFrame and there is a header or footer.
2938
2939         * page/FrameView.cpp:
2940         (WebCore::FrameView::applyOverflowToViewport):
2941
2942 2013-04-11  Commit Queue  <rniwa@webkit.org>
2943
2944         Unreviewed, rolling out r148034, r148052, r148097, and
2945         r148194.
2946         http://trac.webkit.org/changeset/148034
2947         http://trac.webkit.org/changeset/148052
2948         http://trac.webkit.org/changeset/148097
2949         http://trac.webkit.org/changeset/148194
2950         https://bugs.webkit.org/show_bug.cgi?id=114463
2951
2952         broke mutiresolution favicons, among other things (Requested
2953         by thorton on #webkit).
2954
2955         * loader/icon/IconDatabase.cpp:
2956         (WebCore::IconDatabase::setIconDataForIconURL):
2957         * loader/icon/IconDatabase.h:
2958         (IconDatabase):
2959         * loader/icon/IconDatabaseBase.h:
2960         * loader/icon/IconRecord.cpp:
2961         * loader/icon/IconRecord.h:
2962         (IconRecord):
2963
2964 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
2965
2966         [GTK][AC] Implement GraphicsLayerClutter::moveOrCopyAnimations
2967         https://bugs.webkit.org/show_bug.cgi?id=114019
2968
2969         Reviewed by Gustavo Noronha Silva.
2970
2971         Fill moveOrCopyAnimations that is based on Mac port implementation.
2972
2973         Tests: animations/3d/change-transform-in-end-event.html
2974                animations/3d/transform-origin-vs-functions.html
2975                compositing/animation/state-at-end-event-transform-layer.html
2976
2977         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2978         (WebCore::GraphicsLayerClutter::moveOrCopyLayerAnimation):
2979         (WebCore):
2980         (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
2981         * platform/graphics/clutter/GraphicsLayerClutter.h:
2982
2983 2013-04-11  Anders Carlsson  <andersca@apple.com>
2984
2985         Implement StorageManager::getValues
2986         https://bugs.webkit.org/show_bug.cgi?id=114461
2987
2988         Reviewed by Beth Dakin.
2989
2990         Expose the item hash map.
2991
2992         * storage/StorageMap.h:
2993         (WebCore::StorageMap::items):
2994
2995 2013-04-11  Eli Fidler  <efidler@blackberry.com>
2996
2997         [BlackBerry] Use the platform list of languages with fonts instead of hardcoding
2998         https://bugs.webkit.org/show_bug.cgi?id=114452
2999
3000         Reviewed by Rob Buis.
3001
3002         BlackBerry PR 325244
3003         Internally reviewed by Jeff Rogers
3004
3005         No functional change, but platform font changes won't need a WebKit change
3006         going forward.
3007
3008         * page/blackberry/SettingsBlackBerry.cpp:
3009         (WebCore::Settings::initializeDefaultFontFamilies):
3010
3011 2013-04-11  Dirk Schulze  <krit@webkit.org>
3012
3013         [CSS Shaders] Parse parameters descriptor
3014         https://bugs.webkit.org/show_bug.cgi?id=114455
3015
3016         Reviewed by Dean Jackson.
3017
3018         Add support for the 'parameters' descriptor in the filter at-rule to support
3019         parameterization of CSS Shaders.
3020
3021         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
3022
3023         Tests: css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid.html
3024                css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid.html
3025
3026         * css/CSSComputedStyleDeclaration.cpp:
3027         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3028         * css/CSSParser.cpp: Added 'parameters' property and fail parsing if not inside
3029             of an @filter rule.
3030         (WebCore::CSSParser::parseValue):
3031         (WebCore::CSSParser::parseFilterRuleParameters): New helper function to verify
3032             values.
3033         (WebCore):
3034         * css/CSSParser.h:
3035         * css/CSSProperty.cpp:
3036         (WebCore::CSSProperty::isInheritedProperty):
3037         * css/CSSPropertyNames.in: Added new property name 'parameters'.
3038         * css/StyleResolver.cpp:
3039         (WebCore::StyleResolver::applyProperty):
3040
3041 2013-04-11  Arunprasad Rajkumar  <arunprasadr@nds.com>
3042
3043         Default Implementation of toString for NPObject shouldn't return NPClass & NPObject address as String
3044         https://bugs.webkit.org/show_bug.cgi?id=114450
3045
3046         Reviewed by Anders Carlsson.
3047
3048         * bridge/c/c_instance.cpp:
3049         (JSC::Bindings::CInstance::stringValue):
3050
3051 2013-04-11  Robert Hogan  <robert@webkit.org>
3052
3053         REGRESSION (142152): ensure we skip past out-of-flow objects when detecting whitespace to ignore after leading empty inlines
3054         https://bugs.webkit.org/show_bug.cgi?id=114311
3055
3056         Reviewed by Emil A Eklund.
3057
3058         When we hit an empty inline in line layout and try to detect whether it has any whitespace after it that we ought to ignore, then
3059         we need to skip past out-of-flow and floating objects when looking for that whitespace. Failure to do so will result in us
3060         adding the width from the first space we encounter to our line width and over-estimating the real width of the line.
3061
3062         We're hitting this bug now because we have broadened the category of empty inlines that get lineboxes so we go into line layout 
3063         and have to deal with them and their subsequent whitespace there. Previously this sort of whitespace would have been simply
3064         consumed by |skipLeadingWhitespace|.
3065
3066         Test: fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline.html
3067
3068         * rendering/RenderBlockLineLayout.cpp:
3069         (WebCore::shouldSkipWhitespaceAfterStartObject):
3070
3071 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
3072
3073         Autocorrected text doesn't have a marker of type autocorrected
3074         https://bugs.webkit.org/show_bug.cgi?id=114337
3075
3076         Reviewed by Darin Adler.
3077
3078         The bug was caused by markAndReplaceFor's text replacement errornously assuming that there are
3079         no other text checking result starting at the same offset. That resulted in us adjusting location
3080         offsets of the subsequent results pointing at the replaced text, hit an assertion, and blow up.
3081
3082         Fixed the bug by skipping all remaining results for the replaced text since they're no longer
3083         applicable.
3084
3085         Tests: Existing autocorection tests have been updated to assert new behavior.
3086
3087         * editing/Editor.cpp:
3088         (WebCore::Editor::markAndReplaceFor):
3089
3090 2013-04-11  Michelangelo De Simone  <michelangelo@webkit.org>
3091
3092         [CSS Shaders] Parse the geometry descriptor
3093         https://bugs.webkit.org/show_bug.cgi?id=110815
3094
3095         Added initial parsing for the "geometry" descriptor, as per specification:
3096         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#geometry
3097         This descriptor allows to specify the mesh geometry for custom filters.
3098
3099         Reviewed by Dirk Schulze.
3100
3101         Tests: css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid.html
3102                css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid.html
3103
3104         * css/CSSComputedStyleDeclaration.cpp:
3105         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3106         * css/CSSParser.cpp:
3107         (WebCore::CSSParser::parseValue):
3108         (WebCore::CSSParser::parseGeometry): New method that parses the geometry
3109         descriptor (grid()).
3110         (WebCore):
3111         * css/CSSParser.h:
3112         * css/CSSProperty.cpp:
3113         (WebCore::CSSProperty::isInheritedProperty):
3114         * css/CSSPropertyNames.in: Added conditional "geometry" property.
3115         * css/CSSValueKeywords.in: Added conditional "attached" value keyword; detached
3116         was already there.
3117
3118 2013-04-11  Anders Carlsson  <andersca@apple.com>
3119
3120         Make StorageAreaMap dispatch session storage events
3121         https://bugs.webkit.org/show_bug.cgi?id=114454
3122
3123         Reviewed by Beth Dakin.
3124
3125         Export storage symbols and headers needed by WebKit2.
3126
3127         * WebCore.exp.in:
3128         * WebCore.xcodeproj/project.pbxproj:
3129
3130 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3131
3132         handleMouseMoveEvent should let hit-testing hit-test scrollbars
3133         https://bugs.webkit.org/show_bug.cgi?id=114430
3134
3135         Reviewed by Antonio Gomes.
3136
3137         Allow hit-testing to hit-test frame scrollbars so handleMouseMoveEvent
3138         does not have to do it itself.
3139
3140         * page/EventHandler.cpp:
3141         (WebCore::EventHandler::handleMouseMoveEvent):
3142
3143 2013-04-11  Brian Holt  <brian.holt@samsung.com>
3144
3145         [Gtk] Combo boxes should be arrow-out-of-able similar to list boxes when caret-browsing is enabled.
3146         https://bugs.webkit.org/show_bug.cgi?id=76796
3147
3148         Reviewed by Chris Fleizach.
3149
3150         When using caret-browsing with the right and left arrows, the
3151         behaviour of menuLists should be the same as listBoxes. This means
3152         not default-handling the event and passing it up the stack instead.
3153
3154         * html/HTMLSelectElement.cpp:
3155         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
3156
3157 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
3158
3159         Remove some ResourceHandle.h includes
3160         https://bugs.webkit.org/show_bug.cgi?id=114416
3161
3162         Reviewed by Ryosuke Niwa.
3163
3164         * loader/CrossOriginAccessControl.h:
3165         * loader/CrossOriginPreflightResultCache.h:
3166         These files don't need ResourceHandle.h, just ResourceHandleTypes.h.
3167
3168         * loader/TextTrackLoader.cpp:
3169         * loader/ThreadableLoader.h:
3170         * loader/appcache/ApplicationCacheGroup.h:
3171         * loader/cache/MemoryCache.h:
3172         * loader/mac/ResourceLoaderMac.mm:
3173         * page/Settings.cpp:
3174         * platform/network/AuthenticationChallengeBase.cpp:
3175         * platform/network/cf/CookieJarCFNet.cpp:
3176         * platform/network/cf/ResourceRequestCFNet.cpp:
3177         * xml/XSLTProcessorLibxslt.cpp:
3178         * xml/parser/XMLDocumentParser.cpp:
3179         * xml/parser/XMLDocumentParserLibxml2.cpp:
3180         Just straightforward removal of includes.
3181
3182 2013-04-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3183
3184         Use CSS4 image-rendering to determing image scaling quality
3185         https://bugs.webkit.org/show_bug.cgi?id=113405
3186
3187         Reviewed by Simon Fraser.
3188
3189         Implement the new CSS4 image-rendering property values.
3190
3191         Image scaling now uses low-quality (pixelated) scaling for
3192         crisp-edges, pixelated and optimizeSpeed values, and always
3193         use high quality (smooth) scaling for -webkit-smooth and
3194         optimizeQuality. The latter can be used to disable low quality
3195         scaling during CSS animations or live resizing.
3196
3197         The new values are protected with a new CSS4_IMAGES feature, but
3198         the crisp-edge value has been introduced before to displace the
3199         deprecated -webkit-optimize-contrast value, and optimizeSpeed
3200         and optimizeQuality values are supported for SVG compatibility.
3201
3202         * css/CSSParser.cpp:
3203         (WebCore::isValidKeywordPropertyAndValue):
3204         * css/CSSPrimitiveValueMappings.h:
3205         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3206         (WebCore::CSSPrimitiveValue::operator EImageRendering):
3207         * css/CSSValueKeywords.in:
3208         * rendering/RenderBoxModelObject.cpp:
3209         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
3210         * rendering/RenderHTMLCanvas.cpp:
3211         (WebCore::RenderHTMLCanvas::paintReplaced):
3212         * rendering/style/RenderStyleConstants.h:
3213
3214 2013-04-11  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3215
3216         Build fix: use of uninitialized variable in ScrollingStateTree
3217         https://bugs.webkit.org/show_bug.cgi?id=114443
3218
3219         Reviewed by Anders Carlsson.
3220
3221         Initialize pointer to zero before use, fixes build.
3222         No new tests, no changes on behavior.
3223
3224         * page/scrolling/ScrollingStateTree.cpp:
3225         (WebCore::ScrollingStateTree::attachNode):
3226
3227 2013-04-11  Dirk Schulze  <krit@webkit.org>
3228
3229         [CSS Shaders] Parse mix descriptor
3230         https://bugs.webkit.org/show_bug.cgi?id=114414
3231
3232         Reviewed by Antti Koivisto.
3233
3234         Add support for the 'mix' descriptor in the filter at-rule to support blend modes
3235         and composite operators in CSS Shaders.
3236         Each pixel in the fragment shader will be blended and composited with the
3237         backdrop by taking these values into account.
3238
3239         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-mix
3240
3241         Tests: css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html
3242                css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html
3243
3244         * css/CSSComputedStyleDeclaration.cpp:
3245         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3246         * css/CSSParser.cpp: Added 'mix' property and fail parsing if not inside
3247             of an @filter rule.
3248         (WebCore::CSSParser::parseValue):
3249         (WebCore::CSSParser::parseFilterRuleMix): New helper function to verify
3250             values.
3251         (WebCore):
3252         * css/CSSParser.h:
3253         * css/CSSProperty.cpp:
3254         (WebCore::CSSProperty::isInheritedProperty):
3255         * css/CSSPropertyNames.in: Added new property name 'mix'.
3256         * css/StyleResolver.cpp:
3257         (WebCore::StyleResolver::applyProperty):
3258
3259 2013-04-11  Zalan Bujtas  <zalan@apple.com>
3260
3261         Parent box with background-size auto and gradient image does not get properly repainted when child box is resized. 
3262         https://bugs.webkit.org/show_bug.cgi?id=114424
3263
3264         Reviewed by Antti Koivisto.
3265         
3266         Initiate full repaint on fill layer, when the image is generated and the background
3267         property defines auto size.
3268         http://www.w3.org/TR/css3-background/#background-size
3269         'If the image has neither an intrinsic width nor an intrinsic height, its size is determined as for 'contain'.'
3270
3271         Extended fast/repaint/background-shorthand-with-gradient-and-height-changes.html
3272         to cover this case too.
3273
3274         * rendering/RenderObject.cpp:
3275         (WebCore::mustRepaintFillLayers):
3276
3277 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
3278
3279         [GTK][AC] use a smart pointer for GList and ClutterCanvas
3280         https://bugs.webkit.org/show_bug.cgi?id=114057
3281
3282         Reviewed by Gustavo Noronha Silva.
3283
3284         We can make simple code & prevent possible memory leak by using a proper smart pointer.
3285         Especially if we get children by clutter_actor_get_children, we should free it after using.
3286
3287         No functionality changed.
3288
3289         * platform/graphics/clutter/GraphicsLayerActor.cpp:
3290         (graphicsLayerActorUpdateTexture):
3291         (graphicsLayerActorRemoveAll):
3292
3293 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
3294
3295         [BlackBerry][CSS Filters] Blur filter fails to recompute blur size when layer size changes
3296         https://bugs.webkit.org/show_bug.cgi?id=114272
3297
3298         Reviewed by Rob Buis.
3299
3300         Blur appeared blocky or pixelated when surface changed size after
3301         creating the filter actions. The initial image size was used to
3302         determine the blur size (expressed in texture coordinate system).
3303         Fixed by recomputing the blur size when the surface size changes, using
3304         a new Uniform1f subclass that can use a functor to compute the uniform
3305         value per-frame.
3306
3307         This fixes css3/filters/effect-blur-hw.html. This can only be verified
3308         by manual inspection because the BlackBerry port is not currently using
3309         pixel tests.
3310
3311         PR 323730
3312
3313         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
3314         (WebCore):
3315         (SurfaceFunctor):
3316         (WebCore::SurfaceFunctor::SurfaceFunctor):
3317         (InverseSurfaceWidth):
3318         (WebCore::InverseSurfaceWidth::InverseSurfaceWidth):
3319         (WebCore::InverseSurfaceWidth::operator()):
3320         (InverseSurfaceHeight):
3321         (WebCore::InverseSurfaceHeight::InverseSurfaceHeight):
3322         (WebCore::LayerFilterRenderer::actionsForOperations):
3323         * platform/graphics/blackberry/LayerFilterRenderer.h:
3324         (Uniform1f):
3325         (WebCore):
3326         (Uniform1fWithFunctor):
3327         (WebCore::Uniform1fWithFunctor::create):
3328         (WebCore::Uniform1fWithFunctor::Uniform1fWithFunctor):
3329         (WebCore::Uniform1fWithFunctor::apply):
3330         (WebCore::Uniform1f::createWithFunctor):
3331
3332 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
3333
3334         [BlackBerry] Accelerated compositing debug rectangle incorrectly drawn for layers with surfaces
3335         https://bugs.webkit.org/show_bug.cgi?id=114275
3336
3337         Reviewed by Carlos Garcia Campos.
3338
3339         The drawDebugBorder method was updated to mirror the logic in
3340         compositeLayersRecursive, i.e. if we're compositing a surface to the
3341         screen, use the transformed bounds stored in the surface. The bounds
3342         stored in the layer should only be used when drawing the layer to the
3343         surface.
3344
3345         Speaking of which, also update the code to skip border drawing when
3346         drawing a layer to a surface. Drawing the borders inside the surface
3347         would only result in messing up the surface contents, especially when
3348         CSS filters like blur were the reason for having a surface in the first
3349         place - the border would be blurred and hard to discern.
3350
3351         Only manually testable, the debug border is disabled during layout
3352         tests.
3353
3354         PR 323746
3355
3356         * platform/graphics/blackberry/LayerRenderer.cpp:
3357         (WebCore::LayerRenderer::drawDebugBorder):
3358         * platform/graphics/blackberry/LayerRendererSurface.cpp:
3359         (WebCore::LayerRendererSurface::drawRect):
3360         (WebCore::LayerRendererSurface::transformedBounds): Added.
3361         (WebCore):
3362         * platform/graphics/blackberry/LayerRendererSurface.h:
3363         (LayerRendererSurface):
3364
3365 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
3366
3367         [BlackBerry] Compiler warning in LayerWebKitThread.cpp
3368         https://bugs.webkit.org/show_bug.cgi?id=114277
3369
3370         Reviewed by Carlos Garcia Campos.
3371
3372         All the relevant WTF::Vector APIs use size_t, storing the position in
3373         an int resulted in a compiler warning. Fixed by switching to size_t.
3374
3375         No change in behavior, no new tests.
3376
3377         PR 323753
3378
3379         * platform/graphics/blackberry/LayerWebKitThread.cpp:
3380         (WebCore::LayerWebKitThread::remove):
3381         (WebCore::LayerWebKitThread::replaceSublayer):
3382
3383 2013-04-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3384
3385         [CoordinatedGraphics] Use ScrollingStateTree to handle fixed elements positioning while scrolling
3386         https://bugs.webkit.org/show_bug.cgi?id=114353
3387
3388         Reviewed by Noam Rosenthal.
3389         
3390         ScrollingCoordinatorCoordinatedGraphics should implement threaded scrolling interface and
3391         re-use threaded scrolling approach (ScrollingStateTree and ViewportConstraints) to handle
3392         fixed/sticky elements positioning while scrolling. The rationals are below.
3393
3394         Before the change ScrollingCoordinatorCoordinatedGraphics was implementing Chromium-specific
3395         interface which is going to be removed eventually as there is no ScrollingCoordinatorChromium
3396         existing.
3397
3398         Tested by existing manual tests (fixed-position.html for example.
3399
3400         * CMakeLists.txt:
3401         * Target.pri:
3402             Included ScrollingStateTree files.
3403
3404         * page/scrolling/ScrollingStateFixedNode.cpp:
3405         * page/scrolling/ScrollingStateFixedNode.h:
3406         * page/scrolling/ScrollingStateNode.cpp:
3407         * page/scrolling/ScrollingStateNode.h:
3408         * page/scrolling/ScrollingStateScrollingNode.cpp:
3409         * page/scrolling/ScrollingStateScrollingNode.h:
3410         * page/scrolling/ScrollingStateStickyNode.cpp:
3411         * page/scrolling/ScrollingStateStickyNode.h:
3412         * page/scrolling/ScrollingStateTree.cpp:
3413         * page/scrolling/ScrollingStateTree.h:
3414             Removed ENABLE(THREADED_SCROLLING) code guards.
3415
3416         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
3417         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
3418         (WebCore::ScrollingCoordinatorCoordinatedGraphics::~ScrollingCoordinatorCoordinatedGraphics):
3419         (WebCore):
3420         (WebCore::ScrollingCoordinatorCoordinatedGraphics::attachToStateTree):
3421         (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
3422         (WebCore::ScrollingCoordinatorCoordinatedGraphics::clearStateTree):
3423         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
3424         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
3425             ScrollingCoordinatorCoordinatedGraphics is using threaded scrolling approach to handle fixed
3426             elements positioning while scrolling.
3427
3428         (WebCore):
3429         (ScrollingCoordinatorCoordinatedGraphics):
3430         * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp: Added.
3431         (WebCore):
3432         (WebCore::ScrollingStateNode::platformScrollLayer):
3433         (WebCore::ScrollingStateNode::setScrollPlatformLayer):
3434         (WebCore::ScrollingStateNode::setScrollLayer):
3435         * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp: Added.
3436         (WebCore):
3437         (WebCore::ScrollingStateScrollingNode::counterScrollingPlatformLayer):
3438         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
3439
3440 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3441
3442         [Qt] EventHandler should handle Space and BackSpace 
3443         https://bugs.webkit.org/show_bug.cgi?id=114428
3444
3445         Reviewed by Jocelyn Turcotte.
3446
3447         Enable default space-handling for Qt.
3448
3449         * page/EventHandler.cpp:
3450
3451 2013-04-11  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3452
3453         IconDatabase: Simplify boolean logic in assertion.
3454         https://bugs.webkit.org/show_bug.cgi?id=114425
3455
3456         Reviewed by Andreas Kling.
3457
3458         Follow-up to r148097; drop the overzealous use of !! to turn a
3459         PassRefPtr into a boolean.
3460
3461         * loader/icon/IconDatabase.cpp:
3462         (WebCore::IconDatabase::updateIconRecord):
3463
3464 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
3465
3466         [BlackBerry] LayerTexture refactoring
3467         https://bugs.webkit.org/show_bug.cgi?id=114276
3468
3469         Reviewed by Carlos Garcia Campos.
3470
3471         Remove the GpuHandle and HostType typedefs from LayerTexture, they
3472         don't make any sense now that we removed the Skia code paths. With Skia
3473         they used to be an OpenGL texture ID and an SkBitmap respectively, but
3474         now it's just BlackBerry::Platform::Graphics::Buffer all around.
3475
3476         This allows us to rename textureId() into buffer() which is more to the
3477         point. The texture ID concept is now up for grabs and can be used to
3478         consolidate all the various code for extracting an OpenGL texture from
3479         a BlackBerry::Platform::Graphics::Buffer. This opportunity is seized in
3480         LayerTexture::platformTexture(), a name which makes more&nb