Log when the animation timer fires
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
2
3         Log when the animation timer fires
4         https://bugs.webkit.org/show_bug.cgi?id=114393
5
6         Reviewed by Dean Jackson.
7
8         Logging to the Animations log channel when the updateAnimationTimer
9         fires is useful, because it indicates whether we're running
10         software animations.
11
12         * page/animation/AnimationController.cpp:
13         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
14
15 2013-04-10  Beth Dakin  <bdakin@apple.com>
16
17         Inspector highlights are offset when the WKView has a header
18         https://bugs.webkit.org/show_bug.cgi?id=114389
19         -and corresponding-
20         <rdar://problem/13522434>
21
22         Reviewed by Sam Weinig.
23
24         rootViewToContents() and contentsToRootView() need to factor in the 
25         headerHeight(), much like windowToContents() and contentsToWindow() do already. 
26         * platform/ScrollView.cpp:
27         (WebCore::ScrollView::rootViewToContents):
28         (WebCore::ScrollView::contentsToRootView):
29
30 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
31
32         Flesh out the Animations logging
33         https://bugs.webkit.org/show_bug.cgi?id=114388
34
35         Reviewed by Dean Jackson.
36
37         Log state changes and transition/animation creation and destruction
38         to the Animations log channel.
39
40         * page/animation/AnimationBase.cpp:
41         (WebCore::nameForState):
42         (WebCore::AnimationBase::updateStateMachine):
43         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
44         (WebCore::AnimationBase::goIntoEndingOrLoopingState):
45         (WebCore::AnimationBase::freezeAtTime):
46         * page/animation/CompositeAnimation.cpp:
47         (WebCore::CompositeAnimation::updateTransitions):
48         (WebCore::CompositeAnimation::updateKeyframeAnimations):
49         * page/animation/KeyframeAnimation.h:
50         (WebCore::KeyframeAnimation::keyframes):
51         (KeyframeAnimation):
52
53 2013-04-10  Alexey Proskuryakov  <ap@apple.com>
54
55         <rdar://problem/13047266> External XML entities are not loaded with modern libxml2
56         https://bugs.webkit.org/show_bug.cgi?id=114377
57
58         Reviewed by Darin Adler.
59
60         Covered by http/tests/security/xss-DENIED-xml-external-entity.xhtml when using
61         new enough libxml2.
62
63         * xml/parser/XMLDocumentParserLibxml2.cpp:
64         (WebCore::switchToUTF16): Added a FIXME with an idea for improvement.
65         (WebCore::XMLParserContext::createStringParser): Apply XML_PARSE_NOENT in a non-hacky
66         way, so that the new libxml2 check doesn't fail.
67         (WebCore::XMLParserContext::createMemoryParser): Updated an unhelpful and incorrect
68         comment (XML_PARSE_NODICT actually means "Do not reuse the context dictionary").
69
70 2013-04-10  Eric Carlson  <eric.carlson@apple.com>
71
72         [Mac] in-band tracks sometimes not recognized
73         https://bugs.webkit.org/show_bug.cgi?id=114380
74
75         Reviewed by Jer Noble.
76
77         No new tests, covered by existing in-band tests.
78
79         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
80         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't call selectMediaOption,
81             availableMediaCharacteristicsWithMediaSelectionOptions is unlikely to be loaded at this time.
82         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Disable automatic text track
83             selection.
84         (WebCore::assetMetadataKeyNames): Watch for the status of availableMediaCharacteristicsWithMediaSelectionOptions
85             to change.
86
87 2013-04-10  Hans Muller  <hmuller@adobe.com>
88
89         [CSS Exclusions] Zoom causes shape-inside to fail when shape-padding is specified
90         https://bugs.webkit.org/show_bug.cgi?id=113730
91
92         Reviewed by Dirk Schulze.
93
94         Snap computed margin and polygon boundaries to the LayoutUnit grid to ensure
95         that they fall within the shape's LayoutUnit bounding box.
96
97         Test: fast/exclusions/shape-inside/shape-inside-polygon-zoom.html
98
99         * rendering/ExclusionPolygon.cpp:
100         (WebCore::snapVerticesToLayoutUnitGrid): Convert the FloatPoint coordinates to LayoutUnits and then back to floats.
101         (WebCore::computeShapePaddingBounds): Now calls snapVerticesToLayoutUnitGrid() before creating a FloatPolygon.
102         (WebCore::computeShapeMarginBounds): Ditto.
103
104 2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>
105
106         One more unreviewed buildfix after r148123.
107
108         * platform/graphics/filters/CustomFilterMeshGenerator.h:
109
110 2013-04-10  Beth Dakin  <bdakin@apple.com>
111
112         FindBanner matches are offset when the WKView has a header or footer
113         https://bugs.webkit.org/show_bug.cgi?id=114314
114         -and corresponding-
115         <rdar://problem/13522434>
116
117         Reviewed by Simon Fraser.
118
119         There were already a few places in the code where we needed to adjust the 
120         scrollOffset() to pretend that (0,0) is that the top of the Document rather than 
121         the top of the header. To fix the FindBanner issues, we need to know that version 
122         of the offset in a few more places, so I added a function on ScrollView to fetch 
123         it called scrollOffsetRelativeToDocument().
124
125         New function subtracts out the headerHeight() to treat the top of 
126         the document as (0,0).
127         * WebCore.exp.in:
128         * platform/ScrollView.cpp:
129         (WebCore::ScrollView::scrollOffsetRelativeToDocument):
130
131         Use scrollOffsetRelativeToDocument() where we were previously making this 
132         calculation. Also re-name an inaccurately named variable where we are actually 
133         converting FROM a document offset to a ScrollableArea offset.
134         (WebCore::ScrollView::windowToContents):
135         * platform/ScrollView.h:
136         (ScrollView):
137
138         getRectToExpose needs to know about the actual visibleContentRect and the 
139         visibleContentRect that is relative to the Document. So this 
140         patch adds a new parameter to getRectToExpose for that purpose.
141         * rendering/RenderLayer.cpp:
142         (WebCore::RenderLayer::scrollRectToVisible):
143         (WebCore::RenderLayer::getRectToExpose):
144         * rendering/RenderLayer.h:
145
146 2013-04-10  Chris Fleizach  <cfleizach@apple.com>
147
148         when ARIA button contains a link, label text is ignored (affects main buttons on m.facebook.com)
149         https://bugs.webkit.org/show_bug.cgi?id=113906
150
151         Reviewed by Tim Horton.
152
153         If an element does not expose any children, then it's safe to include all of its sub children when determining
154         the visible text.
155         The bug is that all elements were ignoring focusable elements (like <a>) when determining visible children text
156
157         Test: accessibility/link-inside-button-accessible-text.html
158
159         * accessibility/AccessibilityNodeObject.cpp:
160         (WebCore::shouldUseAccessiblityObjectInnerText):
161         * accessibility/AccessibilityNodeObject.h:
162         (AccessibilityNodeObject):
163         * accessibility/AccessibilityObject.h:
164         (WebCore::AccessibilityObject::isDescendantOfBarrenParent):
165         (AccessibilityObject):
166
167 2013-04-10  Chris Fleizach  <cfleizach@apple.com>
168
169         AX: Make sure all AX methods called from outside call prepareAccessibility
170         https://bugs.webkit.org/show_bug.cgi?id=113818
171
172         Reviewed by Darin Adler.
173
174         Make sure any calls that can be made from outside WebCore are protected with the
175         prepareAccessibility method.
176
177         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
178         (-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
179         (-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
180         (-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
181         (-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
182         (-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
183         (-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
184         (-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
185         (-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
186         (-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
187         (-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
188         (-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
189         (-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
190         (-[WebAccessibilityObjectWrapper accessibilityMathType]):
191
192 2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>
193
194         Unreviewed buildfix after r148123.
195
196         * inspector/InspectorInstrumentation.h:
197         (WebCore):
198
199 2013-04-10  Xabier Rodriguez Calvar  <calvaris@igalia.com>
200
201         Clicking on the volume slider of HTML5 elements is pausing sometimes
202         https://bugs.webkit.org/show_bug.cgi?id=112548
203
204         Reviewed by Eric Carlson.
205
206         Test: media/click-volume-bar-not-pausing.html
207
208         * html/shadow/MediaControlElementTypes.cpp:
209         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
210         Calling the setDefaultHandled() method on the event prevents it
211         from being incorrectly propagated from the volume button up to the
212         MediaDocument.
213
214 2013-04-10  Arvid Nilsson  <anilsson@rim.com>
215
216         [BlackBerry] Rename BlackBerry specific Texture class
217         https://bugs.webkit.org/show_bug.cgi?id=95781
218
219         Reviewed by Rob Buis.
220
221         Texture was a bit too generic and prone to name conflicts. Renamed it
222         to LayerTexture.
223
224         No change in behavior, no new tests.
225
226         PR 322882
227
228         * PlatformBlackBerry.cmake:
229         * platform/graphics/blackberry/LayerCompositingThread.cpp:
230         (WebCore::LayerCompositingThread::drawSurface):
231         (WebCore::LayerCompositingThread::contentsTexture):
232         * platform/graphics/blackberry/LayerCompositingThread.h:
233         (LayerCompositingThread):
234         * platform/graphics/blackberry/LayerCompositingThreadClient.h:
235         (WebCore):
236         (WebCore::LayerCompositingThreadClient::contentsTexture):
237         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
238         (WebCore::LayerFilterRenderer::applyActions):
239         * platform/graphics/blackberry/LayerFilterRenderer.h:
240         (LayerFilterRenderer):
241         * platform/graphics/blackberry/LayerRendererSurface.h:
242         (WebCore::LayerRendererSurface::texture):
243         (LayerRendererSurface):
244         * platform/graphics/blackberry/LayerTexture.cpp: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.cpp.
245         (WebCore):
246         (WebCore::LayerTexture::LayerTexture):
247         (WebCore::LayerTexture::~LayerTexture):
248         (WebCore::LayerTexture::updateContents):
249         (WebCore::LayerTexture::setContentsToColor):
250         (WebCore::LayerTexture::protect):
251         * platform/graphics/blackberry/LayerTexture.h: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.h.
252         (WebCore):
253         (LayerTexture):
254         (WebCore::LayerTexture::create):
255         (WebCore::LayerTexture::textureId):
256         (WebCore::LayerTexture::isDirty):
257         (WebCore::LayerTexture::hasTexture):
258         (WebCore::LayerTexture::isColor):
259         (WebCore::LayerTexture::isOpaque):
260         (WebCore::LayerTexture::isProtected):
261         (WebCore::LayerTexture::protect):
262         (WebCore::LayerTexture::unprotect):
263         (WebCore::LayerTexture::size):
264         (WebCore::LayerTexture::width):
265         (WebCore::LayerTexture::height):
266         (WebCore::LayerTexture::bytesPerPixel):
267         (WebCore::LayerTexture::sizeInBytes):
268         (WebCore::LayerTexture::setTextureId):
269         (WebCore::LayerTexture::setSize):
270         * platform/graphics/blackberry/LayerTile.cpp:
271         (WebCore::LayerTile::setContents):
272         (WebCore::LayerTile::updateContents):
273         (WebCore::LayerTile::setTexture):
274         * platform/graphics/blackberry/LayerTile.h:
275         (WebCore::LayerTile::texture):
276         (LayerTile):
277         * platform/graphics/blackberry/LayerTiler.cpp:
278         (WebCore::LayerTiler::drawTile):
279         (WebCore::LayerTiler::contentsTexture):
280         * platform/graphics/blackberry/LayerTiler.h:
281         (LayerTiler):
282         (WebCore::LayerTiler::TextureJob::TextureJob):
283         (WebCore::LayerTiler::TextureJob::setContents):
284         (WebCore::LayerTiler::TextureJob::updateContents):
285         (TextureJob):
286         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
287         (WebCore::TextureProtector::TextureProtector):
288         (TextureProtector):
289         (WebCore::TextureCacheCompositingThread::allocateTextureId):
290         (WebCore::freeTextureId):
291         (WebCore::TextureCacheCompositingThread::textureResized):
292         (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
293         (WebCore::TextureCacheCompositingThread::textureDestroyed):
294         (WebCore::TextureCacheCompositingThread::install):
295         (WebCore::TextureCacheCompositingThread::resizeTexture):
296         (WebCore::TextureCacheCompositingThread::evict):
297         (WebCore::TextureCacheCompositingThread::textureAccessed):
298         (WebCore::TextureCacheCompositingThread::prune):
299         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
300         (WebCore::TextureCacheCompositingThread::textureForColor):
301         (WebCore::TextureCacheCompositingThread::updateContents):
302         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
303         (WebCore::TextureCacheCompositingThread::createTexture):
304         (TextureCacheCompositingThread):
305         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
306         (ZombieTexture):
307
308 2013-04-10  Andreas Kling  <akling@apple.com>
309
310         Disallow programmatic movement of the browser window while user gestures are in progress.
311         <http://webkit.org/b/114271>
312         <rdar://problem/13226530>
313
314         Reviewed by Oliver Hunt.
315
316         * page/DOMWindow.cpp:
317         (WebCore::DOMWindow::moveBy):
318         (WebCore::DOMWindow::moveTo):
319         (WebCore::DOMWindow::resizeBy):
320         (WebCore::DOMWindow::resizeTo):
321
322 2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>
323
324         Refactor Editor::markAndReplaceFor before fixing autocorrection bugs
325         https://bugs.webkit.org/show_bug.cgi?id=114344
326
327         Reviewed by Enrica Casucci.
328
329         This patch refactors Editor::markAndReplaceFor so that we can start fixing bugs in a sane state.
330         Extracted isAutomaticTextReplacementType and correctSpellcheckingPreservingTextCheckingParagraph,
331         and made convenience local variables const.
332
333         In particular, shouldMarkSpelling used to be assigned of false when shouldShowCorrectionPanel was true
334         in a middle of a function but this was removed in favor of explicitly checking this condition later
335         since shouldMarkSpelling was only referenced once after the assignment.
336
337         * editing/Editor.cpp:
338         (WebCore::isAutomaticTextReplacementType): Extracted.
339
340         (WebCore::correctSpellcheckingPreservingTextCheckingParagraph): Extracted.  Used highestAncestor
341         and rangeFromLocationAndLength to match the rest of the up-to-date editing code.
342
343         (WebCore::Editor::markAndReplaceFor): See above.
344
345 2013-04-08  Anders Carlsson  <andersca@apple.com>
346
347         Remove unneeded headers from FrameLoader.h
348         https://bugs.webkit.org/show_bug.cgi?id=114223
349
350         Reviewed by Geoffrey Garen.
351
352         Remove unneeded headers from FrameLoader.h and add them back into the respective .cpp files where needed.
353
354         * dom/Document.cpp:
355         * history/CachedFrame.cpp:
356         * history/PageCache.cpp:
357         * inspector/InspectorResourceAgent.cpp:
358         * loader/DocumentLoader.cpp:
359         * loader/FrameLoader.cpp:
360         (WebCore::FrameLoader::FrameLoader):
361         (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
362         * loader/FrameLoader.h:
363         (WebCore):
364         (WebCore::FrameLoader::policyChecker):
365         (WebCore::FrameLoader::history):
366         (WebCore::FrameLoader::icon):
367         * loader/MixedContentChecker.h:
368         * loader/icon/IconLoader.cpp:
369         * page/History.cpp:
370         * page/Page.cpp:
371         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
372         * testing/Internals.cpp:
373
374 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
375
376         Minor code cleanup in AnimationBase::progress
377         https://bugs.webkit.org/show_bug.cgi?id=114371
378
379         Reviewed by Dean Jackson.
380
381         Convert some "return; else if" to just "return; if".
382
383         * page/animation/AnimationBase.cpp:
384         (WebCore::AnimationBase::progress):
385
386 2013-04-10  Robert Hogan  <robert@webkit.org>
387
388         Empty inline continuations should only get lineboxes if the padding applies to their side of the inline
389         https://bugs.webkit.org/show_bug.cgi?id=113896
390
391         Reviewed by David Hyatt.
392
393         Test: fast/inline/inline-with-empty-inline-continuations.html
394
395         Where an empty inline is split across anonymous blocks we should only give lineboxes to the 'sides' of the
396         inline that have borders, padding or margin.
397
398         * rendering/RenderBlockLineLayout.cpp:
399         (WebCore::shouldApplyStartBorderPaddingOrMargin):
400         (WebCore):
401         (WebCore::shouldApplyEndBorderPaddingOrMargin):
402         (WebCore::hasInlineDirectionBordersPaddingOrMargin):
403         (WebCore::alwaysRequiresLineBox):
404
405 2013-04-10  Zoltan Horvath  <zoltan@webkit.org>
406
407         [CSS Exclusions] Increasing padding does not correctly layout child blocks
408         https://bugs.webkit.org/show_bug.cgi?id=112929
409
410         Reviewed by David Hyatt.
411
412         If a child block has changed dimension inside a shape and it has affected the block siblings
413         we need to relayout the content inside the shape.
414
415         Test: fast/exclusions/shape-inside/shape-inside-sibling-block-dimension-change-needs-relayout.html
416
417         * rendering/RenderBlock.cpp:
418         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): Add condition for dimension change.
419         (WebCore::RenderBlock::layoutBlock): Call updateRegionsAndExclusionsAfterChildLayout with the new parameter.
420         * rendering/RenderBlock.h:
421         (RenderBlock): Add extra parameter to updateRegionsAndExclusionsAfterChildLayout(...)
422
423 2013-04-10  Geoffrey Garen  <ggaren@apple.com>
424
425         Removed bitrotted TimeoutChecker code
426         https://bugs.webkit.org/show_bug.cgi?id=114336
427
428         Reviewed by Alexey Proskuryakov.
429
430         This mechanism hasn't worked for a while.
431
432         MarkL is working on a new version of this feature with a distinct
433         implementation.
434
435         * bindings/js/JSCallbackData.cpp:
436         (WebCore::JSCallbackData::invokeCallback):
437         * bindings/js/JSCustomXPathNSResolver.cpp:
438         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
439         * bindings/js/JSDOMWindowBase.cpp:
440         (WebCore::JSDOMWindowBase::commonJSGlobalData):
441         * bindings/js/JSErrorHandler.cpp:
442         (WebCore::JSErrorHandler::handleEvent):
443         * bindings/js/JSEventListener.cpp:
444         (WebCore::JSEventListener::handleEvent):
445         * bindings/js/JSMutationCallback.cpp:
446         (WebCore::JSMutationCallback::call):
447         * bindings/js/ScheduledAction.cpp:
448         (WebCore::ScheduledAction::executeFunctionInContext):
449         * bindings/js/ScriptController.cpp:
450         (WebCore::ScriptController::evaluateInWorld):
451         * bindings/js/SerializedScriptValue.cpp:
452         (WebCore::CloneBase::CloneBase):
453         (WebCore::CloneSerializer::serialize):
454         (WebCore::CloneDeserializer::deserialize):
455         * bindings/js/WorkerScriptController.cpp:
456         (WebCore::WorkerScriptController::evaluate):
457         * bindings/objc/WebScriptObject.mm:
458         (-[WebScriptObject callWebScriptMethod:withArguments:]):
459         (-[WebScriptObject evaluateWebScript:]):
460
461 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
462
463         Replace ENABLE_JAVASCRIPT_DEBUGGER preprocessor statements in IDL files with Conditional attribute
464         https://bugs.webkit.org/show_bug.cgi?id=114352
465
466         Reviewed by Timothy Hatcher.
467
468         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
469
470         * page/Console.idl:
471
472 2013-04-10  Alexandru Chiculita  <achicu@adobe.com>
473
474         Layers with opacity and blur filters are reported as opaque to the compositor
475         https://bugs.webkit.org/show_bug.cgi?id=114295
476
477         Reviewed by Simon Fraser.
478
479         Test: compositing/contents-opaque/filter.html
480
481         Some filters like opacity and blur might still trigger transparency in the layer, even though the
482         background is opaque. I've added the special case in RenderLayer::backgroundIsKnownToBeOpaqueInRect to check
483         for filters that might have transparency. Note that this special case is required only for software drawn
484         filters, as the transparency is going to be backed in the GraphicsLayer content. Composited filters can
485         figure it out in the compositor.
486
487         * rendering/RenderLayer.cpp:
488         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
489
490 2013-04-10  Noam Rosenthal  <noam@webkit.org>
491
492         [Texmap] In certain situations nested blending with overflow:hidden displays clipped results
493         https://bugs.webkit.org/show_bug.cgi?id=114290
494
495         Reviewed by Allan Sandfeld Jensen.
496
497         Always apply the clip when binding a surface, even if it hasn't changed.
498         Otherwise when binding a nested surface and rebinding its container surface,
499         the clip wouldn't apply.
500
501         Test: compositing/overlap-blending/nested-overlap-overflow.html
502
503         * platform/graphics/texmap/TextureMapperGL.cpp:
504         (WebCore::BitmapTextureGL::bind):
505
506 2013-04-10  Antti Koivisto  <antti@apple.com>
507
508         Use minimal tiles during live resize
509         https://bugs.webkit.org/show_bug.cgi?id=114364
510
511         Reviewed by Darin Adler.
512
513         We currently update non-visible speculative tiles during resizing. We should just drop them.
514
515         * page/FrameView.cpp:
516         (WebCore::FrameView::willStartLiveResize):
517         (WebCore::FrameView::willEndLiveResize):
518         * page/FrameView.h:
519         * rendering/RenderLayerBacking.cpp:
520         (WebCore::computeTileCoverage):
521         
522             Use minimal coverage in live resize state.
523
524 2013-04-10  Victor Costan  <costan@gmail.com>
525
526         Blob content type normalization.
527         https://bugs.webkit.org/show_bug.cgi?id=111380
528
529         Reviewed by Alexey Proskuryakov.
530
531         Tests: http/tests/fast/files/blob-constructor.js
532                http/tests/fileapi/xhr-send-form-data-filename-escaping.html
533                http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html
534
535         * WebCore.exp.in: exported Blob::isNormalizedContentType()
536         * bindings/js/JSBlobCustom.cpp:
537         (WebCore::JSBlobConstructor::constructJSBlob): remove checks on Blob type, BlobBuilder will normalize it
538         * fileapi/Blob.cpp:
539         (BlobType): utilities for normalizing a Blob's type according to the File API spec
540         (WebCore::BlobType::isValid): content type validity checks in the File API spec
541         (WebCore::BlobType::normalize): implements the normalization rules in the File API spec
542         (WebCore::BlobType::isNormalized): useful for ASSERTing that a Blob type has been normalized
543         (WebCore): implement Blob type normalization according to the File API spec
544         (WebCore::Blob::Blob): normalize the Blob type in the data URL
545         (WebCore::Blob::slice): normalize the Blob type argument
546         * fileapi/Blob.h:
547         (BlobType): utilities for normalizing a Blob's type according to the File API spec
548         (WebCore::Blob::create): assert that the deserialized Blob's type was normalized
549         * fileapi/File.cpp:
550         (WebCore::createBlobDataForFileWithType): assert that the File's MIME type is a normalized Blob type
551         * fileapi/WebKitBlobBuilder.cpp:
552         (WebCore::BlobBuilder::getBlob): normalize the Blob's type before building it
553         * platform/network/BlobData.h:
554         (WebCore::BlobData::setContentType): assert that the Blob type has been normalized
555         * platform/network/FormData.cpp:
556         (WebCore::FormData::appendKeyValuePairItems): assert that Blob's type has been normalized
557         * platform/network/FormDataBuilder.cpp:
558         (WebCore::FormDataBuilder::addContentTypeToMultiPartHeader): assert that the Content-Type field is normalized
559         * xml/XMLHttpRequest.cpp: when responseType is blob, normalize Content-Type before passing to Blob constructor
560
561 2013-04-10  Tim Horton  <timothy_horton@apple.com>
562
563         TileController doesn't remove tiles when the view is resized, leading to stale content
564         https://bugs.webkit.org/show_bug.cgi?id=114323
565         <rdar://problem/13520671>
566
567         Reviewed by Simon Fraser.
568
569         Ensure that tiles are removed if the view shrinks, so that they are not displayed
570         with stale content if the view later grows again (they will not be repainted by WebCore
571         while out-of-view).
572
573         * platform/graphics/ca/mac/TileController.h:
574         * platform/graphics/ca/mac/TileController.mm:
575         (WebCore::TileController::revalidateTiles):
576
577 2013-04-10  Jessie Berlin  <jberlin@apple.com>
578
579         Update the localizable strings file.
580
581         Rubber-stamped by Dan Bernstein.
582
583         * English.lproj/Localizable.strings:
584
585 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
586
587         Replace ENABLE_CHANNEL_MESSAGING preprocessor statements in IDL files with Conditional attribute
588         https://bugs.webkit.org/show_bug.cgi?id=114346
589
590         Reviewed by Geoffrey Garen.
591
592         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
593
594         * page/DOMWindow.idl:
595         * workers/WorkerContext.idl:
596
597 2013-04-10  Eric Carlson  <eric.carlson@apple.com>
598
599         Update all float attributes in HTMLMediaElement to double
600         https://bugs.webkit.org/show_bug.cgi?id=113615
601
602         Reviewed by Geoffrey Garen
603         Patch by Aaron Colwell
604
605         No new tests. Primary behavior doesn't change. Just time, playbackRate, and volume precision.
606         All existing LayoutTests/media tests still pass.
607
608         * WebCore.exp.in: Remove function that no longer need to be exported.
609
610         * html/HTMLMediaElement.cpp: Change all float attributes to double.
611         * html/HTMLMediaElement.h: Ditto.
612         * html/HTMLMediaElement.idl: Ditto.
613         * html/MediaController.cpp: Ditto.
614         * html/MediaController.h: Ditto.
615         * html/MediaControllerInterface.h: Ditto.
616         * html/TimeRanges.cpp: Ditto.
617         * html/TimeRanges.idl: Ditto.
618         * html/shadow/MediaControlElementTypes.cpp: Ditto.
619         * html/shadow/MediaControlElementTypes.h: Ditto.
620         * html/shadow/MediaControlElements.cpp: Ditto.
621         * html/shadow/MediaControlElements.h: Ditto.
622         * html/shadow/MediaControls.cpp: Ditto.
623         * html/shadow/MediaControlsApple.cpp: Ditto.
624         * html/shadow/MediaControlsBlackBerry.cpp: Ditto.
625         * html/shadow/MediaControlsBlackBerry.h: Ditto.
626         * html/shadow/MediaControlsGtk.cpp: Ditto.
627         * html/track/TextTrackCue.cpp: Ditto.
628         * html/track/TextTrackCue.h: Ditto.
629         * platform/Clock.h: Ditto.
630         * platform/ClockGeneric.cpp: Ditto.
631         * platform/ClockGeneric.h: Ditto.
632         * platform/graphics/MediaPlayer.cpp: Ditto.
633         * platform/graphics/MediaPlayer.h: Ditto.
634         * platform/graphics/MediaPlayerPrivate.h: Ditto.
635         * platform/mac/PlatformClockCA.cpp: Ditto.
636         * platform/mac/PlatformClockCA.h: Ditto.
637         * platform/mac/PlatformClockCM.h: Ditto.
638         * platform/mac/PlatformClockCM.mm: Ditto.
639
640 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
641
642         Replace ENABLE_MICRODATA preprocessor statements in IDL files with Conditional attribute
643         https://bugs.webkit.org/show_bug.cgi?id=114349
644
645         Reviewed by Geoffrey Garen.
646
647         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
648
649         * dom/Document.idl:
650         * html/HTMLElement.idl:
651
652 2013-04-10  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
653
654         REGRESSION(r148034): IconDatabase::updateIconRecord crashes with null iconData and iconBitmap.
655         https://bugs.webkit.org/show_bug.cgi?id=114356
656
657         Reviewed by Tim Horton.
658
659         When loading an icon fails (for example, when a non-existent URI is
660         passed to the loader), updateIconRecord can be called with both
661         iconData and iconBitmap having no data.
662
663         This used to be fine before r148034, but causes an assertion now.
664
665         No new tests, existing tests such as fast/encoding/mispositioned-meta.html
666         were crashing.
667
668         * loader/icon/IconDatabase.cpp:
669         (WebCore::IconDatabase::updateIconRecord): Change the ASSERT() to check
670         for a NAND condition that only fails if both iconData and iconBitmap
671         are not 0.
672
673 2013-04-10  JungJik Lee  <jungjik.lee@samsung.com>
674
675         [Texmap] Update a dirty region which is not covered with keepRect.
676         https://bugs.webkit.org/show_bug.cgi?id=113752
677
678         Reviewed by Jocelyn Turcotte.
679
680         There can be a dirty region which is not covered with keepRect. 
681         However the dirty could be inside the tile area. In this case, 
682         currently we ignore the dirty by intersecting with keepRect 
683         and the dirty region will not be invalidated until the tile is 
684         recreated. We must expand the keep rect to its intersecting tiles 
685         to make sure that the dirty region is applied to existing tiles. 
686
687         No tests needed, change is unobservable.
688
689         * platform/graphics/TiledBackingStore.cpp:
690         (WebCore::TiledBackingStore::invalidate):
691
692 2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
693
694         Remove ENABLE_3D_PLUGIN
695         https://bugs.webkit.org/show_bug.cgi?id=108002
696
697         Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
698
699         Reviewed by Antti Koivisto.
700
701         No new tests, removing dead code.
702
703         * loader/SubframeLoader.cpp:
704         (WebCore::SubframeLoader::loadPlugin):
705
706 2013-04-10  Noam Rosenthal  <noam@webkit.org>
707
708         [Texmap] Hierarchy of layers with opacity may result in wrong blending.
709         https://bugs.webkit.org/show_bug.cgi?id=113732
710
711         Reviewed by Allan Sandfeld Jensen.
712
713         This is a combination of three issues with nested intermediate surfaces:
714         - glScissor inside an intermediate surface should not be mirrored.
715         - The current surface should be passed to the next surface in paintOptions.
716         - When clipping for the non-overlap region, the containing surface offset 
717         should be applied.
718
719         Though the changes are separate, they cannot be tested separately as neither
720         fixes a testable case on its own. 
721
722         Tests: compositing/overlap-blending/nested-non-overlap-clipping.html
723                compositing/overlap-blending/nested-overlap.html
724
725         * platform/graphics/texmap/TextureMapperGL.cpp:
726         (WebCore::TextureMapperGL::ClipStack::reset):
727         (WebCore::TextureMapperGL::ClipStack::apply):
728         (WebCore::TextureMapperGL::beginPainting):
729         (WebCore::BitmapTextureGL::clearIfNeeded):
730         * platform/graphics/texmap/TextureMapperGL.h:
731         (ClipStack):
732             Do not mirror the scissor clip when painting to an FBO.
733             Also a minor refactor to avoid reading the viewport values from the driver.
734
735         * platform/graphics/texmap/TextureMapperLayer.cpp:
736         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
737             Apply the offset when clipping for a non-overlap region.
738         (WebCore::TextureMapperLayer::paintIntoSurface):
739             Make sure the current surface is passed to the next one.
740
741 2013-04-10  Antti Koivisto  <antti@apple.com>
742
743         Create fewer tiles when page is loading
744         https://bugs.webkit.org/show_bug.cgi?id=114294
745
746         Reviewed by Anders Carlsson.
747
748         We currently create speculative tiles immediately. Page is often changing rapidly during loading and
749         keeping the speculative tiles up to date creates extra work.
750         
751         Tests: platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative.html
752                platform/mac-wk2/tiled-drawing/tile-coverage-speculative.html
753         
754        * loader/FrameLoader.cpp:
755         (WebCore::FrameLoader::loadProgressingStatusChanged):
756         * page/FrameView.cpp:
757         (WebCore::FrameView::adjustTiledBackingCoverage):
758         (WebCore::FrameView::setWasScrolledByUser):
759         
760             User scrolling enables speculative tiling no matter what the load status.
761
762         * page/FrameView.h:
763         * rendering/RenderLayerBacking.cpp:
764         (WebCore::computeTileCoverage):
765         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
766         
767             Cover only the viewport during loading.
768
769 2013-04-10  Alberto Garcia  <agarcia@igalia.com>
770
771         [BlackBerry] RenderThemeBlackBerry: get rid of all the SKIA code
772         https://bugs.webkit.org/show_bug.cgi?id=114339
773
774         Reviewed by Carlos Garcia Campos.
775
776         * platform/blackberry/RenderThemeBlackBerry.cpp:
777         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
778         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
779         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
780         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):
781
782 2013-04-10  Zan Dobersek  <zdobersek@igalia.com>
783
784         REGRESSION (r147719): Failures in two a11y tests on GTK
785         https://bugs.webkit.org/show_bug.cgi?id=114259
786
787         Reviewed by Ryosuke Niwa.
788
789         No new tests - covered by existing tests.
790
791         Partially revert r147719, restoring the possible creation of the AXObject cache 
792         and the subsequent call to its handleFocusedUIElementChanged method. Removing this
793         code caused regressions in accessibility tests on the GTK port, so the comment about
794         the AXObject cache is adjusted accordingly.
795
796         * dom/Document.cpp:
797         (WebCore::Document::setFocusedNode):
798
799 2013-04-09  Philippe Normand  <pnormand@igalia.com>
800
801         [GStreamer] playbin uri getter is invalid
802         https://bugs.webkit.org/show_bug.cgi?id=113884
803
804         Reviewed by Martin Robinson.
805
806         When loading a new media location use the url stored as a member
807         variable instead of the one stored as a playbin property. The uri
808         property semantic changed in playbin since 0.10.36+. One should
809         now use current-uri but to avoid ifdefs depending on GStreamer
810         version we simply use the url already known as member variable.
811
812         Test: http/tests/media/video-redirect.html
813
814         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
815
816 2013-04-09  Geoffrey Garen  <ggaren@apple.com>
817
818         [JSC] Script run from an isolated world should bypass a page's CSP
819         https://bugs.webkit.org/show_bug.cgi?id=100815
820
821         Reviewed by Oliver Hunt.
822
823         * bindings/js/ScriptController.cpp:
824         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
825         * bindings/js/ScriptController.h: Test the current caller's DOM wrapper
826         world to decide whether CSP should be enforced.
827
828         Like most of CSP, this is a stupid policy because it doesn't address
829         second-order effects like <script> parsing or event handler execution,
830         which might be triggered indirectly by privileged scripts. These indirect
831         effects are still broken. Oh well.
832
833 2013-04-09  Benjamin Poulain  <bpoulain@apple.com>
834
835         Remove chromium exceptions from WebCore's gitattributes
836         https://bugs.webkit.org/show_bug.cgi?id=114327
837
838         Reviewed by Darin Adler.
839
840         * .gitattributes:
841
842 2013-04-09  Adam Klein  <adamk@chromium.org>
843
844         Update Document's event listener type bitfield when adopting a Node
845         https://bugs.webkit.org/show_bug.cgi?id=114322
846
847         Reviewed by Darin Adler.
848
849         Without this, moving a Node between documents can silently deactivate
850         an event listener, if it's one of the types that whose creation is
851         optimized away by Document::hasListenerType.
852
853         An alternate approach would be to simply copy the old document's
854         bitfield over. It's a tradeoff between making adoption fast and making
855         the operation of any operation depending on these event types fast.
856         The latter seems like the right optimization given that adoption
857         doesn't happen very often.
858
859         Test: fast/events/event-listener-moving-documents.html
860
861         * dom/Node.cpp:
862         (WebCore::Node::didMoveToNewDocument): For each event listener type on the adopted node, update the new document's list of listener types.
863
864 2013-04-09  Dean Jackson  <dino@apple.com>
865
866         Add logging channel for animations
867         https://bugs.webkit.org/show_bug.cgi?id=114325
868
869         Reviewed by Simon Fraser.
870
871         * platform/Logging.cpp: Add LogAnimations.
872         (WebCore::getChannelFromName): Return LogAnimations for "Animations".
873         * platform/Logging.h: Add LogAnimations.
874         * platform/mac/LoggingMac.mm:
875         (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
876         * platform/win/LoggingWin.cpp:
877         (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
878
879 2013-04-09  Dongwoo Joshua Im  <dw.im@samsung.com>
880
881         [CSS3] Parsing the property, text-justify.
882         https://bugs.webkit.org/show_bug.cgi?id=100058
883
884         Reviewed by Andreas Kling.
885
886         This patch implements the parsing side of the "text-justify" property specified
887         in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
888         Specification link : http://www.w3.org/TR/css3-text/#text-justify
889
890         Tests: fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-inherited.html
891                fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify.html
892
893         * css/CSSComputedStyleDeclaration.cpp:
894         (WebCore):
895         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
896         * css/CSSParser.cpp:
897         (WebCore::isValidKeywordPropertyAndValue):
898         (WebCore::isKeywordPropertyID):
899         (WebCore::CSSParser::parseValue):
900         * css/CSSPrimitiveValueMappings.h:
901         (WebCore):
902         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
903         (WebCore::CSSPrimitiveValue::operator TextJustify):
904         * css/CSSProperty.cpp:
905         (WebCore::CSSProperty::isInheritedProperty):
906         * css/CSSPropertyNames.in:
907         * css/CSSValueKeywords.in:
908         * css/StyleBuilder.cpp:
909         (WebCore::StyleBuilder::StyleBuilder):
910         * css/StylePropertySet.cpp:
911         (WebCore):
912         * css/StyleResolver.cpp:
913         (WebCore::StyleResolver::applyProperty):
914         * rendering/style/RenderStyle.h:
915         * rendering/style/RenderStyleConstants.h:
916         * rendering/style/StyleRareInheritedData.cpp:
917         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
918         (WebCore::StyleRareInheritedData::operator==):
919         * rendering/style/StyleRareInheritedData.h:
920         (StyleRareInheritedData):
921
922 2013-04-09  Joone Hur  <joone.hur@intel.com>
923
924         [GTK][AC] Adding contentsLayer for image and video
925         https://bugs.webkit.org/show_bug.cgi?id=113912
926
927         Reviewed by Gustavo Noronha Silva.
928
929         contentsLayer is a ClutterActor, which is added to the main layer 
930         as a child when GraphicsLayer needs to render an image or video. 
931
932         No new tests, already covered by existing AC tests.
933
934         * platform/graphics/clutter/GraphicsLayerActor.cpp:
935         (graphicsLayerActorUpdateTexture):
936         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
937         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
938         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
939         (WebCore):
940         (WebCore::GraphicsLayerClutter::setContentsToImage): Pass a Cairo surface to GraphicsLayer.
941         (WebCore::GraphicsLayerClutter::setContentsNeedsDisplay):
942         (WebCore::GraphicsLayerClutter::setContentsRect):
943         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
944         (WebCore::GraphicsLayerClutter::setupContentsLayer):
945         (WebCore::GraphicsLayerClutter::updateContentsImage): Set the Cairo surface for contentsLayer 
946         to upload it as a texture.
947         (WebCore::GraphicsLayerClutter::updateContentsNeedsDisplay):
948         (WebCore::GraphicsLayerClutter::updateContentsRect):
949         (WebCore::GraphicsLayerClutter::updateSublayerList):
950         * platform/graphics/clutter/GraphicsLayerClutter.h:
951         (WebCore::GraphicsLayerClutter::hasContentsLayer):
952         (GraphicsLayerClutter):
953         (WebCore::GraphicsLayerClutter::contentsLayer):
954
955 2013-04-09  Alexey Proskuryakov  <ap@apple.com>
956
957         REGRESSION: Blob URLs broken with NetworkProcess
958         https://bugs.webkit.org/show_bug.cgi?id=114320
959
960         Reviewed by Brady Eidson.
961
962         Update BlobResourceHandle to use modern resource client calls.
963
964         * platform/network/BlobResourceHandle.cpp:
965         (WebCore::BlobResourceHandle::readSync): Don't call notifyReceiveData if there is
966         no data (it's especially egregious when length is -1, signaling an error).
967         (WebCore::BlobResourceHandle::notifyResponseOnSuccess): Use didReceiveResponseAsync
968         when a client wants async callbacks. This is not very clean, as we don't wait
969         for response, but should be workable for blobs.
970         (WebCore::BlobResourceHandle::notifyResponseOnError): Ditto.
971         (WebCore::BlobResourceHandle::notifyReceiveData): Use didReceiveBuffer (clients
972         that only implement didReceiveData will have it automatically unwrapped).
973
974 2013-04-09  Jer Noble  <jer.noble@apple.com>
975
976         REGRESSION (r123837): Full screen transition is broken at apple.com
977         https://bugs.webkit.org/show_bug.cgi?id=95650
978
979         Reviewed by Simon Fraser.
980
981         Cancel any outstanding animations on <video> elements as they enter full screen, so as to
982         not confuse the WebKit/WebKit2 full screen window animation about the starting and destination
983         screen rects.
984
985         * css/fullscreen.css:
986         (video:-webkit-full-screen, audio:-webkit-full-screen):
987
988 2013-04-09  Jer Noble  <jer.noble@apple.com>
989
990         hang in mediaSelectionGroupForMediaCharacteristic
991         https://bugs.webkit.org/show_bug.cgi?id=114054
992
993         Reviewed by Eric Carlson.
994
995         No new tests; Fixes sporadic hangs in media/ tests.
996
997         -[AVURLAsset mediaSelectionGroupForMediaCharacteristic:] can deadlock in certain situations: When AVURLAsset
998         posts a synchronous AVAssetResourceLoader notification to the main thread, calling -mediaSelectionGroupForMediaCharacteristic:
999         on the main thread requires IO to occur if the media characteristics are not yet loaded. Instead of blocking,
1000         bail out early if the media characteristics are not yet known.
1001         
1002         Add a new method, safeMediaSelectionGroupForLegibleMedia(), which first checks selection group availability
1003         before calling mediaSelectionGroupForMediaCharacteristic:.
1004
1005         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1006         (MediaPlayerPrivateAVFoundationObjC):
1007         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1008         (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForLegibleMedia): Added.
1009         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Use new safe method.
1010         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Ditto.
1011         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Ditto.
1012         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Ditto.
1013
1014 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
1015
1016         AX: Bounding paths should be made available through accessibility
1017         https://bugs.webkit.org/show_bug.cgi?id=113817
1018
1019         Unreviewed build fix for iOS.
1020
1021         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1022         (-[WebAccessibilityObjectWrapper _accessibilityPath]):
1023         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
1024
1025 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
1026
1027         Unreviewed correctness fix: use lroundf instead of lround for a float to int conversion.
1028
1029         * html/shadow/MediaControlElements.cpp:
1030         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
1031
1032 2013-04-06  Roger Fong  <roger_fong@apple.com>
1033
1034         Change requisite hardware checks for enabling antialiasing.
1035         https://bugs.webkit.org/show_bug.cgi?id=114101
1036         <rdar://problem/12342776>.
1037
1038         m_maySupportMultisampling should be true by default for all platforms/hardware now except older versions of AMD.
1039
1040         Reviewed by Dean Jackson.
1041
1042         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1043         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
1044
1045 2013-04-09  Commit Queue  <rniwa@webkit.org>
1046
1047         Unreviewed, rolling out r148010.
1048         http://trac.webkit.org/changeset/148010
1049         https://bugs.webkit.org/show_bug.cgi?id=114310
1050
1051         Causes problems with focus rings (Requested by anttik on
1052         #webkit).
1053
1054         * css/StyleBuilder.cpp:
1055         (WebCore::ApplyPropertyComputeLength::applyValue):
1056         (WebCore::ApplyPropertyComputeLength::createHandler):
1057         (WebCore::StyleBuilder::StyleBuilder):
1058
1059 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
1060
1061         Unreviewed, another fix for the Windows build after r148050.
1062
1063         * html/track/TextTrackCueGeneric.cpp:
1064         (WebCore::TextTrackCueGeneric::setFontSize): Use lround().
1065
1066 2013-04-09  Bem Jones-Bey  <bjonesbe@adobe.com>
1067
1068         [CSS Exclusions] Properly position multiple stacked floats with non rectangular shape outside
1069         https://bugs.webkit.org/show_bug.cgi?id=110372
1070
1071         Reviewed by Dean Jackson.
1072
1073         Stacked floats get positioned based on the bounding box of the shape,
1074         not on the shape contours itself. This patch causes that to happen.
1075
1076         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-stacked.html
1077
1078         * rendering/RenderBlock.cpp:
1079         (WebCore::RenderBlock::computeLogicalLocationForFloat): Use the
1080             "BoundingBoxOffset" mode so that we compute offsets based on the shape
1081             bounding boxes of previous floats, not the shape contour.
1082         (WebCore::RenderBlock::logicalLeftOffsetForLine): Check the
1083             ShapeOutsideFloatOffsetMode to determine if the offset should be
1084             adjusted for the shape contour or not.
1085         (WebCore::RenderBlock::logicalRightOffsetForLine): Ditto.
1086         * rendering/RenderBlock.h:
1087         (WebCore::RenderBlock::logicalRightOffsetForLine): Add parameter for offset mode.
1088         (WebCore::RenderBlock::logicalLeftOffsetForLine): Ditto.
1089         (RenderBlock):
1090         * rendering/RenderBlockLineLayout.cpp:
1091         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): If the
1092             new float is being added on top of a previous float on the same line,
1093             undo the offset for the previous float's shape contour so that we
1094             position the new float based on the bounding box.
1095
1096 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
1097
1098         Unreviewed, fix the Windows build after r148050.
1099
1100         * html/shadow/MediaControlElements.cpp:
1101         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Use lround().
1102
1103 2013-04-09  Tim Horton  <timothy_horton@apple.com>
1104
1105         [wk2] IconDatabase images should be decoded in the WebProcess
1106         ​https://bugs.webkit.org/show_bug.cgi?id=112524
1107         <rdar://problem/10133914>
1108
1109         Reviewed by Simon Fraser.
1110
1111         Move an ASSERT that dereferenced a pointer inside the null-check for that pointer.
1112
1113         * loader/icon/IconDatabase.cpp:
1114         (WebCore::IconDatabase::setIconBitmapForIconURL):
1115
1116 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
1117
1118         [Mac] user caption styles not applied to correct element
1119         https://bugs.webkit.org/show_bug.cgi?id=114230
1120
1121         Reviewed by Jer Noble.
1122
1123         Test: media/track/track-css-user-override.html
1124
1125         * html/HTMLMediaElement.cpp:
1126         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Drive by clean-up so we don't log excessively.
1127
1128         * html/shadow/MediaControlElements.cpp:
1129         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Initialize
1130             new member variables.
1131         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Set cue font size when it is
1132             inserted into the tree.
1133         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Update the font size of 
1134             all active cues.
1135         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Set size-relative CSS properties
1136             after a time because this can be called during layout.
1137         * html/shadow/MediaControlElements.h:
1138
1139         * html/shadow/MediaControls.cpp:
1140         (WebCore::MediaControls::textTrackPreferencesChanged): Call closedCaptionTracksChanged before updateSizes.
1141
1142         * html/track/TextTrackCue.cpp:
1143         (WebCore::TextTrackCue::setFontSize): New, set the cue's font size.
1144         * html/track/TextTrackCue.h:
1145
1146         * html/track/TextTrackCueGeneric.cpp:
1147         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set cue properties on the cue element
1148             instead of on the cue box to match what we do for the "cue" pseudo element.
1149         (WebCore::TextTrackCueGeneric::setFontSize): New, set the cue's font size.
1150         * html/track/TextTrackCueGeneric.h:
1151
1152         * html/track/TextTrackList.cpp:
1153         (TextTrackList::remove): Drive-by cleanup, don't ASSERT when the media element is NULL.
1154
1155         * page/CaptionUserPreferences.cpp:
1156         (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride): New, allow user CSS overrides
1157             to be tested in DRT.
1158         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride): New, generate a user style
1159             sheet override. Moved here from CaptionUserPreferencesMac.
1160         * page/CaptionUserPreferences.h:
1161
1162         * page/CaptionUserPreferencesMac.h:
1163         * page/CaptionUserPreferencesMac.mm:
1164         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Don't ignore background color importance.
1165         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Implement even when we don't 
1166             have the media accessibility framework so this can be tested in DRT. Apply all cue properties
1167             to the element used for the "cue" pseudo element.
1168
1169         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1170         (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress): Drive-by cleanup, remove logging
1171             because this method is called so frequently and the logging is not especially useful.
1172         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Only log when the ready/network
1173             state changes because this method is called so frequently.
1174
1175         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1176         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformLayer): Drive-by cleanup, remove logging
1177             because this method is called so frequently and the logging is not especially useful.
1178         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Make the logging more useful.
1179
1180         * testing/Internals.cpp:
1181         (WebCore::Internals::resetToConsistentState): Reset captions style sheet override.
1182         (WebCore::Internals::captionsStyleSheetOverride): New, return the captions style sheet override.
1183         (WebCore::Internals::setCaptionsStyleSheetOverride): New, override the captions style sheet override.
1184         * testing/Internals.h:
1185         * testing/Internals.idl:
1186
1187 2013-04-08  Simon Fraser  <simon.fraser@apple.com>
1188
1189         Repaint rect too small on elements with shadows
1190         https://bugs.webkit.org/show_bug.cgi?id=114225
1191
1192         Reviewed by Dain Adler.
1193         
1194         We assumed that shadows (box-shadow, text-shadow, svg shadows)
1195         only required inflating the repaint rect by the blur radius of
1196         the shadow. However, this is incorrect; the shadow can extend
1197         further, which resulted in clipped or incorrectly invalidated
1198         shadows.
1199         
1200         Fix by disambiguating the blur radius (which is 2x the standard
1201         deviation of the Gaussian distribution used to generate the blur),
1202         from the painting extent, which is how far the shadow visually
1203         projects. Using a 1.4 multiplier of the blur radius is a good
1204         approximation for the painting extent.
1205         
1206         Renamed ShadowData::blur() to ShadowData::radius(), and added
1207         ShadowData::paintingExtent(). Use the latter in all places
1208         which relate to invalidation.
1209
1210         Test: fast/box-shadow/shadow-repaint.html
1211
1212         * css/CSSComputedStyleDeclaration.cpp:
1213         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
1214         * editing/mac/EditorMac.mm:
1215         (WebCore::Editor::fontAttributesForSelectionStart):
1216         * page/animation/CSSPropertyAnimation.cpp:
1217         (WebCore::blendFunc):
1218         * rendering/EllipsisBox.cpp:
1219         (WebCore::EllipsisBox::paint):
1220         * rendering/InlineTextBox.cpp:
1221         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
1222         (WebCore::InlineTextBox::paintDecoration):
1223         * rendering/RenderBoxModelObject.cpp:
1224         (WebCore::applyBoxShadowForBackground):
1225         (WebCore::areaCastingShadowInHole):
1226         (WebCore::RenderBoxModelObject::paintBoxShadow):
1227         * rendering/style/RenderStyle.cpp:
1228         (WebCore::RenderStyle::getShadowExtent):
1229         (WebCore::RenderStyle::getShadowInsetExtent):
1230         (WebCore::RenderStyle::getShadowHorizontalExtent):
1231         (WebCore::RenderStyle::getShadowVerticalExtent):
1232         * rendering/style/ShadowData.cpp:
1233         (WebCore::ShadowData::ShadowData):
1234         (WebCore::ShadowData::operator==):
1235         (WebCore::calculateShadowExtent):
1236         * rendering/style/ShadowData.h:
1237         (WebCore::ShadowData::ShadowData):
1238         (WebCore::ShadowData::radius):
1239         (WebCore::ShadowData::paintingExtent):
1240         * rendering/svg/SVGRenderingContext.cpp:
1241         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1242
1243 2013-04-08  Simon Fraser  <simon.fraser@apple.com>
1244
1245         window.internals.repaintRectsAsText() is hard to use because it doesn't force layout
1246         https://bugs.webkit.org/show_bug.cgi?id=114219
1247
1248         Reviewed by Beth Dakin.
1249
1250         Force layout when setTracksRepaints() is set to true, to flush out any pending
1251         repaints from a layout that hasn't happened yet. Also force layout in
1252         trackedRepaintRectsAsText(), so that any pending layout happpens and thus
1253         repaints.
1254
1255         * page/FrameView.cpp:
1256         (WebCore::FrameView::setTracksRepaints):
1257         (WebCore::FrameView::trackedRepaintRectsAsText):
1258
1259 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
1260
1261         AX: Bounding paths should be made available through accessibility
1262         https://bugs.webkit.org/show_bug.cgi?id=113817
1263
1264         Unreviewed build fix (again).
1265
1266         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1267         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
1268
1269 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
1270
1271         AX: Bounding paths should be made available through accessibility
1272         https://bugs.webkit.org/show_bug.cgi?id=113817
1273
1274         Unreviewed build fix.
1275
1276         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1277         (WebTransformCGPathToNSBezierPath):
1278
1279 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
1280
1281         AX: Bounding paths should be made available through accessibility
1282         https://bugs.webkit.org/show_bug.cgi?id=113817
1283
1284         Reviewed by Tim Horton.
1285
1286         Minor fix from review feedback.
1287
1288         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1289         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
1290
1291 2013-04-09  Tim Horton  <timothy_horton@apple.com>
1292
1293         [wk2] IconDatabase images should be decoded in the WebProcess
1294         https://bugs.webkit.org/show_bug.cgi?id=112524
1295         <rdar://problem/10133914>
1296
1297         Reviewed by Oliver Hunt.
1298
1299         No testable behavior change.
1300
1301         * loader/icon/IconDatabase.cpp:
1302         (WebCore::IconDatabase::updateIconRecord):
1303         Added updateIconRecord, which factors most of setIconDataForIconURL out so it can
1304         be shared with setIconBitmapForIconURL. This function will set either a bitmap or
1305         raw image data for the given icon URL.
1306
1307         (WebCore::IconDatabase::setIconBitmapForIconURL):
1308         Added; make a copy of the bitmap for thread-safety purposes, and call updateIconRecord.
1309
1310         (WebCore::IconDatabase::setIconDataForIconURL):
1311         Factored out of what is now updateIconRecord.
1312
1313         * loader/icon/IconDatabase.h:
1314         (IconDatabase): Add setIconBitmapForIconURL and updateIconRecord.
1315
1316         * loader/icon/IconDatabaseBase.h:
1317         (WebCore::IconDatabaseBase::setIconBitmapForIconURL): Added.
1318         * loader/icon/IconRecord.cpp:
1319         (WebCore::IconRecord::setImage): Set the image for an icon record directly (as opposed
1320         to setting the image data, which causes the image to be decoded in the WebProcess).
1321         * loader/icon/IconRecord.h:
1322         (IconRecord): Add setImage.
1323
1324 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
1325
1326         AX: The bounding paths should be made available through accessibility
1327         https://bugs.webkit.org/show_bug.cgi?id=113817
1328
1329         Reviewed by David Kilzer.
1330
1331         This allows bounding paths to be returned for some web elements (image map areas and SVG shapes).
1332         This provides more accuracy when assistive technologies highlight elements.
1333         The Mac and iOS platforms share some code to help transform paths to their screen coordinates.
1334
1335         Tests: platform/iphone-simulator/accessibility/element-paths.html
1336                platform/mac/accessibility/element-paths.html
1337
1338         * accessibility/AccessibilityImageMapLink.cpp:
1339         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
1340         (WebCore):
1341         (WebCore::AccessibilityImageMapLink::elementPath):
1342         (WebCore::AccessibilityImageMapLink::elementRect):
1343         * accessibility/AccessibilityImageMapLink.h:
1344         (AccessibilityImageMapLink):
1345         (WebCore::AccessibilityImageMapLink::supportsPath):
1346         * accessibility/AccessibilityObject.h:
1347         (WebCore::AccessibilityObject::elementPath):
1348         (WebCore::AccessibilityObject::supportsPath):
1349         * accessibility/AccessibilityRenderObject.cpp:
1350         (WebCore):
1351         (WebCore::AccessibilityRenderObject::supportsPath):
1352         (WebCore::AccessibilityRenderObject::elementPath):
1353         * accessibility/AccessibilityRenderObject.h:
1354         (AccessibilityRenderObject):
1355         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1356         (-[WebAccessibilityObjectWrapper _accessibilityPath]):
1357         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
1358         (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):
1359         (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
1360         (-[WebAccessibilityObjectWrapper accessibilityFrame]):
1361         (-[WebAccessibilityObjectWrapper frameForTextMarkers:]):
1362         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
1363         (WebCore):
1364         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
1365         (PathConversionInfo):
1366         (ConvertPathToScreenSpaceFunction):
1367         (-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]):
1368         (-[WebAccessibilityObjectWrapperBase convertPointToScreenSpace:]):
1369         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1370         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1371         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
1372         (WebTransformCGPathToNSBezierPath):
1373         (-[WebAccessibilityObjectWrapper bezierPathFromPath:]):
1374         (-[WebAccessibilityObjectWrapper path]):
1375         (-[WebAccessibilityObjectWrapper position]):
1376         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1377
1378 2013-04-09  Benjamin Poulain  <bpoulain@apple.com>
1379
1380         Remove the WebKit copy of GLU and the file using it
1381         https://bugs.webkit.org/show_bug.cgi?id=114249
1382
1383         Reviewed by Darin Adler.
1384
1385         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Removed.
1386
1387 2013-04-09  Andreas Kling  <akling@apple.com>
1388
1389         Throttle resize events during live window resize.
1390         <http://webkit.org/b/114292>
1391         <rdar://problem/13411454>
1392
1393         Reviewed by Geoffrey Garen.
1394
1395         Limit resize events to one at max every 0.2 seconds during live window resize.
1396         This mitigates heavy CPU usage during resize on pages with complex onresize handlers.
1397         If there's a pending resize event when the live resize ends, it fires immediately.
1398
1399         * page/FrameView.cpp:
1400         (WebCore::FrameView::sendResizeEvent):
1401
1402             Factored out dispatch of the resize event after layout so we can call it on a timer
1403             instead of immediately while live window resize is active.
1404
1405         (WebCore::FrameView::FrameView):
1406         (WebCore::FrameView::performPostLayoutTasks):
1407         (WebCore::FrameView::delayedResizeEventTimerFired):
1408         (WebCore::FrameView::willEndLiveResize):
1409         (WebCore::FrameView::scheduleResizeEvent):
1410         * page/FrameView.h:
1411         * platform/ScrollableArea.h:
1412
1413             Made willStartLiveResize() and willEndLiveResize() virtual so we can override
1414             them on FrameView.
1415
1416 2013-04-09  Jeff Rogers  <jrogers@rim.com>
1417
1418         Add webp to supported image mime types if WEBP feature is enabled/used
1419         https://bugs.webkit.org/show_bug.cgi?id=112819
1420
1421         Reviewed by Darin Adler.
1422
1423         Add WebP to list of supported image types in MIMETypeRegistry if enabled.
1424
1425         No new tests: WebP image decoding already covered by exisiting tests.
1426
1427         * platform/MIMETypeRegistry.cpp:
1428         (WebCore::initializeSupportedImageMIMETypes):
1429
1430 2013-04-09  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1431
1432         Whitespace in particular source code changes rendering; does not in Firefox
1433         https://bugs.webkit.org/show_bug.cgi?id=100943
1434
1435         Reviewed by Darin Adler.
1436
1437         A render inline which requires a line box is considered a possible
1438         trailing object. So, ensureLineBoxInsideIgnoredSpaces will be called
1439         for it, even if it is placed after a text render ending with a single
1440         space.
1441
1442         Tests: fast/text/whitespace/trailing-space-before-empty-span-1.html
1443                fast/text/whitespace/trailing-space-before-empty-span-2.html
1444
1445         * rendering/RenderBlockLineLayout.cpp:
1446         (TrailingObjects):
1447         (WebCore::TrailingObjects::appendBoxIfNeeded):
1448         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1449
1450 2013-04-09  Andrei Bucur  <abucur@adobe.com>
1451
1452         Use DOM ordering for list counts
1453         https://bugs.webkit.org/show_bug.cgi?id=110352
1454
1455         Reviewed by Elliott Sprehn.
1456
1457         Currently the list items ordering is made by traversing the render tree. This gives bad results for:
1458         - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
1459         - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
1460         list so the numbering gets broken.
1461
1462         To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
1463         so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
1464         namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
1465         for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
1466         pre-order traversal methods aware of the pseudo-elements.
1467         An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
1468         no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
1469         first parent of the <li> or the shadow root if there is no ancestor.
1470         The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
1471         To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
1472         of this method. The CSS counters and the list items now have the same traversal algorithm.
1473
1474         In later patches I'll add tests that should cover the regions and shadow DOM use cases.
1475         Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
1476         Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975
1477
1478         Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
1479         and fast/dom/shadow/shadow-and-list-elements.html
1480
1481         * dom/Node.cpp:
1482         (WebCore::Node::pseudoAwarePreviousSibling):
1483         (WebCore):
1484         (WebCore::Node::pseudoAwareNextSibling):
1485         (WebCore::Node::pseudoAwareFirstChild):
1486         (WebCore::Node::pseudoAwareLastChild):
1487         * dom/Node.h:
1488         (Node):
1489         * dom/NodeTraversal.cpp:
1490         (WebCore):
1491         (WebCore::NodeTraversal::previousIncludingPseudo):
1492         (NodeTraversal):
1493         (WebCore::NodeTraversal::nextIncludingPseudo):
1494         (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
1495         * dom/NodeTraversal.h:
1496         (ElementTraversal):
1497         (NodeTraversal):
1498         (WebCore::ElementTraversal::previousIncludingPseudo):
1499         (WebCore::ElementTraversal::nextIncludingPseudo):
1500         (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
1501         (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
1502         * html/HTMLLIElement.cpp:
1503         (WebCore::HTMLLIElement::attach):
1504         * html/HTMLOListElement.cpp:
1505         (WebCore::HTMLOListElement::updateItemValues):
1506         (WebCore::HTMLOListElement::recalculateItemCount):
1507         * rendering/RenderCounter.cpp:
1508         (WebCore::previousInPreOrder):
1509         (WebCore::previousSiblingOrParent):
1510         (WebCore::parentElement):
1511         (WebCore::nextInPreOrder):
1512         * rendering/RenderListItem.cpp:
1513         (WebCore):
1514         (WebCore::enclosingList):
1515         (WebCore::RenderListItem::nextListItem):
1516         (WebCore::previousListItem):
1517         (WebCore::RenderListItem::calcValue):
1518         (WebCore::RenderListItem::explicitValueChanged):
1519         (WebCore::previousOrNextItem):
1520         (WebCore::RenderListItem::updateListMarkerNumbers):
1521         * rendering/RenderListItem.h:
1522         (RenderListItem):
1523
1524 2013-04-09  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1525
1526         [Texmap] TextureMapperLayer refactor for readiblity
1527         https://bugs.webkit.org/show_bug.cgi?id=114278
1528
1529         Reviewed by Noam Rosenthal.
1530
1531         Removes non-needed return values, function parameters and changes
1532         boolean values with enums for readibility.
1533
1534         No behavioral changes, thus no tests.
1535
1536         * platform/graphics/texmap/TextureMapperLayer.cpp:
1537         (WebCore::TextureMapperLayer::computeTransformsRecursive):
1538         (WebCore::TextureMapperLayer::paintSelf):
1539         (WebCore::TextureMapperLayer::sortByZOrder):
1540         (WebCore::TextureMapperLayer::computeOverlapRegions):
1541         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
1542         (WebCore::commitSurface):
1543         (WebCore::TextureMapperLayer::paintWithIntermediateSurface):
1544         (WebCore::TextureMapperLayer::paintRecursive):
1545         * platform/graphics/texmap/TextureMapperLayer.h:
1546         (TextureMapperLayer):
1547
1548 2013-04-09  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
1549
1550         [WebSocket] Ignore incoming message in CLOSING state
1551         https://bugs.webkit.org/show_bug.cgi?id=85934
1552
1553         Reviewed by Kent Tamura.
1554
1555         Change WebSocket implementation to suit the new WebSocket API, which
1556         states that we should ignore messages in CLOSING state.
1557
1558         No new tests, updating existing tests.
1559
1560         * Modules/websockets/WebSocket.cpp:
1561         (WebCore::WebSocket::didReceiveMessage):
1562
1563 2013-04-09  Seokju Kwon  <seokju.kwon@gmail.com>
1564
1565         Web Inspector: Add Localized strings after r144154 and r135127
1566         https://bugs.webkit.org/show_bug.cgi?id=114269
1567
1568         Reviewed by Timothy Hatcher.
1569
1570         No new tests, no behavior change.
1571
1572         * English.lproj/localizedStrings.js:
1573
1574 2013-04-09  Antti Koivisto  <antti@apple.com>
1575
1576         Throttle compositing layer flushes in subframes
1577         https://bugs.webkit.org/show_bug.cgi?id=114267
1578
1579         Reviewed by Andreas Kling.
1580
1581         Throttle compositing layer flushes in all frames, not just the main one.
1582         
1583         This especially reduces flushes/repaints generated by ads in iframes.
1584
1585         * loader/FrameLoader.cpp:
1586         (WebCore::FrameLoader::loadProgressingStatusChanged):
1587         * page/FrameView.cpp:
1588         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
1589         * page/FrameView.h:
1590
1591 2013-04-09  Suchit Agrawal  <a.suchit@samsung.com>
1592
1593         Table border doesn't show up
1594         https://bugs.webkit.org/show_bug.cgi?id=13709
1595
1596         Reviewed by Antti Koivisto.
1597
1598         Border issue is fixed when border width is less than 0.8pt
1599
1600         Border width is stored as unsigned. Border width (specified by
1601         author) is converted into pixels and some times this pixel value
1602         goes less than 1px. In this case, border width becomes 0px when
1603         pixel value (double type) assigned to unsigned type.
1604         Border width should not fall to 0px unless it is specified by
1605         author.
1606
1607         Test: fast/borders/border-width-less-then-a-unit-of-pt.html
1608
1609         * css/StyleBuilder.cpp:
1610         ApplyPropetyComputeLength class is replaced with 3 classes :
1611         ApplyPropertyComputeBorderWidth, ApplyPropertyComputeTextSpacing
1612         and ApplyPropertyComputeTransformOriginZ.
1613
1614         (WebCore::ApplyPropertyComputeBorderWidth::applyValue):
1615         (WebCore::ApplyPropertyComputeBorderWidth::createHandler):
1616         This class handles all width properties like border, outline,
1617         etc. These all properties stores value in integer types.
1618         Pixel value rounded of to 1px if value less than 1px and greater
1619         than 0px.
1620
1621         (WebCore):
1622         (ApplyPropertyComputeTextSpacing):
1623         (WebCore::ApplyPropertyComputeTextSpacing::setValue):
1624         (WebCore::ApplyPropertyComputeTextSpacing::applyValue):
1625         (WebCore::ApplyPropertyComputeTextSpacing::createHandler):
1626         This class handles all spacing properties like word-spacing,
1627         letter-spacing etc.
1628
1629         (ApplyPropertyComputeTransformOriginZ):
1630         (WebCore::ApplyPropertyComputeTransformOriginZ::setValue):
1631         (WebCore::ApplyPropertyComputeTransformOriginZ::applyValue):
1632         (WebCore::ApplyPropertyComputeTransformOriginZ::createHandler):
1633         This class handles TransformOriginZ Property.
1634
1635         (WebCore::StyleBuilder::StyleBuilder):
1636         ApplyProprtyComputeLength class usage changed with defined new
1637         classes as per class definition.
1638
1639 2013-04-09  Gabor Loki  <loki@webkit.org>
1640
1641         Initialization skipped error on WinCario after r147643
1642         https://bugs.webkit.org/show_bug.cgi?id=114258
1643
1644         Reviewed by Csaba Osztrogonác.
1645
1646         Build fix. Adding extra block statement to avoid error C2362 on WinCario
1647
1648         * platform/win/DragImageCairoWin.cpp:
1649         (WebCore::createDragImageFromImage):
1650
1651 2013-04-09  Jinwoo Song  <jinwoo7.song@samsung.com>
1652
1653         [WK2] Remove build warnings for unused parameters
1654         https://bugs.webkit.org/show_bug.cgi?id=114234
1655
1656         Reviewed by Andreas Kling.
1657
1658         Fix build warnings -Wunused-parameter.
1659
1660         * Modules/indexeddb/IDBBackingStore.cpp:
1661         (WebCore::IDBBackingStore::openInMemory):
1662         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1663         (WebCore::CreateIndexAbortOperation::perform):
1664         (WebCore::DeleteIndexAbortOperation::perform):
1665         (WebCore::CreateObjectStoreAbortOperation::perform):
1666         (WebCore::DeleteObjectStoreAbortOperation::perform):
1667         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
1668         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1669         (WebCore::IDBLevelDBCoding::decodeBool):
1670         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
1671         * Modules/indexeddb/IDBLevelDBCoding.h:
1672         (WebCore::IDBLevelDBCoding::encodeIntSafely):
1673         * bindings/js/IDBBindingUtilities.cpp:
1674         (WebCore::canSet):
1675         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1676         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
1677         * platform/leveldb/LevelDBDatabase.cpp:
1678         (WebCore::ComparatorAdapter::FindShortestSeparator):
1679         (WebCore::ComparatorAdapter::FindShortSuccessor):
1680
1681 2013-04-09  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1682
1683         [WK2] Drop WebProcess capabilities on Linux using seccomp filters
1684         https://bugs.webkit.org/show_bug.cgi?id=89875
1685
1686         Reviewed by Maciej Stachowiak.
1687
1688         Make the DATA_DIR global since it is now needed for WebCore and WebKit2.
1689         It is now used to set a sandbox policy for the EFL port.
1690
1691         * PlatformEfl.cmake:
1692
1693 2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
1694
1695         Remove WebCore.gyp/gypi
1696         https://bugs.webkit.org/show_bug.cgi?id=114239
1697
1698         Reviewed by Benjamin Poulain.
1699
1700         * WebCore.gyp: Removed.
1701         * WebCore.gyp/.gitignore: Removed.
1702         * WebCore.gyp/ConvertFileToHeaderWithCharacterArray.gypi: Removed.
1703         * WebCore.gyp/MakeNames.gypi: Removed.
1704         * WebCore.gyp/WebCore.gyp: Removed.
1705         * WebCore.gyp/mac: Removed.
1706         * WebCore.gyp/mac/adjust_visibility.sh: Removed.
1707         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
1708         * WebCore.gyp/scripts: Removed.
1709         * WebCore.gyp/scripts/action_csspropertynames.py: Removed.
1710         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Removed.
1711         * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Removed.
1712         * WebCore.gyp/scripts/action_makenames.py: Removed.
1713         * WebCore.gyp/scripts/action_useragentstylesheets.py: Removed.
1714         * WebCore.gyp/scripts/rule_bison.py: Removed.
1715         * WebCore.gyp/scripts/supplemental_idl_files.py: Removed.
1716         * WebCore.gypi: Removed.
1717
1718 2013-04-08  Mihai Maerean  <mmaerean@adobe.com>
1719
1720         Rollout r147756: performance regression
1721         https://bugs.webkit.org/show_bug.cgi?id=114176
1722
1723         Reviewed by Alexis Menard.
1724
1725         Rolling out the patch for https://bugs.webkit.org/show_bug.cgi?id=74144 "[CSS Regions] Elements in a region
1726         should be assignable to a named flow" because of the performance regression in Parser/html5-full-render.html .
1727
1728         No new tests (because this is a rollout patch).
1729
1730         * dom/Element.cpp:
1731         * dom/Element.h:
1732         * dom/NodeRenderingContext.cpp:
1733         (WebCore::NodeRenderingContext::parentRenderer):
1734         (WebCore::NodeRenderingContext::shouldCreateRenderer):
1735         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1736         * dom/NodeRenderingContext.h:
1737         * dom/PseudoElement.h:
1738         * dom/Text.cpp:
1739         (WebCore::Text::textRendererIsNeeded):
1740         (WebCore::Text::updateTextRenderer):
1741         * dom/Text.h:
1742         * rendering/FlowThreadController.cpp:
1743         * rendering/FlowThreadController.h:
1744         * rendering/RenderObject.h:
1745         * rendering/RenderRegion.h:
1746         * svg/SVGElement.cpp:
1747         * svg/SVGElement.h:
1748         
1749 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
1750
1751         Remove HTML Notification
1752         https://bugs.webkit.org/show_bug.cgi?id=114231
1753
1754         Reviewed by Ryosuke Niwa.
1755
1756         The feature is dead. It was only kept in the tree because of chromium.
1757
1758         * Configurations/FeatureDefines.xcconfig:
1759         * Modules/notifications/Notification.cpp:
1760         (WebCore):
1761         (WebCore::Notification::Notification):
1762         * Modules/notifications/Notification.h:
1763         (Notification):
1764         * Modules/notifications/NotificationCenter.h:
1765         (NotificationCenter):
1766         * Modules/notifications/NotificationCenter.idl:
1767         * page/FeatureObserver.h:
1768
1769 2013-04-08  Dean Jackson  <dino@apple.com>
1770
1771         Don't try to remove a non-existent snapshot
1772         https://bugs.webkit.org/show_bug.cgi?id=114226
1773         <rdar://problem/13604480>
1774
1775         Reviewed by Darin Adler.
1776
1777         We don't need to trigger the timer to remove a snapshot
1778         if there was never a snapshot displayed.
1779
1780         * html/HTMLPlugInImageElement.cpp:
1781         (WebCore::HTMLPlugInImageElement::setDisplayState): Detect if we're moving from the DisplayingSnapshot state.
1782         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Guard against a missing renderer.
1783
1784 2013-04-08  Patrick Gansterer  <paroga@webkit.org>
1785
1786         Do not define CAN_THEME_URL_ICON for PLATFORM(WIN_CAIRO)
1787         https://bugs.webkit.org/show_bug.cgi?id=108444
1788
1789         Reviewed by Darin Adler.
1790
1791         Image::loadPlatformResource("urlIcon") returns nothing
1792         since r30961 on Windows which makes the code useless.
1793
1794         * loader/icon/IconDatabase.cpp:
1795
1796 2013-04-05  Roger Fong  <roger_fong@apple.com>
1797
1798         Build fix.
1799
1800         * platform/win/DragImageWin.cpp:
1801         (WebCore::createDragImageIconForCachedImageFilename):
1802
1803 2013-04-08  Geoffrey Garen  <ggaren@apple.com>
1804
1805         Stop #include-ing all of JavaScriptCore in every DOM-related file
1806         https://bugs.webkit.org/show_bug.cgi?id=114220
1807
1808         Reviewed by Sam Weinig.
1809
1810         I separated ScriptWrappableInlines.h from ScriptWrappable.h so
1811         WebCore data types that inherit from ScriptWrappable don't
1812         have to #include all of the infrastructure for accessing that data member.
1813
1814         * ForwardingHeaders/heap/PassWeak.h: Added.
1815         * ForwardingHeaders/heap/WeakInlines.h: Added.
1816         * WebCore.xcodeproj/project.pbxproj:
1817         * bindings/js/DOMWrapperWorld.h:
1818         * bindings/js/JSDOMBinding.h:
1819         (JSC):
1820         * bindings/js/JSEventListener.h:
1821         * bindings/js/JSMutationCallback.cpp:
1822         * bindings/js/JSNodeFilterCondition.h:
1823         * bindings/js/ScriptWrappable.h:
1824         (JSC):
1825         (WebCore):
1826         (ScriptWrappable):
1827         * bindings/js/ScriptWrappableInlines.h: Added.
1828         (WebCore):
1829         (WebCore::ScriptWrappable::wrapper):
1830         (WebCore::ScriptWrappable::setWrapper):
1831         (WebCore::ScriptWrappable::clearWrapper):
1832         * bridge/qt/qt_instance.h:
1833         * bridge/qt/qt_runtime.h:
1834         * bridge/runtime_root.cpp:
1835         * bridge/runtime_root.h:
1836         * css/StylePropertySet.cpp:
1837         * dom/LiveNodeList.cpp:
1838         (WebCore::LiveNodeListBase::reportMemoryUsage):
1839         * dom/Node.cpp:
1840         (WebCore::Node::reportMemoryUsage):
1841         * inspector/InspectorDebuggerAgent.cpp:
1842         * inspector/NetworkResourcesData.cpp:
1843         * loader/cache/CachedSVGDocument.cpp:
1844         * xml/XMLHttpRequest.cpp:
1845         (WebCore::XMLHttpRequest::reportMemoryUsage):
1846
1847 2013-04-08  Tiancheng Jiang  <tijiang@rim.com>
1848
1849         [BlackBerry] Clean up render theme code. 
1850         https://bugs.webkit.org/show_bug.cgi?id=114216
1851
1852         Reviewed by Rob Buis.
1853
1854         BlackBerry PR 323062
1855
1856         Clean up redundant code.
1857
1858         * platform/blackberry/RenderThemeBlackBerry.cpp:
1859         (WebCore):
1860         (WebCore::RenderThemeBlackBerry::paintSliderTrack):
1861         * platform/blackberry/RenderThemeBlackBerry.h:
1862         (RenderThemeBlackBerry):
1863
1864 2013-04-08  Arunprasad Rajkumar  <arunprasadr@nds.com>
1865
1866         Call Netscape Plugin's toString() and valueOf() instead of providing default implementation
1867         https://bugs.webkit.org/show_bug.cgi?id=113139
1868
1869         Reviewed by Anders Carlsson.
1870
1871         Tests: plugins/npruntime/tostring.html
1872                plugins/npruntime/valueof.html
1873
1874         * bridge/c/c_instance.cpp:
1875         (JSC::Bindings::CInstance::~CInstance):
1876         (JSC::Bindings::CInstance::invokeMethod):
1877         (JSC::Bindings::CInstance::invokeDefaultMethod):
1878         (Bindings):
1879         (JSC::Bindings::CInstance::invokeConstruct):
1880         (JSC::Bindings::CInstance::stringValue):
1881         (JSC::Bindings::CInstance::booleanValue):
1882         (JSC::Bindings::CInstance::valueOf):
1883         (JSC::Bindings::CInstance::toJSPrimitive):
1884         * bridge/c/c_instance.h:
1885         (CInstance):
1886
1887 2013-04-08  Tim Horton  <timothy_horton@apple.com>
1888
1889         REGRESSION (r138858): Crash in WebCore::FrameLoader::~FrameLoader() when opening page in a background tab
1890         https://bugs.webkit.org/show_bug.cgi?id=109935
1891         <rdar://problem/13225963>
1892
1893         Reviewed by Brady Eidson.
1894
1895         Previously, we were deciding if a Page could go into
1896         the PageCache by blacklisting certain load types. Instead,
1897         whitelist the load types that we know can go into the cache,
1898         so that newly-added load types are not cached unless
1899         that is explicitly desired.
1900
1901         The crash occurs when a page which is actively loading
1902         is put into the page cache while doing a redirect with
1903         FrameLoadTypeRedirectWithLockedBackForwardList (note that
1904         this is a redirect that was not covered in the blacklist),
1905         and then promptly removed from the page cache, resulting
1906         in resources from the redirect target (the now-active page)
1907         being incorrectly destroyed.
1908
1909         No new tests, only known crash repro case is extremely
1910         timing dependent (and only happens in WebKit2, with tiled
1911         drawing, in background tabs).
1912
1913         * history/PageCache.cpp:
1914         (WebCore::PageCache::canCache):
1915
1916 2013-04-08  Anders Carlsson  <andersca@apple.com>
1917
1918         Fix build.
1919
1920         * platform/network/ResourceHandle.cpp:
1921         (WebCore::ResourceHandle::continueDidReceiveResponse):
1922
1923 2013-04-08  Anders Carlsson  <andersca@apple.com>
1924
1925         Add an async version of ResourceHandle::didReceiveResponse
1926         https://bugs.webkit.org/show_bug.cgi?id=114215
1927
1928         Reviewed by Sam Weinig.
1929
1930         In order to support converting NSURLConnections to NSURLDownloads when using the network process
1931         we need an async version of didReceiveResponse.
1932
1933         * WebCore.exp.in:
1934         * platform/network/ResourceHandleClient.cpp:
1935         (WebCore::ResourceHandleClient::didReceiveResponseAsync):
1936         Just call continueDidReceiveResponse().
1937
1938         * platform/network/mac/ResourceHandleMac.mm:
1939         (WebCore::ResourceHandle::continueWillSendRequest):
1940         Split up a single condition in two, making it easier to see which assertion fails.
1941
1942         (WebCore::ResourceHandle::continueDidReceiveResponse):
1943         Call -[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse].
1944
1945         (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
1946         (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
1947         (WebCore::ResourceHandle::continueWillCacheResponse):
1948         Split up a single condition in two, making it easier to see which assertion fails.
1949
1950         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
1951         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
1952         (-[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse]):
1953         Signal the semaphore.
1954
1955         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
1956         Call didReceiveResponseAsync on the main thread and wait on the semaphore.
1957
1958 2013-04-08  Beth Dakin  <bdakin@apple.com>
1959
1960         Crash in ScrollingCoordinator::mainThreadScrollingReasons() when going back
1961         https://bugs.webkit.org/show_bug.cgi?id=114214
1962         -and corresponding-
1963         <rdar://problem/13208616>
1964
1965         Reviewed by Anders Carlsson.
1966
1967         When a page is restoring from the page cache, the mainFrame can have a null 
1968         Document. So we should null-check the Document here. 
1969
1970         * page/scrolling/ScrollingCoordinator.cpp:
1971         (WebCore::ScrollingCoordinator::mainThreadScrollingReasons):
1972
1973 2013-04-08  Andrei Bucur  <abucur@adobe.com>
1974
1975         Simplify ContainerNode::removeChildren
1976         https://bugs.webkit.org/show_bug.cgi?id=113517
1977
1978         Reviewed by Darin Adler.
1979
1980         The patch is based on the work made by Elliott Sprehn. He kindly agreed
1981         for me to finalize the last bits and pieces of the fix.
1982
1983         Simplify ContainerNode::removeChildren by merging the loops and removing
1984         willRemoveChildren. This removes two traversals of the children, avoids
1985         refing and derefing all the children once, avoids allocating a second
1986         NodeVector of children, and means we detach() in the same order as
1987         normal removal.
1988
1989         This does mean you can get into an infinite loop with DOMNodeRemoved
1990         listeners by continously adding nodes but this is true in all other browsers
1991         and the current behavior is bad because it means you don't get notified
1992         of nodes added during removal (which other browsers do notify of). This
1993         patch removes the containerNode.html test that originally tested for this
1994         infinite loop and adds a new one that tests that all nodes get notified.
1995
1996         This makes PerformanceTests/Parser/innerHTML-setter.html 2-6% faster.
1997
1998         There's also a new test verifying ranges remain consistent if modified
1999         inside an mutation event handler. Without the patch it's possible to create
2000         a range with boundaries outside of the DOM tree.
2001
2002         Tests: fast/dom/Range/range-remove-children-event.html
2003                fast/events/mutation-during-innerHTML.html
2004
2005         * dom/ContainerNode.cpp:
2006         (WebCore::ContainerNode::removeChildren):
2007         * dom/Document.cpp:
2008         * dom/Document.h: nodeChildrenWillBeRemoved is not needed any more.
2009         * dom/Range.cpp:
2010         * dom/Range.h: nodeChildrenWillBeRemoved is not needed any more.
2011
2012 2013-04-06  Simon Fraser  <simon.fraser@apple.com>
2013
2014         Remove some #includes in headers in rendering code
2015         https://bugs.webkit.org/show_bug.cgi?id=114079
2016
2017         Reviewed by Sam Weinig.
2018
2019         Clean up #includes in RenderObject, RenderLayer etc.
2020         Moved makeMatrixRenderable() into RenderLayer.app, allowing
2021         the removal of a TransformationMatrix.h include.
2022         
2023         Make some RenderLayer functions that deal with filters not inline,
2024         to avoid including RenderLayerFilterInfo.h.
2025
2026         * platform/graphics/GraphicsLayer.h:
2027         * platform/graphics/ImageOrientation.cpp:
2028         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2029         * platform/graphics/qt/GraphicsContextQt.cpp:
2030         * platform/graphics/transforms/AffineTransform.cpp:
2031         * platform/graphics/transforms/AffineTransform.h:
2032         * rendering/RenderBoxModelObject.h:
2033         * rendering/RenderLayer.cpp:
2034         (WebCore::makeMatrixRenderable):
2035         (WebCore::RenderLayer::filterRenderer):
2036         (WebCore::RenderLayer::filterInfo):
2037         (WebCore::RenderLayer::ensureFilterInfo):
2038         (WebCore::RenderLayer::removeFilterInfoIfNeeded):
2039         * rendering/RenderLayer.h:
2040         * rendering/RenderLayerBacking.h:
2041         * rendering/RenderLineBoxList.h:
2042         * rendering/RenderObject.h:
2043
2044 2013-04-08  Robert Hogan  <robert@webkit.org>
2045
2046         Unreviewed, rolling out r147850.
2047         http://trac.webkit.org/changeset/147850
2048         https://bugs.webkit.org/show_bug.cgi?id=113706
2049
2050         Changeset crossed paths with 147505, which is the same fix.
2051
2052         * rendering/RenderBlockLineLayout.cpp:
2053         (WebCore::inlineLogicalWidth):
2054
2055 2013-04-08  Alexey Proskuryakov  <ap@apple.com>
2056
2057         <rdar://problem/12834449> Crashes in WebSocketChannel::processFrame when processing a ping
2058         https://bugs.webkit.org/show_bug.cgi?id=114178
2059
2060         Reviewed by Brady Eidson.
2061
2062         No test, I could never reproduce even manually.
2063
2064         Calling enqueueRawFrame() could change incoming buffer, so a subsequent skipBuffer()
2065         would operate on wrong assumptions. This happened because enqueueRawFrame() actually
2066         tried to process the queue, and send failure sometimed clears m_buffer.
2067
2068         Fixing this by decoupling enqueuing from sending, and making sure that skipBuffer()
2069         in ping frame processing case is performed at a safe time.
2070
2071         * Modules/websockets/WebSocketChannel.cpp:
2072         (WebCore::WebSocketChannel::send):
2073         (WebCore::WebSocketChannel::startClosingHandshake):
2074         (WebCore::WebSocketChannel::processFrame):
2075         (WebCore::WebSocketChannel::enqueueTextFrame):
2076         (WebCore::WebSocketChannel::enqueueRawFrame):
2077         (WebCore::WebSocketChannel::enqueueBlobFrame):
2078
2079 2013-04-08  Max Vujovic  <mvujovic@adobe.com>
2080
2081         REGRESSION (r147502): Animations of CA filters broken
2082         https://bugs.webkit.org/show_bug.cgi?id=114067
2083
2084         Reviewed by Dean Jackson.
2085
2086         Revert r147502 [1] because it broke CA filter animations.
2087         
2088         [1]: http://trac.webkit.org/changeset/147502
2089
2090         * platform/graphics/IntRectExtent.h:
2091         (WebCore::IntRectExtent::isZero):
2092         (IntRectExtent):
2093         * rendering/RenderLayer.cpp:
2094         (WebCore::RenderLayer::needsCompositingLayersRebuiltForOverflow):
2095         (WebCore):
2096         (WebCore::RenderLayer::styleChanged):
2097         * rendering/RenderLayer.h:
2098         (RenderLayer):
2099         * rendering/RenderLayerBacking.cpp:
2100         (WebCore::RenderLayerBacking::updateFilters):
2101         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2102         * rendering/RenderLayerBacking.h:
2103         (RenderLayerBacking):
2104         * rendering/RenderLayerCompositor.cpp:
2105         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2106
2107 2013-04-08  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2108
2109         [Qt] Avoid "QFont::setPixelSize: Pixel size <= 0 (0)"
2110         https://bugs.webkit.org/show_bug.cgi?id=114175
2111
2112         Reviewed by Allan Sandfeld Jensen.
2113
2114         QFont doesn't support a 0-size but WebCore does.
2115         Leave our QFont in its default state in this case to avoid the warning.
2116
2117         * platform/graphics/qt/FontPlatformDataQt.cpp:
2118         (WebCore::FontPlatformData::FontPlatformData):
2119
2120 2013-04-08  Yi Shen  <max.hong.shen@gmail.com>
2121
2122         Counter still gets incremented when counter-increment is set to none
2123         https://bugs.webkit.org/show_bug.cgi?id=84985
2124
2125         Reviewed by Darin Adler.
2126
2127         When the counter-increment is set to none, no counters are incremented.
2128
2129         Tests: New test cases added in fast/css/counters/counter-increment-tests.htm
2130
2131         * css/StyleBuilder.cpp:
2132         (WebCore::ApplyPropertyCounter::applyValue):
2133
2134 2013-04-08  Douglas Stockwell  <dstockwell@chromium.org>
2135
2136         Crash in WebCore::ElementRuleCollector::collectMatchingRulesForList
2137         https://bugs.webkit.org/show_bug.cgi?id=113458
2138
2139         Reviewed by Darin Adler.
2140
2141         A stylesheet which has been invalidated (type changed from "" or
2142         "text/css") was not correctly removed from the list of active
2143         style sheets when its children are changed.
2144
2145         This change releases StyleElement::m_sheet in advance of calling
2146         DocumentStyleSheetCollection::updateActiveStyleSheets.
2147
2148         (StyleElement::clearSheet calls CSSStyleSheet::clearOwnerNode calls
2149         CSSStyleSheet::didMutate calls Document::styleResolverChanged calls
2150         DocumentStyleSheetCollection::updateActiveStyleSheets)
2151
2152         Test: fast/css/style-element-invalidation-crash.html
2153
2154         * dom/StyleElement.cpp:
2155         (WebCore::StyleElement::clearSheet): Release m_sheet before we
2156           trigger an update of the active style sheets.
2157
2158 2013-04-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2159
2160         [GTK] DOM objects created wrapping a base class have incorrect GObject type
2161         https://bugs.webkit.org/show_bug.cgi?id=113132
2162
2163         Reviewed by Gustavo Noronha Silva.
2164
2165         Some of the DOM methods can create a concrete instance of another
2166         object, but return a base class. GObject bindings provide custom
2167         kit implementations for Node, Element, Event and EvenTarget, so
2168         any concrete HTMLElement wrapped as an HTMLElement ends up
2169         wrapping the right WebCore object but in the wrong GObject type.
2170         This affects not only HTMLElements, but any polymorphic object
2171         wrapped using a base class.
2172         This patch changes the way objects are created, so that all
2173         classes have their own kit implementation, but for polymorphic
2174         objects the kit implementation of the base class is always
2175         used. The kit method of polymorphic base classes use a generic
2176         wrap method instead of the wrapFoo method like all other
2177         classes. In the static code we provide the implementation of the
2178         generic wrap method for every polimorphic base class, falling back
2179         to their wrapFoo method if the concrete object can't be used to
2180         wrap the object.
2181         Both WebKitDOMBinding and WebKitHTMLElementWrapperFactory now provide
2182         implementations of wrap and have been renamed to WebKitDOMPrivate
2183         and WebKitDOMHTMLPrivate.
2184
2185         * bindings/gobject/GNUmakefile.am:
2186         * bindings/gobject/WebKitDOMBinding.cpp: Removed.
2187         * bindings/gobject/WebKitDOMEventTarget.cpp:
2188         (WebKit::kit): Moved kit implementation from WebKitDOMBinding for
2189         consistency with all other objects that have their own kit.
2190         (WebKit::core): Updated to match the core implementation fo all
2191         other objects.
2192         * bindings/gobject/WebKitDOMEventTargetPrivate.h:
2193         (WebCore):
2194         (WebKit):
2195         * bindings/gobject/WebKitDOMHTMLPrivate.cpp: Added.
2196         (WebKit): Use preprocessor macros to define and set the wrap
2197         functions of all HTML elements, removing a lot of boilerplate code
2198         and making it easier to add new wrap functions in the future.
2199         (WebKit::wrap):
2200         * bindings/gobject/WebKitDOMHTMLPrivate.h: Renamed from Source/WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.h.
2201         (WebCore):
2202         (WebKit):
2203         * bindings/gobject/WebKitDOMObject.cpp:
2204         * bindings/gobject/WebKitDOMPrivate.cpp: Added.
2205         (WebKit):
2206         (WebKit::wrap):
2207         * bindings/gobject/WebKitDOMPrivate.h: Renamed from Source/WebCore/bindings/gobject/WebKitDOMBinding.h.
2208         (WebCore):
2209         (WebKit):
2210         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Removed.
2211         * bindings/scripts/CodeGeneratorGObject.pm:
2212         (IsBaseType): Helper function to check if a type is a base class.
2213         (GetBaseClass): Helper function to get the base class for a given
2214         parent type.
2215         (GenerateFunction): Remove special case for EventTarget since the
2216         kit prototype of EventTarget is in its private header like all
2217         other objects.
2218         (GenerateCFile): Add a kit implementation for all objects.
2219         (IsPolymorphic): Helper function to check if the given type is the
2220         base class of a polymorphic object.
2221         (Generate): Include the private header of the base class for
2222         polymorphic objects.
2223         (WriteData): Remove the special case for WebKitDOMNode since now
2224         all objects has a kit method.
2225         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
2226         (WebKit::kit):
2227         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
2228         (WebKit):
2229         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
2230         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
2231         (WebKit):
2232         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2233         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
2234         (WebKit):
2235         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
2236         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
2237         (WebKit):
2238         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
2239         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
2240         (WebKit):
2241         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2242         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
2243         (WebKit):
2244         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
2245         * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h:
2246         (WebKit):
2247         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2248         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
2249         (WebKit):
2250         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2251         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
2252         (WebKit):
2253         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
2254         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
2255         (WebKit):
2256         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
2257         (WebKit::kit):
2258         * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h:
2259         (WebKit):
2260         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2261         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
2262         (WebKit):
2263         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
2264         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h:
2265         (WebKit):
2266         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2267         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
2268         (WebKit):
2269         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
2270         * bindings/scripts/test/GObject/WebKitDOMTestTypedefsPrivate.h:
2271         (WebKit):
2272
2273 2013-04-08  Andras Becsi  <andras.becsi@digia.com>
2274
2275         Fix the build with strict GCC 4.8
2276
2277         Unreviewed build fix.
2278
2279         Initialize dragImage to suppress GCC's warning about it being possibly used uninitialized,
2280         which results is a build failure with GCC 4.8 that sets -Werror=maybe-uninitialized.
2281
2282         No new tests needed.
2283
2284         * page/DragController.cpp:
2285         (WebCore::DragController::doImageDrag):
2286
2287 2013-04-08  Zan Dobersek  <zdobersek@igalia.com>
2288
2289         Remove the unused LayoutTestSupport class
2290         https://bugs.webkit.org/show_bug.cgi?id=114170
2291
2292         Reviewed by Alexey Proskuryakov.
2293
2294         The LayoutTestSupport class is not used by any port anywhere in the code and should be removed.
2295
2296         No new tests - no changes in functionality.
2297
2298         * CMakeLists.txt:
2299         * GNUmakefile.list.am:
2300         * Target.pri:
2301         * WebCore.vcproj/WebCore.vcproj:
2302         * WebCore.vcxproj/WebCore.vcxproj:
2303         * WebCore.vcxproj/WebCore.vcxproj.filters:
2304         * WebCore.xcodeproj/project.pbxproj:
2305         * platform/LayoutTestSupport.cpp: Removed.
2306         * platform/LayoutTestSupport.h: Removed.
2307
2308 2013-04-08  Zan Dobersek  <zdobersek@igalia.com>
2309
2310         Remove WebCore::(enable|disable)SecureTextInput methods
2311         https://bugs.webkit.org/show_bug.cgi?id=114126
2312
2313         Reviewed by Alexey Proskuryakov.
2314
2315         Remove the enableSecureTextInput and disableSecureTextInput methods and all the codepaths leading to them.
2316         These were used only by the Chromium port and are as such not required anymore.
2317
2318         No new tests - no changes in functionality.
2319
2320         * GNUmakefile.list.am:
2321         * WebCore.order:
2322         * WebCore.xcodeproj/project.pbxproj:
2323         * dom/Document.cpp:
2324         (WebCore::Document::Document):
2325         * dom/Document.h:
2326         (Document):
2327         * editing/FrameSelection.cpp:
2328         (WebCore::FrameSelection::focusedOrActiveStateChanged):
2329         * editing/FrameSelection.h:
2330         (FrameSelection):
2331         * html/PasswordInputType.cpp:
2332         * html/PasswordInputType.h:
2333         (PasswordInputType):
2334         * page/Frame.cpp:
2335         (WebCore::Frame::setDocument):
2336         * platform/SecureTextInput.h: Removed.
2337
2338 2013-04-08  Jer Noble  <jer.noble@apple.com>
2339
2340         Unreviewed build fix; r147892 moved an export definition out of
2341         a protective #ifdef, causing a link error on platforms which do
2342         not define that method.
2343
2344         * WebCore.exp.in:
2345
2346 2013-04-08  Brendan Long  <b.long@cablelabs.com>
2347
2348         [Qt] Enable text tracks from track elements
2349         https://bugs.webkit.org/show_bug.cgi?id=113522
2350
2351         Reviewed by Jocelyn Turcotte.
2352
2353         No new tests because they're already there. This just enables the feature.
2354
2355         * Target.pri:
2356         * bindings/generic/RuntimeEnabledFeatures.cpp:
2357         (WebCore):
2358         * platform/qt/LocalizedStringsQt.cpp:
2359         (WebCore):
2360         (WebCore::textTrackSubtitlesText):
2361         (WebCore::textTrackOffText):
2362         (WebCore::textTrackNoLabelText):
2363
2364 2013-04-08  Sergio Villar Senin  <svillar@igalia.com>
2365
2366         [GTK] Toggle OverWrite mode when pressing the Insert key
2367         https://bugs.webkit.org/show_bug.cgi?id=113384
2368
2369         Reviewed by Martin Robinson.
2370
2371         Perform an OverWrite command as a response to the emission of the
2372         toggle-overwrite signal. Due to the nature of the command it will
2373         only do that when being on a richly editable web content.
2374
2375         * platform/gtk/KeyBindingTranslator.cpp:
2376         (WebCore::toggleOverwriteCallback):
2377
2378 2013-04-08  Seokju Kwon  <seokju.kwon@gmail.com>
2379
2380         [BlackBerry] Provide more specific error description for SocketStreamError
2381         https://bugs.webkit.org/show_bug.cgi?id=114134
2382
2383         Reviewed by Rob Buis.
2384
2385         Pass the reason of a failure to SocketStreamError instance
2386         and notify it via SocketStreamHandleClient::didFailSocketStream().
2387
2388         * platform/network/blackberry/SocketStreamError.h:
2389         (WebCore::SocketStreamError::SocketStreamError):
2390         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
2391         (WebCore::SocketStreamHandle::notifyStatusReceived):
2392
2393 2013-04-08  Youenn Fablet  <youennf@gmail.com>
2394
2395         [GTK][EFL] HEAD requests changed to GET after 303 redirection
2396         https://bugs.webkit.org/show_bug.cgi?id=110127
2397
2398         Reviewed by Martin Robinson.
2399
2400         Made shouldRedirectAsGET always return false for HEAD requests.
2401
2402         * platform/network/soup/ResourceHandleSoup.cpp:
2403         (WebCore::shouldRedirectAsGET):
2404
2405 2013-04-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2406
2407         DragImage should not depend on Frame and CachedImage
2408         https://bugs.webkit.org/show_bug.cgi?id=21357
2409
2410         Reviewed by Sam Weinig.
2411
2412         Remove Frame and CachedImage dependencies from DragImage.
2413
2414         * dom/Clipboard.h:
2415         (WebCore): Add forward delcaration for CacheImage since it's not
2416         included anymore in DragImage.h.
2417         * page/DragController.cpp:
2418         (WebCore::DragController::startDrag): Use
2419         Frame::dragImageForSelection() and call
2420         dissolveDragImageToFraction() for the returned DragImage. Pass the
2421         font rendering mode to createDragImageForLink, instead of a Frame
2422         that is only used to get the font rendering mode.
2423         (WebCore::DragController::doImageDrag): Get the suggested filename
2424         for the cached image and pass it to
2425         createDragImageIconForCachedImageFilename().
2426         * platform/DragImage.cpp:
2427         (WebCore::createDragImageForLink): Receive a FontRenderingMode
2428         instead of a Frame.
2429         * platform/DragImage.h:
2430         (WebCore): Remove createDragImageForSelection, change
2431         createDragImageForLink to receive a FontRenderingMode instead of a
2432         frame, and rename createDragImageIconForCachedImage as
2433         createDragImageIconForCachedImageFilename since it nows received
2434         the suggested filename of the cached image.
2435         * platform/blackberry/DragImageBlackBerry.cpp:
2436         (WebCore::createDragImageIconForCachedImageFilename): Adapt to API
2437         changes.
2438         * platform/efl/DragImageEfl.cpp:
2439         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
2440         * platform/gtk/DragImageGtk.cpp:
2441         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
2442         * platform/mac/DragImageMac.mm:
2443         (WebCore::dissolveDragImageToFraction): Return early if the passed
2444         image is NULL.
2445         (WebCore::createDragImageIconForCachedImageFilename): Adapt to API
2446         changes.
2447         (WebCore::createDragImageForLink): Ditto.
2448         * platform/qt/DragImageQt.cpp:
2449         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
2450         * platform/win/DragImageWin.cpp:
2451         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
2452         (WebCore::createDragImageForLink): Ditto.
2453         * platform/wx/DragImageWx.cpp:
2454         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
2455
2456 2013-04-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2457
2458         [EFL] REGRESSION(r147743): Use the correct `operator new' override in RenderThemeEfl.
2459         https://bugs.webkit.org/show_bug.cgi?id=114166
2460
2461         Reviewed by Alexis Menard.
2462
2463         r147743 disabled GLOBAL_FAST_MALLOC_NEW on the EFL port, but this has
2464         caused some pixel tests in WK1 to crash.
2465
2466         The problem stems from RenderThemeEfl::applyEdjeRTLState() directly
2467         calling `operator new(size_t)' for some allocations.
2468         RefCounted<RenderTheme>, on its turn, has a WTF_MAKE_FAST_ALLOCATED
2469         call which adds some `operator new' overrides to the class. Our direct
2470         calls in applyEdjeRTLState() made the scope resolution rules choose the
2471         WTF_MAKE_FAST_ALLOCATED version (which uses FastMalloc's allocator),
2472         while WTF::deleteOwnedPtr() calls the global `operator delete' (which
2473         uses the system's free() implementation).
2474
2475         * platform/efl/RenderThemeEfl.cpp:
2476         (WebCore::RenderThemeEfl::applyEdjeRTLState): Explicitly choose the
2477         global `operator new' when calling it.
2478
2479 2013-04-07  Benjamin Poulain  <benjamin@webkit.org>
2480
2481         Remove the android code from WebCore
2482         https://bugs.webkit.org/show_bug.cgi?id=114136
2483
2484         Reviewed by Anders Carlsson.
2485
2486         * WebCore.exp.in:
2487         * dom/ViewportArguments.cpp:
2488         (WebCore):
2489         (WebCore::setViewportFeature):
2490         (WebCore::viewportErrorMessageTemplate):
2491         (WebCore::viewportErrorMessageLevel):
2492         * dom/ViewportArguments.h:
2493         (WebCore::ViewportArguments::ViewportArguments):
2494         (ViewportArguments):
2495         (WebCore::ViewportArguments::operator==):
2496         * editing/EditingBehavior.h:
2497         (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
2498         (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
2499         (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
2500         * editing/EditingBehaviorTypes.h:
2501         * page/EventHandler.cpp:
2502         (WebCore::EventHandler::handleGestureLongTap):
2503         (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
2504         * page/Settings.cpp:
2505         (WebCore):
2506         (WebCore::editingBehaviorTypeForPlatform):
2507         * platform/graphics/FontCache.h:
2508         (FontCache):
2509         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
2510         (WebCore::FontPlatformData::getRenderStyleForStrike):
2511         * testing/InternalSettings.cpp:
2512         (WebCore::InternalSettings::setEditingBehavior):
2513
2514 2013-04-07  Oliver Hunt  <oliver@apple.com>
2515
2516         Add bounds checking for WTF::Vector::operator[]
2517         https://bugs.webkit.org/show_bug.cgi?id=89600
2518
2519         Reviewed by Filip Pizlo.
2520
2521         Fix exports
2522
2523         * WebCore.exp.in:
2524
2525 2013-04-07  Benjamin Poulain  <benjamin@webkit.org>
2526
2527         Do not allocate static AtomicStrings when searching for alternate font names
2528         https://bugs.webkit.org/show_bug.cgi?id=114110
2529
2530         Reviewed by Geoffrey Garen.
2531
2532         FontCache's alternateFamilyName does some font name substitutions
2533         when a font is not found for a given name.
2534
2535         In the vast majority of cases, no substitutions are made and
2536         alternateFamilyName returns the null atom.
2537         Given the usage the function had a couple of problems:
2538         -It created 6 static AtomicString.
2539         -It did a case insensitive comparison with 6 differents strings
2540          before failing.
2541
2542         This patch aims at solving both issues.
2543
2544         Instead of creating all AtomicString statically, the alternate name
2545         are simply created on the fly as needed. Because the operation is so
2546         unfrequent, and it uses the fast constructor, doing so should not slow
2547         down the function.
2548
2549         To avoid comparing the input to every string, every time, the length of
2550         the input is first evaluated, and we only do the necessary string comparisons.
2551
2552         On x86_64, this reduces the binary size by 2128 bytes.
2553
2554         * platform/graphics/FontCache.cpp:
2555         (WebCore::familyNameEqualIgnoringCase):
2556         When comparing strings, we know:
2557         -The family name is non null.
2558         -The length of both strings is equal.
2559         -The length is not null.
2560         Make the comparison accordingly.
2561
2562         (WebCore::alternateFamilyName):
2563         (WebCore::FontCache::getCachedFontPlatformData):
2564
2565 2013-04-07  Zan Dobersek  <zdobersek@igalia.com>
2566
2567         Remove remaining PLATFORM(CHROMIUM)-guarded code in WebCore
2568         https://bugs.webkit.org/show_bug.cgi?id=114081
2569
2570         Remove the remaining PLATFORM(CHROMIUM) build guards. There are still a couple of guards
2571         that most likely apply only to Chromium, like OS(ANDROID) or USE(SKIA_ON_MAC_CHROMIUM),
2572         but removal of these should go into separate patches.
2573
2574         * bindings/generic/RuntimeEnabledFeatures.cpp:
2575         (WebCore):
2576         * config.h:
2577         * history/PageCache.cpp:
2578         (WebCore):
2579         (WebCore::logCanCacheFrameDecision):
2580         (WebCore::logCanCachePageDecision):
2581         (WebCore::PageCache::canCache):
2582         * html/HTMLCanvasElement.cpp:
2583         (WebCore::HTMLCanvasElement::getContext):
2584         (WebCore::HTMLCanvasElement::shouldAccelerate):
2585         * html/HTMLCanvasElement.h:
2586         * html/HTMLMediaElement.cpp:
2587         (WebCore::createFileURLForApplicationCacheResource):
2588         (WebCore::HTMLMediaElement::loadResource):
2589         * html/HTMLSelectElement.cpp:
2590         (WebCore):
2591         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2592         * html/MediaDocument.cpp:
2593         (WebCore::MediaDocument::defaultEventHandler):
2594         * html/canvas/EXTDrawBuffers.cpp:
2595         (WebCore::EXTDrawBuffers::satisfiesWebGLRequirements):
2596         * html/canvas/WebGLRenderingContext.cpp:
2597         (WebCore):
2598         (WebCore::WebGLRenderingContext::create):
2599         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2600         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2601         (WebCore::WebGLRenderingContext::platformLayer):
2602         * inspector/InspectorInstrumentation.cpp:
2603         (WebCore):
2604         (WebCore::InspectorInstrumentation::willPaintImpl):
2605         * inspector/InspectorTimelineAgent.cpp:
2606         (WebCore::InspectorTimelineAgent::didBeginFrame):
2607         * loader/DocumentLoader.cpp:
2608         (WebCore::DocumentLoader::notifyFinished):
2609         * page/FeatureObserver.cpp:
2610         (WebCore::FeatureObserver::~FeatureObserver):
2611         * platform/AsyncFileSystem.cpp:
2612         (WebCore):
2613         * platform/ContextMenu.h:
2614         (ContextMenu):
2615         * platform/ContextMenuItem.h:
2616         * platform/Cursor.h:
2617         * platform/DragData.cpp:
2618         (WebCore):
2619         * platform/DragData.h:
2620         * platform/DragImage.h:
2621         * platform/LocalizedStrings.h:
2622         (WebCore):
2623         * platform/Pasteboard.h:
2624         (Pasteboard):
2625         * platform/PlatformExportMacros.h:
2626         * platform/PlatformInstrumentation.h:
2627         (WebCore::PlatformInstrumentation::willDecodeImage):
2628         (WebCore::PlatformInstrumentation::didDecodeImage):
2629         (WebCore::PlatformInstrumentation::willResizeImage):
2630         (WebCore::PlatformInstrumentation::didResizeImage):
2631         * platform/PlatformMenuDescription.h:
2632         (WebCore):
2633         * platform/PlatformSpeechSynthesizer.h:
2634         (PlatformSpeechSynthesizer):
2635         * platform/PlatformWheelEvent.h:
2636         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2637         (PlatformWheelEvent):
2638         * platform/ScrollAnimator.cpp:
2639         (WebCore):
2640         (WebCore::ScrollAnimator::handleWheelEvent):
2641         * platform/ScrollAnimator.h:
2642         (ScrollAnimator):
2643         * platform/ScrollAnimatorNone.cpp:
2644         (WebCore::ScrollAnimatorNone::scroll):
2645         (WebCore::ScrollAnimatorNone::animationTimerFired):
2646         * platform/ScrollView.cpp:
2647         (WebCore::ScrollView::updateOverhangAreas):
2648         * platform/ScrollableArea.cpp:
2649         (WebCore::ScrollableArea::scrollPositionChanged):
2650         * platform/Scrollbar.cpp:
2651         * platform/SecureTextInput.cpp: Removed.
2652         * platform/SecureTextInput.h:
2653         (WebCore):
2654         * platform/SuddenTermination.h:
2655         (WebCore):
2656         * platform/Widget.h:
2657         (Widget):
2658         * platform/graphics/ANGLEWebKitBridge.h:
2659         * platform/graphics/BitmapImage.h:
2660         * platform/graphics/FloatPoint.h:
2661         (FloatPoint):
2662         * platform/graphics/FloatRect.h:
2663         (FloatRect):
2664         * platform/graphics/FloatSize.h:
2665         (FloatSize):
2666         * platform/graphics/Font.cpp:
2667         (WebCore):
2668         (WebCore::Font::width):
2669         * platform/graphics/Font.h:
2670         (Font):
2671         * platform/graphics/FontCache.cpp:
2672         (WebCore):
2673         * platform/graphics/FontCache.h:
2674         (FontCache):
2675         * platform/graphics/FontDescription.h:
2676         * platform/graphics/FontPlatformData.cpp:
2677         * platform/graphics/GlyphBuffer.h:
2678         (WebCore):
2679         (WebCore::GlyphBuffer::add):
2680         * platform/graphics/GraphicsContext.cpp:
2681         (WebCore::GraphicsContext::drawImage):
2682         (WebCore::GraphicsContext::drawImageBuffer):
2683         * platform/graphics/GraphicsContext3D.h:
2684         (GraphicsContext3D):
2685         * platform/graphics/GraphicsLayer.h:
2686         (WebCore::GraphicsLayer::supportsBackgroundColorContent):
2687         * platform/graphics/Icon.h:
2688         (Icon):
2689         * platform/graphics/ImageSource.cpp:
2690         * platform/graphics/ImageSource.h:
2691         (WebCore):
2692         * platform/graphics/IntRect.h:
2693         (IntRect):
2694         (WebCore):
2695         * platform/graphics/MediaPlayer.cpp:
2696         * platform/graphics/PlatformLayer.h:
2697         * platform/graphics/SimpleFontData.h:
2698         (SimpleFontData):
2699         (DerivedFontData):
2700         * platform/graphics/filters/FECustomFilter.cpp:
2701         (WebCore::FECustomFilter::resizeContext):
2702         * platform/graphics/gpu/DrawingBuffer.h:
2703         (WebCore):
2704         (DrawingBuffer):
2705         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2706         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2707         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
2708         * platform/image-decoders/ImageDecoder.h:
2709         * platform/leveldb/LevelDBDatabase.cpp:
2710         (WebCore::LevelDBDatabase::open):
2711         * platform/network/BlobRegistry.cpp:
2712         (WebCore::blobRegistry):
2713         * platform/network/BlobRegistryImpl.cpp:
2714         * platform/network/NetworkStateNotifier.cpp:
2715         * platform/network/NetworkStateNotifier.h:
2716         (NetworkStateNotifier):
2717         * platform/network/NetworkingContext.h:
2718         (NetworkingContext):
2719         * platform/network/ResourceHandleClient.h:
2720         * platform/network/ResourceRequestBase.cpp:
2721         (WebCore):
2722         * platform/text/cf/HyphenationCF.cpp:
2723         * plugins/PluginViewNone.cpp:
2724         (WebCore):
2725         * testing/Internals.cpp:
2726         * xml/XMLHttpRequest.cpp:
2727         (WebCore::XMLHttpRequest::createRequest):
2728
2729 2013-04-07  Ed Bartosh  <bartosh@gmail.com>
2730
2731         [EFL] --minimal build fails because of incorrect usage of GENERATE_THEME in CMakeLists.txt
2732         https://bugs.webkit.org/show_bug.cgi?id=113902
2733
2734         Unreviewed.
2735
2736         * platform/efl/DefaultTheme/CMakeLists.txt:
2737         Put possibly empty variable after non-empty to avoid space
2738         at the beginning of string parameter
2739
2740 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
2741
2742         Add default implementation for KURL::fileSystemPath()
2743         https://bugs.webkit.org/show_bug.cgi?id=108326
2744
2745         Reviewed by Benjamin Poulain.
2746
2747         The code for KURL::fileSystemPath() has been duplicated in different ports.
2748         Add an implementation of this function to KURL.cpp for this ports and
2749         get rid of the very similar port specific implementation files.
2750
2751         * PlatformBlackBerry.cmake:
2752         * PlatformEfl.cmake:
2753         * PlatformWinCE.cmake:
2754         * platform/KURL.cpp:
2755         (WebCore):
2756         (WebCore::KURL::fileSystemPath):
2757         * platform/blackberry/KURLBlackBerry.cpp: Removed.
2758         * platform/efl/KURLEfl.cpp: Removed.
2759         * platform/wince/KURLWinCE.cpp: Removed.
2760         * platform/wx/KURLWx.cpp: Removed.
2761
2762 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
2763
2764         Remove references to Skia and V8 from CMake files
2765         https://bugs.webkit.org/show_bug.cgi?id=114130
2766
2767         Reviewed by Geoffrey Garen.
2768
2769         * PlatformBlackBerry.cmake:
2770
2771 2013-04-07  David Kilzer  <ddkilzer@apple.com>
2772
2773         Remove the rest of SVG_DOM_OBJC_BINDINGS
2774         <http://webkit.org/b/114112>
2775
2776         Reviewed by Geoffrey Garen.
2777
2778         * Configurations/WebCore.xcconfig:
2779         - Remove EXCLUDED_SOURCE_FILE_NAMES_SVG_DOM_OBJC_BINDINGS.  Note
2780           that DOMHTMLIFrameElementPrivate.h should not have been in
2781           this list because the class contained methods other than just
2782           -getSVGDocument.
2783
2784         * WebCore.xcodeproj/project.pbxproj:
2785         - Remove DOMHTMLFrameElementPrivate.h since the only method it
2786           contained was -[DOMHTMLFrameElement getSVGDocument], which was
2787           part of the SVG DOM Objective-C bindings.
2788
2789         * bindings/objc/DOM.mm:
2790         (kitClass):
2791         * bindings/objc/DOMEvents.mm:
2792         (kitClass):
2793         * bindings/objc/ExceptionHandlers.mm:
2794         (WebCore::raiseDOMException):
2795         - Remove code in ENABLE(SVG_DOM_OBJC_BINDINGS).
2796
2797 2013-04-07  Oliver Hunt  <oliver@apple.com>
2798
2799         Inspector should display information about non-object exceptions
2800         https://bugs.webkit.org/show_bug.cgi?id=114123
2801
2802         Reviewed by Adele Peterson.
2803
2804         Make use of the stack trace for line information when we're reporting
2805         an exception
2806
2807         * bindings/js/JSDOMBinding.cpp:
2808         (WebCore::reportException):
2809
2810 2013-04-07  Robert Hogan  <robert@webkit.org>
2811
2812         table element may get larger when its contents are recreated
2813         https://bugs.webkit.org/show_bug.cgi?id=111342
2814
2815         Reviewed by Darin Adler.
2816
2817         Remove anonymous table section wrappers when destroying their children.
2818
2819         Test: fast/table/anonymous-table-section-removed.html
2820
2821         * rendering/RenderObject.cpp:
2822         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
2823
2824 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
2825
2826         [WIN] Fix build without precompiled header after r145827.
2827
2828         * platform/ContextMenuItem.h:
2829         * platform/PlatformMenuDescription.h:
2830
2831 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
2832
2833         Fix compilation of LocaleWin with !ENABLE(CALENDAR_PICKER) && !ENABLE(DATE_AND_TIME_INPUT_TYPES)
2834
2835         * platform/text/win/LocaleWin.cpp:
2836         (WebCore::LocaleWin::ensureShortMonthLabels):
2837         (WebCore):
2838         (WebCore::LocaleWin::ensureMonthLabels):
2839
2840 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
2841
2842         [WIN] Fix build without precompiled header after r144216.
2843
2844         * platform/network/cf/FormDataStreamCFNet.h:
2845         * platform/network/mac/FormDataStreamMac.h:
2846
2847 2013-04-07  Ed Bartosh  <bartosh@gmail.com>
2848
2849         [EFL] --minimal build fails with error: WebCore::FrameSelection::notifyAccessibilityForSelectionChange()
2850         https://bugs.webkit.org/show_bug.cgi?id=114089
2851
2852         Reviewed by Chris Fleizach.
2853
2854         Wrapped accessibility related code in #if HAVE(ACCESSIBILITY)
2855         * editing/FrameSelection.cpp:
2856         (WebCore::FrameSelection::setSelection):
2857         * editing/FrameSelection.h:
2858         (WebCore):
2859
2860 2013-04-06  Benjamin Poulain  <benjamin@webkit.org>
2861
2862         Get rid of skia
2863         https://bugs.webkit.org/show_bug.cgi?id=114108
2864
2865         Reviewed by Anders Carlsson.
2866
2867         * platform/graphics/filters/skia/*: Removed.
2868         * platform/graphics/skia/*: Removed.
2869         * platform/image-decoders/skia/*: Removed.
2870         * platform/image-encoders/skia/*: Removed.
2871
2872 2013-04-06  Benjamin Poulain  <benjamin@webkit.org>
2873
2874         Remove the chromium code from platform/graphics/mac
2875         https://bugs.webkit.org/show_bug.cgi?id=114107
2876
2877         Reviewed by Anders Carlsson.
2878
2879         * platform/graphics/mac/FontCacheMac.mm:
2880         (WebCore::FontCache::getFontDataForCharacters):
2881         (WebCore::FontCache::createFontPlatformData):
2882         * platform/graphics/mac/FontComplexTextMac.cpp:
2883         (WebCore::Font::selectionRectForComplexText):
2884         (WebCore::Font::drawComplexText):
2885         (WebCore::Font::floatWidthForComplexText):
2886         (WebCore::Font::offsetForPositionForComplexText):
2887         * platform/graphics/mac/FontMac.mm:
2888         (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs):
2889
2890 2013-04-06  Benjamin Poulain  <benjamin@webkit.org>
2891
2892         Clean platform/graphics/cg of the chromium bits
2893         https://bugs.webkit.org/show_bug.cgi?id=114106
2894
2895         Reviewed by Anders Carlsson.
2896
2897         * platform/graphics/cg/BitmapImageCG.cpp:
2898         * platform/graphics/cg/GraphicsContextCG.cpp:
2899         (WebCore::GraphicsContext::roundToDevicePixels):
2900         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2901         (GraphicsContextPlatformPrivate):
2902         * platform/graphics/cg/ImageBufferCG.cpp:
2903         * platform/graphics/cg/ImageCG.cpp:
2904         * platform/graphics/cg/PathCG.cpp:
2905         * platform/graphics/cg/PatternCG.cpp:
2906
2907 2013-04-06  Timothy Hatcher  <timothy@apple.com>
2908
2909         Remove InjectedScriptHost.evaluateReturnsEvalFunction.
2910
2911         https://webkit.org/b/114099
2912
2913         * inspector/InjectedScriptHost.h:
2914         (InjectedScriptHost):
2915         * inspector/InjectedScriptHost.idl:
2916         * inspector/InjectedScriptSource.js:
2917         (InjectedScript.prototype._evaluateOn):
2918
2919 2013-04-06  Benjamin Poulain  <bpoulain@apple.com>
2920
2921         Remove the chromium code from WebCore/platform/mac
2922         https://bugs.webkit.org/show_bug.cgi?id=114104
2923
2924         Reviewed by Sam Weinig.
2925
2926         * platform/mac/NSScrollerImpDetails.h:
2927         (WebCore::isScrollbarOverlayAPIAvailable):
2928         * platform/mac/NSScrollerImpDetails.mm:
2929         * platform/mac/ScrollAnimatorMac.mm:
2930         (-[WebScrollbarPainterDelegate layer]):
2931         (WebCore::scrollAnimationEnabledForSystem):
2932         * platform/mac/ScrollElasticityController.mm:
2933         (WebCore):
2934         * platform/mac/ScrollbarThemeMac.h:
2935         (ScrollbarThemeMac):
2936         * platform/mac/ScrollbarThemeMac.mm:
2937         (WebCore::ScrollbarTheme::nativeTheme):
2938         (WebCore::ScrollbarThemeMac::paint):
2939         (WebCore):
2940         * platform/mac/ThemeMac.mm:
2941         (WebCore::ThemeMac::ensuredView):
2942         * platform/mac/WebCoreNSCellExtras.h:
2943
2944 2013-04-06  Benjamin Poulain  <benjamin@webkit.org>
2945
2946         Remove the Chromium code from Mac's FontPlatformData
2947         https://bugs.webkit.org/show_bug.cgi?id=114103
2948
2949         Reviewed by Sam Weinig.
2950
2951         * platform/graphics/FontPlatformData.h:
2952         (WebCore):
2953         (FontPlatformData):
2954         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2955         (WebCore::FontPlatformData::FontPlatformData):
2956         (WebCore::FontPlatformData::platformDataInit):
2957         (WebCore::FontPlatformData::platformDataAssign):
2958         (WebCore::FontPlatformData::setFont):
2959         (WebCore::FontPlatformData::ctFont):
2960
2961 2013-04-06  Oliver Hunt  <oliver@apple.com>
2962
2963         Unify the many and varied stack trace mechanisms, and make the result sane.
2964         https://bugs.webkit.org/show_bug.cgi?id=114072
2965
2966         Reviewed by Filip Pizlo.
2967
2968         Now that we've fleshed out the StackFrames from Interpreter::getStackTrace
2969         WebCore can just ask us for a stack trace rather than implementing its own
2970         stack walking.
2971
2972         * bindings/js/ScriptCallStackFactory.cpp:
2973         (WebCore::createScriptCallStack):
2974         * inspector/ScriptCallFrame.cpp:
2975         (WebCore::ScriptCallFrame::isEqual):
2976         * inspector/ScriptCallFrame.h:
2977         (ScriptCallFrame):
2978         (WebCore::ScriptCallFrame::columnNumber):
2979
2980 2013-04-06  Geoffrey Garen  <ggaren@apple.com>
2981
2982         Removed v8 bindings hooks from IDL files
2983         https://bugs.webkit.org/show_bug.cgi?id=114091
2984
2985         Reviewed by Anders Carlsson and Sam Weinig.
2986
2987         * Modules/encryptedmedia/MediaKeySession.idl:
2988         * Modules/filesystem/DOMWindowFileSystem.idl:
2989         * Modules/filesystem/WorkerContextFileSystem.idl:
2990         * Modules/gamepad/NavigatorGamepad.idl:
2991         * Modules/geolocation/NavigatorGeolocation.idl:
2992         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
2993         * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
2994         * Modules/mediastream/DOMWindowMediaStream.idl:
2995         * Modules/mediastream/NavigatorMediaStream.idl:
2996         * Modules/notifications/DOMWindowNotifications.idl:
2997         * Modules/notifications/NotificationCenter.idl:
2998         * Modules/notifications/WorkerContextNotifications.idl:
2999         * Modules/quota/DOMWindowQuota.idl:
3000         * Modules/speech/DOMWindowSpeech.idl:
3001         * Modules/webaudio/AudioBufferSourceNode.idl:
3002         * Modules/webaudio/AudioContext.idl:
3003         * Modules/webaudio/AudioParam.idl:
3004         * Modules/webaudio/DOMWindowWebAudio.idl:
3005         * Modules/webdatabase/DOMWindowWebDatabase.idl:
3006         * Modules/webdatabase/WorkerContextWebDatabase.idl:
3007         * Modules/websockets/DOMWindowWebSocket.idl:
3008         * Modules/websockets/WorkerContextWebSocket.idl:
3009         * bindings/js/JSDOMBinding.cpp:
3010         * bindings/js/ScriptController.h:
3011         (ScriptController):
3012         * bindings/scripts/test/TestNode.idl:
3013         * bindings/scripts/test/TestObj.idl:
3014         * css/CSSFontFaceLoadEvent.idl:
3015         * css/CSSHostRule.idl:
3016         * css/CSSRule.idl:
3017         * css/CSSRuleList.idl:
3018         * css/CSSStyleDeclaration.idl:
3019         * css/CSSStyleSheet.idl:
3020         * css/CSSValue.idl:
3021         * css/FontLoader.idl:
3022         * css/StyleSheet.idl:
3023         * css/WebKitCSSRegionRule.idl:
3024         * dom/Clipboard.idl:
3025         * dom/CustomElementConstructor.idl:
3026         * dom/CustomEvent.idl:
3027         * dom/DOMNamedFlowCollection.idl:
3028         * dom/DOMStringMap.idl:
3029         * dom/DataTransferItemList.idl:
3030         * dom/Document.idl:
3031         * dom/DocumentFragment.idl:
3032         * dom/Element.idl:
3033         * dom/Event.idl:
3034         * dom/EventTarget.idl:
3035         * dom/MessageChannel.idl:
3036         * dom/MouseEvent.idl:
3037         * dom/MutationRecord.idl:
3038         * dom/NamedNodeMap.idl:
3039         * dom/Node.idl:
3040         * dom/NodeList.idl:
3041         * dom/RequestAnimationFrameCallback.idl:
3042         * dom/ShadowRoot.idl:
3043         * dom/Text.idl:
3044         * history/HistoryItem.cpp:
3045         (WebCore::HistoryItem::encodeBackForwardTreeNode):
3046         (WebCore::HistoryItem::decodeBackForwardTree):
3047         * html/DOMSettableTokenList.idl:
3048         * html/DOMTokenList.idl:
3049         * html/HTMLAllCollection.idl:
3050         * html/HTMLAppletElement.idl:
3051         * html/HTMLCollection.idl:
3052         * html/HTMLDialogElement.idl:
3053         * html/HTMLDivElement.idl:
3054         * html/HTMLDocument.idl:
3055         * html/HTMLElement.idl:
3056         * html/HTMLEmbedElement.idl:
3057         * html/HTMLFormControlsCollection.idl:
3058         * html/HTMLFormElement.idl:
3059         * html/HTMLImageElement.idl:
3060         * html/HTMLInputElement.idl:
3061         * html/HTMLMediaElement.idl:
3062         * html/HTMLObjectElement.idl:
3063         * html/HTMLOptionsCollection.idl:
3064         * html/HTMLSelectElement.idl:
3065         * html/HTMLSpanElement.idl:
3066         * html/HTMLStyleElement.idl:
3067         * html/HTMLTemplateElement.idl:
3068         * html/HTMLTrackElement.idl:
3069         * html/HTMLUnknownElement.idl:
3070         * html/MediaKeyError.idl:
3071         * html/MediaKeyEvent.idl:
3072         * html/MicroDataItemValue.idl:
3073         * html/canvas/CanvasRenderingContext2D.idl:
3074         * html/canvas/DOMPath.idl:
3075         * html/shadow/HTMLContentElement.idl:
3076         * html/shadow/HTMLShadowElement.idl:
3077         * html/track/TextTrack.idl:
3078         * inspector/InjectedScriptHost.idl:
3079         * inspector/InspectorIndexedDBAgent.cpp:
3080         (WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
3081         (WebCore::InspectorIndexedDBAgent::requestDatabase):
3082         (WebCore::InspectorIndexedDBAgent::requestData):
3083         (WebCore::InspectorIndexedDBAgent::clearObjectStore):
3084         (WebCore):
3085         * loader/EmptyClients.h:
3086         (EmptyFrameLoaderClient):
3087         * loader/FrameLoaderClient.h:
3088         (FrameLoaderClient):
3089         * page/Console.idl:
3090         * page/DOMWindow.idl:
3091         * page/DOMWindowPagePopup.idl:
3092         * page/History.idl:
3093         * page/Location.idl:
3094         * platform/graphics/skia/PatternSkia.cpp:
3095         (WebCore::Pattern::platformDestroy):
3096         (WebCore::Pattern::platformPattern):
3097         * testing/Internals.cpp:
3098         (WebCore::Internals::serializeObject):
3099         (WebCore::Internals::deserializeBuffer):
3100
3101 2013-04-06  Zan Dobersek  <zdobersek@igalia.com>
3102
3103         Remove the USE(SKIA_ON_MAC_CHROMIUM) guards
3104         https://bugs.webkit.org/show_bug.cgi?id=114084
3105
3106         Reviewed by Ryosuke Niwa.
3107
3108         Remove the USE(SKIA_ON_MAC_CHROMIUM) guards. The guards were enabled only
3109         for the Chromium port via the features.gypi file that was removed in r147714.
3110
3111         * platform/graphics/FloatPoint.h:
3112         (FloatPoint):
3113         * platform/graphics/FloatRect.h:
3114         (FloatRect):
3115         * platform/graphics/FloatSize.h:
3116         (FloatSize):
3117         * platform/graphics/FontPlatformData.cpp:
3118         (WebCore):
3119         * platform/graphics/FontPlatformData.h:
3120         (FontPlatformData):
3121         (WebCore::FontPlatformData::hash):
3122         * platform/graphics/IntPoint.h:
3123         (IntPoint):
3124         * platform/graphics/IntRect.h:
3125         (IntRect):
3126         (WebCore):
3127         * platform/graphics/IntSize.h:
3128         (IntSize):
3129         * platform/graphics/SimpleFontData.h:
3130         (SimpleFontData):
3131         (WebCore::SimpleFontData::widthForGlyph):
3132         * platform/graphics/cg/FloatPointCG.cpp:
3133         * platform/graphics/cg/FloatRectCG.cpp:
3134         * platform/graphics/cg/FloatSizeCG.cpp:
3135         * platform/graphics/cg/IntPointCG.cpp:
3136         * platform/graphics/cg/IntRectCG.cpp:
3137         * platform/graphics/cg/IntSizeCG.cpp:
3138         * platform/graphics/mac/FontCustomPlatformData.cpp:
3139         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3140         (WebCore::createFontCustomPlatformData):
3141         * platform/graphics/mac/FontCustomPlatformData.h:
3142         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
3143         (FontCustomPlatformData):
3144
3145 2013-04-06  Robert Hogan  <robert@webkit.org>
3146
3147         REGRESSION(r142152): Text wraps in menu
3148         https://bugs.webkit.org/show_bug.cgi?id=113706
3149
3150         Reviewed by David Hyatt.
3151
3152         * rendering/RenderBlockLineLayout.cpp:
3153         (WebCore::inlineLogicalWidth): Empty inline elements add their inline border/padding/margin to the width of the
3154         line when we iterate through them in nextLineBreak(), so no need to add them again here when climbing back up
3155         from their first child looking for border/padding/margin to add. (An empty inline element can have floating children.)
3156
3157 2013-04-06  Geoffrey Garen  <ggaren@apple.com>
3158
3159         Rolled out 147820 and 147818 because they caused plugins tests to ASSERT
3160         https://bugs.webkit.org/show_bug.cgi?id=114094
3161
3162         Reviewed by Anders Carlsson.
3163
3164         * bindings/js/ScriptCallStackFactory.cpp:
3165         (WebCore::createScriptCallStack):
3166         * inspector/ScriptCallFrame.cpp:
3167         (WebCore::ScriptCallFrame::isEqual):
3168         * inspector/ScriptCallFrame.h:
3169         (ScriptCallFrame):
3170         (WebCore::ScriptCallFrame::lineNumber):
3171
3172 2013-04-06  Anders Carlsson  <andersca@apple.com>
3173
3174         Remove VisitedLinks.{cpp|h}
3175         https://bugs.webkit.org/show_bug.cgi?id=114095
3176
3177         Reviewed by Geoffrey Garen.
3178
3179         * CMakeLists.txt:
3180         * GNUmakefile.list.am:
3181         * Target.pri:
3182         * WebCore.vcproj/WebCore.vcproj:
3183         * WebCore.vcxproj/WebCore.vcxproj:
3184         * WebCore.vcxproj/WebCore.vcxproj.filters:
3185         * WebCore.xcodeproj/project.pbxproj:
3186         * platform/VisitedLinks.cpp: Removed.
3187         * platform/VisitedLinks.h: Removed.
3188
3189 2013-04-06  Anders Carlsson  <andersca@apple.com>
3190
3191         Another build fix.
3192
3193         Actually remove the right files from WebCore.vcxproj.
3194
3195         * WebCore.vcxproj/WebCore.vcxproj:
3196         * WebCore.vcxproj/WebCore.vcxproj.filters:
3197
3198 2013-04-06  Anders Carlsson  <andersca@apple.com>
3199
3200         Fix build.
3201
3202         ThreadableLoaderClientWrapper was still calling didReceiveCachedMetadata; I didn't notice it
3203         because the file was not in the Xcode project so I went ahead and added it.
3204
3205         * WebCore.xcodeproj/project.pbxproj:
3206         * loader/ThreadableLoaderClientWrapper.h:
3207
3208 2013-04-06  Anders Carlsson  <andersca@apple.com>
3209
3210         Remove dead CachedMetadata code
3211         https://bugs.webkit.org/show_bug.cgi?id=114093
3212
3213         Reviewed by Geoffrey Garen.
3214
3215         * CMakeLists.txt:
3216         * GNUmakefile.list.am:
3217         * Target.pri:
3218         * WebCore.vcproj/WebCore.vcproj:
3219         * WebCore.vcxproj/WebCore.vcxproj:
3220         * WebCore.vcxproj/WebCore.vcxproj.filters:
3221         * WebCore.xcodeproj/project.pbxproj:
3222         * loader/CachedMetadata.cpp: Removed.
3223         * loader/CachedMetadata.h: Removed.
3224         * loader/ResourceLoader.h:
3225         (ResourceLoader):
3226         * loader/SubresourceLoader.cpp:
3227         * loader/SubresourceLoader.h:
3228         (SubresourceLoader):
3229         * loader/ThreadableLoaderClient.h:
3230         * loader/WorkerThreadableLoader.cpp:
3231         * loader/WorkerThreadableLoader.h:
3232         (MainThreadBridge):
3233         * loader/cache/CachedResource.cpp:
3234         (WebCore::CachedResource::reportMemoryUsage):
3235         * loader/cache/CachedResource.h:
3236         (WebCore):
3237         (CachedResource):
3238         * platform/network/ResourceHandle.cpp:
3239         * platform/network/ResourceHandle.h:
3240         (ResourceHandle):
3241         * platform/network/ResourceHandleClient.h:
3242         (ResourceHandleClient):
3243
3244 2013-04-06  Anders Carlsson  <andersca@apple.com>
3245
3246         Remove more dead Chromium code
3247         https://bugs.webkit.org/show_bug.cgi?id=114090
3248
3249         Reviewed by Alp Toker.
3250
3251         * CMakeLists.txt:
3252         * GNUmakefile.list.am:
3253         * Target.pri:
3254         * WebCore.vcproj/WebCore.vcproj:
3255         * WebCore.vcxproj/WebCore.vcxproj:
3256         * WebCore.xcodeproj/project.pbxproj:
3257         * platform/StatsCounter.cpp: Removed.
3258         * platform/StatsCounter.h: Removed.
3259
3260 2013-04-06  Patrick Gansterer  <paroga@webkit.org>
3261
3262         Build fix for WinCE after r143046.
3263
3264         * platform/graphics/wince/ImageWinCE.cpp:
3265         (WebCore::Image::drawPattern):
3266
3267 2013-04-06  Mark Salisbury  <mark.salisbury@hp.com>
3268
3269         [WinCE] Do not call missing method createDragImageFromImage()
3270         https://bugs.webkit.org/show_bug.cgi?id=110421
3271
3272         * platform/win/ClipboardWin.cpp:
3273
3274 2013-04-05  Mark Salisbury  <mark.salisbury@hp.com>
3275
3276         [WinCE] Compile missing NetworkStorageSession methods
3277         https://bugs.webkit.org/show_bug.cgi?id=110419
3278
3279         * PlatformWinCE.cmake:
3280
3281 2013-04-05  Kangil Han  <kangil.han@samsung.com>
3282
3283         Prefer prefix ++/-- operators for non-primitive types
3284         https://bugs.webkit.org/show_bug.cgi?id=114033
3285
3286         Reviewed by Alexey Proskuryakov.
3287
3288         Post ++/-- creates a copy of current value and it is not necessary, so use prefix instead.
3289
3290         * bindings/js/Dictionary.cpp:
3291         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
3292         (WebCore::Dictionary::getOwnPropertyNames):
3293         * bindings/js/ScriptCallStackFactory.cpp:
3294         (WebCore::createScriptCallStack):
3295         * dom/ContainerNode.cpp:
3296         (WebCore::willRemoveChildren):
3297         * dom/Range.cpp:
3298         (WebCore::Range::processAncestorsAndTheirSiblings):
3299         * loader/FrameLoader.cpp:
3300         (WebCore::FrameLoader::detachChildren):
3301         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
3302         (WebCore):
3303         (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow):
3304         * rendering/InlineTextBox.cpp:
3305         (WebCore::InlineTextBox::paintDocumentMarkers):
3306         * xml/XPathFunctions.cpp:
3307         (WebCore::XPath::Function::setArguments):
3308
3309 2013-04-05  Hans Muller  <hmuller@adobe.com>
3310
3311         [CSS Exclusions] Add support for the simple case of shape-margin polygonal shape-outside
3312         https://bugs.webkit.org/show_bug.cgi?id=113726
3313
3314         Reviewed by Dirk Schulze.
3315
3316         Add support for computing the shape-outside shape-margin boundary for a polygon.
3317         This change is similar to the one added for padding polygons, see bug 112592.
3318         The algorithm used for computing the margin boundary is is provisional. It works
3319         correctly for convex polygons and will work correctly for non self-intersecting
3320         polygons whose margin boundary is the same shape as the original polygon.
3321
3322         Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-diamond-margin-polygon.html
3323                fast/exclusions/shape-outside-floats/shape-outside-floats-left-margin-polygon.html
3324                fast/exclusions/shape-outside-floats/shape-outside-floats-right-margin-polygon.html
3325
3326         * rendering/ExclusionPolygon.cpp:
3327         (WebCore::appendArc): Generalized this method a little, to deal with margin and padding connecting arcs.
3328         (WebCore::computeShapePaddingBounds): Pass the new appendArc() parameter.
3329         (WebCore::computeShapeMarginBounds): Compute the margin boundary for a polygon, per the constraints summarized above.
3330         (WebCore::ExclusionPolygon::getExcludedIntervals): Use the margin polygon for this computation.
3331
3332 2013-04-05  Andy Estes  <aestes@apple.com>
3333
3334         Returning NULL from willSendRequest should cancel a load from the memory cache
3335         https://bugs.webkit.org/show_bug.cgi?id=114075
3336
3337         Reviewed by Darin Adler.
3338
3339         When a resource is loaded from the memory cache and the client does not
3340         implement the didLoadResourceFromMemoryCache delegate method, WebKit
3341         synthesizes the typical sequence of resource load callbacks. One of
3342         these is willSendRequest, which gives the client the opportunity to
3343         modify the request. We should respect these modifications.
3344
3345         Handling any arbitrary modification is difficult given where in the
3346         loading process we check the memory cache (see <http://webkit.org/b/113251>),
3347         but we can handle the common case where the client cancels the load by
3348         returning a NULL request.
3349
3350         Test: fast/loader/willsendrequest-returns-null-for-memory-cache-load.html
3351
3352         * loader/FrameLoader.cpp:
3353         (WebCore::FrameLoader::willLoadMediaElementURL): Passed request to sendRemainingDelegateMessages.
3354         (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
3355         (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
3356         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Added an out
3357         parameter to pass back a request potentially modified by
3358         requestFromDelegate, which is also passed to sendRemainingDelegateMessages.
3359         * loader/FrameLoader.h:
3360         * loader/ResourceLoadNotifier.cpp:
3361         (WebCore::ResourceLoadNotifier::dispatchDidFailLoading): Added a
3362         function to dispatch didFailLoading and to call the correct InspectorInstrumentation.
3363         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): If the
3364         request is NULL, call dispatchDidFailLoading and return. This matches
3365         the delegate callback sequence of a non memory cache load that is
3366         cancelled by willSendRequest.
3367         * loader/ResourceLoadNotifier.h:
3368         * loader/cache/CachedResourceLoader.cpp:
3369         (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
3370         Return false if the memory cache load is cancelled by the client.
3371         (WebCore::CachedResourceLoader::requestResource): Return early if
3372         shouldContinueAfterNotifyingLoadedFromMemoryCache is false.
3373
3374 2013-04-05  Chris Fleizach  <cfleizach@apple.com>
3375
3376         AX: VoiceOver can't press on items
3377         https://bugs.webkit.org/show_bug.cgi?id=114071
3378
3379         Reviewed by Tim Horton.
3380
3381         The AXScrollToVisibleAction should not be used on earlier Mac versions because
3382         it confuses VoiceOver.
3383
3384         Updated existing tests.
3385
3386         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3387         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
3388
3389 2013-04-05  Anders Carlsson  <andersca@apple.com>
3390
3391         Stop building Objective-C bindings for the SVG DOM
3392         https://bugs.webkit.org/show_bug.cgi?id=114076
3393
3394         Reviewed by Geoffrey Garen.
3395
3396         The DOM SVG Objective-C bindings have never been exposed as API, and not building them cuts WebCore build by 10%.
3397
3398         * Configurations/FeatureDefines.xcconfig:
3399         * Configurations/WebCore.xcconfig:
3400         * WebCore.exp.in:
3401         * WebCore.xcodeproj/project.pbxproj:
3402         * bindings/objc/DOM.mm:
3403         (WebCore::createElementClassMap):
3404         (kitClass):
3405         * bindings/objc/DOMCSS.mm:
3406         (kitClass):
3407         * bindings/objc/DOMEvents.mm:
3408         * bindings/objc/DOMSVG.h: Removed.
3409         * bindings/objc/DOMSVGException.h: Removed.
3410         * bindings/objc/DOMSVGPathSegInternal.mm: Removed.
3411         * bindings/objc/ExceptionHandlers.mm:
3412         * html/HTMLEmbedElement.idl:
3413         * html/HTMLFrameElement.idl:
3414         * html/HTMLIFrameElement.idl:
3415         * html/HTMLObjectElement.idl:
3416
3417 2013-04-05  Oliver Hunt  <oliver@apple.com>
3418
3419         Unify the many and varied stack trace mechanisms, and make the result sane.
3420         https://bugs.webkit.org/show_bug.cgi?id=114072
3421
3422         Reviewed by Filip Pizlo.
3423
3424         Now that we've fleshed out the StackFrames from Interpreter::getStackTrace
3425         WebCore can just ask us for a stack trace rather than implementing its own
3426         stack walking.
3427
3428         * bindings/js/ScriptCallStackFactory.cpp:
3429         (WebCore::createScriptCallStack):
3430         * inspector/ScriptCallFrame.cpp:
3431         (WebCore::ScriptCallFrame::isEqual):
3432         * inspector/ScriptCallFrame.h:
3433         (ScriptCallFrame):
3434         (WebCore::ScriptCallFrame::columnNumber):
3435
3436 2013-04-05  Beth Dakin  <bdakin@apple.com>
3437
3438         Setting a header or footer should cause a relayout
3439         https://bugs.webkit.org/show_bug.cgi?id=114070
3440
3441         Reviewed by Sam Weinig.
3442
3443         Mark the RenderView as needing layout in order to adjust everything for the new 
3444         header/footer.
3445
3446         * page/FrameView.cpp:
3447         (WebCore::FrameView::setHeaderHeight):
3448         (WebCore::FrameView::setFooterHeight):
3449
3450 2013-04-05  Chris Fleizach  <cfleizach@apple.com>
3451
3452         AX: Make SVG Group containers accessible elements
3453         https://bugs.webkit.org/show_bug.cgi?id=113939
3454
3455         Reviewed by Simon Fraser.
3456
3457         SVG group containers are currently not exposed in the AX tree. 
3458         When an SVG element has a <title> child, that is not being used for the AX label.
3459         When hit-testing, from Accessibility, SVG groups are never returned.
3460
3461         All these issues are fixed for Mac and iOS.
3462         There are two tests because right now iOS skips all the top-level accessibility tests
3463         due to fundamental architectural differences.
3464
3465         Tests: accessibility/svg-group-element-with-title.html
3466                platform/iphone-simulator/accessibility/svg-group-element-with-title.html
3467
3468         * accessibility/AccessibilityNodeObject.cpp:
3469         (WebCore::AccessibilityNodeObject::alternativeText):
3470         (WebCore::AccessibilityNodeObject::accessibilityDescription):
3471         * accessibility/AccessibilityRenderObject.cpp:
3472         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
3473         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3474         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3475         (-[WebAccessibilityObjectWrapper isSVGGroupElement]):
3476         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
3477         (-[WebAccessibilityObjectWrapper accessibilityClickPoint]):
3478         * rendering/HitTestRequest.h:
3479             Add a new option, AccessibilityHitTest, that will allow us to override normal behavior.
3480         * rendering/svg/RenderSVGContainer.cpp:
3481         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
3482            Allow a SVG group to be the node at a point, for accessibility hit tests.
3483
3484 2013-04-05  Chris Fleizach  <cfleizach@apple.com>
3485
3486         WebSpeech: event.elapsedTime is always 1364484608
3487         https://bugs.webkit.org/show_bug.cgi?id=114045
3488
3489         Reviewed by Tim Horton.
3490
3491         We were calculating elapsed time incorrectly.
3492
3493         Test: platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html
3494
3495         * Modules/speech/SpeechSynthesis.cpp:
3496         (WebCore::SpeechSynthesis::fireEvent):