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