The ARM NEON optimized filters does not compile on THUMB2
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>
2
3         The ARM NEON optimized filters does not compile on THUMB2
4         https://bugs.webkit.org/show_bug.cgi?id=86457
5
6         Reviewed by Csaba Osztrogonác.
7
8         We should disable the compilation on Thumb2 until we fix the code.
9
10         * platform/graphics/filters/FEComposite.cpp:
11         (WebCore::FEComposite::platformArithmeticSoftware):
12         * platform/graphics/filters/FEGaussianBlur.cpp:
13         (WebCore::FEGaussianBlur::platformApplyWorker):
14         (WebCore::FEGaussianBlur::platformApply):
15         * platform/graphics/filters/FELighting.cpp:
16         (WebCore::FELighting::platformApply):
17         * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
18         * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
19         * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:
20         * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
21         * platform/graphics/filters/arm/FELightingNEON.cpp:
22         * platform/graphics/filters/arm/FELightingNEON.h:
23
24 2012-05-15  MORITA Hajime  <morrita@google.com>
25
26         Kill unnecessary RuntimeEnabledFeatures.h inclusion
27         https://bugs.webkit.org/show_bug.cgi?id=86451
28
29         Reviewed by Kentaro Hara.
30
31         No new tests. No behavior change.
32
33         * dom/Element.cpp:
34         * dom/ElementShadow.cpp:
35         * dom/TreeScope.cpp:
36
37 2012-05-14  Shinya Kawanaka  <shinyak@chromium.org> 
38
39         document.execCommand('Indent') in the direct child of ShadowRoot causes a crash.
40         https://bugs.webkit.org/show_bug.cgi?id=86341
41
42         Reviewed by Ryosuke Niwa.
43
44         When document.execCommand('Indent') is executed in the direct child of ShadowRoot,
45         the scope variable of TextIterator becomes ShadowRoot. However, an element is assumed for it,
46         so a crash happended.
47
48         This patch enables TextIterator to have ShadowRoot as a scope variable.
49
50         Test: editing/shadow/execcommand-indent-in-shadow.html
51
52         * WebCore.exp.in:
53         * editing/ApplyBlockElementCommand.cpp:
54         (WebCore::ApplyBlockElementCommand::doApply):
55         * editing/InsertListCommand.cpp:
56         (WebCore::InsertListCommand::doApply):
57         * editing/TextIterator.cpp:
58         (WebCore::TextIterator::rangeFromLocationAndLength):
59         * editing/TextIterator.h:
60         (TextIterator):
61         * editing/htmlediting.cpp:
62         (WebCore::indexForVisiblePosition):
63         (WebCore::visiblePositionForIndex):
64         * editing/htmlediting.h:
65         (WebCore):
66
67 2012-05-14  Shinya Kawanaka  <shinyak@chromium.org>
68
69         Node::shadowTreeRootNode() should return ShadowRoot instead of Node.
70         https://bugs.webkit.org/show_bug.cgi?id=86428
71
72         Reviewed by Hajime Morita.
73
74         Since Node::shadowTreeRootNode() returns only ShadowRoot or 0 now, its return type should be ShadowRoot.
75         This patch changes the return type and adds include directive to build.
76
77         No new tests, no change in behavior.
78
79         * dom/Node.cpp:
80         (WebCore::Node::shadowAncestorNode):
81         (WebCore::Node::shadowTreeRootNode):
82         * dom/Node.h:
83         (WebCore):
84         (Node):
85         * dom/NodeRenderingContext.cpp:
86         (WebCore::NodeRenderingContext::NodeRenderingContext):
87         * dom/Range.cpp:
88         (WebCore::Range::shadowTreeRootNode):
89         * dom/Range.h:
90         (Range):
91         * editing/Editor.cpp:
92         * editing/TextIterator.cpp:
93         * editing/htmlediting.cpp:
94         * html/shadow/ContentSelectorQuery.cpp:
95         * html/shadow/HTMLContentElement.cpp:
96         (WebCore::HTMLContentElement::parseAttribute):
97         * html/shadow/InsertionPoint.cpp:
98         (WebCore::InsertionPoint::detach):
99         * page/EventHandler.cpp:
100
101 2012-05-14  Luke Macpherson  <macpherson@chromium.org>
102
103         Make StyleResolver::applyMatchedProperties and ::applyProperties use enum template parameter instead of bool.
104         https://bugs.webkit.org/show_bug.cgi?id=86424
105
106         Reviewed by Dimitri Glazkov.
107
108         This patch changes from using a boolean template parameter for StyleResolver::applyMatchedProperties and
109         StyleResolver::applyProperties functions. The motivation for this change is that it paves the way for
110         CSS Variables to make the value tri-state, which is a requirement because variable definitions must occur
111         before high priority CSS properties such that they can be referenced by the latter. This change affects
112         only the type signatures of those functions, and not their behavior.
113
114         * css/StyleResolver.cpp:
115         (WebCore::StyleResolver::collectMatchingRulesForList):
116         * css/StyleResolver.h:
117
118 2012-05-14  MORITA Hajime  <morrita@google.com>
119
120         [Refactoring] Get rid of ContentDistribution::Item
121         https://bugs.webkit.org/show_bug.cgi?id=86350
122
123         This change replaces the linked list on ContentDistribution with a Vector.
124         We no longer link item class ContentDistribution::Item.
125         This simplification also allows ContentDistribution to go.
126         ContentDistribution is now just a typedef of Vector<RefPtr<Node> >.
127
128         Reviewed by Dimitri Glazkov.
129
130         No new tests. Covered by existing tests.
131
132         * dom/ComposedShadowTreeWalker.cpp:
133         (WebCore::ComposedShadowTreeWalker::traverseNode):
134         (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
135         * dom/ElementShadow.cpp:
136         * dom/ElementShadow.h:
137         (ElementShadow):
138         * dom/NodeRenderingContext.cpp:
139         (WebCore::nextRendererOfInsertionPoint):
140         (WebCore::previousRendererOfInsertionPoint):
141         (WebCore::firstRendererOfInsertionPoint):
142         (WebCore::lastRendererOfInsertionPoint):
143         * html/shadow/ContentDistributor.cpp:
144         (WebCore::ContentDistributor::distribute):
145         (WebCore::ContentDistributor::clearDistribution):
146         (WebCore::ContentDistributor::findInsertionPointFor):
147         * html/shadow/ContentDistributor.h:
148         (WebCore):
149         (ContentDistributor):
150         * html/shadow/InsertionPoint.cpp:
151         (WebCore::InsertionPoint::InsertionPoint):
152         (WebCore::InsertionPoint::attachDistributedNode):
153         (WebCore::InsertionPoint::assignShadowRoot):
154         (WebCore::InsertionPoint::nextTo):
155         (WebCore):
156         (WebCore::InsertionPoint::previousTo):
157         * html/shadow/InsertionPoint.h: Added a set of delegate method to m_distribution.
158         (WebCore::InsertionPoint::hasDistribution):
159         (WebCore::InsertionPoint::indexOf):
160         (WebCore::InsertionPoint::size):
161         (WebCore::InsertionPoint::at):
162         (WebCore::InsertionPoint::first):
163         (WebCore::InsertionPoint::last):
164         (InsertionPoint):
165
166 2012-05-14  Tim Horton  <timothy_horton@apple.com>
167
168         RenderLayer::repaintRectIncludingDescendants shouldn't include repaint rects of composited descendants
169         https://bugs.webkit.org/show_bug.cgi?id=86429
170         <rdar://problem/11445132>
171
172         Reviewed by Simon Fraser.
173
174         Change repaintRectIncludingDescendants to not include repaint rects for composited child layers,
175         and rename the function to make it more clear that that's what it does now.
176
177         No new tests, scrolling performance optimization.
178
179         * page/FrameView.cpp:
180         (WebCore::FrameView::scrollContentsFastPath):
181         * rendering/RenderLayer.cpp:
182         (WebCore::RenderLayer::repaintRectIncludingNonCompositingDescendants):
183         * rendering/RenderLayer.h:
184         (RenderLayer):
185
186 2012-05-14  Gavin Peters  <gavinp@chromium.org>
187
188         Add Prerenderer, PrerenderHandle and a chromium interface for Prerendering.
189         https://bugs.webkit.org/show_bug.cgi?id=85005
190
191         Reviewed by Adam Barth.
192
193         The prerender case isn't quite a resource load, and using resource loading to
194         retrieve them has constrained the API, and unnecessarily complicated the loader.
195
196         The new Prerenderer and PrerenderHandle let <link rel=prerender...> elements signal
197         removal and unload to their platform.
198
199         No new tests, as this interface requires a full platform to work, and doesn't affect layout.  Test
200         it with your platform when implemented for it.
201
202         * GNUmakefile.list.am:
203         * Target.pri:
204         * WebCore.gypi:
205         * WebCore.vcproj/WebCore.vcproj:
206         * WebCore.xcodeproj/project.pbxproj:
207         * dom/Document.cpp:
208         (WebCore::Document::Document):
209         * dom/Document.h:
210         (WebCore):
211         (Document):
212         (WebCore::Document::prerenderer):
213         * html/HTMLLinkElement.cpp:
214         (WebCore::HTMLLinkElement::removedFrom):
215         * html/LinkRelAttribute.cpp:
216         (WebCore::LinkRelAttribute::LinkRelAttribute):
217         * html/LinkRelAttribute.h:
218         (LinkRelAttribute):
219         * loader/LinkLoader.cpp:
220         (WebCore::LinkLoader::loadLink):
221         (WebCore::LinkLoader::released):
222         * loader/LinkLoader.h:
223         (WebCore):
224         (LinkLoader):
225         * loader/Prerenderer.cpp: Added.
226         (WebCore):
227         (WebCore::Prerenderer::create):
228         (WebCore::Prerenderer::Prerenderer):
229         (WebCore::Prerenderer::~Prerenderer):
230         (WebCore::Prerenderer::render):
231         (WebCore::Prerenderer::stop):
232         (WebCore::Prerenderer::suspend):
233         (WebCore::Prerenderer::resume):
234         (WebCore::Prerenderer::document):
235         (WebCore::Prerenderer::client):
236         * loader/Prerenderer.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
237         (WebCore):
238         (Prerenderer):
239         * loader/PrerendererClient.cpp: Copied from Source/WebCore/html/LinkRelAttribute.h.
240         (WebCore):
241         (WebCore::PrerendererClient::supplementName):
242         (WebCore::PrerendererClient::from):
243         (WebCore::providePrerendererClientTo):
244         * loader/PrerendererClient.h: Copied from Source/WebCore/html/LinkRelAttribute.h.
245         (WebCore):
246         (PrerendererClient):
247         (WebCore::PrerendererClient::~PrerendererClient):
248         (WebCore::PrerendererClient::PrerendererClient):
249         * loader/cache/CachedResource.cpp:
250         (WebCore::defaultPriorityForResourceType):
251         (WebCore::cachedResourceTypeToTargetType):
252         (WebCore::CachedResource::load):
253         * loader/cache/CachedResource.h:
254         (WebCore::CachedResource::ignoreForRequestCount):
255         * loader/cache/CachedResourceLoader.cpp:
256         (WebCore::createResource):
257         (WebCore::CachedResourceLoader::requestLinkResource):
258         (WebCore::CachedResourceLoader::checkInsecureContent):
259         (WebCore::CachedResourceLoader::canRequest):
260         * platform/PrerenderHandle.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
261         (WebCore):
262         (PrerenderHandle):
263         * platform/chromium/Prerender.cpp: Added.
264         (WebCore):
265         (WebCore::Prerender::Prerender):
266         (WebCore::Prerender::~Prerender):
267         (WebCore::Prerender::setState):
268         (WebCore::Prerender::add):
269         (WebCore::Prerender::cancel):
270         (WebCore::Prerender::abandon):
271         (WebCore::Prerender::suspend):
272         (WebCore::Prerender::resume):
273         * platform/chromium/Prerender.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
274         (WebCore):
275         (Prerender):
276         (ExtraData):
277         (WebCore::Prerender::ExtraData::~ExtraData):
278         (WebCore::Prerender::url):
279         (WebCore::Prerender::referrer):
280         (WebCore::Prerender::referrerPolicy):
281         (WebCore::Prerender::setExtraData):
282         (WebCore::Prerender::extraData):
283         * platform/chromium/PrerenderHandle.cpp: Copied from Source/Platform/chromium/public/WebPrerender.h.
284         (WebCore):
285         (WebCore::PrerenderHandle::create):
286         (WebCore::PrerenderHandle::PrerenderHandle):
287         (WebCore::PrerenderHandle::~PrerenderHandle):
288         (WebCore::PrerenderHandle::prerender):
289         (WebCore::PrerenderHandle::add):
290         (WebCore::PrerenderHandle::cancel):
291         (WebCore::PrerenderHandle::abandon):
292         (WebCore::PrerenderHandle::suspend):
293         (WebCore::PrerenderHandle::resume):
294         (WebCore::PrerenderHandle::url):
295         (WebCore::PrerenderHandle::referrer):
296         (WebCore::PrerenderHandle::referrerPolicy):
297         * platform/chromium/support/WebPrerender.cpp: Copied from Source/Platform/chromium/public/WebPrerender.h.
298         (WebKit::WebPrerender::WebPrerender):
299         (WebKit):
300         (WebKit::WebPrerender::~WebPrerender):
301         (WebKit::WebPrerender::url):
302         (WebKit::WebPrerender::referrer):
303         (WebKit::WebPrerender::referrerPolicy):
304         (WebKit::WebPrerender::setExtraData):
305         (WebKit::WebPrerender::extraData):
306         * platform/network/blackberry/ResourceRequest.h:
307         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
308         (WebCore::platformTargetTypeForRequest):
309         * platform/network/chromium/ResourceRequest.h:
310
311 2012-05-14  Luke Macpherson  <macpherson@chromium.org>
312
313         Introduce ENABLE_CSS_VARIABLES compile flag.
314         https://bugs.webkit.org/show_bug.cgi?id=86338
315
316         Reviewed by Dimitri Glazkov.
317
318         Add a configuration option for CSS Variables support, disabling it by default.
319
320         No new tests. This patch only introduces an unused build flag.
321
322         * Configurations/FeatureDefines.xcconfig:
323
324 2012-05-14  Eric Seidel  <eric@webkit.org>
325
326         Styles are not recalculated when the seamless attribute is dynamically added/removed
327         https://bugs.webkit.org/show_bug.cgi?id=86315
328
329         Reviewed by Andreas Kling.
330
331         Covered by fast/frames/seamless/seamless-css-cascade.html.
332
333         * html/HTMLIFrameElement.cpp:
334         (WebCore::HTMLIFrameElement::isPresentationAttribute):
335          - Make seamless a presentational attribute, which means style on the <iframe> will
336            be forced to recalculate when it changes.  This is correct, but not observable
337            until the layout changes are landed (as then the iframe should correctly revert to not
338            being sized to fit its content if seamless is removed).
339         (WebCore::HTMLIFrameElement::parseAttribute):
340          - When the seamless attribute is added or remove, force the content document to recalc
341            its style resolver, which will refresh the list of inherited stylesheets from the
342            parent.  This doesn't need to happen synchronously.  When the layout changes land
343            the content document will actually cause that recalc to redirect to the parent document
344            in the seamless case anyway, but it's more correct to ask the content document directly.
345
346 2012-05-14  Alexandre Elias  <aelias@google.com>
347
348         [chromium] Prevent KeyCodeConversionAndroid from breaking on next NDK roll
349         https://bugs.webkit.org/show_bug.cgi?id=86415
350
351         Reviewed by Adam Barth.
352
353         The new enum values added in this file have been added in recent
354         versions of the NDK, so this file will fail to compile with duplicate
355         enum error when we roll NDK to r7c or higher.  A workaround is
356         to move our enum values to the WebCore namespace.  When the NDK
357         upgrade is complete, we can delete them.
358
359         No new tests. (No-op change.)
360
361         * platform/chromium/KeyCodeConversionAndroid.cpp:
362         (WebCore):
363
364 2012-05-14  Beth Dakin  <bdakin@apple.com>
365
366         https://bugs.webkit.org/show_bug.cgi?id=86420
367         ScrollbarPainter should support expansionTransitionProgress
368
369         Reviewed by Sam Weinig.
370
371         expansionTransitionProgress works the same as 
372         uiStateTransitionProgress. This code just echoes that code, but for 
373         expansion instead of uiState.
374         * platform/mac/NSScrollerImpDetails.h:
375         * platform/mac/ScrollAnimatorMac.mm:
376         (supportsExpansionTransitionProgress):
377         (-[WebScrollbarPartAnimation setCurrentProgress:]):
378         (-[WebScrollbarPainterDelegate cancelAnimations]):
379         (-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
380         (-[WebScrollbarPainterDelegate invalidate]):
381
382 2012-05-14  Andy Estes  <aestes@apple.com>
383
384         Fix RunLoopCF.cpp's copyright string.
385
386         * platform/cf/RunLoopCF.cpp:
387
388 2012-05-14  Andy Estes  <aestes@apple.com>
389
390         Move the parts of RunLoopMac.mm that aren't Mac-specific into RunLoopCF.cpp
391         https://bugs.webkit.org/show_bug.cgi?id=86411
392
393         Reviewed by Anders Carlsson.
394
395         Most of RunLoopMac.mm was written in terms of CF API. Move these bits
396         to a new file called RunLoopCF.cpp, leaving only the bits dealing with
397         NSApplication.
398
399         * WebCore.xcodeproj/project.pbxproj: Xcode decided to give
400         VisitedLinks.* new UUIDs. I'll allow it.
401         * platform/cf/RunLoopCF.cpp: Copied from Source/WebCore/platform/mac/RunLoopMac.mm.
402         * platform/mac/RunLoopMac.mm:
403
404 2012-05-14  Erik Arvidsson  <arv@chromium.org>
405
406         [V8] Add "stack" property to DOMException
407         https://bugs.webkit.org/show_bug.cgi?id=85057
408
409         Reviewed by Kentaro Hara.
410
411         When we create a DOM exception we define a V8 accessor for the stack property. This
412         accessor uses a new Error object to get the underlying stack string.
413
414         Test: fast/dom/DOMException/stack-trace.html
415
416         * bindings/v8/V8Proxy.cpp:
417         (WebCore::DOMExceptionStackGetter):
418         (WebCore):
419         (WebCore::DOMExceptionStackSetter):
420         (WebCore::V8Proxy::setDOMException):
421
422 2012-05-14  Michael Saboff  <msaboff@apple.com>
423
424         Enh: Add the Ability to Disable / Enable JavaScript GC Timer
425         https://bugs.webkit.org/show_bug.cgi?id=86382
426
427         Reviewed by Darin Adler.
428
429         Plumbing to set / clear JS GC activity timer enable flag.
430
431         * WebCore.exp.in:
432         * bindings/js/GCController.cpp:
433         (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
434         * bindings/js/GCController.h:
435
436 2012-05-14  Nate Chapin  <japhet@chromium.org>
437
438         [V8] Crash in npObjectGetProperty() in V8NPObject.cpp
439         https://bugs.webkit.org/show_bug.cgi?id=86131
440
441         Reviewed by Adam Barth.
442
443         Tests: plugins/npruntime/delete-plugin-within-getProperty.html
444                plugins/npruntime/delete-plugin-within-hasProperty-return-false.html
445                plugins/npruntime/delete-plugin-within-hasProperty-return-true.html
446                plugins/npruntime/delete-plugin-within-invoke.html
447                plugins/npruntime/delete-plugin-within-setProperty.html
448
449         * bindings/v8/NPV8Object.cpp:
450         (_NPN_EvaluateHelper):
451         * bindings/v8/V8NPObject.cpp: Check NPN_IsAlive in a bunch of places we're not currently.
452         (WebCore::npObjectInvokeImpl):
453         (WebCore::npObjectGetProperty):
454         (WebCore::npObjectSetProperty):
455
456 2012-05-14  Brent Fulgham  <bfulgham@webkit.org>
457
458         [WinCairo] Unreviewed build correction.
459
460         * platform/win/DragImageCairoWin.cpp: Add missing include for
461         new NativeImageCairo.h type.
462
463 2012-05-14  Takashi Sakamoto  <tasak@google.com>
464
465         Crash in WebCore::RenderObject::repaint
466         https://bugs.webkit.org/show_bug.cgi?id=86162
467
468         Reviewed by Abhishek Arya.
469
470         As RenderScrollbarPart has no parent renderer, we crash in
471         WebCore::RenderBoxModelObject::paddingLeft when paddingLeft has
472         percent value, e.g. 5%. However if we set the scrollbar's parent
473         renderer to a renderer owning the scrollbar by using setParent method,
474         RenderScrollbarPart::styleWillChange will invoke parent renderer's
475         repaint. This causes crash in WebCore::RenderObject::repaint if the
476         owning renderer is already destroyed.
477         To fix the first crash without the second crash, modify
478         RenderObject::containingBlock() to check isRenderScrollbarPart or not,
479         if parent() is 0.
480         If so, use scrollbar's owningRenderer from RenderScrollbarPart.
481
482         Test: scrollbars/scrollbar-percent-padding-crash.html
483               scrollbars/scrollbar-scrollbarparts-repaint-crash.html
484
485         * rendering/RenderObject.cpp:
486         (WebCore::RenderObject::containingBlock):
487         Modifying containingBlock. If parent() is 0 and isRenderScrollbarPart()
488         is true, use RenderScrollbarPart's m_scrollbar->owningRenderer()
489         instead of parent().
490         * rendering/RenderObject.h:
491         (WebCore::RenderObject::isRenderScrollbarPart):
492         (RenderObject):
493         Adding a new method, isRenderScrollbarPart.
494         * rendering/RenderScrollbarPart.cpp:
495         (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
496         (WebCore):
497         Adding a new method, scrollbarOwningRenderer to obtain m_scrollar's
498         owningRenderer.
499         * rendering/RenderScrollbarPart.h:
500         (RenderScrollbarPart):
501         Removing "friend class RenderScrollbar".
502         (WebCore::RenderScrollbarPart::isRenderScrollbarPart):
503         (WebCore::toRenderScrollbarPart):
504         (WebCore):
505         Implementing isRenderScrollbarPart and toRenderScrollbarPart.
506
507 2012-05-14  Mike West  <mike@mikewest.org>
508
509         Content Security Policy console errors include violated directive.
510         https://bugs.webkit.org/show_bug.cgi?id=86323
511
512         Reviewed by Adam Barth.
513
514         Console errors generated when resources, inline script/style, or eval
515         are blocked by Content Security Policy directives should include the
516         text of the directive that's been violated. This gives developers more
517         of the information they need to resolve the issue.
518
519         Test: http/tests/security/contentSecurityPolicy/*
520
521         * page/ContentSecurityPolicy.cpp:
522         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
523         (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
524         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
525         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
526         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
527         (WebCore::CSPDirectiveList::allowInlineScript):
528         (WebCore::CSPDirectiveList::allowInlineStyle):
529         (WebCore::CSPDirectiveList::allowEval):
530
531 2012-05-14  Julien Chaffraix  <jchaffraix@webkit.org>
532
533         Crash in FrameView::windowClipRectForFrameOwner after r116371
534         https://bugs.webkit.org/show_bug.cgi?id=86035
535
536         Reviewed by David Hyatt.
537
538         Added a NULL-check for |parentView| as nothing guarantees it to be
539         non-NULL. Unfortunately no test as this is a crasher I couldn't
540         reproduce on my machine and the user logs were not helpful.
541
542         * page/FrameView.cpp:
543         (WebCore::FrameView::windowClipRect):
544
545 2012-05-14  Beth Dakin  <bdakin@apple.com>
546
547         https://bugs.webkit.org/show_bug.cgi?id=86403
548         ASSERTION FAILED: m_verticalScrollbarPainterDelegate on recent builds
549         -and corresponding-
550         <rdar://problem/11448841>
551
552         Reviewed by Simon Fraser.
553
554         http://trac.webkit.org/changeset/116476 accidentally started calling 
555         these functions for custom scrollbars. This change replaces that 
556         guard.
557         * rendering/RenderLayer.cpp:
558         (WebCore::RenderLayer::destroyScrollbar):
559
560 2012-05-14  Simon Fraser  <simon.fraser@apple.com>
561
562         Remove redundant pixel snapping in calculateCompositedBounds()
563         https://bugs.webkit.org/show_bug.cgi?id=86400
564
565         Reviewed by Sam Weinig.
566
567         RenderLayer::calculateLayerBounds() returns a pixel-snapped rect,
568         so we don't need to pixel-snap it again.
569
570         * rendering/RenderLayerCompositor.cpp:
571         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
572
573 2012-05-14  Simon Fraser  <simon.fraser@apple.com>
574
575         Avoid logging related to setting shadow-related properties on a transform-only layer
576         https://bugs.webkit.org/show_bug.cgi?id=86398
577
578         Reviewed by Dan Bernstein.
579
580         When making a CATransformLayer to support transform-style: preserve-3d, avoid trying
581         to set filters on the transform layer. We should never have this combination,
582         because filters force flattening to occur.
583
584         * platform/graphics/ca/GraphicsLayerCA.cpp:
585         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
586
587 2012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>
588
589         Unreviewed, rolling out r116983.
590         http://trac.webkit.org/changeset/116983
591         https://bugs.webkit.org/show_bug.cgi?id=86397
592
593         Does not compile on chromium-win (Requested by abarth on
594         #webkit).
595
596         * WebCore.gypi:
597         * page/TouchAdjustment.cpp:
598
599 2012-05-14  Dan Bernstein  <mitz@apple.com>
600
601         Pagination splits lines that could fit on a single page if it were not for their top leading
602         https://bugs.webkit.org/show_bug.cgi?id=86388
603
604         Reviewed by Darin Adler.
605
606         Test: fast/multicol/split-in-top-margin.html
607
608         When a line’s visible content fits on a page, but adding the top leading makes it taller than
609         a page, instead of giving up and splitting the line in an arbitrary position, add a strut
610         to push it downwards so that the split occurs in the top leading, and the visible content is
611         fully contained on a single page.
612
613         * rendering/RenderBlock.cpp:
614         (WebCore::RenderBlock::adjustLinePositionForPagination):
615
616 2012-05-14  Terry Anderson  <tdanderson@chromium.org>
617
618         [chromium] Compute the best target node on a GestureTap event
619         https://bugs.webkit.org/show_bug.cgi?id=85101
620
621         Reviewed by Adam Barth.
622
623         Using tests in the touchadjustment/ directory.
624
625         * WebCore.gypi:
626         Include TouchAdjustment.* files.
627         * page/TouchAdjustment.cpp:
628         Included math.h because of an 'Undeclared identifier: INFINITY' when
629         this patch was landed before.
630
631 2012-05-14  Adrienne Walker  <enne@google.com>
632
633         [chromium] Add compositor debug asserts for blocked main thread
634         https://bugs.webkit.org/show_bug.cgi?id=86384
635
636         Reviewed by James Robinson.
637
638         Where we depend for thread-safety that the main thread is blocked,
639         assert that this is actually the case.
640
641         * platform/graphics/chromium/cc/CCProxy.cpp:
642         (WebCore):
643         (WebCore::CCProxy::isMainThreadBlocked):
644         (WebCore::CCProxy::setMainThreadBlocked):
645         * platform/graphics/chromium/cc/CCProxy.h:
646         (CCProxy):
647         (WebCore):
648         (DebugScopedSetMainThreadBlocked):
649         (WebCore::DebugScopedSetMainThreadBlocked::DebugScopedSetMainThreadBlocked):
650         (WebCore::DebugScopedSetMainThreadBlocked::~DebugScopedSetMainThreadBlocked):
651         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
652         (WebCore::CCSingleThreadProxy::doCommit):
653         (WebCore::CCSingleThreadProxy::stop):
654         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
655         (WebCore::CCThreadProxy::stop):
656         (WebCore::CCThreadProxy::beginFrame):
657         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
658         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
659         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
660
661 2012-05-14  Swapna P  <spottabathini@innominds.com>
662
663         Reviewed by Eric Seidel.
664
665         Bug: Cannot resize frames because frameborder=0
666         https://bugs.webkit.org/show_bug.cgi?id=23750
667
668         Removed check for frameborder, in order to allow resize of frames even in case of frameborder=0.
669
670         Test: fast/frames/frames-with-frameborder-zero-can-be-resized.html
671
672         * rendering/RenderFrameSet.cpp:
673         (WebCore::RenderFrameSet::startResizing):
674         (WebCore::RenderFrameSet::canResizeRow):
675         (WebCore::RenderFrameSet::canResizeColumn):
676
677 2012-05-14  David Barton  <dbarton@mathscribe.com>
678
679         Unify RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
680         https://bugs.webkit.org/show_bug.cgi?id=86319
681
682         Reviewed by Darin Adler.
683
684         Most of RenderMathMLSquareRoot.cpp is duplicated in RenderMathMLRoot.cpp and can be
685         eliminated. We also define RenderMathMLRoot::computePreferredLogicalWidths().
686
687         Test: mathml/presentation/mroot-pref-width.html
688
689         * rendering/mathml/RenderMathMLRoot.cpp:
690         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
691         (WebCore::RenderMathMLRoot::layout):
692         (WebCore::RenderMathMLRoot::paint):
693         * rendering/mathml/RenderMathMLRoot.h:
694         * rendering/mathml/RenderMathMLSquareRoot.cpp:
695         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
696         (WebCore::RenderMathMLSquareRoot::addChild):
697         * rendering/mathml/RenderMathMLSquareRoot.h:
698
699 2012-05-14  MORITA Hajime  <morrita@google.com>
700
701         [Shadow DOM][Refactoring] HTMLContentSelector family should have better name
702         https://bugs.webkit.org/show_bug.cgi?id=86064
703
704         Reviewed by Dimitri Glazkov.
705
706         This change renames classes around shadow content distribution.
707         - Renamed HTMLContentSelector to ContentDistributor
708         - Renamed HTMLContentSelectionList to ContentDistribution
709         - Renamed HTMLContentSelection to ContentDistribution::Item
710         - Inlined HTMLContentSelectionSet into ContentDistributor
711
712         Associated rename and inlining are also happening for method names.
713
714         No new tests. No behavior change.
715
716         * CMakeLists.txt:
717         * GNUmakefile.list.am:
718         * Target.pri:
719         * WebCore.gypi:
720         * WebCore.vcproj/WebCore.vcproj:
721         * WebCore.xcodeproj/project.pbxproj:
722         * dom/ComposedShadowTreeWalker.cpp:
723         (WebCore::ComposedShadowTreeWalker::traverseNode):
724         (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
725         (WebCore::ComposedShadowTreeWalker::traverseParent):
726         * dom/ElementShadow.cpp:
727         (WebCore::ElementShadow::ElementShadow):
728         (WebCore::ElementShadow::attach):
729         (WebCore::ElementShadow::insertionPointFor):
730         (WebCore::ElementShadow::distributionItemFor):
731         (WebCore::ElementShadow::recalcStyle):
732         (WebCore::ElementShadow::needsRedistributing):
733         (WebCore::ElementShadow::hostChildrenChanged):
734         (WebCore::ElementShadow::setNeedsRedistributing):
735         * dom/ElementShadow.h:
736         (WebCore):
737         (ElementShadow):
738         (WebCore::ElementShadow::distributor):
739         (WebCore::ElementShadow::clearNeedsRedistributing):
740         * dom/NodeRenderingContext.cpp:
741         (WebCore::NodeRenderingContext::NodeRenderingContext):
742         (WebCore::nextRendererOfInsertionPoint):
743         (WebCore::previousRendererOfInsertionPoint):
744         (WebCore::firstRendererOfInsertionPoint):
745         (WebCore::lastRendererOfInsertionPoint):
746         * dom/ShadowRoot.cpp:
747         * dom/ShadowRoot.h:
748         (WebCore):
749         * html/shadow/ContentDistributor.cpp: Renamed from Source/WebCore/html/shadow/HTMLContentSelector.cpp.
750         (WebCore):
751         (WebCore::ContentDistribution::ContentDistribution):
752         (WebCore::ContentDistribution::~ContentDistribution):
753         (WebCore::ContentDistribution::find):
754         (WebCore::ContentDistribution::clear):
755         (WebCore::ContentDistribution::append):
756         (WebCore::ContentDistributor::ContentDistributor):
757         (WebCore::ContentDistributor::~ContentDistributor):
758         (WebCore::ContentDistributor::distribute):
759         (WebCore::ContentDistributor::clearDistribution):
760         (WebCore::ContentDistributor::findFor):
761         (WebCore::ContentDistributor::findInsertionPointFor):
762         (WebCore::ContentDistributor::willDistribute):
763         (WebCore::ContentDistributor::didDistribute):
764         (WebCore::ContentDistributor::preparePoolFor):
765         * html/shadow/ContentDistributor.h: Added.
766         (WebCore):
767         (ContentDistribution):
768         (Item):
769         (WebCore::ContentDistribution::Item::insertionPoint):
770         (WebCore::ContentDistribution::Item::node):
771         (WebCore::ContentDistribution::Item::next):
772         (WebCore::ContentDistribution::Item::previous):
773         (WebCore::ContentDistribution::Item::create):
774         (WebCore::ContentDistribution::Item::Item):
775         (WebCore::ContentDistribution::first):
776         (WebCore::ContentDistribution::last):
777         (WebCore::ContentDistribution::firstNode):
778         (WebCore::ContentDistribution::lastNode):
779         (WebCore::ContentDistribution::isEmpty):
780         (ContentDistributor):
781         (Translator):
782         (WebCore::ContentDistributor::Translator::hash):
783         (WebCore::ContentDistributor::Translator::equal):
784         (WebCore::ContentDistributor::Hash::hash):
785         (WebCore::ContentDistributor::Hash::equal):
786         (Hash):
787         (WebCore::ContentDistributor::inDistribution):
788         (WebCore::ContentDistributor::poolIsReady):
789         * html/shadow/HTMLContentElement.cpp:
790         (WebCore::HTMLContentElement::parseAttribute):
791         * html/shadow/HTMLContentSelector.h: Removed.
792         * html/shadow/InsertionPoint.cpp:
793         (WebCore::InsertionPoint::InsertionPoint):
794         (WebCore::InsertionPoint::detach):
795         (WebCore::InsertionPoint::distributeHostChildren):
796         (WebCore::InsertionPoint::clearDistribution):
797         (WebCore::InsertionPoint::attachDistributedNode):
798         (WebCore::InsertionPoint::assignShadowRoot):
799         (WebCore::InsertionPoint::clearAssignment):
800         * html/shadow/InsertionPoint.h:
801         (WebCore::InsertionPoint::distribution):
802         (WebCore::InsertionPoint::hasDistribution):
803
804 2012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>
805
806         Unreviewed, rolling out r116969.
807         http://trac.webkit.org/changeset/116969
808         https://bugs.webkit.org/show_bug.cgi?id=86386
809
810         i accidentally the icondatabase (Requested by kling on
811         #webkit).
812
813         * loader/icon/IconDatabase.cpp:
814         (WebCore::IconDatabase::synchronousIconForPageURL):
815         (WebCore::IconDatabase::retainIconForPageURL):
816         (WebCore::IconDatabase::releaseIconForPageURL):
817         (WebCore::IconDatabase::retainedPageURLCount):
818         (WebCore::IconDatabase::performURLImport):
819         (WebCore::IconDatabase::syncThreadMainLoop):
820         * loader/icon/IconDatabase.h:
821         (IconDatabase):
822
823 2012-05-14  Kevin Ollivier  <kevino@theolliviers.com>
824
825         [wx] Unreviewed build fix. Fix for wxMSW windows.h load order bug.
826         
827         * platform/graphics/wx/ImageBufferDataWx.h:
828
829 2012-05-14  Eric Carlson  <eric.carlson@apple.com>
830
831         <video> won't load when URL ends with .php
832         https://bugs.webkit.org/show_bug.cgi?id=86308
833
834         Reviewed by Darin Adler.
835
836         Test: http/tests/media/video-query-url.html
837
838         * platform/graphics/MediaPlayer.cpp:
839         (WebCore::MediaPlayer::MediaPlayer): Initialize m_typeInferredFromExtension.
840         (WebCore::MediaPlayer::load): Set m_typeInferredFromExtension appropriately.
841         (WebCore::MediaPlayer::loadWithNextMediaEngine): If we don't find a media engine registered
842             for a MIME type, and the type was inferred from the extension, give the first registered
843             media engine a chance anwyay just as we do when there is no MIME type at all.
844         * platform/graphics/MediaPlayer.h: Add m_typeInferredFromExtension.
845
846 2012-05-14  Ilya Tikhonovsky  <loislo@chromium.org>
847
848         Web Inspector: do not update $0-$4 console variables for the objects from loaded from file heap snapshot.
849         https://bugs.webkit.org/show_bug.cgi?id=86371
850
851         When the user selects an object in HeapSnapshot we are updating $0 variable in console API.
852         But if the snapshot was loaded from file then we can't map object id for the selected obect
853         from the snapshot to the live objects in the inspected page.
854
855         Reviewed by Yury Semikhatsky.
856
857         * inspector/front-end/HeapSnapshotView.js:
858         (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
859         (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
860         (WebInspector.HeapProfileHeader):
861         (WebInspector.HeapProfileHeader.prototype.canSaveToFile):
862         (WebInspector.HeapProfileHeader.prototype.saveToFile):
863         * inspector/front-end/ProfilesPanel.js:
864         (WebInspector.ProfileHeader):
865         (WebInspector.ProfileHeader.prototype.loadFromFile):
866         (WebInspector.ProfileHeader.prototype.fromFile):
867         (WebInspector.ProfilesPanel.prototype._loadFromFile):
868
869 2012-05-14  Andrey Kosyakov  <caseq@chromium.org>
870
871         Web Inspector: [Extensions API] allow extensions to evaluate in the context of their content scripts
872         https://bugs.webkit.org/show_bug.cgi?id=86361
873
874         Reviewed by Yury Semikhatsky.
875
876         Test: inspector/extensions/extensions-eval-content-script.html
877
878         * inspector/front-end/ExtensionAPI.js: 
879         (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression): Added evaluateOptions optional parameter.
880         (injectedExtensionAPI.InspectedWindow.prototype.eval):
881         (injectedExtensionAPI.extractCallbackArgument): A helper to extract callback function from last argument.
882         * inspector/front-end/ExtensionPanel.js:
883         (WebInspector.ExtensionSidebarPane.prototype.setExpression): Added evaluateOptions optional parameter.
884         * inspector/front-end/ExtensionServer.js:
885         (WebInspector.ExtensionServer.prototype._onSetSidebarContent): Use ExtensionServer.evaluate() wrapper.
886         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): Ditto.
887         (WebInspector.ExtensionServer.prototype._normalizePath):
888         (WebInspector.ExtensionServer.prototype.evaluate): A wrapper for PageAgent.evaluate() that handles evaluateOptions.
889         * inspector/front-end/JavaScriptContextManager.js:
890         (WebInspector.JavaScriptContextManager.prototype.contextByFrameAndSecurityOrigin): Expose interface to locate context id by frame and content script security origin.
891         (WebInspector.FrameEvaluationContext.prototype._addExecutionContext): Maintain contexts sorted by name.
892         (WebInspector.FrameEvaluationContext.prototype.isolatedContexts): ditto (skip sorting when returning contexts)
893         (WebInspector.FrameEvaluationContext.prototype.contextBySecurityOrigin):
894         * inspector/front-end/inspector.js: Hold/expose javaScriptContextManager.
895
896 2012-05-14  Pavel Feldman  <pfeldman@chromium.org>
897
898         Web Inspector: preserve tab index while widening / shrinking tabbed pane area.
899         https://bugs.webkit.org/show_bug.cgi?id=86359
900
901         Reviewed by Vsevolod Vlasov.
902
903         After the drag'n'drop reorder, we should preserve tab index while widening /
904         shrinking the tabbed pane area.
905
906         * inspector/front-end/TabbedPane.js:
907         (WebInspector.TabbedPane.prototype._innerCloseTab):
908         (WebInspector.TabbedPane.prototype._showTabElement):
909         (WebInspector.TabbedPane.prototype._hideTabElement):
910         (WebInspector.TabbedPane.prototype._updateTabsDropDown):
911         (WebInspector.TabbedPane.prototype.elementsToRestoreScrollPositionsFor):
912         (WebInspector.TabbedPane.prototype._insertBefore):
913         (WebInspector.TabbedPaneTab):
914         (WebInspector.TabbedPaneTab.prototype._createTabElement):
915         (WebInspector.TabbedPaneTab.prototype._tabDragging):
916
917 2012-05-14  Vsevolod Vlasov  <vsevik@chromium.org>
918
919         Web Inspector: Request / response headers should be stored in name-value pairs array, not a map on front-end.
920         https://bugs.webkit.org/show_bug.cgi?id=86357
921
922         Reviewed by Pavel Feldman.
923
924         Storing headers as name-value pairs array information more accurate and allows
925         to treat Set-Cookie headers (which become not parseable when joined by comma) correctly.
926
927         * inspector/front-end/AuditRules.js:
928         (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
929         (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
930         (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
931         (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
932         * inspector/front-end/HAREntry.js:
933         (WebInspector.HAREntry.prototype._buildRequest):
934         (WebInspector.HAREntry.prototype._buildResponse):
935         * inspector/front-end/NetworkManager.js:
936         (WebInspector.NetworkDispatcher.prototype._headersMapToHeadersArray):
937         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithRequest):
938         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
939         (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
940         (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
941         * inspector/front-end/NetworkRequest.js:
942         (WebInspector.NetworkRequest.prototype.get transferSize):
943         (WebInspector.NetworkRequest.prototype.get requestHeaders):
944         (WebInspector.NetworkRequest.prototype.get requestHeadersText):
945         (WebInspector.NetworkRequest.prototype.get responseHeaders):
946         (WebInspector.NetworkRequest.prototype.get responseHeadersText):
947         (WebInspector.NetworkRequest.prototype._headerValue):
948         * inspector/front-end/RequestHeadersView.js:
949         (WebInspector.RequestHeadersView.prototype._refreshRequestHeaders):
950         (WebInspector.RequestHeadersView.prototype._refreshResponseHeaders):
951         (WebInspector.RequestHeadersView.prototype._refreshHeaders):
952         * platform/chromium/support/WebHTTPLoadInfo.cpp:
953         (WebKit::addHeader):
954
955 2012-05-14  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
956
957         [Gtk][DOM Bindings] Feature-protected interface usage in set/get property must be under condition guards
958         https://bugs.webkit.org/show_bug.cgi?id=86060
959
960         Reviewed by Martin Robinson.
961
962         Property set/get functions generated was referencing WebCore::interface without any condition guard.
963         This issue was triggered usually when an interface gets disabled; For instance; --disable-video, disables WebCore::HTMLMediaElement.
964         Also updated the GObject binding reference tests
965
966         No new tests - covered by existing bindings tests
967
968         * bindings/scripts/CodeGeneratorGObject.pm:
969         (GenerateProperties):
970         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
971         (webkit_dom_test_active_dom_object_get_property):
972         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
973         (webkit_dom_test_event_constructor_get_property):
974         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
975         (webkit_dom_test_exception_get_property):
976         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
977         (webkit_dom_test_interface_set_property):
978         (webkit_dom_test_interface_get_property):
979         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
980         (webkit_dom_test_obj_set_property):
981         (webkit_dom_test_obj_get_property):
982         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
983         (webkit_dom_test_serialized_script_value_interface_get_property):
984
985 2012-05-14  Alexander Pavlov  <apavlov@chromium.org>
986
987         Web Inspector: [Styles] css properties copied into clipboard contain extra line breaks before color values
988         https://bugs.webkit.org/show_bug.cgi?id=86372
989
990         Reviewed by Vsevolod Vlasov.
991
992         The "display: block" property found in the ".swatch-inner" CSS class was causing the issue
993         (an additional \n was rendered in the plain text value).
994
995         * inspector/front-end/inspector.css:
996         (.swatch-inner):
997
998 2012-05-14  Pavel Feldman  <pfeldman@chromium.org>
999
1000         [Qt] REGRESSION (r116789): inspector/debugger/script-formatter-console.html fails
1001         https://bugs.webkit.org/show_bug.cgi?id=86336
1002
1003         Reviewed by Yury Semikhatsky.
1004
1005         * inspector/front-end/ConsoleMessage.js:
1006         (WebInspector.ConsoleMessageImpl.prototype.location):
1007
1008 2012-05-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1009
1010         TiledBackingStore: Prevent partial tile updates when they intersect the keep rect.
1011         https://bugs.webkit.org/show_bug.cgi?id=85488
1012
1013         Reviewed by Kenneth Rohde Christiansen.
1014
1015         Right now an invalidate can cause problems for tiles on the boundary of the keep
1016         rect. Intersecting the dirty rect causes only part of the tile to be updated,
1017         and the glitch becomes visible if the user scrolls this tile back into the viewport.
1018
1019         * platform/graphics/TiledBackingStore.cpp:
1020         (WebCore::TiledBackingStore::invalidate):
1021
1022 2012-05-14  Alexander Pavlov  <apavlov@chromium.org>
1023
1024         Web Inspector: Esc should revert the colorpicker-modifed color to the original
1025         https://bugs.webkit.org/show_bug.cgi?id=86349
1026
1027         Reviewed by Vsevolod Vlasov.
1028
1029         A boolean parameter has been added to the Spectrum's hide() method to denote the picker cancellation,
1030         which gets passed into the "Hidden" event listeners. StylesSidebarPane is made to remember the original property value
1031         when the picker is opened, and restore it if the color picker is cancelled.
1032
1033         * inspector/front-end/Spectrum.js:
1034         (WebInspector.Spectrum):
1035         (WebInspector.Spectrum.prototype.toggle):
1036         (WebInspector.Spectrum.prototype.show):
1037         (WebInspector.Spectrum.prototype.hide):
1038         (WebInspector.Spectrum.prototype._onKeyDown):
1039         * inspector/front-end/StylesSidebarPane.js:
1040         (WebInspector.StylesSidebarPane.prototype.update):
1041         (WebInspector.StylesSidebarPane.prototype.willHide):
1042         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1043
1044 2012-05-14  Zeno Albisser  <zeno@webkit.org>
1045
1046         [Qt] TextureMapperGL::drawTexture marked OVERRIDE but does not override any member function.
1047         https://bugs.webkit.org/show_bug.cgi?id=86347
1048
1049         This bug was introduced by r116834.
1050         TextureMapperGL implements two drawTexture functions.
1051         The first one takes a BitmapTexture as an argument and does override TextureMapper::drawTexture().
1052         The second one takes a texture id as an argument and does not override any member function.
1053
1054         * platform/graphics/texmap/TextureMapperGL.h:
1055
1056 2012-05-12  Pavel Feldman  <pfeldman@chromium.org>
1057
1058         Web Inspector: implement tabs reordering via drag'n'drop.
1059         https://bugs.webkit.org/show_bug.cgi?id=86294
1060
1061         Reviewed by Yury Semikhatsky.
1062
1063         * inspector/front-end/TabbedPane.js:
1064         (WebInspector.TabbedPaneTab.prototype._createTabElement):
1065         (WebInspector.TabbedPaneTab.prototype._tabClicked):
1066         (WebInspector.TabbedPaneTab.prototype._tabMouseDown):
1067         (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
1068         (WebInspector.TabbedPaneTab.prototype._tabMouseMove):
1069         (WebInspector.TabbedPaneTab.prototype._tabDragging):
1070         (WebInspector.TabbedPaneTab.prototype._endTabDragging):
1071
1072 2012-05-14  MORITA Hajime  <morrita@google.com>
1073
1074         Should have Node::inDetach() for assertion purposes.
1075         https://bugs.webkit.org/show_bug.cgi?id=86157
1076
1077         Reviewed by Darin Adler.
1078
1079         Implemented Node::inDetach() and added an assertio in Document::setFocusedNode().
1080         This is a follow up of r116644 which removes inDetach() checking.
1081
1082         No new tests. Just adding an asssertion.
1083
1084         * dom/Document.cpp:
1085         (WebCore::Document::setFocusedNode):
1086         * dom/Node.cpp:
1087         (WebCore):
1088         (WebCore::Node::inDetach):
1089         (WebCore::Node::detach):
1090         * dom/Node.h:
1091         (Node):
1092
1093 2012-05-13  Noel Gordon  <noel.gordon@gmail.com>
1094
1095         [chromium] Remove platform/image-decoders/xbm from WebCore.gyp
1096         https://bugs.webkit.org/show_bug.cgi?id=86333
1097
1098         Reviewed by Adam Barth.
1099
1100         No new tests. No change in behavior.
1101
1102         * WebCore.gyp/WebCore.gyp: Remove reference to platform/image-decoders/xbm
1103         since that directory was removed from the repository long ago.
1104
1105 2012-05-13  Darin Adler  <darin@apple.com>
1106
1107         [CG] Unneeded CFRetain/Release of CGImageRef in BitmapImage::draw
1108         https://bugs.webkit.org/show_bug.cgi?id=86332
1109
1110         Reviewed by Dan Bernstein.
1111
1112         * platform/graphics/cg/ImageCG.cpp:
1113         (WebCore::BitmapImage::draw): Don't use RetainPtr since the result of
1114         the function is used before anything could call CFRelease on it.
1115
1116 2012-05-13  Darin Adler  <darin@apple.com>
1117
1118         Listeners map uses raw pointers, but should use OwnPtr
1119         https://bugs.webkit.org/show_bug.cgi?id=86298
1120
1121         Reviewed by Dan Bernstein.
1122
1123         * bindings/js/PageScriptDebugServer.cpp:
1124         (WebCore::PageScriptDebugServer::~PageScriptDebugServer): Removed call
1125         to deleteAllValues since the destructor now takes care of this
1126         (WebCore::PageScriptDebugServer::addListener): Changed idiom of the add
1127         function call here to use adoptPtr.
1128         (WebCore::PageScriptDebugServer::removeListener): Added a now-needed
1129         call to get and removed a now-uneeeded call to delete.
1130         * bindings/js/PageScriptDebugServer.h: Changed the key type of
1131         PageListenersMap to OwnPtr.
1132
1133         * bindings/js/ScriptDebugServer.cpp:
1134         (WebCore::ScriptDebugServer::~ScriptDebugServer): Removed code to delete
1135         the values in m_pageListenersMap. This map was never used and so I have
1136         removed it.
1137         * bindings/js/ScriptDebugServer.h: Removed the type PageListenersMap
1138         and the unused data member, m_pageListenersMap.
1139
1140 2012-05-13  Yoshifumi Inoue  <yosin@chromium.org>
1141
1142         [Forms] Move ValidityState methods implementation to another place
1143         https://bugs.webkit.org/show_bug.cgi?id=86058
1144
1145         Reviewed by Kent Tamura.
1146
1147         This patch changes ValidityState class for limiting scope of
1148         number/range input type related methods for introducing decimal
1149         arithmetic.
1150
1151         Methods related to validation are moved from ValidateState to
1152         input, select and textarea elements with virtual method based
1153         dispatching via FormAssociateElement instead of tag name
1154         dispatching so far for code simplification.
1155
1156         No new tests. This patch doesn't change behavior.
1157
1158         * html/FormAssociatedElement.cpp:
1159         (WebCore::FormAssociatedElement::customError): Added. Called from ValidateState. Returns custom error mssage in member variable.
1160         (WebCore::FormAssociatedElement::patternMismatch): Added.  Called from ValidateState. This is default implementation.
1161         (WebCore::FormAssociatedElement::rangeOverflow): Added.  Called from ValidateState. This is default implementation.
1162         (WebCore::FormAssociatedElement::rangeUnderflow): Added.  Called from ValidateState. This is default implementation.
1163         (WebCore::FormAssociatedElement::stepMismatch): Added.  Called from ValidateState. This is default implementation.
1164         (WebCore::FormAssociatedElement::tooLong): Added.  Called from ValidateState. This is default implementation.
1165         (WebCore::FormAssociatedElement::typeMismatch): Added.  Called from ValidateState. This is default implementation.
1166         (WebCore::FormAssociatedElement::valid): Added.  Called from ValidateState. This is default implementation.
1167         (WebCore::FormAssociatedElement::valueMissing): Added.  Called from ValidateState. This is default implementation.
1168         (WebCore::FormAssociatedElement::customValidationMessage): Added.  Called from ValidateState. This is default implementation.
1169         (WebCore::FormAssociatedElement::validationMessage): Added.  Called from ValidateState. This is default implementation.
1170         (WebCore::FormAssociatedElement::setCustomValidity): Added.  set custom error message.
1171         * html/FormAssociatedElement.h:
1172         (FormAssociatedElement): Added new instance value m_customValidationMessage.
1173         * html/HTMLFormControlElement.cpp:
1174         (WebCore::HTMLFormControlElement::validationMessage): Removed. Note: HTMLInputElement, HTMLSelectElement, and HTMLTextAreaElement implement this method.
1175         (WebCore::HTMLFormControlElement::setCustomValidity): Changed. Calls base class setCustomValidity.
1176         * html/HTMLFormControlElement.h:
1177         (HTMLFormControlElement):
1178         * html/HTMLInputElement.cpp:
1179         (WebCore::HTMLInputElement::isValidValue): Call m_inputType methods instead of HTMLInputElement's.
1180         (WebCore::HTMLInputElement::tooLong): Call m_inputType methods instead of HTMLInputElement's.
1181         (WebCore):
1182         (WebCore::HTMLInputElement::typeMismatch): Move implementation to InputType.
1183         (WebCore::HTMLInputElement::valueMissing):  Move implementation to InputType.
1184         (WebCore::HTMLInputElement::patternMismatch): Move implementation to InputType.
1185         (WebCore::HTMLInputElement::rangeUnderflow): Move implementation to InputType.
1186         (WebCore::HTMLInputElement::rangeOverflow): Move implementation to InputType.
1187         (WebCore::HTMLInputElement::validationMessage): Move implementation to InputType.
1188         (WebCore::HTMLInputElement::stepMismatch): Move implementation to InputType.
1189         (WebCore::HTMLInputElement::isInRange): Call m_inputType methods instead of HTMLInputElement's.
1190         (WebCore::HTMLInputElement::isOutOfRange): Call m_inputType methods instead of HTMLInputElement's.
1191         * html/HTMLInputElement.h:
1192         (HTMLInputElement): Make tooLong method private.
1193         * html/HTMLObjectElement.h: Add "virtual" and "OVERRIDE".
1194         * html/HTMLSelectElement.cpp:
1195         (WebCore::HTMLSelectElement::validationMessage): Added. Implementation for HTMLSelectElement.
1196         (WebCore::HTMLSelectElement::valueMissing): Added. Implementation for HTMLSelectElement.
1197         * html/HTMLSelectElement.h:
1198         (HTMLSelectElement):  Added entries for newly added methods.
1199         * html/HTMLTextAreaElement.cpp:
1200         (WebCore::HTMLTextAreaElement::validationMessage): Added. Implementation for HTMLTextAreaElement.
1201         (WebCore::HTMLTextAreaElement::valueMissing): Added. Implementation for HTMLTextAreaElement.
1202         (WebCore::HTMLTextAreaElement::tooLong): Added. Implementation for HTMLTextAreaElement.
1203         * html/HTMLTextAreaElement.h:
1204         (HTMLTextAreaElement): Added entries for newly added methods. Change tooLong and valueMissing private.
1205         * html/InputType.cpp:
1206         (WebCore::InputType::stepMismatch): Change method signature.
1207         (WebCore::InputType::alignValueForStep):  Changed for calling InputClass instead of HTMLINputElement.
1208         (WebCore::InputType::stepUpFromRenderer):  Added. Moved from HTMLInputElement.
1209         (WebCore::InputType::validationMessage): Added.  Moved from HTMLInputElement.
1210         * html/InputType.h:
1211         (InputType): Added entries for newly added methods and update methods signature.
1212         * html/ValidityState.cpp: Move actual implementation to FormAssociatedElement and derived classes for localizing implementation change of elements and input types.
1213         (WebCore::ValidityState::validationMessage): Changed to call FormAssociatedElement's method.
1214         (WebCore::ValidityState::valueMissing): Changed to call FormAssociatedElement's method.
1215         (WebCore::ValidityState::typeMismatch): Changed to call FormAssociatedElement's method.
1216         (WebCore::ValidityState::patternMismatch): Changed to call FormAssociatedElement's method.
1217         (WebCore::ValidityState::tooLong): Changed to call FormAssociatedElement's method.
1218         (WebCore::ValidityState::rangeUnderflow): Changed to call FormAssociatedElement's method.
1219         (WebCore::ValidityState::rangeOverflow): Changed to call FormAssociatedElement's method.
1220         (WebCore::ValidityState::stepMismatch): Changed to call FormAssociatedElement's method.
1221         (WebCore::ValidityState::customError): Changed to call FormAssociatedElement's method.
1222         (WebCore::ValidityState::valid):
1223         * html/ValidityState.h:
1224         (ValidityState): Remove custom validation message related things.
1225
1226 2012-05-13  Mike Lawther  <mikelawther@chromium.org>
1227
1228         Heap-use-after-free in WTF::HashMap<int, WTF::RefPtr<WebCore::CalculationValue>, WTF::IntHash<unsigned int>, WTF::HashTrait
1229         https://bugs.webkit.org/show_bug.cgi?id=85195
1230
1231         This bug was caused by Length not understanding that calc expressions shouldn't be 
1232         blended - a Length with a calc expression handle was created without incrementing
1233         the ref count of the expression. Length no longer attempts to blend calc expressions,
1234         http://webkit.org/b/86160 has been filed to track expression blending. Fixing this fixed
1235         the crash.
1236
1237         Once this was fixed, the RenderStyle diff checker thought the style was changing,
1238         as Length didn't know how to compare calc expressions, resulting in an infinite
1239         loop of style recalcs. Expressions can now compare themselves.
1240
1241         Reviewed by Darin Adler.
1242
1243         Tests: css3/calc/transition-crash.html
1244                css3/calc/transition-crash2.html
1245
1246         * platform/CalculationValue.h:
1247         (WebCore::CalcExpressionNode::CalcExpressionNode):
1248         (CalcExpressionNode):
1249         (WebCore::CalcExpressionNode::type):
1250         (CalculationValue):
1251         (WebCore::CalculationValue::operator==):
1252         (WebCore::CalcExpressionNumber::CalcExpressionNumber):
1253         (WebCore::CalcExpressionNumber::operator==):
1254         (CalcExpressionNumber):
1255         (WebCore::CalcExpressionLength::CalcExpressionLength):
1256         (WebCore::CalcExpressionLength::operator==):
1257         (CalcExpressionLength):
1258         (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
1259         (WebCore::CalcExpressionBinaryOperation::operator==):
1260         (CalcExpressionBinaryOperation):
1261         * platform/Length.cpp:
1262         (WebCore::Length::isCalculatedEqual):
1263         (WebCore):
1264         * platform/Length.h:
1265         (WebCore::Length::operator==):
1266         (Length):
1267         (WebCore::Length::blend):
1268
1269 2012-05-13  Darin Adler  <darin@apple.com>
1270
1271         Roll out local changes accidentally landed in r116905.
1272
1273         * platform/graphics/GraphicsContext.h:
1274         * platform/graphics/cg/GraphicsContextCG.cpp:
1275         * platform/graphics/cg/ImageCG.cpp:
1276
1277 2012-05-13  Rob Buis  <rbuis@rim.com>
1278
1279         Use emptyString instead of String("")
1280         https://bugs.webkit.org/show_bug.cgi?id=86305
1281
1282         Reviewed by Darin Adler.
1283
1284         Use emptyString() instead of String("") because it is better style and faster.
1285
1286         No new tests. No change in behavior.
1287
1288         * Modules/webdatabase/AbstractDatabase.cpp:
1289         (WebCore::AbstractDatabase::performOpenAndVerify):
1290         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1291         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
1292         (WebCore::ThreadableWebSocketChannelClientWrapper::extensions):
1293         * html/HTMLInputElement.cpp:
1294         (WebCore::HTMLInputElement::setValueFromRenderer):
1295         * platform/SharedBufferChunkReader.cpp:
1296         (WebCore::SharedBufferChunkReader::nextChunkAsUTF8StringWithLatin1Fallback):
1297         * platform/network/curl/ResourceHandleManager.cpp:
1298         (WebCore::ResourceHandleManager::setProxyInfo):
1299         * platform/text/LocaleICU.cpp:
1300         (WebCore::LocaleICU::initializeLocalizedDateFormatText):
1301         * rendering/RenderQuote.cpp:
1302         (WebCore::RenderQuote::originalText):
1303         * storage/StorageNamespaceImpl.cpp:
1304         (WebCore::StorageNamespaceImpl::localStorageNamespace):
1305         * svg/SVGStringList.cpp:
1306         (WebCore::SVGStringList::reset):
1307
1308 2012-05-13  Darin Adler  <darin@apple.com>
1309
1310         Image::initPlatformData is always an empty function so we can remove it
1311         https://bugs.webkit.org/show_bug.cgi?id=86297
1312
1313         Reviewed by Dan Bernstein.
1314
1315         * platform/graphics/BitmapImage.h: Removed declaration of initPlatformData.
1316
1317         * platform/graphics/BitmapImage.cpp:
1318         (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
1319         * platform/graphics/cairo/BitmapImageCairo.cpp:
1320         (WebCore::BitmapImage::BitmapImage): Ditto.
1321         * platform/graphics/cg/ImageCG.cpp:
1322         (WebCore::BitmapImage::BitmapImage): Ditto.
1323         * platform/graphics/chromium/ImageChromiumMac.mm: Removed empty
1324         initPlatformData function.
1325         * platform/graphics/efl/ImageEfl.cpp: Ditto.
1326         * platform/graphics/gtk/ImageGtk.cpp:
1327         * platform/graphics/mac/ImageMac.mm:
1328         * platform/graphics/openvg/ImageOpenVG.cpp:
1329         (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
1330         Removed empty initPlatformData function.
1331         * platform/graphics/qt/ImageQt.cpp:
1332         (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
1333         Removed empty initPlatformData function.
1334         * platform/graphics/skia/ImageSkia.cpp: Removed empty initPlatformData function.
1335         * platform/graphics/win/ImageWin.cpp: Ditto.
1336         * platform/graphics/wx/ImageWx.cpp: Ditto.
1337         (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
1338
1339 2012-05-13  Darin Adler  <darin@apple.com>
1340
1341         RenderView::selectionBounds and RenderView::setSelection use maps with raw pointers that should be OwnPtr
1342         https://bugs.webkit.org/show_bug.cgi?id=86300
1343
1344         Reviewed by Eric Seidel.
1345
1346         * rendering/RenderView.cpp:
1347         (WebCore::RenderView::selectionBounds): Changed SelectionMap type to use OwnPtr.
1348         Added code to do adoptPtr as needed and removed explicit delete code.
1349         (WebCore::RenderView::setSelection): Changed SelectedBlockMap type to use OwnPtr.
1350         Added code to do adoptPtr as needed and removed explicit delete code.
1351
1352 2012-05-13  Darin Adler  <darin@apple.com>
1353
1354         FractionalLayoutUnit class has unneeded redundant uses of "inline" keyword
1355         https://bugs.webkit.org/show_bug.cgi?id=86301
1356
1357         Reviewed by Andreas Kling.
1358
1359         * platform/FractionalLayoutUnit.h: Removed uses of inline for functions
1360         defined inside a class definition. The C++ language defines that all such
1361         functions are treated as if specified with inline, and explicitly stating
1362         inline in addition does not add anything or change behavior.
1363
1364 2012-05-13  Darin Adler  <darin@apple.com>
1365
1366         Dangling node to ID maps vector uses raw pointers, but should use OwnPtr
1367         https://bugs.webkit.org/show_bug.cgi?id=86299
1368
1369         Reviewed by Pavel Feldman.
1370
1371         * inspector/InspectorDOMAgent.cpp:
1372         (WebCore::InspectorDOMAgent::releaseDanglingNodes): Removed now-unneeded call
1373         to deleteAllValues since the clear function now takes care of that.
1374         (WebCore::InspectorDOMAgent::pushNodePathToFrontend): Added code that uses
1375         adoptPtr and release as neeed to deal with a Vector<OwnPtr>.
1376         * inspector/InspectorDOMAgent.h: Changed m_danglingNodeToIdMaps to be
1377         Vector<OwnPtr> instead of a vector of raw pointers.
1378
1379 2012-05-13  Victor Carbune  <vcarbune@adobe.com>
1380
1381         Volume slider needs to be displayed below the mute button
1382         https://bugs.webkit.org/show_bug.cgi?id=85990
1383
1384         Reviewed by Dimitri Glazkov.
1385
1386         Added back code for rendering offset, but used only when the volume slider
1387         needs to be displayed below the controls.
1388
1389         Test: media/media-volume-slider-rendered-below.html
1390
1391         * css/mediaControlsChromium.css:
1392         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1393         Changed positioning of the slider to absolute, otherwise it is not possible to position it from the layout() method.
1394         * css/mediaControlsQuickTime.css:
1395         Added back the double mute-button and changed the z-index of the original button. When the slider is displayed
1396         the second mute button is actually there.
1397         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1398         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1399         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
1400         Added copy.
1401         * html/shadow/MediaControlElements.cpp:
1402         (WebCore::MediaControlPanelElement::makeTransparent): Disabled the possible of hiding controls. WebVTT rendering
1403         in the place of controls when these are visible is not possible with the current code.
1404         (RenderMediaVolumeSliderContainer):
1405         (WebCore):
1406         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
1407         (WebCore::RenderMediaVolumeSliderContainer::layout):
1408         Checked if the absolute coordinates of the corner of the slider would be rendered outside the page. This part of the
1409         code is faulty if display:none is toggled on the controls.
1410         (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
1411         * html/shadow/MediaControlElements.h:
1412         (MediaControlVolumeSliderContainerElement):
1413         * html/shadow/MediaControlRootElement.cpp:
1414         (WebCore::MediaControlRootElement::create):
1415
1416 2012-05-13  Igor Oliveira  <igor.o@sisa.samsung.com>
1417
1418         [Texmap] TextureMapperAnimations does not support keyframe with multiple animations
1419         https://bugs.webkit.org/show_bug.cgi?id=86303
1420
1421         Qt and GTK, in WebKit1, use TextureMapper to store AC animations using
1422         TextureMapperAnimations::add(keyframeName, TextureMapperAnimation). And when a 
1423         CSS animation animates several CSS properties, TextureMapperAnimations::add is
1424         called more than once with the same keyframeName value. However, currently,
1425         TextureMapperAnimations can not store more than one animated property in the keyframe
1426         because it is using HashMap<String, TextureMapperAnimation>, and WebKit HashMap 
1427         does not support add the same key twice.
1428
1429         Reviewed by Noam Rosenthal.
1430
1431         * platform/graphics/texmap/TextureMapperAnimation.cpp:
1432         (WebCore::TextureMapperAnimations::hasActiveAnimationsOfType):
1433         (WebCore::TextureMapperAnimations::hasRunningAnimations):
1434         (WebCore::TextureMapperAnimations::add):
1435         (WebCore):
1436         (WebCore::TextureMapperAnimations::pause):
1437         (WebCore::TextureMapperAnimations::apply):
1438         * platform/graphics/texmap/TextureMapperAnimation.h:
1439         (TextureMapperAnimations): Use HashMap<String, Vector<TextureMapperAnimation> >,
1440         so we can support an keyframe with multiple animations.
1441
1442 2012-05-12  Abhishek Arya  <inferno@chromium.org>
1443
1444         Crash in HTMLSelectElement::setOption
1445         https://bugs.webkit.org/show_bug.cgi?id=85420
1446
1447         Reviewed by Eric Seidel
1448         
1449         RefPtr before option in HTMLSelectElement::setOption since it
1450         can get destroyed due to mutation events.
1451
1452         Test: fast/dom/HTMLSelectElement/option-add-crash.html
1453
1454         * html/HTMLSelectElement.cpp:
1455         (WebCore::HTMLSelectElement::setOption):
1456
1457 2012-05-12  Robin Dunn  <robin@alldunn.com>
1458
1459         [wx] Restore text paste implementation.
1460         https://bugs.webkit.org/show_bug.cgi?id=86311
1461
1462         Reviewed by Kevin Ollivier.
1463
1464         * platform/wx/PasteboardWx.cpp:
1465         (WebCore::Pasteboard::plainText):
1466
1467 2012-05-12  Philip Rogers  <pdr@google.com>
1468
1469         Cleanup before changing attributeName in SVG <animate>
1470         https://bugs.webkit.org/show_bug.cgi?id=86100
1471
1472         Reviewed by Nikolas Zimmermann.
1473
1474         Changing attributeName caused a crash because references were not removed from the old target.
1475         This change simply cleans up before changing attributeName in SVG animation elements.
1476
1477         Test: svg/animations/dynamic-modify-attributename-crash.svg
1478
1479         * svg/animation/SVGSMILElement.cpp:
1480         (WebCore::SVGSMILElement::svgAttributeChanged):
1481
1482 2012-05-12  Max Feil  <mfeil@rim.com>
1483
1484         [BlackBerry] Allow the platform media player to determine the media element's paused/playing status
1485         https://bugs.webkit.org/show_bug.cgi?id=86235
1486
1487         Reviewed by George Staikos.
1488
1489         The platform media player needs to know when the HTMLMediaElement
1490         is not paused. This is to address problems when switching
1491         source element, which causes the destruction of the old
1492         MediaPlayerPrivate object and construction of a new one. The
1493         new one must resume playing ASAP if the old one was playing.
1494
1495         Test: media/media-continues-playing-after-replace-source.html
1496
1497         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1498         (WebCore::MediaPlayerPrivate::isElementPaused):
1499         (WebCore):
1500         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1501         (MediaPlayerPrivate):
1502
1503 2012-05-12  Yury Semikhatsky  <yurys@chromium.org>
1504
1505         Web Inspector: heap profiler should allow revealing an element which is logged to the console
1506         https://bugs.webkit.org/show_bug.cgi?id=86204
1507
1508         Reviewed by Pavel Feldman.
1509
1510         JS objects in the console have context menu item that allows to reveal them in a heap snapshot view.
1511
1512         * English.lproj/localizedStrings.js:
1513         * inspector/front-end/ConsoleMessage.js:
1514         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
1515         * inspector/front-end/ContextMenu.js:
1516         (WebInspector.ContextMenu.prototype.isEmpty):
1517         * inspector/front-end/DataGrid.js:
1518         (WebInspector.DataGridNode.prototype._detach):
1519         (WebInspector.DataGridNode.prototype.wasDetached):
1520         * inspector/front-end/HeapSnapshot.js:
1521         (WebInspector.HeapSnapshot.prototype.nodeClassName):
1522         (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
1523         * inspector/front-end/HeapSnapshotDataGrids.js:
1524         (WebInspector.HeapSnapshotSortableDataGrid):
1525         (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightObjectByHeapSnapshotId):
1526         (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightNode):
1527         (WebInspector.HeapSnapshotSortableDataGrid.prototype.nodeWasDetached):
1528         (WebInspector.HeapSnapshotSortableDataGrid.prototype._clearCurrentHighlight):
1529         (WebInspector.HeapSnapshotViewportDataGrid):
1530         (WebInspector.HeapSnapshotViewportDataGrid.prototype.highlightNode):
1531         (WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
1532         (WebInspector.HeapSnapshotConstructorsDataGrid):
1533         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.highlightObjectByHeapSnapshotId.didGetClassName):
1534         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
1535         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
1536         * inspector/front-end/HeapSnapshotGridNodes.js:
1537         (WebInspector.HeapSnapshotGridNode.prototype.wasDetached):
1538         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
1539         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didPopulateChildren):
1540         * inspector/front-end/HeapSnapshotProxy.js:
1541         (WebInspector.HeapSnapshotProxy.prototype.nodeClassName):
1542         (WebInspector.HeapSnapshotProviderProxy.prototype.nodePosition):
1543         * inspector/front-end/ObjectPropertiesSection.js:
1544         (WebInspector.ObjectPropertiesSection.ContextMenuProvider):
1545         (WebInspector.ObjectPropertiesSection.ContextMenuProvider.prototype.populateContextMenu):
1546         (WebInspector.ObjectPropertiesSection.addContextMenuProvider):
1547         (WebInspector.ObjectPropertiesSection.prototype.enableContextMenu):
1548         (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired):
1549         * inspector/front-end/ProfilesPanel.js:
1550         (WebInspector.ProfilesPanel.prototype.showObject):
1551         (WebInspector.RevealInHeapSnapshotContextMenuProvider):
1552         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.revealInSummaryView):
1553         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
1554         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
1555         * inspector/front-end/profilesPanel.css:
1556         (.highlighted-row):
1557         (@-webkit-keyframes row_highlight):
1558         (to):
1559
1560 2012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>
1561
1562         Web Inspector: move recording button state control out of addProfileHeader.
1563         https://bugs.webkit.org/show_bug.cgi?id=86293
1564
1565         Reviewed by Yury Semikhatsky.
1566
1567         * inspector/front-end/CSSSelectorProfileView.js:
1568         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
1569         * inspector/front-end/HeapSnapshotView.js:
1570         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
1571         * inspector/front-end/ProfileView.js:
1572         (WebInspector.CPUProfileType.prototype.buttonClicked):
1573         * inspector/front-end/ProfilesPanel.js:
1574         (WebInspector.ProfileType.prototype.buttonClicked):
1575         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
1576         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1577         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
1578         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot.done):
1579         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1580
1581 2012-05-12  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1582
1583         Web Inspector: Turn HelpScreen to be View.
1584         https://bugs.webkit.org/show_bug.cgi?id=85711
1585
1586         Reviewed by Yury Semikhatsky.
1587
1588         Motivation: for further UI changes, HelpSceen needs to be View.
1589         It is planned to combine Settings Screen and Shortcuts Screen in one
1590         tabbed screen.
1591         Bonus: "helpScreen.css" will be lazy-loaded.
1592         Additional changes: move settingsScreen logic out of inspector.js
1593
1594         UI change, no test required.
1595
1596         * WebCore.gypi: Change "helpScreen.css" file group.
1597         * inspector/front-end/HelpScreen.js: 
1598         (WebInspector.HelpScreen): Turned to View subclass.
1599         (WebInspector.HelpScreen.prototype.showModal): Remove "onHide" param
1600         (WebInspector.HelpScreen.prototype.hide): Ditto.
1601         (WebInspector.HelpScreen.prototype._onKeyDown): Adopt View members.
1602         (WebInspector.HelpScreen.prototype._onBlur): Ditto.
1603         * inspector/front-end/SettingsScreen.js: Adopt new workflow.
1604         (WebInspector.SettingsScreen): Put onHide function to member
1605         (WebInspector.SettingsScreen.prototype.willHide): Invoke onHide
1606         (WebInspector.SettingsController): Mediator pattern - this class
1607         takes care of status bar button - settings screen relationship.
1608         (WebInspector.SettingsController.prototype.get statusBarItem):
1609         Getter fot representative element.
1610         (WebInspector.SettingsController.prototype._buttonClicked):
1611         Classifies user action.
1612         (WebInspector.SettingsController.prototype._onHideSettingsScreen):
1613         Cleanup after settings screen is hidden.
1614         (WebInspector.SettingsController.prototype._showSettingsScreen):
1615         Presents settings screen.
1616         (WebInspector.SettingsController.prototype._hideSettingsScreen):
1617         Hides settings screen.
1618         * inspector/front-end/ShortcutsScreen.js: Adopt new workflow.
1619         (WebInspector.ShortcutsScreen.prototype.wasShown): Lazy initialization.
1620         * inspector/front-end/WorkerManager.js: Adopt new workflow.
1621         (WebInspector.WorkerManager.prototype._disconnectedFromWorker): Ditto.
1622         (WebInspector.WorkerTerminatedScreen.prototype.willHide): Ditto.
1623         * inspector/front-end/helpScreen.css: Fix spacing.
1624         (.help-window-outer): Ditto.
1625         (body.compact .help-window-outer): Ditto.
1626         (body.compact .help-window-main): Ditto.
1627         (body.compact .help-window-caption): Ditto.
1628         (.help-content): Ditto.
1629         (body.compact .help-content): Ditto.
1630         (.help-content select): Ditto.
1631         * inspector/front-end/inspector.html: Ditto.
1632         * inspector/front-end/inspector.js: Ditto.
1633         (WebInspector._createGlobalStatusBarItems): Create SettingsController.
1634         (WebInspector.documentKeyDown): Adopt new workflow.
1635
1636 2012-05-12  Pavel Feldman  <pfeldman@chromium.org>
1637
1638         Web Inspector: add tab context menu
1639         https://bugs.webkit.org/show_bug.cgi?id=86292
1640
1641         Reviewed by Yury Semikhatsky.
1642
1643         This tab context menu will have "Close", "Close Others" and "Close All".
1644
1645         * English.lproj/localizedStrings.js:
1646         * inspector/front-end/TabbedPane.js:
1647         (WebInspector.TabbedPane.prototype.closeOtherTabs):
1648         (WebInspector.TabbedPaneTab.prototype._createTabElement):
1649         (WebInspector.TabbedPaneTab.prototype._tabClicked):
1650         (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
1651         (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeOthers):
1652         (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeAll):
1653
1654 2012-05-12  Pavel Feldman  <pfeldman@chromium.org>
1655
1656         Web Inspector: make call frame selector pane focusable, allow Up / Down to select current call frame.
1657         https://bugs.webkit.org/show_bug.cgi?id=86291
1658
1659         Reviewed by Yury Semikhatsky.
1660
1661         This change makes sidebar section focusable, introduces key listeners for Up and Down.
1662
1663         * inspector/front-end/CallStackSidebarPane.js:
1664         (WebInspector.CallStackSidebarPane):
1665         (WebInspector.CallStackSidebarPane.prototype.setStatus):
1666         (WebInspector.CallStackSidebarPane.prototype._treeKeyDown):
1667         * inspector/front-end/UISourceCode.js:
1668         * inspector/front-end/scriptsPanel.css:
1669         (#scripts-debug-toolbar img):
1670
1671 2012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>
1672
1673         Web Inspector: unreviewed one line fix.
1674
1675         * inspector/front-end/HeapSnapshotProxy.js:
1676         (WebInspector.HeapSnapshotWorker):
1677
1678 2012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>
1679
1680         Web Inspector: Load context menu item has to be shown for all Profiles panel.
1681         https://bugs.webkit.org/show_bug.cgi?id=86290
1682
1683         Reviewed by Pavel Feldman.
1684
1685         * inspector/front-end/ProfilesPanel.js:
1686         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
1687
1688 2012-05-12  Pavel Feldman  <pfeldman@chromium.org>
1689
1690         Web Inspector: shrink SourceFrame editing API to two methods (was 4).
1691         https://bugs.webkit.org/show_bug.cgi?id=86288
1692
1693         Reviewed by Yury Semikhatsky.
1694
1695         Used specific workflow in two SourceFrame implementations.
1696
1697         * inspector/front-end/JavaScriptSourceFrame.js:
1698         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
1699         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
1700         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
1701         * inspector/front-end/ResourceView.js:
1702         (WebInspector.EditableResourceSourceFrame.prototype.commitEditing.callbackWrapper):
1703         (WebInspector.EditableResourceSourceFrame.prototype.commitEditing):
1704         * inspector/front-end/SourceFrame.js:
1705         (WebInspector.SourceFrame.prototype.commitEditing):
1706         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
1707
1708 2012-05-11  Yury Semikhatsky  <yurys@chromium.org>
1709
1710         Web Inspector: allow showing arbitrary range of nodes in heap snapshot view
1711         https://bugs.webkit.org/show_bug.cgi?id=86230
1712
1713         Reviewed by Pavel Feldman.
1714
1715         Test: inspector/profiler/heap-snapshot-summary-show-ranges.html
1716
1717         It was only possible to expand heap snapshot node children sequentially starting
1718         from the first child and then pressing either "Show next X items" or "Show all X items".
1719         This change makes it possible to show any range of children.
1720
1721         * inspector/front-end/HeapSnapshot.js:
1722         (WebInspector.HeapSnapshotFilteredOrderedIterator):
1723         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
1724         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAll):
1725         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
1726         (WebInspector.HeapSnapshotEdgesProvider.prototype.serializeItem):
1727         (WebInspector.HeapSnapshotNodesProvider.prototype.serializeItem):
1728         * inspector/front-end/HeapSnapshotGridNodes.js:
1729         (WebInspector.HeapSnapshotGridNode):
1730         (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
1731         (WebInspector.HeapSnapshotGridNode.prototype._populate):
1732         (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.serializeNextChunk):
1733         (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.insertRetrievedChild):
1734         (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.insertShowMoreButton):
1735         (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved):
1736         (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
1737         (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
1738         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
1739         (WebInspector.HeapSnapshotGridNode.prototype.sort):
1740         (WebInspector.HeapSnapshotDiffNodesProvider):
1741         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange):
1742         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange.didReceiveDeletedItems):
1743         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange.didReceiveAddedItems):
1744         (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind):
1745         * inspector/front-end/HeapSnapshotProxy.js:
1746         (WebInspector.HeapSnapshotWorker):
1747         (WebInspector.HeapSnapshotProviderProxy.prototype.serializeItemsRange):
1748         * inspector/front-end/ShowMoreDataGridNode.js:
1749         (WebInspector.ShowMoreDataGridNode):
1750         (WebInspector.ShowMoreDataGridNode.prototype._showNextChunk):
1751         (WebInspector.ShowMoreDataGridNode.prototype._showAll):
1752         (WebInspector.ShowMoreDataGridNode.prototype._updateLabels):
1753         (WebInspector.ShowMoreDataGridNode.prototype.setStartPosition):
1754         (WebInspector.ShowMoreDataGridNode.prototype.setEndPosition):
1755         * inspector/front-end/utilities.js:
1756
1757 2012-05-12  Pavel Feldman  <pfeldman@chromium.org>
1758
1759         Web Inspector: remove UISourceCode.id since it is no longer used.
1760         https://bugs.webkit.org/show_bug.cgi?id=86286
1761
1762         Reviewed by Vsevolod Vlasov.
1763
1764         We are now using breakpointStorageId property for breakpoint persistence.
1765
1766         * inspector/front-end/BreakpointManager.js:
1767         (WebInspector.BreakpointManager):
1768         (WebInspector.BreakpointManager.prototype._debuggerReset):
1769         (WebInspector.BreakpointManager.prototype._uiLocationAdded.get if):
1770         (WebInspector.BreakpointManager.prototype._uiLocationAdded):
1771         (WebInspector.BreakpointManager.prototype._uiLocationRemoved.get if):
1772         (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
1773         * inspector/front-end/CompilerScriptMapping.js:
1774         * inspector/front-end/JavaScriptSource.js:
1775         (WebInspector.JavaScriptSource):
1776         * inspector/front-end/RawSourceCode.js:
1777         (WebInspector.RawSourceCode):
1778         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
1779         (WebInspector.RawSourceCode.prototype._createUISourceCode):
1780         (WebInspector.RawSourceCode.prototype._finishedLoading):
1781         * inspector/front-end/SnippetsModel.js:
1782         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1783         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
1784         * inspector/front-end/UISourceCode.js:
1785         (WebInspector.UISourceCode):
1786
1787 2012-05-12  Pavel Feldman  <pfeldman@chromium.org>
1788
1789         Web Inspector: merge MainScriptMapping into DebuggerPresentationModel; move other classes into their own files.
1790         https://bugs.webkit.org/show_bug.cgi?id=86285
1791
1792         Reviewed by Yury Semikhatsky.
1793
1794         The only purpose of the debugger presentation model now is to manage mappings. Merging main script mapping back into it.
1795         Other classes defined in that class are moved out into their own files.
1796
1797         * WebCore.gypi:
1798         * WebCore.vcproj/WebCore.vcproj:
1799         * inspector/compile-front-end.py:
1800         * inspector/front-end/DebuggerPresentationModel.js:
1801         (WebInspector.DebuggerPresentationModel):
1802         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
1803         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
1804         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1805         * inspector/front-end/DebuggerResourceBinding.js: Added.
1806         (WebInspector.DebuggerResourceBinding):
1807         (WebInspector.DebuggerResourceBinding.canEditScriptSource):
1808         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
1809         (WebInspector.DebuggerResourceBinding.setScriptSource):
1810         (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
1811         (WebInspector.DebuggerResourceBinding.prototype.setContent):
1812         (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
1813         (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
1814         * inspector/front-end/PresentationConsoleMessageHelper.js: Added.
1815         (WebInspector.PresentationConsoleMessageHelper):
1816         (WebInspector.PresentationConsoleMessageHelper.prototype._consoleMessageAdded):
1817         (WebInspector.PresentationConsoleMessageHelper.prototype._addConsoleMessageToScript):
1818         (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
1819         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
1820         (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
1821         (WebInspector.PresentationConsoleMessageHelper.prototype._debuggerReset):
1822         (WebInspector.PresentationConsoleMessage):
1823         (WebInspector.PresentationConsoleMessage.prototype._updateLocation):
1824         (WebInspector.PresentationConsoleMessage.prototype.get lineNumber):
1825         (WebInspector.PresentationConsoleMessage.prototype.dispose):
1826         * inspector/front-end/ScriptMapping.js:
1827         * inspector/front-end/ScriptsPanel.js:
1828         * inspector/front-end/WebKit.qrc:
1829         * inspector/front-end/inspector.html:
1830         * inspector/front-end/inspector.js:
1831
1832 2012-05-12  Mike West  <mkwst@chromium.org>
1833
1834         Cleanup ContentSecurityPolicy naming conventions.
1835         https://bugs.webkit.org/show_bug.cgi?id=86282
1836
1837         Reviewed by Adam Barth.
1838
1839         Two tiny changes:
1840         
1841         1. `reportURI` and `reportURL` are both used within the CSP
1842            implementation. We should standardize on `reportURI` to match the
1843            spec.
1844         
1845         2. Renames `ContentSecurityPolicy::allowConnectFromSource` to
1846            `ContentSecurityPolicy::allowConnectToSource` for clarity.
1847
1848         No new tests, as there's no user-visible change.
1849
1850         * Modules/websockets/WebSocket.cpp:
1851         (WebCore::WebSocket::connect):
1852         * page/ContentSecurityPolicy.cpp:
1853         (CSPDirectiveList):
1854         (WebCore::CSPDirectiveList::reportViolation):
1855         (WebCore::CSPDirectiveList::allowConnectToSource):
1856         (WebCore::CSPDirectiveList::parseReportURI):
1857         (WebCore::CSPDirectiveList::addDirective):
1858         (WebCore::ContentSecurityPolicy::allowConnectToSource):
1859         * page/ContentSecurityPolicy.h:
1860         * page/EventSource.cpp:
1861         (WebCore::EventSource::create):
1862         * xml/XMLHttpRequest.cpp:
1863         (WebCore::XMLHttpRequest::open):
1864
1865 2012-05-11  Mark Pilgrim  <pilgrim@chromium.org>
1866
1867         [Chromium] Call isLinkVisited directly
1868         https://bugs.webkit.org/show_bug.cgi?id=85412
1869
1870         Reviewed by Adam Barth.
1871
1872         Part of a refactoring series. See tracking bug 82948.
1873
1874         * CMakeLists.txt:
1875         * GNUmakefile.list.am:
1876         * Target.pri:
1877         * WebCore.gypi:
1878         * WebCore.vcproj/WebCore.vcproj:
1879         * WebCore.xcodeproj/project.pbxproj:
1880         * page/PageGroup.cpp:
1881         (WebCore::PageGroup::isLinkVisited):
1882         * platform/VisitedLinks.cpp: Added.
1883         (WebCore):
1884         (WebCore::VisitedLinks::isLinkVisited):
1885         * platform/VisitedLinks.h: Added.
1886         (WebCore):
1887         (VisitedLinks):
1888         * platform/chromium/PlatformSupport.h:
1889         * platform/chromium/VisitedLinksChromium.cpp: Added.
1890         (WebCore):
1891         (WebCore::VisitedLinks::isLinkVisited):
1892
1893 2012-05-11  Martin Robinson  <mrobinson@igalia.com>
1894
1895         [TextureMapper] Tiles are not created for large textures
1896         https://bugs.webkit.org/show_bug.cgi?id=86245
1897
1898         Reviewed by Noam Rosenthal.
1899
1900         No new tests. This will not produce any observable behavior changes,
1901         unless run on a machine with a small texture size limit.
1902
1903         The maxTextureSize() method on TextureMapperGL was missing a "const"
1904         keyword, meaning that it was not properly overriding the version in
1905         the abstract base class (TextureMapper). This patch adds the const
1906         modifier and cleans up the list of override methods in the two 
1907         TextureMapper sublcasses, adding the OVERRIDE macro for compilers that
1908         support it and removing a couple unused methods.
1909
1910         * platform/graphics/texmap/TextureMapperGL.cpp:
1911         * platform/graphics/texmap/TextureMapperGL.h:
1912         (WebCore::TextureMapperGL::create):
1913         * platform/graphics/texmap/TextureMapperImageBuffer.h:
1914         (TextureMapperImageBuffer):
1915
1916 2012-05-11  Adrienne Walker  <enne@google.com>
1917
1918         [chromium] Prevent deadlock on CCVideoLayerImpl destruction
1919         https://bugs.webkit.org/show_bug.cgi?id=86258
1920
1921         Reviewed by James Robinson.
1922
1923         ~CCVideoLayerImpl had a common deadlock issue where if it got
1924         destroyed before WebMediaPlayerClientImpl, it would take a lock,
1925         call WebMediaPlayerClientImpl::setVideoFrameProviderClient(0),
1926         which in turn would call CCVideoLayerImpl::stopUsingProvider(),
1927         which would try to take the same lock and would deadlock.
1928
1929         CCVideoLayerImpl is only created and destroyed during tree
1930         synchronization in a commit or during synchronous compositor thread
1931         destruction. In either case, the main thread is blocked, and so no
1932         lock needs to be taken at all.
1933
1934         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1935         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
1936         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
1937         (WebCore::CCVideoLayerImpl::stopUsingProvider):
1938
1939 2012-05-11  Jeffrey Pfau  <jpfau@apple.com>
1940
1941         REGRESSION (r114170): Scroll areas in nested frames improperly placed when tiled drawing is enabled
1942         https://bugs.webkit.org/show_bug.cgi?id=86239
1943
1944         Reviewed by Anders Carlsson.
1945
1946         Fixes a regression introduced in r114170 by recursively adding positions of parent frames to placement of nested frame scroll areas.
1947
1948         Manual tests: ManualTests/scrollable-positioned-frame.html
1949                       ManualTests/scrollable-positioned-nested-frame.html
1950
1951         * page/scrolling/ScrollingCoordinator.cpp:
1952         (WebCore::computeNonFastScrollableRegion):
1953         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1954
1955 2012-05-11  Beth Dakin  <bdakin@apple.com>
1956
1957         https://bugs.webkit.org/show_bug.cgi?id=86278
1958         Composited layers should only run the overlay scrollbars painting pass 
1959         if necessary
1960
1961         Reviewed by Dan Bernstein.
1962
1963         It's not enough that the rootLayer has dirty scrollbars; we also have 
1964         to actually be doing the overlay scrollbars painting pass to skip the 
1965         early return.
1966         * rendering/RenderLayer.cpp:
1967         (WebCore::RenderLayer::paintLayer):
1968
1969 2012-05-11  Anders Carlsson  <andersca@apple.com>
1970
1971         Comcast website displays bottom of page when loaded
1972         https://bugs.webkit.org/show_bug.cgi?id=86277
1973         <rdar://problem/11426887>
1974
1975         Reviewed by Beth Dakin.
1976
1977         There were two bugs here. The first bug was that FrameView::setScrollPosition didn't end up calling into the scrolling coordinator
1978         to update the scroll position. The second bug was that ScrollingTreeNodeMac::setScrollPosition didn't constrain the scroll position
1979         to the edge of the page.
1980
1981         * page/FrameView.cpp:
1982         (WebCore::FrameView::setScrollPosition):
1983         Call requestScrollPositionUpdate.
1984
1985         * page/scrolling/ScrollingTree.cpp:
1986         * page/scrolling/ScrollingTree.h:
1987         Remove setMainFrameScrollPosition, it is not called by anyone.
1988
1989         * page/scrolling/mac/ScrollingTreeNodeMac.h:
1990         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1991         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
1992         Clamp to the page size and call setScrollPositionWithoutContentEdgeConstraints.
1993
1994         (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
1995         Update the scroll layer position and call back to the main thread.
1996
1997         (WebCore::ScrollingTreeNodeMac::scrollBy):
1998         Call setScrollPosition.
1999
2000         (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
2001         Call setScrollPositionWithoutContentEdgeConstraints.
2002
2003 2012-05-11  Gavin Barraclough  <barraclough@apple.com>
2004
2005         Introduce PropertyName class
2006         https://bugs.webkit.org/show_bug.cgi?id=86241
2007
2008         Reviewed by Geoff Garen.
2009
2010         Replace 'const Identifier&' arguments to functions accessing object properties with a new 'PropertyName' type.
2011         This change paves the way to allow for properties keyed by values that are not Identifiers.
2012
2013         This change is largely a mechanical find & replace.
2014         It also changes JSFunction's constructor to take a UString& instead of an Identifier&
2015         (since in some cases we can no longer guarantee that we'lll have an Identifier), and
2016         unifies Identifier's methods to obtain array indices onto PropertyName.
2017
2018         The new PropertyName class retains the ability to support .impl() and .ustring(), but
2019         in a future patch we may need to rework this, since not all PropertyNames should be
2020         equal based on their string representation.
2021
2022         * WebCore.exp.in:
2023         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2024         (WebCore::cssPropertyIDForJSCSSPropertyName):
2025         (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
2026         (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
2027         (WebCore::JSCSSStyleDeclaration::putDelegate):
2028         * bindings/js/JSDOMBinding.cpp:
2029         (WebCore::findAtomicString):
2030         (WebCore::objectToStringFunctionGetter):
2031         * bindings/js/JSDOMBinding.h:
2032         (WebCore):
2033         (WebCore::propertyNameToString):
2034         (WebCore::propertyNameToAtomicString):
2035         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
2036         (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
2037         (WebCore::JSDOMMimeTypeArray::nameGetter):
2038         * bindings/js/JSDOMPluginArrayCustom.cpp:
2039         (WebCore::JSDOMPluginArray::canGetItemsForName):
2040         (WebCore::JSDOMPluginArray::nameGetter):
2041         * bindings/js/JSDOMPluginCustom.cpp:
2042         (WebCore::JSDOMPlugin::canGetItemsForName):
2043         (WebCore::JSDOMPlugin::nameGetter):
2044         * bindings/js/JSDOMStringMapCustom.cpp:
2045         (WebCore::JSDOMStringMap::canGetItemsForName):
2046         (WebCore::JSDOMStringMap::nameGetter):
2047         (WebCore::JSDOMStringMap::deleteProperty):
2048         (WebCore::JSDOMStringMap::putDelegate):
2049         * bindings/js/JSDOMWindowCustom.cpp:
2050         (WebCore::nonCachingStaticFunctionGetter):
2051         (WebCore::childFrameGetter):
2052         (WebCore::namedItemGetter):
2053         (WebCore::JSDOMWindow::getOwnPropertySlot):
2054         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2055         (WebCore::JSDOMWindow::put):
2056         (WebCore::JSDOMWindow::deleteProperty):
2057         (WebCore::JSDOMWindow::defineOwnProperty):
2058         * bindings/js/JSDOMWindowShell.cpp:
2059         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
2060         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
2061         (WebCore::JSDOMWindowShell::put):
2062         (WebCore::JSDOMWindowShell::putDirectVirtual):
2063         (WebCore::JSDOMWindowShell::defineOwnProperty):
2064         (WebCore::JSDOMWindowShell::deleteProperty):
2065         * bindings/js/JSDOMWindowShell.h:
2066         (JSDOMWindowShell):
2067         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2068         (WebCore::getNamedItems):
2069         (WebCore::callHTMLAllCollection):
2070         (WebCore::JSHTMLAllCollection::canGetItemsForName):
2071         (WebCore::JSHTMLAllCollection::nameGetter):
2072         (WebCore::JSHTMLAllCollection::item):
2073         * bindings/js/JSHTMLAppletElementCustom.cpp:
2074         (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate):
2075         (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
2076         (WebCore::JSHTMLAppletElement::putDelegate):
2077         * bindings/js/JSHTMLCollectionCustom.cpp:
2078         (WebCore::getNamedItems):
2079         (WebCore::JSHTMLCollection::canGetItemsForName):
2080         (WebCore::JSHTMLCollection::nameGetter):
2081         * bindings/js/JSHTMLDocumentCustom.cpp:
2082         (WebCore::JSHTMLDocument::canGetItemsForName):
2083         (WebCore::JSHTMLDocument::nameGetter):
2084         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2085         (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate):
2086         (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
2087         (WebCore::JSHTMLEmbedElement::putDelegate):
2088         * bindings/js/JSHTMLFormElementCustom.cpp:
2089         (WebCore::JSHTMLFormElement::canGetItemsForName):
2090         (WebCore::JSHTMLFormElement::nameGetter):
2091         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2092         (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
2093         (WebCore::JSHTMLFrameSetElement::nameGetter):
2094         * bindings/js/JSHTMLObjectElementCustom.cpp:
2095         (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate):
2096         (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
2097         (WebCore::JSHTMLObjectElement::putDelegate):
2098         * bindings/js/JSHistoryCustom.cpp:
2099         (WebCore::nonCachingStaticBackFunctionGetter):
2100         (WebCore::nonCachingStaticForwardFunctionGetter):
2101         (WebCore::nonCachingStaticGoFunctionGetter):
2102         (WebCore::JSHistory::getOwnPropertySlotDelegate):
2103         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
2104         (WebCore::JSHistory::putDelegate):
2105         (WebCore::JSHistory::deleteProperty):
2106         * bindings/js/JSLocationCustom.cpp:
2107         (WebCore::nonCachingStaticReplaceFunctionGetter):
2108         (WebCore::nonCachingStaticReloadFunctionGetter):
2109         (WebCore::nonCachingStaticAssignFunctionGetter):
2110         (WebCore::JSLocation::getOwnPropertySlotDelegate):
2111         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
2112         (WebCore::JSLocation::putDelegate):
2113         (WebCore::JSLocation::deleteProperty):
2114         (WebCore::JSLocation::defineOwnProperty):
2115         (WebCore::JSLocationPrototype::putDelegate):
2116         (WebCore::JSLocationPrototype::defineOwnProperty):
2117         * bindings/js/JSNamedNodeMapCustom.cpp:
2118         (WebCore::JSNamedNodeMap::canGetItemsForName):
2119         (WebCore::JSNamedNodeMap::nameGetter):
2120         * bindings/js/JSNodeListCustom.cpp:
2121         (WebCore::JSNodeList::canGetItemsForName):
2122         (WebCore::JSNodeList::nameGetter):
2123         * bindings/js/JSPluginElementFunctions.cpp:
2124         (WebCore::runtimeObjectPropertyGetter):
2125         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
2126         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
2127         (WebCore::runtimeObjectCustomPut):
2128         * bindings/js/JSPluginElementFunctions.h:
2129         (WebCore):
2130         * bindings/js/JSStorageCustom.cpp:
2131         (WebCore::JSStorage::canGetItemsForName):
2132         (WebCore::JSStorage::nameGetter):
2133         (WebCore::JSStorage::deleteProperty):
2134         (WebCore::JSStorage::putDelegate):
2135         * bindings/js/JSStyleSheetListCustom.cpp:
2136         (WebCore::JSStyleSheetList::canGetItemsForName):
2137         (WebCore::JSStyleSheetList::nameGetter):
2138         * bindings/js/JSWorkerContextCustom.cpp:
2139         (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
2140         (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
2141         * bindings/scripts/CodeGeneratorJS.pm:
2142         (GenerateGetOwnPropertySlotBody):
2143         (GenerateGetOwnPropertyDescriptorBody):
2144         (GenerateHeader):
2145         (GenerateImplementation):
2146         (GenerateConstructorDeclaration):
2147         (GenerateConstructorDefinition):
2148         * bridge/c/c_class.cpp:
2149         (JSC::Bindings::CClass::methodsNamed):
2150         (JSC::Bindings::CClass::fieldNamed):
2151         * bridge/c/c_class.h:
2152         (CClass):
2153         * bridge/c/c_instance.cpp:
2154         (JSC::Bindings::CRuntimeMethod::create):
2155         (JSC::Bindings::CRuntimeMethod::finishCreation):
2156         (JSC::Bindings::CInstance::getMethod):
2157         * bridge/c/c_instance.h:
2158         (CInstance):
2159         * bridge/jni/jsc/JavaClassJSC.cpp:
2160         (JavaClass::methodsNamed):
2161         (JavaClass::fieldNamed):
2162         * bridge/jni/jsc/JavaClassJSC.h:
2163         (JavaClass):
2164         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2165         (JavaRuntimeMethod::create):
2166         (JavaRuntimeMethod::finishCreation):
2167         * bridge/jni/jsc/JavaInstanceJSC.h:
2168         (JavaInstance):
2169         * bridge/jsc/BridgeJSC.h:
2170         (Class):
2171         (JSC::Bindings::Class::fallbackObject):
2172         (JSC::Bindings::Instance::setValueOfUndefinedField):
2173         (Instance):
2174         (JSC::Bindings::Instance::getOwnPropertySlot):
2175         (JSC::Bindings::Instance::getOwnPropertyDescriptor):
2176         (JSC::Bindings::Instance::put):
2177         * bridge/objc/objc_class.h:
2178         (ObjcClass):
2179         * bridge/objc/objc_class.mm:
2180         (JSC::Bindings::ObjcClass::methodsNamed):
2181         (JSC::Bindings::ObjcClass::fieldNamed):
2182         (JSC::Bindings::ObjcClass::fallbackObject):
2183         * bridge/objc/objc_instance.h:
2184         (ObjcInstance):
2185         * bridge/objc/objc_instance.mm:
2186         (ObjCRuntimeMethod::create):
2187         (ObjCRuntimeMethod::finishCreation):
2188         (ObjcInstance::setValueOfUndefinedField):
2189         (ObjcInstance::getValueOfUndefinedField):
2190         * bridge/objc/objc_runtime.h:
2191         (JSC::Bindings::ObjcFallbackObjectImp::create):
2192         (JSC::Bindings::ObjcFallbackObjectImp::propertyName):
2193         (ObjcFallbackObjectImp):
2194         * bridge/objc/objc_runtime.mm:
2195         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2196         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot):
2197         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
2198         (JSC::Bindings::ObjcFallbackObjectImp::put):
2199         (JSC::Bindings::callObjCFallbackObject):
2200         (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty):
2201         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
2202         * bridge/runtime_array.cpp:
2203         (JSC::RuntimeArray::lengthGetter):
2204         (JSC::RuntimeArray::getOwnPropertySlot):
2205         (JSC::RuntimeArray::getOwnPropertyDescriptor):
2206         (JSC::RuntimeArray::put):
2207         (JSC::RuntimeArray::deleteProperty):
2208         * bridge/runtime_array.h:
2209         (RuntimeArray):
2210         * bridge/runtime_method.cpp:
2211         (JSC::RuntimeMethod::finishCreation):
2212         (JSC::RuntimeMethod::lengthGetter):
2213         (JSC::RuntimeMethod::getOwnPropertySlot):
2214         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
2215         * bridge/runtime_method.h:
2216         (JSC::RuntimeMethod::create):
2217         (RuntimeMethod):
2218         * bridge/runtime_object.cpp:
2219         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
2220         (JSC::Bindings::RuntimeObject::fieldGetter):
2221         (JSC::Bindings::RuntimeObject::methodGetter):
2222         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
2223         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
2224         (JSC::Bindings::RuntimeObject::put):
2225         (JSC::Bindings::RuntimeObject::deleteProperty):
2226         * bridge/runtime_object.h:
2227         (RuntimeObject):
2228
2229 2012-05-11  David Barton  <dbarton@mathscribe.com>
2230
2231         use after free in WebCore::RenderObject::document
2232         https://bugs.webkit.org/show_bug.cgi?id=84891
2233
2234         Reviewed by Julien Chaffraix.
2235
2236         Change RenderMathMLFenced::addChild() to use the beforeChild parameter. When beforeChild
2237         is 0, insert child renderers before the closing fence, which might not be the same as
2238         this->lastChild(), e.g. possibly due to anonymous blocks or generated content.
2239
2240         Tests: mathml/presentation/mfenced-add-child1-expected.html
2241                mathml/presentation/mfenced-add-child1.html
2242                mathml/presentation/mfenced-add-child2-expected.html
2243                mathml/presentation/mfenced-add-child2.html
2244
2245         * rendering/mathml/RenderMathMLFenced.cpp:
2246         (WebCore::RenderMathMLFenced::RenderMathMLFenced):
2247         (WebCore::RenderMathMLFenced::makeFences):
2248         (WebCore::RenderMathMLFenced::addChild):
2249         * rendering/mathml/RenderMathMLFenced.h:
2250         (RenderMathMLFenced):
2251
2252 2012-05-11  Anders Carlsson  <andersca@apple.com>
2253
2254         Can't scroll on webpage after following links from Blogger
2255         https://bugs.webkit.org/show_bug.cgi?id=86274
2256         <rdar://problem/11431352>
2257
2258         Reviewed by Beth Dakin.
2259
2260         When committing a new scroll layer, make sure to reset the scroll position.
2261
2262         * page/scrolling/ScrollingTree.cpp:
2263         (WebCore::ScrollingTree::commitNewTreeState):
2264
2265 2012-05-11  Martin Robinson  <mrobinson@igalia.com>
2266
2267         [TextureMapper] Support drawing debug borders
2268         https://bugs.webkit.org/show_bug.cgi?id=86237
2269
2270         Reviewed by Noam Rosenthal.
2271
2272         No new tests. This is the implementation of an interactive debugging
2273         feature.
2274
2275         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2276         (WebCore::GraphicsLayer::create): Moved this to the top of the file to
2277         reduce contention for the coveted last spot in the file. This also
2278         follows the pattern used in many WebCore files of having the factories
2279         at the top.
2280         (WebCore::GraphicsLayerTextureMapper::setDebugBorder): Added this
2281         plumbing.
2282         * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added
2283         plumbing.
2284         * platform/graphics/texmap/TextureMapper.h: Ditto.
2285         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2286         (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
2287         Initialize the new member.
2288         (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper): When
2289         debug borders are enabled call the new drawBorder method on the TM.
2290         (WebCore::TextureMapperTiledBackingStore::setDebugBorder): Added this
2291         plumbing.
2292         * platform/graphics/texmap/TextureMapperBackingStore.h: Added plumbing
2293         and members to store debug border states. This is necessary because of
2294         the when painting there is no handle on the GraphicsLayers.
2295         * platform/graphics/texmap/TextureMapperGL.cpp:
2296         (WebCore::TextureMapperGL::drawRect): Factored out the common bits of
2297         drawTexture and drawBorder into this helper.
2298         (WebCore::TextureMapperGL::drawBorder): Added this method, which works
2299         very similarly to drawTexture, but uses a different shader program and
2300         must also set the line width and color.
2301         (WebCore::TextureMapperGL::drawTexture): Factored out the bits that
2302         are shared with drawRect.
2303         * platform/graphics/texmap/TextureMapperGL.h:
2304         (TextureMapperGL): Added the new method declarations.
2305         * platform/graphics/texmap/TextureMapperImageBuffer.h:
2306         (WebCore::TextureMapperImageBuffer::drawBorder): Added an empty
2307         implementation. Later we can add an implementation for the ImageBuffer
2308         TM.
2309         * platform/graphics/texmap/TextureMapperLayer.cpp:
2310         (WebCore::TextureMapperLayer::updateBackingStore): When updating the
2311         backing store send the debug border information through.
2312         (WebCore::TextureMapperLayer::syncCompositingStateSelf): When updating
2313         the layer state, also update the debug indicators. This is required to
2314         initialize the debug border values for the layer.
2315         (WebCore::TextureMapperLayer::setDebugBorder): Added this plumbing.
2316         * platform/graphics/texmap/TextureMapperLayer.h: Ditto.
2317         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Added a
2318         solid color shader that doesn't care about texture coordinates or
2319         opacity values.
2320         (WebCore::TextureMapperShaderManager::solidColorProgram): Added. This
2321         is a shorter getter for the solid color program that doesn't require
2322         casting from the caller.
2323         (WebCore::TextureMapperShaderManager::getShaderProgram): Added support
2324         for the solid color program.
2325         (WebCore::TextureMapperShaderProgramSolidColor::create): Added.
2326         (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
2327         Ditto.
2328         (WebCore::TextureMapperShaderProgramSolidColor::vertexShaderSource):
2329         Ditto.
2330         (WebCore::TextureMapperShaderProgramSolidColor::fragmentShaderSource):
2331         Ditto.
2332         * platform/graphics/texmap/TextureMapperShaderManager.h:
2333         (TextureMapperShaderProgramSolidColor): Added.
2334         (WebCore::TextureMapperShaderProgramSolidColor::colorVariable): Added.
2335
2336 2012-05-10  Timothy Hatcher  <timothy@apple.com>
2337
2338         Instrument timer function calls so they show up in the Web Inspector Timeline.
2339
2340         https://webkit.org/b/86173
2341
2342         Reviewed by Pavel Feldman.
2343
2344         Test: inspector/timeline/timeline-timer.html
2345
2346         * bindings/js/ScheduledAction.cpp:
2347         (WebCore::ScheduledAction::executeFunctionInContext): Wrap the call with JSMainThreadExecState::instrumentFunctionCall
2348         and InspectorInstrumentation::didCallFunction.
2349
2350 2012-05-11  Nico Weber  <thakis@chromium.org>
2351
2352         [chromium/mac] Let libwebkit.dylib link in Debug/components build
2353         https://bugs.webkit.org/show_bug.cgi?id=86244
2354
2355         Reviewed by James Robinson.
2356
2357         In static builds, this was not needed because the targets depending on
2358         'webkit' already link in QuartzCore. In Release components builds, it wasn't
2359         needed because they are built with -dead_strip, which stripped the referencing
2360         code.
2361
2362         * WebCore.gyp/WebCore.gyp:
2363
2364 2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2365
2366         Unreviewed, rolling out r116802.
2367         http://trac.webkit.org/changeset/116802
2368         https://bugs.webkit.org/show_bug.cgi?id=86260
2369
2370         This patch causes compiling error to chromium builds
2371         (Requested by jianli_ on #webkit).
2372
2373         * WebCore.gypi:
2374
2375 2012-05-11  Ryosuke Niwa  <rniwa@webkit.org>
2376
2377         Regression fix after r116798.
2378
2379         We need to return true for the html element in the design mode
2380         in which case parentNode() is editable and is not a body element.
2381
2382         * dom/Node.cpp:
2383         (WebCore::Node::isRootEditableElement):
2384
2385 2012-05-11  James Robinson  <jamesr@chromium.org>
2386
2387         [chromium] Move implementation of WebCore::GraphicsContext3D and related from WebKit/chromium/src to WebCore/platform/chromium/support
2388         https://bugs.webkit.org/show_bug.cgi?id=86257
2389
2390         Reviewed by Adam Barth.
2391
2392         The WebCore platform interfaces GraphicsContext3D and Extensions3DChromium are implemented in chromium on top of
2393         the Platform interface WebGraphicsContext3D. This moves the implementation support code from WebKit/chromium/src
2394         to WebCore/platform/chromium/support, which avoids having code in WebKit/ implementing WebCore interfaces and
2395         allows code in WebCore/platform to use this support code directly where appropriate.
2396
2397         Refactor only, no new functionality or tests.
2398
2399         * WebCore.gypi:
2400         * platform/chromium/support/Extensions3DChromium.cpp: Renamed from Source/WebKit/chromium/src/Extensions3DChromium.cpp.
2401         (WebCore):
2402         (WebCore::Extensions3DChromium::Extensions3DChromium):
2403         (WebCore::Extensions3DChromium::~Extensions3DChromium):
2404         (WebCore::Extensions3DChromium::supports):
2405         (WebCore::Extensions3DChromium::ensureEnabled):
2406         (WebCore::Extensions3DChromium::isEnabled):
2407         (WebCore::Extensions3DChromium::getGraphicsResetStatusARB):
2408         (WebCore::Extensions3DChromium::blitFramebuffer):
2409         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
2410         (WebCore::Extensions3DChromium::postSubBufferCHROMIUM):
2411         (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM):
2412         (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM):
2413         (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM):
2414         (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM):
2415         (WebCore::Extensions3DChromium::setVisibilityCHROMIUM):
2416         (WebCore::Extensions3DChromium::discardFramebufferEXT):
2417         (WebCore::Extensions3DChromium::ensureFramebufferCHROMIUM):
2418         (WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM):
2419         (WebCore::Extensions3DChromium::createVertexArrayOES):
2420         (WebCore::Extensions3DChromium::deleteVertexArrayOES):
2421         (WebCore::Extensions3DChromium::isVertexArrayOES):
2422         (WebCore::Extensions3DChromium::bindVertexArrayOES):
2423         (WebCore::Extensions3DChromium::getTranslatedShaderSourceANGLE):
2424         (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM):
2425         (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM):
2426         (WebCore::Extensions3DChromium::paintFramebufferToCanvas):
2427         (WebCore::Extensions3DChromium::texImageIOSurface2DCHROMIUM):
2428         (WebCore::Extensions3DChromium::texStorage2DEXT):
2429         (WebCore::Extensions3DChromium::createQueryEXT):
2430         (WebCore::Extensions3DChromium::deleteQueryEXT):
2431         (WebCore::Extensions3DChromium::isQueryEXT):
2432         (WebCore::Extensions3DChromium::beginQueryEXT):
2433         (WebCore::Extensions3DChromium::endQueryEXT):
2434         (WebCore::Extensions3DChromium::getQueryivEXT):
2435         (WebCore::Extensions3DChromium::getQueryObjectuivEXT):
2436         * platform/chromium/support/GraphicsContext3DChromium.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp.
2437         (WebCore):
2438         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2439         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2440         (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
2441         (WebCore::GraphicsContext3DPrivate::extractWebGraphicsContext3D):
2442         (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
2443         (WebCore::GraphicsContext3DPrivate::platformTexture):
2444         (GrMemoryAllocationChangedCallback):
2445         (WebCore::GrMemoryAllocationChangedCallback::GrMemoryAllocationChangedCallback):
2446         (WebCore::GrMemoryAllocationChangedCallback::onGpuMemoryAllocationChanged):
2447         (WebCore::GraphicsContext3DPrivate::grContext):
2448         (WebCore::GraphicsContext3DPrivate::prepareTexture):
2449         (WebCore::GraphicsContext3DPrivate::markContextChanged):
2450         (WebCore::GraphicsContext3DPrivate::markLayerComposited):
2451         (WebCore::GraphicsContext3DPrivate::layerComposited):
2452         (WebCore::GraphicsContext3DPrivate::paintFramebufferToCanvas):
2453         (WebCore::GraphicsContext3DPrivate::paintRenderingResultsToCanvas):
2454         (WebCore::GraphicsContext3DPrivate::paintCompositedResultsToCanvas):
2455         (WebCore::GraphicsContext3DPrivate::paintRenderingResultsToImageData):
2456         (WebCore::GraphicsContext3DPrivate::reshape):
2457         (WebCore::GraphicsContext3DPrivate::getInternalFramebufferSize):
2458         (WebCore::GraphicsContext3DPrivate::isContextLost):
2459         (WebCore::GraphicsContext3DPrivate::isGLES2Compliant):
2460         (WebCore::GraphicsContext3DPrivate::bindAttribLocation):
2461         (WebCore::GraphicsContext3DPrivate::bufferData):
2462         (WebCore::GraphicsContext3DPrivate::bufferSubData):
2463         (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
2464         (WebCore::GraphicsContext3DPrivate::getActiveUniform):
2465         (WebCore::GraphicsContext3DPrivate::getAttribLocation):
2466         (WebCore::GraphicsContext3DPrivate::getContextAttributes):
2467         (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
2468         (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
2469         (WebCore::GraphicsContext3DPrivate::getShaderSource):
2470         (WebCore::GraphicsContext3DPrivate::getString):
2471         (WebCore::GraphicsContext3DPrivate::getUniformLocation):
2472         (WebCore::GraphicsContext3DPrivate::shaderSource):
2473         (WebCore::GraphicsContext3DPrivate::texImage2D):
2474         (WebCore::GraphicsContext3DPrivate::texSubImage2D):
2475         (WebCore::GraphicsContext3DPrivate::uniform1fv):
2476         (WebCore::GraphicsContext3DPrivate::uniform1iv):
2477         (WebCore::GraphicsContext3DPrivate::uniform2fv):
2478         (WebCore::GraphicsContext3DPrivate::uniform2iv):
2479         (WebCore::GraphicsContext3DPrivate::uniform3fv):
2480         (WebCore::GraphicsContext3DPrivate::uniform3iv):
2481         (WebCore::GraphicsContext3DPrivate::uniform4fv):
2482         (WebCore::GraphicsContext3DPrivate::uniform4iv):
2483         (WebCore::GraphicsContext3DPrivate::uniformMatrix2fv):
2484         (WebCore::GraphicsContext3DPrivate::uniformMatrix3fv):
2485         (WebCore::GraphicsContext3DPrivate::uniformMatrix4fv):
2486         (WebCore::GraphicsContext3DPrivate::getExtensions):
2487         (WebCore::GraphicsContext3DPrivate::isResourceSafe):
2488         (WebCore::GraphicsContext3DPrivate::initializeExtensions):
2489         (WebCore::GraphicsContext3DPrivate::supportsExtension):
2490         (WebCore::GraphicsContext3DPrivate::ensureExtensionEnabled):
2491         (WebCore::GraphicsContext3DPrivate::isExtensionEnabled):
2492         (WebCore::GraphicsContext3D::GraphicsContext3D):
2493         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2494         (WebCore::GraphicsContext3D::create):
2495         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
2496         (WebCore::GraphicsContext3D::platformTexture):
2497         (WebCore::GraphicsContext3D::grContext):
2498         (WebCore::GraphicsContext3D::prepareTexture):
2499         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
2500         (WebCore::GraphicsContext3D::isResourceSafe):
2501         (WebCore::GraphicsContext3D::platformLayer):
2502         (WebCore::GraphicsContext3D::layerComposited):
2503         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2504         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2505         (GraphicsContextLostCallbackAdapter):
2506         (WebCore::GraphicsContextLostCallbackAdapter::~GraphicsContextLostCallbackAdapter):
2507         (WebCore::GraphicsContextLostCallbackAdapter::GraphicsContextLostCallbackAdapter):
2508         (WebCore::GraphicsContextLostCallbackAdapter::onContextLost):
2509         (WebCore::GraphicsContextLostCallbackAdapter::create):
2510         (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
2511         (GraphicsErrorMessageCallbackAdapter):
2512         (WebCore::GraphicsErrorMessageCallbackAdapter::~GraphicsErrorMessageCallbackAdapter):
2513         (WebCore::GraphicsErrorMessageCallbackAdapter::GraphicsErrorMessageCallbackAdapter):
2514         (WebCore::GraphicsErrorMessageCallbackAdapter::onErrorMessage):
2515         (WebCore::GraphicsErrorMessageCallbackAdapter::create):
2516         (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
2517         (WebCore::GraphicsContext3D::isGLES2Compliant):
2518         (GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
2519         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::~GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
2520         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
2521         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
2522         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::create):
2523         (WebCore::GraphicsContext3DPrivate::setSwapBuffersCompleteCallbackCHROMIUM):
2524         (GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
2525         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
2526         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
2527         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged):
2528         (WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM):
2529         * platform/chromium/support/GraphicsContext3DPrivate.h: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.h.
2530         (WebKit):
2531         (WebCore):
2532         (GraphicsContext3DPrivate):
2533
2534 2012-05-11  Keyar Hood  <keyar@chromium.org>
2535
2536         ImageSkia.cpp does not conform to style guidelines
2537         https://bugs.webkit.org/show_bug.cgi?id=86219
2538
2539         Reviewed by Stephen White.
2540
2541         No tests as this is purely style changees.
2542
2543         * platform/graphics/skia/ImageSkia.cpp:
2544         (WebCore::TransformDimensions):
2545         (WebCore::BitmapImage::draw):
2546         (WebCore::BitmapImageSingleFrameSkia::draw):
2547
2548 2012-05-11  Tim Horton  <timothy_horton@apple.com>
2549
2550         Unreviewed Chromium build fix after http://trac.webkit.org/changeset/116799.
2551
2552         * rendering/RenderLayerBacking.cpp:
2553
2554 2012-05-11  Terry Anderson  <tdanderson@chromium.org>
2555
2556         [chromium] Compute the best target node on a GestureTap event
2557         https://bugs.webkit.org/show_bug.cgi?id=85101
2558
2559         Reviewed by Adam Barth.
2560
2561         Will be using the tests in the touchadjustment/ directory.
2562
2563         * WebCore.gypi:
2564         Include TouchAdjustment.* files.
2565
2566 2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2567
2568         Unreviewed, rolling out r116498.
2569         http://trac.webkit.org/changeset/116498
2570         https://bugs.webkit.org/show_bug.cgi?id=86251
2571
2572         Causes crashes in major sites and security issues (Requested
2573         by schenney on #webkit).
2574
2575         * rendering/svg/RenderSVGInline.cpp:
2576         (WebCore::RenderSVGInline::addChild):
2577         * rendering/svg/RenderSVGInlineText.cpp:
2578         (WebCore::RenderSVGInlineText::willBeDestroyed):
2579         (WebCore::RenderSVGInlineText::setTextInternal):
2580         (WebCore::RenderSVGInlineText::styleDidChange):
2581         * rendering/svg/RenderSVGText.cpp:
2582         (WebCore::recursiveUpdateLayoutAttributes):
2583         (WebCore::RenderSVGText::layoutAttributesChanged):
2584         (WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
2585         (WebCore::RenderSVGText::invalidateTextPositioningElements):
2586         (WebCore::recursiveUpdateScaledFont):
2587         (WebCore::RenderSVGText::layout):
2588         (WebCore::RenderSVGText::addChild):
2589         (WebCore::recursiveCollectLayoutAttributes):
2590         (WebCore::RenderSVGText::rebuildLayoutAttributes):
2591         (WebCore):
2592         * rendering/svg/RenderSVGText.h:
2593         (RenderSVGText):
2594         (WebCore::RenderSVGText::layoutAttributes):
2595         * rendering/svg/SVGRootInlineBox.cpp:
2596         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
2597         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2598         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):
2599
2600 2012-05-11  Tim Horton  <timothy_horton@apple.com>
2601
2602         FrameView->m_lastPaintTime is not updated in the tiled drawing case
2603         https://bugs.webkit.org/show_bug.cgi?id=86246
2604         <rdar://problem/11248475>
2605
2606         Reviewed by Simon Fraser.
2607
2608         Update FrameView's m_lastPaintTime from RenderLayerBacking::paintContents
2609         if the RenderLayerBacking is backing a tiled drawing layer.
2610
2611         In the future we might want to consider updating m_lastPaintTime when any
2612         compositing layer is painted into, but this change gets us on par with the
2613         non-tiled-drawing case as it stands now.
2614
2615         No new tests.
2616
2617         * page/FrameView.h:
2618         (WebCore::FrameView::setLastPaintTime):
2619         * rendering/RenderLayerBacking.cpp:
2620         (WebCore::RenderLayerBacking::paintContents):
2621
2622 2012-05-11  Shezan Baig  <shezbaig.wk@gmail.com>
2623
2624         Add helper function for node()->rootEditableElement() == node()
2625         https://bugs.webkit.org/show_bug.cgi?id=86217
2626
2627         Reviewed by Ryosuke Niwa.
2628
2629         Added Node::isRootEditableElement and updated existing code that did
2630         (node->rootEditableElement() == node) to use isRootEditableElement
2631         instead.
2632
2633         No new tests. No change in behavior.
2634
2635         * dom/Node.cpp:
2636         (WebCore::Node::isRootEditableElement):
2637         (WebCore):
2638         * dom/Node.h:
2639         (Node):
2640         Added new helper function.
2641
2642         * dom/Document.cpp:
2643         (WebCore::Document::setFocusedNode):
2644         * dom/Element.cpp:
2645         (WebCore::Element::updateFocusAppearance):
2646         * editing/CompositeEditCommand.cpp:
2647         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2648         * editing/DeleteSelectionCommand.cpp:
2649         (WebCore::DeleteSelectionCommand::removeNode):
2650         * editing/InsertParagraphSeparatorCommand.cpp:
2651         (WebCore::InsertParagraphSeparatorCommand::doApply):
2652         * page/FocusController.cpp:
2653         (WebCore::FocusController::setFocusedNode):
2654         * rendering/RenderBlock.cpp:
2655         (WebCore::RenderBlock::hasLineIfEmpty):
2656         * rendering/RenderBlockLineLayout.cpp:
2657         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2658         Updates to existing code to use the new helper function.
2659
2660 2012-05-11  Shawn Singh  <shawnsingh@chromium.org>
2661
2662         [chromium] Create WebTransformationMatrix interface for chromium platform
2663         https://bugs.webkit.org/show_bug.cgi?id=86049
2664
2665         Reviewed by James Robinson.
2666
2667         This patch creates a WebTransformationMatrix interface. It will
2668         remain unused at the moment, until (a) unit tests are created
2669         and (b) when we are ready to make a brief transition of all other
2670         chromium code to use it.
2671
2672         * WebCore.gypi:
2673         * platform/chromium/support/WebTransformationMatrix.cpp: Added.
2674         (WebKit):
2675         (WebKit::WebTransformationMatrix::WebTransformationMatrix):
2676         (WebKit::WebTransformationMatrix::operator=):
2677         (WebKit::WebTransformationMatrix::operator==):
2678         (WebKit::WebTransformationMatrix::operator*):
2679         (WebKit::WebTransformationMatrix::inverse):
2680         (WebKit::WebTransformationMatrix::to2dTransform):
2681         (WebKit::WebTransformationMatrix::multiply):
2682         (WebKit::WebTransformationMatrix::makeIdentity):
2683         (WebKit::WebTransformationMatrix::translate):
2684         (WebKit::WebTransformationMatrix::translate3d):
2685         (WebKit::WebTransformationMatrix::translateRight3d):
2686         (WebKit::WebTransformationMatrix::scale):
2687         (WebKit::WebTransformationMatrix::scaleNonUniform):
2688         (WebKit::WebTransformationMatrix::scale3d):
2689         (WebKit::WebTransformationMatrix::rotate):
2690         (WebKit::WebTransformationMatrix::rotate3d):
2691         (WebKit::WebTransformationMatrix::skewX):
2692         (WebKit::WebTransformationMatrix::skewY):
2693         (WebKit::WebTransformationMatrix::applyPerspective):
2694         (WebKit::WebTransformationMatrix::blend):
2695         (WebKit::WebTransformationMatrix::hasPerspective):
2696         (WebKit::WebTransformationMatrix::isInvertible):
2697         (WebKit::WebTransformationMatrix::isBackFaceVisible):
2698         (WebKit::WebTransformationMatrix::isIdentity):
2699         (WebKit::WebTransformationMatrix::isIdentityOrTranslation):
2700         (WebKit::WebTransformationMatrix::isIntegerTranslation):
2701         (WebKit::WebTransformationMatrix::m11):
2702         (WebKit::WebTransformationMatrix::setM11):
2703         (WebKit::WebTransformationMatrix::m12):
2704         (WebKit::WebTransformationMatrix::setM12):
2705         (WebKit::WebTransformationMatrix::m13):
2706         (WebKit::WebTransformationMatrix::setM13):
2707         (WebKit::WebTransformationMatrix::m14):
2708         (WebKit::WebTransformationMatrix::setM14):
2709         (WebKit::WebTransformationMatrix::m21):
2710         (WebKit::WebTransformationMatrix::setM21):
2711         (WebKit::WebTransformationMatrix::m22):
2712         (WebKit::WebTransformationMatrix::setM22):
2713         (WebKit::WebTransformationMatrix::m23):
2714         (WebKit::WebTransformationMatrix::setM23):
2715         (WebKit::WebTransformationMatrix::m24):
2716         (WebKit::WebTransformationMatrix::setM24):
2717         (WebKit::WebTransformationMatrix::m31):
2718         (WebKit::WebTransformationMatrix::setM31):
2719         (WebKit::WebTransformationMatrix::m32):
2720         (WebKit::WebTransformationMatrix::setM32):
2721         (WebKit::WebTransformationMatrix::m33):
2722         (WebKit::WebTransformationMatrix::setM33):
2723         (WebKit::WebTransformationMatrix::m34):
2724         (WebKit::WebTransformationMatrix::setM34):
2725         (WebKit::WebTransformationMatrix::m41):
2726         (WebKit::WebTransformationMatrix::setM41):
2727         (WebKit::WebTransformationMatrix::m42):
2728         (WebKit::WebTransformationMatrix::setM42):
2729         (WebKit::WebTransformationMatrix::m43):
2730         (WebKit::WebTransformationMatrix::setM43):
2731         (WebKit::WebTransformationMatrix::m44):
2732         (WebKit::WebTransformationMatrix::setM44):
2733         (WebKit::WebTransformationMatrix::a):
2734         (WebKit::WebTransformationMatrix::setA):
2735         (WebKit::WebTransformationMatrix::b):
2736         (WebKit::WebTransformationMatrix::setB):
2737         (WebKit::WebTransformationMatrix::c):
2738         (WebKit::WebTransformationMatrix::setC):
2739         (WebKit::WebTransformationMatrix::d):
2740         (WebKit::WebTransformationMatrix::setD):
2741         (WebKit::WebTransformationMatrix::e):
2742         (WebKit::WebTransformationMatrix::setE):
2743         (WebKit::WebTransformationMatrix::f):
2744         (WebKit::WebTransformationMatrix::setF):
2745         (WebKit::WebTransformationMatrix::toWebCoreTransform):
2746         (WebKit::WebTransformationMatrix::mapRect):
2747         (WebKit::WebTransformationMatrix::mapPoint):
2748         (WebKit::WebTransformationMatrix::mapQuad):
2749         (WebKit::WebTransformationMatrix::projectPoint):
2750
2751 2012-05-11  Alexandru Chiculita  <achicu@adobe.com>
2752
2753         [CSS Shaders] Make CSS Shaders render to texture framebuffers
2754         https://bugs.webkit.org/show_bug.cgi?id=85113
2755
2756         Reviewed by Dean Jackson.
2757
2758         Added the required members to store the framebuffer, the texture and the depth buffer. Also removed the m_drawingBuffer
2759         because context->readPixels doesn't require one anymore.
2760
2761         ReadPixels is not flipping the result, so I've also removed the flipping projection matrix that was specific only to Chromium.
2762
2763         Added a test to check that colors are not switched and the resulting image is not mirrored.
2764
2765         Test: css3/filters/custom/effect-color-check.html
2766
2767         * platform/graphics/filters/FECustomFilter.cpp:
2768         (WebCore::FECustomFilter::FECustomFilter):
2769         (WebCore::FECustomFilter::~FECustomFilter):
2770         (WebCore):
2771         (WebCore::FECustomFilter::deleteRenderBuffers):
2772         (WebCore::FECustomFilter::platformApplySoftware):
2773         (WebCore::FECustomFilter::initializeContext):
2774         (WebCore::FECustomFilter::resizeContext):
2775         (WebCore::FECustomFilter::bindProgramAndBuffers):
2776         * platform/graphics/filters/FECustomFilter.h:
2777         (FECustomFilter):
2778
2779 2012-05-11  Anders Carlsson  <andersca@apple.com>
2780
2781         REGRESSION(r116687): [Chromium] plugins/embed-attributes-style.html shows a garbled string
2782         https://bugs.webkit.org/show_bug.cgi?id=86170
2783
2784         Reviewed by Andreas Kling.
2785
2786         The string we are passing to the TextRun constructor needs to stay alive for longer so revert back to the old
2787         behavior where we store it as a member variable.
2788
2789         * rendering/RenderEmbeddedObject.cpp:
2790         (WebCore::unavailablePluginReplacementText):
2791         (WebCore):
2792         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
2793         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
2794         * rendering/RenderEmbeddedObject.h:
2795         (RenderEmbeddedObject):
2796
2797 2012-05-11  Simon Fraser  <simon.fraser@apple.com>
2798
2799         CVDisplayLink keeps running after a single requestAnimationFrame
2800         https://bugs.webkit.org/show_bug.cgi?id=86174
2801         
2802         Reviewed by Sam Weinig.
2803         
2804         A DisplayRefreshMonitor would keep its CVDisplayLink alive for as long
2805         as it had clients, and the client is the ScriptedAnimationController, which
2806         lives on the document. So a single requestAnimationFrame call would kick
2807         off a CVDisplayLink which lived until the document was destroyed.
2808         
2809         Fix by having the DisplayRefreshMonitor kill itself if the CVDisplayLink
2810         fires for 10 times with no scheduled callbacks (to avoid creation/deletion
2811         thrash on pages that call requestAnimationFrames with short setTimeouts,
2812         as some do).
2813         
2814         Use a HashMap in DisplayRefreshMonitorManager for the set of DisplayRefreshMonitor,
2815         with the displayID as the key (using UnsignedWithZeroKeyHashTraits<uint64_t> since
2816         we want to allow for 0 to be a valid displayID).
2817         
2818         Use a HashSet in DisplayRefreshMonitor for the client set, so that we don't have to
2819         worry about adding clients twice.
2820         
2821         Also fix a possible crash when the only client of a DisplayRefreshMonitor
2822         was removed from inside the callback by making DisplayRefreshMonitor ref-counted,
2823         with a protector.
2824
2825         Test: fast/animation/request-animation-frame-detach-element2.html
2826
2827         * platform/graphics/DisplayRefreshMonitor.cpp:
2828         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor): Initialize m_unscheduledFireCount
2829         (WebCore::DisplayRefreshMonitor::handleDisplayRefreshedNotificationOnMainThread): Renamed
2830         from refreshDisplayOnMainThread, since it doesn't just refresh the display.
2831         (WebCore::DisplayRefreshMonitor::addClient): No longer inline.
2832         (WebCore::DisplayRefreshMonitor::removeClient): No longer inline.
2833         (WebCore::DisplayRefreshMonitor::displayDidRefresh): Keep track of m_unscheduledFireCount,
2834         which we used to kill this monitor if it has been idle for a while.
2835         Use a RefPtr<DisplayRefreshMonitor> to prevent deletion while running the callback.
2836         Copy the clients to a vector to protect against mutating the set while enumerating it.
2837         Notify the DisplayRefreshMonitorManager when we're done, so that it can decide
2838         to delete inactive monitors.
2839         
2840         (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): find or allocate
2841         a DisplayRefreshMonitor for a given client.
2842         (WebCore::DisplayRefreshMonitorManager::registerClient): Simplified by use of HashMap.
2843         (WebCore::DisplayRefreshMonitorManager::unregisterClient): Ditto.
2844         (WebCore::DisplayRefreshMonitorManager::scheduleAnimation): Ditto. Uses
2845         ensureMonitorForClient() since an earlier inactive monitor may have been removed.
2846         (WebCore::DisplayRefreshMonitorManager::displayDidRefresh): Remove inactive
2847         monitors.
2848         * platform/graphics/DisplayRefreshMonitor.h: Make DisplayRefreshMonitor
2849         ref-counted, to make it easier to avoid deletion while it's on the stack.
2850         (WebCore::DisplayRefreshMonitor::create):
2851         (DisplayRefreshMonitor):
2852         (WebCore::DisplayRefreshMonitor::shouldBeTerminated):
2853         (DisplayRefreshMonitorManager):
2854         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Attempt to
2855         keep things building.
2856         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
2857         (WebCore::DisplayRefreshMonitor::displayLinkFired):
2858         to give the manager a chance to kill this monitor.
2859         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
2860         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
2861         (WebCore::DisplayRefreshMonitor::displayLinkFired): Don't bail early
2862         if not scheduled; we want to call handleDisplayRefreshedNotificationOnMainThread(),
2863
2864 2012-05-11  Pavel Feldman  <pfeldman@chromium.org>
2865
2866         Web Inspector: move canEditScriptSource and setScriptSource from DebuggerPresentationModel into ResourceBinding
2867         https://bugs.webkit.org/show_bug.cgi?id=86234
2868
2869         Reviewed by Vsevolod Vlasov.
2870
2871         Simple move refactoring.
2872
2873         * inspector/front-end/DebuggerPresentationModel.js:
2874         (WebInspector.DebuggerPresentationModel):
2875         (WebInspector.DebuggerResourceBinding):
2876         (WebInspector.DebuggerResourceBinding.canEditScriptSource):
2877         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
2878         (WebInspector.DebuggerResourceBinding.setScriptSource):
2879         (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
2880         (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
2881         (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
2882         * inspector/front-end/JavaScriptSourceFrame.js:
2883         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
2884         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
2885
2886 2012-05-11  Julien Chaffraix  <jchaffraix@webkit.org>
2887
2888         Remove RenderLayer::m_scrollOverflow
2889         https://bugs.webkit.org/show_bug.cgi?id=86226
2890
2891         Reviewed by Simon Fraser.
2892
2893         No expected change in behavior.
2894
2895         * rendering/RenderLayer.cpp:
2896         (WebCore::RenderLayer::computeScrollDimensions):
2897         Added 2 local variables to compute the left / top scrollable overflows.
2898
2899         * rendering/RenderLayer.h:
2900         (WebCore::RenderLayer::scrolledContentOffset):
2901         Returned m_scrollOffset directly as this is what the old code was doing by adding
2902         m_scrollOrigin then adding m_scrollOverflow (which was set to -m_scrollOrigin in
2903         computeScrollDimensions).
2904
2905         (RenderLayer::m_scrollOffset): Improved the comment about what m_scrollOffset is.
2906
2907 2012-05-11  Pavel Feldman  <pfeldman@chromium.org>
2908
2909         Web Inspector: extract PresentationConsoleMessageHelper from DebuggerPresentationModel.
2910         https://bugs.webkit.org/show_bug.cgi?id=86229
2911
2912         Reviewed by Vsevolod Vlasov.
2913
2914         This change also starts tracking messages along with the live location changes.
2915
2916         Tested with script-formatter-console.html.
2917
2918         * inspector/front-end/BreakpointManager.js:
2919         * inspector/front-end/DebuggerPresentationModel.js:
2920         (WebInspector.DebuggerPresentationModel):
2921         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
2922         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2923         (WebInspector.PresentationConsoleMessageHelper):
2924         (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
2925         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
2926         (WebInspector.PresentationConsoleMessageHelper.prototype._debuggerReset):
2927         (WebInspector.PresentationConsoleMessage):
2928         * inspector/front-end/JavaScriptSourceFrame.js:
2929         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
2930         (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
2931         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
2932
2933 2012-05-11  Emil A Eklund  <eae@chromium.org>
2934
2935         Simplify FloatingObject by removing unnecessary convenience methods.
2936         https://bugs.webkit.org/show_bug.cgi?id=86163
2937
2938         Reviewed by Eric Seidel.
2939
2940         Simplify the pixel snapping in FloatingObject by getting rid of a bunch
2941         of convenience methods.
2942
2943         No new tests, no change in functionality.
2944
2945         * rendering/RenderBlock.cpp:
2946         (WebCore::RenderBlock::addOverhangingFloats):
2947         (WebCore::RenderBlock::addIntrudingFloats):
2948         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
2949         (WebCore::::string):
2950         * rendering/RenderBlock.h:
2951         (FloatingObject):
2952         (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
2953         (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
2954         (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
2955         (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
2956
2957 2012-05-11  Ian Vollick  <vollick@chromium.org>
2958
2959         [chromium] Ensure that animations continue to run when transform-style is changed
2960         https://bugs.webkit.org/show_bug.cgi?id=83283
2961
2962         Make sure that we transfer animations when changing layers due to a transform-style change.
2963         Unit tested in GraphicsLayerChromiumTest.updateLayerPreserves3DWithAnimations
2964
2965         Reviewed by James Robinson.
2966
2967         Test: animations/change-transform-style-during-animation.html
2968
2969         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2970         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2971         * platform/graphics/chromium/LayerChromium.cpp:
2972         (WebCore::LayerChromium::setLayerAnimationController):
2973         (WebCore::LayerChromium::releaseLayerAnimationController):
2974         (WebCore):
2975         (WebCore::LayerChromium::notifyAnimationStarted):
2976         * platform/graphics/chromium/LayerChromium.h:
2977         (LayerChromium):
2978         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2979         (WebCore::CCLayerAnimationController::CCLayerAnimationController):
2980         (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
2981         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
2982         (WebCore::CCLayerAnimationController::setClient):
2983         (WebCore):
2984         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2985         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
2986         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
2987         (CCLayerAnimationController):
2988         (WebCore::CCLayerAnimationController::setForceSync):
2989
2990 2012-05-11  Tommy Widenflycht  <tommyw@google.com>
2991
2992         MediaStream API: Fix a reference counting issue in UserMediaRequest
2993         https://bugs.webkit.org/show_bug.cgi?id=86210
2994
2995         Reviewed by Abhishek Arya.
2996
2997         When contextDestroyed() is called on UserMediaRequest it does a callback to the
2998         page client. If the receiving code clears their stored copy the UserMediaRequest
2999         object is destroyed in the middle of the call.
3000
3001         Currently only testable manually against chrome, preferably with asan turned on.
3002         I have added a manual test that verifies the fix, but I have started work
3003         to make DumpRenderTree able to test this and many other things. The first patch is here:
3004         https://bugs.webkit.org/show_bug.cgi?id=86215
3005
3006         * Modules/mediastream/UserMediaRequest.cpp:
3007         (WebCore::UserMediaRequest::contextDestroyed):
3008
3009 2012-05-11  Min Qin  <qinmin@google.com>
3010
3011         split MediaPlayer::enterFullscreen into 2 seperate functions
3012         https://bugs.webkit.org/show_bug.cgi?id=86052
3013
3014         Reviewed by Adam Barth.
3015
3016         It is confusing that enterFullscreen returns a boolean while exitFullscreen does
3017         not do the same. And ios does not need the return value.
3018         So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
3019         function for android.
3020         No tests as there are no behavior change, just refactoring.
3021
3022         * platform/graphics/MediaPlayer.cpp:
3023         (WebCore::MediaPlayer::enterFullscreen):
3024         (WebCore):
3025         (WebCore::MediaPlayer::canEnterFullscreen):
3026         * platform/graphics/MediaPlayer.h:
3027         (MediaPlayer):
3028         * platform/graphics/MediaPlayerPrivate.h:
3029         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
3030         (MediaPlayerPrivateInterface):
3031         (WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):
3032
3033 2012-05-11  Pavel Feldman  <pfeldman@chromium.org>
3034
3035         Web Inspector: move breakpoint manager from debuggerPresentationModel to WebInspector.
3036         https://bugs.webkit.org/show_bug.cgi?id=86220
3037
3038         Reviewed by Yury Semikhatsky.
3039
3040         Now that breakpoint manager does not depend on the source mapping instance from the
3041         debugger presentation model, it can be moved out.
3042
3043         * inspector/front-end/DebuggerPresentationModel.js:
3044         (WebInspector.DebuggerPresentationModel):
3045         * inspector/front-end/JavaScriptSource.js:
3046         (WebInspector.JavaScriptSource):
3047         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
3048         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
3049         (WebInspector.JavaScriptSource.prototype.setFormatted):
3050         * inspector/front-end/JavaScriptSourceFrame.js:
3051         (WebInspector.JavaScriptSourceFrame):
3052         * inspector/front-end/ScriptsPanel.js:
3053         * inspector/front-end/inspector.js:
3054
3055 2012-05-11  David Reveman  <reveman@chromium.org>
3056
3057         [Chromium] Move instantiation of texture uploader to LayerRendererChromium.
3058         https://bugs.webkit.org/show_bug.cgi?id=85893
3059
3060         Reviewed by Adrienne Walker.
3061
3062         Move instantiation of texture uploader to LayerRendererChromium and
3063         allow CCProxy to decide between a throttled or unthrottled uploader
3064         using a flag passed to the LayerRendererChromium constructor.
3065
3066         * platform/graphics/chromium/LayerRendererChromium.cpp:
3067         (WebCore::LayerRendererChromium::create):
3068         (WebCore::LayerRendererChromium::LayerRendererChromium):
3069         (WebCore::LayerRendererChromium::initializeSharedObjects):
3070         * platform/graphics/chromium/LayerRendererChromium.h:
3071         (LayerRendererChromium):
3072         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3073         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
3074         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3075         (CCLayerTreeHostImpl):
3076         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3077         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
3078         (WebCore::CCSingleThreadProxy::recreateContext):
3079         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3080         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
3081         (WebCore::CCThreadProxy::recreateContextOnImplThread):
3082
3083 2012-05-10  Pavel Feldman  <pfeldman@chromium.org>
3084
3085         Web Inspector: pass source mapping into UISourceCode's constructor; move formatting outside mapping.
3086         https://bugs.webkit.org/show_bug.cgi?id=86099
3087
3088         Reviewed by Vsevolod Vlasov.
3089
3090         This changes moves formatting out of the source mapping machinery.
3091         As a result, it removes most of the DebuggerPresentation's mapping-related code as well
3092         as most of the raw source code's code.
3093
3094         * inspector/front-end/BreakpointManager.js:
3095         (WebInspector.BreakpointManager):
3096         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
3097         (WebInspector.BreakpointManager.Breakpoint):
3098         * inspector/front-end/CallStackSidebarPane.js:
3099         (WebInspector.CallStackSidebarPane.prototype.setStatus):
3100         * inspector/front-end/CompilerScriptMapping.js:
3101         * inspector/front-end/DebuggerPresentationModel.js:
3102         (WebInspector.DebuggerPresentationModel):
3103         (WebInspector.DebuggerPresentationModel.prototype._callFrameSelected):
3104         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
3105         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3106         * inspector/front-end/JavaScriptSource.js:
3107         (WebInspector.JavaScriptSource):
3108         (WebInspector.JavaScriptSource.prototype.fireContentAvailable):
3109         (WebInspector.JavaScriptSource.prototype.setFormatted.if):
3110         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
3111         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
3112         (WebInspector.JavaScriptSource.prototype.setFormatted):
3113         (WebInspector.JavaScriptSource.prototype.togglingFormatter):
3114         (WebInspector.JavaScriptSource.prototype.uiLocationToRawLocation):
3115         (WebInspector.JavaScriptSource.prototype.overrideLocation):
3116         (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
3117         (WebInspector):
3118         * inspector/front-end/JavaScriptSourceFrame.js:
3119         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
3120         (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
3121         * inspector/front-end/RawSourceCode.js:
3122         (WebInspector.RawSourceCode):
3123         (WebInspector.RawSourceCode.prototype.addScript):
3124         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
3125         (WebInspector.RawSourceCode.prototype._createUISourceCode):
3126         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
3127         (WebInspector.RawSourceCode.prototype.uiSourceCode):
3128         (WebInspector.RawSourceCode.prototype._finishedLoading):
3129         * inspector/front-end/ResourceScriptMapping.js:
3130         (WebInspector.ResourceScriptMapping):
3131         (WebInspector.ResourceScriptMapping.prototype.addScript):
3132         (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
3133         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
3134         * inspector/front-end/Script.js:
3135         (WebInspector.Script.prototype.rawLocationToUILocation):
3136         * inspector/front-end/ScriptFormatter.js:
3137         (WebInspector.ScriptFormatter.prototype._didFormatContent):
3138         (WebInspector.FormatterSourceMapping):
3139         (WebInspector.FormatterSourceMapping.prototype.originalToFormatted):
3140         (WebInspector.FormatterSourceMapping.prototype.formattedToOriginal):
3141         (WebInspector.IdentityFormatterSourceMapping):
3142         (WebInspector.IdentityFormatterSourceMapping.prototype.originalToFormatted):
3143         (WebInspector.IdentityFormatterSourceMapping.prototype.formattedToOriginal):
3144         (WebInspector.FormatterSourceMappingImpl):
3145         (WebInspector.FormatterSourceMappingImpl.prototype.originalToFormatted):
3146         (WebInspector.FormatterSourceMappingImpl.prototype.formattedToOriginal):
3147         * inspector/front-end/ScriptMapping.js:
3148         (WebInspector.MainScriptMapping):
3149         (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
3150         (WebInspector.MainScriptMapping.prototype.reset):
3151         * inspector/front-end/ScriptsPanel.js:
3152         (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
3153         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
3154         (WebInspector.ScriptsPanel.prototype._showFile):
3155         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3156         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
3157         * inspector/front-end/ScriptsSearchScope.js:
3158         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
3159         * inspector/front-end/SnippetsModel.js:
3160         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
3161         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
3162         * inspector/front-end/UISourceCode.js:
3163         (WebInspector.UISourceCode):
3164         (WebInspector.UISourceCode.prototype.requestContent):
3165         (WebInspector.UISourceCode.prototype.mimeType):
3166         (WebInspector.UISourceCode.prototype.content):
3167         (WebInspector.UISourceCode.prototype.fireContentAvailable):
3168         (WebInspector.UISourceCode.prototype.contentLoaded):
3169         (WebInspector.UISourceCode.prototype.uiLocationToRawLocation):
3170
3171 2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
3172
3173         [EFL][DRT] Input Attribute Placeholder RefTests failing
3174         https://bugs.webkit.org/show_bug.cgi?id=85603
3175
3176         Unreviewed, build fix for EFL.
3177
3178         * platform/efl/RenderThemeEfl.cpp:
3179
3180 2012-05-11  Alexei Filippov  <alexeif@chromium.org>
3181
3182         Web Inspector: Remove support of combined nodes and edges serialization schema.
3183         https://bugs.webkit.org/show_bug.cgi?id=86209
3184
3185         Reviewed by Yury Semikhatsky.
3186
3187         * inspector/front-end/HeapSnapshot.js:
3188         (WebInspector.HeapSnapshotNode.prototype.get _nodes):
3189         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart):
3190         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
3191         (WebInspector.HeapSnapshot):
3192         (WebInspector.HeapSnapshot.prototype._init):
3193         (WebInspector.HeapSnapshot.prototype._buildRetainers):
3194         (WebInspector.HeapSnapshot.prototype._bfs):
3195         (WebInspector.HeapSnapshot.prototype._buildAggregates):
3196         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
3197         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
3198         * inspector/front-end/HeapSnapshotLoader.js:
3199         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
3200
3201 2012-05-11  Yury Semikhatsky  <yurys@chromium.org>
3202
3203         Web Inspector: add Profiler.getHeapObjectId command
3204         https://bugs.webkit.org/show_bug.cgi?id=86211
3205
3206         Reviewed by Pavel Feldman.
3207
3208         Added Profiler.getHeapObjectId command to the protocol which allows to convert remote
3209         object id to heap snapshot object id.
3210
3211         * bindings/js/ScriptProfiler.cpp:
3212         (WebCore::ScriptProfiler::getHeapObjectId):
3213         (WebCore):
3214         * bindings/js/ScriptProfiler.h:
3215         (WebCore):
3216         (ScriptProfiler):
3217         * bindings/v8/ScriptProfiler.cpp:
3218         (WebCore::ScriptProfiler::getHeapObjectId):
3219         (WebCore):
3220         * bindings/v8/ScriptProfiler.h:
3221         (WebCore):
3222         (ScriptProfiler):
3223         * inspector/InjectedScript.cpp:
3224         (WebCore::InjectedScript::findObjectById):
3225         (WebCore):
3226         * inspector/InjectedScript.h:
3227         (InjectedScript):
3228         * inspector/InjectedScriptSource.js:
3229         (.):
3230         * inspector/Inspector.json:
3231         * inspector/InspectorProfilerAgent.cpp:
3232         (WebCore::InspectorProfilerAgent::getHeapObjectId):
3233         (WebCore):
3234         * inspector/InspectorProfilerAgent.h:
3235         (InspectorProfilerAgent):
3236
3237 2012-05-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3238
3239         Qt support for new layout types.
3240         https://bugs.webkit.org/show_bug.cgi?id=85607
3241
3242         Reviewed by Simon Hausmann.
3243
3244         Adds similar Qt support to FractionalLayout classes as Qt has for
3245         FloatSomething and IntSomething classes. This means Qt code can stay
3246         unchanged from after the redefinition of Layout classes.
3247
3248         No new functionality. No new tests.
3249
3250         * Target.pri:
3251         * platform/FractionalLayoutUnit.h:
3252         (WebCore::operator<<):
3253         (WebCore::operator>>):
3254         * platform/graphics/FractionalLayoutPoint.h:
3255         (FractionalLayoutPoint):
3256         * platform/graphics/FractionalLayoutRect.h:
3257         (FractionalLayoutRect):
3258         * platform/graphics/FractionalLayoutSize.h:
3259         (FractionalLayoutSize):
3260         * platform/graphics/qt/FractionalLayoutPointQt.cpp: Added.
3261         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
3262         (WebCore::FractionalLayoutPoint::operator QPointF):
3263         * platform/graphics/qt/FractionalLayoutRectQt.cpp: Added.
3264         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
3265         (WebCore::FractionalLayoutRect::operator QRectF):
3266         * platform/graphics/qt/FractionalLayoutSizeQt.cpp: Added.
3267         (WebCore::FractionalLayoutSize::FractionalLayoutSize):
3268         (WebCore::FractionalLayoutSize::operator QSizeF):
3269
3270 2012-05-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3271
3272         Internals::touchPositionAdjustedToBestClickableNode adjust twice for scroll-offset
3273         https://bugs.webkit.org/show_bug.cgi?id=86205
3274
3275         Reviewed by Simon Hausmann.
3276
3277         Remove the redundant conversion from document to window coords.
3278
3279         Test: touchadjustment/scroll-offset.html
3280
3281         * testing/Internals.cpp:
3282         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
3283         (WebCore::Internals::bestZoomableAreaForTouchPoint):
3284
3285 2012-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
3286
3287         Web Inspector: load heap snapshot implementation.
3288         https://bugs.webkit.org/show_bug.cgi?id=86097
3289
3290         The idea is to have a hidden file selector control.
3291         When the user select a context menu item or click a button
3292         we redirect this user-action to file selector.
3293         As result we see the standard file selector dialog.
3294         When the user selects a file we load it's chunks and push the chunks to the worker.
3295         The loaded snapshot can be completely unrelated to the current page.
3296         Thats why we have to skip range selection options in Summary tab.
3297
3298         Reviewed by Yury Semikhatsky.
3299
3300         * English.lproj/localizedStrings.js:
3301         * inspector/front-end/CSSSelectorProfileView.js:
3302         (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
3303         * inspector/front-end/HeapSnapshotView.js:
3304         (WebInspector.HeapSnapshotView.prototype._updateFilterOptions): we have to skip the profiles loaded from file because there is no guaranty t
3305         (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
3306         (WebInspector.HeapSnapshotProfileType.prototype.createProfile): cosmetic changes.
3307         (WebInspector.HeapProfileHeader):
3308         (WebInspector.HeapProfileHeader.prototype._setupWorker): a common part was extracted from load method and reused in loadFromFile.
3309         (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate): cosmetic changes.
3310         (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
3311         (WebInspector.HeapProfileHeader.prototype.canSaveToFile): cosmetic rename for better consistency with 'load' part.
3312         (WebInspector.HeapProfileHeader.prototype.saveToFile): cosmetic rename for better consistency with 'load' part.
3313         (WebInspector.HeapProfileHeader.prototype.canLoadFromFile): cosmetic rename for better consistency with 'load' part.
3314         (WebInspector.HeapProfileHeader.prototype.loadFromFile): chunk based file loader.
3315         (WebInspector.HeapProfileHeader.prototype.loadFromFile.loadNextChunk):
3316         (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
3317         * inspector/front-end/ProfileView.js:
3318         (WebInspector.CPUProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
3319         * inspector/front-end/ProfilesPanel.js:
3320         (WebInspector.ProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
3321         (WebInspector.ProfileHeader.prototype.canSaveToFile): cosmetic rename for better consistency with 'load' part.
3322         (WebInspector.ProfileHeader.prototype.saveToFile): cosmetic rename for better consistency with 'load' part.
3323         (WebInspector.ProfileHeader.prototype.canLoadFromFile): default implementation for 'load' part.
3324         (WebInspector.ProfileHeader.prototype.loadFromFile): default implementation for 'load' part.
3325         (WebInspector.ProfilesPanel.prototype._createFileSelectorElement):
3326         (WebInspector.ProfilesPanel.prototype._loadFromFile):
3327         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
3328
3329 2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
3330
3331         [EFL][DRT] Input Attribute Placeholder RefTests failing
3332         https://bugs.webkit.org/show_bug.cgi?id=85603
3333
3334         Reviewed by Hajime Morita.
3335
3336         Refrain from overriding style coloring by theme coloring.
3337         RenderThemeEfl was always overriding colors and whitespace
3338         handling leading to failures in reftests that verify placeholder styling
3339         which expect the user agent stylesheet to be applied correctly
3340         without any color overrides. Also, leave whitespace handling untouched.
3341
3342         No new tests, covered by existing tests. See also
3343         the LayoutTests/ChangeLog in this commit for the required
3344         rebaselining.
3345
3346         * platform/efl/RenderThemeEfl.cpp:
3347         (WebCore::RenderThemeEfl::createEdje):
3348         (WebCore::RenderThemeEfl::applyEdjeColors):
3349         (WebCore::RenderThemeEfl::RenderThemeEfl):
3350         (WebCore::RenderThemeEfl::adjustButtonStyle):
3351         (WebCore::RenderThemeEfl::adjustMenuListStyle):
3352         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
3353         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
3354         * platform/efl/RenderThemeEfl.h:
3355         (RenderThemeEfl):
3356
3357 2012-05-11  Christophe Dumez  <christophe.dumez@intel.com>
3358
3359         Web Intents code only supports V8
3360         https://bugs.webkit.org/show_bug.cgi?id=85954
3361
3362         Reviewed by Adam Barth.
3363
3364         Add necessary abstraction for js Dictionary and ScriptValue so that
3365         the Web Intents code in WebCore compiles with JSC, not just V8.
3366
3367         This required changes in the JSC bindings generator to pass
3368         callback arguments of type SerializedScriptValue as raw pointers
3369         instead of RefPtr. This matches the change made to the V8 bindings
3370         generator in r104531.
3371
3372         * CMakeLists.txt:
3373         * Modules/intents/Intent.cpp:
3374         * Modules/intents/Intent.h:
3375         * bindings/js/Dictionary.cpp:
3376         (WebCore::Dictionary::Dictionary):
3377         (WebCore):
3378         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
3379         * bindings/js/Dictionary.h:
3380         (Dictionary):
3381         * bindings/js/JSBindingsAllInOne.cpp:
3382         * bindings/js/JSDictionary.cpp:
3383         (WebCore::JSDictionary::convertValue):
3384         (WebCore):
3385         * bindings/js/JSDictionary.h:
3386         (WebCore):
3387         (WebCore::JSDictionary::initializerObject):
3388         * bindings/js/ScriptValue.cpp:
3389         (WebCore::ScriptValue::serialize):
3390         (WebCore):
3391         * bindings/js/ScriptValue.h:
3392         (ScriptValue):
3393         * bindings/scripts/CodeGeneratorJS.pm:
3394         (AddIncludesForType):
3395         (GenerateCallbackHeader):
3396         (GenerateCallbackImplementation):
3397         (GetNativeTypeForCallbacks):
3398
3399 2012-05-11  Alexander Pavlov  <apavlov@chromium.org>
3400
3401         Web Inspector: Can't type spaces in "Override User Agent" field
3402         https://bugs.webkit.org/show_bug.cgi?id=86202
3403
3404         Reviewed by Yury Semikhatsky.
3405
3406         * inspector/front-end/HelpScreen.js:
3407         (WebInspector.HelpScreen.prototype.isClosingKey):
3408         (WebInspector.HelpScreen.prototype._onKeyDown):
3409         * inspector/front-end/SettingsScreen.js:
3410         (WebInspector.SettingsScreen.prototype.isClosingKey):
3411
3412 2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
3413
3414         [EFL][DRT] Input Attribute Placeholder RefTests failing
3415         https://bugs.webkit.org/show_bug.cgi?id=85603
3416
3417         Reviewed by Hajime Morita.
3418
3419         Refrain from overriding style coloring by theme coloring.
3420         RenderThemeEfl was always overriding colors and whitespace
3421         handling leading to failures in reftests that verify placeholder styling
3422         which expect the user agent stylesheet to be applied correctly
3423         without any color overrides. Also, leave whitespace handling untouched.
3424
3425         No new tests, covered by existing tests. See also
3426         the LayoutTests/ChangeLog in this commit for the&n